:root{color:#514d42;font-synthesis:none;--sage:#66735b;--rust:#a67c64;--paper:#f7f0e3;--text:20px;background:#d6ccbb;font-family:Microsoft YaHei,PingFang SC,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:5px;outline:2px solid #9d704f}button{color:inherit}a{color:var(--sage)}[hidden]{display:none!important}#game{width:100vw;height:100dvh;min-height:540px;position:relative;overflow:hidden}#world{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.scene-vignette{pointer-events:none;background:linear-gradient(90deg,#ebe6d663 0%,#0000 40%),linear-gradient(#0000 60%,#423a292b);position:absolute;inset:0;box-shadow:inset 0 0 180px #6c563226}.paper-grain{pointer-events:none;opacity:.045;z-index:8;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h150v150H0z' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:absolute;inset:0}.topbar{z-index:10;background:linear-gradient(#f2eddfcf,#0000);justify-content:space-between;align-items:center;gap:24px;height:96px;padding:27px 4.5vw;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:#625d4c;letter-spacing:3px;font-size:14px;text-decoration:none}.brand span{letter-spacing:2px;margin-top:6px;font:8px Georgia,serif;display:block}.location{color:#777363;letter-spacing:1px;align-items:center;gap:8px;font-size:11px;display:flex}.weather-dot{background:#83977c;border-radius:50%;width:5px;height:5px}.topbar nav{gap:18px;display:flex}.topbar button{background:0 0;border:0;min-height:40px;padding:7px;font-size:12px}#menu{font-size:21px}#portrait-stage{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}#portrait-rig{filter:drop-shadow(0 3px 8px #43332118);-webkit-user-select:none;user-select:none;width:auto;height:106vh;max-height:1300px;transition:opacity .2s;position:absolute;bottom:-22vh;left:67%;transform:translate(-50%)}body.title-mode #portrait-rig{height:103vh;bottom:-17vh;left:72%}body.title-mode .scene-vignette{background:linear-gradient(90deg,#f1ecdef2 0%,#f1ecdec9 24%,#f1ecde50 46%,#0000 75%)}#title-screen{z-index:4;max-width:48vw;position:absolute;top:23vh;left:10vw}.title-kicker{letter-spacing:3px;color:#8e816b;font-size:11px}h1{letter-spacing:6px;color:#504f42;margin:21px 0 12px;font:400 clamp(48px,5.1vw,83px)/1.35 KaiTi,STKaiti,serif}h1 span{color:#ad7b61}.title-en{letter-spacing:5px;color:#958267;font:11px Georgia,serif}.title-en:after{content:"";background:#ad9479;width:49px;height:1px;margin:26px 0;display:block}#title-screen p{color:#7e7664;letter-spacing:2px;font-size:13px;line-height:2.1}.title-actions{flex-direction:column;align-items:flex-start;gap:8px;margin-top:24px;display:flex}.title-actions button{letter-spacing:2px;background:0 0;border:0;min-height:34px;padding:6px 0;font-size:13px}.title-actions button:hover{color:#9b6f51}#start-btn{letter-spacing:3px;color:#5f7254;text-align:left;border-bottom:1px solid #8d967b;min-width:175px;margin-bottom:4px;padding-bottom:12px;font-size:18px}#start-btn span{float:right}.title-foot{letter-spacing:2px;color:#938873;margin-top:24px;font-size:9px}.chapter-marker{color:#6a6655;letter-spacing:2px;z-index:3;background:#f5efdfb8;border:1px solid #fff5e176;align-items:center;gap:14px;padding:11px 18px;font-size:11px;display:flex;position:absolute;top:123px;left:5vw}#chapter-no{color:#9b896e;font:italic 21px Georgia,serif}#dialogue{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(110deg,#fff9edfa,#f5eddeed);border:1px solid #faf5e9;border-radius:3px 15px 3px 9px;min-height:185px;padding:23px 38px 10px;position:absolute;bottom:29px;left:5vw;right:5vw;box-shadow:0 5px 40px #4a342624,inset 0 0 0 5px #ffffff26}.nameplate{align-items:center;gap:15px;display:flex;position:absolute;top:-20px;left:32px}#speaker{color:#fff9e9;letter-spacing:4px;text-align:center;background:#798468;border-radius:2px 5px;min-width:120px;padding:10px 30px;font-size:15px;box-shadow:0 3px 6px #4b3e3010}#speaker-line{letter-spacing:2px;color:#fff8e8;text-shadow:0 1px 4px #3b3322;font-size:10px}#text-advance{text-align:left;color:#514d42;width:100%;min-height:106px;font-size:var(--text);letter-spacing:1px;background:0 0;border:0;padding:9px 24px 13px 0;line-height:1.9;display:block;position:relative}#advance-mark{color:#9e8e6d;font-size:18px;position:absolute;bottom:15px;right:0}.dialogue-bottom{border-top:1px solid #cabc9f50;justify-content:space-between;align-items:center;gap:10px;padding-top:5px;display:flex}#line-hint{color:#998f7a;letter-spacing:1px;font-size:9px}.dialogue-bottom nav{gap:14px;display:flex}.dialogue-bottom button{color:#857c69;background:0 0;border:0;min-height:32px;padding:8px 3px;font-size:11px}.dialogue-bottom button[aria-pressed=true]{color:#506945;border-bottom:1px solid #6b7c5b}#choices{z-index:6;flex-direction:column;gap:10px;width:min(450px,40vw);max-height:calc(100dvh - 375px);padding:4px;display:flex;position:absolute;bottom:255px;right:7vw;overflow-y:auto}.choice{text-align:left;color:#635d4e;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(90deg,#f6f0e3ed,#eee6d2ef);border:1px solid #fffcf0c9;border-radius:3px;min-height:47px;padding:13px 22px;font-size:13px;line-height:1.6;box-shadow:0 3px 18px #3b2b191c}.choice:hover{background:#e8eddd;transform:translate(-3px)}.choice span{letter-spacing:2px;color:#a58b6c;padding-right:18px;font:italic 11px Georgia,serif}.choice.primary{background:#e6eadcec;border-color:#7c8c6899}dialog{color:#595346;background:#faf4e9;border:1px solid #b9a78c;border-radius:6px 16px 6px 10px;width:min(820px,93vw);max-height:86dvh;padding:29px;box-shadow:0 20px 100px #211c1740}dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#332f275e}dialog>header{border-bottom:1px solid #d7cbb9;justify-content:space-between;align-items:center;margin-bottom:17px;padding-bottom:15px;display:flex}h2{margin:7px 0;font:400 29px KaiTi,serif}.panel-kicker{letter-spacing:3px;color:#ab8c6b;font:9px Georgia,serif}#close-panel{color:#8a7c64;background:0 0;border:1px solid #d3c7b3;border-radius:50%;width:40px;height:40px;font-size:24px}.panel-nav{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.panel-nav button,.soft-button{background:#f1ecde;border:1px solid #cfc4af;border-radius:4px;min-height:42px;padding:10px 16px;font-size:12px}.panel-nav button.active,.soft-button.active{background:#e1e7d5;border-color:#9eae87}.note{border-bottom:1px dashed #d4c6b0;padding:14px 0}.note h3{margin:5px 0 10px;font-size:16px;font-weight:500;line-height:1.6}.note p{font-size:12px;line-height:1.9}.note a{overflow-wrap:anywhere;font-size:11px;line-height:1.7}.fine{color:#8e826d;font-size:11px;line-height:1.8}.note .fine{font-size:11px}.slots{grid-template-columns:1fr 1fr;gap:13px;display:grid}.slot{background:#f3eddf;border:1px solid #cabda5;border-radius:7px;padding:16px}.slot h3{margin:0 0 9px;font-size:14px;font-weight:500}.slot p{color:#8d7f68;margin:6px 0;font-size:11px;line-height:1.8}.slot button{margin-top:8px}.setting{border-bottom:1px solid #dacebb;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;font-size:13px;display:flex}.setting input[type=checkbox]{accent-color:#7f916c;width:21px;height:21px}.setting input[type=range]{accent-color:#7f916c;width:150px}.setting small{color:#998a72;margin-top:5px;font-size:10px;line-height:1.8;display:block}.task-list{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.task-list button{background:#f4eddd;border:1px solid #c2b295;border-radius:6px;min-height:48px;padding:14px;font-size:13px}.task-list button.done{background:#dfe7d1;border-color:#a2b28b}.task-feedback{color:#817256;min-height:25px;font-size:13px;line-height:1.9}.progress-dots{justify-content:center;gap:12px;margin:20px;display:flex}.progress-dots i{border:1px solid #96a37e;border-radius:50%;width:10px;height:10px}.progress-dots i.on{background:#96a37e}.task-illustration{color:#ad8469;text-align:center;font:80px/1.3 Georgia,serif}.gallery-layout{grid-template-columns:1fr 1fr;align-items:center;gap:20px;display:grid}.gallery-image{object-fit:contain;background:radial-gradient(#e8e8d9,#0000);border-bottom:1px solid #d2c4ac;width:100%;height:430px}.gallery-copy p{font-size:12px;line-height:1.9}.gallery-controls{flex-wrap:wrap;gap:7px;display:flex}.history-entry{border-bottom:1px dashed #d6c8b1;padding:17px 0}.history-entry small{color:#9c8267;letter-spacing:2px;font-size:11px}.history-entry p{margin:8px 0;font-size:14px;line-height:1.9}.menu-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.menu-grid button{text-align:left;padding:20px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}#toast{z-index:30;opacity:0;pointer-events:none;background:#f9f2e6ed;border:1px solid #d7c5a9;border-radius:4px;padding:10px 20px;font-size:12px;transition:opacity .2s;position:absolute;top:105px;left:50%;transform:translate(-50%)}#toast.visible{opacity:1}#loading{z-index:50;letter-spacing:4px;background:#e9e2d3;place-items:center;font:23px KaiTi,serif;transition:opacity .5s;display:grid;position:absolute;inset:0}#fallback{z-index:10;background:#f8f0df;padding:12px;font-size:12px;position:absolute;top:110px;left:30px}#restore-ui{z-index:15;background:#f8efddd9;border:1px solid #fff8e9;border-radius:4px;padding:12px 18px;font-size:12px;position:absolute;bottom:25px;right:30px}#explore-controls{z-index:15;text-align:center;white-space:nowrap;background:#f5efdfeb;border-radius:6px;padding:14px 20px;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}#explore-controls p{color:#948065;margin-top:0;font-size:11px}#explore-controls button{background:0 0;border:0;padding:9px 15px;font-size:13px}.reduced *{transition:none!important;animation:none!important}.large-text{--text:24px}body.exploring #portrait-stage,body.exploring #title-screen,body.exploring #novel-ui,body.ui-hidden #novel-ui{display:none}.character-hidden #portrait-stage{opacity:0}.portrait-dim #portrait-rig{filter:brightness(.92)drop-shadow(0 3px 8px #43332118)}@media (width<=900px){.topbar{height:76px;padding:18px 5vw}.location{display:none}.topbar nav{gap:8px}.brand{font-size:12px}.brand span{font-size:7px}#title-screen{max-width:56vw;top:21vh;left:7vw}h1{letter-spacing:3px;font-size:48px}.title-kicker{letter-spacing:1px;font-size:9px}#portrait-rig{height:94vh;bottom:-10vh;left:68%}body.title-mode #portrait-rig{height:90vh;bottom:-5vh;left:76%}.title-actions{gap:5px}.title-foot{font-size:8px}#dialogue{min-height:195px;padding:20px 22px 8px;bottom:18px;left:3vw;right:3vw}#text-advance{min-height:119px;font-size:17px;line-height:1.85}.nameplate{left:19px}#speaker{padding:9px 23px;font-size:13px}.dialogue-bottom nav{gap:9px}.dialogue-bottom button{font-size:10px}#line-hint{display:none}.dialogue-bottom{justify-content:flex-end}.chapter-marker{top:90px;left:4vw}#choices{width:min(430px,57vw);bottom:250px;right:5vw}.large-text #text-advance{font-size:20px}.gallery-image{height:350px}}@media (width<=600px){#game{min-height:560px}.topbar button{padding:5px;font-size:10px}.topbar nav{gap:5px}#title-screen{max-width:68vw;top:19vh;left:7vw}h1{letter-spacing:2px;font-size:40px;line-height:1.4}body.title-mode #portrait-rig{opacity:.93;height:81vh;bottom:-3vh;left:88%}.title-kicker{max-width:180px;font-size:9px;line-height:1.9}.title-en{letter-spacing:3px;font-size:8px}.title-en:after{margin:20px 0}#title-screen p{letter-spacing:1px;font-size:11px}.title-actions button{min-height:32px;padding:5px 0;font-size:12px}#start-btn{min-width:150px;font-size:17px}.title-foot{max-width:165px;margin-top:15px;line-height:1.8}#portrait-rig{max-width:none;height:78vh;bottom:12vh;left:64%}#dialogue{min-height:205px;padding:20px 18px 8px;bottom:10px;left:12px;right:12px}#text-advance{letter-spacing:.5px;min-height:120px;font-size:16px;line-height:1.85}.dialogue-bottom nav{flex-wrap:wrap;justify-content:space-between;gap:4px;width:100%}.dialogue-bottom button{min-height:34px;padding:9px 2px;font-size:10px}.nameplate{top:-18px;left:15px}#speaker{min-width:95px;padding:9px 18px;font-size:12px}.chapter-marker{max-width:86vw;padding:8px 12px;font-size:9px;top:82px}.chapter-marker #chapter-no{font-size:17px}#choices{gap:7px;width:calc(100% - 42px);max-height:calc(100dvh - 380px);bottom:249px;right:21px}.choice{background:#f7f0e4f2;min-height:43px;padding:10px 15px;font-size:12px}.choice span{padding-right:10px;font-size:10px}dialog{max-height:88dvh;padding:20px}.slots,.gallery-layout{grid-template-columns:1fr}.gallery-image{height:300px}.gallery-copy p{font-size:11px}.gallery-controls{justify-content:center}.gallery-copy{text-align:center}h2{font-size:26px}.menu-grid{gap:8px}.menu-grid button{padding:15px}.large-text #text-advance{font-size:18px}#explore-controls{white-space:normal;width:92vw;padding:14px 10px}#explore-controls button{padding:9px 10px;font-size:12px}#toast{width:max-content;max-width:85vw;font-size:11px;top:78px}.title-mode .scene-vignette{background:linear-gradient(90deg,#f1ecdef5 0%,#f1ecdecc 35%,#f1ecde22 90%)!important}}@media (height<=650px) and (width>=601px){.topbar{height:65px;padding-top:15px}#title-screen{top:16vh}h1{margin:12px 0;font-size:44px}.title-en:after{margin:12px 0}#title-screen p{font-size:11px;line-height:1.6}.title-actions{gap:0;margin-top:12px}.title-foot{margin-top:12px}#dialogue{min-height:155px;padding-top:15px;bottom:13px}#text-advance{min-height:88px;font-size:17px}.chapter-marker{top:78px}#choices{max-height:calc(100dvh - 295px);bottom:200px}#portrait-rig{height:115vh;bottom:-21vh}.choice{min-height:39px;padding:9px 16px}}@media (width>=901px){#choices{width:min(450px,39vw);left:8vw;right:auto}}@media (width>=601px) and (width<=900px){#choices{width:44vw;left:5vw;right:auto}}#portrait-rig{aspect-ratio:2/3}#portrait-rig img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}#portrait-expression{-webkit-mask-image:radial-gradient(17% 10.5% at 54% 20.5%,#000 70%,#0000 100%);mask-image:radial-gradient(17% 10.5% at 54% 20.5%,#000 70%,#0000 100%)}.character-body{z-index:0}.character-head{z-index:1}.character-face{z-index:2}.gallery-art{aspect-ratio:2/3;align-self:center;max-width:100%;height:430px;margin:auto;position:relative}.gallery-art img{object-fit:contain;width:100%;height:100%;max-height:none;position:absolute;inset:0}.look-controls{gap:12px;margin-top:20px;display:grid}.look-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.look-row small{color:#8b7c66;letter-spacing:2px;width:100%}.look-row button{padding:8px 10px;font-size:11px}.gallery-controls{flex-wrap:wrap}@media (width<=600px){.gallery-art{height:310px}.look-row{justify-content:center}}@media (width>=601px) and (height>=651px){body:not(.title-mode) #portrait-rig{height:95vh;bottom:-3vh}}@media (width<=600px){.gallery-layout{display:block}.gallery-art{aspect-ratio:auto;background:var(--paper);z-index:4;border-bottom:1px solid #cabc9f50;width:100%;height:220px;margin-bottom:18px;position:sticky;top:0}.gallery-art img{object-fit:contain}.gallery-copy{position:relative}}#scene-cg{object-fit:cover;object-position:64% 50%;pointer-events:none;width:100%;height:100%;display:none;position:absolute;inset:0}body.cg-moment #scene-cg{display:block}body.cg-moment #portrait-stage,body.cg-moment.exploring #scene-cg{display:none}body.title-mode.cg-moment .scene-vignette{box-shadow:none;background:linear-gradient(90deg,#f3eadbfa 0%,#f3eadbed 17%,#f3eadbbd 32%,#f3eadb18 57%,#0000 75%)}body.title-mode #title-screen{max-width:45vw;top:26vh;left:7vw}body.title-mode h1{letter-spacing:4px;white-space:nowrap;font-size:clamp(46px,6vw,88px)}body.title-mode #title-screen p{letter-spacing:1px;font-size:15px;line-height:2.1}.title-kicker{letter-spacing:2px}.title-en{letter-spacing:4px}#stage-direction{color:#6a5d4b;z-index:4;background:#f5eddebd;border-left:2px solid #b29477;max-width:310px;padding:10px 16px;font:italic 14px/1.9 KaiTi,serif;position:absolute;top:185px;left:6vw}#stage-direction:empty{display:none}.narrator-line #speaker{background:#887d68}.narrator-line #text-advance{color:#706654}.narrator-line #speaker-line{display:none}.room-object-controls{border-top:1px solid #bcb09a70;margin-top:9px;padding-top:7px}.room-object-controls>span{color:#89755b;letter-spacing:1px;padding:5px;font:12px KaiTi,serif;display:block}.room-object-controls button{text-underline-offset:5px;text-decoration:underline;color:#866249!important}.object-before,.object-after{padding:10px 12px;font:18px/2.2 KaiTi,STKaiti,serif}.object-reply{background:#efe5d5;border-left:2px solid #9b765b;margin:24px 10px;padding:20px;font:19px/2 KaiTi,STKaiti,serif}body.cg-moment:not(.title-mode) #dialogue{background:linear-gradient(110deg,#fff7e9f2,#f1e5d3f2)}.cg-moment .chapter-marker{background:#f3eadbdd}#room-look{color:#8b624d}.cg-moment.exploring .scene-vignette{background:0 0!important}.cg-moment.exploring #portrait-stage{display:none!important}@media (width<=600px){#scene-cg{object-position:65% 43%}body.title-mode.cg-moment .scene-vignette{background:linear-gradient(#0000 20%,#efe4d366 47%,#efe4d3ee 75%,#efe4d3 98%)!important}body.title-mode #title-screen{max-width:86vw;top:auto;bottom:8vh;left:7vw}body.title-mode h1{margin:10px 0;font-size:46px}.title-en:after{display:none}.title-en{font-size:8px}body.title-mode #title-screen p{margin:13px 0;font-size:13px;line-height:1.8}.title-actions{gap:2px;margin-top:12px}.title-actions button{min-height:30px}.title-foot{max-width:95%;margin-top:10px}.title-kicker{font-size:10px}#stage-direction{max-width:64vw;padding:7px 12px;font-size:12px;top:128px;left:5vw}.topbar{gap:5px}.topbar .brand{letter-spacing:1px;font-size:11px}.topbar nav{gap:0}.topbar button{padding:4px;font-size:9px}.room-object-controls button{padding:10px 7px!important;font-size:11px!important}.object-before,.object-after{font-size:16px}.object-reply{margin:20px 0;padding:12px;font-size:17px}.title-mode .topbar .brand{color:#efe4d5;text-shadow:0 1px 3px #3b302c}.title-mode .topbar{background:linear-gradient(#493e3770,#0000)}.title-mode .topbar button{color:#fff7e9}}@media (prefers-reduced-motion:no-preference){.object-after,.object-reply{animation:.35s both page-appear}@keyframes page-appear{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}@media (width<=600px){body.title-mode #room-look{color:#fff7e9}}
