@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-soft-normal-DSA2Kggd.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(/assets/fraunces-latin-ext-soft-normal-DKHvU-YN.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(/assets/fraunces-latin-soft-normal-C-lS_vzd.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(/assets/fraunces-vietnamese-soft-italic-CyEZfaGz.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(/assets/fraunces-latin-ext-soft-italic-CFDsOWEG.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(/assets/fraunces-latin-soft-italic-CIOv5diB.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:Karla Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/karla-latin-ext-wght-normal-Dq0rrjgs.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:Karla Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/karla-latin-wght-normal-C3-ma4ov.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");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{--color-bg:#231911;--color-surface:#2e2119;--color-surface-raised:#3a2b20;--color-ink:#f3e9dd;--color-muted:#b8a08c;--color-faint:#7c6c5c;--color-ember:#e3902f;--color-ember-dim:#a8641f;--color-gold:#f0b860;--color-rust:#c4543a;--color-border:#f3e9dd14;--color-border-strong:#f3e9dd29;--heat-1:#6a4420;--heat-2:#a8641f;--font-display:"Fraunces Variable", ui-serif, Georgia, serif;--font-body:"Karla Variable", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--radius-sm:10px;--radius-md:16px;--radius-lg:26px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--shadow-card:0 10px 28px -12px #0a060399;--shadow-ring:0 0 0 1px #f3e9dd0f, 0 16px 40px -16px #0a0603b3;--nav-height:62px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7eedf;--color-surface:#fffbf3;--color-surface-raised:#f0e2cc;--color-ink:#2b1e16;--color-muted:#8a7768;--color-faint:#b3a28e;--color-ember:#c1622b;--color-ember-dim:#d98a4a;--color-gold:#b8792e;--color-rust:#b14430;--color-border:#2b1e161a;--color-border-strong:#2b1e162e;--heat-1:#ecd3ab;--heat-2:#dba867;--shadow-card:0 10px 24px -14px #2b1e1640;--shadow-ring:0 0 0 1px #2b1e160f, 0 16px 32px -18px #2b1e164d}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f7eedf;--color-surface:#fffbf3;--color-surface-raised:#f0e2cc;--color-ink:#2b1e16;--color-muted:#8a7768;--color-faint:#b3a28e;--color-ember:#c1622b;--color-ember-dim:#d98a4a;--color-gold:#b8792e;--color-rust:#b14430;--color-border:#2b1e161a;--color-border-strong:#2b1e162e;--heat-1:#ecd3ab;--heat-2:#dba867;--shadow-card:0 10px 24px -14px #2b1e1640;--shadow-ring:0 0 0 1px #2b1e160f, 0 16px 32px -18px #2b1e164d}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,p,figure{margin:0}button,input,textarea{color:inherit;font-family:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{max-width:480px;min-height:100%;padding:calc(var(--space-5) + var(--safe-top)) var(--space-5) calc(var(--nav-height) + var(--safe-bottom) + var(--space-6));gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:baseline;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:.01em;font-size:1.5rem;font-weight:560}.icon-button{border-radius:var(--radius-full);width:44px;height:44px;color:var(--color-muted);justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}.icon-button:hover,.icon-button:focus-visible{color:var(--color-ink);background:var(--color-surface)}.section-title{font-family:var(--font-display);color:var(--color-muted);font-size:1.05rem;font-style:italic;font-weight:500}.alert{color:var(--color-gold);background:color-mix(in srgb, var(--color-ember) 12%, transparent);border:1px solid color-mix(in srgb, var(--color-ember) 30%, transparent);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:.9rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.form-stack{gap:var(--space-4);flex-direction:column;display:flex}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label{color:var(--color-muted);letter-spacing:.02em;font-size:.8rem}.field input,.field textarea{background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);color:var(--color-ink);font-size:1rem}.field input:focus,.field textarea:focus{border-color:var(--color-ember)}.field textarea{resize:vertical;min-height:88px;font-family:var(--font-display);font-size:1.05rem;font-style:italic;line-height:1.5}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);font-size:.95rem;font-weight:600;transition:transform .12s,background-color .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--color-gold), var(--color-ember));color:#241a0f}.btn-quiet{background:var(--color-surface-raised);color:var(--color-ink);border:1px solid var(--color-border-strong)}.btn-ghost{color:var(--color-muted);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{color:var(--color-ink)}.btn-danger{color:var(--color-rust)}.login-page{min-height:100%;padding:var(--space-6);justify-content:center;align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.login-glow{border-radius:var(--radius-full);background:radial-gradient(circle at 35% 30%, var(--color-gold), var(--color-ember) 60%, transparent 75%);width:84px;height:84px;box-shadow:0 0 60px 10px color-mix(in srgb, var(--color-ember) 35%, transparent)}.login-form{gap:var(--space-5);text-align:center;flex-direction:column;width:100%;max-width:320px;display:flex}.login-form .wordmark{align-self:center;font-size:2.1rem}.login-form .field{text-align:left}.login-form .btn{width:100%;padding-block:var(--space-4)}.nav-bar{justify-content:center;align-items:center;gap:var(--space-7);height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--color-border);background:#231911db;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-link{color:var(--color-faint);flex-direction:column;align-items:center;gap:2px;font-size:.7rem;transition:color .15s;display:flex}.nav-link svg{width:22px;height:22px}.nav-link.is-active{color:var(--color-gold)}.top-actions{top:calc(var(--safe-top) + var(--space-4));right:var(--space-4);z-index:5;gap:var(--space-1);display:flex;position:fixed}.wear-ring-wrap{padding-block:var(--space-4);justify-content:center;display:flex}.wear-ring{--ring-size:220px;width:var(--ring-size);height:var(--ring-size);border-radius:var(--radius-full);justify-content:center;align-items:center;gap:var(--space-2);background:radial-gradient(circle at 50% 40%, var(--color-surface-raised), var(--color-surface));border:3px solid var(--color-border-strong);box-shadow:var(--shadow-ring);flex-direction:column;transition:border-color .4s,box-shadow .4s;display:flex}.wear-ring__time{font-family:var(--font-mono);color:var(--color-ink);letter-spacing:.01em;font-size:1.7rem;font-weight:500}.wear-ring__label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.85rem;font-weight:700}.wear-ring.is-active{border-color:var(--color-ember);animation:3.2s ease-in-out infinite ember-breathe}.wear-ring.is-active .wear-ring__label{color:var(--color-gold)}@keyframes ember-breathe{0%,to{box-shadow:var(--shadow-ring), 0 0 0 0 color-mix(in srgb, var(--color-ember) 35%, transparent)}50%{box-shadow:var(--shadow-ring), 0 0 42px 6px color-mix(in srgb, var(--color-ember) 35%, transparent)}}.session-goal-link{margin:0 auto;font-size:.85rem;display:block}.session-goal{justify-content:center;align-items:center;gap:var(--space-2);color:var(--color-muted);flex-wrap:wrap;font-size:.85rem;display:flex}.session-goal-form{gap:var(--space-3);flex-direction:column;max-width:220px;margin:0 auto;display:flex}.session-goal-form .field{flex-direction:row;justify-content:space-between;align-items:center}.session-goal-form__actions{gap:var(--space-2);justify-content:center;display:flex}.stat-row{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);text-align:center;gap:var(--space-1);flex-direction:column;display:flex}.stat-card__value{font-family:var(--font-mono);color:var(--color-gold);font-size:1.5rem;font-weight:600}.stat-card__label{color:var(--color-muted);font-size:.7rem;line-height:1.3}.heatmap-scroll{padding-bottom:var(--space-1);scrollbar-width:none;overflow-x:auto}.heatmap-scroll::-webkit-scrollbar{display:none}.heatmap{grid-template-rows:repeat(7,13px);grid-auto-flow:column;gap:3px;width:max-content;display:grid}.heatmap-cell{cursor:pointer;border-radius:3px;width:13px;height:13px}.heatmap-cell.is-empty{visibility:hidden}.heat-0{background:var(--color-surface-raised)}.heat-1{background:var(--heat-1)}.heat-2{background:var(--heat-2)}.heat-3{background:var(--color-ember)}.heat-4{background:var(--color-gold)}.day-entry{gap:var(--space-3);flex-direction:column;display:flex}.day-entry__date{font-family:var(--font-display);font-size:1.15rem;font-style:italic;font-weight:500}.session-list{gap:var(--space-2);flex-direction:column;display:flex}.session-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-raised);border-radius:var(--radius-sm);font-size:.9rem;display:flex}.session-row__time{font-family:var(--font-mono);color:var(--color-ink);font-size:.82rem}.session-row__actions{gap:var(--space-2);display:flex}.session-row-edit{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-raised);border-radius:var(--radius-sm);flex-direction:column;display:flex}.session-row-edit__actions{gap:var(--space-2);display:flex}.empty-state{color:var(--color-faint);text-align:center;padding:var(--space-6) 0;font-size:.9rem}
