@font-face{font-family:Plex;src:url('/assets/IBM-Plex-Mono-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/IBM-Plex-Mono-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{color-scheme:light dark;--paper:#eeeee8;--ink:#30372e;--muted:#626b5b;--line:#acb1a4;--field:#e7e8df;font-family:Plex,'Courier New',monospace;background:var(--paper);color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased}
@media(prefers-color-scheme:dark){:root{--paper:#151a14;--ink:#d8e4c9;--muted:#9ca98f;--line:#46513e;--field:#1e251b}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-width:280px}
body{margin:0}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none}
a{color:inherit;text-underline-offset:.35em}
button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid var(--ink);outline-offset:5px}
::selection{background:var(--ink);color:var(--paper)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.scene{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:54px 20px 100px}
.television{width:min(590px,100%);position:relative}
.television canvas{display:block;width:100%;aspect-ratio:640/450}
.television img{display:block;width:100%;height:auto}
.caption{width:100%;max-width:570px;min-height:76px;margin-top:17px;text-align:center;font-size:13px;line-height:1.9;letter-spacing:0;display:flex;align-items:flex-start;justify-content:center}
#caption{display:block;white-space:pre;font-variant-ligatures:none}
#launch{font-size:12px;letter-spacing:.025em;padding:9px 16px;min-height:44px;line-height:1.9;margin-top:-9px}
#launch:hover{text-decoration:underline;text-underline-offset:6px}
.caption.final{font-size:11px;line-height:2.15;letter-spacing:.14em}
.navigation{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;margin-top:5px}
nav{display:flex;align-items:center;justify-content:center;gap:32px}
nav button{position:relative;font-size:12px;min-height:44px;padding:10px 0}
nav button::after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
nav button:hover::after,nav button:focus-visible::after{transform:scaleX(1)}
nav.appearing{animation:arrive 850ms ease both}
.controls{position:fixed;bottom:max(15px,env(safe-area-inset-bottom));left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;letter-spacing:.01em}
.controls button{padding:12px 0;min-height:44px}
.controls button:hover{color:var(--ink)}
.playback{display:flex;gap:24px}
.no-script{font-size:12px;line-height:1.8;max-width:420px}
body:not([data-enhanced]) nav{display:none}
dialog{position:fixed;margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);width:min(620px,calc(100vw - 40px));max-height:calc(100svh - 56px);overflow:auto;font:13px/1.9 Plex,monospace}
dialog::backdrop{background:color-mix(in srgb,var(--paper) 85%,transparent);backdrop-filter:blur(5px)}
.terminal-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px 0 24px;border-bottom:1px solid var(--line);background:var(--paper);font-size:10px;letter-spacing:.035em;min-height:51px}
.terminal-bar button{min-height:48px;min-width:44px;font-size:16px}
.terminal-body{padding:24px 40px}
.panel-brand{display:flex;justify-content:center;margin:0 0 26px}
.panel-brand img{display:block;width:180px;height:auto}
.panel-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:26px}
.turntable{display:block;justify-self:end;width:115px}
.turntable img{display:block;width:100%;height:auto}
.eyebrow{font-size:10px;color:var(--muted);margin:0 0 22px;letter-spacing:.06em}
h2{font-weight:500;letter-spacing:-.04em;font-size:25px;line-height:1.5;margin:0 0 22px;max-width:450px;text-wrap:balance}
.terminal-body p{margin-top:0;margin-bottom:24px}
.terminal-body .signature{font-size:10px;line-height:2.15;letter-spacing:.09em;margin:0}
.text-link{font-size:12px;margin:7px 0 0;padding:12px 0;text-align:left;text-decoration:underline;text-underline-offset:5px}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.contact-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 13px;border:1px solid var(--line);font-size:11px;text-decoration:none;background:var(--field)}
.contact-action:hover{border-color:var(--ink)}
.contact-field{margin-top:18px}
.contact-field label{display:block;font-size:10px;letter-spacing:.04em;color:var(--muted);margin-bottom:8px}
.contact-field input{display:block;width:100%;border:1px solid var(--line);border-radius:0;background:var(--field);padding:12px 14px;font-size:13px;min-height:48px;box-shadow:none}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-details .contact-field{margin:0;min-width:0}
.contact-details .contact-field:first-child{grid-column:1/-1}
.contact-details label{font-size:9.5px;line-height:1.4;margin-bottom:6px}
.contact-details input{font-size:12px;line-height:1.4;padding:10px 12px;min-height:44px}
.call-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;margin-top:25px;font-size:12px;text-decoration:none}
.call-link:hover{text-decoration:underline}
#transcript p{margin-bottom:20px}
#transcript p:last-child{font-size:11px;letter-spacing:.09em;line-height:2.1}
@keyframes arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px) and (min-height:850px){.television{width:640px}.scene{padding-bottom:120px}.caption{margin-top:23px}}
@media(max-width:540px){.scene{padding:48px 14px 95px}.television{width:min(470px,100%)}.caption{font-size:clamp(9px,2.7vw,12px);min-height:87px;margin-top:23px}.caption.final{font-size:10px;letter-spacing:.1em}nav{gap:27px}nav button{font-size:11px}.controls{left:22px;right:22px;font-size:9px}.playback{gap:15px}dialog{width:calc(100vw - 28px);max-height:calc(100svh - 28px)}.terminal-body{padding:30px 25px 32px}h2{font-size:22px}.terminal-bar{padding-left:25px}}
@media(max-height:560px) and (min-width:600px){.scene{padding:15px 20px 65px}.television{width:360px}.caption{margin-top:0;min-height:57px}.navigation{min-height:44px;margin-top:0}}
@media(max-width:540px){.terminal-body{padding-top:24px;padding-bottom:24px}.panel-brand{margin-bottom:26px}.panel-brand img{width:165px}.panel-footer{gap:16px;margin-top:28px}.turntable{width:100px}.terminal-body .signature{font-size:9px;letter-spacing:.065em}.contact-action{font-size:10.5px;padding:10px 11px;gap:7px}}
@media(max-width:360px){.turntable{width:83px}.panel-footer{gap:10px}.terminal-body .signature{font-size:8px;letter-spacing:.045em}.contact-action{padding:10px 9px;gap:5px;font-size:10px}}
@media(max-width:540px){.contact-details{grid-template-columns:1fr}.contact-details .contact-field:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}dialog::backdrop{backdrop-filter:none}}
