@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golos-text-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golos-text-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golos-text-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golos-text-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golos-text-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golos-text-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/lora-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/lora-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lora-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lora-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #faf6f2;--surface: #ffffff;--surface-2: #f3ece6;--line: #e8dfd8;--line-strong: #958780;--ink: #1f1a17;--ink-2: #655a53;--ink-3: #8f827a;--brand: #e8604f;--brand-strong: #b93c2c;--on-brand: #ffffff;--brand-soft: #fde9e5;--honey: #f5b942;--on-honey: #1f1a17;--honey-soft: #fff3d6;--plum: #7a4f9e;--plum-soft: #f0e6f7;--success: #2b744a;--success-soft: #e3f2e8;--warning: #8a5a00;--warning-soft: #fff1d6;--danger: #b4213f;--danger-soft: #fde6ec;--focus: #2a63c9;--scrim: #1f1a1780;--glow-coral: #ffb07c;--glow-plum: #d9c3ee;--shadow-card: 0 1px 2px #1f1a170f, 0 6px 20px #1f1a170d;--shadow-float: 0 8px 32px #1f1a1726;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #15120f;--surface: #221d1a;--surface-2: #2c2622;--line: #3a322d;--line-strong: #7d6f66;--ink: #f5efe9;--ink-2: #bfb3aa;--ink-3: #857870;--brand: #ff7e6b;--brand-strong: #ff8a78;--on-brand: #1f1a17;--brand-soft: #3a2320;--honey-soft: #3b2f14;--plum: #c9a6e6;--plum-soft: #2d2238;--success: #7fc99a;--success-soft: #1d3326;--warning: #f2c46b;--warning-soft: #3b2f14;--danger: #ff7b9c;--danger-soft: #3a1d27;--focus: #8ab4ff;--scrim: #00000099;--glow-coral: #7a3328;--glow-plum: #3a2850;--shadow-card: 0 1px 2px #00000066;--shadow-float: 0 8px 32px #000000a6;color-scheme:dark}}:root{--font-display: "Lora", Georgia, "Times New Roman", serif;--font-sans: "Golos Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--fs-1: 17px;--fs-2: 15px;--fs-3: 13px;--lh-1: 26px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--content-max: 680px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .45s;--duration-ring: 1.2s;--duration-ambient: 14s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--section: var(--surface);--text: var(--ink);--hint: var(--ink-2);--link: var(--brand-strong);--accent: var(--brand-strong);--accent-text: var(--on-brand);--header: var(--ink-2);--separator: var(--line);--chip: var(--brand-soft);--radius: var(--radius-lg);--f-bg: var(--bg);--f-section: var(--surface);--f-text: var(--ink);--f-hint: var(--ink-2);--f-link: var(--brand-strong);--f-button: var(--brand-strong);--f-button-text: var(--on-brand);--f-danger: var(--danger);--f-separator: var(--line);--f-chip: var(--brand-soft)}html.big{--fs-1: 19px;--fs-2: 17px;--fs-3: 15px;--lh-1: 28px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0;background:var(--bg);color:var(--ink);font:var(--fs-1) / var(--lh-1) var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance}a{color:var(--brand-strong);text-decoration-thickness:1.5px;text-underline-offset:3px}.icon{flex-shrink:0;vertical-align:-.3em}.num{font-variant-numeric:tabular-nums}.page{max-width:var(--content-max);margin:0 auto;padding:var(--space-3) var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom))}@media(min-width:480px){.page{padding-left:var(--space-5);padding-right:var(--space-5)}}.page-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);min-height:48px;margin:0 0 var(--space-3)}.page-header h1{font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.01em;margin:0;flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.page-subtitle{color:var(--ink-2);font-size:var(--fs-2);line-height:22px;margin:-6px 0 var(--space-4)}.back-link{display:inline-flex;flex:0 0 100%;justify-content:flex-start;align-items:center;gap:2px;min-height:48px;margin-left:-6px;padding:0 var(--space-2) 0 0;border:0;border-radius:var(--radius-md);background:none;color:var(--brand-strong);font-weight:600;cursor:pointer}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer;transition:background var(--duration-fast)}.icon-button:active{background:var(--surface-2)}.section{margin-bottom:var(--space-6)}.section-title{color:var(--ink-2);font-size:var(--fs-2);line-height:20px;font-weight:600;margin:0 var(--space-4) var(--space-2)}.section-body{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.section-body.padded{padding:var(--space-4)}.section-footer{color:var(--ink-2);font-size:var(--fs-2);line-height:22px;margin:var(--space-2) var(--space-4) 0}.cell{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);border:0;background:none;color:inherit;text-align:left;position:relative;transition:background var(--duration-fast)}button.cell{cursor:pointer}button.cell:active{background:var(--surface-2)}.cell+.cell:before{content:"";position:absolute;top:0;left:var(--space-4);right:0;border-top:1px solid var(--line)}.cell-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:40px;font-size:24px;flex-shrink:0}.cell-main{flex:1;min-width:0}.cell-title{overflow-wrap:anywhere}.cell-subtitle{color:var(--ink-2);font-size:var(--fs-2);line-height:22px;margin-top:2px;overflow-wrap:anywhere}.cell-after{color:var(--ink-2);font-size:var(--fs-2);flex-shrink:0;text-align:right}.cell-chevron{color:var(--ink-3);flex-shrink:0}.cell.danger .cell-title{color:var(--danger);font-weight:600}button.cell.danger:active{background:var(--danger-soft)}.cell.accent .cell-title{color:var(--brand-strong);font-weight:600}.icon-disc{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);font-size:22px;line-height:1;flex-shrink:0}.icon-disc.dates,.icon-disc.brand{background:var(--brand-soft);color:var(--brand)}.icon-disc.memory{background:var(--plum-soft);color:var(--plum)}.icon-disc.today{background:var(--honey-soft);color:var(--ink)}.icon-disc.lg{width:72px;height:72px;border-radius:var(--radius-pill);font-size:36px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:var(--fs-3);font-weight:600;font-variant-numeric:tabular-nums}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink);font-size:var(--fs-3);line-height:18px;font-weight:500;white-space:nowrap}.tag.accent{background:var(--brand-soft);color:var(--brand-strong)}.tag.today{background:var(--honey);color:var(--on-honey)}.tag.memory{background:var(--plum-soft);color:var(--plum)}.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:48px;padding:0 var(--space-5);border:1.5px solid transparent;border-radius:var(--radius-md);background:var(--brand-strong);color:var(--on-brand);font-weight:600;cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast)}.btn:active{transform:scale(.98)}.btn.secondary{background:var(--brand-soft);color:var(--brand-strong)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.ghost{background:transparent;border-color:var(--line-strong);color:var(--brand-strong)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn+.btn{margin-top:var(--space-2)}.btn.inline{display:inline-flex;width:auto;min-height:44px;padding:0 var(--space-4)}.btn.large{min-height:56px;font-size:19px}.btn-spinner{width:20px;height:20px;border-radius:var(--radius-pill);border:2.5px solid currentColor;border-top-color:transparent;opacity:.8;animation:spin .8s linear infinite}.row-buttons{display:flex;gap:var(--space-2)}.row-buttons .btn{margin:0}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-4);border:1.5px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);cursor:pointer;transition:background var(--duration-base),border-color var(--duration-base)}.chip.active{background:var(--brand-strong);border-color:var(--brand-strong);color:var(--on-brand);font-weight:600}.chip.ghost{color:var(--brand-strong);border-style:dashed}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.tile{border:1.5px solid transparent;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);padding:var(--space-4) var(--space-3);cursor:pointer;text-align:center;min-height:48px}.tile.active{border-color:var(--brand-strong);background:var(--brand-soft)}.tile-emoji{font-size:28px;display:block;margin-bottom:var(--space-1)}.hero{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-4);text-align:center}.hero-emoji{display:block;font-size:44px;margin-bottom:var(--space-2)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin-bottom:var(--space-6)}.feature{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:48px;border:0;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);color:var(--ink);padding:var(--space-4);font:inherit;text-align:left;cursor:pointer;transition:transform var(--duration-fast),background var(--duration-fast)}.feature:active{transform:scale(.98);background:var(--surface-2)}.feature-emoji{font-size:28px;line-height:1;margin-bottom:var(--space-2)}.feature-emoji .icon-disc{margin:0}.feature-title{font-size:var(--fs-1);font-weight:600}.feature-meta{font-size:var(--fs-2);line-height:22px;color:var(--ink-2)}.field{display:block;padding:var(--space-3) var(--space-4)}.field+.field{border-top:1px solid var(--line)}.field-label{display:block;color:var(--ink-2);font-size:var(--fs-2);line-height:20px;font-weight:600;margin-bottom:var(--space-1)}.input,.select,.textarea{width:100%;border:0;outline:none;background:none;padding:2px 0;font-size:var(--fs-1);min-height:32px}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.textarea{min-height:150px;resize:vertical;line-height:26px}.date-row{display:grid;grid-template-columns:1fr 2fr 1.4fr;gap:var(--space-2)}.date-row .select,.date-row .input,.input.boxed,.select.boxed{border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);padding:0 var(--space-3);min-height:52px}.input.boxed:focus,.select.boxed:focus,.date-row .select:focus,.date-row .input:focus{border-color:var(--brand-strong)}.switch{position:relative;display:inline-block;width:52px;height:32px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:var(--radius-pill);background:var(--surface-2);border:1.5px solid var(--line-strong);transition:background var(--duration-base) var(--ease-in-out),border-color var(--duration-base)}.switch span:before{content:"";position:absolute;width:23px;height:23px;left:3px;top:3px;border-radius:var(--radius-pill);background:var(--ink-2);transition:transform var(--duration-base) var(--ease-in-out),background var(--duration-base)}.switch input:checked+span{background:var(--brand-strong);border-color:var(--brand-strong)}.switch input:checked+span:before{transform:translate(20px);background:var(--on-brand)}.switch input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.hint{color:var(--ink-2);font-size:var(--fs-2);line-height:22px}.notice{display:flex;gap:var(--space-3);align-items:flex-start;background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.notice-icon{margin-top:1px;color:var(--ink-2)}.notice-body{flex:1;min-width:0}.notice.danger{background:var(--danger-soft)}.notice.danger .notice-icon{color:var(--danger)}.notice.warning{background:var(--warning-soft)}.notice.warning .notice-icon{color:var(--warning)}.notice.success{background:var(--success-soft)}.notice.success .notice-icon{color:var(--success)}.error-text{color:var(--danger);font-size:var(--fs-2);margin-top:var(--space-2)}.center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);padding:var(--space-8) var(--space-4)}.empty-text{max-width:32ch;text-wrap:balance}.empty-emoji{font-size:48px;display:block}.empty-title{font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:700}.empty .empty-text{color:var(--ink-2);margin-top:calc(-1 * var(--space-2))}.empty-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:min(100%,240px)}.empty-progress-bar{display:block;width:100%;height:8px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.empty-progress-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--brand);transition:width var(--duration-slow) var(--ease-out)}.empty-progress-label{color:var(--ink-2);font-size:var(--fs-2)}.start-title{display:flex;justify-content:space-between;gap:var(--space-2)}.start-count{font-weight:500;color:var(--ink-3)}.start-bar{height:6px;margin:0 var(--space-4);border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden;position:relative;top:var(--space-3)}.start-bar>span{display:block;height:100%;border-radius:var(--radius-pill);background:var(--brand)}.start-bar+.cell{margin-top:var(--space-3)}.start-check{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-pill);border:2px solid var(--line-strong);color:var(--on-brand)}.start-check.done{border-color:var(--success);background:var(--success)}.start-done{color:var(--ink-3);text-decoration:line-through}.start-foot{padding:var(--space-1) var(--space-4) var(--space-2);text-align:right}.skeleton{max-width:var(--content-max);margin:0 auto;padding:var(--space-3) var(--space-4)}.sk-card{height:112px;border-radius:var(--radius-xl);margin-bottom:var(--space-4)}.sk-section{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);margin-bottom:var(--space-6);overflow:hidden}.sk-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-3) var(--space-4)}.sk-row+.sk-row{border-top:1px solid var(--line)}.sk-disc{width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0}.sk-lines{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.sk-line{height:12px;width:60%;border-radius:var(--radius-sm)}.sk-line.short{width:35%;height:10px}.sk-card,.sk-disc,.sk-line{background:linear-gradient(90deg,var(--surface-2) 0%,var(--line) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:sk-shimmer 1.6s ease-in-out infinite}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.sk-card,.sk-disc,.sk-line{animation:none;background:var(--surface-2)}}.spinner{width:28px;height:28px;margin:var(--space-12) auto;border-radius:var(--radius-pill);border:3px solid var(--brand-soft);border-top-color:var(--brand);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);display:inline-flex;align-items:center;min-height:48px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-float);font-weight:600;max-width:calc(100% - 32px);z-index:50;animation:toast-in var(--duration-slow) var(--ease-out)}@keyframes toast-in{0%{transform:translate(-50%,16px);opacity:0}}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-2);word-break:break-all}.tabs{display:flex;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-pill);background:var(--surface-2)}.tab{flex:1;min-width:0;min-height:44px;border:0;border-radius:var(--radius-pill);padding:0 var(--space-2);background:none;color:var(--ink-2);font-size:var(--fs-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background var(--duration-base) var(--ease-in-out),color var(--duration-base)}.tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.tab-count{margin-left:5px;color:var(--ink-3);font-weight:500;font-variant-numeric:tabular-nums}.page-top .tabs+*{margin-top:var(--space-2)}.form-field+.form-field{margin-top:var(--space-4)}.form-label{margin-bottom:var(--space-2);font-size:var(--fs-2);line-height:20px;font-weight:600}.form-hint{margin-top:var(--space-2);color:var(--ink-2);font-size:var(--fs-2);line-height:22px}textarea.input.boxed{display:block;min-height:140px;padding:var(--space-3);line-height:26px;resize:vertical}textarea.input.boxed.short{min-height:80px}.input.boxed+.input.boxed{margin-top:var(--space-2)}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips.scroll::-webkit-scrollbar{display:none}.chips.scroll>*{flex:none}.notice-action{margin-top:var(--space-1)}.empty-action{margin-top:0}.page-actions{margin-bottom:var(--space-4)}.form-actions{margin-bottom:var(--space-5)}.page-note{margin:calc(-1 * var(--space-2)) var(--space-4) var(--space-4);color:var(--ink-2);font-size:var(--fs-2);line-height:22px}.stack-top{margin-top:var(--space-3)}.stack-bottom{margin-bottom:var(--space-3)}.card-actions{display:inline-flex;align-items:center;gap:var(--space-4)}@media(prefers-reduced-motion:reduce){.btn,.tab,.chip,.switch span,.switch span:before,.feature{transition:none}.toast{animation:none}}.datecard{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-5);margin-bottom:var(--space-6);border:0;border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-card);color:inherit;text-align:left;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform var(--duration-fast)}.datecard:active{transform:scale(.99)}.datecard.today{background:var(--honey-soft)}.ring{position:relative;width:88px;height:88px;flex-shrink:0}.ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--surface-2);stroke-width:6}.ring-arc{fill:none;stroke:var(--brand);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset var(--duration-ring) var(--ease-in-out)}.datecard.today .ring-arc{stroke:var(--honey)}.ring-avatar{position:absolute;inset:8px;display:flex}.ring-avatar>*{width:100%!important;height:100%!important;font-size:28px!important}.datecard-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.datecard-when{font-size:34px;line-height:40px;font-weight:700;letter-spacing:-.02em}.datecard-title{font-size:19px;line-height:26px;font-weight:600;overflow-wrap:anywhere}.datecard-sub{color:var(--ink-2);font-size:var(--fs-2);line-height:22px}.confetti{position:absolute;inset:0;pointer-events:none;z-index:-1}.confetti span{position:absolute;bottom:-10px;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--honey);opacity:0;animation:confetti-rise var(--duration-ambient) linear infinite}.confetti span:nth-child(3n){background:var(--brand);width:6px;height:6px}.confetti span:nth-child(4n){background:var(--plum);width:5px;height:5px}@keyframes confetti-rise{0%{transform:translateY(0);opacity:0}10%{opacity:.9}to{transform:translateY(-160px);opacity:0}}@media(prefers-reduced-motion:reduce){.ring-arc{transition:none}.confetti span{animation:none;opacity:.6;bottom:auto;top:12px}}.shell{min-height:100vh;display:flex;flex-direction:column}.shell-main{flex:1;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.circle-bar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:calc(var(--space-1) + env(safe-area-inset-top)) max(var(--space-3),calc((100% - var(--content-max)) / 2 + var(--space-3))) var(--space-1);background:var(--bg)}.circle-switch{display:inline-flex;align-items:center;gap:var(--space-2);min-height:48px;max-width:calc(100% - 56px);padding:0 var(--space-3) 0 var(--space-2);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);font-family:var(--font-display);font-size:20px;font-weight:600;cursor:pointer;transition:background var(--duration-fast)}.circle-switch:active{background:var(--surface-2)}.circle-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--brand-soft);font-size:18px;font-family:var(--font-sans)}.circle-switch-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.circle-switch-caret{color:var(--ink-2)}.cell-check{color:var(--brand-strong)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:center;gap:0;padding:var(--space-1) var(--space-2) calc(var(--space-1) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.tabbar-item{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:var(--space-1) 0;border:0;border-radius:var(--radius-md);background:none;color:var(--ink-2);font-size:var(--fs-3);line-height:16px;font-weight:600;cursor:pointer}.tabbar-item.active{color:var(--brand-strong)}.tabbar-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:56px;height:32px;border-radius:var(--radius-pill);transition:background var(--duration-base) var(--ease-in-out)}.tabbar-item.active .tabbar-icon{background:var(--brand-soft)}.tabbar-badge{position:absolute;top:0;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:11px;line-height:18px;text-align:center}.shell .page{padding-top:var(--space-1)}.sidebar-circle{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2);font-family:var(--font-display);font-size:19px;font-weight:600}.sidebar-circle .circle-avatar{width:36px;height:36px;font-size:20px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:11px;font-weight:700;line-height:1;background:var(--brand-soft);color:var(--brand-strong);vertical-align:-4px}.avatar.m{width:32px;height:32px;font-size:var(--fs-2)}.avatar.l{width:72px;height:72px;font-size:28px}.avatar-dead{background:var(--plum-soft);color:var(--plum)}.people-inline{display:inline-flex;align-items:flex-start;gap:6px;min-width:0;max-width:100%}.avatars{display:inline-flex;flex:none;margin-top:1px}.avatars .avatar{box-shadow:0 0 0 1.5px var(--section)}.avatars .avatar+.avatar{margin-left:-5px}.people-inline-names{overflow-wrap:anywhere}.people-picker{display:flex;flex-direction:column;gap:10px}.person-chip{display:inline-flex;align-items:center;gap:6px}.chip-x{opacity:.7;font-size:var(--fs-3)}.event-people{margin-top:3px;display:flex}.subtitle-people{display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:100%}.caption{color:var(--link)}.chip-count{opacity:.6;font-size:var(--fs-3);margin-left:2px}.relation-edit{padding:0 16px 10px 58px}.relation-end{padding:0 16px 12px 58px}.relation-form{display:flex;flex-direction:column;gap:10px;padding:12px 16px 16px}.relation-form .field-label{margin:4px 0 -4px}.relation-preview{background:var(--chip);border-radius:10px;padding:10px 12px;font-size:var(--fs-2)}.date-tile{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:42px;height:44px;border-radius:10px;background:var(--chip);color:var(--link);line-height:1}.date-tile.hot{background:var(--accent);color:var(--accent-text)}.date-tile-day{font-size:18px;font-weight:700}.date-tile-month{font-size:var(--fs-3);margin-top:2px}.cell-icon:has(.date-tile),.cell-icon:has(.circle-avatar){width:44px}.meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.circle-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand);flex-shrink:0}.circle-avatar.sm{width:32px;height:32px;border-radius:var(--radius-sm)}.circle-avatar.lg{width:72px;height:72px;border-radius:var(--radius-pill)}.tile-icon{display:flex;justify-content:center;margin-bottom:var(--space-2)}.tile.active .circle-avatar{background:var(--brand-strong);color:var(--on-brand)}.tree-row{position:relative;padding:12px 8px;margin-bottom:18px;border-radius:var(--radius);background:var(--section);text-align:center}.tree-row+.tree-row:before{content:"";position:absolute;top:-18px;left:50%;width:2px;height:18px;background:var(--separator)}.tree-row.center{background:var(--chip)}.tree-row-title{font-size:var(--fs-2);line-height:20px;font-weight:600;color:var(--ink-2);margin-bottom:8px}.tree-side+.tree-side{margin-top:10px}.tree-side-title{font-size:var(--fs-3);color:var(--hint);margin-bottom:6px}.tree-nodes{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}.tree-node{display:flex;flex-direction:column;align-items:center;gap:3px;width:104px;padding:10px 6px;border:1px solid var(--separator);border-radius:12px;background:var(--section);color:var(--text);font:inherit;cursor:pointer}.tree-node:active{opacity:.7}.tree-node.focus{width:128px;border:2px solid var(--accent)}.tree-node.dead{opacity:.75}.tree-node-name{font-size:14px;font-weight:600;line-height:1.2;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}.tree-node-word{font-size:var(--fs-3);color:var(--link)}.tree-node-me,.tree-node-years{font-size:var(--fs-3);color:var(--hint)}.tree-heart{font-size:16px;color:var(--brand)}.tree-heart.ex{font-size:14px}.tree-hint{margin-top:8px;font-size:var(--fs-3);color:var(--hint)}.org-tree,.org-tree ul{list-style:none;margin:0;padding:0}.org-tree ul{margin-left:14px;padding-left:12px;border-left:2px solid var(--separator)}.org-tree li{margin:6px 0}.org-node{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 10px;border:1px solid var(--separator);border-radius:10px;background:var(--section);color:var(--text);font:inherit;text-align:left;cursor:pointer}.org-name{font-weight:600}.org-label{font-size:var(--fs-3);color:var(--link)}.org-count{font-size:var(--fs-3);color:var(--hint);background:var(--chip);border-radius:8px;padding:0 6px}.tree-couple{display:inline-flex;align-items:center;gap:8px}.tree-nodes.left{justify-content:flex-start}.page-top{position:sticky;top:0;z-index:10;margin:-12px -16px 12px;padding:12px 16px 10px;background:var(--bg);border-bottom:1px solid var(--separator)}.page-top .page-header{margin-bottom:8px}.page-top .page-subtitle{margin:-6px 0 8px}.tree-focus-line{display:flex;align-items:center;gap:8px;font-size:14px}.tree-focus-line .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-focus-anchor{display:inline-flex}.tag.jubilee{font-weight:600}.tag.jubilee.round{background:var(--honey-soft);color:var(--warning)}.tag.jubilee.big{background:var(--honey);color:var(--on-honey)}.date-tile.jubilee-tile{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--honey)}.silent-mark{font-size:var(--fs-3);line-height:1;opacity:.8}.contact-edit{padding:10px 16px;border-bottom:1px solid var(--separator)}.contact-edit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:14px;color:var(--hint)}.contact-edit .error{margin-top:4px;font-size:var(--fs-3);color:var(--danger)}.icon-btn{border:0;background:none;padding:2px 6px;color:var(--hint);font-size:var(--fs-2);cursor:pointer}.st{--viz-accent: var(--brand-strong);--viz-muted: color-mix(in srgb, var(--brand) 32%, var(--surface));--viz-track: color-mix(in srgb, var(--ink-2) 12%, var(--surface))}.st-hero{position:relative;overflow:hidden;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-5) var(--space-5) var(--space-4);margin-bottom:var(--space-6)}.st-hero-glow{position:absolute;top:-80px;right:-60px;width:220px;height:220px;border-radius:var(--radius-pill);background:radial-gradient(closest-side,var(--glow-coral),transparent);opacity:.55;pointer-events:none}.st-hero-label{position:relative;font-size:var(--fs-2);font-weight:600;color:var(--ink-2)}.st-hero-value{position:relative;font-family:var(--font-display);font-size:44px;line-height:1.1;font-weight:700;letter-spacing:-.01em;margin:var(--space-1) 0;color:var(--brand-strong)}.st-hero-note{position:relative;font-size:var(--fs-2);color:var(--ink-2)}.st-tiles{position:relative;display:flex;gap:var(--space-2);margin:var(--space-4) calc(-1 * var(--space-5)) 0;padding:0 var(--space-5);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.st-tiles::-webkit-scrollbar{display:none}.st-tile{flex:0 0 auto;min-width:104px;display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--surface-2);scroll-snap-align:start}.st-tile.memory{background:var(--plum-soft)}.st-tile.honey{background:var(--honey-soft)}.st-tile-value{font-family:var(--font-display);font-size:26px;line-height:30px;font-weight:700}.st-tile.memory .st-tile-value{color:var(--plum)}.st-tile-label{font-size:var(--fs-3);color:var(--ink-2);white-space:nowrap}.st-item-title.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.st-facts{display:flex;gap:var(--space-3);margin:0 calc(-1 * var(--space-4));padding:2px var(--space-4) var(--space-2);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.st-facts::-webkit-scrollbar{display:none}.st-fact{flex:0 0 min(78%,300px);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);scroll-snap-align:start}.st-fact-emoji{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-soft);font-size:22px;line-height:1}.st-fact-text{font-size:var(--fs-1);line-height:24px}.st-lead{padding:var(--space-4) var(--space-4) 0;font-family:var(--font-display);font-size:20px;line-height:26px;font-weight:700;text-wrap:balance}.st-note{font-size:var(--fs-3);font-weight:400;color:var(--hint);margin-top:2px}.st-chart{padding:14px 12px 6px}.st-tap{padding:2px 16px 12px;font-size:var(--fs-3);color:var(--hint)}.st-selected{padding:4px 0 6px;border-top:1px solid var(--separator)}.st-group-title{padding:8px 16px 2px;font-size:var(--fs-3);color:var(--hint)}.st-list{display:flex;flex-direction:column}.st-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;color:var(--text);font:inherit;font-size:var(--fs-2);text-align:left;padding:7px 16px;cursor:pointer}.st-item:active{background:var(--chip)}.st-item-date{flex:none;width:52px;color:var(--hint);font-size:var(--fs-3);font-variant-numeric:tabular-nums}.st-item-main{flex:1;min-width:0;display:flex;flex-direction:column}.st-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-item-tag{font-size:var(--fs-3);color:var(--hint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-item-age{flex:none;color:var(--hint);font-size:14px}.st-item-age.strong{color:var(--text);font-weight:600}.st-cols{display:flex;gap:2px}.st-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer}.st-col-plot{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:120px;padding-top:18px;box-sizing:content-box;border-bottom:1px solid var(--separator)}.st-col-bar{position:relative;flex:none;width:min(24px,78%);min-height:4px;border-radius:4px 4px 0 0;background:var(--viz-muted);transition:height .2s ease}.st-col-bar.hi{background:var(--viz-accent)}.st-col:active .st-col-bar{filter:brightness(1.08)}.st-col-value{position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding-bottom:2px;font-size:var(--fs-3);font-weight:600;color:var(--text)}.st-col-label{font-size:var(--fs-3);color:var(--hint);padding:4px 0 2px;white-space:nowrap}.st-col-label.strong{color:var(--text);font-weight:600}.st-hbars{display:flex;flex-direction:column;gap:4px}.st-hbar{display:grid;grid-template-columns:minmax(0,44%) 1fr;align-items:center;gap:10px;border:0;background:none;color:var(--text);font:inherit;text-align:left;padding:4px;border-radius:8px;cursor:pointer}.st-hbar.selected{background:var(--chip)}.st-hbar-label{font-size:14px;line-height:1.2}.st-hbar-note{display:block;font-size:var(--fs-3);color:var(--hint)}.st-hbar-track{display:flex;align-items:center;gap:6px}.st-hbar-fill{height:14px;min-width:4px;border-radius:0 4px 4px 0;background:var(--viz-muted)}.st-hbar-fill.hi{background:var(--viz-accent)}.st-hbar-value{font-size:var(--fs-3);font-weight:600}.st-zodiac{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.st-sign{display:flex;flex-direction:column;align-items:center;gap:1px;border:1.5px solid transparent;border-radius:10px;background:var(--viz-track);color:var(--text);font:inherit;padding:8px 4px;cursor:pointer;min-width:0}.st-sign.selected{border-color:var(--viz-accent);background:color-mix(in srgb,var(--accent) 12%,var(--section))}.st-sign.empty{opacity:.45}.st-sign-symbol{font-size:20px;line-height:1.2}.st-sign-label{font-size:var(--fs-3);color:var(--hint);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-sign-count{font-size:14px;font-weight:600}.st-sign.top .st-sign-symbol{color:var(--viz-accent)}.tree-edit-toggle{margin-top:8px}.tree-node.tree-add{border:1.5px dashed color-mix(in srgb,var(--accent) 55%,transparent);background:transparent;color:var(--link);justify-content:center}.tree-add-plus{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--chip);font-size:20px}.sheet-backdrop{position:fixed;inset:0;overscroll-behavior:contain;z-index:30;display:flex;align-items:flex-end;justify-content:center;background:var(--scrim);animation:fade-in var(--duration-base)}.sheet{width:100%;max-width:var(--content-max);max-height:88vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);color:var(--ink);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-3) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));box-shadow:var(--shadow-float);animation:sheet-up var(--duration-slow) var(--ease-out)}.sheet:before{content:"";display:block;width:40px;height:4px;margin:0 auto var(--space-3);border-radius:var(--radius-pill);background:var(--line-strong)}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}}@keyframes fade-in{0%{opacity:0}}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.sheet-title{font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:600}.form-field>.cell,.form-field>.field{padding-left:0;padding-right:0}.form-field>.cell{min-height:0;padding-top:0;padding-bottom:0}.sheet-row{display:flex;align-items:center;justify-content:space-between}.sheet-head-text{min-width:0}.sheet-subtitle{color:var(--ink-2);font-size:var(--fs-2);line-height:22px;margin-top:2px}.sheet-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin:-6px -10px 0 0;border:0;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);cursor:pointer}.sheet-list{margin:var(--space-1) calc(-1 * var(--space-5)) 0}.sheet-actions{margin-top:var(--space-5)}.link-btn{border:0;background:none;padding:0;min-height:44px;color:var(--brand-strong);font:inherit;font-weight:600;cursor:pointer}.link-btn.danger{color:var(--danger)}.feature.wide{grid-column:1 / -1;flex-direction:row;align-items:center;gap:var(--space-3)}.feature.wide .feature-emoji{margin-bottom:0}.feature-text{display:flex;flex-direction:column;gap:2px}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.ch-story,.ch-question{padding:12px 16px}.ch-story+.ch-story,.ch-question+.ch-question,.ch-ask+.ch-ask{border-top:1px solid var(--separator)}.ch-story-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;color:var(--hint);font-size:var(--fs-3)}.ch-story-title{margin:0 0 4px;font-size:var(--fs-1);font-weight:600;line-height:1.3}.ch-story-question{margin-bottom:4px;color:var(--hint);font-size:14px;font-style:italic}.ch-story-text{font-size:var(--fs-2);line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.ch-story-text.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ch-story-text+.link-btn{margin-top:4px}.ch-story-who{margin-bottom:6px;font-size:14px;font-weight:500}.ch-story-about{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:10px;font-size:14px}.ch-foot-who{flex:1;min-width:0}.ch-foot .link-btn,.ch-foot .card-actions{flex:none}.ch-foot{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;margin-top:10px;color:var(--hint);font-size:var(--fs-3)}.ch-question .ch-foot{flex-wrap:wrap}.ch-question .card-actions{margin-left:auto}.ch-foot-meta{flex:1 1 auto;display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.ch-question-text{font-size:16px;line-height:1.4}.ch-gone{margin-top:4px;color:var(--hint);font-size:var(--fs-3)}.ch-ask .cell-extra{margin-top:-4px}.ch-ask-suggest{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-radius:10px;padding:8px 12px;background:var(--chip);color:var(--text);font:inherit;font-size:14px;line-height:1.3;text-align:left;cursor:pointer}.ch-ask-go{flex:none;color:var(--link);font-weight:600}.cell-extra.ch-topic-list{padding:10px 16px 12px}.ch-topic-list{display:flex;flex-direction:column;align-items:stretch;gap:6px}.ch-topic-list>.link-btn{align-self:flex-start;margin-top:4px}.ch-quote{margin-bottom:14px;padding:10px 12px;border-left:3px solid var(--accent);border-radius:0 10px 10px 0;background:var(--chip);font-size:var(--fs-2)}.ch-ideas .chip{text-align:left;white-space:normal}.ch-topics-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.sheet-secondary{margin-top:14px;text-align:center}.cell-extra{padding:0 16px 12px 58px}.notice .hint{margin-top:2px}.section-body>.tiles{padding:8px}.block-top{margin-top:20px}.section-title .no-caps{text-transform:none}.avatar.avatar-pet{background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:400}.avatar.avatar-pet.m{font-size:16px}.avatar.avatar-pet.l{font-size:34px}.avatar.avatar-pet.dead{filter:grayscale(.6);opacity:.8}.tree-node-pets{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:3px;padding-top:4px;border-top:1px solid var(--separator);width:100%;font-size:var(--fs-3);color:var(--hint);line-height:1.3}.tree-node-pet{overflow-wrap:anywhere}.tree-node-pet-age{white-space:nowrap}.life-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.life-bar-text{color:var(--hint);font-size:var(--fs-3);min-width:0}.life-bar-actions{display:inline-flex;gap:8px;margin-left:auto}.life-bar-actions .btn+.btn{margin-top:0}.life-item{display:flex;gap:12px;width:100%;border:0;background:none;color:var(--text);font:inherit;text-align:left;padding:10px 16px;cursor:pointer;position:relative}.life-item+.life-item:before{content:"";position:absolute;top:0;left:72px;right:0;border-top:1px solid var(--separator)}.life-item:active{background:var(--separator)}.life-item.muted{opacity:.55}.life-year{flex:none;width:44px;padding-top:1px;color:var(--hint);font-size:var(--fs-2);font-weight:600;font-variant-numeric:tabular-nums}.life-item.key .life-year{color:var(--link)}.life-main{display:flex;flex-direction:column;gap:2px;min-width:0}.life-text{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.life-item.key .life-text{font-weight:600}.life-sub{color:var(--hint);font-size:var(--fs-3)}.life-excerpt{color:var(--hint);font-size:14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.life-period{display:flex;align-items:center;gap:8px}.life-period .input.boxed+.input.boxed{margin-top:0}.life-story-text{margin-bottom:14px;font-size:var(--fs-2);line-height:1.45;white-space:pre-wrap;max-height:40vh;overflow-y:auto}.link-text{color:var(--link)}.ls{--tint: var(--accent);--tint-soft: color-mix(in srgb, var(--tint) 18%, var(--bg));--tint-text: color-mix(in srgb, var(--tint) 80%, var(--text));position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;color:var(--text);background:radial-gradient(120% 70% at 50% 0%,var(--tint-soft),transparent 70%),var(--bg);transition:background .4s ease;padding:calc(10px + env(safe-area-inset-top)) 0 calc(12px + env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none}.ls-top,.ls-timeline,.ls-controls{width:100%;max-width:560px;margin:0 auto;padding:0 16px}.ls-bars{display:flex;gap:3px}.ls-bar{position:relative;flex:1;height:3px;border-radius:2px;background:color-mix(in srgb,var(--text) 14%,transparent);overflow:hidden}.ls-bar.done{background:var(--tint-text)}.ls-bar-fill{position:absolute;inset:0 auto 0 0;width:100%;background:var(--tint-text)}.ls-bar-fill.run{width:0;animation:ls-fill 6s linear forwards}.ls-bar-fill.static{transition:width .25s ease}@keyframes ls-fill{to{width:100%}}.ls-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.ls-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--hint);font-size:14px;font-weight:500}.ls-close{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-size:var(--fs-2);cursor:pointer}.ls-stage{position:relative;flex:1;min-height:0;width:100%;max-width:560px;margin:0 auto}.ls-scroll{height:100%;overflow-y:auto;display:flex;flex-direction:column;padding:12px 24px;scrollbar-width:none}.ls-scroll::-webkit-scrollbar{display:none}.ls-tap{position:absolute;top:0;bottom:0;width:18%;z-index:1;border:0;background:none;cursor:pointer}.ls-tap.left{left:0}.ls-tap.right{right:0}.ls-slide{margin:auto 0;padding:8px 0}.ls-slide.from-right{animation:ls-in-right .32s cubic-bezier(.2,.7,.2,1)}.ls-slide.from-left{animation:ls-in-left .32s cubic-bezier(.2,.7,.2,1)}@keyframes ls-in-right{0%{opacity:0;transform:translate(24px)}}@keyframes ls-in-left{0%{opacity:0;transform:translate(-24px)}}.ls-kicker{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.ls-kind,.ls-decade{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:var(--fs-3);font-weight:600}.ls-kind{background:color-mix(in srgb,var(--tint) 18%,transparent);color:var(--tint-text)}.ls-decade{background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--hint);font-weight:500}.ls-year{font-size:clamp(64px,22vw,104px);font-weight:800;line-height:.95;letter-spacing:-.03em;color:var(--tint-text);font-variant-numeric:tabular-nums}.ls-when{margin-top:8px;color:var(--hint);font-size:16px}.ls-text{margin:18px 0 0;font-size:clamp(22px,6.4vw,28px);font-weight:700;line-height:1.22;overflow-wrap:anywhere}.ls-story{margin:16px 0 0;font-size:var(--fs-1);line-height:1.55;white-space:pre-wrap;-webkit-user-select:text;user-select:text}.ls-story.lead{margin-top:18px;font-size:clamp(20px,5.6vw,24px);font-weight:600;line-height:1.35}.ls-people{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:20px}.ls-person{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-2)}.ls-end{text-align:center}.ls-end-emoji{font-size:56px;line-height:1}.ls-end-sub{margin-top:4px;color:var(--hint);font-size:14px}.ls-end-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.ls-end-actions .btn+.btn{margin-top:0}.ls-timeline{display:flex;gap:2px;overflow-x:auto;padding-top:6px;padding-bottom:4px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.ls-timeline::-webkit-scrollbar{display:none}.ls-tl-dot{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:26px;border:0;background:none;padding:4px 0;cursor:pointer}.ls-tl-mark{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--text) 18%,transparent);transition:transform .2s ease,background .2s ease}.ls-tl-dot.done .ls-tl-mark{background:color-mix(in srgb,var(--tint-text) 55%,transparent)}.ls-tl-dot.current .ls-tl-mark{background:var(--tint-text);transform:scale(1.6)}.ls-tl-year{min-height:14px;color:var(--hint);font-size:var(--fs-3);font-variant-numeric:tabular-nums}.ls-tl-dot.current .ls-tl-year{color:var(--text);font-weight:600}.ls-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:8px}.ls-btn{width:48px;height:48px;border:0;border-radius:50%;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.ls-btn.play{width:60px;height:60px;background:var(--tint);color:#fff;font-size:18px}.ls-btn:disabled{opacity:.3;cursor:default}.life-context{display:block;margin-bottom:2px;color:var(--link);font-size:var(--fs-3)}.ls-context{margin-top:6px;color:var(--link);font-size:16px;font-weight:500}.life-who{display:block;margin-bottom:2px;color:var(--text);font-size:var(--fs-3);font-weight:500}.life-people{color:var(--hint);font-size:var(--fs-3)}.ls-person-text{display:flex;flex-direction:column;line-height:1.2}.ls-person-tag{color:var(--hint);font-size:var(--fs-3)}.page-top .input.boxed{background:var(--section)}.place-hints{margin-top:8px}.place-line{color:var(--hint);font-size:14px}.ch-story-event{display:block;margin:0 0 6px;border:0;background:none;padding:0;color:var(--link);font:inherit;font-size:14px;text-align:left;cursor:pointer}.ch-story.highlight{background:color-mix(in srgb,var(--accent) 8%,var(--section))}.place-row{display:flex;align-items:center;gap:8px}.place-row .input{flex:1;min-width:0}.place-map-btn{flex:none;width:38px;height:38px;border:1px solid var(--separator);border-radius:10px;background:none;font-size:18px;cursor:pointer}.place-map-btn.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.place-pin-line{margin-top:6px;color:var(--hint);font-size:var(--fs-3)}.link-inline{border:0;background:none;padding:0;color:var(--link);font:inherit;cursor:pointer}.map-canvas{position:relative;width:100%;height:100%}.map-el,.map-el.maplibregl-map{position:absolute;inset:0}.map-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--hint);font-size:14px;text-align:center;background:var(--bg)}.mini-map{position:relative;overflow:hidden;margin-top:10px;border-radius:12px;background:var(--bg);cursor:pointer}.mini-map .map-el{pointer-events:none}.mini-map-open{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--section);color:var(--text);font-size:var(--fs-2);box-shadow:0 1px 4px #0003}.map-pin{min-width:28px;height:28px;padding:0 6px;border:2px solid #fff;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-text);font-size:14px;font-weight:600;box-shadow:0 1px 5px #00000059;cursor:pointer}.map-pin{position:relative}.map-pin-caption{position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);max-width:180px;padding:2px 6px;border-radius:8px;background:#fffffff0;color:#1c1c1e;font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px #00000040;pointer-events:none}.map-pin.static .map-pin-caption,.map-pin-caption.hidden{display:none}.map-pin.static{display:inline-flex;vertical-align:middle;cursor:default}.map-overlay{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:var(--section);color:var(--text)}.map-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px}.map-overlay-title{min-width:0;font-size:var(--fs-1);font-weight:600}.map-overlay-body{position:relative;flex:1;min-height:0}.map-overlay-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.map-picked{display:flex;flex-direction:column;gap:8px;max-height:40vh;overflow-y:auto}.map-picked-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-picked-text{flex:1;min-width:0;font-size:var(--fs-2)}.map-pin.group{box-shadow:4px -3px 0 -1px var(--accent),0 1px 5px #00000059}.map-pin.group .map-pin-caption{left:calc(100% + 14px)}.map-pin-count{position:absolute;top:-10px;right:-10px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff;color:#1c1c1e;font-size:12px;font-weight:700;box-shadow:0 1px 3px #0000004d;pointer-events:none}.map-picker-hint{margin-bottom:10px;color:var(--hint);font-size:var(--fs-3)}.map-picker-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.map-center-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.map-center-mark{font-size:34px;line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.map-center-name{margin-bottom:4px;padding:4px 10px;border-radius:12px;background:var(--section);color:var(--text);font-size:14px;white-space:nowrap;box-shadow:0 1px 5px #00000040}.cell-map{padding:0 16px 12px}.cell-map .mini-map{margin-top:0}.cell-map.top{padding-top:12px}.ls-slide-map{position:relative;height:clamp(96px,18vh,150px);margin-top:18px;overflow:hidden;border-radius:14px;background:color-mix(in srgb,var(--text) 6%,transparent)}.ls-slide-map .map-el{pointer-events:none}@media(max-height:760px){.ls-slide-map{height:clamp(80px,13vh,110px);margin-top:12px}.ls-year{font-size:clamp(52px,15vh,84px)}.ls-text{margin-top:12px;font-size:clamp(19px,3.4vh,24px)}}.place-label{margin-bottom:4px;color:var(--hint);font-size:var(--fs-3)}.swipe-back{position:fixed;top:50%;left:0;z-index:100;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--section);color:var(--hint);font-size:26px;line-height:1;box-shadow:0 2px 10px #0003;pointer-events:none;transform:translate(-44px,-50%);transition:background .15s,color .15s}.swipe-back.ready{background:var(--accent);color:var(--accent-text)}.bio-years{display:flex;align-items:center;gap:8px}.bio-years .input.boxed{flex:1;min-width:0;margin:0}.bio-dash{color:var(--hint)}.bio-hobbies{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.center-text{text-align:center}.ch-ask-facts{display:flex;flex-direction:column;gap:6px}.ch-ask .cell-extra+.ch-ask-facts{margin-top:-4px}.ch-ask-facts-label{color:var(--hint);font-size:var(--fs-3)}.ch-bio-hint{margin:0 0 12px}.page-top{border-bottom:1px solid transparent;transition:border-color var(--duration-fast)}.page-top.stuck{border-bottom-color:var(--line)}.page-bar{display:flex;align-items:center;gap:var(--space-2)}.page-top .page-bar .page-subtitle{flex:1;min-width:0}.page-top.stuck .page-bar .page-subtitle{margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-top.stuck .page-bar+*{margin-top:var(--space-2)}.page-bar-title{color:var(--ink);font-weight:600}.home-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-1);min-height:40px;border:0;border-radius:var(--radius-pill);padding:0 var(--space-3);background:var(--brand-soft);color:var(--brand-strong);font:inherit;font-size:var(--fs-2);font-weight:600;white-space:nowrap;cursor:pointer}.act-row{align-items:flex-start}.act-row .cell-icon{margin-top:1px}.act-line{display:block;font-size:var(--fs-2);line-height:1.35}.act-me{color:var(--hint);font-weight:600}.act-count{color:var(--hint)}.act-object{display:block;margin-top:2px;color:var(--hint);font-size:14px;overflow-wrap:anywhere}.act-object.linked{color:var(--link)}.act-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:8px;flex-shrink:0}.act-when{color:var(--hint);font-size:var(--fs-3);white-space:nowrap}.act-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.new-activity{color:var(--link);font-weight:500}.archive-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.archive-keep{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--hint)}.archive-row+.archive-row{border-top:1px solid var(--separator)}.pp{--pp-serif: var(--font-display);--pp-paper: color-mix(in srgb, var(--section) 95%, #c49a52);--pp-ink: var(--text);--pp-rule: color-mix(in srgb, var(--text) 22%, transparent);--pp-soft: color-mix(in srgb, var(--hint) 16%, transparent);--pp-accent: var(--accent);background:var(--pp-paper);border-radius:16px;padding:16px 16px 20px;margin-bottom:16px;overflow:hidden;position:relative}.pp.turn-next{animation:pp-turn-next .45s cubic-bezier(.2,.7,.2,1)}.pp.turn-prev{animation:pp-turn-prev .45s cubic-bezier(.2,.7,.2,1)}@keyframes pp-turn-next{0%{opacity:0;transform:translate(28px) rotate(.6deg)}}@keyframes pp-turn-prev{0%{opacity:0;transform:translate(-28px) rotate(-.6deg)}}.pp-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:6px 0 8px}.pp-nav-btn{border:none;background:none;color:var(--link);font-size:var(--fs-2);padding:6px 0;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-nav-btn.right{text-align:right}.pp-nav-btn:disabled{visibility:hidden}.pp-nav-now{font-size:14px;font-weight:600;white-space:nowrap}.pp-mast{text-align:center;border-bottom:3px double var(--pp-rule);padding-bottom:10px;margin-bottom:14px}.pp-mast-line{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-3);font-weight:500;color:var(--hint);white-space:nowrap;border-bottom:1px solid var(--pp-rule);padding-bottom:6px}.pp-mast-title{font-family:var(--pp-serif);font-size:clamp(28px,9vw,40px);font-weight:700;line-height:1.1;letter-spacing:-.01em;margin:10px 0 4px}.pp-mast-sub{font-family:var(--pp-serif);font-style:italic;font-size:14px;color:var(--hint)}.pp-live-wrap{display:inline-flex;align-items:center;gap:6px}.pp-live{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 color-mix(in srgb,var(--success) 50%,transparent);animation:pp-pulse 1.8s ease-out infinite;flex:none}@keyframes pp-pulse{70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.pp-lead{position:relative;padding:4px 0 16px;border-bottom:1px solid var(--pp-rule);margin-bottom:4px;animation:pp-rise .6s cubic-bezier(.2,.7,.2,1) both}.pp-lead-emoji{position:absolute;right:-6px;top:-6px;font-size:84px;line-height:1;opacity:.14;transform:rotate(-12deg);pointer-events:none}.pp-kicker{display:inline-block;font-size:var(--fs-3);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pp-accent);margin-bottom:6px}.pp-title{font-family:var(--pp-serif);font-size:clamp(26px,7.6vw,36px);line-height:1.12;font-weight:700;margin:0 0 8px;padding-right:40px;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.pp-lead-text{font-family:var(--pp-serif);font-size:var(--fs-1);line-height:1.4;margin:0;color:color-mix(in srgb,var(--text) 80%,var(--hint))}.pp-lead.tone-calm .pp-kicker,.pp-lead.tone-past .pp-kicker{color:var(--hint)}.pp-more{border:none;background:none;color:var(--link);font-size:var(--fs-2);padding:10px 0 0;cursor:pointer;display:block;text-align:left}@keyframes pp-rise{0%{opacity:0;transform:translateY(12px)}}.pp-confetti{position:absolute;inset:-16px -16px auto;height:220px;overflow:hidden;pointer-events:none}.pp-confetti i{position:absolute;top:-12px;left:var(--x);width:7px;height:11px;border-radius:2px;background:var(--c);opacity:0;transform:rotate(var(--r));animation:pp-confetti 2.2s cubic-bezier(.25,.6,.4,1) var(--d) forwards}@keyframes pp-confetti{0%{opacity:1;transform:translateY(0) rotate(var(--r))}80%{opacity:1}to{opacity:0;transform:translateY(220px) rotate(calc(var(--r) + 300deg))}}.pp-block{padding-top:14px}.pp-h{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:var(--fs-3);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}.pp-h:after{content:"";flex:1;border-top:1px solid var(--pp-rule)}.pp-sub{font-family:var(--pp-serif);font-size:18px;font-weight:700;margin:18px 0 2px}.pp-lead-note{font-family:var(--pp-serif);font-size:16px;margin:0 0 10px;line-height:1.35}.pp-small{font-size:var(--fs-3);color:var(--hint);margin:6px 0 0}.pp-r{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 50ms)}.pp-r.in{opacity:1;transform:none}.pp-strip{margin:6px 0 14px;padding-top:18px}.pp-strip-track{position:relative;height:8px;border-radius:4px;background:var(--pp-soft)}.pp-strip-fill{position:absolute;inset:0 auto 0 0;border-radius:4px;background:color-mix(in srgb,var(--pp-accent) 35%,transparent);transform-origin:left;transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.7,.2,1) .15s}.pp-strip.in .pp-strip-fill{transform:none}.pp-strip-today{position:absolute;top:-18px;bottom:-4px;width:2px;margin-left:-1px;background:var(--pp-accent)}.pp-strip-today span{position:absolute;top:-2px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:var(--pp-accent);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.pp-strip-pin{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:2px solid var(--pp-paper);background:var(--section);font-size:var(--fs-3);line-height:1;padding:0;cursor:pointer;box-shadow:0 1px 3px #00000026}.pp-strip-pin.low{margin-top:16px}.pp-strip-pin.low:before{content:"";position:absolute;left:50%;top:-12px;height:10px;border-left:1px solid var(--pp-rule)}.pp-strip-pin.past{filter:grayscale(1);opacity:.6}.pp-strip-pin.today{animation:pp-bounce 1.6s ease-in-out infinite}@keyframes pp-bounce{50%{transform:translateY(-4px)}}.pp-strip-scale{display:flex;justify-content:space-between;font-size:var(--fs-3);color:var(--hint);margin-top:30px}.pp-dates{display:flex;flex-direction:column}.pp-date{display:flex;align-items:center;gap:12px;border:none;background:none;color:inherit;text-align:left;padding:9px 0;border-bottom:1px solid var(--pp-soft);cursor:pointer}.pp-date:last-child{border-bottom:none}.pp-date-day{width:40px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1}.pp-date-day b{font-family:var(--pp-serif);font-size:26px}.pp-date-day small{font-size:var(--fs-3);color:var(--hint);text-transform:uppercase;margin-top:3px}.pp-date-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pp-date-title{font-weight:600;overflow-wrap:break-word}.pp-date-who{font-weight:400;color:var(--link)}.pp-date-age{font-size:14px;color:var(--hint)}.pp-date-age.jubilee{color:var(--warning);font-weight:600}.pp-date-state{flex:none;font-size:var(--fs-3);padding:3px 8px;border-radius:10px;background:var(--pp-soft);color:var(--hint);white-space:nowrap}.pp-date-state.today{background:var(--pp-accent);color:var(--accent-text);font-weight:700}.pp-date-state.soon{background:color-mix(in srgb,var(--pp-accent) 16%,transparent);color:var(--pp-accent);font-weight:600}.pp-date.past .pp-date-title,.pp-date.past .pp-date-day b{opacity:.55}.pp-date.today .pp-date-day b{color:var(--pp-accent)}.pp-date.quiet .pp-date-title{font-weight:500}.pp-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:10px}.pp-number{background:var(--section);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.pp-number-value{font-family:var(--pp-serif);font-size:32px;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.pp-number-label{font-size:var(--fs-3);color:var(--hint)}.pp-delta{font-size:var(--fs-3);color:var(--hint);margin-top:2px}.pp-delta.up{color:var(--success);font-weight:600}.pp-lines{display:flex;flex-direction:column}.pp-line{display:flex;gap:10px;align-items:flex-start;border:none;background:none;color:inherit;text-align:left;padding:7px 0;font-size:var(--fs-2);cursor:pointer}.pp-line:disabled{cursor:default}.pp-line-emoji{width:22px;flex:none;text-align:center}.pp-line-note{display:block;font-size:var(--fs-3);color:var(--hint)}.pp-fresh{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--success-soft)}.pp-bars{display:flex;gap:4px;height:140px}.pp-bar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center}.pp-bar-area{flex:1;min-height:0;width:100%;padding-top:16px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.pp-bar-fill{width:100%;max-width:24px;min-height:2px;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--pp-accent) 30%,var(--pp-paper));transform-origin:bottom;transform:scaleY(0);transition:transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i, 0) * 45ms)}.pp-bars.in .pp-bar-fill{transform:none}.pp-bar.current .pp-bar-fill{background:var(--pp-accent)}.pp-bar.partial .pp-bar-fill{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--pp-accent) 45%,transparent) 0 4px,color-mix(in srgb,var(--pp-accent) 15%,transparent) 4px 8px)}.pp-bar-value{font-size:var(--fs-3);color:var(--hint);margin-bottom:2px;font-variant-numeric:tabular-nums}.pp-bar.current .pp-bar-value,.pp-bar.current .pp-bar-label{color:var(--text);font-weight:700}.pp-bar-label{font-size:12px;color:var(--hint);margin-top:4px;height:12px}.pp-story{display:flex;flex-direction:column;gap:6px;border:none;background:none;color:inherit;text-align:left;padding:0;cursor:pointer;width:100%}.pp-story-title{font-family:var(--pp-serif);font-size:22px;font-weight:700;line-height:1.2}.pp-story-q{font-family:var(--pp-serif);font-style:italic;color:var(--hint)}.pp-story-text{font-family:var(--pp-serif);font-size:var(--fs-1);line-height:1.5}.pp-story-text:first-letter{float:left;font-size:3.1em;line-height:.85;font-weight:700;padding:4px 6px 0 0;color:var(--pp-accent)}.pp-story-meta{font-size:var(--fs-3);color:var(--hint)}.pp-past{display:flex;flex-direction:column;gap:2px}.pp-past-row{display:flex;gap:12px;align-items:flex-start;border:none;background:none;color:inherit;text-align:left;padding:8px 0;cursor:pointer}.pp-past-row:disabled{cursor:default}.pp-past-ago{width:56px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1;padding:6px 0;border-radius:10px;background:var(--pp-soft)}.pp-past-ago b{font-family:var(--pp-serif);font-size:24px}.pp-past-ago small{font-size:12px;color:var(--hint);margin-top:3px;text-align:center}.pp-past-body{display:flex;flex-direction:column;gap:2px;padding-top:2px}.pp-past-text{font-weight:600}.pp-past-note{font-size:var(--fs-3);color:var(--hint)}.pp-memory{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--hint) 10%,transparent)}.pp-memory-row{display:flex;gap:10px;border:none;background:none;color:inherit;text-align:left;padding:4px 0;font-family:var(--pp-serif);font-size:16px;cursor:pointer}.pp-candle{display:inline-block;animation:pp-flicker 3s ease-in-out infinite}@keyframes pp-flicker{50%{opacity:.75;transform:scale(.96)}}.pp-facts{display:flex;flex-direction:column;gap:8px}.pp-fact{display:flex;gap:10px;padding:10px 12px;border-left:3px solid var(--pp-accent);background:var(--section);border-radius:0 10px 10px 0;font-size:var(--fs-2);line-height:1.4}.pp-fact-emoji{flex:none}.pp-signs{display:flex;flex-direction:column;gap:6px}.pp-sign{display:flex;gap:10px;align-items:center;font-size:var(--fs-2)}.pp-sign-symbol{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--pp-soft);font-size:18px}.pp-cta{background:var(--section);border-radius:12px;padding:12px 14px;margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.pp-cta-kicker{font-size:var(--fs-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hint)}.pp-cta-title{font-family:var(--pp-serif);font-size:19px;font-weight:700}.pp-cta-text{font-size:var(--fs-2)}.pp-cta-quote{font-family:var(--pp-serif);font-style:italic;font-size:16px;margin:2px 0}.pp-cta-btn{align-self:flex-start;margin-top:6px;border:none;border-radius:10px;padding:8px 14px;background:var(--pp-accent);color:var(--accent-text);font-weight:600;cursor:pointer}.pp-cta-btn.ghost{background:var(--chip);color:var(--link)}.pp-foot{margin-top:18px;padding-top:10px;border-top:3px double var(--pp-rule);font-family:var(--pp-serif);font-style:italic;font-size:14px;color:var(--hint);text-align:center;display:flex;flex-direction:column;gap:6px}.pp-foot-hint{font-family:inherit;font-size:var(--fs-3);font-style:normal}.pp-letters{display:flex;flex-direction:column;gap:10px}.pp-letter{margin:0;padding:10px 14px;background:var(--section);border-radius:4px 14px 14px;position:relative}.pp-letter blockquote{margin:0;font-family:var(--pp-serif);font-size:var(--fs-1);line-height:1.4}.pp-letter blockquote:before{content:"«"}.pp-letter blockquote:after{content:"»"}.pp-letter figcaption{margin-top:4px;font-size:var(--fs-3);color:var(--hint);text-align:right}.pp-letter.me figcaption{color:var(--pp-accent)}.pp-question{border:1.5px dashed var(--pp-rule);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.pp-question-text{font-family:var(--pp-serif);font-size:21px;font-weight:700;line-height:1.25;margin:0}.pp-question textarea{width:100%;background:var(--section)}.pp-question-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.pp-question-row .pp-cta-btn{margin-top:0}.pp-cta-btn:disabled{opacity:.45}.pp-question-mine{display:flex;gap:10px;align-items:baseline;justify-content:space-between;font-family:var(--pp-serif);font-style:italic;font-size:16px}.pp-link{border:none;background:none;color:var(--link);font-size:14px;padding:0;cursor:pointer;white-space:nowrap}.pp-quiz{display:flex;flex-direction:column;gap:14px}.pp-quiz-title{font-weight:600;margin-bottom:8px}.pp-quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pp-quiz-opt{border:1px solid var(--pp-rule);border-radius:10px;background:var(--section);color:var(--text);padding:9px 10px;font-size:14px;text-align:left;cursor:pointer;transition:background .25s,border-color .25s,opacity .25s,transform .15s}.pp-quiz-opt:active{transform:scale(.97)}.pp-quiz-opt.right{background:var(--success-soft);border-color:var(--success);font-weight:600;animation:pp-pop .35s ease}.pp-quiz-opt.wrong{background:color-mix(in srgb,var(--danger) 18%,var(--section));border-color:var(--danger);animation:pp-shake .35s ease}.pp-quiz-opt.dim{opacity:.5}@keyframes pp-pop{50%{transform:scale(1.04)}}@keyframes pp-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pp-quiz-explain{font-size:14px;margin:8px 0 0;color:color-mix(in srgb,var(--text) 80%,var(--hint))}.pp-quiz-score{text-align:center;font-family:var(--pp-serif);font-size:19px;font-weight:700;padding:8px;border-radius:12px;background:var(--pp-soft);animation:pp-rise .5s ease both}.pp-more-stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.pp-mini-story{display:flex;flex-direction:column;gap:4px;text-align:left;border:none;border-top:3px solid var(--pp-accent);border-radius:4px 4px 12px 12px;background:var(--section);color:inherit;padding:10px 12px 12px;cursor:pointer}.pp-mini-kicker{font-size:var(--fs-3);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pp-accent)}.pp-mini-title{font-family:var(--pp-serif);font-size:18px;font-weight:700;line-height:1.2}.pp-mini-text{font-family:var(--pp-serif);font-size:var(--fs-2);line-height:1.4;color:color-mix(in srgb,var(--text) 85%,var(--hint))}.pp-quiz-title{display:flex;gap:8px;align-items:baseline}.pp-quiz-num{flex:none;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-size:var(--fs-3);font-weight:700;background:var(--pp-soft)}.pp-quiz-opt:disabled{cursor:default}.pp-quiz-opt.busy{opacity:.6}.pp-quiz-best{font-size:14px;font-weight:600;padding:8px 12px;border-radius:10px;margin-bottom:12px;background:var(--honey-soft)}.pp-scores{margin-top:14px}.pp-scores .pp-sub{margin-top:0;margin-bottom:6px}.pp-score{display:grid;grid-template-columns:24px minmax(0,1fr) 72px 40px;align-items:center;gap:8px;padding:5px 0;font-size:14px}.pp-score.me{font-weight:700}.pp-score-place{text-align:center;color:var(--hint)}.pp-score-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-score-bar{height:6px;border-radius:3px;background:var(--pp-soft);overflow:hidden}.pp-score-bar span{display:block;height:100%;border-radius:3px;background:var(--pp-accent);transition:width .6s cubic-bezier(.2,.7,.2,1)}.pp-score-num{text-align:right;font-variant-numeric:tabular-nums;color:var(--hint)}.pp-readers{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pp-reactions{display:flex;gap:8px}.pp-reaction{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--pp-rule);border-radius:18px;background:var(--section);padding:5px 12px;font-size:var(--fs-1);cursor:pointer;transition:transform .15s}.pp-reaction b{font-size:var(--fs-3);color:var(--hint)}.pp-reaction.mine{border-color:var(--pp-accent);background:color-mix(in srgb,var(--pp-accent) 14%,var(--section));animation:pp-pop .3s ease}.pp-reaction.mine b{color:var(--pp-accent)}.pp-reaction:active{transform:scale(.92)}.feature.paper .feature-title{font-family:Georgia,Iowan Old Style,"Noto Serif",Times New Roman,serif}.feature-new{display:inline-flex;align-items:center;gap:6px;color:var(--success);font-weight:600}@media(prefers-reduced-motion:reduce){.pp,.pp *,.pp *:before{animation:none!important;transition:none!important}.pp-r{opacity:1;transform:none}.pp-bar-fill,.pp-strip-fill{transform:none}.pp-confetti{display:none}}.login{max-width:420px;margin:0 auto;padding:56px 16px 32px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:34px;line-height:40px;font-weight:700;letter-spacing:-.01em;text-align:center}.login-brand img{border-radius:var(--radius-md)}.login-tagline{margin:6px 0 24px;color:var(--hint);font-size:var(--fs-2);text-align:center}.login-card{background:var(--section);border-radius:var(--radius);padding:20px 16px}.login-title{margin:0 0 12px;font-size:22px;line-height:28px}.login-text{margin:0 0 14px;color:var(--hint);font-size:var(--fs-2)}.login-code{font-size:24px;letter-spacing:.3em;font-variant-numeric:tabular-nums}.login-submit{margin-top:16px}.login-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:14px}.login-muted{color:var(--hint)}.login-or{margin:14px 0 10px;color:var(--hint);font-size:var(--fs-3);text-align:center}a.btn.login-tg{margin-bottom:16px;text-align:center;text-decoration:none}.login-links.center-links{justify-content:center}.sheet-text{margin:0 0 14px;color:var(--hint);font-size:var(--fs-2)}.offer-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}a.btn{text-align:center;text-decoration:none}.welcome-card{background:var(--section);border-radius:var(--radius);padding:20px 16px;margin:0 0 16px;text-align:center}.page .welcome-card{margin:8px 16px 16px}.welcome-lead{color:var(--hint);font-size:var(--fs-2)}.welcome-circle{margin:8px 0 4px;font-size:22px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.welcome-emoji{margin-right:6px}.welcome-person{font-size:16px;font-weight:600}.welcome-text{margin:10px 0 0;color:var(--hint);font-size:var(--fs-2)}.welcome-about{margin:12px 0 0;color:var(--hint);font-size:var(--fs-3);font-style:italic}.page-actions .welcome-text{margin:0 0 4px;text-align:center}.sheet.confirm .sheet-text{margin:4px 0 16px;color:var(--text);font-size:16px}.layout{display:grid;grid-template-columns:272px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:var(--space-4) var(--space-3);box-sizing:border-box;background:var(--surface);border-right:1px solid var(--line)}.sidebar button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3) var(--space-4);font-family:var(--font-display);font-size:22px!important;font-weight:600;letter-spacing:-.01em}.sidebar-brand img{border-radius:var(--radius-sm)}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:16px;color:var(--ink);transition:background var(--duration-fast)}.sidebar-item:hover{background:var(--surface-2)}.sidebar-item.active{background:var(--brand-soft);color:var(--brand-strong);font-weight:600}.sidebar-item.open:not(.active){font-weight:600}.sidebar-item.sub{min-height:40px;padding-left:var(--space-6);font-size:var(--fs-2)}.sidebar-icon{width:24px;flex:none;display:inline-flex;justify-content:center;color:var(--ink-2)}.sidebar-item.active .sidebar-icon{color:var(--brand-strong)}.sidebar-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{min-width:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--brand-strong);color:var(--on-brand);font-size:var(--fs-3);font-weight:600;line-height:22px;text-align:center}.sidebar-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.sidebar-bottom{margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--line)}.layout-main{min-width:0}body.wide .page{max-width:760px;padding-left:var(--space-8);padding-right:var(--space-8)}body.wide[data-screen=tree] .page,body.wide[data-screen=life] .page,body.wide[data-screen=paper] .page,body.wide[data-screen=stats] .page{max-width:1100px}.login-consent{margin:14px 8px 0;color:var(--hint);font-size:var(--fs-3);line-height:1.4;text-align:center}.login-consent a{color:var(--link)}.moved{max-width:420px;margin:0 auto;padding:48px 20px 32px;text-align:center;display:flex;flex-direction:column;gap:12px}.moved h1{margin:0;font-size:24px}.moved p{margin:0;color:var(--hint);line-height:1.45}.moved .moved-link{display:block;text-decoration:none;text-align:center}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-base);animation-timing-function:var(--ease-out)}html[data-nav=push]::view-transition-old(root){animation-name:vt-out-left}html[data-nav=push]::view-transition-new(root){animation-name:vt-in-right}html[data-nav=back]::view-transition-old(root){animation-name:vt-out-right}html[data-nav=back]::view-transition-new(root){animation-name:vt-in-left}html[data-nav=fade]::view-transition-old(root){animation-name:vt-fade-out;animation-duration:var(--duration-fast)}html[data-nav=fade]::view-transition-new(root){animation-name:vt-fade-in}@keyframes vt-in-right{0%{transform:translate(28px);opacity:0}}@keyframes vt-out-left{to{transform:translate(-16px);opacity:0}}@keyframes vt-in-left{0%{transform:translate(-28px);opacity:0}}@keyframes vt-out-right{to{transform:translate(16px);opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}.circle-bar{view-transition-name:circle-bar}.tabbar{view-transition-name:tabbar}.sidebar{view-transition-name:sidebar}::view-transition-group(*){animation-duration:var(--duration-slow);animation-timing-function:var(--ease-out)}.vt-avatar{display:inline-flex;border-radius:var(--radius-pill)}.page .section-body>.cell,.page .section-body>.st-item,.page .st-fact,.page .st-tile,.tree-row{animation:row-in var(--duration-base) var(--ease-out) both}.page .section-body>:nth-child(2),.page .st-fact:nth-child(2),.page .st-tile:nth-child(2),.tree-row:nth-child(2){animation-delay:30ms}.page .section-body>:nth-child(3),.page .st-fact:nth-child(3),.page .st-tile:nth-child(3),.tree-row:nth-child(3){animation-delay:60ms}.page .section-body>:nth-child(4),.page .st-fact:nth-child(4),.page .st-tile:nth-child(4),.tree-row:nth-child(4){animation-delay:90ms}.page .section-body>:nth-child(5),.page .st-tile:nth-child(5),.tree-row:nth-child(5){animation-delay:.12s}.page .section-body>:nth-child(6),.tree-row:nth-child(6){animation-delay:.15s}.page .section-body>:nth-child(7){animation-delay:.18s}.page .section-body>:nth-child(8){animation-delay:.21s}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}}.page{animation:page-in var(--duration-base) var(--ease-out)}@keyframes page-in{0%{opacity:0}}button.cell:active{transform:scale(.985)}.cell{transition:background var(--duration-fast),transform var(--duration-fast)}.cell.flash{animation:cell-flash 1.6s var(--ease-out) both}@keyframes cell-flash{0%,35%{background:var(--honey-soft)}to{background:transparent}}.tabbar-item.active .tabbar-icon{animation:tab-pop var(--duration-slow) var(--ease-out)}@keyframes tab-pop{0%{transform:scale(.9)}45%{transform:scale(1.1)}to{transform:scale(1)}}.tabbar-dot{position:absolute;top:2px;right:12px;width:9px;height:9px;border-radius:var(--radius-pill);background:var(--honey);box-shadow:0 0 0 2px var(--surface);animation:pp-pulse 2.4s ease-in-out infinite}.tabbar-badge{animation:badge-pop var(--duration-slow) var(--ease-out)}@keyframes badge-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15)}}.pull{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding-bottom:var(--space-2)}.pull-ring{width:28px;height:28px;border-radius:var(--radius-pill);border:3px solid var(--brand-soft);border-top-color:var(--brand);transition:opacity var(--duration-fast)}.pull-ring.ready{border-top-color:var(--brand-strong)}.pull-ring.busy{animation:spin .9s linear infinite}.start-check.done{animation:badge-pop var(--duration-slow) var(--ease-out)}.start-complete{position:relative;overflow:hidden;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-5);margin-bottom:var(--space-6);text-align:center}.start-complete-title{font-family:var(--font-display);font-size:22px;line-height:28px;font-weight:700}.start-complete-text{color:var(--ink-2);margin-top:var(--space-1)}.hero-person{display:flex;align-items:center;gap:var(--space-4);flex:1 1 100%;min-width:0;padding:var(--space-2) 0 var(--space-3)}.hero-person-avatar .avatar.l{width:80px;height:80px;font-size:32px;box-shadow:0 0 0 4px var(--surface)}.hero-person-main{flex:1;min-width:0}.hero-person-name{margin:0;font-size:26px;line-height:32px;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.hero-person-meta{color:var(--ink-2);font-size:var(--fs-2);line-height:22px;margin-top:2px}.hero-person-chips{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin-top:var(--space-2)}.hero-person.gone .hero-person-name{color:var(--plum)}.settings-circle-name{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.settings-general{margin-top:var(--space-2)}.page-actions-note{text-align:center;margin-top:var(--space-2)}.request+.request{border-top:1px solid var(--line)}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),::view-transition-group(*){animation:none}.page,.page .section-body>.cell,.page .section-body>.st-item,.page .st-fact,.page .st-tile,.tree-row,.tabbar-item.active .tabbar-icon,.tabbar-dot,.tabbar-badge,.start-check.done{animation:none}.cell.flash{animation:none;background:var(--honey-soft)}}
