:root{color-scheme:dark;--bg:#080808;--surface:#101010;--ink:#e9e6dd;--muted:#88867e;--line:#30302c;--red:#ed263b;--mono:'Cascadia Mono','SFMono-Regular',Consolas,'Liberation Mono',monospace}
:root[data-theme=light]{color-scheme:light;--bg:#f1f0e9;--surface:#e7e6de;--ink:#171715;--muted:#68665e;--line:#c5c3b8;--red:#bf172d}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--mono)}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:5px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;background:var(--bg);border:1px solid var(--red);padding:12px;z-index:100}.skip-link:focus{top:12px}.page-shell{width:min(100%,2560px);margin-inline:auto}.site-header{height:88px;display:flex;align-items:center;gap:28px;padding-inline:clamp(20px,5vw,100px);border-bottom:1px solid var(--line)}.wordmark{font-size:16px;letter-spacing:-.07em;font-weight:700;white-space:nowrap}.wordmark>span:first-child{color:var(--red)}.cursor{color:var(--red);animation:cursor 1.2s steps(1,end) infinite}.reconnect{margin-left:auto;padding:8px 4px;border:0;background:transparent;font-size:12px;min-height:44px;white-space:nowrap;color:var(--muted)}.reconnect:hover:not(:disabled){color:var(--ink)}.controls{display:flex;gap:6px;align-items:center}.controls button{border:0;background:transparent;width:44px;height:44px;font-size:12px;padding:0}.controls button:hover{color:var(--red);background:var(--surface)}
.hero{position:relative;height:calc(100svh - 88px);min-height:650px;max-height:1600px;isolation:isolate;overflow:hidden;background:var(--bg)}.combat-scene{position:absolute;inset:0;z-index:-2;overflow:hidden}.combat-scene video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.combat-poster,.combat-scene canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.combat-poster{object-fit:contain;opacity:.65;mix-blend-mode:screen}.combat-scene canvas{opacity:0}.combat-ready canvas{opacity:.63}.combat-ready .combat-poster{visibility:hidden}.combat-shade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 22%,transparent 85%,var(--bg));pointer-events:none}:root[data-theme=light] .combat-poster{filter:invert(1);mix-blend-mode:multiply}.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#ed263b08,transparent 60%)}.hero-content{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100%;padding:80px 20px 110px;pointer-events:none}.logo-glyphs{font-family:var(--mono);font-weight:400;line-height:1.2;letter-spacing:0;white-space:pre;margin:0;font-size:clamp(4px,.52vw,10px);color:var(--ink);user-select:none}.hero-logo{color:var(--red);text-shadow:1px 1px var(--bg),-1px -1px var(--bg);max-width:100%;background:radial-gradient(ellipse,var(--bg) 10%,transparent 78%)}.hero-copy{margin-top:28px;pointer-events:auto}.text-link{background:transparent;padding:4px 10px;display:inline-flex;align-items:center;gap:16px;color:var(--red);min-height:44px;border-bottom:1px solid var(--red);font-size:12px}.text-link:hover{color:var(--ink);border-color:var(--ink)}
.services{padding:72px 5% 20px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px;border-bottom:1px dashed var(--line);gap:20px}.section-heading h2{margin:0;font-size:17px;letter-spacing:.12em;font-weight:400}.section-heading>span{font-size:12px;color:var(--red)}.service{display:grid;grid-template-columns:1fr 1fr;min-height:400px;gap:6%;align-items:center;padding-block:40px;border-bottom:1px dashed var(--line)}.service-copy{z-index:1;min-width:0}.service-path{font-size:11px;letter-spacing:.04em;color:var(--muted)}.service h3{font-size:clamp(28px,4vw,58px);font-weight:400;letter-spacing:-.06em;line-height:1.1;margin:24px 0 20px}.service p{font-size:13px;color:var(--muted);max-width:370px;margin:0 0 30px}.service-engine{display:flex;justify-content:space-between;align-items:center;color:var(--red);font-size:11px;letter-spacing:.1em;max-width:350px;min-height:44px}.service-engine>span{font-size:24px;transition:transform .2s}.service:hover .service-engine>span{transform:translate(3px,-3px)}.service-scene{position:relative;height:320px;min-width:0}.service-scene canvas,.footer-art canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scene-fallback{position:absolute;inset:0;display:grid;place-content:center;font:16px/1.4 var(--mono);color:var(--red);margin:0}.rendered .scene-fallback{visibility:hidden}.service:hover h3{color:var(--red)}footer{min-height:290px;padding:20px 5%;display:grid;grid-template-columns:1fr 280px 1fr;gap:32px;align-items:center;font-size:10px;color:var(--muted)}footer>a{justify-self:end;min-height:44px;display:flex;align-items:center}footer a:hover{color:var(--red)}.footer-art{position:relative;width:280px;height:280px;justify-self:center}
.intro-open{overflow:hidden}.intro{position:fixed;inset:0;background:var(--bg);z-index:50;overflow:hidden;display:grid;place-items:center}.intro:focus{outline:none}.intro-stage{position:relative;width:100%;height:100%;display:grid;place-items:center}.intro-logo{display:grid;place-items:center}.intro-logo .logo-glyphs{color:var(--red);font-size:clamp(3px,.72vw,10px)}.terminal,.intro-character{position:absolute;inset:0;visibility:hidden;opacity:0}.terminal{padding:clamp(20px,3vw,48px);font-size:clamp(12px,1.1vw,18px);line-height:1.65}.terminal ol{list-style:none;padding:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.terminal li{min-height:1.65em}.terminal-cursor{color:var(--ink);animation:cursor .8s steps(1,end) infinite}.intro-character{display:grid;place-items:center}.intro-character canvas{width:min(98vw,1100px);height:min(94vh,1000px)}[data-intro=terminal] .terminal,[data-intro=character] .intro-character{visibility:visible;opacity:1}@keyframes cursor{50%{opacity:0}}
@media(max-width:1000px){.site-header{gap:20px}.hero{min-height:600px}.service{gap:3%}.service-scene{height:280px}.hero-logo{font-size:.62vw}}
@media(max-width:760px){.site-header{height:72px;padding-inline:20px;gap:10px}.wordmark{font-size:13px}.reconnect{font-size:10px;padding-inline:2px}.controls{gap:2px}.hero{height:calc(100svh - 72px);min-height:600px;max-height:1000px}.hero-content{padding:40px 18px 80px}.hero-logo{font-size:clamp(3.4px,.85vw,6px)}.hero-copy{margin-top:26px}.text-link{font-size:11px;gap:12px}.combat-ready canvas{opacity:.67}.services{padding:48px 20px 0}.section-heading{padding-bottom:24px}.section-heading h2{font-size:15px}.service{min-height:500px;grid-template-columns:1fr;gap:0;padding:24px 0 30px}.service-copy{grid-row:2}.service h3{font-size:36px;margin:16px 0}.service p{font-size:12px;margin-bottom:18px}.service-path{font-size:10px}.service-engine{max-width:none}.service-scene{height:240px;grid-row:1;margin-bottom:14px}.service-engine>span{font-size:22px}footer{padding:15px 20px 24px;grid-template-columns:1fr 1fr;gap:0 10px;min-height:240px}.footer-art{grid-column:1/-1;grid-row:1;width:230px;height:230px}footer>span{grid-column:1;grid-row:2}footer>a{grid-column:2;grid-row:2}.terminal{padding:18px;font-size:12px}.intro-logo .logo-glyphs{font-size:clamp(3px,.8vw,6px)}.intro-character canvas{height:90vh}}
@media(max-width:360px){.site-header{padding-inline:14px;gap:8px}.wordmark{font-size:11px}.reconnect{font-size:9px;padding-inline:0}.controls button{font-size:11px}.hero-logo{font-size:3.3px}.terminal{padding:14px;font-size:11px}}
[data-motion=paused] .cursor,[data-motion=paused] .terminal-cursor{animation:none;opacity:1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.footer-art .scene-fallback{font:4.2px/1.2 var(--mono);color:var(--muted)}
@media(max-width:760px){.footer-art .scene-fallback{font-size:3.8px}}

/* Persistent, translucent navigation and the new full-screen intro composition. */
.site-header{position:sticky;top:0;z-index:20;background:var(--bg);transition:background .2s,box-shadow .2s}
[data-scrolled="1"] .site-header{background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 5px 24px #00000018}
.intro-stage{display:block}
.intro-logo{position:absolute;top:26px;left:32px;z-index:5;visibility:visible}
.intro-logo .logo-glyphs{font-size:3.6px}
.terminal{inset:210px auto auto 32px;padding:0;width:min(760px,calc(100% - 64px));font-size:15px;z-index:2}
.intro-character{z-index:3}
.intro-character canvas{position:absolute;inset:0;width:100%;height:100%;max-height:none}
[data-intro=character] .terminal{visibility:visible;opacity:.12;transition:opacity .35s}
footer{grid-template-columns:1fr;place-items:center;gap:0;min-height:340px;padding:32px 20px 40px}
.footer-mark{margin:0;width:min(100%,320px);display:flex;flex-direction:column;align-items:center}
.footer-mark .footer-art{margin-inline:auto}
.copyright{position:relative;z-index:1;width:100%;margin-top:-24px;padding:12px 14px;text-align:center;font-size:10px;line-height:1.9;letter-spacing:.07em;background:linear-gradient(0deg,var(--bg) 65%,transparent)}
.copyright span{display:block}.copyright span:first-child{color:var(--red)}
@media(max-width:760px){
  .intro-logo{top:18px;left:18px}.intro-logo .logo-glyphs{font-size:1.9px}
  .terminal{inset:126px 18px auto;width:auto;font-size:12px}
  .combat-poster{width:177.7778%;max-width:none;left:-38.8889%}
  footer{grid-template-columns:1fr;padding-bottom:28px;min-height:300px}
  .copyright{margin-top:-16px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
@media(max-height:600px){.intro-logo{top:14px;left:18px}.intro-logo .logo-glyphs{font-size:2.2px}.terminal{inset:126px 18px auto;font-size:11px;line-height:1.4}.terminal li{min-height:1.4em}}
/* Proxmox-style SSH output and restrained signal disruption. */
.terminal{max-height:calc(100dvh - 225px);overflow-y:auto;scrollbar-width:none}
.terminal::-webkit-scrollbar{display:none}
.ssh-command{color:var(--ink);font-weight:400}
.system-row{margin-block:12px}
.system-banner{display:grid;grid-template-columns:17ch minmax(0,1fr);gap:24px;align-items:start;font-size:13px;line-height:1.3;white-space:pre}
.pve-emblem{margin:0;color:#ef7c22;font:inherit;line-height:1.15}
.system-info{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.system-info>div:first-child{color:#ef7c22;font-weight:700}.system-info>div:nth-child(2){color:var(--muted)}
[data-intro=glitch] .terminal{visibility:visible;opacity:1;animation:terminal-glitch .4s steps(1,end) both}
@keyframes terminal-glitch{0%,100%{transform:none;text-shadow:none}22%{transform:translateX(-2px);text-shadow:2px 0 #ed263b}46%{transform:translateX(2px) skewX(-.3deg);text-shadow:-2px 0 #ed263b}70%{transform:translateX(-1px);text-shadow:1px 0 #ed263b}}
.combat-poster{object-fit:cover;width:100%;left:0;max-width:none}
@media(max-width:760px){.terminal{max-height:calc(100dvh - 140px)}.system-banner{gap:10px;font-size:9px;line-height:1.4}.combat-poster{width:100%;left:0;object-fit:cover}}
@media(max-height:600px){.terminal{max-height:calc(100dvh - 140px)}.system-banner{font-size:10px;gap:14px}}
@media(prefers-reduced-motion:reduce){[data-intro=glitch] .terminal{animation:none}}
:root[data-theme=light] .pve-emblem,:root[data-theme=light] .system-info>div:first-child{color:#b95408}

/* Short terminal-to-page dissolve; no character or full-screen ribbons. */
[data-intro=fade] .terminal{visibility:visible;opacity:1;animation:none}
.combat-poster{object-fit:contain}
@media(max-width:760px){.combat-poster{object-fit:contain}}

.hero-logo{background:none}
.combat-ready canvas{opacity:.8}
@media(min-width:761px){.terminal{width:min(1000px,calc(100% - 64px))}}

/* Full-bleed footage only: no procedural stage or framing. */
.combat-poster{object-fit:cover}
@media(max-width:760px){.combat-poster{object-fit:cover}}
