:root{--bg: #080808;--bg2: #111111;--panel: #181818;--panel2: #212121;--border: #f97316;--border2: #fb923c;--shadow: #000000;--orange: #f97316;--orange-l: #fb923c;--orange-xl: #fdba74;--purple: #f97316;--purple-l: #fb923c;--purple-xl: #fdba74;--blue: #38bdf8;--green: #34d399;--red: #f87171;--amber: #f97316;--white: #fff7ed;--grey: #3d3d3d;--text: #f5f5f5;--text-dim: #a3a3a3;--px: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border-radius:0!important;image-rendering:pixelated}html,body,#root{height:100%;width:100%}:root{--font-pixel: "Press Start 2P", monospace;--font-body: "VT323", monospace}body{font-family:var(--font-pixel);background:var(--bg);color:var(--text);overflow-x:hidden;font-size:10px;line-height:1.8;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;font-smooth:never;text-rendering:optimizeSpeed}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);pointer-events:none}.app-container{position:relative;min-height:100dvh;display:flex;justify-content:flex-start;align-items:center;padding:0 0 48px}.meteor-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(ellipse at 20% 15%,rgba(249,115,22,.15) 0%,transparent 55%),radial-gradient(ellipse at 80% 85%,rgba(249,115,22,.06) 0%,transparent 55%),var(--bg);overflow:hidden;pointer-events:none}.meteor-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.3) 1px,transparent 1px),radial-gradient(circle,rgba(249,115,22,.5) 1px,transparent 1px);background-size:80px 80px,50px 50px,130px 130px;background-position:10px 10px,35px 35px,60px 20px;animation:twinkle 5s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.4}to{opacity:1}}.meteor-comet{position:absolute;left:0;width:80px;height:6px;image-rendering:pixelated;background:linear-gradient(to right,transparent 0%,transparent 8%,#7f1d1d 8%,#7f1d1d 22%,#ef4444 22%,#ef4444 40%,#f97316 40%,#f97316 58%,#f59e0b 58%,#f59e0b 80%,#fde68a 80%,#fde68a 92%,#fffbeb 92%,#fffbeb 100%);animation:meteor-fly linear infinite}@keyframes meteor-fly{0%{transform:translate(115vw);opacity:0}6%{opacity:1}92%{opacity:.85}to{transform:translate(-15vw,18vh);opacity:0}}.screen{position:relative;z-index:1;width:100%;max-width:480px;padding:24px 16px;display:flex;flex-direction:column;gap:16px}.pixel-box{background:var(--panel);border:3px solid var(--border);box-shadow:4px 4px 0 var(--shadow),inset 0 0 0 1px #ffffff0a;padding:16px}.home-screen{align-items:center;text-align:center;padding-top:40px}.game-title{font-size:clamp(16px,5vw,22px);color:var(--purple-xl);text-shadow:3px 3px 0 var(--shadow),0 0 20px rgba(192,132,252,.5);line-height:1.6}.game-title span{color:var(--amber);text-shadow:3px 3px 0 var(--shadow),0 0 16px rgba(251,191,36,.4)}.game-subtitle{color:var(--text-dim);font-size:8px;margin-top:4px}.character-section{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.home-info{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.mode-preview{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--panel2);border:2px solid var(--grey);box-shadow:3px 3px 0 var(--shadow);padding:10px 14px;font-size:7px;color:var(--purple-xl)}.mode-icon{font-size:20px}.mode-screen{padding-top:28px}.mode-header{display:flex;align-items:center;gap:12px}.section-title{font-size:12px;color:var(--purple-xl);text-shadow:2px 2px 0 var(--shadow);text-align:center}.mode-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.mode-cards{display:flex;flex-direction:column;gap:12px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:var(--panel);border:3px solid var(--border);box-shadow:5px 5px 0 var(--shadow);cursor:pointer;text-align:left;color:var(--white);transition:transform .08s,box-shadow .08s;font-family:"Press Start 2P",monospace}.mode-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--shadow);border-color:var(--mode-color, var(--border2))}.mode-card:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--shadow)}.mode-card-icon{font-size:24px}.mode-card-label{font-size:11px;color:var(--mode-color, var(--purple-xl))}.mode-card-desc{font-size:7px;color:var(--text-dim);line-height:1.8}.speech-bubble{position:relative;background:var(--white);color:#1a0535;border:3px solid #1a0535;box-shadow:3px 3px #1a0535;padding:10px 14px;max-width:210px;font-size:7px;line-height:1.9;animation:popIn .2s steps(3) forwards}.speech-bubble p{color:#1a0535}.speech-bubble--right:before{content:"";position:absolute;left:-11px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--white);border-left:3px solid #1a0535;border-bottom:3px solid #1a0535;transform:translateY(-50%) rotate(45deg)}.speech-bubble--left:before{content:"";position:absolute;right:-11px;top:50%;width:8px;height:8px;background:var(--white);border-right:3px solid #1a0535;border-top:3px solid #1a0535;transform:translateY(-50%) rotate(45deg)}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.game-top-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:3px solid var(--border);padding-bottom:12px}.progress-label{font-size:8px;color:var(--purple-xl)}.score-badge{font-size:8px;background:var(--panel2);border:2px solid var(--purple);box-shadow:2px 2px 0 var(--shadow);padding:4px 10px;color:var(--amber)}.quiz-character-row,.facts-character-row{display:flex;align-items:center;gap:12px}.character-wrapper{flex-shrink:0}.question-card{background:var(--panel);border:3px solid var(--border);box-shadow:4px 4px 0 var(--shadow);padding:16px}.question-text{font-family:var(--font-body);font-size:18px;line-height:1.5;color:var(--white);letter-spacing:.5px}.options-grid{display:flex;flex-direction:column;gap:8px}.option-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--panel2);border:3px solid var(--grey);border-left:6px solid var(--grey);box-shadow:4px 4px 0 var(--shadow);color:var(--text);font-size:8px;font-family:var(--font-pixel);cursor:pointer;text-align:left;transition:transform .06s,box-shadow .06s;line-height:1.8;width:100%}.option-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow);border-color:var(--border2);border-left-color:var(--orange)}.option-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.option-letter{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-width:34px;background:var(--purple);border:3px solid var(--border2);font-size:11px;flex-shrink:0;color:var(--white);text-shadow:1px 1px 0 #000}.option-text{flex:1;font-size:7px;line-height:2}.option-btn--correct{background:#34d3991a!important;border-color:var(--green)!important;border-left-color:var(--green)!important;color:var(--green)!important;animation:correct-flash .35s steps(3) forwards}.option-btn--correct .option-letter{background:var(--green);border-color:var(--green);color:#001a10}.option-btn--wrong{background:#f871711a!important;border-color:var(--red)!important;border-left-color:var(--red)!important;color:var(--red)!important;animation:wrong-shake .3s steps(4)}.option-btn--wrong .option-letter{background:var(--red);border-color:var(--red);color:#1a0000}.option-btn--dim{opacity:.3;cursor:default}@keyframes correct-flash{0%{background:#34d39980}50%{background:#34d39933}to{background:#34d3991a}}@keyframes wrong-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}60%{transform:translate(7px)}}.tf-statement-card{min-height:90px;display:flex;align-items:center}.tf-statement{font-size:9px;line-height:2}.tf-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tf-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px;font-size:12px;font-family:"Press Start 2P",monospace;cursor:pointer;border:3px solid transparent;box-shadow:4px 4px 0 var(--shadow);transition:transform .06s,box-shadow .06s}.tf-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow)}.tf-btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--shadow)}.tf-btn--true{background:#34d3991a;border-color:var(--green);color:var(--green)}.tf-btn--false{background:#f871711a;border-color:var(--red);color:var(--red)}.tf-btn--correct{box-shadow:0 0 0 3px var(--green),4px 4px 0 var(--shadow)!important}.tf-btn--wrong{opacity:.5}.tf-btn--dim{opacity:.3;cursor:default}.tf-icon{font-size:28px}.explanation-box{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:var(--panel2);border-left:5px solid var(--purple-l);box-shadow:3px 3px 0 var(--shadow);animation:slideUp .15s steps(2) forwards}.explanation-icon{font-size:16px;flex-shrink:0}.explanation-box p{flex:1;font-family:var(--font-body);font-size:17px;line-height:1.5;color:var(--text);letter-spacing:.3px}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.facts-screen{cursor:pointer}.comic-panel{display:flex;flex-direction:column;align-items:center;width:100%;gap:0;flex:1}.fact-badge{display:flex;align-items:center;gap:8px;background:var(--orange);color:#000;padding:6px 14px;font-size:7px;font-family:var(--font-pixel);box-shadow:4px 4px 0 var(--shadow);border:3px solid #000;border-bottom:none;z-index:2;max-width:100%;text-shadow:none;width:100%;justify-content:center}.fact-badge-emoji{font-size:18px;flex-shrink:0}.fact-badge-title{font-size:7px;line-height:1.6;text-align:center;color:#000;text-shadow:1px 1px 0 rgba(255,255,255,.3)}.comic-bubble{width:100%;min-height:130px;background:#fff7ed;border:3px solid #1a0535;box-shadow:5px 5px #1a0535;padding:20px 18px;display:flex;align-items:center;justify-content:center;position:relative}.comic-bubble--prompt{animation:popIn .15s steps(3) forwards}.comic-bubble--revealed{animation:comicReveal .2s steps(4) forwards;border-color:var(--orange);box-shadow:5px 5px 0 var(--orange)}@keyframes comicReveal{0%{transform:scale(.92);opacity:.3}50%{transform:scale(1.03);opacity:.8}to{transform:scale(1);opacity:1}}.comic-fact-text{font-family:var(--font-body);font-size:20px;line-height:1.45;color:#1a0535;text-align:center;letter-spacing:.3px}.comic-tap-prompt{font-family:var(--font-pixel);font-size:7px;color:#4a2070;text-align:center;line-height:2;animation:blink 1s steps(1) infinite}.comic-char-name{color:var(--orange);text-shadow:1px 1px 0 rgba(0,0,0,.2)}.comic-bubble-tail{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:16px solid var(--orange);position:relative;z-index:1}.comic-bubble-tail:before{content:"";position:absolute;top:-20px;left:-10px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:14px solid #1a0535;z-index:-1}.comic-char{margin-top:2px;flex-shrink:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.dot-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:160px}.dot{width:8px;height:8px;background:var(--panel2);border:2px solid var(--grey)}.dot--active{background:var(--purple-l);border-color:var(--purple-xl)}.score-screen{align-items:center;text-align:center;padding-top:28px}.score-mode-label{font-size:10px;color:var(--purple-xl);text-shadow:2px 2px 0 var(--shadow)}.score-character-row{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.score-card{width:100%;background:var(--panel);border:3px solid var(--border);box-shadow:5px 5px 0 var(--shadow);padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px}.score-grade-emoji{font-size:48px}.score-grade-label{font-size:11px;color:var(--amber);text-shadow:2px 2px 0 var(--shadow)}.score-fraction{display:flex;align-items:baseline;gap:4px}.score-num{font-size:36px;color:var(--white);text-shadow:3px 3px 0 var(--shadow)}.score-denom{font-size:14px;color:var(--text-dim)}.score-bar-wrap{width:100%;height:12px;background:var(--panel2);border:2px solid var(--grey);box-shadow:inset 2px 2px #00000080;overflow:hidden}.score-bar-fill{height:100%;background:repeating-linear-gradient(90deg,var(--purple) 0px,var(--purple) 12px,var(--purple-l) 12px,var(--purple-l) 14px);transition:width .8s steps(10)}.score-pct{font-size:9px;color:var(--purple-xl)}.score-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.auth-screen{align-items:center;text-align:center;padding-top:48px}.auth-card{width:100%;background:var(--panel);border:3px solid var(--border);box-shadow:5px 5px 0 var(--shadow);padding:24px;display:flex;flex-direction:column;gap:14px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border:2px solid var(--border);box-shadow:3px 3px 0 var(--shadow)}.auth-tab{padding:10px;background:var(--panel2);border:none;color:var(--text-dim);font-size:8px;font-family:"Press Start 2P",monospace;cursor:pointer}.auth-tab--active{background:var(--purple);color:var(--white)}.auth-field{display:flex;flex-direction:column;gap:6px;text-align:left}.auth-label{font-size:7px;color:var(--text-dim)}.auth-input{width:100%;padding:10px 12px;background:var(--bg2);border:2px solid var(--grey);box-shadow:inset 2px 2px #00000080;color:var(--white);font-size:9px;font-family:"Press Start 2P",monospace;outline:none;transition:border-color .1s}.auth-input:focus{border-color:var(--border2);box-shadow:inset 2px 2px #00000080,0 0 0 2px #7c3aed4d}.auth-error{font-size:7px;color:var(--red);text-align:left;border-left:3px solid var(--red);padding-left:8px;line-height:1.8}.auth-skip{font-size:7px;color:var(--text-dim);background:none;border:none;cursor:pointer;font-family:"Press Start 2P",monospace;text-decoration:underline;margin-top:-4px}.auth-skip:hover{color:var(--purple-xl)}.user-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--panel2);border-bottom:2px solid var(--border);font-size:7px;color:var(--purple-xl);position:relative;z-index:2}.user-bar-name{color:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;font-size:8px;font-family:"Press Start 2P",monospace;cursor:pointer;border:none;transition:transform .06s,box-shadow .06s}.btn:active{transform:translate(3px,3px)!important;box-shadow:1px 1px 0 var(--shadow)!important}.btn-primary{background:var(--purple);color:var(--white);border:3px solid var(--border2);box-shadow:4px 4px 0 var(--shadow);text-shadow:1px 1px 0 var(--shadow)}.btn-primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--shadow)}.btn-secondary{background:var(--panel2);border:3px solid var(--grey);box-shadow:4px 4px 0 var(--shadow);color:var(--text)}.btn-secondary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--shadow);border-color:var(--border)}.btn-secondary:disabled{opacity:.3;cursor:not-allowed}.btn-ghost{background:transparent;border:2px solid var(--grey);color:var(--text-dim);font-size:7px;padding:6px 10px;box-shadow:2px 2px 0 var(--shadow)}.btn-ghost:hover{border-color:var(--red);color:var(--red)}.btn-large{padding:14px 28px;font-size:9px}.bounce{animation:bounce .4s steps(4) forwards}@keyframes bounce{0%{transform:translateY(0)}25%{transform:translateY(-12px)}50%{transform:translateY(-6px)}75%{transform:translateY(-10px)}to{transform:translateY(0)}}.shake{animation:shake .3s steps(4)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.pixel-loader{display:flex;gap:6px;justify-content:center;align-items:center;padding:16px}.pixel-loader span{width:8px;height:8px;background:var(--purple-l);animation:pixelPulse .8s steps(2) infinite}.pixel-loader span:nth-child(2){animation-delay:.2s}.pixel-loader span:nth-child(3){animation-delay:.4s}@keyframes pixelPulse{0%,to{background:var(--purple);transform:scale(1)}50%{background:var(--purple-xl);transform:scale(1.5)}}.char-select-screen{align-items:center;gap:16px;padding:24px 16px}.char-select-header{display:flex;justify-content:center}.char-select-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:600px}.char-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px;width:100px;background:var(--panel);border:3px solid var(--border);box-shadow:4px 4px 0 var(--shadow);cursor:pointer;transition:transform .07s,box-shadow .07s}.char-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow);border-color:var(--orange-l)}.char-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow)}.char-card-name{font-size:8px;color:var(--orange-xl);text-align:center}.char-select-back{margin-top:4px;font-size:8px}.pixel-worker-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 0 8px}.pixel-worker-label{font-size:7px;color:var(--orange);letter-spacing:2px;animation:blink 1.2s steps(1) infinite}.speech-bubble--center{align-self:center;max-width:320px;text-align:center}.speech-bubble--center:before{display:none}.coming-soon-card{background:var(--card);border:3px solid var(--orange);padding:28px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:4px 4px 0 var(--shadow);margin-top:16px}.coming-soon-icon{font-size:48px;line-height:1}.coming-soon-card h2{font-size:14px;color:var(--orange);letter-spacing:1px}.coming-soon-card p{font-size:8px;color:var(--text-dim);line-height:1.8}.difficulty-cards{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}.difficulty-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;background:var(--card);border:3px solid var(--diff-color, var(--border));box-shadow:4px 4px 0 var(--shadow);cursor:pointer;transition:transform .07s,box-shadow .07s;width:100%}.difficulty-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow)}.difficulty-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow)}.difficulty-label{font-size:12px;color:var(--diff-color, var(--text));letter-spacing:1px}.difficulty-desc{font-size:7px;color:var(--text-dim)}.quiz-timer-wrap{position:relative;width:100%;height:14px;background:var(--card);border:2px solid var(--border2);margin-bottom:6px;overflow:hidden}.quiz-timer-bar{height:100%;transition:width .9s linear,background .5s}.quiz-timer-bar--urgent{animation:timer-pulse .5s ease-in-out infinite alternate}@keyframes timer-pulse{0%{opacity:1}to{opacity:.45}}.quiz-timer-label{position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:7px;letter-spacing:1px;transition:color .5s}.audio-controls{position:fixed;bottom:18px;right:14px;z-index:999;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.audio-fab{width:40px;height:40px;background:var(--orange);border:3px solid var(--shadow);box-shadow:3px 3px 0 var(--shadow);color:#000;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .07s,box-shadow .07s;image-rendering:pixelated}.audio-fab:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--shadow)}.audio-fab:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.audio-panel{background:var(--card);border:3px solid var(--border);box-shadow:4px 4px 0 var(--shadow);padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:150px}.audio-panel-title{font-size:7px;color:var(--orange);letter-spacing:2px;margin-bottom:2px}.audio-toggle{display:flex;align-items:center;gap:8px;font-family:var(--font-pixel);font-size:7px;color:var(--text-dim);background:var(--bg);border:2px solid var(--border2);padding:6px 8px;cursor:pointer;width:100%;transition:border-color .1s,color .1s}.audio-toggle:hover{border-color:var(--orange-l)}.audio-toggle--on{color:var(--text);border-color:var(--orange)}.audio-toggle--on .audio-toggle-state{color:var(--orange)}.audio-toggle-state{margin-left:auto;color:var(--text-dim);font-size:6px;letter-spacing:1px}.audio-panel-note{font-size:5.5px;color:var(--text-dim);opacity:.6;text-align:center;margin-top:2px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--purple);border:1px solid var(--border2)}
