:root {
 color-scheme:dark;
 --ink:#65ff77; --bright:#9bffa3; --muted:#45bf62; --dim:#2d8041; --line:#20532d;
 --glass:#020b04; --active:#65ff77; --case-text:#b1bbaa; --case-muted:#75816f;
 --hardware-height:68px;
 font:400 26px/1.3 'Cozette',monospace;
 font-synthesis:none; -webkit-font-smoothing:antialiased;
 background:#030604; color:var(--ink);
}
* { box-sizing:border-box; }
body { margin:0; min-width:320px; background:#030604; cursor:url('/versions/terminal/assets/terminal-cursor.svg') 2 2,default; }
h1,h2,h3,h4,p,ol,figure { margin:0; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; border:0; background:none; padding:0; }
a,button,summary { cursor:url('/versions/terminal/assets/terminal-cursor.svg') 2 2,pointer; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button:disabled { cursor:default; }
img { display:block; max-width:100%; }
[hidden] { display:none !important; }
::selection { color:#07140d; background:var(--active); }
:focus-visible { outline:1px dashed var(--bright); outline-offset:4px; }
.sr-only { position:absolute; top:0; left:0; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:50; padding:10px 16px; background:var(--active); color:#07140d; }
.skip-link:focus { top:8px; }
.js-only { display:none !important; }
.terminal-js .js-only { display:revert !important; }
.keep-word { white-space:nowrap; }
strong,b { font-weight:400; }
p { max-width:72ch; }
p + p { margin-top:16px; }
.muted { color:var(--muted); }
.small,.eyebrow { font-size:19.5px; line-height:1.3; }
.eyebrow { color:var(--muted); }

/* The case is physical UI; only the glass and its contents enter the CRT renderer. */
.terminal-shell { max-width:1314px; margin:0 auto; padding:16px; }
.monitor-frame {
 position:relative; padding:13px 13px 0; border:1px solid #4b554a; border-radius:23px;
 background:linear-gradient(130deg,#30392f 0%,#20291f 38%,#222a20 72%,#182016 100%);
 box-shadow:inset 0 1px 1px #74816e,inset 0 -2px 2px #0d130c,0 12px 45px #0008;
}
.terminal-screen {
 position:relative; min-width:0; overflow:hidden; isolation:isolate; border:1px solid #111b10;
 border-radius:17px; background:var(--glass);
 box-shadow:0 0 0 1px #54604f,0 0 0 5px #141c12,inset 0 0 18px #000;
}
#terminal-content { position:relative; z-index:0; }
#crt-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:10; }
.monitor-label,.monitor-foot { display:none; }
.terminal-hardware { display:none; }
.terminal-capable .terminal-shell { height:100dvh; }
.terminal-capable .monitor-frame { height:100%; display:flex; flex-direction:column; min-height:0; }
.terminal-capable .terminal-screen { flex:1; min-height:0; }
.terminal-capable #terminal-content { height:100%; }
.terminal-capable #terminal-interface { height:100%; display:flex; flex-direction:column; min-height:0; }
.terminal-capable .terminal-hardware {
 display:flex; flex:none; align-items:center; gap:20px; min-height:var(--hardware-height);
 padding:10px 17px; color:var(--case-text); font-size:16.25px;
}
.hardware-controls { display:flex; align-items:center; gap:32px; }
.power-control { display:flex; align-items:center; gap:11px; }
.power-button {
 display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%;
 border:1px solid #0b120a; color:#b3caac; background:linear-gradient(#374432,#182214);
 box-shadow:0 0 0 2px #0c130a,inset 0 1px 2px #65765c,0 2px 3px #0008;
}
.power-button:active { background:#192116; box-shadow:0 0 0 2px #0c130a,inset 0 2px 4px #000; }
.power-glyph { font:26px/1 sans-serif; }
.power-caption { min-width:10ch; }
.power-caption-compact { display:none; }
.power-led { width:7px; height:7px; flex:none; border-radius:50%; background:#30462a; box-shadow:inset 0 0 2px #071006; }
.terminal-capable[data-power='on'] .power-led,.terminal-capable[data-power='booting'] .power-led { background:#77ff73; box-shadow:0 0 8px #60ff5f,0 0 2px #b5ffae; }
.hardware-label { color:var(--case-text); white-space:nowrap; }
.sound-rocker { display:flex; align-items:center; gap:10px; min-height:44px; }
.rocker-track { position:relative; display:block; width:42px; height:21px; border:1px solid #0b1208; border-radius:7px; background:#10190d; box-shadow:inset 0 2px 4px #000,0 1px 1px #53614b; }
.rocker-knob { position:absolute; top:2px; left:2px; width:17px; height:15px; border-radius:4px; border:1px solid #495b3d; background:linear-gradient(#53644b,#273820); box-shadow:0 1px 3px #000; transition:transform 120ms ease; }
.sound-rocker[aria-checked='true'] .rocker-knob { transform:translateX(19px); border-color:#536f41; background:linear-gradient(#65874c,#2d5120); }
.sound-rocker[aria-checked='true'] .rocker-knob::after { content:''; position:absolute; top:5px; left:4px; width:7px; height:3px; background:#9bff67; box-shadow:0 0 4px #75ff52; }
.sound-state { min-width:4ch; color:var(--case-muted); }
.sound-rocker[aria-checked='true'] .sound-state { color:#a6bf98; }
.hardware-effects { display:flex; align-items:center; gap:9px; min-height:44px; color:var(--case-muted); font-size:16.25px; text-align:left; }
.effects-knob { display:block; width:21px; height:21px; flex:none; border:1px solid #0c1409; border-radius:50%; background:radial-gradient(circle at 40% 32%,#516046,#202d19 60%); box-shadow:0 1px 2px #000,inset 0 1px 1px #6c7d5e; }
.effects-knob::after { content:''; display:block; width:2px; height:5px; margin:2px auto 0; background:#819674; }
.hardware-effects[aria-pressed='true'] { color:var(--case-text); }
.hardware-effects[aria-pressed='true'] .effects-knob::after { background:#a9df86; }
.terminal-hardware button:focus-visible { outline:2px solid #b1d09d; outline-offset:5px; }
.power-instruction { display:none; margin-left:auto; color:var(--case-text); font-size:16.25px; }
.terminal-capable[data-power='off'] .power-instruction { display:block; }

/* Power state never exposes a finished HTML page behind the powered-off glass. */
#terminal-boot { display:none; }
.terminal-capable:not([data-power='on']) .skip-link { display:none; }
.terminal-capable[data-power='off'] #terminal-content,
.terminal-capable[data-power='off'] #crt-canvas { visibility:hidden; }
.terminal-capable[data-power='off'] #terminal-interface,
.terminal-capable[data-power='booting'] #terminal-interface { display:none; }
.terminal-capable[data-power='shutting-down'] .terminal-screen[data-renderer='webgl'] #terminal-content { visibility:hidden; }
.terminal-capable[data-power='shutting-down'] .terminal-screen[data-renderer='html'] #terminal-content {
 transform-origin:center;
 transform:scaleX(clamp(.002,calc(2 - var(--shutdown-progress,0) * 2),1)) scaleY(clamp(.002,calc(1 - var(--shutdown-progress,0) * 2),1));
}
.terminal-capable[data-power='booting'] #terminal-boot {
 display:flex; flex-direction:column; align-items:flex-start; justify-content:center;
 height:100%; padding:36px 48px; font-size:26px; line-height:1.4;
}
.post-title { font-size:26px; font-weight:400; color:var(--bright); margin-bottom:30px; }
.post-output { min-height:14em; }
.post-memory-label { color:var(--ink); }
.post-memory { margin-top:0; margin-bottom:10px; }
.post-lines { white-space:pre-wrap; }
.post-output > .block-caret { display:inline-block; margin-top:10px; }
.post-skip { display:inline-flex; align-items:baseline; gap:12px; margin-top:38px; min-height:44px; font-size:19.5px; }
.post-skip:hover { text-decoration:underline; text-underline-offset:4px; }

/* Stable TUI shell: the reader receives the remaining desktop height. */
.system-bar { position:relative; display:flex; flex:none; justify-content:center; align-items:center; padding:22px 28px 6px; }
.system-brand { display:block; text-align:center; }
.system-subtitle { display:block; color:var(--ink); font-size:26px; line-height:1.1; }
.system-brand h1 { font-size:26px; line-height:1.1; text-transform:uppercase; font-weight:400; color:var(--bright); margin-top:4px; }
.system-controls { display:flex; align-items:center; gap:20px; position:absolute; right:27px; top:19px; font-size:19.5px; }
.language-switch { display:flex; gap:10px; }
.language-switch a { display:grid; place-items:center; min-height:34px; color:var(--muted); }
.language-switch a[aria-current] { color:var(--bright); border-bottom:1px solid var(--ink); }
.header-resume { display:inline-flex; align-items:center; min-height:34px; white-space:nowrap; color:var(--ink); }
.session-line { display:flex; justify-content:center; align-items:center; flex:none; min-height:26px; padding:0 24px 8px; color:var(--muted); font-size:16.25px; line-height:1.1; }
.terminal-workspace { min-width:0; }
.terminal-main { min-width:0; }
.terminal-capable .terminal-workspace { flex:1; min-height:0; }
.terminal-capable .terminal-main { display:flex; flex-direction:column; height:100%; min-height:0; }
.reader-toolbar { display:flex; flex:none; justify-content:space-between; align-items:center; gap:14px; padding:6px 42px; color:var(--muted); font-size:16.25px; line-height:1.3; }
.breadcrumb > span { color:var(--ink); }
.reader-back { color:var(--ink); white-space:nowrap; }
.terminal-reader { padding:18px 42px 28px; }
.terminal-capable .terminal-reader { flex:1; min-height:0; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:#426d49 #08150b; }
.terminal-reader::-webkit-scrollbar { width:6px; }
.terminal-reader::-webkit-scrollbar-track { background:#08150b; }
.terminal-reader::-webkit-scrollbar-thumb { background:#426d49; }
.terminal-page { max-width:1070px; padding-bottom:34px; scroll-margin-top:18px; }
.terminal-page + .terminal-page { padding-top:30px; border-top:1px dashed var(--line); }
.terminal-js .terminal-page { display:none; padding:0; border:0; }
.terminal-js .terminal-page.is-active { display:block; }
.terminal-page:focus,.terminal-page:focus-visible,.terminal-reader:focus { outline:none; }
.record-heading { margin-bottom:22px; }
.record-id { display:block; color:var(--muted); font-size:16.25px; line-height:1.2; margin-bottom:9px; }
.record-heading h2 { max-width:38ch; color:var(--bright); font-size:39px; line-height:1.15; font-weight:400; }
#profile .record-heading h2 { font-size:52px; line-height:1.1; }
[data-current-panel='menu'] .reader-toolbar { visibility:hidden; height:0; padding:0; }
#menu { max-width:none; }
#menu .record-heading { margin-bottom:14px; }
#menu .record-id { display:none; }
#menu .record-heading h2 { color:var(--muted); font-size:19.5px; line-height:1.2; text-transform:uppercase; }
.welcome-copy { margin-bottom:18px; }
.welcome-role { max-width:45ch; color:var(--bright); font-size:32.5px; line-height:1.2; }
.welcome-context { max-width:90ch; margin-top:10px; color:var(--muted); font-size:19.5px; line-height:1.3; }
.terminal-nav { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.nav-item { display:inline-flex; align-items:baseline; gap:9px; min-height:34px; max-width:100%; font-size:26px; line-height:1.3; }
.nav-caret,.row-caret { width:1ch; flex-shrink:0; color:var(--bright); visibility:hidden; }
.nav-text { padding:0 4px; white-space:nowrap; }
.nav-item:focus-visible,.file-link:focus-visible { outline:none; }
.directory-description { min-height:24px; margin-top:12px; padding-left:2ch; color:var(--muted); font-size:19.5px; line-height:1.2; }
.menu-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px 25px; max-width:950px; margin-top:18px; padding-top:12px; border-top:1px dashed var(--line); }
.terminal-button { display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:2px 0; color:var(--bright); font-size:19.5px; line-height:1.3; }
.download-note { margin-top:4px; color:var(--muted); font-size:19.5px; line-height:1.2; }
.terminal-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; flex:none; min-height:47px; padding:11px 26px; border-top:1px solid var(--line); color:var(--muted); font-size:16.25px; line-height:1.25; }
.terminal-status { display:flex; align-items:center; gap:10px; flex:none; }
.active-mode { color:var(--ink); }
.key-hint { font-size:16.25px; text-align:right; }
.block-caret { color:var(--bright); }

/* A single focus cursor drives every list. Hover never creates a second inverse row. */
[data-tui-group] .is-tui-selected { scroll-margin-block:12px; }
.has-tui-focus .is-tui-selected .nav-caret,.has-tui-focus .is-tui-selected .row-caret { visibility:visible; }
.has-tui-focus .is-tui-selected .tui-label { color:#07140d; background:var(--active); }
.has-tui-focus .is-tui-selected:not(:has(.tui-label)):not(:disabled) { color:#07140d; background:var(--active); }
.terminal-button:hover,.terminal-button.is-hover,.inline-link:hover,.inline-link.is-hover,.text-button:hover,.text-button.is-hover,
.nav-item:hover .nav-text,.nav-item.is-hover .nav-text,.file-link:hover .tui-label,.file-link.is-hover .tui-label { text-decoration:underline; text-underline-offset:4px; }
.contextual-actions { margin-top:22px; }
.contextual-actions .inline-link { margin-top:0; }
.lead { max-width:71ch; margin-bottom:24px; font-size:26px; line-height:1.35; }
.profile-layout { display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:42px; align-items:start; max-width:1030px; }
.profile-title { max-width:36ch; color:var(--bright); font-size:32.5px; line-height:1.2; }
.profile-description { margin-top:20px; font-size:26px; line-height:1.35; }
.current-work { margin-top:20px; font-size:19.5px; line-height:1.35; }
.current-work p + p { margin-top:7px; }
.profile-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 22px; margin-top:22px; }
.portrait-record { padding-top:2px; }
.portrait-image { padding:3px; border:1px solid #386844; }
.portrait-image img { width:100%; height:auto; aspect-ratio:482/500; object-fit:cover; }
.portrait-record figcaption { display:flex; justify-content:space-between; gap:8px; margin-top:7px; color:var(--muted); font-size:13px; white-space:nowrap; }
.profile-note { display:flex; gap:13px; padding:18px 0; margin-top:26px; border-top:1px dashed var(--line); font-size:22.75px; line-height:1.3; }
.profile-note p { color:var(--muted); }
.file-link { display:grid; grid-template-columns:1ch 3ch minmax(0,1fr) 1ch; align-items:baseline; gap:12px; width:100%; max-width:1000px; padding:15px 0; text-align:left; }
.file-link strong { display:inline; color:var(--ink); font-size:26px; line-height:1.3; font-weight:400; }
.file-copy { min-width:0; }
.file-link small { display:block; max-width:70ch; margin-top:6px; color:var(--muted); font-size:19.5px; line-height:1.35; overflow-wrap:anywhere; }
.file-type,.file-arrow { color:var(--muted); font-size:19.5px; }
.files-heading { display:flex; justify-content:space-between; gap:20px; margin-top:19px; padding-top:16px; border-top:1px dashed var(--line); color:var(--muted); font-size:19.5px; }
.contact-records { max-width:1000px; }
.contact-records .file-link + .file-link { border-top:1px dashed var(--line); }
.terminal-js .contact-records button.js-only { display:grid !important; }
#copy-status { min-height:0; margin-top:12px; color:var(--muted); font-size:19.5px; }
#copy-status:empty { display:none; }
.contact-records + #copy-status + .contextual-actions { padding-top:10px; border-top:1px dashed var(--line); }
.case-part { margin-top:24px; }
.case-part h3 { color:var(--muted); font-size:19.5px; line-height:1.3; font-weight:400; text-transform:uppercase; }
.case-part p { margin-top:10px; font-size:26px; line-height:1.35; }
.inline-link { display:inline-flex; align-items:center; gap:8px; margin-top:20px; padding-block:3px; color:var(--bright); font-size:19.5px; }
.depth-record { max-width:750px; margin-top:26px; padding:18px 0; border-block:1px dashed var(--line); }
.metric-title { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:18px; font-size:22.75px; }
.metric-title strong { color:var(--bright); font-size:32.5px; white-space:nowrap; }
.depth-row { display:grid; grid-template-columns:6ch minmax(0,1fr) 3ch; gap:12px; max-width:590px; font-size:22.75px; }
.depth-row + .depth-row { margin-top:8px; }
.ascii-bar { align-self:center; font-family:'IBM Plex Mono',monospace; font-size:15px; letter-spacing:-.8px; white-space:nowrap; }
.metric-footnote { margin-top:18px; color:var(--muted); font-size:19.5px; line-height:1.3; }
.principle,.consulting-topic,.faq-list article { display:grid; grid-template-columns:28px minmax(0,1fr); gap:18px; margin-top:24px; padding-bottom:20px; border-bottom:1px dashed var(--line); }
.record-number { color:var(--muted); font-size:19.5px; line-height:1.5; }
.principle h3,.consulting-topic h3,.faq-list h3 { color:var(--bright); font-size:32.5px; line-height:1.2; font-weight:400; }
.principle p,.consulting-topic p,.faq-list p { margin-top:10px; font-size:26px; line-height:1.35; }
.consulting-format { margin-top:24px; font-size:26px; line-height:1.35; }
.voice-record { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:38px; }
.voice-record p { font-size:26px; line-height:1.35; }
.voice-counter { padding-left:22px; border-left:1px dashed var(--line); }
.voice-counter > span { display:block; font-size:22.75px; }
.voice-counter strong { display:block; color:var(--bright); font-size:91px; line-height:1.2; }
.voice-counter p { margin-top:16px; color:var(--muted); font-size:19.5px; line-height:1.3; }
.signal-line { color:var(--muted); font-size:22px !important; letter-spacing:-.1em; margin-top:18px; }
.video-record { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:start; gap:22px; margin-block:28px 22px; }
.video-symbol { color:var(--bright); font-size:45.5px; }
.video-record strong { font-size:32.5px; line-height:1.3; }
.video-record small { display:block; margin-top:12px; color:var(--muted); font-size:19.5px; }
.video-record > span:last-child { grid-column:2; font-size:19.5px; }
.attribute { display:grid; grid-template-columns:43px minmax(0,1fr); gap:20px; padding-block:20px; border-top:1px dashed var(--line); }
.attribute-letter { color:var(--bright); font-size:39px; line-height:1.3; }
.attribute-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.attribute h3 { font-size:32.5px; line-height:1.3; font-weight:400; }
.record-status { color:var(--muted); font-size:19.5px; }
.attribute p { margin-top:10px; font-size:26px; line-height:1.35; }
.career-list { list-style:none; padding:0; }
.career-entry { display:grid; grid-template-columns:28px minmax(0,1fr); gap:20px; padding:22px 0; border-top:1px dashed var(--line); }
.career-index { padding-top:2px; color:var(--dim); font-size:19.5px; }
.career-period { color:var(--muted); font-size:19.5px; }
.career-entry h3 { margin-top:9px; color:var(--bright); font-size:32.5px; font-weight:400; }
.career-entry h4 { margin-top:8px; font-size:26px; line-height:1.35; font-weight:400; }
.career-entry p:last-child { margin-top:12px; font-size:26px; line-height:1.35; }
.resume-row { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:22px; padding-top:18px; border-top:1px dashed var(--line); }
.text-button { min-height:40px; color:var(--ink); font-size:19.5px; }

/* The game follows the same focus model while keeping its memory-dump rhythm. */
.game-status-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-top:24px; padding-block:14px; border-block:1px dashed var(--line); font-size:19.5px; }
.attempt-blocks { padding-left:12px; color:var(--bright); font-size:26px; letter-spacing:.12em; }
.hacking-layout { display:grid; grid-template-columns:minmax(0,1fr) 195px; gap:30px; margin-top:21px; }
.memory-dump { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; }
.memory-row { display:flex; align-items:center; gap:4px; min-height:41px; white-space:nowrap; }
.memory-address { margin-right:7px; color:var(--dim); font-size:16.25px; }
.memory-noise { color:#7da686; font-size:22.75px; }
.password-word { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:4px 3px; color:var(--bright); font-size:26px; line-height:1; }
.password-word:hover:not(:disabled),.password-word.is-hover:not(:disabled) { text-decoration:underline; text-underline-offset:4px; }
.password-word.is-tried { text-decoration:line-through; }
.password-word:disabled { color:var(--dim); }
.hacking-log { padding-left:22px; border-left:1px dashed var(--line); }
.hacking-log h3 { margin-bottom:16px; color:var(--muted); font-size:19.5px; font-weight:400; text-transform:uppercase; }
.hacking-log ol { list-style:none; padding:0; }
.hacking-log li { margin-top:14px; font-size:22.75px; }
.hacking-log li span,.hacking-log li strong { display:block; }
.hacking-log li strong { margin-top:5px; color:var(--muted); font-size:19.5px; }
.game-message { margin-top:18px; color:var(--bright); font-size:19.5px; line-height:1.3; }
.game-bonuses { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:22px; padding:17px 0; border-top:1px dashed var(--line); }
.game-bonuses button { width:fit-content; max-width:100%; min-height:40px; font-size:19.5px; text-align:left; }
.game-bonuses button > span { padding-right:7px; color:var(--bright); }
.game-bonuses button:hover:not(:disabled),.game-bonuses button.is-hover:not(:disabled) { text-decoration:underline; text-underline-offset:4px; }
.game-bonuses button:disabled,.game-bonuses button:disabled > span { color:var(--dim); }
.game-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:18px; }
.dossier-note { margin-top:26px; padding-top:22px; border-top:1px dashed var(--line); }
.dossier-note h3 { margin-top:12px; color:var(--bright); font-size:32.5px; font-weight:400; }
.dossier-note p { margin-top:15px; font-size:26px; line-height:1.35; }
.terminal-screen[data-crt-pointer='text'] { cursor:text; }

@media (max-width:1050px) {
 .system-bar { flex-direction:column; padding-top:18px; }
 .system-controls { position:static; margin-top:7px; justify-content:center; }
 .system-controls a { min-height:30px; }
 .reader-toolbar { padding-inline:30px; }
 .terminal-reader { padding-inline:30px; }
 .hacking-layout { grid-template-columns:1fr; }
 .hacking-log { border-left:0; border-top:1px dashed var(--line); padding:18px 0 0; }
 .hacking-log ol { display:flex; flex-wrap:wrap; gap:12px 22px; }
 .terminal-footer { flex-wrap:wrap; gap:5px 16px; }
 .key-hint { text-align:left; }
 .power-instruction { font-size:13px; }
 .hardware-controls { gap:26px; }
}
@media (max-width:800px) {
 .profile-layout { grid-template-columns:minmax(0,1fr) 165px; gap:24px; }
 .profile-title,.welcome-role { font-size:26px; }
 .voice-record { grid-template-columns:1fr; }
 .voice-counter { padding:20px 0 0; border-left:0; border-top:1px dashed var(--line); }
 .memory-dump { grid-template-columns:1fr; }
 .terminal-status [data-command-status] { display:none; }
 .hardware-controls { gap:20px; }
 .power-caption { display:none; }
 .power-button { display:flex; flex-direction:column; justify-content:center; gap:2px; }
 .power-glyph { font-size:20px; }
 .power-caption-compact { display:block; font-size:13px; line-height:1; }
}
@media (max-width:600px) {
 :root { --hardware-height:88px; font-size:19.5px; }
 html.terminal-capable { scroll-padding-block:12px calc(var(--hardware-height) + env(safe-area-inset-bottom,0px) + 12px); }
 .terminal-shell { padding:8px; }
 .monitor-frame { padding:9px 9px 0; border-radius:17px; }
 .terminal-screen { border-radius:12px; }
 .terminal-capable .terminal-shell { height:auto; padding-bottom:calc(var(--hardware-height) + env(safe-area-inset-bottom,0px) + 8px); }
 .terminal-capable .monitor-frame { height:auto; min-height:calc(100svh - var(--hardware-height) - env(safe-area-inset-bottom,0px) - 16px); padding-bottom:9px; }
 .terminal-capable .terminal-screen { flex:none; min-height:calc(100svh - var(--hardware-height) - env(safe-area-inset-bottom,0px) - 36px); }
 .terminal-capable #terminal-content,.terminal-capable #terminal-interface { height:auto; }
 .terminal-capable .terminal-workspace { flex:none; height:auto; }
 .terminal-capable .terminal-reader { overflow:visible; }
 .terminal-capable .terminal-hardware {
  position:fixed; z-index:30; bottom:0; left:0; right:0; height:calc(var(--hardware-height) + env(safe-area-inset-bottom,0px));
  padding:29px 14px calc(10px + env(safe-area-inset-bottom,0px)); border-top:1px solid #58644f;
  background:linear-gradient(#2f392b,#1b2617); box-shadow:0 -3px 12px #0008,inset 0 1px 1px #64715b;
 }
 .hardware-controls { justify-content:space-between; width:100%; gap:10px; }
 .power-control { gap:8px; }
 .power-button { width:44px; height:44px; }
 .power-led { width:6px; height:6px; }
 .hardware-label,.sound-state,.hardware-effects { font-size:16.25px; }
 .sound-rocker { gap:5px; }
 .rocker-track { width:34px; height:20px; }
 .rocker-knob { width:14px; height:14px; }
 .sound-rocker[aria-checked='true'] .rocker-knob { transform:translateX(14px); }
 .sound-rocker[aria-checked='true'] .rocker-knob::after { width:5px; left:3px; }
 .sound-state { min-width:3.7ch; }
 .hardware-effects { gap:6px; }
 .hardware-effects [data-effects-label] { max-width:8.5ch; line-height:1.1; }
 .effects-knob { width:19px; height:19px; }
 .power-instruction { position:absolute; top:6px; left:0; right:0; margin:0; text-align:center; font-size:16.25px; }
 .system-bar { padding:19px 14px 4px; }
 .system-subtitle { font-size:19.5px; }
 .system-brand h1 { font-size:26px; margin-top:4px; }
 .system-controls { gap:20px; margin-top:8px; font-size:19.5px; }
 .language-switch { gap:12px; }
 .system-controls a { min-height:36px; }
 .session-line { min-height:24px; padding:0 14px 8px; font-size:13px; }
 .reader-toolbar { padding:9px 17px; font-size:13px; gap:10px; }
 .terminal-reader { padding:21px 17px 25px; }
 .record-heading { margin-bottom:20px; }
 .record-id { font-size:13px; margin-bottom:9px; }
 .record-heading h2 { font-size:32.5px; }
 #profile .record-heading h2 { font-size:39px; }
 #menu .record-heading { margin-bottom:13px; }
 #menu .record-heading h2 { font-size:19.5px; }
 .welcome-role { font-size:26px; line-height:1.3; }
 .welcome-context { font-size:19.5px; line-height:1.3; }
 .welcome-copy { margin-bottom:18px; }
 .nav-item { min-height:41px; gap:5px; font-size:22.75px; line-height:1.4; }
 .nav-text { padding-inline:3px; }
 .directory-description { padding-left:0; margin-top:13px; font-size:19.5px; }
 .menu-actions { gap:6px 18px; margin-top:20px; padding-top:13px; }
 .terminal-button { min-height:44px; font-size:19.5px; }
 .download-note { font-size:19.5px; }
 .profile-layout { display:flex; flex-direction:column; gap:23px; }
 .profile-title { font-size:26px; }
 .profile-description,.lead { font-size:19.5px; line-height:1.4; }
 .current-work { font-size:19.5px; line-height:1.3; }
 .portrait-record { width:175px; }
 .profile-note { margin-top:24px; font-size:19.5px; line-height:1.4; gap:11px; }
 .profile-actions { gap:7px 18px; }
 .terminal-footer { min-height:58px; padding:12px 17px; gap:6px; font-size:13px; }
 .terminal-status { gap:9px; }
 .key-hint { display:block; width:100%; font-size:13px; }
 .file-link { grid-template-columns:1ch 2.2ch minmax(0,1fr) 1ch; gap:6px; min-height:44px; padding-block:15px; }
 .file-link strong { font-size:22.75px; }
 .file-link small { font-size:19.5px; line-height:1.35; }
 .file-type,.file-arrow { font-size:13px; }
 .lead { margin-bottom:21px; }
 .case-part h3 { font-size:19.5px; }
 .case-part p,.principle p,.faq-list p,.consulting-topic p,.voice-record p { font-size:19.5px; line-height:1.4; }
 .principle,.consulting-topic,.faq-list article { grid-template-columns:20px minmax(0,1fr); gap:12px; }
 .principle h3,.consulting-topic h3,.faq-list h3 { font-size:26px; }
 .depth-row { grid-template-columns:5.5ch minmax(0,1fr) 3ch; gap:5px; font-size:19.5px; }
 .ascii-bar { font-size:10px; letter-spacing:-.9px; }
 .metric-title,.metric-footnote { font-size:19.5px; }
 .attribute { grid-template-columns:32px minmax(0,1fr); gap:15px; }
 .attribute-letter { font-size:32.5px; }
 .attribute-heading { display:block; }
 .attribute h3 { font-size:26px; }
 .record-status { display:block; margin-top:7px; font-size:19.5px; }
 .attribute p,.consulting-format { font-size:19.5px; line-height:1.4; }
 .career-entry { grid-template-columns:20px minmax(0,1fr); gap:13px; }
 .career-entry h4,.career-entry p:last-child { font-size:19.5px; line-height:1.4; }
 .career-period { font-size:19.5px; }
 .video-record { grid-template-columns:1fr; gap:13px; }
 .video-record > span:last-child { grid-column:1; }
 .video-record strong { font-size:26px; }
 .video-record small { font-size:19.5px; }
 .memory-row { min-height:44px; gap:3px; }
 .memory-address { margin-right:5px; font-size:13px; }
 .memory-noise { font-size:19.5px; }
 .password-word { min-height:44px; padding-inline:2px; font-size:22.75px; }
 .game-status-row { font-size:19.5px; }
 .game-bonuses { display:block; padding-block:9px; }
 .game-bonuses button { display:block; min-height:44px; font-size:19.5px; }
 .game-actions { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
 .game-message,.dossier-note p { font-size:19.5px; line-height:1.4; }
 .terminal-capable[data-power='booting'] #terminal-boot { min-height:calc(100svh - var(--hardware-height) - env(safe-area-inset-bottom,0px) - 36px); height:auto; padding:30px 19px; font-size:19.5px; }
 .post-title { font-size:19.5px; margin-bottom:26px; }
 .post-skip { margin-top:29px; font-size:19.5px; gap:9px; }
}
@media (max-width:360px) {
 .nav-item { font-size:19.5px; }
 .terminal-reader { padding-inline:14px; }
 .reader-toolbar { padding-inline:14px; }
 .hardware-controls { gap:6px; }
}
@media (prefers-reduced-motion:reduce) { .rocker-knob { transition:none; } }
@media print {
 :root,body { background:white; color:black; }
 .monitor-frame,.terminal-screen { border:0; background:white; box-shadow:none; }
 .terminal-capable .terminal-shell,.terminal-capable .monitor-frame,.terminal-capable #terminal-interface { display:block; height:auto; }
 #crt-canvas,.system-controls,.terminal-footer,.reader-toolbar,#terminal-hardware,#terminal-boot { display:none !important; }
 .terminal-js .terminal-page { display:block; padding-block:20px; }
 .terminal-capable .terminal-workspace { height:auto; display:block; }
 .terminal-reader { overflow:visible !important; }
}

/* The return path belongs to the site, outside the powered CRT and its keyboard scope. */
:root { --portal-height:32px; }
.portal-navigation { display:flex; justify-content:space-between; gap:16px; max-width:1314px; margin:0 auto; height:var(--portal-height); padding:5px 19px 0; font-size:19.5px; line-height:1.3; }
.portal-return { display:inline-block; min-height:26px; color:var(--muted); }
.portal-return:hover { color:var(--bright); text-decoration:underline; text-underline-offset:3px; }
.portal-return:focus-visible { color:var(--bright); }
.terminal-capable .terminal-shell { height:calc(100dvh - var(--portal-height)); padding-top:5px; }
@media (max-width:600px) {
  .portal-navigation { padding:6px 13px 0; }
  .terminal-capable .terminal-shell { height:auto; }
  .terminal-capable .monitor-frame { min-height:calc(100svh - var(--portal-height) - var(--hardware-height) - env(safe-area-inset-bottom,0px) - 16px); }
  .terminal-capable .terminal-screen { min-height:calc(100svh - var(--portal-height) - var(--hardware-height) - env(safe-area-inset-bottom,0px) - 36px); }
  .terminal-capable[data-power='booting'] #terminal-boot { min-height:calc(100svh - var(--portal-height) - var(--hardware-height) - env(safe-area-inset-bottom,0px) - 36px); }
}
@media print { .portal-navigation { display:none; } }
