:root{--ink:#eee3d1;--muted:#b5a797;--gold:#bfa074;--line:#bfa07459;--wine:#432a38;--dark:#171218;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;background:var(--dark);color:var(--ink);font-family:var(--serif);width:100%;min-height:100%}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.38;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e6c38d;outline-offset:5px}button{touch-action:manipulation}button:hover:not(:disabled){color:#ffe5b8}button, input, select{-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}#app{min-height:100svh}.screen{position:relative;min-height:660px;height:100svh;overflow:clip}.title-art,.title-shade,.scene-bg,.scene-vignette,.ending-art,.ending-shade{position:absolute;inset:0;background-size:cover;background-position:center}.title-art{background-position:65% center;animation:arrive 1.4s ease both}.title-shade{background:linear-gradient(90deg,rgba(18,13,20,.97) 0%,rgba(18,13,20,.91) 25%,rgba(18,13,20,.65) 40%,rgba(18,13,20,.06) 64%),linear-gradient(0deg,rgba(12,9,15,.85),transparent 29%,transparent 75%,rgba(12,9,15,.3))}.outer-frame{position:absolute;inset:19px;border:1px solid var(--line);pointer-events:none;z-index:5}.outer-frame:before,.outer-frame:after{content:"";position:absolute;width:22px;height:22px;border:1px solid var(--gold)}.outer-frame:before{left:4px;top:4px;border-right:0;border-bottom:0}.outer-frame:after{right:4px;bottom:4px;border-left:0;border-top:0}.title-header{position:absolute;top:40px;left:47px;right:47px;display:flex;justify-content:space-between;font-family:Georgia,serif;font-size:10px;letter-spacing:.25em;color:#d1b995;z-index:6}.title-content{position:relative;display:flex;align-items:center;flex-direction:column;width:min(48%,680px);height:100%;min-height:660px;justify-content:center;padding:67px 40px 75px;text-align:center;z-index:6}.seal{width:39px;height:49px;fill:none;stroke:var(--gold);stroke-width:.8;margin-bottom:20px}.overline{font-family:Georgia,serif;letter-spacing:.27em;font-size:9px;color:var(--gold);font-weight:400;margin:0 0 22px}.title-content h1{font-weight:400;font-size:clamp(35px,4.1vw,66px);letter-spacing:.15em;margin:0;white-space:nowrap;line-height:1.8}.title-content h1 span{display:block;font-size:1.28em;line-height:1.2;margin:0 0 15px}.title-sub{font-size:13px;letter-spacing:.21em;color:#cbbda9;line-height:2;margin:16px 0 25px}.ornament{width:190px;height:26px;fill:none;stroke:var(--gold);stroke-width:.7}.title-menu{width:min(300px,100%);margin-top:23px}.title-menu>button{display:flex;justify-content:center;align-items:center;gap:16px;width:100%;background:none;border:0;padding:14px 8px;letter-spacing:.17em;font-size:17px}.title-menu>button small{font-size:8px;letter-spacing:.16em;color:var(--muted);font-family:Georgia,serif}.title-menu .menu-primary{border:1px solid var(--line);background:linear-gradient(90deg,#432a3833,#5c3b4d66,#432a3833);position:relative}.menu-primary:before,.menu-primary:after{content:"◆";position:absolute;font-size:6px;color:var(--gold);top:21px}.menu-primary:before{left:15px}.menu-primary:after{right:15px}.menu-primary:hover{border-color:var(--gold);background:#56364888}.menu-secondary{display:flex;justify-content:center;gap:32px;margin-top:8px}.menu-secondary button{border:0;background:none;padding:10px 0;font-size:13px;letter-spacing:.1em}.menu-secondary small{font:8px Georgia,serif;display:block;margin-top:6px;color:var(--muted);letter-spacing:.15em}.edition{font:10px var(--serif);letter-spacing:.12em;color:var(--muted);margin:24px 0 0}.edition span{margin:0 5px;color:var(--gold)}.title-quote{position:absolute;right:6.5%;top:25%;writing-mode:vertical-rl;line-height:2.4;letter-spacing:.3em;font-size:14px;text-shadow:0 2px 5px #000,0 0 15px #000;z-index:6}.title-quote span{display:block}.title-footer{position:absolute;bottom:38px;left:47px;right:47px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:#c2b6a7;z-index:6}.title-footer button{border:0;background:none;font-size:10px;color:inherit;padding:8px}.scene-bg{background-position:center;transition:opacity .35s}.scene-vignette{background:linear-gradient(0deg,#120f16 0%,transparent 50%,#100c1555),linear-gradient(90deg,#100c1544,transparent 50%,#100c1544)}.portrait{position:absolute;left:50%;bottom:-52vh;transform:translateX(-50%);height:140vh;max-height:1400px;max-width:none;pointer-events:none;filter:drop-shadow(0 8px 22px #100c1566);animation:portrait-in .7s ease both}.scene-header{position:absolute;top:34px;left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;z-index:6}.quiet-button{border:0;background:none;padding:10px 12px;font-size:12px;letter-spacing:.1em;color:#ddd0b9}.chapter{text-align:center;display:flex;flex-direction:column;gap:7px;text-shadow:0 1px 6px #000}.chapter small{font:9px Georgia,serif;letter-spacing:.27em;color:var(--gold)}.chapter span{font-size:13px;letter-spacing:.21em}.scene-location{position:absolute;left:52px;top:126px;display:flex;flex-direction:column;align-items:center;gap:18px;text-shadow:0 1px 8px #000;color:#dac6a4;font-size:12px;letter-spacing:.2em}.scene-location>span:nth-child(2){writing-mode:vertical-rl}.scene-location i{height:50px;border-left:1px solid var(--line)}.scene-location small{font-size:10px;writing-mode:vertical-rl;color:#c1b19e}.small-diamond{font-size:16px}.dialogue{position:absolute;left:8%;right:8%;bottom:38px;z-index:10;background:linear-gradient(100deg,rgba(29,21,31,var(--dialogue-opacity,.96)),rgba(25,19,29,calc(var(--dialogue-opacity,.96) - .04)));border:1px solid #bfa07488;box-shadow:0 15px 60px #0005;padding:0 30px}.dialogue:before{content:"";position:absolute;inset:5px;border:1px solid #bfa07425;pointer-events:none}.speaker-row{display:flex;align-items:baseline;gap:15px;position:relative;margin-top:-13px;z-index:1}.speaker-rule{height:1px;width:17px;background:var(--gold)}#speaker{background:#261d29;color:#f0d6a9;font-size:21px;letter-spacing:.14em;padding:0 12px;font-family:Georgia,var(--serif)}#speakerRole{color:#c6b296;font:8px Georgia,serif;letter-spacing:.23em;background:#261d29;padding:0 7px}.dialogue-advance{display:block;width:100%;padding:18px 8px 16px;text-align:left;border:0;background:none;min-height:127px;position:relative;color:var(--ink)!important}#line{display:block;font-size:clamp(16px,1.5vw,21px);line-height:2;letter-spacing:.07em;padding-right:15px;min-height:75px;white-space:pre-wrap}.next-hint{display:flex;justify-content:flex-end;align-items:center;gap:10px;font-size:9px;color:var(--gold);letter-spacing:.18em;margin-top:8px}.next-hint b{font-size:16px;font-weight:400}.dialogue-footer{border-top:1px solid #bfa07425;display:flex;justify-content:space-between;align-items:center;min-height:39px;padding:0 8px 2px;position:relative;z-index:1}.dialogue-footer>span{font:9px Georgia,serif;color:#a18a6c;letter-spacing:.2em}.dialogue-footer nav{display:flex;gap:22px}.dialogue-footer button{font:11px var(--serif);background:none;border:0;padding:10px 0;color:#cdbda7;min-width:27px}.dialogue-footer button[aria-pressed=true]{color:#fbe0ad;border-bottom:1px solid var(--gold)}.choices{position:absolute;z-index:15;left:50%;top:28%;transform:translateX(-50%);width:min(500px,80%);text-align:center}.choice-heading{background:radial-gradient(ellipse,#18121de0,transparent 72%);padding:0 0 14px}.choice-heading .ornament{width:140px}.choice-heading p{margin:7px 0 0;font-size:13px;letter-spacing:.2em;text-shadow:0 1px 5px #000}.choice-button{position:relative;width:100%;border:1px solid #bfa074a0;background:linear-gradient(90deg,#1a131ef5,#372333f5,#1a131ef5);padding:19px 26px;margin-bottom:13px;letter-spacing:.08em;font-size:15px;line-height:1.6;box-shadow:0 5px 25px #0005}.choice-button:before{content:"◇";color:var(--gold);margin-right:15px;font-size:11px}.choice-button:hover{background:#59384ce6;border-color:#e4c38d;transform:translateY(-1px)}.scene-screen.is-cg .scene-bg{background-position:65% center}.scene-screen.is-cg .portrait{display:none}.scene-screen.is-cg .scene-location{display:none}.restore-ui{position:absolute;bottom:30px;right:30px;border:1px solid var(--line);background:#171218ce;padding:12px 20px;z-index:20;font-size:12px}.scene-screen.ui-hidden .dialogue,.scene-screen.ui-hidden .scene-header,.scene-screen.ui-hidden .scene-location,.scene-screen.ui-hidden .choices,.scene-screen.ui-hidden .outer-frame{visibility:hidden}.ending-art{background-position:60% center}.ending-shade{background:linear-gradient(90deg,#171218f5,#171218cb 40%,#17121844 70%)}.ending-screen[data-ending=promise] .ending-art{}.ending-content{position:relative;z-index:6;padding:65px 30px;min-height:660px;height:100%;width:55%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.ending-number{font:10px Georgia,serif;color:var(--gold);letter-spacing:.25em;margin:35px 0 15px}.ending-content h2{font-size:clamp(28px,3.6vw,50px);font-weight:400;letter-spacing:.13em;margin:0 0 25px}.ending-content #endingText{font-size:14px;line-height:2.5;white-space:pre-line;letter-spacing:.08em}.ending-sign{font:16px Georgia,var(--serif);margin:25px 0 40px;color:#d9bd8f;letter-spacing:.13em}.ending-sign>span:nth-child(2){margin:0 12px;font-size:12px}.ending-buttons{display:flex;flex-direction:column;gap:8px;min-width:240px}.gold-button{background:#442e3d;border:1px solid #bfa07499;padding:14px 22px;letter-spacing:.12em;color:var(--ink);font-size:14px}.gold-button:hover{background:#563e4e}.ending-content .overline{margin-bottom:16px}
dialog{width:min(720px,calc(100% - 40px));max-height:calc(100svh - 56px);padding:7px;border:1px solid var(--gold);background:#201923;color:var(--ink);box-shadow:0 30px 120px #000b}dialog::backdrop{background:#09070cbd;backdrop-filter:blur(7px)}.modal-frame{border:1px solid #bfa07444;padding:26px 30px 35px}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.modal-header .overline{font-size:8px;margin-bottom:8px}.modal-header h2{font-size:25px;font-weight:400;letter-spacing:.16em;margin:0}.modal-header button{background:none;border:0;color:var(--gold);font-size:28px;padding:0 7px;line-height:1}.modal-copy{font-size:14px;line-height:2.1;color:#d2c5b4}.modal-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:20px}.form-row{display:flex;gap:10px;align-items:center;margin-top:20px}.form-row input{min-width:0;flex:1;background:#130e18;border:1px solid var(--line);color:var(--ink);padding:13px 15px;font-size:17px;outline-offset:2px}.form-label{display:block;font-size:13px;letter-spacing:.1em}.settings-row{padding:17px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bfa07422;gap:15px;font-size:14px}.settings-row select{padding:10px;border:1px solid var(--line);background:#171218;color:var(--ink);min-width:140px}.settings-row input[type=checkbox]{width:19px;height:19px;accent-color:var(--gold)}.slot{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);background:#171218;padding:16px 18px;margin:12px 0;width:100%;text-align:left}.slot-title{display:block;font-size:15px;margin-bottom:8px}.slot-meta{display:block;font-size:10px;color:var(--muted);line-height:1.8}.slot-no{font:23px Georgia,serif;color:var(--gold)}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.log-entry{border-bottom:1px solid #bfa07422;padding:14px 0}.log-entry strong{font:12px Georgia,var(--serif);color:var(--gold);letter-spacing:.1em}.log-entry p{font-size:14px;line-height:2;margin:7px 0;color:#e0d3bf}.log-entry.choice-log p{color:#bca5bb;font-size:12px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-card{border:1px solid var(--line);background:#171218;text-align:left;padding:0;overflow:hidden}.gallery-card img{width:100%;height:180px;object-fit:cover;display:block}.gallery-card.portrait-card img{object-fit:contain;background:radial-gradient(ellipse at center,#53404c,#171218)}.gallery-card strong{font-size:14px;font-weight:400;display:block;padding:13px 14px 7px}.gallery-card small{font:9px Georgia,var(--serif);letter-spacing:.17em;display:block;padding:0 14px 16px;color:var(--gold)}.gallery-detail{display:block;width:100%;height:auto;max-height:60svh;object-fit:contain;background:#151018}.gallery-detail.standing{background:radial-gradient(ellipse,#5d4a59,#171218)}.gallery-caption{font-size:12px;line-height:1.9;color:var(--muted);margin:15px 0}.gallery-back{margin-top:15px}#toast{position:fixed;z-index:100;bottom:22px;left:50%;transform:translateX(-50%);background:#241b29f5;border:1px solid var(--line);padding:12px 22px;font-size:12px;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .2s;text-align:center;max-width:90%;width:max-content}#toast.visible{opacity:1}body.large-text #line{font-size:24px}body.large-text .dialogue-advance{min-height:155px}body.large-text .dialogue{bottom:30px}body.large-text .log-entry p{font-size:18px}@keyframes arrive{from{opacity:.2}to{opacity:1}}@keyframes portrait-in{from{opacity:0}to{opacity:1}}
@media(min-width:1500px){.title-content{width:46%}.title-art{background-position:right center}.title-content h1{font-size:65px}.title-content{gap:3px}}
@media(max-height:760px) and (min-width:761px){.screen,.title-content,.ending-content{min-height:540px}.title-content{padding-top:58px;padding-bottom:60px}.title-content h1{font-size:40px}.seal{height:32px;margin-bottom:8px}.overline{margin-bottom:12px}.title-sub{margin:10px 0 12px}.title-menu{margin-top:12px}.edition{margin-top:16px}.title-menu>button{padding:11px 8px}.title-content h1 span{margin-bottom:5px}.title-footer{bottom:29px}.dialogue{bottom:30px}.scene-location{top:100px}}
@media(max-width:760px){.screen{height:100svh;min-height:670px}.outer-frame{inset:12px}.title-art{background-position:64% top;background-size:auto 73%;background-repeat:no-repeat;background-color:#18121b}.title-shade{background:linear-gradient(0deg,#171218 0%,#171218 19%,#171218e6 36%,#17121866 61%,transparent 80%,#100c1544)}.title-header{top:29px;left:29px;right:29px;font-size:7px;letter-spacing:.18em}.title-header span:last-child{display:none}.title-content{position:absolute;width:100%;height:auto;min-height:0;bottom:65px;padding:0 30px}.seal{display:none}.title-content>.overline{font-size:7px;margin-bottom:8px;letter-spacing:.2em}.title-content h1{font-size:37px;letter-spacing:.14em;line-height:1.6;white-space:normal}.title-content h1 span{display:inline;font-size:1em;line-height:inherit;margin:0}.title-sub{font-size:11px;margin:7px 0 12px}.title-content>.ornament{width:145px;height:16px}.title-menu{width:min(280px,100%);margin-top:12px}.title-menu>button{font-size:15px;padding:12px 5px}.menu-primary:before,.menu-primary:after{top:18px}.title-menu>button small{font-size:7px}.menu-secondary{gap:34px;margin-top:0}.menu-secondary button{font-size:12px;padding:8px 0}.menu-secondary small{font-size:7px}.edition{font-size:8px;margin-top:13px}.title-quote{top:74px;right:30px;font-size:11px;line-height:2.1;letter-spacing:.2em}.title-footer{bottom:26px;left:28px;right:28px;font-size:7px;letter-spacing:0;gap:7px}.title-footer button{font-size:8px;padding:5px 0}.title-footer>span:last-child{display:none}.scene-header{top:25px;left:22px;right:22px}.chapter small{font-size:7px}.chapter span{font-size:11px}.quiet-button{font-size:11px;padding:10px 5px}.scene-location{top:105px;left:29px;font-size:10px;gap:14px}.scene-location small{font-size:8px}.scene-location i{height:28px}.scene-bg{background-position:44% center}.portrait{height:110svh;bottom:-24svh;left:54%;max-height:none}.dialogue{left:20px;right:20px;bottom:27px;padding:0 15px}.speaker-row{gap:7px;margin-top:-12px}#speaker{font-size:18px;padding:0 8px}#speakerRole{font-size:7px;padding:0 3px;letter-spacing:.12em}.speaker-rule{width:7px}.dialogue-advance{min-height:174px;padding:14px 4px 8px}#line{font-size:16px;line-height:1.9;letter-spacing:.045em;padding-right:0;min-height:117px}.dialogue-footer{padding:0 3px;min-height:42px}.dialogue-footer nav{gap:19px}.dialogue-footer button{font-size:10px}.dialogue-footer>span{font-size:8px}.next-hint{font-size:8px;margin-top:5px}.choices{top:25%;width:calc(100% - 62px)}.choice-button{font-size:13px;padding:15px 12px;margin-bottom:10px;letter-spacing:.02em}.choice-button:before{margin-right:8px}.choice-heading p{font-size:11px}.choice-heading .ornament{width:100px;height:18px}.scene-screen.is-cg .scene-bg{background-position:65% top;background-size:auto 82%;background-repeat:no-repeat;background-color:#171218}.scene-screen.is-cg .scene-vignette{background:linear-gradient(0deg,#171218 8%,transparent 60%)}.ending-content{width:100%;min-height:670px;padding:60px 30px;background:linear-gradient(0deg,#171218f5,#17121870)}.ending-content h2{font-size:34px}.ending-content #endingText{font-size:12px}.ending-art{background-position:65% center}.ending-shade{background:#17121877}.ending-content .overline{font-size:8px}.ending-number{margin-top:24px}.ending-sign{margin-bottom:25px}dialog{width:calc(100% - 30px);max-height:calc(100svh - 40px)}.modal-frame{padding:21px 18px 25px}.modal-header{padding-bottom:16px;margin-bottom:20px}.modal-header h2{font-size:21px}.modal-copy{font-size:13px}.form-row{flex-direction:column;align-items:stretch}.form-row input{width:100%}.settings-row{font-size:12px}.settings-row select{min-width:120px;font-size:12px}.gallery-grid{gap:12px}.gallery-card img{height:135px}.gallery-card strong{font-size:12px;padding:12px 10px 6px}.gallery-card small{padding:0 10px 12px;font-size:7px}.slot{padding:15px 12px}.slot-title{font-size:13px}.slot-no{font-size:20px}body.large-text #line{font-size:20px;min-height:155px}body.large-text .dialogue-advance{min-height:215px}body.large-text .choices{top:21%}}
@media(max-width:950px) and (orientation:landscape) and (max-height:520px){.screen,.title-content,.ending-content{min-height:360px;height:100svh}.outer-frame{inset:10px}.title-header{top:22px;left:28px;right:28px;font-size:7px}.title-content{width:49%;bottom:auto;padding:35px 35px 40px;justify-content:center}.title-art{background-size:cover;background-position:65% center}.title-shade{background:linear-gradient(90deg,#171218f7,#171218ce 35%,#17121811 70%)}.seal{display:none}.title-content>.overline{font-size:6px;margin:0 0 7px}.title-content h1{font-size:29px;line-height:1.5}.title-content h1 span{display:inline;font-size:1em}.title-sub{font-size:9px;margin:3px 0 8px}.title-content>.ornament{width:110px;height:13px}.title-menu{margin-top:10px;width:235px}.title-menu>button{font-size:12px;padding:8px 4px}.title-menu>button small{font-size:6px}.menu-primary:before,.menu-primary:after{top:13px}.menu-secondary{margin-top:0;gap:25px}.menu-secondary button{font-size:10px;padding:6px 0}.menu-secondary small{font-size:6px;margin-top:3px}.edition{font-size:7px;margin-top:9px}.title-footer{bottom:16px;left:28px;right:28px;font-size:7px}.title-footer button{font-size:8px}.title-quote{top:62px;right:34px;font-size:10px}.scene-header{top:16px;left:22px;right:22px}.chapter{gap:3px}.chapter small{font-size:7px}.chapter span{font-size:10px}.portrait{height:140vh;bottom:-58vh;left:68%}.scene-location{top:75px;left:30px;font-size:9px;gap:10px}.scene-location i{height:18px}.dialogue{left:13%;right:7%;bottom:18px;padding:0 17px}.speaker-row{margin-top:-10px}#speaker{font-size:16px}#speakerRole{font-size:6px}.dialogue-advance{min-height:90px;padding:9px 4px 4px}#line{font-size:14px;line-height:1.65;min-height:46px}.next-hint{font-size:7px;margin-top:3px}.next-hint b{font-size:12px}.dialogue-footer{min-height:29px}.dialogue-footer button{padding:6px 0;font-size:9px}.choices{top:17%;left:38%;width:44%}.choice-heading{padding-bottom:5px}.choice-heading .ornament{display:none}.choice-heading p{font-size:10px;margin:0 0 5px}.choice-button{font-size:12px;padding:9px 12px;margin-bottom:7px}.ending-content{width:55%;padding:35px 22px}.ending-number{margin:15px 0 10px;font-size:8px}.ending-content h2{font-size:25px;margin-bottom:9px}.ending-content #endingText{font-size:11px;line-height:1.9}.ending-sign{font-size:12px;margin:8px 0 15px}.ending-buttons{gap:3px;min-width:210px}.ending-buttons .gold-button{padding:9px 15px;font-size:11px}.ending-buttons .quiet-button{font-size:9px;padding:6px}.ending-content>.overline{font-size:7px;margin-bottom:8px}.ending-content>.ornament{width:130px;height:14px}.scene-screen.is-cg .scene-bg{background-size:cover;background-position:65% center}body.large-text #line{font-size:17px;min-height:58px}body.large-text .dialogue-advance{min-height:100px}body.large-text .dialogue{bottom:18px}body.large-text .choices{top:16%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Choice text remains readable, and long backlogs keep a reachable close control. */
.dialogue-advance:disabled{opacity:1;cursor:default}.modal-header{position:sticky;top:-7px;z-index:2;background:#201923;box-shadow:0 -20px 0 #201923}

/* Main route: chapter navigation and three equally valid answers. */
.scene-tools{display:flex;gap:8px}
.chapter-tag{font:9px Georgia,serif;color:var(--gold);letter-spacing:.12em;white-space:nowrap}
.slot-meta{white-space:pre-line}
.ending-screen[data-art=library] .ending-art{}
.scene-screen:has(.choices:not([hidden])) .speaker-row,.scene-screen:has(.choices:not([hidden])) .dialogue-advance{display:none}
@media(max-width:760px){.scene-tools{gap:3px}.scene-tools .quiet-button{padding:10px 4px}.chapter span{font-size:10px;letter-spacing:.08em}.chapter-tag{font-size:8px}.choices{top:29%;}.choice-button{min-height:54px}.menu-secondary{gap:30px}}
@media(max-width:950px) and (orientation:landscape) and (max-height:520px){.scene-screen:has(.choices:not([hidden])) .choices{top:25%;left:50%;width:65%}.choice-button{min-height:0}.scene-tools .quiet-button{font-size:10px}}

/* Reusable guide, preferences, and collection views. */
.title-help{display:flex;gap:12px;align-items:center}
.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.section-tab{border:1px solid transparent;background:transparent;padding:10px 16px;font-size:13px;letter-spacing:.1em;min-height:42px;color:var(--muted)}
.section-tab[aria-pressed=true]{border-color:var(--line);background:#4b304044;color:var(--ink)}
.range-row{display:grid;grid-template-columns:1fr auto;gap:12px}
.range-row input{grid-column:1/-1;width:100%;accent-color:var(--gold);height:22px}
.range-row output{font:12px Georgia,serif;color:var(--gold)}
.range-row:has(input:disabled){opacity:.55}
.settings-preview{border:1px solid var(--line);padding:22px;font-size:16px;line-height:2;text-align:center}
.large-text .settings-preview{font-size:21px}
.settings-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px}
.panel-preview{padding:30px 20px;margin-top:24px;border:1px solid var(--line);background:linear-gradient(rgba(29,21,31,var(--dialogue-opacity,.96)),rgba(29,21,31,var(--dialogue-opacity,.96))),repeating-linear-gradient(45deg,#bfa074 0 12px,#5f4355 12px 24px);text-align:center;font-size:14px;line-height:2}
.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.tutorial-count{font:11px Georgia,serif;letter-spacing:.3em;color:var(--gold)}
.tutorial-title{font-size:26px;font-weight:400;letter-spacing:.12em;margin:18px 0}
.tutorial-demo{border:1px solid var(--line);background:#171218;padding:22px;margin:24px 0;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.tutorial-demo p{font-size:14px;line-height:1.9;margin:4px 0}
.tutorial-demo .tutorial-feedback{font-size:11px;color:var(--muted)}
.tutorial-symbol{font:32px Georgia,serif;color:var(--gold);letter-spacing:.2em}
.tutorial-choice{padding:13px 18px;background:#362332;border:1px solid var(--line);font-size:13px;width:100%;max-width:380px}
.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:18px}
.tutorial-actions>.gold-button{min-width:140px}
.tutorial-skip{display:block;margin:14px auto 0;color:var(--muted)}
.gallery-card:disabled{opacity:1;cursor:default;border-color:#bfa07433;color:var(--muted)}
.gallery-placeholder{height:180px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#372633,#171218);color:#bfa07499;font:32px Georgia,serif;padding:20px;text-align:center}
.gallery-card .gallery-placeholder:not(:first-child){font-size:12px}
.gallery-viewer{width:min(1050px,calc(100% - 40px))}
.gallery-detail.portrait{position:static;transform:none;animation:none;height:auto;max-height:60svh;max-width:100%;filter:none;background:radial-gradient(ellipse,#53404c,#171218)}
.variant-list{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.viewer-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.viewer-position{font:12px Georgia,serif;color:var(--gold)}
.art-only .gallery-caption,.art-only .variant-list{display:none}
.art-only .gallery-detail{max-height:70svh}
.ending-card{border:1px solid var(--line);padding:22px;margin-bottom:16px;background:#171218}
.ending-card small{font:9px Georgia,serif;color:var(--gold);letter-spacing:.2em}
.ending-card h3{font-size:20px;font-weight:400;letter-spacing:.08em}
.ending-card p{font-size:13px;line-height:2;white-space:pre-line;color:var(--muted)}
@media(max-width:760px){.title-help{gap:9px}.section-tabs{gap:3px}.section-tab{font-size:12px;padding:10px 12px}.tutorial-title{font-size:23px}.tutorial-demo{padding:16px}.gallery-placeholder{height:135px}.gallery-viewer{width:calc(100% - 24px)}.viewer-actions{gap:5px}.viewer-actions button{min-height:44px}.settings-actions .quiet-button{font-size:11px}.panel-preview{font-size:13px}}

@media(max-width:600px){#ending[data-ending="rainDaylight"] #endingTitle{font-size:clamp(23px,7.18vw,28px);letter-spacing:.12em}}

/* Demo framing and portable bookmarks share the existing paper-and-brass UI. */
.edition-link{background:none;border:0;border-bottom:1px solid var(--line);padding:9px 4px;line-height:1.8;min-height:36px}
.route-card{border-top:1px solid var(--line);padding:22px 0 6px;margin-top:22px}
.route-card .overline{margin-bottom:10px}.route-card h3{font-size:21px;font-weight:400;line-height:1.6;margin:0 0 10px}
.modal-copy{white-space:pre-line}
.bookmark-section{border-top:1px solid var(--line);padding:22px 0;display:flex;flex-direction:column;gap:14px}
.bookmark-section select,#modalContent>select{width:100%;max-width:100%;min-width:0;background:var(--dark);color:var(--ink);padding:12px;border:1px solid var(--line);font-size:13px}
.bookmark-section input[type=file]{width:100%;max-width:100%;font:12px var(--sans);color:var(--muted)}
.bookmark-section input::file-selector-button{font:12px var(--serif);color:var(--ink);background:#442e3d;border:1px solid var(--line);padding:14px;margin-right:12px;cursor:pointer}
.bookmark-section .modal-note:empty{display:none}.bookmark-link{border-bottom:1px solid var(--line);margin-bottom:12px}
.ending-screen{height:auto;min-height:100svh;overflow:visible}
.ending-content{height:auto;min-height:100svh;padding-top:65px;padding-bottom:55px}
.ending-sign{margin-bottom:22px}.ending-note{font-size:11px;line-height:2;color:#cbbca8;white-space:pre-line;max-width:390px;margin:0 0 24px}
.ending-buttons{display:grid;grid-template-columns:1fr 1fr;max-width:390px;width:100%;gap:7px}
.ending-buttons>.gold-button,.ending-buttons>#endingHome,.ending-buttons>[data-open=bookmark]{grid-column:1/-1}
.ending-buttons>.quiet-button{min-height:44px;padding:8px 6px}
@media(max-width:760px){.title-header span:last-child{display:inline}.edition-link{margin-top:8px;font-size:9px}.ending-content{padding:55px 28px 35px}.ending-note{font-size:10px;line-height:1.9}.ending-buttons>.quiet-button{font-size:11px}.route-card h3{font-size:19px}}
@media(max-width:950px) and (orientation:landscape) and (max-height:520px){.ending-content{width:62%;padding:30px}.ending-sign{margin:8px 0 12px}.ending-note{font-size:10px;margin-bottom:14px}.edition-link{font-size:7px;padding:4px;min-height:28px;margin-top:4px}.ending-buttons>.quiet-button{font-size:10px;min-height:36px}.ending-content>.overline{margin-bottom:6px}}
