/* The reading surface stays in place for the entire life. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stat-track{display:block}
.desk{max-width:1400px;margin:24px auto;grid-template-columns:112px minmax(0,1fr);gap:24px}.publication{padding:20px 32px 12px;position:relative;background-color:var(--paper);background-image:linear-gradient(90deg,transparent calc(100% - 12px),#ded9ca55 calc(100% - 12px),#ded9ca55 calc(100% - 11px),transparent calc(100% - 11px));box-shadow:3px 3px 0 #d7d1c6,6px 6px 0 #f7f4ec,8px 8px 0 #d7d1c6,0 24px 64px #2c292015}.publication::after{content:"";position:absolute;left:-1px;top:0;bottom:0;width:5px;background:repeating-linear-gradient(180deg,#27241f 0,#27241f 2px,transparent 2px,transparent 28px);opacity:.16;pointer-events:none}.masthead{padding-bottom:12px}.brand-title{font-size:2.1rem}.rail-mark{font-size:2.75rem}.edition-bar{padding:6px 0}.life-module{margin-top:20px;display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:92px 1fr;gap:20px 28px;min-height:630px}.calendar-band{grid-column:1/-1;display:grid;grid-template-columns:240px 1fr;gap:28px;border-bottom:1px solid var(--ink);padding-bottom:16px;position:relative}.tear-calendar{display:flex;gap:16px;align-items:center;border-left:5px solid var(--red);padding:0 16px;background:linear-gradient(#e7e2d666 0 1px,transparent 1px);position:relative}.calendar-year{font:700 2.4rem/1 var(--serif);font-variant-numeric:tabular-nums;display:block;min-width:100px}.calendar-year.flip{animation:year-turn .32s ease}.calendar-caption{font:.625rem var(--mono);color:var(--muted);letter-spacing:.15em;margin-top:8px}.calendar-month{font:1.125rem var(--serif);border-left:1px solid var(--rule);padding-left:16px;min-width:48px}.calendar-progress{display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}.time-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.75rem}.time-label strong{font:700 1.375rem var(--serif)}.time-label em{font-style:normal;font-size:.625rem;color:var(--muted)}.year-track{height:5px;background:#ddd8ca;overflow:hidden}.year-track i{display:block;height:100%;background:var(--red);width:0;will-change:width}.life-milestones{display:flex;justify-content:space-between;color:var(--muted);font:.625rem var(--mono);gap:12px}.life-milestones .current{color:var(--red);font-weight:700}.portrait-column{display:flex;flex-direction:column;min-width:0}.portrait-mount{position:relative;height:240px;border:6px solid #f2eee3;outline:1px solid #d6d0c1;background:#d8d2c4;transform:rotate(-1deg);overflow:hidden;flex-shrink:0;isolation:isolate}.portrait-mount::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 18px #30241624;pointer-events:none;mix-blend-mode:multiply}.life-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .85s ease,filter 1.3s ease,transform 6s ease}.life-portrait.incoming{opacity:0;transform:scale(1.025)}.portrait-mount[data-era=child] .life-portrait{filter:sepia(.1) saturate(.88)}.portrait-mount[data-era=elder] .life-portrait{object-position:center 25%}.photo-note{font-size:.625rem;color:var(--muted);display:flex;justify-content:space-between;margin-top:10px;gap:8px}.profile-line{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--ink);padding:16px 0 12px;margin-top:4px}.profile-line h1{font:800 1.75rem/1 var(--serif)}.profile-line span{font-size:.6875rem;color:var(--muted)}.portrait-column .status-bar{margin:0;padding:12px 0;border-top:0;grid-template-columns:1fr 1fr;gap:12px}.portrait-column .stat{font-size:.6875rem}.portrait-column .stat strong{font-size:1rem}.portrait-column .stat-track{max-width:100%}.personal-note{font:.875rem/1.8 var(--serif);padding-top:12px;min-height:62px}.archive-button{background:#e7dfca;border:1px solid #c3bba6;border-top:0;min-height:48px;font-size:.75rem;text-align:left;padding:8px 12px;box-shadow:0 3px 0 #d4cbb6;margin-top:auto;position:relative}.archive-button::before{content:"家庭档案";font-size:.625rem;display:block;width:72px;background:#e7dfca;border:1px solid #c3bba6;border-bottom:0;position:absolute;top:-21px;left:-1px;height:21px;padding:0 8px}.archive-button span{float:right}.journal-column{min-width:0;display:grid;grid-template-rows:40px minmax(160px,1fr) 232px;position:relative;min-height:530px;height:calc(100dvh - 310px);max-height:720px}.journal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);padding:6px 0;font-size:.75rem}.journal-heading strong{letter-spacing:.16em}.running-label{font-size:.625rem;color:var(--muted);display:flex;align-items:center;gap:6px}.running-label::before{content:"";width:5px;height:5px;background:var(--red);border-radius:50%}.running-label.playing::before{animation:ink-pulse 1.7s infinite}.journal-window{overflow:auto;overscroll-behavior:contain;padding:0 12px 0 0;scrollbar-width:thin;scrollbar-color:#b4ad9c transparent;position:relative;scroll-behavior:smooth;min-height:0}.journal-entry{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--rule);animation:entry-in .45s ease both;position:relative}.journal-entry.latest{border-left:3px solid var(--red);padding-left:12px;margin-left:0}.journal-age{font:700 1.25rem/1.2 var(--serif);color:var(--muted);padding-top:2px}.journal-age span{display:block;font:.5625rem/1.5 var(--sans);margin-top:4px;color:var(--muted)}.journal-entry h2{font:700 1rem/1.5 var(--sans);margin-bottom:4px}.journal-entry p{font: .9375rem/1.85 var(--sans);color:#373730}.journal-entry.account{padding:10px 0}.journal-entry.account .journal-age{font-size:.875rem}.journal-entry.account h2{font-size:.75rem;color:var(--muted);font-weight:400}.journal-entry.account p{font-size:.75rem;color:var(--muted)}.choice-result{margin-top:10px;padding:8px 12px;background:#ece7db77;border-left:2px solid var(--red)}.choice-result small{font-size:.6875rem;color:var(--red);display:block;margin-bottom:4px}.choice-result p{font-size:.875rem}.inline-bill{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 16px;font:.75rem var(--mono);border-top:1px dashed #bbb3a0;padding-top:8px;color:var(--red)}.decision-slot{position:relative;z-index:1;background:var(--paper);border-top:2px solid var(--ink);margin-top:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden}.decision-head{display:flex;align-items:center;justify-content:space-between;font-size:.6875rem;flex-shrink:0;padding:8px 0}.decision-stamp{color:var(--red);border:1px solid currentColor;padding:1px 6px;font-size:.625rem;transform:rotate(-3deg)}.live-choices{display:grid;gap:6px;overflow:auto;padding:2px 3px 8px;overscroll-behavior:contain;scrollbar-width:thin}.live-choice{display:grid;grid-template-columns:20px minmax(0,1fr) 12px;gap:8px;align-items:center;border:1px solid #bcb6a7;background:linear-gradient(95deg,#f3eee2 0,#fffefa 60%);padding:8px 12px;text-align:left;min-height:52px;box-shadow:1px 2px 0 #e4dece;transition:background .18s,transform .18s}.live-choice:hover:not(:disabled){background:#eee7d7;transform:translateX(2px)}.live-choice strong{font-size:.875rem;font-weight:600}.live-choice small{font-size:.6875rem;line-height:1.7;color:var(--muted);display:block;margin-top:2px}.live-choice>span:first-child{font:.75rem var(--mono);color:var(--muted)}.decision-note{font-size:.6875rem;color:var(--muted);padding:0 4px 8px;line-height:1.65}.waiting-sheet{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;flex:1;background:repeating-linear-gradient(transparent 0,transparent 31px,#dcd5c444 31px,#dcd5c444 32px);padding:16px 0}.waiting-sheet h2{font:800 1.5rem/1.4 var(--serif);margin:0 0 8px}.waiting-sheet p{font-size:.8125rem;color:var(--muted);max-width:30em;line-height:1.8}.waiting-sheet .primary{max-width:300px;margin-top:16px;min-height:48px;padding:10px 16px}.waiting-sheet .personality-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:.6875rem;color:var(--muted)}.personality-picker select{font: .75rem var(--sans);padding:5px 20px 5px 8px;background:var(--paper);border:1px solid #bcb6a7;min-height:36px}.playback-controls{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);gap:16px;padding-top:12px;margin-top:0;font-size:.6875rem}.playback-controls>div{display:flex;align-items:center;gap:16px}.playback-button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font-size:.75rem;min-height:40px;min-width:88px;padding:6px 12px}.playback-button:disabled{opacity:.5;cursor:default}.speed-label{display:flex;gap:8px;align-items:center;color:var(--muted)}.speed-label select{font:.75rem var(--mono);border:0;border-bottom:1px solid var(--rule);background:transparent;padding:6px 4px;min-height:40px;color:var(--ink)}.follow-latest{background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:.6875rem;min-height:40px;white-space:nowrap}.time-helper{font-size:.625rem;color:var(--muted)}.page-footer{margin-top:16px;padding-top:4px}.page-footer .text-button{min-height:32px}.timeline-empty{padding:24px 0;color:var(--muted);font-size:.875rem}.large-initial{font:900 5rem/1 var(--serif);color:var(--red);float:left;margin:4px 12px 0 0}.cover-dialog{max-width:440px;margin:auto}.cover-dialog .cover-paper{width:100%;aspect-ratio:3/4.5}.cover-dialog .cover-masthead{font-size:2.25rem}.cover-dialog .cover-headline{font-size:1.5rem}.cover-dialog .cover-stories div{font-size:.6875rem}.cover-dialog+.primary{margin-top:20px}.house-files{display:grid;gap:12px}.file-sheet{padding:16px;background:#f3eee2;border:1px solid #d0c7b4}.file-sheet h3{font-size:.875rem;margin-bottom:8px}.file-sheet p{font-size:.8125rem;line-height:1.8}.archive-bill{margin:16px auto 24px;max-width:350px}.decision-note button{font:inherit;background:none;border:0;text-decoration:underline;padding:0;min-height:32px}.print-finish{font:700 1.4rem/1.4 var(--serif);margin:8px 0}.ending-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ending-buttons button{font-size:.75rem;min-height:44px;padding:8px 12px;background:var(--paper);border:1px solid var(--ink)}.ending-buttons button:first-child{background:var(--red);border-color:var(--red);color:var(--paper)}
@keyframes year-turn{from{transform:perspective(160px) rotateX(-24deg);opacity:.45}to{transform:perspective(160px) rotateX(0);opacity:1}}@keyframes ink-pulse{50%{opacity:.25}}@keyframes entry-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.desk{grid-template-columns:1fr;max-width:1100px}.editorial-rail{display:none}.desk-caption{grid-column:1}.life-module{grid-template-columns:240px minmax(0,1fr);gap:16px 24px}.calendar-band{grid-template-columns:240px 1fr}.portrait-mount{height:220px}.publication{padding:16px 24px 12px}.journal-column{min-height:540px;height:calc(100dvh - 280px)}}
@media(max-width:850px){.desk{max-width:850px;padding:0 16px;margin:16px auto}.life-module{grid-template-columns:200px minmax(0,1fr);gap:16px}.calendar-band{grid-template-columns:200px 1fr;gap:16px}.portrait-mount{height:190px}.publication{padding:16px 20px 12px}.journal-column{grid-template-rows:40px minmax(200px,1fr) 250px;height:calc(100dvh - 280px);min-height:540px}.portrait-column .status-bar{grid-template-columns:1fr;gap:12px}.portrait-column .stat strong{display:inline;margin-left:12px}.portrait-column .stat-track{display:none}.profile-line{flex-direction:column;gap:8px}.personal-note{font-size:.8125rem}.time-helper{display:none}}
@media(max-width:600px){html,body{height:100%;overflow:hidden}.desk{margin:0;padding:0;height:100dvh;max-width:none}.publication{height:100dvh;padding:12px 16px max(4px,env(safe-area-inset-bottom));display:flex;flex-direction:column;border-top-width:4px;box-shadow:none;background-image:linear-gradient(90deg,transparent calc(100% - 5px),#ded9ca55 calc(100% - 5px),transparent calc(100% - 4px))}.publication::after{display:none}.masthead{padding-bottom:10px;flex-shrink:0}.brand-title{font-size:1.625rem}.brand-en{font-size:.4375rem;margin-top:4px}.sound-button{width:40px;height:40px}.edition-bar{font-size:.5625rem;flex-shrink:0;padding:4px 0}.publication main{flex:1;min-height:0;display:flex}.life-module{margin-top:12px;flex:1;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:64px 106px minmax(0,1fr) 44px;gap:12px}.calendar-band{grid-column:1;grid-template-columns:124px minmax(0,1fr);gap:12px;padding-bottom:8px}.tear-calendar{gap:8px;padding:0 8px;border-left-width:3px}.calendar-year{font-size:1.75rem;min-width:0}.calendar-month{font-size:.8125rem;padding-left:8px;min-width:0}.calendar-caption{font-size:.4375rem;letter-spacing:0;margin-top:4px}.time-label{font-size:.625rem}.time-label strong{font-size:1.125rem}.time-label em{font-size:.5625rem}.calendar-progress{gap:6px}.life-milestones{font-size:.5rem;gap:4px}.year-track{height:3px}.portrait-column{display:grid;grid-template-columns:128px 1fr;grid-template-rows:30px 1fr;gap:4px 16px;height:106px}.portrait-mount{grid-row:1/3;height:102px;border-width:4px;transform:rotate(-1deg)}.photo-note,.personal-note,.archive-button{display:none}.profile-line{margin:0;padding:0 0 6px;flex-direction:row;align-items:center;gap:4px;border-bottom:1px solid var(--rule)}.profile-line h1{font-size:1.125rem}.profile-line span{font-size:.5625rem}.portrait-column .status-bar{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding:0;border-bottom:0;align-content:center}.portrait-column .stat{font-size:.5625rem;display:flex;gap:6px;align-items:baseline}.portrait-column .stat strong{font-size:.75rem;margin:0;display:block}.portrait-column .stat:first-child{grid-column:1/-1}.portrait-column .stat:first-child strong{font-size:1rem}.portrait-column .stat:last-child{grid-column:1/-1;position:absolute;right:0;bottom:0}.portrait-column .status-bar{position:relative}.portrait-column .stat-track{display:none}.journal-column{height:auto;min-height:0;max-height:none;grid-template-rows:32px minmax(64px,1fr) minmax(140px,205px)}.journal-heading{padding:4px 0;font-size:.6875rem;border-top-width:2px}.running-label{font-size:.5625rem}.journal-window{padding-right:8px}.journal-entry{grid-template-columns:28px minmax(0,1fr);padding:12px 0;gap:8px}.journal-entry.latest{padding-left:8px;border-left-width:2px}.journal-age{font-size:1rem}.journal-entry h2{font-size:.875rem}.journal-entry p{font-size:.875rem;line-height:1.8}.journal-age span{font-size:.5rem}.choice-result{padding:8px;margin-top:8px}.choice-result p{font-size:.8125rem}.decision-slot{margin-top:8px}.decision-head{padding:6px 0;font-size:.625rem}.live-choices{gap:4px;padding-bottom:4px}.live-choice{min-height:48px;padding:6px 8px;gap:6px;grid-template-columns:14px minmax(0,1fr) 10px}.live-choice strong{font-size:.8125rem}.live-choice small{font-size:.625rem;line-height:1.6}.decision-note{font-size:.625rem;padding-bottom:4px}.waiting-sheet{padding:8px 0}.waiting-sheet h2{font-size:1.125rem;margin-bottom:4px}.waiting-sheet p{font-size:.75rem}.waiting-sheet .primary{margin-top:8px;min-height:44px;font-size:.875rem;padding:8px 12px}.waiting-sheet .personality-picker{margin-top:8px}.personality-picker select{min-height:30px}.playback-controls{grid-column:1;padding-top:4px;gap:8px;margin:0}.playback-controls>div{gap:8px}.playback-button{font-size:.6875rem;min-width:70px;min-height:36px;padding:4px 8px}.speed-label{font-size:.5625rem;gap:4px}.speed-label select{font-size:.6875rem;min-height:36px;padding:4px 0}.follow-latest{font-size:.625rem;min-height:36px}.page-footer{margin-top:4px;padding:0;flex-shrink:0;min-height:24px}.page-footer .text-button{min-height:24px;font-size:.5625rem;padding:0}.page-footer>span:last-child{font-size:.5rem}.desk-caption{display:none}.life-module .empty-intro{font-size:.8125rem;line-height:1.8;padding:12px 0}.large-initial{font-size:3rem;margin-top:4px}.ending-buttons{margin-top:8px}.ending-buttons button{min-height:36px;font-size:.6875rem;padding:4px 8px}.print-finish{font-size:1.125rem;margin:4px 0}.cover-dialog .cover-masthead{font-size:1.875rem}.cover-dialog .cover-headline{font-size:1.125rem}.cover-dialog .cover-stories div{font-size:.625rem}.cover-dialog .cover-identity{font-size:.5rem;top:96px}}
@media(max-height:740px) and (max-width:600px){.life-module{grid-template-rows:56px 80px minmax(0,1fr) 40px;gap:8px;margin-top:8px}.portrait-column{height:80px;grid-template-columns:100px 1fr}.portrait-mount{height:76px}.journal-column{grid-template-rows:28px minmax(56px,1fr) minmax(120px,180px)}.profile-line span{font-size:.5rem}.calendar-caption{display:none}.waiting-sheet h2{font-size:1rem}.waiting-sheet p{font-size:.6875rem}.waiting-sheet .personality-picker{margin-top:4px}.live-choice small{font-size:.625rem}.publication{padding-top:8px}.masthead{padding-bottom:6px}.brand-en{display:none}}
@media(prefers-reduced-motion:reduce){.life-portrait{transition:none}.calendar-year.flip,.journal-entry,.running-label.playing::before{animation:none}.journal-window{scroll-behavior:auto}}
@media(max-width:600px){.portrait-column .status-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.portrait-column .stat{display:block}.portrait-column .stat:first-child{display:flex;grid-column:1/-1}.portrait-column .stat:last-child{position:static;grid-column:auto}.portrait-column .stat strong{font-size:.75rem;display:inline;margin-left:4px}.portrait-column .stat:first-child strong{font-size:.9375rem}}
@media(min-width:601px){.journal-column{height:calc(100dvh - 410px);min-height:440px;max-height:650px;grid-template-rows:40px minmax(140px,1fr) 232px}.life-module{min-height:580px}.portrait-column .stat-track{height:2px}.portrait-column .stat-track i{height:2px}}
@media(max-width:600px) and (max-height:650px){.life-module{grid-template-rows:48px 64px minmax(0,1fr) 36px;gap:6px}.portrait-column{height:64px;grid-template-columns:80px 1fr;grid-template-rows:24px 1fr}.portrait-mount{height:60px}.journal-column{grid-template-rows:24px minmax(40px,1fr) minmax(100px,128px)}.profile-line h1{font-size:1rem}.profile-line span{font-size:.5rem}.portrait-column .stat{font-size:.5rem}.portrait-column .stat strong{font-size:.6875rem}.portrait-column .stat:first-child strong{font-size:.8125rem}.calendar-year{font-size:1.5rem}.life-milestones{display:none}.waiting-sheet .personality-picker{display:none}.waiting-sheet h2{font-size:.9375rem}.waiting-sheet p{font-size:.625rem}.waiting-sheet .primary{min-height:36px;margin-top:4px}.decision-head{padding:3px 0}.live-choice{padding:4px 6px}.brand-title{font-size:1.5rem}.sound-button{height:36px;width:36px}}

.journal-entry.latest h2{font-size:1.25rem}.journal-entry .headline-second{display:block;color:var(--red)}.journal-entry[data-event=promotion].latest h2{font-size:1.75rem;line-height:1.25;letter-spacing:-.04em}.journal-entry.latest .headline-second{animation:second-beat .45s .25s both}
@media(max-width:600px){.journal-entry.latest h2{font-size:1rem}.journal-entry[data-event=promotion].latest h2{font-size:1.375rem}}

.publication{transition:background-color 1.4s ease}.publication[data-period=old]{--paper:#fbf7e9;--rule:#d8cfbc;background-color:var(--paper)}.publication[data-period=present]{--paper:#fffefa;background-color:var(--paper)}.publication[data-period=later]{--paper:#faf9f4;background-color:var(--paper)}.decision-head small{font-size:.5625rem;color:var(--muted);font-weight:400}.waiting-sheet .print-finish{font:700 1.375rem/1.5 var(--serif);color:var(--ink)}
@media(max-width:360px){.speed-label{font-size:0;gap:0}.speed-label select{font-size:.625rem}.playback-controls>div{gap:6px}.follow-latest{font-size:.5625rem}.playback-button{min-width:64px;font-size:.625rem}}

/* Finances read like a household ledger; the main canvas never changes shape. */
.ledger-grid{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0;font: .75rem/1.6 var(--mono);border-top:1px dashed var(--rule);padding-top:10px}.ledger-grid dd{text-align:right;margin:0}.file-status{float:right;color:var(--red);font:.625rem var(--sans);border:1px solid currentColor;padding:2px 5px}.journal-entry .account-note{font-size:.6875rem;color:var(--red);margin-top:8px;border-top:1px dashed var(--rule);padding-top:6px}.file-sheet a,.quiet-note a{color:var(--red)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(min-width:601px) and (max-height:700px){.desk{margin:8px auto}.life-module{min-height:510px}.journal-column{min-height:400px;grid-template-rows:32px minmax(120px,1fr) 220px}}
