:root{--ink:#110a10;--panel:#1a1018;--plum:#3b2135;--pink:#f3a6c1;--hot:#ff4f87;--violet:#a98bd6;--gold:#d2b27a;--white:#f5ecef;--silver:#b7a9b4;--dim:#998593;--serif:Didot,"Bodoni 72",Baskerville,Georgia,serif;--cjk:"Songti SC","Hiragino Mincho ProN",serif;--sans:"PingFang SC","Helvetica Neue",Arial,sans-serif;--mono:Menlo,Consolas,monospace;font-family:var(--sans);font-size:16px;color:var(--white);background:var(--ink);font-synthesis:none;line-height:1.65;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;line-height:1.4}button:disabled{opacity:.42;cursor:default}a{color:var(--pink)}button,a,input,textarea,select{outline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--pink)}button{border:1px solid var(--plum);background:transparent;color:var(--white);border-radius:3px;padding:12px 18px;min-height:46px}button:hover:not(:disabled){background:#34202e;border-color:#9c6684}button.primary{background:var(--pink);color:var(--ink);border-color:var(--pink);font-weight:600}button.primary:hover:not(:disabled){background:#f8c3d6}button.quiet{border-color:transparent;color:var(--silver)}button.small{padding:8px 13px;font-size:14px;min-height:42px}button.round{border-radius:50%;width:46px;padding:0}.app{max-width:1512px;margin:auto;min-height:100svh}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--plum);gap:24px}.brand{font-family:var(--serif);font-size:25px;letter-spacing:.18em;background:none;border:0;padding:0;min-height:0;white-space:nowrap}.brand span{color:var(--pink)}.brand small{display:block;font-family:var(--cjk);font-size:12px;letter-spacing:.42em;color:var(--silver);margin-top:1px;text-align:left}.nav{display:flex;align-items:center;gap:12px}.nav button{font-size:14px;padding:10px 15px;border:0;color:var(--silver)}.nav .selected{color:var(--pink)}.profile{font-size:13px;letter-spacing:.025em;color:var(--silver);border-left:1px solid var(--plum);padding-left:24px}.dot{display:inline-block;width:6px;height:6px;background:var(--pink);border-radius:50%;margin-right:9px}.workspace{padding:28px 5.5% 48px}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.15em;color:var(--silver);text-transform:uppercase;margin:0 0 12px}.eyebrow.pink{color:var(--pink)}.desk{min-height:408px;border:1px solid var(--plum);position:relative;overflow:hidden;background:#1a1018 url(../art/bureau.webp) center/cover no-repeat}.desk:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#110a10fa,#110a10de 30%,#110a101f 71%)}.desk-content{position:relative;z-index:1;padding:38px 44px;max-width:560px}.desk h1{font:normal 51px/1.12 var(--serif);margin:16px 0 14px;letter-spacing:.01em}.desk h1 i{font-weight:400;color:var(--pink)}.desk p.intro{color:var(--silver);max-width:330px;font-size:15px;margin:0 0 28px}.desk .case-label{font-family:var(--mono);font-size:12px;color:var(--pink);letter-spacing:.12em}.desk .hint{display:block;font-size:12px;color:var(--silver);margin-top:15px}.desk-corner{position:absolute;right:24px;bottom:20px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--silver)}.strip{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--plum);padding:18px 0;color:var(--silver);font-size:14px}.strip strong{font-weight:500;color:var(--white);margin-left:10px}.strip .mono{font-family:var(--mono);font-size:12px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:30px 0 17px}.section-heading h2{font:400 27px var(--serif);margin:0}.section-heading p{color:var(--dim);font-size:13px;margin:0}.volumes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.volume{padding:23px 26px;text-align:left;min-height:174px;background:linear-gradient(135deg,#251722,#1a1018 60%);border:1px solid var(--plum);position:relative}.volume:hover{border-color:var(--pink)}.volume .vol-id{font:12px var(--mono);letter-spacing:.1em;color:var(--accent,var(--pink))}.volume h3{font:normal 28px var(--serif);margin:18px 0 5px}.volume p{font-size:13px;margin:0;color:var(--silver)}.volume .arrow{position:absolute;right:25px;bottom:27px;color:var(--accent)}.moon{width:66px;height:66px;display:block}.volume .moon{position:absolute;right:24px;top:21px;width:38px;height:38px}.home-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-size:12px;color:var(--dim)}.kuro-greeting{display:flex;align-items:center;gap:12px}.kuro-greeting img{width:52px;height:52px;object-fit:contain}.case-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.case-entry{text-align:left;display:flex;gap:20px;align-items:center;padding:22px;background:var(--panel)}.case-entry strong{font:25px var(--serif);display:block}.case-entry p{font-size:14px;color:var(--silver);margin:5px 0 0}.case-entry .id{color:var(--accent);font:13px var(--mono);min-width:74px}.case-entry .stamp-mini{margin-left:auto;color:var(--pink);font:12px var(--mono)}.breadcrumb{display:flex;gap:14px;align-items:center;color:var(--silver);font-size:13px;margin-bottom:20px}.breadcrumb button{padding:4px 0;min-height:32px;border:0}.investigation-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px}.investigation-heading h1{font:normal 34px var(--serif);margin:0}.investigation-heading .subtitle{font-family:var(--cjk);font-size:16px;color:var(--silver);letter-spacing:.15em;margin-top:4px}.stepper{display:flex;gap:0;border:1px solid var(--plum);margin-bottom:20px}.step{flex:1;padding:12px 16px;color:var(--dim);font-size:13px;border-right:1px solid var(--plum);text-align:center}.step:last-child{border:0}.step.active{background:#2b1927;color:var(--pink)}.step span{font:11px var(--mono);margin-right:10px}.play-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.scene-panel{position:relative;border:1px solid var(--plum);background:radial-gradient(ellipse at 50% 50%,#301e31,#1a1018 70%);min-width:0}.scene-host{height:363px;overflow:hidden;touch-action:none}.scene-host canvas{display:block;width:100%;height:100%;touch-action:none}.scene-top{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;font:11px var(--mono);color:var(--silver);letter-spacing:.1em}.scene-feedback{color:var(--pink);font-size:12px}.scene-controls{border-top:1px solid var(--plum);display:flex;align-items:center;gap:13px;padding:12px 16px;flex-wrap:wrap}.scene-controls label{display:flex;align-items:center;gap:10px;color:var(--silver);font-size:13px}.scene-controls input{width:100px;accent-color:var(--pink)}.scene-controls select{background:var(--panel);border:1px solid var(--plum);padding:7px;color:var(--white);font-size:13px}.dialogue{border:1px solid var(--plum);background:var(--panel);padding:25px 23px;position:relative;display:flex;flex-direction:column;min-height:455px}.speaker{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--plum);padding-bottom:18px}.avatar-letter{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--plum);border-radius:50%;font:22px var(--serif);color:var(--pink)}.speaker strong{font-weight:500;font-size:15px}.speaker small{display:block;font:10px var(--mono);color:var(--silver);letter-spacing:.12em;margin-top:3px}.caption{font-size:23px;line-height:1.65;font-weight:500;max-width:45ch;margin:22px 0 16px;min-height:130px}.caption mark{color:var(--pink);background:none;text-shadow:0 0 16px #f3a6c138;cursor:pointer}.caption .listening{font:italic 25px var(--serif);color:var(--silver)}.word-definition{font-size:14px;color:var(--silver);margin:0 0 10px}.audio-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.audio-row button{font-size:12px;padding:10px 12px;min-height:40px}.catch{border:1px dashed #664453!important;color:var(--pink)!important;margin-top:12px}.dialogue-bottom{margin-top:auto;padding-top:20px}.line-counter{font:11px var(--mono);color:var(--dim);margin:8px 0 12px}.cat-button{display:flex;align-items:center;gap:10px;border:0;padding:0;min-height:0;color:var(--silver);font-size:13px;text-align:left}.cat-button img{width:64px;height:66px;object-fit:contain}.cat-button small{display:block;color:var(--dim);font-size:11px}.cat-bubble{position:relative;font-size:16px;color:var(--white);padding:14px 16px;background:#342030;border-left:2px solid var(--pink);margin:12px 0 0}.next-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}.next-row .caption-small{font-size:13px;color:var(--dim)}.task{border:1px solid var(--plum);background:var(--panel);padding:26px;min-height:310px}.task .task-stem{font-size:23px;font-weight:500;line-height:1.6;margin:14px 0 24px;max-width:45ch}.task-context{font-size:15px;color:var(--silver);max-height:160px;overflow:auto;padding:12px;border:1px solid var(--plum);margin-bottom:18px}.options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}.options button{text-align:left;font-size:16px;background:#241621}.options button.chosen{border-color:var(--pink);background:#3b2635;color:var(--pink)}.feedback{padding:10px 0;color:var(--pink);min-height:40px;font-size:16px}.answer-input{background:var(--ink);border:1px solid #70435f;color:var(--white);border-radius:3px;padding:12px;width:100%;max-width:350px;font-size:22px}.number-line{display:flex;align-items:center;gap:10px}.field{display:block;font-size:14px;margin:12px 0;color:var(--silver)}textarea{display:block;width:100%;min-height:110px;background:#110a10;color:var(--white);border:1px solid var(--plum);padding:14px;resize:vertical;font-size:18px}.sequence-answer{display:flex;flex-wrap:wrap;gap:8px;min-height:64px;padding:12px;border:1px dashed var(--plum);margin-bottom:12px}.sequence-bank{display:flex;flex-wrap:wrap;gap:8px}.sequence-bank button{font-size:15px}.draw-canvas{width:100%;aspect-ratio:800/480;display:block;background:#f5ecef;touch-action:none;border:1px solid var(--plum)}.source-images{display:flex;gap:10px;overflow:auto;margin:15px 0}.source-images img{max-width:100%;max-height:300px;object-fit:contain;background:#fff}.dossier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dossier-card{padding:24px;min-height:175px;background:var(--panel);text-align:left;border-color:var(--plum)}.dossier-card h3{font:28px var(--serif);margin:14px 0}.dossier-card p{font-size:14px;color:var(--silver)}.empty{padding:54px;border:1px dashed var(--plum);color:var(--silver);text-align:center}.closure{max-width:760px;margin:auto;text-align:center;padding:35px 20px}.wax{display:grid;place-items:center;width:120px;height:120px;margin:0 auto 28px;background:var(--hot);color:var(--ink);border-radius:50%;box-shadow:inset 0 0 0 7px #110a1022,inset 0 0 0 9px #110a1040;font:26px var(--serif);animation:stamp .6s ease-out}.closure h1{font:46px var(--serif);margin:8px 0}.closure p{color:var(--silver)}.report-paper{background:#f5ecef;color:#271421;padding:48px;text-align:left;max-width:850px;margin:25px auto;font-size:16px}.report-paper h1{font:40px var(--serif);letter-spacing:.15em;border-bottom:1px solid #ceb7c4;padding-bottom:18px}.report-paper h2{font:24px var(--cjk)}.report-paper h3{font-size:16px}.report-paper p{color:#392330;white-space:pre-wrap;overflow-wrap:anywhere}.report-paper .eyebrow{color:#734d65}.report-paper table{width:100%;border-collapse:collapse}.report-paper td,.report-paper th{border-bottom:1px solid #ddc9d5;padding:8px;text-align:left}.wardrobe-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.wardrobe-item{min-height:145px;padding:12px}.wardrobe-item img{width:80px;height:80px;object-fit:contain;display:block;margin:auto}.wardrobe-item small{font-size:12px;color:var(--silver)}.wardrobe-item.equipped{border-color:var(--pink)}.notice{padding:14px 20px;background:#291a25;border-left:2px solid var(--pink);font-size:15px;color:var(--silver);margin:20px 0}.modal-overlay{position:fixed;inset:0;background:#110a10dd;display:grid;place-items:center;z-index:20;padding:22px}.modal{max-width:560px;width:100%;max-height:90svh;overflow:auto;padding:30px;background:var(--panel);border:1px solid #76485d}.modal h2{font:32px var(--serif);margin:0 0 18px}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.scaffold-row{margin:14px 0;border-left:2px solid var(--plum);padding-left:15px}.scaffold-row strong{color:var(--pink);font-size:15px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{padding:24px;border:1px solid var(--plum);background:var(--panel)}.metric b{display:block;font:36px var(--serif);color:var(--pink)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--plum);padding:14px 10px;vertical-align:top}th{font-weight:500;color:var(--pink)}.table-scroll{overflow:auto}details{margin:12px 0;padding:16px;border:1px solid var(--plum)}summary{cursor:pointer}.schedule{display:flex;gap:10px;overflow:auto}.schedule button{min-width:180px;text-align:left}.lockroom{max-width:600px;margin:70px auto;text-align:center}.lockroom img{height:150px}.lockroom h1{font:40px var(--serif)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes stamp{0%{transform:scale(1.3);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:1050px){.topbar{padding:0 4%}.workspace{padding:24px 4%}.play-grid{grid-template-columns:minmax(0,1fr) 300px}.scene-host{height:345px}.dialogue{padding:20px}.profile{display:none}.desk-content{padding:34px}.volumes{gap:12px}.volume{padding:20px}.volume h3{font-size:25px}.wardrobe-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.topbar{height:78px;gap:12px}.brand{font-size:20px}.brand small{font-size:10px}.nav{gap:0}.nav button{padding:10px 8px;font-size:12px}.workspace{padding:20px 16px}.desk{min-height:350px}.desk-content{padding:26px 23px}.desk h1{font-size:42px}.desk:before{background:linear-gradient(90deg,#110a10f5,#110a1080)}.desk .intro{font-size:14px}.volumes{grid-template-columns:1fr}.volume{min-height:125px}.volume h3{margin:10px 0 4px}.strip{align-items:start;flex-direction:column;gap:7px}.section-heading p{display:none}.play-grid{grid-template-columns:1fr}.scene-host{height:300px}.dialogue{min-height:360px}.caption{min-height:85px}.step{padding:11px 4px;font-size:11px}.step span{margin-right:4px}.investigation-heading h1{font-size:28px}.case-list{grid-template-columns:1fr}.dossier-grid{grid-template-columns:1fr 1fr}.wardrobe-grid{grid-template-columns:repeat(3,1fr)}.task{padding:19px}.options{grid-template-columns:1fr}.scene-controls input{width:85px}.metrics{grid-template-columns:1fr 1fr}.report-paper{padding:24px}.report-paper h1{font-size:27px}.home-footer{gap:20px}.next-row{align-items:start}.next-row .caption-small{max-width:170px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.wax{animation:stamp .6s ease-out}}@media print{body{background:#fff}.topbar,.no-print{display:none!important}.workspace{padding:0}.report-paper{margin:0;max-width:none;padding:24px;box-shadow:none}.report-paper *{break-inside:avoid}}.wardrobe-layout{display:grid;grid-template-columns:minmax(280px,.9fr) 1.6fr;gap:32px}.director-preview{position:relative;isolation:isolate;aspect-ratio:2/3;background:radial-gradient(ellipse at 50% 50%,#3b2135,#1a1018 65%);border:1px solid #6b465b;border-radius:180px 180px 5px 5px;overflow:hidden}.director-base{width:100%;height:100%;object-fit:contain;display:block}.worn-piece{position:absolute;height:auto;filter:drop-shadow(0 2px 3px #110a1060);pointer-events:none}.portrait-label{position:absolute;bottom:3%;left:5%;color:var(--gold);font-family:Didot,Georgia,serif;letter-spacing:.14em;font-size:19px;z-index:2}.portrait-label span{font:11px Menlo,monospace;letter-spacing:.04em}.wardrobe-layout .wardrobe-grid{grid-template-columns:repeat(4,1fr);gap:12px;align-content:start}.wardrobe-item img{object-fit:contain}.suggested-phrase{font-size:13px;text-align:left;line-height:1.5;opacity:.88;margin:4px 0 10px}.task-context p{font-size:19px;line-height:1.5}.source-images img{object-fit:contain;max-height:520px}.draw-canvas{touch-action:none}@media(max-width:800px){.wardrobe-layout{grid-template-columns:1fr}.director-preview{max-width:360px;margin:auto}.wardrobe-layout .wardrobe-grid{grid-template-columns:repeat(4,1fr)}}.speaker-portrait{width:92px;height:102px;border:1px solid var(--plum);border-radius:48% 48% 4px 4px;background:radial-gradient(ellipse,#513447,#21141f);overflow:hidden;flex:none}.speaker-portrait img{width:100%;height:100%;object-fit:cover;object-position:top}.speaker{gap:15px}.speaker strong{font-size:18px}.business-sandbox{padding:20px;border-top:1px solid var(--plum);background:#1a1018}.business-sandbox h3{font:22px/1.4 Georgia,serif;color:var(--gold);margin:12px 0}.business-sandbox p{font-size:15px;line-height:1.6}.business-sandbox .audio-row{flex-wrap:wrap}.business-sandbox button{font-size:14px;padding:9px 12px}#world{position:fixed;inset:92px 0 0;z-index:0;background:#211a2a;overflow:hidden}#world[hidden]{display:none}#world canvas{display:block;width:100%;height:100%;touch-action:pan-y}.world:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#100c1733,transparent 35%,#100c1766),linear-gradient(90deg,#100b1650,transparent 38%,transparent 80%,#100b1640)}body[data-room=true] #app{position:relative;z-index:2;pointer-events:none}body[data-room=true] .topbar{background:#130e17ed;pointer-events:auto}body[data-room=true] .workspace{padding:0;max-width:none}.bureau-home{position:relative;min-height:calc(100svh - 92px);padding:36px 5.5% 18px;pointer-events:none;display:flex;flex-direction:column}.bureau-title{max-width:350px;text-shadow:0 2px 20px #170f20}.bureau-title .eyebrow{font-size:10px;letter-spacing:.19em;color:#dbc2b8}.bureau-title h1{font:400 clamp(32px,3.4vw,53px)/1.05 var(--serif);margin:16px 0}.bureau-title h1 i{color:#f1c2cc}.bureau-title p{font-size:13px;line-height:1.7;color:#dbccd4}.bureau-status{position:absolute;top:35px;right:5.5%;display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:.12em;color:#ddc9cc}.bureau-status-dot{width:5px;height:5px;background:#bfa47f;border-radius:100%}.bureau-case{width:285px;padding:20px 22px 19px;margin-top:auto;margin-bottom:24px;background:#170f1be8;border:1px solid #b8869752;border-radius:1px;pointer-events:auto;box-shadow:0 12px 35px #110a1033}.bureau-case .eyebrow{font-size:9px;letter-spacing:.12em}.bureau-case h2{font:26px/1.15 var(--serif);margin:9px 0}.bureau-case p{font-size:13px;color:#bda8b5;margin:7px 0 16px}.bureau-case .primary{width:100%;text-align:left;font-size:13px;padding:12px 15px}.bureau-case .primary span{float:right}.bureau-case small{display:block;font:10px/1.5 var(--sans);color:#bda8b5;margin-top:12px}.bureau-tools{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bb83923a;background:#140e1bf0;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bureau-tools button{border:0;border-right:1px solid #bb83923a;border-radius:0;text-align:left;font:18px var(--serif);padding:19px 22px;color:#f0d9e0}.bureau-tools button:last-child{border-right:0}.bureau-tools button span{font:10px var(--mono);color:#a8819f;margin-right:12px}.bureau-tools small{display:block;font:11px/1.6 var(--sans);margin:7px 0 0 28px;color:#bda8b5}.room-footnote{font:10px var(--mono);color:#c1aab8;letter-spacing:.07em;margin:16px 0 0}.room-footnote span{float:right;color:#a795a6}.room-compass{position:absolute;right:5.5%;bottom:159px;display:flex;align-items:center;gap:8px;pointer-events:auto}.room-compass button{width:38px;min-height:38px;padding:0;background:#1d1422c9;border-color:#ae7b9255}.room-compass span{font:8px var(--mono);letter-spacing:.1em;color:#ccbac5}.room-hotspots{position:absolute;inset:0;pointer-events:none;z-index:1}.room-hotspot{position:absolute;transform:translate(-50%,-50%);border:0;background:#1c1421bd;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#eed6d9;font:10px/1.4 var(--sans);padding:6px 9px;min-height:29px;white-space:nowrap;pointer-events:auto;opacity:.83;transition:opacity .2s}.room-hotspot:hover{opacity:1;border:0;background:#573341}.hotspot-dot{display:inline-block;width:4px;height:4px;background:#d4b480;border-radius:50%;margin:0 6px 2px 0}.room-render-state{position:absolute;right:5.5%;bottom:130px;font:9px var(--mono);color:#cbb6c3;z-index:1;pointer-events:none}.parchment-modal{background:#eadac9;color:#392936;border-color:#a87d7e;position:relative;box-shadow:0 30px 70px #0006}.parchment-modal h2{font-family:var(--serif)}.parchment-modal .eyebrow{color:#856571;font-size:10px}.parchment-modal p{color:#69545f}.parchment-modal button{color:#493344;border-color:#ba9caa}.parchment-modal input,.parchment-modal textarea{background:#f5eade;color:#392936;border-color:#b998a5}.modal-x{position:absolute;right:12px;top:9px;border:0!important;font-size:23px!important;min-height:35px!important;padding:0 10px!important}.magic-text{display:block;position:relative;white-space:pre-wrap;overflow-wrap:anywhere}.magic-shadow{opacity:.35;display:block}.magic-letters{position:absolute;inset:0}.magic-glyph{display:inline-block;white-space:pre;transform-origin:50% 60%}.magic-key{color:var(--pink);text-shadow:0 0 12px #f3a6c13a}.parchment-modal .magic-key{color:#893c5e}.lite-room video{width:100%;height:100%;object-fit:cover}.lite-yoru{position:absolute;left:56%;bottom:24%;width:24%;height:47%;background:url(../yoru/lite-neutral.webp) center bottom/contain no-repeat;pointer-events:auto}.lite-yoru[data-expression=blink]{background-image:url(../yoru/lite-blink.webp)}.lite-yoru[data-expression=speaking]{background-image:url(../yoru/lite-speaking.webp)}.bureau-clock-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bureau-clock-list strong{display:block;font:32px var(--serif);color:#8a506b}.street-buttons{display:grid;gap:10px}.street-buttons button{text-align:left}.street-buttons small{display:block;color:#87707a}.s-reveal{filter:blur(5px);opacity:.35}.s-reveal.revealed{filter:none;opacity:1;transition:filter .6s,opacity .6s}.ink-blot{position:fixed;left:50%;top:45%;width:120px;height:120px;background:#241722;border-radius:43% 57% 64% 36%/57% 38% 62% 43%;pointer-events:none;z-index:16;opacity:.18;animation:ink-wipe .9s forwards}@keyframes ink-wipe{0%{transform:scale(.1)}35%{transform:scale(1)}to{transform:scale(1.1) translate(70px);opacity:0}}.spell-ring{position:fixed;pointer-events:none;z-index:15;width:110px;height:110px;border:1px solid #d3b67b;border-radius:50%;animation:spell-ring 1.2s forwards}@keyframes spell-ring{0%{transform:scale(.6) rotate(-20deg);opacity:0}30%{opacity:.7}to{transform:scale(1.2) rotate(40deg);opacity:0}}body.reading-lamp:before{content:"";position:fixed;inset:0;z-index:10;background:radial-gradient(circle 240px at var(--lamp-x,50%) var(--lamp-y,50%),transparent,#100a164f);pointer-events:none}@media(max-height:760px)and (min-width:900px){.bureau-title h1{font-size:36px}.bureau-title p{display:none}.bureau-case{margin-top:70px;width:265px}.bureau-tools button{padding:14px 18px}.bureau-home{padding-top:25px}.room-compass{bottom:141px}}@media(max-width:900px){.bureau-title{max-width:250px}.bureau-title h1{font-size:35px}.bureau-status{font-size:8px;gap:6px}.bureau-tools button{padding:14px 12px;font-size:16px}.bureau-tools small{font-size:10px;margin-left:0}.bureau-tools button span{display:none}.bureau-case{width:240px;margin-bottom:17px}.room-hotspot{font-size:9px;padding:5px 7px}.room-footnote span{display:none}}@media(max-width:760px){#world{top:78px}.bureau-home{min-height:calc(100svh - 78px);padding:25px 16px 14px}.bureau-title h1{font-size:30px}.bureau-title p{display:none}.bureau-status{top:25px;right:16px;max-width:130px;flex-wrap:wrap;justify-content:flex-end}.bureau-case{width:210px;padding:16px;margin-top:180px}.bureau-case h2{font-size:23px}.bureau-tools{grid-template-columns:1fr 1fr}.bureau-tools button{border-bottom:1px solid #bb83923a;font-size:15px}.bureau-tools button:nth-child(2){border-right:0}.bureau-tools button:nth-child(n+3){border-bottom:0}.bureau-tools small{font-size:9px}.room-hotspot{font-size:8px;background:#201722a8;min-height:28px}.room-compass{right:16px;bottom:218px}.room-render-state,.hotspot-dot{display:none}.room-footnote{font-size:8px}.lite-yoru{width:37%;left:54%;bottom:35%}}@media(prefers-reduced-motion:reduce){.ink-blot,.spell-ring{animation-duration:.2s}.wax{animation-duration:.2s!important}}.familiar-heading{display:flex;gap:18px;align-items:center;margin:18px 0}.yoru-avatar{width:86px;height:92px;flex:none;background:url(../yoru/expression-atlas.png) left top/300% auto no-repeat;border-radius:45% 45% 3px 3px;background-color:#cfb8be}.familiar-heading strong{font:23px var(--serif)}.familiar-heading small{display:block;color:#896b7b;font:11px/1.6 var(--mono);margin-top:8px}.familiar-history{max-height:250px;overflow:auto;scroll-behavior:smooth}.familiar-history p{padding:12px 14px;margin:10px 0;white-space:pre-wrap;font-size:15px;line-height:1.6}.chat-user{background:#d9c6c5;margin-left:40px!important}.chat-yoru{border-left:2px solid #aa7b8f;background:#efe0d2;margin-right:20px!important}.familiar-history small{font-size:10px;color:#8c7080}.familiar-note{font-size:11px!important;margin-top:20px}#familiar-form label{font-size:12px}#familiar-form textarea{font-size:15px;min-height:70px;margin-top:7px}#familiar-form .actions{justify-content:space-between}.review-prompt{font:23px/1.6 var(--serif)}.review-options{display:grid;gap:9px}.review-options button{text-align:left}.review-options .chosen{border-color:#8a476c;background:#d8bbc7}.review-options button:disabled{opacity:.7}.memory-source{font-size:10px}.parchment-modal .audio-row{margin-top:18px}.parent-v2{margin:35px 0;border-top:1px solid var(--plum);padding-top:20px}.strength-chart{max-width:800px;width:100%;background:#1a1018;border:1px solid var(--plum)}.parent-chat{padding:18px;background:#1d131b;margin:12px 0;border-left:2px solid var(--pink);white-space:pre-wrap}.parent-chat p{margin:8px 0}.parent-chat small{font-size:11px;color:var(--silver)}.parent-v2 select{background:var(--panel);color:var(--white);border:1px solid var(--plum);padding:8px}.dossier-card h3,.dossier-card p{opacity:var(--memory-opacity,1)}.opening-entry{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:30px 38px;z-index:8;background:#1b1222e8;border:1px solid #d2b27a88;box-shadow:0 20px 70px #0008;min-width:310px;text-align:left}.opening-entry small{font:10px var(--mono);letter-spacing:.18em;color:var(--gold)}.opening-entry strong{display:block;font:34px var(--serif);color:#f4dbe1;margin:13px 0}.opening-entry span{font-size:12px;color:#b7a9b4}body.first-opening .bureau-home{opacity:0;pointer-events:none}body.first-opening .bureau-home *{pointer-events:none!important}.room-yoru-caption{position:absolute;bottom:29%;left:39%;max-width:360px;padding:10px 16px;font:19px/1.5 var(--serif);text-align:center;color:#f4dbe1;z-index:2;pointer-events:none;text-shadow:0 1px 8px #000}.room-yoru-caption:empty{display:none}.magic-word{display:inline-block;white-space:nowrap}.magic-word[data-word]{cursor:pointer}.magic-letters{word-break:normal}.magic-glyph:empty{display:none}.familiar-connect-form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px;background:#e0ccc8;border:1px solid #b68d9e;margin:18px 0}.familiar-connect-form label,.familiar-connect-form p,.familiar-connect-form small{grid-column:1/-1}.familiar-connect-form label{font-weight:600}.familiar-connect-form input{min-width:0;padding:12px;font-size:16px}.familiar-connect-form p:empty{display:none}.familiar-connect-form small{font-size:12px;line-height:1.6}.familiar-local-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.familiar-local-actions button{font-size:13px}.familiar-turn-note{display:block;margin:8px 0 12px;line-height:1.7}.familiar-secure-link{display:inline-block;padding:14px 20px;border:1px solid #956478;color:#623148;font-weight:600;background:#e2c5cd;margin-bottom:18px}.familiar-connect-note{font-size:14px!important;line-height:1.7}#familiar-disclosure{background:#e0ccc8;padding:16px;margin:18px 0}#familiar-disclosure p{font-size:15px;line-height:1.7}#familiar-form input:disabled,#familiar-form textarea:disabled{opacity:.55}@media(max-width:520px){.familiar-connect-form{grid-template-columns:1fr}.familiar-connect-form button{width:100%}.familiar-heading strong{font-size:20px}.familiar-heading small{font:12px/1.7 var(--sans)}}html,body{overflow-x:clip}
