.op-hall{--nav-h:80px;--px:clamp(24px, 4vw, 64px);--pb:clamp(28px, 6.5svh, 72px);--nh:min(70svh, 680px, 50vw);--nw:calc(var(--nh) * .62);--nx:53%;--ntop:calc(50% - var(--nh) / 2 + 3.5svh);--nbot:calc(var(--ntop) + var(--nh));--ledge:clamp(16px, 2.6svh, 26px);--stand:calc(100% - var(--nbot) - var(--ledge) + 20px);color:var(--room-ink);background-color:var(--room-bg);transition:background-color 1.1s var(--ease-stone), color 1.1s var(--ease-stone);scroll-margin-top:0;position:relative}@media (max-width:1023px){.op-hall{--nh:min(54svh, 560px);--nx:50%;--ntop:max(96px, 12svh);--rail-w:44px}}@media (min-width:768px) and (max-width:1023px){.op-hall{--plate-reserve:390px;--nh:clamp(320px, calc(100svh - var(--ntop) - var(--ledge) - var(--pb) - var(--plate-reserve)), 560px)}}@media (max-width:767px){.op-hall{--px:20px;--pb:max(22px, env(safe-area-inset-bottom));--nh:min(45svh, 420px);--ntop:max(82px, 10.5svh);--nx:calc(50% - (var(--rail-w) - var(--px)) / 2)}}@media (max-width:767px) and (max-height:720px){.op-hall{--nh:38svh;--ntop:74px}}.op-anchor{pointer-events:none;width:1px;height:1px;scroll-margin-top:0;position:absolute;top:0;left:0}.op-hall[data-mode=snap]{height:100svh}.op-hall[data-mode=snap] .op-scroller{scroll-snap-type:y mandatory;scrollbar-width:none;position:absolute;inset:0;overflow:hidden auto;overscroll-behavior-y:auto!important}.op-hall[data-mode=snap] .op-scroller::-webkit-scrollbar{display:none}.op-hall[data-ready][data-mode=snap] .op-scroller:not([data-engaged]){overflow-y:hidden}.op-hall[data-mode=snap] .op-room__bg,.op-hall[data-mode=flow] .op-bg{display:none}.op-hall[data-mode=flow] .op-scroller{position:relative}.op-room{scroll-snap-align:start;scroll-snap-stop:always;height:100svh;min-height:520px;color:var(--room-ink);position:relative;overflow:hidden}.op-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden}.op-bg__room{opacity:0;transition:opacity 1.1s var(--ease-stone);position:absolute;inset:0}.op-bg__room[data-on]{opacity:1}.op-room__bg{pointer-events:none;position:absolute;inset:0}.op-wall{background-color:var(--room-bg);position:absolute;inset:0}[data-surface=dark]>.op-wall{background-image:radial-gradient(38% 46% at var(--nx) 42%, color-mix(in srgb, var(--room-accent) 17%, transparent), transparent 72%), radial-gradient(130% 95% at 50% 38%, transparent 52%, #0000006b)}[data-surface=light]>.op-wall{background-image:conic-gradient(from 198deg at 18% -12%, transparent 0deg, #fffbec9e 7deg, transparent 15deg, #fffbec5c 24deg, transparent 33deg, #fffbec38 41deg, transparent 48deg), radial-gradient(36% 44% at var(--nx) 40%, #fffaeb8c, transparent 72%), radial-gradient(130% 95% at 50% 38%, transparent 55%, #3a261829)}@media (prefers-reduced-motion:no-preference){[data-surface=light]>.op-wall{animation:op-shafts 18s var(--ease-stone) infinite alternate}}@keyframes op-shafts{0%{background-position:0 0,0 0,0 0}to{background-position:2.5% 0,0 0,0 0}}.op-floor{left:0;right:0;top:calc(var(--nbot) + var(--ledge));border-top:1px solid var(--room-line);position:absolute;bottom:0}[data-surface=dark]>.op-floor{background:radial-gradient(28% 70% at var(--nx) 0%, color-mix(in srgb, var(--room-accent) 12%, transparent), transparent 75%), linear-gradient(180deg, color-mix(in srgb, var(--room-bg) 76%, #000), color-mix(in srgb, var(--room-bg) 90%, #000))}[data-surface=light]>.op-floor{background:radial-gradient(30% 70% at var(--nx) 0%, #fffaec80, transparent 75%), linear-gradient(180deg, color-mix(in srgb, var(--room-bg) 91%, #3a2618), color-mix(in srgb, var(--room-bg) 96%, #3a2618))}.op-niche{left:var(--nx);top:var(--ntop);width:var(--nw);height:var(--nh);pointer-events:none;--frame-w:calc(var(--nw) * .05);position:absolute;transform:translate(-50%)}[data-surface=dark] .op-niche{--frame-a:color-mix(in srgb, var(--room-bg) 84%, var(--room-ink));--frame-b:color-mix(in srgb, var(--room-bg) 92%, var(--room-ink));--hollow-shade:#0000008c;--ledge-top:color-mix(in srgb, var(--room-bg) 74%, var(--room-ink));--ledge-front:color-mix(in srgb, var(--room-bg) 88%, var(--room-ink))}[data-surface=light] .op-niche{--frame-a:color-mix(in srgb, var(--room-bg) 55%, #fffaf0);--frame-b:color-mix(in srgb, var(--room-bg) 80%, #fffaf0);--hollow-shade:#3a261857;--ledge-top:color-mix(in srgb, var(--room-bg) 45%, #fffaf0);--ledge-front:color-mix(in srgb, var(--room-bg) 92%, #3a2618)}.op-niche__frame{inset:calc(var(--frame-w) * -1) calc(var(--frame-w) * -1) 0;border-top-left-radius:calc(var(--nw) / 2 + var(--frame-w));border-top-right-radius:calc(var(--nw) / 2 + var(--frame-w));background:linear-gradient(180deg, var(--frame-a), var(--frame-b));box-shadow:inset 0 0 0 1px var(--room-line), 0 40px 80px -40px #0000008c;position:absolute}.op-niche__hollow{border-top-left-radius:calc(var(--nw) / 2);border-top-right-radius:calc(var(--nw) / 2);background:radial-gradient(85% 50% at 50% 6%, color-mix(in srgb, var(--room-accent) 16%, transparent), transparent 70%), linear-gradient(180deg, color-mix(in srgb, var(--room-niche) 86%, #000) 0%, var(--room-niche) 42%, color-mix(in srgb, var(--room-niche) 88%, #000) 100%);box-shadow:inset 0 calc(var(--nh) * .07) calc(var(--nh) * .1) calc(var(--nh) * -.04) var(--hollow-shade), inset calc(var(--nw) * .06) 0 calc(var(--nw) * .12) calc(var(--nw) * -.07) var(--hollow-shade), inset calc(var(--nw) * -.06) 0 calc(var(--nw) * .12) calc(var(--nw) * -.07) var(--hollow-shade), inset 0 -1px 0 var(--room-line);position:absolute;inset:0;overflow:hidden}.op-niche__conch{width:100%;height:calc(var(--nw) / 2);position:absolute;top:0;left:0;-webkit-mask-image:linear-gradient(#000 30%,#0000 100%);mask-image:linear-gradient(#000 30%,#0000 100%)}.op-flute{fill:color-mix(in srgb, var(--room-ink) 5%, transparent);stroke:var(--room-line);stroke-width:.5px;vector-effect:non-scaling-stroke}.op-flute--b{fill:#0000001a}.op-flute--hub{fill:color-mix(in srgb, var(--room-ink) 8%, transparent)}.op-niche__key{left:50%;top:calc(var(--frame-w) * -1 - 6px);width:30px;height:calc(var(--frame-w) + 20px);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);background:linear-gradient(180deg, var(--frame-a), var(--frame-b));place-items:start center;padding-top:6px;display:grid;position:absolute;transform:translate(-50%)}.op-niche__key span{font:500 10px/1 var(--font-inscription);letter-spacing:.08em;color:var(--room-accent-text)}.op-ledge{width:calc(100% + var(--nw) * .36);height:var(--ledge);background:linear-gradient(180deg, var(--ledge-top) 0 26%, var(--ledge-front) 27% 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--room-line) 70%, transparent), 0 22px 40px -18px #0009;place-items:center;padding-top:4px;display:grid;position:absolute;top:100%;left:50%;transform:translate(-50%)}.op-ledge span{font:500 clamp(7.5px, .95svh, 9.5px) / 1 var(--font-inscription);letter-spacing:.42em;color:color-mix(in srgb, var(--room-ink) 52%, transparent);text-shadow:0 1px #ffffff1a;white-space:nowrap;margin-right:-.42em}.op-stage{left:calc(var(--nx) - var(--nw) * .85);width:calc(var(--nw) * 1.7);top:calc(var(--ntop) - var(--nh) * .1);height:calc(var(--nh) * 1.1);pointer-events:none}.op-stage img[data-stage-still]{object-position:50% 100%;filter:drop-shadow(0 24px 30px #00000059);height:74%;top:auto;bottom:1%}html:not([data-webgl=ready]) .op-room:not([data-active]) .op-stage img[data-stage-still]{filter:blur(6px)}.op-stage--cold img[data-stage-still]{opacity:1}.op-stage img[data-stage-still]{transition:opacity .7s var(--ease-stone), filter 1.1s var(--ease-stone)}.op-fig{left:calc(var(--nx) + var(--nw) / 2 + var(--frame-w,16px) + 14px);top:calc(var(--ntop) + var(--nh) * .62);font:400 10px/1.2 var(--font-mono);letter-spacing:.16em;color:color-mix(in srgb, var(--room-ink) var(--room-a-faint), transparent);pointer-events:none;grid-template-columns:auto;gap:6px;display:grid;position:absolute}.op-fig__lead{width:calc(var(--nw) * .34);background:linear-gradient(90deg, transparent, var(--room-line));height:1px;position:absolute;top:5px;right:calc(100% + 8px)}.op-fig__lead:before{content:"";border:1px solid var(--room-line);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:-3px}.op-fig__num{color:var(--room-accent-text)}@media (max-width:1023px){.op-fig{display:none}}.op-plate{z-index:2;left:var(--px);bottom:var(--stand);width:min(31rem, 35vw, calc(var(--nx) - var(--nw) * .55 - var(--px) - 24px));flex-direction:column;align-items:flex-start;display:flex;position:absolute}.op-meta{font:400 12.5px/1.4 var(--font-mono);letter-spacing:.04em;color:color-mix(in srgb, var(--room-ink) var(--room-a-meta), transparent);flex-wrap:wrap;gap:4px 12px;margin:0 0 14px;display:flex}.op-title{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0 0 .16em -.045em;font-size:clamp(3.4rem,7.6vw,8.25rem);font-weight:300;line-height:.86}.op-epigraph{font-family:var(--font-display);color:var(--room-accent-text);margin:0 0 18px;font-size:clamp(1.3rem,1.9vw,1.85rem);font-style:italic;font-weight:400;line-height:1.2}@media (min-width:1264px){.op-epigraph{color:var(--room-accent)}}.op-summary{max-width:30rem;font:400 15.5px/1.62 var(--font-sans);color:color-mix(in srgb, var(--room-ink) var(--room-a-body), transparent);text-wrap:pretty;margin:0 0 20px}.op-row{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 18px;display:flex}.op-prize{border:1px solid var(--room-accent-text);height:30px;font:500 10.5px/1 var(--font-inscription);letter-spacing:.2em;color:var(--room-accent-text);white-space:nowrap;border-radius:15px;align-items:center;padding:0 13px;display:inline-flex}.op-stack{font:400 11px/1.5 var(--font-mono);letter-spacing:.02em;color:color-mix(in srgb, var(--room-ink) var(--room-a-faint), transparent)}.op-enter{min-height:44px;font:500 14px/1 var(--font-sans);letter-spacing:.01em;color:inherit;transition:color .5s var(--ease-stone);align-items:center;gap:14px;text-decoration:none;display:inline-flex}.op-enter__rule{width:44px;height:1px;transition:width .7s var(--ease-silk);background:currentColor;position:relative}.op-enter__rule:after{content:"";border-top:1px solid;border-right:1px solid;width:6px;height:6px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.op-enter:focus-visible{color:var(--room-accent-text)}@media (hover:hover){.op-enter:hover{color:var(--room-accent-text)}}.op-enter:focus-visible .op-enter__rule{width:76px}@media (hover:hover){.op-enter:hover .op-enter__rule{width:76px}}.op-room :focus-visible,.op-rail :focus-visible{outline-color:var(--room-accent-text)}.op-rise{transition:opacity .8s var(--ease-stone) calc(var(--i,0) * 70ms + .16s), transform 1.05s var(--ease-silk) calc(var(--i,0) * 70ms + .16s)}.op-hall[data-ready][data-mode=snap] .op-room:not([data-active]) .op-rise,.op-hall[data-ready][data-mode=flow][data-motion] .op-room:not([data-seen]):not(:focus-within) .op-rise{opacity:0;transition-duration:.3s;transition-delay:0s;transform:translateY(22px)}.op-room[data-active]:has(.op-enter:focus-visible) .op-rise{transition-duration:.2s;transition-delay:0s}@media (max-width:1023px){.op-plate{bottom:var(--pb);width:min(34rem, calc(100% - var(--px) * 2 - 48px))}}@media (max-width:767px){.op-plate{right:var(--px);width:auto}.op-meta{margin-bottom:8px;font-size:11.5px}.op-title{font-size:clamp(2.8rem,13vw,4rem)}.op-epigraph{margin-bottom:12px;font-size:1.2rem}.op-summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:12px;font-size:14.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.op-stack{display:none}.op-row{margin-bottom:6px}}.op-overlay{z-index:2;pointer-events:none;position:absolute;inset:0}.op-overlay__sticky{height:100svh;position:sticky;top:0}.op-hud{left:var(--px);top:calc(var(--nav-h) + 30px);align-items:center;gap:18px;display:flex;position:absolute}.op-hud__title{font:500 11.5px/1 var(--font-inscription);letter-spacing:.36em;color:var(--room-accent-text);transition:color 1.1s var(--ease-stone), opacity .6s var(--ease-stone);margin:0}.op-hall[data-variant=page]:not([data-owns]) .op-hud__title{opacity:0}.op-hall[data-variant=page][data-mode=flow] .op-hud{transition:opacity .6s var(--ease-stone)}.op-hall[data-variant=page][data-mode=flow]:not([data-owns]) .op-hud{opacity:0}.op-hud__count{font:400 11px/1 var(--font-mono);letter-spacing:.1em;color:color-mix(in srgb, var(--room-ink) var(--room-a-faint), transparent);align-items:center;gap:10px;margin:0;display:flex}.op-hud__rule{background:var(--room-line);width:34px;height:1px}@media (max-width:767px){.op-hud{top:calc(var(--nav-h) - 14px);gap:0}.op-hud__count{display:none}}.op-rail{right:clamp(20px,3.3vw,48px);top:calc(var(--nav-h) + 30px);bottom:var(--stand);pointer-events:auto;flex-direction:column;width:196px;display:flex;position:absolute}.op-rail__head{font:400 10px/1 var(--font-mono);letter-spacing:.16em;color:color-mix(in srgb, var(--room-ink) var(--room-a-faint), transparent);justify-content:space-between;margin:0 0 14px;display:flex}.op-rail__list{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:flex}.op-rail__item{flex:1 1 0;min-height:44px;display:flex}.op-rail__btn{color:inherit;text-align:left;cursor:pointer;opacity:var(--room-a-rail,var(--room-a-meta));transition:opacity .5s var(--ease-stone), transform .5s var(--ease-stone);background:0 0;border:0;flex:1;align-items:stretch;gap:14px;padding:0;display:flex}.op-rail__btn[aria-current]{opacity:1}@media (hover:hover){.op-rail__btn:hover{opacity:1;transform:translate(-4px)}}.op-rail__arch{background:radial-gradient(90% 50% at 50% 12%, #ffffff14, transparent 70%), var(--arch-bg);width:52px;box-shadow:0 0 0 1px color-mix(in srgb, var(--room-accent) 28%, transparent);transition:box-shadow .6s var(--ease-stone);border-radius:26px 26px 2px 2px;flex:none;justify-content:center;align-items:flex-end;display:flex;position:relative;overflow:hidden}.op-rail__btn[aria-current] .op-rail__arch{box-shadow:0 0 0 1px var(--room-accent), 0 0 26px -6px color-mix(in srgb, var(--room-accent) 70%, transparent)}.op-rail__arch img{object-fit:contain;object-position:50% 100%;width:94%;max-height:88%;margin-bottom:3px}.op-rail__text{flex-direction:column;justify-content:center;gap:6px;display:flex}.op-rail__num{font:500 10.5px/1 var(--font-inscription);letter-spacing:.24em;color:var(--room-accent-text)}.op-rail__title{font:400 22px/1 var(--font-display);letter-spacing:-.01em}@media (max-width:1023px){.op-rail{top:calc(var(--ntop) + var(--nh) / 2);width:var(--rail-w);bottom:auto;right:0;transform:translateY(-50%)}.op-rail__head,.op-rail__arch,.op-rail__title{display:none}.op-rail__list{gap:0}.op-rail__item{flex:none;height:44px}.op-rail__btn{justify-content:center;align-items:center}.op-rail__btn:hover{transform:none}.op-rail__text{align-items:center;position:relative}.op-rail__num{letter-spacing:.06em;color:inherit;font-size:11px}.op-rail__btn[aria-current] .op-rail__num{color:var(--room-accent-text)}.op-rail__btn[aria-current] .op-rail__text:before{content:"";background:var(--room-accent-text);width:7px;height:1px;position:absolute;top:50%;right:calc(100% + 4px)}}.op-hall .op-scroller[data-animating]{scroll-snap-type:none}.op-room[data-leaving] .op-plate,.op-room[data-leaving] .op-fig{opacity:0;transition:opacity .12s cubic-bezier(.33,1,.68,1)}.op-hall[data-mode=flow] .op-overlay{z-index:3}.op-hall[data-mode=flow] .op-hud,.op-hall[data-mode=flow] .op-rail{background:var(--room-bg);box-shadow:0 0 0 1px var(--room-line);border-radius:6px}.op-hall[data-mode=flow] .op-hud{margin:-10px 0 0 -14px;padding:10px 14px}.op-hall[data-mode=flow] .op-rail{box-sizing:content-box;margin:-14px -14px -14px 0;padding:14px}@media (max-width:1023px){.op-hall[data-mode=flow] .op-rail{border-radius:6px 0 0 6px;margin:0;padding:4px 0}}.op-hall[data-mode=flow] .op-rail__hint{display:none}
