@font-face { font-family:'Space Grotesk'; src:url('/fonts/rebuild/space-grotesk.woff2') format('woff2'); font-weight:400 700; font-display:swap; }
@font-face { font-family:'IBM Plex Sans'; src:url('/fonts/rebuild/ibm-plex-sans.woff2') format('woff2'); font-weight:400 600; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('/fonts/rebuild/jetbrains-mono.woff2') format('woff2'); font-weight:400 700; font-display:swap; }
* { box-sizing:border-box; }
html { scroll-padding-top:88px; background:var(--color-bg); }
body { margin:0; background:var(--color-bg); color:var(--color-text); font:1rem/1.65 var(--font-sans); }
body, #smooth-wrapper { overflow-x:clip; }
::selection { background:var(--color-accent); color:var(--color-bg); }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--color-accent); }
button { font:inherit; color:inherit; cursor:pointer; }
a, button { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--color-accent); outline-offset:5px; }
img, video { max-width:100%; display:block; }
h1, h2, h3, p { margin:0; }
h1, h2, h3 { font-family:var(--font-display); font-weight:700; text-wrap:balance; }
h2 { font-size:var(--rebuild-h2); line-height:1.04; letter-spacing:-.028em; }
h3 { font-size:var(--rebuild-h3); line-height:1.14; letter-spacing:-.02em; }
p + p { margin-top:1rem; }
[hidden] { display:none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link { position:fixed; top:1rem; left:1rem; transform:translateY(-200%); z-index:300; padding:.7rem 1rem; background:var(--color-accent); color:var(--color-bg); }
.skip-link:focus { transform:none; }
.wrap { width:100%; max-width:var(--rebuild-max); margin-inline:auto; }
.section { padding:var(--rebuild-section) var(--rebuild-gutter); }
.eyebrow, .mono, .chip, .text-link, .status, .button { font-family:var(--font-mono); }
.eyebrow { font-size:var(--rebuild-small); letter-spacing:.16em; color:var(--color-meta); text-transform:uppercase; margin-bottom:1rem; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2.5rem; }
.section-head > p { max-width:38ch; color:var(--color-body); }
.text-link { display:inline-flex; align-items:center; min-height:44px; gap:1rem; font-size:.8125rem; color:var(--color-accent); }
.text-link span { transition:transform .2s; }
.text-link:hover span { transform:translateX(4px); }
.button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:.7rem 1.1rem; border:1px solid var(--color-border); border-radius:6px; font-size:.8125rem; transition:translate .2s; }
.button:hover { translate:0 -3px; }
.button.primary { color:var(--color-bg); background:var(--color-accent); border-color:var(--color-accent); }
.brand { display:inline-flex; align-items:center; min-height:44px; font-family:var(--font-display); font-weight:500; font-size:1.1rem; white-space:nowrap; }
.brand::before { content:''; width:8px; height:8px; margin-right:9px; border-radius:50%; background:var(--color-accent); }
.brand b { color:var(--color-accent); }
#nav { position:fixed; inset:0 0 auto; z-index:80; padding:.5rem var(--rebuild-gutter); display:flex; align-items:center; justify-content:space-between; gap:1rem; background:var(--color-bg); border-bottom:1px solid var(--color-hair); }
.nav-links { display:flex; gap:clamp(.5rem,1.8vw,1.5rem); font:var(--rebuild-small)/1.4 var(--font-mono); }
.nav-links a { min-height:44px; min-width:36px; display:flex; align-items:center; justify-content:center; }
#motion-toggle { position:fixed; right:var(--rebuild-gutter); bottom:42px; z-index:90; min-height:40px; padding:.35rem .65rem; background:var(--color-glass); border:1px solid var(--color-border); border-radius:5px; font:var(--rebuild-small)/1.4 var(--font-mono); }
#rail { position:fixed; right:10px; top:45%; z-index:70; display:grid; gap:.35rem; }
#rail a { width:44px; height:44px; display:grid; place-items:center; }
#rail a::after { content:''; width:5px; height:5px; border:1px solid var(--color-meta); border-radius:50%; }
#rail a[aria-current]::after { background:var(--color-accent); border-color:var(--color-accent); transform:scale(1.5); }
#hud { position:fixed; inset:auto 0 0; z-index:85; height:30px; padding:0 1.5rem; display:flex; align-items:center; gap:1rem; background:var(--color-glass); border-top:1px solid var(--color-border); font:var(--rebuild-small)/1 var(--font-mono); color:var(--color-meta); }
#hud-ch { color:var(--color-accent); white-space:nowrap; }
#hud.matrix-world #hud-ch { color:var(--color-success); }
#hud-msg { flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#boot { position:fixed; inset:0; z-index:200; background:var(--color-bg); display:grid; place-content:center; padding:2rem; }
#bootlog { font:.8125rem/2 var(--font-mono); white-space:pre-wrap; color:var(--color-meta); }
#boot-skip { justify-self:start; margin-top:1.5rem; background:none; border:1px solid var(--color-border); padding:.6rem 1rem; min-height:44px; }
#flight { height:calc(var(--scene-vh, 1svh) * 100); min-height:660px; position:relative; z-index:3; overflow:hidden; background:var(--color-bg); }
#lap { position:absolute; inset:0; transform-origin:52% 47%; }
#lap img, #lap video, .plate-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#lap::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,var(--color-shadow),var(--color-transparent) 35%,var(--color-shadow)); }
#hero { position:absolute; inset:auto 0 0; z-index:4; padding:0 var(--rebuild-gutter) clamp(46px,calc(var(--scene-vh, 1svh) * 8),98px); }
#hero h1 { font-size:var(--rebuild-hero); line-height:.94; letter-spacing:-.035em; max-width:15ch; text-shadow:0 6px 44px var(--color-bg); }
#hero-claim { display:block; }
#hero-aside { display:block; width:max-content; margin-top:.3em; color:var(--color-warning); font-size:.62em; line-height:1.15; font-style:italic; font-weight:500; transform-origin:left center; }
.hero-status { margin-bottom:1.125rem; display:inline-flex; align-items:center; gap:9px; padding:.375rem .75rem; border:1px solid var(--color-amber-border); border-radius:4px; background:var(--color-glass); color:var(--color-warning); font:var(--rebuild-small)/1.5 var(--font-mono); letter-spacing:.12em; }
.hero-status::before { content:''; width:7px; height:7px; background:currentColor; border-radius:50%; flex:none; }
.hero-sub { margin-top:1.25rem; max-width:44ch; font-size:clamp(1rem,1.5vw,1.15rem); line-height:1.6; color:var(--color-body); text-shadow:0 2px 20px var(--color-bg); }
.hero-scroll { margin-top:.55rem; letter-spacing:.2em; color:var(--color-meta); }
#tilelayer, #overlay, #flipstage { display:none; }
.motion-on #tilelayer { display:grid; position:fixed; left:50%; top:calc(var(--scene-vh, 1svh) * 50); width:306vw; height:calc(var(--scene-vh, 1svh) * 306); grid-template:repeat(3,1fr)/repeat(3,1fr); gap:1.5vw; z-index:50; pointer-events:none; visibility:hidden; transform:translate(-50%,-50%); }
.tile { position:relative; min-width:0; min-height:0; overflow:hidden; border:2px solid var(--color-hair); border-radius:24px; background:var(--color-tile); }
.tile video, .tile > img { width:100%; height:100%; object-fit:cover; }
.tile video { object-position:left top; }
.tile-label { position:absolute; inset:0 0 auto; padding:2% 4%; color:var(--color-text-muted); background:var(--color-glass); font:1.3vw/1.5 var(--font-mono); }
.tile-stamp { position:absolute; right:6%; bottom:9%; padding:1% 3%; border:2px solid currentColor; color:var(--color-warning); background:var(--color-glass); font:700 4vw/1.1 var(--font-display); letter-spacing:-.03em; box-shadow:5px 5px 0 var(--color-shadow); }
.tile:nth-child(3n + 2) .tile-stamp { color:var(--color-accent); }
.tile:nth-child(3n) .tile-stamp { color:var(--color-error); }
.tile-label i { display:inline-block; width:.45em; height:.45em; border-radius:50%; background:var(--color-error); margin-right:.7em; }
#term { grid-column:2; grid-row:2; background:var(--color-term); }
#term > img { position:absolute; opacity:.13; filter:blur(7px); }
.terminal-bar { position:relative; padding:2% 4%; display:flex; align-items:center; gap:1%; border-bottom:2px solid var(--color-hair); font:2.2vw/1.5 var(--font-mono); color:var(--color-meta); }
.terminal-bar i { width:.65vw; height:.65vw; border-radius:50%; background:var(--color-error); }
.terminal-bar i:nth-child(2) { background:var(--color-warning); }
.terminal-bar i:nth-child(3) { background:var(--color-success); margin-right:2%; }
#termbody { position:relative; height:86%; overflow:hidden; padding:7% 6% 0; }
#termtext { font:1.45vw/2.05 var(--font-mono); color:var(--color-body); }
#termtext p { margin:0; white-space:pre-wrap; }
#termtext .command { color:var(--color-success); }
#termtext .logline { color:var(--color-meta); }
#pipeline-launch { margin-top:1.2em; }
#pipeline-launch .enter-key { font-size:clamp(.75rem,1.3vw,1rem); margin-top:.6em; }
.terminal-scan { position:absolute; inset:0; pointer-events:none; background:linear-gradient(transparent 48%,var(--signal-cyan) 50%,transparent 52%); opacity:0; }
.terminal-session { position:absolute; inset:0; visibility:hidden; }
.terminal-session video { width:100%; height:100%; object-fit:cover; object-position:left top; }
.terminal-session span { position:absolute; bottom:0; left:0; right:0; padding:2% 4%; background:var(--color-glass); color:var(--color-meta); font:1.2vw/1.5 var(--font-mono); }
.motion-on #overlay { display:block; position:fixed; inset:0 0 auto; height:calc(var(--scene-vh, 1svh) * 100); z-index:55; pointer-events:none; visibility:hidden; }
#swarmcap { position:absolute; inset:5% 0 auto; text-align:center; font:var(--rebuild-small)/1.5 var(--font-mono); letter-spacing:.18em; }
#swarmcap span { padding:.5rem 1rem; background:var(--color-glass); border:1px solid var(--color-border); border-radius:99px; }
#method { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.25rem; text-align:center; padding:var(--rebuild-gutter); }
#method strong { max-width:20ch; font:700 clamp(2rem,6vw,4.6rem)/.98 var(--font-display); letter-spacing:-.035em; text-wrap:balance; }
#method p { font:var(--rebuild-small)/1.5 var(--font-mono); letter-spacing:.15em; color:var(--color-text-muted); }
#flight-command { position:absolute; inset:0; padding:7% 6%; font:1.65vw/1.8 var(--font-mono); color:var(--color-text); }
.terminal-path { color:var(--color-meta); font-size:.75em; margin-bottom:1.2em; }
.terminal-cursor { color:var(--color-success); }
#flight-result { color:var(--color-success); margin-top:1.5em; }
#flight-result span { display:block; color:var(--color-meta); font-size:.75em; }
#cdflash { position:fixed; inset:0; z-index:100; background:var(--color-text); opacity:0; pointer-events:none; }
.motion-on #flipstage { display:block; position:fixed; inset:0; z-index:54; pointer-events:none; }
#matrix, #matrixtint { position:fixed; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; opacity:0; }
#matrixtint { background:radial-gradient(ellipse at 50% 30%,var(--color-storm-border),var(--color-transparent) 70%); }
#builds { position:relative; z-index:2; padding:clamp(70px,calc(var(--scene-vh, 1svh) * 11),110px) var(--rebuild-gutter); }
/* Let the final directory screen scroll out before the first case enters. */
.motion-on #builds { margin-top:0; }
.work-layout { max-width:1320px; margin:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,64px); align-items:start; }
#workrail, .work-card { border:1px solid var(--color-storm-border); border-radius:var(--rebuild-radius); background:var(--color-storm-card); backdrop-filter:blur(6px); overflow:hidden; }
.rail-bar { padding:.7rem 1rem; display:flex; justify-content:space-between; color:var(--color-meta); border-bottom:1px solid var(--color-hair); font:var(--rebuild-small)/1.5 var(--font-mono); }
.rail-media { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; }
.rail-media > .tile { position:absolute; inset:0; pointer-events:none; }
.rail-media video { width:100%; height:100%; object-fit:contain; object-position:center; background:var(--color-bg); }
.rail-copy { padding:1.25rem; }
.rail-copy > p { color:var(--color-body); }
.rail-copy h2 { font-size:1.6rem; }
.rail-meta { margin:1.25rem 0 0; padding:0; display:grid; grid-template-columns:auto 1fr; gap:.5rem 1rem; font:.75rem/1.6 var(--font-mono); border-top:1px solid var(--color-border); padding-top:1rem; }
.rail-meta dt { color:var(--color-meta); }
.rail-meta dd { margin:0; text-align:right; }
.work-list { display:grid; gap:clamp(16px,3vw,28px); }
.work-card { position:relative; transition:transform .25s; }
.work-card:hover { transform:translateY(-5px); }
.work-card:focus-within { border-color:var(--color-success); }
.work-media { display:block; position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--color-surface-2); }
.work-media > img, .work-media > video { width:100%; height:100%; object-fit:cover; }
.work-media:after { content:''; position:absolute; inset:0; background:linear-gradient(var(--color-transparent),var(--color-surface)); pointer-events:none; }
.work-media > .status { position:absolute; top:14px; left:16px; z-index:2; padding:5px 10px; border:1px solid var(--color-storm-border); border-radius:3px; background:var(--color-glass); }
.work-media .tile { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:0; }
.glyph-curtain { position:absolute; inset:0; overflow:hidden; pointer-events:none; font:1.25rem/1.2 var(--font-mono); color:var(--color-success); word-break:break-all; opacity:0; }
.work-copy { padding:clamp(20px,3vw,34px); }
.work-copy h3 { font-size:clamp(1.5rem,3vw,2.3rem); line-height:1.06; letter-spacing:-.025em; }
.work-copy h3 a { display:inline-block; min-height:36px; }
.work-copy .eyebrow { margin-bottom:.65rem; }
.work-copy p { color:var(--color-body); font-size:.97rem; line-height:1.7; margin-top:1rem; }
.pending { color:var(--color-warning); }
.pending-label { font:var(--rebuild-small)/1.6 var(--font-mono); color:var(--color-text-muted); }
.lab-card .pending-label { color:var(--paper-muted); margin-top:auto; padding-top:2rem; }
.timeline-art { position:absolute; inset:14% 5% 20%; border:1px solid var(--color-border); border-radius:6px; background:var(--color-term); padding:4%; overflow:hidden; }
.timeline-ruler { font:.75rem/1.5 var(--font-mono); white-space:nowrap; color:var(--color-meta); margin-bottom:1rem; }
.timeline-track { display:flex; gap:5px; margin-bottom:8px; }
.timeline-track span { padding:10px; flex:1; background:var(--color-blue-wash); border:1px solid var(--color-accent); font:.75rem/1.5 var(--font-mono); color:var(--color-accent); }
.audio-track span { background:var(--color-storm-card); border-color:var(--color-storm-border); color:var(--color-success); }
.timeline-playhead { position:absolute; top:0; bottom:0; left:38%; width:1px; background:var(--color-warning); }
.media-caption { position:absolute; bottom:6%; left:5%; right:5%; color:var(--color-meta); font:.75rem/1.5 var(--font-mono); }
.work-bottom { display:flex; gap:1rem; justify-content:space-between; align-items:center; margin-top:1rem; border-top:1px solid var(--color-border); padding-top:.5rem; }
.status { font-size:var(--rebuild-small); color:var(--color-success); letter-spacing:.07em; }
#fightband { position:relative; z-index:2; min-height:clamp(380px,calc(var(--scene-vh, 1svh) * 62),640px); background:var(--color-bg); overflow:hidden; display:flex; align-items:center; }
#fightband::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--color-bg),var(--color-shadow) 54%,var(--color-transparent)); }
.fight-copy { position:relative; z-index:2; max-width:var(--rebuild-max); width:100%; margin:auto; padding:4rem var(--rebuild-gutter); padding-right:clamp(230px,30vw,430px); }
.fight-copy h2 { max-width:15ch; }
.fight-copy > p { max-width:52ch; color:var(--color-body); margin-top:1.3rem; }
.facts { display:flex; gap:clamp(1.5rem,4vw,4rem); border-top:1px solid var(--color-border); margin-top:1.8rem; padding-top:1rem; }
.facts strong { display:block; font:700 clamp(1.4rem,3vw,2.5rem)/1.2 var(--font-display); }
.facts span { font:var(--rebuild-small)/1.5 var(--font-mono); color:var(--color-meta); }
.fight-phone { position:absolute; z-index:3; right:10%; height:80%; max-height:470px; aspect-ratio:9/16; border:6px solid var(--color-tile); border-radius:30px; overflow:hidden; transform:rotate(5deg); }
.fight-phone video { width:100%; height:100%; object-fit:cover; }
.cd-section { position:relative; z-index:2; min-height:calc(var(--scene-vh, 1svh) * 70); display:grid; place-items:center; padding:4rem var(--rebuild-gutter); }
.motion-on .cd-section { height:calc(var(--scene-vh, 1svh) * 100); }
.cd-terminal { width:min(100%,760px); padding:clamp(1.2rem,4vw,3rem); background:var(--color-term); border:1px solid var(--color-border); border-radius:14px; box-shadow:var(--shadow-lg); }
.cd-terminal .eyebrow { font-size:var(--rebuild-small); }
.cd-command { font:clamp(1rem,2.7vw,1.8rem)/1.6 var(--font-mono); }
.prompt { color:var(--color-success); }
.cd-result { color:var(--color-meta); font:var(--rebuild-small)/1.7 var(--font-mono); margin-top:1.25rem; }
.paper, #cd-lab.entered .cd-terminal { background:var(--paper); color:var(--paper-ink); --color-accent:var(--paper-blue); }
.paper { position:relative; z-index:2; }
.paper .eyebrow, .paper .section-head > p, #cd-lab.entered .eyebrow, #cd-lab.entered .cd-result, #cd-content:not(.entered) .cd-result { color:var(--paper-muted); }
#cd-lab.entered .prompt { color:var(--paper-green); }
#cd-lab.entered .cd-terminal { border-color:var(--paper-rule); box-shadow:none; }
.bench { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; margin-bottom:2.5rem; border:1px solid var(--paper-rule); border-radius:10px; background:var(--paper-card); font:.8125rem/1.7 var(--font-mono); }
.bench span { color:var(--paper-green); }
#tests-pin { overflow:hidden; padding-bottom:3rem; }
#track { display:flex; gap:1.25rem; align-items:stretch; }
.lab-card { flex:0 0 clamp(290px,30vw,390px); padding:1.65rem; border:1px solid var(--paper-rule); border-top:3px solid var(--paper-red); border-radius:12px; background:var(--paper-card); color:var(--paper-ink); display:flex; flex-direction:column; min-height:350px; transition:translate .25s; }
.lab-card:hover { translate:0 -5px; }
.lab-card:nth-child(2) { border-top-color:var(--paper-amber); }
.lab-card:nth-child(3) { border-top-color:var(--paper-green); }
.lab-card:nth-child(4) { border-top-color:var(--paper-blue); }
.lab-card .verdict { font:var(--rebuild-small)/1.5 var(--font-mono); letter-spacing:.12em; color:var(--paper-red); margin-bottom:1.5rem; }
.lab-card:nth-child(2) .verdict { color:var(--paper-amber); }
.lab-card:nth-child(3) .verdict { color:var(--paper-green); }
.lab-card:nth-child(4) .verdict { color:var(--paper-blue); }
.lab-card p { margin-top:1rem; color:var(--paper-muted); font-size:.97rem; }
.lab-card .text-link { margin-top:auto; padding-top:1rem; }
.research-queue { margin-top:clamp(4rem,10vw,8rem); border-top:1px solid var(--paper-rule); padding-top:3rem; }
.question-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.research-question { display:flex; flex-direction:column; gap:1.2rem; padding:1.5rem; border:1px dashed var(--paper-rule); background:var(--paper-card); }
.research-question h3 { font-size:clamp(1.3rem,2.2vw,1.8rem); }
.research-question p { color:var(--paper-muted); }
.question-number, .question-state { font:.75rem/1.5 var(--font-mono); color:var(--paper-blue); }
.question-state { margin-top:auto; padding-top:1rem; }
@media(max-width:759px) { .question-grid { grid-template-columns:1fr; } }
.lab-card.see-all { flex-basis:240px; justify-content:center; background:transparent; border-top:1px solid var(--paper-rule); }
#watch, #notes, #who, footer { position:relative; z-index:2; background:var(--color-bg); }
#feed { position:relative; max-width:820px; margin:auto; padding-left:2.25rem; }
#feedline { position:absolute; inset:0 auto 0 0; width:1px; background:var(--color-accent); transform-origin:top; }
.post { position:relative; padding:clamp(16px,2.4vw,26px) 0; border-top:1px solid var(--color-hair); }
.post:hover h3 { color:var(--color-accent); }
.post-dot { position:absolute; left:-2.55rem; top:.45rem; width:10px; height:10px; background:var(--color-accent); border:2px solid var(--color-bg); border-radius:50%; }
.post-meta { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; color:var(--color-meta); font:var(--rebuild-small)/1.5 var(--font-mono); margin-bottom:1.2rem; }
.chip { padding:.25rem .5rem; border:1px solid var(--color-border); border-radius:3px; color:var(--color-accent); font-size:var(--rebuild-small); }
.chip.video { color:var(--color-error); }
.post h3 { font-size:clamp(1.4rem,2.8vw,2rem); }
.post > p { color:var(--color-body); margin-top:1rem; max-width:65ch; }
.post-media { margin:1.5rem 0 0; border:1px solid var(--color-border); border-radius:12px; overflow:hidden; aspect-ratio:16/9; background:var(--color-surface-2); }
.post-media video, .post-media img { width:100%; height:100%; object-fit:cover; }
.post-media .portrait-footage { object-fit:contain; }
.post-media.combat-replay { aspect-ratio:9/16; max-width:430px; }
.combat-replay video { object-fit:contain; }
.beats { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1rem; color:var(--color-meta); font:var(--rebuild-small)/1.5 var(--font-mono); }
.beats span { border:1px solid var(--color-hair); padding:.3rem .5rem; border-radius:3px; }
.note-row { display:flex; gap:2rem; justify-content:space-between; align-items:center; padding:1.5rem 0; border-top:1px solid var(--color-border); transition:transform .2s; }
.note-row:hover { translate:4px 0; }
.note-row h3 { font-size:1.15rem; max-width:52ch; }
.note-row .mono { flex:none; font-size:var(--rebuild-small); color:var(--color-meta); }
.who-scene { position:relative; overflow:hidden; min-height:680px; display:flex; align-items:center; }
.who-rig { opacity:.55; }
.who-person { position:absolute; height:110%; width:55%; right:0; bottom:0; object-fit:contain; object-position:bottom; }
.who-scene::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--color-bg),var(--color-shadow) 35%,var(--color-transparent)); }
.who-copy { position:relative; z-index:2; width:100%; max-width:var(--rebuild-max); margin:auto; padding:var(--rebuild-section) var(--rebuild-gutter); }
.who-copy h2 { max-width:18ch; }
.who-copy p { max-width:49ch; margin-top:1.5rem; color:var(--color-body); }
footer { padding:2.5rem var(--rebuild-gutter) 6rem; border-top:1px solid var(--color-border); }
.footer-inner { display:flex; justify-content:space-between; align-items:start; gap:2rem; }
footer p { color:var(--color-meta); font-size:.8125rem; }
footer nav { display:flex; flex-wrap:wrap; gap:.3rem 1.5rem; max-width:450px; }
footer nav a { min-height:44px; min-width:36px; display:flex; align-items:center; font:.8125rem/1.5 var(--font-mono); }
.hire { color:var(--color-accent); }
.static-mode #track { flex-wrap:wrap; }
.static-mode .lab-card { flex:1 1 290px; }
html:not(.motion-on) #track { flex-wrap:wrap; }
html:not(.motion-on) .lab-card { flex:1 1 290px; }
@media (max-width:1100px) { #rail { display:none; } }
@media (max-width:899px) { .work-layout { grid-template-columns:1fr; } #workrail { display:grid; grid-template-columns:1fr 1fr; } .rail-bar { grid-column:1/-1; } .rail-media { height:100%; min-height:220px; } .fight-phone { right:5%; } }
@media (max-width:759px) {
  #nav { gap:.5rem; padding-inline:1rem; }
  .brand { font-size:1rem; }
  .nav-links { gap:.65rem; font-size:.75rem; }
  #hud { padding-inline:1rem; font-size:.75rem; }
  #hud-msg { display:none; }
  #hud-pct { margin-left:auto; }
  #workrail { display:block; }
  .rail-media { height:auto; min-height:0; aspect-ratio:16/9; }
  #flight { min-height:650px; }
  .hero-status { letter-spacing:.04em; font-size:.75rem; }
  .hero-sub { max-width:44ch; }
  .motion-on #tilelayer { width:300vw; height:calc(var(--scene-vh, 1svh) * 210); grid-template:repeat(3,1fr)/repeat(3,1fr); gap:3vw; padding:0; }
  #termtext { font-size:clamp(.8125rem,3.05vw,.9375rem); line-height:1.8; }
  #termbody { padding:5% 3.5%; }
  .terminal-bar, .tile-label { font-size:clamp(.75rem,2.8vw,.875rem); }
  .tile-stamp { font-size:5.4vw; border-width:1px; }
  #flight-command { font-size:clamp(.9375rem,3.4vw,1.125rem); padding:5% 3.5%; }
  .terminal-session span { font-size:clamp(.75rem,2.5vw,.875rem); }
  .tile { border-radius:14px; }
  .tile video { object-position:left top; }
  #swarmcap { inset:60px 0 auto; font-size:.75rem; letter-spacing:.04em; }
  .section-head { display:block; }
  .section-head > p { margin-top:1.5rem; }
  .fight-phone { display:none; }
  .fight-copy { padding:4rem var(--rebuild-gutter); }
  #fightband::after { background:var(--color-shadow); }
  .facts { gap:1.5rem; }
  #track { flex-wrap:wrap; }
  .lab-card, .lab-card.see-all { flex-basis:100%; min-height:290px; }
  .lab-card.see-all { min-height:150px; }
  .bench { display:block; }
  .bench span { display:block; margin-top:.75rem; }
  #feed { padding-left:1.5rem; }
  .post-dot { left:-1.8rem; }
  .note-row { align-items:start; gap:1rem; }
  .note-row .mono { display:none; }
  .who-scene { min-height:780px; align-items:start; }
  .who-person { height:58%; width:100%; opacity:.75; }
  .who-scene::after { background:linear-gradient(var(--color-bg),var(--color-shadow) 35%,var(--color-transparent)); }
  .who-copy { padding-bottom:20rem; }
  .footer-inner { flex-direction:column; }
}
@media (max-width:420px) { .work-bottom { align-items:start; gap:.5rem; } }
@media (prefers-reduced-motion:reduce) {
  html:not([data-motion-preference="on"]) *, html:not([data-motion-preference="on"]) *::before, html:not([data-motion-preference="on"]) *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  html:not([data-motion-preference="on"]) :is(#tilelayer, #overlay, #flipstage, #matrix, #matrixtint, #boot, #cdflash) { display:none !important; }
  html:not([data-motion-preference="on"]) #track { flex-wrap:wrap; transform:none !important; }
  html:not([data-motion-preference="on"]) .lab-card { flex:1 1 290px; }
}

@media (pointer:coarse) {
  #workrail, .work-card { backdrop-filter:none; }
  .work-card:hover, .lab-card:hover, .note-row:hover { translate:none; transform:none; }
}

/* Native touch scenes: stable document geometry, including both directions at every exit. */
.native-scenes .scene-runway { position:relative; }
.native-scenes .scene-runway > #flight,
.native-scenes .scene-runway > .cd-section { position:sticky; top:0; height:calc(var(--scene-vh, 1svh) * 100); min-height:0; }
.native-scenes #flight { isolation:isolate; }
.native-scenes #tilelayer, .native-scenes #overlay { position:absolute; }
.native-scenes #track { flex-wrap:wrap; }
.native-scenes .lab-card { flex:1 1 290px; }
/* Touch scrolls natively; in the work list a flick settles on the next project, centred.
   No stop on the case file above: 121 px from project 1 on a phone, a drag carries past it. */
@media (pointer:coarse) {
  html.native-scenes { scroll-snap-type:y proximity; }
  html.native-scenes .work-card { scroll-snap-align:center; scroll-snap-stop:always; }
}

/* Directory changes: the scroll position owns every reveal and every blast. */
#boot { place-content:center; padding:1.25rem; }
#bootlog { font:clamp(.75rem,1.4vw,.875rem)/2.05 var(--font-mono); letter-spacing:.015em; }
#bootlog span { display:block; min-height:2.05em; }
#bootlog .boot-warning { color:var(--color-warning); }
#bootlog .boot-error { color:var(--color-error); }
#bootlog .boot-ready { color:var(--color-success); }
#boot-skip { position:absolute; left:50%; bottom:8%; transform:translateX(-50%); margin:0; padding:.75rem 1.25rem; border:1px solid var(--color-border); border-radius:4px; font:.75rem/1 var(--font-mono); letter-spacing:.16em; color:var(--color-meta); }
.tile-code { position:absolute; inset:auto 5% 7%; color:var(--color-success); font:500 3.2vw/1.2 var(--font-mono); letter-spacing:-.06em; padding-top:3%; border-top:1px solid var(--color-storm-border); text-shadow:0 0 20px var(--matrix-green); background:linear-gradient(var(--color-transparent),var(--color-term)); }
.tile-code::before { content:'> '; opacity:.5; }
.enter-key { display:block; width:max-content; margin-top:1.8rem; padding:.5rem 1rem; color:var(--color-success); border:1px solid currentColor; border-bottom-width:4px; border-radius:5px; font:.8125rem/1.3 var(--font-mono); box-shadow:0 0 24px var(--color-storm-border); transform-origin:center; }
#flight-command .enter-key { font-size:clamp(.8rem,1.5vw,1.3rem); }
#flight-result { margin-top:1rem; }
.motion-on #flight.directory-entered { background:transparent; pointer-events:none; }
.motion-on .pin-spacer-hero-flight { pointer-events:none; }
.motion-on #flight:not(.directory-entered) { pointer-events:auto; }
#directory-world { position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0; background:var(--paper); }
#directory-world::after { content:''; position:absolute; inset:0; opacity:.2; background:repeating-linear-gradient(0deg,transparent 0 47px,var(--paper-rule) 48px 49px); }
html[data-world="lab"] #directory-world { opacity:1; }
html[data-world="content"] #directory-world { opacity:1; background:var(--feed-bg); }
html[data-world="content"] #directory-world::after { background:radial-gradient(ellipse at 75% 0,var(--color-blue-wash),transparent 65%); opacity:1; }
html[data-world="lab"] #nav, html[data-world="lab"] #hud { background:var(--paper); color:var(--paper-ink); border-color:var(--paper-rule); --color-accent:var(--paper-blue); }
#matrix { background:var(--matrix-deep); }
#matrixtint { background:radial-gradient(ellipse at 50% 50%,var(--color-transparent) 20%,var(--color-shadow)); }
html.motion-on[data-world="intro"] #builds { visibility:hidden; pointer-events:none; }
html:not([data-world="matrix"]) #matrix, html:not([data-world="matrix"]) #matrixtint { visibility:hidden; }
#workrail { position:relative; }
#workrail, .work-card { background:transparent; backdrop-filter:none; border:0; border-radius:0; }
.material-body { position:relative; background:var(--color-storm-card); border:1px solid var(--color-storm-border); border-radius:var(--rebuild-radius); overflow:hidden; }
.work-card { transition:none; }
.work-card:hover { transform:none; }
.work-list { gap:clamp(100px,calc(var(--scene-vh,1svh) * 24),240px); }
.cd-section { z-index:3; overflow:visible; isolation:isolate; }
.terminal-shell { position:relative; width:min(100%,800px); z-index:3; }
.cd-terminal { position:relative; width:100%; border-radius:6px; padding:clamp(1.2rem,4vw,3rem); color:var(--matrix-green); background:var(--matrix-deep); border-color:var(--matrix-green); box-shadow:0 0 70px var(--color-storm-border); }
.shell-bar { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1rem; margin-bottom:2rem; border-bottom:1px solid currentColor; opacity:.55; font:.75rem/1 var(--font-mono); }
.cd-terminal .prompt { display:block; color:inherit; font-size:.65em; margin-bottom:.45rem; }
.cd-command { font-size:clamp(1.05rem,3vw,2rem); line-height:1.5; overflow-wrap:anywhere; }
.cd-terminal .eyebrow { color:inherit; opacity:.65; font-size:.75rem; }
.terminal-tear { display:none; position:absolute; inset:0; z-index:5; align-items:center; background:var(--matrix-deep); border:1px solid var(--matrix-green); padding:2rem; font:clamp(.8rem,2.5vw,1.6rem)/1.4 var(--font-mono); color:var(--signal-cyan); pointer-events:none; }
.storming .cd-terminal { animation:signal-shake 470ms steps(1,end) infinite; text-shadow:2px 0 var(--signal-cyan),-2px 0 var(--color-error); }
.storming .terminal-tear { display:flex; }
.storming .tear-a { clip-path:inset(23% 0 61%); animation:signal-tear 720ms steps(1,end) infinite; }
.storming .tear-b { clip-path:inset(64% 0 29%); animation:signal-tear 490ms steps(1,end) infinite reverse; color:var(--color-error); }
.storming .cd-terminal::after { content:''; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,transparent 0 3px,var(--color-storm-border) 4px 5px); opacity:.5; }
@keyframes signal-shake { 0%,100% { transform:translate(0); } 13% { transform:translate(-3px,2px) skewX(-1deg); } 24% { transform:translate(4px,-1px); } 39% { transform:translate(-1px,0); } 58% { transform:translate(2px,2px) skewX(1deg); } 81% { transform:translate(-4px,-1px); } }
@keyframes signal-tear { 0%,100% { transform:translateX(0); opacity:0; } 12%,23% { transform:translateX(18px); opacity:.9; } 24%,49% { transform:translateX(-12px); opacity:.4; } 51%,70% { transform:translateX(6px); opacity:.8; } 72% { transform:translateX(-24px); opacity:.6; } }
.gateway-field { position:absolute; inset:10% 5%; display:flex; flex-direction:column; justify-content:space-between; pointer-events:none; color:var(--matrix-green); font:.75rem/1.5 var(--font-mono); letter-spacing:.12em; }
.gateway-status { align-self:flex-end; text-align:right; }
.gateway-cross { position:absolute; inset:12% 0; border:1px solid var(--color-storm-border); transform:rotate(-8deg); }
.gateway-cross::before, .gateway-cross::after { content:''; position:absolute; inset:50% -30%; border-top:1px solid var(--matrix-green); opacity:.3; transform:rotate(24deg); }
.gateway-cross::after { transform:rotate(-24deg); }
#cd-lab.entered .cd-terminal, #cd-content .cd-terminal { background:var(--paper-card); color:var(--paper-ink); border-color:var(--paper-rule); box-shadow:0 16px 70px var(--paper-rule); }
#cd-lab.entered .enter-key, #cd-content .enter-key { color:var(--paper-green); box-shadow:none; }
#cd-lab.entered .gateway-field { color:var(--paper-muted); }
#cd-lab.entered .gateway-cross { display:none; }
#cd-lab.entered .cd-terminal .prompt { color:var(--paper-green); }
.lab-open { margin-top:1.4rem; border-top:1px solid var(--paper-rule); padding-top:1.4rem; }
.content-spawn { margin-top:1.4rem; border-top:1px solid var(--color-border); padding-top:1.4rem; }
#cd-content.entered .cd-terminal { background:var(--feed-bg); color:var(--color-text); border-color:var(--feed-pink); box-shadow:0 0 70px var(--color-blue-wash); }
#cd-content.entered .enter-key, #cd-content.entered .prompt, #cd-content.entered .shell-bar { color:var(--feed-pink); }
.spawn-wave { position:absolute; width:min(85vw,680px); aspect-ratio:1; border:2px solid var(--feed-pink); box-shadow:inset 0 0 60px var(--color-blue-wash),0 0 60px var(--color-blue-wash); border-radius:24%; pointer-events:none; z-index:4; }
.lab-preview { position:absolute; z-index:4; width:min(86%,820px); padding:clamp(20px,4vw,48px); color:var(--paper-ink); background:var(--paper-card); border:1px solid var(--paper-rule); box-shadow:0 18px 70px var(--paper-rule); }
.lab-preview h2 { font-family:Georgia,serif; font-weight:400; line-height:1.1; }
.lab-preview p:last-child { font:.75rem/1.7 var(--font-mono); color:var(--paper-muted); margin-top:1.6rem; }
.preview-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; margin-top:2rem; padding-top:1rem; border-top:2px solid var(--paper-ink); font:.75rem/1.6 var(--font-mono); }
.preview-grid span { color:var(--paper-muted); }
.preview-grid strong { font-weight:400; }
.model-panel { padding:clamp(20px,4vw,52px); background:var(--paper-card); border:1px solid var(--paper-rule); margin-bottom:4rem; }
.report-heading { display:flex; justify-content:space-between; gap:1rem; font:.75rem/1.5 var(--font-mono); border-bottom:2px solid var(--paper-ink); padding-bottom:1rem; }
.report-title { padding:2rem 0; }
.report-title h2 { font:400 clamp(2.3rem,5vw,4.5rem)/1.05 Georgia,serif; letter-spacing:-.04em; }
.report-title > p:last-child { max-width:57ch; color:var(--paper-muted); margin-top:1.2rem; }
.protocol-table { font:.8125rem/1.6 var(--font-mono); }
.protocol-table [role="row"] { display:grid; grid-template-columns:1fr 2fr .65fr; gap:1.5rem; padding:1rem 0; border-top:1px solid var(--paper-rule); }
.protocol-table [role="row"]:first-child { color:var(--paper-muted); font-size:.75rem; text-transform:uppercase; }
.protocol-table [role="cell"]:last-child { color:var(--paper-amber); }
.report-foot { border-top:2px solid var(--paper-ink); padding-top:1rem; color:var(--paper-muted); font:.75rem/1.6 var(--font-mono); }
.paper .lab-card { border-radius:0; box-shadow:4px 4px 0 var(--paper-rule); }
#fightband { min-height:calc(var(--scene-vh,1svh) * 65); }
#fightband .plate-bg { object-fit:cover; object-position:center; background:var(--matrix-deep); }
#fightband::after { background:linear-gradient(0deg,var(--color-bg),var(--color-transparent) 75%); }
.fight-copy { padding:clamp(100px,calc(var(--scene-vh,1svh) * 20),240px) var(--rebuild-gutter) 3rem; align-self:end; pointer-events:none; }
.fight-copy a { pointer-events:auto; }
.fight-copy h2 { max-width:22ch; text-shadow:0 3px 24px var(--color-bg); }
.fight-timecode { position:absolute; top:1.5rem; right:var(--rebuild-gutter); z-index:2; font:.75rem/1.5 var(--font-mono); letter-spacing:.18em; }
#cd-content { background:var(--paper); color:var(--paper-ink); }
#cd-content.entered { background:transparent; }
#cd-content .gateway-field { color:var(--paper-muted); }
.paper-fragments { position:absolute; inset:4% 6%; }
.paper-fragments i { position:absolute; width:60%; height:28%; border:1px solid var(--paper-rule); background:var(--paper-card); padding:1rem; box-shadow:4px 7px 0 var(--paper-rule); font-style:normal; }
.paper-fragments i:nth-child(1) { left:-10%; top:8%; transform:rotate(-12deg); }
.paper-fragments i:nth-child(2) { right:-10%; top:36%; transform:rotate(10deg); }
.paper-fragments i:nth-child(3) { left:10%; bottom:0; transform:rotate(-5deg); }
.feed-burst { position:absolute; width:min(84%,680px); z-index:4; color:var(--color-text); }
.feed-burst > div { padding:clamp(20px,4vw,36px); margin:1rem 0; background:var(--feed-bg); border:1px solid var(--color-accent); box-shadow:8px 8px 0 var(--color-blue-wash); }
.feed-burst span { display:block; color:var(--feed-pink); font:.75rem/1.5 var(--font-mono); margin-bottom:1rem; }
.feed-burst strong { font:600 clamp(1.2rem,3vw,2rem)/1.15 var(--font-display); }
#watch { background:var(--feed-bg); }
#watch .section-head { border-bottom:1px solid var(--color-accent); padding-bottom:2rem; }
#feed { max-width:860px; }
.post { background:var(--color-surface); border:1px solid var(--color-border); padding:clamp(20px,4vw,38px); margin-bottom:2rem; border-radius:12px; }
.post-meta::before { content:'ed'; display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--color-accent); border-radius:50%; color:var(--color-text); font-weight:700; }
.channel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:.65rem; margin-top:1.5rem; }
.channel-grid a { position:relative; min-width:0; min-height:76px; display:flex; flex-direction:column; justify-content:center; padding:.9rem 2rem .9rem .9rem; border:1px solid var(--color-border); background:var(--color-blue-wash); transition:border-color .2s,transform .2s; }
.channel-grid a:first-child { grid-column:1/-1; border-color:var(--feed-pink); }
.channel-grid strong { color:var(--color-text); font-weight:600; }
.channel-grid span { color:var(--color-text-muted); font:.75rem/1.5 var(--font-mono); overflow-wrap:anywhere; }
.channel-grid i { position:absolute; right:.8rem; top:.9rem; color:var(--feed-pink); font-style:normal; }
.channel-grid a:hover { transform:translateY(-2px); border-color:var(--feed-pink); }
footer .footer-social { max-width:none; padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid var(--color-border); }
.footer-follow { flex-basis:100%; color:var(--color-meta); font:.75rem/1.5 var(--font-mono); letter-spacing:.12em; }
.post-dot { top:2rem; }
#origin { position:relative; z-index:2; background:var(--color-surface); overflow:hidden; }
.origin-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px); align-items:center; }
.origin-copy h2 { font-size:clamp(2.2rem,4.4vw,4.2rem); }
.origin-copy em { color:var(--color-success); font-style:normal; }
.origin-copy > p { margin:1.5rem 0; color:var(--color-body); max-width:45ch; }
.origin-log { margin:2rem 0 1rem; border-top:1px solid var(--color-border); }
.origin-log p { margin:0; padding:.8rem 0; border-bottom:1px solid var(--color-border); font:.8125rem/1.7 var(--font-mono); }
.origin-log span { display:block; font-size:.75rem; color:var(--color-success); letter-spacing:.15em; }
.origin-evidence { position:relative; padding:6% 17% 16% 0; }
.origin-rig { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border:1px solid var(--color-border); transform:rotate(-4deg); }
.origin-game { position:absolute; width:36%; height:68%; right:0; bottom:14%; object-fit:cover; border:5px solid var(--color-tile); border-radius:16px; transform:rotate(7deg); box-shadow:0 20px 50px var(--color-shadow); }
.origin-caption { position:absolute; left:5%; top:2%; background:var(--color-success); color:var(--color-bg); padding:.5rem 1rem; transform:rotate(-4deg); font:.75rem/1.5 var(--font-mono); }
.origin-platforms { display:flex; gap:1rem; justify-content:space-between; margin-top:2rem; font:.75rem/1.5 var(--font-mono); color:var(--color-meta); }
html:not(.motion-on) .gateway-field, html:not(.motion-on) .terminal-tear, html:not(.motion-on) .feed-burst, html:not(.motion-on) .lab-preview, html:not(.motion-on) .spawn-wave { display:none; }
html:not(.motion-on) .lab-open { color:var(--color-success); }
@media (max-width:899px) { #workrail { display:block; } }
@media (max-width:759px) {
  .tile-code { font-size:5.4vw; }
  #workrail .material-body { display:grid; grid-template-columns:.9fr 1.1fr; }
  #workrail .rail-bar { grid-column:1/-1; }
  #workrail .rail-media { height:100%; aspect-ratio:auto; min-height:150px; }
  #workrail .rail-copy { padding:.85rem; }
  #workrail .rail-copy > p { font-size:.75rem; line-height:1.5; }
  #workrail .rail-copy .eyebrow { font-size:.75rem; margin-bottom:.5rem; }
  #workrail .rail-meta { display:none; }
  #workrail .text-link { font-size:.75rem; }
  .work-media { aspect-ratio:2/1; }
  .work-list { gap:100px; }
  .terminal-shell { width:100%; }
  .shell-bar { margin-bottom:1rem; }
  .cd-section { padding:4.5rem 1rem; }
  .cd-terminal { padding:1.2rem; }
  .cd-command { font-size:1.15rem; }
  .cd-terminal .enter-key { margin-top:1rem; }
  .cd-terminal .cd-result { font-size:.75rem; }
  .lab-open, .content-spawn { padding-top:1rem; margin-top:1rem; }
  .gateway-field { inset:12% 5% 9%; font-size:.75rem; }
  .lab-preview { width:90%; }
  .preview-grid { gap:.5rem; font-size:.75rem; }
  .report-heading { font-size:.75rem; }
  .protocol-table { font-size:.75rem; }
  .protocol-table [role="row"] { grid-template-columns:1fr 1.4fr .7fr; gap:.5rem; }
  #fightband { min-height:calc(var(--scene-vh,1svh) * 65); }
  .fight-copy { padding:12rem 1rem 2.5rem; }
  .fight-copy h2 { font-size:2.2rem; }
  .origin-layout { display:flex; flex-direction:column; gap:1.5rem; }
  .origin-copy { display:contents; }
  .origin-copy .eyebrow, .origin-copy h2, .origin-copy > p { width:100%; margin:0; }
  .origin-copy .eyebrow { order:0; }
  .origin-copy h2 { order:1; }
  .origin-copy > p:not(.eyebrow) { order:3; }
  .origin-copy .origin-log { order:4; width:100%; margin:0; }
  .origin-copy .text-link { order:5; align-self:start; }
  .origin-evidence { max-width:500px; width:100%; margin:auto; }
  .origin-evidence { order:2; padding:4% 25% 12% 0; }
  .origin-rig { aspect-ratio:4/3; }
  .origin-game { width:29%; height:75%; bottom:20%; right:4%; }
  .origin-platforms { margin-top:1rem; gap:.5rem; }
  .post-meta { gap:.5rem; }
  .post-meta::before { width:26px; height:26px; }
}
@media (max-height:580px) and (min-width:600px) {
  .cd-section { padding:3.25rem 1rem 2.5rem; }
  .cd-terminal { padding:1rem 2rem; }
  .cd-terminal .eyebrow { margin-bottom:.5rem; }
  .cd-result { margin-top:.6rem; }
  .shell-bar { margin-bottom:.5rem; padding-bottom:.5rem; }
  .cd-command { font-size:1rem; }
  .cd-terminal .enter-key { margin-top:.5rem; }
  .lab-open, .content-spawn { margin-top:.6rem; padding-top:.6rem; }
  .lab-preview { padding:1.3rem; }
  .lab-preview h2 { font-size:1.8rem; }
  .preview-grid { margin-top:1rem; }
}
@media (max-height:650px) and (max-width:759px) {
  .cd-section { padding:3.25rem 1rem 2.5rem; }
  .cd-terminal { padding:1rem; }
  .cd-terminal .eyebrow { margin-bottom:.5rem; }
  .cd-command { font-size:1rem; }
  .cd-result { margin-top:.6rem; }
  .shell-bar { padding-bottom:.6rem; margin-bottom:.6rem; }
  .lab-open, .content-spawn { margin-top:.6rem; padding-top:.6rem; }
  .lab-preview h2 { font-size:1.8rem; }
}

/* Recorded terminal chrome, evidence stamps, and the final portfolio chapters. */
.tile:not(#term) { box-shadow:inset 0 0 0 1px var(--color-storm-border); }
.tile:not(#term) > video { padding-top:12%; opacity:.94; }
.tile-label { display:flex; justify-content:space-between; align-items:center; padding:3% 4%; font:clamp(24px,3vw,48px)/1.5 var(--font-mono); border-bottom:1px solid var(--color-storm-border); color:var(--color-success); }
.tile-label b { font-size:.8em; font-weight:400; letter-spacing:.12em; }
.tile-label i { background:var(--color-success); box-shadow:0 0 12px currentColor; }
.tile-code { background:var(--color-term); padding:3% 4%; inset:auto 0 0; font-size:3.8vw; }
.hero-available { display:flex; align-items:center; gap:.6rem; width:max-content; max-width:100%; margin-top:.85rem; min-height:44px; color:var(--color-success); font:.75rem/1.5 var(--font-mono); letter-spacing:.04em; }
.hero-available i { width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }
.lab-preview { padding-bottom:5.5rem; }
.lab-preview > p:not(.eyebrow) { font:.75rem/1.7 var(--font-mono); color:var(--paper-muted); margin-top:1.2rem; }
.receipt-chain { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:1rem 0; margin-top:1rem; border-block:1px solid var(--paper-rule); font:.75rem/1.5 var(--font-mono); color:var(--paper-green); }
.receipt-chain i { font-style:normal; }
.proof-stamp { position:absolute; right:6%; bottom:1.2rem; display:block; padding:.4rem 1rem; border:3px double var(--paper-red); color:var(--paper-red); font:700 clamp(1.3rem,3vw,2rem)/1.05 var(--font-mono); transform:rotate(-8deg); text-align:center; }
.proof-stamp small { display:block; margin-top:.25rem; font-size:.75rem; letter-spacing:.02em; }
.feed-burst { width:min(86%,720px); }
.feed-burst > div { padding:clamp(16px,2vw,25px); margin:.7rem 0; border-left:4px solid var(--feed-pink); box-shadow:12px 10px 0 var(--color-blue-wash); }
.feed-burst > div:nth-child(2) { border-color:var(--color-accent); }
.feed-burst > div:nth-child(3) { border-color:var(--color-success); }
.feed-burst span { margin-bottom:.6rem; }
.feed-burst strong { display:block; font-size:clamp(1rem,2.3vw,1.7rem); line-height:1.2; }
.feed-burst small { display:block; margin-top:.6rem; color:var(--color-meta); font:.75rem/1.4 var(--font-mono); }
.feed-echo { position:absolute; inset:10% -30%; display:flex; flex-direction:column; justify-content:space-between; pointer-events:none; color:var(--feed-pink); font:700 clamp(2rem,7vw,7rem)/1 var(--font-display); white-space:nowrap; opacity:.35; transform:rotate(-12deg); }
.feed-echo span:nth-child(2) { color:var(--color-accent); text-align:right; }
#origin::before { content:'START / BUILD / SHIP'; position:absolute; top:2%; left:-2%; width:110%; color:var(--color-hair); font:700 clamp(4rem,12vw,12rem)/1 var(--font-display); white-space:nowrap; transform:rotate(-5deg); pointer-events:none; }
.origin-layout { position:relative; }
.origin-stamp { position:absolute; bottom:17%; left:8%; z-index:2; border:3px double var(--color-success); color:var(--color-success); background:var(--color-glass); padding:.6rem 1rem; font:700 clamp(1.5rem,4vw,3rem)/1 var(--font-mono); transform:rotate(-9deg); }
.origin-stamp small { font-size:.45em; letter-spacing:.3em; }
#notes { position:relative; z-index:2; background:var(--color-bg); overflow:hidden; }
.note-row { transition:color .2s,border-color .2s,translate .2s; }
#work-with-me { position:relative; background:var(--color-surface); border-top:1px solid var(--color-storm-border); overflow:hidden; }
.hire-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px); align-items:center; }
.hire-layout h2 { font-size:clamp(2.3rem,5vw,4.5rem); }
.hire-layout > div > p:not(.eyebrow) { max-width:43ch; color:var(--color-body); margin:1.5rem 0; }
.hire-layout .eyebrow { color:var(--color-success); }
.hire-services > a { display:block; padding:1.5rem 0; border-bottom:1px solid var(--color-border); }
.hire-services span { color:var(--color-success); font:.75rem/1.5 var(--font-mono); }
.hire-services h3 { margin:.7rem 0; }
.hire-services p { color:var(--color-text-muted); }
html:not(.motion-on) .feed-echo { display:none; }
@media (max-width:759px) {
  .tile-label { font-size:7vw; }
  .tile-code { font-size:7vw; }
  .hero-sub { font-size:.95rem; }
  .hero-available { font-size:.75rem; }
  .hero-scroll { margin-top:0; }
  .proof-stamp { bottom:1rem; }
  .receipt-chain { font-size:.75rem; }
  #fightband { min-height:calc(var(--scene-vh,1svh) * 85); }
  #fightband .plate-bg { object-fit:contain; object-position:center 20%; }
  .fight-copy { padding:23rem 1rem 2.5rem; }
  .feed-burst > div { margin:.5rem 0; }
  .feed-burst span { font-size:.75rem; }
  .hire-layout { grid-template-columns:1fr; }
  .origin-stamp { bottom:15%; font-size:1.3rem; }
}

/* Phones: the motion control docks into the status bar at the foot of the screen, a labelled
   HUD item rather than a floating button. Its 44px target rises above the 30px bar. */
@media (max-width:759px) {
  html { --motion-dock:9.5rem; }
  #motion-toggle:not([hidden]) { right:0; bottom:0; width:var(--motion-dock); height:44px; min-height:44px; padding:14px 1rem 0; display:flex; align-items:center; justify-content:flex-end; gap:8px; background:none; border:0; border-radius:0; font:.75rem/1 var(--font-mono); letter-spacing:.06em; text-transform:uppercase; color:var(--color-meta); }
  #motion-toggle::before { content:''; flex:none; box-sizing:border-box; width:7px; height:9px; border-left:2px solid currentColor; border-right:2px solid currentColor; }
  #motion-toggle[aria-pressed="true"]::before { width:0; height:0; border-right:0; border-left:7px solid currentColor; border-top:5px solid transparent; border-bottom:5px solid transparent; }
  #hud { padding-right:var(--motion-dock); }
  html[data-world="lab"] #motion-toggle { color:var(--paper-ink); }
}

/* Preview cut (?cut=flip): the terminal window closing into the case-file panel. */
.cut-frame { position:absolute; inset:0; background:var(--color-term); border:1px solid var(--color-storm-border); }
.cut-ghost { position:absolute; margin:0; pointer-events:none; }
.cut-ghost.is-landed { visibility:hidden; }
/* Site menu: the page links, inline on wide screens; on phones a top-right button opens them full screen. */
#nav .nav-links { list-style:none; margin:0; padding:0; }
.nav-toggle { display:none; }
@media (max-width:759px) {
  #nav .nav-toggle { display:inline-grid; place-items:center; width:44px; height:44px; margin-right:-11px; padding:0; border:0; background:none; color:inherit; position:relative; z-index:2; cursor:pointer; }
  .nav-toggle__bars { position:relative; display:block; width:22px; height:10px; }
  .nav-toggle__bars::before, .nav-toggle__bars::after { content:''; position:absolute; left:0; right:0; height:2px; border-radius:2px; background:currentColor; transition:transform .34s cubic-bezier(.22,1,.36,1); }
  .nav-toggle__bars::before { top:0; }
  .nav-toggle__bars::after { top:8px; }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform:translateY(4px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { transform:translateY(-4px) rotate(-45deg); }
  #nav .brand { position:relative; z-index:2; }
  #nav .nav-links { position:fixed; inset:0; z-index:1; display:flex; flex-direction:column; justify-content:center; gap:0; padding:96px var(--rebuild-gutter) 56px; background:#05070a; counter-reset:nav; visibility:hidden; opacity:0; transition:opacity .25s ease, visibility 0s linear .25s; }
  #nav .nav-links.is-open { visibility:visible; opacity:1; transition:opacity .25s ease; }
  #nav .nav-links > li { border-bottom:1px solid rgba(255,255,255,.08); counter-increment:nav; }
  #nav .nav-links > li:first-child { border-top:1px solid rgba(255,255,255,.08); }
  #nav .nav-links a { justify-content:flex-start; align-items:baseline; gap:18px; padding:18px 0; font:600 clamp(2rem,10vw,2.75rem)/1.05 var(--font-display); letter-spacing:-.045em; text-transform:capitalize; color:#e8ebf0; }
  #nav .nav-links a::before { content:"0" counter(nav); font:500 .75rem/1 var(--font-mono); letter-spacing:.08em; color:#8b94a6; transform:translateY(-.55em); }
  html.menu-open { overflow:hidden; }
  html.menu-open #nav, html.menu-open[data-world] #nav { z-index:95; color:#e8ebf0; background:none; border-color:transparent; }
}
