:root{--deep: #001219;--deep-mid: #14344A;--teal: #1B4965;--teal-light: #94D2BD;--sand: #E9D8A6;--amber: #EE9B00;--amber-dark: #CA6702;--burnt: #BB3E03;--red: #AE2012;--bg-gradient-from: #e5e7e6;--bg-gradient-to: #dcdede;--card-bg: #ffffff;--card-border: rgba(0,18,25,.08);--text-primary: #001219;--text-secondary: #14344A;--text-muted: #4A7C9B;--gray-100: #f4f1eb;--gray-200: #e6e0d4;--gray-300: #c9c0b0;--gray-400: #8a8578;--gray-500: #5f5a50;--green: #1B4965;--green-light: rgba(27, 73, 101, .12);--blue: #14344A;--blue-light: rgba(20, 52, 74, .1);--orange: #EE9B00;--orange-light: rgba(238, 155, 0, .12);--red-light: rgba(174, 32, 18, .1);--purple: #14344A;--purple-light: rgba(20, 52, 74, .1);--font-display: "Inter", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--font-mono: "Inter", -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 1px 3px rgba(0,18,25,.08);--shadow-md: 0 4px 16px rgba(0,18,25,.1);--shadow-lg: 0 8px 32px rgba(0,18,25,.14);--shadow-card: 0 2px 12px rgba(0,18,25,.08), 0 0 0 1px rgba(0,18,25,.04);--shadow-glow: 0 0 40px rgba(238, 155, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:#faf8f5;color:var(--text-primary);min-height:100vh;overflow-x:hidden}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);font-weight:700}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;width:100%}input[type=range]::-webkit-slider-track{height:6px;border-radius:3px;background:var(--gray-200)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:20px;width:20px;border-radius:50%;background:var(--teal);margin-top:-7px;box-shadow:0 2px 6px #1b496566;transition:transform .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--gray-200)}input[type=range]::-moz-range-thumb{height:20px;width:20px;border-radius:50%;background:var(--teal);border:none;box-shadow:0 2px 6px #1b496566}.fade-in{animation:fadeIn .4s ease-out}.slide-up{animation:slideUp .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp .3s ease-out}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-turn-in{animation:pageEnter .35s ease-out}@keyframes blink{50%{opacity:0}}@keyframes trophyPop{0%{transform:scale(.3) rotate(-15deg);opacity:0}50%{transform:scale(1.25) rotate(5deg);opacity:1}75%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0)}}@keyframes pulseGold{0%,to{box-shadow:0 0 8px #ee9b0026,0 0 0 1px #ee9b001a}50%{box-shadow:0 0 20px #ee9b0059,0 0 0 2px #ee9b0040}}.blink{animation:blink .8s step-end infinite}@keyframes tutorialPulse{0%,to{box-shadow:0 0 0 4px #ee9b0033}50%{box-shadow:0 0 0 8px #ee9b0066}}.tutorial-backdrop{position:fixed;inset:0;background:#0012194d;z-index:99}.real-salary-tip{border-bottom:1px dotted #EE9B00}.real-salary-tip:after{content:"Inflation-adjusted purchasing power —what your salary actually buys in today’s dollars";position:absolute;top:calc(100% + 6px);left:0;background:#14344a;color:#fff;font-size:.62rem;font-weight:500;padding:6px 10px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:20;box-shadow:0 2px 8px #00000026;max-width:280px;white-space:normal;line-height:1.3}.real-salary-tip:hover:after{opacity:1}@keyframes fireworkBurst{0%{transform:scale(0);opacity:1}50%{opacity:1}to{transform:scale(4);opacity:0}}.fireworks-overlay{animation:fadeIn .3s ease-out,fireworksFadeOut .5s ease-in 3.8s forwards}@keyframes fireworksFadeOut{0%{opacity:1}to{opacity:0}}@keyframes allocPulse{0%,to{box-shadow:0 0 8px #ee9b0033,0 0 0 1px #ee9b0026}50%{box-shadow:0 0 20px #ee9b0080,0 0 0 3px #ee9b004d}}.alloc-pulse{animation:allocPulse 2s ease-in-out infinite;border-radius:14px}@keyframes cardFlipIn{0%{opacity:0;transform:perspective(800px) rotateY(90deg) scale(.95)}40%{opacity:1}70%{transform:perspective(800px) rotateY(-8deg) scale(1.02)}85%{transform:perspective(800px) rotateY(3deg) scale(1.005)}to{opacity:1;transform:perspective(800px) rotateY(0) scale(1)}}.card-flip-in{animation:cardFlipIn .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes attentionPulse{0%,to{box-shadow:0 1px 4px #0000000d,0 0 #ee9b0000;transform:scale(1)}50%{box-shadow:0 2px 12px #ee9b0033,0 0 0 3px #ee9b001a;transform:scale(1.01)}}.attention-pulse{animation:attentionPulse 2.5s ease-in-out infinite;animation-delay:0s!important}@keyframes resolvedPop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.resolved-pop{animation:resolvedPop .35s ease-out}
