.prop-stage{border-radius:0;background:none;height:430px;overflow:hidden;isolation:isolate}
.inspection-layout{grid-template-columns:1.22fr 1fr;gap:24px;min-height:430px}.inspection-copy{padding:22px 15px 22px 0}.inspection-copy p{max-width:26em;line-height:2.1;font-size:17px;letter-spacing:.05em}.object-modal .modal-head .eyebrow:empty{display:none}.object-modal .modal-head{padding-bottom:15px;margin-bottom:12px}.object-actions button{border-radius:0;letter-spacing:.08em;background:#b9a377;box-shadow:inset 0 1px #dfceab55}.discovery-text{animation:reveal-discovery .35s ease-out}
.grave-inspection{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;min-height:480px}.grave-prop{height:480px}.epitaph-reading{text-align:center;padding:20px 24px 25px;background:linear-gradient(110deg,#71806a0c,transparent);align-self:center}.memorial-kicker{font:10px Georgia,serif;letter-spacing:.38em;color:#9b9e85}.epitaph-reading h3{font:30px/1.4 var(--serif);font-weight:400;letter-spacing:.2em;color:#ccc8ab;text-shadow:0 1px #0c1c13,0 -1px #a9b69444;margin:20px 0 10px}.memorial-latin{font:14px Georgia,'Times New Roman',serif;letter-spacing:.3em;color:#b8b89b}.memorial-rule{display:flex;align-items:center;justify-content:center;gap:12px;color:#7d886b;font-size:12px;margin:25px auto;max-width:200px}.memorial-rule i{height:1px;flex:1;background:linear-gradient(90deg,transparent,#849077)}.memorial-rule i:last-child{transform:rotate(180deg)}.epitaph-reading blockquote{font:20px/2.1 var(--serif);letter-spacing:.1em;color:#ced0b9;margin:20px 0;text-wrap:balance;text-shadow:0 1px #09190f,0 -1px #c7d0b333}.memorial-description{font:12px/2 var(--serif);color:#8e9c87;margin-top:30px;text-wrap:pretty}.memorial-original{font:11px/1.9 var(--serif);color:#6c8071;margin-top:18px}.epitaph-reading .object-actions{justify-content:center;margin-top:28px}.epitaph-reading .object-actions button{background:transparent;border:1px solid #73856b77;color:#b5c1aa;box-shadow:none;font-size:12px}
.paper-sheet.handwritten .paper-content{font-family:'Songbai Hand','KaiTi',cursive}.paper-sheet.printed .paper-content{font-family:'SimSun',serif}.dismissal-letter{font-family:'SimSun',serif}.letter-letterhead{font-family:'Microsoft YaHei',sans-serif;letter-spacing:.24em}.dismissal-letter h3{font-family:'SimSun',serif;font-weight:bold}.forum-window{font-family:'Microsoft YaHei',system-ui,sans-serif}.phone-shell{font-family:'Microsoft YaHei',system-ui,sans-serif}.comparison-paper{font-family:'SimSun',serif}.comparison-paper>small{font-family:'Microsoft YaHei',sans-serif}.comparison-paper .registration-stamp{font-family:'KaiTi',serif}.paper-back{color:transparent!important}.paper-back:after{content:'';position:absolute;inset:20px;border-top:1px solid #ac9b7533;border-bottom:1px solid #ac9b7533;pointer-events:none}
.photo-back-reading{font:15px/1.9 var(--serif);color:#b9c4ae;text-align:center;margin:23px 0 10px;letter-spacing:.06em}.photo-card .paper-back{position:relative}.object-modal .object-index{display:none}
#modal-body .handover-heading h3{color:#34483b;font-size:27px;font-weight:400}.handover-card .paper-content{color:#374b3d}.handover-steps p,.handover-heading span{color:#65725e}.handover-heading small,.handover-foot{color:#737d66}.paper-sheet:not(.handwritten) #paper-clear{display:none}
@keyframes reveal-discovery{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.inspection-layout{grid-template-columns:1fr;gap:0;min-height:0}.prop-stage{height:280px}.inspection-copy{padding:12px 7px}.inspection-copy p{font-size:15px}.grave-inspection{grid-template-columns:1fr;gap:0}.grave-prop{height:320px}.epitaph-reading{padding:10px 10px 20px}.epitaph-reading h3{font-size:25px;margin-top:10px}.epitaph-reading blockquote{font-size:18px}.memorial-description{margin-top:18px}.memorial-rule{margin:18px auto}.memorial-latin{font-size:12px}}
@media(prefers-reduced-motion:reduce){.discovery-text{animation:none}}
dialog.map-grave-tooltip{position:fixed;margin:0;width:285px;max-width:calc(100vw - 28px);max-height:65dvh;padding:19px 21px 22px;background:#142724f5;border:1px solid #83937588;box-shadow:0 14px 40px #0007;overflow:auto;animation:reveal-discovery .2s ease-out}
dialog.map-grave-tooltip::backdrop{background:transparent;backdrop-filter:none}.map-grave-tooltip .modal-head{padding:0 0 13px;margin:0;border:0;gap:12px;align-items:start}.map-grave-tooltip .modal-head h2{font-size:19px;letter-spacing:.14em;font-weight:400}.map-grave-tooltip .eyebrow{display:none}.map-grave-tooltip .icon-button{font-size:19px;padding:0;min-width:20px}.floating-inscription{font-size:16px;line-height:2;margin:2px 0 0;letter-spacing:.05em;color:#d4d5bf;overflow-wrap:anywhere;white-space:normal}
dialog.grave-modal{width:min(1050px,96vw);padding:18px 24px 22px;background:#152526f7}.grave-modal .modal-head{margin:0;padding-bottom:11px}.grave-modal .modal-head h2{font-size:17px}.grave-reading-stage{position:relative;min-height:530px}.grave-reading-stage .grave-prop{width:100%;height:475px}.grave-dialogue{position:relative;margin:-65px auto 0;z-index:2;background:linear-gradient(100deg,#102729f5,#102526f5);border:1px solid #af9b6b77;padding:20px 27px 13px;width:94%;box-shadow:0 12px 30px #0005}.grave-reader-name{font-size:17px;color:#cfbf91;letter-spacing:.14em}.grave-dialogue blockquote{display:flex;align-items:center;min-height:65px;font-size:20px;line-height:1.95;letter-spacing:.05em;white-space:normal;margin:10px 0;overflow-wrap:anywhere}.grave-dialogue button{display:block;margin-left:auto;background:none;color:#b3bfaa;font-size:11px;letter-spacing:.1em;padding:7px 0}.grave-dialogue button span{font-size:8px;margin-left:13px;color:#c6b27f}
.clue-record{padding:18px 2px 20px;border-bottom:1px solid #78906c33}.clue-record>small{font:10px system-ui;letter-spacing:.18em;color:#819a77}.clue-record h3{font-size:18px;font-weight:400;margin:8px 0 13px}.clue-record p{font-size:15px;line-height:1.9;letter-spacing:.04em;margin:7px 0;color:#bdc9b1}.clue-record .clue-question{font-style:italic;color:#9eac91;border-left:1px solid #91a67b88;padding-left:14px}.clue-record.settled{opacity:.7}
@media(max-width:650px){dialog.grave-modal{padding:15px}.grave-reading-stage{min-height:430px}.grave-reading-stage .grave-prop{height:360px}.grave-dialogue{padding:16px 18px 10px;width:100%;margin-top:-40px}.grave-dialogue blockquote{font-size:17px;min-height:70px}.grave-reader-name{font-size:15px}.map-grave-tooltip .modal-head h2{font-size:17px}.floating-inscription{font-size:15px}}
.recruitment-layout{grid-template-columns:minmax(240px,.85fr) minmax(320px,1.15fr);gap:30px;align-items:center}.recruitment-layout .prop-stage{min-height:400px}.recruitment-letter{position:relative;background:linear-gradient(90deg,transparent 49.8%,#b6a78122 50%,transparent 50.3%),linear-gradient(#d4c4a4,#e0d3b6 45%,#d4c4a4);color:#443e34;padding:30px 34px 24px;border:1px solid #b8a886;box-shadow:0 14px 36px #0004,inset 0 0 35px #99825c22;transform:rotate(-.35deg);font-family:SimSun,serif}.recruitment-letter[hidden]{display:none}.recruitment-letter header{text-align:center;border-bottom:1px solid #7d715547;padding-bottom:15px;margin-bottom:22px}.recruitment-letter header small{font-size:11px;letter-spacing:.3em;color:#766b56}.recruitment-letter header h3{font-size:24px;letter-spacing:.17em;font-weight:400;color:#423d32;margin:12px 0 0}.recruitment-letter .letter-salutation{margin:0 0 14px;font-size:15px}.recruitment-hand{font:25px/1.65 'Songbai Hand','KaiTi',serif;letter-spacing:.02em;color:#363c3b}.recruitment-hand p{margin:0 0 13px;text-indent:2em}.recruitment-letter footer{position:relative;display:flex;align-items:flex-end;flex-direction:column;gap:6px;font:19px/1.3 'Songbai Hand','KaiTi',serif;margin-top:18px;padding-bottom:5px}.recruitment-letter footer>span:first-child{align-self:flex-start;margin-left:2em}.recruitment-letter time{font-size:17px}.letter-crest{position:absolute;right:19px;bottom:8px;font-style:normal;color:#74333544;font-size:56px;pointer-events:none}.recruitment-layout .object-actions{margin-top:20px}.letter-unsealed .recruitment-layout .prop-stage{opacity:.85}@media(max-width:700px){.recruitment-layout{grid-template-columns:1fr;gap:12px}.recruitment-layout .prop-stage{min-height:230px;height:230px}.recruitment-letter{padding:24px 22px}.recruitment-hand{font-size:23px}.recruitment-letter header h3{font-size:21px}}
.ticket-reading{width:190px;margin:20px auto;padding:23px 20px;background:repeating-linear-gradient(0deg,#d2c5a2 0 3px,#d8cbac 3px 6px);color:#394039;text-align:center;box-shadow:0 8px 20px #0004;border-block:3px dotted #7c7258}.ticket-reading small{font:10px/1.8 SimSun,serif;letter-spacing:.14em}.ticket-reading strong{display:block;font:76px/1.3 Georgia,serif;border-bottom:1px dashed #82795b;margin:12px 0 18px}.ticket-reading span,.ticket-reading p{font-size:14px!important;line-height:1.7!important}.archive-reading,.workshop-reading,.handover-fragment{position:relative;padding:26px 28px;background:linear-gradient(95deg,#c7b998,#e1d6b9);color:#404236;border:1px solid #9b8d6e;box-shadow:3px 4px 0 #c4b99b,5px 7px 0 #302f25}.archive-reading>small,.workshop-reading>small,.handover-fragment>small{font:10px SimSun,serif;letter-spacing:.14em}.archive-reading h3,.workshop-reading h3{font:22px SimSun,serif!important;color:#414638!important;border-bottom:2px double #6a725d66;padding-bottom:15px;letter-spacing:.1em}.archive-reading dl{display:grid;grid-template-columns:90px 1fr;font:14px/2.2 SimSun,serif}.archive-reading dt,.archive-reading dd{padding:5px 0;margin:0;border-bottom:1px solid #6a725d33}.archive-reading .ink-signature{font:24px/1.5 'Songbai Hand',KaiTi,serif}.record-seal{display:block;margin-left:auto;width:max-content;border:2px double #854b4388;color:#854b43b0;font:17px KaiTi,serif;letter-spacing:.1em;padding:8px 12px;transform:rotate(-7deg)}.workshop-reading ol{padding-left:22px;font:16px/2 SimSun,serif}.workshop-reading p{border-top:1px solid #786a4e66;padding-top:17px;font:23px/1.5 'Songbai Hand',KaiTi,serif!important;color:#724f43}.calling-card{padding:30px 28px;background:#cdc6b0;color:#3d493f;border:1px solid #a2987f;box-shadow:0 8px 18px #0004}.calling-card small{font:10px SimSun,serif;letter-spacing:.2em}.calling-card strong{display:block;font:30px/1.8 SimSun,serif;letter-spacing:.3em}.calling-card span{font:13px SimSun,serif}.calling-card hr{border:0;border-top:1px solid #75827066;margin:20px 0 10px}.calling-card i{display:block;text-align:right;font:37px 'Songbai Hand',KaiTi,serif}.handover-fragment p{font:35px/1.5 'Songbai Hand',KaiTi,serif!important}.handover-fragment ins{text-decoration:none;padding-left:20px;color:#314638}.handover-fragment div{font:25px/1.8 'Songbai Hand',KaiTi,serif}.evidence-card{background:linear-gradient(100deg,#c5c1a8,#ded5b9);color:#364538;border:1px solid #928d72;box-shadow:2px 3px 0 #444c3a}.evidence-card h3{color:#3f4a3b;font:23px SimSun,serif;border-bottom:1px solid #84907866;padding-bottom:16px}.evidence-card p{white-space:pre-line;line-height:2;color:#414c3e}.compare-field b{font-family:'Songbai Hand',KaiTi,serif;font-size:25px;font-weight:400}.compare-field small{font-family:SimSun,serif}.comparison-paper{box-shadow:3px 5px 0 #aaa286,0 12px 25px #0004;border:1px solid #aba384}.comparison-fields{border-top:2px double #6e735855}.found-frame{line-height:2}.inspection-copy .discovery-text:empty{display:none}
.paper-sheet.handover-card{position:relative;background:radial-gradient(ellipse at 90% 6%,#79532a22,transparent 24%),linear-gradient(90deg,transparent 49.8%,#90774322 50%,transparent 50.4%),repeating-linear-gradient(0deg,transparent 0 41px,#767f8c1c 41px 42px),linear-gradient(110deg,#c8b895,#e1d3b3 35%,#d2c19e);padding:34px 42px 30px 72px;border:1px solid #a4916d;box-shadow:2px 4px 0 #c1af89,0 14px 34px #0006;transform:rotate(-.45deg)}.handover-card:before{content:'';position:absolute;left:43px;top:15px;bottom:15px;border-left:1px solid #a25d5255}.handover-card:after{content:'';position:absolute;width:12px;height:12px;background:#26322b;border-radius:50%;left:16px;top:90px;box-shadow:0 165px 0 #26322b,0 330px 0 #26322b,inset 1px 2px 3px #0008}.handover-card .paper-content{font:24px/1.75 'Songbai Hand',KaiTi,serif;color:#37433d}.handover-card .handover-heading{border-bottom:1px solid #6b735b66;padding-bottom:16px;margin-bottom:12px}.handover-card .handover-heading small{font:12px/1.5 SimSun,serif;letter-spacing:.22em;color:#7f755e}.handover-card .handover-heading h3{font:36px/1.5 'Songbai Hand',KaiTi,serif!important;letter-spacing:.08em;color:#35443b!important;margin:10px 0 6px}.handover-card .handover-heading span{font:22px/1.6 'Songbai Hand',KaiTi,serif;color:#715a48}.handover-card .handover-steps{display:flex;flex-direction:column;gap:0;margin:0}.handover-card .handover-steps>div{position:relative;border:0;border-bottom:1px solid #6b735b33;padding:14px 5px 14px 38px;display:grid;grid-template-columns:135px 1fr;gap:8px;align-items:baseline}.handover-card .handover-steps small{position:absolute;left:0;top:17px;font:22px 'Songbai Hand',KaiTi,serif;color:#87674f}.handover-card .handover-steps b{font:28px/1.5 'Songbai Hand',KaiTi,serif;color:#35443b;font-weight:400}.handover-card .handover-steps p{margin:0;font:23px/1.65 'Songbai Hand',KaiTi,serif;color:#434b40}.handover-card .handover-caution{background:none;border:0;padding:20px 0 8px;margin:0;transform:rotate(-1deg);color:#765345}.handover-card .handover-caution b{font:25px/1.6 'Songbai Hand',KaiTi,serif;font-weight:400;border-bottom:1px solid #87634d88}.handover-card .handover-caution p{font:23px/1.65 'Songbai Hand',KaiTi,serif;margin:7px 0}.handover-card .handover-foot{border-top:1px solid #6b735b33;margin-top:15px;padding-top:14px;font:22px/1.7 'Songbai Hand',KaiTi,serif;color:#5f6857;text-align:right}.handover-card.is-clear .paper-content,.handover-card.is-clear .paper-content *{font-family:SimSun,serif!important;font-size:16px!important;line-height:1.9!important}.handover-card.is-clear .handover-heading h3{font-size:25px!important}@media(max-width:650px){.paper-sheet.handover-card{padding:26px 20px 25px 39px;transform:none}.handover-card:before{left:27px}.handover-card:after{left:8px;width:9px;height:9px}.handover-card .handover-steps>div{display:block;padding-left:30px}.handover-card .handover-heading h3{font-size:30px!important}.handover-card .handover-steps p,.handover-card .handover-caution p{font-size:22px}.handover-card .handover-foot{font-size:20px}}
#modal-body:has(#invite-person){position:relative;padding:30px 42px;background:linear-gradient(100deg,#c9b998,#e1d2ad 40%,#c6b491);border:1px solid #9d865e;box-shadow:inset 0 0 0 7px #d9c9a4,inset 0 0 0 8px #8c785488;color:#3d453b}#modal-body:has(#invite-person):before{content:'退 任 庆 典 · 监 督 邀 请';display:block;text-align:center;border-bottom:2px double #97815d88;padding-bottom:20px;margin-bottom:24px;font:30px/1.5 'Songbai Hand',KaiTi,serif;color:#69453d}#modal-body:has(#invite-person)>p{font:22px/1.8 'Songbai Hand',KaiTi,serif;color:#4f5547}#modal-body:has(#invite-person) .select-field{padding:12px 0;border-bottom:1px solid #8d7f5b44;margin:0;display:grid;grid-template-columns:110px 1fr;align-items:center;gap:20px}#modal-body:has(#invite-person) .select-field span{font:18px KaiTi,serif;color:#645d47}#modal-body:has(#invite-person) select{background:#bca98322;color:#35443b;border:0;border-bottom:1px solid #746a4b66;border-radius:0;font:25px 'Songbai Hand',KaiTi,serif;padding:10px 30px 10px 5px;min-width:0}#modal-body:has(#invite-person) select option{background:#d4c5a3;color:#35443b}#modal-body:has(#invite-person) .modal-action-row{margin-top:25px}.dismissal-letter .letter-sign{font-family:'Songbai Hand',KaiTi,serif;font-size:22px}.dismissal-letter .fictional-seal{font-family:KaiTi,serif;font-size:13px}@media(max-width:650px){#modal-body:has(#invite-person){padding:23px 20px}#modal-body:has(#invite-person):before{font-size:25px}#modal-body:has(#invite-person) .select-field{grid-template-columns:1fr;gap:6px}#modal-body:has(#invite-person) select{font-size:22px;width:100%}}
#modal-body .recruitment-letter p,#modal-body .recruitment-letter .letter-salutation{color:#354039!important;max-width:none}#modal-body .recruitment-letter header h3{color:#484234!important}#modal-body .recruitment-letter .recruitment-hand p{font:25px/1.65 'Songbai Hand',KaiTi,serif;letter-spacing:.02em}#modal-body .handover-card .handover-steps>div{grid-template-columns:175px 1fr;padding-top:12px;padding-bottom:12px}#modal-body .handover-card .handover-steps b{white-space:nowrap}.paper-sheet.handover-card{padding-top:26px;padding-bottom:22px}.letter-crest svg{width:58px;height:58px;stroke:currentColor;fill:none;stroke-width:1.5}@media(max-width:650px){#modal-body .handover-card .handover-steps>div{display:block}}
#modal-body .handover-card:after{display:block;bottom:auto}
.dialogue-panel .story-text{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
dialog.grave-cinema{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden;color:#d8d4bd}dialog.grave-cinema::backdrop{background:transparent;backdrop-filter:none}.grave-cinema .modal-head{display:none}.grave-cinema #modal-body{position:absolute;inset:0}.grave-night-field{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#050c0900 0%,#050c0922 27%,#030a0888 65%,#010604eb 100%),linear-gradient(0deg,#020907ed,transparent 44%);animation:grave-darken .55s ease-out}.grave-subtitles{position:absolute;left:12%;right:12%;bottom:10%;text-align:center;pointer-events:none}.grave-subtitle-name{display:block;font:15px/1.6 var(--serif);letter-spacing:.38em;color:#a9aa91;margin-bottom:24px}.grave-subtitles blockquote{margin:0;color:#d4d2ba;text-shadow:0 2px 10px #000;font:31px/1.65 'Songbai Hand',KaiTi,serif;letter-spacing:.1em}.grave-subtitle-line{display:block;animation:grave-words .5s both;animation-delay:var(--line-delay);margin:5px 0}.grave-leave{position:absolute;right:5%;bottom:5%;background:transparent!important;box-shadow:none!important;border:0;font:12px/1.5 var(--serif);letter-spacing:.2em;color:#9ca38d;padding:12px}.reading-grave .game-header,.reading-grave .map-intro,.reading-grave .map-bottom,.reading-grave #world-nearby,.reading-grave #world-destinations,.reading-grave #world-route-list,.reading-grave #world-overview,.reading-grave [data-move],.reading-grave #world-zoom-in,.reading-grave #world-zoom-out{visibility:hidden!important}.reading-grave #map-view{top:0!important}.reading-grave #world-stage{inset:0!important}@keyframes grave-words{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes grave-darken{from{opacity:0}to{opacity:1}}@media(max-width:650px){.grave-subtitles{left:7%;right:7%;bottom:13%}.grave-subtitles blockquote{font-size:25px}.grave-subtitle-name{font-size:13px;margin-bottom:17px}.grave-leave{bottom:5%;right:5%}}@media(prefers-reduced-motion:reduce){.grave-night-field,.grave-subtitle-line{animation:none!important}}
.found-box-copy{left:58%;right:5%;bottom:12%;text-align:left}.found-box-copy>p{font:18px/1.9 var(--serif);color:#c9cebb}.found-box-copy button{font:14px var(--serif);background:#a08e63;color:#17251f;padding:13px 20px;margin-top:15px}.found-box-copy article{background:#c7b998;color:#374037;padding:20px 24px;margin-top:18px;box-shadow:0 8px 28px #0006;transform:rotate(-.5deg)}.found-box-copy article small{font:11px SimSun,serif;letter-spacing:.12em}.found-box-copy article h3{font:22px/1.6 SimSun,serif;color:#394538}.found-box-copy article p{font:17px/1.9 SimSun,serif;color:#394538}.found-box-copy article .box-pencil-note{font:24px/1.6 'Songbai Hand',KaiTi,serif;border-top:1px solid #7b765855;padding-top:10px}@media(max-width:650px){.found-box-copy{left:7%;right:7%;bottom:8%}.found-box-copy>p{font-size:15px}.found-box-copy article{padding:15px 18px}.found-box-copy article p{font-size:15px}.found-box-copy article .box-pencil-note{font-size:21px}}
.found-box-copy{pointer-events:auto;z-index:2}.grave-leave{z-index:3}
.grave-split .grave-subtitle-line:first-child{margin-bottom:22px;transform:translateX(-9px)}.grave-split .grave-subtitle-line:last-child{margin-left:18px}.grave-pencil-correction{font:21px/1.6 'Songbai Hand',KaiTi,serif;color:#989e88;margin:22px 0 0;letter-spacing:.12em}.grave-pencil-correction del{text-decoration-thickness:1px;color:#727c69}.grave-pencil-correction ins{text-decoration:none;margin-left:13px}.grave-approval{display:inline-block;font:14px KaiTi,serif;letter-spacing:.18em;color:#a36b6b99;border:2px double #97676377;padding:8px 13px;transform:rotate(-7deg);margin-top:22px}
.night-ledger{max-width:660px;margin:12px auto;padding:26px 32px;background:#d4c9a8;color:#343b33;line-height:1.9;box-shadow:0 12px 42px #0006;}
.night-ledger h3{font-size:23px;font-weight:400;letter-spacing:.1em;color:#343b33;}
.night-ledger h4{font-weight:400;margin-top:28px;}
.night-ledger-footer{font-family:'Songbai Hand',serif;font-size:22px;margin-top:32px;text-wrap:balance;}
.night-ledger button{background:#35473b;color:#f0e6cd;border:1px solid #6e7864;padding:9px 17px;}
@media(max-width:600px){.game-header nav{gap:4px;flex-wrap:wrap}.game-header nav button{padding:5px;font-size:12px}.night-ledger{padding:20px;}.night-ledger-footer{font-size:21px;}}
dialog.detail-cinema{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#101c1b;overflow:hidden;}
.detail-cinema .modal-head{display:none}.detail-cinema #modal-body{height:100%;padding:0;}
.detail-backdrop,.detail-vignette{position:absolute;inset:0;pointer-events:none;}.detail-backdrop{background-position:center;background-size:cover;filter:brightness(.4) saturate(.65) blur(1px);}.detail-vignette{background:radial-gradient(ellipse at 40% 55%,transparent 15%,#08100fce 96%);}
.detail-location{position:absolute;top:5%;left:5%;font-size:12px;letter-spacing:.2em;color:#c6b78f;}
.detail-model{position:absolute;left:1%;top:12%;width:70%;height:80%;mask-image:radial-gradient(ellipse,black 45%,transparent 76%);}.detail-model canvas{width:100%;height:100%;cursor:pointer;touch-action:manipulation;}
.detail-copy{position:absolute;right:7%;top:43%;width:28%;color:#e0d7be;line-height:2;font:18px/2 var(--serif);}.detail-copy p{min-height:100px;text-wrap:pretty;}.detail-copy button{border:1px solid #ab966b88;background:#344139bb;color:#dfd2af;padding:11px 20px;font:15px var(--serif);box-shadow:0 3px 15px #0003;}.detail-copy button:hover{background:#5e634a;}.detail-leave{position:absolute;right:4%;top:4%;background:transparent;border:0;color:#c8c5b0;font-size:28px;padding:8px 15px;}
@media(max-width:650px){.detail-location{top:3%;font-size:10px;}.detail-model{left:-10%;top:6%;width:120%;height:62%;}.detail-copy{right:8%;top:auto;bottom:5%;width:84%;font-size:16px;}.detail-copy p{min-height:70px;margin:0 0 16px;}.detail-leave{right:3%;top:2%;}}
#celebration-particles{position:fixed;inset:0;pointer-events:none;z-index:4;overflow:hidden;display:none;}#celebration-particles.playing{display:block;}#celebration-particles i{position:absolute;left:var(--px);top:12%;width:4px;height:9px;background:var(--tone);opacity:0;animation:ceremony-paper 2s var(--delay) ease-out both;}
@keyframes ceremony-paper{0%{opacity:0;transform:translate(0,30px) rotate(0)}20%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),55vh) rotate(230deg)}}
.pink-return-burst #right-portrait{animation:pink-back-to-grave 1.1s ease-in both;transform-origin:70% 80%;}
@keyframes pink-back-to-grave{0%{transform:translate(0,0) rotate(0);opacity:.5}30%{transform:translate(-2%,-2%) rotate(-3deg);opacity:.5}100%{transform:translate(37%,-20%) scale(.44) rotate(8deg);opacity:0}}
@media(prefers-reduced-motion:reduce){#celebration-particles.playing{display:none;}.pink-return-burst #right-portrait{animation:none;}}
.bus-inworld{position:absolute;inset:0;z-index:0;overflow:hidden;background:#111917;}.bus-camera{position:absolute;inset:0;}.bus-image-space{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}.bus-scene-art{position:absolute;width:100%;height:100%;object-fit:fill;}.bus-hit{position:absolute;border:0;background:transparent;cursor:pointer;min-width:34px;min-height:34px;}.bus-hit:after{content:'';position:absolute;inset:16%;border-radius:50%;box-shadow:0 0 18px 5px #e0c1834a;opacity:0;transition:opacity .3s;}.bus-hit:hover:after,.bus-hit:focus-visible:after{opacity:1;}.bus-hit span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 9px;background:#13211dd9;color:#e1d5b6;font:12px var(--serif);opacity:0;}.bus-hit:hover span,.bus-hit:focus-visible span{opacity:1;}
.bus-inworld-active .stage-portrait{visibility:hidden}.bus-inworld-active #scene-objects{pointer-events:none}.bus-inworld-active .dialogue-panel{background:linear-gradient(90deg,#0d1a18e8,#0d1a18a8);}.bus-letter-text{position:absolute;left:33%;top:27%;width:35%;height:52%;padding:2.5% 3%;box-sizing:border-box;color:#3c3d32;background:linear-gradient(100deg,#c4b48f,#e0d1ae 50%,#cbbd99);box-shadow:0 9px 26px #0008;transform:rotate(-1deg);font:clamp(14px,1.25vw,22px)/1.8 'Songbai Hand',serif;}.bus-letter-text h3{color:#3c3d32;font:1.3em var(--serif);margin:.5em 0;}.bus-letter-text small{font-size:.6em;letter-spacing:.2em;}.bus-letter-text p{margin:.7em 0;}.bus-letter-text footer{text-align:right;font-size:.8em;}.bus-letter-text button{position:absolute;right:0;bottom:0;width:42px;height:42px;background:linear-gradient(135deg,transparent 45%,#b3a381 46%);border:0;color:#585242;cursor:pointer;font-size:25px;}.bus-reading-letter .dialogue-panel{visibility:hidden;}
@media(max-width:650px){.bus-image-space{top:44%;}.bus-letter-text{font-size:18px;line-height:1.65;top:24%;height:61%;padding:2% 2.5%;}.bus-letter-text h3{font-size:23px;}.bus-letter-text p{margin:.5em 0;}.bus-inworld-active .dialogue-panel{min-height:135px;}}
.grave-cinema:not(.found-box-cinema) .grave-subtitles{left:50%;right:auto;transform:translateX(-50%);width:min(82vw,680px);bottom:10%;text-align:center;}
.grave-cinema:not(.found-box-cinema) .grave-subtitle-name{margin:0 auto 20px;text-align:center;letter-spacing:.22em;padding-left:.22em;font:14px/1.8 var(--serif);color:#b9b9a1;}
.grave-cinema:not(.found-box-cinema) .grave-subtitles blockquote{font-size:28px;line-height:1.8;letter-spacing:.08em;}
.grave-cinema:not(.found-box-cinema) .grave-subtitle-line{margin:0;text-align:center;}
.grave-cinema.grave-split .grave-subtitle-line:first-child{transform:none;margin-bottom:0}.grave-cinema.grave-split .grave-subtitle-line:last-child{margin-left:0}
@media(max-width:650px){.grave-cinema:not(.found-box-cinema) .grave-subtitles{bottom:12%;width:88vw}.grave-cinema:not(.found-box-cinema) .grave-subtitles blockquote{font-size:24px;line-height:1.85}.grave-cinema:not(.found-box-cinema) .grave-subtitle-name{font-size:12px;margin-bottom:16px}}
.bus-letter-text{font-size:clamp(14px,1.1vw,20px);line-height:1.65;}.bus-letter-text p{margin:.5em 0}.bus-letter-text footer{font-size:.75em;line-height:1.4;}
@media(max-width:650px){.bus-reading-letter .bus-image-space{width:100%!important;height:100%!important;top:50%}.bus-reading-letter .bus-scene-art{object-fit:cover}.bus-reading-letter .bus-letter-text{left:5%;top:20%;width:90%;height:66%;font-size:17px;padding:6% 7%;}}
.painted-investigation{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;}.painted-coordinate-space{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;}.painted-real-object{position:absolute;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;}.painted-object-writing{position:absolute;inset:12%;display:grid;place-content:center;white-space:pre-line;font:clamp(14px,1.2vw,22px)/1.6 'Songbai Hand',serif;color:#ccc1a0;text-shadow:0 1px 2px #302b22,1px 1px #fff1;transform:rotate(7deg) skewY(-1deg);}.painted-real-object.paint{clip-path:polygon(3% 0,100% 11%,97% 100%,0 87%);}.painted-real-object.paint:before{content:'';position:absolute;inset:0;background:transparent;}.painted-real-object.paint.operated:before{background:linear-gradient(105deg,#493c2e8c,#2a302575);}.painted-real-object.operated .painted-object-writing{animation:painted-sign-turn .35s ease-out;}.painted-object-label{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:5px 9px;background:#14201cdd;color:#d8d0b6;white-space:nowrap;font:12px var(--serif);opacity:0;}.painted-real-object:hover .painted-object-label,.painted-real-object:focus-visible .painted-object-label{opacity:1;}.painted-real-object:hover{filter:drop-shadow(0 0 5px #c0a87570);}.painted-found-paper{position:absolute;left:63%;top:54%;width:20%;min-height:13%;padding:2%;white-space:pre-line;background:#d2c3a1;color:#3d4236;box-shadow:1px 5px 12px #0007;transform:rotate(-4deg);font:18px/1.8 'Songbai Hand',serif;}.found-zero-ticket{left:89%;top:45%;width:7%;font-size:13px;padding:.8%;}.found-record-inspected{left:57%;top:35%;width:18%;}.painted-investigating #scene-objects{pointer-events:none}.painted-investigating .stage-portrait{visibility:hidden}@keyframes painted-sign-turn{from{opacity:.2;transform:rotate(7deg) scaleX(.3)}to{opacity:1;transform:rotate(7deg) scaleX(1)}}@media(prefers-reduced-motion:reduce){.painted-real-object.operated .painted-object-writing{animation:none}}
.painted-investigation{position:fixed;inset:0;}.painted-real-object{min-width:32px;min-height:32px;box-shadow:none!important;background:transparent!important;}.painted-real-object.paint.operated:before{background:transparent;}.painted-object-writing{font-size:clamp(15px,1.6vw,25px);color:#cec19e;}.painted-investigating #scene-objects,.painted-investigating #inspect-assist{visibility:hidden;}.painted-object-label{display:none;}
/* Final in-scene coordinates follow the full CG viewport. */
.painted-investigation{position:fixed;inset:0}
.painted-real-object{min-width:32px;min-height:32px;box-shadow:none!important;background:transparent!important}
.painted-real-object.paint.operated:before{background:transparent}
.painted-object-writing{font-size:clamp(15px,1.5vw,24px);color:#cec19e;display:block;padding-top:12%;text-align:center}
.painted-investigating #scene-objects,.painted-investigating #inspect-assist{visibility:hidden}
.painted-object-label{display:none}
/* v16: papers lie on location-specific stone surfaces, below the existing dialogue. */
.scene-puzzle{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#161d18}
.puzzle-cg{position:absolute;width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.78)}
.puzzle-surface{position:absolute;inset:0;pointer-events:none}
.scene-puzzle-active #scene-objects,.scene-puzzle-active #inspect-assist,.scene-puzzle-active .painted-investigation,.scene-puzzle-active .stage-portrait,.scene-puzzle-active #epitaph-button{visibility:hidden!important}
.scene-puzzle-active .dialogue-panel{z-index:3;background:linear-gradient(105deg,#122320ed,#10201de0)}
.scene-puzzle-active .choices{z-index:4}.scene-puzzle-active #next-button{visibility:hidden}
.scene-puzzle-active .dialogue-panel.is-choice{cursor:default}
.puzzle-leave{pointer-events:auto;position:absolute;right:4%;top:12%;background:#16211bc4;border-bottom:1px solid #a2926b88;color:#d0c6a7;padding:8px 13px;font:13px var(--serif)}
.laid-photo{position:absolute;left:calc(27% + var(--photo)*17%);top:39%;width:14%;height:23%;padding:7px;background:#c7ba98;box-shadow:1px 5px 5px #0009,inset 0 0 8px #58483377;pointer-events:auto;transform:rotate(calc((var(--photo) - 1)*2deg));transition:filter .25s,translate .25s}
.laid-photo>button:first-child{padding:0;width:100%;height:100%;background:transparent;color:#3d4034;display:flex;flex-direction:column}
.laid-photo img{width:100%;height:calc(100% - 27px);object-fit:cover;filter:sepia(.28) saturate(.5)}
.photo-caption{font:clamp(12px,1vw,17px)/27px 'Songbai Hand',KaiTi,serif;display:block;width:100%;text-align:center;color:#49483b}
.laid-photo.selected{filter:brightness(1.15);translate:0 -5px;outline:1px solid #e1c78a88;outline-offset:3px}
.photo-paper-back{flex:1;width:100%;display:grid;place-content:center;background:repeating-linear-gradient(0deg,#84745309 0 1px,transparent 1px 4px);font:21px 'Songbai Hand',KaiTi,serif;color:#6a614b;box-shadow:inset 0 0 18px #7a69452b}
.photo-turn{position:absolute;right:3px;top:3px;background:#b8ac8cce;border-radius:0 0 0 15px;padding:6px 10px;color:#3c4635;font-size:21px}
.photo-offer{position:absolute;bottom:-38px;left:0;width:100%;padding:8px 0;background:#c6b68ff5;border-bottom:2px solid #716140;color:#3c4136;font:14px 'Songbai Hand',KaiTi,serif}
.laid-document{position:absolute;top:34%;left:30%;width:19%;padding:13px 17px 9px;color:#3f4436;background:radial-gradient(ellipse at 65% 30%,#d7cbab,#b9ab87);box-shadow:1px 5px 7px #0008,inset 0 0 15px #84704855;pointer-events:auto;font:clamp(13px,1.05vw,18px)/1.6 var(--serif);border-radius:1px 4px 2px 1px;}
.laid-document[data-sheet=B]{left:52%;transform:rotate(1.2deg)}
.laid-document[data-sheet=A]{transform:rotate(-1deg)}
.laid-document:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.5%,#82745115 50%,transparent 50.5%);pointer-events:none}
.laid-document small{font:clamp(9px,.65vw,12px)/1.7 var(--serif);letter-spacing:.1em;color:#6b6c54}
.laid-document h3{font:clamp(18px,1.5vw,26px)/1.5 var(--serif);text-align:center;font-weight:400;color:#414936;margin:3px 0 9px;border-bottom:1px solid #787a5866;padding-bottom:5px;letter-spacing:.13em}
.laid-document h3 span{font-size:12px;letter-spacing:0}
.laid-field{position:relative;width:100%;display:flex;align-items:center;gap:8px;background:transparent;border-bottom:1px solid #7f79583a;color:#3b4436;padding:5px 0;min-height:30px;text-align:left}
.laid-field>span{font-size:.7em;white-space:nowrap;color:#747258}
.laid-field b{font:1em/1.4 'Songbai Hand',KaiTi,serif;font-weight:400;flex:1}
.laid-field i{font:16px KaiTi,serif;color:#83513c}
.laid-field.selected{background:#7782662b}.laid-field.matched b{text-decoration:underline;text-decoration-color:#824d3e8c;text-underline-offset:4px}
.laid-document footer{font:clamp(9px,.65vw,12px)/1.6 var(--serif);color:#737356;margin-top:10px;}
.paper-sign-button{display:block;margin:8px 0 0 auto;padding:4px 9px;color:#814d41;background:transparent;border:1px solid #9a675080;border-radius:2px;font:clamp(13px,1.1vw,17px)/1.5 'Songbai Hand',KaiTi,serif}
.paper-sign-button:hover{background:#91593c22;color:#753f31}
.proof-document{top:39%;min-height:210px;width:20%;left:29%}
.proof-document[data-sheet=B]{left:52%}
.proof-document p{margin:9px 0;font-size:.85em}
.paper-clue{position:relative;width:100%;min-height:67px;padding:9px 5px;text-align:center;background:transparent;color:#3d4436;font:1.1em/1.8 'Songbai Hand',KaiTi,serif}
.paper-clue.marked:after{content:'';position:absolute;inset:0 1%;border:1px solid #9d554077;border-radius:50% 45% 48% 40%;transform:rotate(-3deg)}
.laid-document .paper-hand{font:clamp(14px,1.2vw,20px)/1.8 'Songbai Hand',KaiTi,serif;color:#64573f;text-align:right}
.scene-puzzle[data-kind=invitation] .puzzle-cg{object-position:center}
.invitation-document{left:36%;top:38%;width:31%;padding:14px 27px 10px;transform:rotate(-.6deg)}
.invitation-document h3{margin-bottom:7px}
.invitation-field{display:flex;align-items:center;gap:15px;background:transparent;color:#3d4636;width:100%;min-height:40px;text-align:left;border-bottom:1px solid #817d5a44}
.invitation-field>span{font-size:.75em;min-width:4em;color:#777356}.invitation-field b{flex:1;font:1.2em 'Songbai Hand',KaiTi,serif;font-weight:400}.invitation-field i{font:12px var(--serif);color:#8b7954}
@media(max-width:650px){
 .puzzle-leave{top:16%;right:5%;font-size:12px}.puzzle-cg{object-position:52% center}
 .laid-photo{left:calc(6% + var(--photo)*30%);top:38%;width:27%;height:19%;padding:4px}.photo-caption{font-size:13px}.photo-turn{padding:3px 6px;font-size:18px}.photo-offer{font-size:12px;bottom:-34px}
 .laid-document{top:32%;left:3%;width:45%;padding:10px 9px;font-size:13px}.laid-document[data-sheet=B]{left:52%}.laid-document h3{font-size:18px;letter-spacing:.08em}.laid-document small,.laid-document footer{font-size:9px}.laid-field{min-height:38px;padding:5px 0;gap:3px}.laid-field b{font-size:14px}.laid-field span{font-size:10px}.laid-field i{font-size:12px}
 .proof-document{top:34%;left:3%;width:45%;min-height:220px}.paper-clue{font-size:16px;line-height:1.8}.laid-document .paper-hand{font-size:15px}
 .invitation-document{left:10%;top:33%;width:80%;padding:14px 18px}.invitation-field{min-height:47px}.invitation-field b{font-size:18px}.invitation-document h3{font-size:22px}.paper-sign-button{font-size:16px}
 .scene-puzzle-active .dialogue-panel{min-height:140px!important}
}
@media(prefers-reduced-motion:reduce){.laid-photo{transition:none}}
.scene-puzzle-active button.paper-clue:hover,.scene-puzzle-active button.invitation-field:hover,.scene-puzzle-active button.laid-field:hover{color:#3d4436;background:#7e775019}
.scene-puzzle-active[data-scene-puzzle=proof] #choices{display:flex;gap:9px;left:8.7%;right:8.7%;width:auto;max-width:none;transform:none}
.scene-puzzle-active[data-scene-puzzle=proof] #choices .choice-button{flex:1;min-height:49px;padding:10px 16px;font-size:15px}
.proof-document{top:34.5%;min-height:205px}
.placement-document{top:34%;padding:10px 15px;height:245px}
.placement-document .laid-field{padding:3px 0;min-height:29px}
.placement-document .paper-sign-button{position:absolute;right:10px;bottom:9px;margin:0}
.placement-document footer{font-size:9px;width:80px;line-height:1.7;margin-top:9px}
@media(max-height:780px) and (min-width:651px){
 .laid-photo{top:31%;height:25%}.laid-document{top:29%;font-size:14px}.laid-document h3{font-size:20px;margin:0 0 5px;padding-bottom:3px}
 .placement-document{height:230px}.placement-document .laid-field{min-height:27px;padding:2px 0}.laid-document small{font-size:9px}
 .proof-document{top:28%;min-height:195px}.paper-clue{min-height:58px;padding:6px 4px}.laid-document .paper-hand{font-size:16px}
 .invitation-document{top:28%;padding:10px 25px}.invitation-field{min-height:34px}.invitation-document footer{margin-top:7px}
 .scene-puzzle-active[data-scene-puzzle=proof] #choices .choice-button{min-height:42px;font-size:13px;padding:7px 14px}
}
@media(max-width:650px){
 .proof-document{top:32%;min-height:220px}.placement-document{top:32%;height:267px;padding:10px 9px}.placement-document .laid-field{min-height:38px}
 .scene-puzzle-active[data-scene-puzzle=proof] #choices{display:flex;flex-direction:column;gap:5px;left:5%;right:5%}
 .scene-puzzle-active[data-scene-puzzle=proof] #choices .choice-button{min-height:36px;padding:7px 13px;font-size:13px}
}
.scene-puzzle-active[data-scene-puzzle=invitation] #choices{display:flex;gap:9px;left:8.7%;right:8.7%;width:auto;max-width:none;transform:none}
.scene-puzzle-active[data-scene-puzzle=invitation] #choices .choice-button{flex:1;min-height:45px;padding:10px 16px;font-size:14px}
@media(max-width:650px){.scene-puzzle-active[data-scene-puzzle=invitation] #choices{flex-direction:column;gap:5px;left:5%;right:5%}.scene-puzzle-active[data-scene-puzzle=invitation] #choices .choice-button{min-height:35px;padding:7px 13px;font-size:13px}}
.placement-document footer{width:auto;max-width:100px;white-space:nowrap}
.scene-puzzle-active:has(#choices:not([hidden])) .puzzle-cg{filter:brightness(.56) saturate(.7)}
@media(max-height:780px) and (min-width:651px){
 .scene-puzzle-active .dialogue-panel{min-height:170px!important;height:170px!important}
 .laid-photo{top:36%}.laid-document{top:34%}.proof-document{top:34%;min-height:195px}
 .invitation-document{top:34%;padding:8px 25px}.invitation-document small{font-size:8px;line-height:1.2}.invitation-document h3{font-size:19px;line-height:1.3;margin:0 0 3px}
 .invitation-field{min-height:30px}.invitation-document footer{line-height:1.3;margin-top:5px}.invitation-document .paper-sign-button{font-size:15px;line-height:1.3;padding:3px 9px;margin-top:6px}
}
/* v17 reading hierarchy: speech, narration and os use the same readable size. */
:root{--text-size:24px}
.dialogue-panel .story-text,.dialogue-panel.is-choice .story-text,.investigating .dialogue-panel.is-choice .story-text,.dialogue-panel .story-text.narration,.dialogue-panel.is-choice .story-text.narration,.dialogue-panel[data-kind=thought] .story-text{font-size:var(--text-size);line-height:1.8;align-items:center;min-height:86px}
#choices .choice-button,.investigating #choices .choice-button{font-size:20px;line-height:1.6;min-height:58px}
#speaker-name,.dialogue-panel[data-kind=thought] #speaker-name,.dialogue-panel[data-kind=document] #speaker-name{font-size:18px}
#line-hint{font-size:12px;line-height:1.5}.next-button,.epitaph-button{font-size:15px}
.scene-puzzle-active[data-scene-puzzle=proof] #choices .choice-button,.scene-puzzle-active[data-scene-puzzle=invitation] #choices .choice-button{font-size:18px;min-height:49px}
.forum-page{font-size:16px;scrollbar-width:thin}.forum-post,.forum-reply,.forum-comment{font-size:16px;line-height:1.9}.forum-comment{padding:21px 10px;margin-left:8px}.forum-comment header{display:flex;justify-content:space-between;gap:15px}.forum-comment b{font-size:14px;color:#5a6e5b}.forum-comment header small{font-size:11px;color:#8b9282}.forum-comment p{margin:10px 0}.forum-reply small,.forum-count{font-size:12px}.forum-thread-toggle,.forum-more{font:13px/1.7 'Microsoft YaHei',sans-serif;background:transparent;border-bottom:1px solid #9aa58d;color:#60745e;padding:4px 0}.forum-more{display:block;margin:20px auto;padding:8px 18px;border:1px solid #a8b09b}.forum-nested{padding:6px 16px;background:#dfe2d667;border-left:2px solid #9ba98e;margin-top:12px}.forum-nested b{display:block;font-size:12px}.forum-nested span{font-size:15px}.forum-archive-end{display:block;text-align:center;color:#8a9282;margin:22px auto}.forum-actions{position:sticky;bottom:-1px;background:#14221df5;padding:14px 0 6px;margin-top:0;z-index:2}.forum-actions button{font-size:16px}.forum-found{font-size:14px}.forum-page aside small{font-size:12px}
.painted-investigation[data-prop=gate-sign] .painted-real-object.paint{clip-path:polygon(1% 20%,98% 1%,100% 84%,0 99%)}
.painted-investigation[data-prop=gate-sign] .painted-object-writing{inset:20% 8% 15%;padding:0;display:grid;place-content:center;transform:rotate(-8deg);font-size:clamp(17px,1.35vw,23px);line-height:1.5;text-shadow:0 1px 1px #372819,1px 0 #d8cb9c55;color:#cabd95;white-space:pre-line}
.scene-reading{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#151c18}.reading-plane{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.reading-cg{width:100%;height:100%;display:block;filter:brightness(.76) saturate(.75)}
.reading-object{position:absolute;pointer-events:auto;min-width:28px;min-height:28px;border:0;background:transparent!important;color:#d9cb9e;cursor:pointer}.reading-object span{position:absolute;left:50%;top:100%;transform:translateX(-50%);white-space:nowrap;background:#15201ce6;padding:5px 9px;font-size:13px;opacity:0}.reading-object:hover span,.reading-object:focus-visible span{opacity:1}.reading-object:hover{filter:drop-shadow(0 0 7px #e6c47899)}
.reading-ink{position:absolute;pointer-events:auto;padding:calc(12px / var(--reading-zoom,1)) calc(17px / var(--reading-zoom,1));color:#484332;font-size:calc(22px / var(--reading-zoom,1));line-height:1.65;display:flex;flex-direction:column;overflow:hidden;font-family:'Songbai Hand',KaiTi,serif}
.reading-ink header{font:calc(16px / var(--reading-zoom,1))/1.5 var(--serif);text-align:center;letter-spacing:.1em;border-bottom:1px solid #5e5b3833;padding-bottom:calc(5px / var(--reading-zoom,1));margin-bottom:calc(8px / var(--reading-zoom,1))}.reading-words{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.reading-words p{margin:0 0 .4em}.reading-ink button{align-self:flex-end;padding:calc(3px / var(--reading-zoom,1)) calc(7px / var(--reading-zoom,1));background:#9d8b5b22;color:#6a5336;border-bottom:1px solid #80694366;font:calc(15px / var(--reading-zoom,1))/1.5 var(--serif);margin-top:auto}.reading-ink button span{font-size:.7em}
.scene-reading[data-type=handle] .reading-ink{font-size:calc(22px / var(--reading-zoom,1));background:#d4bc8da6}.scene-reading[data-type=book] .reading-words{columns:2;column-gap:10%;column-fill:auto}.scene-reading[data-type=book] .reading-ink{font-family:var(--serif)}
.scene-reading-active #scene-objects,.scene-reading-active #inspect-assist,.scene-reading-active .painted-investigation,.scene-reading-active .stage-portrait,.scene-reading-active #epitaph-button{visibility:hidden!important}.scene-reading-active .dialogue-panel{z-index:3}.scene-reading-active #next-button{visibility:hidden}
@media(max-width:650px){
 .dialogue-panel .story-text,.dialogue-panel.is-choice .story-text,.investigating .dialogue-panel.is-choice .story-text,.dialogue-panel .story-text.narration,.dialogue-panel[data-kind=thought] .story-text{font-size:clamp(20px,calc(var(--text-size) - 2px),27px);line-height:1.8;min-height:82px}
 #choices .choice-button,.investigating #choices .choice-button{font-size:17px;min-height:51px;padding:11px 14px}#speaker-name,.dialogue-panel[data-kind=thought] #speaker-name,.dialogue-panel[data-kind=document] #speaker-name{font-size:16px}#line-hint{font-size:11px}
 .scene-puzzle-active[data-scene-puzzle=proof] #choices .choice-button,.scene-puzzle-active[data-scene-puzzle=invitation] #choices .choice-button{font-size:15px;min-height:37px}
 .forum-page main{padding:18px 15px}.forum-comment{margin-left:0;padding:17px 2px}.forum-comment header{gap:8px}.forum-page aside{display:none}.forum-page{grid-template-columns:1fr;max-height:62vh}.forum-comment,.forum-post,.forum-reply{font-size:16px}.reading-ink{font-size:calc(20px / var(--reading-zoom,1))}.scene-reading[data-type=book] .reading-words{columns:auto}
}
.scene-reading[data-type=book] .reading-ink header{text-align:left;width:44%}
/* v18: readable ink stays on the photographed paper; long passages turn pages instead of scrolling. */
.scene-reading .reading-cg{filter:brightness(.96) saturate(.86) contrast(1.05)}
.scene-reading .reading-ink{background:transparent!important;color:#21180f!important;font-family:'KaiTi','STKaiti','Songbai Hand',serif!important;font-size:calc(25px / var(--reading-zoom,1));font-weight:600;line-height:1.48;letter-spacing:0;text-shadow:0 .15px #1c140c;-webkit-text-stroke:.3px #241a12;padding:calc(10px / var(--reading-zoom,1)) calc(14px / var(--reading-zoom,1));}
.scene-reading .reading-ink header{width:auto!important;text-align:left!important;color:#2d2015;border-bottom:1px solid #49352070;font:600 calc(17px / var(--reading-zoom,1))/1.3 'KaiTi','STKaiti',serif;letter-spacing:.02em;padding:0 0 calc(3px / var(--reading-zoom,1));margin:0 0 calc(7px / var(--reading-zoom,1));}
.scene-reading .reading-words{columns:auto!important;column-gap:0;overflow:hidden!important;scrollbar-width:none;min-height:0}
.scene-reading .reading-words::-webkit-scrollbar{display:none}
.scene-reading .reading-words p{margin:0 0 .3em;white-space:normal;overflow-wrap:anywhere}
.scene-reading .reading-ink button{font:600 calc(17px / var(--reading-zoom,1))/1.35 'KaiTi','STKaiti',serif;color:#23170e;background:#d2b884d9;border:1px solid #694e2a;box-shadow:0 1px 2px #21140955;padding:calc(3px / var(--reading-zoom,1)) calc(8px / var(--reading-zoom,1));}
.scene-reading[data-type=handle] .reading-ink{font-size:calc(24px / var(--reading-zoom,1));}
.scene-reading[data-type=book] .reading-ink{font-family:'KaiTi','STKaiti','Songbai Hand',serif!important;}
body[data-reading-type=handle] .dialogue-panel,body[data-reading-type=book] .dialogue-panel,body[data-reading-type=card] .dialogue-panel{visibility:hidden!important}
@media(max-width:650px){.scene-reading .reading-ink{font-size:calc(23px / var(--reading-zoom,1))}.scene-reading[data-type=handle] .reading-ink{font-size:calc(22px / var(--reading-zoom,1))}}
/* Keep photographed papers and their controls inside narrow browser windows. */
@media(max-width:900px){
 .bus-letter-text{font-size:clamp(18px,2.6vw,22px);line-height:1.55}
 dialog.object-modal:has(.dismissal-letter){max-height:92dvh;padding:19px 22px}
 #modal-body .dismissal-letter{padding:22px 28px;font-size:15px;line-height:1.6}
 #modal-body .dismissal-letter p{margin:6px 0 10px}
 #modal-body .dismissal-letter h3{margin:12px 0 5px;font-size:22px;color:#253029}
 #modal-body .dismissal-letter .letter-number{margin-bottom:10px;color:#4a5147}
 #modal-body .dismissal-letter .letter-sign{margin-top:9px;font-size:18px;line-height:1.5}
 #modal-body .dismissal-letter .fictional-seal{width:76px;height:76px;font-size:10px;color:#79352f;border-color:#79352f}
 #modal-body .dismissal-letter .letter-receipt{margin-top:12px;padding-top:7px}
 #modal-body .dismissal-letter .letter-receipt small{color:#4d5549}
}
@media(max-width:650px){#modal-body .dismissal-letter{padding:17px 18px;font-size:14px}.bus-letter-text{font-size:18px}}
.painted-investigating #choices{visibility:hidden!important}
.photo-paper-back{white-space:pre-line}
@media(min-width:651px) and (max-width:900px){
 .laid-photo{left:calc(6% + var(--photo)*30%);top:38%;width:27%;height:19%;padding:4px}
 .photo-caption{font-size:14px}.photo-turn{padding:4px 7px;font-size:18px}.photo-offer{font-size:14px;bottom:-34px}
 .laid-document{top:32%;left:3%;width:45%;padding:10px 12px;font-size:15px}
 .laid-document[data-sheet=B]{left:52%}.laid-document h3{font-size:21px;letter-spacing:.08em}
 .laid-document small,.laid-document footer{font-size:11px}.laid-field{min-height:38px;padding:5px 0;gap:5px}
 .laid-field b{font-size:17px}.laid-field span{font-size:12px}.laid-field i{font-size:13px}
 .placement-document{top:31%;height:272px}.placement-document .laid-field{min-height:38px}
 .proof-document{top:31%;width:45%;min-height:240px}.paper-clue{font-size:18px}
 .invitation-document{left:10%;top:31%;width:80%;padding:15px 20px}.invitation-field{min-height:47px}.invitation-field b{font-size:19px}
}
/* v19: evidence sits under the brass clips of the cemetery writing board. */
.scene-puzzle[data-kind=proof] .puzzle-cg{filter:brightness(.9) saturate(.82)}
.scene-puzzle[data-kind=proof] .proof-document{top:22%;left:21%;width:27%;min-height:240px;box-shadow:3px 9px 15px #0008;transform:rotate(-1deg)}
.scene-puzzle[data-kind=proof] .proof-document[data-sheet=B]{left:51%;transform:rotate(1.2deg)}
.scene-puzzle[data-kind=proof] .paper-clue{color:#2b3026;border-color:#756b4e;font-weight:600}
.painted-real-object{transition:filter .3s,background-color .3s}
@media(max-width:900px){
 .scene-puzzle[data-kind=proof] .proof-document{top:24%;left:5%;width:43%;min-height:230px;padding:14px 12px}
 .scene-puzzle[data-kind=proof] .proof-document[data-sheet=B]{left:52%}
}
@media(prefers-reduced-motion:reduce){.painted-real-object{transition:none}}
