@font-face {
  font-family:WolfusHeavy;
  src:local('Eurostile Heavy'),local('EurostileHeavy'),local('Eurostile LT Std Heavy'),local('EurostileLTStd-BoldEx2');
  font-weight:900;
  font-display:swap;
}
:root { color-scheme:dark; font-family:WolfusHeavy,'Eurostile Heavy','Bahnschrift','Arial Black',sans-serif; color:#fffdf9; background:#07090d; }
* { box-sizing:border-box; }
body { margin:0; }
.wolfus-home-body { padding:0; background:#07090d; color:#fffdf9; font-family:WolfusHeavy,'Eurostile Heavy','Bahnschrift','Arial Black',sans-serif; }
.wolfus-home-body .home { height:100svh; max-height:none; }
.wolfus-home-body.admin-bar .home { height:calc(100svh - 32px); }
.area,.enter { font:inherit; text-decoration:none; cursor:pointer; }
.home a:focus-visible { outline:2px solid #fffdf9; outline-offset:7px; }
.home-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-home { position:fixed; top:8px; left:8px; z-index:20; padding:12px; color:#031F38; background:#fffdf9; transform:translateY(-200%); }
.skip-home:focus { transform:none; }
button { font:inherit; cursor:pointer; }
button:focus-visible { outline:2px solid #fffdf9; outline-offset:7px; }
.home { --accent:#F2B988; position:relative; width:100%; aspect-ratio:16/9; max-height:calc(100svh - 48px); min-height:540px; overflow:hidden; background:#07090d; isolation:isolate; }
.room { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; }
.tv-screen { position:absolute; z-index:0; overflow:hidden; border-radius:9% / 12%; background:#080b10; pointer-events:none; visibility:hidden; }
.tv-screen[data-positioned="true"] { visibility:visible; }
.tv-screen video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; visibility:hidden; }
.tv-screen video.is-active[data-ready="true"] { visibility:visible; }
.tv-screen::after { content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 8px 2px #07090d80; background:linear-gradient(125deg,#fffdf916,transparent 38%); }
.masthead { position:absolute; top:3.5%; left:5%; right:4%; display:flex; justify-content:space-between; align-items:center; z-index:2; }
.masthead .brand { display:block; width:clamp(140px,13vw,190px); }
.masthead .brand img { display:block; width:100%; height:auto; }
.preview-label { color:#999fa7; letter-spacing:.16em; font:10px Arial,sans-serif; }
.selector { position:absolute; top:max(170px,23%); left:2.5%; width:30%; height:59%; z-index:2; }
.orbit { height:100%; position:relative; isolation:isolate; }
.area { display:flex; align-items:center; gap:clamp(12px,1.1vw,18px); position:absolute; top:0; left:0; height:clamp(52px,4.7vw,72px); padding:0 14px 0 0; border:0; color:#a0a7b3; background:transparent; white-space:nowrap; transform-origin:18px 50%; }
.index { font-size:clamp(12px,1.2vw,18px); font-weight:400; letter-spacing:.02em; }
.area-name { display:flex; align-items:center; height:100%; font-size:clamp(27px,3.2vw,52px); font-weight:900; letter-spacing:-.025em; border-top:1px solid transparent; border-bottom:1px solid transparent; }
.area[aria-current="page"] { color:var(--accent); }
.area[aria-current="page"] .area-name { border-color:var(--accent); }
.enter { position:absolute; left:0; top:0; display:flex; align-items:flex-start; height:44px; border:0; color:var(--accent); background:transparent; padding:12px 0 0; font-size:clamp(11px,.9vw,13px); font-weight:700; letter-spacing:.16em; white-space:nowrap; }
.enter-label { line-height:1.2; }
.character { position:absolute; right:10%; bottom:10%; width:min(24%,40.6svh); aspect-ratio:777.31 / 1455.18; pointer-events:none; }
/* Ground the existing rig without adding a hard outline or changing its artwork. */
.character::before { content:''; position:absolute; left:19%; bottom:1.8%; width:66%; height:3.2%; border-radius:50%; background:radial-gradient(ellipse,#020305b3 0%,#02030566 40%,transparent 72%); filter:blur(5px); }
.character svg { position:relative; display:block; width:100%; height:100%; overflow:visible; filter:brightness(.94) saturate(.92) drop-shadow(0 8px 12px #02030566); }
.snap-cue { position:absolute; width:0; height:0; z-index:3; opacity:0; pointer-events:none; color:#fff2d9; }
.kinetic-ray { position:absolute; width:2px; height:14px; border-radius:1px; background:currentColor; transform-origin:center bottom; }
.kinetic-wave { position:absolute; width:30px; height:30px; border:1.5px solid #F2B988; border-left-color:transparent; border-bottom-color:transparent; border-radius:50%; }
.hints { position:absolute; bottom:2%; left:5%; right:4%; display:flex; justify-content:space-between; gap:20px; color:#a0a7b3; font:10px Arial,sans-serif; letter-spacing:.1em; }
.hints button { align-self:flex-start; border:0; padding:8px; margin:-8px; color:inherit; background:transparent; font:inherit; letter-spacing:inherit; min-height:28px; }
.hints { z-index:2; }
.review-bar { min-height:48px; padding:8px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#0c1017; color:#a0a7b3; font:12px/1.45 Arial,sans-serif; }
.review-bar button { min-height:36px; padding:5px 12px; border:1px solid #424a57; color:#fffdf9; background:transparent; font:11px Arial,sans-serif; letter-spacing:.04em; white-space:nowrap; }
.flash { position:absolute; inset:0; z-index:10; pointer-events:none; overflow:hidden; background:transparent; }
.flash-disc { position:absolute; width:20px; height:20px; border-radius:50%; background:#fff; transform:translate(-50%,-50%) scale(0); opacity:0; }
.home[data-transition="covering"] .flash { pointer-events:auto; }
.home[data-transition="white"] .flash { background:#fff; pointer-events:auto; }
.home[data-transition="revealing"] .flash { background:#fff; pointer-events:auto; animation:reveal 600ms ease forwards; }
@keyframes reveal { from { opacity:1; } to { opacity:0; } }
@media (max-width:700px) {
  .home { aspect-ratio:auto; min-height:760px; height:calc(100svh - 96px); max-height:none; }
  .room { top:auto; bottom:0; height:62%; object-position:80% center; }
  .home::after { content:''; position:absolute; left:0; right:0; top:calc(38% - 1px); height:90px; background:linear-gradient(#07090d,transparent); pointer-events:none; z-index:-1; }
  .masthead { top:22px; left:24px; right:24px; }
  .masthead .brand { width:136px; }
  .selector { top:124px; left:12px; width:calc(100% - 35px); height:280px; }
  .area { height:46px; gap:14px; }
  .area-name { font-size:clamp(27px,7.5vw,36px); }
  .index { font-size:13px; }
  .enter { font-size:11px; }
  .character { right:7%; bottom:8%; width:min(54%,22.4svh); }
  .hints { left:24px; right:24px; bottom:20px; flex-direction:column; gap:7px; font-size:9px; line-height:1.5; }
  .review-bar { padding:10px 16px; gap:10px; align-items:flex-start; flex-wrap:wrap; min-height:82px; }
  .review-bar button { min-height:44px; }
}
@media (max-width:782px) { .wolfus-home-body.admin-bar .home { height:calc(100svh - 46px); } }
@media (prefers-reduced-motion:reduce) { .home[data-transition="revealing"] .flash { animation-duration:180ms; } }
