@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-full-normal-7BpKI3vF.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-full-normal-YHFkNujK.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-full-normal-CFFu7zhK.woff2)format("woff2-variations");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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-full-italic-BHALq22K.woff2)format("woff2-variations");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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-full-italic-B8-t4Nou.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-full-italic-D2JnYqd-.woff2)format("woff2-variations");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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-wght-normal-DLqwHbi6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-greek-ext-wght-normal-e3e57Shi.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-greek-wght-normal-CO1l-giJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-vietnamese-wght-normal-LcSrhZ7T.woff2)format("woff2-variations");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:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-latin-ext-wght-normal-BnEbWgdZ.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-latin-wght-normal-DLxlUchJ.woff2)format("woff2-variations");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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-ext-wght-italic-DrMGjC4f.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-wght-italic-C2hF6zFe.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-greek-ext-wght-italic-f6xT_0ee.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-greek-wght-italic-9BAkQpca.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-vietnamese-wght-italic-LyOFdRXZ.woff2)format("woff2-variations");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:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-latin-ext-wght-italic-CC1SwlwQ.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-latin-wght-italic-Bm_GJfSc.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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}:root{--bg:#f5f0e6;--sheet:#fffcf5;--raised:#fffdf9;--ink:#2b2620;--ink-2:#554c42;--muted:#73685b;--faint:#a69a8a;--line:#e7dfd0;--line-2:#d8ccb8;--accent:#46654a;--accent-hover:#3a573e;--accent-ink:#fff;--accent-soft:#e6ecdf;--gold:#b88d3f;--gold-soft:#f6ecd6;--danger:#a63d2f;--danger-soft:#f8e8e4;--mark:#f4e3b3;--shadow:0 1px 2px #4632190d, 0 8px 28px #46321912;--shadow-soft:0 1px 2px #4632190d, 0 2px 10px #4632190a;--brand-deep:#3d5741;--brand-cream:#f8f2e4;--brand-gold:#c99c4b;--display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--serif:"Literata Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--write:19px;--ui:16px;--tabbar:66px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#1b1916;--sheet:#23201c;--raised:#2a2621;--ink:#eee7da;--ink-2:#cfc5b5;--muted:#a99d8c;--faint:#7d7365;--line:#36312a;--line-2:#4a4339;--accent:#a9c69e;--accent-hover:#bdd6b3;--accent-ink:#172014;--accent-soft:#2f3a2b;--gold:#d7b46c;--gold-soft:#3a3122;--danger:#ec8f80;--danger-soft:#3f2723;--mark:#5b4a22;--shadow:0 1px 2px #0000004d, 0 8px 28px #00000040;--shadow-soft:0 1px 2px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-size=large]{--write:21px;--ui:17px}[data-size=larger]{--write:23.5px;--ui:18px}@media (width>=760px){:root{--write:20px}[data-size=large]{--write:22px}[data-size=larger]{--write:24.5px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-weight:inherit;margin:0}p,ul,ol{margin:0}a{color:var(--accent)}.icon{flex:none;display:block}.icon.inline{vertical-align:-3px;display:inline-block}.muted{color:var(--muted)}.center{text-align:center}.pad{padding:28px 8px}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}.skip{background:var(--sheet);z-index:100;border-radius:8px;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.loading{min-height:100dvh;font-family:var(--display);color:var(--muted);text-align:center;place-items:center;padding:24px;font-size:24px;font-style:italic;display:grid}.btn{border:1px solid var(--line-2);background:var(--raised);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:16px;font-weight:550;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{border-color:var(--faint)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:0 0}.btn.danger:hover:not(:disabled){background:var(--danger-soft)}.btn.small{min-height:42px;padding:0 16px;font-size:15px}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.icon-btn{width:48px;height:48px;color:var(--ink-2);background:0 0;border:none;border-radius:999px;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn.small{width:40px;height:40px}.link{min-height:44px;color:var(--accent);background:0 0;border:none;align-items:center;gap:6px;padding:0 6px;font-size:16px;font-weight:550;display:inline-flex}.link:hover{text-underline-offset:3px;text-decoration:underline}.link.quiet{color:var(--muted);font-size:15px;font-weight:450}.link.quiet:hover{color:var(--danger)}.pill{border:1px solid var(--line-2);background:var(--raised);min-height:40px;color:var(--accent);border-radius:999px;padding:0 16px;font-size:15px;font-weight:600}.pill:hover:not(:disabled){border-color:var(--accent)}.pill:disabled{opacity:.5;cursor:default;color:var(--muted)}.app{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:30;padding:calc(8px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex;position:sticky;top:0}.wordmark{font-family:var(--display);letter-spacing:-.005em;font-variation-settings:"SOFT" 100, "opsz" 36;color:var(--ink);background:0 0;border:none;align-items:center;gap:10px;padding:6px 4px;font-size:22px;font-weight:500;display:inline-flex}.wordmark .logo-mark{border-radius:8px}.topnav{gap:4px;display:none}.topnav button{min-height:44px;color:var(--ink-2);background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:15.5px;font-weight:550;display:inline-flex}.topnav button.on,.topnav button.on:hover{background:var(--accent-soft);color:var(--accent)}.main{width:100%;padding:4px 0 calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px);flex:1}.tabbar{z-index:30;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:color-mix(in srgb, var(--sheet) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);transition:transform .25s;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--muted);letter-spacing:.01em;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12.5px;font-weight:550;display:flex}.tabbar button.on{color:var(--accent)}.tabbar button.on .icon{stroke-width:2.1px}@media (pointer:coarse) and (width<=759px){body.editing .tabbar{transform:translateY(110%)}}@media (width>=760px){.topbar{min-height:68px;padding-left:28px;padding-right:28px}.topnav{display:flex}.tabbar{display:none}.main{padding:12px 0 64px}}.update-bar{background:var(--accent-soft);color:var(--ink);border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:4px 16px;padding:8px 16px;font-size:15px;display:flex}.entry-layout{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}.sheet{padding:6px 0 8px;position:relative}.side{display:none}@media (width>=760px){.entry-layout{padding:0 32px}.sheet{background:var(--sheet);max-width:760px;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;min-height:calc(100vh - 120px);margin:0 auto;padding:40px 64px 28px;display:flex}.sheet .editor-wrap{flex:1}}@media (width>=1100px){.entry-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:36px;display:grid}.sheet{max-width:none;margin:0}.side{flex-direction:column;gap:20px;display:flex;position:sticky;top:88px}.mobile-only{display:none}}.side-card{background:var(--sheet);box-shadow:var(--shadow-soft);border-radius:6px;padding:18px 18px 14px}[data-theme=dark] .side-card{border:1px solid var(--line)}.date-head{grid-template-columns:48px 1fr 48px;align-items:center;gap:4px;display:grid}.day-arrow{color:var(--faint)}.day-arrow:hover{color:var(--ink)}.date-title{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.d-weekday{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:650}.d-main{font-family:var(--display);letter-spacing:-.015em;font-variation-settings:"SOFT" 100, "opsz" 144;color:var(--ink);font-size:44px;font-weight:400;line-height:1.08}.d-year{font-family:var(--display);color:var(--muted);font-variation-settings:"SOFT" 100, "opsz" 24;font-size:20px;font-style:italic}@media (width>=760px){.d-main{font-size:56px}}.ornament{justify-content:center;margin:14px 0 6px;display:flex}.ornament span{width:120px;height:9px;position:relative}.ornament span:before{content:"";border-top:1px solid var(--line-2);position:absolute;top:4px;left:0;right:0}.ornament span:after{content:"";background:var(--sheet);border:1px solid var(--gold);width:8px;height:8px;box-shadow:0 0 0 5px var(--sheet);margin-left:-4px;position:absolute;top:0;left:50%;transform:rotate(45deg)}@media (width<=759px){.ornament span:after{background:var(--bg);box-shadow:0 0 0 5px var(--bg)}}.back-today{justify-content:center;margin-top:-2px;display:flex}.prompt{max-width:34em;font-family:var(--display);color:var(--ink-2);font-variation-settings:"SOFT" 100, "opsz" 24;text-align:center;justify-content:center;align-items:center;gap:4px;margin:14px auto 4px;font-size:18.5px;font-style:italic;line-height:1.4;display:flex}.prompt .icon-btn{color:var(--faint)}.prompt .icon-btn:hover{color:var(--accent)}.title-input{width:100%;font-family:var(--display);font-size:calc(var(--write) * 1.35);color:var(--ink);font-variation-settings:"SOFT" 50, "opsz" 48;letter-spacing:-.005em;background:0 0;border:none;outline:none;margin:18px 0 2px;padding:6px 0;font-weight:500;line-height:1.25;display:block}.title-input::placeholder{color:var(--faint);opacity:.85;font-weight:400}.title-input:focus-visible{outline:none}.editor-wrap{cursor:text;min-height:38vh;padding-bottom:12px}.editor .writing{min-height:38vh;font-family:var(--serif);font-size:var(--write);color:var(--ink);font-variation-settings:"opsz" 14;caret-color:var(--accent);overflow-wrap:break-word;outline:none;padding:8px 0 24px;line-height:1.75}.editor .writing p{margin:0 0 .85em}.editor .writing blockquote{border-left:2px solid var(--gold);color:var(--ink-2);margin:0 0 .85em;padding-left:18px;font-style:italic}.editor .writing ul,.editor .writing ol{margin:0 0 .85em;padding-left:1.4em}.editor .writing li p{margin:0 0 .25em}.editor .writing p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--faint);font-style:italic}.sheet-foot{border-top:1px solid var(--line);flex-direction:column;gap:14px;margin-top:12px;padding-top:18px;display:flex}.mood{flex-direction:column;gap:8px;display:flex}.mood-q{color:var(--muted);font-size:14.5px;font-weight:500}.mood-row{flex-wrap:wrap;gap:6px;display:flex}.mood-btn{width:62px;height:66px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12.5px;font-weight:550;transition:background .15s,color .15s,border-color .15s;display:flex}.mood-btn.on,.mood-btn.on:hover{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}@media (width<=400px){.mood-row{justify-content:space-between;gap:0}.mood-btn{width:19.5%}}.foot-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.status{color:var(--muted);align-items:center;gap:14px;font-size:15px;display:inline-flex}.status .words{font-variant-numeric:tabular-nums}.saved{align-items:center;gap:6px;display:inline-flex}.saved.saving{color:var(--faint)}.reminder{background:var(--gold-soft);color:var(--ink);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);border-radius:14px;align-items:flex-start;gap:14px;margin:0 0 22px;padding:16px 18px;display:flex}.reminder>.icon{color:var(--gold);margin-top:2px}.reminder-text{color:var(--ink-2);flex-direction:column;gap:4px;font-size:15.5px;display:flex}.reminder-text strong{color:var(--ink);font-size:16.5px}.reminder-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.on-this-day.mobile-only{background:var(--raised);border:1px solid var(--line);border-radius:16px;margin-top:28px;padding:18px}.otd-title{font-family:var(--display);font-variation-settings:"SOFT" 100;margin-bottom:8px;font-size:21px;font-weight:500}.otd-list{flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.otd-item{text-align:left;background:0 0;border:none;border-radius:12px;flex-direction:column;gap:3px;width:calc(100% + 24px);margin:0 -12px;padding:10px 12px;display:flex}.otd-when{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-size:13px;font-weight:650}.otd-name{font-family:var(--display);font-size:18px;font-weight:500}.otd-text{font-family:var(--serif);color:var(--ink-2);font-size:15.5px;line-height:1.55}.month-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.month-title{font-family:var(--display);letter-spacing:-.01em;font-variation-settings:"SOFT" 100, "opsz" 72;white-space:nowrap;font-size:30px;font-weight:450}.month-title span{color:var(--muted);font-weight:350}.month-controls{align-items:center;gap:2px;display:flex}.month.compact .month-title{font-size:21px}.month.compact .month-head{margin-bottom:6px}.month.compact .icon-btn{width:40px;height:40px}.month.compact .pill{min-height:34px;padding:0 12px;font-size:14px}.grid{flex-direction:column;gap:4px;display:flex}.grid-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday-cell{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 0 6px;font-size:12.5px;font-weight:650}.day{aspect-ratio:1;font-variant-numeric:tabular-nums;min-height:46px;color:var(--ink);background:0 0;border:1.5px solid #0000;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:17.5px;transition:background .15s,border-color .15s;display:flex;position:relative}.day.blank{pointer-events:none}.day .num{margin-top:6px;line-height:1}.day .dot{background:0 0;border-radius:50%;width:6px;height:6px}.day.has{background:color-mix(in srgb, var(--accent) 9%, transparent);font-weight:600}.day.has .dot{background:var(--accent)}.day.future{color:var(--faint)}.day.today{border-color:var(--accent)}.day.today .num{color:var(--accent);font-weight:700}.day.selected,.day.selected:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.day.selected .num{color:var(--accent-ink)}.day.selected.has .dot{background:var(--accent-ink)}.month.compact .grid,.month.compact .grid-row{gap:2px}.month.compact .day{min-height:38px;font-size:15px}.month.compact .day .num{margin-top:5px}.month.compact .day .dot{width:5px;height:5px}.month.compact .weekday-cell{letter-spacing:0;font-size:12px}.calendar-layout{flex-direction:column;gap:24px;max-width:1080px;margin:0 auto;padding:4px 16px;display:flex}.cal-card{background:var(--sheet);box-shadow:var(--shadow-soft);border-radius:20px;padding:16px 12px 14px}[data-theme=dark] .cal-card{border:1px solid var(--line)}.cal-hint{text-align:center;color:var(--muted);margin-top:10px;font-size:14.5px}.cal-card .month-head{padding:0 2px 0 6px}@media (width>=900px){.calendar-layout{grid-template-columns:minmax(0,560px) minmax(0,1fr);align-items:start;gap:32px;padding:12px 32px;display:grid}.cal-card{box-shadow:var(--shadow);border-radius:8px;padding:24px 24px 18px}.month-title{font-size:34px}.month-list{background:var(--sheet);box-shadow:var(--shadow-soft);border-radius:8px;padding:24px 26px}[data-theme=dark] .month-list{border:1px solid var(--line)}}.list-title{font-family:var(--display);font-variation-settings:"SOFT" 100;margin-bottom:10px;padding:0 4px;font-size:22px;font-weight:500}.month-list>.muted{padding:0 4px}.entry-list{flex-direction:column;padding:0;list-style:none;display:flex}.entry-list li+li{border-top:1px solid var(--line)}.entry-row{text-align:left;background:0 0;border:none;border-radius:12px;align-items:flex-start;gap:16px;width:100%;padding:14px 6px;display:flex}.er-date{flex-direction:column;flex:none;align-items:center;width:46px;display:flex}.er-day{font-family:var(--display);color:var(--accent);font-variation-settings:"SOFT" 100, "opsz" 72;font-size:30px;font-weight:400;line-height:1}.er-wd{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:12px;font-weight:650}.er-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.er-title{font-family:var(--display);font-size:18.5px;font-weight:550;line-height:1.3}.er-text{font-family:var(--serif);color:var(--ink-2);font-size:16px;line-height:1.5}.er-meta{color:var(--muted);font-size:13.5px}.er-mood{color:var(--gold);padding-top:4px}.cal-total{text-align:center;color:var(--muted);font-size:14.5px;font-family:var(--display);margin-top:16px;font-size:17px;font-style:italic}.narrow{max-width:680px;margin:0 auto;padding:8px 20px}.page-title{font-family:var(--display);letter-spacing:-.01em;font-variation-settings:"SOFT" 100, "opsz" 96;margin:8px 0 18px;font-size:36px;font-weight:450}.search-box{background:var(--sheet);border:1.5px solid var(--line-2);min-height:60px;color:var(--muted);box-shadow:var(--shadow-soft);border-radius:18px;align-items:center;gap:10px;padding:0 6px 0 18px;display:flex}.search-box:focus-within{border-color:var(--accent)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:19px}.search-box input::-webkit-search-cancel-button{display:none}.result-count{color:var(--muted);margin:18px 4px 6px;font-size:15px}.results{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.result{text-align:left;border:1px solid var(--line);background:var(--sheet);border-radius:16px;flex-direction:column;gap:4px;width:100%;padding:16px 18px;display:flex}.r-date{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:650}.r-title{font-family:var(--display);font-size:19px;font-weight:550}.r-text{font-family:var(--serif);color:var(--ink-2);font-size:16.5px;line-height:1.55}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 2px}.privacy-card{background:var(--accent-soft);border-radius:18px;align-items:flex-start;gap:14px;margin-bottom:28px;padding:18px 20px;display:flex}.privacy-card>.icon{color:var(--accent);margin-top:2px}.privacy-card strong{margin-bottom:4px;font-size:17.5px;display:block}.privacy-card p{color:var(--ink-2);font-size:15.5px;line-height:1.55}.group{margin-bottom:30px}.group>h2{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 4px 10px;font-size:13.5px;font-weight:700}.group>.row,.group>.install,.group>.pad-row{background:var(--sheet);border:1px solid var(--line)}.group>.row{border-radius:0;margin-top:-1px}.group>:nth-child(2){border-top-left-radius:16px;border-top-right-radius:16px;margin-top:0}.group>:last-child{border-bottom-right-radius:16px;border-bottom-left-radius:16px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;width:100%;padding:16px 18px;display:flex}.row-text{flex-direction:column;flex:260px;gap:3px;min-width:0;display:flex}.row-label{font-size:16.5px;font-weight:600}.row-hint{color:var(--muted);font-size:15px;line-height:1.5}.pad-row{border-radius:16px;padding:16px 18px;display:block}.row-link{border:1px solid var(--line);text-align:left;color:var(--ink);flex-wrap:nowrap}.row-link .icon{color:var(--muted)}.select{border:1px solid var(--line-2);background:var(--raised);appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px;border-radius:12px;min-height:48px;padding:0 40px 0 16px;font-size:16px}.toggle-row{cursor:pointer;flex-wrap:nowrap}.switch{appearance:none;background:var(--line-2);cursor:pointer;border-radius:999px;flex:none;width:54px;height:32px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(22px)}[data-theme=dark] .switch:after{background:#f2ece2}.seg-row{flex-wrap:wrap}.segmented{background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;flex-wrap:wrap;gap:2px;padding:4px;display:inline-flex}.segmented button{min-height:42px;color:var(--ink-2);background:0 0;border:none;border-radius:999px;padding:0 16px;font-size:15px;font-weight:550}.segmented button.on{background:var(--sheet);color:var(--ink);box-shadow:0 1px 3px #0000001f}.install{color:var(--ink-2);border-radius:16px;align-items:flex-start;gap:14px;padding:18px;font-size:15.5px;line-height:1.55;display:flex}.install>.icon{color:var(--accent)}.install ol,.install ul.plain{flex-direction:column;gap:6px;padding-left:1.2em;display:flex}.install ul.plain{padding:0;list-style:none}.install p{margin-bottom:12px}.danger-zone .row-label{color:var(--danger)}.version{text-align:center;color:var(--faint);margin:12px 0 8px;font-size:14px}.field{flex-direction:column;gap:8px;margin-top:14px;font-size:15.5px;display:flex}.field input{border:1.5px solid var(--line-2);background:var(--raised);border-radius:12px;min-height:48px;padding:0 14px;font-size:17px}.about .back{margin:0 0 4px -6px}.about-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:12px 0 26px;display:flex}.about-hero .logo-mark{box-shadow:var(--shadow);border-radius:18px}.about-hero h1{font-family:var(--display);font-variation-settings:"SOFT" 100, "opsz" 96;letter-spacing:-.01em;font-size:40px;font-weight:450}.tagline{font-family:var(--display);color:var(--muted);font-size:20px;font-style:italic}.about section{background:var(--sheet);border:1px solid var(--line);border-radius:18px;margin-bottom:16px;padding:20px 22px}.about h2{font-family:var(--display);font-variation-settings:"SOFT" 100;margin-bottom:10px;font-size:23px;font-weight:500}.about p,.about li{font-family:var(--serif);color:var(--ink-2);font-size:17px;line-height:1.65}.about p+p{margin-top:10px}.about ul{flex-direction:column;gap:10px;padding-left:1.1em;display:flex}.about strong{color:var(--ink)}.modal-back{z-index:60;background:#1e181061;place-items:center;padding:20px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--sheet);border-radius:22px;width:100%;max-width:460px;padding:24px;box-shadow:0 20px 60px #00000040}.modal h2{font-family:var(--display);font-variation-settings:"SOFT" 100;margin-bottom:10px;font-size:25px;font-weight:500}.modal-body{color:var(--ink-2);flex-direction:column;gap:10px;font-size:16.5px;line-height:1.55;display:flex}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@keyframes fade{0%{opacity:0}}.toast-wrap{left:0;right:0;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 14px);pointer-events:none;z-index:70;justify-content:center;padding:0 16px;display:flex;position:fixed}@media (width>=760px){.toast-wrap{bottom:28px}}.toast{background:var(--ink);color:var(--bg);border-radius:999px;align-items:center;gap:10px;padding:12px 20px;font-size:15.5px;font-weight:550;animation:.2s rise;display:inline-flex;box-shadow:0 10px 30px #0003}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.print-only{display:none}@media print{@page{margin:22mm 20mm}html,body{color:#000;background:#fff!important}.app>:not(.print-only){display:none!important}.print-only{font-family:var(--serif);color:#1a1a1a;display:block}.print-cover{text-align:center;break-after:page;padding-top:30vh}.print-cover h1{font-family:var(--display);font-size:40pt;font-weight:400}.print-cover p{color:#555;margin-top:10pt;font-style:italic}.print-entry{margin-bottom:26pt}.print-entry h2{font-family:var(--display);break-after:avoid;border-bottom:.5pt solid #bbb;margin-bottom:8pt;padding-bottom:4pt;font-size:17pt;font-weight:500}.print-entry h3{break-after:avoid;margin-bottom:6pt;font-size:13pt;font-weight:600}.print-mood{color:#555;margin-bottom:6pt;font-size:10.5pt;font-style:italic}.print-body{font-size:11.5pt;line-height:1.6}.print-body p{margin:0 0 7pt}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=759px){.calendar-layout{gap:20px;padding:4px 12px}.cal-card{padding:14px 8px 12px}.cal-card .month-head{padding:0 0 0 8px}.month-title{font-size:26px}.month-head .icon-btn{width:44px;height:44px}.grid,.grid-row{gap:2px}.day{min-height:0}.weekday-cell{letter-spacing:.04em;font-size:12px}.editor-wrap,.editor .writing{min-height:30vh}}@media (hover:hover){.icon-btn:hover{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}.day:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.entry-row:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}.otd-item:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.mood-btn:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);color:var(--ink)}.result:hover{border-color:var(--line-2);box-shadow:var(--shadow-soft)}.row-link:hover{background:var(--raised)}.topnav button:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.btn.ghost:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}}.day.selected:hover{background:var(--accent)}.mood-btn.on:hover,.topnav button.on:hover{background:var(--accent-soft);color:var(--accent)}
