:root{--color-bg-primary: #FAFAF8;--color-bg-secondary: #F5F1EB;--color-bg-surface: #FFFFFF;--color-bg-subtle: #F8F5F0;--color-navy-900: #1B2A4A;--color-navy-800: #243B5C;--color-navy-700: #2D4A6E;--color-gold-500: #C4922A;--color-gold-400: #D4A73E;--color-gold-300: #E8C566;--color-gold-100: #FBF0C8;--color-text-primary: #1A1A2E;--color-text-secondary: #4A4A5E;--color-text-muted: #7A7A8E;--color-border-default: #E8E0D4;--color-border-light: #F0EBE3;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", "Inter", system-ui, sans-serif;--font-mono: "DM Mono", "Fira Code", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--color-bg-primary);color:var(--color-text-primary);overflow-x:hidden;min-height:100vh}#root{min-height:100vh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#0003}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.12) transparent}aside::-webkit-scrollbar-thumb{background:#ffffff1a}aside *{scrollbar-color:rgba(255,255,255,.1) transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,to{box-shadow:0 0 8px #c4922a33}50%{box-shadow:0 0 24px #c4922a66}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes voicePulse{0%{transform:scale(1);opacity:.7}to{transform:scale(2.2);opacity:0}}@keyframes scan{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes wave{0%,to{height:4px}50%{height:20px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes chakraSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fireFlicker{0%,to{transform:scaleY(1) scaleX(1);filter:brightness(1)}25%{transform:scaleY(1.15) scaleX(.92);filter:brightness(1.2)}50%{transform:scaleY(.92) scaleX(1.08);filter:brightness(.85)}75%{transform:scaleY(1.08) scaleX(.96);filter:brightness(1.15)}}@keyframes badgeGlow{0%,to{box-shadow:0 0 8px #c4922a33}50%{box-shadow:0 0 20px #c4922a66}}@keyframes xpFlash{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes correctPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes confettiDrop{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(300px) rotate(720deg);opacity:0}}@keyframes progressFill{0%{width:0}to{width:var(--fill-width, 100%)}}.animate-fade-up{animation:fadeUp .5s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in-left{animation:slideInLeft .4s ease-out}.animate-slide-in-right{animation:slideInRight .4s ease-out}.animate-slide-in-down{animation:slideInDown .3s ease-out}.animate-glow{animation:glow 3s ease-in-out infinite}.animate-pulse-slow{animation:pulse 2s ease-in-out infinite}.animate-scan{animation:scan 2s linear infinite}.animate-spin-slow{animation:spin 2s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-scale-in{animation:scaleIn .4s ease-out}.animate-shimmer{background:linear-gradient(90deg,transparent 25%,rgba(196,146,42,.08) 50%,transparent 75%);background-size:200% 100%;animation:shimmer 2s linear infinite}.animate-fire-flicker{animation:fireFlicker 2s infinite ease-in-out}.animate-badge-glow{animation:badgeGlow 3s infinite ease-in-out}.animate-xp-flash{animation:xpFlash .6s ease-out}.animate-correct-pulse{animation:correctPulse .5s ease-out}.animate-wrong-shake{animation:wrongShake .4s ease-out}.animate-confetti{animation:confettiDrop 2s ease-out forwards}.animate-progress-fill{animation:progressFill 1s ease-out forwards}.animate-flip{animation:flipCard .6s ease-in-out}.text-gradient-gold{background:linear-gradient(135deg,#c4922a,#e8c566);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-navy{background:linear-gradient(135deg,#1b2a4a,#3b5f8a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.glass-gold{background:#c4922a0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.glass-dark{background:#0f1b2dd9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.focus-ring:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #c4922a}::selection{background:#c4922a33;color:#1a1a2e}aside ::selection,header ::selection{background:#d4a73e4d;color:#f0f2f5}input::placeholder,textarea::placeholder{color:#0000004d!important}aside input::placeholder,header input::placeholder{color:#ffffff40!important}.stagger-children>*{animation:fadeUp .4s ease-out both}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:60ms}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(6){animation-delay:.3s}.chakra-spin{animation:chakraSpin 20s linear infinite}.premium-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.premium-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.transition-all{transition:all .2s ease}.cursor-pointer{cursor:pointer}@media (max-width: 768px){button,[role=button],select,a{min-height:36px}input,select,textarea{font-size:16px!important}.animate-slide-in-down{max-height:60vh;overflow-y:auto}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.premium-card:hover{transform:none}}@media (max-width: 480px){input,select,textarea{font-size:16px!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-content{position:absolute;top:-100%;left:16px;z-index:9999;padding:12px 24px;background:var(--color-navy-900);color:#fff;font-size:14px;font-weight:700;border-radius:0 0 8px 8px;text-decoration:none;transition:top .2s}.skip-to-content:focus{top:0;outline:2px solid var(--color-gold-500);outline-offset:2px}:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (forced-colors: active){.premium-card,.glass-light,.glass-dark{border:1px solid ButtonText}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.chakra-spin{animation:none!important}.stagger-children>*{animation:none!important}}@supports (padding: env(safe-area-inset-bottom)){.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}}@keyframes fireFlicker{0%,to{transform:scaleY(1) scaleX(1);filter:brightness(1)}25%{transform:scaleY(1.1) scaleX(.95);filter:brightness(1.2)}50%{transform:scaleY(.95) scaleX(1.05);filter:brightness(.9)}75%{transform:scaleY(1.05) scaleX(.98);filter:brightness(1.1)}}@keyframes badgeGlow{0%,to{box-shadow:0 0 8px #d4a01730}50%{box-shadow:0 0 20px #d4a01760,0 0 40px #d4a01730}}@keyframes xpFlash{0%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-20px) scale(1.2)}to{opacity:0;transform:translateY(-40px) scale(.8)}}@keyframes correctPulse{0%{box-shadow:0 0 #10b98140}50%{box-shadow:0 0 0 12px #10b98120}to{box-shadow:0 0 0 0 transparent}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes confettiDrop{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes progressFill{0%{width:0}to{width:var(--target-width, 100%)}}@keyframes flipCard{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.animate-fire{animation:fireFlicker 2s ease-in-out infinite}.animate-badge-glow{animation:badgeGlow 3s ease-in-out infinite}.animate-xp-flash{animation:xpFlash .8s ease-out forwards}.animate-correct{animation:correctPulse .5s ease-out}.animate-wrong{animation:wrongShake .4s ease-out}.animate-confetti{animation:confettiDrop 2s ease-in forwards}
