:root{--paper:#f3efe4;--card:#fcfaf3;--ink:#263d40;--muted:#72817c;--coral:#aa604f;--line:#d8d9cb;--sage:#d8dfca;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html{background:var(--paper);scrollbar-gutter:stable}body{margin:0;color:var(--ink);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;overscroll-behavior-y:none}button,select,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:44px;user-select:none;-webkit-user-select:none}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd8c54;outline-offset:3px}a{color:inherit}button{border:1px solid var(--line);background:#f4f2e8;border-radius:7px;padding:10px 15px;transition:background .16s}button:hover:not(:disabled){background:#e5e8d9}button.primary{background:var(--ink);border-color:var(--ink);color:#fbf6e8}button.primary:hover:not(:disabled){background:#3c5655}button.subtle{border:0;background:transparent;padding:9px}button.danger{color:#9b4f45}.masthead{max-width:1440px;margin:auto;padding:21px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;min-width:0}.brand span{font-size:12px;letter-spacing:1.4px;font-weight:700;line-height:1.4}.brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--muted);margin-top:3px}.toolbar{display:flex;gap:5px;align-items:center}.toolbar button{width:42px;height:42px;min-height:42px;padding:10px;background:transparent}.toolbar svg{width:21px;height:21px}.toolbar [aria-pressed=true]{background:#d8dfca;border-color:#9aa98e}.info-space{width:42px;flex-shrink:0}#save-status{font-size:10px;color:var(--muted);max-width:1360px;text-align:right;margin:9px auto 0;padding:0 40px;min-height:14px}#app{max-width:1360px;margin:0 auto;padding:25px 40px 50px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Songti SC",serif;font-weight:400}h1{font-size:clamp(36px,4.1vw,61px);line-height:1.15;letter-spacing:-1.5px;margin-bottom:23px}h2{font-size:30px;line-height:1.2}h3{font-size:13px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--coral);text-transform:uppercase;line-height:1.8}.lede{font-size:15px;color:#596e68;line-height:1.9;max-width:500px}.home-top{display:grid;grid-template-columns:1fr 1.1fr;gap:62px;align-items:center;margin:22px 0 28px}.home-art{transform:rotate(1deg);background:var(--card);padding:13px 13px 0;box-shadow:0 18px 45px #55604c16;border:1px solid #e0dece}.illustration svg{display:block;width:100%;height:auto;user-select:none;-webkit-touch-callout:none}.art-caption{display:flex;justify-content:space-between;gap:12px;padding:16px 9px;font-size:9px;letter-spacing:1.3px;color:var(--muted)}.new-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;max-width:900px;margin:28px 0}.field{display:grid;gap:7px;font-size:11px;color:var(--muted)}input,select{border:1px solid var(--line);background:#fbf9f0;border-radius:6px;padding:11px 12px;min-height:44px;max-width:100%}.home-features{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px;padding-top:26px;border-top:1px solid var(--line)}.home-features strong{display:block;font-size:13px;margin-bottom:8px}.home-features p{font-size:12px;line-height:1.8;color:var(--muted)}.game-layout{display:grid;grid-template-columns:215px minmax(0,1fr) 225px;gap:28px;align-items:start}.side{padding:15px 0}.chapter-no{font-family:Georgia,serif;font-size:68px;line-height:1;letter-spacing:-4px}.age-label{font-size:12px;letter-spacing:2px;color:var(--muted)}.side h2{font-size:24px;margin:18px 0 8px}.country{font-size:12px;line-height:1.8;color:var(--muted)}.metrics{display:grid;gap:16px;border-top:1px solid var(--line);margin:24px 0;padding-top:18px}.metric{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.metric small{color:var(--muted)}.metric b{font-weight:500}.side details{font-size:12px;line-height:1.9;border-top:1px solid var(--line);padding-top:15px}.side summary{cursor:pointer;min-height:38px}.stage-visual{border:1px solid #d5d8ca;border-radius:4px;overflow:hidden}.chapter-caption{font-size:10px;letter-spacing:1.1px;text-align:right;padding:10px 0;color:var(--muted)}.letter{position:relative;background:var(--card);padding:30px 32px 25px;border:1px solid #deded0;box-shadow:0 10px 25px #5964470a;margin-top:8px}.letter:before{content:"";position:absolute;right:20px;top:20px;width:29px;height:34px;border:1px dashed #b1ab91;transform:rotate(8deg);background:linear-gradient(135deg,#d6b18d44,#d2dec544)}.letter h2{padding-right:35px;font-size:28px;line-height:1.3;margin:14px 0}.letter .body{font-family:Georgia,"Songti SC",serif;line-height:1.95;font-size:16px;white-space:pre-line}.sender{font-size:10px;color:var(--muted);letter-spacing:1px}.choices{display:grid;gap:9px;margin-top:23px}.choice{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;background:#f0f0e5;padding:13px 15px}.choice strong{display:block;font-size:13px;font-weight:500}.choice small{display:block;line-height:1.6;font-size:10px;color:var(--muted);margin-top:5px}.choice .arrow{font-size:19px;color:#9c7059}.playbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0}.playbar .controls{display:flex;gap:6px}.playbar .hint{font-size:10px;color:var(--muted);line-height:1.5}.dots{height:3px;background:#dfe0d2;margin-bottom:20px;border-radius:2px}.dots i{display:block;height:100%;background:#aa7c5b;transition:width .2s linear}.schedule{border-top:1px solid var(--line);padding-top:20px}.schedule-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px}.allocation{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.allocation button{display:flex;flex-direction:column;align-items:center;gap:9px;min-height:69px;padding:10px 2px;font-size:10px;background:transparent}.allocation .pip{font-size:13px;min-height:16px;color:var(--coral)}.schedule .small{font-size:10px;color:var(--muted);line-height:1.8;margin-top:11px}.side-card{border-top:1px solid var(--line);padding:16px 0}.side-card h3{font-size:10px;letter-spacing:1.2px;color:#7b8372;font-weight:500}.contact{display:grid;grid-template-columns:31px 1fr;gap:10px;align-items:center;margin:15px 0}.contact .portrait{height:32px;width:31px;border-radius:50%;background:#cdd9c3;text-align:center;line-height:32px;color:#63766b;font-family:Georgia,serif}.contact strong{font-size:12px;font-weight:500}.contact small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.plan-track{height:4px;background:#d9ddcf;margin:13px 0}.plan-track i{display:block;height:100%;background:#82997d}.side-card p{font-size:11px;line-height:1.8;color:var(--muted)}.side-card button{font-size:11px;padding:9px}.stamp{font-size:10px;color:#9c7156;letter-spacing:1.5px}.latest-line{font-size:11px;line-height:1.8;color:var(--muted);border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.loading{text-align:center;padding:100px 0;color:var(--muted)}dialog{border:1px solid #c8cfbd;border-radius:9px;padding:30px;background:#f9f6ec;color:var(--ink);max-width:min(680px,calc(100vw - 28px));width:680px;max-height:88dvh;overflow:auto;box-shadow:0 25px 80px #142c3040}dialog::backdrop{background:#213b4055;backdrop-filter:blur(3px)}dialog #close-dialog{position:sticky;top:0;float:right;width:35px;min-height:35px;padding:3px;background:#eeeee0;z-index:2}dialog h2{padding-right:35px;font-size:28px}dialog p{font-size:13px;line-height:1.9}dialog .actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}dialog .field{margin:15px 0}.archive-card{border-top:1px solid var(--line);padding:20px 0}.archive-card h3{font-family:Georgia,"Songti SC",serif;font-size:19px;font-weight:400;line-height:1.5}.archive-card p{font-size:12px;color:var(--muted)}.timeline{border-top:1px solid var(--line);margin-top:20px}.timeline-item{display:grid;grid-template-columns:36px 1fr 40px;gap:10px;padding:13px 0;border-bottom:1px solid #e1e2d6;font-size:12px;line-height:1.8}.timeline-item time{font-family:Georgia,serif;color:var(--coral)}.timeline-item button{padding:3px;min-height:35px;background:none;border:0}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ending{max-width:850px;margin:20px auto}.ending .letter{padding:45px 55px}.ending h1{font-size:42px;margin:17px 0 24px}.ending .body{line-height:2.2}.ending .keepsakes{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0}.keepsakes span{border:1px dashed #b1bfa5;padding:9px 13px;font-size:11px;border-radius:3px}.footer-line{font-size:10px;text-align:center;color:var(--muted);line-height:1.9;margin:45px 0 0}.footer-line a{margin:0 6px}.menu-list{display:grid;gap:12px}.menu-list button{text-align:left}#notice{position:fixed;left:50%;bottom:calc(24px + var(--safe));transform:translateX(-50%);max-width:calc(100vw - 28px);background:#293f3e;color:#fff8e5;border-radius:7px;padding:14px 20px;font-size:12px;line-height:1.7;box-shadow:0 6px 20px #253b3720;z-index:12000}body,dialog{touch-action:pan-y}svg{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-seo-info{z-index:10001!important}
@media(max-width:1120px){.game-layout{grid-template-columns:170px minmax(0,1fr);gap:24px}.relationships{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px}.home-top{gap:30px}#app{padding:22px 28px}.masthead{padding:18px 28px}}
@media(max-width:700px){.masthead{padding:14px 16px}.brand{gap:8px}.brand span{font-size:10px;letter-spacing:.8px}.brand small{font-size:7px}.brand img{width:28px;height:28px}.toolbar{gap:3px}.toolbar button{width:38px;height:40px;min-height:40px;padding:9px}.info-space{width:39px}#save-status{padding:0 16px;margin-top:6px;font-size:9px}#app{padding:17px 16px 35px}.home-top{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin:16px 0}.home-copy h1{font-size:39px;letter-spacing:-.7px}.home-copy .lede{font-size:13px}.home-art{margin-top:9px}.home-features{grid-template-columns:1fr;gap:7px;margin-top:28px}.home-features strong{margin-bottom:3px}.new-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.new-form .field:first-child,.new-form .primary{grid-column:1/-1}.new-form input,.new-form select{width:100%;min-width:0}.game-layout{display:flex;flex-direction:column;gap:0}.side{display:flex;align-items:center;gap:16px;width:100%;padding:0 0 16px;flex-wrap:wrap}.chapter-no{font-size:37px;letter-spacing:-1px}.age-label{font-size:9px}.side h2{font-size:20px;margin:0 0 3px}.country{font-size:10px;margin:0}.metrics{margin:0 0 0 auto;padding:0;border:0;gap:8px;min-width:95px}.metric{font-size:10px;gap:7px}.side details{flex-basis:100%;padding-top:8px;font-size:11px}.side summary{min-height:30px}.chapter-main{width:100%;min-width:0}.stage-visual{max-height:205px}.stage-visual svg{width:100%;height:auto}.chapter-caption{font-size:9px;padding:8px 0}.letter{padding:23px 20px 20px;margin-top:4px}.letter h2{font-size:25px;margin:12px 0}.letter .body{font-size:15px;line-height:1.95}.letter:before{right:15px;top:14px;width:23px;height:29px}.eyebrow{font-size:9px;letter-spacing:1.5px}.choice{padding:13px 12px;min-height:59px}.choice strong{font-size:13px}.choice small{font-size:10px}.playbar{gap:7px}.playbar .hint{font-size:9px}.playbar button{padding:9px 12px;font-size:11px}.allocation button{min-height:65px}.relationships{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}.side-card h3{font-size:10px}.contact{grid-template-columns:25px 1fr;gap:7px}.contact .portrait{width:25px;height:25px;line-height:25px}.contact strong{font-size:11px}.contact small{font-size:9px}.ending .letter{padding:30px 22px}.ending h1{font-size:32px}.ending .body{font-size:14px}dialog{padding:22px 18px}.comparison{grid-template-columns:1fr}.timeline-item{font-size:11px}.footer-line{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.game-seo-info summary{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important}.game-seo-info summary:hover{background:#e5e8d9!important}.game-info-content{background:#f9f6ec!important;color:var(--ink)!important;border-color:#c8cfbd!important;box-shadow:0 20px 60px #213b4028!important}.game-info-content h2,.game-info-content h3,.game-info-content p,.game-info-content a{color:var(--ink)!important}
