@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3dbe685087e51055-s.1061.lg1~d_4b.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:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.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:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3dbe685087e51055-s.1061.lg1~d_4b.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:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3dbe685087e51055-s.1061.lg1~d_4b.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:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6bd983bd58a87a3d-s.p.0h108oidc_0fm.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:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_f151043-module__N3_7la__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_f151043-module__N3_7la__variable{--font-sans-loaded:"Sora", "Sora Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_c6e2af83-module__rpus3q__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_c6e2af83-module__rpus3q__variable{--font-display-loaded:"Fraunces", "Fraunces Fallback"}
:root,html[data-theme=dark]{--bg:#0b0d12;--bg-elevated:#151922;--bg-card:#1a1f2b;--code-bg:#242833;--banner-error-bg:#2a1c1c;--input-bg:#14171f;--menu-bg:#08090d;--menu-shadow:0 12px 32px #0000008c;--ink:#eef1f6;--ink-muted:#9aa3b5;--ink-faint:#6d7689;--line:#eef1f61a;--accent:#ff6a4a;--accent-soft:#ff6a4a29;--accent-strong:#ff8a70;--unread:#5eead4;--danger:#ff7b7b;--archive:#5eead4;--radius:22px;--radius-sm:14px;--font-sans:"Sora", "Segoe UI", sans-serif;--font-display:"Fraunces", "Georgia", serif;--shadow:0 24px 60px #00000073;--shadow-soft:0 10px 30px #00000047;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--bg:#eef2f6;--bg-elevated:#fff;--bg-card:#fff;--code-bg:#efe8dc;--banner-error-bg:#f5e6e6;--input-bg:#fff;--menu-bg:#fff;--menu-shadow:0 10px 28px #1a1a1a14;--ink:#12151c;--ink-muted:#5b6578;--ink-faint:#8891a3;--line:#12151c1a;--accent:#e24d2c;--accent-soft:#e24d2c1f;--accent-strong:#c53d20;--unread:#0f766e;--danger:#b42318;--archive:#0f766e;--shadow:0 22px 50px #12151c1f;--shadow-soft:0 10px 28px #12151c14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.45}a{color:inherit;text-decoration:none}button,textarea,input{font:inherit}.app-shell{flex-direction:column;max-width:1000px;min-height:100dvh;margin:0 auto;padding:2rem 1rem 1rem;display:flex;overflow-x:clip}.topbar{z-index:50;flex-shrink:0;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;min-height:0;margin-bottom:.75rem;padding:2px 0;display:grid;position:relative}.view-nav{z-index:1;grid-area:1/1;justify-self:start;align-items:center;gap:2px;display:inline-flex}.view-toggle{appearance:none;cursor:pointer;color:var(--ink-muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:4px;line-height:0;text-decoration:none;display:inline-flex}.view-toggle:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent)}.view-toggle.is-active{color:var(--ink);background:color-mix(in srgb, var(--ink) 10%, transparent)}.menu-toggle{appearance:none;cursor:pointer;color:var(--ink-muted);z-index:1;background:0 0;border:0;border-radius:6px;grid-area:1/3;justify-self:end;margin:0;padding:2px;line-height:0}.menu-toggle:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent)}.menu-toggle-bars{flex-direction:column;justify-content:center;gap:3px;width:1.1rem;height:.85rem;display:flex}.menu-toggle-bars span{background:currentColor;border-radius:999px;width:100%;height:2px;display:block}.menu-panel{z-index:40;background:var(--menu-bg);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:10.5rem;box-shadow:var(--menu-shadow);flex-direction:column;gap:.15rem;padding:.4rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.menu-panel a,.menu-panel .menu-extra{color:var(--ink);border-radius:8px;padding:.55rem .7rem;font-size:.95rem;display:block}.menu-panel a:hover,.menu-item-btn:hover{background:var(--accent-soft)}.menu-item-btn{appearance:none;text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.55rem .7rem;font-size:.95rem;display:block}.menu-extra{border-top:1px solid var(--line);margin-top:.2rem;padding-top:.45rem}.meeting-alarm{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--bg-elevated) 92%, var(--accent));max-width:min(16rem,100%);color:var(--ink);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;display:inline-flex;position:relative}.meeting-alarm:hover{border-color:var(--accent);background:color-mix(in srgb, var(--bg-elevated) 80%, var(--accent-soft))}.meeting-alarm-link{min-width:0;color:inherit;border-radius:inherit;cursor:pointer;align-items:center;gap:.45rem;padding:.4rem 1.35rem .4rem .5rem;text-decoration:none;display:inline-flex}.meeting-alarm-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.meeting-alarm-icon{width:2rem;height:2rem;color:var(--accent-strong);background:var(--accent-soft);transform-origin:50% 10%;border-radius:999px;flex-shrink:0;place-items:center;animation:.85s ease-in-out infinite meeting-alarm-wiggle;display:grid}.meeting-alarm-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.meeting-alarm-dismiss{appearance:none;z-index:1;background:color-mix(in srgb, var(--bg) 55%, transparent);width:1.15rem;height:1.15rem;color:var(--ink-muted);cursor:pointer;border:0;border-radius:999px;place-items:center;margin:0;padding:0;line-height:0;display:grid;position:absolute;top:.15rem;right:.15rem}.meeting-alarm-dismiss:hover{background:color-mix(in srgb, var(--ink) 14%, transparent);color:var(--ink)}.meeting-alarm-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@keyframes meeting-alarm-wiggle{0%,to{transform:rotate(0)}15%{transform:rotate(-14deg)}30%{transform:rotate(12deg)}45%{transform:rotate(-10deg)}60%{transform:rotate(8deg)}75%{transform:rotate(-4deg)}}.account-dot{border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;display:inline-block}.account-row-main{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.account-dot-lg{width:.75rem;height:.75rem;margin-top:.35rem}.color-swatches{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.color-swatch{appearance:none;cursor:pointer;border:2px solid #0000;border-radius:50%;width:1.05rem;height:1.05rem;padding:0}.color-swatch.is-selected{border-color:var(--ink)}.brand{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(120deg, var(--ink) 20%, var(--accent-strong));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.45rem;font-weight:600}.btn{appearance:none;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);cursor:pointer;border-radius:999px;padding:.45rem .9rem;transition:background .14s,border-color .14s,transform .14s,color .14s}.btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{background:0 0}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.panel{background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.calendar-view{width:min(100%,545px);margin-inline:auto;padding-top:.5rem;padding-bottom:4.5rem;position:relative}:is(.calendar-view:has(>.view-loading),.weather-view:has(>.view-loading)){flex-direction:column;flex:1;width:100%;min-height:0;padding-bottom:0;display:flex}.calendar-agenda{flex-direction:column;gap:1.75rem;display:flex}.calendar-day-heading-row{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .65rem;display:flex}.calendar-day-heading-row.is-today{margin-bottom:.85rem}.calendar-day-heading{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.35rem;font-weight:500}.calendar-day-heading-today{flex-wrap:wrap;align-items:baseline;gap:.45rem .7rem;display:flex}.calendar-day-heading-today-label{letter-spacing:-.02em;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:600}.calendar-day-heading-date{letter-spacing:normal;font-size:1.35rem;font-weight:500}.calendar-day-actions{flex:1;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.calendar-day-compose-slot{flex:1;justify-content:flex-end;min-width:0;display:flex}.calendar-day-compose{display:flex;overflow:hidden}.calendar-day-compose-input{border:1px solid var(--account-color,var(--line));background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:999px;padding:.5rem .8rem;font-size:.95rem}.calendar-day-compose-input:focus{border-color:var(--account-color,var(--accent));background:color-mix(in srgb, var(--account-color,var(--accent-soft)) 18%, var(--bg-elevated));outline:none}.calendar-day-action{width:2.1rem;height:2.1rem;color:var(--ink-muted);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.calendar-day-heading-row.is-today .calendar-day-action{width:2.4rem;height:2.4rem}.calendar-day-action:hover:not(:disabled){color:var(--ink);border-color:var(--account-color,color-mix(in srgb, var(--accent) 35%, var(--line)));background:color-mix(in srgb, var(--account-color,var(--accent-soft)) 22%, var(--bg-elevated))}.calendar-day-action:disabled{opacity:.5;cursor:wait}.calendar-day-weather{width:2.1rem;height:2.1rem;color:var(--ink-muted);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.calendar-day-heading-row.is-today .calendar-day-weather{width:2.4rem;height:2.4rem}.calendar-day-weather:hover{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent-soft) 55%, var(--bg-elevated))}.calendar-today-empty{text-align:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--archive) 16%, transparent), transparent 55%), color-mix(in srgb, var(--bg-elevated) 92%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:1.25rem 1rem 1.5rem;display:flex}.calendar-today-empty-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:.15rem 0 0;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:600}.weather-view{width:min(100%,545px);margin-inline:auto;padding-top:.35rem;padding-bottom:4.5rem;position:relative}.weather-board{flex-direction:column;gap:1rem;display:flex}.weather-hero{border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--bg-elevated) 94%, var(--ink-faint));border:1px solid var(--line);box-shadow:var(--shadow-soft);grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:1.25rem 1.2rem 1.15rem;display:grid;overflow:hidden}.weather-hero-copy{min-width:0}.weather-hero-date{color:var(--ink-muted);margin:0;font-size:.88rem}.weather-hero-condition{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:.35rem 0 0;font-size:clamp(1.45rem,3.5vw,1.85rem);font-weight:600}.weather-hero-temp{font-family:var(--font-display);letter-spacing:-.04em;color:var(--ink);margin:.55rem 0 0;font-size:clamp(2.8rem,9vw,3.6rem);font-weight:600;line-height:.95}.weather-hero-art{justify-self:end;width:min(42vw,9.5rem)}.weather-hero-svg{width:100%;height:auto;display:block}.weather-hero-sun{fill:color-mix(in srgb, #f5c451 85%, var(--accent))}.weather-hero-cloud{fill:color-mix(in srgb, var(--bg-elevated) 55%, #d7dde8);stroke:color-mix(in srgb, var(--ink) 12%, transparent);stroke-width:1px}.weather-hero-rain,.weather-hero-bolt{stroke:color-mix(in srgb, var(--ink-muted) 80%, var(--accent));stroke-width:2px;fill:none;stroke-linecap:round}.weather-hero-bolt{fill:color-mix(in srgb, #f5c451 70%, var(--accent));stroke:none}.weather-hero-spark{fill:#f7d074}.weather-metrics{border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--bg-elevated) 94%, var(--ink-faint));border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:.35rem;padding:.95rem .5rem;display:grid}.weather-metric{text-align:center;color:var(--ink-muted);flex-direction:column;align-items:center;gap:.28rem;font-size:.78rem;display:flex}.weather-metric strong{color:var(--ink);font-size:.98rem;font-weight:600}.weather-metric-icon{color:var(--ink-muted);place-items:center;display:grid}.weather-tabs{align-items:center;gap:1.25rem;padding:.15rem .15rem .35rem;display:flex}.weather-tab{appearance:none;color:var(--ink-faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:.35rem .1rem .55rem;font-size:.95rem;font-weight:500;position:relative}.weather-tab.is-active{color:var(--ink);font-weight:600}.weather-tab.is-active:after{content:"";background:var(--ink);border-radius:50%;width:.35rem;height:.35rem;position:absolute;bottom:.1rem;left:50%;transform:translate(-50%)}.weather-slot-row{scrollbar-width:thin;grid-auto-columns:minmax(4.6rem,1fr);grid-auto-flow:column;gap:.55rem;margin:0;padding:.15rem .1rem .25rem;list-style:none;display:grid;overflow-x:auto}.weather-slot-card{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-elevated) 94%, var(--ink-faint));border:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:.45rem;min-height:7.5rem;padding:.85rem .55rem;display:flex}.weather-slot-time{color:var(--ink-muted);margin:0;font-size:.78rem;font-weight:600}.weather-slot-icon{color:var(--ink-muted);place-items:center;min-height:1.7rem;display:grid}.weather-slot-temp{color:var(--ink);margin:0;font-size:1rem;font-weight:600}.weather-slot-summary{color:var(--ink-faint);margin:0;font-size:.72rem;line-height:1.2}.weather-chart{color:color-mix(in srgb, var(--ink-muted) 80%, var(--ink));margin-top:.25rem;padding:.65rem .35rem 1.75rem;position:relative}.weather-rain-chart{color:#7eb6ff;margin-top:.85rem;margin-bottom:-.35rem;padding-bottom:1.6rem}html[data-theme=light] .weather-rain-chart{color:#3b82f6}.weather-chart-plot{position:relative}.weather-chart-svg{width:100%;height:auto;display:block}.weather-chart-hits{position:absolute;inset:0}.weather-chart-hit{cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0;position:absolute;top:0;bottom:0;transform:translate(-50%)}.weather-chart-hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.weather-chart-tooltip{background:var(--bg-elevated);border:1px solid var(--line);min-width:4.4rem;box-shadow:var(--shadow-soft);color:var(--ink);pointer-events:none;z-index:2;border-radius:.75rem;flex-direction:column;align-items:center;gap:.1rem;padding:.45rem .55rem;font-size:.78rem;display:flex;position:absolute;top:.15rem;transform:translate(-50%)}.weather-chart-tooltip strong{font-weight:600}.weather-chart-tooltip span{color:var(--ink-muted)}.weather-week-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.weather-week-row{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-elevated) 94%, var(--ink-faint));border:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.weather-week-icon{color:var(--ink-muted);place-items:center;display:grid}.weather-week-copy{min-width:0}.weather-week-day{color:var(--ink);margin:0;font-weight:600}.weather-week-label{color:var(--ink-muted);margin:.1rem 0 0;font-size:.85rem}.weather-week-temps{color:var(--ink);flex-direction:column;align-items:flex-end;gap:.1rem;font-weight:600;display:flex}.weather-week-low{color:var(--ink-muted);font-weight:500}.calendar-event-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.calendar-event{border:1px solid var(--line);border-left:3px solid var(--account-color,var(--accent));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;transition:border-color .15s,background .15s;display:flex}.calendar-event:hover{border-color:color-mix(in srgb, var(--account-color,var(--accent)) 40%, var(--line));border-left-color:var(--account-color,var(--accent));background:color-mix(in srgb, var(--bg-elevated) 80%, var(--account-color,var(--accent-soft)) 18%)}.calendar-event-time{color:var(--ink-muted);white-space:nowrap;font-size:.82rem}.calendar-event-body{flex-direction:column;gap:.2rem;width:100%;min-width:0;display:flex}.calendar-event-title{color:var(--ink);font-weight:500}.calendar-task-title{max-width:100%;color:inherit;text-decoration:none;display:inline-block}.calendar-task-title:hover{text-underline-offset:2px;text-decoration:underline}.calendar-day.is-drop-target{border-radius:var(--radius-sm);outline:1px dashed color-mix(in srgb, var(--accent) 55%, var(--line));outline-offset:4px;background:color-mix(in srgb, var(--accent-soft) 28%, transparent)}.calendar-task{cursor:grab;flex-direction:row;align-items:flex-start;gap:.75rem}.calendar-task.is-dragging{opacity:.45;cursor:grabbing}.calendar-task-check{border:1.5px solid color-mix(in srgb, var(--ink-muted) 70%, var(--line));cursor:pointer;background:0 0;border-radius:999px;flex:none;width:1.15rem;height:1.15rem;margin-top:.15rem;transition:border-color .15s,background .15s}.calendar-task-check:hover:not(:disabled){border-color:var(--account-color,var(--accent));background:color-mix(in srgb, var(--account-color,var(--accent)) 18%, transparent)}.calendar-task-check:disabled{opacity:.45;cursor:wait}.calendar-task-main{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.empty,.muted,.setup-notice{color:var(--ink-muted);text-align:center;padding:2.5rem 1rem}.empty-title{font-family:var(--font-display);color:var(--ink);margin:0 0 .4rem;font-size:2rem}.celebration{padding:3rem 1.25rem}.setup-notice{text-align:left;padding:1.25rem}.setup-notice h2{font-family:var(--font-display);color:var(--ink);margin:0 0 .5rem;font-weight:600}.setup-notice code{background:var(--code-bg);border-radius:4px;padding:.1rem .3rem;font-size:.85em}.reader-header{flex-direction:column;gap:.35rem;margin-bottom:1.25rem;display:flex}.reader-header h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.55rem;font-weight:600;line-height:1.2}.reader-sub{color:var(--ink-muted);font-size:.9rem}.reader-actions{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1.25rem;display:flex}.reader-body{white-space:pre-wrap;word-break:break-word;padding:1.1rem 1.15rem;font-size:.98rem}.reader-body :is(p,ul,ol){margin:0 0 .85rem}.reader-body img{max-width:100%;height:auto}.reply-box{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.reply-box textarea{resize:vertical;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 55%, var(--bg-elevated));width:100%;min-height:7rem;color:var(--ink);padding:.85rem .95rem}.reply-box textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:1px}.card-reply{margin-top:.75rem;overflow:hidden}.accounts-list{margin:0;padding:0;list-style:none}.account-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.account-row:last-child{border-bottom:none}.account-status-error{color:var(--danger,#c45c4a);margin-top:.35rem;font-size:.85rem;line-height:1.35}.push-panel{margin-bottom:1.25rem;padding:.95rem 1rem 1.05rem}.push-panel h2{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.05rem;font-weight:560}.push-panel p{color:var(--ink-muted);margin:0;font-size:.88rem}.push-status{margin-top:.55rem}.push-actions{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.account-feature-toggle{color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.55rem;margin-top:.65rem;font-size:.88rem;display:flex}.account-feature-toggle input{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.login-card{max-width:420px;margin:4rem auto 0;padding:1.5rem}.login-card h1{font-family:var(--font-display);margin:0 0 .4rem;font-size:1.6rem}.login-card p{color:var(--ink-muted);margin:0 0 1.25rem}.login-card form{flex-direction:column;gap:.75rem;display:flex}.login-card input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--ink);padding:.7rem .85rem}.status-banner{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);margin-bottom:1rem;padding:.65rem .85rem;font-size:.88rem}.status-banner.compact{margin-bottom:.65rem}.status-banner.error{background:var(--banner-error-bg);color:var(--danger)}.status-banner a{color:inherit;text-underline-offset:.12em;font-weight:600;text-decoration:underline}.account-chip{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;color:var(--archive);background:color-mix(in srgb, var(--archive) 16%, transparent);border-radius:999px;align-items:center;padding:.12rem .5rem;font-size:.72rem;display:inline-flex;overflow:hidden}.card-stack-shell{flex-direction:column;flex:1;gap:.85rem;min-height:0;display:flex}.stack-stage{isolation:isolate;flex:1;justify-content:center;align-items:stretch;min-height:0;padding-inline:clamp(1.25rem,5vw,2.25rem);display:flex;position:relative;overflow:visible}.stack-stage.is-vertical{padding-block:2.5rem;overflow:visible}@media (min-width:641px){.stack-stage{padding-inline:clamp(2rem,7vw,3.5rem)}}.archive-zone{z-index:5;border:1px solid color-mix(in srgb, var(--archive) 45%, var(--line));background:color-mix(in srgb, var(--archive) 14%, var(--bg));color:var(--archive);letter-spacing:.04em;text-transform:uppercase;pointer-events:none;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex;position:absolute;top:.4rem;left:50%;transform:translate(-50%)}.archive-burst{background:radial-gradient(circle, color-mix(in srgb, var(--archive) 45%, transparent), transparent 70%);z-index:4;pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;top:8%;left:50%;translate:-50%}.stack-deck{flex:auto;align-self:stretch;width:min(100%,545px);min-height:0;position:relative;overflow:visible}.stack-card-slot{transform-style:preserve-3d;cursor:grab;touch-action:none;will-change:transform;backface-visibility:hidden;position:absolute;inset:0}.stack-card-slot:not(.is-active){cursor:default;pointer-events:none}.stack-drag-layer{touch-action:none;width:100%;height:100%}.stack-card-slot.is-active{cursor:grab;opacity:1}.email-card{border-radius:calc(var(--radius) + 4px);background:var(--bg-card);border:1px solid var(--line);height:100%;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;flex-direction:column;gap:.85rem;padding:1.15rem 1.15rem 1rem;display:flex;position:relative;overflow:hidden}.email-card.is-active{-webkit-user-select:text;user-select:text}.email-card.is-active .email-card-body{background:color-mix(in srgb, var(--bg) 72%, var(--bg-card))}.stack-peek-card{border-radius:calc(var(--radius) + 4px);border:1px solid color-mix(in srgb, var(--line) 65%, transparent);width:100%;height:100%;box-shadow:none}html[data-theme=dark] .stack-peek-card[data-depth="1"]{background:#3a4254}html[data-theme=dark] .stack-peek-card[data-depth="2"]{background:#525c72}html[data-theme=light] .stack-peek-card[data-depth="1"]{background:#c8d0dc}html[data-theme=light] .stack-peek-card[data-depth="2"]{background:#dde3eb}.stack-controls{--stack-control-height:2.4375rem;flex-shrink:0;justify-content:space-between;align-items:center;gap:.65rem;display:flex}.stack-controls.is-empty{justify-content:center}.stack-controls-center{height:var(--stack-control-height);flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.stack-nav-btn{height:var(--stack-control-height);align-items:center;padding-block:0;display:inline-flex}.stack-weather{height:var(--stack-control-height);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);min-width:0;max-width:min(16rem,100%);color:var(--ink);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:.45rem;padding:0 .7rem 0 .4rem;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.stack-weather:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent-soft) 40%, var(--bg-elevated))}.stack-weather:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.stack-weather-icon{width:1.85rem;height:1.85rem;color:var(--ink-muted);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.stack-weather-copy{flex-direction:column;gap:.05rem;min-width:0;line-height:1.15;display:flex}.stack-weather-label{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.stack-weather-rain{color:var(--ink-muted);font-size:.72rem}.stack-empty-hint{text-align:center;color:var(--ink-faint);margin:0;font-size:.85rem}.stack-empty-hint a{color:var(--accent-strong);font-weight:600}.empty-inbox-card{cursor:default;touch-action:auto;box-shadow:none;background:0 0;border-color:#0000;justify-content:center}.empty-inbox-card-inner{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.65rem;padding:1.5rem 1rem;display:flex}.empty-inbox-thumb{width:4.5rem;height:4.5rem;color:var(--archive);background:color-mix(in srgb, var(--archive) 14%, var(--bg-elevated));border:1px solid color-mix(in srgb, var(--archive) 28%, var(--line));box-shadow:var(--shadow-soft);border-radius:1.35rem;place-items:center;display:grid}.empty-inbox-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:.35rem 0 0;font-size:clamp(1.6rem,3vw,2rem);font-weight:600}.empty-inbox-copy{max-width:16rem;color:var(--ink-muted);margin:0;font-size:.95rem;line-height:1.45}.email-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex;position:relative}.email-card-from-block{min-width:0}.email-card-from{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;font-size:.98rem;font-weight:600;display:flex;overflow:hidden}.email-card-read-status{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.email-card-read-status.is-read{opacity:.72}.email-card-read-status.is-unread{opacity:1}.email-card-read-status.is-unread svg{filter:drop-shadow(0 0 4px color-mix(in srgb, currentColor 45%, transparent))}.email-card-meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin-top:.2rem;font-size:.78rem;display:flex}.email-card-header-action{flex-shrink:0;font-size:.82rem}.email-card-subject{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.35rem,4vw,1.7rem);font-weight:600;line-height:1.15;position:relative}.email-card-subject-link{color:inherit;cursor:pointer;border-radius:4px;text-decoration:none}.email-card-subject-link:hover{text-underline-offset:.14em;text-decoration:underline;text-decoration-thickness:1.5px}.email-card-subject-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:is(.email-card.is-unread .email-card-subject:not(:has(.email-card-subject-link)),.email-card.is-unread .email-card-subject-link){background:linear-gradient(90deg, var(--ink), var(--accent-strong));color:#0000;-webkit-background-clip:text;background-clip:text}.email-card-body{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 45%, transparent);border:1px solid color-mix(in srgb, var(--line) 80%, transparent);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:.9rem .95rem;position:relative;overflow:auto}body[data-stack-dragging="1"] .email-card-body{pointer-events:none;overflow:hidden}.email-card-text,.email-card-preview{white-space:pre-wrap;word-break:break-word;font-family:var(--font-sans);color:color-mix(in srgb, var(--ink) 92%, var(--ink-muted));margin:0;font-size:.94rem;line-height:1.55}.email-card-preview{-webkit-line-clamp:6;color:var(--ink-muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.email-card-html{word-break:break-word;-webkit-font-smoothing:auto;font-size:.94rem;line-height:1.55;overflow-x:auto}html[data-theme=light] .email-card-html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1a1a1a;border-radius:calc(var(--radius-sm) - 4px);background:#fff;padding:.75rem .8rem}html[data-theme=dark] .email-card-html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:color-mix(in srgb, var(--ink) 92%, var(--ink-muted));background:color-mix(in srgb, var(--bg) 48%, var(--bg-card));border-radius:calc(var(--radius-sm) - 4px);padding:.75rem .8rem}html[data-theme=dark] .email-card-html :where(p,li,td,th,div,span,font,h1,h2,h3,h4,h5,h6,blockquote,pre,code,strong,em,b,i,small,caption){color:inherit!important;border-color:color-mix(in srgb, var(--line) 85%, transparent)!important;background-color:#0000!important}html[data-theme=dark] .email-card-html :where(table,tbody,thead,tfoot,tr),html[data-theme=dark] .email-card-html :where([bgcolor]){background-color:#0000!important}html[data-theme=dark] .email-card-html font[color]{color:inherit!important}html[data-theme=dark] .email-card-html :where(hr){border-color:color-mix(in srgb, var(--line) 85%, transparent)!important;background-color:#0000!important}.email-card-html :is(p,ul,ol){margin:0 0 .8rem}html[data-theme=light] .email-card-html :where(a){color:#0b57d0;text-decoration:underline}html[data-theme=dark] .email-card-html :where(a){text-decoration:underline;color:var(--accent-strong)!important}.email-card-html img{max-width:100%;height:auto}.email-card-skeleton{gap:.65rem;padding-top:.2rem;display:grid}.email-card-skeleton span{background:linear-gradient(90deg, color-mix(in srgb, var(--ink-faint) 22%, transparent), color-mix(in srgb, var(--ink-faint) 38%, transparent), color-mix(in srgb, var(--ink-faint) 22%, transparent));background-size:200% 100%;border-radius:999px;height:.7rem;animation:1.2s ease-in-out infinite shimmer;display:block}.email-card-skeleton span:first-child{width:92%}.email-card-skeleton span:nth-child(2){width:78%}.email-card-skeleton span:nth-child(3){width:64%}.email-card-footer{z-index:2;flex-direction:column;gap:.35rem;display:flex;position:relative}.email-card-archive-fab{--fab-size:2.85rem;--fab-right:max(1rem, env(safe-area-inset-right));--fab-bottom:calc(3.75rem + env(safe-area-inset-bottom,0px));--fab-gap:.75rem;right:calc(var(--fab-right) + var(--fab-size) + var(--fab-gap));bottom:var(--fab-bottom);z-index:60;height:var(--fab-size);box-shadow:var(--shadow-soft);justify-content:center;align-items:center;padding-block:0;font-size:.82rem;display:inline-flex;position:fixed}.email-card-archive-fab:hover:not(:disabled){transform:none}.view-fab{--fab-size:2.85rem;--fab-right:max(1rem, env(safe-area-inset-right));--fab-bottom:calc(3.75rem + env(safe-area-inset-bottom,0px));right:var(--fab-right);bottom:var(--fab-bottom);z-index:60;width:var(--fab-size);height:var(--fab-size);background:var(--accent);color:#fff;cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:999px;justify-content:center;align-items:center;transition:background .14s,transform .14s,opacity .14s;display:inline-flex;position:fixed}.view-fab:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.view-fab:disabled{opacity:.55;cursor:not-allowed}.view-fab.is-busy{opacity:.75}.compose-overlay{z-index:80;background:#00000073;place-items:end center;padding:1rem;display:grid;position:fixed;inset:0}.compose-dialog{background:var(--bg-elevated);width:min(100%,34rem);max-height:min(88vh,40rem);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1rem;padding:1rem 1.1rem 1.15rem;overflow:auto}.compose-dialog-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.compose-dialog-head h2{font-family:var(--font-display);margin:0;font-size:1.25rem;font-weight:560}.compose-form{flex-direction:column;gap:.7rem;display:flex}.compose-field{color:var(--ink-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.compose-field input,.compose-field select,.compose-field textarea{appearance:none;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:.65rem;padding:.55rem .7rem}.compose-field textarea{resize:vertical;min-height:8rem}.compose-actions{justify-content:flex-end;margin-top:.25rem;display:flex}.email-card:has(.card-reply) .card-reply{padding-bottom:3.25rem}.view-loading{width:100%;min-height:0;color:var(--ink-muted);text-align:center;flex:1;place-items:center;display:grid}.view-loading-mark{place-items:center;width:10.5rem;height:10.5rem;display:grid;position:relative}.view-loading-ring{background:color-mix(in srgb, var(--accent) 28%, transparent);border-radius:50%;animation:1.7s ease-in-out infinite view-loading-glow;position:absolute;inset:0}.view-loading-icon{z-index:1;width:6.7rem;height:6.7rem;color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 70%, var(--bg-elevated));border:1px solid color-mix(in srgb, var(--accent) 24%, var(--line));box-shadow:var(--shadow-soft);border-radius:50%;place-items:center;display:grid;position:relative}.view-loading-mark-calendar .view-loading-icon{color:var(--archive);background:color-mix(in srgb, var(--archive) 14%, var(--bg-elevated));border-color:color-mix(in srgb, var(--archive) 28%, var(--line))}.view-loading-mark-calendar .view-loading-ring{background:color-mix(in srgb, var(--archive) 26%, transparent)}.view-loading-mark-weather .view-loading-icon{color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 70%, var(--bg-elevated));border-color:color-mix(in srgb, var(--accent) 24%, var(--line))}.view-loading-mark-weather .view-loading-ring{background:color-mix(in srgb, var(--accent) 26%, transparent)}@keyframes view-loading-glow{0%,to{opacity:.35;transform:scale(.78)}50%{opacity:.85;transform:scale(1)}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1}}.fade-up{animation:.42s cubic-bezier(.22,1,.36,1) backwards fade-up}@media (max-width:640px){.app-shell{padding:.5rem .35rem .65rem}.topbar{margin-bottom:.45rem}.brand{font-size:1.25rem}.nav-links{gap:.35rem;font-size:.8rem}.card-stack-shell{gap:.45rem}.stack-deck{width:100%}.stack-stage{padding-inline:0}.stack-stage.is-vertical{flex:1;justify-content:center;align-items:stretch;min-height:0;padding-block:.35rem 2rem;padding-inline:0;display:flex;overflow:visible}.stack-stage.is-vertical .stack-deck{flex:auto;align-self:stretch;width:100%;max-width:100%;height:auto;min-height:0}.stack-stage.is-vertical .archive-zone{top:auto;bottom:.6rem}.email-card{padding:1rem .95rem .9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
