:root{color-scheme:dark;--paper:#ece7da;--muted:#bdc2b9;--red:#d38d7c;--gold:#d0ba8c;--text-size:20px;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif}*{box-sizing:border-box}body{margin:0;background:#141b1b;color:var(--paper);min-height:100svh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:1px solid #aaa99366;border-radius:3px;background:#172020d9;color:var(--paper);padding:11px 18px;cursor:pointer;min-height:44px}button:hover{border-color:var(--gold);background:#29322eef}button:disabled{opacity:.48;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.primary{background:var(--paper);color:#182020;border-color:var(--paper);font-weight:700}.primary:hover{background:#fff9e9;color:#182020}button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}[hidden]{display:none!important}#backdrop{position:fixed;inset:-2%;background:center/cover url(assets/living.webp);transition:filter 1.5s,opacity .5s;z-index:-4;animation:drift 35s ease-in-out infinite alternate}.shade{position:fixed;inset:0;z-index:-3;background:linear-gradient(90deg,#0e1717e8 0%,#121b1b90 43%,#12191922 80%),linear-gradient(0deg,#121919bd,transparent 60%)}.grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.topbar{position:relative;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:18px 4vw;gap:16px;border-bottom:1px solid #eee6cf22;background:#131d1d75}.brand{font-size:13px;letter-spacing:.12em;text-decoration:none}.tools{display:flex;gap:8px}.tools button{padding:7px 14px;font-size:13px;min-height:38px}.title-screen{max-width:1380px;margin:auto;min-height:calc(100svh - 77px);padding:6vh 7vw 5vh;display:flex;align-items:center;gap:6vw}.title-copy{width:min(750px,72%)}.eyebrow{font:10px/1.6 system-ui,sans-serif;letter-spacing:.23em;color:var(--gold);margin:0 0 26px}.title-kicker{font-size:15px;letter-spacing:.12em;color:var(--muted);margin-bottom:24px}h1{font-size:clamp(30px,3.7vw,58px);font-weight:500;line-height:1.65;letter-spacing:.08em;margin:0 0 24px;text-shadow:0 3px 15px #0009}h1>span{display:block}.red{color:var(--red)}.intro{font-size:17px;line-height:2;letter-spacing:.08em;color:#d5d6ca;margin-bottom:26px}.title-actions,.ending-actions{display:flex;gap:12px;flex-wrap:wrap}.title-actions button{min-width:170px}.small{font:12px/1.9 system-ui,sans-serif;color:var(--muted)}.credits{font:12px/1.9 system-ui,sans-serif;color:var(--muted);margin-top:18px;max-width:560px}.credits summary{cursor:pointer;min-height:30px}.credits p{padding:4px 0}.title-note{display:flex;flex-direction:column;gap:30px;transform:rotate(4deg);padding:34px 24px;color:#e0d1b4;border:1px solid #e5d4ae77;border-left:4px solid #818b84;background:#202825ab;box-shadow:0 12px 50px #0008;align-self:center;min-width:210px}.title-note span{font-size:12px;letter-spacing:.28em}.title-note b{font-size:19px;font-weight:400;line-height:2;letter-spacing:.13em}.title-note i{font-size:12px;font-style:normal;color:#b0b4a4}.play-screen{height:calc(100svh - 77px);min-height:470px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:20px 5vw 20px;max-width:1600px;margin:auto}.chapter-bar{display:flex;justify-content:space-between;font:12px/1.8 system-ui,sans-serif;letter-spacing:.13em;color:#e2dece;text-shadow:0 2px 5px #000;gap:12px}.dialogue-wrap{width:min(1040px,100%);align-self:center;position:relative;margin-top:130px}.dialogue{background:linear-gradient(110deg,#111b1bf5,#151e1ee8);border:1px solid #a9ada35f;border-top:2px solid #c3b48a99;padding:25px 33px 32px;min-height:177px;cursor:pointer;box-shadow:0 10px 50px #0004}.dialogue p{font-size:var(--text-size);line-height:1.95;letter-spacing:.055em;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.narrator{display:flex;align-items:center;gap:9px;font:11px/1.6 system-ui,sans-serif;letter-spacing:.1em;margin-bottom:9px;color:#e2decf;text-shadow:0 2px 4px #000}#narrator-dot{width:6px;height:6px;background:var(--gold);border-radius:50%}body[data-tone=tense] #narrator-dot{background:var(--red)}#replay-voice{margin-left:auto;padding:4px 11px;font-size:11px;min-height:32px}.advance-hint{display:block;text-align:right;font:11px/1.5 system-ui,sans-serif;color:#a9afa3;margin-top:12px}.play-tools{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.play-tools button{font:12px/1.5 system-ui,sans-serif;padding:8px 14px;min-height:38px}#save-status{font:11px/1.6 system-ui;color:var(--gold)}.choice-panel{border:1px solid #bfaf7c88;background:#17201ff5;padding:22px 26px;box-shadow:0 12px 40px #0008;margin-top:12px}.choice-panel h2{font-size:16px;line-height:1.7;font-weight:400;margin:0 0 16px}.choice-panel button{display:block;text-align:left;width:100%;margin-top:10px;font-size:16px;line-height:1.8;background:#252e2b}.choice-panel button:before{content:'›';color:var(--gold);padding-right:13px}.note-overlay{position:absolute;top:10%;left:50%;transform:translateX(-50%) rotate(-2deg);background:repeating-linear-gradient(#e8e0ca 0px,#e8e0ca 32px,#b6b1a233 33px);box-shadow:0 8px 50px #0009;border-left:5px solid #838f89;padding:20px 28px;max-width:550px;width:65%;color:#393c37}.note-overlay span{font-size:11px;letter-spacing:.2em;color:#697264}.note-overlay p{font-size:clamp(16px,1.7vw,22px);line-height:1.9;margin:12px 0 0;max-height:4.2em;overflow:hidden}.sound-caption{position:absolute;right:5vw;top:17%;font:13px/1.8 system-ui,sans-serif;background:#101818c9;padding:5px 12px;color:#d7ccb9;opacity:0;transition:opacity .3s;pointer-events:none}.sound-caption.visible{opacity:1}.ending-screen{max-width:850px;margin:auto;padding:13vh 7vw 7vh;text-align:center;min-height:calc(100svh - 77px);background:#111b1bd9}.ending-screen h2{font-weight:400;letter-spacing:.1em;font-size:clamp(28px,4vw,46px);line-height:1.8}.ending-screen>p:not(.small):not(.eyebrow){font-size:18px;line-height:2.1;white-space:pre-line}.ending-actions{justify-content:center;margin:30px 0}.ending-actions a{align-self:center;font-size:13px}dialog{width:min(600px,calc(100% - 28px));max-height:85svh;padding:26px;background:#18221ff9;color:var(--paper);border:1px solid #a5ae9570;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#030c0cbf;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;gap:16px}.modal-head h2{font-weight:400;font-size:23px;margin:0}.modal-head button{font-size:12px;padding:5px 12px}.range-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0;font-size:15px}.range-label input{width:55%;accent-color:#b7b28c}.range-label select{padding:8px;background:#29342e;color:var(--paper);border:1px solid #8e9c7f}.check-label{display:flex;align-items:center;gap:9px;font-size:14px}.check-label input{width:19px;height:19px;accent-color:#a7af89}.story-log{padding-left:22px}.story-log li{padding:15px 0;border-bottom:1px solid #949d8240;font-size:16px;line-height:1.9;white-space:pre-wrap}.story-log small{display:block;font:10px/1.6 system-ui;color:var(--gold)}.noscript{padding:30px;background:#121c1c;position:fixed;inset:20%;z-index:20}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.035)}}@media(min-width:1000px) and (min-height:850px){.title-screen{padding-top:8vh;padding-bottom:8vh}.dialogue{min-height:195px;padding:30px 40px}.dialogue-wrap{margin-bottom:3vh}}@media(max-width:700px){.topbar{padding:12px 17px;gap:8px}.brand{font-size:10px;letter-spacing:.04em}.tools button{padding:5px 10px}.title-screen{padding:34px 24px;align-items:flex-start;min-height:calc(100svh - 65px)}.title-copy{width:100%}.title-note{display:none}.eyebrow{font-size:9px;margin-bottom:20px}.title-kicker{font-size:12px;margin-bottom:24px}h1{font-size:clamp(26px,6.7vw,42px);line-height:1.8;letter-spacing:.03em;margin-bottom:16px}.intro{font-size:15px}.title-actions button{min-width:140px}.play-screen{height:calc(100svh - 65px);padding:15px 14px max(14px,env(safe-area-inset-bottom));min-height:490px}.chapter-bar{font-size:10px;letter-spacing:.04em}.dialogue-wrap{margin-top:125px}.dialogue{padding:18px 19px 18px;min-height:200px}.dialogue p{font-size:clamp(18px,var(--text-size),25px);line-height:1.85}.narrator{font-size:10px;letter-spacing:0}.play-tools{gap:6px}.play-tools button{font-size:11px;padding:7px 11px}.choice-panel{padding:16px;margin-top:10px}.choice-panel h2{font-size:14px;margin-bottom:10px}.choice-panel button{font-size:14px;padding:10px 12px}.note-overlay{top:11%;width:84%;max-width:400px;padding:14px 22px}.note-overlay p{font-size:16px}.sound-caption{top:9%;font-size:11px}.ending-screen{padding:8vh 24px}.ending-screen>p:not(.small):not(.eyebrow){font-size:16px}.small{font-size:11px}dialog{padding:21px}.range-label{font-size:13px}}@media(max-height:600px) and (orientation:landscape){.topbar{padding:5px 16px}.title-screen{padding:15px 6vw;align-items:flex-start;min-height:calc(100svh - 50px)}.title-copy{width:76%}h1{font-size:26px;line-height:1.4}h1>span{display:inline}.eyebrow{margin-bottom:10px}.title-kicker{margin:10px 0}.intro{font-size:13px;margin:12px 0}.title-actions button{padding:6px 16px;min-height:36px}.credits{margin:8px 0}.title-note{display:none}.play-screen{min-height:310px;height:calc(100svh - 50px);padding:10px 20px}.dialogue-wrap{margin-top:60px}.dialogue{min-height:110px;padding:12px 20px}.dialogue p{font-size:17px;line-height:1.7}.advance-hint{margin-top:4px;font-size:10px}.play-tools{margin-top:5px}.play-tools button{min-height:30px;padding:4px 10px}.narrator{margin-bottom:3px}.note-overlay{top:12%;padding:8px 20px;width:50%}.note-overlay p{font-size:14px;margin:5px 0}.choice-panel{position:absolute;bottom:48px;left:0;right:0;padding:14px 20px}.choice-panel button{display:inline-block;width:calc(50% - 8px);margin:4px;font-size:13px}.choice-panel h2{margin-bottom:8px;font-size:14px}.ending-screen{padding:25px 8vw}.ending-screen h2{margin:12px 0}.ending-actions{margin:15px 0}}@media(prefers-reduced-motion:reduce){#backdrop{animation:none;transition:none}*{scroll-behavior:auto!important}}
