@charset "UTF-8";
/* Game prose is read through its controls; editable fields keep native selection. */
body{-webkit-user-select:none;user-select:none}
#app,#app *,#modal,#modal *{-webkit-user-select:none;user-select:none}
#app :is(input,textarea,select,[contenteditable]:not([contenteditable="false"])),#modal :is(input,textarea,select,[contenteditable]:not([contenteditable="false"])),#app [contenteditable]:not([contenteditable="false"]) *,#modal [contenteditable]:not([contenteditable="false"]) *{-webkit-user-select:text;user-select:text}
select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible{outline:2px solid #e6c593;outline-offset:5px}
#app img,#modal img{-webkit-user-drag:none}
:root{color-scheme:dark;--ink:#0c1721;--paper:#eee9dc;--muted:#a8b6bd;--accent:#b7dace;--line:rgba(221,235,229,.22);--serif:"Yu Mincho","Noto Serif CJK SC","Songti SC","SimSun",serif;--sans:"Segoe UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.7 var(--sans)}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit}button:disabled{cursor:default;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e6c593;outline-offset:5px}button{touch-action:manipulation}button,input,a{-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}#app{min-height:100svh}.screen{position:relative;min-height:100svh;overflow:hidden;isolation:isolate}.scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:75% center;z-index:-4}.scene-art{animation:reveal .9s ease both}.scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,16,24,.9) 0%,rgba(5,16,24,.7) 32%,rgba(5,16,24,.05) 65%),linear-gradient(0deg,rgba(7,20,27,.72),transparent 36%)}.game-screen .scrim{background:linear-gradient(0deg,rgba(5,16,24,.86),rgba(5,16,24,.12) 40%,rgba(5,16,24,.05) 70%,rgba(5,16,24,.65))}.rule{height:1px;background:var(--line)}.eyebrow{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}.brand{font-size:11px;letter-spacing:.22em;font-weight:700;line-height:1.35}.brand span{display:block;font-size:8px;color:var(--muted);letter-spacing:.3em;margin-top:7px}.topbar{display:flex;align-items:center;justify-content:space-between;position:relative;gap:14px;padding:28px 42px;z-index:2}.topbar .tools{display:flex;gap:9px;align-items:center}.tool{background:rgba(9,26,35,.5);border:1px solid var(--line);border-radius:50%;width:40px;height:40px;display:inline-grid;place-items:center;font-size:14px;backdrop-filter:blur(8px)}.tool.wide{width:auto;border-radius:0;padding:0 15px;font-size:11px;letter-spacing:.08em}.tool.active{color:var(--accent);border-color:var(--accent)}.title-copy{position:relative;margin:7vh 0 0 8.2vw;width:48%;max-width:640px;padding-bottom:80px}.title-copy h1{font-family:var(--serif);font-size:clamp(52px,6.2vw,106px);font-weight:400;line-height:1.2;letter-spacing:.08em;margin:27px 0 15px;white-space:nowrap}.title-copy .latin{font-family:Georgia,serif;font-size:clamp(22px,2.4vw,36px);letter-spacing:.43em;color:#cbdedc}.title-copy .intro{font-family:var(--serif);font-size:16px;line-height:2.3;color:#d0d9d9;margin:30px 0 32px;max-width:410px}.title-copy .intro em{font-style:normal;color:var(--paper)}.title-copy .tiny{font-size:10px;letter-spacing:.1em;color:var(--muted);margin-top:20px}.primary{background:var(--paper);color:#152936;padding:15px 24px;font-size:13px;letter-spacing:.12em;display:inline-flex;gap:45px;align-items:center;justify-content:space-between;min-width:216px;transition:background .2s}.primary:hover{background:#fff9e9}.secondary{padding:12px 18px;background:rgba(13,33,44,.72);border:1px solid var(--line);font-size:12px;letter-spacing:.08em}.text-button{background:none;padding:10px 0;color:var(--muted);font-size:12px;text-align:left}.title-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.title-footer{position:absolute;bottom:26px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#b3c3c6}.title-footer .quote{font-family:var(--serif);font-size:13px;letter-spacing:.08em}.side-note{position:absolute;right:38px;top:43%;writing-mode:vertical-rl;font-size:10px;letter-spacing:.28em;color:#e6eeea;text-shadow:0 2px 5px #000}.chapter-label{position:absolute;left:43px;top:114px;line-height:1.4;max-width:40%}.chapter-label strong{font:26px var(--serif);display:block;margin-top:9px;letter-spacing:.08em}.chapter-label p{font-size:11px;color:#bbc9cd;margin-top:12px}.day-track{position:absolute;right:44px;top:119px;display:flex;gap:12px}.day-track span{font-size:10px;color:#a5b5be;border-top:2px solid var(--line);padding-top:8px;min-width:22px}.day-track span.current{color:#fff1d9;border-color:#ead2a7}.dialogue{position:absolute;bottom:5.5vh;left:8%;right:8%;max-width:1220px;margin:auto;background:linear-gradient(110deg,rgba(10,26,36,.96),rgba(12,30,40,.88));border:1px solid var(--line);padding:25px 32px 17px;box-shadow:0 14px 50px #05131d55;backdrop-filter:blur(22px);animation:rise .4s ease both}.speaker{display:flex;gap:16px;align-items:baseline;font-size:13px;letter-spacing:.22em;color:#e9d7b7}.speaker small{font-size:8px;letter-spacing:.22em;color:var(--muted)}.dialogue .line{font-size:clamp(15px,1.25vw,19px);line-height:1.9;min-height:3.8em;margin:15px 0 8px;max-width:970px}.dialogue .line.narrator{font-family:var(--serif);color:#becdd2}.dialogue-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:13px;border-top:1px solid var(--line);margin-top:15px;font-size:9px;color:var(--muted);letter-spacing:.08em}.next{background:none;color:#e9d7b7;padding:4px 0 4px 28px;font-size:11px;letter-spacing:.13em}.choices{display:grid;gap:9px;margin:15px 0 8px}.choice{display:flex;gap:15px;text-align:left;align-items:center;background:rgba(164,194,193,.06);border:1px solid var(--line);padding:11px 18px;font-size:14px;line-height:1.6}.choice:hover{background:#b7dace20;border-color:#bbd9cd}.choice .number{color:#9bbcb9;font-size:10px;flex:0 0 20px;font-family:Georgia,serif}.inspect-art{object-position:center}.inspect-banner{position:absolute;bottom:5vh;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:rgba(9,26,34,.88);border:1px solid var(--line);backdrop-filter:blur(14px);padding:20px 25px}.inspect-banner h2{font:22px var(--serif);margin:2px 0 5px}.inspect-banner p{font-size:12px;color:var(--muted);margin:0}.hotspot{position:absolute;border:1px solid #d1e8e6a0;background:#0d2638bf;box-shadow:0 0 0 8px #d0eddf12,0 6px 30px #07172566;border-radius:50%;height:48px;width:48px;display:grid;place-items:center;font-size:14px;color:#f5ecdd;transition:background .2s;backdrop-filter:blur(8px)}.hotspot span{position:absolute;top:54px;white-space:nowrap;background:#0b2330cf;padding:4px 12px;font-size:11px;border:1px solid var(--line)}.hotspot.found{background:#a9cfc2;color:#102a34;border-color:#e2eddd}.hotspot:hover{background:#3d666f}.inspection-label{position:absolute;left:43px;top:205px;max-width:310px;background:#0c202dd1;padding:17px 20px;border-left:2px solid #b4ccbf;font-size:12px;color:#c9d3d5}.panel-page{max-width:720px;margin:2vh 6vw 6vh 8vw;padding:30px 38px;background:#0d2230ed;border:1px solid var(--line);backdrop-filter:blur(24px);box-shadow:0 20px 70px #05141b55}.panel-page h2{font:32px var(--serif);margin:15px 0;color:#f0e4cf;letter-spacing:.08em}.panel-page p{font-size:14px;line-height:1.9;color:#c7d5d7}.puzzle-screen .scene-art{filter:brightness(.66)}.puzzle-screen .panel-page{max-width:640px;margin-top:10px}.puzzle-content{margin:23px 0}.puzzle-label{font-size:11px;color:#9eb7bd;letter-spacing:.08em}.puzzle-status{min-height:25px;font-size:13px;color:#e6cca6;margin:18px 0}.pads{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pad{background:#143242;border:1px solid #69879273;min-height:82px;font:24px Georgia,serif;color:#c7dcda}.pad.lit{background:#d1e5d7;color:#112e37;box-shadow:0 0 30px #bbdecc30}.signal{display:flex;height:55px;align-items:center;justify-content:center;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0 20px;overflow:hidden}.signal i{width:3px;background:var(--accent);opacity:.6;transition:height .2s}.slider-line{display:grid;grid-template-columns:66px 1fr 42px;align-items:center;gap:15px;margin:20px 0;font-size:12px}.slider-line input{accent-color:#bfd6cb;width:100%}.slider-line output{font-family:Georgia,serif;font-size:20px}.order-list{display:grid;gap:10px}.order-tile{background:#173646;border:1px solid var(--line);padding:13px 17px;text-align:left;font-size:13px;display:flex;gap:18px}.order-tile.selected{border-color:#ead2a7;background:#31505a}.order-tile span{color:#d4c1a4}.frame-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:260px;margin:20px auto}.frame-cell{aspect-ratio:1.35;background:#16313e;border:1px solid #6d91977d;position:relative}.frame-cell.on{background:#bfdbd0;box-shadow:inset 0 0 0 10px #729a9944}.frame-cell.on:after{content:'·';color:#133039;font-size:35px;position:absolute;inset:0;display:grid;place-items:center}.touch-wrap{display:grid;place-items:center;margin:24px 0}.touch-target{width:156px;height:156px;border:1px solid #afcebd;border-radius:50%;background:radial-gradient(circle,#46747c44,transparent 65%);position:relative;color:#e7deca;display:grid;place-content:center;gap:6px;text-align:center;font-size:11px;user-select:none;touch-action:none}.touch-target:before{content:'';position:absolute;inset:-12px;border:2px solid #d0e5d8;border-radius:50%;clip-path:polygon(50% 50%,50% 0%,var(--touch-x,50%) 0%,100% 100%,0% 100%);opacity:var(--touch-progress,0);transform:scale(calc(.94 + var(--touch-progress,0)*.06))}.touch-symbol{font:45px var(--serif);line-height:1}.night-screen .panel-page{max-width:530px;margin:5vh auto}.message-meta{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.avatar{height:45px;width:45px;border-radius:50%;object-fit:cover;object-position:75% 15%}.message-meta strong{letter-spacing:.2em;font-size:13px}.message-meta small{display:block;color:var(--muted);font-size:10px}.message-bubble{background:#22404e;border-radius:0 14px 14px 14px;padding:20px 23px;margin:27px 0;font-size:15px;line-height:2}.message-time{font-size:9px;color:var(--muted);text-align:center;margin:8px 0}.dayend-screen .panel-page{max-width:550px;margin-top:10vh}.journal-quote{font:19px/2.1 var(--serif)!important;color:#e4dccb!important;border-left:1px solid #b7dace;padding-left:22px;margin:28px 0!important}.memory-dots{display:flex;gap:12px;margin:23px 0}.memory-dots i{width:25px;height:3px;background:#4e6872}.memory-dots i.done{background:#bfded0}.ending-copy{max-width:650px;margin:4vh 0 5vh 7vw;padding:33px 36px;background:linear-gradient(90deg,#0a202aee,#0a202ac2);border-left:1px solid #c7d7c8;backdrop-filter:blur(12px)}.ending-copy h1{font:48px var(--serif);margin:18px 0;letter-spacing:.1em}.ending-copy .letter{white-space:pre-line;font:17px/2.1 var(--serif);color:#e8dfcb;margin:24px 0}.ending-copy .actions{display:flex;gap:12px;flex-wrap:wrap}dialog{color:var(--paper);background:#102633;border:1px solid #526a72;width:min(720px,calc(100vw - 32px));max-height:85svh;padding:0;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#07131ac9;backdrop-filter:blur(7px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#102633;z-index:1}.modal-head h2{font:25px var(--serif);margin:0;letter-spacing:.07em}.modal-body{padding:20px 28px 30px;font-size:14px;line-height:1.95;color:#d1dcda}.modal-body p{margin:10px 0 20px}.modal-body h3{font-size:12px;letter-spacing:.1em;color:#dbccac;margin:25px 0 12px}.modal-body .hint{color:var(--muted);font-size:12px}.modal-body .actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.clue-detail{font-family:var(--serif);font-size:18px!important;line-height:2.1!important}.clue-insight{border-left:2px solid #b7dace;padding-left:20px;color:#bad5cb}.log-entry{padding:13px 0;border-bottom:1px solid #dae8dd16}.log-entry strong{display:block;font-size:10px;letter-spacing:.13em;color:#d3c09c}.log-entry p{margin:4px 0;font-size:14px}.album-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.album-card{margin:0;border:1px solid var(--line);background:#112c39}.album-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.album-card figcaption{padding:9px 12px;font-size:11px;color:#d0dcca}.album-locked{aspect-ratio:16/9;display:grid;place-items:center;background:#0c1c27;color:#77939a;font-size:12px}.setting-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.setting-row label{font-size:13px}.setting-row input[type=range]{accent-color:#bfd6cb;max-width:160px}.setting-row input[type=checkbox]{accent-color:#bfd6cb;width:18px;height:18px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);transition:transform .25s;background:#d9e9de;color:#17303b;border:1px solid #fff5;padding:10px 18px;font-size:12px;z-index:10;max-width:92vw;text-align:center}#toast.visible{transform:translateX(-50%) translateY(0)}.noscript{padding:30px}.caption{color:var(--muted);font-size:11px}.reduced-motion *, .reduced-motion *::before,.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes reveal{from{opacity:.5}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1800px){.topbar{padding:35px 60px}.title-copy{margin-top:12vh}.dialogue{bottom:7vh}.panel-page{margin-top:7vh!important}.chapter-label{left:60px}}
@media(max-width:1000px){.topbar{padding:20px 24px}.title-copy{margin-left:6%;width:58%}.title-copy h1{font-size:65px}.title-copy .latin{font-size:22px}.title-copy .intro{font-size:14px}.dialogue{left:5%;right:5%;bottom:4vh;padding:20px 24px 13px}.chapter-label{left:26px;top:98px}.chapter-label strong{font-size:22px}.day-track{right:25px;top:100px}.panel-page{margin-left:5vw;padding:23px 27px}.title-footer{left:25px;right:25px}.side-note{right:20px}.inspection-label{left:27px;top:180px;max-width:260px}.puzzle-screen .panel-page{margin-top:10px;max-width:570px}.ending-copy{margin:5vh 5vw;max-width:570px}}
@media(max-width:640px){body{font-size:14px}.screen{min-height:100svh}.topbar{padding:18px 18px;gap:9px}.brand{font-size:9px}.brand span{font-size:6px}.topbar .tools{gap:6px}.tool{width:34px;height:34px;font-size:13px}.tool.wide{font-size:10px;padding:0 10px}.title-screen .scene-art{object-position:73% top;height:72%;object-fit:cover}.title-screen .scrim{background:linear-gradient(0deg,#091d29 8%,#091d29e6 31%,#091d2930 70%,#091d2950);height:100%}.title-copy{width:auto;margin:43svh 25px 0;padding-bottom:100px}.title-copy h1{font-size:52px;margin:16px 0 8px}.title-copy .latin{font-size:17px;letter-spacing:.35em}.title-copy .intro{font-size:13px;margin:20px 0 22px;line-height:2}.title-copy .eyebrow{font-size:8px}.title-copy .tiny{font-size:9px;margin-top:12px}.title-actions{gap:12px}.primary{min-width:190px;padding:13px 18px;font-size:12px;gap:25px}.title-footer{left:25px;right:25px;bottom:18px;font-size:8px;gap:15px}.title-footer .quote{display:none}.side-note{top:24%;right:18px;font-size:8px}.game-screen .scene-art{object-position:73% top;height:76%;object-fit:cover}.game-screen .scrim{background:linear-gradient(0deg,#0a1d29 6%,#0a1d29d9 32%,transparent 65%,#071824a8)}.chapter-label{left:20px;top:86px;max-width:70%}.chapter-label strong{font-size:20px}.chapter-label p{display:none}.day-track{right:18px;top:88px;gap:6px}.day-track span{min-width:12px;font-size:8px}.dialogue{bottom:18px;left:16px;right:16px;padding:19px 20px 13px;max-height:60svh;overflow:auto}.dialogue .line{font-size:15px;line-height:1.85;min-height:4.5em;margin:12px 0}.speaker{font-size:11px}.speaker small{font-size:7px}.choice{padding:10px 12px;font-size:13px;gap:7px}.dialogue-footer{font-size:8px}.dialogue-footer .keyboard-hint{display:none}.inspect-screen .scene-art{height:80%;object-fit:cover;object-position:50% center}.inspect-banner{left:16px;right:16px;bottom:20px;display:block;padding:18px}.inspect-banner .primary{margin-top:15px;width:100%}.inspect-banner h2{font-size:19px}.inspect-banner p{font-size:11px}.inspection-label{left:20px;right:20px;top:145px;max-width:none;font-size:11px;padding:10px 14px}.hotspot{width:42px;height:42px}.hotspot span{font-size:10px;padding:3px 8px;top:48px}.hotspot:nth-of-type(1){left:16%!important;top:40%!important}.hotspot:nth-of-type(2){left:48%!important;top:56%!important}.hotspot:nth-of-type(3){left:78%!important;top:32%!important}.panel-page,.puzzle-screen .panel-page{margin:20px 16px 25px;padding:22px;max-width:none}.panel-page h2{font-size:26px}.panel-page p{font-size:13px}.puzzle-screen{min-height:100svh;padding-bottom:12px}.puzzle-screen .scene-art,.night-screen .scene-art,.dayend-screen .scene-art{height:100%;object-position:72% center}.puzzle-content{margin:20px 0}.pad{min-height:70px}.pads{gap:8px}.slider-line{grid-template-columns:54px 1fr 28px;gap:10px}.night-screen .panel-page{margin:35px 20px}.dayend-screen .panel-page{margin:13vh 20px 50px}.ending-copy{margin:35svh 16px 25px;padding:23px 25px}.ending-copy h1{font-size:34px}.ending-copy .letter{font-size:15px;line-height:1.9}.ending-screen .scene-art{height:68%;object-position:70% top}.modal-head{padding:20px}.modal-body{padding:18px 20px 24px}.modal-head h2{font-size:22px}.album-grid{grid-template-columns:1fr}.setting-row input[type=range]{max-width:120px}.chapter-label .eyebrow{font-size:8px}}
@media(max-height:630px) and (min-width:641px){.topbar{padding:13px 24px}.title-copy{margin-top:2vh;padding-bottom:70px}.title-copy h1{font-size:58px;margin:14px 0 7px}.title-copy .intro{margin:15px 0;font-size:13px;line-height:1.9}.title-copy .latin{font-size:21px}.title-copy .tiny{margin-top:10px}.title-footer{bottom:13px}.chapter-label{top:82px}.day-track{top:83px}.dialogue{bottom:20px;max-height:60vh;overflow:auto;padding:16px 23px 12px}.dialogue .line{min-height:2.6em;font-size:14px;margin:10px 0}.choice{padding:7px 13px;font-size:12px}.dialogue-footer{margin-top:9px;padding-top:8px}.panel-page,.puzzle-screen .panel-page{margin:10px 5vw 25px;padding:20px 27px}.panel-page h2{font-size:25px;margin:8px 0}.puzzle-content{margin:15px 0}.puzzle-screen{overflow:auto}.puzzle-screen .scene-art{position:fixed}.night-screen .panel-page{margin:10px auto 25px}.dayend-screen .panel-page{margin-top:20px}.ending-copy{margin-top:15px}.title-copy .eyebrow{font-size:8px}}
/* English edition: editorial title and room for longer dialogue. */
:root{--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif}
.title-copy h1{font-family:Georgia,serif;font-size:clamp(66px,6.3vw,108px);line-height:.93;letter-spacing:.025em;margin:24px 0 23px}
.title-copy .latin{font-family:var(--sans);font-size:12px;letter-spacing:.43em}
.title-copy .intro{font-family:var(--sans);font-size:14px;line-height:1.9;margin:27px 0}
.hotspot span{max-width:180px;text-align:center;white-space:normal;line-height:1.4;left:50%;transform:translateX(-50%);min-width:100px}
.panel-page h2{line-height:1.15}.choice{letter-spacing:0}.slider-line{grid-template-columns:66px 1fr 42px}.order-tile span strong{font-size:13px;color:#e2d4b8}.order-tile{font-size:12px;line-height:1.65}.ending-copy .letter{font-size:17px;line-height:1.85}.ending-copy h1{line-height:1.1;font-size:46px}.dialogue-footer{letter-spacing:0}
@media(max-width:1000px){.title-copy h1{font-size:74px}.title-copy .intro{font-size:13px}.ending-copy h1{font-size:38px}}
@media(max-width:640px){.title-copy h1{font-size:62px;margin:16px 0}.title-copy .latin{font-size:9px}.title-copy .intro{font-size:12px;margin:17px 0 21px;line-height:1.9}.title-copy .tiny{font-size:8px;letter-spacing:.07em}.hotspot span{max-width:115px;min-width:96px}.dialogue .line{font-size:14px;line-height:1.75}.choice{font-size:12px}.panel-page h2{font-size:25px}.panel-page p{font-size:12px}.ending-copy h1{font-size:34px}.ending-copy .letter{font-size:14px}.primary{font-size:11px}.title-footer>span{max-width:220px}.inspection-label{font-size:10px}.inspect-banner h2{font-size:18px}.chapter-label strong{max-width:250px;font-size:20px}}
@media(max-height:630px) and (min-width:641px){.title-copy h1{font-size:54px;margin:14px 0}.title-copy .latin{font-size:9px}.title-copy .intro{margin:15px 0;font-size:12px;line-height:1.7}.title-copy{padding-bottom:85px}.title-copy .tiny{font-size:8px}.title-actions .text-button{font-size:10px}.title-copy .primary{padding:11px 18px}.panel-page h2{font-size:23px}}

/* A separate, skippable studio film. The title keeps SENA's original artwork. */
.film-screen{height:100svh;min-height:320px;background:#080f14;display:flex;flex-direction:column}
.opening-film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#080f14;z-index:-3}
.film-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#050e16ad,transparent 24%,transparent 65%,#050e16e8)}
.film-topbar{flex-wrap:wrap;row-gap:12px}
.film-skip{display:inline-flex;align-items:center;gap:18px;min-height:42px;white-space:nowrap;background:#0b1c28a6;backdrop-filter:blur(8px);font-size:11px}
.film-caption{margin:auto 7vw 6vh;max-width:650px;pointer-events:none;text-shadow:0 2px 18px #000}
.film-caption .eyebrow{font-size:9px;letter-spacing:.3em;color:#dbccae}
.film-caption p{font:clamp(22px,2.8vw,38px)/1.25 var(--serif);font-weight:400;color:#ede7d9;margin:12px 0 18px}
.film-caption>span{font-size:9px;letter-spacing:.2em;color:#aabec5}
@media(max-width:640px){.film-caption{margin:auto 24px 6svh}.film-caption p{font-size:25px;max-width:270px}.film-caption .eyebrow{font-size:8px}.film-topbar{padding:18px}.film-skip{padding:10px 12px;font-size:10px;gap:10px;min-height:36px}}
@media(max-height:500px){.film-caption{margin-bottom:24px}.film-caption p{font-size:23px;margin:8px 0 10px}.film-topbar{padding-top:13px;padding-bottom:13px}}

/* Persistent visual director: the scene stays mounted while dialogue changes. */
#visual-stage{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--ink);pointer-events:none;user-select:none}
#visual-stage .stage-image,#visual-stage .stage-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;pointer-events:none}
#visual-stage .stage-film{opacity:0;transition:opacity .55s ease}
#visual-stage .stage-film.ready{opacity:1}
#app{position:relative;z-index:1}
body:has(.puzzle-screen) #visual-stage{filter:brightness(.66)}
body.reduced-motion #visual-stage .stage-film{display:none}
.memory-view,.clue-art{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--line);margin:0 0 20px}
.clue-art{max-height:44svh;object-fit:contain;background:#0a1c25}
.memory-film{display:block;width:100%;max-height:62svh;background:#07131a;aspect-ratio:16/9;object-fit:contain}
.dayend-extra{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.album-filters{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}
.filter-chip{font-size:11px;padding:7px 10px;background:#183441;border:1px solid var(--line);color:var(--muted)}
.filter-chip[aria-pressed="true"]{background:#bdd7cd;color:#102633;border-color:#bdd7cd}
.expanded-album{margin-top:22px;gap:15px}
.album-tile{display:block;padding:0;text-align:left;border:1px solid var(--line);background:#112c39;overflow:hidden;min-width:0}
.album-tile:disabled{opacity:1;color:var(--muted)}
.album-tile img,.album-tile .album-locked{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.album-tile .album-locked{display:grid;place-items:center;font-size:11px;background:#0c202b}
.album-tile-copy{display:grid;gap:7px;padding:12px 14px;line-height:1.45}
.album-tile-copy small{font-size:8px;letter-spacing:.12em;color:var(--accent)}
.album-tile-copy strong{font-size:12px;font-weight:400;color:var(--paper)}
.album-tile-copy>span{font-size:10px;color:var(--muted)}
@media(max-width:650px){.expanded-album{gap:10px}.album-tile-copy{padding:11px 10px}.album-tile-copy strong{font-size:11px}.filter-chip{font-size:10px;padding:7px 8px}.clue-art{max-height:32svh}.dayend-extra .secondary{font-size:11px;padding:11px 14px}}

.scene-credit{display:block;margin-top:5px;font:8px/1.25 var(--sans);letter-spacing:.12em;color:#cbded8}
body:not(.scene-motion-on) .scene-credit{display:none}
body.scene-motion-on .topbar{background:linear-gradient(90deg,#091b25 0 240px,transparent 430px)}

dialog:has(.expanded-album),dialog:has(.memory-view),dialog:has(.memory-film){width:min(1000px,calc(100vw - 32px))}
@media(min-width:900px){.expanded-album{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){#visual-stage .stage-image,#visual-stage .stage-film{object-position:75% center}body:has(.title-screen) #visual-stage .stage-image{object-position:80% center}}
