:root{--font-scale:1;--line-height:1.8;--bg:#0a0d14;--panel:#0a0d14d1;--ink:#e6e9f2;--muted:#8f99ad;--line:#e6e9f224;--accent:#5fd6c5;--accent-dim:#5fd6c524;--screen-bg:#06090fd9}html[data-theme=light]{--bg:#f1f2ee;--panel:#f8f8f5e6;--ink:#1c222e;--muted:#5b6474;--line:#1c222e29;--accent:#0e7f72;--accent-dim:#0e7f721a;--screen-bg:#e8eae4eb}html[data-theme=sepia]{--bg:#efe6d5;--panel:#f7f0e3eb;--ink:#33291c;--muted:#75664e;--line:#33291c2e;--accent:#7a5f2a;--accent-dim:#7a5f2a1f;--screen-bg:#eee4d1f2}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}html,body{overflow:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Literata,Georgia,serif}.stage{background-color:var(--bg);background-position:50%;background-size:cover;flex-direction:column;align-items:center;height:100dvh;transition:background 1.2s;display:flex;overflow-y:auto}.stage.bg-title{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/title.webp)}.stage.bg-ch01{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch01.webp)}.stage.bg-ch02{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch02.webp)}.stage.bg-ch03{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch03.webp)}.stage.bg-ch04{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch04.webp)}.stage.bg-ch05{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch05.webp)}.stage.bg-ch06{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch06.webp)}.stage.bg-ch07{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch07.webp)}.stage.bg-ch08{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch08.webp)}.stage.bg-ch09{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch09.webp)}.stage.bg-ch10{background-image:linear-gradient(#06080e59,#06080e8c),url(/bg/ch10.webp)}html[data-theme=light] .stage.bg-ch01,html[data-theme=light] .stage.bg-ch02,html[data-theme=light] .stage.bg-ch03,html[data-theme=light] .stage.bg-ch04,html[data-theme=light] .stage.bg-ch05,html[data-theme=light] .stage.bg-ch06,html[data-theme=light] .stage.bg-ch07,html[data-theme=light] .stage.bg-ch08,html[data-theme=light] .stage.bg-ch09,html[data-theme=light] .stage.bg-ch10,html[data-theme=light] .stage.bg-title,html[data-theme=sepia] .stage.bg-ch01,html[data-theme=sepia] .stage.bg-ch02,html[data-theme=sepia] .stage.bg-ch03,html[data-theme=sepia] .stage.bg-ch04,html[data-theme=sepia] .stage.bg-ch05,html[data-theme=sepia] .stage.bg-ch06,html[data-theme=sepia] .stage.bg-ch07,html[data-theme=sepia] .stage.bg-ch08,html[data-theme=sepia] .stage.bg-ch09,html[data-theme=sepia] .stage.bg-ch10,html[data-theme=sepia] .stage.bg-title{background:var(--bg)}.topbar{z-index:10;background:linear-gradient(180deg, var(--bg) 0%, transparent 140%);justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px clamp(14px,4vw,28px);display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:IBM Plex Mono,monospace;font-size:11px;overflow:hidden}.topbar .tools{flex-shrink:0;gap:8px;display:flex}.iconbtn{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:12px}.iconbtn:hover{color:var(--ink);border-color:var(--muted)}.iconbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.iconbtn .badge{color:var(--accent)}.pager{--page-pad-top:16px;--page-pad-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;position:fixed;inset:54px 0 38px;overflow:auto hidden}.pager::-webkit-scrollbar{display:none}.page{scroll-snap-align:start;scroll-snap-stop:always;padding:var(--page-pad-top) 0 var(--page-pad-bottom);scrollbar-width:none;flex:0 0 100%;justify-content:center;display:flex;overflow:hidden auto}.page::-webkit-scrollbar{display:none}@media (width<=700px){.pager{--page-pad-top:30px;top:56px}}.sheet{width:min(660px,92vw);font-size:calc(18px * var(--font-scale));line-height:var(--line-height);font-family:Literata,Georgia,serif}.sheet p{margin:0 0 1.1em}.sheet em{font-style:italic}.sheet.measure{visibility:hidden;pointer-events:none;position:fixed;top:0;left:-10000px}.interlude-head{font-family:IBM Plex Mono,monospace;font-size:calc(11.5px * var(--font-scale));letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;gap:14px;margin:.6em 0 1.4em;display:flex}.interlude-head:before,.interlude-head:after{content:"";border-top:1px solid var(--line);flex:1}.progress{text-align:center;letter-spacing:.12em;color:var(--muted);pointer-events:none;font-family:IBM Plex Mono,monospace;font-size:11px;position:fixed;bottom:10px;left:0;right:0}.cover-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:72vh;display:flex}.cover-card .kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:12px}.cover-card h2{text-wrap:balance;font-size:clamp(30px,6vw,46px);font-weight:600}.cover-card .pov{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px}.break-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:55vh;display:flex}.break-card .kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:12px}.break-card h2{text-wrap:balance;font-size:clamp(26px,5vw,38px);font-weight:600}.break-card button{letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--accent);background:var(--accent-dim);color:var(--ink);cursor:pointer;border-radius:999px;margin-top:10px;padding:14px 22px;font-family:IBM Plex Mono,monospace;font-size:13px}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chapter-card,.choices button{transition:none!important;animation:none!important}.pager{scroll-behavior:auto}.choices button.hiding{display:none}}.screenblock{font-family:IBM Plex Mono,monospace;font-size:calc(13px * var(--font-scale));background:var(--screen-bg);border:1px solid var(--line);white-space:pre;--screen-w:min(calc(100vw - 32px), 820px);width:var(--screen-w);box-sizing:border-box;margin:0 0 1.4em;margin-left:calc((100% - var(--screen-w)) / 2);margin-right:calc((100% - var(--screen-w)) / 2);border-radius:8px;padding:14px 18px;line-height:1.7;overflow-x:auto}.screenblock .dim{color:var(--muted)}.screenblock .hl{color:var(--accent)}.choices{flex-direction:column;gap:10px;margin-top:1.2em;margin-bottom:1.1em;display:flex}.choices button{font-family:Literata,Georgia,serif;font-size:calc(16.5px * var(--font-scale));text-align:left;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);cursor:pointer;border-radius:8px;max-height:240px;padding:14px 16px;transition:border-color .15s,background .15s,max-height .45s,opacity .35s,padding .45s,border-width .45s;overflow:hidden}.choices button:hover{background:var(--accent-dim);border-color:var(--accent)}.choices button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.choices button:disabled{cursor:default}.choices button.chosen{border-color:var(--accent);background:var(--accent-dim)}.choices button.hiding{opacity:0;pointer-events:none;border-width:0;max-height:0;padding-top:0;padding-bottom:0}.card-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;padding:24px;display:flex}.card-screen .kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:12px}.card-screen h1{letter-spacing:.01em;text-wrap:balance;font-size:clamp(38px,8vw,64px);font-weight:600}.card-screen .sub{color:var(--muted);max-width:46ch;font-size:17px;font-style:italic}.card-screen .actions{flex-direction:column;gap:10px;width:min(320px,80vw);margin-top:22px;display:flex}.card-screen .actions button{letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--accent);background:var(--accent-dim);color:var(--ink);cursor:pointer;border-radius:999px;padding:14px 18px;font-family:IBM Plex Mono,monospace;font-size:13px}.card-screen .actions button.secondary{border-color:var(--line);color:var(--muted);background:0 0}.card-screen .actions button:hover{border-color:var(--accent);color:var(--ink)}.card-screen .actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-screen .foot{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:12px;position:fixed;bottom:16px}.chapter-card{animation:1s fadein}.chapter-card .pov{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:12px}.drawer-veil{z-index:20;background:#00000073;animation:.28s veil-in;position:fixed;inset:0}.drawer{background:var(--bg);border-left:1px solid var(--line);z-index:21;width:min(420px,92vw);padding:20px;animation:.28s cubic-bezier(.2,.7,.3,1) drawer-in;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}@keyframes veil-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-veil{animation:none}}.drawer h2{margin-bottom:4px;font-size:20px}.drawer .count{color:var(--accent);margin-bottom:16px;font-family:IBM Plex Mono,monospace;font-size:12px}.drawer .close{float:right}.clue{border:1px solid var(--line);background:var(--panel);border-radius:8px;margin-bottom:10px;padding:12px 14px}.clue h3{margin-bottom:4px;font-size:15px}.clue h3 span{color:var(--accent);margin-right:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.clue p{color:var(--muted);font-size:14px;line-height:1.6}.drawer .empty{color:var(--muted);font-size:15px;font-style:italic}.setting{margin-bottom:18px}.setting .label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.setting .opts{flex-wrap:wrap;gap:8px;display:flex}.setting .opts button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-family:IBM Plex Mono,monospace;font-size:12px}.setting .opts button.on{border-color:var(--accent);color:var(--ink);background:var(--accent-dim)}.linklike{font:inherit;color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.linklike:hover{color:var(--ink)}.linklike:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.credits{width:min(560px,92vw);padding:48px 0 64px;font-size:15.5px;line-height:1.7}.credits h1{margin:22px 0 8px;font-size:34px;font-weight:600}.credits h2{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:28px 0 8px;font-family:IBM Plex Mono,monospace;font-size:12px}.credits p{color:var(--muted);margin:0 0 10px}.credits a{color:var(--accent)}.credits a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.credits ul{color:var(--muted);margin:0;padding:0;list-style:none}.credits li{border-bottom:1px solid var(--line);padding:5px 0}.credits li:last-child{border-bottom:none}.credits .track{color:var(--ink)}.endings-count{color:var(--muted);margin:0 0 18px}.endings-grid{gap:12px;display:grid}.ending-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:18px 20px}.ending-card.found{border-left:3px solid var(--accent)}.ending-card.locked{opacity:.75}.ending-name{margin-bottom:4px;font-size:20px;font-weight:600}.ending-card.locked .ending-name{letter-spacing:.3em;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:15px}.ending-line{color:var(--muted);font-size:15px;font-style:italic}.loading{min-height:100dvh;color:var(--muted);letter-spacing:.12em;place-items:center;font-family:IBM Plex Mono,monospace;font-size:13px;display:grid}@media (width<=700px){.screenblock{--screen-w:100vw;border-left:none;border-right:none;border-radius:0}}
