@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');
:root{--bg:#000;--fg:#d7d7d7;--dim:#777;--red:#ff3b30;--amber:#d9a441;--green:#9cff9c}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;background:#000;color:var(--fg)}body{overflow-x:hidden;font-family:"Share Tech Mono","Courier New",monospace}.screen{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.035),transparent 58%),#000;text-shadow:0 0 7px rgba(255,255,255,.12)}.topbar{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px clamp(16px,3vw,44px);color:#626262;font-size:clamp(9px,.8vw,12px);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.035)}.topbar button{border:1px solid #292929;background:#050505;color:#737373;padding:7px 10px;font:inherit;letter-spacing:.08em;cursor:pointer}.topbar button:hover,.topbar button:focus-visible{color:#ddd;border-color:#555;outline:none}.terminal-wrap{position:relative;z-index:3;width:100%;max-width:1500px;min-height:calc(100vh - 52px);margin:0 auto;padding:clamp(22px,3.2vw,46px) clamp(18px,4vw,58px) 34px}.terminal{white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(11px,1.05vw,16px);line-height:1.48;letter-spacing:.02em}.line{min-height:1.48em}.line.dim{color:var(--dim)}.line.red{color:var(--red);text-shadow:0 0 8px rgba(255,59,48,.2)}.line.amber{color:var(--amber)}.line.green{color:var(--green)}.prompt-row{display:flex;align-items:baseline;min-height:1.48em;margin-top:3px;font-size:clamp(11px,1.05vw,16px);line-height:1.48}.prompt-label{flex:0 0 auto;color:var(--fg)}.command-input{min-width:2px;width:auto;max-width:calc(100% - 2px);flex:0 1 auto;field-sizing:content;padding:0;margin:0;border:0;outline:0;background:transparent;color:var(--fg);caret-color:transparent;font:inherit;line-height:inherit;letter-spacing:inherit;text-shadow:inherit}.command-input:disabled{opacity:1}.cursor{display:inline-block;width:.62em;height:1.05em;margin-left:2px;background:#d7d7d7;vertical-align:-.16em;animation:blink .85s steps(1,end) infinite;flex:0 0 auto}.cursor.hidden{visibility:hidden}@keyframes blink{50%{opacity:0}}.boot{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#000;transition:opacity .8s ease,visibility .8s ease}.boot.done{opacity:0;visibility:hidden;pointer-events:none}.boot-inner{width:min(520px,78vw);color:#aaa;text-align:center;letter-spacing:.12em}.boot-title{margin-bottom:18px;color:#ddd;font-size:clamp(17px,2vw,28px)}.boot-status{min-height:1.4em;margin-bottom:12px;font-size:11px;color:#666}.boot-bar{height:2px;background:#151515;overflow:hidden}.boot-bar span{display:block;width:0;height:100%;background:#aaa;transition:width .12s linear}.crt-lines,.noise,.vignette{position:fixed;inset:0;pointer-events:none}.crt-lines{z-index:8;opacity:.18;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(255,255,255,.025) 3px,transparent 4px)}.noise{z-index:9;opacity:.045;background-image:repeating-radial-gradient(circle at 0 0,rgba(255,255,255,.7) 0 1px,transparent 1px 3px);background-size:7px 7px;animation:noiseShift .18s steps(2,end) infinite}.vignette{z-index:10;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.55) 100%)}@keyframes noiseShift{0%{transform:translate(0,0)}25%{transform:translate(2px,-1px)}50%{transform:translate(-1px,2px)}75%{transform:translate(1px,1px)}100%{transform:translate(0,0)}}body.glitch .terminal{animation:glitch .18s steps(2,end) 3}@keyframes glitch{0%{transform:translate(0);opacity:1}25%{transform:translate(2px);opacity:.8}50%{transform:translate(-2px,1px);opacity:.95}75%{transform:translate(1px,-1px);opacity:.7}100%{transform:translate(0);opacity:1}}.toast{position:fixed;left:50%;bottom:22px;z-index:20;transform:translateX(-50%);padding:7px 11px;border:1px solid #262626;background:rgba(0,0,0,.86);color:#777;font:10px "Share Tech Mono",monospace;letter-spacing:.08em;opacity:0;transition:opacity .2s ease;pointer-events:none}.toast.show{opacity:1}@media(max-width:600px){.topbar{padding:11px 13px;font-size:8px}.topbar button{padding:6px 7px;font-size:8px}.terminal-wrap{min-height:calc(100vh - 43px);padding:20px 14px 28px}.terminal,.prompt-row{font-size:11px;line-height:1.55}.line{min-height:1.55em}}@media(prefers-reduced-motion:reduce){.noise,.cursor{animation:none}.cursor{opacity:1}}


/* Narrative / classified-state effects */
body.secret-mode .screen {
  animation: screenPulse 1.2s ease-in-out 2;
}

body.secret-mode .topbar {
  color: #8f8f8f;
  border-bottom-color: rgba(255,59,48,.18);
}

.secret-line {
  color: #e7e7e7;
  text-shadow: 0 0 10px rgba(255,255,255,.16);
}

.secret-line.red {
  color: var(--red);
}

.secret-line.amber {
  color: var(--amber);
}

@keyframes screenPulse {
  0%, 100% { opacity: 1; }
  45% { opacity: .76; }
  50% { opacity: .95; }
}

.locked {
  letter-spacing: .12em;
}
