:root{color-scheme:dark;--ink:#0c1d1b;--panel:#102523;--cream:#f4ead6;--muted:#c3c7b9;--gold:#d5b777;--line:#cab98640;--serif:Georgia,'Times New Roman','Noto Serif KR','Noto Serif JP',serif;--sans:'Avenir Next','Segoe UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;font-family:var(--sans);color:var(--cream);background:var(--ink);font-size:15px}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:default;opacity:.42}a{color:var(--gold)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #e7d99d;outline-offset:4px}button{border:0}button .icon{flex-shrink:0}.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1{font-family:var(--serif);font-size:clamp(24px,2.5vw,42px);margin:12px 0 14px;letter-spacing:-.025em}h2{font-family:var(--serif);font-size:clamp(25px,2.8vw,40px);line-height:1.45;letter-spacing:-.035em;white-space:pre-line;margin:10px 0 22px}h3{font-size:22px;line-height:1.4;margin-bottom:10px}p{line-height:1.8}#game{position:relative;isolation:isolate;min-height:100svh;height:100svh;overflow:hidden;background:#102523}.ambient{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(28px) brightness(.35);z-index:-3}.world{position:absolute;left:50%;top:50%;width:max(100vw,177.683315vh);aspect-ratio:1672/941;transform:translate(-50%,-50%);z-index:-1}.scene-image{display:block;width:100%;height:100%;object-fit:cover}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#071916b8 0%,transparent 27%,transparent 61%,#091b1bee 100%);pointer-events:none}.masthead{display:flex;align-items:center;justify-content:space-between;padding:26px 3.8vw;position:relative;z-index:3}.brand{display:flex;gap:15px;align-items:center}.brand-mark{display:grid;place-items:center;border:1px solid #cbb48088;width:43px;height:48px;font:28px var(--serif);color:var(--gold)}.brand-title{display:block;font:15px var(--serif);letter-spacing:3px}.brand-sub{display:block;font-size:10px;letter-spacing:2.3px;color:#d4d4c2;margin-top:7px}.header-tools{display:flex;align-items:center;gap:15px}.header-tools time{font-size:10px;letter-spacing:1.8px;color:#e2ddce;margin-right:13px}.icon-button{display:grid;place-items:center;width:44px;height:44px;background:#0b20193b;border:1px solid #ddc99a55;border-radius:50%;transition:background .2s}.icon-button:hover{background:#29473d}.location{position:absolute;top:135px;left:3.8vw;max-width:360px;text-shadow:0 2px 15px #071713}.eyebrow{display:block;color:var(--gold);font-size:10px;letter-spacing:2.4px;text-transform:uppercase;line-height:1.7}.location-rule{width:42px;height:1px;background:var(--gold);margin:14px 0 17px}.location p{font-size:12px;color:#e1e0d2;line-height:1.9;max-width:280px}.hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px 8px 11px;background:#102523d9;border:1px solid #d5b7779e;box-shadow:0 4px 20px #0005;border-radius:25px;font-size:12px;white-space:nowrap;backdrop-filter:blur(8px);transition:background .2s,box-shadow .2s}.hotspot:hover{background:#305244;box-shadow:0 0 24px #dac78c55}.hotspot .icon{color:var(--gold);width:19px;height:19px}.destination{box-shadow:0 0 22px #d7c78577;border-color:#f0dda5}.memo-token{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;background:#e9e4d7;color:#22362e;border:1px solid #f7edc8;padding:9px 15px;border-radius:4px;box-shadow:0 0 26px #efe6bd44;font-size:10px;min-width:44px;min-height:44px;left:50%;top:62%;transform:translate(-50%,-50%)}.memo-token .icon{width:31px;height:31px}.memo-token.waiting{animation:hovering 4s ease-in-out infinite}.memo-token.desk-memo{left:45%;top:82%;transform:translate(-50%,-50%) rotate(-7deg)}.memo-token.floating{left:51%;top:59%;animation:hovering 3s ease-in-out infinite;box-shadow:0 0 45px #cceeff88}.memo-token.placed{left:61.5%;top:74%;padding:1px 7px;min-height:28px;min-width:35px;transform:translate(-50%,-50%) rotate(-8deg);pointer-events:none}.memo-token.placed .icon{width:25px;height:25px}.play-panel{position:absolute;right:3.8vw;bottom:139px;width:min(375px,30vw);background:linear-gradient(125deg,#122b27f0,#10211ded);border:1px solid var(--line);padding:24px;box-shadow:0 18px 70px #0004;border-radius:3px;backdrop-filter:blur(14px)}.goal-line{display:flex;gap:10px;color:var(--gold);font-size:11px;line-height:1.7;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:16px}.goal-dot{flex:0 0 5px;height:5px;background:var(--gold);transform:rotate(45deg);margin-top:6px}.narration{font-size:13px;color:#ebe4d5;line-height:1.95;margin-bottom:19px}.actions{display:flex;flex-direction:column;gap:8px;scroll-margin-top:20px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px;border-radius:2px;padding:12px 17px;text-align:center;font-size:12px;line-height:1.5;transition:background .2s;border:1px solid transparent;text-decoration:none}.primary{background:#d5bd85;color:#162c23;border-color:#e0cd9d}.primary:hover:not(:disabled){background:#e7d3a5}.secondary{background:#294036;color:#f4ead6;border-color:#c3b28366}.secondary:hover:not(:disabled){background:#3b5548}.quiet{background:transparent;border-color:#a8b2a42a;color:#d5d6c8}.quiet:hover:not(:disabled){background:#d4cfac14}.large{min-height:56px;font-size:14px}.interaction-hint{font-size:10px;line-height:1.8;color:#afbdb0;margin:17px 0 0}.spell-name{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:21px;margin:0 0 7px}.actions>p{font-size:12px;color:var(--muted);margin:0 0 10px}.action-dock{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);display:flex;gap:4px;align-items:center;padding:8px 13px;border:1px solid var(--line);background:#102521f5;box-shadow:0 10px 55px #0007;backdrop-filter:blur(14px);border-radius:5px}.action-dock button{display:flex;gap:10px;align-items:center;justify-content:center;min-width:114px;padding:14px 17px;min-height:50px;background:transparent;border:1px solid transparent;color:#c9cdbf;font-size:12px;border-radius:3px}.action-dock button[aria-pressed=true]{border-color:#d5b77770;background:#d5b77715;color:#f0d69b}.action-dock button:hover{background:#d5b7771f}.action-dock .icon{width:20px;height:20px}.action-dock kbd{font:10px var(--sans);border:1px solid #b8c0af33;padding:2px 4px;color:#b2bbaa}.dock-divider{height:25px;width:1px;background:var(--line);margin:0 7px}.count{font-size:10px;color:var(--gold)}.scene-footer{position:absolute;bottom:20px;left:3.8vw;right:3.8vw;display:flex;justify-content:space-between;color:#b7c0b0;font-size:10px;letter-spacing:1px}.scene-footer .icon{width:12px;height:12px;margin-right:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:10px;top:-100px;z-index:20;background:var(--panel);padding:15px}.skip:focus{top:10px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;background:#f4e8cd;color:#1b3029;box-shadow:0 8px 45px #0007;border:1px solid #d9c9a3;padding:17px 23px;font-size:13px;line-height:1.7;z-index:30}dialog{background:linear-gradient(130deg,#16332e,#101f1c);color:var(--cream);border:1px solid #cbbb885c;border-radius:5px;padding:33px 40px;width:min(590px,calc(100vw - 36px));max-height:calc(100svh - 60px);box-shadow:0 35px 140px #000b;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8c886d #172e27}dialog::backdrop{background:#04110ba3;backdrop-filter:blur(5px)}dialog.wide{width:min(1020px,calc(100vw - 48px))}.modal-top{display:flex;justify-content:space-between;align-items:center;min-height:30px;margin-bottom:11px;gap:20px}.modal-top .icon-button{width:38px;height:38px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:26px}.lead{font-size:14px;line-height:1.9;color:#d4d7c8;max-width:750px}.stack{display:flex;flex-direction:column;gap:10px}.small{font-size:11px;color:#b9c2b3;line-height:1.8;margin-top:14px}.center{text-align:center}.welcome-ornament{color:var(--gold);font-size:31px;line-height:1;margin-bottom:18px}.identity-preview{display:flex;gap:18px;flex-wrap:wrap;color:var(--gold);font-size:11px;margin:23px 0 27px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.identity-preview span+span:before{content:'·';margin-right:18px;color:#809585}.privacy-note{font-size:10px;color:#b2bdad;line-height:1.8;margin:24px 0 16px}.fan-note{font-size:10px;line-height:1.8;color:#afbaac;margin-top:15px;margin-bottom:0}.welcome-language .language-label{display:flex;align-items:center;justify-content:space-between;font-size:10px}.welcome-language select{width:auto;min-height:38px;padding:7px 30px 7px 12px;margin:0}.question-meta{display:flex;justify-content:space-between;gap:18px;color:#bac6b5;font-size:10px;line-height:1.8;margin-bottom:13px}.progress-track{height:2px;background:#bfd0b529;margin-bottom:25px}.progress-track span{display:block;height:2px;background:var(--gold);transition:width .3s}.choices{display:grid;gap:10px}.choice{display:flex;align-items:center;gap:15px;min-height:63px;padding:15px 17px;text-align:left;border:1px solid #afbfaa3d;background:#f5ead604;color:#dde2d2;font-size:13px;line-height:1.7;border-radius:3px}.choice:hover{background:#c6bb8d15;border-color:#c6bb8d80}.choice.selected{background:#c6bb8d20;border-color:var(--gold);color:#f3e5bd}.choice-letter{font:12px var(--serif);color:#c1ac79;flex-shrink:0;width:17px}.choice .icon{margin-left:auto;width:18px}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 22px}.profile-card{position:relative;min-width:0;background:linear-gradient(180deg,#9cab8612,transparent);border:1px solid #c2b58442;padding:24px 21px 23px}.card-index{position:absolute;top:20px;right:17px;font:11px var(--serif);color:#c2b58480}.profile-card>.eyebrow{font-size:9px;letter-spacing:1.5px;padding-right:15px}.house-letter{width:65px;height:69px;display:grid;place-items:center;margin:24px auto 19px;border:1px solid #d3bf825e;border-radius:2px 2px 30px 30px;color:#ddc899;font:43px var(--serif);background:var(--house-color,#4b3c25)}.house-gryffindor{--house-color:#632f29}.house-hufflepuff{--house-color:#66572c}.house-ravenclaw{--house-color:#273f58}.house-slytherin{--house-color:#214d3c}.profile-card h3{text-align:center;font-family:var(--serif);font-size:25px}.profile-card p{font-size:11px;line-height:1.95;color:#bdcbb9;margin:21px 0 0;padding-top:18px;border-top:1px solid #acbc9c2b}.profile-symbol{display:grid;place-items:center;height:69px;margin:24px auto 19px;color:#d6c097}.profile-symbol .icon{width:49px;height:49px;stroke-width:.8}.silver{color:#d6edee;filter:drop-shadow(0 0 16px #b2e0ed88)}.patronus-card{background:linear-gradient(180deg,#8faabd13,transparent)}.card-detail{font-size:11px;line-height:1.85;color:#c7d0bd;text-align:center}.canon-note{font-size:11px;line-height:1.8;border-left:2px solid #a9bbb079;padding:0 0 0 13px;color:#bfcdbe}.journal{margin:23px 0;padding:19px 22px;background:#d5b7770a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.journal p{margin:9px 0 0;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px 25px}.form-grid label,.language-label{font-size:11px;color:#d1c4a1;display:block;line-height:1.7}.full{grid-column:1/-1}input:not([type=checkbox]),select{display:block;min-height:46px;width:100%;padding:10px 12px;background:#0c211d;border:1px solid #b8ba985c;border-radius:2px;color:#f0e6ce;margin-top:8px}select{padding-right:27px}label[hidden]{display:none}input[type=checkbox]{width:21px;height:21px;accent-color:#d5bd85;cursor:pointer}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:23px 0;font-size:13px}.settings-section{border-top:1px solid var(--line);margin-top:25px;padding-top:24px;margin-bottom:28px}.settings-section h3{font-size:17px}.settings-section p,details{font-size:11px;color:#c1c9b9;line-height:1.9}summary{cursor:pointer;min-height:44px;display:list-item;padding-top:10px}details li{padding:7px 0}.danger{color:#e5b5a1}.inventory-item{display:flex;gap:21px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.inventory-item>.icon{width:30px;height:30px;color:var(--gold)}.inventory-item strong{font-weight:400;font-size:15px}.inventory-item p{font-size:12px;color:#c4cebd;margin:7px 0 0}.inventory-item+.button{margin-top:25px}.dialogue-quote{font-family:var(--serif);font-size:21px;line-height:1.9;margin:24px 0 31px;color:#f1e6ce}.memo-document{background:#e5dcc5;color:#26362d;margin:-33px -40px 25px;padding:28px 40px}.memo-document .eyebrow{color:#6d6347}.memo-document .icon-button{color:#3e4c3d;border-color:#64745c77}.memo-document h2{font-size:28px}.memo-document p{font-size:13px}.memo-letter{white-space:pre-line;font-family:var(--serif);font-size:19px!important;padding:22px 0;line-height:2!important}.memo-fold{height:1px;background:#8b907942;margin:0 0 25px}.scene-enter{animation:scene-arrive .6s ease-out}.levitating .floating{animation:rise 1.2s ease-out,hovering 3s 1.2s ease-in-out infinite}.placing .placed{animation:place-memo 1.2s ease-in-out}.summoning:after{content:'';position:absolute;left:50%;top:60%;width:22px;height:4px;background:#eaf5e7;box-shadow:0 0 17px #eaf5e7;pointer-events:none;animation:summon .85s ease-in forwards;z-index:2}.reduce-motion *, .reduce-motion *::after{animation:none!important;transition:none!important}
@keyframes hovering{0%,100%{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,calc(-50% - 9px)) rotate(3deg)}}@keyframes scene-arrive{from{opacity:.3}to{opacity:1}}@keyframes rise{from{left:45%;top:82%;transform:translate(-50%,-50%) rotate(-7deg)}to{left:51%;top:59%;transform:translate(-50%,-50%)}}@keyframes place-memo{from{left:51%;top:59%;transform:translate(-50%,-50%) scale(1.5)}to{left:61.5%;top:74%;transform:translate(-50%,-50%) rotate(-8deg)}}@keyframes summon{to{left:42%;top:95%;transform:scale(3);opacity:0}}
@media(prefers-reduced-motion:reduce){*,*::after{animation:none!important;transition:none!important}}
@media(min-width:1500px){.play-panel{width:395px;right:5vw;bottom:160px;padding:29px}.narration{font-size:14px}.location{top:160px}.masthead{padding-top:31px}}
@media(max-width:1000px){.world{width:max(100vw,155vh)}.play-panel{width:330px;right:25px;padding:19px;bottom:135px}.location{left:25px;top:115px;max-width:260px}.location p{max-width:235px}.masthead{padding:22px 25px}.brand-title{font-size:12px;letter-spacing:2px}.header-tools time{display:none}.profile-grid{gap:10px}.profile-card{padding:22px 14px}.profile-card h3{font-size:21px}.action-dock button{min-width:102px;padding:12px}.hotspot{font-size:11px;padding:8px 11px}}
@media(max-width:700px){body{overflow:auto}#game{min-height:100svh;height:auto;overflow:hidden;padding-bottom:145px;display:flex;flex-direction:column}.world{position:relative;left:0;top:0;width:100%;height:auto;transform:none;order:1;z-index:0;min-height:0;margin-top:136px}.scene-shade{background:linear-gradient(180deg,#0c211929,transparent 70%,#102523 100%)}.ambient{position:fixed;filter:blur(22px) brightness(.25)}.masthead{position:absolute;left:0;right:0;top:0;padding:19px 20px;z-index:3}.brand-mark{width:32px;height:38px;font-size:22px}.brand{gap:11px}.brand-title{font-size:11px;letter-spacing:1.5px}.brand-sub{font-size:8px;letter-spacing:1.4px}.header-tools{gap:8px}.header-tools .icon-button{width:39px;height:39px}.location{position:absolute;top:94px;left:21px;max-width:calc(100% - 40px);z-index:2}.location>.eyebrow{font-size:8px;letter-spacing:2px}.location h1{font-size:24px;margin:5px 0 9px}.location-rule,.location p{display:none}.hotspot{min-height:44px;min-width:44px;padding:8px;gap:0;background:#0f2c23dd}.hotspot span{display:none}.hotspot .icon{width:18px;height:18px}.memo-token{padding:5px 9px;font-size:8px;min-height:44px;min-width:44px}.memo-token span{display:none}.memo-token .icon{width:22px;height:22px}.memo-token.placed{min-width:25px;min-height:22px;padding:2px}.memo-token.placed .icon{width:19px;height:19px}.play-panel{position:relative;right:auto;bottom:auto;order:2;width:auto;margin:8px 17px 0;border:1px solid #baa87442;padding:20px;background:#112b24ee;box-shadow:none;backdrop-filter:none}.goal-line{font-size:11px;margin-bottom:12px;padding-bottom:12px}.narration{font-size:13px;line-height:1.85;margin-bottom:15px}.button{font-size:12px;min-height:47px}.actions{gap:8px}.interaction-hint{margin-top:14px;font-size:10px}.action-dock{position:fixed;bottom:32px;left:12px;right:12px;transform:none;padding:6px 5px;gap:0;z-index:4;box-shadow:0 3px 35px #000a}.action-dock button{min-width:0;flex:1;flex-direction:column;gap:5px;padding:9px 4px;font-size:10px;min-height:58px;position:relative}.action-dock .icon{width:18px;height:18px}.action-dock kbd{display:none}.dock-divider{margin:0 5px;height:30px}.count{position:absolute;top:8px;right:calc(50% - 23px)}.scene-footer{position:fixed;left:0;right:0;bottom:0;height:32px;padding:10px 20px;background:#102523;z-index:4;font-size:8px;letter-spacing:.5px}.scene-footer .icon{width:10px;height:10px}dialog,dialog.wide{width:calc(100vw - 24px);max-height:calc(100svh - 28px);padding:24px 23px}h2{font-size:27px;line-height:1.45;margin-bottom:19px}.modal-top{margin-bottom:9px}.modal-top .eyebrow{font-size:9px}.lead{font-size:13px}.modal-actions{gap:8px;margin-top:22px}.modal-actions>.button{flex:1;min-width:110px}.identity-preview{font-size:10px;gap:12px}.identity-preview span+span:before{margin-right:12px}.profile-grid{grid-template-columns:1fr;gap:13px;margin:23px 0}.profile-card{display:grid;grid-template-columns:65px 1fr;gap:0 18px;padding:20px}.profile-card>.eyebrow{grid-column:2;grid-row:1;text-align:left;padding-right:10px}.profile-card h3{grid-column:2;grid-row:2;text-align:left;margin:5px 0;font-size:23px}.house-letter,.profile-symbol{grid-column:1;grid-row:1/4;margin:5px 0 0;height:60px;width:58px}.house-letter{font-size:35px}.profile-symbol .icon{width:40px;height:40px}.card-detail{grid-column:2;grid-row:3;text-align:left;font-size:10px}.profile-card p{grid-column:1/-1;font-size:11px;margin:15px 0 0;padding-top:13px}.card-index{top:16px;right:15px;font-size:10px}.form-grid{gap:17px 13px}.form-grid label{font-size:10px}select,input:not([type=checkbox]){font-size:13px;padding:10px 9px}.full select{font-size:11px}.question-meta{font-size:9px}.choice{min-height:59px;font-size:12px;padding:12px}.question-meta span:last-child{max-width:175px;text-align:right}.choice-letter{width:12px}.dialogue-quote{font-size:19px}.memo-document{margin:-24px -23px 23px;padding:24px}.memo-document h2{font-size:25px}.memo-letter{font-size:17px!important}#toast{bottom:110px;z-index:40;font-size:12px;padding:15px 18px}.fan-note{font-size:9px}.welcome-ornament{font-size:24px;margin-bottom:15px}.welcome-language select{font-size:11px}}
@media(max-width:370px){.brand-title{font-size:9px}.brand-sub{font-size:7px}.masthead{padding:17px 14px}.header-tools{gap:5px}.profile-card{padding:17px;gap:0 13px}.form-grid{grid-template-columns:1fr}.modal-actions>.button{flex-basis:100%}}
@media(max-height:680px) and (min-width:701px){.location{top:110px}.location p{display:none}.play-panel{bottom:119px;padding:17px;width:315px}.narration{font-size:12px;margin-bottom:12px;line-height:1.8}.goal-line{padding-bottom:10px;margin-bottom:11px}.interaction-hint{display:none}.action-dock{bottom:43px}.button{padding:9px 13px}.masthead{padding-top:18px;padding-bottom:18px}}

.summoned{pointer-events:none;animation:paper-summon 1.2s ease-in forwards}.received{pointer-events:none;animation:paper-receive 1s ease-in forwards}@keyframes paper-summon{0%{left:50%;top:62%;opacity:1}65%{left:44%;top:80%;opacity:1;transform:translate(-50%,-50%) scale(1.3) rotate(-15deg)}100%{left:43%;top:98%;opacity:0;transform:translate(-50%,-50%) scale(1.6) rotate(-20deg)}}@keyframes paper-receive{0%{opacity:1}100%{top:78%;opacity:0}}

.dialog-alert{padding:13px 16px;border:1px solid #d8b99588;background:#513b2e;color:#f4dfc5;font-size:12px;line-height:1.7}

.reduce-motion .summoned,.reduce-motion .received{display:none}@media(prefers-reduced-motion:reduce){.summoned,.received{display:none}}

/* Loaded record identity, before the existing explicit resume action. */
.resume-summary{border-block:1px solid var(--line);padding:16px 0;margin:18px 0}
.resume-source{font-size:12px;color:#c9cdbb;margin:0 0 14px}
.resume-summary dl{margin:0;display:grid;gap:12px}
.resume-summary dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px}
.resume-summary dt{font-size:12px;color:#b9c2b3;line-height:1.8}
.resume-summary dd{font-size:16px;line-height:1.65;margin:0;overflow-wrap:anywhere}
.resume-actions{justify-content:flex-start}
.resume-profile{margin-top:22px;border-top:1px solid var(--line);padding-top:8px}
.resume-profile>summary{font-size:13px;color:var(--cream)}
@media(max-width:700px){.resume-summary dl>div{grid-template-columns:1fr;gap:2px}.resume-summary dd{font-size:15px}.resume-actions>.button{flex-basis:100%}}

/* Only the resume modal: keep the summary compact and its unchanged cards readable. */
dialog.wide.resume-dialog{width:min(760px,calc(100vw - 48px))}
.resume-dialog .profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
@media(max-width:740px){dialog.wide.resume-dialog{width:calc(100vw - 24px)}}

/* Updates use the existing Settings control and never cover the game. */
[data-action="settings"].client-update-available{position:relative}
[data-action="settings"].client-update-available::after{content:"";position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:#edcf8c;border:2px solid #102523}
.client-update-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.client-update-actions [aria-disabled="true"]{opacity:.55;cursor:default}
.client-update [data-client-update-status]{color:var(--cream)}
.client-update [data-client-update-help]{margin-bottom:0}
.client-update [hidden],[data-client-update-advisory][hidden]{display:none!important}

/* The assignment is a remembered ceremony: full scene, deliberate pauses, a single reveal. */
:root{font-size:16px}
dialog.ceremony-shell{width:min(1360px,calc(100vw - 48px));max-width:none;max-height:calc(100svh - 36px);padding:0;background:#080b0c;border:1px solid #b2a47f66;border-radius:4px;isolation:isolate;overflow-x:hidden;overflow-y:auto;box-shadow:0 35px 150px #000d}
.ceremony-shell::backdrop{background:#020706e6;backdrop-filter:blur(10px)}
.ceremony-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;pointer-events:none;opacity:.95}
.ceremony-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#080b0bea 0%,#080b0bc9 31%,#080b0b4f 56%,#080b0b05 76%),linear-gradient(0deg,#050908eb,transparent 18%,transparent 85%,#050908b8);z-index:-2;pointer-events:none}
.ceremony-layout{min-height:min(790px,calc(100svh - 38px));display:flex;flex-direction:column;position:relative}
.ceremony-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 42px;border-bottom:1px solid #d3c29921;position:relative;z-index:1}
.ceremony-brand{font:13px var(--serif);letter-spacing:3px;color:#e6d7b7}
.ceremony-tools{display:flex;gap:16px;align-items:center}.ceremony-tools .icon-button{border-color:#d5bd8547;background:#0a141080;width:42px;height:42px}
.sound-toggle{min-height:44px;padding:8px 0;background:transparent;color:#cfcebe;font-size:13px;border-bottom:1px solid #d8cd9a4d;white-space:nowrap}.sound-toggle[aria-pressed=true]{color:#efd39b}
.ceremony-footer{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding:20px 42px;color:#b9bbad;border-top:1px solid #d3c29921;font-size:12px;letter-spacing:1.2px;line-height:1.6}
.ritual-copy{width:54%;max-width:670px;padding:55px 35px 38px 60px;margin-top:auto;margin-bottom:auto}
.ceremony-shell .eyebrow{font-size:12px;letter-spacing:2px;color:#d6bb84;line-height:1.8}
.ceremony-shell h2{font-size:clamp(32px,3.6vw,54px);line-height:1.45;letter-spacing:-.04em;margin:17px 0 22px;font-family:var(--serif);text-wrap:balance}
.ritual-lead{font-size:17px;color:#dedfd3;line-height:1.95;word-break:keep-all;overflow-wrap:anywhere;margin-bottom:25px}
.ritual-meta{font-size:13px;color:#b6c0b2;line-height:1.8;margin:19px 0 0;word-break:keep-all}
.ritual-legal{font-size:12px;line-height:1.8;color:#b4bcb0;margin-top:23px;word-break:keep-all}
.ritual-seal-line{display:flex;flex-wrap:wrap;gap:11px 23px;border-top:1px solid #d0ba853d;border-bottom:1px solid #d0ba853d;padding:17px 0;margin:29px 0;font-size:13px;letter-spacing:.3px;color:#dbc89f}
.ritual-start-actions{display:flex;flex-direction:column;gap:9px;max-width:410px}
.ceremony-shell .button{font-size:15px;line-height:1.65;min-height:50px;padding:13px 20px;border-radius:1px}
.ceremony-shell .button.large{min-height:57px;font-size:16px;padding:14px 20px}
.ceremony-shell .primary{background:linear-gradient(120deg,#e0cb97,#cdb179);border-color:#d4c18f;color:#14221d;box-shadow:0 2px 18px #0a0b06b3}
.ceremony-shell .primary:hover:not(:disabled){background:#eddbaf;box-shadow:0 0 22px #cab2722b;transform:none}
.ceremony-shell .quiet{border-color:#d0bf932e;color:#d4d9cb}
.ceremony-shell .welcome-language{margin-top:17px;max-width:410px}.ceremony-shell .language-label{font-size:13px}.ceremony-shell .welcome-language select{font-size:13px;min-height:42px;background:#111917cc;border-color:#b0a47e59}
.question-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:55px;padding:53px 60px 45px;flex:1;align-items:center}
.question-story{align-self:center}.question-story h2{font-size:clamp(31px,3vw,46px);line-height:1.5;margin:20px 0 26px}.question-story .ritual-lead{font-size:17px;line-height:2;max-width:420px}
.question-answers{background:#0a1411e8;backdrop-filter:blur(12px);border:1px solid #acb59b30;padding:28px;border-radius:2px;box-shadow:0 15px 65px #0005}
.answer-instruction{font-size:14px;line-height:1.8;color:#d2ccb9;margin-bottom:18px}
.ceremony-shell .choices{gap:11px}.ceremony-shell .choice{min-height:83px;padding:17px 18px;gap:15px;background:#1a231d94;border-color:#a3b09543;font-size:15px;line-height:1.9;align-items:center;word-break:keep-all;overflow-wrap:anywhere;transition:background .22s,border-color .22s,box-shadow .22s}
.ceremony-shell .choice:hover{background:#38443491;border-color:#dfc48b99}.ceremony-shell .choice.selected{background:#a28a452d;border-color:#e2c78c;box-shadow:inset 3px 0 #d8bd83}.ceremony-shell .choice-letter{font-size:13px;width:14px;color:#c5b083}.choice-check{width:18px;flex-shrink:0;margin-left:auto}.choice-check .icon{width:18px;height:18px}
.question-progress{padding-top:25px;margin-top:31px;border-top:1px solid #d3c29936;display:flex;align-items:center;gap:28px;font-size:13px;color:#d2c4a4;flex-wrap:wrap}.chapter-marks{display:flex;gap:7px}.chapter-marks i{display:block;width:17px;height:3px;background:#adb19b37}.chapter-marks .filled{background:#dec48b}
.ceremony-shell .modal-actions{margin-top:22px;gap:10px}.ceremony-shell .modal-actions .primary{flex:1}
.tie-copy{max-width:730px;width:60%;padding-top:50px;padding-bottom:50px}.tie-copy .choices{margin-top:30px}.tie-copy .choice{font-size:17px;line-height:1.9;min-height:92px}.tie-copy .choice>.icon{margin-left:auto;width:20px}.tie-copy .ritual-lead{font:20px/1.9 var(--serif)}
.ritual-phase{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:440px;margin-bottom:15px}.phase-count{font:13px var(--serif);color:#c9c0a7;letter-spacing:3px;white-space:nowrap}
.revelation-copy{padding-top:44px;padding-bottom:35px}.prelude-evidence{margin:30px 0 26px;padding:23px 0 7px;border-top:1px solid #c7b17d40}.evidence-list{list-style:none;padding:0;margin:13px 0 16px;display:grid;gap:13px}.evidence-list li{position:relative;padding-left:17px;font-size:15px;color:#d7dece;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}.evidence-list li:before{content:'·';position:absolute;left:0;color:#c7ab76;font-size:22px;line-height:1.2}
.recognition-line{font:23px/1.8 var(--serif);white-space:pre-line;color:#e0d4b4;margin:20px 0 17px;letter-spacing:-.015em}
.ceremony-shell h2.assigned-name{font-family:var(--serif);font-size:clamp(43px,5vw,74px);line-height:1.25;letter-spacing:-.045em;color:var(--reveal-color,#e8d7b0);text-shadow:0 0 36px var(--reveal-glow,#bda25d33);margin:15px 0 27px;overflow-wrap:anywhere}
.house-tone-gryffindor{--reveal-color:#f2c390;--reveal-glow:#d0824280}.house-tone-hufflepuff{--reveal-color:#eadd9e;--reveal-glow:#d7b75b80}.house-tone-ravenclaw{--reveal-color:#b9d9ed;--reveal-glow:#6187b180}.house-tone-slytherin{--reveal-color:#bbd6bc;--reveal-glow:#4eaa8380}
.ritual-reading{font-size:16px;line-height:2;color:#d5ddcf;word-break:keep-all;overflow-wrap:anywhere;margin:20px 0}
.chosen-value{border-left:2px solid #ccb57a77;padding-left:16px;font-size:14px;line-height:1.9;color:#d3c3a1;margin:25px 0}
.evidence-ledger{border-top:1px solid #d3c29940;border-bottom:1px solid #d3c29940;margin:23px 0;color:#bfc8b8}.evidence-ledger summary{font-size:14px;min-height:51px;padding:13px 0;color:#d5c29b;line-height:1.75}.other-quality{font-size:14px;line-height:1.95;border-top:1px solid #acb59b30;padding-top:16px;color:#c4ccbc}
.core-assignment{font:25px/1.5 var(--serif);color:#dbc398;margin:-12px 0 25px}.ceremony-shell h2.wand-assignment{font-size:clamp(38px,4.5vw,63px);color:#edcc96}.form-reading{font:22px/1.8 var(--serif);color:#c4e0e6;margin:10px 0 24px}.ceremony-shell h2.silver-name{color:#e3f4f7;text-shadow:0 0 35px #b2e6ff77;font-size:clamp(45px,5.7vw,79px)}
.memory-quote{margin:28px 0;padding:22px 0 22px 20px;border-left:2px solid #b4e4ec80;font:19px/1.95 var(--serif);color:#d9eced;word-break:keep-all;overflow-wrap:anywhere;background:linear-gradient(90deg,#719ab414,transparent)}
.reveal-actions{display:flex;gap:10px;margin-top:31px;align-items:stretch}.reveal-actions .primary{flex:1}.reveal-actions .quiet{min-width:69px}.skip-ceremony{min-height:44px;display:block;color:#b8c2b3;font-size:13px;padding:12px 0;background:transparent;text-align:left;margin-top:10px;border-bottom:1px solid #b8c2b330}.skip-ceremony:hover{color:#ead4a4}
.ceremony-shell.revealed .assigned-name{animation:identity-arrives 1.05s cubic-bezier(.19,1,.22,1) both}.ceremony-shell.revealed .recognition-line{animation:words-settle .65s ease both}.ceremony-shell.revealed .ceremony-art{animation:light-answers 1.8s ease both}.ceremony-shell.revealed[data-ceremony=patronus] .ceremony-art{animation:silver-answers 2s ease both}.ceremony-shell[data-ceremony=patronus]{--gold:#c0dce1}.ceremony-shell[data-ceremony=patronus] .eyebrow{color:#c0dce1}
@keyframes identity-arrives{from{opacity:.18;filter:blur(5px);transform:translateY(8px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes words-settle{from{opacity:.45}to{opacity:1}}@keyframes light-answers{0%{filter:brightness(.65)}45%{filter:brightness(1.3)}100%{filter:brightness(1)}}@keyframes silver-answers{0%{filter:brightness(.6)}50%{filter:brightness(1.4) saturate(.85)}100%{filter:brightness(1.12)}}
.illustrated-record{gap:18px}.illustrated-record .profile-card{padding:0;background:#122a23;border-color:#b5ab7d4d;display:block;overflow:hidden}.record-art{display:block;width:100%;height:150px;object-fit:cover;object-position:72% 50%;mask-image:linear-gradient(#000 75%,transparent)}.record-card-copy{padding:7px 23px 25px}.illustrated-record .profile-card .eyebrow{font-size:12px;letter-spacing:1px}.illustrated-record .profile-card h3{text-align:left;font:29px/1.4 var(--serif);margin:16px 0 8px;letter-spacing:-.025em}.illustrated-record .profile-card p{font-size:14px;line-height:1.95;margin:18px 0 0;padding-top:17px;color:#cbd6c2}.illustrated-record .card-detail{text-align:left;font-size:14px;line-height:1.85}.illustrated-record+.canon-note{font-size:13px;line-height:1.9}
dialog.wide{width:min(1120px,calc(100vw - 42px));padding:35px 40px}.lead{font-size:16px}.modal-top .eyebrow{font-size:12px}.button{font-size:14px}.canon-note,.small{font-size:13px}.form-grid label,.language-label{font-size:14px}.form-grid input,.form-grid select{font-size:15px}.goal-line{font-size:13px}.narration{font-size:15px;line-height:1.9}.actions>p{font-size:14px}.interaction-hint{font-size:12px}.action-dock button{font-size:14px}.scene-footer{font-size:12px;letter-spacing:.3px}.brand-sub{font-size:12px;letter-spacing:1px}.location p{font-size:14px}
@media(min-width:1700px){.ritual-copy{padding-left:76px;max-width:690px}.ceremony-layout{min-height:830px}.question-layout{padding:65px 70px;gap:70px}}
@media(max-width:1060px){dialog.ceremony-shell{width:calc(100vw - 28px)}.ceremony-header{padding:20px 30px}.ceremony-footer{padding:18px 30px}.ritual-copy{width:61%;padding-left:40px;padding-right:25px}.question-layout{gap:28px;padding:34px}.question-answers{padding:21px}.question-story h2{font-size:33px}.question-story .ritual-lead{font-size:16px}.ceremony-shell .choice{font-size:14px;padding:15px 13px;gap:11px;min-height:87px}.tie-copy{width:69%}.ceremony-shell h2{font-size:40px}.ritual-lead{font-size:16px}.ceremony-shell .recognition-line{font-size:21px}.record-card-copy{padding:8px 18px 20px}.illustrated-record .profile-card h3{font-size:25px}}
@media(max-width:740px){dialog.ceremony-shell{width:calc(100vw - 16px);max-height:calc(100svh - 16px);border-radius:3px}.ceremony-layout{min-height:0}.ceremony-header{padding:15px 20px;gap:15px;background:#07100fe6}.ceremony-brand{font-size:12px;letter-spacing:1.2px}.ceremony-tools{gap:12px}.sound-toggle{font-size:12px;min-height:40px}.ceremony-tools .icon-button{width:38px;height:38px}.ceremony-art{height:370px;top:59px;object-position:73% center;opacity:.95}.ceremony-vignette{background:linear-gradient(0deg,#07100f 0%,#07100f 62%,#07100f1c 83%,#07100f22 100%)}.ritual-copy{width:100%;max-width:none;padding:203px 26px 28px;margin:0}.ceremony-shell h2{font-size:36px;line-height:1.45;margin:14px 0 20px}.ritual-lead{font-size:16px;line-height:1.95}.ritual-seal-line{font-size:12px;gap:10px 15px;margin:24px 0}.ritual-start-actions{max-width:none}.ceremony-shell .button,.ceremony-shell .button.large{font-size:15px;min-height:53px}.ritual-meta{font-size:12px}.ritual-legal{font-size:12px}.ceremony-footer{font-size:12px;letter-spacing:.2px;padding:18px 24px;gap:12px;align-items:flex-end}.ceremony-footer span:last-child{max-width:150px;text-align:right;font-size:12px;line-height:1.7}.ceremony-shell .welcome-language{max-width:none}.question-layout{display:flex;flex-direction:column;gap:23px;padding:135px 23px 26px;align-items:stretch}.question-story h2{font-size:32px;line-height:1.5;max-width:100%;margin:12px 0 17px}.question-story .ritual-lead{font-size:16px;margin-bottom:13px;max-width:none}.question-story .ritual-meta{display:none}.question-progress{margin:18px 0 0;padding-top:15px;gap:15px;justify-content:space-between}.chapter-marks{gap:6px}.chapter-marks i{width:13px}.question-answers{padding:0;border:0;box-shadow:none;background:transparent;backdrop-filter:none}.answer-instruction{font-size:13px;margin-bottom:13px}.ceremony-shell .choice{font-size:15px;line-height:1.9;min-height:85px;padding:17px 14px;gap:12px;background:#18251ee8}.ceremony-shell .choice-letter{font-size:13px}.choice-check{width:16px}.question-answers .modal-actions{position:relative;margin-top:20px;flex-wrap:nowrap}.question-answers .modal-actions .button{min-width:0}.tie-copy{width:100%;padding-top:165px}.tie-copy .ritual-lead{font-size:19px;line-height:1.9}.tie-copy .choice{font-size:16px}.ritual-phase{max-width:none;gap:12px}.ritual-phase .eyebrow{font-size:12px;letter-spacing:1.1px}.phase-count{font-size:12px;letter-spacing:2px}.revelation-copy{padding-top:195px}.recognition-line{font-size:21px!important;line-height:1.8;margin-top:21px}.ceremony-shell h2.assigned-name{font-size:53px;line-height:1.3;margin:17px 0 23px}.ceremony-shell h2.wand-assignment{font-size:43px}.ceremony-shell h2.silver-name{font-size:56px}.core-assignment{font-size:24px;margin-top:-8px}.ritual-reading{font-size:16px;line-height:2}.prelude-evidence{margin-top:24px;padding-top:21px}.evidence-list li{font-size:15px;line-height:1.9}.evidence-ledger summary{font-size:14px}.other-quality,.chosen-value{font-size:14px}.memory-quote{font-size:19px;padding-left:16px;margin:22px 0}.form-reading{font-size:20px}.reveal-actions{margin-top:26px;gap:8px}.reveal-actions .button{min-width:0}.reveal-actions .quiet{min-width:60px;padding:10px 12px}.skip-ceremony{font-size:13px}.ceremony-shell .dialog-alert{margin:15px 0;font-size:14px}.illustrated-record{display:grid;grid-template-columns:1fr;gap:18px}.illustrated-record .profile-card{display:block}.record-art{height:180px}.record-card-copy{padding:0 23px 23px}.illustrated-record .profile-card h3{font-size:30px;margin-top:14px}.illustrated-record .profile-card p{font-size:15px}.illustrated-record .profile-card .eyebrow{font-size:12px}.illustrated-record .card-detail{font-size:15px}dialog.wide{width:calc(100vw - 24px);padding:25px 24px}.scene-footer{font-size:10px}.brand-sub{font-size:10px}.action-dock button{font-size:12px}.narration{font-size:15px}.goal-line{font-size:13px}.interaction-hint{font-size:12px}.full select{font-size:14px}}
@media(max-width:380px){.ceremony-header{padding:12px 16px;gap:9px}.ceremony-brand{font-size:12px;letter-spacing:.6px}.ceremony-tools{gap:8px}.sound-toggle{font-size:12px}.ceremony-tools .icon-button{width:35px;height:35px}.ritual-copy{padding-left:21px;padding-right:21px}.ceremony-shell h2{font-size:31px}.question-layout{padding-left:19px;padding-right:19px}.question-story h2{font-size:29px}.ceremony-shell .choice{padding:15px 12px;font-size:14px}.ceremony-shell h2.assigned-name{font-size:44px}.ceremony-shell h2.wand-assignment{font-size:36px}.ceremony-shell h2.silver-name{font-size:48px}.question-answers .modal-actions .button{flex-basis:auto}.ceremony-shell .button.large{font-size:14px}.ceremony-footer{padding-left:20px;padding-right:20px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.ceremony-shell *{animation:none!important;transition:none!important}}.reduce-motion .ceremony-shell *{animation:none!important;transition:none!important}

@media(max-width:740px){.welcome-copy{padding-top:clamp(90px,17svh,135px)}}

/* Keep the next decision visible while retaining the complete scene and answers. */
.ritual-start-actions .ritual-path-note{margin:0 0 13px;color:#bfc7b9;font-size:13px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere}
.ritual-start-actions .ritual-path-note:last-child{margin-bottom:0}
.question-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.question-count{flex-shrink:0;color:#d2c4a4;font-size:13px;line-height:1.8}
@media(max-width:740px){
  .questionnaire .ceremony-header{padding-block:10px}
  .questionnaire .ceremony-art{top:61px;height:250px;opacity:.55}
  .questionnaire .ceremony-vignette{background:linear-gradient(0deg,#07100f 0%,#07100f 58%,#07100f8a 100%)}
  .questionnaire .question-layout{padding:25px 23px 22px;gap:18px}
  .questionnaire .question-story{align-self:stretch}
  .questionnaire .question-story h2{font-size:29px;line-height:1.4;margin:12px 0 15px}
  .questionnaire .question-story .ritual-lead{font-size:16px;line-height:1.7;margin:0}
  .questionnaire .answer-instruction{font-size:13px;line-height:1.6;margin-bottom:10px}
  .questionnaire .choices{gap:8px}
  .questionnaire .choice{min-height:66px;padding:12px;gap:10px;font-size:15px;line-height:1.6}
  .questionnaire .question-answers .modal-actions{margin-top:16px}
  .questionnaire .ceremony-footer{padding-block:12px}
}
@media(max-width:380px){
  .questionnaire .question-layout{padding:20px 18px;gap:16px}
  .questionnaire .question-story h2{font-size:27px}
  .questionnaire .choice{padding:11px 10px;gap:8px}
  .questionnaire .question-heading .eyebrow{letter-spacing:1px}
}

/* Generated physical assets stay separate from the accessible action controls. */
.house-revelation{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;flex:1}
.house-revelation .revelation-copy{width:100%;max-width:none;margin:0;padding-right:24px}
.house-crest-stage{position:sticky;top:56px;display:grid;place-items:center;isolation:isolate;margin:64px 36px 42px 12px;padding:34px 20px;min-width:0;pointer-events:none}
.house-crest-stage:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse,var(--reveal-glow) 0%,transparent 68%);opacity:.45;filter:blur(18px)}
.house-crest{display:block;max-width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 22px #000b)}
.revealed-crest{width:min(100%,200px);max-height:254px;animation:crest-arrives 1.15s cubic-bezier(.2,.7,.2,1) both}
.record-house-art{display:grid;place-items:center;height:150px;padding:10px 20px;background:radial-gradient(ellipse at 50% 25%,var(--reveal-glow),transparent 73%),#0b1714;overflow:hidden}
.record-crest{width:130px;height:130px;filter:drop-shadow(0 4px 9px #0009)}
@keyframes crest-arrives{from{opacity:0;transform:translateY(12px) scale(.94);filter:brightness(.55) drop-shadow(0 8px 22px #000b)}to{opacity:1;transform:none;filter:brightness(1) drop-shadow(0 8px 22px #000b)}}
@media(max-width:1060px){.house-revelation{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.house-crest-stage{margin:86px 20px 30px 0;padding:24px 12px}}
@media(max-width:740px){.house-revelation{display:flex;flex-direction:column}.house-crest-stage{position:relative;top:auto;order:-1;align-self:center;width:min(65vw,240px);margin:12px 0 0;padding:18px 16px 10px}.revealed-crest{width:100%;height:190px;max-height:none}.house-revelation .revelation-copy{padding:16px 26px 28px}.record-house-art{height:180px;padding:12px 24px}.record-crest{width:156px;height:156px}}
@media(prefers-reduced-motion:reduce){.revealed-crest{animation:none!important}}.reduce-motion .revealed-crest{animation:none!important}
.followup-layout .question-story .ritual-lead{font-family:var(--serif);font-size:21px;line-height:1.95}.followup-layout .choice{min-height:105px;font-size:16px}.followup-layout .choice>.icon{width:18px;height:18px;margin-left:auto;flex-shrink:0}
.followup-echo{border-left:2px solid #c9ae7866;padding:14px 0 14px 20px;margin:24px 0;font:19px/1.95 var(--serif);color:#d8d9c4;word-break:keep-all}.followup-echo>span{display:block;font:12px/1.8 var(--sans);color:#b8b89f;letter-spacing:1px;margin-bottom:9px}
.patronus-figure{position:absolute;right:4%;top:24%;width:40%;max-width:480px;aspect-ratio:1;z-index:0;mix-blend-mode:screen;pointer-events:none;animation:guardian-arrives 1.5s ease-out both,guardian-breathes 6s 1.5s ease-in-out infinite}
.patronus-sprite{width:100%;height:100%;background-image:url('./assets/patronus-atlas.png');background-size:400% 300%;background-position:var(--cell-x) var(--cell-y);background-repeat:no-repeat;transform:scale(.86);filter:drop-shadow(0 0 12px #b5ddf526)}
.manifested .ceremony-art{opacity:.69}.manifested .revelation-copy{position:relative;z-index:1}.manifested .ceremony-vignette{background:linear-gradient(90deg,#070e11f0,#070e11d9 33%,#070e1133 66%,#070e1144),linear-gradient(0deg,#04090cf0,transparent 29%)}
.record-patronus-art{position:relative;height:150px;overflow:hidden;background:#0c1921 url('./assets/ceremony-patronus.png') center/cover}.record-patronus-art:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 72%,#122a23);pointer-events:none}.record-figure{inset:auto;left:50%;top:50%;width:165px;max-width:none;height:165px;aspect-ratio:1;transform:translate(-50%,-50%);animation:none}.record-figure .patronus-sprite{filter:none;transform:scale(.94)}
.held-wand{position:absolute;right:23%;bottom:9%;width:32%;height:auto;max-width:580px;mix-blend-mode:screen;pointer-events:none;z-index:2;transform-origin:89% 91%;transform:translateY(var(--wand-rise,0px)) rotate(var(--wand-turn,0deg)) scale(var(--wand-size,1));transition:transform .18s ease-out;filter:brightness(1.08)}
.summoning .held-wand,.levitating .held-wand{animation:wand-answers 1.2s ease-in-out}.summoning .held-wand.core-unicorn{animation:wand-steady 1.2s ease-in-out}.summoning .held-wand.core-dragon{animation:wand-bright 1.2s ease-in-out}.summoning .held-wand.core-phoenix{animation:wand-pulse 1.35s ease-in-out}
.wand-signature{padding-bottom:15px;margin-bottom:14px;border-bottom:1px solid #a9b69744}.wand-signature>span{display:block;font-size:12px;color:#bec7b1;margin-bottom:7px}.wand-signature strong{font-weight:400;font-family:var(--serif);font-size:18px;color:#e4cc96;line-height:1.7}
@keyframes guardian-arrives{0%{opacity:0;filter:blur(15px);transform:translateY(18px) scale(.94)}55%{opacity:.8;filter:blur(2px)}100%{opacity:1;filter:blur(0);transform:none}}@keyframes guardian-breathes{0%,100%{transform:translateY(0);opacity:1}50%{transform:translateY(-8px);opacity:.92}}
@keyframes wand-answers{0%,100%{filter:brightness(1.08)}35%{filter:brightness(2.1) drop-shadow(0 0 10px #a9dcec66)}}@keyframes wand-steady{0%,100%{filter:brightness(1.08)}25%,75%{filter:brightness(1.65) drop-shadow(0 0 8px #c6ecd660)}}@keyframes wand-bright{0%,100%{filter:brightness(1.08)}20%{filter:brightness(2.8) drop-shadow(0 0 13px #ecc49488)}55%{filter:brightness(1.35)}}@keyframes wand-pulse{0%,100%{filter:brightness(1.08)}30%,68%{filter:brightness(1.95) drop-shadow(0 0 10px #bcc8ea66)}49%{filter:brightness(1.35)}}
@media(max-width:1060px){.patronus-figure{right:0;width:41%;top:27%}.followup-layout .question-story .ritual-lead{font-size:19px}.followup-layout .choice{font-size:15px}.held-wand{right:24%;width:37%}}
@media(max-width:740px){.patronus-figure{right:auto;left:50%;top:76px;width:min(70vw,300px);max-width:none;transform:translateX(-50%);animation:guardian-mobile-arrives 1.5s ease-out both,guardian-mobile-breathes 6s 1.5s ease-in-out infinite}.manifested .revelation-copy{padding-top:290px}.manifested .ceremony-art{height:450px;opacity:.7}.manifested .ceremony-vignette{background:linear-gradient(0deg,#07100f 0%,#07100f 65%,#07100f55 87%,#07100f44 100%)}.record-patronus-art{height:180px}.record-figure{left:50%;top:50%;width:190px;height:190px;transform:translate(-50%,-50%);animation:none}.followup-layout .question-story .ritual-lead{font-size:19px}.followup-layout .choice{min-height:100px;font-size:15px}.followup-echo{font-size:17px;line-height:1.9}.held-wand{right:-3%;bottom:-1%;width:57%;max-width:none}.wand-signature strong{font-size:18px}}
@keyframes guardian-mobile-arrives{0%{opacity:0;filter:blur(14px);transform:translate(-50%,16px) scale(.94)}100%{opacity:1;filter:blur(0);transform:translateX(-50%)}}@keyframes guardian-mobile-breathes{0%,100%{transform:translate(-50%,0);opacity:1}50%{transform:translate(-50%,-7px);opacity:.92}}
@media(prefers-reduced-motion:reduce){.patronus-figure,.held-wand{animation:none!important;transition:none!important}.patronus-figure{filter:none;opacity:1}}.reduce-motion .patronus-figure,.reduce-motion .held-wand{animation:none!important;transition:none!important;filter:none;opacity:1}

/* The house crest accompanies the assigned identity while the Sorting Hat remains visible. */
.house-identity-label{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:20px;align-items:center;margin:15px 0 13px;}
.house-identity-label .identity-label-copy{min-width:0;}
.ceremony-shell .house-identity-label h2.assigned-name{font-size:clamp(43px,5vw,74px);margin:0 0 16px;}
.house-identity-label .house-colours{margin:0;}
.house-identity-label .house-crest-stage{position:static;top:auto;display:grid;place-items:center;isolation:isolate;justify-self:end;align-self:center;order:0;width:116px;height:138px;max-width:none;margin:0;padding:10px 9px;min-width:0;background:#000;border:1px solid #bb945c77;border-radius:48%;overflow:hidden;box-shadow:inset 0 0 0 4px #000,inset 0 0 0 5px #bb945c33;}
.house-identity-label .house-crest-stage:before{display:none;}
.house-identity-label .house-crest-stage>.revealed-crest{width:100%;height:116px;max-height:116px;mix-blend-mode:normal;filter:none;padding:0;object-fit:contain;}
@media(max-width:740px){
.house-revelation .revelation-copy{padding-top:206px;}
.house-identity-label{grid-template-columns:minmax(0,1fr) 100px;gap:14px;margin:14px 0 23px;}
.ceremony-shell .house-identity-label h2.assigned-name{font-size:36px;line-height:1.35;letter-spacing:-.045em;margin:0 0 12px;}
.house-identity-label .house-colours{font-size:13px;line-height:1.7;}
.house-identity-label .house-crest-stage{width:100px;height:120px;padding:9px 8px;}
.house-identity-label .house-crest-stage>.revealed-crest{height:100px;max-height:100px;}
}

/* Japanese house names retain a full-width title; the label accompanies the preceding Hat quotation. */
.house-identity-label.house-quote-label{margin:21px 0 15px;}
.house-quote-label .recognition-line{margin:0!important;white-space:normal;text-wrap:balance;}
@media(max-width:740px){.ceremony-shell h2.assigned-name.identity-wide-title{font-size:36px;line-height:1.35;letter-spacing:-.045em;}}

/* One material-specific sprite is used for reveal, record, inventory and play. */
.wand-figure{aspect-ratio:1;min-width:0;mix-blend-mode:var(--wand-blend,normal);pointer-events:none}
.wand-sprite{width:100%;height:100%;background-image:var(--wand-art);background-position:var(--wand-position);background-size:var(--wand-grid);background-repeat:no-repeat;transform:scale(var(--wand-length-scale,.8));transform-origin:center}
.wand-revelation{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:start;flex:1}
.wand-revelation .revelation-copy{width:100%;max-width:none;margin:0;padding-right:24px}
.wand-display{position:sticky;top:70px;min-width:0;margin:30px 22px 40px 0;isolation:isolate;text-align:center}
.wand-display:before{content:'';position:absolute;inset:4% 0 17%;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#040504d9 15%,#06070477 48%,transparent 72%);filter:blur(18px);pointer-events:none}
.revealed-wand{width:100%;max-width:620px;margin:auto;animation:wand-emerges 1.2s ease-out both}
.wand-display figcaption{font:15px/1.85 var(--serif);color:#dccbad;text-align:center;margin:-7px 20px 0;word-break:keep-all}
.wand-present .ceremony-art{opacity:.5}
.record-wand-art{display:grid;grid-template-rows:minmax(0,1fr);place-items:center;height:150px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#3c2e1e99,transparent 74%),#0a120f}
.record-wand{width:min(82%,300px);height:auto;transform:rotate(-32deg)}
.illustrated-record .profile-card .wand-design-caption{border:0;margin:10px 0 0;padding:0;color:#d2bd96;font-size:14px;line-height:1.85}
.inventory-wand{width:145px;height:145px;flex:0 0 145px;transform:rotate(-20deg)}
.wand-inventory-item{gap:10px}
.held-wand.wand-figure{height:auto;aspect-ratio:1;transform-origin:88% 88%;bottom:3%;width:35%;right:20%}
.held-wand .wand-sprite{transform-origin:88% 88%}
.held-wand.wand-figure{filter:none}
@keyframes wand-emerges{from{opacity:0;transform:translateY(18px);filter:brightness(.65)}to{opacity:1;transform:none;filter:brightness(1)}}
@media(max-width:1060px){.wand-revelation{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wand-display{margin:60px 15px 30px 0}.held-wand.wand-figure{right:19%;width:39%}}
@media(max-width:740px){.wand-revelation{display:flex;flex-direction:column}.wand-display{position:relative;top:auto;order:-1;align-self:center;width:min(92vw,370px);margin:0}.revealed-wand{width:100%;max-width:none;height:auto}.wand-display figcaption{font-size:14px;margin:-8px 15px 7px}.wand-revelation .revelation-copy{padding:17px 26px 28px}.record-wand-art{height:180px}.record-wand{width:min(82%,320px);height:auto}.inventory-wand{width:105px;height:105px;flex-basis:105px}.held-wand.wand-figure{right:-5%;bottom:-4%;width:59%}}
@media(prefers-reduced-motion:reduce){.revealed-wand{animation:none!important}}.reduce-motion .revealed-wand{animation:none!important}
.wand-inspect-button{margin:12px auto 4px;min-height:44px;font-size:14px}
dialog.wand-inspection{width:min(94vw,790px);max-width:790px;padding:28px 34px;background:radial-gradient(ellipse at 70% 30%,#24302944,transparent 65%),#091310}
.wand-inspection h2{margin-bottom:4px}.wand-inspection .original-name{margin-bottom:12px}
.inspection-spec{font-size:16px;line-height:1.8;color:#dacbad;margin-bottom:18px}
.inspection-controls{display:flex;gap:10px;flex-wrap:wrap}
.inspection-controls .button{min-height:44px;font-size:14px}
.inspection-controls [aria-pressed=true]{background:#dac49b;color:#102019;border-color:#dac49b}
.inspection-stage{width:min(100%,560px);aspect-ratio:1;margin:16px auto 12px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 48% 50%,#26332955,transparent 68%),#080e0b;border:1px solid #b8a17638}
.inspection-wand{width:100%;height:100%;position:relative;overflow:hidden}
.inspection-grip .wand-sprite{position:absolute;width:250%;height:250%;left:-145%;top:-145%;transform:none}
.inspection-stage figcaption{position:absolute;left:18px;bottom:12px;font-size:13px;line-height:1.6;color:#dccba9;background:#080e0bdb;padding:5px 10px}
.inspection-caption{font-size:14px;line-height:1.8;color:#c9bdab;text-align:center;margin:10px 0}
.wand-inspection .modal-actions{margin-top:18px}
@media(max-width:740px){dialog.wand-inspection{padding:20px 18px}.inspection-spec{font-size:14px}.inspection-stage{margin-top:16px}.inspection-controls .button{flex:1;justify-content:center}}

.wand-measurement{color:#f1dfb6;font-size:18px;line-height:1.7;margin:0 0 10px}
.original-name{font-size:14px;line-height:1.6;color:#bcc8c6;margin:0 0 16px;overflow-wrap:anywhere}
.house-colours{font-size:14px;line-height:1.7;color:var(--reveal-color,#d6c39c);margin:0 0 20px}
:is(.official-patronus,.authored-patronus){mix-blend-mode:normal;aspect-ratio:800/630}
.patronus-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 7px #7cd4ee24)}
.sprite-patronus{mix-blend-mode:screen}
.canon-patronus-sprite{transform:scale(.94)}
/* Atlas A has larger native cell gutters to keep every wing tip separated. */
.patronus-figure:is([data-form=phoenix],[data-form=goat],[data-form=jackrussellterrier],[data-form=hare]) .canon-patronus-sprite{transform:scale(1.2)}
.record-figure:is(.official-patronus,.authored-patronus){width:220px;height:174px}
.record-patronus-art .record-figure.authored-patronus{max-height:100%}
.house-tone-ravenclaw{--reveal-color:#ebbc92;--reveal-glow:#456da280}
.form-grid label,.language-label,.settings-section p,.settings-section details{font-size:14px}
.canon-note{font-size:13px}
@media(max-width:740px){.wand-measurement{font-size:16px}.record-figure:is(.official-patronus,.authored-patronus){width:255px;height:201px}:is(.official-patronus,.authored-patronus){width:min(84vw,350px)}.revelation-copy .original-name{margin-bottom:12px}}

/* Authored book-colour crest: opaque native art composed on the dark record surface. */
.record-house-art .record-crest[src$="ravenclaw-book-v52.png"],.conversation-art .record-crest[src$="ravenclaw-book-v52.png"]{padding:0;mix-blend-mode:screen;filter:none}

.recognition-evidence{margin:22px 0;padding:16px 0;border-top:1px solid #b9c5ae40;border-bottom:1px solid #b9c5ae40;color:#dee2d0;line-height:1.9}
.recognition-label,.recognition-motive>span{font:14px/1.7 var(--sans);color:#bac6ad;margin:0 0 12px}
.recognition-evidence ol{list-style:none;margin:0;padding:0;display:grid;gap:13px;font:17px/1.9 var(--serif)}
.recognition-evidence li{padding-left:15px;border-left:2px solid #c1ad7566}
.recognition-motive{margin-top:18px;padding-top:14px;border-top:1px solid #acb99e2d}.recognition-motive p{font:17px/1.9 var(--serif);margin:7px 0 0;color:#ead9b4}
.motive-context{font:14px/1.85 var(--sans);color:#bcc7b5;margin-top:10px}
.compact-recognition{font-size:14px;padding:12px 0;margin:16px 0}.compact-recognition summary,.guardian-memory summary{cursor:pointer;min-height:44px;align-content:center;font:14px/1.7 var(--sans);color:#d3cfad}
.compact-recognition[open] summary,.guardian-memory[open] summary{margin-bottom:14px}.compact-recognition ol,.compact-recognition .recognition-motive p{font-size:15px}
.ritual-wand-reading{border-top:1px solid #b9c5ae40;border-bottom:1px solid #b9c5ae40;margin:16px 0;padding:8px 0}
.ritual-wand-reading>summary{cursor:pointer;min-height:44px;align-content:center;font:15px/1.7 var(--sans);color:#d3cfad}
.ritual-wand-reading[open]>summary{margin-bottom:14px}
.flex-note{font:14px/1.85 var(--sans);color:#bfc8b2;margin:16px 0}.inspection-spec+.flex-note{margin-top:-8px}
.guardian-revelation{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;flex:1}
.guardian-revelation .revelation-copy{width:100%;max-width:none;padding-right:24px;margin:0}
.guardian-stage{position:sticky;top:82px;margin:60px 25px 35px 0;min-width:0;isolation:isolate}
/* Blend the isolated stage as a whole: RGB sprite black must reach the scene. */
.guardian-stage:has(.sprite-patronus){mix-blend-mode:screen}
.guardian-stage:has(.sprite-patronus) .patronus-sprite{filter:none}
.guardian-stage:before{content:'';position:absolute;inset:6% -4% 0;z-index:-1;background:radial-gradient(ellipse,#24445b66,transparent 68%);pointer-events:none}
.patronus-figure.encounter-figure{position:relative;inset:auto;width:100%;max-width:490px;height:auto;margin:auto;transform:none;animation:encounter-arrives 1.8s cubic-bezier(.22,.7,.3,1) both;--entry-x:16px;--entry-y:10px;--entry-turn:0deg}
.encounter-figure[data-encounter=hovering]{--entry-x:-20px;--entry-y:-12px;--entry-turn:-5deg}
.encounter-figure[data-encounter=bounding]{--entry-x:25px;--entry-y:25px;--entry-turn:3deg}
.encounter-figure[data-encounter=wide_wing],.encounter-figure[data-encounter=near_perch],.encounter-figure[data-encounter=folded_wings],.encounter-figure[data-encounter=phoenix]{--entry-x:-12px;--entry-y:-24px;--entry-turn:-3deg}
.encounter-figure[data-encounter=small_steps],.encounter-figure[data-encounter=low_trail],.encounter-figure[data-encounter=silver_coil]{--entry-x:22px;--entry-y:8px}
.encounter-figure[data-encounter=water_glide],.encounter-figure[data-encounter=water_current]{--entry-x:-30px;--entry-y:0px;--entry-turn:2deg}
.guardian-stage figcaption{font:14px/1.7 var(--sans);text-align:center;color:#b9d3df;margin-top:12px}
.encounter-frame{font:14px/1.9 var(--sans);color:#b7c9cc;margin:18px 0 10px}
.encounter-reading{font:21px/1.95 var(--serif);color:#e1edf0;margin:12px 0 20px;word-break:keep-all}
.guardian-wish{font:17px/1.95 var(--serif);color:#c6d9df;margin:16px 0}
.guardian-memory{border-top:1px solid #9ebdc13d;margin-top:18px;padding-top:8px}.guardian-memory .encounter-reading{font-size:17px}.guardian-memory .guardian-wish{font-size:15px}.guardian-memory .recognition-evidence{font-size:14px}
.identity-invitation{font-size:14px;line-height:1.8;color:#b9c7b0;margin:24px 0 12px}.identity-topics{display:grid;gap:10px}.identity-topics .button{font-size:15px;line-height:1.7;text-align:left;justify-content:flex-start;min-height:48px;padding:12px 16px;white-space:normal}
.conversation-art{position:relative;height:170px;display:grid;place-items:center;margin:10px 0 20px;background:radial-gradient(ellipse,#34443355,transparent 70%);overflow:hidden}.conversation-art .record-crest{max-height:150px;width:auto}
.conversation-art .record-figure:is(.official-patronus,.authored-patronus){width:178px;height:140px;margin:0}.conversation-art .record-figure.sprite-patronus{width:140px;height:140px;margin:0}.conversation-art .record-crest[src$="ravenclaw-book-v52.png"]{width:126px;height:140px;padding:0;margin:0}
.your-introduction{border-left:2px solid #c9ae7877;padding:12px 16px;margin:0 0 20px;color:#e2d1ac}.your-introduction span{font-size:14px;color:#aebca6}.your-introduction p{font:18px/1.85 var(--serif);margin:7px 0 0}
@keyframes encounter-arrives{from{opacity:0;filter:blur(8px);transform:translate(var(--entry-x),var(--entry-y)) rotate(var(--entry-turn)) scale(.94)}to{opacity:1;filter:none;transform:none}}
@media(max-width:740px){.guardian-revelation{display:flex;flex-direction:column}.guardian-stage{position:relative;top:auto;order:-1;align-self:center;width:min(84vw,360px);margin:8px 0 0}.guardian-revelation .revelation-copy{padding:22px 26px 28px}.manifested .guardian-revelation .revelation-copy{padding-top:22px}.guardian-stage figcaption{margin-top:0}.encounter-reading{font-size:19px;line-height:1.9}.recognition-evidence ol,.recognition-motive p{font-size:16px}.conversation-art{height:150px}}
@media(prefers-reduced-motion:reduce){.patronus-figure.encounter-figure{animation:none!important;filter:none;transform:none;opacity:1}}
.reduce-motion .patronus-figure.encounter-figure{animation:none!important;filter:none;transform:none;opacity:1}

.work-recollection{margin:22px 0;padding:15px 18px;border-left:2px solid #c6ad7880;background:#c6ad7808}.work-recollection>span{font:14px/1.7 var(--sans);color:#bdc8b3}.work-recollection p{font:17px/1.9 var(--serif);color:#e3d6b8;margin:8px 0 0}
.work-recollection,.your-introduction{overflow-wrap:anywhere;min-width:0}
dialog.work-request{width:min(920px,calc(100% - 32px))}.work-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.work-evidence{min-width:0;border:1px solid #9bb2a04d;background:#0a1718;padding:22px}.work-evidence-heading{display:flex;gap:14px;align-items:baseline;margin-bottom:20px}.work-number{font:15px/1.7 var(--sans);color:#a6bca7}.work-evidence h3{font:21px/1.5 var(--serif);margin:0;color:#e2dcc4}.work-evidence p{font:17px/1.95 var(--serif);color:#d7ded4;white-space:pre-line;margin:0 0 18px}.work-evidence.is-read{border-top-color:#c7ae7c}.work-evidence .button{min-height:48px;white-space:normal}.work-read{display:flex;gap:8px;align-items:center;font:14px/1.7 var(--sans);color:#b8c8b1}.work-read .icon{width:16px;height:16px}.work-guidance{font:16px/1.85 var(--sans);color:#bccab9}.work-decisions{display:grid;gap:12px;margin:24px 0}.work-decisions .button{min-height:52px;text-align:left;justify-content:flex-start;font-size:17px;line-height:1.8;white-space:normal}.work-resolution{padding-top:16px;border-top:1px solid #c7ae7c55}.work-resolution .your-introduction{font:17px/1.85 var(--serif)}
@media(max-width:640px){.work-evidence-grid{grid-template-columns:1fr;gap:14px;margin:22px 0}.work-evidence{padding:18px}.work-evidence h3{font-size:20px}.work-recollection{padding:14px}.work-request .modal-actions .button{white-space:normal}}

.work-outcome{font:19px/1.95 var(--serif);color:#dce2d4;white-space:pre-line}

.work-memory-disclosure{margin:18px 0}.work-memory-disclosure>summary{min-height:44px;padding:10px 0;font:15px/1.6 var(--sans);color:#c3cbbf}.work-memory-disclosure>.work-recollection{margin:4px 0 14px}

dialog.incident-shell{width:min(1460px,calc(100vw - 28px));max-height:calc(100svh - 28px);padding:22px;background:#0c1c1b;color:#eee4cf;overflow:auto}
.incident-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}.incident-top .modal-top{margin:0}.incident-top h2{margin:0;flex:1;font:28px/1.45 var(--serif)}.incident-top .modal-top>.eyebrow{display:none}.incident-top .button{font-size:14px;min-height:44px}
.incident-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:24px;align-items:start}.incident-stage{position:sticky;top:0;aspect-ratio:1672/941;overflow:hidden;isolation:isolate;background:#071210;border:1px solid #b2a07255}.incident-room{display:block;width:100%;height:auto}.incident-light{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#05252144,transparent 45%)}
.incident-memo{position:absolute;transform:translate(-50%,-50%);padding:0;min-width:60px;min-height:60px;aspect-ratio:1;border:0;background:transparent;color:#fff3dc;cursor:pointer;transition:left .65s cubic-bezier(.2,.7,.2,1),top .65s cubic-bezier(.2,.7,.2,1),width .65s ease;z-index:3}
.incident-memo img{display:block;width:100%;height:auto;filter:drop-shadow(0 5px 8px #0009);animation:incident-flight 3.8s ease-in-out infinite;pointer-events:none;user-select:none}.incident-memo[data-id=low] img{animation-delay:-1.4s;animation-duration:4.4s}.incident-memo[data-id=aisle] img{animation-delay:-2.2s;animation-duration:5s}
.incident-memo span{display:block;position:absolute;left:50%;top:78%;transform:translateX(-50%);width:max-content;max-width:170px;padding:5px 8px;background:#0b221eee;border:1px solid #bea56777;font:14px/1.4 var(--sans);pointer-events:none}.incident-memo:hover img,.incident-memo:focus-visible img{filter:drop-shadow(0 0 8px #d7d5a3)}.incident-memo:focus-visible{outline:2px solid #e3d498;outline-offset:3px}.incident-memo[data-status=aimed] img{animation-play-state:paused;filter:drop-shadow(0 0 10px #dbdda8)}
.incident-memo[data-status=summoned],.incident-memo[data-status=steady]{z-index:5}.incident-memo[data-status=summoned] img,.incident-memo[data-status=steady] img{animation:none;filter:drop-shadow(0 0 9px #d5e6d5aa)}.incident-memo[data-status=steady] img{transform:rotate(-6deg)}.incident-memo[data-status=tray],.incident-memo[data-status=colleague]{min-width:0;min-height:0;z-index:2;pointer-events:none}.incident-memo[data-status=tray] img,.incident-memo[data-status=colleague] img{animation:none;filter:drop-shadow(0 3px 3px #0007);transform:rotate(-9deg)}.incident-memo[data-status=tray] span,.incident-memo[data-status=colleague] span{display:none}
.incident-zone{position:absolute;left:61%;top:76%;transform:translate(-50%,-50%);z-index:7;min-width:110px;min-height:46px;padding:9px 12px;color:#f8eccf;background:#17362de8;border:2px solid #d9c385;border-radius:4px;font:14px/1.5 var(--sans);box-shadow:0 0 20px #c3c48335}.incident-zone[data-destination=colleague]{left:29%;top:52%}.incident-zone[hidden]{display:none}
.incident-held-wand{position:absolute;right:-5%;bottom:-19%;width:39%;height:52%;z-index:4;pointer-events:none;opacity:.9;transform:rotate(-9deg);transition:transform .4s ease}.incident-held-wand .inventory-wand{width:100%;height:100%;margin:0}.incident-stage[data-phase=aim] .incident-held-wand,.incident-stage[data-phase=control] .incident-held-wand{transform:rotate(-18deg) translateY(-4%)}
.incident-panel{min-width:0}.incident-panel h3{font:21px/1.55 var(--serif);margin:12px 0 18px;color:#f0e4c9}.incident-progress{font:14px/1.7 var(--sans);color:#c8c8aa;border-bottom:1px solid #a79a6c55;padding-bottom:12px}.incident-intro,.incident-effect{font:17px/1.9 var(--serif);color:#d6dfd1}.incident-priorities,.incident-target-list,.incident-spells{display:grid;gap:10px;margin:16px 0}.incident-priority{padding:17px;background:#19302a;border:1px solid #bba66f80;color:#e8dfc6;text-align:left;cursor:pointer}.incident-priority strong{font:18px/1.6 var(--serif);display:block;margin-bottom:7px}.incident-priority span{font:15px/1.85 var(--sans);color:#bfcebd;display:block}.incident-priority:hover{background:#254136;border-color:#e1cb91}
.incident-panel .button{width:100%;min-height:46px;font:15px/1.7 var(--sans);white-space:normal;text-align:left;justify-content:flex-start;margin-top:7px}.incident-target-list .button{margin:0}.incident-target-list .button[aria-pressed=true]{border-color:#ebd39e;background:#847b432d;color:#fff0cc}.incident-target-list .button:disabled{cursor:default;opacity:.55}.incident-roles{display:grid;gap:6px;font:14px/1.6 var(--sans);color:#bbc9b6;padding:14px 0;border-bottom:1px solid #9daf9b33}.incident-selection{font:14px/1.8 var(--sans);color:#ead8a3}.incident-speech{font:17px/1.9 var(--serif);color:#c9d2c1;border-left:2px solid #b5a57755;padding-left:14px;margin:22px 0;overflow-wrap:anywhere}
.incident-resting{position:absolute;transform:translate(-50%,-50%) rotate(-9deg);pointer-events:none;z-index:1;filter:drop-shadow(0 3px 3px #0007)}
@keyframes incident-flight{0%,100%{transform:translate(-5%,-3%) rotate(-9deg)}45%{transform:translate(7%,8%) rotate(7deg)}75%{transform:translate(-4%,3%) rotate(-3deg)}}
.incident-motion-paused .incident-memo img{animation-play-state:paused}
.incident-motion-paused .incident-memo,.incident-motion-paused .incident-held-wand{transition:none}
@media(max-width:950px){.incident-layout{grid-template-columns:1fr}.incident-stage{position:relative;top:auto}.incident-panel{padding:0 4px}.incident-target-list{grid-template-columns:repeat(3,minmax(0,1fr))}.incident-memo span{font-size:14px;max-width:145px}.incident-spells{grid-template-columns:1fr 1fr}}
@media(max-width:600px){dialog.incident-shell{width:calc(100vw - 16px);padding:14px;max-height:calc(100svh - 16px)}.incident-top{gap:10px;margin-bottom:14px}.incident-top h2{font-size:23px}.incident-top .button{font-size:14px;padding:6px 10px}.incident-memo span{display:none}.incident-target-list{grid-template-columns:1fr;gap:7px}.incident-layout{gap:18px}.incident-panel h3{font-size:20px}.incident-zone{min-width:85px;min-height:44px;font-size:14px;padding:6px;max-width:43%}.incident-spells{grid-template-columns:1fr}.incident-memo{min-width:55px;min-height:55px}.incident-panel .button{font-size:16px}.incident-held-wand{width:40%;right:-9%}}
@media(prefers-reduced-motion:reduce){.incident-memo,.incident-held-wand{transition:none}.incident-memo img{animation:none!important}}
.reduce-motion .incident-memo,.reduce-motion .incident-held-wand{transition:none}.reduce-motion .incident-memo img{animation:none!important}
/* Situation cues use the same scene and memo artwork as the first incident. */
.incident-route-state{position:absolute;left:14px;top:12px;z-index:8;margin:0;max-width:calc(100% - 28px);padding:7px 10px;background:#0a2524ef;border:1px solid #c5b67a80;color:#f2e4ba;font:14px/1.55 var(--sans);pointer-events:none}
.incident-route-state[hidden]{display:none}.incident-memo[data-status=parked] img{animation:none;filter:drop-shadow(0 0 9px #b8dddbaa);transform:rotate(-4deg)}.incident-memo[data-status=parked] span{border-color:#b2d7b3}
.incident-observation{padding:14px 16px;background:#213932;border-left:3px solid #d5b56c;font:16px/1.85 var(--sans);color:#f0e6cc;margin:14px 0}.incident-spell-reason{font:14px/1.8 var(--sans);color:#d6c6a3;margin:8px 0 0}.incident-spells .button:disabled{opacity:.5;cursor:not-allowed}.incident-previous{border-top:1px solid #a48f6355;padding-top:18px;margin-top:24px;font:15px/1.85 var(--sans);color:#ccd0b9}.incident-previous summary{cursor:pointer;min-height:44px;padding:9px 0}.incident-previous p{font-size:16px}
dialog.incident-followup{width:min(980px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;padding:30px;background:#0c1c1b;color:#eee4cf}.incident-followup h2{font:28px/1.5 var(--serif);margin:16px 0}.incident-followup .lead{font:17px/1.9 var(--serif);color:#d0d9c7}.memo-routing-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center;margin:26px 0}.memo-routing-paper{padding:26px;border:1px solid #bfaa7555;background:#e5dac0;color:#243d36;min-width:0}.memo-routing-paper>.eyebrow{color:#526254;font:14px/1.7 var(--sans);letter-spacing:0}.memo-routing-paper>p{font:16px/1.85 var(--sans)}.memo-route-art{overflow:hidden;height:170px;display:grid;place-items:center;margin:10px 0}.memo-route-art img{width:200px;height:200px;object-fit:contain}.memo-address{border-top:1px solid #394b3433;margin:12px 0 0;padding-top:14px}.memo-address dt{font:14px/1.6 var(--sans);color:#596451}.memo-address dd{font:25px/1.6 var(--serif);margin:7px 0 0;overflow-wrap:anywhere}.memo-route-stamp{display:flex;gap:8px;align-items:center;padding:12px 0 0;border-top:1px solid #394b3433;font:16px/1.7 var(--sans)}.memo-routing-choices{display:grid;gap:14px}.memo-routing-actions .button,.incident-followup .modal-actions .button{white-space:normal;min-height:48px;font:16px/1.6 var(--sans)}.memo-routing-actions>.button{width:100%}.memo-routing-recall{font:16px/1.9 var(--serif);color:#c6d2bf;margin-top:24px}.memo-routing-hint{padding:14px 16px;border:1px solid #d4b476;background:#473b2433;font:16px/1.85 var(--sans);color:#f4dfb9}.incident-followup .modal-actions{display:flex;flex-wrap:wrap;gap:12px}.memo-route-art.is-sent img{opacity:0}.memo-route-art.is-sent.just-sent img{animation:memo-delivery 1.1s ease-in both}@keyframes memo-delivery{from{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(180px,-100px) scale(.25);opacity:0}}
@media(max-width:650px){dialog.incident-followup{width:calc(100vw - 16px);padding:20px}.memo-routing-layout{grid-template-columns:1fr;gap:20px;margin:20px 0}.memo-routing-paper{padding:20px}.memo-route-art{height:130px}.memo-route-art img{width:170px;height:170px}.incident-followup .modal-actions{display:grid;grid-template-columns:1fr}.incident-route-state{font-size:14px;top:6px;left:6px;max-width:calc(100% - 12px);padding:4px 7px}.incident-followup h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.memo-route-art.is-sent img{animation:none;opacity:0}}
.reduce-motion .memo-route-art.is-sent img{animation:none;opacity:0}

/* v69: the existing temporary hold is a spatial destination. */
.incident-world-wrap{position:sticky;top:0;min-width:0}.incident-world-wrap .incident-stage{position:relative;top:auto}
.incident-world-wrap .incident-route-state{position:static;max-width:none;margin:8px 0 0;padding:5px 8px;font-size:13px}
.incident-route{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}
.incident-route-line{fill:none;stroke:#e8d596;stroke-width:2;stroke-dasharray:4 5;vector-effect:non-scaling-stroke;opacity:.55}
.incident-route-stop{fill:none;stroke:#e8d596;stroke-width:2;vector-effect:non-scaling-stroke}
.incident-route.is-clear .incident-route-line{stroke-dasharray:none;opacity:.85}.incident-route.is-clear .incident-route-stop{display:none}
.incident-park-zone{position:absolute;left:var(--park-x);top:clamp(22px,var(--park-y),calc(100% - 22px));transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px;z-index:7;border:2px dashed #e1cc8f;border-radius:7px;background:#17362ded;color:#fff2cf;padding:2px;font:12px/1.25 var(--sans);white-space:pre-line;cursor:pointer}
.incident-park-zone:focus-visible{outline:2px solid #fff4cf;outline-offset:3px}.incident-park-zone:disabled{opacity:.45;cursor:not-allowed}
.incident-route[hidden],.incident-park-zone[hidden]{display:none}
@media(max-width:950px){.incident-world-wrap{position:static}}

/* v70: inspection is view-only; only the empty destination commits a move. */
.incident-ink-entry{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px;z-index:7;border:2px solid #d9c385;border-radius:5px;background:#17362ded;color:#fff2cf;padding:2px;font:12px/1.25 var(--sans);white-space:pre-line;cursor:pointer}
.incident-ink-entry[hidden]{display:none}.incident-ink-entry:disabled,.incident-ink-place:disabled{opacity:.45;cursor:not-allowed}
.incident-ink-entry:focus-visible,.incident-ink-place:focus-visible{outline:2px solid #fff4cf;outline-offset:3px}
dialog.incident-ink-shell{width:min(720px,calc(100vw - 28px));max-height:calc(100svh - 28px);padding:22px;overflow:auto;background:#0c1c1b;color:#eee4cf}
.incident-ink-stage{position:relative}.incident-ink-crop{position:relative;aspect-ratio:501.6/291.71;overflow:hidden;box-shadow:inset 0 0 0 1px #b2a07255;isolation:isolate}
.incident-ink-crop>img{position:absolute;width:333.333333%;height:auto;max-width:none;left:-20%;top:-193.548387%;pointer-events:none}
.incident-ink-place,.incident-ink-position{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px;border:2px dashed #dfca8d;border-radius:5px;z-index:3}
.incident-ink-place{background:#17362ded;color:#fff2cf;padding:2px;font:12px/1.25 var(--sans);white-space:pre-line;cursor:pointer}.incident-ink-position{border-color:#d4ddbd77;pointer-events:none}
.incident-ink-stage>[data-room-context-title]{font:16px/1.8 var(--sans);margin:12px 0}.incident-ink-detail>.modal-actions{margin-top:20px}
@media(max-width:600px){dialog.incident-ink-shell{width:calc(100vw - 16px);padding:14px;max-height:calc(100svh - 16px)}}

/* Existing raster room, folders and accepted wand form the playable surface. */
.at-records .world{isolation:isolate}.errand-folder,.errand-memo{position:absolute;padding:0;background:transparent;border:0;transform:translate(-50%,-50%);z-index:2;min-width:48px;min-height:48px;cursor:pointer}.errand-folder img,.errand-memo img{display:block;width:100%;height:auto;pointer-events:none;filter:drop-shadow(0 6px 7px #0008)}.errand-folder.folder-red{left:64%;top:66%;width:21%}.errand-folder.folder-blue{left:78%;top:32%;width:16%}.errand-folder.folder-red img{transform:perspective(350px) rotateX(32deg) rotateZ(-9deg)}.errand-folder.folder-blue img{transform:perspective(350px) rotateX(38deg) rotateZ(-5deg)}.errand-folder.is-lifted{left:64%;top:49%;width:24%}.errand-folder.is-lifted img{transform:rotate(-8deg);filter:drop-shadow(0 0 12px #dceee29c)}.errand-folder:disabled{opacity:1;cursor:default}.errand-folder[aria-pressed=true] img{filter:drop-shadow(0 0 10px #ead9a8)}.errand-folder span{display:block;position:absolute;top:87%;left:50%;transform:translateX(-50%);padding:6px 9px;max-width:230px;width:max-content;background:#102823ee;border:1px solid #d2ba7770;color:#f1e4c6;font:14px/1.5 var(--sans);pointer-events:none;white-space:normal}.errand-folder:focus-visible,.errand-memo:focus-visible{outline:3px solid #f0d39a;outline-offset:4px}.errand-memo{left:63%;top:77%;width:18%}.errand-memo.is-placed{left:15%;top:65%;width:13%;opacity:1}.errand-tray{position:absolute;transform:translate(-50%,-50%);z-index:4;min-width:100px;min-height:46px;max-width:22%;padding:8px 10px;border:1px solid #d6c084;background:#1a3029ed;color:#f4e6c5;font:14px/1.55 var(--sans);cursor:pointer}
.records-lumos{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 63% 77%,#fffdebaa,transparent 29%);mix-blend-mode:screen;opacity:0;pointer-events:none;transition:opacity .45s}.records-lit .records-lumos{opacity:.78}.records-lit .errand-memo img{filter:drop-shadow(0 0 20px #faf5d49c)}.errand-folder-choices{display:grid;gap:9px}.errand-folder-choices .button[aria-pressed=true]{border-color:#e0bf78;background:#8a78472a}.errand-selection{font:14px/1.7 var(--sans);color:#d9c697;margin:12px 0 0}.errand-cover-reading{font:16px/1.8 var(--sans);padding:12px 14px;border-left:2px solid #c1aa70;background:#d5c2940a;margin:10px 0}.errand-mark{padding:13px 16px;background:#e5dcc7;color:#2d4238;margin:4px 0}.errand-mark span{display:block;font:14px/1.6 var(--sans);color:#4b5d4c}.errand-mark strong{font:24px/1.7 var(--serif)}.errand-inventory img{width:90px;height:90px;object-fit:contain}
dialog.errand-dialog{width:min(730px,calc(100vw - 28px));max-height:calc(100svh - 28px);padding:30px;overflow:auto;background:#102722}.errand-dialog .lead,.errand-brief-status,.errand-clerk-goal{font:17px/1.9 var(--serif);color:#d5dccb}.errand-dialog .button{font:16px/1.7 var(--sans);min-height:48px;white-space:normal}.errand-dialog .eyebrow{font-size:14px}.errand-dialog .work-recollection{font-size:16px}
.errand-lifting .errand-folder.is-lifted{animation:errand-folder-lift 1.2s ease-in-out both}@keyframes errand-folder-lift{0%{left:78%;top:32%;width:16%}45%{left:72%;top:25%;width:20%}100%{left:64%;top:49%;width:24%}}
@media(min-width:901px){#game.at-records{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,350px);grid-template-rows:90px minmax(0,1fr) 108px;gap:0 24px;padding:0 28px}.at-records .masthead{grid-column:1/-1;grid-row:1;padding:20px 0;position:relative}.at-records .world{grid-column:1;grid-row:2;position:relative;left:auto;top:auto;transform:none;width:100%;height:auto;align-self:center;z-index:0;margin-top:32px}.at-records .location{top:103px;left:28px;max-width:calc(100% - 440px)}.at-records .location h1{font-size:28px;margin:7px 0}.at-records .location p,.at-records .location-rule{display:none}.at-records .play-panel{grid-column:2;grid-row:2;position:relative;right:auto;bottom:auto;width:auto;padding:20px;align-self:center;max-height:calc(100svh - 218px);overflow:auto;margin:0}.at-records .narration{font:16px/1.8 var(--serif)}.at-records .goal-line{font:14px/1.7 var(--sans)}.at-records .button{font-size:14px;min-height:46px;white-space:normal}.at-records .action-dock{grid-column:1/-1;grid-row:3;position:relative;left:auto;bottom:auto;transform:none;justify-self:center;align-self:start;margin-top:15px}.at-records .hotspot{font-size:14px;min-height:46px}.at-records .world .held-wand{opacity:.8}.at-records .interaction-hint{font-size:14px}.at-records .scene-footer{position:absolute;bottom:15px}}
@media(max-width:900px){body.records-layout{overflow:auto}#game.at-records{display:flex;flex-direction:column;height:auto;min-height:100svh;padding:0 0 145px;overflow:hidden}.at-records .world{position:relative;left:0;top:0;transform:none;width:100%;height:auto;margin-top:145px;order:1;z-index:0}.at-records .masthead{position:absolute;left:0;right:0;top:0;padding:20px;z-index:3}.at-records .location{position:absolute;top:93px;left:21px;max-width:calc(100% - 40px);z-index:2}.at-records .location h1{font-size:25px;margin:6px 0}.at-records .location p,.at-records .location-rule{display:none}.at-records .play-panel{position:relative;right:auto;bottom:auto;order:2;width:auto;margin:12px 17px 0;padding:20px;max-height:none;background:#112b24}.at-records .narration{font-size:17px;line-height:1.85}.at-records .goal-line{font-size:14px;line-height:1.7}.at-records .button{font-size:16px;min-height:48px;white-space:normal}.at-records .action-dock{position:fixed;bottom:32px;left:12px;right:12px;transform:none;margin:0;padding:6px 5px;z-index:4}.at-records .action-dock button{min-width:0;flex:1;flex-direction:column;padding:8px 4px;min-height:60px}.at-records .action-dock kbd{display:none}.at-records .scene-footer{position:fixed;bottom:0;left:0;right:0;height:32px;background:#102523;z-index:4}.at-records .hotspot{min-width:44px;min-height:44px;padding:8px}.at-records .hotspot span{display:none}.at-records .interaction-hint{font-size:14px}.errand-folder span{display:none}.errand-tray{min-width:72px;min-height:44px;font-size:14px;max-width:26%;padding:5px}.errand-dialog .modal-actions{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.errand-lifting .errand-folder.is-lifted{animation:none}.records-lumos{transition:none}}
.reduce-motion .errand-lifting .errand-folder.is-lifted{animation:none}.reduce-motion .records-lumos{transition:none}

.errand-returned-folder{position:absolute;left:39%;top:79%;width:15%;transform:translate(-50%,-50%) perspective(350px) rotateX(35deg) rotateZ(-12deg);filter:drop-shadow(0 5px 5px #0008);pointer-events:none}

/* Labels belong to separate physical trays, including on narrow screens. */
.errand-tray{width:16%;min-width:44px;max-width:16%;padding:5px 2px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}

/* The examined back of this memo: fold and shallow pressed letters share one
   paper surface. The enlarged reading uses the same glyph, with no new action. */
.errand-clue-paper{display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:2.7;min-height:104px;min-width:0;background:linear-gradient(152deg,transparent 49.4%,#80768838 49.8%,#f9efff8c 50.4%,transparent 51%),linear-gradient(15deg,#c6bdcf,#e9e1eccc 56%,#c5baca);border:1px solid #92849770;box-shadow:0 5px 8px #0003,inset 0 1px #fff9;transform:rotate(-3deg);padding:14px;color:#70667a}
.errand-clue-paper:before{content:"";position:absolute;inset:13% 8%;border-bottom:1px solid #99869e55;transform:rotate(12deg);pointer-events:none}
.errand-clue-paper strong{font:600 clamp(23px,4vw,30px)/1.45 var(--serif);letter-spacing:.06em;text-shadow:0 1px 0 #fff9,0 -1px 0 #4b3a5155;overflow-wrap:anywhere;text-align:center;max-width:100%;z-index:1}
.errand-mark.is-paper{background:transparent;color:#d6d4c3;padding:12px 2px 8px}
.errand-mark.is-paper>span:first-child{color:#d6d4c3;margin:0 0 13px;font-size:14px}
.errand-mark.is-paper>.errand-clue-paper{margin:0 7px 6px}
.errand-clue-paper strong{color:#70667a}
.errand-clue-trace{position:absolute;left:17%;top:49%;width:63%;transform:rotate(19deg);opacity:0;pointer-events:none}
.errand-clue-trace strong{display:block;color:#61556b;font:600 clamp(9px,1.1vw,14px)/1.3 var(--serif);letter-spacing:.01em;text-align:center;text-shadow:0 1px #fcf4ffb3,0 -1px #42344966}
.records-lit [data-room-scene][data-scene-readiness=ready] .errand-memo>.errand-clue-trace{opacity:1}
/* With no CSS paper view, text remains readable through the existing panel.
   Background or memo-image errors never leave a new surface floating alone. */
@media(forced-colors:active){.errand-clue-paper{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none}.errand-clue-paper strong{text-shadow:none}}

dialog.shift-dialog,dialog.repair-dialog{width:min(850px,calc(100vw - 28px));max-height:calc(100svh - 28px);padding:30px;overflow:auto;background:#102722;color:#dce3d6}
dialog.repair-dialog{width:min(1180px,calc(100vw - 28px))}
.shift-dialog .lead,.shift-dialog p,.repair-dialog p{font:16px/1.85 var(--sans)}
.shift-dialog .eyebrow,.repair-dialog .eyebrow{font-size:14px;line-height:1.7}
.shift-dialog .button,.repair-dialog .button{font:16px/1.65 var(--sans);min-height:48px;white-space:normal;text-align:left}
.shift-dialog h3,.repair-dialog h3{font:23px/1.6 var(--serif);color:#f1e5c9;margin:10px 0 18px}
.shift-history{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
.shift-history>div{padding:18px;border:1px solid #bbaa6a40;background:#c9c09c05}
.shift-history dt,.repair-findings dt{font:14px/1.7 var(--sans);color:#d2bd83;margin-bottom:8px}
.shift-history dd,.repair-findings dd{margin:0;font:16px/1.85 var(--sans);color:#dce3d6}
.shift-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.shift-choice{background:#14322b;color:#dce3d6;border:1px solid #c9b47860;padding:20px;text-align:left;cursor:pointer;min-height:140px}
.shift-choice strong{display:block;color:#f0dfb3;font:21px/1.65 var(--serif);margin-bottom:8px}
.shift-choice span{font:16px/1.8 var(--sans)}
.shift-choice[aria-pressed=true]{border:2px solid #e4c47e;padding:19px;background:#b5a47516}
.shift-choice:focus-visible{outline:3px solid #f5d797;outline-offset:4px}
.shift-ready{display:grid;grid-template-columns:minmax(170px,40%) 1fr;align-items:center;gap:20px;margin:18px 0}
.shift-ready img{width:100%;height:auto;filter:drop-shadow(0 12px 15px #0007)}
.shift-inventory img{width:90px;height:90px;object-fit:contain}.shift-inventory>.icon{width:42px;height:42px;flex:none;color:#dbc690}
/* Matching photographic states occupy one stable, uncropped close-up. */
.repair-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:26px;margin-top:22px;align-items:start}
.repair-stage{position:relative;isolation:isolate;min-width:0;overflow:hidden;border:1px solid #b6a56e50;background:#112921}
.repair-observation{margin:0;text-align:left}
.repair-visual{position:relative;isolation:isolate;aspect-ratio:1;background:#0c211b;overflow:hidden}
.repair-visual img{display:block;width:100%;height:100%;object-fit:contain}
.repair-visual [hidden]{display:none!important}
.repair-previous{position:absolute;inset:0;z-index:2;pointer-events:none}
.repair-visual:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 54%,#f5ffe9a8,transparent 48%)}
.is-lit .repair-visual:not([aria-busy=true]):after{opacity:.22}
.repair-observation figcaption{font:14px/1.7 var(--sans);color:#e9dfc5;padding:12px 18px;background:#10251f}
.repair-observation figcaption strong,.repair-observation figcaption span{display:block}
.repair-observation figcaption span{color:#c5d0c0;margin-top:5px}
.repair-scene-notice{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}
.repair-scene-notice p{max-width:26em;color:#dce3d6}
.repair-current{position:relative;margin:0 16px 18px;padding:16px;border:1px solid #bdaa6d55;background:#16342a}
.repair-current:empty,.repair-compare:empty{display:none}
.repair-current h3 .icon{vertical-align:middle;margin-right:9px;color:#d9c28a}
.repair-current p{margin:0}
.repair-stage.is-tested .repair-current{background:#b5863214;border-color:#d8b36b85}
.repair-stage.is-returned .repair-current{background:#14342bd9;border-color:#b5c29166}
.repair-wand{display:none}
.repair-panel{min-width:0}.repair-panel>.button{margin-bottom:10px;width:100%;justify-content:center}
.repair-inspect,.repair-diagnosis{display:grid;gap:9px;margin:12px 0}
.repair-inspect .button,.repair-diagnosis .button{width:100%}
.repair-findings{margin:19px 0;padding:16px;border-left:2px solid #b9a575;background:#c4b88a09}
.repair-findings-title{font:14px/1.7 var(--sans);color:#d2bd83;margin:20px 0 -12px}
.repair-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.repair-findings>div+div{margin-top:17px}.repair-credit{display:block;font-size:14px;line-height:1.7;color:#d6c49a;margin-top:6px}
.repair-help,.repair-hint{color:#cad5c3}.repair-panel .work-recollection{font-size:16px}.repair-panel h3:focus{outline:2px solid #e8cc88;outline-offset:6px}
.repair-compare-buttons{display:flex;flex-wrap:wrap;gap:9px;padding:14px 16px}
.repair-dialog .repair-compare-buttons .button{flex:1 1 110px;justify-content:center;text-align:center;font-size:14px;min-width:0;margin:0}
.repair-compare-buttons .button[aria-pressed=true]{border-color:#e0c081;background:#c2a35726;color:#f3e6c8}
.shift-tested-thumbnail{border:1px solid #bda36e66;border-radius:4px}
.effect-repair .repair-photo,.effect-test .repair-photo{animation:lamp-new-frame 1.5s ease-in-out both}
.effect-repair .repair-previous,.effect-test .repair-previous{animation:lamp-old-frame 1.5s ease-in-out both}
.repair-visual.effect-repair:after{animation:lamp-mending-light 1.5s ease-in-out both}
@keyframes lamp-new-frame{0%,18%{opacity:0}85%,100%{opacity:1}}
@keyframes lamp-old-frame{0%,18%{opacity:1}85%,100%{opacity:0}}
@keyframes lamp-mending-light{0%{opacity:.1}40%{opacity:.65}100%{opacity:.22}}
@media(max-width:800px){dialog.shift-dialog,dialog.repair-dialog{padding:22px}.repair-layout{grid-template-columns:1fr;gap:22px}.repair-current h3{font-size:20px}.shift-history,.shift-choices{grid-template-columns:1fr}.shift-ready{grid-template-columns:1fr}.shift-ready img{max-width:230px;margin:auto}.shift-dialog .modal-actions{display:grid;grid-template-columns:1fr}.shift-choice{min-height:120px}}
@media(max-width:440px){dialog.shift-dialog,dialog.repair-dialog{padding:18px}.repair-layout{gap:18px}.repair-current{padding:14px}.repair-compare-buttons{padding:12px}}
@media(prefers-reduced-motion:reduce){.repair-visual .repair-photo,.repair-visual:after{animation:none!important}.repair-previous{display:none!important}}
.reduce-motion .repair-visual .repair-photo,.reduce-motion .repair-visual:after{animation:none!important}.reduce-motion .repair-previous{display:none!important}

dialog.practice-dialog{width:min(1180px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;padding:30px;background:#102722;color:#dce3d6}
.practice-dialog .eyebrow{font-size:14px;line-height:1.7;letter-spacing:.08em}
.practice-dialog p,.practice-dialog .lead{font:16px/1.85 var(--sans)}
.practice-dialog .button{font:16px/1.7 var(--sans);min-height:48px;white-space:normal}
.practice-dialog h3{font:24px/1.6 var(--serif);color:#f1e5c9;margin:10px 0 20px}
.practice-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:28px;align-items:start}
.practice-art,.practice-controls{min-width:0}
.practice-stage{margin:0;border:1px solid #d2c18c55;background:#10231d}
.practice-photo-frame{position:relative;aspect-ratio:1672/941;overflow:hidden;background:#10231d}
.practice-photo{display:block;width:100%;height:100%;object-fit:cover}
.practice-stage.has-vapour .practice-photo{transform:scale(1.8);transform-origin:66% 54%}
.practice-stage figcaption{font:14px/1.75 var(--sans);padding:12px 16px;color:#d4decf}
.practice-wand-record{display:flex;align-items:center;gap:14px;border:1px solid #baa36a44;border-top:0;padding:12px 16px;background:#15332b}
.practice-wand{width:145px;flex:0 0 145px;aspect-ratio:1}.practice-wand-record strong{display:block;font:22px/1.65 var(--serif);color:#eee0bb}.practice-wand-record p{font-size:14px;margin:5px 0}
.practice-scope{color:#c6d2c1;margin-top:20px;padding-left:15px;border-left:2px solid #b9a36e70}
.practice-controls>.button{display:flex;width:100%;margin:11px 0 0;justify-content:center}
.practice-controls h3:focus{outline:2px solid #e5cc8b;outline-offset:5px}
.practice-memory{padding:17px;margin:0 0 18px;background:#d6c5970a;border:1px solid #bbaa6a44}
.practice-memory strong{display:block;font:20px/1.7 var(--serif);margin-top:8px;color:#ecdfbd}.practice-memory p{margin:9px 0 0}
.practice-memory-choices{display:grid;gap:10px}
.practice-choice{display:block;width:100%;padding:15px 18px;text-align:left;background:#193b30;border:1px solid #bca97566;color:#dce3d6;cursor:pointer}
.practice-choice strong{display:block;font:21px/1.65 var(--serif);color:#f0dfb3;margin-bottom:5px}.practice-choice span{font:16px/1.8 var(--sans)}
.practice-choice:focus-visible{outline:3px solid #f1d79a;outline-offset:4px}
.practice-reuse{padding:16px;border:1px solid #c2b17055;margin:0 0 20px}.practice-reuse p{margin-bottom:12px}.practice-reuse .button,.practice-private .button{width:100%}
.practice-private{margin-top:18px;border-top:1px solid #aeb59d44;padding-top:16px}.practice-private p{font-size:14px;margin-top:10px;color:#cbd5c4}
.practice-focus-choices{display:grid;gap:10px}.practice-focus-choices .button{text-align:left;justify-content:flex-start}.practice-focus-choices .button[aria-pressed=true]{background:#b9a36922;border-color:#e1c57f}
.practice-speech{color:#f0e4c9}.practice-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.practice-appearing{animation:practice-arrival 1.2s ease-out both}@keyframes practice-arrival{from{opacity:.25}to{opacity:1}}
@media(max-width:800px){dialog.practice-dialog{padding:22px}.practice-layout{grid-template-columns:1fr;gap:20px}.practice-wand{width:110px;flex-basis:110px}.practice-art .practice-scope{font-size:16px}.practice-controls h3{margin-top:9px}}
@media(max-width:440px){dialog.practice-dialog{padding:18px}.practice-wand-record{gap:8px;padding:9px 12px}.practice-wand{width:90px;flex-basis:90px}.practice-wand-record strong{font-size:20px}.practice-choice{padding:14px}.practice-stage figcaption{padding:10px 13px}}
@media(prefers-reduced-motion:reduce){.practice-appearing{animation:none}}
.reduce-motion .practice-appearing{animation:none}

.practice-photo[hidden],.practice-scene-notice[hidden],.practice-scene-notice .button[hidden]{display:none}
.practice-scene-notice{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;text-align:center;background:#10231d;color:#d4decf}
.practice-scene-notice p{margin:0;font:16px/1.7 var(--sans)}
.practice-scene-notice .button{margin:0;max-width:100%}
.practice-scene-notice .button[aria-disabled=true]{opacity:.6;cursor:wait}

dialog.farewell-dialog{width:min(1060px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;padding:30px;background:#112b25;color:#dfe7dc}
.farewell-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:28px;align-items:start}
.farewell-scene{margin:0;border:1px solid #c9b57866;min-width:0;background:#0b1e1c}
.farewell-scene img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.farewell-scene figcaption{padding:12px 16px;font:14px/1.7 var(--sans);color:#d2dccf}
.farewell-dialog p,.farewell-dialog .button{font:16px/1.85 var(--sans)}
.farewell-dialog .eyebrow{font-size:14px;line-height:1.7}.farewell-dialog .button{white-space:normal;min-height:48px}
.farewell-conversation{min-width:0}.farewell-conversation h3{font:24px/1.6 var(--serif);color:#f1e4c3;margin:0 0 16px}
.farewell-conversation h3:focus{outline:2px solid #ddc388;outline-offset:5px}
.farewell-dialog blockquote{font:20px/1.8 var(--serif);color:#eee1c0;margin:0 0 20px;padding:0 0 0 17px;border-left:2px solid #ccb77e}
.farewell-choices{display:grid;gap:10px;margin:20px 0}.farewell-choices .button{text-align:left;justify-content:flex-start}
.farewell-choices .button[aria-pressed=true]{border-color:#e2c787;background:#c6ae7520}
.farewell-conversation>.button{display:flex;justify-content:center;width:100%;margin-top:12px}
.farewell-observations{margin:20px 0;padding:16px 18px;border:1px solid #a6936355;background:#cfbf8d0a}.farewell-observations p{margin:8px 0 0}.farewell-observations p:first-child{margin-top:0}
.farewell-recorded-choice{padding:12px 0;border-bottom:1px solid #bfa96f55}.farewell-recorded-choice strong{display:block;font:20px/1.75 var(--serif);color:#ecdfbd;margin-top:7px}
.farewell-reply{margin-top:18px}.farewell-dialog .farewell-hint{font-size:14px;color:#c2d0c1;margin:10px 0}
@media(max-width:800px){dialog.farewell-dialog{padding:22px}.farewell-layout{grid-template-columns:1fr;gap:22px}.farewell-scene img{aspect-ratio:16/8}.farewell-conversation h3{font-size:23px}}
@media(max-width:440px){dialog.farewell-dialog{padding:18px}.farewell-dialog blockquote{font-size:19px;padding-left:13px}.farewell-observations{padding:14px}}

dialog.continuing-dialog{width:min(1080px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;padding:30px;background:#102a26;color:#e3e7db}
.continuing-dialog p,.continuing-dialog .button,.continuing-dialog summary{font:1rem/1.8 var(--sans)}
.continuing-dialog h3{font:1.6rem/1.5 var(--serif);color:#f2e2b9;margin:10px 0 18px}
.continuing-dialog .eyebrow{font-size:.875rem;line-height:1.7}
.continuing-dialog .button{min-height:48px;white-space:normal;overflow-wrap:anywhere}
.continuing-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.continuing-layout>*{min-width:0}
.continuing-art{margin:0;background:#0a201e;border:1px solid #c5ae7550}
.continuing-art img{width:100%;display:block;aspect-ratio:1;object-fit:cover}
.continuing-art figcaption{padding:14px 18px;font:.875rem/1.7 var(--sans);color:#cbd9cf}
.continuing-route{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.continuing-choices,.continuing-evidence{display:grid;gap:12px;margin:18px 0}
.continuing-card{display:grid;gap:8px;padding:20px;border:1px solid #c5ae7560;background:#d4bf7f09;color:inherit;text-align:left;min-width:0}
.continuing-card strong{font:1.3rem/1.5 var(--serif);color:#eddeb8}.continuing-card span{font:1rem/1.75 var(--sans)}
.continuing-card:hover{background:#d4bf7f16;border-color:#d0b77c}.continuing-card:focus-visible{outline:2px solid #e3c884;outline-offset:4px}
.continuing-card .case-place{font-size:.875rem;color:#b9cfc4}
.continuing-evidence article{border-left:2px solid #ac9967;padding:0 0 0 16px}
.continuing-evidence article p{margin:8px 0 0}.continuing-evidence .button{text-align:left;justify-content:flex-start}
.continuing-effect{padding:15px 18px;background:#d5c0850d;border-top:1px solid #c6ad7650;border-bottom:1px solid #c6ad7650}
.continuing-memory{margin:18px 0;padding:18px;border-left:2px solid #d4bc80;color:#eddfbe;font:1.2rem/1.85 var(--serif)}
.continuing-conversation{display:grid;gap:9px}.continuing-conversation .button{justify-content:flex-start;text-align:left}
.continuing-conversation [aria-pressed=true]{border-color:#e4c889;background:#c4ad7820}
.continuing-history{display:grid;gap:12px;margin:18px 0}.continuing-history details{border:1px solid #a48e6555;padding:14px 18px;background:#c9b27308}
.continuing-history summary{cursor:pointer;color:#eaddb9}.continuing-history p{margin:10px 0 0}
.continuing-note{color:#bdcfc5;font-size:.875rem!important}.continuing-dialog .modal-actions{flex-wrap:wrap;gap:9px}
@media(max-width:800px){dialog.continuing-dialog{padding:22px}.continuing-layout{grid-template-columns:1fr;gap:18px}.continuing-art img{max-height:320px;object-fit:contain}.continuing-art{background:#081c19}}
@media(max-width:440px){dialog.continuing-dialog{padding:18px}.continuing-card{padding:16px}.continuing-route>.button{flex:1 1 100%}}
.workbench{min-width:0;color:#e5e9dc;font:1rem/1.8 var(--sans)}
.workbench h2{font:1.7rem/1.45 var(--serif);color:#f0dfb3;margin:0 0 16px}
.workbench h3{font:1.15rem/1.55 var(--serif);color:#e8d8b0;margin:8px 0 14px}
.workbench p{margin:12px 0;overflow-wrap:anywhere}.workbench .button{min-height:48px;white-space:normal;text-align:left;justify-content:flex-start}
.workbench .eyebrow{font-size:.8rem;line-height:1.6;letter-spacing:.05em;color:#bfcfbe}
.workbench .modal-actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.workbench .modal-actions>.button{flex:1 1 170px}
.work-dates{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid #bba26b40;font:.8rem/1.7 var(--sans)}
.work-dates>div{min-width:0}.work-dates dt{color:#b3c5b7}.work-dates dd{margin:0;color:#e4d9be;font-variant-numeric:tabular-nums}
.workbench>.work-dates{gap:4px 16px;margin-bottom:12px;padding-bottom:10px}.workbench>.work-dates>div{display:flex;flex-wrap:wrap;gap:0 8px}
.work-date-unknown{color:#b8c7ba;font-size:.8rem!important}
.work-source{margin:16px 0;padding:16px 18px;background:#c8b0780b;border-left:2px solid #a38c57}.work-source p{font-size:.9rem}.work-source ol{padding-left:24px;margin:10px 0 0;color:#d7dfce;font-size:.9rem}
.work-artifact{position:relative;margin:22px 0;padding:24px;background:#e3d6b4;color:#2b3329;border:1px solid #efe4c5;box-shadow:0 5px 15px #0002}
.work-artifact::before{content:'';position:absolute;top:0;left:22px;right:22px;height:4px;background:#71816b}
.work-artifact .eyebrow{color:#53634c}.work-artifact h4{font:1.35rem/1.6 var(--serif);margin:8px 0 16px;border-bottom:1px solid #78836970;padding-bottom:12px}.work-artifact p{font:1rem/1.9 var(--serif)}.work-artifact>span:last-child{display:block;font:.8rem/1.7 var(--sans);color:#4f5d47;margin-top:20px}
.work-queue{margin:24px 0 0;padding:20px 0 0;border-top:1px solid #bca56960}.queue-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.queue-heading>span{color:#bccbbd;font-size:.8rem}.queue-cards{display:grid;gap:12px;margin-top:16px}.queue-cards article{border:1px solid #bca56945;background:#061e1840;padding:16px}.queue-cards strong{display:block;margin:8px 0 12px;font:1.05rem/1.5 var(--serif);color:#e5d6b2}.queue-cards .work-dates{border:0;margin:0 0 12px;padding:0}.queue-cards .button{width:100%}
.workbench .continuing-evidence{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench .continuing-evidence .button{width:100%;padding:12px}.workbench .continuing-evidence article{padding-left:12px}.workbench summary{cursor:pointer;font-size:.9rem}.workbench .continuing-memory{font-size:1.05rem}
@media(min-width:901px) and (min-height:761px){#game .play-panel.has-workbench{width:min(610px,43vw);max-height:calc(100svh - 17rem);overflow:auto;padding:26px}.workbench .continuing-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench .continuing-card:first-child:last-child{grid-column:1/-1}}
@media(max-width:900px),(max-height:760px){#game .play-panel.has-workbench{max-height:none;width:auto;padding:24px}.workbench .continuing-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){#game .play-panel.has-workbench{padding:20px}.workbench .continuing-choices,.workbench .continuing-evidence{grid-template-columns:minmax(0,1fr)}.workbench h2{font-size:1.5rem}.work-artifact{padding:20px}.workbench .modal-actions>.button{flex-basis:100%}}
/* Authored paper forms keep the player's chosen presentation visible. */
.work-artifact[data-artifact-kind="map"]{background-color:#e4d9bb;background-image:linear-gradient(#66754b12 1px,transparent 1px),linear-gradient(90deg,#66754b12 1px,transparent 1px);background-size:22px 22px;border-left:5px double #889371}
.work-artifact[data-artifact-kind="map"] li{padding:9px 12px;border-left:2px solid #687651;margin-bottom:9px;background:#f2e7cd70}.work-artifact[data-artifact-kind="outline"]{border-left:5px solid #819077}.work-artifact[data-artifact-kind="outline"] li{padding:6px 0;border-bottom:1px solid #76846340}
.work-artifact[data-artifact-kind="label"]{border:2px solid #78876b;border-radius:7px;box-shadow:4px 5px 0 #0001}.work-artifact[data-artifact-kind="direct"] h4{border-bottom:0}.work-artifact.is-private-draft{border-top:3px dashed #8a705b}.work-artifact.is-private-draft::before{display:none}

.work-artifact figure{margin:14px 0}.work-artifact h5,.work-artifact figcaption{font:1rem/1.7 var(--serif);margin:12px 0;color:#3d5135}.artifact-map-route{padding-left:24px}.artifact-label dl{display:grid;gap:10px}.artifact-label dl>div{display:grid;grid-template-columns:1fr 2fr;gap:10px}.artifact-label dt,.artifact-label dd{margin:0;overflow-wrap:anywhere}

.work-artifact[data-artifact-kind="map"] .artifact-map-route{list-style:none;display:grid;gap:27px;padding:6px 0;margin:16px 0 22px}.work-artifact[data-artifact-kind="map"] .artifact-map-route li{position:relative;margin:0 12%;padding:12px 16px;border:1px solid #75835d;background:#eee4c8;text-align:center;word-break:keep-all}.work-artifact[data-artifact-kind="map"] .artifact-map-route li:not(:last-child)::after{content:'↓';position:absolute;top:100%;left:calc(50% - 6px);line-height:27px;font-size:20px;color:#607147}.work-artifact[data-artifact-kind="map"] .artifact-map-route li:nth-child(2){margin-right:0;margin-left:24%;border-style:dashed}

.work-completed{margin:4px 0 18px;padding:16px 18px;border-left:2px solid #bba675;background:#d4bf7f0a}
.workbench .work-completed h3{margin:6px 0 10px;font-size:1.12rem}
.workbench .work-completed p{margin:8px 0;font-size:.94rem;line-height:1.75}
.workbench .work-completed-words{color:#c9d4c6}
.work-completed:focus{outline:2px solid #d7be81;outline-offset:4px}

.work-key-observation{margin:12px 0 0}
.work-key-observation button{display:block;width:100%;min-height:44px;padding:8px;border:1px solid #bba26b60;background:#071916;cursor:zoom-in}
.work-key-observation img{display:block;width:100%;height:144px;object-fit:contain}
.work-key-observation figcaption{font-size:.8rem;line-height:1.6;color:#c3cdbb;margin-top:8px}
.work-key-detail{margin:18px 0}.work-key-detail img{display:block;width:100%;max-height:48svh;object-fit:contain;background:#071916}.work-key-detail figcaption{font-size:.875rem;line-height:1.7;margin:12px 0;color:#c3cdbb}
.work-return-closed{padding:12px 16px;border-left:2px solid #a89670;background:#c5af7609}
.work-counter-caption{position:absolute;left:14px;top:14px;max-width:calc(100% - 28px);padding:7px 12px;background:#081b17df;border:1px solid #ccb27e55;color:#e2d4b1;font:.875rem/1.5 var(--sans);pointer-events:none}
.work-counter-caption[hidden],.work-return-closed[hidden],[data-return-target][hidden],[data-return-wide][hidden]{display:none}
.work-handover-detail{margin:20px 0}.work-handover-crop{position:relative;aspect-ratio:4/3;overflow:hidden;background:#071916}
.work-handover-crop img{position:absolute;width:250%;max-width:none;height:auto;left:-107.5%;top:-45%}
.work-handover-detail.is-retained img{width:232.56%;left:-58.14%;top:-61%}
.work-handover-detail figcaption{margin:14px 0;font:1rem/1.8 var(--sans)}
.held-wand[hidden]{display:none}
.continuing-dialog .workbench[data-work-title=general]>h2{display:none}

.guide-use{border:1px solid var(--line, #64715a);border-left:3px solid #d5bd85;border-radius:8px;padding:1.1rem;margin:0 0 1.4rem;background:#163429;font-size:1rem;line-height:1.75}
.guide-use h3,.guide-use h4{margin:0 0 .6rem}.guide-use .button{white-space:normal;text-align:left;min-height:48px;margin:.35rem 0}
.guide-use-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.guide-use-methods article{padding:.8rem;border:1px solid #62705a;border-radius:6px}.guide-use-methods p{font-size:1rem}
.guide-use fieldset{border:0;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.guide-use legend{font-weight:600;padding:0}.guide-use-source{border-top:1px solid #52604d;margin-top:1rem;padding-top:.7rem}.guide-use-source summary{font-size:.9rem}.guide-use-observation{padding:.75rem;background:#233d32}.guide-use [data-guide-status]:empty{display:none}
@media(max-width:600px){.guide-use-methods{grid-template-columns:1fr}.guide-use{padding:.9rem}.guide-use .button{width:100%}}
.work-guide-source,.workbench .work-observations{margin:1rem 0;padding:.65rem 0;border-top:1px solid #bba26b40}
.work-guide-source>.work-recollection{margin-bottom:0}
.work-recovery{margin:1rem 0}.work-recovery-positions{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:0;margin:0}
.work-recovery-positions li{padding:.5rem .25rem;border:1px solid #bba26b45;border-radius:5px;text-align:center;background:#0b211b;min-width:0}
.work-recovery-positions li[aria-current]{border-color:#d5bd85;background:#253b2c}.work-recovery-positions span{display:block;font-size:.875rem;line-height:1.5;min-height:2.7em;overflow-wrap:anywhere}
.work-recovery-positions li>div{height:76px;display:grid;place-items:center}.work-recovery-positions img{width:72px;height:72px;object-fit:contain}
.work-recovery[data-recovery-position=floating] img{animation:work-folder-hover 2.8s ease-in-out infinite}
.work-recovery figcaption{font:1rem/1.65 var(--sans);margin-top:.65rem;color:#e1e7d8}.work-recovery-roles{display:block;margin-top:.4rem;color:#c6d3bd}
@keyframes work-folder-hover{50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.work-recovery[data-recovery-position=floating] img{animation:none}}

.work-reference{margin:16px 0;padding:18px;border:1px solid var(--line);border-left:3px solid var(--gold);background:#d8c49708}
.work-reference h3{margin:6px 0 10px}.work-reference-document{color:#eddcb2}.work-reference-reason{color:#e2cfa7}
.work-reference .work-reference-small,.work-reference-draft .work-reference-small{font-size:.875rem;color:#c8cebd;line-height:1.7}
.work-reference-fold{margin:0 0 16px;border-block:1px solid var(--line)}.work-reference-fold>summary{padding:12px 0;min-height:44px;color:var(--gold)}
.work-reference-draft{margin:12px 0;padding:12px 16px;border-left:3px solid var(--gold);background:#d8c49708}.work-reference-draft p{margin:8px 0;font-size:.94rem;line-height:1.7}
.work-reference-candidate{display:block;font-size:.8rem;color:#695221;margin-bottom:6px}.work-reference [hidden]{display:none!important}
@media(max-width:600px){.work-reference{padding:14px}.work-reference-draft{padding:10px 12px}}

/* Final shared reading and reflow layer; episode artwork and layouts stay intact. */
:root{font-size:100%}
.boot-recovery{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;max-width:740px;margin:auto;text-align:center}.boot-recovery p{font-size:1rem;line-height:1.85}.boot-recovery .button{font-size:1rem}
.initial-loading{height:100svh;min-height:0;overflow:auto;box-sizing:border-box;justify-content:safe center}.boot-reload{display:inline-block;flex-shrink:0;padding:.75rem;font-size:1rem;line-height:1.6;color:inherit;text-underline-offset:.2em}.boot-reload:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.play-panel .narration,.play-panel .actions>p{font-size:1rem;line-height:1.85}
.play-panel .button{font-size:1rem;min-height:48px;white-space:normal;overflow-wrap:anywhere}
.play-panel .goal-line,.play-panel .interaction-hint{font-size:.875rem;line-height:1.75}
.action-dock button{font-size:.875rem;white-space:normal}.action-dock .count{font-size:.75rem}
.action-dock button>span{min-width:0;overflow-wrap:anywhere}
.location p{font-size:.875rem}.location>.eyebrow{font-size:.875rem;letter-spacing:.08em}
.brand-title{overflow-wrap:anywhere}.brand-sub{font-size:.75rem;line-height:1.5}.brand{min-width:0}.brand-mark{flex-shrink:0}
.masthead{gap:16px}.header-tools{flex-shrink:0}.scene-footer{font-size:.75rem;line-height:1.6;letter-spacing:normal;gap:14px;flex-wrap:wrap}
dialog .lead,dialog .dialog-alert,dialog .inventory-item p,dialog .settings-section p,dialog .toggle-row{font-size:1rem}
dialog .small,dialog .canon-note,dialog .form-grid label,dialog .language-label,dialog .settings-section details{font-size:.875rem;line-height:1.8}
:lang(ko) .illustrated-record :is(p,.card-detail),:lang(ko) dialog .canon-note{word-break:keep-all;overflow-wrap:break-word}
dialog .button{font-size:1rem;white-space:normal}dialog .modal-top .eyebrow{font-size:.875rem;letter-spacing:.08em}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{min-width:0}
dialog input:not([type=checkbox]),dialog select,dialog .full select,dialog .welcome-language select{font-size:1rem;min-width:0;max-width:100%}
dialog .inventory-item{min-width:0;overflow-wrap:anywhere}dialog .inventory-item>div{min-width:0}
#toast{font-size:1rem}
@media(min-width:901px) and (min-height:761px){
  #game:not(.at-records) .play-panel{width:min(430px,35vw);max-height:calc(100svh - 17rem);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ae9b68 #172e27}
  .action-dock{max-width:calc(100vw - 3rem)}.action-dock button{min-width:0}
}
@media(max-width:900px),(max-height:760px){
  body,body.records-layout{overflow:auto}
  #game,#game.at-records{display:flex;flex-direction:column;height:auto;min-height:100svh;padding:0 0 env(safe-area-inset-bottom);overflow:clip}
  #game .masthead{position:relative;left:auto;right:auto;top:auto;order:0;padding:20px;flex-wrap:wrap;grid-row:auto;grid-column:auto}
  #game .location{position:relative;left:auto;top:auto;order:1;max-width:none;padding:0 20px 16px;text-shadow:none}
  #game .location h1{font-size:clamp(1.5rem,4vw,2rem);margin:6px 0 0}
  #game .location p,#game .location-rule{display:none}
  #game .world{position:relative;left:auto;top:auto;transform:none;width:100%;height:auto;margin:0;order:2;z-index:0;grid-row:auto;grid-column:auto;align-self:auto}
  #game .play-panel{position:relative;right:auto;bottom:auto;order:3;align-self:auto;width:auto;max-height:none;overflow:visible;margin:16px 18px 20px;padding:20px;grid-row:auto;grid-column:auto}
  #game .action-dock{position:relative;left:auto;right:auto;bottom:auto;transform:none;order:4;align-self:stretch;justify-self:auto;margin:0 12px;padding:8px 5px;z-index:4;grid-row:auto;grid-column:auto}
  #game .action-dock button{min-width:0;flex:1;max-width:none;flex-direction:column;gap:5px;padding:9px 4px;font-size:.875rem;min-height:60px}
  #game .action-dock kbd{display:none}#game .action-dock .count{position:static}
  #game .scene-footer{position:relative;left:auto;right:auto;bottom:auto;order:5;height:auto;min-height:32px;padding:12px 20px;background:#102523}
  #game .hotspot{min-width:44px;min-height:44px}#game .hotspot span{display:none}
  #game .interaction-hint{display:block}
  .header-tools time{display:none}.brand-title{font-size:.875rem;letter-spacing:.08em}.brand-sub{font-size:.75rem;letter-spacing:.06em}
}
@media(max-width:600px){.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:1}.welcome-language .language-label{align-items:flex-start;gap:10px;flex-wrap:wrap}}
.public-entry-dialog h2{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
.public-entry-dialog p{word-break:keep-all;overflow-wrap:anywhere}
:lang(ja) .public-entry-dialog h2,:lang(ja) .public-entry-dialog p{word-break:normal;overflow-wrap:normal}
@media(max-width:560px){.public-entry-dialog .modal-actions{flex-direction:column}.public-entry-dialog .modal-actions>.button{width:100%;flex:auto;word-break:keep-all;overflow-wrap:anywhere}}

/* Only the explicit record/result action row: long labels retain whole words. */
@media(max-width:560px){
  dialog > .modal-actions:has(> :is([data-action="edit-record"],[data-action="edit-draft"])){display:grid;grid-template-columns:minmax(0,1fr)}
  dialog > .modal-actions:has(> :is([data-action="edit-record"],[data-action="edit-draft"])) > .button{width:100%;justify-content:center;word-break:keep-all;overflow-wrap:anywhere}
  :lang(ja) dialog > .modal-actions:has(> :is([data-action="edit-record"],[data-action="edit-draft"])) > .button{word-break:normal;line-break:strict;overflow-wrap:break-word}
}

/* Small toolbar glyphs retain a full pointer and touch target in every view. */
.icon-button{min-width:44px;min-height:44px;flex-shrink:0}
.sound-toggle,.toggle-row{min-height:44px}

/* Account confirmation and freely chosen, keyboard-equivalent object play. */
#save-status {position:fixed;z-index:10000;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid #bdab78;background:#102523;color:#fff7da;border-radius:8px;font-size:14px;pointer-events:none;}
.account-saving #game,.account-saving #overlay {cursor:progress;}
.account-saving button,.account-saving input,.account-saving select {pointer-events:none;opacity:.7;}
dialog.free-desk {width:min(1200px,96vw);max-width:1200px;padding:clamp(18px,3vw,36px);background:#102523;}
.free-desk-layout {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:26px;align-items:start;}
.free-desk-stage {position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #bda77e55;border-radius:10px;isolation:isolate;background:#112320;}
.free-desk-room {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:blur(3px);pointer-events:none;}
.free-desk-surface {position:absolute;inset:16% 4% 8%;background:linear-gradient(115deg,#705038,#33281d 65%,#4b3523);border:2px solid #b38d6266;border-radius:48% 48% 12% 12% / 12% 12% 6% 6%;box-shadow:inset 0 0 100px #090c0980,0 10px 40px #000;z-index:-1;}
.free-desk-light {position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at 85% 88%,#ceefff66,transparent 65%);opacity:0;pointer-events:none;transition:opacity .4s;}
.is-lit .free-desk-light {opacity:1;}
.free-desk-object {position:absolute;z-index:3;transform:translate(-50%,-50%);width:28%;min-width:80px;aspect-ratio:1;border:2px solid transparent;border-radius:12px;background:transparent;padding:0;cursor:pointer;color:#fff6dd;}
.free-desk-object img {width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 3px #0008);}
.free-desk-object span {display:block;font-size:12px;padding:5px 8px;background:#102523e8;border-radius:5px;white-space:nowrap;}
.free-desk-object[aria-pressed=true] {border-color:#ccb48288;}
.free-desk-object:focus-visible {outline:3px solid #f6da9d;outline-offset:5px;}
.is-floating .free-desk-object {cursor:grab;touch-action:none;}
.is-floating .free-desk-object:active {cursor:grabbing;}
.is-floating .free-desk-object img {filter:drop-shadow(0 24px 14px #0008) drop-shadow(0 0 10px #bfdedd77);}
.desk-wand {position:absolute!important;right:-12%!important;bottom:-15%!important;width:62%!important;height:44%!important;transform:rotate(-35deg);pointer-events:none;opacity:.92;z-index:4;}
.free-desk-controls {font-size:14px;line-height:1.7;}
.free-desk-controls .desk-state {font-size:18px;color:#f5e6c4;margin-top:0;}
.free-desk-controls .stack {display:grid;gap:10px;margin:18px 0;}
.desk-placements {display:grid;gap:8px;}
.free-desk-controls .button {min-height:44px;white-space:normal;}
#desk-position {font-variant-numeric:tabular-nums;font-size:12px;color:#c2cfc5;}
.free-desk-controls .small {color:#c2cfc5;}
@media(max-width:740px) {.free-desk-layout{grid-template-columns:1fr;gap:20px}.free-desk-stage{aspect-ratio:4/3}.desk-placements{grid-template-columns:repeat(3,1fr)}.action-dock{max-width:calc(100vw - 24px);overflow-x:auto}.action-dock button{flex-shrink:0}.free-desk-object span{font-size:11px;white-space:normal}}
@media(prefers-reduced-motion:reduce){.free-desk-light{transition:none}}
.reduce-motion .free-desk-light {transition:none;}

/* Exploration keeps scene geometry intact instead of cropping the playable targets. */
.session-covered #game,.session-covered #overlay,.session-covered #toast,.session-covered #announcement,.session-covered #save-status{visibility:hidden!important}
#session-cover{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:2rem;background:#102523;color:#f4ead6;font-size:1.1rem}
#session-cover[hidden]{display:none}
body.is-exploring{overflow:auto}
.is-exploring #game{height:auto;min-height:100svh;overflow:visible;padding:clamp(16px,2.5vw,36px);display:block}
.explore-header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.4rem}
.explore-header h1{font-size:clamp(26px,3vw,42px);margin:.4rem 0 0}
.explore-header .eyebrow{font-size:.85rem;letter-spacing:.12em}
.explore-tools{display:flex;gap:.6rem;flex-wrap:wrap}
.explore-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,330px);gap:clamp(18px,2vw,30px);align-items:start}
.explore-stage{position:sticky;top:1rem;aspect-ratio:1672/941;overflow:hidden;border:1px solid #cbb48066;border-radius:10px;isolation:isolate;container-type:inline-size;background:#0b1918}
.explore-room{width:100%;height:100%;object-fit:fill;display:block}
.explore-shade{position:absolute;inset:0;background:linear-gradient(#08231a33,#09231a05 40%,#061c1680);pointer-events:none}
.explore-light{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 70%,#c9f3df25,transparent 75%);opacity:0;pointer-events:none;transition:opacity .35s}
.explore-stage.is-lit .explore-light{opacity:1}
/* One/two actual recorded pages share the same full-room canvas in close-up.
   Decorative only: no extra hit target, translated label, or animation. */
.reading-scene{position:absolute;inset:0;z-index:2;pointer-events:none}
.reading-scene-sheet{display:block;position:absolute;pointer-events:none;filter:brightness(.85) saturate(.76)}
.reading-scene-sheet>.civic-art{width:100%;height:100%;aspect-ratio:auto!important;pointer-events:none}
.explore-object{position:absolute;z-index:3;width:max(44px,var(--prop-width));height:max(44px,calc(var(--prop-width)*.65));transform:translate(-50%,-50%);padding:0;border:0;border-radius:6px;color:#fff7e3;background:transparent;cursor:pointer}
.explore-object img{position:absolute;left:50%;top:50%;display:block;width:var(--prop-width);height:var(--prop-width);max-width:none;object-fit:contain;transform:translate(-50%,-50%) scaleY(.6);pointer-events:none;filter:brightness(.84) saturate(.72) drop-shadow(0 2px 1px #0009);user-select:none}
.explore-object span{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);display:none;background:#092720f2;border:1px solid #cbb48066;border-radius:5px;padding:4px 7px;font-size:.85rem;white-space:nowrap;pointer-events:none}
.explore-object:focus-visible span,.explore-object:hover span{display:block}
.explore-object[aria-pressed=true] img{filter:brightness(.95) saturate(.8) drop-shadow(0 2px 1px #0009) drop-shadow(0 0 2px #f1d59566)}
.explore-object.floating{cursor:grab;touch-action:none}
.explore-object.floating img{transform:translate(-50%,-50%) scaleY(.8);filter:brightness(.95) saturate(.8) drop-shadow(0 0 3px #d5f8e555)}
.explore-ground-shadow{position:absolute;z-index:2;width:var(--shadow-width);height:calc(var(--shadow-width)*.22);transform:translate(-50%,-50%);background:radial-gradient(ellipse,#030907a8,transparent 70%);opacity:var(--shadow-opacity);pointer-events:none;border-radius:50%}
.explore-object.carried img{transform:translate(-50%,-50%) rotate(-12deg);filter:brightness(.95) saturate(.8) drop-shadow(0 5px 8px #0009)}
.explore-object:focus-visible,.explore-detail:focus-visible{outline:3px solid #fff0a9;outline-offset:4px}
.explore-detail-leader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;color:#d2bb80}.explore-detail-leader line{stroke:currentColor;stroke-width:1.5;fill:none}
.explore-detail{position:absolute;z-index:2;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#102523e6;border:1px solid #d2bb80;color:#f1deb0;display:grid;place-items:center}
.explore-wand{position:absolute!important;z-index:2;right:2%!important;left:auto!important;bottom:-5%!important;width:33%!important;height:23%!important;pointer-events:none;transform:rotate(-28deg)}
.explore-panel{padding:1.25rem;background:#102b25;border:1px solid #cbb48055;border-radius:10px;font-size:1rem;line-height:1.65}
.explore-panel h2{font-family:var(--serif);font-size:1.4rem;line-height:1.4;margin:0 0 .8rem}
.explore-panel p{line-height:1.75;margin-bottom:1rem}
.explore-panel section,.explore-exits{margin-bottom:1.5rem}
.explore-exits{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem}
.explore-exits>span{font-size:.9rem;color:#d1ccb7;margin-right:.4rem}
.explore-exits .button{min-height:44px}
.explore-panel .button,.explore-tools .button{font-size:.95rem;min-height:44px;white-space:normal}
.explore-item-list,.explore-spells,.explore-placements{display:grid;gap:.5rem;margin-bottom:.8rem}
.explore-spells .button{justify-content:center}
.explore-placements{grid-template-columns:repeat(3,minmax(0,1fr))}
.explore-placements .button{padding:.6rem .25rem}
.explore-guide{margin-bottom:.8rem}
.explore-panel .explore-held-spell{font-family:var(--serif);color:#d6c59e;margin:.5rem 0 .8rem;font-size:1rem}
.explore-guide fieldset{min-width:0;border:0;padding:0;margin:0 0 .75rem}
.explore-guide legend{font-size:.9rem;color:#d6c59e;margin-bottom:.4rem}
.explore-heights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.explore-heights .button{padding:.55rem .25rem;justify-content:center}
.explore-heights .button[aria-pressed=true]{border-color:#e3d39c;background:#3c5141;opacity:1;color:#fff0c9}
.explore-land{width:100%;justify-content:center}
.explore-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.5rem 0}
.explore-item-list .button[aria-pressed=true]{border-color:#e3d39c;background:#3c5141}
#explore-input{font-size:.95rem;color:#d3d8cd;margin-top:1rem}
#explore-position{font-size:.85rem;color:#cad8c8}
.explore-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.explore-surface-name{font-size:.85rem;color:#d6c59e}
.explore-fold{border-top:1px solid #cbb48044;padding-top:.6rem;margin-top:.6rem}
.explore-fold>summary,.explore-help>summary{cursor:pointer;min-height:44px;align-content:center;font-size:1.05rem;color:#f0e1bf}
.explore-fold>section{margin:1rem 0 0;padding:0;border:0;background:transparent}
.explore-help>summary{font-size:.9rem;color:#d3d8cd}
.explore-observations{margin-top:1.2rem}
.explore-observations>.button{width:100%;justify-content:flex-start;text-align:left}
#explore-finding:not(:empty){border-left:2px solid #cbb480;padding:.8rem 0 .8rem 1rem;margin:1rem 0}
.explore-observations details{font-size:1rem}
.explore-observations summary{font-size:1rem}
.explore-footer{display:flex;gap:1rem;justify-content:space-between;margin-top:1.25rem;font-size:.85rem;line-height:1.6;color:#c3c7b9}
@media(max-width:900px){.explore-layout{grid-template-columns:1fr}.explore-stage{position:relative;top:0}.explore-panel{display:block}.explore-header{align-items:flex-start}.explore-tools{justify-content:flex-end}}
@media(max-width:560px){.explore-header{display:block}.explore-tools{margin-top:1rem;justify-content:flex-start}.explore-object span{font-size:.8rem}.explore-footer{display:block}.explore-footer span{display:block}.is-exploring #game{padding:16px}.explore-detail{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.explore-light{transition:none}}

.personal-practice-dialog .lead{word-break:keep-all;overflow-wrap:anywhere;text-wrap:pretty}
@media(max-width:560px){.personal-practice-dialog .modal-actions{display:grid;grid-template-columns:minmax(0,1fr)}.personal-practice-dialog .modal-actions .button{width:100%;justify-content:center;word-break:keep-all}}

.scene-readiness-notice{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:16px;background:#102720;color:#f5ebd1;text-align:center}
.scene-readiness-notice[hidden],.scene-readiness-notice [hidden]{display:none}
.scene-readiness-notice p{max-width:32rem;margin:0;font-size:1rem;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.scene-readiness-notice .button{min-height:44px;max-width:100%;margin:0;white-space:normal}
:lang(ja) .scene-readiness-notice p{word-break:normal;overflow-wrap:normal}
.explore-stage:focus-within>.scene-readiness-notice:not([hidden]){outline:2px solid #d6bd80;outline-offset:-4px}
.scene-readiness-notice .button[aria-disabled=true]{opacity:.7;cursor:wait}

.nook-discovery{border-left:2px solid #c7aa72;padding-left:1rem}
.nook-discovery .button{margin-bottom:.5rem}
.nook-controls{border-top:1px solid #cbb48055;padding-top:1.3rem}
.nook-controls .eyebrow{font-size:.85rem}
.nook-controls h3{font-family:var(--serif);font-size:1.2rem;line-height:1.5;margin-bottom:.8rem}
.nook-controls .button{width:100%;margin-bottom:.6rem;justify-content:center}
.nook-control-buttons{display:grid;gap:.25rem}
#nook-screen-help,.nook-small{font-size:.95rem;color:#d1d8ca;line-height:1.75}
.nook-arrangement{border-left:2px solid #c9b680;padding-left:.85rem}
.nook-rest-memory{margin:1.2rem 0;border-block:1px solid #cbb48044;padding:1rem 0}
.nook-memory-wand.wand-figure{width:100%;height:105px;margin:0 auto}
.nook-rest-memory p{margin:0;font-size:1rem;line-height:1.8}
.nook-letter{margin:1rem 0;padding:1.2rem;background:#e5dbc6;color:#263d32;border-radius:3px;font-family:var(--serif);font-size:1.1rem;line-height:1.8}
.nook-letter footer{font-size:1rem;margin-top:1rem;text-align:right}
.nook-letter p{margin:0}
.nook-atmosphere{position:absolute;inset:0;pointer-events:none;background:#07161018;z-index:1}
.nook-sheltered .nook-atmosphere{background:linear-gradient(90deg,#04140d55,#04140d05 70%)}
.nook-screen{position:absolute;z-index:5;bottom:7%;left:30%;width:40%;aspect-ratio:1145/1374;padding:0;background:transparent;border:0;transform-origin:center bottom;cursor:pointer}
.nook-screen img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 12px 7px #0008);pointer-events:none}
.nook-screen.screen-open{left:-17%}.nook-screen.screen-sheltered{left:3%}
.nook-screen.is-floating{transform:translateY(-6%);opacity:1;animation:nook-screen-rise .45s ease-out}
.nook-screen.is-floating img{filter:drop-shadow(0 24px 14px #0009) drop-shadow(0 0 5px #d9f3d280)}
.nook-screen:focus-visible{outline:3px solid #f3dda3;outline-offset:3px}
.nook-stage-places{position:absolute;inset:auto 3% 3%;display:flex;justify-content:center;gap:.7rem;z-index:7}
.nook-stage-places .button{font-size:.95rem;background:#112c24f5;min-height:44px;border-color:#d4c080}
.nook-seat{position:absolute;z-index:6;left:30%;top:66%;transform:translate(-50%,-50%);background:#102b25ed;color:#f5e6c5;border:1px solid #d1bc84;border-radius:22px;min-height:44px;display:flex;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.9rem}
.nook-note{position:absolute;z-index:6;padding:0;border:0;background:transparent;cursor:pointer;filter:brightness(.85) saturate(.76)}
.nook-note:focus-visible{outline:0}
.nook-note:focus-visible .scene-hit{outline:3px solid #f3dda3;outline-offset:3px}
.nook-note>.civic-art{width:100%;height:100%;aspect-ratio:auto!important;pointer-events:none}
#nook-feedback:not(:empty){position:absolute;inset:3% 3% auto;z-index:8;background:#102720f7;color:#f5ebd1;padding:.8rem 1rem;border:1px solid #c7b580;border-radius:6px;font-size:1rem;line-height:1.6;box-shadow:0 4px 20px #0006}
.is-nook .explore-floor{border-color:#e9dca429}
@keyframes nook-screen-rise{from{transform:translateY(0)}to{transform:translateY(-6%)}}
@media(max-width:900px){.nook-controls{grid-column:1/-1}.nook-memory-wand.wand-figure{max-width:320px}}
@media(max-width:560px){.nook-stage-places{gap:.4rem}.nook-stage-places .button{font-size:.875rem;padding:.45rem .6rem}.nook-seat{font-size:.875rem;padding:.35rem .65rem}.nook-seat .icon{display:none}#nook-feedback:not(:empty){font-size:.875rem;line-height:1.55;padding:.6rem .75rem}}
@media(prefers-reduced-motion:reduce){.nook-screen.is-floating{animation:none}}
.shared-rest-panel{margin:1rem 0 1.4rem;padding:1.1rem 0;border-block:1px solid #cbb48055}
.shared-rest-panel h2,.shared-rest-panel h3{font-family:var(--serif);font-size:1.35rem;line-height:1.5;margin:0 0 .8rem}
.shared-rest-panel p{font-size:1rem;line-height:1.8}
.shared-rest-actions{display:grid;gap:.65rem;margin-top:1rem}
.shared-rest-actions .button{white-space:normal;min-height:44px;text-align:center;justify-content:center}
.shared-rest-status{color:#d1d8ca}
.shared-rest-seat{left:32%;top:68%;width:max-content;max-width:43%;white-space:normal;text-align:center;justify-content:center;font-size:1rem}
.shared-rest-seat[data-player-seat="bench"]{left:82%;top:67%;max-width:32%}
.shared-rest-seat[hidden]{display:none}
@media(max-width:560px){.shared-rest-seat{font-size:.875rem;padding:.45rem .65rem}.shared-rest-seat[data-player-seat="bench"]{left:85%;max-width:25%}}

.shared-rest-short{display:none}
@media(max-width:560px){.shared-rest-long{display:none}.shared-rest-short{display:inline}}

/* A document can leave a small scene inside a wide viewport. Both nearby
   controls use that scene's width, with their full accessible names retained. */
@container (max-width:900px){
  .explore-stage:has(.shared-rest-seat) .room-place-target{padding:0;width:44px}
  .explore-stage:has(.shared-rest-seat) .room-place-target>span:not(.room-reading-badge){display:none}
  .shared-rest-seat{font-size:.875rem;padding:.45rem .65rem}
  .shared-rest-long{display:none}
  .shared-rest-short{display:inline}
}
@container (max-width:560px){
  .shared-rest-seat[data-player-seat="bench"]{left:85%;max-width:25%}
}

.nook-discovery-actions{display:flex;flex-wrap:wrap;gap:8px}
.nook-discovery-actions .button{margin:0}

.life-guide{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.2rem 1.5rem;margin:0 0 1.2rem;border:1px solid #bca66b;background:#122e29;color:#f3ead5;border-radius:6px}
.life-guide h2{font-family:var(--serif);font-size:1.35rem;margin:.35rem 0}.life-guide h2 span{font:500 1rem var(--sans);white-space:nowrap;margin-left:.75rem;color:#e4c47d}
.life-guide p{font-size:1rem;line-height:1.6;margin:.35rem 0}.life-live{color:#d6e0d8}.life-guide-actions{display:flex;flex-wrap:wrap;gap:.5rem;max-width:360px}.life-guide-actions .button{min-height:44px}
.life-panel{grid-column:1/-1;border:1px solid #bca66b66;border-radius:6px;padding:1.2rem;background:#102922}.life-panel h2{font-family:var(--serif);font-size:1.5rem}.life-panel h3{font-size:1.1rem;line-height:1.6;margin:.25rem 0}.life-panel p{font-size:1rem;line-height:1.7}
.life-practices{display:grid;gap:1rem}.life-practice{border-top:1px solid #bca66b44;padding-top:1rem}.life-practice p{margin:.4rem 0}.life-practice .button{width:100%;min-height:44px;margin-top:.5rem;justify-content:center}.life-requirement{color:#e3d3ac}.life-score{font-size:.9rem!important;color:#c7d8cb}
.life-recollection{padding:1rem;border-left:3px solid #cbb271;background:#d9bf7510;margin:1rem 0}.life-recollection p{margin:.5rem 0 0}.life-notebook{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #bca66b44}.life-notebook summary{cursor:pointer;font-size:1.05rem;line-height:1.6;min-height:44px}.life-notebook article{border-left:2px solid #baab83;padding-left:1rem;margin:1rem 0}.life-notebook .button{display:block;text-align:left;width:100%;margin:.5rem 0;white-space:normal;min-height:44px}
.life-target{position:absolute;z-index:6;width:44px;height:44px;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;color:#fff0c7;padding:0;overflow:visible;cursor:pointer}
.life-target::before{content:"";position:absolute;inset:30% 10%;border:1px dashed #ffe7a0;border-radius:50%;background:#102c2844;pointer-events:none}
.life-target span{position:relative;text-shadow:0 1px 3px #000}
.life-kept{display:inline-block;border-bottom:1px solid #baa579;font-size:.9rem;color:#e1ce9f}
.life-notebook [data-action=notebook-order][aria-pressed=true]{background:#304a3d;border-color:#e0c986;box-shadow:inset 0 0 0 1px #e0c986;font-weight:600}
.life-notebook [data-action=notebook-order][aria-pressed=true]:after{content:'';display:inline-block;width:.45em;height:.75em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 2px 4px 3px}
.life-target:disabled{opacity:1;cursor:default;pointer-events:none}.explore-object.floating{z-index:7}.life-target span{font-size:1rem;font-weight:700}.life-target strong{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);white-space:nowrap;font-size:.875rem;font-weight:500;padding:.2rem .5rem;background:#102720f2;border-radius:3px}.life-target:focus-visible{outline:3px solid #fff4cb;outline-offset:5px}
#life-feedback:not(:empty){padding:.75rem;border:1px solid #cbb271;background:#173a2c}
.life-activity{align-items:flex-start}.life-activity>div:first-child{flex:1;min-width:0}.life-activity .life-guide-actions{width:300px;flex-shrink:0;display:grid;grid-template-columns:1fr}.life-activity .button{white-space:normal;text-align:left;min-height:48px;line-height:1.5}
.life-address{color:#e4d0a4;font-size:.95rem!important}.life-letter-text,.life-reply blockquote{margin:1rem 0;padding:1rem 1.2rem;border-left:2px solid #cdb374;background:#e5dbc6;color:#263d32;font-family:var(--serif);line-height:1.8}
.life-page{border-top:1px solid #cbb48055;padding-top:.75rem}.life-page h3{font-size:1.1rem;margin:.3rem 0}.life-index-preview{padding-left:1.5rem;line-height:1.8}.life-index-preview span{font-size:.9rem;color:#d4c6a6;margin-left:.5rem}.life-notebook-section{padding-top:1rem;border-bottom:1px solid #cbb48055;color:#e4cd99}
@media(max-width:900px){.life-activity .life-guide-actions{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.life-activity .life-guide-actions>p{grid-column:1/-1}}
@media(max-width:560px){.life-activity .life-guide-actions{grid-template-columns:1fr}}
@media(max-width:900px){.life-guide{align-items:flex-start;flex-direction:column;gap:.75rem}.life-guide-actions{max-width:none}.life-practices{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.life-practice .button{height:auto}}
@media(max-width:650px){.life-practices{grid-template-columns:1fr}.life-guide{padding:1rem}.life-panel{padding:1rem}}
button[data-action^="life-space-"][aria-disabled="true"]{cursor:default;opacity:.42}

.world-clock{display:grid;grid-template-columns:auto auto;column-gap:.65rem;row-gap:.1rem;align-items:center;color:#e4d1a0;font-family:var(--sans);font-size:.875rem;font-variant-numeric:tabular-nums;line-height:1.5;flex-shrink:0}
.world-clock time{font-size:1.05rem;letter-spacing:.03em;color:#f7eed8}
.world-clock [data-world-date]{grid-column:1/-1;color:#bac8bf;font-size:.875rem}
.world-clock-place{letter-spacing:.1em}
.explore-tools{align-items:center}.explore-tools .world-clock{margin-right:.7rem}.header-tools .world-clock{margin-right:1rem}
.world-mood{position:absolute;z-index:1;left:1rem;bottom:.6rem;max-width:75%;margin:0;padding:.3rem .6rem;color:#eee5cd;background:#0a1b18cc;border-left:1px solid #d1b570;font-size:.875rem;line-height:1.6;pointer-events:none}
.explore-stage .explore-room{transition:filter 2s}
[data-world-period=night] .explore-room{filter:brightness(.78) saturate(.88)}
[data-world-period=evening] .explore-room{filter:brightness(.9) sepia(.08)}
[data-world-period=morning] .explore-room{filter:brightness(1.04)}
.explore-panel .life-guide{display:block;padding:0 0 1.25rem;border:0;border-bottom:1px solid #bca66b77;border-radius:0;background:transparent;margin:0 0 1.25rem}
.explore-panel .life-guide .eyebrow{font-size:.875rem}.explore-panel .life-guide h2{font-size:1.35rem}
.explore-panel .life-guide-actions{display:grid;grid-template-columns:1fr;width:100%;max-width:none;margin-top:1rem}
.explore-panel .life-guide-actions .button{justify-content:flex-start;text-align:left}
.explore-panel .life-guide-actions [data-action=life-cancel]{background:transparent;color:#bdc9be;border-color:transparent;font-size:.875rem}
.explore-panel:has(.life-guide) #actions{border-top:1px solid #cbb48044;padding-top:1rem}
.explore-layout{grid-template-columns:minmax(0,1fr) minmax(290px,340px)}
.explore-header{margin-bottom:1rem}.explore-header h1{font-size:clamp(26px,2.6vw,38px)}
.explore-header .eyebrow{letter-spacing:.08em}
.contact-panel{border-top:1px solid #bca66b77;padding-top:1.25rem;margin-top:1.25rem}.contact-panel>h2{font-size:1.2rem;margin-bottom:.4rem}
.explore-panel>.contact-panel:first-child{margin-top:0;padding-top:0;border-top:0}
.explore-contact{position:absolute;z-index:4;transform:translate(-50%,-50%);min-width:44px;min-height:44px;border:1px solid #d7bd7d;border-radius:50%;padding:.6rem;display:grid;place-items:center;color:#efe0ba;background:#143b30e8;cursor:pointer}
.explore-contact>span{position:absolute;top:calc(100% + .4rem);white-space:nowrap;padding:.2rem .5rem;border:1px solid #bea66c77;background:#102720ef;font-size:.875rem;border-radius:4px;opacity:0;pointer-events:none}
.explore-contact:hover>span,.explore-contact:focus-visible>span{opacity:1}.explore-contact:focus-visible{outline:3px solid #ffedb4;outline-offset:4px}
.explore-object.rest[data-id=folder] img{transform:translate(-50%,-50%) scaleY(.42) rotate(-8deg)}
@media(min-width:901px){.is-exploring #game{padding:24px 24px 16px}.explore-panel{max-height:calc(100svh - 180px)}}
.contact-presence{display:grid;gap:.2rem;font-size:.875rem;color:#c6d0c6;margin:0 0 1rem!important}.contact-presence[data-present=true]>span:first-child{color:#d9cf9b}
.contact-presence[hidden]{display:none}
.contact-presence>span:first-child::before{content:'·';margin-right:.5rem;color:#dfc47e;font-weight:700}
.contact-story{padding:1rem 0;margin-top:1rem;border-top:1px solid #cbb48044}.contact-story h2{font-size:1.3rem;margin-top:.4rem}
.contact-story .eyebrow{font-size:.875rem;letter-spacing:.04em}.contact-actions{display:grid;gap:.5rem}
.contact-actions .button{justify-content:flex-start;text-align:left;line-height:1.5;min-height:48px}.contact-evidence{border-left:2px solid #bca66b;padding-left:.8rem;color:#e2d4b3}
.contact-invitation,.contact-pending{padding:1rem;margin:1rem 0;background:#ddc27b0c;border:1px solid #bca66b44;border-radius:4px}
.contact-invitation .button,.contact-pending .button{width:100%;justify-content:flex-start;text-align:left}
.contact-letter,.contact-memory{margin:1rem 0;border-bottom:1px solid #bca66b33;padding-bottom:.75rem}.contact-letter>span{font-size:.875rem;color:#c7ccb8}.contact-memory h3{font-size:1rem}
.contact-letter blockquote,.contact-memory blockquote{margin:.6rem 0;padding:.8rem 1rem;border-left:2px solid #cdb374;background:#e5dbc6;color:#263d32;font-family:var(--serif);font-size:1rem;line-height:1.75}
@media(min-width:901px){.explore-stage{top:1.5rem}.explore-panel{max-height:calc(100svh - 190px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#8b825e #132a24;overscroll-behavior:contain}.explore-panel:focus-within{scroll-behavior:smooth}}
@media(max-width:900px){.explore-layout{grid-template-columns:1fr}.explore-header{flex-wrap:wrap}.explore-panel .life-guide-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-tools{gap:.4rem}.explore-stage{position:relative}.world-mood{font-size:.875rem;bottom:.5rem;left:.5rem}}
@media(max-width:560px){.explore-header{display:grid;grid-template-columns:1fr;gap:.8rem}.explore-header h1{margin:.2rem 0 0}.explore-tools{display:flex;flex-wrap:wrap;margin-top:0;justify-content:flex-start}.explore-tools .world-clock{flex:1;margin-right:0}.explore-tools>.button{font-size:.875rem;padding:.6rem}.explore-exits>span{display:none}.world-clock{font-size:.875rem;column-gap:.5rem;width:max-content;flex-shrink:1}.world-clock time{font-size:1rem}.world-clock [data-world-date]{font-size:.875rem}.header-tools .world-clock{margin-right:.25rem}.masthead{flex-wrap:wrap;gap:.6rem}.masthead .header-tools{width:100%;justify-content:flex-end}.masthead .world-clock{margin-right:auto}.world-mood{display:none}.explore-panel .life-guide-actions{grid-template-columns:1fr}.explore-panel{padding:1rem}}
@media(prefers-reduced-motion:reduce){.explore-stage .explore-room{transition:none}.explore-panel:focus-within{scroll-behavior:auto}}
[data-work-away=true] .world>button:not([data-action^="move-"]){display:none}
[data-work-live][hidden],[data-work-paused][hidden]{display:none!important}
[data-work-paused] h2{font-size:1.25rem;margin:0 0 .75rem;color:#eadbb6}
[data-work-paused]>p{font-size:1rem;line-height:1.8}
[data-work-paused] .contact-presence{padding:.75rem 0;border-top:1px solid #bea66c55}
.masthead .header-tools .world-clock time{display:block}

.solo-work{display:grid;gap:1rem;margin:1rem 0}.solo-task{border-top:1px solid #b3996545;padding-top:.85rem}.solo-task h3{font:600 1.05rem Georgia,serif;color:#e8dab7;margin:.2rem 0 .6rem}.solo-task p{line-height:1.75;color:#d0d7cc;font-size:.91rem}.solo-task .actions{margin-top:.75rem}.explore-return-route{max-width:15rem;color:#d6c392;font-size:.8rem;line-height:1.6}.solo-work .button{min-height:44px}

.solo-task .solo-document{padding:1rem;border-left:2px solid #cbb684;background:#c7b88712;white-space:pre-line;color:#e4d6b8;font-family:Georgia,serif}.solo-task .actions:empty{display:none}

.civic-panel{margin:0 0 22px;border:1px solid #b99b5c80;background:#122a24;color:#e6e6d6;font:1rem/1.8 var(--sans)}
.civic-panel>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:15px 18px;background:#c7ae7710;font:1.1rem/1.5 var(--serif);color:#ecdab2}
.civic-panel>summary::before{content:'◇';font-family:var(--serif);color:#cab16f}.civic-panel>summary>span{flex:1}.civic-panel>summary small{font:.75rem/1.5 var(--sans);color:#becbbb}
.civic-body{padding:18px}.civic-body h3{font:1.4rem/1.6 var(--serif);margin:0 0 14px;color:#f0dfb8}.civic-body p{margin:12px 0;overflow-wrap:anywhere}.civic-body>.button{width:100%;margin:8px 0 0;min-height:48px;white-space:normal;text-align:left}
.civic-kicker,.civic-help,.civic-memory{font:.85rem/1.7 var(--sans)!important;color:#bfcbbb}.civic-kicker{letter-spacing:.08em}.civic-clues{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.civic-clues>div{padding:10px;border-left:2px solid #a58d5944;background:#06221b55}.civic-clues .button{min-height:48px;width:100%;white-space:normal;text-align:left;padding:9px}.civic-clues p{font-size:.9rem}
.civic-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:22px 0;min-width:0}.civic-options legend{padding:0 0 10px;font:1rem/1.7 var(--serif);color:#e6d6ad}.civic-options .button{display:block;min-height:52px;text-align:left;white-space:normal;padding:13px}.civic-options small{display:block;color:#bac7b8;font-size:.8rem;line-height:1.75;margin-top:8px}.civic-options [aria-pressed=true]{border-color:#e3c781;background:#baa16925;box-shadow:inset 3px 0 #d3b877}
.civic-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:16px;margin:18px 0;background:#e4d9b9;color:#2c392c;border-top:4px solid #8f9b7f}.civic-preview>span:first-child{grid-column:1/-1;font:.8rem/1.6 var(--sans);color:#59634a}.civic-preview .civic-draft-art{display:block;position:relative;max-width:100%;line-height:0;filter:drop-shadow(0 3px 4px #0003)}.civic-preview .civic-draft-art+p{margin:0;font:1rem/1.65 var(--sans)}
.civic-confirmation{margin:18px 0;scroll-margin-block:16px}.civic-confirmation .civic-preview{margin:0 0 12px}.civic-confirmation>.button{width:100%;min-height:48px;white-space:normal}
.civic-result>span,.civic-result time{display:block;font:.8rem/1.7 var(--sans);color:#b9c7b3}.civic-result h3{margin-top:9px}.civic-result .civic-method-record{color:#d6c59b;font-size:.9rem}.civic-receipt{padding:14px 16px;background:#d7dcc312;border-left:2px solid #9dac8a;font:1rem/1.9 var(--serif)}
.civic-offers{margin-top:18px}.civic-offers .button{width:100%;white-space:normal;min-height:48px}.civic-history{display:grid;gap:12px}.civic-history details{padding:18px;border:1px solid #bda36650}.civic-history summary{cursor:pointer;color:#e4d0a0}.civic-history time{font-size:.85rem}
/* First-shift actions stay reachable over an installed paper in the same tray. */
.world>.hotspot{z-index:4}
/* Art and input areas are separate: translated labels never resize a prop. */
.civic-prop,.civic-work-paper{position:absolute;z-index:3;display:block;margin:0;padding:0;min-width:0;min-height:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;cursor:pointer;line-height:0;isolation:isolate}
.civic-art{display:block;position:relative;overflow:hidden;width:100%;pointer-events:none}
.civic-art img{position:absolute;max-width:none;pointer-events:none;user-select:none}
.civic-prop:hover .civic-art,.civic-work-paper:hover .civic-art{filter:brightness(1.08)}
.civic-prop:focus-visible,.civic-work-paper:focus-visible{outline:2px solid #e8cf8f;outline-offset:4px}
.civic-prop-notice.spot-board{left:47%;top:35%;width:5.5cqw;filter:drop-shadow(.12cqw .12cqw .08cqw #0006)}
.civic-prop-notice.spot-ledge{left:58.5%;top:51%;width:12cqw}
.civic-lectern-page{position:absolute;left:40%;top:16%;width:40%;height:20%;aspect-ratio:auto!important;transform:matrix(1,.08,-.43,.6,0,0);transform-origin:0 0}
.civic-prop-tray.spot-desk{left:53%;top:68.3%;width:17cqw;transform:rotate(.5deg)}
.civic-prop-tray.spot-desk .civic-art{height:3.05cqw;aspect-ratio:auto!important}
.civic-prop-notice.spot-ledge::before{content:"";position:absolute;left:14%;bottom:2%;width:72%;height:4%;background:#07131066;border-radius:50%;filter:blur(.18cqw);z-index:-1}
.civic-room-shelf{position:absolute;left:.05%;top:16.3%;width:9.2cqw;z-index:2;pointer-events:none;filter:brightness(.55) saturate(.6)}
.civic-prop-tray.spot-shelf{left:.7%;top:25.4%;width:3.5cqw;filter:brightness(.65) saturate(.7)}
.civic-prop-tray.spot-shelf .scene-hit{left:0;transform:translateY(-50%)}
.civic-prop-route.spot-entrance{left:55.7%;top:38%;width:4.7cqw}
.civic-prop-route.spot-table{left:75%;top:63%;width:12cqw;transform:rotate(-2deg)}
.civic-work-paper.room-office{left:39.5%;top:82%;width:10cqw;transform:rotate(4deg)}
.civic-work-paper.room-records{left:54%;top:66%;width:11cqw;transform:rotate(2deg)}
.civic-work-paper.is-label{width:5.4cqw}
.civic-work-paper.is-label .civic-art{height:1.35cqw;aspect-ratio:auto!important}
.civic-discovery{position:absolute;right:10px;top:10px;z-index:5;max-width:45%;min-height:44px;padding:8px 12px;border:1px solid #d2bb80;border-radius:24px;background:#102523ed;color:#f1deb0;box-shadow:0 2px 10px #0004;font:.85rem/1.5 var(--sans);text-align:center;white-space:normal}
.world,.explore-stage{container-type:inline-size}
@media(min-width:901px) and (min-height:761px){#game .play-panel:has(.civic-panel[open]){width:min(610px,43vw);max-height:calc(100svh - 17rem);overflow:auto}}
@media(max-width:600px){.civic-options,.civic-clues{grid-template-columns:1fr}.civic-body{padding:16px}.civic-panel>summary{padding:13px}.civic-panel>summary small{max-width:90px}.civic-discovery{right:8px;top:8px;padding:8px 10px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.civic-prop{transition:none}}.reduce-motion .civic-prop{transition:none}
.civic-panel{container-type:inline-size}.civic-clues p{word-break:keep-all;overflow-wrap:break-word}
@container (max-width:420px){.civic-clues,.civic-options{grid-template-columns:minmax(0,1fr)}}
@container (max-width:260px){.civic-preview{grid-template-columns:74px minmax(0,1fr);gap:10px}}
@media(min-width:1100px){.explore-layout:has(.civic-panel[open]){grid-template-columns:minmax(0,1fr) minmax(360px,410px)}}
.civic-next-rooms{margin-top:20px;border-top:1px solid #b59c6544;padding-top:12px}.civic-next-rooms .button{width:100%;margin-top:8px;text-align:left;min-height:48px}.civic-observations summary{cursor:pointer;padding:12px 0;color:#d4c799;font:.9rem/1.6 var(--sans)}

.civic-body p{word-break:keep-all;overflow-wrap:break-word}

/* A material workbench, shared by all three room improvements. Its objects
   are the same authored installation art used in the actual room. */
.civic-workbench-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;margin:20px 0 24px;font: .875rem/1.5 var(--sans);color:#b8c6b7}
.civic-workbench-steps li{border-top:2px solid #617064;padding:10px 0 0;overflow-wrap:anywhere}
.civic-workbench-steps li>span{display:block;font:.75rem/1.5 var(--sans);margin-bottom:4px;color:#acb9a7}
.civic-workbench-steps [aria-current]{border-color:#e1c58b;color:#f2dfb9}
.civic-workbench-steps [aria-current]>span{color:#e1c58b}
.civic-inspection-spread{gap:0;background:#e4dcc5;border:1px solid #b6a77f;color:#28362c;box-shadow:0 8px 18px #03140b28}
.civic-inspection-spread>div{position:relative;margin:0;padding:20px;border:0;background:none;min-width:0}
.civic-inspection-spread>div+div{border-left:1px solid #89795255}
.civic-inspection-spread .civic-inspection-number{display:block;color:#68634b;font:.875rem/1.5 var(--serif);letter-spacing:.15em}
.civic-inspection-spread .button{color:#263c30;border:0;border-bottom:1px solid #80774980;border-radius:0;background:transparent;padding:12px 0;font:1.05rem/1.65 var(--serif);box-shadow:none}
.civic-inspection-spread .button:disabled{opacity:1;color:#263c30}
.civic-inspection-spread .button:hover:not(:disabled){color:#715b22;background:#897d4a12}
.civic-inspection-spread p{font:1rem/1.8 var(--sans);color:#303e30;margin-bottom:0}
.civic-inspection-line{display:block;border-bottom:1px solid #998d683d;margin-top:22px;height:1px}
.civic-options.civic-material-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.civic-material-options .civic-material-choice{display:flex;flex-direction:column;align-items:stretch;padding:0 0 16px;background:#10231f;overflow:hidden;border-radius:4px;border-color:#a9946855;min-width:0}
.civic-material-choice>strong,.civic-material-choice>small{margin:0;padding:0 14px}
.civic-material-choice>strong{font:1.05rem/1.6 var(--serif);color:#f0dfb8}
.civic-material-choice>small{font:.875rem/1.65 var(--sans);color:#c0ccbc;margin-top:7px}
.civic-material-image{display:flex;position:relative;align-items:center;justify-content:center;min-width:0;height:174px;margin-bottom:16px;background:radial-gradient(ellipse at 50% 80%,#b5944940,transparent 70%),linear-gradient(160deg,#253b30,#101f1b);border-bottom:1px solid #b9a26a33;line-height:0}
.civic-material-image .civic-draft-art{display:block;position:relative;width:auto!important;max-width:88%;height:138px;filter:drop-shadow(0 8px 7px #0006)}
.civic-material-image .civic-draft-tray,.civic-material-image .civic-draft-route.spot-table{height:auto;width:88%!important;max-height:130px}
.civic-material-choice:hover .civic-material-image{background-color:#455740}
.civic-material-options [aria-pressed=true]{border-color:#e3c781;box-shadow:inset 0 -3px #d3b877;background:#263c2f}
.civic-decided-method,.civic-decided-place{border-block:1px solid #c7ae7744;margin:18px 0}
.civic-decided-method summary,.civic-decided-place summary{cursor:pointer;padding:14px 0;color:#eddbb0;font:1rem/1.6 var(--serif)}
.civic-decided-method summary small,.civic-decided-place summary small{float:right;margin-left:12px;color:#b6c6b4;font:.875rem/1.8 var(--sans)}
.civic-installation{position:relative;overflow:hidden;margin:20px 0;background:#101e1a;border:1px solid #af956348;border-radius:5px}
.civic-installation-label{display:block;padding:14px 18px 0;color:#c2c9b5;font:.875rem/1.5 var(--sans)}
.civic-installation .civic-material-image{height:244px;margin:0;border:0;background:radial-gradient(ellipse at center,#b6944930,transparent 68%)}
.civic-installation .civic-draft-art{height:210px;max-width:80%}
.civic-installation .civic-draft-tray,.civic-installation .civic-draft-route.spot-table{height:auto;width:80%!important;max-height:190px}
.civic-installation>p{padding:14px 18px;margin:0!important;background:#ded4b6;color:#29382d;font:1rem/1.7 var(--serif)}
.civic-installation[data-variant=draft][data-method=clip][data-placement=ledge]:not(.is-draft) .civic-lectern-page{transform:matrix(1,.15,-.43,.6,0,0) rotate(6deg)}
.civic-installation[data-variant=dim][data-placement=board]:not(.is-draft) .civic-material-image{background:linear-gradient(140deg,#101714,#17231c)}
.civic-installation[data-variant=dim][data-placement=board]:not(.is-draft) .civic-draft-art{filter:brightness(.64) drop-shadow(0 8px 7px #0006)}
.civic-solo-entry{margin:18px 0;padding:18px 0;border-block:1px solid #bd9f6359}
.civic-solo-entry .eyebrow{font-size:.875rem;color:#d4c08f}
.civic-solo-entry h3{margin:8px 0;font:1.3rem/1.6 var(--serif);color:#f0dfb8}
.civic-solo-entry p{margin:8px 0 16px;font:1rem/1.8 var(--sans);word-break:keep-all;overflow-wrap:break-word}
.civic-solo-entry .button{width:100%;min-height:48px;white-space:normal;text-align:left}
@container (max-width:340px){.civic-inspection-spread{grid-template-columns:1fr}.civic-inspection-spread>div+div{border-left:0;border-top:1px solid #89795255}.civic-material-image{height:150px}.civic-material-image .civic-draft-art{height:120px}.civic-material-image .civic-draft-tray,.civic-material-image .civic-draft-route.spot-table{height:auto}.civic-material-choice>strong,.civic-material-choice>small{padding-inline:10px}.civic-decided-method summary small,.civic-decided-place summary small{float:none;display:block;margin:3px 0 0}}
@media(max-width:359px){.civic-options.civic-material-options{grid-template-columns:minmax(0,1fr)}}

.civic-tea-entry{margin-top:24px;padding-top:18px;border-top:1px solid #baa36b66}.civic-tea-entry p{font-size:1rem;line-height:1.75}.civic-tea-entry .button{width:100%;min-height:48px}
.civic-route-entry{margin:0 0 18px}.civic-route-entry .button{width:100%;min-height:48px;white-space:normal}.civic-route-entry p{font:.875rem/1.6 var(--sans);color:#c0ccbc}
.route-trial-dialog{max-width:900px!important}.route-trial{color:#e9e5d5}.route-trial h2{margin:8px 0 10px;font:1.8rem/1.4 var(--serif)}.route-trial p{font:1rem/1.7 var(--sans);word-break:keep-all;overflow-wrap:break-word}
.route-trial-intro{margin:0 0 18px}.route-trial-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px}.route-trial-plans .button{min-width:0;min-height:48px;white-space:normal;font:.875rem/1.5 var(--sans);padding:10px}.route-trial-plans [aria-pressed=true]{border-color:#e5c889;background:#ddc085;color:#172d25}
.route-trial-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1fr);gap:24px;align-items:start}.route-trial-drawing{position:relative;background:#e5dcc0;color:#213e32;border:1px solid #baa977;padding:16px 8px 8px}.route-trial-drawing svg{display:block;width:100%;height:auto;overflow:visible}.route-trial-drawing text{font:4.7px var(--sans);fill:#263d30;paint-order:stroke;stroke:#e5dcc0;stroke-width:1.4px;stroke-linejoin:round}
.route-trial-passages{stroke:#a9ab90;stroke-width:5;stroke-linecap:round}.route-trial-previous{fill:none;stroke:#875e46;stroke-width:1.1;stroke-dasharray:2 1.8;stroke-linejoin:round}.route-trial-map-path{fill:none;stroke:#718a5b;stroke-width:2;stroke-dasharray:1 2}.route-trial-walked{fill:none;stroke:#295a47;stroke-width:1.2;stroke-linejoin:round}.route-trial-station{fill:#e5dcc0;stroke:#777d60;stroke-width:.7}.route-trial-station.seen{fill:#829c73}.route-trial-you{fill:#183f31;stroke:#e5dcc0;stroke-width:1.1}
.route-trial-map-label{display:block;font:.875rem/1.5 var(--serif);text-align:center;padding-top:8px}.route-trial-position{margin-top:0;font-weight:600!important;color:#ead39c}.route-trial-guide{position:relative;padding:14px 18px;border-left:3px solid #cbb075;background:#243b2f}.route-trial-guide p{margin:8px 0 0}.route-trial-arrow{display:block;font:2rem/1.1 var(--sans);color:#e7ca88}.route-trial-guide-away{color:#bdcabb;font-size:.875rem!important}.route-trial-directions{display:grid;gap:8px;margin-top:16px}.route-trial-directions .button{min-height:48px;white-space:normal;text-align:left;width:100%}.route-trial-comparison{padding:12px 0;border-bottom:1px dashed #ac987363;color:#d6c5a0;font-size:.875rem!important}.route-trial-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.route-trial-footer .button{white-space:normal;min-height:48px;flex:1}.route-trial-footnote{font-size:.875rem!important;color:#b9c6b5;margin-bottom:0}
@media(max-width:600px){.route-trial-dialog{padding:20px!important}.route-trial-layout{grid-template-columns:minmax(0,1fr);gap:18px}.route-trial-drawing{max-width:340px;width:100%;box-sizing:border-box;margin-inline:auto}.route-trial h2{font-size:1.5rem}.route-trial-plans{gap:6px}.route-trial-footer{flex-direction:column}.route-trial-drawing text{font-size:5px}}
.route-trial-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.route-trial-top .button{min-height:44px;padding:8px 12px}.route-trial h2{margin-top:0}.route-trial-plan-picker{border-block:1px solid #b8a27266;margin:16px 0}.route-trial-plan-picker>summary{cursor:pointer;padding:12px 0;font:1rem/1.5 var(--sans)}.route-trial-plan-picker>summary small{display:block;font:.875rem/1.5 var(--sans);color:#c7b988;margin-top:3px}.route-trial-plan-picker .route-trial-plans{margin-top:12px}.route-trial-canvas{position:relative}.route-trial-canvas [data-route-node]{position:absolute;transform:translate(-50%,-50%);padding:0;width:44px;height:44px;min-height:44px;border-radius:50%;border:2px solid #7a632d;background:#e3cb8b;color:#213b2f;font:1.1rem var(--sans);box-shadow:0 2px 4px #0003}.route-trial-canvas [data-route-node]:hover{background:#f4dfab}.route-trial-canvas [data-route-node]:focus-visible{outline:3px solid #1d4f3d;outline-offset:3px}.route-trial-text-options>summary{cursor:pointer;padding:12px 0;font:.875rem/1.5 var(--sans);color:#d6c291}

.use-panel{padding:20px;margin:0 0 20px;border:1px solid #a99260;background:#19352e;color:#e8eadf;font:1rem/1.8 var(--sans);container-type:inline-size}
.use-panel h3{font:1.4rem/1.5 var(--serif);color:#f0ddb3;margin:8px 0 14px}.use-panel h4{font:1.12rem/1.6 var(--serif);color:#e7d5ac;margin:0 0 8px}.use-panel p{margin:12px 0;word-break:keep-all;overflow-wrap:break-word}
.use-kicker{font:.75rem/1.7 var(--sans);letter-spacing:.07em;color:#cdbb8d}.use-panel .use-cause{font-size:.82rem;color:#bcccba;border-left:2px solid #ab975e;padding-left:12px}.use-presence{font-size:.83rem;color:#cbd7c0}
.use-panel .button{width:100%;text-align:left;white-space:normal;min-height:48px;margin-top:9px}.use-offer{padding-top:16px;margin-top:18px;border-top:1px solid #bca57450}.use-destination{margin:20px 0;padding:15px;background:#0c231b;border:1px solid #77937980}.use-destination>span{display:block;font-size:.8rem;color:#b8c9ae}.use-destination>strong{font:1.15rem/1.8 var(--serif);color:#e8dcb8}.use-destination p{font-size:.85rem;color:#c9d3c0;margin-bottom:0}.use-object-tools>span{display:block;color:#d7cbac;font-size:.9rem}
.use-memory{padding:14px 16px;margin:0 0 20px;border:1px solid #bca57444;font:1rem/1.8 var(--serif);color:#d8dfca}.use-memory summary{cursor:pointer}.use-memory p{word-break:keep-all}.use-memory time{font:.8rem/1.6 var(--sans);color:#bcc9b2}
.civic-use-object{position:absolute;z-index:8;width:var(--prop-width,11cqw);padding:0;background:none;border:0;transform:translate(-50%,-80%);cursor:pointer;color:#f0e6c6}.civic-use-object img{width:100%;height:auto;filter:drop-shadow(0 6px 4px #0006);pointer-events:none}.civic-use-object span{position:absolute;top:90%;left:50%;transform:translateX(-50%);max-width:160px;width:max-content;padding:4px 8px;background:#102c24ed;border:1px solid #c4a97180;font:clamp(10px,1.05cqw,13px)/1.5 var(--sans);pointer-events:none}.civic-use-object:focus-visible{outline:2px solid #dfc681;outline-offset:5px;border-radius:4px}.civic-use-object.floating img{animation:use-float 2.8s ease-in-out infinite}.use-target{z-index:7!important}.use-target:disabled{opacity:.65}.use-target strong{font-size:.75rem}
@keyframes use-float{50%{transform:translateY(-8px) rotate(-3deg)}}
@media(max-width:600px){.use-panel{padding:16px}.civic-use-object{min-width:58px}.civic-use-object span{font-size:10px;max-width:125px}}
@media(prefers-reduced-motion:reduce){.civic-use-object.floating img{animation:none}}.reduce-motion .civic-use-object.floating img{animation:none}
.use-context{margin:14px 0}.use-context summary{cursor:pointer;color:#d2c394;font-size:.85rem;padding:5px 0}.use-context blockquote{margin:12px 0;padding:10px 14px;border-left:2px solid #baa169;background:#e3dfbf0c;font-family:var(--serif)}
@media(min-width:1100px){.explore-layout:has(.use-panel){grid-template-columns:minmax(0,1fr) minmax(360px,410px)}}
@media(min-width:901px) and (min-height:761px){#game .play-panel:has(.use-panel){width:min(610px,43vw);max-height:calc(100svh - 17rem);overflow:auto}}
.use-panel{word-break:keep-all;overflow-wrap:break-word}

/* Small requests remain readable as their repair and paused states grow. */
.use-approach{margin:20px 0;padding:14px;border:1px solid #bca57470;min-width:0}.use-approach legend{padding:0 8px;color:#e7d5ac;font-family:var(--serif)}.use-approach p{font-size:.82rem;line-height:1.8;margin:8px 0 14px}.use-approach .button[aria-pressed=true]{box-shadow:inset 3px 0 #f6e6b5}
.use-repair{margin:20px 0;padding-top:18px;border-top:1px solid #bca57450}.use-repair .civic-clues{grid-template-columns:1fr}.use-repair .civic-options{min-width:0;padding:12px 0;border:0}.use-repair .civic-options .button[aria-pressed=true]{background:#536247;border-color:#dece9c}.use-corrections{margin:18px 0;padding:12px;border-left:2px solid #b8a476;background:#071d1744}.use-corrections details+details{border-top:1px solid #bca57430}.use-corrections summary{color:#e2d8bd;line-height:1.7}.use-corrections p{font-size:.86rem}
.use-manage{border-top:1px solid #bca57440;margin:20px 0 0;padding-top:4px}.use-manage summary{font-size:.85rem;color:#d6ccb0}.use-manage p{font-size:.84rem}
.use-backlog{padding:18px 20px;margin:0 0 20px;border:1px solid #a9926055;background:#132b25;line-height:1.8;overflow-wrap:break-word}.use-backlog h3{font:1.2rem/1.7 var(--serif);margin:0 0 10px}.use-backlog h3 span{font:.8rem var(--sans);color:#c4cbb6}.use-backlog h4{font:1rem/1.6 var(--serif);margin:0 0 8px}.use-backlog p{font-size:.84rem}.use-backlog article{padding:15px 0 0;border-top:1px solid #bca57433}.use-backlog article+article{margin-top:15px}.use-backlog .button{width:100%;white-space:normal;min-height:48px}
.civic-use-object.is-paused span{background:#353c31;border-style:dashed}
.use-scene-reaction{position:absolute;left:18px;right:18px;bottom:38px;z-index:10;width:fit-content;max-width:calc(100% - 36px);padding:10px 14px;margin:0;color:#efe5ce;background:#102720eb;border-left:2px solid #bca574;font:clamp(11px,1.3cqw,15px)/1.8 var(--serif);pointer-events:none}.use-scene-reaction[hidden]{display:none}
@media(max-width:700px){.use-backlog{padding:16px}.use-scene-reaction{bottom:24px;left:10px;right:10px;max-width:calc(100% - 20px);padding:6px 9px;font-size:10px;line-height:1.6}}

/* Keep the next request action above context, with generous native disclosure targets. */
.explore-panel,.explore-panel section,.explore-panel details,.use-panel,.use-panel fieldset{min-inline-size:0}
.use-panel h3{margin-bottom:10px}.use-panel .use-destination{margin:12px 0;padding:12px}
.use-panel .use-context{margin:16px 0 0;border-top:1px solid #bca57440;padding-top:4px}
.use-panel summary,.use-memory summary,.use-corrections summary{min-block-size:44px;align-content:center;cursor:pointer;overflow-wrap:anywhere}
.use-panel summary:focus-visible,.use-memory summary:focus-visible,.explore-secondary>summary:focus-visible{outline:2px solid #dfc681;outline-offset:3px}
.use-panel .use-cause,.use-panel .use-presence,.use-panel .use-context summary,.use-panel .use-manage summary,.use-panel .use-manage p,.use-panel .use-approach p{font-size:.875rem}
.explore-secondary>section{margin:14px 0 0}.explore-secondary .explore-observations{margin-top:14px}
.civic-use-object{min-width:44px;min-height:44px}
@media(max-width:1100px){.explore-layout:has(.use-panel){grid-template-columns:1fr}.explore-stage{position:relative;top:0}}
@media(max-width:480px){.explore-panel{padding:14px}.explore-panel .use-panel{padding:14px}.explore-placements{grid-template-columns:1fr}}

.use-handling{border-left:2px solid #bca574;padding:8px 0 8px 14px;margin:12px 0}.use-handling h4{font-size:1rem}.use-handling p{font-size:.9375rem;line-height:1.65}.use-handling fieldset{border:0;padding:0;margin:12px 0}.use-handling legend{font-size:.875rem}.use-handling-status{color:#f0ddb3}.use-handling .button[aria-pressed=true]{border-color:#e3d39c;background:#3c5141}
.civic-use-object[data-pose=level] img{animation:none;transform:perspective(400px) rotateX(48deg) rotate(-4deg);transition:transform .2s}.civic-use-object[data-pose=edge] img{animation:none;transform:perspective(400px) rotateY(38deg) rotate(-7deg);transition:transform .2s}
@media(prefers-reduced-motion:reduce){.civic-use-object[data-pose] img{transition:none}}.reduce-motion .civic-use-object[data-pose] img{transition:none}

.civic-followup{padding:18px;margin:0 0 18px;border:1px solid #bca57499;background:#19352e;line-height:1.75}.civic-followup h3{font:1.25rem/1.55 var(--serif);margin:8px 0 12px;color:#f0ddb3}.civic-followup p{font-size:1rem}.civic-followup-choices{display:grid;gap:10px}.civic-followup-choices .button{display:block;text-align:left;width:100%;min-height:48px;white-space:normal;padding:12px}.civic-followup-choices strong{display:block;font-size:1rem}.civic-followup-choices span{display:block;font-size:.875rem;margin-top:6px;color:#d4decc}.civic-agreement{border-left:2px solid #baa36b;padding:10px 12px;background:#e0d7b308;font-size:.9375rem}

.civic-followup blockquote{margin:10px 0 16px;padding:0 0 0 12px;border-left:2px solid #baa36b;font:1rem/1.7 var(--serif)}.civic-followup .followup-met{font-size:.875rem;color:#bdcbb7;margin:12px 0 0}.civic-followup-choices .button:disabled{opacity:1;color:#c2cdbf;background:#142b24;border-color:#617765}.civic-followup [data-followup-reason]{color:#ebd9ac}
@media(min-width:1101px){.explore-layout:has(.civic-followup){grid-template-columns:minmax(0,1fr) minmax(360px,410px)}}
@media(max-width:1100px){.explore-layout:has(.civic-followup){grid-template-columns:1fr}}

/* Secondary panels use a single divider instead of repeating an inset box. */
.explore-panel>.use-memory{padding:12px 0;margin:0 0 16px;border:0;border-bottom:1px solid #bca57444}
.explore-panel .contact-panel{border:0;padding:0;background:transparent}
.explore-panel .contact-panel .contact-actions{margin-top:12px}
.explore-panel .contact-panel .explore-fold{margin-top:16px}
.explore-panel .use-offer:first-of-type{margin-top:12px;padding-top:12px}

/* One clear current action; handover records stay behind a plain divider. */
.handoff-panel{min-width:0;margin-bottom:20px}.handoff-panel h3{font:1.35rem/1.5 var(--serif);margin:6px 0 12px;color:#efddb1}.handoff-panel h4{font:1.05rem/1.5 var(--serif);margin:12px 0}
.handoff-guide{padding:0 0 20px;border-bottom:1px solid #bca57466}.handoff-guide[hidden]{display:none}.handoff-guide .button,.handoff-note .button{width:100%;text-align:left}
.handoff-note{padding:16px 0 16px 16px;border-left:2px solid #bda773;margin:18px 0;background:transparent}.handoff-panel p{font-size:1rem;line-height:1.7;margin:10px 0}.handoff-status{color:#ead7a7}.handoff-panel .handoff-date,.handoff-agreements span{font-size:.875rem;color:#c0cdbd}
.handoff-choices{display:grid;gap:10px;margin:14px 0}.handoff-choices .button{display:block;width:100%;text-align:left;padding:12px;min-height:48px}.handoff-choices strong,.handoff-choices span{display:block}.handoff-choices strong{font-size:1rem}.handoff-choices span{font-size:.875rem;color:#d5dfcd;margin-top:6px;line-height:1.6}.handoff-choices .button:disabled{opacity:1;color:#b9c6bc;background:#142b24;border-color:#526b5f}
.handoff-agreements article+article{border-top:1px solid #bca57444;margin-top:16px;padding-top:8px}
@media(min-width:1101px){.explore-layout:has(.handoff-panel){grid-template-columns:minmax(0,1fr) minmax(360px,410px)}}
@media(max-width:1100px){.explore-layout:has(.handoff-panel){grid-template-columns:1fr}.explore-layout:has(.handoff-panel) .explore-panel{max-height:none;overflow:visible}}
.explore-panel .handoff-panel:empty{display:none}

.handoff-note>summary small{display:block;font:.875rem/1.65 var(--sans);color:#d6c79e;margin-top:6px}
.handoff-note[open]>summary [data-handoff-summary]{display:none}
.explore-attention[hidden],.explore-attention [hidden]{display:none}
.explore-attention{border-left:2px solid #d0b576;padding:10px 0 10px 14px;margin-bottom:18px}
.explore-attention .button{display:block;width:100%;text-align:left;margin-top:8px}

.spaces-panel{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #bca57455;font:1rem/1.7 var(--sans)}.spaces-panel h3{font:1.35rem/1.5 var(--serif);color:#f0ddb3;margin:6px 0 12px}.spaces-panel .button{width:100%;text-align:left;min-height:46px;margin-top:8px;white-space:normal}.spaces-memory{margin-top:16px}.spaces-memory time{font-size:.875rem;color:#c4cdb8}
/* The close-up keeps the full exploration canvas and its visual hierarchy. */
.spaces-dialog{width:min(1180px,calc(100vw - 32px));padding:20px 24px}
.spaces-dialog .modal-top{margin-bottom:0}.spaces-dialog>h2{font-size:clamp(24px,2.3vw,32px);line-height:1.35;margin:0 0 18px}
.spaces-editor{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start;font-size:1rem}
.spaces-editor p{line-height:1.65}.spaces-visual{min-width:0}.spaces-visual>p{font-size:.95rem;margin:0 0 10px;color:#d3d9c9}
.spaces-stage{position:relative;overflow:hidden;border:1px solid #c5aa725c;border-radius:5px;background:#102523}
.spaces-world.explore-stage{position:absolute;border:0;border-radius:0;max-width:none;aspect-ratio:auto;overflow:visible;container-type:inline-size}
.spaces-context{display:contents;pointer-events:none}.spaces-context .explore-object span,.spaces-context .civic-use-object span,.spaces-context .use-scene-reaction,.spaces-context .life-target,.spaces-context .nook-seat,.spaces-context .nook-stage-places,.spaces-context .nook-note .scene-hit{display:none}
.spaces-prop{touch-action:manipulation}.spaces-prop.floating{touch-action:none}.spaces-prop:focus-visible{outline:3px solid #fff0c1;outline-offset:2px}
.spaces-tools{display:flex;flex-direction:column;gap:10px;position:sticky;top:0;background:#132a24}
.spaces-tools .button{min-height:44px;font-size:.95rem;white-space:normal;padding:10px 8px}
.spaces-selectors{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spaces-selectors .button{font-size:.875rem}
.spaces-editor .button[aria-pressed=true]{border-color:#f3dca0;background:#415344}
.spaces-tools [data-space-status]{min-height:3.3em;margin:0;padding:10px 12px;border-left:2px solid #bda16b;color:#f0ddb3;font-size:.95rem}
.spaces-placements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.spaces-save{display:grid;gap:8px;border-top:1px solid #c5aa7244;padding-top:12px;margin-top:2px}
.spaces-help{margin-top:8px;font-size:.875rem}.spaces-help summary{font-size:.875rem}.spaces-help p{margin:10px 0;color:#c4cdb8}
@media(max-width:760px){.spaces-dialog{padding:16px;width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.spaces-dialog>h2{margin-bottom:12px}.spaces-editor{grid-template-columns:1fr;gap:12px}.spaces-tools{position:relative;gap:8px}.spaces-tools [data-space-status]{min-height:0;padding:6px 10px}.spaces-save{grid-template-columns:1.2fr 1fr;position:sticky;bottom:-16px;z-index:12;background:#132a24;padding:10px 0}.spaces-selectors .button{min-height:44px}.spaces-help{font-size:.875rem}}

/* A personal page keeps the current room in view while the reader chooses. */
.space-life-panel{margin:18px 0;padding:18px;border:1px solid #75633e66;border-radius:14px;background:linear-gradient(135deg,#e0c3910a,transparent)}
.space-life-panel h3{font-family:var(--serif);font-size:23px;margin:8px 0 12px}.space-life-panel p{line-height:1.65}.space-life-panel>.button{margin-top:10px}
.space-life-actions,.space-life-choices,.space-life-history{display:grid;gap:10px}.space-life-actions{margin:12px 0}.space-life-history .button{justify-content:flex-start;text-align:left}
.space-life-dialog{width:min(1120px,calc(100vw - 32px));padding:24px}.space-life-dialog #dialog-title{margin:0 0 22px;font-size:32px}
.space-life-reader{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px;align-items:start}.space-life-reader>div{position:sticky;top:0;min-width:0}.space-life-reader section{min-width:0}.space-life-reader .button{min-height:44px;white-space:normal;text-align:left;line-height:1.5}
.space-life-scene{border-radius:12px}.space-life-scene .spaces-prop{pointer-events:none;outline:none;filter:none}.space-life-scene .spaces-prop span{display:none}
.space-life-status{font-size:14px;color:var(--muted);line-height:1.65}.space-life-page{padding:20px 22px;border-left:2px solid #b69761;border-radius:0 12px 12px 0;background:#d9bd8620;margin:16px 0}.space-life-page p{font-family:var(--serif);font-size:19px;line-height:1.85;margin:10px 0 0}.space-life-reflection{line-height:1.85}.space-life-record-dialog{width:min(720px,calc(100vw - 32px))}.space-life-record-dialog h3{font-size:23px;line-height:1.5}.space-life-share{margin-top:22px;border-top:1px solid #ab956b44;padding-top:16px}.space-life-share summary{cursor:pointer;min-height:44px;font-size:18px}.space-life-contact{padding:14px 0;border-top:1px solid #ab956b33}.space-life-contact h4{font-size:17px;margin:0 0 10px}.space-life-contact time,.space-life-exchange time{font-size:13px;color:var(--muted)}.space-life-contact .button{margin:10px 8px 0 0}.space-life-exchange blockquote{margin:20px 0;padding:16px 20px;border-left:2px solid #b69761;line-height:1.85;background:#d9bd8610}
@media(max-width:760px){.space-life-dialog{padding:16px}.space-life-reader{grid-template-columns:1fr;gap:8px}.space-life-reader>div{position:static}.space-life-page{padding:16px}.space-life-page p{font-size:17px}.space-life-reader .modal-actions{position:sticky;bottom:-16px;background:#141b19;padding:12px 0}.space-life-dialog #dialog-title{font-size:26px;margin-bottom:16px}}


.space-life-record-header h3{font-family:var(--serif);font-size:23px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}.space-life-record-header .small{margin:0 0 8px}.space-life-record-dates{display:grid;gap:4px;color:var(--muted);font-size:.875rem;line-height:1.65;overflow-wrap:anywhere}
.space-life-note-continuation{margin-top:20px;padding-top:14px;border-top:1px solid #ab956b44}.space-life-note-continuation>p{margin:0 0 10px;line-height:1.65}.space-life-note-continuation .button{min-height:44px;white-space:normal;line-height:1.5;text-align:left;overflow-wrap:anywhere}.space-life-note-continuation [hidden]{display:none!important}

.space-life-panel [hidden],.space-life-dialog [hidden],.space-life-record-dialog [hidden]{display:none!important}
.space-life-panel .button,.space-life-dialog .button,.space-life-record-dialog .button,.space-life-record-dialog h3{word-break:keep-all;overflow-wrap:anywhere}

/* Physical props scale with the same room canvas; transparent targets remain usable. */
.explore-stage .civic-use-object{min-width:0;min-height:0}.explore-stage .civic-use-object img{display:block}
.world .scene-hit,.explore-stage .scene-hit,.explore-stage .civic-use-object .scene-hit{position:absolute;inset:auto;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);max-width:none;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;pointer-events:auto}
.spaces-context .scene-hit{display:none!important}

/* Inspection uses the unchanged room canvas; outlined pages are a placement guide. */
.reading-clearance-dialog{width:min(700px,calc(100vw - 24px));padding:22px}
.reading-clearance>p{line-height:1.7}.reading-clearance .button{min-height:44px;white-space:normal;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.reading-clearance-stage{position:relative}.reading-clearance-stage .scene-readiness-notice{z-index:20}
.reading-clearance-crop{position:relative;overflow:hidden;border:0;box-shadow:inset 0 0 0 1px #ab956b66;border-radius:12px;background:#0b1918;margin:18px 0 10px}
.reading-clearance-world{pointer-events:none}.reading-clearance-world .reading-scene,.reading-clearance-world .spaces-prop span{display:none}.reading-clearance-world .spaces-prop{outline:none;filter:none}
.reading-clearance-box{position:absolute;z-index:15;pointer-events:none;box-sizing:border-box}
.reading-clearance-page{border:1px dashed #f1d596;background:#f1d59618}.reading-clearance-obstacle{outline:2px solid #e6a78a;outline-offset:2px}.reading-clearance-landing{border:1px solid #96d3c0;background:#96d3c012}
.reading-clearance-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.8rem;color:var(--muted)}.reading-clearance-legend span:first-child{color:#f1d596}
.reading-clearance-status{padding:12px 14px;border-left:2px solid #ab956b;background:#d9bd8610}
@media(max-width:760px){.reading-clearance-dialog{padding:16px}.reading-clearance-dialog #dialog-title{font-size:25px}.reading-clearance-legend{gap:6px 12px}}

/* A room and one selected target, with history opened only on request. */
.room-layout [hidden]{display:none!important}
.room-layout.room-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:24px}
.room-layout>.explore-stage{position:sticky;top:16px;overflow:clip}
.room-layout>.room-dock{max-height:none;overflow:visible}
.room-target-list{margin-top:16px;border-top:1px solid #d3bc8038;padding-top:8px}
.room-target-list>summary{min-height:44px;align-content:center;cursor:pointer;font-size:15px}
.room-dock{background:linear-gradient(155deg,#19352e,#102822);padding:22px;min-width:0;border-color:#b6a47755;box-shadow:0 12px 35px #0002}
.room-dock-header{border-bottom:1px solid #d3bc8038;margin-bottom:18px;padding-bottom:12px}
.room-dock-header h2{font-size:25px;margin:0;letter-spacing:0;line-height:1.45}
.room-dock-header>.button{padding:0;min-height:44px;justify-content:flex-start;font-size:14px}
.room-context,.room-context section{min-width:0}
.room-context>section,.room-context>details{margin:0;padding:0;background:transparent;border:0;border-radius:0}
.room-context>section>h3:first-of-type,.room-context>section>h2:first-of-type{font-size:21px}
.room-context p,.room-context blockquote,.room-context li{font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.room-context .small,.room-context time,.room-context .eyebrow{font-size:14px;line-height:1.7}
.room-context .button{font-size:15px;line-height:1.5;min-height:44px;white-space:normal;overflow-wrap:anywhere}
:lang(ja) .room-context :is(p,blockquote,li,.button){word-break:normal;line-break:strict;overflow-wrap:break-word}
.room-targets,.room-return-actions{display:grid;gap:8px}
.room-targets .button,.room-target{justify-content:space-between;text-align:left;width:100%;padding:11px 14px}
.room-target>span{margin-left:12px;color:#c3ad77}
.room-context>.room-target{margin-top:10px}
.room-intro{color:#d4d9c9;margin-top:0}
.room-place-target{position:absolute;z-index:9;transform:translate(-50%,-50%);border:1px solid #d2bb80;background:#102523e8;color:#f1deb0;border-radius:22px;display:flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:8px 12px;font-size:14px}
.room-place-target:focus-visible{outline:3px solid #fff0a9;outline-offset:4px}
.room-place-target span{white-space:nowrap}
/* Give a held spell a clear target. The same place cue returns on landing;
   its activity and record remain reachable from the dock throughout. */
.room-layout>.explore-scene-column>.explore-stage:has(>.explore-object.floating) .room-place-target{visibility:hidden}
.room-layout>.explore-scene-column>.explore-stage>.explore-object.floating{z-index:12}
.room-context[data-room-context=objects]>.explore-fold>summary{display:none}
.room-context .space-life-reader.is-inline{display:block}
.room-context .space-life-reader.is-inline>section{margin:0}
.room-context .space-life-reader.is-inline .modal-actions{position:static;padding:8px 0;background:transparent}
.room-context .space-life-page{padding:15px 17px;margin:14px 0}
.room-context .space-life-page p{font-size:17px;line-height:1.9}
.room-context .space-life-page .eyebrow{letter-spacing:0;font-size:14px}
.room-context .reading-comparison-pages{margin:14px 0;border-left:2px solid #b69761;background:#d9bd8614;border-radius:0 8px 8px 0;padding:0 14px}
.room-context .reading-comparison-pages .space-life-page{margin:0;padding:12px 0;background:transparent;border:0;border-radius:0}
.room-context .reading-comparison-pages .space-life-page+.space-life-page{border-top:1px solid #d3bc8038}
.room-context .reading-comparison-pages .space-life-page p{margin-top:6px}
.reading-comparison-guide{border-top:1px solid #d3bc8038;margin:12px 0;padding:0}
.reading-comparison-guide>summary{font-size:15px;min-height:44px;align-content:center;cursor:pointer;color:#d5c393}
.room-context .space-life-contact:first-child{border-top:0;padding-top:0}
.room-context .space-life-contact .button{width:100%;margin:8px 0 0;text-align:left}
.room-context .space-life-exchange blockquote{padding:14px;margin:16px 0}
.room-context .space-life-exchange h3{font-size:21px}
.room-context .room-return-actions{margin-top:20px;border-top:1px solid #d3bc8038;padding-top:16px}
.space-life-comparison{border-top:1px solid #d3bc8040;margin:18px 0;padding-top:14px}
.space-life-comparison summary{min-height:44px;cursor:pointer;color:#eedbb0;line-height:1.7}
.space-life-surface{padding:12px 14px;border:1px solid #8fa88755;border-radius:7px;color:#d5dfca}
.space-life-trace{border-left:2px solid #b59c62;padding-left:14px;margin:18px 0}
.space-life-trace .button{margin:6px 0 0}
.room-context .contact-panel{padding:0;border:0;background:transparent}
.room-context .contact-panel+.contact-panel{margin-top:20px}
.room-context .contact-panel:has(.space-life-contact){border-top:1px solid #d3bc8040}
@media(max-width:950px){
  .room-layout.room-layout{grid-template-columns:1fr;gap:16px}
  .room-layout>.explore-stage{position:sticky;top:8px;z-index:4;box-shadow:0 6px 16px #071b17bb}
  .room-layout>.room-dock{max-height:none;overflow:visible;padding:20px}
}
@media(max-width:560px){
  .room-dock-header h2{font-size:23px}
  .room-layout>.room-dock{padding:18px}
  .room-place-target{padding:0;width:44px}
  .room-place-target span{display:none}
  .room-context .button{font-size:15px}
}

.room-context summary{font-size:16px;line-height:1.7;min-height:44px;align-content:center}
.room-other-objects{margin:0 0 14px}.room-other-objects>summary{cursor:pointer;color:#d3d8cd}
.room-task-trail{position:absolute;left:12px;top:12px;z-index:10;min-height:44px;max-width:calc(100% - 24px);padding:9px 14px;border:1px solid #cfb98188;border-radius:7px;color:#f0dfb4;background:#102b25ed;font-size:14px;line-height:1.5;text-align:left}
.room-task-trail:focus-visible{outline:3px solid #fff0a9;outline-offset:2px}

.room-dock h2,.room-dock h3,.room-dock h4{scroll-margin-top:24px}
@media(max-width:950px){.room-dock h2,.room-dock h3,.room-dock h4{scroll-margin-top:calc((100vw - 32px)*.563 + 24px)}}
@media(max-width:950px){
  .room-dock [data-room-context-title]{scroll-margin-top:calc((100vw - 32px)*.563 + 80px)}
  .room-dock :is(button,summary,a,input,select){scroll-margin-top:calc((100vw - 32px)*.563 + 24px);scroll-margin-bottom:24px}
}

/* A saved reading record changes the existing target, without adding a second hit area. */
.room-place-target .room-reading-badge{
  position:absolute;right:1px;bottom:1px;
  display:grid;place-items:center;width:15px;height:15px;
  border:1px solid #d2bb80;border-radius:50%;
  background:#102523;color:#f1deb0;
  font:700 11px/1 sans-serif;
  pointer-events:none;
}
/* Existing <=560px rule still hides span and keeps the same 44×44 hit area.
   The static … / check cue uses shape as well as colour. No new animation. */

/* One unchanged scene coordinate system, followed by its existing prop controls.
   The shared readiness boundary covers both without adding overlapping targets. */
.room-layout>.explore-scene-column{position:sticky;top:16px;min-width:0;align-self:start}
.explore-scene-column>.explore-stage{position:relative;top:auto;overflow:clip}
.explore-controls-rail{margin-top:10px;padding:12px;border:1px solid #b6a47766;border-radius:8px;background:#102b25;color:#f3e5c6}
.explore-controls-rail header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:10px}
.explore-controls-rail header strong{font-family:var(--serif);font-size:18px}
.explore-controls-rail header span{font-size:14px;color:#d4c6a2}
.explore-controls-rail .button{min-width:44px;min-height:44px;font-size:14px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;padding:10px}
.explore-control-choices{display:grid;gap:8px}
.explore-control-choice{justify-content:flex-start;text-align:left;gap:12px;width:100%}
.explore-control-choice img{width:44px;height:44px;object-fit:contain;pointer-events:none}
.explore-control-choice span{display:grid;gap:2px}
.explore-control-choice small{font-size:13px;color:#d7c69d}
.explore-control-spells{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.explore-control-spells>.button:only-child{grid-column:1/-1}
.explore-guide-compact{display:grid;gap:8px;margin:0}
.explore-guide-compact .explore-directions{grid-template-columns:repeat(4,minmax(0,1fr));margin:0;gap:6px}
.explore-guide-compact .explore-heights{gap:6px}
.explore-controls-rail .explore-land{margin:0}
@media(max-width:950px){
  .room-layout>.explore-scene-column{top:8px;z-index:4;box-shadow:0 6px 16px #071b17bb}
}
@media(max-width:420px){
  .explore-controls-rail{padding:10px}
  .explore-guide-compact .explore-directions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Selected floating prop feedback uses the unchanged projected object/ground
   centres. These graphic guides have no hit area, animation, or physical mass. */
.room-layout>.explore-scene-column>.explore-stage>.explore-prop-guide{position:absolute;inset:0;width:100%;height:100%;z-index:11;pointer-events:none;overflow:visible;color:#f1deb0}
.explore-prop-guide line{stroke:currentColor;stroke-width:1.5;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #071b17)}
.explore-prop-guide ellipse{fill:#102523b3;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.explore-object[data-prop-feedback]::after{content:"";position:absolute;inset:5px;border:1.5px solid #f1deb0;border-radius:6px;box-shadow:0 0 0 1px #102523,0 1px 4px #0006;pointer-events:none}
.explore-controls-rail header .explore-height-status{color:#f1deb0;font-variant-numeric:tabular-nums}
.explore-controls-rail .explore-heights .button[aria-pressed=true]{border-color:#f1deb0;box-shadow:inset 0 -3px 0 #f1deb0}

/* On a narrow screen the scene travels with its controls. It must not cover
   the conversation or form that a scene target has just opened. */
@media(max-width:950px){
  .room-layout>.explore-scene-column{position:relative;top:auto;z-index:auto;box-shadow:none}
  .room-dock :is(h2,h3,h4,button,summary,a,input,select),.room-dock [data-room-context-title]{scroll-margin-top:20px}
}
@media(max-width:560px){
  .explore-header{margin-bottom:12px;gap:10px}
  .explore-exits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;gap:8px}
  .explore-exits .button{padding:10px 12px;white-space:normal;line-height:1.5}
  .explore-exits .button:only-of-type{grid-column:1/-1;justify-self:start}
  [data-room-context=room] .room-dock{padding:14px}
  [data-room-context=room] .room-dock-header{margin-bottom:10px;padding-bottom:8px}
  [data-room-context=room] .room-dock-header h2{font-size:18px;line-height:1.5}
  [data-room-context=room] .room-intro{display:none}
  .room-context[data-room-context=room]>.room-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .room-context[data-room-context=room]>.room-targets>.button{min-height:50px;padding:10px;gap:6px;align-items:center}
  .room-context[data-room-context=room]>.room-targets>.button>span{margin-left:0}
  .explore-control-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
  .explore-control-choices>.button:only-child{grid-column:1/-1}
  .explore-control-choice{gap:8px;padding:6px 10px!important;min-height:56px}
  .explore-control-choice img{width:34px;height:34px}
  .explore-contact>span{opacity:1;top:calc(100% + 2px);font-size:14px;line-height:1.5;max-width:100px;white-space:nowrap;padding:2px 5px}
  .explore-contact[data-contact-position=working]>span{top:50%;left:calc(100% + 6px);transform:translateY(-50%)}
}
@media(max-width:360px){.explore-header .eyebrow{display:none}}
@media(hover:none){.explore-object:hover:not(:focus-visible) span{display:none}}

/* Active documents get the reading space; the original interactive room stays
   beside them. Hidden civic panels must not determine the current grid. */
.room-layout.room-layout[data-room-presentation=space]{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}
.room-layout.room-layout[data-room-presentation=document]{grid-template-columns:minmax(360px,.95fr) minmax(360px,1.05fr);max-width:1440px;margin-inline:auto;gap:28px}
[data-room-presentation=document]>.room-dock{padding:clamp(22px,3vw,36px);box-shadow:none}
[data-room-presentation=document] .room-dock-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding-bottom:12px;margin-bottom:18px}
[data-room-presentation=document] .room-dock-header h2{font-size:20px}
/* During a conversation or reading, the current action lives in the document.
   The existing back trail returns to the room's navigation cues;
   actual people, props and papers remain on the same scene. */
[data-room-presentation=document] [data-room-scene] :is(.explore-contact,.explore-detail,.explore-detail-leader,.room-place-target,.room-task-trail,.shared-rest-seat,.manuscript-scene-target,.civic-discovery,.world-mood){display:none}
[data-room-presentation=document] .room-context p{max-width:65ch}
[data-room-presentation=document] .space-life-page{padding:24px 28px}
[data-room-presentation=document] .space-life-page p{font-size:18px;line-height:1.95}
[data-room-presentation=document] .room-person>h3{font-size:27px}
[data-room-presentation=document] .space-life-exchange blockquote{padding:20px 24px;margin-inline:0}
@media(max-width:950px){
  .room-layout.room-layout[data-room-presentation=space],.room-layout.room-layout[data-room-presentation=document]{grid-template-columns:minmax(0,1fr);gap:20px}
  [data-room-presentation=document]>.room-dock{padding:22px}
  [data-room-presentation=document]{--document-scene-height:min(calc((100vw - 32px)*941/1672),30svh,calc(640px*941/1672))}
  [data-room-presentation=document]>.explore-scene-column{position:sticky;top:8px;z-index:12;width:100%;justify-self:center;background:#102523;box-shadow:0 8px 14px #071b1766}
  [data-room-presentation=document]>.explore-scene-column>.explore-stage{width:min(100%,calc(30svh*1672/941),640px);margin-inline:auto}
  [data-room-presentation=document]>.room-dock :is(h2,h3,h4,button,summary,a,input,select,[tabindex],.shared-rest-actions,[data-rest-reading-speech] p){scroll-margin-top:calc(var(--document-scene-height) + 24px);scroll-margin-bottom:24px}
  [data-room-presentation=document] .room-dock-header{margin-bottom:16px;padding-bottom:10px}
  [data-room-presentation=document] .room-dock-header h2{font-size:18px}
}
/* Short and enlarged views need all their height for the current text or input.
   The room stays in reading order but no longer covers the scrolling document. */
@media(max-width:950px) and (max-height:500px){
  [data-room-presentation=document]>.explore-scene-column{position:relative;top:auto;z-index:auto;box-shadow:none}
  [data-room-presentation=document]>.room-dock :is(h2,h3,h4,button,summary,a,input,select,[tabindex],.shared-rest-actions,[data-rest-reading-speech] p){scroll-margin-top:20px}
}
@media(max-width:420px){
  [data-room-presentation=document]>.room-dock{padding:18px}
  [data-room-presentation=document] .space-life-page{padding:20px 18px}
  [data-room-presentation=document] .space-life-page p{font-size:17px}
}

/* Room overview: current news and the local person precede everyday choices.
   Observation names remain available in a remembered disclosure. */
.room-context[data-room-context=room] .explore-attention{margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid #d3bc8040}
.room-context[data-room-context=room] .explore-attention h2{font-size:16px;color:#e2ca91;margin:0 0 8px}
.room-overview-person{margin:0 0 14px}
.room-overview-person>.room-target{font-family:var(--serif);font-size:21px;min-height:48px;background:transparent;border:0;border-bottom:1px solid #d3bc8040;border-radius:0;padding:8px 0}
.room-overview-activities>.room-target{background:transparent;border:0;border-bottom:1px solid #d3bc8030;border-radius:0;padding-inline:0}
.room-target-count{display:inline-block;margin-left:6px;color:#cdb987;font-size:14px;font-variant-numeric:tabular-nums}
@media(max-width:560px){
  .explore-header .eyebrow{font-size:12px;letter-spacing:.08em}
  .explore-header h1{margin-top:4px}
  .explore-tools{margin-top:8px;gap:6px}
  .explore-return-route{flex-basis:100%;max-width:none;font-size:14px;line-height:1.5;word-break:keep-all}
  [data-room-context=room]>.room-layout>.explore-scene-column>.explore-stage{width:calc(100% + 32px);max-width:none;margin-inline:-16px;border-inline:0;border-radius:0}
  [data-room-context=room] .room-dock{padding:0;border:0;background:transparent;box-shadow:none}
  [data-room-context=room] .room-dock-header{border:0;margin-bottom:10px;padding-bottom:0}
  .room-context[data-room-context=room]>.room-overview-person{margin-bottom:8px}
  .room-context[data-room-context=room]>.room-overview-activities{gap:0 20px}
  .room-context[data-room-context=room]>.room-overview-activities>.button{padding:10px 0;min-height:48px}
  .room-context[data-room-context=room]>.room-target-list{margin-top:12px;padding-top:4px}
  .room-context[data-room-context=room] .explore-attention .button{background:#34483c;border-color:#c3ac7066}
}

.room-overview-person>.contact-presence{font-size:14px;line-height:1.65;margin:6px 0 12px;color:#cdd7c8}

.explore-controls-rail[data-controls-item=""]{padding:0;border:0;background:transparent}

.room-context[data-room-context=room]>.records-greeting-entry{margin:0 0 18px}
.room-context[data-room-context=room]>.records-greeting-entry>.button{width:100%;min-height:48px}
.room-context[data-room-context=room]>.records-greeting-entry>.button:disabled{background:transparent;border-color:#d3bc8060;color:#cdd7c8;opacity:1}
.room-context[data-room-context=room]>.records-greeting-entry>.contact-presence{margin:8px 0 0;font-size:14px;line-height:1.65;color:#cdd7c8}

/* Functional grid and atlas sprites. No generated bitmap substitutes. */
.chess-physical{position:absolute;inset:0;z-index:2;pointer-events:none}
.chess-board-base,.chess-scene-square{position:absolute;inset:0;pointer-events:none}
.chess-board-base{background:#624b2f}
.chess-scene-square.is-light{background:#c8bc95}.chess-scene-square.is-dark{background:#64563b}
.chess-scene-piece{position:absolute;height:auto;aspect-ratio:1/2;transform:translate(-50%,-100%);pointer-events:none}
.chess-atlas-sprite{position:relative;display:block;width:100%;aspect-ratio:1/2;overflow:hidden;pointer-events:none}
.chess-atlas-sprite>span{position:absolute;inset:0;display:block;background-image:var(--chess-atlas);background-size:600% 200%;background-position:calc(var(--chess-col)*20%) calc(var(--chess-row)*100%);transform:translateY(var(--chess-base));pointer-events:none}
.chess-scene-piece .chess-atlas-sprite{filter:brightness(.9) saturate(.75)}
.chess-case{position:absolute;overflow:hidden;pointer-events:none;filter:brightness(.67) saturate(.7)}
.chess-case img{position:absolute;max-width:none;display:block;pointer-events:none}
.chess-scene-target{position:absolute;z-index:9;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;transform:translate(-50%,-50%);border:1px solid #d2bb80;border-radius:50%;background:#102523e8;color:#f1deb0;display:grid;place-items:center}
.chess-scene-target:focus-visible{outline:3px solid #fff0a9;outline-offset:4px}
.chess-target-grid{display:grid;grid-template-columns:repeat(3,1fr);width:18px;height:18px;border:1px solid currentColor;pointer-events:none}
.chess-target-grid>i:nth-child(odd){background:currentColor}
.spaces-context .chess-scene-target{display:none!important}

.chess-closeup{min-width:0;align-self:start}
.chess-closeup[hidden]{display:none}
.explore-stage[data-room-scene][hidden]{display:none}
.chess-closeup-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem}
.chess-closeup-header p{margin:0;font-size:.95rem;color:#d9d3bb}
.chess-board-wrap{position:relative;max-width:640px;margin:0 auto;isolation:isolate}
.chess-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));position:relative;isolation:isolate;border:8px solid #594128;border-image:url('./assets/chess-frame-v48.png') 62 / 8px stretch;box-shadow:0 10px 30px #0007;background:#8b7a55}
.chess-board>[role=row]{display:contents}
.chess-square{position:relative;aspect-ratio:1;border:0;padding:0;min-width:0;background:none;border-radius:0;cursor:pointer;touch-action:manipulation;color:#20392d}
.chess-square.chess-light{background:#d5caa8;background-image:linear-gradient(105deg,#eadfbd12,#c3b28612)}
.chess-square.chess-dark{background:#847452;background-image:linear-gradient(105deg,#9a886018,#4d392518);color:#fbefd4}
.chess-square.chess-last{box-shadow:inset 0 0 0 2px #dbb45cbf}
.chess-square.chess-selected{box-shadow:inset 0 0 0 3px #173e30;background-color:#b3bf86}
.chess-square.chess-check{background-color:#b66b54}
.chess-square:focus-visible{z-index:5;outline:3px solid #fbf7da;outline-offset:-5px;box-shadow:inset 0 0 0 2px #153a2c}
.chess-piece{position:absolute;bottom:3%;left:20%;width:60%;height:120%;background-image:url('./assets/chess-pieces-v48.png');background-size:600% 200%;background-position:calc(var(--chess-piece)*20%) calc(var(--chess-colour)*100%);filter:drop-shadow(0 2px 1px #0006);pointer-events:none;z-index:2}
.chess-move-marker{position:absolute;inset:39%;border-radius:50%;background:#193d2bd9;opacity:0;pointer-events:none;z-index:3}
.chess-legal .chess-move-marker{opacity:1}
.chess-capture .chess-move-marker{inset:7%;border:3px solid #2c503c;background:transparent;border-radius:50%}
.chess-file,.chess-rank{position:absolute;font-family:var(--sans, sans-serif);font-weight:650;font-size:.7rem;line-height:1;opacity:.85;z-index:4;pointer-events:none}
.chess-rank{top:3px;left:3px}.chess-file{bottom:2px;right:3px}
.chess-keyboard-help{font-size:.875rem;line-height:1.7;color:#c9d2c3;max-width:640px;margin:1rem auto}
.chess-panel h3,.chess-selection h3{font-family:var(--serif);font-size:1.1rem;line-height:1.55;margin:1rem 0 .55rem}
.chess-panel p,.chess-selection p{font-size:1rem;line-height:1.8}
.chess-panel .button{min-height:44px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;justify-content:center;text-align:center}
.chess-main-actions,.chess-promotion-options{display:grid;gap:.65rem}
.chess-destination-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.chess-destination-list .button{font-size:.95rem;padding:.5rem}
.chess-selection [hidden],.chess-panel [hidden]{display:none}
.chess-panel details{margin-top:1.25rem;border-top:1px solid #c6b27b44;padding-top:.8rem}
.chess-panel summary{font-size:1rem;line-height:1.6;cursor:pointer;padding:.25rem 0}
.chess-panel details .button{margin-top:.65rem}
.chess-turn{font-family:var(--serif);font-size:1.3rem!important;color:#f2dfae}
.chess-last-move{border-left:2px solid #a59363;padding-left:.8rem;color:#d4ddcd}
.chess-secondary-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.chess-rules-note{font-size:.875rem!important;color:#c9d2c3}
.chess-move-list{list-style:none;font-variant-numeric:tabular-nums;line-height:1.8;max-height:16rem;overflow:auto;overscroll-behavior:contain;padding-left:0}
.chess-animation-layer{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:visible}
.chess-moving-piece{position:absolute;display:block;pointer-events:none;transform-origin:center 80%}
.chess-replaying .chess-square>.chess-piece{visibility:hidden}
.chess-replaying .chess-move-marker{visibility:hidden}
.chess-confirm{margin:1rem 0;padding:1rem;border:1px solid #d2b779;background:#18392e}
.chess-confirm h3{margin-top:0}
@media(max-width:560px){.chess-board{border-width:3px;border-image-width:3px}.chess-closeup-header{gap:.5rem}.chess-closeup-header p{font-size:.875rem}.chess-keyboard-help{font-size:.8125rem}.chess-panel .button{font-size:.95rem}.chess-file,.chess-rank{font-size:.625rem}.chess-panel details{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){.chess-piece{animation:none!important;transition:none!important}}
.reduce-motion .chess-piece{animation:none!important;transition:none!important}

.chess-revisit-offer{margin:1.3rem 0;padding:1rem 0;border-top:1px solid #9b89634d}
.chess-review-navigation{display:flex;flex-wrap:wrap;gap:.55rem;margin:.8rem 0}
.chess-revisit-panel .button{min-height:44px;white-space:normal;line-height:1.5;text-align:left}
.chess-revisit-date,.chess-revisit-origin{font-size:.9rem;line-height:1.7;color:#d5c8a9}
.chess-revisit-panel [tabindex="-1"]:focus-visible{outline:2px solid #d4b968;outline-offset:5px}

.study-closeup[hidden],.study-panel [hidden]{display:none}
.study-board-header{max-width:640px;margin:0 auto 18px}
.study-board-header h2{font:1.7rem/1.4 var(--serif);margin:.35rem 0 .5rem;color:#f2dfae}
.study-board-header p{margin:0;color:#d0d8c9}
.study-board-turn{max-width:640px;margin:0 auto 1rem;color:#f0deb3;line-height:1.7}
.study-panel{min-width:0}
.study-panel h3{font:1.25rem/1.5 var(--serif);margin:.45rem 0 .8rem;color:#f1dfb3}
.study-panel p{line-height:1.8;margin:.75rem 0}
.study-panel .button{width:100%;min-height:46px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-align:left}
.study-panel .study-small{font-size:.875rem;color:#bdcabc}
.study-actions{display:grid;gap:.6rem;margin:1rem 0}
.study-current>.button{margin-top:.6rem}
.study-catalogue{margin-top:1.8rem;border-top:1px solid #c6b27b55;padding-top:1rem}
.study-catalogue>ol{list-style:none;padding:0;margin:1rem 0}
.study-catalogue li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.65rem;align-items:center;padding:.85rem 0;border-bottom:1px solid #c6b27b33}
.study-number{font:1.35rem var(--serif);color:#b8a777}
.study-meta{display:block;margin:0 0 .4rem;font-size:.8125rem;color:#c4cfbd}
.study-catalogue .button{background:transparent;border-color:#74877375}
.study-panel details{margin-top:1.2rem;padding-top:.8rem;border-top:1px solid #c6b27b44}
.study-panel summary{cursor:pointer;line-height:1.6;padding:.35rem 0}
.study-line{font-family:var(--sans,sans-serif);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;border-left:2px solid #ac9e76;padding-left:.75rem}
.study-result{border:1px solid #c6b27b75;background:#244032;padding:1rem;margin:.8rem 0}
.study-result h4{font:1.18rem/1.5 var(--serif);margin:0;color:#f0dfb5}
.study-result p:last-child{margin-bottom:0}
.study-proof{color:#f0deb3}
.study-history{padding-left:1.2rem}
.study-history li{margin:1rem 0}
.study-history strong,.study-history span,.study-history time{display:block;font-size:.9rem;line-height:1.7}
.study-history time{color:#b9c6b6}
.study-history-pages{display:flex;gap:.5rem;align-items:center}
.study-history-pages .button{width:auto;flex:1;justify-content:center;text-align:center}
[data-room-context=study] .study-closeup{scroll-margin-top:12px}
@media(max-width:560px){
 .study-board-header{margin-bottom:12px}.study-board-header h2{font-size:1.35rem}
 .study-board-header p,.study-board-turn{font-size:.875rem}
 [data-room-context=study] .explore-header{margin-bottom:.8rem}
 .study-closeup .chess-keyboard-help{margin:.6rem 0;font-size:.75rem}
 .study-panel .chess-selection p{font-size:.925rem}
 .study-catalogue li{grid-template-columns:1.6rem minmax(0,1fr);gap:.5rem}
}

.study-board-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;font-size:.875rem;color:#c8bd99}
.study-board-top .button{font-size:.875rem;padding:4px 8px;min-height:44px}
.study-closeup .chess-keyboard-guide{max-width:640px;margin:8px auto;font-size:.875rem;color:#c9d2c3}
.study-closeup .chess-keyboard-guide summary{cursor:pointer;min-height:36px;align-content:center}
.study-closeup .chess-keyboard-guide p{font-size:.875rem}
[data-room-context=study][data-study-table=true] .room-dock-header{display:none}
[data-room-context=study][data-study-table=true] .room-layout{gap:12px}
[data-room-context=study][data-study-table=true] .room-dock :is(h2,h3,h4,button,summary,a){scroll-margin-top:16px}
.study-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin:.75rem 0}
.study-actions .button{padding:10px;font-size:.875rem;justify-content:center;text-align:center}
.study-current>.chess-selection>p{margin:0 0 .5rem}
.study-current>.study-line{margin-top:0}
.study-panel .button.primary:disabled{background:#31453a;color:#c6cbbb;border-color:#73806b66}
@media(max-width:560px){
 .study-board-header{margin-bottom:10px}.study-board-header h2{margin:2px 0 6px;font-size:1.25rem}
 .study-board-turn{margin:8px auto 0}
 [data-room-context=study][data-study-table=true] .room-layout>.room-dock{padding:14px}
}

.study-panel [data-chess-promotion]{scroll-margin-block:16px}

/* Use the actual header/menu height. The board keeps 44px squares at its
   smallest desktop size; short windows retain normal document scrolling. */
@media(min-width:951px){
 .is-exploring #game[data-room-context=study][data-study-table=true]{display:flex;flex-direction:column;height:100svh}
 [data-room-context=study][data-study-table=true]>.explore-header,
 [data-room-context=study][data-study-table=true]>.explore-exits,
 [data-room-context=study][data-study-table=true]>.explore-footer{flex:none}
 [data-room-context=study][data-study-table=true]>.room-layout{flex:1;min-height:min-content;align-items:stretch}
 [data-room-context=study][data-study-table=true]>.room-layout>.room-dock{contain:size;overflow:auto;min-height:0;align-self:stretch;scrollbar-gutter:stable}
 .study-closeup{display:grid;grid-template-rows:auto minmax(368px,1fr) auto auto;align-self:stretch}
 .study-closeup .chess-board-wrap{height:100%;width:auto;aspect-ratio:1;max-height:640px;max-width:100%;min-height:0;margin:0;justify-self:center}
 .study-closeup .chess-board{height:100%}
}

.tea-closeup{min-width:0}.tea-closeup[hidden],.tea-panel [hidden]{display:none}.tea-scene-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 12px;font-size:.875rem;color:#d2c39f}.tea-scene-heading .button{min-height:44px}.tea-scene{position:relative;aspect-ratio:1672/941;background:#193229;overflow:hidden;border:1px solid #a68c5355;border-radius:5px}.tea-scene>img,.tea-scene>svg{position:absolute;inset:0;width:100%;height:100%}.tea-scene>svg{pointer-events:none}.tea-cups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.tea-cups .button{display:flex;align-items:flex-start;flex-direction:column;gap:7px;padding:12px;text-align:left;background:#19382d;white-space:normal;min-width:0}.tea-cups .button[aria-pressed=true]:not(:disabled){border-color:#dfc77f}.tea-cups .button:disabled{opacity:1;color:#e7e1cc}.tea-cups strong{font-size:1rem;font-weight:500}.tea-cups span,.tea-cups small{font-size:.875rem;line-height:1.5}.tea-cups small{color:#c9d4c2;min-height:1.3em}.tea-measure{display:flex;width:100%;gap:3px}.tea-measure i{height:7px;flex:1;border:1px solid #9ca17b44;background:#ffffff12;border-radius:2px}.tea-measure .is-tea{background:#ac7642}.tea-measure .is-milk{background:#e2d3ad}.tea-response{margin:16px 0;padding:16px 4px;border-top:1px solid #c6b27b55;color:#eee3c3;font-size:1rem;line-height:1.8}.tea-panel{min-width:0}.tea-panel h3{font:1.35rem/1.5 var(--serif);color:#f2dfae;margin:0 0 1rem}.tea-panel p{line-height:1.8;margin:.75rem 0}.tea-panel .button{width:100%;margin:5px 0;min-height:44px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.tea-panel .tea-small{font-size:.875rem;color:#c0cdbb}.tea-materials{display:flex;gap:8px}.tea-materials .button[aria-pressed=true]{background:#455d40;border-color:#dfc77f}.tea-quantity{display:flex;flex-wrap:wrap;justify-content:space-between;margin:15px 0;gap:10px;font-size:1rem}.tea-quantity input{width:100%;min-height:36px;accent-color:#dfc77f}.tea-quantity output{color:#dfc77f}.tea-reference{display:block;font-size:.875rem;margin-top:1rem}.tea-reference select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;margin-top:8px;color:#f1e6cc;background:#153126;border:1px solid #99a87c;padding:8px;font-size:.875rem}.tea-memory{border:1px dashed #c6b27b66;padding:12px;margin:1rem 0}.tea-memory>span{font-size:.875rem;color:#d3bb7c}.tea-panel details{margin-top:1.5rem;border-top:1px solid #c6b27b44;padding-top:1rem;font-size:.875rem}.tea-panel summary{cursor:pointer;min-height:44px}.tea-panel [data-tea-choice]{padding-top:.5rem;border-top:1px solid #c6b27b44}.tea-panel [data-tea-status]{color:#dfc77f}.tea-panel .button.primary:disabled{background:#30463a;color:#c9d0bf;border-color:#83917266}.tea-scene [data-scene-retry]{width:auto}
@media(max-width:950px){[data-room-context=tea] .room-layout{display:flex;flex-direction:column}[data-room-context=tea] .tea-closeup{width:100%}[data-room-context=tea] .room-dock{width:100%;position:static;max-height:none}.tea-cups{gap:8px}.tea-cups .button{padding:10px}.tea-scene-heading{gap:8px}.tea-response{margin-bottom:0;padding-bottom:0}[data-room-context=tea] .explore-header{margin-bottom:12px}[data-room-context=tea] .room-dock-header{display:none}}

[data-room-context=tea] .room-layout.room-layout{max-width:1124px;margin-inline:auto}[data-room-context=tea] .room-dock-header{display:none}[data-room-context=tea] .room-dock :is(h2,h3,h4,button,summary,a,input,select){scroll-margin-top:16px}.tea-presence{padding:10px 12px;margin:0 0 12px;border-left:2px solid #c6b27b;color:#ecdbb0;font-size:.9rem;line-height:1.6}.tea-response{padding:12px 4px;margin-top:12px}

.tea-scene-heading>.world-clock{display:none}.tea-cups small:empty{display:none}.tea-panel .tea-response{margin:14px 0 6px;padding:12px 0;font-size:.95rem}
@media(max-width:950px){
 [data-room-context=tea]>.explore-header,[data-room-context=tea]>.explore-exits,[data-room-context=tea]>.explore-footer{display:none}
 [data-room-context=tea] .room-layout.room-layout{gap:8px}
 .tea-scene-heading{flex-wrap:wrap;margin-bottom:10px;column-gap:8px;row-gap:4px}
 .tea-scene-heading>span{flex:1;font-size:1rem;color:#e8d5a1}
 .tea-scene-heading>.world-clock{display:grid;width:100%;margin:0;grid-template-columns:auto 1fr;column-gap:10px;font-size:.875rem}
 .tea-scene-heading>.world-clock time{font-size:1rem}
 .tea-scene-heading>.world-clock [data-world-date]{grid-column:1 / -1}
 .tea-cups{margin:8px 0 0}
 .tea-cups .button{padding:8px 10px;gap:4px}
 .tea-cups small{min-height:0}
 [data-room-context=tea] .room-layout>.room-dock{padding:14px}
 .tea-panel h3{font-size:1.1rem;margin-bottom:8px}
 .tea-panel p{margin:8px 0;line-height:1.65}
 .tea-quantity{margin:10px 0;gap:4px}
 .tea-panel .tea-response{font-size:.9375rem;margin:12px 0 4px}
}

.tea-scene .button[data-tea-aim]{position:absolute;top:39.2%;transform:translate(-50%,-50%);width:16%;height:18%;min-width:44px;min-height:44px;padding:0;border:1px dashed #dbc276a8;border-radius:50%;background:transparent;box-shadow:none}
.tea-scene .button[data-tea-aim][aria-pressed=true]{border:2px solid #ffe5a0;background:#ffeab411}
.tea-scene .button[data-tea-aim]:focus-visible{outline:3px solid #fff0be;outline-offset:4px}
.tea-scene .button[data-tea-aim]:disabled{opacity:.45}.tea-clean-spark{opacity:0;pointer-events:none}.tea-clean-spark.is-lit{animation:tea-clean-light .65s ease-out forwards}
@keyframes tea-clean-light{0%{opacity:0}25%{opacity:.85}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.tea-clean-spark.is-lit{animation:none}}
.tea-panel .tea-next{margin:12px 0;padding-top:10px}.tea-panel [data-tea-care] .tea-small{margin-bottom:12px}

.tea-panel .tea-plan{margin:12px 0;padding:10px 12px}.tea-panel .tea-plan p{margin:6px 0;line-height:1.6}
.tea-panel .tea-response{white-space:pre-line;font-size:1rem;line-height:1.65;margin:10px 0;padding:10px 0}.tea-response:empty,.tea-next-visit:empty{display:none}.tea-panel .tea-next-visit{font-size:.875rem;line-height:1.5;color:#d5c398}
.tea-panel [data-action=tea-start-alone]{margin-top:0}.tea-panel [data-tea-choice]{padding-top:0;border-top:0}

.mara-tea-offer{margin:0 0 1.2rem;padding:1rem 0;border-bottom:1px solid var(--line)}.mara-tea-offer blockquote,.mara-tea-request{margin:.6rem 0 1rem;line-height:1.7}.mara-tea-offer .button{width:100%}.tea-response:focus-visible{outline:2px solid var(--gold);outline-offset:6px}

.writing-panel{min-width:0}.writing-panel[hidden],.writing-panel [hidden]{display:none}.writing-panel h3{font:1.6rem/1.35 var(--serif);margin:.5rem 0 1.25rem;color:#f2dfae}.writing-panel p,.writing-entry p{font-size:1rem;line-height:1.8}.writing-voice{margin:1rem 0;padding:0 0 0 1rem;border-left:2px solid #b9a274;color:#eee3c3}.writing-voice p{margin:.5rem 0}.writing-voice span,.writing-page>span,.writing-small{font-size:.875rem;color:#c0cdbb}.writing-choices .button,.writing-panel>.button,.writing-panel [data-writing-stage]>.button{width:100%;min-height:48px;white-space:normal;overflow-wrap:anywhere;margin:.4rem 0}.writing-choices>p{font-size:.875rem;margin:.25rem 0 1.25rem;color:#c0cdbb}.writing-page{margin:1rem 0 1.5rem;padding:1.5rem 1.25rem;border-block:1px solid #c6b27b66;background:#142d25}.writing-page h4{font:1.4rem/1.5 var(--serif);margin:.75rem 0;color:#eadbb5}.writing-page p{font-family:var(--serif);font-size:1.125rem;line-height:1.9;margin:1rem 0 .25rem}.writing-history,.writing-about{margin-top:1.5rem;border-top:1px solid #c6b27b44;padding-top:.75rem}.writing-history summary,.writing-about summary{min-height:44px;cursor:pointer;font-size:.875rem;line-height:1.7;color:#d3c29d}.writing-about p{font-size:.875rem}.writing-entry{margin:.75rem 0}.writing-entry .room-target{width:100%;white-space:normal;min-height:48px}.writing-panel [data-writing-status]{color:#dfc77f}.writing-panel [data-writing-heading]:focus,.writing-panel [data-writing-page]:focus{outline:2px solid #dfc77f;outline-offset:5px}

.reading-loan-panel{min-width:0;max-width:46rem;margin-inline:auto}.reading-loan-panel [hidden]{display:none}.reading-loan-panel h3{font:1.5rem/1.4 var(--serif);color:#f2dfae;margin:.25rem 0 1rem}.reading-loan-panel p{font-size:1rem;line-height:1.8}.reading-loan-current{padding:.8rem 0;border-block:1px solid #c6b27b55}.reading-loan-panel .button,.reading-loan-entry .button{width:100%;min-height:48px;white-space:normal;overflow-wrap:anywhere;line-height:1.5;margin:.35rem 0}.reading-loan-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.reading-loan-panel .reading-loan-small{font-size:.875rem;color:#d5c397}.reading-loan-memory{margin:1.2rem 0;padding-left:1rem;border-left:2px solid #c6b27b}.reading-loan-memory p{margin:.5rem 0}.reading-loan-memory time,.reading-loan-history time{display:block;font-size:.875rem;color:#bdcdbf;line-height:1.6}.reading-loan-original,.reading-loan-history{margin-top:1rem;border-top:1px solid #c6b27b44;padding-top:.5rem}.reading-loan-panel summary{min-height:44px;display:flex;align-items:center;font-size:.875rem;line-height:1.6;color:#d3c29d;cursor:pointer}.reading-loan-panel summary::before{content:'▸';margin-right:.5rem}.reading-loan-panel details[open]>summary::before{content:'▾'}.reading-loan-history ol{padding-left:1.2rem;max-height:20rem;overflow:auto}.reading-loan-history li{margin:.75rem 0;font-size:.875rem;line-height:1.6}.reading-loan-entry{margin:.6rem 0}.reading-loan-panel :is(button,summary,[tabindex]):focus-visible{outline:2px solid #e6d39b;outline-offset:4px}.reading-loan-scene{position:absolute;inset:0;pointer-events:none}.reading-loan-scene>span{display:block;position:absolute}.reading-loan-scene .civic-art{position:absolute;inset:0;width:100%;height:100%}.reading-loan-inventory>.civic-art{width:5rem;height:5rem;flex:none}.world:has([data-reading-loan-scene]){container-type:inline-size}.world:has([data-reading-loan-scene]) .scene-image{object-fit:fill}@media(max-width:480px){.reading-loan-slots{grid-template-columns:1fr;gap:0}.reading-loan-panel h3{font-size:1.35rem}}

@media(max-width:480px){.explore-contact[data-contact-position=reading]>span{display:none}.explore-contact[data-contact-position=reading]:focus-visible>span{display:block;left:50%;transform:translateX(-50%)}}

.reading-exchange{margin:1.5rem 0;padding-top:1.3rem;border-top:1px solid #c6b27b66;min-width:0}.reading-exchange [hidden]{display:none}.reading-exchange h3{font:1.35rem/1.45 var(--serif);color:#f2dfae;margin:0 0 1rem}.reading-exchange p{font-size:1rem;line-height:1.8}.reading-exchange-paper{padding:1.1rem 1.35rem;background:#efe5c9;color:#24382f;border:1px solid #d3c196;box-shadow:0 4px 14px #0002;margin:.8rem 0;min-width:0}.reading-exchange-paper h4{font:600 .85rem/1.6 var(--sans);color:#53604d;margin:0 0 .7rem;padding-bottom:.6rem;border-bottom:1px solid #69775a44}.reading-exchange-paper p{color:#24382f!important;font-family:var(--serif);font-size:1.04rem;line-height:1.9;margin:.65rem 0}.reading-exchange-paper .button{background:#2b463b;color:#fff5d9;border:1px solid #2b463b;box-shadow:none;margin:.15rem 0 .8rem;text-align:left}.reading-exchange-paper .button:disabled{opacity:1;background:#e0d7c0;color:#626957;border-color:#8a8c7544}.reading-exchange-line+.reading-exchange-line{margin-top:1rem}.reading-exchange-line.is-pointed{border-left:2px solid #758061;padding-left:.8rem}.reading-exchange-comparison,.reading-exchange-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.reading-exchange-comparison .reading-exchange-paper{margin:.5rem 0}.reading-exchange-quote{margin:1rem 0;padding:.3rem 0 .3rem 1rem;border-left:2px solid #c6b27b}.reading-exchange-quote p{margin:0 0 .4rem}.reading-exchange-quote footer,.reading-exchange-label{font-size:.875rem!important;line-height:1.6;color:#c5cfbd}.reading-exchange-goal{color:#f1dfb7}.reading-exchange-history ol{padding-left:1rem;max-height:25rem;overflow:auto}.reading-exchange-history li{margin-block:1rem}.reading-exchange-copy{border-bottom:1px solid #c6b27b44;padding-block:.35rem}.reading-exchange-borrow h4{font:1.15rem/1.5 var(--serif);color:#ead9b1}.reading-exchange-tea{max-width:46rem;margin:0 auto 1rem}.reading-exchange-tea .button{min-height:48px;width:100%;white-space:normal;line-height:1.6}.reading-exchange :is(button,summary,[tabindex]):focus-visible,.reading-exchange-borrow :is(button,summary):focus-visible{outline:2px solid #e6d39b;outline-offset:4px}.reading-exchange-paper .button:focus-visible{outline-color:#354f3e}.reading-exchange-close{margin-top:1rem}.reading-loan-inventory span{display:block;color:#d3c29d;font-size:.875rem;line-height:1.6}@media(max-width:600px){.reading-exchange-comparison,.reading-exchange-choices{grid-template-columns:1fr;gap:.3rem}.reading-exchange-paper{padding:1rem}.reading-exchange h3{font-size:1.25rem}}

.book-closeup,.book-panel{min-width:0}.book-closeup[hidden],.book-panel [hidden]{display:none}.book-scene-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#e0c88e;margin-bottom:12px}.book-scene-heading>.world-clock{display:none}.book-scene-heading .button{min-height:44px}.book-page,.book-cover{color:#352d22;background:#eee5ce;border:1px solid #c8b586;border-radius:3px 9px 9px 3px;box-shadow:inset 9px 0 14px #79674422,4px 3px 0 #c0ae87,7px 6px 0 #786b50;padding:32px clamp(22px,4vw,55px)}.book-page>header{border-bottom:1px solid #b9a786;padding-bottom:20px;margin-bottom:24px}.book-page>header>span,.book-cover>p:first-child{font-size:.8rem;letter-spacing:.1em;color:#786542}.book-page h2,.book-cover h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.4vw,2.1rem);color:#3b3023;line-height:1.5;margin:8px 0 0}.book-prose{font:1.0625rem/1.95 var(--serif);word-break:keep-all;overflow-wrap:anywhere}.book-prose p{margin:0 0 1.1em}.book-prose [lang=ja],.book-prose:lang(ja){word-break:normal}.book-line{font:inherit;display:inline;color:inherit;background:none;border:0;padding:0;text-align:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:#a68649;text-underline-offset:5px;text-decoration-thickness:1px}.book-line[aria-pressed=true]{background:#dfca8d80}.book-line:focus-visible{outline:2px solid #694a1d;outline-offset:3px}.book-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:16px;border-top:1px solid #b9a78680}.book-pagination>.button{min-height:44px;width:auto;margin:0}.book-page .button{background:#e0d2b1;border:1px solid #9b8255;color:#3e3120}.book-page .button:disabled{opacity:.45}.book-page .button:focus-visible{outline:3px solid #705319}.book-pagination>span{font-size:.875rem;white-space:nowrap}.book-footnote{font:.8125rem/1.7 var(--sans);color:#796849;margin:16px 0 0}.book-cover{min-height:440px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding-block:58px}.book-cover h2{font-size:2.2rem;line-height:1.7}.book-cover>p{line-height:1.8}.book-cover-rule{width:80px;height:1px;background:#9d7944;margin:32px auto}.book-cover>span{font-size:.8125rem;letter-spacing:.05em;color:#7c6946}.book-panel h3{font:1.25rem/1.5 var(--serif);color:#edd59d;margin:0 0 8px}.book-panel h4{font-size:1rem;font-weight:500;color:#ecd7a9;line-height:1.6;margin:0 0 12px}.book-panel p{line-height:1.75;margin:10px 0}.book-panel .book-small{font-size:.875rem;color:#bdcdbd}.book-panel .button{width:100%;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;min-height:44px;margin:5px 0}.book-panel blockquote{padding:10px 0 10px 14px;border-left:2px solid #bca467;margin:16px 0;font:1rem/1.85 var(--serif);color:#f1e2bd}.book-panel .button[aria-pressed=true]{border-color:#e1c482;background:#456047}.book-passages{display:flex;gap:6px;flex-wrap:wrap}.book-passages .button{width:auto;flex:1;font-size:.875rem;padding:10px}.book-panel fieldset{margin:12px 0;padding:0;border:0;min-width:0}.book-panel legend{font-size:.875rem;color:#cfbb86;margin-bottom:8px}.book-panel fieldset label{display:flex;gap:9px;align-items:flex-start;padding:12px 10px;margin:6px 0;border:1px solid #71846777;border-radius:3px;cursor:pointer;font-size:.9375rem;line-height:1.8}.book-panel fieldset label:has(:checked){background:#324d3b;border-color:#d5bb78}.book-panel input{margin-top:6px;flex-shrink:0;accent-color:#e0c789}.book-panel .book-status{font-size:.875rem;border-left:2px solid #d9bb70;padding-left:12px;color:#e5d3ac}.book-selection,.book-return,.book-ready-share,.book-shared,.book-saved,.book-listen,.book-comparison{margin-top:22px;padding-top:18px;border-top:1px solid #bea86b55}.book-shared>header,.book-history article>header{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;color:#d3bd83;font-size:.8125rem}.book-shared>header>time,.book-history time{color:#aabdab}.book-saved>span,.book-shared>span{color:#d3bd83;font-size:.875rem}.book-panel details{margin-top:24px;border-top:1px solid #bca46755;padding-top:15px}.book-panel summary{cursor:pointer;min-height:44px;line-height:1.8;font-size:.875rem}.book-history>article{padding:16px 0;border-bottom:1px solid #bea86b33}.book-panel .book-pagination{margin-top:10px}.book-panel .book-pagination .button{width:auto}.book-panel .button:disabled{color:#bbc7b7;border-color:#7a896566;background:#293f32}.book-panel :is(h3,h4,legend,button,summary){scroll-margin-top:16px}[data-room-context=book] .room-layout.room-layout{max-width:1180px;margin-inline:auto;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);align-items:start}[data-room-context=book] .room-dock-header{display:none}[data-room-context=book] .room-dock{max-height:none;position:static}
@media(max-width:950px){[data-room-context=book]>.explore-header,[data-room-context=book]>.explore-exits,[data-room-context=book]>.explore-footer{display:none}[data-room-context=book] .room-layout.room-layout{display:flex;flex-direction:column;gap:20px}.book-closeup,[data-room-context=book] .room-dock{width:100%}.book-scene-heading{flex-wrap:wrap;gap:6px}.book-scene-heading>span{flex:1}.book-scene-heading>.world-clock{display:grid;width:100%;grid-template-columns:auto 1fr;gap:3px 10px;font-size:.875rem}.book-scene-heading>.world-clock [data-world-date]{grid-column:1/-1}.book-page{padding:24px 22px;margin-right:6px}.book-prose{font-size:1rem;line-height:1.95}.book-cover{min-height:350px;margin-right:6px}.book-panel .book-passages .button{min-width:72px}[data-room-context=book] .room-dock{padding:18px}.book-panel h3{font-size:1.2rem}.book-page>header{margin-bottom:20px;padding-bottom:14px}.book-pagination{gap:8px}}

.book-page [data-book-notes]{margin-top:14px;padding:8px 12px;min-height:44px;font-size:.875rem;background:transparent;border-color:#ac935d;color:#5d4827}
.mara-reading{margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #bca46788}.mara-reading h3{font-size:1.4rem;line-height:1.5}.mara-reading-voice{margin:22px 0}.mara-reading-voice header{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:space-between;font-size:.8125rem;color:#d3bd83}.mara-reading-voice time{color:#bdcdbd}.mara-reading-saved{margin:18px 0;padding:12px 16px;background:#0f261f;border:1px solid #9b895544}.mara-reading-saved>span{font-size:.8125rem;color:#cfbb86}.mara-reading-line{display:inline-block;min-height:44px;min-width:44px;padding:6px 4px;border-bottom:1px solid #8a6b31;background:#dcc99944;text-decoration:none}.mara-reading-line:disabled{color:#625843;background:#ded5bd;opacity:1;cursor:default}.book-prose:lang(ja){line-break:strict}.mara-reading .button:disabled{opacity:1}.mara-reading :is(p,blockquote,button){overflow-wrap:anywhere}.mara-reading :is(h3,button){scroll-margin-block:20px}
@media(max-width:950px){.mara-reading-voice header{display:block}.mara-reading-voice time{display:block;margin-top:5px}.mara-reading h3{font-size:1.3rem}.mara-reading-saved{padding-inline:12px}.book-pagination:has([data-book-page]) .button{flex:1;font-size:.875rem;white-space:normal}}

.manuscript-panel{max-width:46rem;margin-inline:auto;line-height:1.8}.manuscript-heading h3{font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.4;margin:.5rem 0 1.2rem}.manuscript-small,.manuscript-about{font-size:.88rem;color:var(--muted)}.manuscript-files{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1rem 0}.manuscript-file{position:relative;text-align:left;min-height:5rem;padding:1rem .65rem;border:1px solid #9b9870;border-top-width:5px;border-radius:3px;background:#314541;color:#f2e9ce;font:inherit;line-height:1.5;cursor:pointer}.manuscript-file-grey{background:#494b45}.manuscript-file-note{background:#d5c8a7;color:#263630}.manuscript-file small{position:absolute;right:.3rem;top:.2rem}.manuscript-file[aria-pressed=true],.manuscript-page-tabs [aria-pressed=true]{outline:2px solid #d6bd83;outline-offset:2px}.manuscript-file:disabled{opacity:.55;cursor:default}.manuscript-paper{background:#e9dfc5;color:#24352f;border:1px solid #a99a76;padding:clamp(1rem,3vw,2rem);margin:1.3rem 0;box-shadow:0 5px 15px #0002;line-height:2;overflow-wrap:anywhere}.manuscript-paper header>span,.manuscript-paper>span{font-size:.78rem;letter-spacing:.07em;color:#5b6459}.manuscript-paper h3{font-family:var(--serif);font-size:1.5rem;line-height:1.5;margin:.5rem 0 1.2rem}.manuscript-paper p{margin:1rem 0}.manuscript-paper blockquote{margin:1rem 0;padding:.65rem 0 .65rem 1rem;border-left:2px solid #927945;font-family:var(--serif);font-size:1.12rem}.manuscript-paper .button{display:block;width:100%;background:transparent;color:#24352f;text-align:left;border:0;border-bottom:1px dashed #927945;padding:.4rem 0;line-height:1.9;font:inherit;white-space:normal}.manuscript-paper .button:disabled{opacity:1;cursor:default}.manuscript-paper .button:not(:disabled):hover{background:#d5c89f}.manuscript-note{transform:rotate(-.4deg)}.manuscript-draft blockquote{border-color:#8a5346;text-decoration:underline;text-decoration-color:#a35f50;text-decoration-style:wavy;text-underline-offset:.4rem}.manuscript-page-tabs,.manuscript-reading-actions,.manuscript-ending{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.manuscript-panel .button,.manuscript-travel .button{white-space:normal;word-break:keep-all;overflow-wrap:anywhere;min-height:44px;line-height:1.5}.manuscript-page-tabs>.button{flex:1 1 10rem}.manuscript-plans{display:grid;gap:1rem}.manuscript-plans>div{padding:1rem;border:1px solid #627063;border-radius:3px}.manuscript-plans p{font-size:.9rem;margin:.6rem 0 0}.manuscript-plans small{display:block;margin-top:.5rem;color:#dec88c}.manuscript-reaction{border-top:1px solid #586657;margin:1.5rem 0;padding-top:1rem}.manuscript-reaction header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#d3c7a7}.manuscript-reaction blockquote{margin:.8rem 0;border-left:2px solid #c6aa6c;padding-left:1rem;line-height:1.9}.manuscript-locations,.manuscript-about{margin:1.3rem 0}.manuscript-settled{padding:1rem;border-left:2px solid #b5a476}.manuscript-travel{margin:1rem 0;padding:1rem;border:1px solid #687463;border-left:3px solid #d6bd83;background:#203a32}.manuscript-travel p{margin:.4rem 0}.manuscript-travel>span{font-size:.86rem;color:#d7c79c}.manuscript-carry-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0}.manuscript-carry-actions>.button{flex:1 1 12rem}.manuscript-scene{position:absolute;inset:0;pointer-events:none}.manuscript-scene-sheet{position:absolute;display:block}.manuscript-scene-sheet>.civic-art{position:absolute;inset:0;width:100%;height:100%}.manuscript-scene-sheet i{position:absolute;left:12%;top:5%;font-size:.65cqw;font-family:serif;color:#6b5341;line-height:1;transform:scaleY(.5)}.manuscript-scene-target{position:absolute;transform:translate(-50%,-50%);min-height:44px;max-width:45%;padding:.5rem .8rem;border:1px solid #d3b77b;border-radius:4px;background:#17362deb;color:#f1e5c7;font:inherit;font-size:.8rem;pointer-events:auto;cursor:pointer}.manuscript-panel button:focus-visible,.manuscript-travel button:focus-visible,.manuscript-scene-target:focus-visible{outline:3px solid #e8d49d;outline-offset:3px}.manuscript-status{color:#dbc88f;font-size:.9rem}@media(max-width:480px){.manuscript-files{gap:.4rem}.manuscript-file{padding:.7rem .4rem;font-size:.86rem}.manuscript-paper{margin:1rem 0}.manuscript-reading-actions>.button,.manuscript-ending>.button{flex:1 1 100%}.manuscript-scene-target{font-size:.875rem;padding:.4rem .6rem}}

.world:has([data-manuscript-scene]){container-type:inline-size}.world:has([data-manuscript-scene]) .scene-image{object-fit:fill}.manuscript-settled small{display:block;color:var(--muted);font-size:.8rem}.manuscript-settled p{margin:.7rem 0 0}

.manuscript-passage{display:block}.manuscript-passage[data-manuscript-pointed=true]{background:#d8cca9}.manuscript-passage small{display:block;font:12px var(--sans);color:#485847}

.manuscript-presence{padding:.7rem 0;border-block:1px solid #b5a47666;color:#e4d6af;font-size:.9rem}.manuscript-paper .manuscript-passage-help{font-family:var(--sans);font-size:.85rem;line-height:1.6;color:#526151;border-bottom:1px solid #9e927455;padding-bottom:.8rem}

.manuscript-passage:focus-visible,.manuscript-reaction:focus-visible{outline:2px solid #d6bd83;outline-offset:.5rem}.manuscript-reaction{scroll-margin-block:1.2rem}

/* Work uses the same complete scene for its art and hit targets. */
body:has(#game.main-work){overflow:auto}
#game.main-work .play-panel{min-width:0}
#game.main-work .play-panel>:is(.civic-panel,.use-panel){margin:22px 0 0}
#game.main-work .play-panel :is(.narration,.goal-line,.interaction-hint,.button){word-break:keep-all;overflow-wrap:break-word}
#game.main-work .action-dock{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-width:none;overflow:visible;backdrop-filter:none}
#game.main-work .action-dock button{min-width:0;max-width:none;min-height:60px;padding:10px 8px;gap:7px;flex-direction:column;font-size:.875rem;line-height:1.5}
#game.main-work .action-dock button>span{overflow-wrap:break-word;word-break:keep-all}
#game.main-work .action-dock .icon{flex-shrink:0;width:20px;height:20px}
#game.main-work .action-dock :is(kbd,.dock-divider){display:none}
#game.main-work .action-dock .count{position:static;font-size:.75rem}
:lang(ja) #game.main-work .play-panel :is(.narration,.goal-line,.interaction-hint,.button),:lang(ja) #game.main-work .action-dock button>span{word-break:normal;line-break:strict}
@media(min-width:901px){
  #game.main-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);grid-template-rows:auto auto auto auto auto;gap:0 24px;height:auto;min-height:100svh;padding:0 28px;overflow:clip;align-content:start}
  #game.main-work .masthead{grid-column:1/-1;grid-row:1;position:relative;padding:22px 0;min-width:0}
  #game.main-work .location{grid-column:1/-1;grid-row:2;position:relative;top:auto;left:auto;max-width:none;margin:4px 0 18px;padding:0;text-shadow:none}
  #game.main-work .location h1{font-size:1.75rem;margin:6px 0 0}
  #game.main-work .location :is(.location-rule,p){display:none}
  #game.main-work .world{grid-column:1;grid-row:3;position:relative;left:auto;top:auto;width:100%;height:auto;aspect-ratio:1672/941;transform:none;align-self:start;margin:0;z-index:0;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:3px}
  #game.main-work .world .scene-image{width:100%;height:100%;object-fit:contain}
  #game.main-work .world .scene-shade{background:linear-gradient(180deg,#07171308,transparent 70%,#07171326)}
  #game.main-work .play-panel,
  #game.main-work .play-panel:has(.civic-panel),
  #game.main-work .play-panel:has(.use-panel){grid-column:2;grid-row:3;position:relative;right:auto;bottom:auto;width:auto;margin:0;padding:22px;align-self:start;max-height:max(360px,calc(100svh - 310px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ae9b68 #172e27;backdrop-filter:none;box-shadow:none}
  #game.main-work .action-dock{grid-column:1/-1;grid-row:4;position:relative;left:auto;right:auto;bottom:auto;transform:none;justify-self:stretch;align-self:start;margin:18px 0 0;padding:8px;box-shadow:none}
  #game.main-work .action-dock button{flex-direction:row;min-height:52px}
  #game.main-work .scene-footer{grid-column:1/-1;grid-row:5;position:relative;left:auto;right:auto;bottom:auto;min-height:40px;padding:12px 0}
  #game.main-work .world .hotspot{font-size:.875rem;min-width:44px;min-height:44px;padding:8px 10px}
}
@media(max-width:900px){
  #game.main-work .action-dock{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 18px;padding:8px}
  #game.main-work .action-dock button{flex-direction:row;min-height:60px}
}
@media(max-width:540px){
  #game.main-work .action-dock button{flex-direction:column;min-height:76px}
  #game.main-work .action-dock button[data-action=inventory]{position:relative}
  #game.main-work .action-dock .count{position:absolute;top:8px;right:calc(50% - 24px)}
}

.lamp-preparation{margin:1rem 0;padding:1.1rem;border:1px solid #aa9460;background:#17372f;border-radius:.4rem;color:#efe8d6}
.lamp-preparation h3{margin:0 0 .65rem;font-size:1.3rem}.lamp-preparation p{font-size:1rem;line-height:1.65}.lamp-preparation .lamp-next{font-size:1.08rem;margin:.5rem 0}.lamp-position{border-left:2px solid #d5bd85;padding-left:.7rem}
.lamp-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.75rem;margin:1rem 0}.lamp-option .button,.lamp-option button{width:100%;min-height:48px;font-size:1rem;white-space:normal}.lamp-option p{margin:.45rem 0 .75rem}.lamp-change,.lamp-observations{margin-top:1rem;border-top:1px solid #66745e;padding-top:.7rem}.lamp-change summary,.lamp-observations summary{font-size:1rem;cursor:pointer}.lamp-change .lamp-option{margin-top:.8rem}.lamp-previous{font-size:.9rem!important;border-top:1px solid #66745e;padding-top:.75rem}.lamp-done{border-color:#81947b}.lamp-history{border-left:2px solid #aa9460;padding-left:.65rem}
.lamp-location-marker{position:absolute;z-index:6;pointer-events:none;transform:translate(-50%,-100%);display:flex;justify-content:center;max-width:45%;font:500 .875rem/1.4 sans-serif;color:#fff0c9;background:#17372f;border:1px solid #d5bd85;border-radius:.25rem;padding:.35rem .55rem;text-align:center}.lamp-location-marker:after{content:'';position:absolute;left:calc(50% - 1px);top:100%;width:2px;height:.55rem;background:#d5bd85}
.lamp-location-marker[data-lamp-location="desk"]{transform:translate(-100%,-100%);max-width:38%}.lamp-location-marker[data-lamp-location="desk"]:after{left:calc(100% - 1px)}
@media(max-width:540px){.lamp-preparation{padding:.8rem}.lamp-actions{grid-template-columns:1fr}.lamp-location-marker{font-size:.875rem;padding:.25rem .4rem}}

.work-comparison{margin:1rem 0}.work-comparison>h2{font:600 1.45rem var(--serif);color:#e7d6ac;margin:.4rem 0}.work-comparison-availability{font-size:.875rem;color:#c0cabe;line-height:1.65;margin:.5rem 0 1rem}.work-comparison-place{margin:0 0 1rem}.work-comparison-place figcaption{font-size:.875rem;color:#d4c299;line-height:1.65;padding:.5rem 0}.work-comparison-place .spaces-stage{max-height:none}.comparison-open,.work-method-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.comparison-open .button,.work-method-choices .button{width:100%;white-space:normal;min-height:48px;text-align:left;justify-content:flex-start;line-height:1.55}.comparison-solo,.comparison-retained,.work-methods,.comparison-summary{margin:1rem 0;border-top:1px solid #bba36a44;padding-top:.8rem}.work-methods summary,.comparison-solo summary,.comparison-summary summary{cursor:pointer;color:#e0d1a9;line-height:1.6}.work-method-choices p,.comparison-solo p{font-size:.875rem;line-height:1.75;color:#c4ccc0}.comparison-roles{border-left:2px solid #c5aa72;padding-left:.85rem;line-height:1.75}.comparison-documents{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;align-items:start;margin:1rem 0}.comparison-document{background:#e5dcc5;color:#263c33;padding:1.1rem;min-width:0;border:1px solid #c0aa7d}.comparison-document[hidden]{display:none}.comparison-document header>span{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#5b5e4c}.comparison-document h4{font:600 1.3rem var(--serif);line-height:1.5;color:#263c33;margin:.35rem 0 1rem}.comparison-document dl{margin:0;display:grid;gap:.75rem}.comparison-document dl>div{border-top:1px solid #6e705c55;padding-top:.6rem}.comparison-document dt{font-size:.875rem;color:#565e4c}.comparison-document dd{margin:.2rem 0 0;font-size:1rem;font-weight:600;line-height:1.5}.comparison-document blockquote{margin:1rem 0 0;padding:.7rem;border-left:2px solid #4e6651;color:#253c2e;background:#ffffff30;font-size:.9rem;line-height:1.7}.comparison-missing{font-size:.875rem;line-height:1.7;color:#705b36}.comparison-candidates{display:grid;gap:.55rem}.comparison-candidates .button{display:grid;gap:.2rem;width:100%;padding:.8rem;text-align:left;background:#f4ecd8;color:#2b4237;border:1px solid #777c6266;border-radius:2px;line-height:1.5;white-space:normal}.comparison-candidates .button:hover:not(:disabled){background:#fff8e5;border-color:#3a5b44}.comparison-candidates .button[aria-pressed=true]{outline:2px solid #345842;outline-offset:1px}.comparison-candidates strong{font:600 1rem var(--serif);color:inherit}.comparison-candidates .button>span:last-child{font-size:.875rem}.comparison-file-number{font-size:.75rem;letter-spacing:.06em;color:#61664f}.comparison-index>.button.quiet{color:#324d3d;border-color:#64775d77;width:100%;text-align:left;white-space:normal;line-height:1.6;margin-top:.7rem;min-height:44px}.comparison-documents.is-hand{grid-template-columns:1fr;max-width:540px;margin-inline:auto}.comparison-page-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-block:1px solid #bba36a44}.comparison-page-switch>span{color:#e2d0a2;font-size:.9rem}.comparison-page-switch .button{white-space:normal;min-height:44px}.comparison-close{display:flex;justify-content:flex-end;margin-top:1rem}.comparison-verification{border-left:2px solid #c9ad73;padding:.5rem .9rem;margin:1rem 0}.comparison-feedback{color:#edd4a2;line-height:1.75}.comparison-summary p,.comparison-retained p{font-size:.9rem;line-height:1.75;color:#c6d0c5}.work-comparison .button:focus-visible,.comparison-document:focus-visible{outline:3px solid #f5d98f;outline-offset:3px}.comparison-document .button:focus-visible{outline-color:#254d39}
@media(max-width:650px){.comparison-documents{grid-template-columns:1fr;gap:.75rem}.comparison-request{position:relative}.comparison-request dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.comparison-request h4{font-size:1.1rem;margin-bottom:.6rem}.comparison-document{padding:.9rem}.comparison-open,.work-method-choices{grid-template-columns:1fr}.comparison-page-switch{gap:.5rem}.comparison-page-switch .button{font-size:.875rem;padding:.6rem}.work-comparison>h2{font-size:1.25rem}.comparison-candidates .button{padding:.7rem}.comparison-close .button{width:100%}}

.comparison-candidates .button:disabled{opacity:1;color:#475445;background:#ddd7c4;cursor:default}.comparison-candidates .button:disabled .comparison-file-number{color:#59604e}

.comparison-reference{border-block:1px solid #6e705c55;margin:0 0 1rem;padding:.7rem 0}.comparison-reference>span{font-size:.875rem;color:#565e4c}.comparison-reference p{font-size:1rem;line-height:1.6;margin:.35rem 0}.comparison-verification:focus,.comparison-feedback:focus,[data-comparison-answer]:focus{outline:2px solid #d5ba7b;outline-offset:4px}.comparison-document [data-comparison-answer]:focus{outline-color:#345842}

#game.comparison-work .work-comparison{margin:0}
@media(min-width:901px){#game.main-work.comparison-work{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr)}#game.main-work.comparison-work .play-panel.has-workbench{width:auto;max-height:calc(100svh - 260px)}}
@media(max-width:900px){#game.main-work.comparison-work>.world{display:none}#game.main-work.comparison-work>.play-panel.has-workbench{margin-top:210px;padding:18px}#game.main-work.comparison-work .location>.eyebrow{display:none}#game.main-work.comparison-work .location{top:142px}#game.main-work.comparison-work .work-comparison>h2{margin:0 0 .6rem}}
.work-comparison-place .spaces-stage{max-width:520px;margin-inline:auto}
@media(min-width:901px){#game.main-work.comparison-work .world .hotspot{width:44px;padding:8px}#game.main-work.comparison-work .world .hotspot span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media(max-width:900px){#game.main-work.comparison-work{display:flex;flex-direction:column;gap:0}#game.main-work.comparison-work>.masthead{position:relative;order:0;padding:18px 20px}#game.main-work.comparison-work>.location{position:relative;order:1;top:auto;left:auto;margin:0 20px 18px}#game.main-work.comparison-work>.play-panel.has-workbench{order:2;margin:0 18px 18px}}

.work-delegation{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;padding:20px;margin:0 0 24px;border:1px solid var(--line);border-left:3px solid var(--gold);background:#1c342bc4;border-radius:6px}
.work-delegation-paper{padding-top:5px;align-self:start}.work-delegation-paper img{display:block;width:100%;height:auto}
.work-delegation h3,.work-delegation-receipt h3{margin:8px 0 12px;font-size:1.2rem;line-height:1.6}
.work-delegation p,.work-delegation-receipt p,.work-delegation-offer p{font-size:1rem;line-height:1.75;margin:10px 0}
.work-delegation .modal-actions{margin:14px 0 0;flex-wrap:wrap}.work-delegation .modal-actions .button{min-width:0;white-space:normal;text-align:left}
.work-delegation p.work-delegation-hint,.work-delegation-offer p{font-size:.875rem;color:#c8cebd}
.work-delegation-reason{color:#e2cfa7}.work-delegation-offer{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.work-delegation-receipt{margin:0 0 22px;padding:16px 20px;border-left:3px solid var(--gold);background:#d8c4970c}
.work-delegation-fold{margin:0 0 18px;border-block:1px solid var(--line)}.work-delegation-fold>summary{font-size:.875rem;padding:12px 0;min-height:44px;color:var(--gold)}.work-delegation-fold .work-delegation{margin:8px 0 16px}
.work-delegation [hidden],.work-delegation-offer [hidden]{display:none!important}
@media(max-width:600px){.work-delegation{grid-template-columns:1fr;padding:16px;gap:0}.work-delegation-paper{display:none}.work-delegation .modal-actions{display:flex;flex-direction:column;align-items:stretch}.work-delegation .modal-actions .button{flex-basis:auto}.work-delegation-receipt{padding:14px 16px}}

.rest-reading{margin-top:1.5rem;padding-top:1.4rem;border-top:1px solid #8f80534f;max-width:44rem;color:#e7e3d4}
.rest-reading header h3{margin:.35rem 0 1rem;font:500 clamp(1.3rem,3vw,1.7rem)/1.35 var(--serif,Georgia,serif)}
.rest-reading .eyebrow,.rest-reading-source,.rest-reading-sources article>span,.rest-reading-speech>span{font-size:.78rem;line-height:1.7;color:#c6bb97}
.rest-reading-page,.rest-reading-sources article{padding:clamp(1rem,4vw,1.6rem);margin:.8rem 0 1rem;background:#e8dec4;color:#282b26;border:1px solid #aa9772;border-radius:3px;box-shadow:0 5px 12px #0002}
.rest-reading-page h4,.rest-reading-sources h4{font:600 1.14rem/1.4 var(--serif,Georgia,serif);margin:.2rem 0 .65rem}
.rest-reading-page p,.rest-reading-sources p{font-size:.98rem;line-height:1.85;margin:.6rem 0;overflow-wrap:anywhere}
.rest-reading-page .eyebrow,.rest-reading-sources article>span{color:#565747}
.rest-reading-sources .button{border-color:#63604e;color:#263e35;background:#faf4e2;white-space:normal}
.rest-reading-sources{display:grid;gap:.4rem}
.rest-reading blockquote{margin:1rem 0;border-left:2px solid #a69868;padding:.3rem 0 .3rem 1rem;line-height:1.8}
.rest-reading blockquote>span{font-size:.72rem;color:#bebaa9}
.rest-reading blockquote p{margin:.3rem 0}
.rest-reading-owner{font-size:.82rem;color:#c9c2a9}
.rest-reading-actions,.rest-reading-actions fieldset{display:flex;flex-wrap:wrap;gap:.6rem}
.rest-reading-actions fieldset{border:0;margin:0;padding:0;min-width:0;width:100%}
.rest-reading-actions legend{padding:0 0 .7rem;line-height:1.6}
.rest-reading-actions .button{min-height:44px;white-space:normal;text-align:left;line-height:1.5;max-width:100%}
.rest-reading-status{color:#ded2aa;font-size:.9rem;line-height:1.7}
.rest-reading [tabindex="-1"]:focus-visible{outline:2px solid #d4b968;outline-offset:5px}
@media(max-width:560px){.rest-reading{margin-top:1rem;padding-top:1rem}.rest-reading-actions .button{width:100%}.rest-reading-sources article{margin:0 0 .6rem}}
.reading-next{max-width:none}
.reading-next-spread,.reading-next-pair,.reading-next-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem;align-items:start}
.reading-next-paper{margin:0;min-width:0}
.reading-next-paper fieldset,.reading-next-candidates{border:0;padding:0;min-width:0;margin:1rem 0}
.reading-next-paper legend,.reading-next-candidates legend{font-size:.9rem;line-height:1.6;margin-bottom:.65rem}
.reading-next-paper fieldset .button{display:block;width:100%;text-align:left;margin:.5rem 0;border:1px solid #8f8053;color:#253d32;background:#f4edda}
.reading-next-paper .button,.reading-next-candidates .button{min-height:44px;white-space:normal;font-size:.95rem;line-height:1.65;padding:.7rem .85rem}
.reading-next-paper>.button{width:100%;color:#f7edcf;background:#254338;border-color:#52644d;margin-top:.6rem}
.reading-next-paper fieldset .button[aria-pressed="true"]{background:#d4d9bd;border-color:#3d5e4d;box-shadow:inset 3px 0 #3d5e4d;color:#223b2f;opacity:1}
.reading-next-paper .button:disabled{cursor:default}
.reading-next-paper .rest-reading-owner{color:#5a5948;font-size:.8rem;line-height:1.65}
.reading-next-date{font-size:.76rem;color:#67624e;line-height:1.7}
.reading-next-mark{line-height:1.85;margin:1rem 0}
.reading-next-mark mark{background:#dbcb9299;color:inherit;padding:.12em .18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.reading-next-anchor,.reading-next-pair article{padding:1rem 1.2rem;background:#1d382e;border-left:2px solid #b7a569;margin:1rem 0}
.reading-next-anchor h4,.reading-next-pair h4,.reading-next-candidates h4{font:500 1.1rem/1.5 var(--serif,Georgia,serif);margin:.35rem 0}
.reading-next-anchor .reading-next-date,.reading-next-pair .reading-next-date,.reading-next-candidates .reading-next-date{color:#c2b99b}
.reading-next-anchor .reading-next-mark mark,.reading-next-pair .reading-next-mark mark{background:#b7a56933}
.reading-next-candidates article{padding:1rem;border:1px solid #8f80534f;border-radius:3px;min-width:0}
.reading-next-candidates article p{font-size:.96rem;line-height:1.8}
.reading-next-history{margin-top:1.6rem;border-top:1px solid #8f80534f;padding-top:.8rem;color:#c9c5b5;font-size:.88rem;line-height:1.8}
.reading-next-history summary{cursor:pointer;min-height:44px;padding:.5rem 0}
.reading-next-history article{padding:.5rem 0}
.reading-next-history .reading-next-date{color:#c2b99b}
.reading-next-history ol{padding-left:1.2rem}
.reading-next-history li{margin:.75rem 0}
.reading-next-history li p{margin:.2rem 0}

/* The shared pages occupy the reading place. The room behind them is the
   existing scene, not a new location or an illustration of a past companion. */
.reading-closeup{position:relative;isolation:isolate;min-width:0;overflow:clip;background:#1d241e;border:1px solid #89794c66;border-radius:6px;--reading-scene-height:min(calc((100vw - 34px)*941/1672),30svh,calc(640px*941/1672))}
.reading-closeup[hidden]{display:none}
.reading-room-setting{position:sticky;top:8px;z-index:12;pointer-events:none;overflow:clip;background:#102523;box-shadow:0 8px 14px #071b1766}
.reading-room-setting>.explore-stage{position:relative;top:auto;width:min(100%,calc(30svh*1672/941),640px);max-height:none;aspect-ratio:1672/941;margin-inline:auto;border:0;border-radius:0}
.reading-room-setting :is(.nook-seat,.nook-stage-places,.chess-scene-target,.world-mood,.explore-prop-guide,.scene-hit){display:none}
.reading-closeup-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;color:#f2e4be;text-shadow:0 1px 5px #000}
.reading-closeup-heading>span{font:500 1rem/1.6 var(--serif)}
.reading-closeup-heading .button{min-height:44px;background:#142b23de;border-color:#c9b77a80;white-space:normal}
.reading-table{position:relative;padding:20px clamp(18px,4vw,56px) 30px}
.reading-closeup :is([tabindex],button,summary,a,input,select){scroll-margin-top:calc(var(--reading-scene-height) + 24px);scroll-margin-bottom:24px}
.reading-table>.rest-reading{margin:0;padding:0;border:0}
.reading-table .reading-next>header{color:#f8edcb;text-shadow:0 1px 5px #000}
.reading-table .reading-next>header h3{font-size:clamp(1.45rem,2.5vw,2rem);margin:.4rem 0 1.2rem}
.reading-table .rest-reading-status:not([hidden]){padding:12px 16px;background:#12271ff0;border-left:2px solid #d1bc7a;margin:0 0 20px;color:#f0deb0}
.reading-table .reading-next-spread{grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.reading-table .reading-next-paper{position:relative;padding:clamp(22px,3vw,40px);border-color:#baac87;background:linear-gradient(100deg,#ded0ad,#f0e7cf 8%,#ede2c8 95%,#dbcca8);box-shadow:inset 8px 0 12px #a6967525,0 9px 24px #0005;border-radius:2px 5px 5px 2px;display:flex;flex-direction:column}
.reading-table .reading-next-paper+article{background:linear-gradient(100deg,#e2d5b7,#f5ecd7 8%,#f1e7cd 95%,#dfcfaa)}
.reading-table .reading-next-paper h4{font-size:clamp(1.4rem,2vw,1.8rem);font-weight:500;margin:.75rem 0 .4rem}
.reading-table .reading-next-date{border-bottom:1px solid #a3916766;padding-bottom:18px;margin-bottom:16px}
.reading-next-paper p.reading-prose{font:400 1.125rem/2.1 var(--serif);word-break:keep-all;overflow-wrap:anywhere;margin:16px 0 24px}
.reading-next-paper p.reading-prose:lang(ja){word-break:normal;line-break:strict;overflow-wrap:normal}
.reading-prose mark{color:inherit;background:#c8b47755;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-bottom:1px solid #9b804b}
.reading-passage{display:inline-block;min-height:44px;max-width:100%;padding:3px 2px;border:0;border-bottom:1px solid #89724299;border-radius:0;background:transparent;color:#352e22;text-align:start;font:inherit;line-height:inherit;vertical-align:baseline;cursor:pointer;white-space:normal}
.reading-passage:hover:not(:disabled){background:#d9c99c66}
.reading-passage[aria-pressed=true]{background:#d5c48f80;box-shadow:inset 0 -2px #74603b;opacity:1}
.reading-passage:disabled{cursor:default;opacity:1;color:#554c3c;border-bottom-style:dotted}
.reading-next-paper .reading-passage-hint{font-size:.8125rem;line-height:1.7;color:#6e6045;margin:4px 0}
.reading-next-paper .rest-reading-owner{margin-top:auto;padding-top:10px}
.reading-bookmark{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;width:100%;margin-top:20px;padding:12px 16px;border:1px solid #4b6049;background:#284236;color:#f0e3bd;font:500 .9375rem/1.6 var(--sans);cursor:pointer;white-space:normal;text-align:left}
.reading-bookmark svg{flex:none}
.reading-bookmark:disabled{background:#d9d0b9;color:#69644f;border-color:#b4a787;cursor:default;opacity:1}
.reading-bookmark:hover:not(:disabled){background:#355442}
.reading-passage:focus-visible,.reading-bookmark:focus-visible,.reading-open-object:focus-visible{outline:3px solid #785621;outline-offset:4px}
.reading-next-paper blockquote{border-color:#917a48;color:#39362a;margin:12px 0 0;padding:10px 0 10px 14px}
.reading-next-paper blockquote>span{color:#71644b}
.reading-next-paper blockquote p{font-size:1rem;line-height:1.85;margin:.3rem 0}
.reading-next-paper .reading-bookmark-hint{font-size:.8125rem;line-height:1.7;color:#71644b}
.reading-table .rest-reading-actions{margin-top:24px}
.reading-table [data-reading-next-spread]:focus-visible{outline-color:#e9d5a2;outline-offset:8px}
.reading-open-object{display:block;width:100%;padding:18px;border:1px solid #9d8954;background:#182d24;color:#eee1b7;cursor:pointer;text-align:left;font:inherit}
.reading-open-pages{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.reading-open-page{display:flex;flex-direction:column;gap:12px;background:#e8dec4;color:#393b2c;padding:18px 14px;border:1px solid #bba776;box-shadow:2px 3px 0 #80704a}
.reading-open-page strong{font:500 1.15rem/1.5 var(--serif)}
.reading-open-page>span{font-size:.9rem;line-height:1.8}
.reading-open-label{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:12px;margin-top:14px;font-size:.9375rem}
.reading-open-object:disabled{cursor:default}.reading-open-object:disabled .reading-open-label{color:#b5b199}
.room-layout.room-layout:has(>.reading-closeup:not([hidden])){grid-template-columns:minmax(0,1fr);max-width:1240px;margin-inline:auto;gap:20px}
.room-layout:has(>.reading-closeup:not([hidden]))>.room-dock{width:100%;position:static;max-height:none;padding:24px 32px}
.room-layout:has(>.reading-closeup:not([hidden])) .room-dock-header{display:none}
.room-layout:has(>.reading-closeup:not([hidden])) .reading-next-history{margin-top:0}
@media(max-width:700px){
 .reading-closeup-heading{padding:12px 16px;gap:8px}
 .reading-closeup-heading>span{font-size:.9rem}
 .reading-table{padding:16px 16px 24px}
 .reading-table .reading-next-spread{grid-template-columns:minmax(0,1fr);gap:24px}
 .reading-table .reading-next-paper{padding:24px 22px}
 .reading-next-paper p.reading-prose{font-size:1.0625rem;line-height:2.1}
 .reading-table .reading-next>header h3{font-size:1.4rem}
 .room-layout:has(>.reading-closeup:not([hidden]))>.room-dock{padding:18px}
 .reading-open-pages{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:500px){
 .reading-room-setting{position:relative;top:auto;z-index:auto;box-shadow:none}
 .reading-closeup :is([tabindex],button,summary,a,input,select){scroll-margin-top:20px}
}
@media(prefers-reduced-motion:no-preference){.reading-passage,.reading-bookmark{transition:background-color .15s ease}}

.company-panel{padding-block:1.5rem;border-top:1px solid var(--line)}
.company-panel h3{font-family:var(--serif);font-size:1.65rem;margin-block:.4rem 1rem}
.company-panel p{font-size:1.067rem;line-height:1.8;margin-bottom:1rem}
.company-panel .button{white-space:normal;text-align:left;line-height:1.65;min-height:48px}
.company-choices{display:grid;gap:.65rem;margin-block:1rem}
.company-voice{margin:1rem 0;padding:1.1rem 1.2rem;background:#10211e;border-left:2px solid var(--gold)}
.company-voice span{color:var(--gold);font-size:.94rem}
.company-voice p{margin:.55rem 0 0}
.company-panel .company-date,.company-panel time,.company-memory{color:var(--muted);font-size:.94rem;line-height:1.7}
.company-panel time{display:block;margin-bottom:.75rem}
.company-agreement{padding-left:1rem;border-left:2px solid var(--gold)}
.company-memory{margin-top:1rem}.company-memory summary{cursor:pointer;padding-block:.5rem}.company-memory p{margin-top:.75rem}
.company-alternatives{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:.75rem}.company-alternatives>summary{cursor:pointer;color:var(--muted);line-height:1.7;padding-block:.5rem;min-height:44px}
.company-private-note{border-left:2px solid var(--gold);padding-left:1rem;color:var(--muted);font-size:1rem;line-height:1.75}
.shared-rest-actions .company-reading{width:100%;background:#345145;border:1px solid var(--gold)}
@media(min-width:900px){.company-choices{grid-template-columns:1fr 1fr}}

.partnership-entry{margin-block:1rem}.partnership-entry .button{width:100%;white-space:normal;text-align:left;min-height:48px}.partnership-panel .company-choices .button{width:100%}.partnership-panel .company-choices p{font-size:1rem;color:var(--muted);margin-top:.65rem}.partnership-panel .company-agreement{font-size:1.15rem}.partnership-panel .company-agreement small{font-size:.9rem;color:var(--muted)}

.linked-entry{margin:12px 0}.linked-entry-hint{display:block;margin:8px 0;color:#dcc487;font-size:.9rem}.linked-heading h3{font:500 1.6rem/1.35 var(--serif);margin:8px 0 18px}.linked-folio-tools{display:flex;justify-content:flex-end;margin:-8px 0 12px}.linked-folio-tools .button{min-height:44px}.linked-panel blockquote{margin:16px 0;padding:12px 18px;border-left:2px solid #c5ae6f;background:#183c3155}.linked-folio{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:linear-gradient(100deg,#463b27,#211f19 49%,#50412b 50%,#332b21);border:1px solid #938058;border-radius:8px;box-shadow:0 10px 30px #0004,inset 0 0 0 4px #211c17}.linked-paper{min-width:0;padding:15px 16px;background:linear-gradient(110deg,#efe5c9,#faf0d8 55%,#e2d4ad);color:#2f3027;border-radius:2px;box-shadow:0 2px 5px #0005;position:relative}.linked-paper[data-linked-paper=receipt]{grid-column:1/-1;background:linear-gradient(100deg,#dfd5b6,#f0e6c9);border-top:1px dashed #9e8d66}.linked-paper-top{display:flex;gap:10px;align-items:center;border-bottom:1px solid #a6905d55;padding-bottom:8px}.linked-paper-top h4{font:500 1rem/1.4 var(--serif);margin:0}.linked-paper-letter{font:500 1.15rem/1 var(--serif);color:#7a663b}.linked-inscription{font:500 1.05rem/1.65 var(--serif);margin:10px 0}.linked-test-line,.linked-margin{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#686044;min-height:44px}.linked-test-line>strong{font:500 1.75rem/1 var(--serif);color:#253e37;min-width:24px;text-align:center}.linked-mark-controls{display:flex;gap:6px;margin-left:auto}.linked-mark{width:44px;min-height:44px;border:1px solid #8d805c;background:#fff8e880;color:#284439;font-size:1.5rem;cursor:pointer;border-radius:3px}.linked-mark:disabled{opacity:.45;cursor:default}.linked-mark:focus-visible{outline:3px solid #2b6459;outline-offset:2px}.linked-ink-new{animation:linked-ink 750ms ease-out}.linked-response{margin:18px 0 14px;padding-left:14px;border-left:2px solid #cbb475}.linked-response .eyebrow{font-size:.8rem;letter-spacing:.07em}.linked-response p{margin:8px 0;line-height:1.7}.linked-guidance{color:#d1c398;line-height:1.6}.linked-methods>div{margin:12px 0;padding:12px 0;border-top:1px solid #b09b603b}.linked-methods .button,.linked-actions>.button{width:100%}.linked-methods p{font-size:.9rem;line-height:1.6;margin:8px 0}.linked-quantity{display:flex;gap:10px;flex-wrap:wrap}.linked-quantity .button{flex:1;min-width:120px}.linked-actions>.button{margin-top:10px}.linked-availability,.linked-mismatch{color:#e7c782;font-size:.9rem;line-height:1.6}.linked-history{margin-top:20px;border-top:1px solid #b09b603b;padding-top:12px}.linked-history summary{min-height:44px;cursor:pointer}.linked-history article{padding:12px 0;border-top:1px solid #b09b6028}.linked-history h4{margin:4px 0;font:500 1rem/1.5 var(--serif)}.linked-history p,.linked-history time{font-size:.85rem;line-height:1.6}.linked-fiction{opacity:.75}.linked-scene-note{position:absolute;z-index:7;left:64%;top:78%;width:6%;height:4.5%;min-width:0;min-height:0;padding:0;transform:rotate(-5deg);background:#dfcc93;color:#4a4632;border:1px solid #88734a;box-shadow:1px 2px 4px #0008;cursor:pointer;font:600 clamp(6px,1.3cqw,14px)/1 var(--serif)}.linked-scene-note::before{content:"";position:absolute;left:40%;top:0;width:15%;height:22%;border-radius:1px;background:#827044}.linked-scene-note::after{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:44px;height:44px}.linked-scene-note[data-linked-note-room=records]{left:43.5%;top:61%;height:5%;transform:rotate(3deg)}.linked-scene-note[data-linked-note-room=records]::after{left:auto;right:0}.linked-folio-current{grid-template-columns:1fr}.linked-panel [tabindex]{scroll-margin-top:calc(var(--room-scene-height,200px) + 28px)}
@keyframes linked-ink{from{color:#f7eec1;text-shadow:0 0 12px #e0bd52}to{color:#253e37;text-shadow:none}}
@media(max-width:640px){.linked-heading h3{font-size:1.35rem}.linked-folio{grid-template-columns:1fr;padding:10px;gap:9px}.linked-paper{padding:10px 12px}.linked-paper-top{padding-bottom:5px}.linked-paper-top h4{font-size:.95rem}.linked-inscription{margin:6px 0;font-size:1rem;line-height:1.5}.linked-test-line,.linked-margin{gap:6px}.linked-response{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.linked-ink-new{animation:none}}.reduce-motion .linked-ink-new{animation:none}

.linked-edit{margin:12px 0}.linked-edit summary{min-height:44px;cursor:pointer;color:#ddc990}.linked-edit[open] summary{margin-bottom:10px}.linked-paper .button{width:100%;min-height:44px;background:#e0d6b9;border-color:#8d805c;color:#284439;line-height:1.5}.linked-paper .button:disabled{opacity:.5}.linked-paper-confirmation{font-size:.8rem;line-height:1.5;color:#685f44}.linked-paper[data-linked-paper=prior]{background:linear-gradient(110deg,#e6d9b4,#f4e8c8);border-top:1px dashed #9e8d66}.linked-paper[data-linked-paper=prior] .linked-paper-letter{display:none}.linked-question{line-height:1.7}



.linked-paper[data-linked-paper=notice] .linked-paper-letter{display:none}

.linked-scene-note[data-linked-note-room=office]::after{transform:translateY(-50%) rotate(5deg)}

.linked-review{margin:18px 0;border-top:1px solid #b09b603b;padding-top:8px}.linked-review>summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#ddc990}.linked-review>summary::before{content:"▸"}.linked-review[open]>summary::before{content:"▾"}.linked-review[open]>summary{margin-bottom:12px}.linked-decision .linked-methods>p{margin-top:0}.linked-decision .linked-methods>div:first-of-type{border-top:0;padding-top:0}.linked-decision>.button{width:100%}

.custody-list{border-top:1px solid #aa9460;padding:1rem 0;margin:1rem 0}.custody-list summary{font-size:1rem;cursor:pointer}.custody-list-items{display:grid;gap:.6rem}.custody-panel{max-width:860px;margin:0 auto;padding:1rem 0}.custody-panel h3{font-size:1.35rem;line-height:1.5;margin:.4rem 0 1rem}.custody-panel p{font-size:1rem;line-height:1.7}.custody-visual{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;align-items:start;background:#17372f;border:1px solid #aa9460;padding:1rem;margin:1rem 0}.custody-visual figure{margin:0;min-width:0}.custody-visual figcaption{font-size:.875rem;line-height:1.6;margin-top:.6rem}.custody-visual aside{min-width:0}.custody-crop,.custody-public-crop{position:relative;overflow:hidden;background:#102523;aspect-ratio:1.2;max-width:260px}.custody-crop img,.custody-public-crop img{position:absolute;width:145%;max-width:none;height:auto;left:-4%;top:-5%}.custody-crop-bit img{width:300%;left:-200%;top:-240%}.custody-crop-ribbon img{width:220%;left:-9%;top:-13%}.custody-public-crop{margin-top:.65rem;aspect-ratio:1.2}.custody-public-crop.custody-crop-bow img{width:145%;left:-4%;top:-5%}.custody-public-crop.custody-crop-ribbon img{width:220%;left:0;top:-8%}.custody-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.custody-actions .button,.custody-panel .button{font-size:1rem;min-height:48px;white-space:normal;line-height:1.5}.custody-evidence{display:grid;gap:.6rem}.custody-evidence article{padding:.8rem;border-left:2px solid #c1ad77;background:#163029}.custody-evidence p{margin:.4rem 0}.custody-proof{font-size:.9rem!important;color:#dbcba5}.custody-disclose,.custody-bit,.custody-source{border-top:1px solid #73846e;padding-top:.8rem;margin-top:1rem}.custody-panel summary{font-size:1rem;cursor:pointer}.custody-disclose .button{display:block;width:100%;margin-top:.5rem}.custody-secure{border-top:1px solid #73846e;margin:1rem 0;padding-top:1rem}.custody-secure .button{width:100%}.custody-secure p{font-size:.9rem}.custody-disposition{padding:1rem;border-left:3px solid #c1ad77;background:#17372f}
@media(max-width:540px){.custody-panel{padding:.5rem 0}.custody-visual{gap:.7rem;padding:.8rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.custody-visual p{font-size:.9rem}.custody-actions{grid-template-columns:1fr}}

.memo-followup-panel{display:grid;gap:16px;color:var(--text,#e8e2d1)}
.memo-followup-panel>h2{font-family:var(--serif,Georgia,serif);font-size:1.3rem;line-height:1.6;margin:0}
.memo-followup-panel p{margin:0;line-height:1.85}
.memo-followup-panel .button{width:100%;min-height:44px;white-space:normal;text-align:left;justify-content:flex-start}
.memo-followup-evidence-list,.memo-followup-hypotheses{display:grid;gap:10px}
.memo-followup-evidence-list [data-observed]{border-left:3px solid #c9b77c}
.memo-followup-hypotheses{border:0;padding:0;margin:4px 0}
.memo-followup-hypotheses legend{font-size:1rem;line-height:1.8;margin-bottom:12px}
.memo-followup-hypotheses>p{font-size:.85rem;color:#c4bfac}
.memo-followup-secondary{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:16px}
.memo-followup-secondary .button{background:transparent;border-color:transparent;font-size:.9rem;padding:8px 0}
.memo-followup-secondary .button:hover{text-decoration:underline;text-underline-offset:4px}
.memo-followup-document .memo-letter{white-space:pre-line;font-size:1rem}
.memo-followup-memory,.memo-followup-record>details{font-size:.92rem;border-top:1px solid var(--line);padding-top:12px}
.memo-followup-memory summary,.memo-followup-record summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;line-height:1.7}
.memo-followup-memory time,.memo-followup-record time{display:block;font-size:.8rem;color:#c4bfac;margin:8px 0}
.memo-followup-memory blockquote,.memo-followup-record blockquote{margin:12px 0;padding-left:14px;border-left:2px solid #ad9a62;line-height:1.85}
.memo-followup-status,.memo-followup-feedback{padding:12px;border-left:2px solid #c7a96b;background:#a5905412;font-size:.9rem}
.memo-followup-panel [aria-disabled=true]{opacity:.6;cursor:not-allowed}
.memo-followup-held{border-left:2px solid #c7a96b;padding-left:12px}
.memo-followup-document{background:#e3d9bf;color:#34392c;padding:clamp(20px,4vw,36px);border:1px solid #b4a67e;border-radius:2px}
.memo-followup-document h2{font-size:1.4rem;margin:0 0 20px;line-height:1.5}
.memo-followup-document dl{display:grid;gap:18px;margin:18px 0 0}
.memo-followup-document dl>div{display:grid;gap:5px;padding-bottom:12px;border-bottom:1px solid #72684740}
.memo-followup-document dt{font-size:.85rem;color:#665f49}
.memo-followup-document dd{margin:0;line-height:1.85;font-size:1rem}
.memo-followup-document p,.memo-followup-document blockquote{line-height:1.85}
.memo-followup-document .memo-document-mark{font-size:.85rem;color:#575a44}
.memo-followup-document .memo-document-observation{font-size:.9rem;border-top:1px solid #72684740;padding-top:16px}
.memo-document-art{display:block;max-height:240px;width:100%;object-fit:contain;margin:0 auto 12px}
.memo-followup-record{display:grid;gap:16px}
.memo-followup-record .memo-followup-document{margin-top:10px}
.memo-case-object{position:absolute;inset:0;pointer-events:none;z-index:12}
.memo-case-art{position:absolute;width:var(--case-width);aspect-ratio:1;transform:translate(-50%,-50%) scaleY(.5);transform-origin:center;pointer-events:none}
.memo-case-art img{display:block;width:100%;height:100%;object-fit:contain}
.memo-case-hit{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;width:8cqw;height:8cqw;border:1px solid transparent;border-radius:4px;background:transparent;pointer-events:auto;cursor:pointer}
.memo-case-hit:hover,.memo-case-hit:focus-visible{border-color:#dec785;background:#dec78518;outline-offset:3px}
.world:has(.memo-case-object),.world.has-memo-context{container-type:inline-size}
.memo-context-props{position:absolute;inset:0;pointer-events:none}
.memo-context-props .spaces-context{position:absolute;inset:0;pointer-events:none}
.memo-followup-entry{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.memo-inventory-art{width:76px;height:76px;object-fit:contain}
@media(max-width:540px){.memo-followup-document{padding:20px}.memo-document-art{max-height:180px}.memo-followup-panel>h2{font-size:1.2rem}}

/* Requires the existing exploration scene CSS. The closeup canvas is the same
   normalized room, so cqw props keep the same physical positions at any zoom. */
.stray-scene-props,.stray-scene-art{position:absolute;inset:0;pointer-events:none}
.stray-scene-props{z-index:3}
.stray-scene-art>img{position:absolute;display:block;max-width:none;object-fit:fill;pointer-events:none;user-select:none;filter:brightness(.84) saturate(.8)}
.stray-scene-art>.stray-scene-stand,.stray-scene-art>.stray-scene-clip{object-fit:contain}
.stray-scene-art>.stray-scene-paper{filter:brightness(.92) saturate(.82)}
.stray-scene-paper[data-stray-paper-mode=floating]{transform:translateY(-70%);filter:brightness(.98) saturate(.82) drop-shadow(0 3px 2px #07160c66)}
.stray-station-leader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:#d2bb80}
.stray-station-leader line{stroke:currentColor;stroke-width:1.5;fill:none}
.stray-station-hit{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #d2bb80;border-radius:50%;background:#102523e6;color:#f1deb0;pointer-events:auto;cursor:pointer}
.stray-station-hit>span{display:grid;place-items:center;pointer-events:none}
.stray-station-hit svg{width:20px;height:20px}
/* Large transparent body includes the stand; its visible badge sits below the
   tray, so a 44px affordance never hides the small paper/support at the top. */
.stray-station-hit-atrium{width:max(44px,8.2cqw);height:max(44px,19.6cqw);border-color:transparent;background:transparent;border-radius:5px}
.stray-station-hit-atrium>span{align-self:end;transform:translateY(2px);width:44px;height:44px;border:1px solid #d2bb80;border-radius:50%;background:#102523e6}
.stray-station-hit:hover,.stray-station-hit:focus-visible{outline:3px solid #fff0a9;outline-offset:3px}
.stray-station-hit-records:focus-visible{outline-offset:-5px}
.stray-closeup{position:relative;isolation:isolate;overflow:hidden;width:100%;min-width:0;margin:0;border:1px solid #bda56677;border-radius:6px;background:#102523}
.stray-room-canvas{position:absolute;container-type:inline-size;pointer-events:none;isolation:isolate;max-width:none}
.stray-room-canvas>.explore-room{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.stray-room-canvas .stray-station-hit,.stray-room-canvas .stray-station-leader{display:none}
.stray-room-canvas .spaces-context{position:absolute;inset:0;pointer-events:none}

.memo-trial-dialog{width:min(980px,calc(100vw - 24px));max-width:980px}
.memo-trial-status{font-size:1rem;line-height:1.7;min-height:3.4em;margin:0 0 1rem}
.memo-trial-workspace{position:relative}
.memo-trial-stage{position:relative;isolation:isolate}
.memo-trial-stage .stray-closeup{border-color:#bba66b99;border-radius:3px}
.memo-trial-grip{position:absolute;z-index:5;transform:translate(-50%,-50%);width:48px;height:48px;display:grid;place-items:center;border:1px dashed #ecdaaa99;border-radius:50%;background:transparent;color:#fff1c8;font-size:16px;touch-action:none;cursor:grab}
.memo-trial-grip>span{position:absolute;right:-7px;top:-8px;text-shadow:0 1px 3px #000}
.memo-trial-grip:hover,.memo-trial-grip:active{background:transparent}
.memo-trial-grip.dragging{cursor:grabbing;border-style:solid;outline:1px solid #fff1c8;outline-offset:3px}
.memo-trial-grip.contact{border-color:#eac08d;outline-color:#eac08d}
.memo-trial-grip:focus-visible{outline:3px solid #fff1c8;outline-offset:3px}
.memo-trial-hand{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;background:#081b18;border-bottom:1px solid #bba66b66}
.memo-trial-hand img{width:70px;height:60px;object-fit:contain}
.memo-trial-controls{display:flex;justify-content:space-between;gap:1rem;padding:1rem;background:#0b201c;border:1px solid #bba66b66;border-top:0}
.memo-trial-directions{display:grid;grid-template-columns:repeat(3,minmax(70px,1fr));gap:.4rem}
.memo-trial-directions>[data-trial-control=in]{grid-column:2}
.memo-trial-directions>[data-trial-control=left]{grid-column:1;grid-row:2}
.memo-trial-directions>[data-trial-control=right]{grid-column:3;grid-row:2}
.memo-trial-directions>[data-trial-control=out]{grid-column:2;grid-row:3}
.memo-trial-height{display:flex;flex-direction:column;justify-content:center;gap:.5rem;min-width:135px}
.memo-trial-height>span{font-size:.9rem;text-align:center;color:#efdab1}
.memo-trial-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.8rem}
.memo-trial-actions>.button{flex:1 1 180px;min-width:0;white-space:normal;word-break:keep-all;line-height:1.5}
.memo-trial .button{font-size:1rem;min-height:46px}
.memo-trial-help,.memo-trial-history,.memo-trial-wait{font-size:.9rem;line-height:1.6;color:#ccd0c4}
.memo-trial-company{border-left:2px solid #bba66b;padding:.25rem 0 .25rem 1rem;margin-top:1.5rem}
.memo-trial-company>p{margin:.25rem 0 .6rem}
.memo-trial-company small{display:block;margin-top:.65rem;font-size:.9rem}
.memo-trial-history{border-top:1px solid #bba66b44;padding:.8rem 0;margin-top:.8rem}
.memo-trial-history summary{cursor:pointer;min-height:32px;color:#f1dfb7}
.memo-trial-history ol{padding-left:1.4rem}
.memo-trial-history li{margin:1rem 0}
.memo-trial-history li p{margin:.3rem 0}
.memo-trial-route{margin-top:1rem}
.memo-trial-choice{margin:1.2rem 0}
.memo-trial-entry{width:100%;margin:.65rem 0}
@media(min-width:900px){
 .memo-trial-at-inbox{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:0 1.25rem;align-items:start}
 .memo-trial-at-inbox>.memo-trial-stage{grid-column:1;grid-row:1/6}
 .memo-trial-at-inbox>:not(.memo-trial-stage){grid-column:2}
 .memo-trial-at-inbox .memo-trial-controls{flex-direction:column;gap:1.2rem;padding:.7rem;border-top:1px solid #bba66b66}
 .memo-trial-at-inbox .memo-trial-directions{grid-template-columns:repeat(3,minmax(0,1fr))}
 .memo-trial-at-inbox .memo-trial-directions .button{padding:.5rem .2rem;font-size:.875rem}
 .memo-trial-at-inbox .memo-trial-height{display:grid;grid-template-columns:1fr 1fr}
 .memo-trial-at-inbox .memo-trial-height>span{grid-column:1/-1}
 .memo-trial-at-inbox .memo-trial-actions{flex-direction:column}
 .memo-trial-at-inbox .memo-trial-help{margin:.8rem 0 0}
}
@media(max-width:600px){
 .memo-trial-dialog{padding:1rem}
 .memo-trial-controls{gap:.6rem;padding:.6rem}
 .memo-trial-directions{grid-template-columns:repeat(3,minmax(48px,1fr));gap:.25rem}
 .memo-trial-directions .button{padding:.45rem .25rem;font-size:.875rem}
 .memo-trial-height{min-width:82px;width:90px}
 .memo-trial-height .button{padding:.5rem .3rem;font-size:.875rem}
 .memo-trial-status{min-height:0}
}
/* Apply the native projection before showing the sheet. A transition from the
   unprojected image on each saved render briefly makes it as big as the tray. */
.memo-trial-paper{transition:none}

.stray-memo-dialog{width:min(720px,calc(100vw - 32px))}
.stray-status{font-size:1.08rem;line-height:1.75;max-width:55ch;margin:0 0 1rem}
.stray-note{margin:1rem 0;border-block:1px solid #b9a16c55;padding:.85rem 0}
.stray-note summary{font-size:.92rem;cursor:pointer;line-height:1.6;min-height:44px;display:flex;align-items:center}
.stray-note blockquote{margin:.6rem 0 .3rem;padding:1rem 1.2rem;background:#f1e7ce;border-left:3px solid #98846a;font-size:.95rem;line-height:1.85;color:#38352e}
.stray-note footer{margin-top:.7rem;font-size:.8rem;color:#6e614d;font-style:normal}
.stray-workspace{position:relative;min-width:0;margin-block:1.2rem}
.stray-workspace>.stray-closeup[data-stray-closeup-room=atrium]{width:min(100%,300px);margin-inline:auto}
.stray-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem;align-items:start}
.stray-actions>.button{flex:1 1 210px;min-height:48px;white-space:normal;line-height:1.55}
.stray-choices{border:0;padding:0;margin:0 0 .6rem;min-width:0;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.stray-choices legend{font-weight:600;font-size:1rem;padding:0 0 .8rem}
.stray-choices .stray-choice{display:flex;flex-direction:column;align-items:start;gap:.35rem;text-align:left;padding:.75rem .9rem;width:100%;min-height:48px;white-space:normal;line-height:1.5;background:#182f28;color:#e7dfca;border:1px solid #aa966566}
.stray-choice strong{font-size:.95rem;font-weight:500}.stray-choice span{font-size:.82rem;line-height:1.6;color:#c8cbbc;word-break:keep-all}
.stray-choices .stray-choice[aria-pressed=true]{opacity:1;background:#2e4436;color:#f4dfaa;border-color:#d5b66f;box-shadow:inset 3px 0 #d5b66f}
.stray-workspace:has(.stray-choices)>.stray-in-hand{min-height:80px;flex-direction:row;gap:1rem}.stray-workspace:has(.stray-choices)>.stray-in-hand img{width:85px;height:75px}.stray-workspace:has(.stray-choices)>.stray-in-hand span{margin:0}
.stray-route{width:100%;font-size:.94rem;margin:.4rem 0;color:#ddc996}
.stray-dates{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;margin:1.4rem 0;border-top:1px solid #b9a16c55;padding-top:1rem;font-size:.85rem;color:#c3c7b9}
.stray-dates div{flex:1 1 210px}.stray-dates dt{font-weight:600;margin-bottom:.3rem}.stray-dates dd{margin:0;line-height:1.6}
.stray-in-hand{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:210px;background:radial-gradient(ellipse at 50% 50%,#37534f,#142b29);border-radius:6px;border:1px solid #bda56677;overflow:hidden}
.stray-in-hand img{width:180px;height:160px;object-fit:contain;filter:drop-shadow(0 8px 8px #0005);transform:rotate(-12deg)}
.stray-in-hand span{font-size:.8rem;color:#e4d5ad;margin-bottom:1rem}
.stray-blocked{font-size:.94rem;line-height:1.6;color:#ebc39d}
.stray-aftermath{line-height:1.8;font-size:.95rem;border-left:2px solid #698273;padding-left:1rem}
.stray-entry{margin-block:.3rem .8rem;min-height:48px;width:100%;white-space:normal;line-height:1.5}
@media(max-width:540px){.stray-choices{grid-template-columns:1fr;gap:.7rem}.stray-workspace:has(.stray-choices)>.stray-closeup[data-stray-closeup-room=atrium]{width:min(100%,180px)}.stray-workspace>.stray-closeup[data-stray-closeup-room=atrium]{width:min(100%,260px)}.stray-status{font-size:1rem}.stray-note blockquote{padding:.8rem 1rem}}
@media(prefers-reduced-motion:no-preference){body:not(.reduce-motion) .stray-scene-paper[data-stray-paper-mode=unstarted]{animation:stray-flutter 3.8s ease-in-out infinite}body:not(.reduce-motion) .stray-scene-paper[data-stray-paper-mode=floating]{animation:stray-hover 4s ease-in-out infinite}}
@keyframes stray-flutter{0%,75%,100%{transform:rotate(0)}81%{transform:rotate(-2deg)}87%{transform:rotate(1deg)}93%{transform:rotate(-1deg)}}
@keyframes stray-hover{0%,100%{transform:translateY(-70%)}50%{transform:translateY(-81%)}}

/* Held-object context sits outside the scene and uses the existing room exits. */
.stray-travel-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin:0 0 1rem;padding:.7rem 1rem;border:1px solid #a890575c;border-left:3px solid #c5aa6d;background:#142c26;color:#e7dfca}
.stray-travel-summary{display:flex;align-items:center;gap:.65rem;min-width:0}
.stray-travel-summary img{width:48px;height:48px;object-fit:contain;flex:none}
.stray-travel-summary strong{display:block;font-size:.9rem;line-height:1.6;font-weight:500}
.stray-travel-summary p{font-size:.8rem;line-height:1.6;margin:.1rem 0 0;color:#c5cbb8}
.stray-travel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;max-width:100%}
.stray-travel-strip [hidden]{display:none!important}
.stray-travel-strip .button{min-height:44px;white-space:normal;font-size:.85rem;line-height:1.5}
.stray-travel-options summary{min-height:44px;display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer;padding:.4rem .5rem}
.stray-travel-options summary::before{content:'▸';color:#d4bd83}.stray-travel-options[open] summary::before{content:'▾'}
.stray-travel-options[open]{flex-basis:100%}.stray-travel-options .button{margin:.35rem .4rem .15rem 0}
.stray-travel-blocked{flex-basis:100%;font-size:.85rem;line-height:1.6;color:#ebc39d;margin:0}
.stray-station-direct{color:#192f29;background:#ddc48b;border-color:#efdcad;box-shadow:0 0 0 3px #bba66c33}
.explore-exits [data-stray-next]{border-color:#d8b86e;background:#b9984824}
.explore-exits [data-stray-next]::after{content:'→';margin-left:.45rem}
@media(max-width:540px){.stray-travel-strip{gap:.4rem;padding:.65rem .8rem}.stray-travel-actions{width:100%}.stray-travel-actions>.button{flex:1 1 180px}.stray-travel-options{margin-left:auto}.stray-travel-options[open]{margin-left:0}.stray-travel-summary img{width:38px;height:38px}}

.guest-recovery-choices{display:grid;gap:1rem;margin:1.3rem 0}
.guest-recovery-choices article{padding:1.1rem;border:1px solid var(--line);border-radius:6px;background:#19342e}
.guest-recovery-choices h3{font-size:1.15rem;color:var(--cream)}
.guest-record-summary{color:#d1d4c6;font-size:.93rem;line-height:1.7;margin-bottom:1rem}
.guest-record-summary p{margin:0 0 .4rem}.guest-recovery-choices .button{min-height:48px}
.guest-file-label{display:grid;gap:.6rem;padding:.7rem 0;color:var(--cream);font-size:.95rem}
.guest-file-label input{max-width:100%;min-height:44px;color:var(--cream);font:inherit}
.guest-file-label input::file-selector-button{padding:.7rem;margin-right:.7rem;border:1px solid var(--line);border-radius:4px;background:#19342e;color:var(--cream);font:inherit}

#game.home-game{display:block;position:relative;min-height:100svh;height:auto;overflow:visible;padding:0;background:#182b28;color:var(--cream)}
.home-surface{max-width:1440px;margin:0 auto;padding:28px 32px 36px;font:16px/1.65 var(--sans)}
.home-surface h1,.home-surface h2,.home-surface h3{font-family:var(--serif);font-weight:400;line-height:1.35;letter-spacing:0}
.home-surface h1{font-size:clamp(28px,3.2vw,40px);margin:5px 0 0}.home-surface h2{font-size:26px;margin:0 0 22px}.home-surface h3{font-size:21px;margin:0 0 10px}.home-surface p{margin:0 0 16px}
.home-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.home-header .eyebrow{font-size:13px;letter-spacing:1.8px;color:#d9c79f}.home-header .home-tools{display:flex;align-items:center;gap:20px}.home-header .world-clock{position:static}.home-header .icon-button{width:46px;height:46px}
.home-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px;align-items:start}.home-scene-column{min-width:0}.home-scene{position:relative;aspect-ratio:1672/941;margin:0;overflow:hidden;border:1px solid #baa87459;border-radius:8px;background:#18221f}.home-scene>img{display:block;width:100%;height:100%;object-fit:cover}.home-scene.is-counter>img{position:absolute;right:0;bottom:0;width:220%;height:auto;max-width:none}.home-scene .scene-readiness-notice{z-index:2}.home-scene-caption{margin:12px 0 24px!important;color:#c5cabc;font-size:14px}.home-return{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px;border-top:1px solid #bba67745}.home-return p:empty{display:none}
.home-panel{min-width:0;border-top:1px solid #bdac814d}.home-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:10px 0 22px;margin-bottom:22px;border-bottom:1px solid #bdac814d}.home-tabs button{min-height:46px;padding:10px 12px;border:1px solid transparent;background:none;color:#c7ccbe;font:inherit;font-size:15px;line-height:1.45;cursor:pointer}.home-tabs button[aria-pressed=true]{border-color:#c7b7868c;color:#f1e5ca;background:#ffffff09}.home-tabs button:hover{background:#ffffff10}
.home-surface .button,.home-entry .button{min-height:46px;font-size:15px;line-height:1.55;padding:12px 16px;white-space:normal;text-align:left;letter-spacing:0}.home-surface .button.primary{background:#e4d5ac;color:#162b26;border-color:#e4d5ac}.home-surface .button:disabled,.home-entry .button:disabled{opacity:.48;cursor:default}.home-surface button:focus-visible,.home-surface summary:focus-visible,.home-entry button:focus-visible{outline:2px solid #f5df9d;outline-offset:4px}.home-surface [tabindex='-1']:focus{outline:none}
.home-small{font-size:14px;line-height:1.65;color:#c9cebf}.home-kicker{display:block;color:#dbca9e;font-size:13px;margin-bottom:9px}.home-intro{font-size:17px;color:#e4e4d4}.home-recipes{display:grid;gap:0}.home-recipes article{padding:21px 0;border-bottom:1px solid #bbaa7840}.home-recipes article:first-child{padding-top:0}.home-recipes article p{color:#c8cebf;font-size:14px;margin:0 0 15px}.home-recipes .button{width:100%}.home-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.home-actions .button{flex:1 1 190px}.home-preparation progress{display:block;width:100%;height:7px;accent-color:#d9c18c;margin-bottom:24px}.home-timer{font-variant-numeric:tabular-nums;font-size:20px;color:#ebd7a4}.home-disclosure{margin:22px 0 0;border-top:1px solid #bbaa7838;padding-top:15px}.home-disclosure summary,.home-footer summary{cursor:pointer;min-height:44px;line-height:1.6;padding:10px 0;font-size:14px;color:#d8c8a2}.home-food{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #bbaa7838}.home-food header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px}.home-food header>span{font-size:14px;color:#e5d4aa}.home-box{background:#e4d5ac0b;border-left:2px solid #bda46b;padding:20px;margin:24px 0}.home-box p{font-size:15px}.home-washing{border-top:1px solid #bbaa7838;padding-top:20px;margin-top:24px}.home-washing p{font-size:14px;color:#c5cabc}
.home-stock{margin:0 0 30px}.home-stock>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid #bbaa7838;padding:17px 0}.home-stock dt{font-size:16px}.home-stock dd{margin:0;color:#e7d4a8;white-space:nowrap;font-variant-numeric:tabular-nums}.home-grocery .home-actions{flex-direction:column}.home-grocery .home-actions .button{flex:auto}
.home-reading{max-width:64ch}.home-reading article{margin:0 0 28px}.home-reading article p{font:17px/1.9 var(--serif);margin:0 0 22px;word-break:keep-all;overflow-wrap:anywhere}.home-reading article h3{color:#ead6ab}.home-journey{max-width:680px;margin:45px auto 80px;padding:32px;border:1px solid #bfac7745}.home-journey>.home-small{margin-top:24px}.home-footer{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid #bdaa7540;margin-top:42px;padding-top:18px;color:#bec5b7;font-size:13px}.home-footer details{max-width:600px}.home-footer p{font-size:14px}.home-entry{margin:16px 0 24px;padding:20px 0;border-top:1px solid #bbaa7840;border-bottom:1px solid #bbaa7840}.home-entry h3{font:21px/1.4 var(--serif);margin:0 0 10px;color:#f0e4ca}.home-entry>p{font:14px/1.7 var(--sans);margin:0 0 15px;color:#c7cdbd}.home-entry .home-small:empty{display:none}.home-entry .home-small:not(:empty){margin:12px 0 0}.home-entry .button{width:100%}
@media(max-width:900px){.home-surface{padding:22px}.home-layout{gap:22px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.home-tools{gap:10px!important}.home-tabs{gap:0}.home-tabs button{font-size:14px;padding:10px 9px}}
@media(max-width:700px){#game.home-game{padding:0;overflow:visible}.home-surface{padding:20px 18px 30px}.home-header{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px}.home-header h1{font-size:29px}.home-header .home-tools{width:100%;justify-content:space-between}.home-header .world-clock{display:flex}.home-layout{display:flex;flex-direction:column;gap:24px}.home-scene-column,.home-panel{width:100%}.home-return{padding-top:14px;gap:8px}.home-scene-caption{margin:10px 0 14px!important}.home-tabs{padding-bottom:14px;margin-bottom:20px}.home-tabs button{font-size:15px;flex:1 1 auto}.home-surface .button,.home-entry .button{font-size:16px}.home-surface h2{font-size:24px}.home-surface h3{font-size:21px}.home-footer{flex-direction:column;gap:4px;margin-top:30px}.home-journey{margin:20px 0 30px;padding:22px}.home-journey .button{width:100%}.home-actions .button{flex-basis:100%}.home-stock>div{flex-wrap:wrap;gap:6px}}

.home-surface [hidden],.home-entry [hidden]{display:none!important}
.home-note-directions{display:flex;gap:8px;margin:0 0 22px}.home-note-directions button{min-height:46px;padding:10px 20px;border:1px solid #b5a17168;background:transparent;color:#e8dfc5;font:inherit;cursor:pointer}.home-note-directions button[aria-pressed=true]{background:#e4d5ac;color:#182b28}
[data-home-note-form]{display:grid;gap:20px}[data-home-note-form] label{display:grid;gap:9px;font-size:16px;color:#e8e2cd}[data-home-note-form] select,[data-home-note-form] textarea{box-sizing:border-box;width:100%;min-height:48px;border:1px solid #b9ae8766;border-radius:3px;background:#11211e;color:#f1e8d0;font:16px/1.7 var(--sans);padding:11px 12px}[data-home-note-form] textarea{resize:vertical;min-height:150px}[data-home-note-form] textarea::placeholder{color:#aebbae}[data-home-note-form] select:focus-visible,[data-home-note-form] textarea:focus-visible{outline:2px solid #e8cc80;outline-offset:3px}[data-home-note-form] .home-small{margin:0}
.home-note-source{border-left:2px solid #b7a472;padding:4px 0 4px 17px}.home-note-source p:last-child{margin-bottom:0}.home-note-page{position:relative;margin:12px 0 22px;padding:26px 24px 22px;background:#e9dfc5;color:#23372f;border:1px solid #c8b78a;box-shadow:2px 3px 0 #10231b77;font:17px/1.85 var(--serif);overflow-wrap:anywhere}.home-note-page h3{color:#223d30;font:24px/1.45 var(--serif)}.home-note-page p{margin:0 0 18px}.home-note-page .home-kicker,.home-note-page .home-small{color:#4b5b4e;font-family:var(--sans);font-size:14px;line-height:1.65}.home-personal-text{white-space:pre-wrap;border-top:1px solid #6c775b4d;padding-top:18px}.home-note-page p:last-child{margin:0}.home-mara-page{background:#ded6bf}.home-shared-book{margin-top:30px;border-top:1px solid #a99b7559;padding-top:24px}.home-paired-pages{display:grid;gap:18px}.home-paired-pages .home-kicker{margin:0 0 10px}.home-mara-voice{margin:18px 0 24px;padding:0 0 0 19px;border-left:2px solid #c5b27d;color:#e8e5d4;font:17px/1.85 var(--serif)}.home-mara-voice p{margin:0 0 20px}.home-agreements{display:grid;gap:18px}.home-agreements>section{padding-top:16px;border-top:1px solid #a69c7845}.home-agreements p{font-size:15px;color:#d3d5c5}.home-meal-notebook>.button{margin-bottom:12px}.home-meal-notebook .home-small:empty{display:none}.home-cooking-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-bottom:1px solid #b5a57b55;padding:12px 0}.home-cooking-strip p{margin:0 8px 0 0;color:#ebd7a4;font:16px/1.5 var(--sans);font-variant-numeric:tabular-nums}.home-cooking-strip .button{font-size:14px;min-height:42px;padding:8px 10px}
@media(min-width:1100px){.home-paired-pages{grid-template-columns:1fr}.home-layout:has([data-home-note-form]){grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}}
@media(max-width:700px){.home-layout{gap:18px}.home-scene-column{display:contents}.home-scene{width:100%;aspect-ratio:3.2/1;order:0}.home-scene-caption{order:0;margin:0!important}.home-panel{order:1}.home-return{order:2;width:100%;margin-top:10px}.home-scene-column>.button{order:2}.home-note-page{padding:22px 18px;font-size:17px}.home-note-directions button{flex:1}.home-tabs{margin-bottom:18px}.home-tabs button{min-height:44px}.home-shared-book{margin-top:24px}.home-mara-voice{font-size:17px;padding-left:15px}}
