:root{--bg-dark:#050d18;--bg-deep:#081625;--panel:#081625b8;--panel-border:#00e5ff38;--cyan:#00e5ff;--cyan-soft:#6fd6e8;--neon-green:#0f8;--neon-yellow:gold;--neon-red:#f36;--neon-purple:#b026ff;--neon-orange:#ff9500;--text:#e6f1ff}*{box-sizing:border-box}html,body{background:var(--bg-dark);color:var(--text);min-height:100vh;margin:0;padding:0;font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,monospace;overflow-x:hidden}.cyber-bg{z-index:-2;background:radial-gradient(ellipse at 20% 0%,#006eb459 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,#00e5ff2e 0%,transparent 55%),url(/bg-waves.png) center/cover no-repeat,var(--bg-dark);background-attachment:fixed;position:fixed;inset:0}.cyber-bg:after{content:"";background:linear-gradient(#050d1880,#050d18d9),repeating-linear-gradient(0deg,#00e5ff0a 0 1px,#0000 1px 3px);position:absolute;inset:0}.font-display{letter-spacing:.02em;font-family:Orbitron,Space Grotesk,system-ui,sans-serif;font-weight:700}.font-mono{font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,monospace}.title-glow{letter-spacing:.04em;color:var(--text);text-shadow:0 0 18px #00e5ffa6,0 0 38px #00e5ff59,0 0 80px #00e5ff33;font-family:Orbitron,sans-serif;font-weight:900;line-height:.95}.text-cyan{color:var(--cyan)}.text-cyan-soft{color:var(--cyan-soft)}.text-neon-yellow{color:var(--neon-yellow)}.text-neon-green{color:var(--neon-green)}.text-text\/80{color:#e6f1ffcc}.text-text\/90{color:#e6f1ffe6}.hl{color:var(--neon-yellow);text-shadow:0 0 10px #ffd700b3;padding:0 1px;font-weight:700}.panel{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);border-radius:18px;padding:36px;position:relative;box-shadow:inset 0 0 0 1px #00e5ff0f,0 30px 80px #00000080,0 0 60px #00e5ff14}.panel:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(140deg,#00e5ff80,#00e5ff00 30% 70%,#00e5ff59);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.panel:after{content:"";pointer-events:none;border:1px dashed #00e5ff14;border-radius:12px;position:absolute;inset:10px}.btn-cyber{border:1px solid var(--cyan);color:var(--cyan);letter-spacing:.28em;text-transform:uppercase;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background:linear-gradient(#00e5ff2e,#00e5ff0a);border-radius:4px;align-items:center;gap:10px;padding:14px 32px;font-family:Orbitron,sans-serif;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex;position:relative;box-shadow:0 0 0 1px #00e5ff33,0 0 24px #00e5ff40,inset 0 0 20px #00e5ff14}.btn-cyber:hover{color:#fff;box-shadow:0 0 0 1px var(--cyan),0 0 40px #00e5ff8c,inset 0 0 24px #00e5ff26;background:linear-gradient(#00e5ff52,#00e5ff1f);transform:translateY(-1px)}.btn-cyber:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{color:var(--cyan-soft);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #00e5ff4d;border-radius:3px;padding:10px 22px;font-family:Orbitron,sans-serif;font-size:12px;transition:all .2s}.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);background:#00e5ff0d}.input-cyber{width:100%;max-width:420px;color:var(--cyan);letter-spacing:.5em;text-align:center;text-transform:uppercase;caret-color:var(--cyan);background:#050d18b3;border:1px solid #00e5ff59;border-radius:4px;outline:none;margin:0 auto;padding:18px 22px;font-family:Orbitron,monospace;font-size:22px;transition:all .2s;display:block;box-shadow:inset 0 0 24px #00e5ff14,0 0 18px #00e5ff1a}.input-cyber::placeholder{color:#00e5ff59;letter-spacing:.3em}.input-cyber:focus{border-color:var(--cyan);box-shadow:inset 0 0 24px #00e5ff26,0 0 30px #00e5ff59}.input-cyber.shake{border-color:var(--neon-red);animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.letter-cell{text-transform:uppercase;border-radius:6px;justify-content:center;align-items:center;width:52px;height:60px;font-family:Orbitron,monospace;font-size:24px;font-weight:900;display:flex}.letter-lg{width:56px;height:64px;font-size:26px}.letter-given{border:1px solid var(--neon-green);color:var(--neon-green);background:#00ff8826;box-shadow:0 0 16px #0f86,inset 0 0 12px #00ff881a}.letter-input{background:#050d18b3;border:1px solid #00e5ff59}.letter-input input{text-align:center;width:100%;height:100%;font:inherit;color:var(--cyan);text-transform:uppercase;caret-color:var(--cyan);background:0 0;border:none;outline:none}.conn-cell{color:var(--text);letter-spacing:.08em;text-align:center;cursor:pointer;text-transform:uppercase;-webkit-user-select:none;user-select:none;background:#081625bf;border:1px solid #00e5ff40;border-radius:6px;padding:18px 12px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;transition:all .15s}.conn-cell:hover{border-color:var(--cyan);transform:translateY(-1px)}.conn-cell.selected{border-color:var(--cyan);color:var(--cyan);background:#00e5ff2e;box-shadow:0 0 18px #00e5ff59}.conn-cat{letter-spacing:.1em;color:#0a1929;text-align:center;text-transform:uppercase;border-radius:6px;padding:16px 18px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;box-shadow:0 0 24px}.quiz-options{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.quiz-options{grid-template-columns:repeat(2,1fr)!important}}.pill{letter-spacing:.24em;text-transform:uppercase;border:1px solid var(--cyan);color:var(--cyan);background:#00e5ff0f;border-radius:999px;align-items:center;gap:8px;padding:8px 18px;font-family:Orbitron,sans-serif;font-size:11px;display:inline-flex}.pill.yellow{border-color:var(--neon-yellow);color:var(--neon-yellow);background:#ffd7000f;box-shadow:0 0 18px #ffd7002e}.step-dot{color:#e6f1ff66;background:#08162599;border:1px solid #00e5ff4d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:Orbitron,sans-serif;font-size:13px;font-weight:700;display:flex;position:relative}.step-dot.active{border-color:var(--cyan);color:var(--cyan);background:#00e5ff1f;box-shadow:0 0 18px #00e5ff66}.step-dot.done{border-color:var(--neon-green);color:var(--neon-green);background:#00ff881f}.timer-hud{z-index:80;border:1px solid var(--cyan);-webkit-backdrop-filter:blur(10px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background:#050d18d9;border-radius:4px;align-items:center;gap:10px;padding:10px 18px;font-family:Orbitron,sans-serif;font-weight:700;transition:color .3s,border-color .3s,box-shadow .3s;display:inline-flex;position:fixed;top:24px;right:24px}.timer-dot{border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}.timer-label{letter-spacing:.3em;opacity:.85;font-size:10px}.timer-value{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:22px}.timer-value.tick{animation:1s ease-in-out infinite tickPulse}@keyframes tickPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(max-width:700px){.timer-hud{padding:6px 12px;top:12px;right:12px}.timer-label{display:none}.timer-value{font-size:18px}}.toast{letter-spacing:.2em;text-transform:uppercase;z-index:100;border-radius:4px;padding:12px 24px;font-family:Orbitron,sans-serif;font-size:12px;animation:.3s toastIn;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast.success{border:1px solid var(--neon-green);color:var(--neon-green);background:#00ff8826;box-shadow:0 0 20px #00ff884d}.toast.error{border:1px solid var(--neon-red);color:var(--neon-red);background:#ff336626;box-shadow:0 0 20px #ff33664d}.toast.info{border:1px solid var(--cyan);color:var(--cyan);background:#00e5ff26;box-shadow:0 0 20px #00e5ff4d}.toast-side{letter-spacing:.18em;text-transform:uppercase;z-index:100;border-radius:4px;padding:12px 22px;font-family:Orbitron,sans-serif;font-size:12px;animation:.3s toastIn;position:fixed;bottom:32px;right:32px}.toast-side.success{border:1px solid var(--neon-green);color:var(--neon-green);background:#00ff8826}.toast-side.error{border:1px solid var(--neon-red);color:var(--neon-red);background:#ff336626}.toast-side.info{border:1px solid var(--cyan);color:var(--cyan);background:#00e5ff26}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.shake-grid{animation:.4s shake}.float{animation:4s ease-in-out infinite floatY}.bob{animation:3s ease-in-out infinite bobY}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bobY{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-14px)rotate(2deg)}}.fade-in{animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confetti{z-index:50;pointer-events:none;width:10px;height:14px;animation:linear infinite fall;position:fixed;top:-10px}@keyframes fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.two-col{gap:48px;display:grid}@media(max-width:900px){.two-col{grid-template-columns:1fr!important}}.missions-grid{gap:20px;display:grid}@media(max-width:900px){.missions-grid{grid-template-columns:1fr!important}}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.hidden{display:none}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-col{flex-direction:column}.shrink-0{flex-shrink:0}.gap-2{gap:8px}.gap-3{gap:12px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}.gap-12{gap:48px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-10{margin-bottom:40px}.mt-1{margin-top:4px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-10{margin-top:40px}.mx-auto{margin-left:auto;margin-right:auto}.mx-1{margin-left:4px;margin-right:4px}.mr-2{margin-right:8px}.p-4{padding:16px}.py-4{padding-top:16px;padding-bottom:16px}.py-6{padding-top:24px;padding-bottom:24px}.py-8{padding-top:32px;padding-bottom:32px}.px-4{padding-left:16px;padding-right:16px}.px-8{padding-left:32px;padding-right:32px}.min-h-screen{min-height:100vh}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-md{max-width:28rem}.w-full{width:100%}.w-2{width:8px}.w-3{width:12px}.w-24{width:96px}.h-2{height:8px}.h-3{height:12px}.h-12{height:48px}.h-16{height:64px}.rounded-full{border-radius:999px}.rounded-lg{border-radius:8px}.rounded-2xl{border-radius:16px}.relative{position:relative}.fixed{position:fixed}.absolute{position:absolute}.inset-0{inset:0}.z-50{z-index:50}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.text-4xl{font-size:36px}.text-6xl{font-size:60px}.text-7xl{font-size:72px}.text-8xl{font-size:96px}.tracking-widest{letter-spacing:.1em}.font-black{font-weight:900}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.uppercase{text-transform:uppercase}.bg-neon-green{background:var(--neon-green)}.border-b-2{border-bottom-style:solid;border-bottom-width:2px}.border-cyan{border-color:var(--cyan)}.align-middle{vertical-align:middle}.object-contain{object-fit:contain}.animate-pulse{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.space-y-2>*+*{margin-top:8px}.space-y-4>*+*{margin-top:16px}.space-y-6>*+*{margin-top:24px}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:700px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.md\:text-7xl{font-size:72px}.md\:text-8xl{font-size:96px}.md\:text-4xl{font-size:36px}.md\:px-8{padding-left:32px;padding-right:32px}.md\:max-w-full{max-width:100%}}
