.prep-root{min-height:100vh;background:#0b1120;color:#e2e8f0;font-family:JetBrains Mono,IBM Plex Mono,monospace}.prep-header{background:#0d1225;border-bottom:1px solid rgba(255,255,255,.055);padding:13px 18px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.prep-header-title{font-size:14px;font-weight:700;color:#22d3ee;letter-spacing:3px;text-decoration:none}.prep-header-sub{font-size:9px;color:#334155;margin-top:2px;letter-spacing:1.5px}.prep-header-streak{text-align:right}.prep-header-streak-value{font-size:22px;font-weight:700}.prep-header-streak-label{font-size:9px;color:#334155;letter-spacing:1px}.prep-container{max-width:520px;margin:0 auto;padding:20px 16px 40px}.prep-back-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#475569;text-decoration:none;margin-bottom:20px;transition:color .2s;font-family:JetBrains Mono,monospace}.prep-back-link:hover{color:#22d3ee}.prep-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.055);margin-bottom:22px;gap:0}.prep-tab-btn{padding:10px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:#475569;font-family:JetBrains Mono,monospace;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.prep-tab-btn:hover{color:#94a3b8}.prep-tab-btn.active{color:#22d3ee;border-bottom-color:#22d3ee}.prep-card{background:#111827;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:20px;margin-bottom:14px}.prep-card-glow{border-color:#22d3ee26;box-shadow:0 0 30px #22d3ee0a}.prep-card-blue{border-color:#38bdf826}.prep-card-gradient{background:linear-gradient(135deg,#22d3ee0d,#38bdf808)}.prep-tag{font-size:9px;letter-spacing:2.5px;font-weight:600;margin-bottom:10px;text-transform:uppercase}.prep-btn{width:100%;padding:14px;border-radius:10px;font-family:JetBrains Mono,monospace;font-weight:600;font-size:13px;cursor:pointer;transition:all .25s;border:none;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:8px}.prep-btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}.prep-btn-primary{background:linear-gradient(135deg,#22d3ee,#0ea5e9);color:#0b1120}.prep-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px #22d3ee40}.prep-btn-reveal{background:linear-gradient(135deg,#151e32,#1e293b);color:#22d3ee;border:1px solid rgba(34,211,238,.2)!important}.prep-btn-reveal:hover:not(:disabled){border-color:#22d3ee80!important;transform:translateY(-1px)}.prep-btn-ghost{background:transparent;color:#22d3ee;border:1px solid rgba(34,211,238,.2)}.prep-btn-ghost:hover:not(:disabled){border-color:#22d3ee80;background:#22d3ee0d;transform:translateY(-1px)}.prep-btn-danger{background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.2)}.prep-btn-danger:hover:not(:disabled){border-color:#f8717180;background:#f871710d}.prep-topic-chip{padding:8px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;font-size:11px;cursor:pointer;transition:all .2s;font-family:JetBrains Mono,monospace;color:#94a3b8;white-space:nowrap}.prep-topic-chip:hover,.prep-topic-chip.active{border-color:#22d3ee;color:#22d3ee;background:#22d3ee14}.prep-diff-btn{padding:6px 14px;border-radius:6px;border:1px solid transparent;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;background:transparent;transition:all .2s}.prep-diff-easy{color:#34d399;border-color:#34d39940}.prep-diff-easy.on{background:#34d3991f;border-color:#34d399}.prep-diff-medium{color:#fbbf24;border-color:#fbbf2440}.prep-diff-medium.on{background:#fbbf241f;border-color:#fbbf24}.prep-diff-hard{color:#f87171;border-color:#f8717140}.prep-diff-hard.on{background:#f871711f;border-color:#f87171}.code-block-wrapper{position:relative;margin:14px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#0d1117}.code-block-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#161b22;border-bottom:1px solid rgba(255,255,255,.06)}.code-block-lang{font-size:10px;color:#475569;letter-spacing:1.5px;text-transform:uppercase;font-family:JetBrains Mono,monospace}.code-block-copy{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#94a3b8;font-size:11px;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s}.code-block-copy:hover{background:#22d3ee1a;border-color:#22d3ee4d;color:#22d3ee}.code-block-copy.copied{background:#34d39926;border-color:#34d39966;color:#34d399}.code-block-pre{padding:16px;margin:0;overflow-x:auto;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7;color:#e2e8f0;-moz-tab-size:2;tab-size:2}.code-block-pre code{font-family:inherit}.code-block-pre .kw{color:#c792ea}.code-block-pre .type{color:#82aaff}.code-block-pre .str{color:#c3e88d}.code-block-pre .num{color:#f78c6c}.code-block-pre .comment{color:#546e7a;font-style:italic}.code-block-pre .annotation{color:#ffcb6b}.code-block-pre .method{color:#82aaff}.code-block-pre .punc{color:#89ddff}.mcq-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;cursor:pointer;transition:all .2s;margin-bottom:10px;font-family:Inter,Space Grotesk,sans-serif;font-size:13px;line-height:1.6;color:#cbd5e1}.mcq-option:hover:not(.mcq-answered){border-color:#22d3ee66;background:#22d3ee0a}.mcq-option.mcq-selected{border-color:#22d3ee80;background:#22d3ee14}.mcq-option.mcq-correct{border-color:#34d39999;background:#34d39914;color:#a7f3d0}.mcq-option.mcq-wrong{border-color:#f8717199;background:#f871710f;color:#fca5a5}.mcq-option.mcq-answered{cursor:default;opacity:.7}.mcq-option.mcq-correct.mcq-answered,.mcq-option.mcq-wrong.mcq-selected.mcq-answered{opacity:1}.mcq-option-letter{flex-shrink:0;width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;font-family:JetBrains Mono,monospace;color:#64748b;background:#ffffff08}.mcq-correct .mcq-option-letter{border-color:#34d399;color:#34d399;background:#34d3991a}.mcq-wrong.mcq-selected .mcq-option-letter{border-color:#f87171;color:#f87171;background:#f871711a}.mcq-option .code-block-wrapper{margin:8px 0 4px;border-radius:8px}.mcq-option .code-block-pre{padding:10px 12px;font-size:11.5px;line-height:1.5}.mcq-option .code-block-header{padding:5px 10px}.mcq-score-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#111827;border-radius:10px;border:1px solid rgba(255,255,255,.06);margin-bottom:16px}.mcq-score-item{display:flex;flex-direction:column;align-items:center;gap:2px}.mcq-score-value{font-size:18px;font-weight:700;font-family:JetBrains Mono,monospace}.mcq-score-label{font-size:9px;color:#475569;letter-spacing:1px;text-transform:uppercase}.mcq-progress-bar{flex:1;height:4px;background:#1e293b;border-radius:2px;overflow:hidden}.mcq-progress-fill{height:100%;background:linear-gradient(90deg,#22d3ee,#0ea5e9);border-radius:2px;transition:width .4s ease}.prep-timer{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;font-size:13px;font-family:JetBrains Mono,monospace;font-weight:600;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.prep-timer.warning{color:#fbbf24;border-color:#fbbf244d;background:#fbbf240f}.prep-timer.danger{color:#f87171;border-color:#f871714d;background:#f871710f;animation:timer-pulse .8s infinite}@keyframes timer-pulse{0%,to{opacity:1}50%{opacity:.5}}.prep-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.prep-stat-card{padding:14px 10px;border-radius:10px;background:#111827;border:1px solid rgba(255,255,255,.06);text-align:center}.prep-stat-value{font-size:20px;font-weight:700;font-family:JetBrains Mono,monospace;color:#22d3ee}.prep-stat-label{font-size:9px;color:#475569;letter-spacing:1px;margin-top:4px;text-transform:uppercase}@keyframes prep-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes prep-fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes prep-slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.prep-pulse{animation:prep-pulse 1.8s infinite}.prep-fade-up{animation:prep-fadeUp .35s ease}.prep-slide-in{animation:prep-slideIn .3s ease}.prep-footer{margin-top:40px;padding-top:16px;border-top:1px solid rgba(255,255,255,.04);font-size:10px;color:#1e293b;text-align:center;line-height:2.2;letter-spacing:.5px}.prep-footer a{color:#22d3ee26;text-decoration:none}.prep-hint-block{margin-top:12px;padding:10px 14px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.prep-hint-block-label{font-size:9px;letter-spacing:1.5px;font-weight:600}.prep-hint-block-text{font-size:12px;line-height:1.6;font-family:Inter,Space Grotesk,sans-serif}.prep-answer-text{font-size:13.5px;line-height:1.8;color:#c8d6e5;font-family:Inter,Space Grotesk,sans-serif;white-space:pre-wrap;word-break:break-word}.prep-key-point{display:flex;gap:10px;margin-bottom:8px;font-size:12.5px;color:#94a3b8;line-height:1.6;font-family:Inter,Space Grotesk,sans-serif}.prep-key-point-bullet{color:#22d3ee;flex-shrink:0;font-weight:700}.prep-loader{text-align:center;padding:40px}.prep-loader-text{font-size:12px;color:#22d3ee59}@media(max-width:480px){.prep-container{padding:14px 12px 30px}.prep-tab-btn{padding:8px 12px;font-size:11px}.prep-stats-grid{grid-template-columns:repeat(3,1fr);gap:6px}.prep-stat-card{padding:10px 6px}.prep-stat-value{font-size:16px}.mcq-option{padding:12px;font-size:12px}.code-block-pre{font-size:11.5px;padding:12px}}:root{--neon-cyan: #22d3ee;--neon-pink: #f472b6;--neon-green: #4ade80;--neon-yellow: #facc15;--neon-purple: #a78bfa;--arcade-dark: #0a0e1a;--arcade-surface: #111827;--arcade-border: #1e293b;--hud-bg: rgba(10, 14, 26, .95)}.font-pixel{font-family:"Press Start 2P",monospace}.crt-overlay{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.02) 0px,rgba(0,0,0,.02) 1px,transparent 1px,transparent 3px);mix-blend-mode:multiply}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle var(--duration, 3s) ease-in-out infinite alternate;opacity:0}.star--large{width:3px;height:3px;box-shadow:0 0 6px 1px #ffffff4d}@keyframes twinkle{0%{opacity:.1}50%{opacity:.8}to{opacity:.2}}.glitch-text{position:relative;animation:glitch-skew 4s infinite linear alternate-reverse}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-text:before{color:var(--neon-cyan);animation:glitch-left 3s infinite linear alternate-reverse;clip-path:inset(0 65% 0 0)}.glitch-text:after{color:var(--neon-pink);animation:glitch-right 2.5s infinite linear alternate-reverse;clip-path:inset(0 0 0 65%)}@keyframes glitch-left{0%,90%,to{transform:translate(0)}92%{transform:translate(-3px,1px)}94%{transform:translate(2px,-1px)}96%{transform:translate(-1px,2px)}98%{transform:translate(3px)}}@keyframes glitch-right{0%,88%,to{transform:translate(0)}90%{transform:translate(3px,-1px)}93%{transform:translate(-2px,2px)}95%{transform:translate(1px,-2px)}97%{transform:translate(-3px,1px)}}@keyframes glitch-skew{0%,85%,to{transform:skew(0)}87%{transform:skew(.5deg)}91%{transform:skew(-.3deg)}95%{transform:skew(.2deg)}}.neon-glow-cyan{text-shadow:0 0 7px var(--neon-cyan),0 0 10px var(--neon-cyan),0 0 21px var(--neon-cyan),0 0 42px rgba(34,211,238,.5)}.neon-glow-pink{text-shadow:0 0 7px var(--neon-pink),0 0 10px var(--neon-pink),0 0 21px var(--neon-pink),0 0 42px rgba(244,114,182,.5)}.neon-border{box-shadow:0 0 5px var(--neon-cyan),0 0 10px #22d3ee4d,inset 0 0 5px #22d3ee1a;border-color:var(--neon-cyan)}.pixel-border{border:2px solid var(--neon-cyan);box-shadow:4px 4px #22d3ee33,-1px -1px #22d3ee1a}.game-bar{background:var(--hud-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:2px solid var(--neon-cyan);box-shadow:0 2px 30px #22d3ee1f}.game-bar__link{font-family:"Press Start 2P",monospace;font-size:.55rem;color:#64748b;padding:.5rem .8rem;transition:all .25s ease;position:relative;text-decoration:none;letter-spacing:.5px;border-radius:4px}.game-bar__link:hover{color:var(--neon-cyan);background:#22d3ee14;text-shadow:0 0 8px rgba(34,211,238,.6)}.game-bar__link--active{color:var(--neon-cyan);background:#22d3ee1a;text-shadow:0 0 8px rgba(34,211,238,.6)}.game-bar__link--active:after{content:"";position:absolute;bottom:-2px;left:10%;right:10%;height:2px;background:var(--neon-cyan);box-shadow:0 0 10px var(--neon-cyan);border-radius:1px}.xp-bar{width:100px;height:6px;background:#1e293bcc;border:1px solid rgba(34,211,238,.2);border-radius:3px;overflow:hidden}.xp-bar__fill{height:100%;background:linear-gradient(90deg,var(--neon-cyan),var(--neon-green));transition:width .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 8px #22d3ee66;position:relative;border-radius:3px}.xp-bar__fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:xp-shimmer 2s infinite}@keyframes xp-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.level-badge{font-family:"Press Start 2P",monospace;font-size:.5rem;background:linear-gradient(135deg,#22d3ee1f,#a78bfa1f);border:1px solid rgba(34,211,238,.35);color:var(--neon-cyan);padding:.2rem .5rem;border-radius:4px;text-shadow:0 0 4px rgba(34,211,238,.3)}.arcade-btn{font-family:"Press Start 2P",monospace;font-size:.7rem;padding:1.1rem 2.2rem;border:2px solid;position:relative;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s cubic-bezier(.34,1.56,.64,1);text-decoration:none;display:inline-flex;align-items:center;gap:.75rem;overflow:hidden;border-radius:6px}.arcade-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent);opacity:0;transition:opacity .3s}.arcade-btn:hover:before{opacity:1}.arcade-btn:active{transform:translateY(2px) scale(.98)}.arcade-btn--primary{background:#22d3ee14;border-color:var(--neon-cyan);color:var(--neon-cyan);box-shadow:0 0 15px #22d3ee33,inset 0 0 15px #22d3ee08}.arcade-btn--primary:hover{background:#22d3ee26;box-shadow:0 0 30px #22d3ee66,inset 0 0 20px #22d3ee14;text-shadow:0 0 10px var(--neon-cyan);transform:translateY(-2px)}.arcade-btn--secondary{background:#f472b614;border-color:var(--neon-pink);color:var(--neon-pink);box-shadow:0 0 15px #f472b633,inset 0 0 15px #f472b608}.arcade-btn--secondary:hover{background:#f472b626;box-shadow:0 0 30px #f472b666,inset 0 0 20px #f472b614;text-shadow:0 0 10px var(--neon-pink);transform:translateY(-2px)}.achievement-toast{position:fixed;top:80px;right:20px;z-index:1000;font-family:"Press Start 2P",monospace;font-size:.5rem;background:linear-gradient(135deg,#facc151f,#a78bfa1f);border:1px solid rgba(250,204,21,.4);color:var(--neon-yellow);padding:1rem 1.5rem;border-radius:6px;animation:toast-in .5s cubic-bezier(.34,1.56,.64,1) forwards,toast-out .4s ease 3s forwards;box-shadow:0 4px 30px #facc1526;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);line-height:1.6;max-width:280px}@keyframes toast-in{0%{transform:translate(120%) scale(.8);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes toast-out{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(120%) scale(.8);opacity:0}}@keyframes neon-pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-neon-pulse{animation:neon-pulse 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 4s ease-in-out infinite}.game-canvas-wrapper{margin:0 auto}.game-canvas-container{position:relative;border:2px solid rgba(34,211,238,.5);border-radius:8px;overflow:hidden;box-shadow:0 0 40px #22d3ee1f,inset 0 0 40px #22d3ee08;background:#050816}.game-canvas-container canvas{display:block;width:100%;height:auto;touch-action:none}.touch-controls{display:none;width:100%;margin-top:12px;gap:10px;justify-content:center;align-items:center;padding:0 8px}@media(pointer:coarse),(max-width:768px){.touch-controls{display:flex}}.touch-controls__zone{flex:1;display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.touch-btn{font-family:"Press Start 2P",monospace;font-size:.65rem;color:#22d3eeb3;background:#22d3ee0f;border:1.5px solid rgba(34,211,238,.25);border-radius:12px;padding:16px 28px;text-align:center;transition:all .15s ease;cursor:pointer;width:100%}.touch-btn:active{background:#22d3ee26;border-color:var(--neon-cyan);color:var(--neon-cyan);box-shadow:0 0 15px #22d3ee4d;transform:scale(.95)}.touch-btn--fire{color:#f472b6b3;background:#f472b60f;border-color:#f472b640}.touch-btn--fire:active{background:#f472b626;border-color:var(--neon-pink);color:var(--neon-pink);box-shadow:0 0 15px #f472b64d}.score-display{font-family:"Press Start 2P",monospace;font-size:.7rem;color:var(--neon-green);text-shadow:0 0 8px rgba(74,222,128,.5)}.matrix-column{position:absolute;top:-100%;font-family:JetBrains Mono,monospace;font-size:14px;color:#22d3ee14;writing-mode:vertical-rl;animation:matrix-fall var(--fall-duration, 10s) linear infinite;animation-delay:var(--fall-delay, 0s);will-change:transform}@keyframes matrix-fall{0%{transform:translateY(-100%)}to{transform:translateY(calc(100vh + 100%))}}.hub-stats{font-family:"Press Start 2P",monospace;font-size:.45rem;color:#475569;background:#0a0e1ab3;border:1px solid rgba(34,211,238,.1);padding:.75rem 1.5rem;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-transition{position:relative;width:100%;min-height:100vh}.transition-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none}.transition-overlay__panel{position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#0a0e1a,#050816)}@media(max-width:768px){.arcade-btn{font-size:.55rem;padding:.9rem 1.5rem}.game-bar__link{font-size:.45rem;padding:.35rem .5rem}.xp-bar{width:60px;height:5px}.level-badge{font-size:.4rem;padding:.15rem .35rem}.hub-stats{font-size:.38rem;gap:1rem}.achievement-toast{top:auto;bottom:20px;right:10px;left:10px;max-width:none;font-size:.45rem}}@media(max-width:480px){.arcade-btn{font-size:.48rem;padding:.8rem 1.2rem;gap:.5rem}.touch-btn{padding:14px 10px;font-size:.55rem;border-radius:10px}}html{scroll-behavior:smooth}::selection{background:#22d3ee4d;color:#fff}
