@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.-KQRRa_className{font-family:Inter,Inter Fallback;font-style:normal}.-KQRRa_variable{--font-sans:"Inter", "Inter Fallback"}
@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/ca8956476e4b15e1-s.0spvl5h7nh4kj.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/0ada71b763703d9d-s.0bgqpv90abx9d.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-weight:200 800;font-display:swap;src:url(../media/2b7d3311b69a4dca-s.p.1elj1f4z6aq4a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6632a144c419935f-s.08di4g7n39o46.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/7b27d9904b50e540-s.3szkwhi_rfrst.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d38f3bca7db33566-s.p.0op912u62qdhl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.Eu1LTW_className{font-family:Newsreader,Newsreader Fallback}.Eu1LTW_variable{--font-serif:"Newsreader", "Newsreader Fallback"}
:root{--canvas:#f5f2ec;--canvas-deep:#ece7df;--surface:#ffffff9e;--surface-hover:#ffffffdb;--surface-strong:#fffdf9;--surface-sunken:#e8e2d98c;--paper:#fffefbc7;--dialog:#faf8f4;--ink:#1f1c19;--ink-2:#48423c;--muted:#736c65;--muted-strong:#655e57;--subtle:#9a938b;--placeholder:#b5aea6;--hairline:#1f1c1917;--hairline-strong:#1f1c1926;--accent:#8a5f3c;--accent-ink:#6c4a2f;--accent-soft:#8a5f3c1a;--accent-softer:#8a5f3c0e;--primary:#2b2724;--primary-hover:#1b1917;--success:#4f7a5e;--success-soft:#4f7a5e1a;--danger:#9a4a3f;--danger-soft:#9a4a3f14;--future:#5d7894;--mood-1:#e0cec0;--mood-2:#ccb09b;--mood-3:#b89176;--mood-4:#a67452;--mood-5:#93572f;--mood-ink-1:#93572f;--mood-ink-2:#93572f;--mood-ink-3:#93572f;--mood-ink-4:#93572f;--mood-ink-5:#93572f;--font-sans-stack:var(--font-sans), -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-serif-stack:var(--font-serif), "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--radius-xs:8px;--radius-sm:10px;--radius-md:13px;--radius-lg:18px;--radius-xl:24px;--shadow-xs:0 1px 2px #2d241c0d;--shadow-sm:0 1px 2px #2d241c0a, 0 6px 18px #2d241c0a;--shadow-md:0 2px 6px #2d241c0d, 0 16px 40px #2d241c14;--shadow-lg:0 4px 14px #211c1712, 0 32px 90px #211c1733;--ring:0 0 0 3px #8a5f3c2e;--sidebar-width:256px;--page-gutter:40px;--editor-width:820px;--story-width:800px;--page-width:940px;--ease-out:cubic-bezier(.22, .8, .32, 1);--z-nav:40;--z-modal:2000;--z-popover:2200;--z-viewer:2100;--z-tooltip:2300;--z-toast:2400}
*,:before,:after{box-sizing:border-box}html{background:var(--canvas);scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans-stack);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.5}html{text-wrap:pretty}:where(input,textarea,select){text-wrap:wrap}h1,h2,h3{margin:0}:where(h1,h2,h3,h4){line-height:1.2}p{margin:0}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline-offset:2px;outline:2px solid #8a5f3c8c}::selection{color:var(--ink);background:#e2d2bf}::placeholder{color:var(--placeholder);opacity:1}input[type=search]::-webkit-search-cancel-button{display:none}fieldset{border:0;min-width:0;margin:0;padding:0}legend{padding:0}h1{font-family:var(--font-serif-stack);letter-spacing:-.022em;text-wrap:balance;font-size:clamp(32px,2.6vw + 14px,50px);font-weight:480;line-height:1.02}*{scrollbar-width:thin;scrollbar-color:#70655b66 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#70655b66 padding-box padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#70655b99 padding-box padding-box}::-webkit-scrollbar-button{width:0;height:0;display:none}
.btn{border-radius:var(--radius-md);min-height:40px;color:var(--ink);font-size:var(--fs-base);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.42}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px #0000001f,inset 0 1px #ffffff14}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{border-color:var(--hairline-strong);background:var(--surface-strong);color:var(--ink-2);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){color:var(--ink);background:#fff;border-color:#1f1c1938}.btn-ghost{color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--accent-softer);color:var(--ink)}.btn-ghost.danger{color:var(--danger)}.btn-ghost.danger:hover:not(:disabled){background:var(--danger-soft)}.btn-soft{background:var(--accent-softer);color:var(--accent-ink);border-color:#8a5f3c24}.btn-soft:hover:not(:disabled){background:var(--accent-soft)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#9a4a3f33}.btn-danger:hover:not(:disabled){background:#9a4a3f24}.btn-sm{border-radius:var(--radius-sm);min-height:34px;font-size:var(--fs-sm);padding:0 12px}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--muted);background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--accent-softer);color:var(--ink)}.icon-btn:disabled{opacity:.3}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn.bordered{border-color:var(--hairline-strong);background:var(--surface-strong);box-shadow:var(--shadow-xs)}.icon-btn.bordered:hover:not(:disabled){background:#fff}.text-link{width:max-content;color:var(--accent-ink);font-size:var(--fs-sm);align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-underline-offset:3px;text-decoration:underline}.field{gap:7px;min-width:0;display:grid}.field-label{color:var(--ink-2);font-size:var(--fs-sm);font-weight:600}.field-label small{color:var(--muted);font-size:var(--fs-xs);margin-left:4px;font-weight:500}.field-hint{color:var(--muted);font-size:var(--fs-xs)}.field-hint.error{color:var(--danger)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.input,.textarea{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface-strong);width:100%;min-width:0;color:var(--ink);font-size:var(--fs-base);outline:0;transition:border-color .15s,box-shadow .15s,background-color .15s}.input{height:44px;padding:0 14px}.textarea{resize:vertical;min-height:96px;padding:12px 14px;line-height:1.55}.input:hover,.textarea:hover{border-color:#1f1c1938}.input:focus,.textarea:focus,.input:focus-within{box-shadow:var(--ring);background:#fff;border-color:#8a5f3c80}.input-display{height:54px;font-family:var(--font-serif-stack);font-size:var(--fs-2xl);letter-spacing:-.01em}.input-with-icon{color:var(--subtle);align-items:center;gap:9px;display:flex}.input-with-icon input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:100%;padding:0}.input-with-suffix{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.input-with-suffix input{width:100%;min-width:0;height:100%;color:var(--ink);font-size:var(--fs-base);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0}.form-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);padding:10px 12px}.notice{border-radius:var(--radius-md);background:var(--accent-softer);color:var(--ink-2);font-size:var(--fs-sm);align-items:flex-start;gap:10px;padding:12px 14px;line-height:1.5;display:flex}.notice>svg{color:var(--accent);flex:none;margin-top:2px}.notice.warning{color:#6d4a2c;background:#b176451a}.muted-note{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.pill{background:var(--accent-soft);min-height:24px;color:var(--accent-ink);font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-weight:650;display:inline-flex}.pill.subtle{background:var(--surface-sunken);color:var(--muted)}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip,.check-chip{border:1px solid var(--hairline-strong);background:var(--surface-strong);min-height:38px;color:var(--ink-2);font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.chip:hover,.check-chip:hover{border-color:#1f1c193d}.chip.active{background:var(--accent-soft);color:var(--accent-ink);border-color:#8a5f3c66}.check-chip.checked{color:var(--ink);border-color:#8a5f3c59}.check-box{color:#fff;background:#fff;border:1.5px solid #1f1c1938;border-radius:6px;flex:none;place-items:center;width:18px;height:18px;transition:background-color .15s,border-color .15s;display:grid}.checked .check-box,.selected .check-box,[aria-pressed=true]>.check-box{border-color:var(--accent);background:var(--accent)}.segmented{border-radius:var(--radius-md);background:var(--surface-sunken);gap:2px;padding:4px;display:inline-flex;position:relative}.segmented.full{width:100%;display:flex}.segmented button{border-radius:var(--radius-sm);min-height:34px;color:var(--muted-strong);font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:0;flex:1 1 0;padding:0 13px;font-weight:600;transition:color .15s,background-color .15s;position:relative}.segmented button:hover,.segmented button.active{color:var(--ink)}.segmented:not(:has(>.segmented-pill))>button.active{box-shadow:var(--shadow-xs);background:#fff}.segmented button>span{z-index:1;position:relative}.segmented-pill{border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);pointer-events:none;background:#fff;position:absolute;top:0;left:0}.stepper{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface-strong);height:44px;box-shadow:var(--shadow-xs);grid-template-columns:36px minmax(88px,auto) 36px;align-items:center;padding:3px;display:inline-grid}.stepper .portal-tooltip-anchor{display:grid}.stepper button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.stepper button:hover:not(:disabled){background:var(--accent-softer);color:var(--ink)}.stepper button:disabled{opacity:.25}.stepper-value{justify-items:center;line-height:1.1;display:grid}.stepper-value strong{font-family:var(--font-serif-stack);font-size:var(--fs-lg);font-weight:560}.stepper-value span{color:var(--subtle);font-size:var(--fs-2xs);font-weight:600}.switch{background:#d8d1c9;border:0;border-radius:999px;flex:none;justify-content:flex-start;width:44px;height:26px;padding:3px;transition:background-color .18s;display:flex}.switch.on{background:var(--success);justify-content:flex-end}.switch>span{background:#fff;border-radius:50%;width:20px;height:20px;display:block;box-shadow:0 1px 4px #0000002e}.meter{background:#1f1c1914;border-radius:999px;width:100%;height:5px;display:block;overflow:hidden}.meter>b{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s var(--ease-out);display:block}.panel{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-head>div{align-items:center;gap:10px;min-width:0;display:flex}.panel-head h2{font-size:var(--fs-md);letter-spacing:-.005em;font-weight:650}.panel-head-note{color:var(--subtle);font-size:var(--fs-xs)}.step-number{background:var(--primary);color:#fff;width:24px;height:24px;font-size:var(--fs-xs);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.section-label{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.section-title-row{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.section-title-row p{color:var(--subtle);font-size:var(--fs-sm)}.stat-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.stat-strip{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.stat-strip>div{align-items:flex-start;gap:12px;min-width:0;min-height:78px;padding:16px 18px;display:flex}.stat-strip>div+div{border-left:1px solid var(--hairline)}.stat-strip>div>div{flex:1;gap:2px;min-width:0;display:grid}.stat-strip strong{font-family:var(--font-serif-stack);font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;font-weight:520;line-height:1.1}.stat-strip span:not(.stat-icon){color:var(--muted);font-size:var(--fs-sm)}.stat-strip .meter{max-width:180px;margin-top:4px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);justify-items:start;gap:4px;padding:18px;display:grid}.stat-card.featured{background:linear-gradient(160deg,#fffdf9,#ffffffb3)}.stat-card .stat-icon{margin-bottom:8px}.stat-kicker{color:var(--muted);font-size:var(--fs-xs);font-weight:650}.stat-card strong{font-family:var(--font-serif-stack);letter-spacing:-.015em;font-size:26px;font-weight:500;line-height:1.1}.stat-card small{color:var(--subtle);font-size:var(--fs-xs)}.empty-card{border-radius:var(--radius-xl);text-align:center;background:#ffffff57;border:1.5px dashed #8a5f3c3d;align-content:center;justify-items:center;gap:12px;width:100%;min-height:260px;padding:36px 24px;transition:background-color .18s,border-color .18s;display:grid}.empty-card:hover{background:#fff9;border-color:#8a5f3c66}.empty-card-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.empty-card-copy{gap:6px;display:grid}.empty-card-copy strong{font-family:var(--font-serif-stack);font-size:var(--fs-2xl);font-weight:540;line-height:1.2}.empty-card-copy small{max-width:440px;color:var(--muted);font-size:var(--fs-base);line-height:1.5}.empty-card-cta{color:var(--accent-ink);font-size:var(--fs-base);align-items:center;gap:6px;margin-top:4px;font-weight:650;display:inline-flex}.loading-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);color:var(--muted);text-align:center;padding:64px 24px}@keyframes floating-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:none}}@keyframes floating-in-top{0%{opacity:0;transform:translateY(calc(4px - 100%))scale(.98)}to{opacity:1;transform:translateY(-100%)}}.floating-layer{animation:floating-in .15s var(--ease-out) both;transform-origin:top}.floating-layer.top{transform-origin:bottom;animation-name:floating-in-top;transform:translateY(-100%)}.hero-select{min-width:0;position:relative}.hero-select-trigger{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface-strong);width:100%;min-width:96px;height:44px;box-shadow:var(--shadow-xs);font-size:var(--fs-base);justify-content:space-between;align-items:center;gap:12px;padding:0 12px 0 14px;font-weight:550;transition:border-color .15s,background-color .15s;display:flex}.hero-select-placeholder{color:var(--muted);font-weight:500}.hero-select-trigger:hover{background:#fff;border-color:#1f1c1938}.hero-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hero-select-trigger>svg{color:var(--subtle);flex:none;transition:transform .15s}.hero-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.hero-select-menu{z-index:var(--z-popover);border:1px solid var(--hairline);border-radius:var(--radius-md);max-height:300px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fbf9f5fa;padding:6px;position:fixed;overflow:auto}.hero-select-option{border-radius:var(--radius-xs);width:100%;min-height:38px;font-size:var(--fs-base);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:0 10px;display:flex}.hero-select-option:hover,.hero-select-option:focus-visible{background:var(--accent-softer);outline:0}.hero-select-option.selected{color:var(--accent-ink);font-weight:650}.date-picker{min-width:0;position:relative}.date-picker-trigger{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.date-picker-trigger:hover{background:var(--accent-softer);color:var(--ink)}.date-picker-field{border:1px solid var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface-strong);min-height:44px;box-shadow:var(--shadow-xs);align-items:center;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.date-picker-field:hover{border-color:#1f1c1938}.date-picker-field:focus-within{box-shadow:var(--ring);border-color:#8a5f3c80}.date-picker-field .date-picker-trigger{width:auto;min-width:0;height:42px;color:var(--ink);font-size:var(--fs-base);border-radius:0;flex:auto;justify-content:flex-start;gap:9px;padding:0 12px;font-weight:550;display:flex}.date-picker-field .date-picker-trigger:hover{background:0 0}.date-picker-field .date-picker-trigger>svg{color:var(--subtle);flex:none}.date-picker-field .date-picker-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-block:2px;line-height:1.35;overflow:hidden}.date-picker-field.is-empty .date-picker-trigger span{color:var(--subtle);font-weight:500}.date-picker-clear{border-radius:var(--radius-xs);width:30px;height:30px;color:var(--subtle);background:0 0;border:0;flex:none;place-items:center;margin-right:6px;display:grid}.date-picker-clear:hover{background:var(--accent-softer);color:var(--ink)}.date-picker-popover{z-index:var(--z-popover);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fbf9f5fa;padding:14px;position:fixed}.date-picker-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.date-picker-head strong{font-family:var(--font-serif-stack);font-size:var(--fs-lg);padding-left:4px;font-weight:560}.date-picker-head>div{gap:2px;display:flex}.date-picker-head button,.date-picker-footer button{border-radius:var(--radius-xs);color:var(--ink-2);background:0 0;border:0}.date-picker-head button{place-items:center;width:34px;height:34px;display:grid}.date-picker-head button:hover,.date-picker-footer button:hover:not(:disabled){background:var(--accent-softer)}.date-picker-weekdays,.date-picker-grid{grid-template-columns:repeat(7,1fr);display:grid}.date-picker-weekdays{margin-top:10px}.date-picker-weekdays span{color:var(--subtle);font-size:var(--fs-2xs);text-align:center;padding:4px 0;font-weight:650}.date-picker-grid{gap:2px}.date-picker-grid button,.date-picker-blank{aspect-ratio:1}.date-picker-grid button{border-radius:var(--radius-sm);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;background:0 0;border:0}.date-picker-grid button:hover:not(:disabled){background:var(--accent-soft)}.date-picker-grid button.today{font-weight:650;box-shadow:inset 0 0 0 1.5px #8a5f3c66}.date-picker-grid button.selected{background:var(--primary);color:#fff;font-weight:650}.date-picker-grid button:disabled{opacity:.25}.date-picker-footer{border-top:1px solid var(--hairline);justify-content:flex-end;gap:4px;margin-top:10px;padding-top:10px;display:flex}.date-picker-footer button{min-height:34px;font-size:var(--fs-sm);padding:0 12px;font-weight:600}.date-picker-footer button:disabled{opacity:.35}.portal-tooltip-anchor{min-width:0;display:inline-flex}.portal-tooltip-bubble{z-index:var(--z-tooltip);pointer-events:none;border-radius:var(--radius-xs);color:#fff;width:max-content;max-width:min(240px,100vw - 24px);font-size:var(--fs-xs);text-align:center;background:#2b2724;padding:7px 11px;font-weight:550;line-height:1.3;position:fixed;box-shadow:0 8px 26px #18141138}.portal-tooltip-bubble.top{animation:.11s ease-out tooltip-in-top;transform:translate(-50%,-100%)}.portal-tooltip-bubble.bottom{animation:.11s ease-out tooltip-in-bottom;transform:translate(-50%)}@keyframes tooltip-in-top{0%{opacity:0;transform:translate(-50%,calc(3px - 100%))}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes tooltip-in-bottom{0%{opacity:0;transform:translate(-50%,-3px)}to{opacity:1;transform:translate(-50%)}}.dialog-backdrop{z-index:var(--z-modal);overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px)saturate(115%);background:#1e1a1647;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:hidden}.dialog{border-radius:var(--radius-xl);background:var(--dialog);width:100%;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);border:1px solid #fff9;outline:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.dialog-sm{max-width:440px}.dialog-md{max-width:580px}.dialog-lg{max-width:780px}.dialog-xl{max-width:1120px}.dialog-head{flex:none;align-items:flex-start;gap:14px;padding:22px 24px 16px;display:flex}.dialog-head-copy{flex:auto;justify-items:start;gap:6px;min-width:0;display:grid}.dialog-head h2{font-family:var(--font-serif-stack);letter-spacing:-.015em;text-wrap:balance;font-size:26px;font-weight:520;line-height:1.15}.dialog-head p{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.dialog-close{margin:-4px -8px 0 auto}.dialog-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.dialog-icon.danger{background:var(--danger-soft);color:var(--danger)}.dialog-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 24px 24px;overflow:hidden auto}.dialog-body>*+*{margin-top:18px}.dialog-foot{border-top:1px solid var(--hairline);background:#faf8f4f5;flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px;display:flex}.dialog-foot-hint{color:var(--muted);font-size:var(--fs-sm);margin-right:auto}.dialog-foot-start{margin-right:auto}
.loading{min-height:100dvh;color:var(--muted);font-size:var(--fs-base);flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex}.loading-mark .hero-mark{width:36px;height:36px;animation:1.4s ease-in-out infinite loading-breathe}@keyframes loading-breathe{50%{opacity:.55;transform:scale(.96)}}.opening-seal{place-items:center;width:176px;height:176px;display:grid;position:relative}.opening-seal svg{width:100%;height:100%;position:relative;overflow:visible}@media (max-width:560px){.opening-seal{width:152px;height:152px}}.opening-seal-glow{pointer-events:none;background:radial-gradient(circle,#c19a4b42,#c19a4b00 66%);border-radius:50%;position:absolute;inset:-60px}.opening-seal-orbit{fill:none;stroke:#b0843473;stroke-width:1.3px;stroke-dasharray:1.5 5.5;stroke-linecap:round;transform-origin:64px 64px;animation:48s linear infinite plus-orbit}.opening-seal-arc{transform-origin:64px 64px;animation:1.3s cubic-bezier(.45,.05,.4,.95) .5s infinite both opening-turn}@keyframes opening-turn{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.loading-text{animation:.5s .35s both opening-text}@keyframes opening-text{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.opening-seal-orbit,.opening-seal-arc,.loading-text{animation:none}}.app-redirect{background:radial-gradient(90% 60% at 50% 30%, #c19a4b24, #c19a4b00 70%), var(--canvas);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.app-redirect-card{border:1px solid var(--hairline);border-radius:var(--radius-xl);background:var(--dialog,#fffdf9);width:min(420px,100%);box-shadow:var(--shadow-lg);text-align:center;justify-items:center;gap:14px;padding:32px 28px 28px;display:grid}.app-redirect-stage{place-items:center;width:112px;height:112px;margin-bottom:4px;display:grid;position:relative}.app-redirect-stage>svg{position:absolute;inset:0}.app-redirect-mark{place-items:center;display:grid}.app-redirect-mark .hero-mark{filter:drop-shadow(0 10px 18px #1f1c1947);width:60px;height:60px}.app-redirect-compass{border:2px solid var(--dialog,#fffdf9);color:#fffdf9;background:linear-gradient(140deg,#c9a256,#a87a2c);border-radius:50%;place-items:center;width:28px;height:28px;display:grid;position:absolute;bottom:10px;right:10px}.app-redirect-card h1{font-family:var(--font-serif-stack);letter-spacing:-.018em;text-wrap:balance;font-size:clamp(24px,4vw + 10px,30px);font-weight:500;line-height:1.12}.app-redirect-card p{color:var(--muted);font-size:var(--fs-base);text-wrap:pretty;line-height:1.55}.app-redirect-card .btn{margin-top:6px}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid;position:relative}.workspace{grid-column:2;min-width:0;overflow-x:clip}.view-frame{min-width:0}.toast-region{z-index:var(--z-toast);top:max(16px, env(safe-area-inset-top));pointer-events:none;position:fixed;left:50%;transform:translate(-50%)}.toast{color:#fff;font-size:var(--fs-sm);white-space:nowrap;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#26221ff0;border-radius:999px;padding:10px 16px;font-weight:550;box-shadow:0 10px 30px #0000002e}.hero-mark{flex:none;display:block}.sidebar{z-index:var(--z-nav);width:var(--sidebar-width);border-right:1px solid var(--hairline);-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#f6f3eddb;flex-direction:column;height:100dvh;padding:24px 16px 20px;display:flex;position:fixed;inset:0 auto 0 0}.wordmark.wordmark{font-family:var(--font-serif-stack);font-variation-settings:"opsz" 72;letter-spacing:-.012em;text-box:trim-both cap alphabetic;font-size:1.22em;font-weight:560;line-height:1}@supports not (text-box:trim-both cap alphabetic){.wordmark.wordmark{translate:0 .13em}}.brand{letter-spacing:-.02em;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px 26px;font-size:19px;font-weight:700;display:flex}.brand-mark .hero-mark{width:30px;height:30px}.nav-stack{gap:2px;display:grid}.nav-item{height:42px;color:var(--muted);font-size:var(--fs-md);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-weight:550;transition:color .15s,background-color .15s;display:flex;position:relative}.nav-item>svg,.nav-item>span:not(.nav-pill){z-index:1;position:relative}.nav-item:hover{color:var(--ink);background:#ffffff80}.nav-item.active{color:var(--ink)}.nav-item.active>svg{color:var(--accent)}.nav-pill{border-radius:inherit;box-shadow:var(--shadow-sm), inset 0 0 0 1px #1f1c190a;background:#fff;position:absolute;inset:0}.nav-label-short{display:none}.sidebar-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#ffffff80;gap:4px;margin-top:24px;padding:12px 14px;display:grid}.sidebar-stat{align-items:center;gap:12px;padding:6px 0;display:flex}.sidebar-stat>svg{color:var(--accent)}.sidebar-stat div{display:grid}.sidebar-stat strong{font-family:var(--font-serif-stack);letter-spacing:-.01em;font-size:19px;font-weight:500;line-height:1.2}.sidebar-stat span{color:var(--muted);font-size:var(--fs-xs)}.sidebar-bottom{gap:2px;margin-top:auto;display:grid}.sidebar-action{border-radius:var(--radius-sm);min-height:38px;color:var(--ink-2);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 12px;font-weight:550;display:flex}a.sidebar-action{text-decoration:none}.sidebar-action>.sidebar-action-out{opacity:.7;margin-left:auto}.sidebar-action>svg{color:var(--subtle)}.sidebar-action:hover{color:var(--ink);background:#fff9}.journal-menu-trigger.open{color:var(--ink);background:#ffffffb3}.journal-menu-chevron{transition:transform .16s var(--ease-out);margin-left:auto}.journal-menu-trigger.open .journal-menu-chevron{color:var(--muted);transform:translate(2px)}.journal-menu{z-index:var(--z-popover);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:290px;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform-origin:0 100%;background:#fbf9f5fa;gap:2px;padding:6px;display:grid;position:fixed}.journal-menu-item{border-radius:var(--radius-sm);width:100%;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px 10px;display:flex}.journal-menu-item:hover,.journal-menu-item:focus-visible{background:var(--accent-softer);outline:0}.journal-menu-icon{border-radius:var(--radius-xs);width:32px;height:32px;color:var(--muted-strong);background:#1f1c190b;flex:none;place-items:center;display:grid}.journal-menu-item:hover .journal-menu-icon,.journal-menu-item:focus-visible .journal-menu-icon{background:var(--accent-soft);color:var(--accent)}.journal-menu-copy{gap:1px;min-width:0;display:grid}.journal-menu-copy strong{font-size:var(--fs-sm);font-weight:600}.journal-menu-copy small{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.journal-menu-note{border-top:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-xs);margin:4px 10px 6px;padding-top:8px;line-height:1.45}.mobile-menu-button{display:none}.app-menu-brand{align-items:center;gap:10px;display:flex}.app-menu-brand .hero-mark{width:28px;height:28px}.app-menu .dialog-head h2:not(.wordmark){font-family:var(--font-sans-stack);font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:700}.app-menu .dialog-head h2.wordmark{font-size:var(--fs-xl)}.app-menu-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app-menu-stats>div{border:1px solid var(--hairline);border-radius:var(--radius-md);background:#fff;gap:2px;padding:14px;display:grid}.app-menu-stats svg{color:var(--accent);margin-bottom:6px}.app-menu-stats strong{font-family:var(--font-serif-stack);font-size:var(--fs-xl);letter-spacing:-.01em;font-weight:500}.app-menu-stats span{color:var(--muted);font-size:var(--fs-xs)}.menu-list{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.menu-row{text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 14px;display:flex}a.menu-row{color:inherit;text-decoration:none}.language-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.language-tile{border:1px solid var(--hairline);border-radius:var(--radius-md);min-height:76px;color:var(--ink);text-align:left;background:#fffc;align-content:center;justify-items:start;gap:3px;padding:14px 16px;transition:border-color .15s,background-color .15s,transform .15s,box-shadow .15s;display:grid;position:relative}.language-tile:hover{box-shadow:var(--shadow-sm);background:#fff;border-color:#8a5f3c59;transform:translateY(-1px)}.language-tile strong{font-family:var(--font-serif-stack);font-size:20px;font-weight:500;line-height:1.15}.language-tile small{color:var(--muted);font-size:var(--fs-xs)}.language-tile.current{background:var(--accent-soft);border-color:#8a5f3c73}.language-tile-check{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:10px;right:10px}@media (max-width:560px){.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.menu-row+.menu-row{border-top:1px solid var(--hairline)}.menu-row:hover{background:var(--accent-softer)}.menu-row>svg{color:var(--subtle)}.menu-row-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}.menu-row-copy{flex:1;gap:1px;min-width:0;display:grid}.menu-row-copy strong{font-size:var(--fs-md);font-weight:600}.menu-row-copy small{color:var(--muted);font-size:var(--fs-sm)}.app-menu-note{color:var(--subtle);font-size:var(--fs-sm);text-align:center}.editor-page,.library-page,.chapters-page,.goals-page,.habits-page,.timeline-page,.books-page{margin:0 auto;padding:56px 0 88px}.library-page{width:min(var(--story-width), calc(100% - var(--page-gutter) * 2))}.chapters-page,.goals-page,.habits-page,.timeline-page,.books-page{width:min(var(--page-width), calc(100% - var(--page-gutter) * 2))}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-header-copy{gap:10px;min-width:0;max-width:680px;display:grid}.page-eyebrow{color:var(--accent);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.page-header-copy p{max-width:620px;color:var(--muted);font-size:var(--fs-md);line-height:1.55}.page-header-actions{flex:none;align-items:center;gap:8px;display:flex}.demo-banner{align-items:center;gap:10px;display:flex}.demo-banner-icon{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.demo-banner p{min-width:0;color:var(--muted-strong);font-size:var(--fs-xs);gap:2px;line-height:1.4;display:grid}.demo-banner p strong{color:var(--ink);font-size:var(--fs-sm);line-height:1.3}.demo-banner .btn{flex:none}.demo-banner-short{display:none}.demo-banner.card{border-radius:var(--radius-lg);background:linear-gradient(160deg, #fff, var(--accent-softer));border:1px solid #8a5f3c38;flex-wrap:wrap;align-items:flex-start;margin-top:14px;padding:14px}.demo-banner.card p{flex:1 1 0}.demo-banner.card .btn{text-align:center;white-space:normal;justify-content:center;width:100%;height:auto;min-height:36px;padding-block:8px;line-height:1.25}.demo-banner.pill{display:none}
.editor-page{width:min(var(--editor-width), calc(100% - var(--page-gutter) * 2));flex-direction:column;min-height:100dvh;padding:clamp(28px,5dvh,56px) 0 clamp(24px,4dvh,44px);display:flex}.editor-page,.editor-page textarea,.editor-page input,.journal-writing-area{touch-action:pan-y pinch-zoom}.journal-masthead{flex:none;gap:18px;margin-bottom:18px;display:grid}.journal-dateline{gap:6px;min-width:0;display:grid}.journal-kicker{color:var(--muted);font-size:var(--fs-md);font-weight:550}.journal-kicker em{color:var(--accent-ink);font-style:normal;font-weight:650}.journal-kicker em.future{color:var(--future)}.journal-dateline h1{overflow-wrap:anywhere;font-size:clamp(30px,2.4vw + 16px,50px)}.journal-date-button{max-width:100%;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.journal-date-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.journal-commandbar{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);min-height:58px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);align-items:center;gap:8px;padding:8px;display:flex}.journal-date-controls{flex:none;align-items:center;gap:2px;display:flex}.journal-date-controls .date-picker-trigger{width:36px;height:36px}.journal-today-button{border-radius:var(--radius-sm);background:var(--accent-softer);height:36px;color:var(--accent-ink);font-size:var(--fs-sm);white-space:nowrap;border:0;padding:0 12px;font-weight:650;overflow:hidden}.journal-today-button:hover{background:var(--accent-soft)}.journal-command-tools{flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.journal-command-tools>*{flex:none}.journal-capture{align-items:center;gap:4px;margin-inline:auto;display:flex}.journal-command-tools.compact .journal-mood-label{display:none}.journal-add-image{border-radius:var(--radius-md);min-width:40px;min-height:40px;color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex;position:relative}.journal-photo-icon{color:var(--accent);display:inline-flex;position:relative}.journal-add-image:hover{border-color:var(--hairline);background:#fff}.journal-photo-count{background:var(--accent);color:#fff;font-variant-numeric:tabular-nums;border:2px solid #fffdf9;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 5px;font-size:10px;font-weight:750;line-height:1;display:grid;position:absolute;top:-9px;left:11px}.journal-dictate,.journal-idea{border-radius:var(--radius-md);min-width:40px;min-height:40px;color:var(--ink-2);font-size:var(--fs-sm);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.journal-dictate>svg,.journal-idea>svg{color:var(--accent)}.journal-dictate:hover,.journal-idea:hover{border-color:var(--hairline);background:#fff}.journal-dictate .plus-chip{margin-left:2px}.dictation-icon{color:#a4473a;background:#b0483a1a}.dictation-body{gap:16px;display:grid}.dictation-facts{gap:14px;margin:0;padding:0;list-style:none;display:grid}.dictation-facts li{align-items:flex-start;gap:12px;display:flex}.dictation-facts li>span{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.dictation-facts div{gap:2px;display:grid}.dictation-facts strong{font-size:var(--fs-base)}.dictation-facts small{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.dictation-live{text-align:center;justify-items:center;gap:14px;padding:12px 0 4px;display:grid}.dictation-orb{background:var(--surface-sunken);width:84px;height:84px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:relative}.dictation-orb.live{color:#fff;background:#b0483a;box-shadow:0 10px 30px -10px #b0483ab3}.dictation-orb.live:after{content:"";animation:dictation-pulse 1.6s var(--ease-out) infinite;border:2px solid #b0483a59;border-radius:50%;position:absolute;inset:-8px}.dictation-orb.working{background:var(--accent-soft);color:var(--accent)}@keyframes dictation-pulse{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.25)}}.dictation-clock{font-family:var(--font-serif-stack);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:38px;font-weight:450;line-height:1}.dictation-meter{justify-content:space-between;align-items:center;gap:3px;width:min(100%,260px);height:36px;display:flex}.dictation-meter i{transform-origin:50%;background:#b0483a8c;border-radius:999px;flex:1 1 0;height:100%;transition:transform 80ms linear}.dictation-hint{color:var(--muted);font-size:var(--fs-sm)}.dictation-error{color:var(--danger);font-size:var(--fs-base);align-items:flex-start;gap:10px;line-height:1.5;display:flex}.dictation-error svg{flex:none;margin-top:2px}.dictation-quota{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:8px;margin-right:auto;display:inline-flex}.dictation-quota-bar{background:var(--hairline-strong);border-radius:999px;flex:none;width:44px;height:5px;overflow:hidden}.dictation-quota-bar i{border-radius:inherit;background:var(--accent);height:100%;display:block}.dictation-note{background:var(--success-soft);color:var(--success);font-size:var(--fs-sm);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin:-8px 0 20px;padding:6px 8px 6px 12px;font-weight:600;display:inline-flex}.dictation-note button{color:var(--ink-2);font-size:var(--fs-sm);box-shadow:var(--shadow-xs);background:#fff;border:0;border-radius:999px;padding:4px 10px;font-weight:650}.dictation-note button:hover{color:var(--ink)}.journal-mood-picker{align-items:center;gap:8px;display:flex}.journal-mood-label{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.moods{background:var(--surface-sunken);border-radius:999px;gap:2px;padding:3px;display:flex}.mood{color:#aaa298;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:transform .15s,color .15s,background-color .15s,box-shadow .15s;display:grid}.mood:hover:not(:disabled){transform:translateY(-1px)}.mood.active{box-shadow:var(--shadow-xs);background:#fff}.mood-1:hover,.mood-1.active{color:var(--mood-ink-1)}.mood-2:hover,.mood-2.active{color:var(--mood-ink-2)}.mood-3:hover,.mood-3.active{color:var(--mood-ink-3)}.mood-4:hover,.mood-4.active{color:var(--mood-ink-4)}.mood-5:hover,.mood-5.active{color:var(--mood-ink-5)}.journal-mood-picker.future-disabled{opacity:.45}.journal-mood-picker.future-disabled .mood{cursor:not-allowed}.journal-mood-picker.future-disabled .mood:hover{color:#aaa298;transform:none}.journal-chapter-control{border-left:1px solid var(--hairline);flex:0 auto;min-width:min(136px,100%);padding-left:8px}.chapter-trigger{border-radius:var(--radius-md);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;max-width:300px;min-height:44px;padding:4px 8px 4px 4px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.chapter-trigger:hover,.chapter-trigger[aria-expanded=true]{border-color:var(--hairline);box-shadow:var(--shadow-xs);background:#fff}.chapter-trigger-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:grid}.chapter-trigger-copy{flex:auto;min-width:0;line-height:1.2;display:grid}.chapter-trigger small{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:650}.chapter-trigger strong{color:var(--ink);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.chapter-trigger.empty strong{color:var(--accent-ink)}.chapter-trigger-chevron{color:var(--subtle);flex:none;transition:transform .15s;display:grid}.chapter-trigger[aria-expanded=true] .chapter-trigger-chevron{transform:rotate(180deg)}.chapter-scrim{display:none}.chapter-popover{z-index:var(--z-popover);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fbf9f5fb;padding:16px;position:fixed}.chapter-popover-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:12px;display:flex}.chapter-popover-head>div{gap:2px;min-width:0;display:grid}.chapter-popover-kicker{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.chapter-popover-head strong{font-family:var(--font-serif-stack);font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:560;overflow:hidden}.chapter-current-card{border-radius:var(--radius-md);background:linear-gradient(150deg, var(--success-soft), #ffffff80);border:1px solid #4f7a5e2e;gap:6px;margin-top:12px;padding:12px 14px 14px;display:grid}.chapter-current-topline{align-items:center;gap:7px;min-height:30px;display:flex}.chapter-state-dot{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #4f7a5e1f}.chapter-current-card small{color:var(--success);font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.chapter-current-card>strong{font-family:var(--font-serif-stack);font-size:var(--fs-xl);text-overflow:ellipsis;white-space:nowrap;font-weight:560;line-height:1.25;overflow:hidden}.chapter-current-period{min-width:0;color:var(--muted);font-size:var(--fs-xs);align-items:center;gap:6px;display:flex}.chapter-current-period>svg{flex:none}.chapter-edit-button{min-height:30px;color:var(--ink-2);font-size:var(--fs-xs);background:#ffffffb8;border:1px solid #4f7a5e33;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:0 11px;font-weight:650;transition:background-color .15s,border-color .15s;display:inline-flex}.chapter-edit-button:hover{background:#fff;border-color:#4f7a5e5c}.chapter-current-card.editing{background:linear-gradient(150deg, var(--success-soft), #fffc)}.chapter-form{gap:10px;display:grid}.chapter-title-input{width:100%;font-family:var(--font-serif-stack);font-size:var(--fs-lg)}.chapter-form-note{color:var(--muted);font-size:var(--fs-xs);line-height:1.45}.chapter-form-error{color:var(--danger);font-size:var(--fs-sm);line-height:1.45}.chapter-form-actions{justify-content:flex-end;gap:8px;display:flex}.chapter-empty-state{border-radius:var(--radius-md);border:1.5px dashed #8a5f3c33;align-items:flex-start;gap:12px;margin-top:12px;padding:14px;display:flex}.chapter-empty-state>span{border-radius:var(--radius-sm);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);flex:none;place-items:center;display:grid}.chapter-empty-state strong{font-size:var(--fs-base)}.chapter-empty-state p{color:var(--muted);font-size:var(--fs-sm);margin-top:2px;line-height:1.45}.chapter-new-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:#fff;width:100%;margin-top:10px;transition:border-color .15s,box-shadow .15s}.chapter-new-card:has(.chapter-new-trigger:hover:not(:disabled)){box-shadow:var(--shadow-xs);border-color:#8a5f3c4d}.chapter-new-card.open{border-color:#8a5f3c3d;padding:12px 14px 14px}.chapter-new-trigger{border-radius:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;display:flex}.chapter-new-trigger:disabled{cursor:not-allowed;opacity:.55}.chapter-new-head{align-items:center;gap:12px;display:flex}.chapter-new-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);flex:none;place-items:center;display:grid}.chapter-new-trigger>span:last-child,.chapter-new-head>span:last-child{gap:2px;min-width:0;display:grid}.chapter-new-card strong{font-size:var(--fs-sm);font-weight:650}.chapter-new-card small{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.chapter-manage-link{border:0;border-top:1px solid var(--hairline);width:100%;min-height:44px;color:var(--ink-2);font-size:var(--fs-sm);background:0 0;justify-content:space-between;align-items:center;margin-top:10px;padding:0 6px;font-weight:600;display:flex}.chapter-manage-link>span{align-items:center;gap:8px;display:flex}.chapter-manage-link:hover{color:var(--accent-ink)}.journal-paper{border:1px solid var(--hairline);border-radius:var(--radius-xl);background:var(--paper);min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;flex:1 0 auto;display:flex}.editor-page.has-memories .journal-paper{flex:none;min-height:min(620px,100dvh - 260px)}.journal-writing-area{flex-direction:column;flex:1 0 auto;padding:30px 44px 0;display:flex;overflow-x:clip}.title-input{width:100%;font-family:var(--font-serif-stack);letter-spacing:-.015em;resize:none;overflow-wrap:anywhere;background:0 0;border:0;outline:0;margin:0 0 10px;padding:0;font-size:34px;font-weight:500;line-height:1.2;display:block;overflow:hidden}.body-input{resize:none;color:#36312c;width:100%;min-height:120px;font-family:var(--font-serif-stack);background:0 0;border:0;outline:0;flex:1 0 auto;padding:0 0 24px;font-size:19px;line-height:1.75;overflow:hidden}.title-input:focus-visible,.body-input:focus-visible{outline:none}.journal-writing-area:has(.journal-media) .body-input{flex-grow:0}.paper-footer{z-index:2;border-radius:0 0 var(--radius-xl) var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--hairline);min-height:54px;color:var(--muted);font-size:var(--fs-sm);background:#fcfaf6f0;grid-template-columns:minmax(max-content,1fr) auto minmax(0,1fr);align-items:center;column-gap:12px;padding:8px 12px 8px 44px;display:grid;position:sticky;bottom:0}.entry-footnote{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:10px;display:flex}.entry-footnote span+span:before{content:"·";margin-right:10px}.save-state{white-space:nowrap;align-items:center;gap:7px;display:flex}.save-dot{background:#c9a86e;border-radius:50%;width:7px;height:7px;transition:background-color .2s}.save-dot.saved{background:var(--success)}.footer-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.backup-chip{border:1px solid var(--hairline);min-height:34px;color:var(--muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-weight:600;transition:background-color .16s,color .16s,border-color .16s;display:inline-flex;position:relative}.backup-chip:hover{border-color:var(--hairline-strong);background:var(--paper);color:var(--ink)}.backup-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.backup-chip.due{color:#8a5427;background:#b1764514;border-color:#b1764559}.backup-chip.due:after{content:"";border:2px solid var(--paper);background:#c26a2e;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.memory-section{margin-top:24px}.memory-section .section-label{margin-bottom:10px}.memory-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.memory-strip button{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);text-align:left;min-width:0;padding:16px;transition:background-color .15s,transform .15s,box-shadow .15s}.memory-strip button:hover{box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.memory-strip strong{color:var(--accent);font-size:var(--fs-xs);letter-spacing:.06em;font-weight:700}.memory-strip span{font-family:var(--font-serif-stack);font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-weight:560;display:block;overflow:hidden}.memory-strip p{color:var(--muted);font-family:var(--font-serif-stack);font-size:var(--fs-base);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;line-height:1.5;display:-webkit-box;overflow:hidden}.journal-media{margin:8px 0 28px}.journal-image-grid.single{justify-items:center;gap:16px;display:grid}.journal-image-grid.single .journal-image-card{width:min(100%, calc(min(70vh, 620px) * var(--ratio,1.6) + 18px))}.journal-image-grid.masonry{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.journal-image-column{gap:16px;min-width:0;display:grid}.journal-image-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#fff;margin:0;padding:8px 8px 10px}.journal-image-frame{background:var(--canvas-deep);aspect-ratio:var(--ratio,1.6);border-radius:12px;position:relative;overflow:hidden}.journal-image-frame>img{object-fit:contain;width:100%;height:100%;display:block}.journal-image-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.journal-image-open img{object-fit:contain;width:100%;height:100%}.photo-viewer{z-index:var(--z-viewer);color:#f4eee5;touch-action:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#12100ef5;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.photo-viewer-bar{padding:max(12px, env(safe-area-inset-top)) 16px 8px;justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-viewer-count{color:#f4eee5bf;min-width:60px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.photo-viewer-zoom{background:#ffffff1a;border-radius:999px;align-items:center;gap:2px;padding:3px;display:flex}.photo-viewer-zoom button,.photo-viewer-close,.photo-viewer-nav{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.photo-viewer-zoom button{min-width:38px;height:38px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;border-radius:999px;padding:0 8px;font-weight:600}.photo-viewer-zoom button:hover:not(:disabled),.photo-viewer-close:hover,.photo-viewer-nav:hover{background:#ffffff24}.photo-viewer-zoom button:disabled{opacity:.35;cursor:default}.photo-viewer-close{background:#ffffff1a;border-radius:999px;width:44px;height:44px}.photo-viewer button:focus-visible{outline-offset:2px;outline:2px solid #e6cf9c}.photo-viewer-stage{cursor:zoom-in;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:relative;overflow:hidden}.photo-viewer-stage.zoomed{cursor:grab}.photo-viewer-stage.zoomed:active{cursor:grabbing}.photo-viewer-photo{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:8px 72px}.photo-viewer-photo img{object-fit:contain;transform-origin:50%;will-change:transform;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 30px 80px #00000073}.photo-viewer-nav{background:#ffffff1a;border-radius:999px;width:48px;height:48px;margin-top:-24px;position:absolute;top:50%}.photo-viewer-nav.previous{left:12px}.photo-viewer-nav.next{right:12px}.photo-viewer-caption{max-width:720px;padding:10px 20px max(16px, env(safe-area-inset-bottom));color:#f4eee5e0;font-family:var(--font-serif-stack);font-size:var(--fs-lg);text-align:center;margin:0 auto}@media (max-width:560px){.photo-viewer-photo{inset:4px 0}.photo-viewer-nav{display:none}}.journal-image-actions{opacity:0;gap:4px;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-2px)}.journal-image-frame:hover .journal-image-actions,.journal-image-frame:focus-within .journal-image-actions{opacity:1;transform:none}.journal-image-actions .portal-tooltip-anchor{display:grid}.journal-image-actions a,.journal-image-actions button{border:1px solid var(--hairline);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--ink-2);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf9f5eb;place-items:center;display:grid}.journal-image-actions .danger:hover{color:var(--danger)}.journal-image-caption-inline{padding:8px 4px 0}.journal-image-caption-inline input{border-radius:var(--radius-xs);width:100%;min-width:0;color:var(--ink-2);font-family:var(--font-serif-stack);font-size:var(--fs-base);text-align:center;background:0 0;border:0;outline:0;padding:4px 6px}.journal-image-caption-inline input::placeholder{font-style:italic}.journal-image-caption-inline input:focus{background:var(--accent-softer)}.journal-image-failed{width:100%;height:100%;color:var(--subtle);font-size:var(--fs-sm);place-content:center;justify-items:center;gap:4px;display:grid}.journal-image-failed strong{color:var(--ink-2)}.journal-image-loading{background:linear-gradient(100deg, var(--canvas-deep) 30%, #f3efe8 50%, var(--canvas-deep) 70%) 0 0 / 220% 100%;width:100%;height:100%;animation:1.4s ease-in-out infinite image-shimmer}@keyframes image-shimmer{to{background-position:-120% 0}}.journal-image-size{color:#fff;font-size:var(--fs-2xs);letter-spacing:.02em;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#201c199e;border-radius:999px;padding:3px 8px;font-weight:650;transition:opacity .15s;position:absolute;bottom:10px;left:10px}.journal-image-frame:hover .journal-image-size,.journal-image-frame:focus-within .journal-image-size{opacity:1}@media (hover:none){.journal-image-actions{opacity:1;transform:none}.journal-image-size{display:none}}.journal-paper{position:relative}.journal-paper.dropping{outline-offset:-8px;outline:2px dashed #8a5f3c73}.journal-drop-hint{z-index:3;border-radius:inherit;color:var(--accent-ink);pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fbf9f5e0;place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:8px}.journal-drop-hint strong{font-size:var(--fs-md)}.photo-import-status{font-size:var(--fs-sm);gap:6px;margin:-12px 0 24px;display:grid}.habit-color-sage{--habit:#4f7a5e;--habit-soft:#4f7a5e24}.habit-color-clay{--habit:#a85c41;--habit-soft:#a85c4124}.habit-color-sky{--habit:#4a6f91;--habit-soft:#4a6f9124}.habit-color-plum{--habit:#7b5a8f;--habit-soft:#7b5a8f24}.habit-color-sun{--habit:#a0742a;--habit-soft:#b0843429}.habit-color-ink{--habit:#4a4540;--habit-soft:#4a45401f}.habit-dot{background:var(--habit);width:12px;height:12px;box-shadow:0 0 0 3px var(--habit-soft);border-radius:50%;flex:none}.habit-strip{border-top:1px dashed var(--hairline-strong);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 18px;padding-top:14px;display:flex}.habit-strip-label{color:var(--muted);font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:6px;padding:4px 2px;font-weight:650;display:inline-flex}.habit-strip-label small{background:var(--surface-sunken);color:var(--muted-strong);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 7px}.habit-strip-label:hover{color:var(--ink)}.habit-chips{flex-wrap:wrap;gap:6px;display:flex}.habit-chip{border:1px solid var(--hairline);min-height:34px;color:var(--ink-2);font-size:var(--fs-sm);background:#ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 6px;font-weight:600;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.habit-chip:not(.done):hover:not(:disabled){border-color:var(--habit);background:#fff}.habit-chip.done:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--habit)}.habit-chip-check{border:1.5px solid var(--habit);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;transition:background-color .16s;display:grid}.habit-chip.done{background:var(--habit-soft);color:var(--ink);border-color:#0000}.habit-chip.done .habit-chip-check{background:var(--habit)}.habit-chip:disabled{opacity:.5;cursor:not-allowed}.habits-page .stat-strip{margin-bottom:18px}.habit-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.habit-board>.empty-card{grid-column:1/-1}.habit-empty{cursor:default}.habit-empty:hover{border-color:var(--hairline-strong);background:0 0}.habit-examples{flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px;display:flex}.habit-example{border:1px solid var(--hairline);min-height:34px;color:var(--ink-2);font-size:var(--fs-sm);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.habit-example:hover{color:var(--accent-ink);border-color:#8a5f3c66}.habit-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);animation:card-enter .32s var(--ease-out) both;flex-direction:column;gap:14px;padding:16px 18px;display:flex}.habit-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.habit-card-title{border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:2px;display:flex}.habit-card-title>span:last-child{gap:2px;min-width:0;display:grid}.habit-card-title strong{font-family:var(--font-serif-stack);overflow-wrap:anywhere;font-size:21px;font-weight:540;line-height:1.2}.habit-card-title small{color:var(--muted);font-size:var(--fs-sm)}.habit-card-title:hover strong{color:var(--accent-ink)}.habit-streak{background:var(--surface-sunken);color:var(--muted-strong);border-radius:999px;flex:none;align-items:baseline;gap:4px;padding:5px 10px;display:inline-flex}.habit-streak svg{align-self:center}.habit-streak strong{color:var(--ink-2);font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.habit-streak small{font-size:var(--fs-xs);font-weight:600}.habit-streak.live{color:#9a5a22;background:#c4702c1f}.habit-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.habit-day{border-radius:var(--radius-md);min-width:0;color:var(--muted);background:0 0;border:0;justify-items:center;gap:4px;padding:6px 0 8px;display:grid}.habit-day:hover{background:#ffffffb3}.habit-day-name{font-size:var(--fs-xs);text-transform:uppercase;font-weight:650}.habit-day-mark{border:1.5px solid var(--hairline-strong);width:34px;height:34px;color:var(--ink-2);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:600;transition:background-color .16s,border-color .16s;display:grid}.habit-day.due .habit-day-mark{border-color:var(--habit)}.habit-day.rest .habit-day-mark{color:var(--muted-strong);border-style:dashed}.habit-day.done .habit-day-mark{border-color:var(--habit);background:var(--habit);color:#fff}.habit-day.today .habit-day-name{color:var(--accent-ink)}.habit-heatmap{grid-template-columns:repeat(16,13px);justify-content:start;gap:4px;display:grid}.habit-heatmap-week{grid-template-rows:repeat(7,13px);gap:4px;display:grid}.habit-heatmap i{background:var(--surface-sunken);border-radius:3px;width:13px;height:13px}.habit-heatmap i.done{background:var(--habit)}.habit-heatmap i.missed{background:#1f1c1912}.habit-heatmap i.rest{background:0 0;box-shadow:inset 0 0 0 1px #1f1c190f}.habit-heatmap i.before{background:#1f1c1909}.habit-heatmap i.future{background:0 0}.habit-card-more{margin-top:-14px;overflow:hidden}.habit-card-more-inner{gap:14px;padding-top:14px;display:grid}.habit-card.foldable{cursor:pointer;-webkit-tap-highlight-color:transparent}.habit-card-toggle{width:48px;height:26px;color:var(--subtle);background:0 0;border:0;border-radius:999px;align-self:center;place-items:center;margin:-10px 0 -8px;display:grid}.habit-card-toggle svg{transition:transform .28s var(--ease-out)}.habit-card-toggle.open svg{transform:rotate(180deg)}.habit-card-foot{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 16px;display:flex}.habit-card-foot span{align-items:center;gap:6px;display:inline-flex}.habit-card-foot svg{color:var(--subtle)}.habit-archived{margin-top:22px}.habit-archived-toggle{color:var(--muted);font-size:var(--fs-base);background:0 0;border:0;align-items:center;gap:8px;padding:6px 4px;font-weight:650;display:inline-flex}.habit-archived-toggle small{color:var(--subtle)}.habit-archived-toggle svg.open{transform:rotate(180deg)}.habit-archived ul{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.habit-archived li{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:12px;padding:10px 12px;display:flex}.habit-archived li>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.habit-archived li small{color:var(--muted);font-size:var(--fs-xs)}.habit-form{flex-direction:column;min-height:0;display:flex}.habit-form-body{gap:20px;display:grid}.habit-icon{background:var(--habit-soft);color:var(--habit)}.habit-days,.habit-colors{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.habit-days legend,.habit-colors legend{color:var(--ink-2);font-size:var(--fs-sm);margin-bottom:10px;padding:0;font-weight:600}.habit-day-presets{gap:6px;display:flex}.habit-day-presets button{border:1px solid var(--hairline);min-height:32px;color:var(--ink-2);font-size:var(--fs-sm);background:#fff;border-radius:999px;padding:0 12px;font-weight:600}.habit-day-presets button.active{border-color:var(--accent);background:var(--accent-softer);color:var(--accent-ink)}.habit-day-toggles{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.habit-day-toggles button{border:1px solid var(--hairline);border-radius:var(--radius-sm);min-height:40px;color:var(--muted);font-size:var(--fs-sm);background:#fff;font-weight:650}.habit-day-toggles button[aria-pressed=true]{border-color:var(--ink-2);background:var(--ink);color:#fff}.habit-colors>div{flex-wrap:wrap;gap:10px;display:flex}.habit-swatch{background:var(--habit);color:#fff;border:0;border-radius:50%;place-items:center;width:36px;height:36px;transition:box-shadow .16s;display:grid;box-shadow:0 0 0 3px #0000}.habit-swatch[aria-checked=true]{box-shadow:0 0 0 3px var(--dialog), 0 0 0 5px var(--habit)}.habit-form-secondary{align-items:center;gap:4px;display:flex}.habits-intro-steps{gap:14px;margin:0;padding:0;list-style:none;display:grid}.habits-intro-steps li{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:16px;display:grid}.habits-intro-steps li>div:last-child{gap:4px;display:grid}.habits-intro-steps strong{font-size:var(--fs-md)}.habits-intro-steps small{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.habits-intro-inline{vertical-align:-2px;color:var(--accent)}.habits-intro-art{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--surface-strong);flex-wrap:wrap;align-content:center;gap:6px;min-height:86px;padding:12px;display:flex}.habits-intro-art .habit-chip{min-height:28px;font-size:var(--fs-xs);pointer-events:none}.habits-intro-art .habit-chip-check{width:18px;height:18px}.habits-intro-art.page{flex-flow:column;align-items:stretch;gap:8px}.habits-intro-lines{gap:5px;display:grid}.habits-intro-lines i{background:#1f1c191a;border-radius:4px;height:5px}.habits-intro-lines i:nth-child(2){width:82%}.habits-intro-lines i:nth-child(3){width:60%}.habits-intro-strip{border-top:1px dashed var(--hairline-strong);color:var(--muted);align-items:center;gap:5px;padding-top:7px;display:flex}.habits-intro-strip .habit-chip{gap:5px;min-height:24px;padding:0 8px 0 4px}.habits-intro-strip .habit-chip-check{width:15px;height:15px}.habits-intro-week{gap:6px;display:flex}.habits-intro-week>span{justify-items:center;gap:3px;display:grid}.habits-intro-week small{color:var(--muted);font-size:10px;font-weight:650}.habits-intro-week b{border:1.5px solid var(--habit);width:28px;height:28px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:11px;display:grid}.habits-intro-week .done b{background:var(--habit);color:#fff}.photo-import-status span{color:var(--muted);align-items:center;gap:8px;display:inline-flex}.photo-import-status span.error{color:var(--danger)}.spin{animation:.9s linear infinite print-shop-spin}.photos-dialog-body{gap:14px;display:grid}.install-body{gap:16px;display:grid}.dialog.demo-welcome{max-width:820px}.demo-welcome-layout{overscroll-behavior:contain;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:0;display:grid;position:relative;overflow-y:auto}.demo-welcome-portrait{background:radial-gradient(120% 90% at 40% 30%,#fbf6ee,#f1e7d8);align-content:center;gap:8px;margin:0;padding:28px 8px 18px 24px;display:grid}.demo-welcome-sketch{aspect-ratio:640/754;width:100%}.demo-welcome-sketch svg{width:100%;height:100%;display:block;overflow:visible}.demo-welcome-portrait figcaption{color:var(--muted);font-family:var(--font-serif-stack);font-size:var(--fs-sm);text-align:center;font-style:italic}.demo-welcome-copy{align-content:center;gap:14px;padding:30px 30px 26px;display:grid;position:relative}.demo-welcome-layout>.dialog-close{z-index:1;margin:0;position:absolute;top:14px;right:14px}.demo-welcome-kicker{color:var(--accent-ink);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.demo-welcome-copy h2{font-family:var(--font-serif-stack);letter-spacing:-.02em;text-wrap:balance;padding-right:36px;font-size:32px;font-weight:500;line-height:1.08}.demo-welcome-copy>p{color:var(--ink-2);font-size:var(--fs-md);line-height:1.55}.demo-welcome-tries{gap:9px;margin:0;padding:0;list-style:none;display:grid}.demo-welcome-tries li{color:var(--ink-2);font-size:var(--fs-base);align-items:flex-start;gap:10px;line-height:1.45;display:flex}.demo-welcome-tries li>span{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.demo-welcome-copy>.demo-welcome-note{color:var(--muted);font-size:var(--fs-sm);line-height:1.5}.demo-welcome-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.dialog-body.install-body>*+*{margin-top:0}.install-steps{counter-reset:install;gap:10px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{border:1px solid var(--hairline);border-radius:var(--radius-md);background:#fff;align-items:center;gap:14px;padding:12px 14px;display:flex}.install-step-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:38px;height:38px;color:var(--accent);flex:none;place-items:center;display:grid}.install-steps p{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.install-steps strong{color:var(--ink)}.inline-icon{vertical-align:-2px;display:inline}.install-note{color:var(--muted);font-size:var(--fs-xs);line-height:1.5}.install-carry{border-radius:var(--radius-md);background:#b1764512;border:1px solid #b1764540;justify-items:start;gap:10px;padding:14px;display:grid}.install-carry p{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.install-banner{border:1px solid var(--hairline);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-xs);background:#fff;align-items:center;gap:10px;margin:0;padding:10px 10px 10px 12px;display:flex;overflow:hidden}.install-banner-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);flex:none;place-items:center;display:grid}.install-banner p{flex:auto;min-width:0;line-height:1.3;display:grid}.install-banner p strong{font-size:var(--fs-sm)}.install-banner p span{color:var(--muted);font-size:var(--fs-xs)}.storage-body{gap:18px;display:grid}.dialog-body.storage-body>*+*{margin-top:0}.storage-loading{min-height:220px;color:var(--muted);justify-content:center;align-items:center;gap:8px;display:flex}.storage-hero{gap:2px;display:grid}.storage-hero strong{font-family:var(--font-sans-stack,inherit);letter-spacing:-.03em;font-variant-numeric:proportional-nums;font-size:48px;font-weight:650;line-height:1.05}.storage-hero span{color:var(--muted);font-size:var(--fs-sm)}.storage-bar{background:var(--surface-sunken);border-radius:4px;gap:2px;height:16px;display:flex;overflow:hidden}.storage-segment{border-radius:4px;min-width:6px;height:100%;transition:opacity .15s}.storage-segment.dimmed{opacity:.35}.storage-legend{gap:2px;margin:0;padding:0;list-style:none;display:grid}.storage-legend li{border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;transition:background-color .15s;display:grid}.storage-legend li.active{background:var(--accent-softer)}.storage-swatch{border-radius:4px;width:12px;height:12px}.storage-legend-copy,.storage-legend-value{gap:1px;display:grid}.storage-legend-copy strong{font-size:var(--fs-base)}.storage-legend-copy small{color:var(--muted);font-size:var(--fs-xs)}.storage-legend-value{justify-items:end}.storage-legend-value strong{font-size:var(--fs-base);font-variant-numeric:tabular-nums}.storage-legend-value small{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.storage-quota{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5}.storage-footnote{color:var(--muted);font-size:var(--fs-xs);line-height:1.5}.backup-status{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:7px;display:flex}.backup-status.done{color:var(--success);font-weight:600}.backup-ways{gap:10px;padding:0;list-style:none;display:grid}.backup-ways li{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--paper);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.backup-ways li>div{justify-items:start;gap:3px;display:grid}.backup-ways small{color:var(--muted);font-size:var(--fs-xs);line-height:1.45}.backup-way-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.backup-forget{color:var(--muted);font:inherit;font-size:var(--fs-xs);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.backup-forget:hover{color:var(--ink)}.backup-error{border-radius:var(--radius-md);background:var(--danger-soft);color:var(--ink-2);font-size:var(--fs-sm);gap:10px;padding:12px 14px;line-height:1.45;display:grid}.backup-error-actions{flex-wrap:wrap;gap:8px;display:flex}.backup-devices{border-radius:var(--radius-md);color:var(--muted);font-size:var(--fs-sm);background:#1f1c190a;align-items:flex-start;gap:12px;padding:14px;line-height:1.5;display:flex}.backup-devices>svg{color:var(--accent);flex:none;margin-top:2px}.backup-devices strong{color:var(--ink)}.backup-upsell{border-radius:var(--radius-md);background:radial-gradient(120% 100% at 0% 0%, #c19a4b24, #c19a4b00 70%), var(--surface-strong);border:1px solid #b0843452;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px 12px;padding:14px;display:grid}.backup-upsell-icon{color:#e3c98f;background:#1f1c19;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.backup-upsell h3{color:var(--ink);font-size:var(--fs-base);font-weight:650;line-height:1.3}.backup-upsell p{color:var(--ink-2);font-size:var(--fs-sm);margin-top:3px;line-height:1.5}.backup-upsell .btn{grid-column:2;justify-self:start}.dialog-body.photos-dialog-body>*+*{margin-top:0}.photo-drop-zone{border-radius:var(--radius-lg);background:var(--accent-softer);width:100%;min-height:168px;color:var(--ink);text-align:center;border:1.5px dashed #8a5f3c4d;place-content:center;justify-items:center;gap:6px;padding:24px;transition:background-color .16s,border-color .16s,transform .16s;display:grid}.photo-drop-zone:hover:not(:disabled),.photo-drop-zone.dragging{background:var(--accent-soft);border-color:#8a5f3c8c}.photo-drop-zone.dragging{transform:scale(1.01)}.photo-drop-zone:disabled{cursor:progress}.photo-drop-icon{width:48px;height:48px;color:var(--accent);box-shadow:var(--shadow-xs);background:#fff;border-radius:15px;place-items:center;margin-bottom:6px;display:grid}.photo-drop-zone strong{font-family:var(--font-serif-stack);font-size:var(--fs-xl);font-weight:560}.photo-drop-zone small{color:var(--muted);font-size:var(--fs-sm)}.photo-errors{border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm);margin:0;padding:10px 14px 10px 30px;line-height:1.5}.photo-link-section{border-top:1px solid var(--hairline)}.photo-link-toggle{width:100%;min-height:48px;color:var(--ink-2);font-size:var(--fs-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 4px;font-weight:600;display:flex}.photo-link-toggle>span{flex:auto}.photo-link-toggle>svg:last-child{color:var(--subtle);transition:transform .16s}.photo-link-toggle[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.photo-link-toggle:hover{color:var(--ink)}.photo-link-form{grid-template-columns:minmax(0,1fr) 200px;align-items:start;gap:14px;display:grid;overflow:hidden}.photo-link-form>.btn{grid-column:1/-1}.photo-link-fields{gap:12px;display:grid}.photo-link-form .image-dialog-preview{min-height:160px}.photo-link-form .image-dialog-preview img{min-height:160px;max-height:200px}.text-link.inline{font-size:inherit;gap:3px;display:inline-flex}.image-dialog-preview{border-radius:var(--radius-lg);min-height:220px;color:var(--subtle);background:#ece7df80;border:1.5px dashed #8a5f3c38;place-items:center;display:grid;overflow:hidden}.image-dialog-preview>div{color:var(--muted);font-size:var(--fs-sm);justify-items:center;gap:8px;display:grid}.image-dialog-preview.ready{border-style:solid;border-color:var(--hairline)}.image-dialog-preview img{object-fit:cover;width:100%;height:100%;min-height:220px;max-height:300px;display:block}
.archive-toolbar{z-index:35;background:linear-gradient(to bottom, var(--canvas) 0%, var(--canvas) 76%, #f5f2ec00 100%);margin:0 0 8px 100px;padding:10px 0 14px;position:sticky;top:0}.search-box{border:1px solid var(--hairline-strong);border-radius:var(--radius-lg);background:var(--surface-strong);min-width:0;height:52px;box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:0 8px 0 16px;transition:border-color .15s,box-shadow .15s;display:flex}.search-box:focus-within{box-shadow:var(--ring), var(--shadow-sm);border-color:#8a5f3c73}.search-box>svg{color:var(--subtle);flex:none}.search-box input{width:100%;min-width:0;font-size:var(--fs-md);background:0 0;border:0;outline:0}kbd{border:1px solid var(--hairline-strong);color:var(--muted);font-family:inherit;font-size:var(--fs-2xs);white-space:nowrap;background:#fff;border-radius:6px;padding:3px 7px;font-weight:600}.archive-search-divider{background:var(--hairline);flex:none;width:1px;height:26px}.archive-date-filter{flex:none}.archive-date-trigger{border-radius:var(--radius-sm);max-width:220px;height:38px;color:var(--ink-2);font-size:var(--fs-sm);background:0 0;border:0;align-items:center;gap:7px;padding:0 10px;font-weight:600;display:flex}.archive-date-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.archive-date-trigger:hover,.archive-date-trigger.active{background:var(--accent-softer);color:var(--ink)}.archive-date-trigger.active>svg:first-child{color:var(--accent)}.archive-date-popover{z-index:var(--z-popover);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fbf9f5fc;padding:16px;position:fixed}.archive-date-popover-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.archive-date-popover-head>div{gap:3px;display:grid}.archive-date-popover-head strong{font-family:var(--font-serif-stack);font-size:var(--fs-xl);font-weight:560}.archive-date-popover-head span{color:var(--muted);font-size:var(--fs-sm)}.archive-date-modes{margin-top:14px}.archive-date-modes button{padding:0 6px}.archive-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.archive-date-fields.one-field{grid-template-columns:1fr}.archive-date-fields label{gap:6px;min-width:0;display:grid}.archive-date-fields label>span{color:var(--ink-2);font-size:var(--fs-sm);font-weight:600}.archive-date-clear{margin-top:14px}.search-status{color:var(--muted);font-size:var(--fs-sm);margin:-4px 0 12px 100px}.archive-upcoming{border-radius:var(--radius-md);color:#46607a;font-size:var(--fs-sm);background:#5d789412;border:1px dashed #5d789466;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 16px;padding:10px 12px 10px 14px;line-height:1.45;display:flex}.archive-upcoming svg{flex:none}.archive-upcoming span{flex:220px}.archive-upcoming button{color:#3c5670;font-size:var(--fs-sm);box-shadow:var(--shadow-xs);background:#fff;border:0;border-radius:999px;padding:5px 12px;font-weight:650}.archive-viewport{contain:layout style;position:relative;overflow:hidden}.archive-result-window.animate-results .entry-row{animation:archive-row-enter .42s var(--ease-out) both}@keyframes archive-row-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.virtual-list{width:100%;position:relative}.virtual-list-window{will-change:transform;position:absolute;inset:0 0 auto}.entry-row{text-align:left;background:0 0;border:0;grid-template-columns:72px minmax(0,1fr);align-items:stretch;gap:28px;width:100%;padding:7px 0;display:grid;position:relative}.entry-row:before{content:"";background:#8a5f3c2e;width:2px;position:absolute;top:0;bottom:0;left:85px}.entry-row:after{content:"";border:2px solid var(--canvas);background:#b0957d;border-radius:50%;width:12px;height:12px;transition:background-color .15s,transform .15s;position:absolute;top:50%;left:80px;transform:translateY(-50%)}.entry-row:hover:after{background:var(--accent);transform:translateY(-50%)scale(1.15)}.entry-row>svg{z-index:2;color:var(--subtle);transition:transform .15s,color .15s;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.entry-row:hover>svg{color:var(--accent);transform:translate(2px,-50%)}.entry-row time{color:var(--ink-2);align-content:center;justify-items:end;display:grid}.entry-row time strong{font-family:var(--font-serif-stack);font-size:28px;font-weight:480;line-height:1}.entry-row time span{color:var(--subtle);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-weight:700}.entry-copy{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs);align-content:center;gap:3px;padding:14px 48px 14px 18px;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s;display:grid}.entry-row.has-photos .entry-copy{padding-right:104px}.photo-badge{z-index:2;pointer-events:none;width:40px;height:44px;position:absolute;top:50%;right:50px;transform:translateY(-50%)}.photo-badge-card{width:28px;height:33px;transition:transform .2s var(--ease-out);background:#fffdf9;border-radius:3px;padding:3px 3px 8px;position:absolute;top:4px;left:6px;transform:rotate(4deg);box-shadow:0 1px 2px #2d241c2e,0 4px 10px #2d241c1a}.photo-badge-card.back{background:#f3eee6;transform:rotate(-9deg)translate(-3px,1px)}.photo-badge-card b{background:linear-gradient(#d9e3e6 0%,#e9e2d3 58%,#b9a58c 58%,#a8927a 100%);border-radius:1px;width:100%;height:100%;display:block;position:relative;overflow:hidden}.photo-badge-card b:before{content:"";background:#e7c983;border-radius:50%;width:5px;height:5px;position:absolute;top:4px;right:4px}.photo-badge-card b:after{content:"";clip-path:polygon(0 100%,45% 10%,100% 100%);background:#8f7a62;width:16px;height:10px;position:absolute;bottom:2px;left:-2px}.entry-row:hover .photo-badge-card.front{transform:rotate(0)translateY(-1px)}.entry-row:hover .photo-badge-card.back{transform:rotate(-12deg)translate(-5px,1px)}.photo-badge-count{border:2px solid var(--canvas);background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;bottom:-1px;right:-2px}.entry-row:hover .entry-copy{box-shadow:var(--shadow-sm);background:#fff;border-color:#8a5f3c33;transform:translateY(-1px)}.entry-copy>div{align-items:center;gap:10px;min-width:0;display:flex}.entry-chapter{color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-weight:700;overflow:hidden}.entry-mood{font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:4px;font-weight:600;display:inline-flex}.entry-mood.mood-1{color:var(--mood-ink-1)}.entry-mood.mood-2{color:var(--mood-ink-2)}.entry-mood.mood-3{color:var(--mood-ink-3)}.entry-mood.mood-4{color:var(--mood-ink-4)}.entry-mood.mood-5{color:var(--mood-ink-5)}.entry-copy h2{font-family:var(--font-serif-stack);font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:580;overflow:hidden}.entry-copy p{color:var(--muted);font-family:var(--font-serif-stack);font-size:var(--fs-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.archive-loading{border:1px solid var(--hairline);width:max-content;color:var(--muted);font-size:var(--fs-sm);background:#faf8f4f2;border-radius:999px;margin:12px auto 0;padding:8px 14px}.empty-state{color:var(--muted);text-align:center;justify-items:center;gap:6px;padding:64px 24px;display:grid}.empty-state h3{color:var(--ink);font-family:var(--font-serif-stack);font-size:var(--fs-xl);margin-top:8px;font-weight:560}.empty-state p{font-size:var(--fs-base)}.chapters-page .stat-strip{margin-bottom:16px}.chapter-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chapter-card{border:1px solid var(--hairline);border-radius:var(--radius-xl);background:var(--surface);min-height:240px;box-shadow:var(--shadow-sm);animation:card-enter .38s var(--ease-out) both;flex-direction:column;padding:20px;transition:transform .18s,box-shadow .18s,background-color .18s;display:flex;position:relative}@keyframes card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.chapter-card:hover{box-shadow:var(--shadow-md);background:#fff;transform:translateY(-2px)}.chapter-card.current{background:linear-gradient(150deg,#fffdf9,#4f7a5e0f);border-color:#4f7a5e38}.chapter-card-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.chapter-card-top-status{align-items:center;gap:8px;display:flex}.chapter-card-tools{align-items:center;gap:2px;display:flex}.chapter-card-edit{display:none}.chapter-card-mark{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:13px;place-items:center;display:grid}.chapter-status-pill{background:var(--success-soft);color:var(--success);font-size:var(--fs-xs);border-radius:999px;padding:4px 10px;font-weight:700}.chapter-card h3{font-family:var(--font-serif-stack);letter-spacing:-.02em;overflow-wrap:anywhere;margin:18px 0 8px;font-size:28px;font-weight:520;line-height:1.1}.chapter-card-dates{min-width:0;color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:7px;display:flex}.chapter-card-dates>svg{flex:none}.chapter-card-dates span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chapter-stat-row{color:var(--ink-2);font-size:var(--fs-sm);flex-wrap:wrap;gap:8px 14px;margin-top:12px;display:flex}.chapter-stat-row span{align-items:center;gap:6px;display:flex}.chapter-stat-row svg{color:var(--subtle)}.chapter-card-actions{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:20px;display:flex}.chapter-card-actions>.btn{flex:1 1 0;min-width:max-content}.chapter-dialog-body{gap:18px;display:grid}.chapter-dialog-body>*+*{margin-top:0}.goals-command-center{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:6px}.goal-kinds{background:var(--surface-sunken);scrollbar-width:none;border-radius:14px;gap:2px;padding:4px;display:flex}.goal-kinds::-webkit-scrollbar{display:none}.goal-kind{min-height:40px;color:var(--muted-strong);font-size:var(--fs-base);white-space:nowrap;background:0 0;border:0;border-radius:11px;flex:1 1 0;padding:0 14px;font-weight:600;transition:color .15s;position:relative}.goal-kind>span:not(.goal-kind-pill){z-index:1;position:relative}.goal-kind:hover,.goal-kind.active{color:var(--ink)}.goal-kind-pill{border-radius:inherit;box-shadow:var(--shadow-sm);background:#fff;position:absolute;inset:0}.goal-scope{justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:8px 8px 4px 14px;display:flex}.goal-scope-helper{color:var(--muted);font-size:var(--fs-base)}.goal-scope-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.goal-scope-controls:empty{display:none}.goal-scope-select{min-width:150px}.goals-content{animation:goals-content-enter .24s var(--ease-out) both;margin-top:16px}@keyframes goals-content-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.goals-overview{grid-template-columns:.8fr .8fr 1.4fr;margin-bottom:16px}.goal-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.goal-board>.empty-card{grid-column:1/-1}.goal-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);min-height:124px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;animation:card-enter .32s var(--ease-out) both;transition:background-color .16s,box-shadow .16s,border-color .16s,opacity .16s;position:relative}.goal-card:hover{box-shadow:var(--shadow-md);background:#fff}.goal-card:not(.completed){cursor:grab}.goal-card:not(.completed):active{cursor:grabbing}.goal-card.completed{opacity:.7}.goal-card.dragging{opacity:.12;box-shadow:none;background:0 0;border:1.5px dashed #8a5f3c66}.goal-card-main{border-radius:inherit;width:100%;min-height:122px;cursor:inherit;outline:0;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 60px 14px 18px;display:flex}.goal-card-main:focus-visible{box-shadow:inset 0 0 0 2px #8a5f3c73}.goal-scope-badge{background:var(--accent-softer);color:var(--accent-ink);font-size:var(--fs-xs);border-radius:999px;padding:3px 9px;font-weight:650}.goal-card h2{font-family:var(--font-serif-stack);letter-spacing:-.015em;overflow-wrap:anywhere;font-size:22px;font-weight:540;line-height:1.18}.goal-card.completed h2{text-decoration:line-through;-webkit-text-decoration-color:var(--subtle);text-decoration-color:var(--subtle)}.goal-card-progress{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;display:grid}.goal-card-progress>span{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:600}.goal-card-footer{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;gap:6px 14px;margin-top:auto;display:flex}.goal-card-footer span{align-items:center;gap:6px;display:flex}.goal-card-footer svg{color:var(--subtle)}.goal-card-check-anchor{position:absolute;top:12px;right:12px}.goal-card-check{border:1px solid var(--hairline);width:38px;height:38px;color:var(--subtle);background:#fff;border-radius:50%;place-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:grid}.goal-card-check:hover{color:var(--success);border-color:#4f7a5e59}.goal-card-check.done{background:var(--success-soft);color:var(--success);border-color:#4f7a5e4d}.goal-section-heading{grid-column:1/-1;align-items:baseline;gap:8px;margin:14px 0 0;display:flex}.goal-section-heading span{font-family:var(--font-serif-stack);font-size:var(--fs-xl);font-weight:540}.goal-section-heading small{color:var(--muted);font-size:var(--fs-sm)}.goal-drag-preview{z-index:calc(var(--z-toast) + 20);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:none;background:#fffdf9f7;border:1px solid #8a5f3c3d;flex-direction:column;gap:8px;padding:16px 60px 14px 18px;display:flex;position:fixed;transform:rotate(.6deg)scale(1.02)}.goal-drag-preview>span{width:max-content}.goal-drag-preview>strong{font-family:var(--font-serif-stack);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:540;overflow:hidden}.goal-drag-preview>small{color:var(--muted);font-size:var(--fs-sm)}.goal-pointer-dragging,.goal-pointer-dragging *{cursor:grabbing!important}.goal-dialog-meta{color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.goal-kind-change{cursor:pointer;border:0;align-items:center;gap:4px;display:inline-flex}.goal-kind-change:hover{background:var(--accent-soft)}.goal-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.goal-kind-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);text-align:left;background:#fff;align-content:start;justify-items:start;gap:5px;min-width:0;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.goal-kind-card:hover{box-shadow:var(--shadow-sm);border-color:#8a5f3c52;transform:translateY(-1px)}.goal-kind-card.current{background:linear-gradient(160deg, #fff, var(--accent-softer));border-color:#8a5f3c61}.goal-kind-card-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:38px;height:38px;color:var(--accent);place-items:center;margin-bottom:6px;display:grid}.goal-kind-card strong{font-family:var(--font-serif-stack);font-size:var(--fs-xl);font-weight:560;line-height:1.15}.goal-kind-card small{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.4}.goal-kind-card em{color:var(--muted);font-family:var(--font-serif-stack);font-size:var(--fs-sm);margin-top:2px;font-style:italic;line-height:1.4}.goal-title-field{gap:8px;display:grid}.goal-title-field textarea{resize:none;border:0;border-bottom:1.5px solid var(--hairline-strong);width:100%;font-family:var(--font-serif-stack);letter-spacing:-.015em;background:0 0;border-radius:0;outline:0;padding:0 0 10px;font-size:30px;font-weight:500;line-height:1.2;transition:border-color .15s;overflow:hidden}.goal-title-field textarea:focus{border-color:var(--accent)}.goal-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.goal-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-fields .hero-select,.goal-fields .date-picker-field{width:100%}.goal-period-controls{gap:8px;display:grid}.goal-period-controls.split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.goal-period-controls .hero-select-trigger{min-width:0}.goal-checklist{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#fff9;padding:16px}.goal-checklist-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.goal-checklist-heading>div{gap:2px;display:grid}.goal-checklist-heading strong{font-size:var(--fs-md)}.goal-checklist-heading span:not(.pill){color:var(--muted);font-size:var(--fs-sm)}.goal-checklist-items{margin-top:10px;display:grid}.goal-checklist-item{border-top:1px solid var(--hairline);min-height:48px;animation:card-enter .22s var(--ease-out) both;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:4px;display:grid}.goal-checklist-item input{border-radius:var(--radius-xs);min-width:0;font-size:var(--fs-base);background:0 0;border:0;outline:0;padding:6px 4px}.goal-checklist-item input:focus{background:var(--accent-softer)}.goal-checklist-item.completed input{color:var(--subtle);text-decoration:line-through}.goal-checklist-item.completed .icon-btn:first-child{color:var(--success)}.goal-checklist-add{grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin-top:12px;display:grid}.goal-checklist-add .btn{min-height:44px;padding:0}.goal-journal-link{border-radius:var(--radius-md);background:var(--accent-softer);width:100%;color:var(--accent-ink);font-size:var(--fs-sm);text-align:left;border:1px solid #8a5f3c29;align-items:center;gap:10px;padding:14px 16px;font-weight:600;display:flex}.goal-journal-link svg:last-child{margin-left:auto}.goal-journal-link:hover{background:var(--accent-soft)}.book-builder-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.book-builder-main{gap:16px;min-width:0;display:grid}.scope-list{gap:8px;display:grid}.scope-option{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#ffffff80;transition:border-color .18s,background-color .18s,box-shadow .18s;overflow:hidden}.scope-option:hover{border-color:var(--hairline-strong)}.scope-option.selected{box-shadow:var(--shadow-sm);background:#fff;border-color:#8a5f3c59}.scope-option-head{text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;min-height:64px;padding:12px 16px 12px 12px;display:flex}.scope-option.selected .scope-option-head{cursor:default}.scope-option-icon{background:var(--surface-sunken);width:40px;height:40px;color:var(--muted);border-radius:12px;flex:none;place-items:center;transition:background-color .18s,color .18s;display:grid}.scope-option.selected .scope-option-icon{background:var(--accent-soft);color:var(--accent)}.scope-option-copy{flex:1;gap:1px;min-width:0;display:grid}.scope-option-copy strong{font-size:var(--fs-md);font-weight:650}.scope-option-copy small{color:var(--muted);font-size:var(--fs-sm)}.radio-dot{background:#fff;border:1.5px solid #1f1c1938;border-radius:50%;flex:none;width:22px;height:22px;transition:border-color .15s,box-shadow .15s}.scope-option.selected .radio-dot{border-color:var(--accent);box-shadow:inset 0 0 0 5px var(--accent)}.scope-option-body{overflow:hidden}.scope-option-inner{gap:10px;padding:4px 16px 16px 66px;display:grid}.pick-list{gap:6px;display:grid}.pick-list.scroll{max-height:320px;padding-right:4px;overflow-y:auto}.pick-row{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--canvas);text-align:left;align-items:center;gap:12px;min-height:50px;padding:8px 12px;transition:border-color .15s,background-color .15s;display:flex}.pick-row:hover{border-color:var(--hairline-strong)}.pick-row.selected{background:var(--accent-softer);border-color:#8a5f3c4d}.pick-row-copy{gap:1px;min-width:0;display:grid}.pick-row-copy strong{font-family:var(--font-serif-stack);font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;font-weight:560;overflow:hidden}.pick-row-copy small{color:var(--muted);font-size:var(--fs-xs)}.book-shape-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.book-shape-group{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#ffffff80;align-content:start;gap:14px;min-width:0;padding:16px;display:grid}.book-shape-group legend{float:left;border-bottom:1px solid var(--hairline);gap:2px;width:100%;padding-bottom:12px;display:grid}.book-shape-group legend+*{clear:both}.book-shape-group legend span{font-family:var(--font-serif-stack);font-size:var(--fs-xl);font-weight:560}.book-shape-group legend small{color:var(--muted);font-size:var(--fs-sm)}.book-shared-details{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding-top:14px;display:flex}.book-shared-details>div:first-child{gap:2px;display:grid}.book-shared-details strong{font-size:var(--fs-base)}.book-shared-details span{color:var(--muted);font-size:var(--fs-sm)}.book-builder-preview-wrap{gap:12px;display:grid;position:sticky;top:24px}.book-builder-preview-wrap .panel-head{margin-bottom:0}.book-builder-preview{aspect-ratio:210/297;perspective:800px;border:1px solid var(--hairline);box-shadow:inset 6px 0 10px -8px #0000002e, var(--shadow-md);background:#fff;border-radius:6px 14px 14px 6px;place-items:center;padding:26px 20px;display:grid}.book-preview-center{text-align:center;justify-items:center;gap:8px;max-width:100%;display:grid}.book-preview-brand{align-items:center;gap:7px;margin-bottom:14px;display:flex}.book-preview-brand .hero-mark{width:22px;height:22px}.book-preview-brand strong{font-size:var(--fs-sm);font-weight:700}.book-preview-title{max-width:100%;font-family:var(--font-serif-stack);letter-spacing:-.015em;overflow-wrap:anywhere;font-size:34px;font-weight:440;line-height:1}.book-preview-center>small{color:var(--ink-2);font-family:var(--font-serif-stack);font-size:var(--fs-sm)}.book-preview-center>p{color:var(--muted);font-size:var(--fs-xs)}.book-preview-center>em{color:var(--muted);font-family:var(--font-serif-stack);font-size:var(--fs-sm);font-style:italic;line-height:1.4}.book-preview-closing-mark .hero-mark{width:30px;height:30px;margin-bottom:8px}.book-preview-kicker{color:var(--subtle);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.book-preview-closing-title{font-family:var(--font-serif-stack);font-size:26px;font-weight:460;line-height:1.1}.book-builder-estimate{color:var(--muted);font-size:var(--fs-sm);line-height:1.45}.lifetime-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.lifetime-actions>.timeline-start{grid-column:1/-1}.lifetime-actions .timeline-start-trigger,.lifetime-print{justify-content:center;width:100%}.timeline-start{position:relative}.timeline-start-copy{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-block:2px;font-weight:550;line-height:1.35;overflow:hidden}.timeline-start-copy>strong{color:var(--ink);font-weight:650}.timeline-start-trigger>svg{color:var(--accent)}.timeline-start-dialog .onboarding-start{margin-top:2px}.start-first{border:1px solid var(--hairline);border-radius:var(--radius-lg);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#ffffffb8;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;transition:border-color .18s,box-shadow .18s,background-color .18s;display:flex}.start-first:hover{border-color:#8a5f3c59}.start-first:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.start-first.selected{border-color:var(--accent);box-shadow:0 0 0 3px #8a5f3c21, var(--shadow-sm);background:#fff}.start-first>span:nth-child(2){flex:auto;gap:2px;min-width:0;display:grid}.start-first strong{font-size:var(--fs-base);font-weight:650}.start-first small{color:var(--muted);font-size:var(--fs-xs)}.start-first-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.start-first-check{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.timeline-page .stat-grid{margin-bottom:20px}.calendar-panel{scroll-margin-top:16px}.calendar-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.calendar-panel-heading p{max-width:380px;color:var(--muted);font-size:var(--fs-sm)}.timeline-year-control{align-items:center;gap:8px;display:flex}.timeline-year-control .portal-tooltip-anchor{display:grid}.timeline-year-control .icon-btn{width:44px;height:44px}.timeline-year-select .hero-select-trigger{min-width:104px;font-family:var(--font-serif-stack);font-size:var(--fs-xl);font-weight:540}.month-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.month-grid-days{display:contents}.month-card{border:1px solid var(--hairline);border-radius:var(--radius-md);background:#ffffff80;min-width:0;padding:12px}.month-card.future-month{background:#ffffff40}.month-card.future-month .month-card-heading{opacity:.6}.month-card-heading{justify-content:space-between;align-items:center;gap:6px;min-height:20px;margin-bottom:10px;display:flex}.month-card-heading strong{color:var(--ink-2);font-size:var(--fs-sm);font-weight:650}.month-card-heading span{color:var(--subtle);font-size:var(--fs-2xs);font-weight:600}.day-dots{grid-template-columns:repeat(7,minmax(0,1fr));justify-items:center;gap:4px 3px;display:grid}.day-dot-blank,.day-dot{aspect-ratio:1;width:100%;max-width:22px}.day-dot{min-width:0;transition:transform .12s ease, border-color .12s ease, background-color .4s var(--ease-out);background:0 0;border:1.5px solid #d8d0c6;border-radius:50%;padding:0}.day-dot:hover:not(:disabled){border-color:var(--accent);transform:scale(1.2)}.day-dot:disabled{opacity:.25}.day-dot.today{border-color:var(--accent);box-shadow:0 0 0 2px #8a5f3c2e}.day-dot.written.mood-1{border-color:var(--mood-1);background:var(--mood-1)}.day-dot.written.mood-2{border-color:var(--mood-2);background:var(--mood-2)}.day-dot.written.mood-3{border-color:var(--mood-3);background:var(--mood-3)}.day-dot.written.mood-4{border-color:var(--mood-4);background:var(--mood-4)}.day-dot.written.mood-5{border-color:var(--mood-5);background:var(--mood-5)}.day-dot.future-day:not(.written){border-style:dashed;border-color:#8a5f3c4d}.day-dot.future-day.written{border-color:var(--future);background:var(--future);box-shadow:0 0 0 3px #5d78941f}.calendar-legend{color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;margin-top:16px;display:flex}.calendar-legend span{align-items:center;gap:6px;display:inline-flex}.calendar-legend i{border-radius:50%;width:10px;height:10px}.calendar-legend i.mood-1{background:var(--mood-1)}.calendar-legend i.mood-2{background:var(--mood-2)}.calendar-legend i.mood-3{background:var(--mood-3)}.calendar-legend i.mood-4{background:var(--mood-4)}.calendar-legend i.mood-5{background:var(--mood-5)}.calendar-legend i.future-written{background:var(--future)}.mood-palettes{gap:16px;margin-top:16px;display:grid;container-type:inline-size}.mood-palettes-head{align-items:flex-start;gap:12px;display:flex}.mood-palettes-icon{background:color-mix(in srgb, var(--mood-5) 12%, #fff);width:36px;height:36px;color:var(--mood-ink-5);transition:background-color .4s var(--ease-out), color .4s var(--ease-out);border-radius:12px;flex:none;place-items:center;display:grid}.mood-palettes-head h2{font-family:var(--font-serif-stack);font-size:var(--fs-xl);flex-wrap:wrap;align-items:center;gap:8px;font-weight:560;line-height:1.2;display:flex}.mood-palettes-head h2 .plus-chip{margin-left:0}.mood-palettes-head p{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}.mood-swatches{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@container (min-width:440px){.mood-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (min-width:840px){.mood-swatches{grid-template-columns:repeat(8,minmax(0,1fr))}}.mood-swatch{border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:0;color:var(--ink);text-align:left;background:#fff;align-content:start;justify-items:start;gap:9px;padding:12px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative}.mood-swatch:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.mood-swatch.active{border-color:var(--mood-ink-5);box-shadow:inset 0 0 0 1px var(--mood-ink-5), 0 6px 16px color-mix(in srgb, var(--mood-ink-5) 16%, transparent)}.mood-swatch-ramp{gap:3px;display:flex}.mood-swatch-ramp i{border-radius:50%;width:10px;height:10px}.mood-swatch-ramp i.mood-1{background:var(--mood-1)}.mood-swatch-ramp i.mood-2{background:var(--mood-2)}.mood-swatch-ramp i.mood-3{background:var(--mood-3)}.mood-swatch-ramp i.mood-4{background:var(--mood-4)}.mood-swatch-ramp i.mood-5{background:var(--mood-5)}.mood-swatch-text{gap:1px;min-width:0;display:grid}.mood-swatch-text strong{font-size:var(--fs-sm);overflow-wrap:anywhere;font-weight:650;line-height:1.25}.mood-swatch-text small{color:var(--muted);font-size:var(--fs-2xs);line-height:1.35}.mood-swatch-mark{width:18px;height:18px;color:var(--subtle);border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.mood-swatch.active .mood-swatch-mark{background:var(--mood-ink-5);color:#fff}.mood-swatch.locked .mood-swatch-ramp{opacity:.82}.year-waveform{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:#ffffff80;margin-top:20px;padding:16px}.year-waveform-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.year-waveform-heading strong{font-family:var(--font-serif-stack);font-size:var(--fs-lg);font-weight:560}.year-waveform-heading span{color:var(--subtle);font-size:var(--fs-xs)}.year-waveform-track{border-radius:var(--radius-md);background:#fff9;padding:8px 10px;overflow:hidden}.year-waveform-segments{align-items:center;gap:2px;height:30px;display:flex}.year-waveform-segment{background:#8a5f3c24;border-radius:999px;flex-basis:0;min-width:2px;height:10px}.year-waveform-segment.elapsed{background:#8a5f3c33;height:12px}.year-waveform-segment.future{background:#5d789421;height:8px}.year-waveform-segment.mood-1{background:var(--mood-1);height:22px}.year-waveform-segment.mood-2{background:var(--mood-2);height:22px}.year-waveform-segment.mood-3{background:var(--mood-3);height:22px}.year-waveform-segment.mood-4{background:var(--mood-4);height:22px}.year-waveform-segment.mood-5{background:var(--mood-5);height:22px}.year-waveform-segment.future-written{background:var(--future);height:22px}.year-waveform-meta{color:var(--muted);font-size:var(--fs-xs);grid-template-columns:1fr auto 1fr;align-items:end;gap:14px;margin-top:10px;display:grid}.year-waveform-meta>span:last-child{text-align:right}.year-waveform-meta strong{color:var(--ink-2);font-variant-numeric:tabular-nums;font-weight:700}.year-waveform-meta .year-waveform-progress{color:var(--ink);font-family:var(--font-serif-stack);font-size:var(--fs-2xl);font-weight:500;line-height:1}.years-section{margin-top:28px}.year-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.year-card{border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--surface);min-height:118px;color:inherit;text-align:left;flex-direction:column;gap:12px;padding:16px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.year-card:hover{box-shadow:var(--shadow-sm);background:#fff}.year-card.selected{box-shadow:var(--shadow-sm);background:#fff;border-color:#8a5f3c59}.year-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.year-label strong{font-family:var(--font-serif-stack);font-size:var(--fs-2xl);font-weight:500}.year-label span{color:var(--accent-ink);font-size:var(--fs-xs);font-weight:650}.year-card .meter{margin-top:auto}.year-meta{color:var(--muted);font-size:var(--fs-xs);justify-content:space-between;gap:8px;display:flex}
