:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:"Segoe UI", "Noto Sans Hebrew", "Arial Hebrew", system-ui, -apple-system, sans-serif;--font-num:"SF Mono", "Segoe UI", ui-monospace, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--line-height-tight:1.2;--line-height-base:1.6;--font-weight-regular:400;--font-weight-medium:600;--font-weight-bold:700;--tracking-wide:.04em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-pill:999px;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-md:0 4px 14px #10182817, 0 1px 3px #1018280d;--shadow-lg:0 14px 38px #10182824, 0 3px 10px #1018280f;--ring-accent:0 0 0 3px #2563eb2e;--ease:cubic-bezier(.32, .72, 0, 1);--dur-fast:.12s;--dur:.2s;--measure-form:26rem;--measure-page:68rem;--topbar-h:3.5rem;--color-bg:#f1f3f7;--color-bg-tint:#e7ebf3;--color-surface:#fff;--color-surface-muted:#f3f5f9;--color-surface-sunken:#eceff5;--color-border:#e3e7ee;--color-border-strong:#c9d1dd;--color-text:#0e151e;--color-text-muted:#5c6878;--color-text-faint:#8a95a4;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-surface:#eaf1ff;--color-on-accent:#fff;--color-positive:#047857;--color-positive-surface:#e8f7f1;--color-negative:#be123c;--color-negative-surface:#fdecef;--color-invest:#6d28d9;--color-invest-surface:#f2edfe;--color-warn:#b45309;--color-warn-surface:#fdf4e3;--color-info:#0369a1;--color-info-surface:#e8f4fd;--color-neutral-surface:#eef1f6;--color-danger:#be123c;--color-danger-surface:#fdecef;--color-focus:#2563eb;--app-budget:#2563eb;--app-business:#0f766e;--app-vocabulary:#c2410c;--app-roster:#7c3aed;--chart-1:#2563eb;--chart-2:#c2410c;--chart-3:#0f766e;--chart-4:#7c3aed;--chart-5:#b45309;--chart-6:#0369a1;--chart-7:#a21caf;--chart-8:#4d7c0f}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#0a0e14;--color-bg-tint:#10161f;--color-surface:#151c26;--color-surface-muted:#1c2531;--color-surface-sunken:#11171f;--color-border:#28313e;--color-border-strong:#3a4553;--color-text:#e9eef4;--color-text-muted:#95a2b3;--color-text-faint:#6b7889;--color-accent:#6b9bff;--color-accent-hover:#8db4ff;--color-accent-surface:#16233a;--color-on-accent:#07101f;--color-positive:#34d399;--color-positive-surface:#0b2a22;--color-negative:#fb7185;--color-negative-surface:#2d1119;--color-invest:#a78bfa;--color-invest-surface:#1e1733;--color-warn:#fbbf24;--color-warn-surface:#2a2008;--color-info:#60a5fa;--color-info-surface:#0f1e33;--color-neutral-surface:#1c2531;--color-danger:#fb7185;--color-danger-surface:#2d1119;--color-focus:#8db4ff;--app-budget:#6b9bff;--app-business:#2dd4bf;--app-vocabulary:#fb923c;--app-roster:#a78bfa;--chart-1:#6b9bff;--chart-2:#fb923c;--chart-3:#2dd4bf;--chart-4:#a78bfa;--chart-5:#fbbf24;--chart-6:#60a5fa;--chart-7:#e879f9;--chart-8:#a3e635;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 14px #0000008c;--shadow-lg:0 14px 38px #0009;--ring-accent:0 0 0 3px #6b9bff40}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur:1ms}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);background-image:radial-gradient(120rem 40rem at 50% -10rem, var(--color-bg-tint), transparent 70%);min-block-size:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;padding:0}h1,h2,h3{line-height:var(--line-height-tight);letter-spacing:-.01em;margin:0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.num,.tile-value,.tx-amount,.bar-figure,.month-profit,.month-label,.stat-value,.studytable td,.money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.shell{max-inline-size:var(--measure-page);padding-inline:var(--space-4);padding-block:var(--space-5) var(--space-8);gap:var(--space-5);flex-direction:column;margin-inline:auto;display:flex}.topbar{z-index:20;margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4);padding-block:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);background-color:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-block-end:1px solid var(--color-border);display:flex;position:sticky;inset-block-start:0}.topbar-start{align-items:center;gap:var(--space-3);min-inline-size:0;display:flex}.topbar-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);white-space:nowrap;display:flex}.topbar-title:before{content:"";border-radius:var(--radius-pill);background-color:var(--app-accent,var(--color-accent));block-size:1.5rem;inline-size:.5rem}.app-budget{--app-accent:var(--app-budget)}.app-business{--app-accent:var(--app-business)}.app-vocabulary{--app-accent:var(--app-vocabulary)}.app-roster{--app-accent:var(--app-roster)}.back{align-items:center;gap:var(--space-1);padding-inline:var(--space-2);padding-block:var(--space-1);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);text-decoration:none;display:inline-flex}.loading{padding-block:var(--space-8);color:var(--color-text-muted);text-align:center;margin:0}.empty{padding-block:var(--space-6);color:var(--color-text-faint);text-align:center;font-size:var(--font-size-sm);margin:0}.home{gap:var(--space-6)}.home-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;padding-block-start:var(--space-5);display:flex}.home-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}.home-sub{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.home-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.hubsection{gap:var(--space-2);flex-direction:column;display:flex}.hubsection-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.hubsection-blurb{margin:0 0 var(--space-1);color:var(--color-text-faint);font-size:var(--font-size-xs)}.app-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin:0;padding:0;list-style:none;display:grid}.app-grid>li{display:flex}.app-card{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);min-block-size:10.5rem;box-shadow:var(--shadow-sm);color:inherit;transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;flex:1;text-decoration:none;display:flex;position:relative;overflow:hidden}.app-card:before{content:"";background-color:var(--app-accent,var(--color-accent));block-size:.25rem;position:absolute;inset-block-start:0;inset-inline:0}a.app-card:active{transform:translateY(-1px)}.app-card-icon{border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--app-accent,var(--color-accent)) 12%, transparent);block-size:2.75rem;inline-size:2.75rem;font-size:var(--font-size-xl);place-items:center;line-height:1;display:grid}.app-card-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.app-card-desc{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0;line-height:1.5}.app-card-stat{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;margin-block-start:auto}.app-card-stat+.app-card-go{margin-block-start:0}.app-card-go{color:var(--app-accent,var(--color-accent));font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-block-start:auto}.app-card-soon{padding-inline:var(--space-2);border-radius:var(--radius-pill);background-color:var(--color-surface-muted);color:var(--color-text-faint);font-size:var(--font-size-xs);align-self:flex-start;margin-block-start:auto;padding-block:.125rem}.app-card-disabled{opacity:.65}.app-card-compact{min-block-size:0;padding:var(--space-4);gap:var(--space-2)}.app-card-head{align-items:center;gap:var(--space-3);display:flex}.app-card-compact .app-card-icon{block-size:2.25rem;inline-size:2.25rem;font-size:var(--font-size-lg)}.auth-shell{min-block-size:100dvh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-card{inline-size:100%;max-inline-size:var(--measure-form);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-lg);gap:var(--space-4);flex-direction:column;display:flex}.auth-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.auth-intro{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.field{gap:var(--space-1);flex-direction:column;min-inline-size:0;display:flex}.field>label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.field>input,.field>select,.field>textarea{inline-size:100%;padding-inline:var(--space-3);padding-block:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.field>input:focus,.field>select:focus,.field>textarea:focus{border-color:var(--color-accent);box-shadow:var(--ring-accent);outline:none}.field>input::placeholder{color:var(--color-text-faint)}.field>input[type=number],.field>input[type=date]{font-variant-numeric:tabular-nums}.field>input[type=file]{padding:var(--space-2);background-color:var(--color-surface-muted);cursor:pointer;border-style:dashed}.field>input[type=search]{border-radius:var(--radius-pill);padding-inline:var(--space-4)}.field-hint{color:var(--color-text-faint);font-size:var(--font-size-xs)}.field-wide{grid-column:1/-1}.field-check{align-items:center;gap:var(--space-2);flex-direction:row}.field-check>input[type=checkbox]{block-size:1.125rem;inline-size:1.125rem;accent-color:var(--color-accent);flex:none}.addform{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));align-items:end;display:grid}.form-column{gap:var(--space-4);grid-template-columns:minmax(0,1fr);max-inline-size:26rem;display:grid}.form-column>.addform-actions{justify-content:flex-start}.addform-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-2);padding-inline:var(--space-5);padding-block:var(--space-2);border-radius:var(--radius-md);background-color:var(--color-accent);min-block-size:2.5rem;color:var(--color-on-accent);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease);border:1px solid #0000;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button-quiet{background-color:var(--color-surface);border-color:var(--color-border-strong);color:var(--color-text)}.button-danger{background-color:var(--color-danger-surface);border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);color:var(--color-danger)}.button-sm{min-block-size:2rem;padding-inline:var(--space-3);font-size:var(--font-size-sm)}.icon-button{border-radius:var(--radius-sm);block-size:2rem;inline-size:2rem;color:var(--color-text-faint);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);background-color:#0000;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-button:disabled{opacity:.4;cursor:not-allowed}.alert{padding-inline:var(--space-4);padding-block:var(--space-3);border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent);border-radius:var(--radius-md);background-color:var(--color-danger-surface);color:var(--color-danger);font-size:var(--font-size-sm);margin:0}.alertlist{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.alertrow{align-items:flex-start;gap:var(--space-3);padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);border-inline-start:3px solid;display:flex}.alertrow>span:last-child{color:var(--color-text)}.alertrow-success{background-color:var(--color-positive-surface);color:var(--color-positive)}.alertrow-info{background-color:var(--color-info-surface);color:var(--color-info)}.alertrow-warning{background-color:var(--color-warn-surface);color:var(--color-warn)}.alertrow-danger{background-color:var(--color-negative-surface);color:var(--color-negative)}.monthbar{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface);box-shadow:var(--shadow-xs);align-self:center;display:flex}.monthbar-label{text-align:center;min-inline-size:10rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.monthbar .icon-button{border-radius:var(--radius-pill);block-size:2.25rem;inline-size:2.25rem}.tiles{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.tile{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;position:relative;overflow:hidden}.tile:after{content:"";background-color:var(--tile-tint,transparent);opacity:.07;pointer-events:none;position:absolute;inset:0}.tile>*{z-index:1;position:relative}.tile-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide)}.tile-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;text-align:start;direction:ltr;margin:0}.tile-note{color:var(--color-text-faint);font-size:var(--font-size-xs);margin:0}.tile-income{--tile-tint:var(--color-positive)}.tile-income .tile-value{color:var(--color-positive)}.tile-expense{--tile-tint:var(--color-negative)}.tile-expense .tile-value{color:var(--color-negative)}.tile-investment{--tile-tint:var(--color-invest)}.tile-investment .tile-value{color:var(--color-invest)}.tile-balance{--tile-tint:var(--color-accent)}.panel{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.panel-title{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);display:flex}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.count{padding-inline:var(--space-2);border-radius:var(--radius-pill);background-color:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;padding-block:.0625rem}.hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.tabs{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface-sunken);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-pill);color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);background-color:#0000;border:none;flex:none}.tab-active{background-color:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs)}.subtabs{gap:var(--space-1);padding-inline:var(--space-2);flex-wrap:wrap;display:flex}.subtab{min-block-size:2.25rem;padding-inline:var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-faint);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);background-color:#0000;border:none}.subtab-active{background-color:var(--color-surface-muted);color:var(--color-text);font-weight:var(--font-weight-medium)}@media (pointer:coarse){.subtab{min-block-size:2.75rem}}.txlist{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tx{align-items:center;gap:var(--space-3);padding-inline:var(--space-2);padding-block:var(--space-3);border-block-end:1px solid var(--color-border);border-radius:var(--radius-sm);transition:background-color var(--dur) var(--ease);display:flex}.tx:last-child{border-block-end:none}.tx-icon{border-radius:var(--radius-pill);background-color:var(--color-surface-sunken);block-size:2.25rem;inline-size:2.25rem;font-size:var(--font-size-base);flex:none;place-items:center;line-height:1;display:grid}.tx-icon-income{background-color:var(--color-positive-surface);color:var(--color-positive)}.tx-icon-expense{background-color:var(--color-negative-surface);color:var(--color-negative)}.tx-icon-investment{background-color:var(--color-invest-surface);color:var(--color-invest)}.tx-main{flex-direction:column;flex:1;gap:.125rem;min-inline-size:0;display:flex}.tx-category{font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-date{color:var(--color-text-faint);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.tx-meta{color:var(--color-text-muted);font-size:var(--font-size-xs);text-align:end;flex-direction:column;align-items:flex-end;gap:.125rem;display:flex}.tx-note{color:var(--color-text-faint);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-amount{min-inline-size:6rem;font-weight:var(--font-weight-bold);text-align:end;direction:ltr;flex:none}.tx-amount-income{color:var(--color-positive)}.tx-amount-expense{color:var(--color-negative)}.tx-amount-investment{color:var(--color-invest)}.tx-actions{gap:var(--space-1);opacity:0;transition:opacity var(--dur) var(--ease);flex:none;display:flex}.tx:hover .tx-actions,.tx:focus-within .tx-actions{opacity:1}.splits{gap:var(--space-2);flex-direction:column;display:flex}.splitlines{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.splitline{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(5rem,8rem) 2.75rem;align-items:center;display:grid}.splitfoot{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.due-add{flex:none}@media (pointer:coarse){.splits .button,.due-add{min-block-size:2.75rem}.splitline>.icon-button{min-block-size:2.75rem;min-inline-size:2.75rem}}.months{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.month{align-items:center;gap:var(--space-3);grid-template-columns:5rem 1fr 7rem;display:grid}.month-label{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:start;direction:ltr}.chart{block-size:auto;inline-size:100%;display:block;overflow:visible}.chart-columns{max-block-size:15rem}.chart-axis{font-size:9px}@media (max-width:34rem){.chart-axis{font-size:22px}}.chart-grid{stroke:var(--color-border);stroke-width:1px}.chart-axis-line{stroke:var(--color-border-strong);stroke-width:1px}.chart-axis{fill:var(--color-text-faint);font-family:var(--font-num);direction:ltr;unicode-bidi:isolate}.chart-bar-income{fill:var(--color-positive)}.chart-bar-expense{fill:var(--color-negative)}.chart-bar-investment{fill:var(--color-invest)}.chart-donut{inline-size:11.25rem;max-inline-size:100%;transform:rotate(-90deg)}.chart-donut-track{stroke:var(--color-surface-sunken)}.chart-slice-1{stroke:var(--chart-1)}.chart-slice-2{stroke:var(--chart-2)}.chart-slice-3{stroke:var(--chart-3)}.chart-slice-4{stroke:var(--chart-4)}.chart-slice-5{stroke:var(--chart-5)}.chart-slice-6{stroke:var(--chart-6)}.chart-slice-7{stroke:var(--chart-7)}.chart-slice-8{stroke:var(--chart-8)}.chart-donut-center{fill:var(--color-text);font-family:var(--font-num);font-size:15px;font-weight:var(--font-weight-bold);transform-origin:50%;direction:ltr;unicode-bidi:isolate;transform:rotate(90deg)}.chart-split{align-items:center;gap:var(--space-5);grid-template-columns:auto minmax(0,1fr);display:grid}@media (max-width:34rem){.chart-split{grid-template-columns:minmax(0,1fr);justify-items:center}}.chart-legend{gap:var(--space-2);min-inline-size:0;max-inline-size:24rem;margin:0;padding:0;list-style:none;display:grid}.chart-legend>li{align-items:center;gap:var(--space-2);min-inline-size:0;font-size:var(--font-size-sm);display:flex}.chart-swatch{border-radius:var(--radius-sm);flex:none;block-size:.75rem;inline-size:.75rem}.chart-swatch-1{background-color:var(--chart-1)}.chart-swatch-2{background-color:var(--chart-2)}.chart-swatch-3{background-color:var(--chart-3)}.chart-swatch-4{background-color:var(--chart-4)}.chart-swatch-5{background-color:var(--chart-5)}.chart-swatch-6{background-color:var(--chart-6)}.chart-swatch-7{background-color:var(--chart-7)}.chart-swatch-8{background-color:var(--chart-8)}.chart-legend-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-inline-size:0;overflow:hidden}.chart-legend-value{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--color-text-muted);direction:ltr;unicode-bidi:isolate;flex:none}.chart-key{gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.chart-key>span{align-items:center;gap:var(--space-2);display:inline-flex}.chart-key-income{background-color:var(--color-positive)}.chart-key-expense{background-color:var(--color-negative)}.bars{gap:var(--space-1);flex-direction:column;min-inline-size:0;display:flex}.barline{align-items:center;gap:var(--space-2);display:flex}.bar{border-radius:var(--radius-pill);block-size:.625rem;min-inline-size:2px;transition:inline-size var(--dur) var(--ease)}.bar-income{background-color:var(--color-positive)}.bar-expense{background-color:var(--color-negative)}.bar-figure{color:var(--color-text-faint);font-size:var(--font-size-xs);white-space:nowrap;direction:ltr}.month-profit{font-weight:var(--font-weight-medium);text-align:end;direction:ltr}.progress{gap:var(--space-1);flex-direction:column;display:flex}.progress-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.progress-track{border-radius:var(--radius-pill);background-color:var(--color-surface-sunken);block-size:.5rem;overflow:hidden}.progress-fill{border-radius:var(--radius-pill);background-color:var(--color-accent);block-size:100%;transition:inline-size var(--dur) var(--ease)}.progress-ok .progress-fill{background-color:var(--color-positive)}.progress-near .progress-fill{background-color:var(--color-warn)}.progress-over .progress-fill{background-color:var(--color-negative)}.stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;padding:0;list-style:none;display:grid}.stat{padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--color-surface-muted);flex-direction:column;gap:.125rem;display:flex}.stat-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-align:start;direction:ltr}.pager{align-items:center;gap:var(--space-2);display:flex}.pager-range{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.tablewrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.studytable{border-collapse:collapse;inline-size:100%;font-size:var(--font-size-sm)}.studytable th{padding-inline:var(--space-3);padding-block:var(--space-2);background-color:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-wide);text-align:start;white-space:nowrap;position:sticky;inset-block-start:0}.studytable td{padding-inline:var(--space-3);padding-block:var(--space-2);border-block-start:1px solid var(--color-border)}.studytable tbody tr:nth-child(2n){background-color:color-mix(in srgb, var(--color-surface-muted) 55%, transparent)}.chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{align-items:center;gap:var(--space-1);padding-inline:var(--space-3);padding-block:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background-color:var(--color-surface-muted);font-size:var(--font-size-sm);display:inline-flex}.chip:has(input[type=checkbox]){cursor:pointer;-webkit-user-select:none;user-select:none}.chip>input[type=checkbox]{accent-color:var(--color-accent);margin:0}.chip:has(input[type=checkbox]:checked){border-color:var(--color-accent);background-color:var(--color-accent-surface);color:var(--color-accent)}.chip-x{border-radius:var(--radius-pill);block-size:1.125rem;inline-size:1.125rem;color:var(--color-text-faint);font-size:var(--font-size-xs);cursor:pointer;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);background-color:#0000;border:none;place-items:center;padding:0;display:grid}button.chip{color:inherit;cursor:pointer;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);font-family:inherit}.mode{padding-inline:var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;padding-block:.0625rem}.mode-safe{background-color:var(--color-positive-surface);color:var(--color-positive)}.mode-hint{background-color:var(--color-warn-surface);color:var(--color-warn)}.mode-manual{background-color:var(--color-neutral-surface);color:var(--color-text-muted)}.units{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface-muted)}.units-summary{align-items:center;gap:var(--space-2);padding-inline:var(--space-3);padding-block:var(--space-3);border-radius:var(--radius-md);cursor:pointer;min-block-size:2.75rem;font-weight:var(--font-weight-medium);list-style:none;display:flex}.units-summary::-webkit-details-marker{display:none}.units-summary:before{content:"›";inline-size:1rem;color:var(--color-text-faint);font-size:var(--font-size-lg);transition:transform var(--dur) var(--ease);line-height:1;display:inline-block;transform:rotate(90deg)}.units[open]>.units-summary:before{transform:rotate(270deg)}.units-title{margin-inline-end:auto}.units-actions{gap:var(--space-2);padding-inline:var(--space-3);padding-block-end:var(--space-2);display:flex}.units>.chips,.units>.addform,.units>.hint{padding-inline:var(--space-3);padding-block-end:var(--space-3)}.quiz-column{inline-size:100%;max-inline-size:34rem;margin-inline:auto}.scoreline{gap:var(--space-4);padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-pill);background-color:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.scoreline strong{color:var(--color-text);font-variant-numeric:tabular-nums}.prompt-word{padding-block:var(--space-6);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;text-align:center;margin:0}.prompt-word-mask{letter-spacing:.12em;font-size:var(--font-size-2xl);font-variant-numeric:normal;word-break:break-all}.prompt{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.options{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin:0;padding:0;list-style:none;display:grid}.option{white-space:normal;text-align:center;inline-size:100%;padding-inline:var(--space-4);padding-block:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);cursor:pointer;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), transform var(--dur-fast) var(--ease)}.option:active:not(:disabled){transform:translateY(1px)}.keyboard{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(2.25rem,1fr));margin:0;padding:0;list-style:none;display:grid}.key{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface);block-size:2.75rem;inline-size:100%;color:var(--color-text);font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-transform:uppercase;cursor:pointer;transition:background-color var(--dur-fast) var(--ease)}.verdict{padding-inline:var(--space-4);padding-block:var(--space-3);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);text-align:center;margin:0}.verdict-correct{background-color:var(--color-positive-surface);color:var(--color-positive)}.verdict-incorrect{background-color:var(--color-negative-surface);color:var(--color-negative)}.import-report{gap:var(--space-2);flex-direction:column;display:flex}.import-counts{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));margin:0;padding:0;list-style:none;display:grid}.import-counts>li{justify-content:space-between;gap:var(--space-2);padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-surface-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;display:flex}code{padding-inline:var(--space-1);border-radius:var(--radius-sm);background-color:var(--color-surface-sunken);font-family:var(--font-num);font-size:.9em}@media (max-width:40rem){.shell{padding-inline:var(--space-3);gap:var(--space-4)}.topbar{margin-inline:calc(var(--space-3) * -1);padding-inline:var(--space-3)}.home-title{font-size:var(--font-size-2xl)}.panel{padding:var(--space-4)}.tiles{grid-template-columns:repeat(2,1fr)}.tile-value{font-size:var(--font-size-xl)}.tx{column-gap:var(--space-3);row-gap:var(--space-1);grid-template-columns:auto 1fr auto;grid-template-areas:"icon main amount""icon meta actions";align-items:center;display:grid}.tx-icon{grid-area:icon;align-self:center}.tx-main{grid-area:main;min-inline-size:0}.tx-amount{grid-area:amount;min-inline-size:0}.tx-meta{align-items:center;gap:var(--space-1) var(--space-2);text-align:start;flex-flow:wrap;grid-area:meta;min-inline-size:0}.tx-actions{opacity:1;grid-area:actions}.month{row-gap:var(--space-1);grid-template-columns:4rem 1fr}.month-profit{text-align:start;grid-column:2}.prompt-word{font-size:var(--font-size-2xl);padding-block:var(--space-5)}}.printsheet{display:none}.printsheet-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.printsheet-subtitle{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.printsheet-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}@media print{:root{--color-bg:#fff;--color-surface:#fff;--color-surface-muted:#fff;--color-surface-sunken:#fff;--color-border:#999;--color-border-strong:#333;--color-text:#000;--color-text-muted:#333;--color-text-faint:#555}@page{margin:14mm}body{background-color:var(--color-surface);color:var(--color-text)}.topbar,.tabs,.panel,.alert,.alertlist,.addform-actions{display:none}.shell{gap:var(--space-4);max-inline-size:none;padding-block:0;padding-inline:0}.printsheet{gap:var(--space-5);flex-direction:column;display:flex}.printsheet-group{break-inside:avoid}.printsheet .tablewrap{border:none;border-radius:0;overflow:visible}.printsheet .studytable{page-break-inside:auto}.printsheet .studytable th{border-block-end:2px solid var(--color-border-strong);position:static}.printsheet .studytable tbody tr:nth-child(2n){background-color:#0000}}@media (pointer:coarse){.button,.tab,.option,.key,.chip,.field>input,.field>select{min-block-size:2.75rem}.icon-button,.monthbar .icon-button{block-size:2.75rem;inline-size:2.75rem}.back{align-items:center;min-block-size:2.75rem;display:inline-flex}.chip-x{block-size:2.25rem;inline-size:2.25rem}input[type=checkbox],input[type=radio]{block-size:1.25rem;inline-size:1.25rem}.tx-actions{opacity:1}}@media (hover:hover) and (pointer:fine){.back:hover{color:var(--color-text);background-color:var(--color-surface-muted)}a.app-card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--app-accent,var(--color-accent)) 40%, var(--color-border));transform:translateY(-3px)}.button:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:var(--shadow-sm)}.button-quiet:hover:not(:disabled){background-color:var(--color-surface-muted)}.button-danger:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-danger) 16%, var(--color-surface))}.icon-button:hover:not(:disabled){background-color:var(--color-surface-muted);color:var(--color-text)}.icon-button-danger:hover:not(:disabled){background-color:var(--color-danger-surface);color:var(--color-danger)}.tab:hover{color:var(--color-text)}.tx:hover{background-color:var(--color-surface-muted)}.studytable tbody tr:hover{background-color:var(--color-accent-surface)}.chip-x:hover:not(:disabled){background-color:var(--color-danger-surface);color:var(--color-danger)}button.chip:hover:not(:disabled),.option:hover:not(:disabled){border-color:var(--color-accent);background-color:var(--color-accent-surface)}.key:hover:not(:disabled){background-color:var(--color-surface-muted)}}html{-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none}.tablewrap,.tabs{overscroll-behavior:contain}button,a,summary,[role=button],.tab,.option,.key,.chip,.app-card{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tab:active,.chip:active,.icon-button:active:not(:disabled),.app-card:active{transform:scale(.97)}.tab,.chip,.icon-button,.app-card{transition:transform var(--dur-fast) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.topbar{padding-block-start:calc(var(--space-3) + env(safe-area-inset-top,0px))}.shell,.auth-shell{padding-block-end:calc(var(--space-8) + env(safe-area-inset-bottom,0px))}@media (max-width:40rem){.tabs{border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:center;overflow-x:visible}.tab{text-align:center;flex:auto}}@media (pointer:coarse){input,select,textarea{font-size:max(16px, var(--font-size-base))}}
