:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-numeric:tabular-nums lining-nums;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.2;--leading-normal:1.5;--weight-regular:400;--weight-medium:550;--weight-semibold:620;--weight-bold:680;--tracking-tight:-.02em;--tracking-caps:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--tap-min:44px;--content-max:960px;--bottom-bar-height:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--ease-out:cubic-bezier(.2, .8, .2, 1);--press-scale:.97;--color-bg:#f6f5f1;--color-surface-sunken:#eeece6;--color-card:#fff;--color-text:#1b1f24;--color-muted:#59606b;--color-border:#dfdcd3;--color-border-strong:#8a8f98;--color-accent:#0b6b58;--color-accent-hover:#08594a;--color-accent-soft:#e1f1ec;--color-on-accent:#fff;--color-renewal:#2453c2;--color-renewal-soft:#e5ecfb;--color-trial:#8a3fc0;--color-trial-soft:#f3e9fb;--color-soon:#8f4a00;--color-soon-soft:#fdf0dc;--color-danger:#b42318;--color-danger-hover:#93190f;--color-danger-soft:#fdecea;--color-on-danger:#fff;--color-focus:#2453c2;--color-hero:linear-gradient(135deg, #0b6b58 0%, #0d5b6f 100%);--color-on-hero:#fff;--color-on-hero-muted:#fffc;--avatar-text:#fff;--avatar-1:#0b6b58;--avatar-2:#2453c2;--avatar-3:#8a3fc0;--avatar-4:#b0305f;--avatar-5:#9a4a06;--avatar-6:#0d6a86;--avatar-7:#4f4fc8;--avatar-8:#5f6b2a;--shadow-sm:0 1px 2px #1b1f240f;--shadow-md:0 1px 2px #1b1f240d, 0 6px 20px -6px #1b1f241f;--shadow-lg:0 2px 4px #1b1f240f, 0 18px 40px -12px #1b1f2438}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0f1215;--color-surface-sunken:#161a1f;--color-card:#1a1f25;--color-text:#eceef1;--color-muted:#a4acb8;--color-border:#2c333c;--color-border-strong:#6c7581;--color-accent:#4fd0b0;--color-accent-hover:#74ddc2;--color-accent-soft:#143a32;--color-on-accent:#06221b;--color-renewal:#8eb0ff;--color-renewal-soft:#1b2a4a;--color-trial:#d4a6ff;--color-trial-soft:#34214a;--color-soon:#f6bf62;--color-soon-soft:#3a2a10;--color-danger:#ff8f84;--color-danger-hover:#ffb1a9;--color-danger-soft:#3d1a17;--color-on-danger:#2a0805;--color-focus:#8eb0ff;--color-hero:linear-gradient(135deg, #134a3f 0%, #143c4d 100%);--color-on-hero:#eefaf6;--color-on-hero-muted:#eefaf6cc;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #00000059, 0 8px 24px -8px #0009;--shadow-lg:0 2px 4px #0006, 0 20px 44px -12px #000000b3}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{line-height:var(--leading-tight);font-weight:var(--weight-bold);letter-spacing:-.015em;text-wrap:balance;margin:0}h1{font-size:var(--text-3xl);letter-spacing:-.025em}@media (width<=640px){h1{font-size:var(--text-2xl)}}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);min-height:var(--tap-min);min-width:var(--tap-min);text-underline-offset:.2em;align-items:center;display:inline-flex}.amount,.tabular{font-variant-numeric:var(--font-numeric)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}button,.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-min);min-width:var(--tap-min);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font:inherit;font-weight:var(--weight-medium);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);line-height:1;display:inline-flex}button:hover,.btn:hover{background:var(--color-surface-sunken)}button:active,.btn:active{transform:scale(var(--press-scale))}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-md)}.btn-quiet{color:var(--color-accent);background:0 0;border-color:#0000}.btn-quiet:hover{background:var(--color-accent-soft)}.btn-quiet[aria-pressed=true]{background:var(--color-accent-soft);border-color:var(--color-accent)}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger)}.btn-danger:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover)}[aria-disabled=true]{opacity:.55;cursor:not-allowed}[aria-disabled=true]:active{transform:none}input[type=text],input[type=number],input[type=date],input[type=search],input:not([type]),select{min-height:var(--tap-min);width:100%;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-text);font:inherit;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}input:hover,select:hover{border-color:var(--color-text)}input[type=text]:focus-visible,input[type=number]:focus-visible,input[type=date]:focus-visible,input[type=search]:focus-visible,input:not([type]):focus-visible,select:focus-visible{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus);border-radius:var(--radius-md);outline:none}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-danger)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-accent);margin:0}label{font-weight:var(--weight-medium)}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;background:var(--color-surface-sunken);color:var(--color-text);line-height:1.4;display:inline-flex}.badge-soon{background:var(--color-soon-soft);color:var(--color-soon)}.badge-renewal{background:var(--color-renewal-soft);color:var(--color-renewal)}.badge-trial{background:var(--color-trial-soft);color:var(--color-trial)}.avatar{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-full);color:var(--avatar-text);font-size:var(--text-lg);font-weight:var(--weight-bold);flex:none;place-items:center;line-height:1;display:inline-grid;box-shadow:inset 0 0 0 1px #00000014}.avatar-sm{width:36px;height:36px;font-size:var(--text-base)}.page-lede{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-lg);max-width:48ch}@media (width<=640px){.page-lede{font-size:var(--text-base)}}.eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.coming-up{padding:var(--space-6);gap:var(--space-2);display:grid}.coming-up-title{margin:0}.coming-up-empty{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);text-align:center;margin:0}.coming-up-list{margin:0;padding:0;list-style:none}.coming-up-item{align-items:center;gap:var(--space-4);padding:var(--space-3) 0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.coming-up-item+.coming-up-item{border-top:1px solid var(--color-border)}.coming-up-main,.coming-up-when{gap:2px;min-width:0;display:grid}.coming-up-when{text-align:end}.coming-up-when .amount{font-weight:var(--weight-semibold);white-space:nowrap}.coming-up-name{white-space:nowrap;text-overflow:ellipsis;font-weight:var(--weight-semibold);overflow:hidden}.coming-up-kind,.coming-up-date{font-size:var(--text-sm)}.coming-up-date{color:var(--color-muted);white-space:nowrap}.coming-up-kind-renewal{color:var(--color-renewal)}.coming-up-kind-trial-end{color:var(--color-trial)}@media (width<=640px){.coming-up{padding:var(--space-5) var(--space-4)}.coming-up-item{gap:var(--space-3)}}.sub-form{gap:var(--space-4) var(--space-5);padding:var(--space-6);border-top:3px solid var(--color-accent);animation:sub-form-in var(--duration-base) var(--ease-out);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@keyframes sub-form-in{0%{opacity:0;transform:translateY(-6px)}}.sub-form-title{grid-column:1/-1;margin:0}.sub-form-wide{grid-column:1/-1}.sub-form-field{align-content:start;gap:var(--space-2);min-width:0;display:grid}.sub-form-money{position:relative}.sub-form-prefix{min-width:var(--tap-min);padding:0 var(--space-2);color:var(--color-muted);font-weight:var(--weight-medium);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0 auto 0 0}.sub-form-money input{padding-left:calc(var(--tap-min) + var(--space-1))}.sub-form-cycle{gap:var(--space-2);grid-template-columns:5.5rem minmax(0,1fr);display:grid}.sub-form-check{align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer;display:inline-flex}.sub-form-hint{color:var(--color-muted);font-size:var(--text-sm);margin:0}.sub-form-error{color:var(--color-danger);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0}.sub-form-actions{justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);display:flex}@media (width<=640px){.sub-form{padding:var(--space-5) var(--space-4);grid-template-columns:minmax(0,1fr)}.sub-form-actions button,.sub-form-danger>.btn-danger,.sub-form-confirm-actions,.sub-form-confirm-actions button{flex:1}}.sub-form-danger{padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.sub-form-confirm{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-soft);flex-wrap:wrap;display:flex}.sub-form-question{overflow-wrap:anywhere;min-width:0;color:var(--color-danger);font-weight:var(--weight-medium);flex:auto;margin:0}.sub-form-confirm-actions{gap:var(--space-3);display:flex}.sub-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);transition:background-color var(--duration-fast) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto auto auto;display:grid}.sub-row:hover{background:color-mix(in srgb, var(--color-surface-sunken) 55%, transparent)}.sub-row+.sub-row{border-top:1px solid var(--color-border)}.sub-row-main{gap:var(--space-1);min-width:0;display:grid}.sub-row-title{align-items:center;gap:var(--space-2);min-width:0;display:flex}.sub-row-name{white-space:nowrap;text-overflow:ellipsis;font-weight:var(--weight-semibold);min-width:0;overflow:hidden}.sub-row-title .badge{flex-shrink:0}.sub-row-event{font-size:var(--text-sm);color:var(--color-renewal);margin:0}.sub-row-event-trial-end{color:var(--color-trial)}.sub-row-cost{justify-items:end;gap:var(--space-1);text-align:right;display:grid}.sub-row-price{font-weight:var(--weight-semibold);white-space:nowrap;margin:0}.sub-row-cycle{color:var(--color-muted);font-weight:var(--weight-regular)}.sub-row-monthly{font-size:var(--text-sm);color:var(--color-muted);white-space:nowrap;margin:0}.sub-row-try{min-width:var(--tap-min);min-height:var(--tap-min)}.sub-row-avatar,.sub-row-main,.sub-row-cost{transition:opacity var(--duration-base) var(--ease-out)}.sub-row-trying .sub-row-avatar,.sub-row-trying .sub-row-main,.sub-row-trying .sub-row-cost{opacity:.5}.sub-row-trying .sub-row-name{text-decoration:line-through}@media (width<=640px){.sub-row{gap:var(--space-1) var(--space-3);padding:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar main main""avatar cost cost"}.sub-row>.sub-row-avatar{grid-area:avatar;align-self:start}.sub-row-main{grid-area:main}.sub-row-cost{align-items:baseline;gap:0 var(--space-3);margin-top:var(--space-1);text-align:left;flex-wrap:wrap;grid-area:cost;display:flex}.sub-row-try,.sub-row-edit{margin-top:var(--space-1);grid-row:3}.sub-row-try{grid-column:1/3;justify-self:end}.sub-row-edit{grid-column:3}}.totals-card{gap:var(--space-4);padding:var(--space-6);background:var(--color-hero);color:var(--color-on-hero);box-shadow:var(--shadow-lg);border-color:#0000;display:grid;position:relative;overflow:hidden}.totals-card:before{content:"";aspect-ratio:1;border-radius:var(--radius-full);pointer-events:none;background:radial-gradient(circle,#ffffff24,#0000 65%);width:60%;position:absolute;inset:-40% -10% auto auto}.totals-card>*{position:relative}.totals-figures{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.totals-figure{align-content:start;gap:var(--space-1);min-width:0;display:grid}.totals-figure+.totals-figure{padding-left:var(--space-4);border-left:1px solid #ffffff2e}.totals-label{color:var(--color-on-hero-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase}.totals-value{font-family:var(--font-sans);font-variant-numeric:var(--font-numeric);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);white-space:nowrap;min-width:0;margin:0}.totals-value[data-size=l]{font-size:var(--text-3xl)}.totals-value[data-size=m]{font-size:var(--text-2xl)}.totals-value[data-size=s]{font-size:var(--text-lg)}@media (width<=480px){.totals-card{padding:var(--space-5)}.totals-figure+.totals-figure{padding-left:var(--space-3)}.totals-value[data-size=l]{font-size:var(--text-2xl)}.totals-value[data-size=m]{font-size:var(--text-xl)}.totals-value[data-size=s]{font-size:var(--text-base)}}.totals-count{color:var(--color-on-hero-muted);font-size:var(--text-sm);margin:0}.totals-was{color:var(--color-on-hero-muted);font-size:var(--text-sm);font-weight:var(--weight-regular);display:block}.totals-save{font-weight:var(--weight-bold);margin:0}.totals-trying{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);animation:totals-trying-in var(--duration-base) var(--ease-out);background:#ffffff1f;flex-wrap:wrap;display:flex}@keyframes totals-trying-in{0%{opacity:0;transform:translateY(-4px)}}.totals-trying p{margin:0}.totals-card .totals-clear{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--color-on-hero);border-color:#fff6}.totals-card .totals-clear:hover{background:#ffffff24}.totals-card :focus-visible{outline-color:var(--color-on-hero)}.subs{gap:var(--space-6);display:grid}.subs-empty{justify-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;background:radial-gradient(circle at 50% 0%, var(--color-accent-soft) 0%, transparent 60%), var(--color-card);display:grid}.subs-empty-art{margin-bottom:var(--space-2);display:flex}.subs-empty-chip{border-radius:var(--radius-full);border:3px solid var(--color-card);width:48px;height:48px;color:var(--avatar-text);font-weight:var(--weight-bold);font-size:var(--text-lg);box-shadow:var(--shadow-md);animation:subs-chip-in var(--duration-slow) var(--ease-out) backwards;place-items:center;display:grid}.subs-empty-chip:nth-child(2){animation-delay:60ms}.subs-empty-chip:nth-child(3){animation-delay:.12s}@keyframes subs-chip-in{0%{opacity:0;translate:0 8px}}.subs-empty-chip+.subs-empty-chip{margin-left:calc(-1 * var(--space-3))}.subs-empty-chip:first-child{transform:rotate(-8deg)}.subs-empty-chip:nth-child(3){transform:rotate(8deg)}.subs-empty-title{font-size:var(--text-xl);margin:0}.subs-empty-text{margin:0 0 var(--space-3);max-width:34ch;color:var(--color-muted)}.subs-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.subs-limit-note{padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-soon);border-radius:var(--radius-md);background:var(--color-soon-soft);color:var(--color-soon);font-weight:var(--weight-medium);margin:0}.subs-list{padding:var(--space-1) 0;margin:0;list-style:none;overflow:hidden}@media (width<=640px){.subs-header>.btn-primary{width:100%}}.subs-editing{padding:var(--space-2)}.subs-editing .sub-form{box-shadow:none;background:var(--color-surface-sunken)}.subs-editing+.sub-row{border-top:1px solid var(--color-border)}.cal{gap:var(--space-6);display:grid}.cal-hint{margin:0}.cal-card{gap:var(--space-4);min-width:0;padding:var(--space-6);display:grid}.cal-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.cal-month{font-size:var(--text-xl);font-variant-numeric:var(--font-numeric);margin:0}.cal-nav{align-items:center;gap:var(--space-1);border-radius:var(--radius-md);background:var(--color-surface-sunken);padding:2px;display:flex}.cal-nav>button{background:0 0;border-color:#0000}.cal-nav>button:hover{background:var(--color-card);box-shadow:var(--shadow-sm)}.cal-arrow{place-items:center;padding:0;display:inline-grid}.cal-grid{gap:var(--space-1);min-width:0;display:grid}.cal-row{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekday{padding:var(--space-1) 0;text-align:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-muted)}.cal-cell{min-width:0}.cal-day{justify-content:flex-start;align-items:center;gap:var(--space-1);width:100%;min-width:0;min-height:68px;padding:var(--space-2) 2px;border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface-sunken) 65%, transparent);color:var(--color-text);font-variant-numeric:var(--font-numeric);box-shadow:none;border:1px solid #0000;flex-direction:column;display:flex}.cal-day:hover{background:var(--color-card);border-color:var(--color-border-strong)}.cal-day.has-events{background:var(--color-card);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.cal-day.is-outside{opacity:.4}.cal-day.is-today{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.cal-day.is-today .cal-day-number{color:var(--color-accent);font-weight:var(--weight-bold)}.cal-day-number{font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.cal-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;max-width:100%;display:flex}.cal-dot{border-radius:var(--radius-full);background:var(--color-renewal);flex:none;width:8px;height:8px;display:inline-block}.cal-dot.is-trial-end{background:var(--color-trial)}.cal-more{font-size:var(--text-2xs);color:var(--color-muted);line-height:1}.cal-footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.cal-total{font-weight:var(--weight-semibold);margin:0}.cal-legend{gap:var(--space-4);font-size:var(--text-sm);color:var(--color-muted);margin:0;padding:0;list-style:none;display:flex}.cal-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.cal-layout{align-items:start;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(240px,300px);display:grid}.cal-day.is-selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-md)}.cal-day.is-selected .cal-day-number,.cal-day.is-selected .cal-more{color:var(--color-on-accent);font-weight:var(--weight-bold)}.cal-day.is-selected .cal-dot{box-shadow:0 0 0 1.5px var(--color-on-accent)}.cal-panel{gap:var(--space-4);min-width:0;padding:var(--space-6);display:grid}@media (width>=901px){.cal-panel{top:calc(var(--tap-min) + var(--space-8));position:sticky}}.cal-panel-title{font-size:var(--text-lg);margin:0}.cal-panel-empty{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-muted);text-align:center;margin:0}.cal-events{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.cal-event{align-items:center;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.cal-event+.cal-event{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.cal-event-text{min-width:0;display:grid}.cal-event-name{white-space:nowrap;text-overflow:ellipsis;font-weight:var(--weight-semibold);overflow:hidden}.cal-event-kind{font-size:var(--text-sm);color:var(--color-renewal)}.cal-event-kind.is-trial-end{color:var(--color-trial)}.cal-event-price{font-weight:var(--weight-semibold);white-space:nowrap}@media (width<=900px){.cal-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.cal-panel{padding:var(--space-5) var(--space-4)}.cal-card{padding:var(--space-4) var(--space-2)}.cal-toolbar,.cal-footer{padding-inline:var(--space-2)}.cal-grid,.cal-row{gap:3px}.cal-weekday{letter-spacing:0}.cal-day{min-height:var(--tap-min);padding:var(--space-1) 0;gap:2px}.cal-dot{width:6px;height:6px}}.settings{gap:var(--space-6);display:grid}.settings-section{gap:var(--space-3);padding:var(--space-6);display:grid}.settings-section h2{font-size:var(--text-lg);margin:0}.settings-text{color:var(--color-muted);max-width:60ch;margin:0}.settings-field{gap:var(--space-2);max-width:24rem;margin-top:var(--space-1);font-weight:var(--weight-semibold);display:grid}.settings-field select{font-weight:var(--weight-regular)}.settings-status{min-height:1.5em;color:var(--color-muted);margin:0}@media (width<=640px){.settings-section{padding:var(--space-5) var(--space-4)}}.backup{gap:var(--space-2);display:grid}.backup-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.backup-import{cursor:pointer;position:relative}.backup-import:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}@media (width<=640px){.backup-actions>*,.backup-confirm-actions>*{flex:1}}.backup-error{color:var(--color-danger);font-weight:var(--weight-medium);margin:0}.backup-confirm{gap:var(--space-3);padding:var(--space-4);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);animation:backup-confirm-in var(--duration-base) var(--ease-out);display:grid}@keyframes backup-confirm-in{0%{opacity:0;transform:translateY(-4px)}}.backup-question{font-weight:var(--weight-semibold);margin:0}.backup-confirm-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.shell-header{z-index:10;border-bottom:1px solid var(--color-border);position:sticky;top:0}.shell-header:before{content:"";z-index:-1;background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);position:absolute;inset:0}.shell-header-inner{justify-content:space-between;align-items:center;gap:var(--space-4);max-width:var(--content-max);padding:var(--space-2) var(--space-6);margin:0 auto;display:flex}.brand{gap:var(--space-3);color:var(--color-text);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);text-decoration:none}.brand-mark{border-radius:var(--radius-md);background:var(--color-hero);width:32px;height:32px;color:var(--color-on-hero);box-shadow:var(--shadow-sm);transition:transform var(--duration-base) var(--ease-out);place-items:center;display:grid}.brand:hover .brand-mark{transform:rotate(-6deg)}.tabs ul{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-lg);background:var(--color-surface-sunken);margin:0;list-style:none;display:flex}.tab{gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-muted);font-weight:var(--weight-medium);transition:color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);text-decoration:none}.tab:hover{color:var(--color-text)}.tab[aria-current=page]{color:var(--color-text);background:var(--color-card);box-shadow:var(--shadow-sm)}.tab-icon{display:none}.shell-main{max-width:var(--content-max);padding:var(--space-10) var(--space-6) var(--space-16);animation:shell-enter var(--duration-slow) var(--ease-out);margin:0 auto}@keyframes shell-enter{0%{opacity:0;transform:translateY(6px)}}@media (width<=640px){.shell-header-inner{padding:var(--space-1) var(--space-4)}.tabs{z-index:20;background:color-mix(in srgb, var(--color-card) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.tabs ul{height:var(--bottom-bar-height);background:0 0;border-radius:0;gap:0;padding:0}.tabs li{flex:1;display:flex}.tab{padding:0 var(--space-1);font-size:var(--text-xs);border-radius:0;flex-direction:column;flex:1;justify-content:center;gap:2px}.tab[aria-current=page]{color:var(--color-accent);box-shadow:none;background:0 0}.tab-icon{padding:2px var(--space-4);border-radius:var(--radius-full);transition:background-color var(--duration-fast) var(--ease-out);display:inline-flex}.tab[aria-current=page] .tab-icon{background:var(--color-accent-soft)}.shell-main{padding:var(--space-6) var(--space-4) calc(var(--bottom-bar-height) + env(safe-area-inset-bottom) + var(--space-8))}}
