/* 微信分享缩略图。见 index.html 里 body 开头那段注释。 */
.share-thumb{position:fixed;left:-9999px;top:-9999px;width:500px;height:500px;pointer-events:none}
/* 记着呢官网 · 纸上关系账本
   视觉签名只有一个：会眨眼、会翻开的实体小本本。 */
:root{
  --bg:#eeefea;--paper:#fffefa;--paper-edge:#eee9df;--ink:#111214;
  --muted:#666862;--quiet:#898b84;--line:#cfd1cb;
  --accent:#d94a3c;--accent-dark:#a9362d;--green:#2f6c52;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;
  --serif:"Songti SC","STSong","Noto Serif CJK SC",SimSun,serif;
  --ease:cubic-bezier(.16,1,.3,1);--page-ease:cubic-bezier(.45,0,.2,1);--maxw:1100px;--gutter:20px;--z-nav:30;--z-toast:50;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(217,74,60,.16);overflow-x:hidden}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}p,h1,h2,h3,blockquote{margin:0}ul{margin:0;padding:0;list-style:none}[hidden]{display:none!important}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:calc(var(--gutter) + env(safe-area-inset-left,0px))}
.skip-link{position:fixed;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px}.skip-link:focus{left:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* 导航：像账本的页眉，不做悬浮胶囊。 */
.story-site .nav{position:fixed;z-index:var(--z-nav);top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px;padding:0 clamp(18px,4vw,54px);border-bottom:1px solid rgba(17,18,20,.12);background:rgba(238,239,234,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.wordmark{display:inline-flex;align-items:center;gap:11px;min-height:44px;font-size:14px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.wordmark>span{display:grid;line-height:1.1}.wordmark b{font-size:14px}.wordmark small{margin-top:4px;color:var(--quiet);font-size:8px;font-weight:700;letter-spacing:.13em}.brand-mark{width:38px;height:38px;flex:none;border-radius:10px}
.nav-actions,.nav-scenes{display:flex;align-items:center}.nav-actions{gap:14px}.nav-scenes{gap:2px}.nav-scenes button{position:relative;width:34px;height:44px;padding:0;border:0;background:transparent;color:#9a9b95;font-size:9px;font-weight:800;cursor:pointer;transition:color .2s ease}.nav-scenes button::after{content:"";position:absolute;left:8px;right:8px;bottom:7px;height:1px;background:transparent;transition:background .2s ease,transform .25s var(--ease);transform:scaleX(.3)}
body[data-scene="0"] .nav-scenes button:nth-child(1),body[data-scene="1"] .nav-scenes button:nth-child(2),body[data-scene="2"] .nav-scenes button:nth-child(3),body[data-scene="3"] .nav-scenes button:nth-child(4){color:var(--ink)}
body[data-scene="0"] .nav-scenes button:nth-child(1)::after,body[data-scene="1"] .nav-scenes button:nth-child(2)::after,body[data-scene="2"] .nav-scenes button:nth-child(3)::after,body[data-scene="3"] .nav-scenes button:nth-child(4)::after{background:var(--accent);transform:scaleX(1)}
.nav-download{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:1px solid var(--ink);border-radius:5px;background:transparent;color:var(--ink);font-size:12px;font-weight:800;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-download:hover{background:var(--ink);color:#fff;transform:translateY(-1px)}

/* 四幕滚动舞台 */
.story{position:relative}.story-stage{position:sticky;z-index:10;top:0;height:100svh;min-height:620px;overflow:hidden;background:var(--bg);isolation:isolate}.stage-spread{position:absolute;z-index:-1;inset:72px 0 0;background:linear-gradient(90deg,#f5f5f2 0 calc(50% - 18px),#eff0ec calc(50% + 18px),#e9eae6 100%)}.stage-spread::before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 28px);width:56px;background:linear-gradient(90deg,transparent,rgba(17,18,20,.035) 46%,rgba(255,255,255,.34) 50%,rgba(17,18,20,.026) 54%,transparent)}.stage-spread::after{content:"";position:absolute;top:0;left:calc(50% - 7px);width:14px;height:50px;background:var(--accent);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}
.stage-folio{position:absolute;z-index:4;left:calc(50% + 30px);bottom:28px;display:flex;align-items:baseline;gap:5px;color:rgba(17,18,20,.17);font-variant-numeric:tabular-nums;pointer-events:none}.stage-folio span::before{content:"00";font-size:48px;font-weight:900;line-height:1;letter-spacing:-.04em}.stage-folio small{font-size:9px;font-weight:800}.story-stage[data-active-scene="1"] .stage-folio span::before{content:"01"}.story-stage[data-active-scene="2"] .stage-folio span::before{content:"02"}.story-stage[data-active-scene="3"] .stage-folio span::before{content:"03"}
.story-markers{position:relative;z-index:0;margin-top:-100svh;pointer-events:none}.story-marker{height:100svh;min-height:620px;scroll-snap-align:start}

/* 文案区域 */
.scene-copy{position:absolute;z-index:8;left:clamp(42px,7vw,112px);top:49%;width:min(40vw,580px);opacity:0;transform:translateY(calc(-50% + 20px));pointer-events:none;transition:opacity .28s ease,transform .55s var(--ease)}.scene-copy[aria-hidden="false"]{opacity:1;transform:translateY(-50%);pointer-events:auto}
.kicker{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0}.kicker::before{content:"";width:8px;height:8px;background:var(--accent)}
.scene-copy h1,.scene-copy h2{font-family:var(--sans);font-weight:900;line-height:.94;letter-spacing:-.035em;text-wrap:balance}.scene-copy h1{margin-top:22px;font-size:clamp(64px,6.7vw,96px)}.scene-copy h1 span{display:block}.accent-line{color:var(--accent)}
.hero-lede{max-width:570px;margin-top:26px;color:#59564f;font-size:clamp(15px,1.35vw,18px);line-height:1.8;text-wrap:pretty}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px}.hero-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:5px;font-size:13px;font-weight:800;transition:transform .18s ease,background .18s ease,color .18s ease}.hero-actions a:hover{transform:translateY(-2px)}.hero-download{background:var(--ink);color:#fff}.hero-download:hover{background:var(--accent)}.hero-demo{border:1px solid #a7aaa3;background:transparent}.hero-demo span{margin-left:9px}
.hero-facts{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;color:var(--muted);font-size:11px}.hero-facts li{position:relative;padding-left:10px}.hero-facts li::before{content:"";position:absolute;left:0;top:.72em;width:3px;height:3px;border-radius:50%;background:var(--ink)}
.scene-copy-record>p,.scene-copy-review>p{color:var(--muted)}.scene-copy-record h2,.scene-copy-review h2,.scene-copy-download h2{margin-top:18px;font-size:clamp(56px,5.7vw,82px)}.scene-copy-record>span,.scene-copy-review>span{display:block;max-width:390px;margin-top:24px;color:var(--muted);font-size:14px;line-height:1.8}
.download-status{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.download-status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(217,74,60,.1)}.download-status b{color:var(--ink)}.download-status span::before{content:"/";margin-right:8px;color:var(--quiet)}.download-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.download-dock{position:absolute;z-index:12;left:clamp(42px,7vw,112px);bottom:76px;width:min(40vw,580px);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s ease,transform .45s var(--ease)}.download-dock[aria-hidden="false"]{opacity:1;transform:none;pointer-events:auto}.download-dock-info{grid-column:1/-1}.download-platform{text-decoration:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:78px;padding:14px 16px;border:1px solid var(--ink);border-radius:5px;text-align:left;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}.download-platform:hover{transform:translateY(-2px)}.download-platform span{min-width:0}.download-platform small,.download-platform b{display:block;line-height:1.2}.download-platform small{font-size:9px;opacity:.68}.download-platform b{margin-top:5px;font-size:14px;white-space:nowrap}.download-platform i{font-size:9px;font-style:normal;white-space:nowrap}.download-platform-ios{background:var(--ink);color:#fff}.download-platform-ios i{color:#e9aaa3}.download-platform-android{background:rgba(255,254,250,.72);color:var(--ink)}.download-platform-android i{color:var(--accent-dark)}.download-note{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.65}.download-note strong{color:var(--accent);font-size:1.1em}.download-tail{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.download-facts a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}.download-facts{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:10px;white-space:nowrap}.download-facts li+li::before{content:"·";margin-right:12px;color:var(--accent)}.final-links{display:flex;flex:none;gap:14px;margin-top:0}.final-links a{display:inline-flex;align-items:center;min-height:28px;color:var(--ink);font-size:10px;text-decoration:underline;text-decoration-color:#a9a39a;text-underline-offset:4px}

/* 实体账本：书脊、纸页厚度、阴影都参与构图。 */
.book-scene{position:absolute;z-index:5;left:73%;top:53%;width:min(43vw,560px);height:min(61vw,540px);max-height:67svh;perspective:1500px;transform:translate(-50%,-50%) rotate(-1.2deg);transition:left .72s var(--ease),top .72s var(--ease),transform .72s var(--ease)}.story-stage[data-active-scene="1"] .book-scene{transform:translate(-50%,-50%) rotate(.5deg)}.story-stage[data-active-scene="2"] .book-scene{transform:translate(-50%,-50%) rotate(-.45deg)}.story-stage[data-active-scene="3"] .book-scene{transform:translate(-50%,-50%) rotate(.35deg)}.book-shadow{position:absolute;left:13%;right:8%;bottom:1%;height:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(17,18,20,.22),rgba(17,18,20,0) 70%);filter:blur(12px);transform:translateY(12px)}.book{position:absolute;inset:0;transform-style:preserve-3d}
.book-spine{position:absolute;z-index:0;left:10%;top:9%;bottom:9%;width:7%;border-radius:14px;background:linear-gradient(90deg,#090a0b,#1a1b1d 48%,#0a0b0c);box-shadow:inset -2px 0 rgba(255,255,255,.05),inset 2px 0 rgba(0,0,0,.2)}.book-page-stack{position:absolute;z-index:0;left:16%;right:7%;top:11%;bottom:10%;border-radius:0 22px 22px 0;background:repeating-linear-gradient(0deg,#f5f0e7 0,#f5f0e7 2px,#e8e2d8 3px,#f8f4ec 4px);box-shadow:inset -10px 0 rgba(17,18,20,.045),0 18px 44px rgba(17,18,20,.12)}
.book-cover,.book-page{position:absolute;transform-origin:left center;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform 1.18s var(--page-ease),opacity .82s ease}.book-page{z-index:1;left:18%;right:9%;top:12%;bottom:11%;overflow:hidden;padding:20px 20px 16px;border:1px solid rgba(17,18,20,.05);border-radius:5px 18px 18px 5px;background:var(--paper);color:var(--ink);transform:translateZ(1px);-webkit-transform:translateZ(1px)}.book-page[aria-hidden="true"]{visibility:hidden}.book-page[aria-hidden="false"]{visibility:visible;z-index:4;transform:translateZ(4px);-webkit-transform:translateZ(4px)}.book-page-download{z-index:1}.book-page-review{z-index:1}.book-page-record{z-index:2}
.book-cover{--eye-x:0px;--eye-y:0px;z-index:3;left:10%;top:8%;bottom:8%;width:74%;overflow:hidden;border-radius:18px 25px 25px 18px;background:linear-gradient(145deg,#18191b,#090a0b 68%);box-shadow:0 24px 70px rgba(17,18,20,.18),inset -9px 0 rgba(255,255,255,.04),inset 0 1px rgba(255,255,255,.08);cursor:pointer;touch-action:manipulation}.book-cover::before{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.05) 45%,transparent 58%);transform:translateX(-18%);pointer-events:none}.book-cover::after{content:"";position:absolute;left:22px;right:22px;bottom:54px;height:1px;background:rgba(255,255,255,.13)}
.cover-eye{position:absolute;z-index:2;top:36%;width:29%;height:13%;overflow:hidden;clip-path:inset(0);transition:clip-path .12s ease}.cover-eye::before{content:"";position:absolute;inset:0;border-radius:0 0 999px 999px;background:#fffefa}.cover-eye i{position:absolute;z-index:1;top:-21%;width:35%;aspect-ratio:1;border-radius:50%;background:#090a0b;transform:translate(var(--eye-x),var(--eye-y));transition:transform .12s ease}.cover-eye-left{left:17%;transform:rotate(7deg)}.cover-eye-left i{right:10%}.cover-eye-right{right:17%;transform:rotate(-7deg)}.cover-eye-right i{left:10%}.cover-bookmark{position:absolute;z-index:2;right:0;top:43%;width:11%;height:23%;background:var(--accent);clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.cover-edition{position:absolute;z-index:2;right:22px;bottom:23px;color:#6f706d;font-size:7px;font-weight:800;letter-spacing:.12em}.cover-title{position:absolute;z-index:2;left:23px;bottom:23px;color:#d7d1c8;font-size:12px;font-weight:800;letter-spacing:.06em}.book-cover.is-blinking .cover-eye{animation:coverBlink .32s ease}

/* 翻页状态 */
.story-stage[data-active-scene="0"] .book-cover{transform:rotateY(0)}.story-stage[data-active-scene="1"] .book-cover{transform:rotateY(-118deg)}.story-stage[data-active-scene="2"] .book-cover{transform:rotateY(-142deg);opacity:.2}.story-stage[data-active-scene="2"] .book-page-record{transform:rotateY(-118deg);opacity:0}.story-stage[data-active-scene="3"] .book-cover{transform:rotateY(-142deg);opacity:.18}.story-stage[data-active-scene="3"] .book-page-record,.story-stage[data-active-scene="3"] .book-page-review{transform:rotateY(-118deg);opacity:0}

/* 账页内容 */
.page-bar{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:var(--quiet);font-size:9px}.page-bar b{text-align:center;color:var(--ink);font-size:12px}.page-bar span:last-child{text-align:right;color:var(--accent-dark)}
.record-person{display:flex;align-items:center;gap:9px;margin-top:22px}.record-person>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e7e1d7;font-size:11px;font-weight:800}.record-person b,.record-person small{display:block;line-height:1.2}.record-person b{font-size:13px}.record-person small{margin-top:4px;color:var(--quiet);font-size:8px}.person-score{margin-left:auto;text-align:right}.person-score b,.person-score small{display:block}.person-score b{color:var(--accent);font-family:Georgia,serif;font-size:25px;line-height:1}.person-score small{margin-top:4px;color:var(--quiet);font-size:7px}
.record-field{margin-top:20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.record-field small,.anger-field small{display:block;color:var(--quiet);font-size:8px}.record-field strong{display:block;margin-top:6px;font-size:13px;line-height:1.5}.anger-field{margin-top:14px}.anger-field>div{display:flex;gap:4px;margin-top:7px}.anger-field i{flex:1;height:5px;background:var(--line)}.anger-field i:nth-child(-n+4){background:var(--accent)}.anger-field b{display:block;margin-top:6px;color:var(--accent-dark);font-size:9px}.reminder{display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:9px}.reminder b{color:var(--accent-dark)}
.remember-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 70px);min-height:40px;margin-top:6px;padding:0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font-size:8px;font-weight:700;text-align:left;cursor:pointer}.remember-toggle i{position:relative;width:30px;height:17px;flex:none;border-radius:999px;background:var(--ink);transition:background .2s ease}.remember-toggle i::after{content:"";position:absolute;right:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .2s ease}.remember-toggle[aria-pressed="false"] i{background:var(--line)}.remember-toggle[aria-pressed="false"] i::after{transform:translateX(-13px)}
.record-stamp{position:absolute;right:16px;bottom:14px;display:grid;place-items:center;width:60px;height:60px;border:2px solid var(--accent-dark);border-radius:50%;color:var(--accent-dark);font-family:var(--serif);font-size:13px;font-weight:800;opacity:0;transform:rotate(-7deg) scale(1.18);transition:opacity .18s ease .48s,transform .32s var(--ease) .48s}.story-stage[data-active-scene="1"] .record-stamp{opacity:1;transform:rotate(-7deg) scale(1)}
.book-page-review blockquote{margin-top:25px;font-size:17px;font-weight:800;line-height:1.5}.review-time{margin-top:7px;color:var(--quiet);font-size:8px}.mood-shift{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;margin-top:13px;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mood-shift span{color:var(--quiet);font-size:8px}.mood-shift span:last-child{text-align:right}.mood-shift b{display:block;margin-top:2px;color:var(--ink);font-family:Georgia,serif;font-size:24px;line-height:1}.mood-shift i{align-self:center;color:var(--accent);font-style:normal}.review-options{display:grid;gap:0;margin-top:9px}.review-options button{min-height:40px;padding:0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);font-size:10px;font-weight:750;text-align:left;cursor:pointer}.review-options button:last-child{border-bottom:1px solid var(--line)}.review-options button:hover,.review-options button.is-selected{color:var(--accent-dark)}.review-result{margin-top:9px;color:var(--accent-dark);font-size:9px;font-weight:700}.review-footnote{display:none}

/* 下载直接发生在账本最后一页。 */
.book-release{display:flex;align-items:center;gap:6px;margin-top:16px;color:var(--accent-dark);font-size:8px;font-weight:800}.book-release span{width:6px;height:6px;border-radius:50%;background:var(--accent)}.book-page-download h3{margin-top:10px;font-size:clamp(20px,2.1vw,30px);font-weight:900;line-height:1.05;letter-spacing:-.03em}.book-price{display:flex;align-items:baseline;gap:8px;margin-top:14px}.book-price strong{font-family:Georgia,serif;font-size:44px;line-height:1}.book-price small{color:var(--muted);font-size:9px;font-weight:700}.book-buy-copy{margin-top:9px;color:var(--muted);font-size:9px;line-height:1.65}.store-buttons{display:grid;gap:0;margin-top:11px}.store-button{text-decoration:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.store-button:last-child{border-bottom:1px solid var(--line)}.store-button small,.store-button b{display:block;line-height:1.15}.store-button small{color:var(--quiet);font-size:7px}.store-button b{margin-top:4px;font-size:11px}.store-button i{color:var(--accent-dark);font-size:8px;font-style:normal}.store-button:hover b{color:var(--accent-dark)}

/* 轻量说明签：只证明功能，不抢账本。 */
.visual-hints{position:absolute;inset:0;z-index:6;pointer-events:none}.hint{position:absolute;max-width:148px;padding:2px 0 2px 10px;border-left:1px solid var(--accent);opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .45s var(--ease)}.hint b,.hint span{display:block}.hint b{font-size:10px}.hint span{margin-top:2px;color:var(--quiet);font-size:8px}.hint-reminder{left:0;top:15%;transform:rotate(-2deg) translateY(10px)}.hint-merit{right:-2%;top:35%;transform:rotate(2deg) translateY(10px)}.hint-shift{left:8%;bottom:8%;transform:rotate(1deg) translateY(10px)}
.story-stage[data-active-scene="0"] .hint-reminder,.story-stage[data-active-scene="0"] .hint-merit,.story-stage[data-active-scene="1"] .hint-reminder,.story-stage[data-active-scene="2"] .hint-merit,.story-stage[data-active-scene="2"] .hint-shift{opacity:1;transform:translateY(0)}

.scroll-cue{position:absolute;z-index:9;left:50%;bottom:calc(25px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:9px;color:var(--quiet);font-size:10px;transform:translateX(-50%);transition:opacity .25s ease}.scroll-cue span{width:24px;height:1px;background:#aaa49a}.story-stage:not([data-active-scene="0"]) .scroll-cue{opacity:0}.scene-foot{position:absolute;z-index:4;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);bottom:20px;display:flex;justify-content:space-between;color:var(--quiet);font-size:9px;letter-spacing:.03em}
.toast{position:fixed;z-index:var(--z-toast);left:50%;bottom:calc(22px + env(safe-area-inset-bottom,0px));width:min(calc(100% - 32px),430px);padding:13px 16px;border-radius:5px;background:var(--ink);color:#fff;text-align:center;font-size:12px;box-shadow:0 18px 48px rgba(17,18,20,.22);opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .2s ease,transform .3s var(--ease)}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.dialog-open{overflow:hidden}.download-dialog{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s ease}.download-dialog.is-open{opacity:1;pointer-events:auto}.download-dialog-backdrop{position:absolute;inset:0;background:rgba(17,18,20,.58);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.download-dialog-panel{position:relative;width:min(100%,440px);padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:var(--paper);box-shadow:0 28px 90px rgba(17,18,20,.32);transform:translateY(14px) scale(.985);transition:transform .28s var(--ease);outline:none}.download-dialog.is-open .download-dialog-panel{transform:none}.download-dialog-close{position:absolute;top:15px;right:16px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--quiet);font-size:24px;line-height:1;cursor:pointer}.download-dialog-kicker{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;font-weight:800}.download-dialog-kicker span{width:7px;height:7px;background:var(--accent)}.download-dialog-panel h2{margin-top:16px;font-size:38px;font-weight:900;line-height:1.02;letter-spacing:-.035em}.download-dialog-panel>p:nth-of-type(2){margin-top:18px;color:var(--muted);font-size:13px;line-height:1.75}.download-dialog-panel ul{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.download-dialog-panel li{padding:12px 4px;color:var(--muted);font-size:9px;text-align:center}.download-dialog-panel li+li{border-left:1px solid var(--line)}.download-dialog-confirm{width:100%;min-height:46px;margin-top:22px;border:0;border-radius:5px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;cursor:pointer}.download-dialog-confirm:hover{background:var(--accent)}
@keyframes coverBlink{0%,100%{clip-path:inset(0)}45%,55%{clip-path:inset(0 0 88% 0)}}

/* 移动端：文字在上、实体账本在下，仍保持一屏一幕。 */
@media (max-width:759px){
  .story-site .nav{height:64px;padding:0 16px}.brand-mark{width:36px;height:36px}.wordmark small{display:none}.nav-scenes{display:none}.nav-download{min-height:40px;padding-inline:13px}
  .story-stage{min-height:620px}.stage-spread{inset:64px 0 0;background:#f2f3ef}.stage-spread::before{display:none}.stage-spread::after{left:auto;right:12px;width:9px;height:42px}.stage-folio{left:auto;right:22px;bottom:18px}.stage-folio span::before{font-size:34px}.story-marker{min-height:620px}
  .scene-copy{left:20px;right:20px;top:94px;width:auto;transform:translateY(15px)}.scene-copy[aria-hidden="false"]{transform:none}.kicker{font-size:10px}.kicker::before{width:6px;height:6px}
  .scene-copy h1{margin-top:14px;font-size:clamp(48px,14.6vw,60px);line-height:.96}.hero-lede{max-width:350px;margin-top:14px;font-size:12px;line-height:1.65}.hero-actions{gap:8px;margin-top:15px}.hero-actions a{min-height:44px;padding-inline:14px;font-size:11px}.hero-facts{gap:5px 13px;margin-top:12px;font-size:9px}
  .scene-copy-record h2,.scene-copy-review h2,.scene-copy-download h2{margin-top:12px;font-size:clamp(43px,12.5vw,54px)}.scene-copy-record>span,.scene-copy-review>span{max-width:250px;margin-top:12px;font-size:11px;line-height:1.65}.download-status{font-size:9px}.download-note{margin-top:5px;font-size:9px;line-height:1.45}.download-tail{gap:8px;margin-top:6px;padding-top:5px}.download-facts{gap:2px 6px;font-size:8px}.download-facts li+li::before{margin-right:6px}.final-links{gap:9px}.final-links a{min-height:22px;font-size:8px}.download-dock{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:auto;gap:8px}.download-platform{min-height:74px;padding:12px 13px}.download-platform b{font-size:12px}.download-platform i{font-size:8px}.story-stage[data-active-scene="3"] .stage-folio{bottom:184px}
  .book-scene{left:50%;top:68%;width:min(102vw,420px);height:min(102vw,420px);max-height:47svh;transform:translate(-50%,-50%) rotate(-.7deg)}.story-stage[data-active-scene="1"] .book-scene,.story-stage[data-active-scene="2"] .book-scene{top:64%;width:min(116vw,500px);height:min(125vw,540px);max-height:58svh}.story-stage[data-active-scene="1"] .book-scene{transform:translate(-50%,-50%) rotate(.3deg)}.story-stage[data-active-scene="2"] .book-scene{transform:translate(-50%,-50%) rotate(-.25deg)}.story-stage[data-active-scene="3"] .book-scene{top:52%;width:min(110vw,470px);height:min(110vw,470px);max-height:42svh;transform:translate(-50%,-50%) rotate(.2deg)}.hint{display:none}.book-cover::after{left:18px;right:18px;bottom:42px}.cover-title{left:18px;bottom:17px;font-size:10px}.cover-edition{right:18px;bottom:17px;font-size:6px}
  .book-page{padding:14px 14px 11px}.page-bar{font-size:7px}.page-bar b{font-size:9px}.record-person{margin-top:14px}.record-field{margin-top:12px}.anger-field{margin-top:9px}.reminder{margin-top:9px;padding-top:7px}.remember-toggle{min-height:34px;margin-top:3px}.record-stamp{width:48px;height:48px;font-size:10px}
  .story-stage[data-active-scene="1"] .book-page-record,.story-stage[data-active-scene="2"] .book-page-review{padding:18px 18px 14px}.story-stage[data-active-scene="1"] .page-bar,.story-stage[data-active-scene="2"] .page-bar{font-size:8px}.story-stage[data-active-scene="1"] .page-bar b,.story-stage[data-active-scene="2"] .page-bar b{font-size:11px}
  .story-stage[data-active-scene="1"] .record-person{margin-top:16px}.story-stage[data-active-scene="1"] .record-person>span{width:38px;height:38px;font-size:12px}.story-stage[data-active-scene="1"] .record-person b{font-size:14px}.story-stage[data-active-scene="1"] .person-score b{font-size:28px}.story-stage[data-active-scene="1"] .record-field{margin-top:16px}.story-stage[data-active-scene="1"] .record-field small,.story-stage[data-active-scene="1"] .anger-field small{font-size:9px}.story-stage[data-active-scene="1"] .record-field strong{font-size:14px}.story-stage[data-active-scene="1"] .anger-field{margin-top:11px}.story-stage[data-active-scene="1"] .anger-field b{font-size:10px}.story-stage[data-active-scene="1"] .reminder{font-size:10px}.story-stage[data-active-scene="1"] .remember-toggle{min-height:40px;font-size:9px}.story-stage[data-active-scene="1"] .record-stamp{width:54px;height:54px;font-size:11px}
  .book-page-review blockquote{margin-top:14px;font-size:13px}.mood-shift{margin-top:8px;padding:6px 0}.mood-shift b{font-size:19px}.review-options{margin-top:5px}.review-options button{min-height:33px;font-size:8px}.review-result{margin-top:5px;font-size:7px}.story-stage[data-active-scene="2"] .book-page-review blockquote{margin-top:18px;font-size:16px}.story-stage[data-active-scene="2"] .review-time{margin-top:9px;font-size:9px}.story-stage[data-active-scene="2"] .mood-shift{margin-top:10px;padding:8px 0}.story-stage[data-active-scene="2"] .mood-shift span{font-size:9px}.story-stage[data-active-scene="2"] .mood-shift b{font-size:23px}.story-stage[data-active-scene="2"] .review-options{margin-top:7px}.story-stage[data-active-scene="2"] .review-options button{min-height:38px;font-size:10px}.story-stage[data-active-scene="2"] .review-result{margin-top:7px;font-size:9px}
  .book-release{margin-top:10px;font-size:7px}.book-page-download h3{margin-top:7px;font-size:18px}.book-price{margin-top:8px}.book-price strong{font-size:32px}.book-buy-copy{margin-top:6px;font-size:7px}.store-buttons{margin-top:7px}.store-button{min-height:42px}.store-button b{font-size:9px}.store-button i{font-size:7px}.scene-foot{display:none}.scroll-cue{bottom:14px}.download-dialog{align-items:end;padding:12px}.download-dialog-panel{width:100%;padding:25px 20px 20px;border-radius:10px}.download-dialog-panel h2{font-size:32px}.download-dialog-panel>p:nth-of-type(2){font-size:12px}.download-dialog-panel ul{margin-top:18px}.download-dialog-confirm{margin-top:18px}
}
@media (max-width:390px){.hero-facts{display:none}.book-scene{top:71%}}
@media (max-width:359px){.scene-copy{left:16px;right:16px;top:86px}.scene-copy h1{font-size:46px}.hero-lede{font-size:11px}.hero-actions{margin-top:12px}.hero-facts{display:none}.scene-copy-record h2,.scene-copy-review h2,.scene-copy-download h2{font-size:40px}.download-note{font-size:8px}.download-platform{min-height:70px;padding-inline:10px}.download-platform small{font-size:7px}.download-platform b{font-size:10px}.download-platform i{display:none}.book-scene{top:70%;width:350px;height:350px}.story-stage[data-active-scene="3"] .book-scene{top:52%;max-height:35svh}.download-tail{margin-top:5px}.download-facts li:nth-child(3),.download-facts li:nth-child(4){display:none}.story-stage[data-active-scene="3"] .stage-folio{bottom:170px}.story-stage[data-active-scene="1"] .record-stamp{right:10px;bottom:8px;width:46px;height:46px;font-size:10px}.story-stage[data-active-scene="2"] .book-page-review{padding:14px 16px 10px}.story-stage[data-active-scene="2"] .book-page-review blockquote{margin-top:14px;font-size:15px}.story-stage[data-active-scene="2"] .review-time{margin-top:6px;font-size:8px}.story-stage[data-active-scene="2"] .mood-shift{margin-top:7px;padding:6px 0}.story-stage[data-active-scene="2"] .mood-shift span{font-size:8px}.story-stage[data-active-scene="2"] .mood-shift b{font-size:21px}.story-stage[data-active-scene="2"] .review-options{margin-top:4px}.story-stage[data-active-scene="2"] .review-options button{min-height:33px;font-size:9px}.story-stage[data-active-scene="2"] .review-result{display:none}}
@media (min-width:760px) and (max-width:1060px){.scene-copy{left:5vw;width:43vw}.scene-copy h1{font-size:clamp(62px,7.8vw,84px)}.book-scene{left:75%;width:52vw;height:52vw}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* 隐私与帮助页 */
body:not(.story-site) .nav{position:sticky;z-index:var(--z-nav);top:0;background:rgba(255,254,250,.95);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}.nav-links{display:flex;align-items:center;gap:4px}.nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;color:var(--muted);font-size:13px}.nav-links a:hover{color:var(--ink)}
.doc{min-height:70vh;padding:58px 0 96px;background:#f7f5f0}.doc>.wrap{max-width:800px}.doc-back{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:13px}.doc h1{margin-top:20px;font-size:clamp(40px,10vw,64px);font-weight:900;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}.doc-date{margin-top:15px;padding-bottom:24px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.doc h2{margin-top:52px;padding-top:10px;border-top:1px solid var(--ink);font-size:25px;line-height:1.25;letter-spacing:-.025em}.doc h3{margin-top:28px;font-size:17px}.doc p,.doc li{color:#494640;font-size:15px}.doc p{max-width:72ch;margin-top:15px}.doc ul{margin-top:12px;padding-left:20px;list-style:disc}.doc li+li{margin-top:7px}.doc strong{color:var(--ink)}.doc a:not(.doc-back){color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}.doc code{padding:2px 5px;border-radius:4px;background:#e9e5dc;font-family:Consolas,monospace;font-size:.88em}.callout{margin:30px 0;padding:18px;border:1px solid var(--accent-dark);border-radius:5px;background:var(--paper)}.callout p{margin:0}[data-todo]{padding:2px 5px;background:#f0d986;color:#4d411e}
.foot{padding:42px 0 calc(54px + env(safe-area-inset-bottom,0px));background:var(--ink);color:#fff}.foot-inner{display:grid;gap:18px}.footer-logo{width:168px;height:auto}.foot-links{display:flex;flex-wrap:wrap;gap:18px}.foot-links a{color:#b9b3aa;font-size:12px}.foot-meta{color:#8e8981;font-size:10px}.foot-dim{color:#6f6b64}@media (min-width:760px){.foot-inner{grid-template-columns:1fr auto;align-items:center}.foot-links{justify-content:flex-end}.foot-meta{grid-column:1/-1}}
