@import url('fonts.css');
:root{color-scheme:dark;--bg:#101d20;--panel:#152529;--ink:#f0e9d9;--muted:#bac0b9;--gold:#d7bd86;--line:#d4c5a22b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans','Segoe UI',sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{font-family:var(--sans);font-size:16px;line-height:1.5}button,input{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{touch-action:manipulation}a{color:var(--gold)}button{border:0;background:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}::selection{background:#d7bd8644}#app{min-height:100dvh}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold)}.muted{color:var(--muted)}.gold{color:var(--gold)}.serif{font-family:var(--serif)}.line{height:1px;background:var(--line);margin:24px 0}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#111e2166;transition:background .2s}.icon-btn:hover{background:#d7bd8619;border-color:#d7bd8670}.mark{width:30px;height:35px;color:var(--gold)}.primary{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:17px 27px;color:#172224;background:var(--gold);font-weight:600;font-size:15px;letter-spacing:.03em;min-height:54px;transition:background .2s,transform .2s}.primary:hover{background:#ecdbb2;transform:translateY(-1px)}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #c6bb9c65;padding:13px 22px;min-height:48px;font-size:14px;transition:background .2s}.secondary:hover{background:#d7bd8614}.text-btn{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);padding:10px 0}.text-btn:hover{color:var(--gold)}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.menu{position:relative;isolation:isolate;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.menu-art{position:absolute;inset:0;z-index:-3;background:url('assets/manor.webp') center/cover no-repeat;animation:arrive 2s ease-out}.menu::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,19,24,.86),rgba(9,24,30,.5) 38%,transparent 70%),linear-gradient(0deg,#0c1a21 0%,transparent 25%,#07131a25 80%)}.menu::after,.scene-vignette::after{content:'';pointer-events:none;position:absolute;inset:0;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.15' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.18}.menu-top{display:flex;justify-content:space-between;align-items:center;padding:30px 4vw}.edition{display:flex;align-items:center;gap:15px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.edition span{padding-left:17px;border-left:1px solid var(--line);color:#e3e3d3}.menu-controls{display:flex;gap:12px}.menu-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px 8.2vw 55px;width:720px;max-width:65%;min-height:600px}.menu-content h1{font-size:clamp(90px,11vw,168px);line-height:.77;letter-spacing:-.04em;margin:32px 0 30px}.menu-content h1 span{display:block;font-size:.64em;line-height:.9;font-style:italic;font-weight:400;letter-spacing:-.04em;margin-bottom:7px}.menu-intro{font-family:var(--serif);font-size:24px;line-height:1.45;max-width:355px;color:#d9e0da;margin:6px 0 35px}.menu-actions{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.menu-rule{display:flex;align-items:center;gap:13px;margin:30px 0 0;font-size:12px;color:#c3cdc7;letter-spacing:.04em}.menu-rule::before{content:'';width:25px;height:1px;background:#c0ae80}.menu-bottom{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:18px 4vw 27px;color:#c1ccc6;font-size:12px}.menu-bottom .location{display:flex;align-items:center;gap:12px}.menu-bottom .footer-right{text-align:right;line-height:1.7}.dot-divider{margin:0 10px;color:var(--gold)}.menu-quote{position:absolute;right:5vw;bottom:21%;max-width:190px;text-align:right;color:#ebddb8;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.4}.menu-quote::before{content:'';display:block;width:36px;height:1px;background:#d7bd8666;margin:0 0 15px auto}.save-note{font-size:12px;color:var(--muted);padding-top:5px}.game{height:100dvh;min-height:610px;display:flex;flex-direction:column;position:relative;overflow:hidden}.game-header{height:76px;flex-shrink:0;background:#101d20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 30px;z-index:5;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:13px}.wordmark span{font-family:var(--serif);font-size:25px;letter-spacing:.05em}.chapter-status{display:flex;align-items:center;gap:17px}.chapter-label{font-size:12px;letter-spacing:.1em;color:var(--muted)}.chapter-label strong{font-weight:400;color:var(--ink)}.chapter-rule{height:26px;width:1px;background:var(--line)}.header-tools{display:flex;align-items:center;gap:18px}.deposit{text-align:right;line-height:1.25}.deposit small{font-size:10px;letter-spacing:.12em;display:block;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.deposit strong{font-weight:450;font-size:18px;color:var(--gold)}.scene{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden;background:#24373b}.scene-art{position:absolute;inset:0;z-index:-3;background-repeat:no-repeat;background-size:cover;animation:scene-in .65s ease-out}.scene-art.atlas{background-size:200% 200%}.scene-vignette{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#071216c4,transparent 40%,transparent 65%,#0c1c22d9),linear-gradient(90deg,#07121640,transparent 35%)}.scene-heading{position:absolute;top:34px;left:38px;max-width:60%;pointer-events:none;text-shadow:0 2px 20px #0008}.scene-heading .eyebrow{font-size:11px}.scene-heading h1{font-size:48px;line-height:1.1;margin:8px 0 7px}.scene-heading .scene-time{font-size:12px;color:#e4dfd0;letter-spacing:.03em}.scene-objective{position:absolute;top:35px;right:34px;text-align:right;max-width:250px}.scene-objective .eyebrow{font-size:10px;display:block;margin-bottom:6px}.scene-objective p{font-size:13px;color:#e3e7de;line-height:1.65;text-shadow:0 2px 10px #000}.hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2;padding:6px;min-width:44px;min-height:44px}.hotspot-symbol{position:relative;display:grid;place-items:center;width:34px;height:34px;border:1px solid #f7e5bcbf;border-radius:50%;background:#101e25a8;box-shadow:0 0 0 5px #07131a25,0 2px 16px #0004;transition:background .2s,transform .2s}.hotspot-symbol svg{width:16px;height:16px}.hotspot[data-kind=friend] .hotspot-symbol{border-color:#cce8e4;background:#193b41d6;color:#deefee}.hotspot[data-kind=travel] .hotspot-symbol{border-radius:3px}.hotspot:hover .hotspot-symbol,.hotspot:focus-visible .hotspot-symbol{background:var(--gold);color:var(--bg);transform:scale(1.12)}.hotspot-label{white-space:nowrap;background:#102126e8;border:1px solid #b4b7a030;border-radius:2px;font-size:12px;padding:5px 10px;color:#f5eedb;transition:opacity .2s;box-shadow:0 4px 14px #0003}.labels-hidden .hotspot-label{opacity:0}.labels-hidden .hotspot:hover .hotspot-label,.labels-hidden .hotspot:focus-visible .hotspot-label{opacity:1}.hotspot.done .hotspot-symbol{border-style:dashed;opacity:.8}.scene-caption{position:absolute;bottom:24px;left:37px;right:37px;font-family:var(--serif);font-size:23px;color:#f0eadb;text-shadow:0 2px 15px #000;pointer-events:none}.travel-bar{display:flex;align-items:center;gap:16px;padding:13px 30px;background:#122126;border-top:1px solid var(--line);min-height:64px;flex-wrap:wrap}.travel-bar>.eyebrow{font-size:10px;letter-spacing:.14em;color:#9eaaa5;padding-right:5px}.travel-links{display:flex;flex-wrap:wrap;gap:6px 10px}.travel-links button{font-size:13px;padding:6px 9px;color:#e3decf;display:flex;align-items:center;gap:7px}.travel-links button svg{height:14px;width:14px;color:var(--gold)}.travel-links button:hover{background:#d7bd8612;color:var(--gold)}.toolbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px;padding:5px 30px;border-top:1px solid var(--line);background:#101d20}.toolbar-nav{display:flex;gap:28px}.tool-btn{display:flex;align-items:center;gap:9px;font-size:13px;padding:12px 0;color:#d1d5c9}.tool-btn:hover{color:var(--gold)}.tool-btn svg{color:#c6b583;width:18px}.tool-btn kbd{font-family:var(--sans);font-size:10px;color:#8e9a93;border:1px solid #d4c5a222;border-radius:2px;min-width:18px;line-height:17px;text-align:center;margin-left:2px}.toolbar-right{display:flex;align-items:center;gap:22px;color:#9faea5;font-size:11px}.save-status{display:flex;align-items:center;gap:7px}.save-status svg{width:13px;height:13px}.clue-count{color:var(--gold);font-size:12px}.modal-shade{position:fixed;inset:0;z-index:20;background:#030c1199;backdrop-filter:blur(7px);display:grid;place-items:center;padding:24px;animation:fade-in .2s}.modal{background:var(--panel);border:1px solid #d7bd8640;box-shadow:0 30px 100px #0008;width:min(780px,100%);max-height:calc(100dvh - 48px);overflow:auto;position:relative;padding:35px 40px;outline:none}.modal-header{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}.modal-header h2{font-size:42px;line-height:1.1;margin-top:7px}.modal-header .icon-btn{flex-shrink:0}.modal-description{color:var(--muted);font-size:15px;line-height:1.75;margin-bottom:23px}.modal p+p{margin-top:16px}.dialogue-shade{background:linear-gradient(0deg,#03101599,transparent 65%);backdrop-filter:none;place-items:end center;padding:0 24px 151px;pointer-events:none}.dialogue{width:min(900px,100%);background:#102126f5;border:1px solid #d3bb8459;box-shadow:0 12px 80px #0008;padding:25px 31px 19px;pointer-events:auto;max-height:calc(100dvh - 180px);overflow:auto;animation:dialogue-in .24s ease-out}.dialogue-top{display:flex;align-items:center;gap:12px;margin-bottom:11px}.avatar{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--person);color:var(--person);border-radius:50%;font-family:var(--serif);font-size:20px}.speaker{color:var(--person);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.dialogue-text{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.45;letter-spacing:.005em}.dialogue-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.dialogue-progress{font-size:11px;color:#8a9e9a;letter-spacing:.08em}.dialogue-next{display:flex;align-items:center;gap:16px;color:var(--gold);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:9px 0 9px 20px}.dialogue-next svg{width:18px}.choice-list{display:flex;flex-direction:column;gap:9px;margin-top:21px}.choice{display:flex;align-items:center;gap:16px;text-align:left;padding:13px 17px;line-height:1.5;border:1px solid #c8b88940;background:#ddcfab08;font-size:14px;width:100%;transition:background .2s}.choice:hover{background:#d7bd8619;border-color:#d7bd8680}.choice-number{font-size:11px;min-width:20px;color:var(--gold)}.choice-copy{flex:1}.choice-copy small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.choice svg{width:15px}.chapter-screen{background:radial-gradient(ellipse at center,#18333bef,#071219fa);position:fixed;inset:0;z-index:25;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;animation:fade-in .7s}.chapter-screen .chapter-roman{font-family:var(--serif);color:var(--gold);font-size:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 30px;margin-bottom:34px}.chapter-screen h2{font-size:clamp(48px,7vw,88px);line-height:1.1;margin:15px 0}.chapter-screen p{font-family:var(--serif);font-style:italic;font-size:23px;color:#b6c6bf;margin:6px 0 38px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:20px}.tab{padding:12px 0;font-size:14px;color:#a9b9b0;border-bottom:2px solid transparent}.tab.active{color:var(--gold);border-color:var(--gold)}.journal{background:#ece5d4;color:#283737;width:min(850px,100%)}.journal .eyebrow{color:#6f745c}.journal .modal-header .icon-btn{color:#33433c;background:transparent;border-color:#45514344}.journal .tabs{border-color:#45514333}.journal .tab{color:#657366}.journal .tab.active{color:#374d42;border-color:#61765a}.journal .modal-description{color:#55665e}.evidence-entry{border-bottom:1px solid #5364572a;padding:20px 0}.entry-heading{display:flex;align-items:baseline;gap:15px}.entry-number{font-family:var(--serif);font-size:24px;color:#8a967c}.entry-heading h3{font-size:28px;line-height:1.2}.evidence-entry .entry-tag{font-size:10px;letter-spacing:.16em;color:#73816e;margin:9px 0}.evidence-entry p{font-size:14px;line-height:1.8;color:#4a5b53}.evidence-entry .conclusion{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;color:#334e3d;margin-top:10px}.rule-row{display:flex;gap:17px;border-bottom:1px solid #53645725;padding:14px 0;font-size:14px;line-height:1.7}.rule-row span{font-family:var(--serif);font-size:23px;color:#7c866d;line-height:1.3}.rule-row:last-child{background:#79826812;margin-top:5px;padding:15px}.memory-row{padding:15px 0;border-bottom:1px solid #53645725;display:flex;gap:14px;align-items:center}.memory-row svg{color:#677c5f}.journal-note{font-family:var(--serif);font-style:italic;font-size:22px;color:#66755f;margin-bottom:15px}.empty-state{padding:35px 0;text-align:center;font-family:var(--serif);font-size:25px;color:#617464}.map-groups{display:grid;grid-template-columns:1fr 1fr;gap:30px}.map-group h3{font-family:var(--sans);font-size:11px;letter-spacing:.18em;color:var(--gold);margin-bottom:12px;text-transform:uppercase}.map-location{display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;padding:15px 12px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:24px}.map-location:hover{background:#d7bd8610}.map-location.current{background:#d7bd8615;color:var(--gold)}.map-location small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.06em;color:#a6b4a9;margin-top:3px}.map-location svg{width:16px}.map-footer{border-top:1px solid var(--line);margin-top:30px;padding-top:16px;color:var(--muted);font-family:var(--serif);font-style:italic;font-size:21px}.friend-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.friend-card{display:flex;gap:15px;border-top:1px solid var(--line);padding:22px 0}.friend-card .avatar{width:40px;height:40px;flex-shrink:0;font-size:25px}.friend-card h3{font-size:27px;line-height:1}.friend-card small{display:block;color:var(--gold);font-size:11px;line-height:1.6;margin:6px 0 9px}.friend-card p{font-size:13px;color:var(--muted);line-height:1.75}.settings-row{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.settings-row p{font-size:15px}.settings-row small{font-size:12px;color:var(--muted);display:block;margin-top:5px}.toggle{min-width:61px;padding:7px 12px;border:1px solid #b8c0a744;font-size:12px}.toggle.on{background:#d7bd8622;color:var(--gold);border-color:#d7bd8688}input[type=range]{accent-color:var(--gold);width:130px}.help-keys{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:13px;color:var(--muted);margin-top:25px}.help-keys dt{color:var(--gold)}.help-keys dd{margin:0}.settings-footer{margin-top:25px;display:flex;gap:15px;flex-wrap:wrap}.hint-box{border-left:2px solid var(--gold);padding:8px 0 8px 22px;font-family:var(--serif);font-size:26px;line-height:1.5;margin:25px 0}.evidence-pill{display:inline-block;border:1px solid var(--line);font-size:12px;padding:5px 10px;margin:3px}.receipt{border-top:1px solid var(--line);margin:20px 0;padding-top:20px}.receipt-row{display:flex;justify-content:space-between;gap:20px;font-size:14px;padding:8px 0;color:var(--muted)}.receipt-row.total{color:var(--gold);font-size:20px;margin-top:10px;border-top:1px solid var(--line);padding-top:18px}.receipt-note{color:var(--muted);font-size:13px}.circuit-note{font-family:var(--serif);font-style:italic;color:#cfcaaf;text-align:center;font-size:24px;margin:20px 0}.switch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.switch-button{border:1px solid #cbb27a55;padding:20px 8px 15px;background:linear-gradient(135deg,#7d69482e,#142124);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:11px;min-height:145px}.switch-number{font-size:11px;color:#b8b795}.switch-lever{height:49px;width:24px;border:1px solid #bda87b;border-radius:3px;position:relative;background:#080e10}.switch-lever::after{content:'';position:absolute;left:3px;right:3px;height:21px;top:3px;background:linear-gradient(#e3d4ad,#8e7d57);border-radius:2px;transition:transform .15s}.switch-button.active .switch-lever::after{transform:translateY(21px)}.circuit-output{min-height:52px;text-align:center;color:var(--gold);font-size:15px;line-height:1.7}.sequence-slots{display:flex;gap:10px;justify-content:center;margin:18px 0}.sequence-slots span{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--line);font-family:var(--serif);font-size:22px}.lock-form{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin:25px 0}.lock-form input{border:1px solid #c9b68177;background:#0c191d;color:var(--gold);font-size:35px;text-align:center;letter-spacing:.4em;padding:10px 5px 10px 18px;width:195px;border-radius:0}.lock-label{text-align:center;color:var(--gold);font-size:12px;letter-spacing:.18em;margin:26px 0 4px}.game-feedback{min-height:27px;text-align:center;font-size:13px;color:var(--gold)}.mini-meta{display:flex;justify-content:space-between;margin:24px 0;color:var(--muted);font-size:13px}.shot-track{position:relative;height:38px;background:#08171c;border:1px solid var(--line);margin:45px 0 25px;overflow:hidden}.shot-target{position:absolute;left:40%;width:20%;inset-block:0;background:#d7bd8640;border-inline:1px solid var(--gold)}.shot-cursor{position:absolute;left:50%;width:4px;background:#f8ebc8;height:100%;box-shadow:0 0 18px #d7bd86}.mini-center{text-align:center}.breath-circle{width:170px;height:170px;border:1px solid #b5c9b3;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 80px #96b99a15,inset 0 0 60px #a0bba314;margin:50px auto;animation:breathe 7s ease-in-out infinite;color:#d4dfcb;font-family:var(--serif);font-size:30px}.pool-modal{width:min(840px,100%);background:linear-gradient(130deg,#142a30,#0a1a24);overflow:hidden}.pool-modal .modal-description{text-align:center}.pool-stage{width:min(410px,80vw);aspect-ratio:1.3;position:relative;margin:26px auto 35px;touch-action:none}.pool-water{position:absolute;inset:8%;border:1px solid #97c6c785;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 14px,#8af1ed12 16px,transparent 18px 31px),radial-gradient(ellipse at center,#283e537a,#12647470 60%,#0b202b);box-shadow:0 0 60px #4ddaca18,inset 0 0 50px #25c4bf2e;transition:filter 2s}.pool-orbit{position:absolute;inset:0;border:1px dashed #bed8d025;border-radius:50%}.pool-person{position:absolute;left:50%;top:50%;height:32px;width:32px;border:1px solid var(--person);border-radius:50%;display:grid;place-items:center;background:#112631;color:var(--person);font-family:var(--serif);font-size:19px;transform:translate(-50%,-50%)}.pool-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.pool-center strong{font-family:var(--serif);font-size:46px;font-weight:400;color:#d0e6df}.pool-center span{font-size:10px;letter-spacing:.16em;color:#b8cecd;text-transform:uppercase}.pool-phrase{text-align:center;min-height:30px;font-family:var(--serif);font-size:24px;font-style:italic;color:#c6dcd0}.pool-progress{height:3px;width:100%;background:#a9cabb26;margin:23px 0}.pool-progress span{display:block;height:100%;width:0;background:var(--gold)}.pool-hold{width:100%;user-select:none;-webkit-user-select:none;touch-action:none;gap:15px}.pool-small{display:flex;justify-content:center;gap:20px;margin-top:12px;flex-wrap:wrap}.pool-small button{font-size:12px;color:#aec3bb;padding:8px 0}.ending{min-height:100dvh;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 22px}.ending::before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/manor.webp') center/cover}.ending::after{content:'';position:absolute;inset:0;z-index:-1;background:#081a23dd}.ending h1{font-size:clamp(54px,7vw,92px);line-height:1;margin:22px 0}.ending .subtitle{font-family:var(--serif);font-style:italic;font-size:25px;color:var(--gold);margin-bottom:24px}.ending .ending-copy{max-width:550px;font-size:15px;color:#c9d3cb;line-height:1.9}.ending-stats{display:flex;gap:45px;margin:35px 0;padding:25px 0;border-block:1px solid var(--line)}.ending-stats strong{display:block;font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.2}.ending-stats span{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:10px;margin-top:5px;color:var(--muted)}.ending .button-row{justify-content:center}.ending-footer{font-family:var(--serif);font-size:21px;color:#8fa59a;margin-top:32px;font-style:italic}#toast{position:fixed;z-index:50;top:95px;left:50%;transform:translate(-50%,-14px);background:#e6d9b9;color:#20362f;padding:13px 23px;border:1px solid #fff6;font-size:13px;box-shadow:0 6px 30px #0004;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.flash{animation:small-flash 1.8s}.motion-off *,.motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important}.storage-warning{font-size:12px;color:#e0b696;max-width:270px}.credits-copy{font-size:14px;color:var(--muted);line-height:1.8}.credits-copy strong{color:var(--ink);font-weight:500}.credits-copy p{margin-bottom:15px}.credits-copy a{font-size:13px}.footnote{font-size:12px;line-height:1.8;color:#99afa3;margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes arrive{from{transform:scale(1.025);filter:brightness(.6)}to{transform:scale(1);filter:brightness(1)}}@keyframes scene-in{from{opacity:.4;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes dialogue-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,100%{transform:scale(.8);opacity:.7}50%{transform:scale(1.1);opacity:1}}@keyframes small-flash{0%,100%{filter:brightness(1)}45%{filter:brightness(.5)}}
@media(min-aspect-ratio:19/10){.scene-art.atlas{background-size:200% auto}.scene-heading{top:23px}.scene-caption{bottom:12px}.scene-objective{top:23px}}
@media(min-width:1600px){.scene-art.atlas{background-size:200% 200%}.menu-content{max-width:50%;width:800px}.scene-heading h1{font-size:58px}.dialogue{width:1000px}}
@media(max-width:1000px){.chapter-status{display:none}.menu-content{padding-left:7vw;max-width:75%}.menu-content h1{font-size:120px}.scene-objective{max-width:220px}.scene-heading h1{font-size:42px}.toolbar-nav{gap:20px}.save-status span{display:none}.scene-caption{font-size:21px}.travel-bar{gap:8px}}
@media(max-width:680px){.menu{min-height:100dvh}.menu-art{background-position:61% center}.menu::before{background:linear-gradient(90deg,#071720bf,#0c1d2770),linear-gradient(0deg,#0b1b25,transparent 80%)}.menu-top{padding:21px 22px}.edition span{font-size:10px;letter-spacing:.12em}.menu-content{max-width:100%;width:auto;padding:42px 28px 35px;min-height:550px;justify-content:center}.menu-content h1{font-size:110px;margin-top:30px}.menu-content .eyebrow{font-size:10px}.menu-intro{font-size:23px;max-width:290px}.menu-quote{display:none}.menu-bottom{padding:18px 24px 24px;align-items:center}.menu-bottom .footer-right{max-width:138px;font-size:10px}.location{font-size:10px}.menu-bottom svg{width:16px}.menu-controls{gap:8px}.menu-controls .icon-btn{width:38px;height:38px}.game{height:100dvh;min-height:650px}.game-header{height:64px;padding:0 16px;gap:10px}.wordmark span{font-size:22px}.wordmark .mark{width:23px}.header-tools{gap:11px}.header-tools .icon-btn{width:35px;height:35px}.header-tools .sound-control{display:none}.deposit small{font-size:8px}.deposit strong{font-size:16px}.scene-heading{left:22px;top:23px;max-width:85%}.scene-heading h1{font-size:37px}.scene-heading .eyebrow{font-size:9px;letter-spacing:.16em}.scene-heading .scene-time{font-size:10px}.scene-objective{right:20px;top:auto;bottom:65px;max-width:250px;text-align:left;left:22px;pointer-events:none}.scene-objective .eyebrow{font-size:9px}.scene-objective p{font-size:11px;line-height:1.5}.scene-caption{left:22px;right:20px;bottom:17px;font-size:18px;line-height:1.3}.scene-art.atlas{background-size:200% 200%}.hotspot{top:calc(var(--y)*.76 + 6%);left:clamp(12%,var(--x),88%)}.hotspot-label{font-size:10px;max-width:130px;white-space:normal;text-align:center;padding:4px 7px}.hotspot-symbol{height:29px;width:29px}.travel-bar{padding:8px 12px;gap:2px;min-height:62px}.travel-bar>.eyebrow{display:none}.travel-links{gap:0 6px}.travel-links button{font-size:11px;padding:6px}.toolbar{padding:5px 18px;min-height:60px;gap:8px}.toolbar-nav{justify-content:space-between;flex:1;gap:14px}.tool-btn{font-size:11px;gap:6px}.tool-btn kbd{display:none}.toolbar-right{display:none}.tool-btn svg{width:16px}.dialogue-shade{padding:0 12px 134px}.dialogue{padding:18px 19px 12px;max-height:calc(100dvh - 150px)}.dialogue-text{font-size:22px;line-height:1.4}.speaker{font-size:10px}.dialogue-top{gap:9px}.avatar{width:27px;height:27px;font-size:18px}.dialogue-next{font-size:10px}.modal-shade{padding:12px}.modal{padding:25px 23px;max-height:calc(100dvh - 24px)}.modal-header h2{font-size:36px}.modal-header .eyebrow{font-size:10px}.modal-header .icon-btn{width:35px;height:35px}.modal-description{font-size:14px}.map-groups{gap:15px}.map-location{font-size:21px;padding:12px 6px}.friend-grid{grid-template-columns:1fr}.friend-card p{font-size:14px}.friend-card small{font-size:12px}.tabs{gap:20px}.tab{font-size:13px}.settings-row{gap:13px}.settings-row small{font-size:11px}.settings-row p{font-size:14px}.entry-heading h3{font-size:25px}.switch-grid{gap:7px}.switch-button{font-size:10px;padding:16px 3px;min-height:130px}.pool-stage{width:min(350px,75vw);margin-block:15px 24px}.pool-modal{padding:25px 20px}.pool-person{width:28px;height:28px}.pool-phrase{font-size:21px}.pool-center strong{font-size:36px}.pool-hold{font-size:13px;gap:10px}.pool-small{gap:13px}.pool-small button{font-size:11px}.ending-stats{gap:28px}.ending-stats strong{font-size:33px}.ending h1{font-size:54px}.ending .subtitle{font-size:23px}.ending .ending-copy{font-size:14px}.choice{font-size:13px;padding:12px;gap:10px}.choice-copy small{font-size:11px}.button-row .primary,.button-row .secondary{font-size:13px}.help-keys{font-size:12px;gap:9px 12px}#toast{top:77px;font-size:12px;min-width:230px}.chapter-screen p{font-size:21px}}
/* These paintings and their markers share one uncropped frame, including on a phone. */
.scene.dedicated-art:not(.scene-3d){background:#101b1d}
.scene-artboard{position:absolute;inset:0;container-type:size;--art-w:min(100cqw,175cqh);--art-h:min(100cqh,57.142857cqw)}
.dedicated-art .scene-art{width:var(--art-w);height:var(--art-h);margin:auto;background-size:100% 100%}
.dedicated-art .hotspot{left:clamp(92px,calc((100cqw - var(--art-w))/2 + var(--art-w)*var(--px)),calc(100cqw - 92px));top:calc((100cqh - var(--art-h))/2 + var(--art-h)*var(--py))}
@media(max-width:680px){
  .scene.dedicated-art:not(.scene-3d){display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;padding:23px 0 17px}
  .dedicated-art:not(.scene-3d) .scene-heading{position:static;grid-row:1;margin:0 22px;max-width:none}
  .dedicated-art .scene-artboard{position:relative;grid-row:2;min-height:0}
  .dedicated-art:not(.scene-3d) .scene-objective{position:static;grid-row:3;margin:0 22px;max-width:none}
  .dedicated-art:not(.scene-3d) .scene-caption{position:static;grid-row:4;margin:0 22px}
  .dedicated-art .hotspot{left:clamp(85px,calc((100cqw - var(--art-w))/2 + var(--art-w)*var(--px)),calc(100cqw - 85px))}
  .dedicated-art .hotspot-label{white-space:nowrap;max-width:none;font-size:11px}
}
/* Keep puzzle alternatives reachable on shorter screens. */
.pool-modal{overflow:auto}.pool-stage{width:min(330px,72vw);margin:12px auto 18px}.pool-modal .modal-description{margin-bottom:12px}.pool-small button{min-height:40px;font-size:13px}
.hotspot{width:max-content}.hotspot-label{font-size:14px}.travel-links button,.tool-btn{font-size:14px}.scene-objective p{font-size:14px}.friend-card p{font-size:14px}.switch-button{font-size:13px}
@media(min-width:681px) and (max-height:800px){.menu-content{min-height:0;padding-top:16px;padding-bottom:22px}.menu-content h1{font-size:clamp(90px,10vw,133px);margin-top:23px;margin-bottom:22px}.menu-intro{margin-bottom:25px}.menu-rule{margin-top:23px}.menu-top{padding-top:24px;padding-bottom:24px}.menu-bottom{padding-top:8px;padding-bottom:18px}}
@media(max-width:680px){.hotspot{left:clamp(76px,var(--x),calc(100% - 76px))}.hotspot-label{font-size:12px}.tool-btn{font-size:12px}.travel-links button{font-size:12px}.scene-objective p{font-size:12px}.pool-stage{width:min(310px,72vw);margin:14px auto 20px}.pool-small{gap:12px}.pool-small button{font-size:12px}.switch-button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Occupant seven: the night, locked exits, rules in fresh ink, and the supply count. */
#toast{transition:opacity .22s,transform .22s}.game.night .scene{background:#0a1416}.game.night .scene-vignette{background:radial-gradient(ellipse 78% 72% at 50% 50%,transparent 28%,#01060ad1 100%),linear-gradient(180deg,#02090ce6,transparent 40%,transparent 64%,#02090cf0)}.game.night .game-header,.game.night .travel-bar,.game.night .toolbar{background:#0b1719}.game.night .scene-heading .eyebrow{color:#b9a97e}.game.night .scene-caption{color:#d6d8cc}.travel-links button.locked{opacity:.62;color:#98a39b}.travel-links button.locked svg{color:#8e998f}.travel-links button.locked:hover{background:none;color:#98a39b}.map-location:disabled:hover{background:none}.map-location:disabled small{color:#8b988f;letter-spacing:.08em}.map-location:disabled svg{color:#8b988f}.rule-row:last-child{background:none;margin-top:0;padding:14px 0}.rule-row.key{background:#79826812;margin-top:5px;padding:15px}.rule-added{font:600 10px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8a5a45;margin:24px 0 0;padding-bottom:7px;border-bottom:1px solid #8a5a4538}.rule-row.new span{color:#8a3b30}.rule-row.new p{color:#2f2622}.rule-new{display:inline-block;font:600 9px/1 var(--sans);font-style:normal;letter-spacing:.18em;color:#f6efe0;background:#8a3b30;padding:4px 6px 3px 7px;margin-left:10px;vertical-align:2px;border-radius:2px;transform:rotate(-2deg)}.receipt-supplies{font-size:12px;letter-spacing:.05em;color:var(--muted);border:1px dashed #d4c5a247;padding:10px 13px;margin:-6px 0 18px;line-height:1.6}.receipt-supplies .dot-divider{margin:0 7px}

/* A line with choices focuses the dialogue itself so Enter never picks a choice by accident; no ring around the whole box. */
.dialogue:focus{outline:none}
/* Out on the lake: the bay map, the lake wall's seven windows, and the paddle controls. */
.lake-modal{width:min(820px,100%);background:linear-gradient(130deg,#12303a,#0a1a24);overflow:auto}.lake-modal [hidden]{display:none!important}.lake-modal .modal-description{text-align:center;margin-bottom:8px}
.lake-stage{width:min(360px,80vw,calc(42dvh * .95));margin:2px auto 10px}.lake-map{display:block;width:100%;height:auto;border:1px solid #9fc4c52b;stroke:none;stroke-width:0}
.lake-water{fill:#123944}.lake-land{fill:#2b4536}.lake-house{fill:#b9b39a}.lake-pane{fill:#e0b86f}.lake-pane.seventh{fill:#0d1416}.lake-jetty{fill:#8c7556}
.lake-route{fill:none;stroke:#d7bd86;stroke-width:.22;stroke-dasharray:.9 .7;opacity:.75}.lake-route.back{opacity:.3}.lake-buoy{fill:none;stroke:#eadcb2;stroke-width:.22}
.lake-vessel ellipse,.lake-vessel rect{fill:#e3b45a;stroke:#1b2b33;stroke-width:.14}.lake-vessel.friend ellipse{fill:#caa050;opacity:.85}
.lake-facade{display:flex;justify-content:center;gap:9px;margin:4px 0 2px}.lake-window{position:relative;width:18px;height:24px;border:1px solid #c9b88a66;background:#1a2a2e;transition:background .3s,box-shadow .3s}
.lake-window.counted{background:#e7c983;box-shadow:0 0 12px #e7c98380}.lake-window.figure{background:#b3c2bb;box-shadow:0 0 14px #b3c2bb66}.lake-window.figure::after{content:'';position:absolute;left:5px;right:5px;top:5px;bottom:0;border-radius:5px 5px 1px 1px;background:#0b1113}.lake-window.dark{background:#070b0c;box-shadow:none}
.lake-phrase{min-height:58px;font-size:21px;margin:6px 0}.lake-meter{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.14em;color:var(--muted);margin:6px 0 10px}
.lake-controls{display:flex;gap:12px}.lake-controls .primary{flex:1;gap:12px;min-height:50px;padding:13px 16px;user-select:none;-webkit-user-select:none;touch-action:none}.lake-controls .primary:disabled{opacity:.6;cursor:default;transform:none}
@media(max-width:680px){.lake-stage{width:min(300px,76vw,calc(36dvh * .95))}.lake-controls{gap:8px}.lake-controls .primary{padding:12px 8px;font-size:13px;gap:6px}.lake-window{width:14px;height:20px}.lake-facade{gap:7px}.lake-phrase{font-size:18px;min-height:52px}}
