@charset "UTF-8";.app .music-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #c8a77b70;border-radius:18px;background:#271925ed;color:#f6e7ce;font:inherit;font-size:11px;letter-spacing:0;white-space:nowrap;flex-shrink:0}.app .music-button.on{background:#44302a;border-color:#d8b783}.app .music-button:disabled{cursor:wait;opacity:.75}.app .music-button:focus-visible,.app .music-feedback button:focus-visible{outline:2px solid #efcba1;outline-offset:3px}.app .music-feedback{display:flex;align-items:center;gap:12px;padding:10px 14px;margin:8px auto;max-width:720px;border:1px solid #e4b48b80;border-radius:8px;background:#35232bf5;color:#fff1dc;font-size:12px;line-height:1.6}.app .music-feedback button{flex-shrink:0;color:#ffe2ad;text-decoration:underline;padding:7px 4px}.app .music-settings-status{font-size:12px;color:#c4aa91;margin:0 0 16px}.app .game-controls:has(.music-button),.app .game-controls>div:has(.music-button){flex-wrap:wrap}.app .game-controls>div:has(.music-button){gap:12px}@media(max-width:600px){.app .header-actions{gap:5px}.app .music-button{font-size:10px;padding:6px 8px;min-height:34px;gap:4px}.app .game-controls>div:has(.music-button){gap:10px}.app .game-controls .music-button{font-size:9px;padding:5px 7px;min-height:30px}.app .music-feedback{font-size:11px;padding:8px 10px;margin:8px}}.app .music-track-title{font-size:10px;opacity:.75;border-left:1px solid #c8a77b50;padding-left:7px}@media(max-width:600px){.app .music-track-title{display:none}}.scene-stage{position:absolute;inset:0;overflow:hidden;background:#171018}.stage-frame{position:absolute;inset:0;background:#171018}.game-page .scene-stage .game-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:var(--focus);filter:none;animation:none}.game-page .scene-stage .stage-frame.room .game-art{object-fit:cover}.scene-stage .stage-frame.incoming{animation:picture-arrives .8s ease both}.scene-stage .stage-frame.outgoing{animation:none;pointer-events:none}.game-page .scene-stage .expression-sprite{top:70px;bottom:auto;left:50%;width:auto;max-width:100%;height:calc(100% - 100px);object-fit:contain;object-position:50% 0;transform:translate(-50%);animation:expression-arrives .38s ease both;filter:drop-shadow(0 8px 28px #0005)}.scene-loading,.scene-retry{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);color:#dbc6aa;font-size:12px;letter-spacing:2px;text-align:center}.scene-retry{z-index:4;background:#251b25;border:1px solid #c6a97566;padding:15px;border-radius:6px;pointer-events:auto}.scene-retry:focus-visible{outline:2px solid #dbc6aa;outline-offset:4px}.game-page .game-shade{pointer-events:none}.source-label{margin-left:12px;color:#c4ad98;font:9px/1.5 var(--font-sans,sans-serif);letter-spacing:1px;font-weight:400}.dialogue-text{white-space:pre-line}@keyframes picture-arrives{0%{opacity:0}to{opacity:1}}@keyframes expression-arrives{0%{opacity:0}to{opacity:1}}@media(max-width:760px){.scene-stage .stage-frame:not(.room){inset:110px 0 auto;height:calc(100% - 400px);min-height:240px;aspect-ratio:auto}.game-page .scene-stage .game-art{object-position:var(--mobile-focus)}.game-page .scene-stage .stage-frame:not(.room) .game-art{object-fit:cover}.game-page .scene-stage .stage-frame.detail .game-art{object-fit:contain}.game-page .scene-stage .expression-sprite{top:105px;height:calc(100% - 260px);max-width:100%}.source-label{font-size:8px;margin-left:8px}.scene-retry{top:145px;max-width:calc(100% - 32px);width:max-content}}.scene-stage[data-motion=off] *,.reduced-motion .scene-stage *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.scene-stage *{animation:none!important;transition:none!important}}.ending-screen{--ending-ink: #f0e3cc;--ending-gold: #cfb58c;--ending-muted: #bda8a6;--ending-rule: #bd9e7052;--ending-serif: var(--serif, "Songti SC", "Noto Serif CJK SC", "STSong", serif);position:fixed;inset:0;z-index:100;box-sizing:border-box;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain;border:0;background:radial-gradient(ellipse at 92% 38%,#57243736,transparent 60%),#100d11;color:var(--ending-ink);color-scheme:dark;font:14px/1.6 PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;text-align:left}.ending-screen::backdrop{background:#100d11f5}.ending-screen[open]{animation:ending-appear .55s ease both}.ending-screen *,.ending-screen *:before,.ending-screen *:after{box-sizing:border-box}.ending-screen [hidden]{display:none!important}.ending-screen button{font:inherit;cursor:pointer;touch-action:manipulation}.ending-screen button:focus-visible{outline:2px solid #f4d8a2;outline-offset:4px}.ending-screen .ending-title:focus{outline:none}.ending-screen p,.ending-screen h1,.ending-screen h2,.ending-screen h3{margin:0}.ending-screen .ending-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ending-shell{max-width:1900px;min-height:100%;margin:0 auto;display:flex;flex-direction:column}.ending-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 17px;flex-shrink:0}.ending-edition{display:flex;align-items:center;gap:13px;font:12px/1.6 var(--ending-serif);letter-spacing:.22em;color:var(--ending-gold)}.ending-edition>span{font-size:25px;line-height:1}.ending-toolbar-actions{display:flex;align-items:center;gap:13px;flex-shrink:0}.ending-icon{display:block;width:20px;height:20px;flex-shrink:0}.ending-screen .ending-art-toggle,.ending-screen .ending-close{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid var(--ending-rule);border-radius:0;background:#1d141cd9;color:var(--ending-gold);font-size:12px;letter-spacing:.08em;transition:border-color .2s,background .2s}.ending-screen .ending-close{width:44px;padding:10px;border-color:transparent}.ending-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.9fr);gap:clamp(26px,3.8vw,72px);flex:1;min-width:0}.ending-artwork{display:flex;flex-direction:column;min-width:0;margin:0}.ending-art-window{position:relative;isolation:isolate;flex:1;min-height:460px;padding:10px;border:1px solid var(--ending-rule);background:radial-gradient(ellipse at 50% 60%,#3b2330,#161117 75%);box-shadow:0 12px 54px #0004,inset 0 0 0 5px #0c090d}.ending-art-window:after{content:"";position:absolute;inset:9px;z-index:2;border:1px solid #e4caa53b;pointer-events:none}.ending-art-image{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);max-width:none;object-fit:cover;object-position:var(--ending-focus);opacity:0;transition:opacity .7s ease}.ending-art-image-ready{opacity:1}.ending-corner{position:absolute;z-index:3;width:34px;height:34px;border:solid #d4b98b;pointer-events:none}.ending-corner:after{content:"";position:absolute;width:5px;height:5px;background:#d4b98b;transform:rotate(45deg)}.ending-corner-tl{top:-1px;left:-1px;border-width:1px 0 0 1px}.ending-corner-tr{top:-1px;right:-1px;border-width:1px 1px 0 0}.ending-corner-bl{bottom:-1px;left:-1px;border-width:0 0 1px 1px}.ending-corner-br{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.ending-corner-tl:after{top:-3px;left:-3px}.ending-corner-tr:after{top:-3px;right:-3px}.ending-corner-bl:after{bottom:-3px;left:-3px}.ending-corner-br:after{bottom:-3px;right:-3px}.ending-art-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 16px;padding:13px 1px 0;color:var(--ending-muted);font-size:11px;line-height:1.7;letter-spacing:.08em}.ending-art-caption>span:first-child{color:var(--ending-gold);font-family:var(--ending-serif);letter-spacing:.28em}.ending-art-status{position:absolute;inset:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:20px;text-align:center;color:var(--ending-gold);font-family:var(--ending-serif);letter-spacing:.12em}.ending-art-status>span{color:var(--ending-muted);font-size:12px}.ending-flourish{display:block;width:min(240px,80%);height:34px;flex-shrink:0;color:#bda071}.ending-summary{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-width:0;padding:clamp(24px,3.3vh,48px) clamp(4px,1vw,20px);border-top:1px solid var(--ending-rule);border-bottom:1px solid var(--ending-rule);text-align:center}.ending-completion{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--ending-gold);font:13px/1.8 var(--ending-serif);letter-spacing:.3em}.ending-completion-rule{position:relative;width:36px;height:1px;background:var(--ending-rule)}.ending-completion-rule:after{content:"";position:absolute;top:-2px;left:0;width:5px;height:5px;transform:rotate(45deg);border:1px solid #bda071;background:#171017}.ending-completion-rule:last-child{transform:rotate(180deg)}.ending-screen .ending-route{margin-top:24px;color:var(--ending-muted);font-size:11px;line-height:1.8;letter-spacing:.16em}.ending-route>span{margin:0 6px;color:#8f725f}.ending-screen .ending-title{margin:14px 0 12px;color:#f5e6cb;font:400 clamp(26px,2.35vw,44px)/1.55 var(--ending-serif);letter-spacing:.08em;text-wrap:balance;overflow-wrap:anywhere}.ending-screen .ending-subtitle{color:var(--ending-muted);font-size:12px;line-height:1.9;letter-spacing:.06em}.ending-summary>.ending-flourish{align-self:center;margin:24px 0 20px}.ending-quote{margin:0;padding:0 7px;color:#e3cbae;font:16px/2 var(--ending-serif);letter-spacing:.09em;text-wrap:balance}.ending-keepsake{display:flex;align-items:center;gap:17px;margin-top:29px;padding:20px 0;text-align:left;border-block:1px solid var(--ending-rule)}.ending-keepsake-seal{display:grid;place-items:center;width:78px;height:90px;flex-shrink:0;border:1px solid #bd9e7073;border-radius:40px 40px 2px 2px;background:radial-gradient(ellipse at 50% 75%,#5d2a3a9c,#1b131b);box-shadow:inset 0 0 0 5px #100d114d;color:#dfbd8a}.ending-keepsake-motif{width:57px;height:57px}.ending-keepsake-copy{min-width:0}.ending-screen .ending-keepsake-label{margin:0 0 6px;color:var(--ending-gold);font-size:10px;letter-spacing:.2em}.ending-keepsake-copy h3{color:var(--ending-ink);font:400 18px/1.6 var(--ending-serif);letter-spacing:.06em;overflow-wrap:anywhere}.ending-screen .ending-keepsake-description{margin:7px 0 0;color:var(--ending-muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.ending-screen .ending-afterword{margin-top:28px;color:var(--ending-muted);font:13px/2 var(--ending-serif);letter-spacing:.08em}.ending-actions{margin-top:30px}.ending-screen .ending-primary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:59px;padding:16px 23px;border:1px solid #c3a171ad;border-radius:0;background:linear-gradient(112deg,#6a3044,#421d2f);box-shadow:inset 0 0 0 4px #cfac710b,0 5px 21px #0003;color:#f7e5c8;font-family:var(--ending-serif);font-size:16px;line-height:1.5;letter-spacing:.15em;text-align:left;transition:background .2s,border-color .2s}.ending-primary:before{content:"";position:absolute;inset:5px;border:1px solid #d3b48224;pointer-events:none}.ending-screen .ending-next-caption{margin:11px 0 12px;color:var(--ending-muted);font-size:11px;line-height:1.9;overflow-wrap:anywhere}.ending-secondary-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:3px 8px}.ending-screen .ending-secondary{display:inline-flex;align-items:center;justify-content:center;flex:1 1 auto;gap:7px;min-height:46px;padding:9px 7px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--ending-gold);font-size:12px;line-height:1.6;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}.ending-secondary .ending-icon{width:17px;height:17px}.ending-screen .ending-colophon{margin-top:25px;color:#a99183;font:11px/1.8 var(--ending-serif);letter-spacing:.25em}.ending-full-art .ending-layout{grid-template-columns:minmax(0,1fr)}.ending-full-art .ending-art-window{min-height:calc(100dvh - 143px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:#0b090c}.ending-full-art .ending-art-image{object-fit:contain;object-position:center}@media(hover:hover){.ending-screen .ending-art-toggle:hover,.ending-screen .ending-close:hover{border-color:#d3b482a1;background:#3d2130}.ending-screen .ending-primary:hover{background:linear-gradient(112deg,#814057,#582a3e);border-color:#eed0a3}.ending-screen .ending-secondary:hover{color:#f5dfbd;border-color:var(--ending-rule);background:#cfb58c09}}@media(min-width:1500px){.ending-screen{padding-inline:max(36px,env(safe-area-inset-left))}.ending-layout{grid-template-columns:minmax(0,1.6fr) minmax(390px,.8fr)}.ending-summary{padding-inline:18px}}@media(max-width:960px){.ending-screen{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}.ending-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);gap:25px}.ending-summary{padding:26px 0}.ending-screen .ending-title{font-size:28px}.ending-keepsake{gap:13px}.ending-keepsake-seal{width:64px;height:80px}.ending-screen .ending-secondary{gap:5px;padding-inline:3px}}@media(max-width:720px){.ending-screen{padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.ending-toolbar{gap:8px;padding-bottom:15px}.ending-edition{gap:7px;font-size:11px;letter-spacing:.08em}.ending-edition>span{font-size:20px}.ending-toolbar-actions{gap:4px}.ending-screen .ending-art-toggle{padding-inline:10px;gap:6px;font-size:11px}.ending-screen .ending-close{width:44px}.ending-layout{display:flex;flex-direction:column;gap:25px}.ending-art-window{flex:none;min-height:0;padding:8px}.ending-art-image{display:block;position:relative;inset:auto;width:100%;height:auto;max-height:54svh;object-fit:contain;object-position:var(--ending-mobile-focus)}.ending-art-window:has(.ending-art-status){min-height:220px}.ending-art-window:after{inset:7px}.ending-art-caption{gap:4px 9px;padding-top:10px;font-size:10px;letter-spacing:.02em}.ending-art-caption>span:first-child{letter-spacing:.15em}.ending-summary{padding:26px 8px 21px}.ending-screen .ending-route{margin-top:19px}.ending-screen .ending-title{margin-top:10px;font-size:clamp(26px,6.7vw,35px);letter-spacing:.06em}.ending-summary>.ending-flourish{width:200px;margin:18px 0 14px}.ending-quote{font-size:15px;padding-inline:2px}.ending-keepsake{margin-top:24px;padding-block:18px;gap:17px}.ending-keepsake-seal{width:70px;height:83px}.ending-screen .ending-keepsake-description{font-size:12px}.ending-actions{margin-top:25px}.ending-screen .ending-primary{min-height:58px}.ending-secondary-actions{gap:3px}.ending-screen .ending-secondary{font-size:12px}.ending-screen .ending-colophon{margin-top:21px}.ending-full-art .ending-layout,.ending-full-art .ending-artwork{flex:1}.ending-full-art .ending-art-window{flex:1;min-height:calc(100dvh - 151px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.ending-full-art .ending-art-image{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);max-height:none;object-fit:contain;object-position:center}}@media(max-width:359px){.ending-screen{padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}.ending-edition{max-width:102px}.ending-edition>span{display:none}.ending-screen .ending-art-toggle{padding-inline:8px}.ending-summary{padding-inline:3px}.ending-screen .ending-secondary{flex-direction:column;gap:3px;padding:8px 4px}}@media(max-height:520px)and (min-width:721px){.ending-art-window{min-height:400px}.ending-full-art .ending-art-window{min-height:calc(100dvh - 143px)}}@keyframes ending-appear{0%{opacity:0}to{opacity:1}}.ending-screen.ending-no-motion,.ending-screen.ending-no-motion *,.ending-screen.ending-no-motion *:before,.ending-screen.ending-no-motion *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){.ending-screen,.ending-screen *,.ending-screen *:before,.ending-screen *:after{animation:none!important;transition:none!important}}.ending-screen.ending-letter{--ending-gold:#bdb6a8;background:radial-gradient(ellipse at 85% 35%,#37404a25,transparent 60%),#111218}.ending-letter .ending-primary{background:#34323b}.ending-letter .ending-art-image{object-fit:contain}.camera-keepsake{width:100%;max-width:230px;height:130px;object-fit:cover;border:1px solid #be99664d}.line-real .game-chapter-name small{color:#d0c5b8}.line-alternate .dialogue-box{background:linear-gradient(130deg,#171a23f5,#29202af5);border-color:#a6a3b066}.line-alternate .speaker-label{background:#252632;color:#d9d3cf}.line-alternate .dialogue-text{font-size:17px;line-height:1.9}.line-alternate .dialogue-text>span:first-child{display:block;max-height:31vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#b2987d #29202a}.route-intro.alternate{color:#c9c3c5}.chapter-picture img{object-position:50% 35%}@media(max-width:760px){.paper-page .tabs{gap:17px;justify-content:space-between}.paper-page .tabs button{flex:1;min-width:0;font-size:12px;justify-content:center;white-space:nowrap}.paper-page .tabs button svg{width:16px;height:16px}.paper-page .tabs button span{display:none}.line-alternate .dialogue-text{font-size:15px;line-height:1.85}.line-alternate .dialogue-text>span:first-child{max-height:27svh}}.cg-album{margin:56px 0 32px}.cg-album h2{color:#eadac5;font-size:22px;font-weight:400}.cg-album h2 small{font:11px var(--font-sans,sans-serif);color:#bca88f;margin-left:14px}.cg-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cg-album-grid button{min-width:0;text-align:left;color:#c5b397;border:1px solid #b99e7133;background:#201923;padding:7px}.cg-album-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:50% 35%;display:block}.cg-album-grid span{display:block;font-size:11px;padding:9px 4px 3px}.album-full-picture{width:100%;max-height:65vh;object-fit:contain;display:block}.album-empty{border:1px dashed #a78b6644;color:#b3a08d;padding:35px 20px;text-align:center;font-size:13px}@media(max-width:760px){.cg-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.letter-reading .dialogue-box{border-color:#b19a7950}.diary-look{display:block;margin:0 0 8px auto;padding:7px 12px;color:#d9c8ae;font-size:11px;background:#251d28d9;border:1px solid #b3997244}.diary-focus .game-top,.diary-focus .game-bottom,.diary-focus .dream-note{visibility:hidden;pointer-events:none}.diary-focus .game-shade{opacity:.25}.diary-focus .scene-stage .stage-frame{inset:35px 3vw 185px;height:auto;min-height:0}.diary-focus .scene-stage .game-art{object-fit:contain!important;object-position:center}.diary-focus-controls{position:absolute;z-index:6;bottom:35px;left:20px;right:20px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;text-align:center;color:#e3d5c0}.diary-focus-controls p{flex-basis:100%;font-family:var(--font-serif,serif);font-size:21px;margin:0;letter-spacing:2px}.diary-focus-controls>span{flex-basis:100%;font-size:12px;color:#baa993;margin-bottom:4px}@media(max-width:760px){.diary-focus .scene-stage .stage-frame{inset:85px 0 230px}.diary-focus-controls{bottom:70px}.diary-focus-controls p{font-size:17px;letter-spacing:1px}}.moment-look{display:block;position:absolute;right:0;top:-44px;margin:0;padding:7px 12px;color:#e9d7be;font-size:11px;background:#251d28d9;border:1px solid #b3997266}.moment-focus .game-top,.moment-focus .game-bottom,.moment-focus .dream-note{visibility:hidden;pointer-events:none}.moment-focus .game-shade{opacity:.12}.moment-focus .scene-stage .stage-frame{inset:24px 3vw 130px;height:auto;min-height:0}.game-page.moment-focus .scene-stage .game-art{object-fit:contain!important;object-position:center!important}.moment-focus-controls{position:absolute;z-index:6;bottom:35px;left:20px;right:20px;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center;text-align:center;color:#e3d5c0}.moment-focus-controls p{flex-basis:100%;font-family:var(--font-serif,serif);font-size:20px;margin:0;letter-spacing:4px}@media(max-width:760px){.moment-focus .scene-stage .stage-frame{inset:35px 0 180px}.moment-focus-controls{bottom:65px}}.app .chapter-main{display:block;width:100%;text-align:inherit;color:inherit;background:none;border:0;padding:0}.app .chapter-restart{display:block;margin:0 22px 18px;padding:8px 0;color:#915464;text-decoration:underline;text-underline-offset:4px}.reading-current{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:18px 0;padding:20px;border:1px solid #d8afb9;background:#fff8f8;border-radius:16px}.reading-current h2{margin:5px 0 0;font-size:20px}.reading-current small{color:#8b5767}.reading-return{margin-bottom:16px}.app .reading-route{display:block;padding:14px 20px}.reading-route summary,.reading-source summary{cursor:pointer}.reading-route>svg{display:none}.reading-route p{margin-top:14px}.reading-collection-links{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px}.reading-settings{display:grid;gap:18px;padding:20px 0;border-bottom:1px solid #ead2d9}.reading-settings label{display:grid;gap:8px}.reading-settings select{padding:10px;border:1px solid #c9a4ae;border-radius:8px;color:#5d3948;background:#fffafb}.reading-settings input[type=range]{box-sizing:border-box;width:100%;height:44px;min-height:44px;margin:0;padding:0;background:transparent;accent-color:#a6667c;cursor:pointer}.reading-settings .reading-checkbox{display:flex;align-items:center;min-height:44px;cursor:pointer}.draft-source{background:#fbf0f3;padding:12px;border-radius:8px}.app .reading-minimal-controls{position:absolute;top:80px;left:24px;z-index:8;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#fff}.reading-minimal-controls>span,.reading-minimal-controls button{padding:8px 12px;background:#341e2bb8;border-radius:20px}.reading-minimal-controls button{color:#fff;border:1px solid rgb(255 255 255 / 40%);min-height:36px}.app .reading-capture{grid-column:1 / -1;justify-self:end;padding:10px 16px;background:#fff4f6;color:#734958;border:1px solid #d7aebb;border-radius:20px}.app .reading-font-small .dialogue-text{font-size:17px}.app .reading-font-normal .dialogue-text{font-size:20px}.app .reading-font-large .dialogue-text{font-size:25px;line-height:1.75}.app .game-page .dialogue-text{max-height:min(35dvh,360px);overflow-y:auto}.app .reading-source small{display:block}.app .pure-reading .game-top,.app .pure-reading .call-note,.app .pure-reading .dream-note,.app .pure-reading .game-controls,.app .pure-reading .source-label{display:none}.app .pure-reading .reading-minimal-controls{top:18px}.app .pure-reading .game-bottom{padding-bottom:24px}@media(max-width:640px){.app .chapters-page{padding-top:20px}.app .chapters-page .page-heading{margin-bottom:16px;gap:8px}.app .chapters-page .page-heading h1{font-size:28px;margin:4px 0}.app .chapters-page .page-heading .hand-note,.app .chapters-page .page-heading p:last-child,.app .chapters-page .page-ornament{display:none}.app .chapters-page .tabs{margin-bottom:12px}.app .chapters-page .tabs button{padding:10px 8px}.app .chapters-page .tabs button span{display:none}.reading-current{padding:14px;align-items:flex-start;margin:12px 0}.reading-current h2{font-size:17px;line-height:1.5}.reading-current .primary{padding:10px 12px;flex-shrink:0;min-height:44px}.app .reading-route{margin:10px 0 18px;padding:10px 12px;font-size:13px}.app .reading-minimal-controls{top:78px;left:12px;right:12px;font-size:11px}.app .reading-font-large .dialogue-text{font-size:22px}.app .reading-font-normal .dialogue-text{font-size:18px}.app .reading-font-small .dialogue-text{font-size:16px}.app .game-page .choices{max-height:25dvh;overflow-y:auto}}.app .reading-gift-art{display:block;object-fit:contain;object-position:center;border-radius:8px}.app .reading-gift-card{width:116px;height:100px}.app .reading-gift-detail{width:min(100%,320px);height:210px;margin:0 auto 18px}.reading-ending-gift .ending-keepsake{position:relative;min-height:120px;padding-left:96px}.reading-ending-gift .ending-keepsake-seal{display:none}.reading-ending-gift .reading-gift-ending{position:absolute;left:0;top:50%;transform:translateY(-50%);width:80px;height:88px;object-fit:contain}@media(max-width:640px){.reading-ending-gift .ending-keepsake{padding-left:86px}.reading-ending-gift .reading-gift-ending{width:72px;height:80px}}.rabbit-handoff-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.app .rabbit-handoff{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff3df;pointer-events:auto;cursor:pointer}.rabbit-handoff-ring{display:block;width:32px;height:32px;margin:auto;border:2px solid #fff0d3;border-radius:50%;background:#72503938;box-shadow:0 0 0 5px #fff0d32a,0 2px 12px #21101988}.rabbit-handoff-label{position:absolute;top:49px;left:50%;transform:translate(-50%);width:max-content;max-width:190px;padding:4px 8px;border-radius:12px;background:#302026db;font:12px/1.5 var(--font-sans, sans-serif);letter-spacing:.02em}.app .rabbit-handoff:disabled{opacity:.45;cursor:default}.app .rabbit-handoff:focus-visible{outline:3px solid #fff0d3;outline-offset:5px}.app .rabbit-handoff:not(:disabled):hover .rabbit-handoff-ring{background:#fff0d366}.app .game-page.rabbit-handoff-reading:not(.moment-focus){min-height:620px}.moment-capture{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;overflow:auto;padding:clamp(18px,4vw,30px);border:1px solid #dbc3be;border-radius:18px;background:#fff8ee;color:#603e43;box-shadow:0 24px 90px #38212740;font-family:inherit}.moment-capture::backdrop{background:#34232ccc}.moment-capture *,.moment-capture *:before,.moment-capture *:after{box-sizing:border-box}.moment-capture__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.85rem;letter-spacing:.08em}.moment-capture__heading button{flex-shrink:0;white-space:nowrap}.moment-capture h2{margin:14px 0 20px;font-size:clamp(1.25rem,4.5vw,1.65rem);font-weight:600}.moment-capture button{min-height:44px;border:1px solid #cba6a8;border-radius:10px;padding:9px 16px;background:#fffdf8;color:#603e43;font:inherit;cursor:pointer}.moment-capture button:disabled{cursor:default;opacity:.55}.moment-capture button:focus-visible,.moment-capture textarea:focus-visible{outline:3px solid #954e68;outline-offset:3px}.moment-capture__print{margin:0;padding:12px 12px 6px;background:#fffefa;border:1px solid #eaded1;box-shadow:0 5px 14px #6c4b3920}.moment-capture__frame{position:relative;aspect-ratio:4 / 3;background:#eee1d6;overflow:hidden}.moment-capture__frame img{display:block;width:100%;height:100%;object-fit:contain}.moment-capture__print figcaption{min-height:3.6em;padding:15px 5px 6px;text-align:center;font-size:.95rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.moment-capture__print.is-developing img{animation:moment-develop .9s ease-out both}.moment-capture__image-state{position:absolute;inset:0;display:grid;place-items:center;background:#f3e8de;padding:16px;text-align:center}.moment-capture__status{min-height:2.7em;margin:18px 0 12px;font-size:.9rem;line-height:1.65}.moment-capture__caption{display:grid;gap:8px;font-size:.9rem}.moment-capture__caption textarea{width:100%;resize:vertical;field-sizing:content;min-height:calc(6.4em + 22px);padding:10px 12px;border:1px solid #cba6a8;border-radius:8px;color:#603e43;background:#fffdfa;font:inherit;line-height:1.6;overflow-wrap:anywhere}.moment-capture__caption small{color:#785c60}.moment-capture__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.moment-capture button.moment-capture__primary{background:#85465d;color:#fffaf4;border-color:#85465d}.moment-capture__error{color:#973e46;line-height:1.6}.moment-capture__footnote{margin:16px 0 0;color:#785c60;font-size:.75rem;line-height:1.6}@keyframes moment-develop{0%{opacity:.12;filter:saturate(.2)}to{opacity:1;filter:saturate(1)}}.moment-capture[data-motion=off] .moment-capture__print img{animation:none}@media(prefers-reduced-motion:reduce){.moment-capture__print img{animation:none!important}}@media(max-width:420px){.moment-capture__actions button{flex:1}}.photo-album{max-width:1100px;margin:0 auto;padding:clamp(18px,4vw,48px);color:#603e43;background:#fff8ee;min-height:75dvh;border-radius:20px}.photo-album *,.photo-album__detail *{box-sizing:border-box}.photo-album button,.photo-album__detail button{min-height:44px;border:1px solid #cba6a8;border-radius:10px;padding:10px 16px;background:#fffdf8;color:#603e43;font:inherit;cursor:pointer}.photo-album button:focus-visible,.photo-album__detail button:focus-visible,.photo-album__detail textarea:focus-visible{outline:3px solid #954e68;outline-offset:4px}.photo-album .photo-album__nav{position:static;inset:auto;z-index:auto;width:auto;height:auto;min-height:0;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.photo-album .photo-album__nav button{height:auto;flex-direction:row;color:#603e43;letter-spacing:normal}.photo-album__header{padding:38px 0 26px;border-bottom:1px solid #e4ccca}.photo-album__eyebrow{font-size:.8rem;letter-spacing:.12em;color:#80575e}.photo-album__header h1{font-size:clamp(1.9rem,6vw,3rem);font-weight:500;margin:12px 0;letter-spacing:.08em}.photo-album__header p{font-size:.9rem;line-height:1.8}.photo-album__grid{list-style:none;margin:32px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.photo-album__grid li{min-width:0}.photo-album button.photo-album__polaroid{display:block;width:100%;height:100%;padding:11px 11px 18px;border:1px solid #e6d5ca;border-radius:2px;text-align:left;background:#fffefa;box-shadow:0 6px 15px #70493717;transition:transform .18s ease,box-shadow .18s ease}.photo-album__polaroid:hover{transform:translateY(-3px);box-shadow:0 9px 20px #70493725}.photo-album__image{display:block;aspect-ratio:4 / 3;background:#f1e6db}.photo-album__image img{display:block;width:100%;height:100%;object-fit:contain}.photo-album__title{display:block;margin:14px 5px 8px;line-height:1.7;font-size:.95rem;overflow-wrap:anywhere}.photo-album__number{display:block;margin:0 5px;color:#80575e;font-size:.72rem;letter-spacing:.09em}.photo-album__missing{display:grid;align-content:center;width:100%;height:100%;padding:14px;text-align:center;font-size:.9rem;line-height:1.8;color:#785c60}.photo-album__empty{display:grid;justify-items:center;text-align:center;max-width:510px;margin:38px auto}.photo-album__empty-print{width:165px;height:190px;padding:12px 12px 38px;background:#fffdf9;border:1px solid #e6d5ca;transform:rotate(-5deg);box-shadow:0 7px 16px #70493715}.photo-album__empty-print span{display:grid;place-items:center;height:100%;border:1px dashed #cba6a8;background:#f6e4e3;font-size:2.8rem;color:#99566b}.photo-album__empty h2{margin:28px 0 6px;font-size:1.3rem;font-weight:500}.photo-album__empty p{font-size:.9rem;line-height:1.8;margin:8px 0}.photo-album__empty button{margin-top:20px}.photo-album__footnote{padding-top:24px;margin:0;border-top:1px solid #e4ccca;color:#785c60;font-size:.8rem;line-height:1.8}.photo-album__detail{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;overflow:auto;padding:clamp(18px,4vw,28px);border:1px solid #dbc3be;border-radius:16px;background:#fff8ee;color:#603e43;box-shadow:0 24px 90px #38212740;font-family:inherit}.photo-album__detail::backdrop{background:#34232ccc}.photo-album__detail-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.85rem}.photo-album__detail h2{font-size:1.4rem;font-weight:500;line-height:1.5;margin:16px 0}.photo-album__flip{margin-bottom:18px}.photo-album__front{margin:0;padding:12px;background:#fffefa;border:1px solid #e6d5ca;box-shadow:0 5px 14px #70493715}.photo-album__front figcaption{white-space:pre-wrap;overflow-wrap:anywhere;padding:20px 8px 12px;line-height:1.8;min-height:4em;text-align:center}.photo-album__back{display:grid;gap:12px;padding:22px 18px;background:#fbece8;border:1px solid #dfc6c2}.photo-album__back label{font-size:.95rem}.photo-album__back textarea{width:100%;min-height:145px;padding:12px;border:1px solid #cba6a8;border-radius:8px;background:#fffdf7;color:#603e43;font:inherit;line-height:1.8;resize:vertical}.photo-album__detail button.photo-album__primary{background:#85465d;color:#fffaf4;border-color:#85465d}.photo-album__detail button:disabled{opacity:.5;cursor:default}.photo-album__source,.photo-album__date,.photo-album__draft-note,.photo-album__back small{color:#785c60;font-size:.8rem;line-height:1.7}.photo-album__source{margin:-4px 0 16px;overflow-wrap:anywhere}.photo-album__draft-note{margin:0}.photo-album__error,.photo-album__conflict{color:#973e46;line-height:1.7}@media(max-width:800px){.photo-album__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}@media(max-width:760px){.photo-album{padding-bottom:calc(86px + env(safe-area-inset-bottom))}}@media(max-width:460px){.photo-album__grid{grid-template-columns:1fr;max-width:330px;margin-inline:auto}.photo-album__header{padding-top:28px}}@media(prefers-reduced-motion:reduce){.photo-album__polaroid{transition:none!important;transform:none!important}}.reduced-motion .photo-album__polaroid{transition:none;transform:none}:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#554a47;background:#faf7f2;font-synthesis:none;font-weight:400;--paper: #faf7f2;--rose: #a56670;--rose-dark: #88525d;--ink: #554a47;--muted: #8d7f78;--border: #e4d9cf;--serif: "Songti SC", "Noto Serif CJK SC", "STSong", serif;--shadow: 0 16px 45px #6b443412}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible{outline:2px solid #a56670;outline-offset:5px}input:focus,textarea:focus,select:focus{outline:1px solid var(--rose);border-color:var(--rose)}button,select{touch-action:manipulation}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}img{max-width:100%;display:block}::selection{background:#e6c4c9}small{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{min-height:100svh}.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 4.4%;position:relative;z-index:3;background:var(--paper)}.wordmark{display:flex;gap:12px;align-items:center;padding:0;text-align:left;font-family:var(--serif);font-size:22px;letter-spacing:2px;white-space:nowrap}.wordmark small{display:block;font-family:Georgia,serif;letter-spacing:2.5px;font-size:8px;margin-top:5px;color:#a69688}.brand-mark{display:grid;place-items:center;width:42px;height:42px;color:var(--rose);border:1px solid #c99b9466;transform:rotate(45deg)}.brand-mark svg{transform:rotate(-45deg)}nav{display:flex;height:100%;align-items:center;gap:32px}nav button{height:100%;display:flex;align-items:center;gap:8px;font-size:13px;position:relative;letter-spacing:1px;color:#857970;white-space:nowrap}nav button.active{color:var(--rose)}nav button.active:after{content:"";position:absolute;bottom:20px;width:5px;height:5px;border-radius:50%;background:var(--rose);left:50%}.header-actions{display:flex;gap:12px}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border-radius:50%;color:#8f807a}.icon-button:hover,.icon-button.on{background:#ede0dc;color:var(--rose)}.title-page{padding:0 28px}.title-scene{height:calc(100svh - 242px);min-height:560px;max-height:850px;position:relative;overflow:hidden;background:#ebd2c7}.title-art{width:100%;height:100%;object-fit:cover;object-position:50% 43%}.title-wash{position:absolute;inset:0;background:linear-gradient(90deg,#fcf3e8ef 0%,#fcf3e8cf 23%,#fcf3e887 37%,transparent 59%)}.scene-frame{position:absolute;inset:16px;border:1px solid #fff6e991;pointer-events:none}.title-copy{position:absolute;top:50%;left:9%;transform:translateY(-49%)}.title-flourish{color:#b88882;display:flex;align-items:center;gap:17px;margin-bottom:17px;margin-left:13px}.title-flourish span{height:1px;width:32px;background:currentColor;opacity:.7}.title-copy h1{font-family:var(--serif);font-weight:500;font-size:clamp(62px,6vw,100px);line-height:1.16;letter-spacing:.1em;color:#684a49;position:relative;text-shadow:0 2px 12px #fff5e74d}.title-and{font-size:.45em;vertical-align:middle;margin-left:7px;color:#a07b73;font-style:italic}.title-second{padding-left:.52em}.tiny-heart{font-size:40px;color:#ba8287;position:absolute;right:-17px;bottom:12px;transform:rotate(16deg)}.title-caption{font-family:var(--serif);font-size:17px;line-height:2;letter-spacing:2.5px;margin:22px 0 26px;color:#7e6660}.primary,.soft-button,.danger-button{display:inline-flex;justify-content:center;align-items:center;gap:15px;min-height:46px;padding:12px 24px;border:1px solid transparent;font-size:13px;letter-spacing:1px;transition:background .2s,transform .2s;border-radius:3px}.primary{background:var(--rose);color:#fffaf6;box-shadow:0 4px 14px #9f687029}.primary:hover{background:var(--rose-dark);transform:translateY(-1px)}.title-start{min-width:241px;justify-content:space-between;min-height:52px}.soft-button{border-color:#d6c3b8;background:#fffaf4}.soft-button:hover{background:#f0e5de}.danger-button{color:#9b4853;border-color:#d8b4ba}.dream-link{display:flex;align-items:center;gap:9px;font-size:12px;color:#88716a;letter-spacing:1px;padding:18px 0 0 22px}.dream-link span{margin-left:28px}.dedication{position:absolute;right:44px;top:35px;color:#765c56;font-family:var(--serif);font-size:18px;display:flex;align-items:center;gap:10px}.dedication span{font-family:Georgia,serif;font-size:14px;font-style:italic}.scene-subtitle{position:absolute;bottom:29px;right:42px;color:#fffaf1;font-family:var(--serif);letter-spacing:2px;font-size:12px;text-shadow:0 1px 5px #48342f}.beginning-strip{height:105px;display:flex;align-items:center;padding:0 6.9%;gap:32px;border-bottom:1px solid var(--border)}.date-event{display:flex;align-items:center;gap:19px;white-space:nowrap}.date{font-family:Georgia,serif;font-size:34px;letter-spacing:-1px;color:#82645e}.date>span{color:#bf8c8b;margin:0 3px}.date-event>span:last-child{font-size:12px;letter-spacing:1px;line-height:1.8}.date-event small{display:block;font-size:10px;color:#a4968c;margin-top:2px}.timeline-bridge{display:flex;align-items:center;gap:10px;color:#b78786;flex:0 1 160px}.timeline-bridge i{height:1px;background:#cfb3a8;flex:1}.distance-note{margin-left:auto;display:flex;align-items:center;gap:16px;color:#ad9186;font-family:var(--serif);font-size:12px;line-height:1.8;letter-spacing:1px}.distance-note strong{font-weight:400;color:#7e6a62}.home-footer{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:9px;letter-spacing:1px;color:#a2958b}.paper-page{max-width:1120px;margin:0 auto;padding:52px 30px 80px;animation:arrive .45s ease both}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:38px}.page-heading h1{font-family:var(--serif);font-weight:500;font-size:36px;letter-spacing:4px;color:#684f4b;margin:11px 0 16px}.page-heading p:not(.hand-note){font-size:13px;color:#918278;letter-spacing:1px;line-height:1.9}.hand-note{font-family:var(--serif);color:#b4897d;font-style:italic;font-size:15px;letter-spacing:2px}.page-ornament{color:#c2a297;transform:rotate(-7deg);padding-right:30px}.tabs{display:flex;border-bottom:1px solid var(--border);gap:36px}.tabs button{display:flex;align-items:center;gap:9px;font-size:16px;padding:0 4px 20px;position:relative;white-space:nowrap}.tabs button span{font-size:11px;color:#a29387;letter-spacing:1px;margin-left:10px}.tabs .selected{color:var(--rose)}.tabs .selected:after{position:absolute;content:"";bottom:-1px;left:0;right:0;height:2px;background:var(--rose)}.route-intro{display:flex;align-items:center;gap:16px;color:#987a6f;padding:25px 0 32px}.route-intro p{font-size:13px;line-height:1.8}.route-intro small{display:block;color:#9a8b81;font-size:11px;margin-top:5px}.route-intro.dream{color:#96839f}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.chapter-card{padding:0;text-align:left;background:#fffcf7;border:1px solid #e6dcd2;box-shadow:0 5px 25px #83604c05;overflow:hidden;transition:transform .3s,box-shadow .3s}.chapter-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.chapter-picture{position:relative;height:196px;overflow:hidden}.chapter-picture:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#382c2310,#382c2340);pointer-events:none}.chapter-picture img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .5s}.chapter-card:hover img{transform:scale(1.025)}.chapter-card.art-night .chapter-picture img{filter:brightness(.72) saturate(.72)}.chapter-number{position:absolute;left:22px;top:14px;color:#fffbf4;font-family:Georgia,serif;font-size:33px;z-index:1}.chapter-status{position:absolute;right:15px;top:19px;color:#fffaf3;font-size:10px;letter-spacing:1px;display:flex;align-items:center;gap:6px;z-index:1;text-shadow:0 1px 5px #493329}.chapter-play{position:absolute;right:22px;bottom:20px;border:1px solid #fffaf3ab;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;color:#fff;z-index:1}.chapter-copy{padding:21px 26px 23px}.chapter-meta{display:flex;justify-content:space-between;font-size:10px;color:#ad9184;letter-spacing:1px}.chapter-copy h2{font-family:var(--serif);font-weight:500;letter-spacing:2px;font-size:23px;margin:13px 0 8px}.chapter-copy p{font-size:12px;color:#92847c;line-height:1.8}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--rose);font-size:12px;padding:0;min-height:30px}.chapter-copy .text-link{margin-top:20px}.quiet-note{text-align:center;color:#a29085;font-family:var(--serif);font-size:12px;letter-spacing:1px;margin-top:30px;line-height:1.8}.wish-explanation{padding:26px 30px;background:#f1e9ed;display:flex;gap:24px;align-items:center;border:1px solid #e6d8de}.wish-stamp{width:66px;height:66px;flex-shrink:0;display:grid;place-items:center;border:1px solid #b6a0b5;border-radius:50%;color:#a187a1;outline:1px solid #b6a0b555;outline-offset:5px}.wish-explanation h2{font-family:var(--serif);font-weight:500;letter-spacing:1px;font-size:19px;color:#7f687f;margin-bottom:10px}.wish-explanation p{font-size:12px;line-height:1.9;color:#8e7c8c}.wish-explanation small{font-size:10px;line-height:1.8;color:#9a8b97;display:block;margin-top:6px}.diary-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:15px;border-bottom:1px solid var(--border)}.small-tabs{display:flex;gap:26px}.small-tabs button{font-size:12px;color:#9a887d;padding:14px 0 17px;white-space:nowrap}.small-tabs .selected{color:var(--rose);box-shadow:0 1px 0 var(--rose)}.diary-empty{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px}.empty-flower{color:#c3a091}.diary-empty h2{font-family:var(--serif);font-size:24px;letter-spacing:2px;font-weight:400}.diary-empty p{white-space:pre-line;font-size:12px;color:#9a897e;line-height:2}.diary-empty .soft-button{margin-top:4px}.diary-footnote{border-top:1px dashed var(--border);padding-top:23px;display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;color:#a28f82;line-height:1.8}.diary-list{padding-bottom:24px}.diary-entry{padding:28px 0;display:flex;gap:30px;border-bottom:1px solid var(--border)}.entry-date{width:66px;flex-shrink:0;text-align:center;padding-top:5px;color:#ac8a7b}.entry-date strong{font-family:Georgia,serif;font-size:37px;font-weight:400;display:block}.entry-date>span{font-size:9px;display:block;margin-top:5px}.entry-content{min-width:0;flex:1}.entry-meta{display:flex;flex-wrap:wrap;gap:13px;font-size:10px;color:#a89283;align-items:center}.wish-label{color:#9d7b9d;display:flex;align-items:center;gap:5px}.entry-content h2{font-family:var(--serif);font-size:23px;letter-spacing:1px;font-weight:500;margin:12px 0}.entry-content>p{white-space:pre-wrap;font-size:13px;line-height:2;color:#8e7c71;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.entry-actions{display:flex;gap:24px;margin-top:15px}.entry-actions button{font-size:11px;display:flex;align-items:center;gap:6px;padding:4px 0;color:#a4877c}.entry-actions button:last-child{color:#b49e92}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gift-card{background:#fdfaf5;border:1px solid #e6dcd1;min-height:256px;padding:30px 20px;display:flex;flex-direction:column;align-items:center;position:relative;transition:transform .25s,box-shadow .25s}.gift-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.gift-object{width:108px;height:108px;border-radius:50%;background:#f2e4df;color:#a3736b;display:grid;place-items:center;margin-bottom:19px}.gift-card.locked .gift-object{color:#b9a89b;background:#f2ede5}.gift-card small{font-size:10px;letter-spacing:1px;color:#b29a8b}.gift-card h2{font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:1px;margin:9px 0 15px}.gift-open{display:flex;align-items:center;gap:8px;font-size:11px;color:#a27e72}.collection-count{font-family:Georgia,serif;font-size:43px;color:#b08c7b}.collection-count small{font-family:inherit;font-size:13px;color:#b5a093}.our-calendar{margin-top:60px}.our-calendar>h2{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:2px;margin-bottom:28px}.facts-list{display:grid;grid-template-columns:1fr 1fr;gap:25px 35px}.fact{display:flex;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border)}.fact>span{flex:0 0 70px;font-family:Georgia,serif;font-size:18px;color:#b28679}.fact h3{font-size:14px;font-weight:500;margin-bottom:9px}.fact p{font-size:12px;color:#9b887a;line-height:1.8}.modal{background:#fcf8f2;color:var(--ink);border:1px solid #d9c6b9;border-radius:6px;width:min(540px,calc(100vw - 32px));max-height:calc(100svh - 40px);padding:0;box-shadow:0 25px 100px #33211844;overflow:hidden}.modal.wide{width:min(680px,calc(100vw - 32px))}.modal::backdrop{background:#43342f66;backdrop-filter:blur(5px)}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 25px 15px;border-bottom:1px solid var(--border)}.modal-top h2{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:1px}.modal-body{padding:22px 28px 28px;max-height:calc(100svh - 130px);overflow:auto;overscroll-behavior:contain}.modal-body>p{font-size:13px;line-height:1.9;color:#917d70}.modal-intro{margin-bottom:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;gap:20px;border-bottom:1px dashed var(--border)}.setting-row strong{font-size:13px;font-weight:500;display:block;margin-bottom:8px}.setting-row small{font-size:10px;line-height:1.7;color:#a08b7d;display:block}.switch{width:39px;height:23px;flex:0 0 39px;border-radius:20px;background:#d8cbc0;position:relative;padding:3px;transition:background .2s}.switch span{display:block;width:17px;height:17px;border-radius:50%;background:#fffcf7;transition:transform .2s;box-shadow:0 1px 4px #79594633}.switch.enabled{background:var(--rose)}.switch.enabled span{transform:translate(16px)}.backup-section{padding-top:27px}.backup-section h3{font-family:var(--serif);font-size:20px;font-weight:400;margin-bottom:12px}.backup-section p{font-size:12px;line-height:1.9;color:#9a8576}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.button-row .soft-button{font-size:11px;padding:9px 16px;gap:8px}.save-shortcut{margin-top:18px}.settings-signoff{font-family:var(--serif);font-size:14px!important;line-height:1.9!important;text-align:center;margin-top:30px!important;letter-spacing:1px;font-style:italic;color:#af9182!important}.diary-form{display:flex;flex-direction:column;gap:18px}.diary-form label{font-size:12px;color:#8d7466;letter-spacing:1px}.diary-form input:not([type=checkbox]),.diary-form select,.diary-form textarea{display:block;width:100%;margin-top:9px;border:1px solid #e2d6c9;border-radius:3px;background:#fffdf9;color:#66534a;padding:12px;font-size:13px;line-height:1.7;letter-spacing:.4px}.diary-form input::placeholder,.diary-form textarea::placeholder{color:#baa899}.diary-form textarea{resize:vertical;min-height:150px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.diary-form fieldset{margin:0;padding:0;border:0}.diary-form legend{font-size:12px;color:#8d7466;margin-bottom:10px;letter-spacing:1px}.mood-options{display:flex;gap:9px;flex-wrap:wrap}.mood-options button{font-size:11px;padding:9px 13px;border:1px solid #e6d8ca;border-radius:3px;background:#fffaf3;color:#a78c7e}.mood-options button.selected{background:#eedcdb;border-color:#b78287;color:#925e65}.char-count{display:block;text-align:right;font-size:9px;letter-spacing:1px;color:#b59e8b;margin-top:6px}.check-label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;line-height:1.8}.check-label input{accent-color:var(--rose);width:16px;height:16px;flex-shrink:0}.check-label small{display:block;font-size:10px;line-height:1.8;color:#a28c7c;letter-spacing:0;margin-top:4px}.form-save{align-self:flex-end}.form-error{color:#b65d64;font-size:12px;line-height:1.8}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:20;display:flex;gap:12px;align-items:center;background:#67564ff2;color:#fff9f0;padding:15px 22px;border-radius:4px;box-shadow:var(--shadow);font-size:12px;line-height:1.6;max-width:calc(100vw - 32px);width:max-content;animation:toast-in .25s ease;pointer-events:none}.storage-error{background:#fae3d5;color:#955d40;position:relative;z-index:4;padding:12px 25px;font-size:12px;line-height:1.7;display:flex;justify-content:space-between;gap:20px}.storage-error button{text-decoration:underline;white-space:nowrap}.save-slots{display:flex;flex-direction:column;gap:15px}.save-slot{border:1px solid var(--border);padding:18px 15px;display:flex;gap:15px;align-items:center}.slot-number{font-family:Georgia,serif;font-size:28px;color:#ba9987}.save-slot>div:nth-child(2){flex:1}.save-slot strong{font-family:var(--serif);font-size:16px;font-weight:500}.save-slot small{font-size:9px;display:block;margin-top:6px;color:#a59181}.save-slot p{font-size:10px;line-height:1.6;margin-top:6px;color:#9c8878}.slot-actions{display:flex;flex-direction:column;gap:8px}.slot-actions button{font-size:11px;color:var(--rose);padding:3px 6px}.gift-detail{text-align:center;padding:22px 0;display:flex;align-items:center;flex-direction:column;gap:30px;color:#a57f6e}.gift-detail p{font-family:var(--serif);font-size:17px;line-height:2;letter-spacing:1px}.ending-note{text-align:center;padding:20px 0;color:#a57c72}.ending-note>svg{margin:auto auto 20px}.ending-note h3{font-family:var(--serif);font-weight:400;letter-spacing:2px;font-size:25px}.ending-note p{font-size:13px;line-height:2;margin-top:18px;color:#9e8474}.ending-note .button-row{justify-content:center;margin-top:30px}.log-entry{border-bottom:1px solid var(--border);padding:18px 0}.log-entry strong{font-size:12px;color:var(--rose);font-weight:500}.log-entry p{font-family:var(--serif);font-size:16px;line-height:1.9;margin-top:9px;white-space:pre-wrap}.log-entry button{font-size:10px;color:#b28a77;padding:10px 0 0}.log-entry.narrator p{color:#9e8d7e;font-style:italic}.game-page{height:100svh;min-height:620px;position:relative;overflow:hidden;background:#dcc5b5}.game-art{height:100%;width:100%;object-fit:cover;object-position:50% 40%;animation:scene-in 1.2s ease both}.game-page.art-night .game-art{filter:brightness(.8) saturate(.8)}.game-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#35252d30,transparent 35%,#51364225 70%,#49312950)}.game-top{position:absolute;left:4%;right:4%;top:29px;display:flex;justify-content:space-between;align-items:center;gap:20px}.glass-button{color:#785c55;background:#fff6e9dd;border:1px solid #fff9ef99;backdrop-filter:blur(8px);display:flex;align-items:center;gap:8px;padding:11px 14px;font-size:12px;border-radius:4px;white-space:nowrap}.glass-button:hover{background:#fff6e9}.game-chapter-name{text-align:center;text-shadow:0 1px 8px #40273366;color:#fff9ef;font-family:var(--serif);letter-spacing:2px;font-size:18px}.game-chapter-name small{display:block;font-family:PingFang SC,sans-serif;font-size:9px;letter-spacing:1px;margin-top:7px;color:#fff5e9d9}.call-note,.dream-note{position:absolute;left:6%;top:126px;color:#fff8ef;display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:2px;text-shadow:0 1px 5px #4b332c}.call-note i{font-size:10px;font-style:normal;opacity:.7;margin-left:8px}.call-light{width:5px;height:5px;background:#f4e7c5;border-radius:50%;box-shadow:0 0 8px #fff8d6}.game-bottom{position:absolute;bottom:22px;left:50%;transform:translate(-50%);width:min(1080px,88vw)}.dialogue-box{background:#fff9eeef;border:1px solid #fff7eedd;box-shadow:0 9px 45px #422e3726;position:relative;padding:29px 37px 15px;border-radius:4px;backdrop-filter:blur(14px)}.dialogue-box:after{content:"";position:absolute;inset:8px;border:1px solid #ceb9a257;border-radius:2px;pointer-events:none}.speaker-label{position:absolute;top:-19px;left:29px;padding:10px 30px;min-width:134px;background:#a66f79;color:#fff5ec;display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--serif);font-size:15px;letter-spacing:3px;border:1px solid #c49b9b;box-shadow:0 2px 7px #61453612}.speaker-narrator .speaker-label{background:#967f70;border-color:#bea999}.speaker-cat .speaker-label{background:#9c987e;border-color:#c0bda4}.dialogue-text{font-family:var(--serif);display:block;width:100%;min-height:93px;line-height:2;font-size:21px;letter-spacing:1px;text-align:left;padding:11px 0;color:#5f4944;white-space:pre-wrap}.dialogue-text:disabled{opacity:1}.dialogue-text .type-caret{width:1px;height:1em;background:#997168;display:inline-block;vertical-align:middle;animation:blink .8s infinite}.dialogue-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:9px}.dialogue-bottom>span{font-size:9px;color:#b09a87;letter-spacing:1px}.advance-button{display:flex;align-items:center;gap:15px;font-size:12px;color:var(--rose);padding:8px 0 8px 15px;white-space:nowrap;position:relative;z-index:1}.game-controls{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#fff7e9}.game-controls>div{display:flex;gap:21px}.game-controls button{display:flex;align-items:center;gap:6px;font-size:10px;padding:6px 0;color:#fff9ed;text-shadow:0 1px 6px #4c363b}.game-controls button.active{color:#ffdaca}.progress-hint{font-size:9px;letter-spacing:1px;display:flex;align-items:center;gap:6px;text-shadow:0 1px 6px #4c363b}.progress-hint i{width:4px;height:4px;background:#f7e4c5;border-radius:50%}.choices{display:flex;flex-direction:column;gap:12px;max-width:570px;margin:0 auto 44px;align-items:stretch;animation:arrive .4s ease}.choices>p{text-align:center;font-family:var(--serif);font-size:14px;color:#fff9f0;text-shadow:0 1px 8px #3f2829;margin-bottom:5px;letter-spacing:2px}.choices button{border:1px solid #ecd4d1;background:#fff9efec;box-shadow:0 4px 12px #422e3726;backdrop-filter:blur(9px);padding:17px 21px;display:flex;align-items:center;gap:16px;font-family:var(--serif);font-size:17px;letter-spacing:.5px;border-radius:3px;transition:transform .2s,background .2s}.choices button:hover{transform:translate(4px);background:#fae9e5}.choices button>span{font-family:Georgia,serif;font-size:12px;color:#b69186;padding-right:5px}.choices button>svg{margin-left:auto;color:#b9878c}.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.volume-control{margin-top:16px}.volume-control input{width:100%;accent-color:var(--rose)}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;margin-bottom:-7px}to{opacity:1;margin-bottom:0}}@keyframes scene-in{0%{opacity:.6;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}@keyframes blink{50%{opacity:0}}@media(min-width:1600px){.title-copy{left:11%}.title-art{object-position:50% 41%}.title-scene{min-height:680px}}@media(max-width:1100px){.site-header{height:87px;gap:20px;padding:0 30px}nav{gap:18px}nav button{font-size:12px;gap:6px}.wordmark{font-size:19px}.brand-mark{width:35px;height:35px}.wordmark small{font-size:6px}.header-actions{gap:3px}.title-page{padding:0 18px}.title-copy{left:7%}.title-scene{min-height:540px;height:calc(100svh - 229px)}.title-copy h1{font-size:78px}.beginning-strip{padding:0 4%;gap:19px}.date-event{gap:10px}.date{font-size:28px}.date-event>span:last-child{font-size:11px}.timeline-bridge{flex-basis:80px}.distance-note{font-size:11px;gap:9px}.distance-note>svg{display:none}.game-bottom{width:90vw}.paper-page{padding-top:35px}.game-chapter-name{font-size:16px}.tabs button span{display:none}}@media(max-width:760px){.site-header{height:77px;padding:0 23px;gap:10px}.wordmark{font-size:20px}.wordmark small{font-size:6px;letter-spacing:2px}.brand-mark{width:31px;height:31px}.brand-mark svg{width:20px}.header-actions{gap:2px}.header-actions .icon-button{width:31px;height:31px}nav{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding:0 14px env(safe-area-inset-bottom);justify-content:space-around;background:#faf7f2f5;backdrop-filter:blur(12px);border-top:1px solid #e6d8ca;z-index:10;gap:0}nav button{flex-direction:column;justify-content:center;gap:6px;font-size:10px;padding:7px 12px;letter-spacing:1px}nav button svg{width:18px;height:18px}nav button.active:after{bottom:auto;top:0;left:calc(50% - 9px);width:18px;height:2px;border-radius:0}.title-page{padding:0 12px 64px}.title-scene{height:calc(100svh - 250px);min-height:520px;max-height:850px}.title-art{object-position:65% 43%}.title-wash{background:linear-gradient(90deg,#fcf3e8ee 0%,#fcf3e8bb 25%,#fcf3e862 48%,transparent 75%),linear-gradient(0deg,#fbecdf99,transparent 20%)}.scene-frame{inset:9px}.title-copy{left:7%;top:50%;transform:translateY(-42%)}.title-copy h1{font-size:67px;letter-spacing:.07em}.title-flourish{margin-left:8px;margin-bottom:17px;gap:12px}.title-flourish span{width:23px}.title-flourish svg{width:18px}.title-caption{font-size:13px;line-height:1.9;letter-spacing:2px;margin:20px 0 23px}.tiny-heart{font-size:30px;right:-9px;bottom:9px}.title-start{min-width:193px;min-height:45px;font-size:11px;padding:11px 15px}.dream-link{font-size:10px;padding:14px 0 0 10px;gap:7px}.dream-link span{margin-left:8px}.dedication{top:25px;right:24px;font-size:13px;gap:6px}.dedication>span{font-size:11px}.dedication>svg{width:11px}.scene-subtitle{display:none}.beginning-strip{height:87px;padding:0 6px;gap:9px;justify-content:center}.date-event{gap:9px}.date{font-size:26px}.date-event>span:last-child{font-size:9px;letter-spacing:0}.date-event small{font-size:8px;margin-top:1px}.timeline-bridge{flex:0 1 50px;gap:4px}.timeline-bridge svg{width:15px;flex-shrink:0}.distance-note{display:none}.home-footer{padding:0 5px;height:25px;font-size:7px;letter-spacing:.3px}.home-footer>span:last-child{display:none}.home-footer>span:first-child{margin:0 auto}.paper-page{padding:30px 22px 104px}.page-heading{margin-bottom:26px;gap:15px}.page-heading h1{font-size:29px;letter-spacing:3px;margin:10px 0 12px}.page-heading p:not(.hand-note){font-size:11px;letter-spacing:.2px}.hand-note{font-size:12px}.page-ornament{padding-right:8px}.page-ornament svg{width:42px}.page-heading>.primary{font-size:10px;padding:10px 12px;gap:7px;white-space:nowrap;min-height:38px}.page-heading>.primary svg{width:13px}.tabs{gap:30px}.tabs button{font-size:14px;padding-bottom:16px}.tabs svg{width:17px}.route-intro{gap:12px;padding:20px 0 23px;align-items:flex-start}.route-intro>svg{flex-shrink:0;width:18px;margin-top:2px}.route-intro p{font-size:11px;line-height:1.9}.route-intro small{font-size:9px;line-height:1.8}.chapter-grid{grid-template-columns:1fr;gap:24px}.chapter-picture{height:188px}.chapter-copy{padding:20px 22px}.chapter-copy h2{font-size:22px}.chapter-copy p{font-size:11px}.chapter-copy .text-link{margin-top:14px}.quiet-note{font-size:10px;line-height:1.9;margin-top:25px}.wish-explanation{padding:20px;gap:13px;align-items:flex-start}.wish-stamp{width:36px;height:36px;outline-offset:3px;margin-top:3px}.wish-stamp svg{width:18px}.wish-explanation h2{font-size:16px;line-height:1.6;letter-spacing:0}.wish-explanation p{font-size:11px;line-height:1.9}.wish-explanation small{font-size:9px}.diary-toolbar{align-items:flex-end;gap:6px;flex-wrap:wrap;margin-top:18px}.small-tabs{gap:18px;flex:1}.small-tabs button{font-size:10px;padding:14px 0}.diary-toolbar>.text-link{font-size:10px;margin-left:auto;min-height:36px}.diary-toolbar>.text-link svg{width:12px}.diary-empty{min-height:340px;padding:30px 0;gap:17px}.diary-empty h2{font-size:21px;letter-spacing:1px}.diary-empty p{font-size:11px}.diary-footnote{font-size:9px;gap:6px;align-items:flex-start}.diary-footnote svg{flex-shrink:0}.diary-entry{gap:15px;padding:24px 0}.entry-date{width:42px}.entry-date strong{font-size:31px}.entry-date>span{font-size:8px}.entry-meta{gap:8px;font-size:9px}.entry-content h2{font-size:20px;margin:10px 0}.entry-content>p{font-size:12px}.entry-actions{gap:20px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gift-card{min-height:223px;padding:21px 10px}.gift-object{width:82px;height:82px;margin-bottom:17px}.gift-object svg{width:42px}.gift-card small{font-size:8px}.gift-card h2{font-size:16px;letter-spacing:.4px}.gift-open{font-size:9px;gap:5px}.collection-count{font-size:35px}.collection-count small{font-size:9px;display:block}.our-calendar{margin-top:38px}.our-calendar>h2{font-size:23px}.facts-list{grid-template-columns:1fr;gap:19px}.fact{gap:15px}.fact>span{font-size:17px;flex-basis:60px}.fact p{font-size:11px}.fact h3{font-size:13px}.modal-top{padding:15px 17px 12px}.modal-top h2{font-size:20px;letter-spacing:.5px}.modal-top .icon-button{width:29px;height:29px}.modal-body{padding:17px 21px 22px;max-height:calc(100svh - 117px)}.modal-body>p{font-size:12px}.setting-row{gap:10px;padding:14px 0}.setting-row strong{font-size:12px}.setting-row small{font-size:9px}.diary-form input:not([type=checkbox]),.diary-form select,.diary-form textarea{font-size:16px;padding:10px}.diary-form input::placeholder,.diary-form textarea::placeholder{font-size:12px}.form-row{gap:12px}.mood-options{gap:7px}.mood-options button{font-size:10px;padding:9px}.diary-form{gap:16px}.button-row{gap:8px}.button-row .primary,.button-row .soft-button{font-size:11px;padding:10px 13px;gap:8px}.save-slot{padding:14px 10px;gap:10px}.slot-number{font-size:23px}.save-slot strong{font-size:14px}.toast{bottom:83px;font-size:11px;padding:12px 17px;max-width:calc(100vw - 26px)}.game-page{height:100svh;min-height:670px}.game-art{object-position:66% 40%}.game-top{left:17px;right:17px;top:19px;gap:10px}.glass-button{padding:10px;font-size:11px;gap:5px}.glass-button>span{display:none}.game-chapter-name{font-size:14px;letter-spacing:1px;line-height:1.5}.game-chapter-name small{font-size:8px;letter-spacing:.3px;margin-top:5px}.call-note,.dream-note{left:24px;right:24px;top:95px;font-size:10px;gap:9px;letter-spacing:1px}.call-note i{font-size:8px;letter-spacing:0;margin-left:auto}.game-bottom{bottom:calc(17px + env(safe-area-inset-bottom));width:calc(100vw - 30px)}.dialogue-box{padding:27px 22px 15px}.speaker-label{font-size:13px;letter-spacing:2px;left:18px;top:-18px;min-width:111px;padding:9px 22px}.speaker-label svg{width:12px}.dialogue-text{font-size:18px;line-height:1.85;min-height:138px;letter-spacing:.5px;padding:8px 0 12px}.dialogue-bottom>span{font-size:8px;letter-spacing:0}.dialogue-bottom{gap:6px;padding-top:6px}.advance-button{font-size:10px;padding-left:3px;gap:8px}.game-controls{margin-top:14px;gap:7px}.game-controls>div{gap:18px}.game-controls button{font-size:9px;gap:4px}.game-controls button svg{width:12px}.progress-hint{font-size:7px;letter-spacing:0}.game-controls>div{margin-left:auto}.choices{margin-bottom:39px;gap:10px;max-width:calc(100% - 14px)}.choices>p{font-size:12px;letter-spacing:1px}.choices button{font-size:15px;padding:14px 16px;gap:10px;line-height:1.6}.choices button>span{font-size:10px}.log-entry p{font-size:15px}.storage-error{padding:9px 15px;font-size:10px;gap:12px}.game-page~.toast{bottom:22px}}@media(max-width:370px){.site-header{padding:0 18px}.title-copy h1{font-size:60px}.title-scene{min-height:500px}.title-caption{font-size:12px}.beginning-strip{gap:5px}.date{font-size:23px}.date-event{gap:6px}.timeline-bridge{flex-basis:33px}.date-event>span:last-child{font-size:8px}.date-event small{font-size:7px}.paper-page{padding-left:18px;padding-right:18px}.page-heading>.primary{max-width:93px;white-space:normal}.game-controls>div{gap:11px}.progress-hint{font-size:6px}.small-tabs{gap:14px}.game-page{min-height:620px}.dialogue-text{font-size:17px;min-height:130px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.girl-sprite{position:absolute;height:90%;width:auto;max-width:none;left:50%;bottom:-9%;transform:translate(-50%);filter:drop-shadow(0 9px 25px #69463c25);pointer-events:none}.game-page.art-cafe .game-art{object-position:50% 40%}.game-page.art-picnic .game-art{object-position:58% 40%}@media(max-width:760px){.girl-sprite{height:86%;bottom:9%;left:50%}.game-page.art-cafe .game-art{object-position:51% 35%}.game-page.art-picnic .game-art{object-position:62% 35%}.game-page.art-stars .game-art{object-position:73% 35%}}@media(max-width:760px){.title-art{height:72%;object-position:75% 38%}.title-scene{background:#f6e8dc}.title-wash{background:linear-gradient(0deg,#f9ede2 0%,#f9ede2fa 24%,#f9ede2d1 36%,#f9ede243 54%,transparent 67%)}.title-copy{top:auto;bottom:28px;left:7%;transform:none;width:86%}.title-copy h1{font-size:46px;line-height:1.25;letter-spacing:.04em;white-space:nowrap}.title-copy h1 br{display:none}.title-second{padding-left:.08em}.title-and{font-size:.51em;margin-left:4px}.tiny-heart{position:static;display:inline-block;font-size:24px;margin-left:1px;transform:rotate(12deg)}.title-flourish{margin-bottom:12px;margin-left:2px;gap:11px}.title-flourish span{width:22px}.title-flourish svg{width:15px;height:15px}.title-caption{font-size:12px;letter-spacing:1px;line-height:1.8;margin:14px 0 18px}.title-caption br{display:none}.title-start{min-width:219px}.dream-link{padding:13px 0 0 8px}.dedication{top:21px;right:20px;display:none}}@media(max-width:370px){.title-copy h1{font-size:41px}.tiny-heart{font-size:21px}.title-copy{bottom:24px}.title-caption{font-size:11px}}:root{color-scheme:dark;--paper: #140f14;--ink: #efe4d5;--muted: #ad999e;--rose: #cfb58c;--rose-dark: #e3c99f;--border: #bda17a30;--shadow: 0 18px 55px #0005;--wine: #572437;--gold: #cfb58c;background:var(--paper);color:var(--ink)}body{background:#140f14}.app{background:radial-gradient(ellipse at 12% 12%,#49203438,transparent 55%),#140f14}::selection{background:#83475d;color:#fff5e5}button:focus-visible,a:focus-visible{outline-color:#e1c597}.site-header{height:82px;background:#140f14;border-bottom:1px solid #bda17a22;padding:0 4.8%}.wordmark{font-size:20px;letter-spacing:2px;color:#e3cfb0;gap:16px}.wordmark small{color:#ae9479;font-size:7px;letter-spacing:2.2px}.brand-mark{width:31px;height:31px;border-color:#b8996b7a;color:#d4b990;border-radius:50%;box-shadow:0 0 0 4px #bb97620b}.brand-mark svg{width:18px}nav{gap:38px}nav button{font-size:12px;color:#b4a1a7}nav button.active{color:#ecd5b0}nav button.active:after{background:#d3b585;width:22px;height:1px;bottom:18px;left:calc(50% - 11px);border-radius:0}.icon-button{color:#c6ab91;border:1px solid #bda17a25;border-radius:50%}.icon-button:hover,.icon-button.on{background:#532636;color:#f3d6ad;border-color:#c2a27477}.title-page{padding:0 22px}.title-scene{height:calc(100svh - 214px);min-height:620px;max-height:1040px;background:#140f14}.title-art{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.title-wash{background:linear-gradient(90deg,#140f14ef,#140f14c7 23%,#140f1482 38%,#140f1400 61%),linear-gradient(0deg,#140f14bd,transparent 20%)}.scene-frame{inset:19px;border-color:#bd956050}.scene-frame:before,.scene-frame:after{content:"";position:absolute;width:39px;height:39px;border:1px solid #d7b9879c}.scene-frame:before{left:-1px;top:-1px;border-right:0;border-bottom:0}.scene-frame:after{right:-1px;bottom:-1px;border-left:0;border-top:0}.title-issue{position:absolute;left:5%;top:39px;font-family:Georgia,serif;font-size:9px;letter-spacing:3.7px;color:#c6ad8c}.title-issue span{color:#877264;margin-left:7px}.title-copy{left:7.1%;top:50%;transform:translateY(-47%)}.title-kicker{font-family:var(--serif);font-size:13px;letter-spacing:6px;color:#c5a98c;margin:0 0 19px 3px}.title-flourish{margin:0 0 18px;gap:13px;color:#c1a074}.title-flourish span{width:22px;opacity:.45}.title-flourish .collar-sigil{width:76px;height:34px}.title-copy h1{font-size:clamp(70px,6.6vw,108px);letter-spacing:.09em;line-height:1.14;font-weight:400;color:#f2e2c7;text-shadow:0 2px 24px #0007}.title-and{font-size:.36em;color:#bb9672;margin-left:4px}.title-second{padding-left:.32em}.tiny-heart{color:#b27879;font-size:27px;top:39px;right:-35px}.title-caption{font-size:12px;line-height:2.2;letter-spacing:1.6px;color:#cdbfb3;margin:24px 0}.primary{background:linear-gradient(105deg,#692b42,#47202f);color:#f4dfbf;border:1px solid #b58c607f;border-radius:0;box-shadow:inset 0 0 0 4px #cfac7108,0 6px 23px #0003;font-size:13px;letter-spacing:1px;transition:background .2s,border-color .2s,transform .2s}.primary:hover{background:linear-gradient(105deg,#813a52,#5b2a3c);border-color:#d4b382;transform:translateY(-1px)}.title-start{padding:17px 27px;min-width:267px;justify-content:space-between;margin:0}.soft-button{background:#302029;border:1px solid #b5977040;color:#dec6a6;border-radius:0}.soft-button:hover{background:#472a37;border-color:#bc98717a}.danger-button{background:#512534;color:#efc2c0;border:1px solid #a3656b;border-radius:0}.dream-link{color:#c8a98b;font-size:11px;letter-spacing:1.5px;padding:19px 0 0 2px}.dream-link span{font-size:15px;margin-left:30px}.dedication{color:#dbc39d;right:40px;top:38px;font-family:var(--serif)}.title-vow{position:absolute;right:42px;bottom:61px;width:91px;height:91px;border:1px solid #caa57893;outline:1px solid #caa57840;outline-offset:5px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#ebcca0;background:#24131985;backdrop-filter:blur(8px);transform:rotate(-10deg)}.title-vow span{font-family:var(--serif);font-size:25px;letter-spacing:5px;padding-left:5px}.title-vow small{font-size:8px;letter-spacing:3px;margin-top:7px}.scene-subtitle{left:7%;bottom:29px;right:auto;color:#c3a383;font-size:10px;letter-spacing:2px;font-family:var(--serif)}.beginning-strip{height:98px;padding:0 7%;gap:30px;border-color:#c1a27825;background:linear-gradient(90deg,#1b1119,#20141c,#170f15)}.date{color:#d5b48a;font-size:33px;font-weight:400}.date>span{color:#815766}.date-event>span:last-child{font-size:11px;color:#d0bdaf}.date-event small{color:#907980;font-size:9px}.timeline-bridge{color:#a88078;max-width:170px}.timeline-bridge i{background:#a98b6440}.distance-note{color:#987d76;font-size:11px}.distance-note strong{color:#c3a793}.home-footer{height:33px;font-size:8px;color:#937b7f;padding:0 17px;letter-spacing:1.5px}.paper-page{max-width:1180px;padding:53px 40px 100px}.page-heading{margin-bottom:34px}.page-heading h1{font-size:36px;color:#eddcc2;font-weight:400;letter-spacing:5px}.page-heading p:not(.hand-note){color:#baa6a7;font-size:12px}.hand-note{color:#b59278;font-size:13px;letter-spacing:3px}.page-ornament{color:#b18b6370}.tabs{gap:42px;border-color:var(--border)}.tabs button{color:#b99ca2;font-size:15px;padding-bottom:19px}.tabs button span{color:#957f86;font-size:10px}.tabs .selected{color:#ecd2a9}.tabs .selected:after{height:1px;background:#d1ad79}.route-intro,.route-intro.dream{color:#cab49f;padding:24px 0 30px}.route-intro small{color:#a08b93}.chapter-grid{gap:27px}.chapter-card{border:1px solid #b18d642f;background:#241820;box-shadow:0 8px 30px #0002}.chapter-card:hover{border-color:#c3a1748c;box-shadow:0 14px 36px #0005;transform:translateY(-4px)}.chapter-picture{width:100%;height:auto;aspect-ratio:1.88}.chapter-picture:after{background:linear-gradient(0deg,#2418209c,transparent 45%)}.chapter-picture img{filter:saturate(.8)}.chapter-number{font-size:34px;color:#f7e1bd;text-shadow:0 2px 12px #1b0d18;font-family:Georgia,serif}.chapter-status{background:#24151ccc;color:#e3cba8;border:1px solid #c3a37a4d;border-radius:0;backdrop-filter:blur(8px)}.chapter-play{background:#271621b5;color:#efd4ac;border:1px solid #cba87791;backdrop-filter:blur(5px)}.chapter-copy{padding:22px 25px 23px}.chapter-meta{color:#af9396;font-size:9px;letter-spacing:1px}.chapter-copy h2{color:#ecd8bc;font-weight:400;margin-top:11px;font-size:22px}.chapter-copy p{color:#b29a9f;font-size:11px}.text-link,.chapter-copy .text-link{color:#d0ac83;font-size:11px}.quiet-note{color:#937e86}.wish-explanation{background:linear-gradient(110deg,#432132,#2b1926);border:1px solid #bc98704d;padding:28px 33px;position:relative}.wish-explanation:after{content:"";position:absolute;inset:7px;border:1px solid #c1a57b18;pointer-events:none}.wish-stamp{border-color:#c2a1737a;color:#d4b38b;outline-color:#bb986332}.wish-explanation h2{color:#ebd4b7;font-size:19px}.wish-explanation p{color:#c8adb4}.wish-explanation small{color:#ad929e;font-size:11px}.diary-toolbar{margin-top:29px;border-bottom:1px solid var(--border)}.small-tabs button{color:#b69ca5}.small-tabs .selected{color:#e6c797;box-shadow:0 1px #c39c6d}.diary-list{padding:22px 0 30px;display:grid;gap:18px}.diary-entry{background:#ede3d2;color:#513c43;border:1px solid #e2c69e;padding:29px 30px;gap:25px;position:relative;box-shadow:inset 5px 0 #94667550,0 12px 30px #0003}.diary-entry:after{content:"";position:absolute;inset:8px;border:1px solid #8a6b4a24;pointer-events:none}.entry-date{color:#8e5b67;border-right:1px solid #b1977c40;padding-right:19px;width:75px}.entry-meta{color:#8b726d}.wish-label{color:#91495e;background:transparent}.entry-content h2{color:#583944;font-size:23px;font-weight:500}.entry-content>p{color:#76625e;font-family:var(--serif);font-size:15px;line-height:2}.entry-actions button{color:#874b5b}.entry-actions button:last-child{color:#967c72}.diary-empty{margin:24px 0;background:#21171f;border:1px solid #b08a6129;min-height:335px}.empty-flower{color:#a07963}.diary-empty h2{color:#d4b99b;font-size:23px}.diary-empty p,.diary-footnote{color:#b29a9f}.gift-grid{gap:21px}.gift-card{background:radial-gradient(ellipse at 50% 28%,#5a354539,#23151e 75%);border:1px solid #a9865c4a;box-shadow:inset 0 0 0 7px #100c1130}.gift-card:hover{border-color:#d2ae7891;background:radial-gradient(ellipse at 50% 28%,#74465950,#2f1b29 75%)}.gift-object{background:#301e29;color:#d6b485;border:1px solid #b18a5554;border-radius:50%;box-shadow:0 0 0 5px #b18a550a}.gift-card.locked .gift-object{color:#86707a;background:#241922}.gift-card small{color:#b0979c}.gift-card h2{color:#e6caaa;font-weight:400}.gift-open{color:#b88c80}.collection-count{color:#d3ad7b}.collection-count small{color:#a08790}.our-calendar{border-top:1px solid var(--border);padding-top:37px}.our-calendar>h2{color:#d5b797;font-weight:400}.fact>span{color:#b18a74}.fact h3{color:#d9c6b3}.fact p{color:#ab949c}.modal{background:#21171f;color:#e8d7c5;border:1px solid #b393688c;border-radius:2px;box-shadow:0 24px 100px #000b}.modal::backdrop{background:#0b050bdd;backdrop-filter:blur(8px)}.modal-top{background:#2c1a26;border-bottom:1px solid #b291623d}.modal-top h2{color:#e6caaa;font-weight:400}.modal-body>p,.modal-intro{color:#bca6aa}.setting-row{border-color:#ac885e2e}.setting-row strong{color:#e5c9ac}.setting-row small,.backup-section p{color:#ad939e}.switch{background:#4b3a44;border:1px solid #95705e6b}.switch span{background:#cebbb1}.switch.enabled{background:#753a50}.switch.enabled span{background:#e5c79b}.volume-control{color:#bba398}.volume-control input{accent-color:#ba8e76}.backup-section{border-color:var(--border)}.backup-section h3{color:#dcc19e}.settings-signoff{color:#b6928e;border-color:var(--border)}.diary-form label,.diary-form legend{color:#c9b1aa}.diary-form input:not([type=checkbox]),.diary-form textarea,.diary-form select{background:#ede3d2;color:#4f3841;border:1px solid #ad866455;border-radius:0;color-scheme:light}.diary-form input::placeholder,.diary-form textarea::placeholder{color:#a08481}.diary-form textarea{font-family:var(--serif);line-height:1.9;background-image:repeating-linear-gradient(transparent,transparent 29px,#9d85661c 29px,#9d85661c 30px);background-position:0 13px}.mood-options button{color:#c9adb2;background:#2d1b29;border:1px solid #916f5b4d}.mood-options button.selected{background:#683149;color:#f1d8b5;border-color:#b8916b}.check-label small,.char-count{color:#ab8d98}.check-label input{accent-color:#944663}.form-error{color:#f0adb9}.toast{background:#442233f5;color:#f2dbc2;border:1px solid #ba926385;box-shadow:0 7px 30px #0005}.storage-error{background:#542d38;color:#f4dfcf;border-color:#b87971}.storage-error button{color:#f5d2a2}.save-slot{background:#291a25;border-color:#b08b6233}.slot-number{color:#b48a69}.save-slot strong{color:#e6c9a8;font-weight:400}.save-slot small,.save-slot p{color:#b09a9e}.slot-actions button{color:#d2ad85}.gift-detail{color:#d9ba8d}.gift-detail p,.ending-note p,.log-entry p{color:#c5aeb4}.ending-note h3{color:#e7c7a4}.ending-note>svg,.log-entry strong{color:#d1a77e}.log-entry{border-color:#ab8c632b}.log-entry.narrator p{color:#ac939d}.game-page{background:#160e17}.game-shade{background:linear-gradient(180deg,#120b1466,transparent 24%,transparent 59%,#160c18b3 88%,#130d15)}.glass-button{color:#ead1ac;background:#231523d9;border:1px solid #c8a57270;border-radius:0}.glass-button:hover{background:#50243ae8}.game-chapter-name{color:#ffe6c0;text-shadow:0 2px 10px #13091a}.game-chapter-name small{color:#e5cabc}.call-note,.dream-note{color:#f3dcc7}.dialogue-box{background:linear-gradient(115deg,#291826f7,#1e1522f5);border:1px solid #b592637d;border-radius:0;box-shadow:0 10px 55px #0006}.dialogue-box:after{border-color:#c2a06b36;border-radius:0;inset:7px}.speaker-label{background:#652d46;color:#f5debf;border-color:#c6a16f8c;border-radius:0;font-weight:400}.speaker-narrator .speaker-label{background:#382737;border-color:#a7866180}.speaker-cat .speaker-label{background:#4b3a31;border-color:#b1906880}.dialogue-text{color:#f0dfcc;font-size:21px;line-height:1.95}.dialogue-text .type-caret{background:#d5ae85}.dialogue-bottom>span{color:#a78b99}.advance-button{color:#e3bf8e}.game-controls{color:#d4bbad}.game-controls button{color:#d7c1b7;text-shadow:none}.game-controls button.active{color:#efb2c2}.progress-hint{color:#a48997;text-shadow:none}.progress-hint i{background:#b99678}.choices button{color:#eedbc3;background:linear-gradient(90deg,#4b243df5,#291c2df5);border:1px solid #be986984;border-radius:0;box-shadow:0 4px 25px #13091266}.choices button:hover{background:#6a344cef;border-color:#e2bd86}.choices button>span,.choices button>svg{color:#bf9b7b}.choices>p{color:#fae7d1}@media(min-width:1600px){.title-copy{left:9%}.title-copy h1{font-size:110px}}@media(max-width:1100px)and (min-width:761px){.site-header{padding:0 3%;gap:18px}nav{gap:18px}.wordmark{font-size:18px;gap:10px}.brand-mark{display:none}nav button{font-size:11px}.title-copy{left:6%}.title-copy h1{font-size:75px}.title-caption{max-width:300px}.title-issue{font-size:8px;letter-spacing:2px}.beginning-strip{padding:0 5%;gap:18px}.distance-note{display:none}.date-event{gap:14px}.timeline-bridge{flex:1}.paper-page{padding:42px 30px 85px}}@media(max-width:760px){.site-header{height:69px;padding:0 21px;gap:10px}.wordmark{font-size:18px;gap:11px;letter-spacing:1.7px}.wordmark small{font-size:6px;letter-spacing:1.6px}.brand-mark{display:grid;width:25px;height:25px}.brand-mark svg{width:15px;height:15px}.header-actions{gap:7px}.header-actions .icon-button{width:31px;height:31px}.header-actions svg{width:16px}nav{height:calc(65px + env(safe-area-inset-bottom));background:#1b111aef;border-color:#c29e673d;backdrop-filter:blur(18px);gap:0}nav button{font-size:9px;gap:7px;color:#ac929d;padding:8px 10px}nav button.active{color:#e7c599}nav button.active:after{top:0;bottom:auto;height:1px;width:24px;left:calc(50% - 12px)}.title-page{padding:0 0 calc(65px + env(safe-area-inset-bottom))}.title-scene{height:calc(100svh - 201px);min-height:612px;max-height:820px;background:#140f14}.title-art{position:absolute;top:0;left:0;width:100%;height:66%;object-fit:cover;object-position:80% 20%}.title-wash{background:linear-gradient(0deg,#140f14 0%,#140f14 29%,#140f14ed 40%,#140f1473 51%,transparent 68%),linear-gradient(90deg,#140f141c,transparent 80%)}.scene-frame{inset:12px;border-color:#b4905d33}.scene-frame:before,.scene-frame:after{width:25px;height:25px;border-color:#b6926966}.title-issue{top:24px;left:24px;font-size:7px;letter-spacing:2px;max-width:150px;line-height:1.8;text-shadow:0 1px 8px #120813}.title-issue span{display:block;margin:0;font-size:9px}.title-copy{inset:auto 29px 32px;transform:none;width:auto}.title-kicker{font-size:10px;letter-spacing:3px;margin:0 0 8px 1px}.title-flourish{gap:10px;margin:0 0 8px}.title-flourish span{width:20px}.title-flourish .collar-sigil{width:55px;height:25px}.title-copy h1{font-size:44px;line-height:1.25;letter-spacing:1px;white-space:nowrap}.title-copy h1 br{display:none}.title-second{padding-left:.08em}.title-and{font-size:.5em;margin-left:3px}.tiny-heart{display:none}.title-caption{font-size:11px;line-height:2;letter-spacing:.8px;margin:13px 0 19px;max-width:none}.title-caption br{display:block}.title-start{width:100%;min-width:0;height:49px;padding:14px 23px;font-size:12px}.dream-link{font-size:10px;padding:17px 0 0 3px}.dream-link span{margin-left:14px}.dedication,.title-vow,.scene-subtitle{display:none}.beginning-strip{height:92px;padding:0 23px;gap:17px;justify-content:space-between}.date-event{gap:10px;flex-direction:row}.date{font-size:25px;letter-spacing:-.8px}.date>span{margin:0 1px}.date-event>span:last-child{font-size:9px;line-height:1.7;letter-spacing:0}.date-event small{font-size:7px;color:#9b808a;margin-top:3px}.timeline-bridge,.distance-note{display:none}.home-footer{height:37px;padding:0 24px;font-size:8px;justify-content:center}.home-footer span:last-child{display:none}.paper-page{padding:30px 23px 102px}.page-heading{margin-bottom:29px;gap:14px}.page-heading h1{font-size:28px;letter-spacing:3px;margin:9px 0 13px}.page-heading p:not(.hand-note){font-size:11px;letter-spacing:.4px}.hand-note{font-size:11px;letter-spacing:1.5px}.page-ornament{padding:0}.page-ornament svg{width:40px}.page-heading .primary{font-size:10px;white-space:nowrap;padding:12px 14px;gap:6px}.tabs{gap:28px}.tabs button{font-size:14px;padding:0 0 15px;gap:8px}.tabs button span{display:none}.route-intro,.route-intro.dream{padding:21px 0 24px;gap:12px;align-items:flex-start}.route-intro p{font-size:11px;line-height:1.9}.route-intro small{font-size:10px;line-height:1.8}.route-intro>svg{margin-top:3px;flex-shrink:0;width:19px}.chapter-grid{grid-template-columns:1fr;gap:23px}.chapter-picture{aspect-ratio:1.65;height:auto}.chapter-picture img{height:100%;object-position:65% 30%}.chapter-copy{padding:21px 23px}.chapter-copy h2{font-size:21px}.chapter-meta{font-size:9px}.chapter-copy p{font-size:11px}.chapter-status{font-size:8px;padding:7px 9px}.chapter-number{font-size:29px}.chapter-copy .text-link{margin-top:19px}.diary-page .page-heading{align-items:flex-start;flex-wrap:wrap;gap:17px}.diary-page .page-heading>div{width:100%}.diary-page .page-heading .primary{padding:12px 17px;font-size:11px}.wish-explanation{padding:24px 21px;gap:0}.wish-stamp{display:none}.wish-explanation h2{font-size:18px;line-height:1.7;margin-bottom:11px}.wish-explanation p{font-size:11px;line-height:1.9}.wish-explanation small{font-size:10px;line-height:1.9;margin-top:11px}.diary-toolbar{flex-wrap:wrap;gap:10px;padding-bottom:14px;margin-top:17px}.small-tabs{width:100%;justify-content:space-between;gap:10px}.small-tabs button{font-size:11px;padding:14px 0 12px}.diary-toolbar>.text-link{margin-left:auto;font-size:10px;padding:4px 0}.diary-list{padding-top:21px;gap:17px}.diary-entry{padding:23px 19px;gap:17px}.entry-date{width:43px;padding-right:12px}.entry-date strong{font-size:26px}.entry-date>span{font-size:7px;line-height:1.7}.entry-meta{font-size:8px;gap:7px}.wish-label{font-size:8px}.entry-content h2{font-size:19px;line-height:1.6;margin-top:13px}.entry-content>p{font-size:13px;line-height:2}.entry-actions{gap:16px;margin-top:17px}.entry-actions button{font-size:9px}.diary-footnote{font-size:9px;line-height:1.9;text-align:center}.diary-empty h2{font-size:21px}.diary-empty p{font-size:11px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.gift-card{padding:22px 11px 19px}.gift-object{width:68px;height:68px;margin-bottom:20px}.gift-object svg{width:37px}.gift-card small{font-size:8px}.gift-card h2{font-size:15px;margin-top:8px}.gift-open{font-size:8px;gap:6px}.collection-count{font-size:34px}.collection-count small{font-size:8px}.fact p{line-height:1.9}.our-calendar{padding-top:28px}.modal{max-width:calc(100vw - 30px)}.modal-top{padding:18px 18px 15px}.modal-top h2{font-size:19px}.modal-body{padding:21px 20px}.setting-row small{font-size:10px}.backup-section p{font-size:11px}.diary-form{gap:17px}.diary-form label,.diary-form legend{font-size:11px}.diary-form input:not([type=checkbox]),.diary-form select,.diary-form textarea{font-size:16px}.mood-options{gap:6px}.mood-options button{padding:10px 9px;font-size:10px}.check-label small{font-size:10px;line-height:1.8}.form-row{gap:10px}.toast{bottom:84px;font-size:11px}.game-page{height:100svh;min-height:680px}.game-art{position:absolute;top:70px;height:calc(100% - 215px);object-fit:cover;object-position:76% 24%;width:100%}.game-page.art-cafe .game-art{object-position:54% 25%}.game-page.art-stars .game-art{object-position:77% 23%}.game-page.art-picnic .game-art{object-position:65% 28%}.game-page.art-kimono .game-art{object-position:85% 10%}.game-page.art-room .game-art,.game-page.art-night .game-art{top:0;height:100%;object-position:50%}.game-shade{background:linear-gradient(180deg,#160e17 0%,#160e1766 14%,transparent 25%,transparent 50%,#160e17 83%)}.game-top{top:17px;left:17px;right:17px;gap:8px}.game-chapter-name{font-size:12px;letter-spacing:.5px;line-height:1.6}.game-chapter-name small{font-size:8px;letter-spacing:0}.glass-button{padding:10px;font-size:10px}.game-top .glass-button{background:#211425e6}.call-note,.dream-note{top:89px;left:24px;right:24px;font-size:9px;text-shadow:0 1px 8px #1a0b1c}.call-note i{font-size:7px}.girl-sprite{height:79%;bottom:12%;left:50%}.game-bottom{width:calc(100vw - 28px);bottom:calc(17px + env(safe-area-inset-bottom))}.dialogue-box{padding:25px 22px 13px}.dialogue-text{font-size:16px;line-height:1.9;min-height:122px;letter-spacing:.4px;padding:9px 0}.speaker-label{font-size:12px;min-width:105px;left:17px;top:-17px;padding:8px 20px}.dialogue-bottom{gap:8px}.dialogue-bottom>span{font-size:8px;line-height:1.6}.advance-button{font-size:11px;gap:9px}.game-controls{margin-top:12px}.game-controls>div{gap:17px}.game-controls button{font-size:9px;padding:9px 0}.progress-hint{font-size:7px}.choices{margin-bottom:33px;gap:10px;max-width:calc(100% - 14px)}.choices button{font-size:14px;line-height:1.6;padding:13px 15px}.choices>p{font-size:11px}}@media(max-width:370px){.site-header{padding:0 17px}.wordmark{font-size:17px;gap:9px}.wordmark small{font-size:5px}.header-actions{gap:5px}.title-copy{left:25px;right:25px;bottom:29px}.title-copy h1{font-size:41px}.title-scene{min-height:599px}.title-caption{font-size:10px;letter-spacing:.5px}.beginning-strip{padding:0 19px;gap:13px}.date{font-size:23px}.date-event{gap:8px}.date-event>span:last-child{font-size:8px}.paper-page{padding-left:19px;padding-right:19px}.diary-form .form-row{grid-template-columns:1fr}.mood-options{flex-wrap:wrap}.game-chapter-name{font-size:11px}.dialogue-text{font-size:15px}.game-controls>div{gap:12px}.progress-hint{font-size:6px}}@media(min-width:761px)and (max-width:1000px){.title-art{height:71%;object-position:85% 10%}.title-wash{background:linear-gradient(0deg,#140f14 0%,#140f14 21%,#140f14e6 38%,#140f1455 57%,transparent 72%)}.title-copy{inset:auto 7% 41px;width:auto;transform:none}.title-copy h1{font-size:65px;white-space:nowrap;line-height:1.25}.title-copy h1 br{display:none}.title-second{padding-left:.08em}.title-kicker{font-size:11px;margin-bottom:10px;letter-spacing:3px}.title-flourish{margin-bottom:9px}.title-caption{margin:16px 0 20px;max-width:none;line-height:1.9;font-size:12px}.title-caption br{display:none}.title-start{min-width:295px}.dedication,.title-vow,.scene-subtitle,.tiny-heart{display:none}}@media(max-width:760px){.game-page.art-cafe .game-art{top:84px;height:calc(100% - 295px);object-position:55% 20%}}:root{color-scheme:light;--ui-paper: #fffaf7;--ui-surface: #fffdfb;--ui-pink: #f9e4e9;--ui-pink-strong: #f0cdd7;--ui-ink: #53414a;--ui-heading: #653d4d;--ui-muted: #715b65;--ui-accent: #9c4f68;--ui-accent-hover: #803a52;--ui-accent-pressed: #71364b;--ui-on-accent: #fffaf7;--ui-border: #e3c8d1;--ui-control-border: #a67787;--ui-decoration: #b98496;--ui-focus: #803a52;--ui-danger: #983e54;--ui-danger-soft: #fbe9ec;--ui-gallery: #f3ece9;--ui-dialogue-surface: #fffaf7f2;--ui-floating-surface: #fffaf7e6;--ui-shadow: 0 12px 32px #8c566012;--ui-shadow-raised: 0 16px 40px #8c566021;--ui-dialogue-shadow: 0 8px 36px #61434c24;--paper: var(--ui-paper);--ink: var(--ui-ink);--muted: var(--ui-muted);--rose: var(--ui-accent);--rose-dark: var(--ui-accent-hover);--border: var(--ui-border);--shadow: var(--ui-shadow);--wine: var(--ui-accent-hover);--gold: var(--ui-decoration);color:var(--ui-ink);background:var(--ui-paper)}body{background:var(--ui-paper);color:var(--ui-ink)}.app{color:var(--ui-ink);background:radial-gradient(ellipse at 8% 0%,#f9e4e970,transparent 52%),var(--ui-paper);accent-color:var(--ui-accent)}::selection{color:var(--ui-heading);background:var(--ui-pink-strong)}.app .site-header{background:var(--ui-paper);border-color:var(--ui-border)}.app .wordmark{color:var(--ui-heading)}.app .wordmark small{color:var(--ui-muted)}.app .brand-mark{color:var(--ui-accent);background:var(--ui-pink);border-color:var(--ui-decoration);box-shadow:0 0 0 4px #f9e4e960}.app nav{border-color:var(--ui-border)}.app nav button{color:var(--ui-muted)}.app nav button:hover,.app nav button.active{color:var(--ui-accent-hover)}.app nav button.active:after{background:var(--ui-accent)}.app .icon-button{color:var(--ui-accent);background:var(--ui-surface);border-color:var(--ui-border)}.app .icon-button:hover,.app .icon-button.on{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-control-border)}.app .primary{color:var(--ui-on-accent);background:var(--ui-accent);border-color:var(--ui-accent);box-shadow:0 5px 18px #9c4f6826,inset 0 1px #ffffff26;text-shadow:none}.app .primary:hover{color:var(--ui-on-accent);background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.app .primary:active{background:var(--ui-accent-pressed);border-color:var(--ui-accent-pressed)}.app .soft-button{color:var(--ui-accent-hover);background:var(--ui-surface);border-color:var(--ui-control-border);box-shadow:inset 0 1px #fff}.app .soft-button:hover{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-accent)}.app .danger-button{color:var(--ui-danger);background:var(--ui-danger-soft);border-color:var(--ui-danger)}.app .danger-button:hover{color:var(--ui-on-accent);background:var(--ui-danger)}.app .text-link,.app .chapter-copy .text-link,.app .log-entry button{color:var(--ui-accent)}.app .text-link:hover,.app .log-entry button:hover{color:var(--ui-accent-hover)}.app .title-scene{background:var(--ui-pink)}.app .title-art{filter:none}.app .title-wash{background:linear-gradient(90deg,#fffaf7 0%,#fffaf7fa 21%,#fffaf7db 34%,#fffaf752 46%,transparent 59%)}.app .scene-frame{border-color:#b9849666}.app .scene-frame:before,.app .scene-frame:after{border-color:var(--ui-decoration)}.app .title-issue,.app .title-issue span,.app .title-kicker{color:var(--ui-muted);text-shadow:none}.app .title-flourish,.app .title-and,.app .tiny-heart{color:var(--ui-accent)}.app .title-copy h1{color:var(--ui-accent-hover);text-shadow:0 2px 18px #fffaf7a6}.app .title-caption{color:var(--ui-ink)}.app .dream-link{color:var(--ui-accent-hover)}.app .dream-link:hover{color:var(--ui-accent-pressed)}.app .dedication,.app .scene-subtitle{color:var(--ui-heading);background:#fffaf7ed;text-shadow:none}.app .title-vow{color:var(--ui-accent-hover);background:#f9e4e9f5;border-color:var(--ui-decoration);outline-color:#b984964d;box-shadow:0 4px 24px #61434c12;backdrop-filter:none}.app .beginning-strip{color:var(--ui-ink);background:linear-gradient(90deg,var(--ui-pink),#fff3f2,var(--ui-paper));border-color:var(--ui-border)}.app .date{color:var(--ui-accent)}.app .date>span{color:var(--ui-accent)}.app .date-event>span:last-child,.app .distance-note strong{color:var(--ui-ink)}.app .date-event small,.app .distance-note,.app .home-footer{color:var(--ui-muted)}.app .timeline-bridge{color:var(--ui-accent)}.app .timeline-bridge i{background:var(--ui-decoration)}.app .paper-page{color:var(--ui-ink)}.app .page-heading h1,.app .chapter-copy h2,.app .diary-empty h2,.app .gift-card h2,.app .our-calendar>h2,.app .fact h3,.app .cg-album h2{color:var(--ui-heading)}.app .page-heading p:not(.hand-note),.app .chapter-copy p,.app .chapter-meta,.app .quiet-note{color:var(--ui-muted)}.app .hand-note{color:var(--ui-accent)}.app .page-ornament{color:var(--ui-decoration)}.app .tabs,.app .diary-toolbar,.app .diary-footnote,.app .our-calendar,.app .fact{border-color:var(--ui-border)}.app .tabs button,.app .tabs button span,.app .small-tabs button{color:var(--ui-muted)}.app .tabs .selected,.app .tabs .selected span,.app .small-tabs .selected{color:var(--ui-accent-hover)}.app .tabs .selected:after{background:var(--ui-accent)}.app .small-tabs .selected{box-shadow:0 1px 0 var(--ui-accent)}.app .route-intro,.app .route-intro.dream{color:var(--ui-accent)}.app .route-intro.alternate{color:var(--ui-ink)}.app .route-intro small{color:var(--ui-muted)}.app .chapter-card{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.app .chapter-card:hover{background:var(--ui-surface);border-color:var(--ui-decoration);box-shadow:var(--ui-shadow-raised)}.app .chapter-copy{background:var(--ui-surface)}.app .chapter-picture:after{background:none}.app .chapter-picture img,.app .chapter-card.art-night .chapter-picture img{filter:none}.app .chapter-number{color:var(--ui-on-accent);text-shadow:0 1px 3px #53414a,1px 0 1px #53414a,-1px 0 1px #53414a}.app .chapter-status,.app .chapter-play{color:var(--ui-accent-hover);background:var(--ui-paper);border-color:var(--ui-control-border);text-shadow:none;backdrop-filter:none;box-shadow:0 2px 12px #53414a1f}.app .wish-explanation{background:linear-gradient(110deg,var(--ui-pink),#fff2f2);border-color:var(--ui-border)}.app .wish-explanation:after{border-color:#b9849629}.app .wish-stamp{color:var(--ui-accent);border-color:var(--ui-decoration);outline-color:#b9849640}.app .wish-explanation h2{color:var(--ui-heading)}.app .wish-explanation p{color:var(--ui-ink)}.app .wish-explanation small{color:var(--ui-muted)}.app .diary-entry{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-border);box-shadow:inset 5px 0 var(--ui-pink-strong),var(--ui-shadow)}.app .diary-entry:after{border-color:#b9849626}.app .entry-date{color:var(--ui-accent);border-color:var(--ui-border)}.app .entry-meta{color:var(--ui-muted)}.app .wish-label{color:var(--ui-accent)}.app .entry-content h2{color:var(--ui-heading)}.app .entry-content>p{color:var(--ui-ink)}.app .entry-actions button{color:var(--ui-accent)}.app .entry-actions button:last-child{color:var(--ui-muted)}.app .entry-actions button:hover{color:var(--ui-accent-hover)}.app .diary-empty{background:var(--ui-surface);border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.app .empty-flower{color:var(--ui-decoration)}.app .diary-empty p,.app .diary-footnote{color:var(--ui-muted)}.app .gift-card{background:linear-gradient(160deg,#fffdfb,#fff2f3);border-color:var(--ui-border);box-shadow:inset 0 0 0 6px #fffaf7,var(--ui-shadow)}.app .gift-card:hover{background:linear-gradient(160deg,#fffdfb,var(--ui-pink));border-color:var(--ui-decoration);box-shadow:inset 0 0 0 6px #fffaf7,var(--ui-shadow-raised)}.app .gift-object{color:var(--ui-accent);background:var(--ui-pink);border-color:var(--ui-border);box-shadow:0 0 0 5px #f9e4e952}.app .gift-card.locked .gift-object{color:var(--ui-muted);background:var(--ui-gallery);border-color:#d6c9c9;box-shadow:0 0 0 5px #f3ece980}.app .gift-card small,.app .collection-count small,.app .fact p,.app .cg-album h2 small{color:var(--ui-muted)}.app .gift-open,.app .collection-count,.app .fact>span,.app .gift-detail{color:var(--ui-accent)}.app .gift-detail p{color:var(--ui-ink)}.app .camera-keepsake{border-color:var(--ui-border);filter:none}.app .cg-album-grid button{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-border);box-shadow:var(--ui-shadow)}.app .cg-album-grid button:hover{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-decoration)}.app .cg-album-grid img,.app .album-full-picture{filter:none}.app .album-full-picture{background:var(--ui-gallery)}.app .album-empty{color:var(--ui-muted);background:var(--ui-surface);border-color:var(--ui-border)}.app .modal{color-scheme:light;color:var(--ui-ink);background:var(--ui-paper);border-color:var(--ui-control-border);box-shadow:0 24px 90px #53414a38}.app .modal::backdrop{background:#53414a66;backdrop-filter:blur(3px)}.app .modal-top{background:var(--ui-pink);border-color:var(--ui-border)}.app .modal-top h2,.app .setting-row strong,.app .backup-section h3{color:var(--ui-heading)}.app .modal-body>p,.app .modal-intro,.app .backup-section p{color:var(--ui-ink)}.app .setting-row,.app .backup-section{border-color:var(--ui-border)}.app .setting-row small,.app .volume-control{color:var(--ui-muted)}.app .switch{background:#d8c6ce;border-color:var(--ui-control-border)}.app .switch span,.app .switch.enabled span{background:var(--ui-paper);box-shadow:0 1px 4px #53414a33}.app .switch.enabled{background:var(--ui-accent);border-color:var(--ui-accent)}.app .volume-control input,.app .check-label input{accent-color:var(--ui-accent)}.app .settings-signoff{color:var(--ui-muted)!important;border-color:var(--ui-border)}.app .diary-form label,.app .diary-form legend{color:var(--ui-ink)}.app .diary-form input:not([type=checkbox]),.app .diary-form textarea,.app .diary-form select{color-scheme:light;color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-control-border);caret-color:var(--ui-accent)}.app .diary-form input::placeholder,.app .diary-form textarea::placeholder{color:var(--ui-muted);opacity:1}.app .diary-form textarea{background-image:repeating-linear-gradient(transparent,transparent 29px,#b984961a 29px,#b984961a 30px)}.app .diary-form input:focus,.app .diary-form textarea:focus,.app .diary-form select:focus{border-color:var(--ui-accent)}.app .mood-options button{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-control-border)}.app .mood-options button:hover{background:var(--ui-pink)}.app .mood-options button.selected{color:var(--ui-on-accent);background:var(--ui-accent);border-color:var(--ui-accent)}.app .check-label small,.app .char-count{color:var(--ui-muted)}.app .form-error{color:var(--ui-danger)}.app .save-slot{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-border)}.app .slot-number,.app .slot-actions button{color:var(--ui-accent)}.app .slot-actions button:hover{color:var(--ui-accent-hover)}.app .save-slot strong{color:var(--ui-heading)}.app .save-slot small,.app .save-slot p{color:var(--ui-muted)}.app .log-entry{border-color:var(--ui-border)}.app .log-entry strong,.app .ending-note>svg{color:var(--ui-accent)}.app .log-entry p,.app .ending-note p{color:var(--ui-ink)}.app .log-entry.narrator p{color:var(--ui-muted)}.app .ending-note h3{color:var(--ui-heading)}.app .toast{color:var(--ui-on-accent);background:var(--ui-accent-hover);border-color:var(--ui-accent);box-shadow:var(--ui-shadow-raised)}.app .storage-error,.app .music-feedback{color:var(--ui-ink);background:var(--ui-danger-soft);border-color:var(--ui-control-border)}.app .storage-error button,.app .music-feedback button{color:var(--ui-danger)}.app .game-page,.app .scene-stage,.app .stage-frame{background:var(--ui-gallery)}.app .game-page .game-shade{background:none}.app .game-page.art-night .game-art,.app .game-page .scene-stage .game-art{filter:none}.app .game-page .scene-stage .expression-sprite{filter:drop-shadow(0 8px 20px #53414a26)}.app .game-top,.app .game-controls{color:var(--ui-ink);background:transparent;box-shadow:none}.app .glass-button,.app .game-top .glass-button,.app .diary-look,.app .moment-look,.app .scene-retry{color:var(--ui-accent-hover);background:var(--ui-surface);border-color:var(--ui-control-border);box-shadow:0 2px 10px #53414a12;text-shadow:none;backdrop-filter:none}.app .glass-button:hover,.app .game-top .glass-button:hover,.app .diary-look:hover,.app .moment-look:hover,.app .scene-retry:hover{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-accent)}.app .game-chapter-name{color:var(--ui-heading);background:var(--ui-floating-surface);text-shadow:none}.app .game-chapter-name small,.app .line-real .game-chapter-name small{color:var(--ui-muted)}.app .call-note,.app .dream-note{color:var(--ui-on-accent);background:transparent;text-shadow:0 1px 3px #53414af2,0 0 8px #53414acc;box-shadow:none}.app .scene-loading{color:var(--ui-ink);background:var(--ui-paper);text-shadow:none;box-shadow:0 2px 12px #53414a12}.app .call-note i{color:inherit;opacity:1}.app .call-light{background:var(--ui-accent);box-shadow:0 0 0 3px var(--ui-pink)}.app .dialogue-box{color:var(--ui-ink);background:var(--ui-dialogue-surface);border-color:var(--ui-decoration);box-shadow:var(--ui-dialogue-shadow);backdrop-filter:none}.app .dialogue-box:after{border-color:var(--ui-border)}.app .speaker-label{color:var(--ui-on-accent);background:var(--ui-accent);border-color:var(--ui-accent);box-shadow:0 3px 12px #9c4f681f}.app .speaker-narrator .speaker-label,.app .speaker-cat .speaker-label{color:var(--ui-ink);background:var(--ui-pink);border-color:var(--ui-control-border)}.app .source-label{color:inherit;opacity:1}.app .dialogue-text,.app .dialogue-text:disabled{color:var(--ui-ink);opacity:1}.app .dialogue-text .type-caret{background:var(--ui-accent)}.app .dialogue-bottom>span{color:var(--ui-muted)}.app .advance-button{color:var(--ui-accent-hover)}.app .advance-button:hover{color:var(--ui-accent-pressed)}.app .game-controls button{color:var(--ui-ink);background:var(--ui-floating-surface);text-shadow:none}.app .game-controls button:hover{color:var(--ui-accent-hover)}.app .game-controls button.active{color:var(--ui-accent-hover);background:var(--ui-pink);box-shadow:inset 0 -1px var(--ui-accent)}.app .progress-hint{color:var(--ui-muted);background:var(--ui-floating-surface);text-shadow:none}.app .progress-hint i{background:var(--ui-accent)}.app .choices button{color:var(--ui-ink);background:var(--ui-surface);border-color:var(--ui-control-border);box-shadow:var(--ui-dialogue-shadow);backdrop-filter:none}.app .choices button:hover{color:var(--ui-heading);background:var(--ui-pink);border-color:var(--ui-accent)}.app .choices button>span,.app .choices button>svg{color:var(--ui-accent)}.app .choices>p{color:var(--ui-ink);background:var(--ui-paper);text-shadow:none}.app .music-button,.app .game-controls .music-button{color:var(--ui-accent-hover);background:var(--ui-surface);border-color:var(--ui-control-border);text-shadow:none}.app .music-button:hover,.app .game-controls .music-button:hover{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-accent)}.app .music-button.on,.app .game-controls .music-button.on{color:var(--ui-on-accent);background:var(--ui-accent);border-color:var(--ui-accent)}.app .music-button.on:hover,.app .game-controls .music-button.on:hover{background:var(--ui-accent-hover)}.app .music-track-title{color:inherit;opacity:1;border-color:currentColor}.app .music-settings-status{color:var(--ui-muted)}.app .line-alternate,.app .ending-screen.ending-letter{--ui-paper: #f8f4f1;--ui-surface: #fdfaf7;--ui-pink: #efe5e5;--ui-pink-strong: #e5d5d9;--ui-ink: #51464b;--ui-heading: #605057;--ui-muted: #70626a;--ui-accent: #7b5867;--ui-accent-hover: #664552;--ui-accent-pressed: #583c48;--ui-border: #d5c6cb;--ui-control-border: #9e808c;--ui-decoration: #ad929d;--ui-gallery: #efebe7;--ui-dialogue-surface: #f8f4f1f7;--ui-floating-surface: #f8f4f1e6;--ui-shadow: 0 10px 28px #53414a0f;--ui-dialogue-shadow: 0 8px 30px #53414a1a}.app .line-alternate .dialogue-box,.app .letter-reading .dialogue-box{background:var(--ui-dialogue-surface);border-color:var(--ui-border)}.app .line-alternate .speaker-label{color:var(--ui-ink);background:var(--ui-pink);border-color:var(--ui-control-border);box-shadow:none}.app .line-alternate .dialogue-text>span:first-child{scrollbar-color:var(--ui-control-border) var(--ui-paper)}.app .diary-focus-controls,.app .moment-focus-controls{color:var(--ui-ink);background:var(--ui-paper);box-shadow:var(--ui-shadow);text-shadow:none}.app .diary-focus-controls>span{color:var(--ui-muted)}.app .diary-focus-controls .glass-button,.app .moment-focus-controls .glass-button{color:var(--ui-on-accent);background:var(--ui-accent);border-color:var(--ui-accent);box-shadow:0 3px 12px #53414a1a}.app .diary-focus-controls .glass-button:hover,.app .moment-focus-controls .glass-button:hover{color:var(--ui-on-accent);background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.app .ending-screen{--ending-ink: var(--ui-ink);--ending-gold: var(--ui-accent);--ending-muted: var(--ui-muted);--ending-rule: var(--ui-border);color-scheme:light;color:var(--ui-ink);background:radial-gradient(ellipse at 92% 15%,#f9e4e985,transparent 58%),var(--ui-paper)}.app .ending-screen::backdrop{background:var(--ui-paper)}.app .ending-screen.ending-letter{--ending-gold: var(--ui-accent);background:var(--ui-paper)}.app .ending-screen .ending-art-toggle,.app .ending-screen .ending-close{color:var(--ui-accent-hover);background:var(--ui-surface);border-color:var(--ui-control-border)}.app .ending-screen .ending-art-toggle:hover,.app .ending-screen .ending-close:hover,.app .ending-screen .ending-art-toggle[aria-pressed=true]{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-accent)}.app .ending-art-window,.app .ending-full-art .ending-art-window{background:var(--ui-gallery);border-color:var(--ui-border);box-shadow:0 12px 32px #8c566014,inset 0 0 0 5px var(--ui-paper)}.app .ending-art-window:after{border-color:#fffaf780}.app .ending-art-image{filter:none}.app .ending-corner{border-color:var(--ui-decoration)}.app .ending-corner:after{background:var(--ui-decoration)}.app .ending-flourish{color:var(--ui-decoration)}.app .ending-summary{background:var(--ui-paper)}.app .ending-completion-rule:after{background:var(--ui-paper);border-color:var(--ui-decoration)}.app .ending-route>span{color:var(--ui-muted)}.app .ending-screen .ending-title{color:var(--ui-heading)}.app .ending-quote{color:var(--ui-ink)}.app .ending-keepsake-seal{color:var(--ui-accent);background:var(--ui-pink);border-color:var(--ui-decoration);box-shadow:inset 0 0 0 5px #fffaf780}.app .ending-screen .ending-primary{color:var(--ui-on-accent);background:var(--ui-accent);border-color:var(--ui-accent);box-shadow:0 5px 18px #9c4f6821,inset 0 1px #ffffff26;text-shadow:none}.app .ending-primary:before{border-color:#fffaf733}.app .ending-screen .ending-primary:hover{color:var(--ui-on-accent);background:var(--ui-accent-hover);border-color:var(--ui-accent-hover)}.app .ending-screen .ending-primary:active{background:var(--ui-accent-pressed);border-color:var(--ui-accent-pressed)}.app .ending-screen .ending-secondary{color:var(--ui-accent-hover);background:transparent;border-color:transparent}.app .ending-screen .ending-secondary:hover{color:var(--ui-accent-hover);background:var(--ui-pink);border-color:var(--ui-border)}.app .ending-screen .ending-colophon{color:var(--ui-muted)}.app .ending-screen.ending-letter .ending-primary{box-shadow:none}.app button:focus-visible,.app a:focus-visible,.app input:focus-visible,.app textarea:focus-visible,.app select:focus-visible,.app .music-button:focus-visible,.app .music-feedback button:focus-visible,.app .scene-retry:focus-visible,.app .ending-screen button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}@media(max-width:1000px){.app .title-wash{background:linear-gradient(0deg,#fffaf7 0%,#fffaf7 28%,#fffaf7eb 39%,#fffaf742 53%,transparent 68%)}.app .title-issue{color:var(--ui-heading);background:var(--ui-paper);text-shadow:none}}@media(max-width:760px){.app .title-kicker{background:var(--ui-paper);box-shadow:0 0 12px 5px var(--ui-paper)}.app nav{background:var(--ui-paper);border-color:var(--ui-border);box-shadow:0 -4px 20px #8c56600d;backdrop-filter:none}.app .title-wash{background:linear-gradient(0deg,#fffaf7 0%,#fffaf7 29%,#fffaf7ed 40%,#fffaf747 54%,transparent 68%)}}.app{--rose-layout-ui: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--rose-layout-reading: var(--serif, "Songti SC", "Noto Serif CJK SC", serif);--rose-layout-gutter: clamp(16px, 3vw, 48px);font-family:var(--rose-layout-ui);line-height:1.6}.app button{min-width:44px;min-height:44px}.app :is(button,a,input,select,textarea):focus-visible{outline-offset:3px}.app :is(button,input,select,textarea){scroll-margin-block:16px}.app :is(.icon-button,.header-actions .icon-button){width:44px;height:44px;flex:0 0 44px;padding:10px}.app :is(.primary,.soft-button,.danger-button,.glass-button,button.text-link){font-size:14px;line-height:1.5}.app :is(.primary,.soft-button,.danger-button){padding:12px 20px}.app :is(.glass-button,.music-button){justify-content:center}.app .music-button{min-height:44px;gap:7px;padding:10px 12px;font-size:13px;line-height:1.5}.app .music-track-title{min-width:0;max-width:14ch;overflow:hidden;text-overflow:ellipsis;font-size:12px}.app .site-header{height:auto;min-height:82px;padding:12px var(--rose-layout-gutter);gap:20px}.app .site-header nav{gap:clamp(12px,2vw,30px)}.app .site-header nav button{padding:8px 4px;font-size:14px}.app .wordmark{min-width:0}.app .wordmark small{font-size:10px;letter-spacing:.12em}.app .header-actions{display:flex;align-items:center;gap:8px}.app .header-actions .music-track-title{display:none}.app .title-start{min-height:52px;height:auto;font-size:16px}.app .dream-link{min-height:44px;font-size:14px;padding-block:12px}.app .title-caption{font-size:15px;line-height:1.9}.app .game-page{display:block;height:100svh;height:100dvh;min-height:0;padding:0;overflow-x:clip;overflow-y:hidden;isolation:isolate}.app .game-top{display:contents}.app .game-top>button{position:absolute;top:max(16px,env(safe-area-inset-top));z-index:3}.app .game-top>button:first-child{left:var(--rose-layout-gutter)}.app .game-top>button:last-child{right:var(--rose-layout-gutter)}.app .game-chapter-name{position:absolute;top:max(16px,env(safe-area-inset-top));left:50%;z-index:2;transform:translate(-50%);width:max-content;max-width:calc(100% - 340px);min-width:0;padding:4px 10px;font-size:18px;line-height:1.5;letter-spacing:.06em;overflow-wrap:anywhere}.app .game-chapter-name small{margin-top:4px;font-size:12px;letter-spacing:.02em}.app :is(.call-note,.dream-note){position:absolute;top:calc(82px + env(safe-area-inset-top));left:50%;right:auto;transform:translate(-50%);z-index:1;width:max-content;max-width:calc(100% - 2 * var(--rose-layout-gutter));min-width:0;margin:0;padding:4px 12px;justify-content:center;flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.6;letter-spacing:.04em}.app .call-note i{font-size:12px}.app .game-page .scene-stage{position:absolute;inset:0;min-width:0;min-height:0;width:100%;height:100%}.app .game-page .scene-stage .stage-frame{inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto}.app .game-page .scene-stage .stage-frame .game-art{inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--focus, 50% 35%)}.app .game-page .scene-stage .expression-sprite{top:0;bottom:0;left:50%;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center bottom}.app :is(.scene-loading,.scene-retry){top:50%;width:max-content;max-width:calc(100% - 32px);font-size:14px;line-height:1.7;letter-spacing:.03em}.app .game-bottom{position:absolute;top:auto;bottom:max(16px,env(safe-area-inset-bottom));left:50%;right:auto;z-index:2;transform:translate(-50%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;width:min(1240px,calc(100% - 2 * var(--rose-layout-gutter)));min-width:0;margin:0}.app .game-bottom>:is(.choices,.dialogue-box,.music-feedback,.game-controls){grid-column:1 / -1}.app .dialogue-box{min-width:0;margin-top:18px;padding:24px 28px 6px}.app .speaker-label{top:-18px;left:24px;min-width:128px;max-width:calc(100% - 48px);min-height:36px;padding:6px 18px;gap:9px;flex-wrap:wrap;font-family:var(--rose-layout-reading);font-size:16px;line-height:1.5;letter-spacing:.1em}.app .speaker-label .source-label{margin-left:4px;font-family:var(--rose-layout-ui);font-size:12px;line-height:1.5;letter-spacing:.02em}.app .dialogue-text{min-width:0;min-height:80px;padding:7px 0;font-family:var(--rose-layout-reading);font-size:22px;font-weight:400;line-height:1.8;letter-spacing:.025em;overflow-wrap:anywhere;text-align:start;touch-action:pan-y}.app .dialogue-text>span:first-child{display:block;max-height:min(32svh,316px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;padding-inline-end:6px}.app .dialogue-bottom{gap:16px;padding-top:2px}.app .dialogue-bottom>span{min-width:0;font-size:12px;line-height:1.6;letter-spacing:.02em}.app .advance-button{flex-shrink:0;gap:10px;padding:10px 4px 10px 16px;font-size:15px}.app :is(.moment-look,.diary-look){position:absolute;inset:-52px 16px auto auto;grid-column:auto;grid-row:auto;width:max-content;height:44px;min-height:44px;align-self:auto;justify-self:auto;margin:0;padding:9px 14px;font-size:13px;line-height:1.5;white-space:nowrap}.app .game-bottom:has(>.moment-look)>.diary-look{right:144px}.app .game-controls{display:flex;flex-wrap:nowrap;align-items:center;gap:6px 20px;margin:0;padding:4px 12px}.app .game-controls>div,.app .game-controls>div:has(.music-button){min-width:0;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.app .game-controls button{justify-content:center;min-height:44px;padding:10px 12px;gap:7px;font-size:13px;line-height:1.5;letter-spacing:0}.app .game-controls button svg{width:17px;height:17px}.app .progress-hint{font-size:12px;line-height:1.5;letter-spacing:0}.app .choices{width:min(100%,720px);max-width:100%;max-height:min(25svh,252px);overflow-y:auto;overscroll-behavior-y:contain;margin:0 auto 12px;padding:4px 8px;gap:8px}.app .choices>p{font-size:14px;line-height:1.6;margin-bottom:2px}.app .choices button{flex-shrink:0;min-height:48px;padding:10px 16px;font-size:17px;line-height:1.65;gap:12px;text-align:start;overflow-wrap:anywhere}.app .choices button>span{font-size:13px;flex-shrink:0}.app .music-feedback{font-size:13px;flex-wrap:wrap;gap:8px 12px}.app .game-bottom>.music-feedback{width:100%;max-width:none;margin:0}.app .paper-page{max-width:1240px;padding:44px var(--rose-layout-gutter) 72px}.app .page-heading{gap:20px;margin-bottom:30px}.app .page-heading h1{font-size:clamp(28px,3vw,38px);line-height:1.4;letter-spacing:.08em}.app .page-heading p:not(.hand-note){font-size:15px;line-height:1.8;letter-spacing:.02em}.app .tabs{gap:20px;flex-wrap:wrap}.app .tabs button{padding:12px 4px;font-size:16px}.app .tabs button span{font-size:12px;margin-left:4px}.app .route-intro{padding-block:22px;gap:14px;font-size:15px;line-height:1.9}.app .route-intro>svg{flex-shrink:0}.app .route-intro small{font-size:13px;line-height:1.8}.app .chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.app .chapter-card{min-width:0}.app .chapter-picture{height:auto;aspect-ratio:16 / 10}.app .chapter-picture img{width:100%;height:100%;object-fit:contain;object-position:center}.app .chapter-status{max-width:calc(100% - 70px);font-size:12px;line-height:1.5}.app .chapter-copy{padding:22px}.app .chapter-meta{flex-wrap:wrap;gap:6px 12px;font-size:12px;letter-spacing:.02em}.app .chapter-copy h2{font-size:23px;line-height:1.5;letter-spacing:.04em;overflow-wrap:anywhere}.app .chapter-copy p{font-size:14px;line-height:1.8}.app .chapter-copy .text-link{font-size:14px;min-height:44px;margin-top:12px}.app :is(.quiet-note,.diary-footnote){font-size:13px;line-height:1.9}.app .small-tabs{gap:12px;flex-wrap:wrap}.app .small-tabs button{padding:10px 8px;font-size:14px}.app .diary-toolbar{flex-wrap:wrap;gap:10px}.app .diary-toolbar>.text-link{min-height:44px;font-size:14px}.app .diary-entry{padding:26px;gap:24px}.app .entry-date{width:70px;padding-right:12px}.app .entry-date>span{font-size:12px;line-height:1.6}.app :is(.entry-meta,.wish-label){font-size:12px;line-height:1.7}.app .entry-content h2{font-size:23px;line-height:1.6;overflow-wrap:anywhere}.app .entry-content>p{font-size:16px;line-height:1.9}.app .entry-actions{gap:12px;flex-wrap:wrap}.app .entry-actions button{padding:8px;font-size:14px}.app :is(.wish-explanation p,.diary-empty p,.gift-detail p,.fact p){font-size:15px;line-height:1.9}.app .wish-explanation small{font-size:13px;line-height:1.8}.app .gift-card{min-width:0;padding:26px 18px}.app .gift-card h2{font-size:19px;line-height:1.5}.app :is(.gift-card small,.gift-open,.collection-count small){font-size:12px;line-height:1.6}.app .cg-album-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.app .cg-album-grid img{object-fit:contain;object-position:center}.app .cg-album-grid span{padding:10px 6px;font-size:14px;line-height:1.6}.app .cg-album h2 small{display:inline-block;font-size:13px}.app .album-full-picture{max-height:70svh;object-fit:contain;object-position:center}.app .modal{width:min(600px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.app .modal[open]{display:flex;flex-direction:column}.app .modal.wide{width:min(820px,calc(100% - 32px))}.app .modal:has(.album-full-picture){width:min(1100px,calc(100% - 32px))}.app .modal-top{flex-shrink:0;padding:16px 24px;gap:12px}.app .modal-top h2{min-width:0;font-size:23px;line-height:1.5;letter-spacing:.03em}.app .modal-body{min-height:0;max-height:none;padding:22px 24px 28px;overflow:auto}.app :is(.modal-body>p,.backup-section p,.music-settings-status,.volume-control){font-size:14px;line-height:1.8}.app .setting-row{padding-block:18px;gap:16px}.app .setting-row>div{min-width:0}.app .setting-row strong{font-size:16px;line-height:1.5}.app .setting-row small{font-size:13px;line-height:1.75}.app .switch{width:56px;height:44px;flex-basis:56px;padding:10px 8px}.app .switch span{width:24px;height:24px}.app .switch.enabled span{transform:translate(16px)}.app .volume-control{display:block}.app .volume-control input{min-height:44px;margin:8px 0 0}.app :is(.button-row .soft-button,.slot-actions button){font-size:14px;padding:10px 14px}.app .save-slot{display:grid;grid-template-columns:36px minmax(0,1fr) auto;padding:18px;gap:14px}.app .save-slot>div{min-width:0}.app .save-slot strong{font-size:18px;line-height:1.5;overflow-wrap:anywhere}.app .save-slot small{font-size:12px;line-height:1.7}.app .save-slot p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.app .slot-actions{gap:8px}.app .log-entry strong{font-size:14px}.app .log-entry p{font-size:17px;line-height:1.9;overflow-wrap:anywhere}.app :is(.diary-form label,.diary-form legend){font-size:14px;letter-spacing:.02em}.app .diary-form :is(input:not([type=checkbox]),select,textarea){min-width:0;min-height:48px;font-size:16px;line-height:1.75}.app .diary-form textarea{min-height:200px}.app .form-row>*{min-width:0}.app .mood-options{gap:8px}.app .mood-options button{padding:10px 12px;font-size:14px}.app :is(.char-count,.check-label small){font-size:12px;line-height:1.8}.app .check-label{min-height:44px;padding-block:10px}.app .check-label input{width:20px;height:20px;margin:3px 0}.app .storage-error{flex-wrap:wrap;align-items:center;font-size:14px;gap:8px 16px}.app .toast{font-size:14px;line-height:1.7}@media(min-width:761px)and (max-width:1100px){.app .site-header{flex-wrap:wrap;gap:8px 16px}.app .site-header nav{order:3;width:100%;justify-content:center}.app .chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app .tabs button span{display:none}}@media(max-width:760px){.app{--rose-layout-gutter: 16px}.app .site-header{min-height:76px;gap:8px;padding:max(10px,env(safe-area-inset-top)) 16px 10px}.app .wordmark{font-size:18px;gap:8px;letter-spacing:.04em}.app .wordmark small{font-size:9px;letter-spacing:.06em}.app .header-actions{gap:4px}.app .header-actions .music-button{gap:4px;font-size:12px;padding-inline:8px}.app .site-header nav{height:calc(68px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);gap:0}.app .site-header nav button{flex:1;min-width:0;gap:4px;padding:8px 2px;font-size:12px;letter-spacing:0}.app .site-header nav button svg{width:20px;height:20px}.app .title-page{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.app .title-scene{min-height:620px}.app .title-copy{left:24px;right:24px;bottom:28px}.app .title-copy h1{font-size:clamp(38px,10.6vw,60px)}.app .title-caption{font-size:14px;letter-spacing:.02em;margin-block:14px 18px}.app .title-caption br{display:none}.app .beginning-strip{height:auto;min-height:96px;padding:18px 20px;flex-wrap:wrap;gap:16px}.app .date-event>span:last-child{font-size:12px}.app .date-event small{font-size:11px}.app .home-footer{height:auto;min-height:40px;font-size:11px}.app .game-top>button{top:max(10px,env(safe-area-inset-top))}.app .game-top>.glass-button{width:44px;padding:10px}.app .game-top>.glass-button>span{display:none}.app .game-chapter-name{top:max(10px,env(safe-area-inset-top));max-width:calc(100% - 124px);padding:0;font-size:15px;line-height:1.5;letter-spacing:.02em}.app .game-chapter-name small{font-size:12px;line-height:1.5;margin-top:3px}.app :is(.call-note,.dream-note){display:none}.app .game-page .scene-stage .stage-frame .game-art{object-position:var(--mobile-focus, 50% 50%)}.app .game-bottom{bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);gap:0 8px}.app .dialogue-box{padding:23px 18px 8px;margin-top:18px}.app .speaker-label{left:14px;max-width:calc(100% - 28px);min-width:108px;padding-inline:12px;font-size:15px;gap:7px}.app .speaker-label svg{width:15px;height:15px}.app .dialogue-text{min-height:76px;font-size:18px;line-height:1.8;letter-spacing:.02em;padding-block:7px}.app .dialogue-text>span:first-child{max-height:min(40svh,336px);padding-right:4px}.app .dialogue-bottom{align-items:center;gap:8px}.app .dialogue-bottom>span{flex:1;font-size:12px;letter-spacing:0}.app .advance-button{font-size:14px;padding:10px 0 10px 8px;gap:6px}.app :is(.moment-look,.diary-look){padding:9px 12px;font-size:13px}.app .game-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:4px}.app .progress-hint{justify-content:flex-end;font-size:12px}.app .game-controls>div,.app .game-controls>div:has(.music-button){width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:4px;margin:0}.app .game-controls button,.app .game-controls .music-button{flex-direction:column;min-width:44px;min-height:56px;padding:7px 2px;gap:4px;font-size:12px;line-height:1.5;white-space:nowrap}.app .game-controls button svg{width:18px;height:18px}.app .game-controls .music-track-title{display:none}.app .choices{max-height:24svh;padding-inline:5px;gap:6px}.app .choices button{font-size:16px;padding:10px 12px;gap:10px}.app .choices>p{font-size:13px}.app .game-bottom>.music-feedback{font-size:13px;padding:10px 12px}.app .paper-page{padding:28px 16px calc(100px + env(safe-area-inset-bottom))}.app .page-heading{gap:16px;flex-wrap:wrap;margin-bottom:24px}.app .page-heading>div{min-width:0}.app .page-heading>.primary{max-width:none;font-size:14px}.app .page-heading p:not(.hand-note){font-size:14px}.app .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.app .tabs button{min-width:0;gap:5px;justify-content:center;padding:12px 0;font-size:14px;white-space:normal}.app .tabs button svg{width:16px;height:16px}.app .tabs button span{display:none}.app .route-intro{padding-block:20px;font-size:14px}.app .chapter-grid{grid-template-columns:minmax(0,1fr);gap:24px}.app .chapter-copy{padding:20px}.app .chapter-copy h2{font-size:23px}.app .diary-entry{padding:20px 16px;gap:14px;flex-direction:column}.app .entry-date{width:auto;display:flex;align-items:baseline;gap:10px;text-align:left;padding:0}.app .entry-date strong{font-size:28px}.app .entry-date>span{margin:0}.app .entry-content h2{font-size:22px}.app .small-tabs{width:100%;gap:4px;justify-content:space-between}.app .small-tabs button{font-size:14px;padding-inline:6px}.app .wish-explanation{padding:22px 18px}.app .gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app .gift-card{padding:24px 12px}.app .gift-card h2{font-size:17px}.app .cg-album-grid{grid-template-columns:minmax(0,1fr);gap:18px}.app .album-full-picture{max-height:65svh}.app .modal-top{padding:12px 16px}.app .modal-top h2{font-size:20px}.app .modal-body{padding:18px 16px 24px}.app .save-slot{grid-template-columns:30px minmax(0,1fr);gap:12px;padding:16px 12px}.app .slot-actions{grid-column:1 / -1;flex-direction:row;justify-content:flex-end}.app .slot-actions button{min-width:72px}.app .diary-form .form-row{grid-template-columns:minmax(0,1fr);gap:16px}.app .mood-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app .diary-form .form-save{width:100%}.app .button-row>button{flex:1 1 auto}.app .toast{bottom:calc(84px + env(safe-area-inset-bottom))}.app .game-page~.toast{bottom:auto;top:max(12px,env(safe-area-inset-top))}}@media(max-width:400px){.app .wordmark .brand-mark{display:none}.app .wordmark small{font-size:9px}.app .game-chapter-name{font-size:14px}.app .dialogue-box{padding-inline:16px}}.app .game-page:is(.moment-focus,.diary-focus){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(140px,1fr) auto;gap:16px;overflow-y:auto;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.app .game-page:is(.moment-focus,.diary-focus)>:is(.game-top,.game-bottom,.dream-note,.call-note){display:none!important;visibility:hidden!important;pointer-events:none!important}.app .game-page:is(.moment-focus,.diary-focus) .scene-stage{grid-row:1;position:relative;inset:auto}.app .game-page:is(.moment-focus,.diary-focus) .scene-stage .stage-frame{inset:0!important;width:100%;height:100%;min-height:0}.app .game-page:is(.moment-focus,.diary-focus) .scene-stage .game-art{object-fit:contain!important;object-position:center!important}.app :is(.moment-focus-controls,.diary-focus-controls){grid-row:2;position:relative;inset:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;width:min(760px,100%);margin-inline:auto;min-width:0;padding:4px}.app :is(.moment-focus-controls,.diary-focus-controls)>button{min-height:44px;font-size:14px}.app .moment-focus-controls>p{display:none}.app .diary-focus-controls>p{flex-basis:100%;font-size:clamp(17px,2vw,21px);line-height:1.7;letter-spacing:.05em}.app .diary-focus-controls>span{flex-basis:100%;font-size:13px;line-height:1.8;margin:0}.app :is(.moment-focus-controls,.diary-focus-controls) .music-track-title{display:none}@media(max-width:760px){.app .game-page:is(.moment-focus,.diary-focus){gap:12px;padding:max(20px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}@media(max-height:600px)and (min-width:761px){.app .game-chapter-name small,.app :is(.call-note,.dream-note){display:none}.app .dialogue-text{min-height:58px}.app .dialogue-text>span:first-child{max-height:76px}.app .choices{max-height:20svh}}
