@font-face{font-family:"Sixth Order";src:url("/assets/fonts/sixth-order.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"WITNESS";src:url("/assets/fonts/witness.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"LEDGER";src:url("/assets/fonts/ledger-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"LEDGER";src:url("/assets/fonts/ledger-medium.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"LEDGER";src:url("/assets/fonts/ledger-bold.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--ink:#101311;--paper:#d5c7a5;--paper-light:#e4d7b9;--ochre:#c39a54;--red:#8b3329;--teal:#547a78;--grey:#aaa99e;--muted:#b8b2a5;--line:rgba(223,210,179,.26);--text-scale:1;--pointer-x:50vw;--pointer-y:50vh;--master-reference-width:min(100vw,177.7778dvh);--master-reference-height:min(100dvh,56.25vw);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;background:#101310;color:#e5ddcb}
body{overflow:hidden;font-family:"LEDGER",Georgia,serif;font-size:calc(16px * var(--text-scale));letter-spacing:.015em;}
button,input{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid #ddc995;outline-offset:4px}
[hidden]{display:none!important}
#game{position:relative;width:100%;height:100dvh;min-height:560px;overflow:hidden;isolation:isolate}
.global-rail{position:absolute;z-index:30;left:clamp(18px,3.6vw,56px);right:clamp(18px,3.6vw,56px);top:20px;display:flex;align-items:center;justify-content:space-between;min-height:30px;font-family:"LEDGER",sans-serif;font-size:11px;letter-spacing:.12em;color:#d9d0bc}
.rail-wordmark,.rail-right{display:flex;align-items:center;gap:11px}
.rail-wordmark{font-weight:700;letter-spacing:.16em}
.rail-seal{display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(195,154,84,.58);border-radius:50%;font-family:"Sixth Order",serif;color:#c59b5c;font-size:14px;letter-spacing:0}
.access-stamp{display:flex;align-items:center;gap:7px;color:#b3c3ba;font-size:9px;letter-spacing:.1em}
.access-stamp i{width:6px;height:6px;border:1px solid #83a296;border-radius:50%;display:inline-block}
.rail-button{border:0;border-bottom:1px solid rgba(223,210,179,.4);background:transparent;padding:5px 0;color:#ddd4c2;font-size:10px;letter-spacing:.16em;cursor:pointer}
.global-foot{display:none}
.grain{position:fixed;z-index:24;inset:0;pointer-events:none;opacity:.12;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}
.pointer-light{position:fixed;z-index:4;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y),rgba(210,181,128,.10),transparent 72%);mix-blend-mode:screen;opacity:.7}
.screen{position:absolute;inset:0;display:none;overflow:hidden;background:#111411;animation:screenIn .48s ease both}
.screen.active{display:flex}
@keyframes screenIn{from{opacity:.5;filter:brightness(.74)}to{opacity:1;filter:brightness(1)}}
/* Title card */
.title-screen{align-items:stretch;justify-content:flex-start;padding:0}
.title-backdrop,.title-scrim,.choice-backdrop{position:absolute;inset:0;pointer-events:none}
.title-backdrop{z-index:0;background-image:url("/assets/titlescreen.webp");background-size:cover;background-position:center;filter:saturate(.84) contrast(1.08);transform:scale(1.012)}
.title-scrim{z-index:1;background:linear-gradient(90deg,rgba(5,6,5,.13) 0%,rgba(5,6,5,.17) 38%,rgba(5,6,5,.36) 66%,rgba(4,5,4,.58) 100%),linear-gradient(0deg,rgba(4,5,4,.46),transparent 24%,transparent 72%,rgba(4,5,4,.28))}
.title-scrim::before{content:"";position:absolute;inset:0;background:rgba(3,4,3,.61);-webkit-mask-image:radial-gradient(ellipse 270px 215px at var(--pointer-x) var(--pointer-y),transparent 0%,transparent 30%,rgba(0,0,0,.52) 59%,#000 100%);mask-image:radial-gradient(ellipse 270px 215px at var(--pointer-x) var(--pointer-y),transparent 0%,transparent 30%,rgba(0,0,0,.52) 59%,#000 100%)}
.title-scrim::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 235px 185px at var(--pointer-x) var(--pointer-y),rgba(242,207,150,.31) 0%,rgba(195,151,91,.15) 40%,rgba(131,96,55,.045) 66%,transparent 79%);mix-blend-mode:screen;opacity:.92}
.title-scrim::before{background-color:rgba(1,2,2,.94)}
@keyframes beamStutter{0%,100%{opacity:.92;filter:brightness(1)}16%{opacity:.42;filter:brightness(.86)}27%{opacity:1;filter:brightness(1.18)}39%{opacity:.62;filter:brightness(.9)}56%{opacity:.98;filter:brightness(1.1)}73%{opacity:.82;filter:brightness(.96)}}
.title-scrim.beam-stutter::after{animation:beamStutter .42s steps(1,end) both}
.title-content{position:absolute;z-index:2;top:clamp(64px,11vh,118px);right:clamp(28px,7.5vw,120px);width:min(43vw,650px);margin:0;display:flex;flex-direction:column;align-items:center;gap:clamp(24px,4.4vh,44px)}
.title-copy{align-self:stretch;max-width:100%;text-align:center}
h1,h2,p,figure{margin-top:0}
.title-copy h1{font-family:"Sixth Order",Georgia,serif;font-weight:400;line-height:.88;letter-spacing:.025em;font-size:clamp(56px,5.45vw,92px);margin:0;text-shadow:0 4px 28px rgba(0,0,0,.66);color:#ded4be}
.title-copy h1 span,.title-copy h1 em{display:block;font-style:normal;white-space:nowrap}
.title-copy h1 em{color:#c6b99e;font-size:.9em}
#titleHeading:focus,#choiceHeading:focus,#coldHeading:focus,#riteHeading:focus{outline:none}
.main-menu{width:min(100%,540px);display:flex;flex-direction:column;align-items:stretch;border-top:1px solid rgba(219,205,174,.28);background:rgba(8,9,8,.14)}
.summon-submenu{display:flex;flex-direction:column;max-height:0;overflow:hidden;visibility:hidden;opacity:0;transition:max-height .38s cubic-bezier(.22,.74,.25,1),opacity .22s ease,visibility 0s linear .38s}
.main-menu.summon-menu-open .summon-submenu{max-height:144px;visibility:visible;opacity:1;transition:max-height .38s cubic-bezier(.22,.74,.25,1),opacity .24s ease .04s,visibility 0s}
.summon-submenu .menu-option:disabled{cursor:default;opacity:.82}
.summon-submenu .menu-option:disabled:hover{background:transparent;border-color:rgba(219,205,174,.24);color:inherit}
.menu-option{min-height:66px;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 10px;border:0;border-bottom:1px solid rgba(219,205,174,.24);background:transparent;cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease}
.menu-option:hover,.menu-option:focus-visible{background:rgba(220,199,153,.09);border-color:rgba(220,199,153,.58);color:#f1e6cd}
.menu-label{font-family:"LEDGER",Georgia,serif;font-size:clamp(13px,1.18vw,16px);font-weight:500;letter-spacing:.13em;color:#e6dcc8;text-align:center}
.menu-option-quiet .menu-label{color:#c8bda6}
.title-active .global-rail{display:none}
/* Consent */
.choice-screen{align-items:center;justify-content:flex-start;padding:88px clamp(24px,9vw,140px) 66px}
.choice-backdrop{background-image:linear-gradient(90deg,rgba(9,11,10,.97) 0%,rgba(9,11,10,.91) 43%,rgba(9,11,10,.57) 72%,rgba(9,11,10,.82) 100%),linear-gradient(0deg,rgba(9,11,10,.82),transparent 45%),url("/assets/office-title.webp");background-size:cover;background-position:center 48%;filter:saturate(.55)}
.watcher{position:absolute;right:clamp(8%,13vw,240px);top:50%;width:clamp(110px,17vw,230px);height:clamp(210px,39vh,420px);transform:translateY(-40%);opacity:.83;filter:drop-shadow(0 0 26px rgba(0,0,0,.9))}
.watcher:before{content:"";position:absolute;left:22%;top:0;width:56%;height:42%;background:#030404;border-radius:48% 48% 42% 42%;box-shadow:0 0 36px 18px rgba(0,0,0,.38)}
.watcher:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:67%;background:linear-gradient(90deg,#050606,#020303 45%,#080909);clip-path:polygon(32% 0,68% 0,88% 20%,100% 100%,0 100%,13% 20%);filter:blur(2px)}
.watcher span{position:absolute;z-index:2;top:21%;left:39%;width:8px;height:3px;background:#a93027;border-radius:50%;box-shadow:0 0 11px 3px rgba(172,47,38,.7)}
.watcher span+span{left:54%}
.choice-content{position:relative;z-index:3;width:min(720px,71vw);}
.choice-content .section-label{margin-bottom:30px;max-width:640px}
.choice-content h2{font-family:"Sixth Order",Georgia,serif;font-weight:400;font-size:clamp(38px,5.2vw,70px);line-height:1.04;letter-spacing:.025em;color:#e2d6be;margin:0 0 28px}
.choice-content h2 em{font-style:normal;color:#c4b69b}
.plain-notice{max-width:670px;border-left:2px solid #8d3930;padding:1px 0 1px 17px;color:#d3cbb9}
.notice-heading{display:flex;align-items:center;gap:15px;margin-bottom:8px;color:#e4d7b9;font-size:11px;font-weight:700;letter-spacing:.16em}
.notice-rule{height:1px;background:rgba(214,198,163,.28);flex:1}
.plain-notice p{font-size:calc(14px * var(--text-scale));line-height:1.64;color:#bfb9ac;margin:0}
.plain-notice strong{color:#ece3d2;font-weight:700}
.choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:23px;max-width:670px}
.consent-choice{min-height:76px;text-align:left;padding:13px 17px;background:rgba(225,214,189,.035);border:1px solid rgba(206,191,158,.38);cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:7px;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.consent-choice:hover{background:rgba(225,214,189,.1);border-color:#c5ad7d;transform:translateY(-1px)}
.consent-choice span{font-family:"LEDGER",sans-serif;font-size:13px;font-weight:700;letter-spacing:.15em;color:#e5d9c0}
.consent-choice small{color:#a9a394;font-size:11px;letter-spacing:.03em}
.choice-foot{margin:13px 0 0;color:#989487;font-size:11px;letter-spacing:.035em}
.choice-caption{position:absolute;z-index:2;right:clamp(18px,3.6vw,56px);bottom:54px;color:rgba(222,208,178,.48);font-size:9px;letter-spacing:.16em}
/* Fixed scene plate */
.cold-screen{display:flex;flex-direction:column;align-items:center;gap:10px;padding:68px clamp(18px,4vw,60px) 42px;background:radial-gradient(ellipse at 50% 36%,#252723,#121512 70%)}
.cold-topline{width:min(100%,1120px);display:flex;justify-content:space-between;align-items:end;min-height:45px}
.cold-heading-group .section-label{justify-content:flex-start;gap:17px;margin:0 0 5px;color:#a9a394;font-size:9px}
.cold-heading-group h2{font-family:"Sixth Order",Georgia,serif;font-size:clamp(21px,2.3vw,31px);font-weight:400;letter-spacing:.055em;color:#ded3bc;margin:0;line-height:1}
.draft-tag{color:#c79c5d!important;border-left:1px solid rgba(198,154,91,.48);padding-left:15px}
.witness-state{display:flex;gap:10px;align-items:center;padding-bottom:2px;font-size:9px;letter-spacing:.12em;color:#96998e}
.witness-state b{color:#a8b8ad;font-weight:500}
.scene-plate{position:relative;width:min(100%,1120px,calc((100dvh - 272px)*1.77778));aspect-ratio:16/9;flex:none;margin:0;overflow:hidden;background:#171a16;box-shadow:0 18px 55px rgba(0,0,0,.52),0 0 0 1px rgba(214,201,169,.17)}
.scene-plate>img{display:block;width:100%;height:100%;object-fit:cover;user-select:none}
.plate-wash{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,8,.38),transparent 26%,transparent 78%,rgba(7,9,8,.18));pointer-events:none}
.scene-plate figcaption{position:absolute;left:15px;right:15px;bottom:12px;display:flex;justify-content:space-between;color:rgba(239,229,205,.72);font-size:9px;letter-spacing:.14em;text-shadow:0 1px 4px #000}
.cold-lower{width:min(100%,1120px);display:grid;grid-template-columns:minmax(0,1fr) minmax(195px,260px);gap:24px;align-items:center;min-height:105px}
.observe-block{min-width:0}
.observe-heading{display:flex;align-items:center;gap:12px;color:#d1c8b3;font-size:10px;font-weight:700;letter-spacing:.13em;margin-bottom:7px}
.observe-heading small{font-size:9px;color:#8eaa9d;font-weight:400}
.observe-buttons{display:flex;gap:7px;flex-wrap:wrap}
.observe-buttons button{background:transparent;border:1px solid rgba(216,203,173,.3);padding:7px 10px;font-size:10px;letter-spacing:.06em;color:#d7cebb;cursor:pointer;transition:background .18s,border-color .18s}
.observe-buttons button:hover,.observe-buttons button[aria-pressed="true"]{background:rgba(74,111,106,.2);border-color:#79968b;color:#f0e8d8}
.observation{margin:8px 0 0;color:#aaa797;font-family:"WITNESS",Georgia,serif;font-size:calc(13px * var(--text-scale));line-height:1.45}
.cold-next{display:flex;flex-direction:column;align-items:stretch;gap:7px}
.next-button{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid rgba(200,159,92,.72);background:rgba(165,112,52,.1);padding:13px 15px;color:#e7d9bc;font-family:"LEDGER",sans-serif;font-size:11px;font-weight:700;letter-spacing:.115em;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}
.next-button:hover{background:rgba(165,112,52,.2);border-color:#e1bc7b}
.next-button span{font-size:17px;color:#c79b5d}
.cold-next p{font-size:9px;letter-spacing:.08em;color:#86877e;margin:0;text-align:right}
/* Rite scroll */
.rite-screen{align-items:center;justify-content:center;padding:68px clamp(18px,5vw,74px) 45px;background:radial-gradient(ellipse at 50% 48%,#27302b 0%,#141815 57%,#0b0e0c 100%)}
.rite-layout{width:min(100%,1060px);height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,310px);gap:clamp(26px,6vw,88px);align-items:center;justify-content:center}
.rite-page{position:relative;justify-self:center;width:min(100%,calc((100dvh - 128px)*.66667));max-height:calc(100dvh - 128px);aspect-ratio:2/3;overflow:hidden;filter:drop-shadow(0 20px 35px rgba(0,0,0,.55))}
.rite-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none}
.rite-document{position:absolute;inset:16% 16% 15%;display:flex;flex-direction:column;text-align:center;color:#35362e}
.document-overline{margin:0 0 5px;font-size:9px;letter-spacing:.19em;color:#596052}
.rite-document h2{font-family:"Sixth Order",Georgia,serif;font-size:clamp(18px,2vw,26px);font-weight:400;line-height:.98;letter-spacing:.06em;margin:0;color:#292c26}
.document-subtitle{font-family:"WITNESS",Georgia,serif;font-size:calc(11px * var(--text-scale));font-style:italic;margin:5px 0;color:#615b4d}
.document-rule{height:1px;width:48%;margin:4px auto 9px;background:rgba(76,88,75,.47);flex:none}
.rite-copy{overflow:auto;overscroll-behavior:contain;text-align:left;padding:0 2px 5px;font-family:"LEDGER",serif;font-size:calc(11.4px * var(--text-scale));line-height:1.36;scrollbar-width:thin;scrollbar-color:rgba(76,93,76,.6) transparent}
.rite-copy p{margin:0 0 7px}
.rite-copy strong{font-weight:700;color:#44493f}
.rite-copy .signature-line{margin:8px 0 0;font-size:.88em;letter-spacing:.035em;color:#56564c}
.rite-aside{align-self:center;max-width:310px}
.rite-aside .section-label{margin:0 0 20px;font-size:9px;color:#aba894}
.fiction-notice{display:flex;gap:13px;align-items:flex-start;padding:15px 0 16px;border-top:1px solid rgba(214,201,170,.27);border-bottom:1px solid rgba(214,201,170,.27);margin-bottom:20px}
.notice-seal{display:grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid #987a4b;border-radius:50%;color:#d4ba86;font-family:"Sixth Order",serif;font-size:14px}
.fiction-notice b{font-size:10px;letter-spacing:.14em;color:#d9caa8}
.fiction-notice p{margin:8px 0 0;font-size:calc(12px * var(--text-scale));line-height:1.55;color:#aaa99d}
.return-button{width:100%;margin-top:3px}
.rite-note{margin:10px 0 0;text-align:right;font-size:10px;color:#8b8c82}
/* Modals */
.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:rgba(4,6,5,.76);backdrop-filter:blur(5px)}
.modal-card{position:relative;width:min(100%,480px);padding:30px clamp(22px,4vw,38px);border:1px solid rgba(204,184,144,.48);background:linear-gradient(145deg,#242720,#151815 75%);box-shadow:0 22px 75px rgba(0,0,0,.55)}
.modal-card .section-label{margin:0 0 15px;font-size:9px;color:#aaa590}
.modal-card h2{max-width:360px;margin:0 0 22px;color:#e0d4ba;font:400 clamp(26px,4vw,38px)/1.03 "Sixth Order",Georgia,serif;letter-spacing:.03em}
.modal-close{position:absolute;top:12px;right:14px;border:0;background:none;color:#c2b89f;font-size:26px;line-height:1;cursor:pointer}
.setting-row,.setting-range{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid rgba(221,208,174,.2)}
.setting-row span,.setting-range span{display:flex;flex-direction:column;gap:5px}
.setting-row b,.setting-range b{font-size:11px;letter-spacing:.12em;color:#ddd2b9}
.setting-row small{font-size:11px;color:#96958b}
.setting-row input[type=checkbox]{width:20px;height:20px;accent-color:#a87c43;cursor:pointer}
.setting-range output{font-size:10px;color:#b5aa91}
.setting-range input[type=range]{width:125px;accent-color:#b48952}
.modal-foot{margin:17px 0 0;color:#8e9086;font-size:10px;line-height:1.5}
.small-modal>p:not(.section-label){max-width:360px;color:#b3b2a6;font-family:"WITNESS",Georgia,serif;font-size:calc(16px * var(--text-scale));line-height:1.55}
.quiet-button{margin-top:10px;padding:10px 13px;border:1px solid rgba(221,208,174,.35);background:transparent;color:#d8ceb7;font-size:10px;letter-spacing:.13em;cursor:pointer}
/* Tablet and phone */
@media (max-width:860px){
 .title-screen{padding:0}
 .title-content{right:6vw;width:min(48vw,600px);top:10vh}
 .title-copy h1{font-size:clamp(44px,6.2vw,72px)}
 .cold-lower{grid-template-columns:1fr minmax(190px,230px);gap:16px}
 .rite-layout{grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:25px}
 .rite-page{width:min(100%,calc((100dvh - 150px)*.66667))}
}
@media (max-width:680px){
 #game{min-height:620px}
 .global-rail{top:14px;font-size:9px}
 .rail-seal{width:19px;height:19px;font-size:12px}
 .access-stamp{font-size:8px;letter-spacing:.04em}
 .global-foot{display:none}
 .title-screen{padding:0;overflow:hidden}
 .title-backdrop{background-position:27% center}
 .title-scrim{background:linear-gradient(90deg,rgba(5,6,5,.22),rgba(5,6,5,.22) 42%,rgba(4,5,4,.5)),linear-gradient(0deg,rgba(4,5,4,.45),transparent 55%,rgba(4,5,4,.2))}
 .title-content{top:8vh;left:24%;right:4vw;width:auto;gap:clamp(17px,3.4vh,25px);margin:0}
 .title-copy h1{font-size:clamp(28px,8.2vw,42px);letter-spacing:.01em}
 .main-menu{width:100%;margin:0}
 .menu-option{min-height:52px;padding:8px}
 .menu-label{font-size:clamp(10px,3.1vw,13px);letter-spacing:.085em}
 .choice-screen{padding:82px 24px 52px;overflow:auto}
 .choice-backdrop{background-position:59% center}
 .watcher{right:9%;top:22%;width:95px;height:180px;transform:translateY(0);opacity:.48}
 .watcher span{width:6px;height:2px}
 .choice-content{width:100%;margin:auto 0}
 .choice-content .section-label{font-size:8px;gap:10px;margin-bottom:20px}
 .choice-content h2{font-size:clamp(34px,10vw,52px);margin-bottom:22px}
 .plain-notice p{font-size:calc(13px * var(--text-scale))}
 .choice-buttons{gap:8px;margin-top:17px}
 .consent-choice{padding:12px 11px;min-height:72px}
 .consent-choice span{font-size:11px}
 .consent-choice small{font-size:9px;line-height:1.3}
 .choice-caption{right:24px;bottom:38px;font-size:8px}
 .cold-screen{padding:65px 14px 35px;gap:8px;overflow:auto}
 .cold-topline{align-items:end}
 .cold-heading-group .section-label{font-size:8px;gap:9px}
 .draft-tag{padding-left:9px}
 .cold-heading-group h2{font-size:21px}
 .witness-state{font-size:8px;gap:6px;flex-direction:column;align-items:flex-end}
 .scene-plate{width:min(100%,calc((100dvh - 310px)*1.77778));}
 .scene-plate figcaption{font-size:8px;left:9px;right:9px;bottom:8px}
 .cold-lower{grid-template-columns:1fr;gap:9px;min-height:0;width:min(100%,740px)}
 .observe-heading{font-size:9px;margin-bottom:6px}
 .observe-buttons{gap:5px}
 .observe-buttons button{font-size:9px;padding:6px 7px}
 .observation{font-size:calc(12px * var(--text-scale));margin-top:6px}
 .cold-next{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}
 .cold-next p{font-size:8px}
 .next-button{padding:11px 12px;font-size:10px}
 .rite-screen{padding:66px 16px 41px;overflow:auto;align-items:flex-start}
 .rite-layout{height:auto;min-height:100%;display:flex;flex-direction:column;gap:12px;justify-content:center}
 .rite-page{width:min(90vw,calc((100dvh - 258px)*.66667));max-height:calc(100dvh - 255px);flex:none}
 .rite-document{inset:15% 15% 14%}
 .document-overline{font-size:8px}
 .rite-document h2{font-size:20px}
 .document-subtitle{font-size:calc(10px * var(--text-scale))}
 .rite-copy{font-size:calc(10.5px * var(--text-scale));line-height:1.3}
 .rite-copy p{margin-bottom:5px}
 .rite-aside{width:min(100%,480px);max-width:none;padding:0 3px}
 .rite-aside .section-label{display:none}
 .fiction-notice{padding:8px 0;margin-bottom:9px;gap:9px}
 .fiction-notice p{font-size:calc(10px * var(--text-scale));line-height:1.35;margin-top:4px}
 .fiction-notice b{font-size:9px}
 .notice-seal{width:19px;height:19px;font-size:12px}
 .return-button{padding:10px 12px;font-size:9px}
 .rite-note{display:none}
}
@media (max-width:380px){
 .global-rail{left:13px;right:13px}
 .rail-wordmark{gap:6px;letter-spacing:.08em}
 .access-stamp{font-size:7px}
 .title-screen{padding:0}
 .title-content{left:21%;right:3vw}
 .title-copy h1{font-size:clamp(26px,8vw,31px)}
 .menu-label{font-size:10px;letter-spacing:.06em}
 .choice-screen{padding-left:17px;padding-right:17px}
 .choice-content h2{font-size:34px}
 .cold-screen{padding-left:10px;padding-right:10px}
 .scene-plate{width:100%}
 .observe-buttons button{font-size:8px;padding:5px}
 .rite-page{width:min(94vw,calc((100dvh - 260px)*.66667))}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}

/* The watcher reveal is deliberately slow, with a soft swell and gentle falloff. */
body:not(.title-active) .pointer-light{opacity:0}
body.intro-sequence-active .pointer-light{opacity:0}
.title-content{transition:opacity .32s ease,transform .32s ease}
.title-screen.intro-sequence .title-content{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px)}
.title-backdrop{transition:opacity .72s ease,filter .72s ease}
.title-screen.intro-eyes-only .title-backdrop{opacity:0}
.title-screen.intro-eyes-only .title-scrim{background:#020303}
.title-screen.intro-eyes-only .title-scrim::before,.title-screen.intro-eyes-only .title-scrim::after{content:none}
.watcher-eyes{position:absolute;z-index:9;display:flex;gap:.56em;align-items:center;justify-content:center;left:50%;top:50%;width:max-content;transform:translate(-50%,-50%);opacity:0;pointer-events:none;filter:drop-shadow(0 0 8px rgba(175,24,18,.72));}
.watcher-eyes span{display:block;width:var(--eye-size,14px);height:calc(var(--eye-size,14px)*.39);border-radius:50%;background:#e21c17;box-shadow:0 0 5px 2px rgba(219,23,16,.95),0 0 17px 7px rgba(195,20,14,.72),0 0 36px 13px rgba(144,15,12,.46);}
.light-surge{position:absolute;z-index:7;left:var(--surge-x,50%);top:var(--surge-y,50%);width:100vmax;height:100vmax;transform:translate(-50%,-50%) scale(.012);transform-origin:center;border-radius:50%;opacity:0;pointer-events:none;background:radial-gradient(circle,rgba(255,255,252,1) 0%,rgba(255,253,242,.99) 36%,rgba(255,248,227,.94) 52%,rgba(255,248,227,.4) 66%,rgba(255,255,255,0) 74%);mix-blend-mode:screen;filter:brightness(1.35);will-change:transform,opacity;backface-visibility:hidden}
.title-screen.light-surging .light-surge{animation:lumen-swell 8.2s linear both}
.title-screen.light-surging .watcher-eyes{animation:eyes-in-light 8.2s cubic-bezier(.42,0,.58,1) both}
.title-screen.intro-eyes-only .watcher-eyes{opacity:1;filter:drop-shadow(0 0 12px rgba(222,23,14,.96)) drop-shadow(0 0 32px rgba(173,15,10,.62));animation:eyes-afterglow 2.2s ease-in-out infinite alternate}
@keyframes lumen-swell{0%{transform:translate(-50%,-50%) scale(.012);opacity:0}9%{transform:translate(-50%,-50%) scale(.018);opacity:.008}18%{transform:translate(-50%,-50%) scale(.045);opacity:.03}28%{transform:translate(-50%,-50%) scale(.17);opacity:.09}38%{transform:translate(-50%,-50%) scale(.48);opacity:.2}48%{transform:translate(-50%,-50%) scale(1.08);opacity:.36}58%{transform:translate(-50%,-50%) scale(1.92);opacity:.56}64%{transform:translate(-50%,-50%) scale(2.55);opacity:.67}70%{transform:translate(-50%,-50%) scale(3.12);opacity:.75}76%{transform:translate(-50%,-50%) scale(3.25);opacity:.76}80%{transform:translate(-50%,-50%) scale(3.25);opacity:.73}85%{transform:translate(-50%,-50%) scale(2.9);opacity:.62}90%{transform:translate(-50%,-50%) scale(2.04);opacity:.43}95%{transform:translate(-50%,-50%) scale(.92);opacity:.2}98%{transform:translate(-50%,-50%) scale(.24);opacity:.05}100%{transform:translate(-50%,-50%) scale(.012);opacity:0}}
@keyframes eyes-in-light{0%,34%{opacity:0;filter:drop-shadow(0 0 2px rgba(180,20,14,.3))}58%{opacity:.54;filter:drop-shadow(0 0 11px rgba(210,25,18,.7))}72%,84%{opacity:1;filter:drop-shadow(0 0 20px rgba(225,28,19,.98))}100%{opacity:0}}
@keyframes eyes-afterglow{from{filter:drop-shadow(0 0 12px rgba(222,23,14,.9)) drop-shadow(0 0 24px rgba(173,15,10,.55))}to{filter:drop-shadow(0 0 20px rgba(250,31,19,1)) drop-shadow(0 0 42px rgba(173,15,10,.74))}}
.intro-choice{position:absolute;z-index:10;left:55%;top:50%;width:min(780px,42vw);max-height:88%;overflow:auto;transform:translateY(-50%);padding:clamp(16px,2.4vw,30px);border:0;background:linear-gradient(90deg,rgba(8,10,9,.12),rgba(8,10,9,.72) 17%,rgba(8,10,9,.65));color:#e5ddcb;scrollbar-width:thin;scrollbar-color:rgba(183,148,94,.45) transparent;}
.intro-choice[hidden]{display:none}
.intro-choice.revealed .choice-statement{animation:choice-statement-in 1.8s ease both}
@keyframes choice-statement-in{from{opacity:0;filter:blur(3px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
.choice-statement{max-width:100%;margin:0;text-align:center;font:400 clamp(30px,3.1vw,52px)/1.08 "Sixth Order",Georgia,serif;letter-spacing:.025em;color:#e4d9c2;text-shadow:0 3px 25px rgba(0,0,0,.72)}
.intro-choice .choice-action-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:12px;max-width:720px;margin:clamp(28px,4vh,48px) auto 0;opacity:0;pointer-events:none;transform:translateY(8px)}
.intro-choice .choice-action-row.options-visible{animation:choice-options-in 1.25s ease both;pointer-events:auto}
.intro-choice .choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:clamp(9px,1.15vw,18px);margin:0;max-width:none}
.intro-choice .choice-help{justify-self:center;flex:none}
@keyframes choice-options-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.intro-choice .consent-choice{min-height:72px;padding:14px 18px;border:1px solid rgba(205,188,151,.58);background:rgba(224,210,181,.06);text-align:center;justify-content:center;}
.intro-choice .consent-choice:hover,.intro-choice .consent-choice:focus-visible{background:rgba(224,210,181,.16);border-color:#e1c78d;transform:translateY(-1px)}
.intro-choice .consent-choice span{font-size:clamp(12px,1.1vw,16px);letter-spacing:.16em}
.intro-choice .consent-choice:disabled{opacity:.55;cursor:wait;transform:none}

/* Master Game Screen: fixed centre plate, persistent margins, and contextual sigils. */
.cold-screen{display:flex;flex-direction:column;align-items:center;gap:clamp(5px,.9vh,11px);padding:68px clamp(18px,4vw,58px) 26px;background:radial-gradient(ellipse at 50% 38%,#252723,#121512 70%);overflow:hidden}
.cold-topline{width:min(100%,1320px);display:flex;justify-content:space-between;align-items:end;min-height:42px;flex:none}
.cold-heading-group .section-label{display:flex;justify-content:flex-start;gap:13px;margin:0 0 5px;color:#a9a394;font-size:9px;letter-spacing:.13em}
.cold-heading-group h2{font-family:"Sixth Order",Georgia,serif;font-size:clamp(21px,2.3vw,31px);font-weight:400;letter-spacing:.055em;color:#ded3bc;margin:0;line-height:1}
.mode-active{color:#b5c6b8!important;border-left:1px solid rgba(165,187,168,.42);padding-left:13px}
.witness-state{display:flex;gap:10px;align-items:center;padding-bottom:3px;font-size:9px;letter-spacing:.12em;color:#96998e;text-align:right}
.witness-state b{color:#c9b998;font-weight:500}
.master-stage{width:min(100%,1320px);flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:clamp(9px,2vw,24px);align-items:center;justify-content:center}
.scene-plate{position:relative;width:min(100%,1120px,calc((100dvh - 282px)*1.77778));aspect-ratio:16/9;flex:none;justify-self:center;margin:0;overflow:hidden;background:#171a16;box-shadow:0 18px 55px rgba(0,0,0,.52),0 0 0 1px rgba(214,201,169,.17)}
.scene-plate>img{display:block;width:100%;height:100%;object-fit:cover;user-select:none}
.plate-wash{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,8,.38),transparent 26%,transparent 78%,rgba(7,9,8,.18));pointer-events:none}
.scene-plate figcaption{position:absolute;left:15px;right:15px;bottom:12px;display:flex;justify-content:space-between;color:rgba(239,229,205,.72);font-size:9px;letter-spacing:.14em;text-shadow:0 1px 4px #000}
.master-tools{display:flex;flex-direction:column;align-items:center;justify-self:end;gap:6px;min-width:50px}
.tool-rail-label{margin:0 0 3px;color:#98998d;font-size:8px;letter-spacing:.14em}
.sigil-control{position:relative;display:grid;place-items:center;flex:none;width:45px;height:45px;padding:6px;border:1px solid rgba(204,190,155,.23);background:rgba(11,14,12,.47);cursor:pointer;transition:background .18s,border-color .18s,opacity .18s}
.sigil-control img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.sigil-control.sigil-active{border-color:rgba(156,181,162,.58);background:rgba(65,93,80,.15)}
.sigil-control:not(:disabled):hover,.sigil-control:not(:disabled):focus-visible{border-color:#a9c0af;background:rgba(82,118,98,.25)}
.sigil-control:disabled{opacity:.24;filter:grayscale(.72);cursor:not-allowed}
.sigil-label{position:absolute;right:calc(100% + 9px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:5px 7px;border:1px solid rgba(214,201,169,.22);background:rgba(13,16,14,.94);color:#ddd4c2;font-size:9px;letter-spacing:.09em;opacity:0;visibility:hidden;pointer-events:none}
.sigil-control:not(:disabled):hover .sigil-label,.sigil-control:not(:disabled):focus-visible .sigil-label{opacity:1;visibility:visible}
.tool-divider{width:25px;height:1px;background:rgba(214,201,169,.26);margin:2px 0}
.cold-interface{width:min(100%,1320px);min-height:112px;display:grid;grid-template-columns:52px minmax(230px,1.1fr) minmax(230px,1.15fr) minmax(175px,.72fr);gap:clamp(11px,2vw,25px);align-items:center;flex:none;padding-top:6px;border-top:1px solid rgba(214,201,169,.16)}
.wisp-slot{display:flex;flex-direction:column;align-items:center;gap:4px;color:#9a998e;font-size:8px;letter-spacing:.13em}
.wisp-sigil{display:grid;place-items:center;width:47px;height:47px;padding:1px;border:1px solid rgba(201,174,126,.23);border-radius:50%;background:rgba(10,13,11,.36)}
.wisp-sigil img{width:100%;height:100%;object-fit:contain;opacity:.68}
.wisp-sigil:disabled{opacity:.74;cursor:not-allowed}
.observe-block{min-width:0}
.observe-heading{display:flex;align-items:center;gap:12px;color:#d1c8b3;font-size:10px;font-weight:700;letter-spacing:.13em;margin-bottom:7px}
.observe-heading small{font-size:9px;color:#8eaa9d;font-weight:400}
.observe-buttons{display:flex;gap:6px;flex-wrap:wrap}
.observe-buttons button{min-height:30px;background:transparent;border:1px solid rgba(216,203,173,.3);padding:6px 8px;font-size:9px;letter-spacing:.055em;color:#d7cebb;cursor:pointer;transition:background .18s,border-color .18s}
.observe-buttons button:hover,.observe-buttons button[aria-pressed="true"]{background:rgba(74,111,106,.2);border-color:#79968b;color:#f0e8d8}
.observe-buttons button:focus-visible{outline:2px solid #ddc995;outline-offset:3px}
.narrative-block{min-width:0;border-left:1px solid rgba(129,157,139,.43);padding:2px 0 2px 13px}
.narrative-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d7decf;font-size:9px;font-weight:700;letter-spacing:.18em}
.narrative-heading small{color:#89968a;font-size:8px;font-weight:400;letter-spacing:.08em}
.observation{margin:7px 0 0;color:#c4c0b3;font-family:"WITNESS",Georgia,serif;font-size:calc(13px * var(--text-scale));line-height:1.45}
.cold-next{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0}
.next-button{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid rgba(200,159,92,.72);background:rgba(165,112,52,.1);padding:13px 15px;color:#e7d9bc;font-family:"LEDGER",sans-serif;font-size:10px;font-weight:700;letter-spacing:.115em;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}
.next-button:hover{background:rgba(165,112,52,.2);border-color:#e1bc7b}
.next-button span{font-size:17px;color:#c79b5d}
.cold-next p{font-size:8px;letter-spacing:.12em;color:#929186;margin:0;text-align:right}
.scene-transition{position:fixed;z-index:45;inset:0;background:#030403;opacity:0;pointer-events:none;transition:opacity .9s ease}
.scene-transition.covering{opacity:1;pointer-events:auto}

@media (max-width:860px){
 .intro-choice{left:51%;width:min(780px,46vw);padding:20px}
 .master-stage{grid-template-columns:minmax(0,1fr) 52px;gap:9px}
 .cold-interface{grid-template-columns:46px minmax(210px,1.1fr) minmax(210px,1fr) minmax(150px,.72fr);gap:12px}
 .observe-buttons button{font-size:8px;padding:6px}
 .witness-state{font-size:8px;gap:6px;flex-direction:column;align-items:flex-end}
}
@media (max-width:680px){
 .intro-choice{left:5%;right:5%;top:55%;bottom:auto;width:auto;max-height:72%;padding:13px 12px;background:rgba(8,10,9,.82);transform:translateY(-50%)}
 .choice-statement{font-size:clamp(27px,7.2vw,40px);line-height:1.08}
 .intro-choice .choice-action-row{grid-template-columns:minmax(0,1fr) 30px;gap:6px;margin-top:22px}
 .intro-choice .choice-buttons{gap:7px}
 .intro-choice .choice-help{width:28px;height:28px;font-size:15px}
 .intro-choice .consent-choice{min-height:61px;padding:9px}
 .intro-choice .consent-choice span{font-size:10px}
 .cold-screen{padding:62px 12px 22px;gap:8px;overflow:auto;justify-content:flex-start}
 .cold-topline{min-height:40px;align-items:end}
 .cold-heading-group .section-label{font-size:7px;gap:7px;letter-spacing:.08em}
 .mode-active{padding-left:7px}
 .cold-heading-group h2{font-size:20px}
 .witness-state{max-width:112px;font-size:7px;line-height:1.35}
 .master-stage{width:100%;flex:none;min-height:0;display:flex;flex-direction:column;gap:6px}
 .scene-plate{width:min(100%,calc((100dvh - 360px)*1.77778));max-width:100%}
 .scene-plate figcaption{left:9px;right:9px;bottom:8px;font-size:7px}
 .master-tools{width:100%;min-width:0;flex-direction:row;justify-content:center;gap:6px}
 .tool-rail-label,.tool-divider{display:none}
 .sigil-control{width:35px;height:35px;padding:5px}
 .sigil-label{display:none}
 .cold-interface{width:100%;min-height:0;grid-template-columns:43px minmax(0,1fr);grid-template-areas:"wisp observe" "wisp narrative" "wisp next";gap:9px 11px;padding-top:9px}
 .wisp-slot{grid-area:wisp;align-self:start;margin-top:5px}
 .wisp-sigil{width:39px;height:39px}
 .observe-block{grid-area:observe}
 .observe-heading{font-size:9px;margin-bottom:5px}
 .observe-buttons{gap:4px}
 .observe-buttons button{font-size:7px;min-height:28px;padding:5px}
 .narrative-block{grid-area:narrative;padding-left:9px}
 .narrative-heading{font-size:8px}
 .narrative-heading small{font-size:7px}
 .observation{font-size:calc(11px * var(--text-scale));line-height:1.35;margin-top:5px}
 .cold-next{grid-area:next;display:block}
 .cold-next p{display:none}
 .next-button{padding:10px 11px;font-size:9px}
 .global-rail{top:12px}
 .access-stamp{font-size:7px}
}
@media (max-width:380px){
 .intro-choice{left:4%;right:4%;bottom:5%;padding:13px 12px}
 .permission-contract{font-size:10px}
 .intro-choice .consent-choice small{font-size:8px}
 .cold-screen{padding-left:9px;padding-right:9px}
 .cold-heading-group .section-label{font-size:6.5px}
 .observe-buttons button{font-size:6.5px;padding:4px}
 .master-tools{gap:4px}
 .sigil-control{width:32px;height:32px}
}
@media (prefers-reduced-motion:reduce){.light-surge,.watcher-eyes,.intro-choice.revealed{animation:none!important}.scene-transition{transition-duration:.18s}}
body.reduce-motion .light-surge,body.reduce-motion .watcher-eyes,body.reduce-motion .intro-choice.revealed{animation:none!important}

/* Manifestation Frequencies and Palimpsest share one restrained page system. */
.game-page{align-items:center;justify-content:center;padding:clamp(48px,7vh,78px) 22px 28px;overflow:auto;background:radial-gradient(ellipse at 50% 40%,rgba(77,82,66,.32),transparent 58%),linear-gradient(135deg,#121612,#0b0e0c 72%)}
.game-page::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background:linear-gradient(90deg,transparent 0 8%,rgba(213,199,165,.035) 8.1%,transparent 8.25% 91.75%,rgba(213,199,165,.035) 91.9%,transparent 92%),radial-gradient(ellipse at 50% 100%,rgba(104,63,41,.18),transparent 57%)}
.page-card{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,760px);min-height:min(700px,calc(100dvh - 112px));max-height:calc(100dvh - 96px);overflow-y:auto;padding:clamp(28px,4vw,48px) clamp(22px,5.5vw,64px) 30px;border:1px solid rgba(202,183,142,.45);background:linear-gradient(147deg,rgba(35,38,31,.96),rgba(19,22,19,.98) 70%);box-shadow:0 24px 80px rgba(0,0,0,.48),inset 0 0 0 5px rgba(206,188,149,.035),inset 0 0 0 6px rgba(206,188,149,.08);scrollbar-width:thin;scrollbar-color:rgba(183,148,94,.45) transparent}
.page-card::after{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(211,196,160,.08)}
.page-return{position:absolute;z-index:2;top:21px;right:26px;display:flex;align-items:center;gap:8px;padding:6px 0;border:0;border-bottom:1px solid rgba(216,201,167,.25);background:transparent;color:#bcb49f;font-family:"LEDGER",serif;font-size:9px;letter-spacing:.15em;cursor:pointer}
.page-return:hover,.page-return:focus-visible{color:#f0e6cf;border-color:#b89a67}
.page-return:first-letter{font-size:15px}
.page-heading{position:relative;z-index:1;text-align:center;margin:14px 0 22px;padding:0 20px 18px;border-bottom:1px solid rgba(212,197,161,.22)}
.page-kicker{margin:0 0 11px;color:#938d7b;font-size:9px;letter-spacing:.2em}
.page-heading h1{max-width:100%;margin:0;color:#e5d9c1;font:400 clamp(27px,4.1vw,43px)/1.05 "Sixth Order",Georgia,serif;letter-spacing:.035em;text-align:center;text-wrap:balance}
.page-subheading{margin:12px 0 0;color:#c3aa78;font-size:11px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.heading-rule{width:74px;height:1px;margin:17px auto 0;background:linear-gradient(90deg,transparent,#ad8d59,transparent)}
.settings-list{position:relative;z-index:1;width:100%;margin:0 auto}
.settings-list .setting-row,.settings-list .setting-range{min-height:58px;padding:11px 0;border-top:1px solid rgba(218,205,174,.16)}
.settings-list .setting-row:last-child{border-bottom:1px solid rgba(218,205,174,.16)}
.settings-list .setting-row>span,.settings-list .setting-range>span{position:relative;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding-right:64px}
.settings-list .setting-row b,.settings-list .setting-range b{color:#e1d5bc;font-size:10px;font-weight:700;letter-spacing:.15em}
.settings-list .setting-row small,.settings-list .setting-range small{color:#99958a;font-size:10px;line-height:1.35;letter-spacing:.015em}
.settings-list .setting-range output{position:absolute;top:0;right:0;color:#c7af7f;font-size:10px;font-variant-numeric:tabular-nums}
.settings-list input[type=range]{width:clamp(110px,24vw,190px);flex:none;accent-color:#c19a5a;cursor:pointer}
.settings-list input[type=checkbox]:not(.watch-switch input){width:19px;height:19px;flex:none;margin:0 4px;accent-color:#aa824a;cursor:pointer}
.settings-list .watch-setting{min-height:68px}
.watch-controls{display:flex;align-items:center;gap:11px;flex:none}
.watch-switch{position:relative;display:block;width:84px;height:32px;cursor:pointer}
.watch-switch input{position:absolute;z-index:2;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.watch-switch-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border:1px solid rgba(204,186,150,.42);border-radius:2px;background:rgba(8,10,9,.65);color:#a9a291;font-size:8px;font-weight:700;letter-spacing:.12em;transition:border-color .2s,background .2s,color .2s}
.watch-switch-thumb{position:absolute;top:4px;left:4px;width:22px;height:22px;border:1px solid rgba(213,198,161,.46);background:linear-gradient(145deg,#746f61,#35382f);transition:transform .2s ease,background .2s}
.watch-switch input:checked+.watch-switch-visual{border-color:#8fa394;background:rgba(54,82,67,.22);color:#d7e0d3}
.watch-switch input:checked+.watch-switch-visual .watch-state-off{opacity:.48}
.watch-switch input:not(:checked)+.watch-switch-visual .watch-state-on{opacity:.48}
.watch-switch input:checked+.watch-switch-visual .watch-switch-thumb{transform:translateX(52px);border-color:#a1b8a7;background:linear-gradient(145deg,#95ad9b,#536b59)}
.watch-switch input:focus-visible+.watch-switch-visual{outline:2px solid #ddc995;outline-offset:4px}
.help-sigil{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(198,169,117,.58);border-radius:50%;background:radial-gradient(circle,rgba(161,122,67,.18),rgba(9,11,10,.8));color:#dec99e;font-family:"Sixth Order",serif;font-size:17px;line-height:1;cursor:pointer;box-shadow:inset 0 0 0 3px rgba(203,179,132,.05)}
.help-sigil:hover,.help-sigil:focus-visible{border-color:#e2c98e;background:rgba(155,116,59,.24);color:#fff0ce}
.page-actions{position:relative;z-index:1;margin-top:auto;padding-top:22px}
.save-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:53px;padding:13px 18px;border:1px solid rgba(199,157,89,.72);background:linear-gradient(100deg,rgba(126,83,40,.22),rgba(81,69,43,.14));color:#eddfc3;font-family:"LEDGER",serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.save-button:hover,.save-button:focus-visible{border-color:#e5c587;background:linear-gradient(100deg,rgba(157,103,46,.33),rgba(104,89,51,.23));transform:translateY(-1px)}
.save-button span{color:#d0a15b;font-size:17px}
.settings-save-status{position:relative;z-index:1;min-height:12px;margin:7px 0 0;color:#aaa592;font-size:9px;text-align:center}
.palimpsest-card .page-heading{margin-bottom:0}
.palimpsest-placeholder{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-height:210px;color:#817f73;text-align:center}
.palimpsest-placeholder>span{color:rgba(176,146,95,.42);font-family:"Sixth Order",serif;font-size:23px}
.palimpsest-placeholder p{margin:15px 0 0;font-family:"WITNESS",Georgia,serif;font-size:calc(14px * var(--text-scale));font-style:italic;letter-spacing:.03em}
.permission-backdrop{z-index:90;overflow:auto}
.permission-card{width:min(100%,520px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:27px clamp(22px,4vw,36px) 24px}
.permission-card h2{max-width:none;margin-bottom:14px;padding-right:18px;text-align:center}
.permission-copy{color:#c0b9a9;font-family:"LEDGER",Georgia,serif;font-size:calc(12px * var(--text-scale));line-height:1.55}
.permission-copy p{margin:0 0 10px}
.permission-copy ul{margin:0 0 11px;padding-left:19px}
.permission-copy li{padding:0 0 7px 2px}
.permission-copy b{color:#e1d4b6;letter-spacing:.06em}
.quit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.quit-button{min-height:48px;padding:10px 12px;border:1px solid rgba(221,208,174,.4);background:rgba(221,208,174,.035);color:#e4d8c1;font-family:"LEDGER",Georgia,serif;font-size:11px;letter-spacing:.08em;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.quit-button:hover,.quit-button:focus-visible{border-color:#dfc184;background:rgba(177,137,78,.16);transform:translateY(-1px)}
.quit-button-leave{border-color:rgba(139,76,60,.75);color:#e4c6b5}
.quit-button-leave:hover,.quit-button-leave:focus-visible{border-color:#c67864;background:rgba(130,49,38,.18)}
.small-modal .quit-fallback{margin:0 0 12px;padding-left:11px;border-left:1px solid rgba(198,120,100,.65);font-size:calc(13px * var(--text-scale));color:#d9c4b5}
@media (max-width:680px){
 .game-page{align-items:flex-start;padding:70px 12px 18px}
 .page-card{width:100%;min-height:calc(100dvh - 96px);max-height:calc(100dvh - 90px);padding:26px 20px 20px}
 .page-card::after{inset:8px}
 .page-return{top:14px;right:19px;font-size:8px}
 .page-heading{margin:25px 0 14px;padding:0 4px 13px}
 .page-kicker{font-size:8px;margin-bottom:8px}
 .page-heading h1{font-size:clamp(23px,7.4vw,34px)}
 .page-subheading{font-size:9px;margin-top:9px}
 .settings-list .setting-row,.settings-list .setting-range{min-height:55px;padding:9px 0}
 .settings-list .setting-row>span,.settings-list .setting-range>span{padding-right:48px}
 .settings-list .setting-row b,.settings-list .setting-range b{font-size:9px}
 .settings-list .setting-row small,.settings-list .setting-range small{font-size:9px}
 .settings-list .setting-range output{font-size:9px}
 .settings-list input[type=range]{width:clamp(84px,25vw,130px)}
 .watch-switch{width:76px}
 .watch-switch input:checked+.watch-switch-visual .watch-switch-thumb{transform:translateX(44px)}
 .help-sigil{width:30px;height:30px}
 .page-actions{padding-top:16px}
 .palimpsest-placeholder{min-height:170px}
 .permission-card{max-height:calc(100dvh - 30px);padding:23px 20px 18px}
 .permission-copy{font-size:calc(11px * var(--text-scale))}
 .quit-actions{gap:7px}
 .quit-button{font-size:9px;padding:9px 7px}
}
body.reduce-motion .scene-transition{transition-duration:.18s}


/* Reusable parchment-framed Master Game Screen for every non-Portolan gameplay scene. */
@font-face{font-family:"MARGINALIA";src:url("/assets/fonts/marginalia-regular.woff2") format("woff2");font-weight:400;font-display:swap}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.master-toolbar{position:absolute;z-index:30;top:calc((100% - var(--master-reference-height))/2 + min(1.8dvh,1.0125vw));right:calc((100% - var(--master-reference-width))/2 + min(4.3vw,7.6444dvh));display:block;padding:0;color:#2d2a24}
.master-sigils{display:flex;align-items:center;gap:clamp(5px,.55vw,13px)}
.master-sigil{position:relative;display:grid;place-items:center;flex:none;width:clamp(34px,3.1vw,76px);height:clamp(34px,3.1vw,76px);padding:2px;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer;transition:background .18s ease,border-color .18s ease,opacity .18s ease}
.master-sigil img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(57,43,28,.4))}
.corpus-trigger img{transform:none;transform-origin:center}
.master-sigil:hover,.master-sigil:focus-visible{border-color:rgba(96,174,163,.95);background:rgba(48,126,119,.16);box-shadow:0 0 0 1px rgba(95,177,167,.38),0 0 17px rgba(55,151,143,.52),inset 0 0 10px rgba(95,177,167,.17);outline:none}
.master-sigil[aria-disabled="true"],.master-sigil:disabled{opacity:.42;filter:grayscale(.68);cursor:not-allowed}
.master-sigil .sigil-tag,.wisp-medallion .sigil-tag,.dpad-hit .sigil-tag{position:absolute;z-index:4;display:block;width:max-content;max-width:220px;padding:5px 7px;border:1px solid rgba(208,192,157,.36);background:rgba(24,24,21,.95);color:#eee4cf;font:500 9px/1.2 "LEDGER",Georgia,serif;letter-spacing:.08em;text-align:center;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}
.master-sigil .sigil-tag{top:calc(100% + 7px);left:50%;transform:translateX(-50%)}
.master-sigil:hover .sigil-tag,.master-sigil:focus-visible .sigil-tag{opacity:1;visibility:visible}
.title-active .master-toolbar{display:none}
.master-screen{--plate-width:min(75vw,133.333dvh);--plate-center-y:calc((100% - var(--master-reference-height))/2 + min(47.15dvh,26.5219vw));--plate-half-height:min(21.09375vw,37.5dvh);--dpad-size:min(11.71875vw,20.8333dvh);--speaker-size:min(5.46875vw,9.7222dvh);display:block;overflow:hidden;color:#342e25;background-color:#d6c69f;background-image:url("/assets/master-parchment-frame.webp");background-position:center center;background-size:cover;background-repeat:no-repeat}
.master-screen.active{display:block}
.master-screen::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background-image:radial-gradient(ellipse at 50% 48%,rgba(248,235,202,.28),transparent 72%),linear-gradient(90deg,rgba(67,48,30,.1),transparent 12%,transparent 88%,rgba(67,48,30,.1));background-repeat:no-repeat,no-repeat;background-position:center center,center center;background-size:cover,cover}
.master-screen::after{content:"";position:absolute;z-index:1;inset:9px;border:1px solid rgba(82,62,39,.18);box-shadow:inset 0 0 34px rgba(80,58,35,.12);pointer-events:none}
.master-shell{position:absolute;z-index:2;inset:0;isolation:isolate;overflow:hidden}
.master-marginalia{position:absolute;z-index:8;top:calc((100% - var(--master-reference-height))/2 + min(3.8dvh,2.1375vw));left:calc((100% - var(--master-reference-width))/2 + min(4.15vw,7.3778dvh));max-width:38vw;margin:0;transform:rotate(-1.5deg);color:#87392f;font:400 clamp(19px,1.45vw,36px)/1.1 "MARGINALIA","WITNESS",cursive;letter-spacing:.015em;text-shadow:0 1px rgba(99,44,35,.14)}
.master-plate{position:absolute;z-index:2;left:50%;top:var(--plate-center-y);width:var(--plate-width);aspect-ratio:16/9;transform:translate(-50%,-50%);margin:0;overflow:hidden;background:#11120f;border:1px solid rgba(36,30,22,.55);box-shadow:0 8px 24px rgba(57,43,27,.31),0 0 0 1px rgba(238,224,190,.43)}
.master-plate>img{display:block;width:100%;height:100%;object-fit:cover;user-select:none}
.master-plate .office-scene-layer{position:absolute;inset:0;opacity:0;transition:opacity .58s cubic-bezier(.22,.74,.25,1)}
.master-plate .office-scene-layer.is-visible{opacity:1}
.master-plate .office-hotspot-layer{position:absolute;z-index:3;inset:0;opacity:0;pointer-events:none;transition:opacity .58s cubic-bezier(.22,.74,.25,1)}
.master-plate .office-hotspot-layer.is-visible{opacity:1}
.office-hotspot{position:absolute;display:block;box-sizing:border-box;margin:0;padding:0;border:1px solid transparent;border-radius:3px;background:transparent;color:inherit;font:inherit;text-align:left;appearance:none;pointer-events:none;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,outline-color .16s ease}
.office-hotspot:disabled{pointer-events:none;cursor:default}
.office-hotspot-layer.is-visible .office-hotspot:not(:disabled){pointer-events:auto}
.office-hotspot.is-oval{border-radius:50%}
.office-hotspot.is-circle{border-radius:50%}
.office-hotspot-layer.is-visible .office-hotspot:not(:disabled):hover,.office-hotspot-layer.is-visible .office-hotspot:not(:disabled):focus-visible{z-index:1;border-color:rgba(245,70,66,.88);outline:1px solid rgba(255,112,99,.58);outline-offset:1px;background:rgba(172,27,28,.055);box-shadow:0 0 6px 1px rgba(238,46,43,.75),0 0 17px 5px rgba(202,31,34,.46),inset 0 0 10px rgba(212,32,35,.22)}
.master-shell.office-tour-wisp-panel-dialogue .master-dialogue{visibility:hidden}
.master-plate::after{content:"";position:absolute;inset:0;border:1px solid rgba(226,210,174,.15);pointer-events:none}
.plate-arrow{position:absolute;z-index:7;top:50%;display:grid;place-items:center;width:min(4.6vw,8.2dvh);aspect-ratio:1.142857;padding:0;transform:translateY(-50%);border:0;border-radius:0;background:transparent;cursor:pointer;transition:opacity .16s ease}
.plate-arrow img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(51,42,31,.2));transition:filter .16s ease}
.plate-arrow-left{left:calc((100% - var(--master-reference-width))/2 + min(6.3vw,11.2dvh));top:50%}
.plate-arrow-right{right:calc((100% - var(--master-reference-width))/2 + min(6.3vw,11.2dvh));top:50%}
.plate-arrow:hover,.plate-arrow:focus-visible{outline:none}
.plate-arrow:not([aria-disabled="true"]):hover img,.plate-arrow:not([aria-disabled="true"]):focus-visible img{filter:drop-shadow(0 0 1.5px rgba(112,206,195,.98)) drop-shadow(0 0 5px rgba(55,159,151,.88)) drop-shadow(0 0 11px rgba(42,137,132,.62))}
.plate-arrow[aria-disabled="true"]{opacity:.38;cursor:not-allowed}
.wisp-medallion{position:absolute;z-index:9;left:calc((100% - var(--plate-width))/2 - 6vw);bottom:4.9%;display:grid;place-items:center;width:11.55vw;min-width:94px;max-width:430px;aspect-ratio:1;padding:0;border:1px solid rgba(68,55,38,.68);border-radius:50%;background:radial-gradient(circle at 34% 28%,#ebdbb5,#cbb68a 73%,#a28e69);box-shadow:0 3px 8px rgba(62,46,28,.35),inset 0 0 0 3px rgba(245,228,188,.42);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.wisp-medallion>img{display:block;width:94%;height:94%;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(43,35,26,.45))}
.wisp-medallion[aria-disabled="true"]{cursor:not-allowed;opacity:.88}
.wisp-medallion:not([aria-disabled="true"]):hover,.wisp-medallion:focus-visible,.wisp-medallion[aria-expanded="true"]{outline:2px solid rgba(96,174,163,.95);outline-offset:3px;box-shadow:0 0 0 2px rgba(95,177,167,.4),0 0 21px rgba(55,151,143,.58),inset 0 0 0 3px rgba(134,202,191,.5)}
.wisp-medallion .sigil-tag{left:calc(100% + 10px);top:50%;transform:translateY(-50%)}
.wisp-medallion:not([aria-disabled="true"]):hover .sigil-tag,.wisp-medallion:focus-visible .sigil-tag{opacity:1;visibility:visible}
.master-speaker{position:absolute;z-index:9;inset:0;pointer-events:none}
.speaker-medallion{position:absolute;left:50%;top:calc(var(--plate-center-y) + var(--plate-half-height));width:var(--speaker-size);height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 3px rgba(43,33,22,.36))}
.master-dialogue{position:absolute;left:50%;top:calc((100% - var(--master-reference-height))/2 + min(93.05dvh,52.3406vw));width:min(70vw,1500px);max-height:6.2vh;overflow:hidden;margin:0;transform:translateX(-50%);color:#413a30;text-align:center;font:400 clamp(15px,1.38vw,34px)/1.12 "WITNESS",Georgia,serif;letter-spacing:.005em;text-shadow:0 1px rgba(255,243,214,.32)}
.master-dialogue{pointer-events:auto}
.dpad-medallion{position:absolute;z-index:9;left:calc(50% + var(--plate-width)/2 - var(--dpad-size)/2);top:calc(var(--plate-center-y) + var(--plate-half-height) - var(--dpad-size)/2);right:auto;bottom:auto;width:var(--dpad-size);aspect-ratio:1;margin:0}
.dpad-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(58,44,28,.28))}
.dpad-hit{position:absolute;z-index:2;display:block;width:23.5%;height:23.5%;padding:0;transform:translate(-50%,-50%);border:2px solid transparent;border-radius:50%;background:transparent;color:#f1e7d1;cursor:pointer;transition:background .14s ease,border-color .14s ease,opacity .14s ease}
.dpad-portolan{left:49.73%;top:22.27%}
.dpad-index{left:78%;top:50%}
.dpad-interact{left:49.73%;top:77.73%}
.dpad-inspect{left:22.27%;top:49.73%}
.dpad-hit:not([aria-disabled="true"]):hover,.dpad-hit:not([aria-disabled="true"]):focus-visible,.dpad-hit[aria-expanded="true"],.dpad-hit[aria-pressed="true"]{border-color:rgba(96,174,163,.98);background:rgba(48,126,119,.14);box-shadow:0 0 0 1px rgba(95,177,167,.46),0 0 13px rgba(55,151,143,.66),inset 0 0 7px rgba(95,177,167,.22);outline:none}
.dpad-hit[aria-disabled="true"],.dpad-hit:disabled{cursor:not-allowed}
.dpad-hit[aria-disabled="true"]::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(48,45,39,.18);pointer-events:none}
.dpad-hit .sigil-tag{top:50%;left:50%;transform:translate(-50%,-50%)}
.dpad-portolan .sigil-tag{top:auto;bottom:calc(100% + 6px);transform:translate(-50%,0)}
.dpad-index .sigil-tag{left:calc(100% + 8px);transform:translate(0,-50%)}
.dpad-interact .sigil-tag{top:calc(100% + 6px);transform:translate(-50%,0)}
.dpad-inspect .sigil-tag{left:auto;right:calc(100% + 8px);transform:translate(0,-50%)}
.dpad-hit:hover .sigil-tag,.dpad-hit:focus-visible .sigil-tag{opacity:1;visibility:visible}
#game.infernal-index-open{z-index:31}
.dpad-action-panel{z-index:80}
.dpad-action-panel .dpad-action-actions{margin-top:13px}
.dpad-action-panel .dpad-contextual-sigil{width:90%;height:90%;object-fit:contain;opacity:.94}
.dpad-action-panel [data-index-power-slot]:disabled .dpad-contextual-sigil{opacity:.76}
.wisp-panel.infernal-index-panel{box-sizing:border-box;display:flex;flex-direction:column;gap:4px;padding:20px 24px 18px;overflow:auto}
.wisp-panel.infernal-index-panel h3{flex:none;margin:0 34px 6px;font-size:clamp(20px,2vw,25px);letter-spacing:.1em}
.infernal-index-starboard{display:grid;flex:1;min-height:0;place-items:center;overflow:visible}
.infernal-index-stage{position:relative;width:min(100%,640px,70dvh);aspect-ratio:1;overflow:visible;isolation:isolate}
.infernal-index-star{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.infernal-index-star polyline{stroke:rgba(194,165,116,.7);stroke-width:.55;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px rgba(190,158,103,.18))}
.infernal-index-nodes{position:absolute;inset:0;z-index:2}
.infernal-index-sigil{position:absolute;display:flex;width:clamp(72px,7vw,96px);min-height:70px;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:1px;border:0;transform:translate(-50%,-50%);background:transparent;color:#e2d8c3;font-family:"LEDGER",Georgia,serif;text-align:center;cursor:pointer;transition:opacity .18s ease,filter .18s ease}
.infernal-index-sigil:nth-child(1){left:50%;top:6%}
.infernal-index-sigil:nth-child(2){left:78.28%;top:16.29%}
.infernal-index-sigil:nth-child(3){left:93.33%;top:42.36%}
.infernal-index-sigil:nth-child(4){left:88.11%;top:72%}
.infernal-index-sigil:nth-child(5){left:65.05%;top:91.35%}
.infernal-index-sigil:nth-child(6){left:34.95%;top:91.35%}
.infernal-index-sigil:nth-child(7){left:11.89%;top:72%}
.infernal-index-sigil:nth-child(8){left:6.67%;top:42.36%}
.infernal-index-sigil:nth-child(9){left:21.72%;top:16.29%}
.infernal-index-sigil-mark{display:grid;width:clamp(38px,4.4vw,54px);height:clamp(38px,4.4vw,54px);flex:none;place-items:center;border:1px solid rgba(198,175,135,.72);border-radius:50%;background:radial-gradient(circle at 34% 27%,rgba(53,54,45,.98),rgba(9,12,10,.99) 72%);box-shadow:inset 0 0 0 3px rgba(225,209,174,.04),0 3px 12px rgba(0,0,0,.28);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.infernal-index-sigil-mark img{display:block;width:82%;height:82%;object-fit:contain}
.infernal-index-initials{color:#d8cba9;font:400 clamp(15px,1.35vw,19px)/1 "Sixth Order",Georgia,serif;letter-spacing:.04em;text-shadow:0 1px 6px rgba(205,173,111,.22)}
.infernal-index-node-label{display:none}
.infernal-index-node-state{display:block;color:#d89485;font:700 7px/1 "LEDGER",Georgia,serif;letter-spacing:.12em}
.infernal-index-node-state[hidden]{display:none}
.infernal-index-sigil:hover:not(:disabled) .infernal-index-sigil-mark,.infernal-index-sigil:focus-visible .infernal-index-sigil-mark,.infernal-index-sigil.is-selected .infernal-index-sigil-mark{border-color:#78c7b9;box-shadow:0 0 0 1px rgba(107,195,181,.32),0 0 17px rgba(69,175,160,.55),inset 0 0 0 3px rgba(127,209,196,.13),0 4px 14px rgba(0,0,0,.34)}
.infernal-index-sigil:hover:not(:disabled) .infernal-index-sigil-mark{transform:translateY(-1px)}
.infernal-index-sigil:focus-visible{outline:none}
.infernal-index-sigil:focus-visible .infernal-index-sigil-mark{outline:2px solid #a0e2d7;outline-offset:4px}
.infernal-index-sigil.is-selected .infernal-index-node-label{color:#d4f0e8}
.infernal-index-sigil.is-lost{opacity:.38;filter:grayscale(.84);cursor:not-allowed}
.infernal-index-sigil:disabled:hover .infernal-index-sigil-mark{transform:none}
.wisp-description.infernal-index-description{position:absolute;z-index:3;top:50%;left:50%;display:flex;width:min(49%,280px);min-width:145px;height:auto;min-height:clamp(134px,34%,188px);max-height:56%;justify-content:center;gap:6px;padding:clamp(10px,1.2vw,15px);transform:translate(-50%,-50%);overflow:auto;text-align:center}
.infernal-index-entry-status{position:relative;margin:0;color:#86cdbd;font:700 7px/1.2 "LEDGER",Georgia,serif;letter-spacing:.14em}
.infernal-index-description .infernal-index-dialogue{font-style:normal;font-size:clamp(9px,.78vw,11px);line-height:1.42}
.infernal-index-entry-note{position:relative;margin:0;color:#a99d83;font:500 6px/1.2 "LEDGER",Georgia,serif;letter-spacing:.11em}
.rite-script-open-recovery{position:absolute;z-index:12;top:calc(var(--plate-center-y) + var(--plate-half-height) + min(3vw,5vh));left:50%;display:flex;width:min(70vw,900px);flex-direction:column;align-items:center;gap:5px;transform:translateX(-50%);text-align:center}
.rite-script-open-recovery[hidden]{display:none}
.rite-script-open-recovery p{margin:0;color:rgba(72,61,46,.7);font:500 clamp(7px,.53vw,10px)/1.1 "LEDGER",Georgia,serif;letter-spacing:.15em}
.rite-script-open-recovery button{padding:5px 9px;border:1px solid rgba(82,62,39,.32);background:rgba(24,24,21,.92);color:#eee4cf;font:500 clamp(7px,.55vw,10px)/1.2 "LEDGER",Georgia,serif;letter-spacing:.09em;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,color .16s ease}
.rite-script-open-recovery button:hover,.rite-script-open-recovery button:focus-visible{border-color:#78c7b9;box-shadow:0 0 0 1px rgba(95,177,167,.32),0 0 12px rgba(55,151,143,.35);color:#d7f0ea;outline:none}
.rite-panel{position:absolute;z-index:12;left:50%;top:48%;width:65%;height:68%;transform:translate(-50%,-50%);overflow:hidden;padding:clamp(14px,1.6vw,28px);border:1px solid rgba(211,195,161,.64);background:linear-gradient(110deg,rgba(10,12,11,.92),rgba(18,18,15,.95));box-shadow:0 16px 42px rgba(0,0,0,.55);color:#ddd2ba}
.rite-layout{display:grid;width:100%;height:100%;grid-template-columns:minmax(0,.95fr) minmax(240px,.83fr);gap:clamp(16px,2.2vw,42px);align-items:center;justify-content:center}
.rite-page{position:relative;justify-self:center;width:auto;height:100%;max-width:100%;max-height:100%;aspect-ratio:2/3;overflow:hidden;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.rite-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;user-select:none}
.rite-document{position:absolute;inset:16% 16% 15%;display:flex;flex-direction:column;text-align:center;color:#35362e}
.document-overline{margin:0 0 5px;font:500 9px/1.2 "LEDGER",Georgia,serif;letter-spacing:.19em;color:#596052}
.rite-document h3{margin:0;color:#292c26;font:400 clamp(18px,1.75vw,27px)/.98 "Sixth Order",Georgia,serif;letter-spacing:.06em}
.document-subtitle{font:italic 11px/1.2 "WITNESS",Georgia,serif;margin:5px 0;color:#615b4d}
.document-rule{height:1px;width:48%;margin:4px auto 9px;background:rgba(76,88,75,.47);flex:none}
.rite-copy{overflow:auto;overscroll-behavior:contain;text-align:left;padding:0 2px 5px;font:400 calc(11px * var(--text-scale))/1.36 "LEDGER",Georgia,serif;scrollbar-width:thin;scrollbar-color:rgba(76,93,76,.6) transparent}
.rite-copy p{margin:0 0 7px}
.rite-copy strong{font-weight:700;color:#44493f}
.rite-copy .signature-line{margin:8px 0 0;font-size:.88em;letter-spacing:.035em;color:#56564c}
.rite-aside{align-self:center;max-width:100%;margin:0}
.rite-aside .section-label{display:flex;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:9px;color:#c8bc9f;letter-spacing:.14em}
.fiction-notice{display:flex;gap:10px;align-items:flex-start;padding:11px 0 12px;border-top:1px solid rgba(214,201,170,.27);border-bottom:1px solid rgba(214,201,170,.27);margin-bottom:14px}
.notice-seal{display:grid;place-items:center;flex:none;width:22px;height:22px;border:1px solid #987a4b;border-radius:50%;color:#d4ba86;font:400 14px/1 "Sixth Order",Georgia,serif}
.fiction-notice b{font:700 9px/1.2 "LEDGER",Georgia,serif;letter-spacing:.14em;color:#d9caa8}
.fiction-notice p{margin:5px 0 0;font:400 11px/1.45 "LEDGER",Georgia,serif;color:#c0b9a9}
.return-button{width:100%;margin-top:2px;padding:10px 12px;font-size:9px}
.rite-note{margin:8px 0 0;text-align:right;font:400 9px/1.35 "LEDGER",Georgia,serif;color:#b4ad9b}

@media(max-width:1000px){
 .master-marginalia{font-size:clamp(17px,1.8vw,28px)}
 .master-toolbar{right:3.6vw}
 .master-sigil{width:clamp(34px,4vw,56px);height:clamp(34px,4vw,56px)}
 .wisp-medallion,.dpad-medallion{width:13vw}
 .plate-arrow{width:5vw}
 .rite-panel{width:72%;height:72%}
 .rite-layout{grid-template-columns:minmax(0,.9fr) minmax(210px,.92fr);gap:16px}
}
@media(max-width:680px){
 .master-screen::before{background-image:none}
 .master-marginalia,.master-dialogue,.speaker-medallion,.master-sigil img,.plate-arrow img,.wisp-medallion>img,.dpad-art{opacity:1}
 .wisp-medallion{border-color:rgba(68,55,38,.68);background:radial-gradient(circle at 34% 28%,#ebdbb5,#cbb68a 73%,#a28e69);box-shadow:0 3px 8px rgba(62,46,28,.35),inset 0 0 0 3px rgba(245,228,188,.42)}
 .master-toolbar{top:1.8vh;right:3vw}
 .master-sigils{gap:2px}
 .master-sigil{width:clamp(33px,9vw,45px);height:clamp(33px,9vw,45px)}
 .master-screen::after{inset:5px}
 .master-marginalia{top:2.3vh;left:4vw;max-width:48vw;font-size:clamp(15px,4.3vw,20px)}
 .master-screen{--plate-center-y:40%;--plate-half-height:24.75vw}
 .master-plate{top:var(--plate-center-y);width:88%;}
 .plate-arrow{top:40%;width:8vw;min-width:28px;padding:1px}
 .plate-arrow-left{left:1.3vw}
 .plate-arrow-right{right:1.3vw}
 .wisp-medallion,.dpad-medallion{width:20vw;min-width:68px;max-width:110px}
 .wisp-medallion{left:4.4vw;bottom:6.2%}
 .dpad-medallion{left:auto;top:auto;right:calc((100% - 88%)/2 + 1.5vw);bottom:calc(100% - var(--plate-center-y) - var(--plate-half-height) + 2vw)}
 .speaker-medallion{top:calc(var(--plate-center-y) + var(--plate-half-height) - 30px);width:clamp(46px,12vw,64px)}
 .master-dialogue{top:auto;bottom:4.2%;width:58vw;max-height:8.5vh;font-size:clamp(13px,3.6vw,16px);line-height:1.18}
 .dpad-action-panel{max-height:min(68dvh,470px);padding:12px 11px 9px}
 .dpad-action-panel h3{font-size:19px}
 .dpad-action-panel .wisp-description{min-height:clamp(94px,15vh,126px);padding:12px 10px}
 .dpad-action-panel .wisp-dialogue{font-size:10px}
 .dpad-action-panel .wisp-actions{gap:5px;margin-top:11px;padding:0 7px}
 .dpad-action-panel .wisp-actions button{width:44px;height:44px}
 .wisp-panel.infernal-index-panel{padding:18px 10px 14px}
 .wisp-panel.infernal-index-panel h3{font-size:19px}
 .infernal-index-stage{width:min(100%,70dvh)}
 .infernal-index-sigil{width:clamp(68px,21vw,82px);min-height:62px;gap:2px}
 .infernal-index-sigil-mark{width:clamp(34px,10vw,43px);height:clamp(34px,10vw,43px)}
 .infernal-index-initials{font-size:15px}
 .infernal-index-node-label{font-size:7px;line-height:1.1}
 .infernal-index-node-state{font-size:6px}
 .wisp-description.infernal-index-description{width:52%;min-width:136px;min-height:clamp(128px,35%,162px);padding:9px 8px}
 .infernal-index-entry-title{font-size:13px}
 .infernal-index-entry-status{font-size:6px}
 .infernal-index-description .infernal-index-dialogue{font-size:9px}
 .infernal-index-entry-note{font-size:5px;letter-spacing:.07em}
 .dpad-hit .sigil-tag,.master-sigil .sigil-tag,.wisp-medallion .sigil-tag{font-size:8px;max-width:160px;white-space:normal}
 .rite-panel{top:50%;width:88%;height:69%;padding:9px}
 .rite-layout{grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:7px}
 .rite-page{height:92%;width:auto}
 .rite-document{inset:15% 14% 13%}
 .document-overline{font-size:7px}
 .rite-document h3{font-size:clamp(13px,3.5vw,17px)}
 .document-subtitle{font-size:8px}
 .document-rule{margin:3px auto 5px}
 .rite-copy{font-size:calc(8px * var(--text-scale));line-height:1.2}
 .rite-copy p{margin-bottom:4px}
 .rite-copy .signature-line{margin-top:4px}
 .rite-aside .section-label{font-size:7px;margin-bottom:6px}
 .fiction-notice{gap:5px;padding:6px 0;margin-bottom:7px}
 .notice-seal{width:16px;height:16px;font-size:11px}
 .fiction-notice b{font-size:7px}
 .fiction-notice p{font-size:8px;line-height:1.24;margin-top:3px}
 .return-button{padding:7px 6px;font-size:7px;gap:5px}
 .return-button span{font-size:12px}
 .rite-note{font-size:7px;margin-top:5px}
}
@media(max-width:390px){
 .master-screen{--plate-center-y:39%;--plate-half-height:24.1875vw}
 .master-plate{width:86%;top:var(--plate-center-y)}
 .plate-arrow{top:39%}
 .wisp-medallion,.dpad-medallion{width:21vw}
 .dpad-medallion{right:calc((100% - 86%)/2 + 1.5vw)}
 .master-dialogue{width:56vw}
 .rite-panel{width:91%;height:72%;top:50%}
 .rite-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:5px}
 .rite-copy{font-size:calc(7px * var(--text-scale))}
 .fiction-notice p{font-size:7px}
 .return-button{font-size:6.5px}
}

/* Keep narrative and Marginalia slots in place while their copy is authored. */
.master-marginalia{min-height:1.2em}
.master-dialogue{min-height:1.12em}

/* The speaker seal remains an image, with its current name exposed on hover and to assistive technology. */
.speaker-mark{position:absolute;z-index:10;left:50%;top:calc(var(--plate-center-y) + var(--plate-half-height));display:block;width:var(--speaker-size);height:var(--speaker-size);transform:translate(-50%,-50%);pointer-events:auto}
.speaker-medallion{position:static;display:block;width:100%;height:100%;transform:none;filter:drop-shadow(0 2px 3px rgba(43,33,22,.36))}
.speaker-name-tooltip{position:absolute;z-index:12;left:50%;bottom:calc(100% + 9px);width:max-content;max-width:180px;padding:5px 9px;transform:translateX(-50%);border:1px solid rgba(208,192,157,.48);background:rgba(24,24,21,.96);color:#eee4cf;font:500 10px/1.2 "LEDGER",Georgia,serif;letter-spacing:.08em;text-align:center;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease}
.speaker-mark[data-has-speaker="true"]:hover .speaker-name-tooltip{opacity:1;visibility:visible}
.speaker-mark[data-has-speaker="false"] .speaker-name-tooltip{display:none}
.speaker-mark.is-speaker-change .speaker-medallion{animation:speaker-change-white-pulse 740ms ease-out both}
@keyframes speaker-change-white-pulse{
  0%,100%{filter:brightness(1) drop-shadow(0 2px 3px rgba(43,33,22,.36)) drop-shadow(0 0 0 rgba(255,255,255,0))}
  18%{filter:brightness(1.2) drop-shadow(0 2px 3px rgba(43,33,22,.36)) drop-shadow(0 0 14px rgba(255,255,255,.96))}
  48%{filter:brightness(1.1) drop-shadow(0 2px 3px rgba(43,33,22,.36)) drop-shadow(0 0 8px rgba(255,255,255,.76))}
  76%{filter:brightness(1.02) drop-shadow(0 2px 3px rgba(43,33,22,.36)) drop-shadow(0 0 3px rgba(255,255,255,.35))}
}
@media (prefers-reduced-motion:reduce){.speaker-mark.is-speaker-change .speaker-medallion{animation:none!important;filter:brightness(1.06) drop-shadow(0 2px 3px rgba(43,33,22,.36)) drop-shadow(0 0 7px rgba(255,255,255,.62))}}
body.reduce-motion .speaker-mark.is-speaker-change .speaker-medallion{animation:none!important;filter:brightness(1.06) drop-shadow(0 2px 3px rgba(43,33,22,.36)) drop-shadow(0 0 7px rgba(255,255,255,.62))}
.wisp-medallion[aria-disabled="true"]{cursor:not-allowed;opacity:.42;filter:grayscale(.8);box-shadow:0 2px 7px rgba(62,46,28,.28),inset 0 0 0 3px rgba(245,228,188,.3)}
.wisp-medallion[aria-disabled="true"]:hover{outline:0;box-shadow:0 2px 7px rgba(62,46,28,.28),inset 0 0 0 3px rgba(245,228,188,.3)}

/* A single title on parchment; all shared game controls stay hidden for this beat. */
.rite-title-screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;overflow:hidden;padding:0;background:#17130f;color:#30271e}
.rite-title-screen.active{display:flex}
.rite-title-backdrop{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(13,11,8,.26),transparent 19%,transparent 81%,rgba(13,11,8,.26)),linear-gradient(0deg,rgba(13,11,8,.16),transparent 28%,transparent 72%,rgba(13,11,8,.16)),url("/assets/rite-scroll.webp");background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.88)}
.rite-title-screen h1{position:relative;z-index:1;margin:0;padding:.18em .35em;color:#33291d;font:400 clamp(42px,6vw,88px)/1 "Sixth Order",Georgia,serif;letter-spacing:.045em;text-shadow:0 1px 0 rgba(255,241,207,.65),0 3px 14px rgba(74,50,26,.18)}
body.rite-title-active .pointer-light{opacity:0}
.master-screen.rite-screen{padding:0}

@media(max-width:680px){
 .speaker-name-tooltip{max-width:150px;padding:4px 7px;font-size:9px}
 .rite-title-screen h1{font-size:clamp(36px,9vw,64px)}
}
