:root{--bg: #060a06;--fg: #b8f0b0;--dim: #5f7d5a;--err: #ff6b6b;--event: #7fd6ff;--input: #eaffea;--accent: #57e389;font-size:17px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:#000;color:var(--fg);font-family:SF Mono,JetBrains Mono,Fira Code,Menlo,Consolas,monospace}#root{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#071007,#000)}.app{display:flex;flex-direction:column;width:96vw;max-width:1400px;height:94vh;height:94dvh;max-height:1100px;margin:auto;background:var(--bg);border:1px solid #17381f;border-radius:8px;box-shadow:0 0 60px #000c,0 0 1px #57e38966;overflow:hidden}@media (max-width: 720px){html,body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}#root{display:block;height:100%}.app{width:100vw;height:100dvh;height:var(--app-h, 100dvh);max-height:none;border:none;border-radius:0}}.topbar{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;border-bottom:1px solid #12331a;background:#08120a;font-size:12px;letter-spacing:2px;color:var(--dim)}.brand{color:var(--accent);font-weight:700}.exit{background:none;border:1px solid #1d4028;color:var(--dim);cursor:pointer;padding:2px 10px;border-radius:3px;font-family:inherit}.exit:hover{color:var(--fg);border-color:var(--accent)}.terminal{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.terminal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 3px);opacity:.35}.scroll{flex:1;overflow-y:auto;padding:10px 12px;line-height:1.45;scrollbar-width:thin;scrollbar-color:#1d4028 transparent}.scroll::-webkit-scrollbar{width:10px}.scroll::-webkit-scrollbar-track{background:transparent}.scroll::-webkit-scrollbar-thumb{background:#16311d;border:2px solid var(--bg);border-radius:6px}.scroll::-webkit-scrollbar-thumb:hover{background:#1f4a2c}.scroll::-webkit-scrollbar-corner{background:transparent}.line{white-space:pre-wrap;word-break:break-word}.line.out{color:var(--fg)}.line.err{color:var(--err)}.line.event{color:var(--event)}.line.system{color:var(--dim)}.line.input{color:var(--input)}.line.input .prompt{color:var(--accent)}.input-line{display:flex;flex-wrap:wrap;align-items:baseline}.prompt{color:var(--accent);white-space:pre}.typed{color:var(--input);white-space:pre}.cursor-block{display:inline-block;white-space:pre;color:var(--bg);background:var(--accent);animation:blink 1.1s step-end infinite}@keyframes blink{50%{background:transparent;color:var(--input)}}.input-line{position:relative}.hidden-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:transparent;caret-color:transparent;opacity:0;pointer-events:none;font:inherit;font-size:16px}.keyrow{display:none;gap:4px;padding:6px;border-top:1px solid #12331a;background:#08120a;overflow-x:auto}.keycap{flex:0 0 auto;min-width:44px;padding:8px 10px;background:#0e1f12;color:var(--fg);border:1px solid #1d4028;border-radius:5px;font-family:inherit;font-size:14px;cursor:pointer}.keycap:active{background:#16311d}.boot{max-width:760px;margin:0 auto;padding:28px 18px 60px;overflow-y:auto;height:100%;scrollbar-width:thin;scrollbar-color:#1d4028 transparent}.boot::-webkit-scrollbar{width:10px}.boot::-webkit-scrollbar-track{background:transparent}.boot::-webkit-scrollbar-thumb{background:#16311d;border:2px solid var(--bg);border-radius:6px}.boot::-webkit-scrollbar-thumb:hover{background:#1f4a2c}.logo{color:var(--accent);font-size:11px;line-height:1.1;text-shadow:0 0 8px rgba(87,227,137,.4)}.tag{color:var(--dim);margin-top:-6px;letter-spacing:1px}.menu-btn{display:grid;grid-template-columns:34px 1fr auto;gap:8px 12px;align-items:center;width:100%;text-align:left;background:#0b160d;color:var(--fg);border:1px solid #16331d;border-radius:6px;padding:12px 14px;margin:6px 0;font-family:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.menu-btn:hover{border-color:var(--accent);background:#10231400;background:#102314}.menu-btn.primary{border-color:var(--accent);color:var(--accent)}.mnum{color:var(--accent);font-weight:700;text-align:center}.mtitle{font-weight:600;color:var(--input)}.mact{color:var(--dim);font-size:12px;white-space:nowrap}.mdiff{color:var(--accent);letter-spacing:1px}.mdiff-off{color:#2a4a32}.mteach{grid-column:2 / 4;color:var(--dim);font-size:12px}.progress{margin:18px 0 8px}.progress-row{display:flex;justify-content:space-between;color:var(--dim);font-size:12px;letter-spacing:2px;margin-bottom:6px}.progress-bar{height:6px;background:#0e1f12;border:1px solid #16331d;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#2f8a52,var(--accent));box-shadow:0 0 8px #57e38980;transition:width .4s ease}.reset-btn{margin-top:16px;background:none;border:1px solid #3a1d1d;color:#c67;cursor:pointer;padding:8px 14px;border-radius:6px;font-family:inherit;font-size:13px}.reset-btn:hover{border-color:var(--err);color:var(--err)}.mission-list-head{color:var(--dim);letter-spacing:3px;font-size:12px;margin:20px 0 6px}.disclaimer{color:var(--dim);font-size:12px;margin-top:22px;border-top:1px solid #12331a;padding-top:12px}@media (max-width: 720px){:root{font-size:13px}.keyrow{display:flex}.logo{font-size:8px}}@media (prefers-reduced-motion: reduce){.cursor{animation:none}.terminal:after{display:none}}
