@charset "UTF-8";
:root{--paper:#f7f3e9;--desk:#e8e2d5;--ink:#272723;--muted:#656359;--red:#992c2c;--line:#b9b2a3;--gold:#d3b65d;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--desk);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);padding:.65rem 1rem;border-radius:2px;min-height:44px}button:hover{background:#e9e1cf}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--red);outline-offset:4px}a{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,5.5vw,5.1rem);line-height:.98;letter-spacing:-.045em;font-weight:normal}h2{font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.1;font-weight:normal}h3{font-size:1.25rem}small,.small{font-size:.84rem}.mono,.eyebrow,.badge,.room-nav,.toolbar,.inventory,.statusline,label,summary{font-family:'Courier New',monospace}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.red{color:var(--red)}.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.primary:hover{background:#46443c}.danger{color:var(--red);border-color:var(--red)}.quiet{border-color:transparent}.stack{display:grid;gap:.6rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.divider{border-top:1px solid var(--line);padding-top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:absolute;top:-100px;left:1rem;z-index:10;background:var(--paper);padding:1rem}.skip:focus{top:1rem}
.shell{max-width:1400px;margin:1.25rem auto;border:1px solid var(--line);background:var(--paper);box-shadow:0 10px 45px #332b1710}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.6rem;border-bottom:1px solid var(--line);font-family:'Courier New',monospace;font-size:.8rem}.brand{font-weight:bold;letter-spacing:.1em}.toolbar{display:flex;gap:.35rem;flex-wrap:wrap}.toolbar button{padding:.4rem .7rem;font-size:.78rem}.statusline{color:var(--muted);font-size:.7rem}.menu{min-height:650px;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;padding:3rem 5%;gap:3rem}.menu-copy{max-width:610px}.menu h1 span{display:block;font-size:.4em;letter-spacing:.04em;margin-bottom:.65em}.menu .lede{font-size:1.12rem;max-width:34rem;color:var(--muted)}.menu .credit{margin-top:1.8rem;font-family:'Courier New',monospace;font-size:.8rem}.case-card{position:relative;background:#fdfaf1;border:1px solid #bdb3a1;padding:1rem;box-shadow:5px 7px 0 #d8d1c1;transform:rotate(1.5deg);max-width:350px;margin:auto}.case-card img{display:block;width:100%;max-height:380px;object-fit:contain;mix-blend-mode:multiply}.case-card .case-number{border-top:1px solid var(--line);padding-top:.7rem;margin-top:.8rem}.stamp{display:inline-block;border:3px double var(--red);color:var(--red);padding:.3rem .65rem;transform:rotate(-5deg);font:bold .8rem 'Courier New',monospace;letter-spacing:.1em}.menu-footer,.footer{padding:.85rem 1.6rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.74rem;font-family:'Courier New',monospace;color:var(--muted)}
.room-nav{display:flex;border-bottom:1px solid var(--line);padding:0 1.6rem;gap:1rem}.room-nav button{border:none;border-bottom:3px solid transparent;padding:.8rem .5rem;font-size:.78rem;border-radius:0}.room-nav button[aria-current=page]{border-bottom-color:var(--red);color:var(--red)}.scene-header{padding:1.4rem 1.6rem .5rem;display:flex;justify-content:space-between;align-items:start;gap:1rem}.scene-header h2{margin:.2rem 0}.badge{font-size:.68rem;border:1px solid var(--line);padding:.35rem .55rem;white-space:nowrap}.scene{position:relative;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:1.5rem;padding:1rem 2rem 1.5rem;min-height:330px;align-items:end;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at bottom,#d4c8ac1f,transparent 65%)}.art-button{padding:0;border:none;display:block;width:100%;background:none!important;position:relative}.art-button img{width:100%;height:290px;object-fit:contain;mix-blend-mode:multiply}.art-label{display:block;font-family:'Courier New',monospace;font-size:.7rem;color:var(--muted);margin-top:.2rem}.window-art img{height:290px}.small-art img{height:210px}.scene .display{font-family:'Courier New',monospace;border:2px solid var(--ink);padding:.6rem;text-align:center;background:#e8e8da;font-size:.8rem;margin-bottom:1.2rem;min-height:50px;white-space:pre-line}.machine-box{border:2px solid var(--ink);border-radius:4px 5px 2px 3px;padding:1rem;background:#e4ded0;box-shadow:4px 5px 0 #c8c0af;max-width:320px;margin:auto}.machine-box>button{display:block;width:100%;margin:.6rem 0;background:var(--paper);font-family:'Courier New',monospace;font-size:.76rem}.machine-box .lever{border:2px solid var(--red);color:var(--red)}.machine-title{text-align:center;font-size:.68rem;font-family:'Courier New',monospace;letter-spacing:.08em}.drawer{display:block;width:100%;background:#eee8db;margin:.5rem 0;padding:1rem;border:1px solid var(--ink);font-family:'Courier New',monospace;box-shadow:0 3px 0 #c1b9a8}.drawer::after{content:'';display:block;border:2px solid var(--muted);border-radius:2px;width:45px;height:8px;margin:8px auto 0}.notice-board{padding:1rem;border:1px solid var(--line);font-family:'Courier New',monospace;font-size:.72rem;max-width:320px;transform:rotate(-1deg);margin:1rem auto;background:#faf5e8}.scene-caption{text-align:center;font: .68rem 'Courier New',monospace;color:var(--muted);margin:.8rem 0}.spot-list{padding:.7rem 1.6rem;border-bottom:1px solid var(--line)}.spot-list summary{cursor:pointer;font-size:.75rem;padding:.4rem}.spot-grid{display:flex;gap:.4rem;flex-wrap:wrap;padding:.5rem 0}.spot-grid button{font-size:.75rem;min-height:44px;padding:.4rem .7rem}.spot-grid button.visited::before{content:'✓ ';color:var(--muted)}
.case-goal{padding:.7rem 1.6rem;font: .78rem 'Courier New',monospace;background:#eee7d6;border-bottom:1px solid var(--line)}.inventory{padding:1rem 1.6rem}.inventory-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.7rem;margin-bottom:.6rem}.inventory-items{display:flex;flex-wrap:wrap;gap:.6rem}.item{min-width:105px;text-align:left;max-width:210px;padding:.5rem .8rem;background:#fffaf0;border:1px solid var(--line);font-size:.72rem;position:relative}.item strong{display:block;color:var(--red);font-size:.9rem;margin-bottom:.1rem}.item.selected{outline:2px solid var(--red);background:#f5e4d8}.item:hover{transform:translateY(-1px)}.selection{font-size:.76rem;color:var(--red)}
dialog{border:1px solid var(--ink);padding:0;background:var(--paper);color:var(--ink);max-width:min(680px,94vw);width:680px;max-height:88dvh;box-shadow:8px 12px 0 #16120e33}dialog::backdrop{background:#25231dc2;backdrop-filter:blur(2px)}#modal-content{padding:1.7rem;overflow-wrap:anywhere}.modal-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;border-bottom:1px solid var(--line);margin-bottom:1.2rem;padding-bottom:.8rem}.modal-head h2{font-size:1.7rem;margin:0}.modal-head button{padding:.3rem .7rem}.speaker{font: .75rem 'Courier New',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:.8rem}.dialogue-text,.document-text{white-space:pre-line;font-size:1.08rem;line-height:1.65}.document-text{font-family:'Courier New',monospace;font-size:.87rem;background:#fffaf0;border:1px solid var(--line);padding:1.3rem}.choices{display:grid;gap:.5rem;margin-top:1rem}.choices button{text-align:left}.counter{font: .7rem 'Courier New',monospace;color:var(--muted)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}.setting-row input{max-width:200px}.settings-note{font-size:.82rem;color:var(--muted)}.credits{text-align:center}.credits dt{font: .74rem 'Courier New',monospace;color:var(--muted);margin-top:1rem}.credits dd{margin:.25rem 0 1rem}.credits .registry{border:3px double var(--red);padding:1.5rem;margin:1.3rem 0;color:var(--red)}
.ending{padding:2rem 5%;max-width:1000px;margin:auto}.ruling{padding:2.5rem;border:5px double var(--red);position:relative;background:#fdf8ec;text-align:center;max-width:720px;margin:1rem auto 2rem}.ruling h1{font-size:clamp(2rem,5vw,3.5rem);margin:1rem 0}.ruling .seal{width:90px;height:110px;object-fit:contain;mix-blend-mode:multiply}.ruling .determination{font: bold 1rem 'Courier New',monospace;color:var(--red);border-block:1px solid var(--line);padding:1rem;margin:1rem 0}.ending .actions{justify-content:center}.toast{background:var(--ink);color:var(--paper);padding:.8rem 1rem;position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);max-width:90vw;z-index:9;font: .85rem 'Courier New',monospace}.download-note{text-align:center;color:var(--muted);font-size:.8rem}.reduced *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:900px){.title-small{max-width:46rem}.scene.co{grid-template-columns:1.25fr 1fr 1fr}.scene.co .art-button img{height:330px}}
@media(max-width:720px){.shell{margin:0;border-inline:0;box-shadow:none}.topbar{padding:.7rem 1rem;align-items:start}.toolbar{justify-content:end}.toolbar button{font-size:.68rem;padding:.3rem .45rem}.topbar .statusline{display:none}.menu{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1.2rem;min-height:auto}.menu-copy{order:0}.menu .case-card{max-width:220px;order:1;transform:none}.menu .case-card img{max-height:210px}.menu h1{font-size:3.1rem}.room-nav{padding:0 .5rem;gap:.2rem;justify-content:space-between}.room-nav button{font-size:.65rem;padding:.7rem .35rem}.scene-header{padding:1rem}.scene-header h2{font-size:1.8rem}.scene{padding:.6rem 1rem 1.2rem;gap:.75rem;min-height:270px;grid-template-columns:1fr 1fr}.scene .scene-third{grid-column:1/-1;display:flex;align-items:center;gap:1rem;justify-content:center}.scene-third .small-art{max-width:120px}.scene-third .small-art img{height:140px}.scene .art-button img{height:220px}.scene .small-art img{height:140px}.scene.co{grid-template-columns:1fr 1fr}.scene.co .scene-third{display:block}.machine-box{padding:.6rem}.machine-box>button{font-size:.65rem;padding:.5rem}.machine-title{font-size:.6rem}.notice-board{font-size:.68rem;margin:.5rem auto}.spot-list,.inventory,.case-goal{padding:.7rem 1rem}.inventory-items{gap:.4rem}.item{min-width:90px;max-width:48%;font-size:.66rem}.inventory-head{align-items:start}.scene-caption{font-size:.6rem}.footer{padding:.7rem 1rem;font-size:.65rem}#modal-content{padding:1.1rem}.ruling{padding:1rem}.ending{padding:1.5rem .8rem}.badge{font-size:.6rem}.dialogue-text{font-size:1rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.modal-head{flex-wrap:wrap}.modal-head h2{flex:1 1 220px;overflow-wrap:normal}.modal-head button{flex-shrink:0;white-space:nowrap}.setting-row{flex-wrap:wrap}.setting-row label{flex:1 1 180px}.setting-row input,.setting-row select{flex-shrink:0;min-height:32px}select{font:inherit;max-width:100%}
.large-text .scene,.large-text .scene.co{grid-template-columns:1fr}.large-text .scene-third{grid-column:auto;flex-wrap:wrap}.large-text .room-nav,.large-text .topbar,.large-text .scene-header{flex-wrap:wrap}.large-text .toolbar{justify-content:start}.large-text .menu{grid-template-columns:1fr}.large-text .inventory-items{display:grid;grid-template-columns:1fr}.large-text .item{max-width:none}.large-text .ruling h1{font-size:clamp(1rem,8vw,2rem);overflow-wrap:anywhere}.large-text .menu h1{font-size:clamp(1.5rem,10vw,2.5rem)}.large-text .badge{white-space:normal}.large-text .modal-head h2{font-size:1.35rem}.large-text #modal-content{padding:.75rem}
.related-content{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.related-content h2{font-size:1.5rem}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.related-grid a{display:block;text-decoration:none;padding:1rem;border:1px solid var(--line);color:var(--ink);min-height:44px}.related-grid a:hover{background:#ece4d3}.related-grid strong{display:block;color:var(--red)}.related-grid span{display:block;margin-top:.5rem;font-size:.85rem}@media(max-width:720px){.related-grid{grid-template-columns:1fr}}.large-text .related-grid{grid-template-columns:1fr}
