:root{--term-bg:#0b0c09;--term-panel-bg:#14150f;--term-header-bg:#191a13;--term-border:#3a3226;--term-border-strong:#4a4030;--term-text:#d8cdb0;--term-text-muted:#8a9a90;--term-amber:#e0a94a;--term-amber-bright:#ffcf7a;--term-teal:#5a9a80;--term-teal-dim:#3a5a4a;--term-red:#c46a4a;--term-red-bright:#ff8a5c;--term-font:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}body{background:var(--term-bg);color:var(--term-text);font-family:var(--term-font);margin:0}#app{min-height:100vh;padding:24px}h1,h2,h3{font-family:var(--term-font);color:var(--term-text);margin:0 0 12px;font-weight:500}button{font-family:var(--term-font);background:var(--term-panel-bg);color:var(--term-text);border:1px solid var(--term-border-strong);cursor:pointer;border-radius:4px;padding:8px 14px;font-size:13px}button:hover:not(:disabled){border-color:var(--term-amber);color:var(--term-amber-bright)}button:disabled{opacity:.45;cursor:not-allowed}input[type=text],input[type=number]{font-family:var(--term-font);background:var(--term-panel-bg);color:var(--term-text);border:1px solid var(--term-border-strong);border-radius:4px;padding:6px 10px;font-size:13px}.game-hud{background:var(--term-header-bg);border:1px solid var(--term-border-strong);border-radius:4px;gap:24px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.hud-time{color:var(--term-amber)}.hud-time b{color:var(--term-amber-bright)}.hud-strikes{color:var(--term-red)}.hud-strikes b{color:var(--term-red-bright)}.modules{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.module{background:var(--term-panel-bg);border:1px solid var(--term-border-strong);border-radius:4px;position:relative;overflow:hidden}.module h3{background:var(--term-header-bg);border-bottom:1px solid var(--term-border);letter-spacing:.08em;text-transform:uppercase;color:var(--term-text-muted);justify-content:space-between;align-items:center;margin:0;padding:8px 12px;font-size:12px;display:flex}.module h3:after{content:"";background:var(--term-amber);border-radius:50%;flex-shrink:0;width:7px;height:7px}.module.solved{border-color:var(--term-teal-dim)}.module.solved h3:after{background:var(--term-teal)}.module p{margin:0;padding:8px 12px;font-size:13px}.module ul,.module ol{flex-direction:column;gap:6px;margin:0;padding:8px;list-style:none;display:flex}.module li{border:1px solid var(--term-border);border-radius:3px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;font-size:13px;display:flex}.module li button{font:inherit;color:var(--term-text);cursor:pointer;text-align:left;background:0 0;border:none;flex:1;padding:0}.module li button:hover:not(:disabled){color:var(--term-amber-bright)}.module li button:disabled{opacity:.5;cursor:not-allowed}.module code{font-family:var(--term-font);color:var(--term-text-muted);background:0 0}.phishing-module .message{border-top:1px solid var(--term-border);margin-top:10px;padding-top:10px}.phishing-module .message:first-of-type{border-top:none;margin-top:0}.message-choice{gap:8px;margin:8px 12px;display:flex}.message-choice button.active{border-color:var(--term-amber);color:var(--term-amber-bright)}.module table{border-collapse:collapse;width:100%;font-size:13px}.module th,.module td{text-align:left;border-bottom:1px solid var(--term-border);padding:7px 10px}.module th{color:var(--term-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:500}.module-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.module-list li{background:var(--term-panel-bg);border:1px solid var(--term-border-strong);border-radius:4px;overflow:hidden}.module-list li strong{background:var(--term-header-bg);border-bottom:1px solid var(--term-border);letter-spacing:.08em;text-transform:uppercase;color:var(--term-text-muted);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.module-list li strong:after{content:"";background:var(--term-amber);border-radius:50%;flex-shrink:0;width:7px;height:7px}.module-list li.solved{border-color:var(--term-teal-dim)}.module-list li.solved strong:after{background:var(--term-teal)}.module-list li p{margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.play-link[data-v-0f0d37b3]{font-family:var(--term-font);word-break:break-all;background:var(--term-panel-bg);border:1px solid var(--term-border-strong);border-radius:4px;padding:8px 12px}
