:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6fa;--surface:#fff;--surface-2:#f0f2f7;--surface-hover:#eceff5;--border:#e3e6ee;--border-strong:#cfd4e0;--text:#4f566b;--text-h:#11142a;--text-muted:#656b7f;--accent:#5048e5;--accent-hover:#4038d4;--accent-soft:#5048e51a;--accent-2:#7c6cff;--accent-contrast:#fff;--success:#15803d;--success-soft:#15803d1f;--danger:#c62828;--danger-soft:#c6282817;--danger-contrast:#fff;--chart-bar:#5048e5;--chart-trend:#3d4357;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-md:0 4px 14px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 20px 48px #10182833}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1016;--surface:#161922;--surface-2:#1d2130;--surface-hover:#232839;--border:#262b3a;--border-strong:#353b4e;--text:#a4abbd;--text-h:#f2f4f8;--text-muted:#8a91a6;--accent:#8b87ff;--accent-hover:#9d99ff;--accent-soft:#8b87ff24;--accent-2:#b4a9ff;--accent-contrast:#0e1016;--success:#4ade80;--success-soft:#4ade8024;--danger:#f87171;--danger-soft:#f871711f;--danger-contrast:#0e1016;--chart-bar:#7f7af7;--chart-trend:#c3c8d6;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 20px 48px #0000008c}[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe6;--surface:#fffcf6;--surface-2:#efe8dc;--surface-hover:#ebe3d5;--border:#e2d8c7;--border-strong:#cfc2ad;--text:#594d3f;--text-h:#2b2118;--text-muted:#6f6253;--accent:#b0472a;--accent-hover:#963b22;--accent-soft:#b0472a1a;--accent-2:#d9774f;--accent-contrast:#fff;--success:#3f7a2e;--success-soft:#3f7a2e1f;--danger:#b42318;--danger-soft:#b4231817;--danger-contrast:#fff;--chart-bar:#b0472a;--chart-trend:#4a3e31;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-md:0 4px 14px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 20px 48px #10182833}[data-theme=ocean]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef5f9;--surface:#fff;--surface-2:#e6f0f6;--surface-hover:#ddebf3;--border:#d3e3ec;--border-strong:#b8cfdd;--text:#3d5566;--text-h:#0b2233;--text-muted:#55697a;--accent:#0369a1;--accent-hover:#075985;--accent-soft:#0369a11a;--accent-2:#0ea5c6;--accent-contrast:#fff;--success:#047857;--success-soft:#0478571f;--danger:#c2410c;--danger-soft:#c2410c17;--danger-contrast:#fff;--chart-bar:#0369a1;--chart-trend:#2b3f4d;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-md:0 4px 14px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 20px 48px #10182833}[data-theme=rose]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbf3f5;--surface:#fff;--surface-2:#f7eaee;--surface-hover:#f3e2e8;--border:#efdbe2;--border-strong:#e0c3cd;--text:#5c4650;--text-h:#2a1520;--text-muted:#735c66;--accent:#be185d;--accent-hover:#9d174d;--accent-soft:#be185d1a;--accent-2:#ec4899;--accent-contrast:#fff;--success:#15803d;--success-soft:#15803d1f;--danger:#b91c1c;--danger-soft:#b91c1c17;--danger-contrast:#fff;--chart-bar:#be185d;--chart-trend:#45323b;--shadow-sm:0 1px 2px #1018280d, 0 1px 3px #10182812;--shadow-md:0 4px 14px #10182814, 0 2px 4px #1018280a;--shadow-lg:0 20px 48px #10182833}[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060b18;--surface:#0d1528;--surface-2:#121c33;--surface-hover:#18233d;--border:#1c2944;--border-strong:#2a3a5c;--text:#9fb0cc;--text-h:#eef3ff;--text-muted:#8295b3;--accent:#38bdf8;--accent-hover:#5ccbfa;--accent-soft:#38bdf824;--accent-2:#818cf8;--accent-contrast:#04111f;--success:#34d399;--success-soft:#34d39924;--danger:#fb7185;--danger-soft:#fb71851f;--danger-contrast:#1a0509;--chart-bar:#0b95d6;--chart-trend:#c9d4e8;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 20px 48px #0000008c}[data-theme=ember]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14100d;--surface:#1d1814;--surface-2:#262019;--surface-hover:#2d261e;--border:#332a21;--border-strong:#45392d;--text:#c2b2a1;--text-h:#f7efe6;--text-muted:#a08f7d;--accent:#fb923c;--accent-hover:#fdaa66;--accent-soft:#fb923c24;--accent-2:#fbbf24;--accent-contrast:#1a0e04;--success:#a3e635;--success-soft:#a3e63524;--danger:#f87171;--danger-soft:#f871711f;--danger-contrast:#1a0505;--chart-bar:#e07020;--chart-trend:#e3d6c8;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 20px 48px #0000008c}[data-theme=contrast]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#0a0a0a;--surface-2:#161616;--surface-hover:#1f1f1f;--border:#5c5c5c;--border-strong:#9a9a9a;--text:#f2f2f2;--text-h:#fff;--text-muted:#d0d0d0;--accent:#ffd60a;--accent-hover:#ffe14d;--accent-soft:#ffd60a24;--accent-2:#ffe14d;--accent-contrast:#000;--success:#5dfc8d;--success-soft:#5dfc8d24;--danger:#ff6b6b;--danger-soft:#ff6b6b1f;--danger-contrast:#000;--chart-bar:#4a90ff;--chart-trend:#fff;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 20px 48px #0000008c}:root{--radius-sm:8px;--radius:12px;--radius-lg:16px;--sidebar-w:248px;--sidebar-w-collapsed:72px;--header-h:calc(64px + env(safe-area-inset-top,0px));--sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, "Liberation Mono", monospace;--paper-rule:color-mix(in srgb, var(--chart-bar) 30%, transparent);--paper-margin:color-mix(in srgb, var(--danger) 45%, transparent);--paper-grid:color-mix(in srgb, var(--border-strong) 55%, transparent);--pen-ring:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M26 5C14 2.6 4.4 9.6 4.8 20.6 5.2 31 13.6 36.2 21.6 35.6 31 35 36.2 27.8 35.4 18.4 34.6 9.4 26.6 4.4 15.6 6.8' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{min-height:100svh;margin:0}h1,h2,h3{color:var(--text-h);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.25}p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.graph-paper{--grid-major:color-mix(in srgb, var(--paper-grid) 50%, transparent);--grid-fine:color-mix(in srgb, var(--paper-grid) 20%, transparent);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid-fine) 1px, transparent 1px), linear-gradient(90deg, var(--grid-fine) 1px, transparent 1px);background-position:-1px -1px;background-size:80px 80px,80px 80px,16px 16px,16px 16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.auth-page{--rule:color-mix(in srgb, var(--paper-rule) 55%, transparent);background:linear-gradient(90deg, transparent calc(12vw - 1px), color-mix(in srgb, var(--paper-margin) 55%, transparent) 0 calc(12vw + 1px), transparent 0), linear-gradient(to bottom, transparent 47px, var(--rule) 0) 0 0 / 100% 48px, var(--bg);place-items:center;min-height:100svh;padding:24px 16px;display:grid}.auth-card{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.auth-brand{color:var(--text-h);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.auth-title{font-size:20px}.auth-form .auth-note{font-size:12px;font-weight:400}.auth-submit{grid-column:1/-1;height:40px}.auth-switch{font-size:14px}.auth-switch-btn{height:auto;min-height:0;color:var(--accent);font:inherit;background:0 0;border:0;padding:0;font-weight:600}.auth-switch-btn:hover{background:0 0;text-decoration:underline}.account-trigger{border-color:var(--border);background:var(--accent-soft);width:32px;height:32px;min-height:32px;color:var(--accent);text-transform:uppercase;border-radius:999px;padding:0;font-size:14px;font-weight:700}.account-trigger:hover{background:var(--accent-soft);border-color:var(--accent)}.account-email{max-width:240px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;padding:6px 10px 8px;font-size:13px;overflow:hidden}.finance-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.finance-tab{color:var(--text);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:500;text-decoration:none}.finance-tab:hover{color:var(--text-h)}.finance-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.finance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.finance-toolbar-end{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.month-picker{align-items:center;gap:6px;display:flex}.month-picker-label{text-align:center;min-width:9.5em;font-size:18px}.finance-stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.finance-stats .stat-label{align-items:center;gap:6px;display:inline-flex}.finance-stats [data-over] .stat-label{color:var(--danger)}.budget-kind-total{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px}.budget-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.budget-row{flex-direction:column;gap:8px;padding:12px 0;display:flex}.budget-row+.budget-row{border-top:1px solid var(--border)}.budget-row[data-over] .progress-fill{background:var(--danger)}.budget-row-top{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.budget-row-toggle{background:0 0;border:0;flex:1;justify-content:flex-start;min-width:0;min-height:32px;margin-left:-6px;padding:0 6px}.budget-row-toggle:hover:not(:disabled){background:var(--surface-2)}.budget-row-toggle[aria-expanded=true] .budget-row-chevron{transform:rotate(90deg)}.budget-row-chevron{color:var(--text-muted);flex:none;transition:transform .15s}.budget-row-name{min-width:0;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.budget-row-amounts{color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:500}.budget-row-actions{gap:2px;display:flex}.budget-row-caption{margin:0;font-size:13px}.budget-over{color:var(--danger);align-items:center;gap:4px;font-weight:600;display:inline-flex}.spending-filters{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.card.expense-card{padding:8px 0}.expense-table-wrap{position:relative;overflow-x:auto}.expense-table{border-collapse:collapse;width:100%;font-size:14px}.expense-table th,.expense-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 12px}.expense-table th:first-child,.expense-table td:first-child{padding-left:24px}.expense-table th:last-child,.expense-table td:last-child{padding-right:16px}.expense-table thead th{color:var(--text-muted);font-size:13px;font-weight:600}.expense-table td{color:var(--text-h)}.expense-table .num{text-align:right;font-variant-numeric:tabular-nums}.expense-table tbody tr:hover{background:var(--surface-2)}.expense-table tfoot th,.expense-table tfoot td{color:var(--text-h);border-bottom:0;font-weight:600}.expense-date{font-variant-numeric:tabular-nums}.expense-description{text-overflow:ellipsis;max-width:320px;overflow:hidden}.expense-open{max-width:100%;min-height:0;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;display:block;overflow:hidden}.expense-open:hover:not(:disabled){text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);background:0 0}.expense-actions{text-align:right;width:1%}.expense-actions .item-menu{justify-content:flex-end}.table-sort{min-height:0;color:inherit;font:inherit;background:0 0;border:0;padding:0}.table-sort:hover:not(:disabled){color:var(--text-h);background:0 0}.kind-chip{background:var(--surface-2);color:var(--text);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.trends-breakdowns{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:24px;display:grid}.budget-expenses{border-left:2px solid var(--border);flex-direction:column;gap:8px;margin-left:22px;padding:8px 12px;font-size:14px;display:flex}.budget-expenses ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.budget-expenses p{margin:0}.budget-expense{align-items:center;gap:12px;min-height:36px;display:flex}.budget-expense+.budget-expense{border-top:1px solid var(--border)}.budget-expense-date{width:92px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.budget-expense-description{min-width:0;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.budget-expense-amount{color:var(--text-h);font-variant-numeric:tabular-nums}.budget-expenses-link{align-self:flex-start;font-size:13px;font-weight:600}.filter-trigger{min-height:32px;padding:0 10px 0 12px;font-size:13px}.filter-trigger svg{color:var(--text-muted)}.filter-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.filter-trigger-active,.filter-trigger-active:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}:is(.filter-trigger-active,.filter-trigger-active:hover:not(:disabled)) svg{color:inherit}.spending-filters-summary{color:var(--text-muted);font-size:13px}.account-group+.account-group{margin-top:16px}.account-group-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:600}.account-row{align-items:center;gap:12px;padding:10px 0;display:flex}.account-row+.account-row{border-top:1px solid var(--border)}.account-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.account-row-description,.account-row-updated{color:var(--text-muted);font-size:12px}.account-row-value{flex-direction:column;align-items:flex-end;display:flex}.snapshot-values{border:0;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.snapshot-values legend{margin-bottom:4px;padding:0}.snapshot-values .field-note{margin:0}.snapshot-value{grid-template-columns:minmax(0,1fr) minmax(0,160px);align-items:center;gap:4px 12px;display:grid}.snapshot-value label{align-items:center;gap:8px;font-weight:500;display:flex}.snapshot-value .field-error{grid-column:1/-1}.wealth-table .wealth-total{font-weight:600}.wealth-note{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.wealth-carried{font-style:italic;color:var(--text-muted)!important}.account-group-closed .budget-row-name,.account-group-closed .budget-row-amounts{color:var(--text-muted)}.budget-ledger .budget-row-toggle{flex:0 auto}.budget-ledger .budget-row-amounts,.budget-ledger .budget-kind-total,.budget-ledger .budget-expense-amount{font-family:var(--mono);font-size:14px}.budget-ledger .budget-kind-total{border-bottom:3px double var(--border-strong);color:var(--text-h);padding-bottom:2px}.ledger-leader{border-bottom:2px dotted var(--border-strong);flex:24px;align-self:center;min-width:24px;height:0;margin-top:6px}.card.expense-card{border-radius:var(--radius-lg) var(--radius-lg) 0 0;-webkit-mask:linear-gradient(black, black) top / 100% calc(100% - 8px) no-repeat, conic-gradient(from 135deg at 50% 0, black 90deg, transparent 0) bottom / 16px 8px repeat-x;mask:linear-gradient(black, black) top / 100% calc(100% - 8px) no-repeat, conic-gradient(from 135deg at 50% 0, black 90deg, transparent 0) bottom / 16px 8px repeat-x;border-bottom:0;padding-bottom:18px}.expense-table .num{font-family:var(--mono)}.expense-table tfoot th,.expense-table tfoot td{border-top:2px dashed var(--border-strong);letter-spacing:.04em}.expense-table tfoot th{text-transform:uppercase}.expense-table tfoot th .muted{letter-spacing:0;text-transform:none}.card.statement-figure .stat-label{font-variant:small-caps;letter-spacing:.08em;text-transform:lowercase;font-size:15px}.card.statement-figure .stat-value{border-bottom:3px double var(--border-strong);font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;align-self:flex-start;padding-bottom:2px;font-size:30px}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100svh;transition:grid-template-columns .2s;display:grid}.shell[data-collapsed=true]{grid-template-columns:var(--sidebar-w-collapsed) minmax(0, 1fr)}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:8px;height:100svh;padding:12px;display:flex;position:sticky;top:0;overflow:hidden}.brand{height:40px;color:var(--text-h);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;margin-bottom:20px;padding:0 8px;font-size:16px;font-weight:700;display:flex}.brand-mark{width:32px;height:32px;color:var(--accent-contrast);background:linear-gradient(135deg, var(--accent-2), var(--accent));box-shadow:0 4px 10px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:9px;flex:none;place-items:center;display:grid}.sidebar nav{flex:1;min-height:0;margin:0 -4px;padding:0 4px 12px;overflow-y:auto}.nav{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav-item{position:relative}.nav-item[data-dragging]>.nav-link{opacity:.45}.nav-item[data-drop]:before{content:"";background:var(--accent);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:6px;right:6px}.nav-item[data-drop=before]:before{top:-3px}.nav-item[data-drop=after]:before{bottom:-3px}.nav-link{height:42px;color:var(--text);white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link svg{flex:none}.nav-link:hover{background:var(--surface-2);color:var(--text-h)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.shell[data-collapsed=true] .brand,.shell[data-collapsed=true] .nav-link{justify-content:center;padding:0}.shell[data-collapsed=true] .brand-name,.shell[data-collapsed=true] .nav-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:10;height:var(--header-h);padding:env(safe-area-inset-top,0px) 24px 0 16px;border-bottom:1px solid var(--border);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:absolute;inset:0}.topbar-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:20px;overflow:hidden}.topbar-date{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:13px}.sample-banner{border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:var(--accent-soft);color:var(--text-h);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 24px 10px 16px;font-size:14px;display:flex}.sample-banner p{flex:320px;margin:0}.sample-banner button{min-height:32px}.content{flex:1;padding:28px 32px 56px}@media (width<=899px){.shell,.shell[data-collapsed=true]{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:30;width:min(280px,85vw);padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));transition:transform .22s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.shell[data-drawer-open=true] .sidebar{box-shadow:var(--shadow-lg);transform:none}.backdrop{z-index:20;background:#0a0c1473;position:fixed;inset:0}.topbar{padding:env(safe-area-inset-top,0px) max(16px, env(safe-area-inset-right,0px)) 0 max(8px, env(safe-area-inset-left,0px))}.content{padding:20px max(16px, env(safe-area-inset-right,0px)) calc(48px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}}@media (width<=520px){.topbar-date{display:none}}.review-tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.review-tab{color:var(--text);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:500;text-decoration:none}.review-tab:hover{color:var(--text-h)}.review-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.review-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.review-period{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-period-label{text-align:center;min-width:10em;font-size:18px}.review-grid-wrap{overflow-x:auto}.review-grid{border-collapse:separate;border-spacing:4px;table-layout:fixed;width:100%;font-size:13px}.review-grid thead th{color:var(--text-muted);text-align:center;font-weight:500}.review-grid thead td,.review-grid tbody th{width:132px}.review-grid tbody th{color:var(--text-h);text-align:left;white-space:nowrap;padding-right:8px;font-weight:500}.review-grid td{text-align:center;padding:0}.review-grid-compact{border-spacing:2px;min-width:640px}.review-grid-compact thead td,.review-grid-compact tbody th{width:120px}.review-weekday,.review-date{line-height:1.3;display:block}.review-date{color:var(--text-h);font-variant-numeric:tabular-nums}.review-today .review-date{color:var(--accent);font-weight:700}.review-cell{font-variant-numeric:tabular-nums;background:0 0;border-color:#0000;gap:6px;width:100%;min-height:32px;padding:2px 4px;font-size:13px}.review-cell:hover:not(:disabled){background:var(--surface-hover)}.review-cell-selected{border-color:var(--accent)}.review-grid-compact .review-cell{min-height:24px;padding:2px}.review-square{border:1px solid var(--border-strong);background:0 0;border-radius:4px;flex:none;width:16px;height:16px}.review-grid-compact .review-square{width:100%;max-width:18px;height:18px}[data-level="1"]>.review-square{background:color-mix(in srgb, var(--chart-bar) 40%, var(--surface));border-color:#0000}[data-level="2"]>.review-square{background:color-mix(in srgb, var(--chart-bar) 60%, var(--surface));border-color:#0000}[data-level="3"]>.review-square{background:color-mix(in srgb, var(--chart-bar) 80%, var(--surface));border-color:#0000}[data-level="4"]>.review-square{background:var(--chart-bar);border-color:#0000}.review-cell-text{min-width:2.2em;color:var(--text-h);text-align:left}.review-cell-future:before{content:"";border:1px dashed var(--border);border-radius:4px;width:16px;height:16px;display:inline-block}.review-readout{min-height:1.4em;color:var(--text-muted);margin-top:8px;font-size:13px}.review-day-list{flex-direction:column;gap:16px;display:flex}.review-day{scroll-margin-top:80px}.review-day-highlighted{border-color:var(--accent)}.review-day-title{margin-bottom:12px;font-size:16px}.review-day-title:focus{outline:none}.review-day-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.review-day-items{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.review-day-item{gap:10px;display:flex}.review-day-icon{color:var(--text-muted);flex:none;margin-top:2px}.review-day-body{flex-direction:column;gap:4px;min-width:0;display:flex}.review-day-item-title{color:var(--text-h);font-weight:600}.review-day-tasks{flex-wrap:wrap;gap:2px 16px;margin:0;padding:0;list-style:none;display:flex}.review-more summary{width:fit-content;color:var(--accent);cursor:pointer;font-size:13px}.review-journal-line{color:var(--text);overflow-wrap:anywhere;font-style:italic}.review-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.review-stats .stat-label{align-items:center;gap:6px;display:inline-flex}.review-stats [data-over] .stat-label{color:var(--danger)}.review-dots{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.review-dot{border:1px solid var(--border-strong);border-radius:50%;width:8px;height:8px}.review-dot-on{border-color:var(--chart-bar);background:var(--chart-bar)}.review-dot-future{border-style:dashed;border-color:var(--border)}.review-goals{border-collapse:collapse;width:100%;font-size:14px}.review-goals th,.review-goals td{border-bottom:1px solid var(--border);text-align:left;padding:8px 6px}.review-goals tbody tr:last-child>*{border-bottom:0}.review-goals thead th{color:var(--text-muted);font-size:13px;font-weight:600}.review-goals tbody th{font-weight:500}.review-goals .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.review-met{color:var(--success);align-items:center;gap:5px;font-weight:500;display:inline-flex}.review-breakdowns{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:24px;display:grid}.review-measures{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.review-measures-label{color:var(--text-muted);margin-right:4px;font-size:13px;font-weight:500}.review-measure{min-height:30px;color:var(--text);border-radius:999px;padding:4px 12px;font-size:13px}.review-measure[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.review-trend-list{flex-direction:column;gap:24px;display:flex}.card.review-day{padding-top:34px;position:relative;overflow:clip}.card.review-day:before{content:"";background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-bottom:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));height:12px;position:absolute;top:0;left:0;right:0}.card.review-day:after{content:"";background:radial-gradient(circle, var(--bg) 0 1.6px, transparent 2px) 0 0 / 10px 4px repeat-x;height:4px;box-shadow:none;position:absolute;top:17px;left:8px;right:8px}.card.review-day .review-day-title{padding-right:72px}.review-day-leaf{flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute;top:26px;right:22px}.review-day-leaf-number{color:var(--accent);font-family:var(--serif);font-variant-numeric:lining-nums;font-size:40px;font-weight:700}.review-day-leaf-month{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:11px;font-weight:700}.review-stats{border-top:3px double var(--border-strong);border-bottom:1px solid var(--border-strong);gap:0}.review-stats .card.stat-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:14px 18px 16px}.review-stats .card.stat-card+.stat-card{border-left:1px solid var(--border)}.review-stats .stat-label{font-variant:small-caps;letter-spacing:.06em;text-transform:lowercase;font-size:14px}.review-stats .stat-value{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:0}.button-link{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text-h);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.button-link:hover{background:var(--surface-hover)}.button-link.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.button-link.btn-primary:hover{background:var(--accent-hover)}.chip.chip-muted{background:var(--surface-2);color:var(--text-muted)}.section-heading-action{min-height:34px;margin-left:auto;font-size:13px}.picker{flex-direction:column;gap:12px;display:flex}.picker-search{width:100%}.picker-groups{flex-wrap:wrap;gap:6px;display:flex}.picker-results{flex-direction:column;gap:12px;max-height:min(48svh,420px);margin:0 -8px;padding:0 8px;display:flex;overflow-y:auto}.picker-heading{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 6px;font-size:12px;font-weight:600}.picker-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.picker-item{text-align:left;white-space:normal;background:0 0;border-color:#0000;flex-direction:column;align-items:flex-start;gap:0;width:100%;min-height:0;padding:8px 10px;display:flex}.picker-item:hover:not(:disabled){background:var(--surface-2)}.picker-name{color:var(--text-h);font-weight:500}.picker-meta{color:var(--text-muted);font-size:12px;font-weight:400}.picker-empty{padding:12px 0}.picker-new{align-self:flex-start}.workout-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.workout-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:16px 20px;transition:box-shadow .2s;display:flex;position:relative}.workout-card:hover{box-shadow:var(--shadow-md)}.workout-card-top{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.workout-card-title{font-size:16px}.workout-card-date{font-size:13px}.workout-card-top .card-actions{align-self:center;margin-left:auto}.workout-card-exercises{flex-direction:column;gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.workout-card-exercise{color:var(--text-h);font-weight:500}.show-more{margin-top:12px}.catalog{flex-direction:column;gap:12px;display:flex}.catalog-filters{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.catalog-filters .picker-search{flex:240px;width:auto}.catalog-archived{align-items:center;gap:6px;font-size:13px;display:inline-flex}.catalog-archived input{min-height:0}.catalog-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px 12px;margin:0;padding:0;list-style:none;display:grid}.catalog-link{border-radius:var(--radius-sm);color:var(--text-h);padding:6px 8px;font-size:14px;text-decoration:none;display:block}.catalog-link:hover{background:var(--surface-2)}.catalog-link-logged{font-weight:600}.workout-form{flex-direction:column;gap:16px;display:flex}.workout-form .field{min-width:0;color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.workout-form .field-error{max-width:none}.workout-fields{grid-template-columns:1fr 1fr 1fr 2fr;gap:16px 14px;display:grid}@media (width<=600px){.workout-fields{grid-template-columns:1fr 1fr}.workout-fields .field-wide{grid-column:1/-1}}.workout-exercise{flex-direction:column;gap:4px;display:flex}.workout-exercise-top{align-items:center;gap:8px;display:flex}.workout-exercise-name{flex:1;min-width:0;font-size:16px}.workout-exercise-name a{color:inherit;text-decoration:none}.workout-exercise-name a:hover{text-decoration:underline}.workout-exercise-actions{margin-right:-8px;display:flex}.workout-last{font-size:13px}.set-table{border-collapse:collapse;align-self:flex-start;width:auto;max-width:100%;margin-top:8px}.set-table th{color:var(--text-muted);text-align:left;vertical-align:bottom;padding:0 6px 6px;font-size:12px;font-weight:600}.set-table td{vertical-align:top;padding:3px 6px}.set-table tbody th{color:var(--text-h);font-variant-numeric:tabular-nums;vertical-align:top;padding-top:12px;font-size:13px}.set-table .field-error{max-width:160px;margin-top:2px;font-size:12px;display:block}.set-number{width:36px}.set-input{font-variant-numeric:tabular-nums;width:7.5rem;min-width:64px;max-width:100%}@media (width<=600px){.set-input{width:4.75rem;min-width:0;padding:0 8px}}.set-remove{width:34px}.set-remove button{margin-top:7px}.unit-header{align-items:center;gap:6px;display:inline-flex}.unit-select{min-height:26px;padding:0 4px;font-size:12px}.add-set{align-self:flex-start;min-height:34px;margin-top:8px;font-size:13px}.add-exercise{align-self:flex-start;min-height:44px;padding:0 18px}.workout-notes textarea{width:100%}.workout-actions{background:linear-gradient(to top, var(--bg) 70%, transparent);margin:0 -8px;padding:12px 8px;position:sticky;bottom:0}.exercise-tracks{border:0;margin:0;padding:0}.exercise-tracks legend{margin-bottom:8px;padding:0}.exercise-tracks .segmented{flex-wrap:wrap;align-self:flex-start;margin-bottom:10px}.exercise-track-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.exercise-track{flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.stat-grid.record-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}@media (width<=1100px){.stat-grid.record-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.chart-controls{flex-wrap:wrap;gap:8px;display:flex}.data-table.session-table{margin-top:0;overflow-x:auto}.data-table.session-table table{margin-top:0}.record-badge{background:var(--success-soft);color:var(--success);white-space:nowrap;border-radius:999px;margin:1px 4px 1px 0;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.workout-card{flex-direction:row;gap:16px}.workout-card-main{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.workout-date-block{border-right:2px solid var(--border-strong);width:52px;color:var(--text-h);font-variant-numeric:tabular-nums;text-transform:uppercase;flex-direction:column;flex:none;align-items:center;padding-right:14px;line-height:1;display:flex}.workout-date-month,.workout-date-weekday{color:var(--text-muted);letter-spacing:.08em;font-size:11px;font-weight:700}.workout-date-month{color:var(--accent)}.workout-date-day{letter-spacing:-.03em;margin:4px 0;font-size:30px;font-weight:800;font-stretch:75%}.workout-card-exercises .muted,.set-input,.set-table tbody th{font-family:var(--mono)}.workout-card-exercises .muted{font-size:13px}.set-input{font-size:14px}.card.workout-details{margin-top:14px;position:relative}.card.workout-details:before{content:"";border:1px solid var(--border-strong);background:linear-gradient(to bottom, color-mix(in srgb, var(--surface) 70%, transparent), transparent 60%), color-mix(in srgb, var(--border-strong) 70%, var(--surface-2));width:120px;height:26px;box-shadow:var(--shadow-sm);border-radius:8px 8px 4px 4px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.card.workout-details:after{content:"";background:var(--bg);width:26px;height:8px;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--text-h) 25%, transparent);border-radius:999px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.record-grid .stat-card{padding-right:64px;position:relative}.record-grid .stat-card:before,.record-grid .stat-card:after{content:"";position:absolute;right:20px}.record-grid .stat-card:before{background:linear-gradient(90deg, var(--accent) 0 33%, var(--accent-2) 33% 67%, var(--accent) 67%);clip-path:polygon(0 0,100% 0,100% 100%,50% 70%,0 100%);width:26px;height:24px;top:0}.record-grid .stat-card:after{border:2px solid color-mix(in srgb, var(--accent-2) 70%, var(--text-h));background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--surface) 85%, transparent) 0 18%, transparent 45%), radial-gradient(circle, var(--accent-2) 0 55%, color-mix(in srgb, var(--accent-2) 70%, var(--text-h)) 56% 62%, var(--accent-2) 63%);width:32px;height:32px;box-shadow:var(--shadow-sm);border-radius:50%;top:18px;right:17px}.record-grid .stat-card:has(.stat-sub:empty):before{display:none}.record-grid .stat-card:has(.stat-sub:empty):after{display:none}.record-badge{padding-left:20px;position:relative}.record-badge:before{content:"";background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--surface) 80%, transparent) 0 20%, var(--accent-2) 50%);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.home-masthead{border-bottom:4px double var(--border-strong);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;padding-bottom:10px;display:flex}.home-masthead h2{font-family:var(--serif);letter-spacing:0;font-size:30px;font-weight:600}.home-dateline{color:var(--text-muted);font-family:var(--serif);font-variant:small-caps;font-variant-numeric:tabular-nums;letter-spacing:.06em;text-transform:lowercase;font-size:17px}.home-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start;gap:24px;display:grid}.home-card-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.home-caught-up{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;display:flex}.home-caught-up svg{color:var(--success)}.nudges{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.nudge{align-items:flex-start;gap:12px;padding:12px 0;display:flex}.nudge+.nudge{border-top:1px solid var(--border)}.nudge-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.nudge-body{flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;display:flex}.nudge-title{color:var(--text-h);margin:0;font-weight:600}.nudge-detail{color:var(--text-muted);margin:0;font-size:14px}.nudge-action{font-size:14px;font-weight:600}.nudge-tasks{flex-direction:column;align-self:stretch;margin:4px 0 0;padding:0;list-style:none;display:flex}.nudge-task{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:4px 0;display:flex}.nudge-task-title{min-width:0;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:160px;overflow:hidden}.nudge-task-date{color:var(--text-muted);font-size:13px}.home-tasks{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-task{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;min-height:40px;display:flex}.home-task input{width:18px;min-height:18px;accent-color:var(--accent);flex:none;margin:0}.home-task-title{min-width:0;color:var(--text-h);flex:1}.home-task-time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:13px}.home-goals{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.home-goal-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;display:flex}.home-goal-title{color:var(--text-h);font-weight:600;text-decoration:none}.home-goal-title:hover{text-decoration:underline}.home-goal-amount{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:14px}.home-stat{color:inherit;text-decoration:none;transition:border-color .15s}.home-stat:hover{border-color:var(--border-strong)}.journal-page{--journal-font:var(--serif);--journal-rule:var(--paper-rule);--journal-margin:var(--paper-margin);--journal-sticky:calc(var(--header-h) + 76px);gap:20px;max-width:820px}.journal-toolbar{top:var(--header-h);z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-wrap:wrap;align-items:center;gap:10px 16px;margin:-12px -12px 0;padding:12px;display:flex;position:sticky}.journal-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.journal-page-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px;font-size:14px}.journal-search{flex:280px;align-items:center;gap:4px;display:flex}.journal-search .notes-search{flex:auto;max-width:none;margin-right:4px}.journal-search-count{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.journal-save-state{min-width:72px;color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;margin:0 0 0 auto;font-size:13px;display:inline-flex}.journal-save-state[data-state=saved] svg{color:var(--success)}.journal{flex-direction:column;gap:28px;display:flex}.journal-sheet{--line:32px;--margin-x:76px;scroll-margin-top:var(--journal-sticky);padding:26px 36px 18px calc(var(--margin-x) + 22px);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md), 3px 3px 0 -1px var(--surface), 3px 3px 0 0 var(--border), 6px 6px 0 -1px var(--surface), 6px 6px 0 0 var(--border);color:var(--text-h);font-family:var(--journal-font);border-radius:4px 12px 12px 4px;scroll-margin-bottom:24px;position:relative;overflow:clip}.journal-sheet:before{content:"";top:0;bottom:0;left:var(--margin-x);background:var(--journal-margin);width:2px;position:absolute}.journal-sheet:after{content:"";background:radial-gradient(circle at 50% 50%, var(--bg) 0 7px, color-mix(in srgb, var(--border-strong) 70%, transparent) 7px 8px, transparent 8.5px) 0 34px / 18px 120px repeat-y;width:18px;position:absolute;top:0;bottom:0;left:18px}.journal-sheet-head{align-items:flex-end;min-height:44px;margin-bottom:10px;display:flex}.journal-date{color:var(--text-h);font-family:var(--journal-font);letter-spacing:0;font-size:20px;font-style:italic;font-weight:600;animation:.45s ease-out journal-ink}@keyframes journal-ink{0%{opacity:0;filter:blur(1px);transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.journal-date{animation:none}}.journal-writing{isolation:isolate;min-height:calc(var(--line) * 16);font-size:18px;line-height:var(--line);position:relative}.journal-writing:before{content:"";z-index:-1;top:0;bottom:0;left:calc((var(--margin-x) + 22px) * -1);background:linear-gradient(to bottom, transparent calc(var(--line) - 1px), var(--journal-rule) 0) 0 -9px / 100% var(--line);position:absolute;right:-36px}.journal-mirror,.journal-writing textarea{font:inherit;letter-spacing:normal;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;tab-size:4;border:0;margin:0;padding:0}.journal-mirror{min-height:inherit;color:#0000}.journal-mirror mark{background:color-mix(in srgb, var(--accent) 24%, transparent);color:#0000;border-radius:3px}.journal-mirror mark.is-current{background:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:0 0 0 2px var(--accent)}.journal-writing textarea{resize:none;width:100%;height:100%;color:var(--text-h);caret-color:var(--accent);box-shadow:none;background:0 0;border-radius:0;outline:none;transition:none;position:absolute;inset:0;overflow:hidden}.journal-writing textarea:focus-visible{box-shadow:none}.journal-writing textarea::placeholder{color:var(--text-muted);font-style:italic}.journal-sheet:focus-within{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:3px}.journal-mirror mark{scroll-margin-top:var(--journal-sticky)}.journal-page-number{color:var(--text-muted);text-align:right;margin-top:14px;font-size:13px;font-style:italic}@media (width<=899px){.journal-page{--journal-sticky:calc(var(--header-h) + 128px)}.journal-toolbar{margin:-8px -8px 0;padding:8px}}@media (width<=600px){.journal-sheet{--line:30px;--margin-x:44px;padding:18px 18px 14px calc(var(--margin-x) + 14px)}.journal-sheet:after{background-size:16px 120px;width:16px;left:10px}.journal-writing{font-size:17px}.journal-writing:before{left:calc((var(--margin-x) + 14px) * -1);right:-18px}}.project-card-progress{margin-top:auto;padding-top:10px}.project-no-steps{font-size:13px}.project-description{margin:8px 0 16px}.project-columns{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.project-columns{grid-template-columns:minmax(0,1fr)}}.step-outline h3,.next-up h3{font-size:17px}.step-list{margin:0;padding:0;list-style:none}.step-list .step-list{padding-left:28px}.step-row{border-radius:var(--radius-sm);align-items:center;gap:4px;min-height:40px;display:flex;position:relative}.step-row:hover,.step-row:focus-within{background:var(--surface-2)}.step-row[data-dragging]{opacity:.5}.step-row[data-drop=inside]{box-shadow:inset 0 0 0 2px var(--accent)}.step-row[data-drop=before]:before,.step-row[data-drop=after]:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;left:0;right:0}.step-row[data-drop=before]:before{top:-1px}.step-row[data-drop=after]:after{bottom:-1px}.step-grip{width:20px;min-height:32px;color:var(--text-muted);cursor:grab;opacity:0;flex:none;justify-content:center;align-items:center;transition:opacity .15s;display:inline-flex}.step-row:hover .step-grip,.step-row:focus-within .step-grip{opacity:1}@media (hover:none){.step-grip{display:none}}.step-toggle,.step-toggle-spacer{flex:none;width:26px}.step-toggle{color:var(--text-muted)}.step-check{width:18px;min-height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0 4px}.step-title{min-width:0;min-height:32px;color:var(--text-h);background:0 0;border-color:#0000;flex:1;padding:0 8px}.step-title:hover{border-color:var(--border)}.step-row[data-done] .step-title{color:var(--text-muted);text-decoration:line-through}.step-row-draft .step-title{border-color:var(--border-strong);background:var(--surface)}.step-row-add{margin-top:6px}.step-row-add .step-title{border-color:var(--border);border-style:dashed}.step-add-icon{width:50px;color:var(--text-muted);flex:none;justify-content:center;display:inline-flex}.step-date{background:var(--surface-2);color:var(--text);font-variant-numeric:tabular-nums}.step-actions{color:var(--text-muted);flex:none;display:flex}.step-actions .icon-btn{color:inherit}.step-actions .icon-btn-danger:hover:not(:disabled){color:var(--danger)}.step-hint{margin-top:10px}.next-up-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.next-up-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 0;display:flex}.next-up-item:last-child{border-bottom:0}.next-up-item>input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.next-up-text{flex-direction:column;flex:1;min-width:140px;display:flex}.next-up-title{color:var(--text-h);overflow-wrap:anywhere}.next-up-path{color:var(--text-muted);overflow-wrap:anywhere;font-size:12px}.next-up-overdue{color:var(--danger);font-size:12px;font-weight:600}.next-up-date input{min-height:32px;padding:0 8px;font-size:13px}.goal-list.project-list{row-gap:30px;padding-top:14px}.goal-card.project-card{--folder:color-mix(in srgb, var(--accent) 6%, var(--surface));--folder-tab:color-mix(in srgb, var(--accent) 16%, var(--surface));background:var(--folder);border-top-left-radius:0}.goal-card.project-card:before{content:"";border:1px solid var(--border);background:var(--folder-tab);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 100%,0 100%);border-bottom:0;border-radius:8px 0 0;width:min(45%,150px);height:16px;position:absolute;bottom:100%;left:-1px}.goal-card.project-card{box-shadow:inset 0 3px 0 var(--folder-tab), var(--shadow-sm)}.goal-card.project-card:hover{box-shadow:inset 0 3px 0 var(--folder-tab), var(--shadow-md)}.step-outline{--grip-w:20px}@media (hover:none){.step-outline{--grip-w:0px}}.step-list .step-list>.step-item{--tree-x:calc(var(--grip-w) + 13px - 28px);position:relative}.step-list .step-list>.step-item:before,.step-list .step-list>.step-item:after{content:"";left:var(--tree-x);pointer-events:none;position:absolute}.step-list .step-list>.step-item:before{border-left:1px solid var(--border-strong);top:0;bottom:0}.step-list .step-list>.step-item:last-child:before{height:20px;bottom:auto}.step-list .step-list>.step-item:after{width:calc(var(--grip-w) - var(--tree-x) - 2px);border-top:1px solid var(--border-strong);top:20px}.card.next-up{border-color:color-mix(in srgb, var(--accent-2) 22%, var(--border));background:color-mix(in srgb, var(--accent-2) 9%, var(--surface));box-shadow:var(--shadow-sm), 3px 4px 0 -1px color-mix(in srgb, var(--border-strong) 45%, transparent);border-radius:3px;position:relative}.card.next-up:before{content:"";border:1px solid color-mix(in srgb, var(--border-strong) 40%, transparent);background:color-mix(in srgb, var(--text-h) 10%, transparent);width:72px;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-3deg)}.card.next-up .next-up-item{border-bottom-color:color-mix(in srgb, var(--accent-2) 20%, var(--border))}button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text-h);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s,color .15s;display:inline-flex}button:hover:not(:disabled){background:var(--surface-hover)}button:disabled{opacity:.55;cursor:default}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.icon-btn{width:40px;min-height:40px;color:var(--text);background:0 0;border-color:#0000;padding:0}.icon-btn:is(a){border-radius:var(--radius-sm);border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text-h)}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--text-h);font:inherit;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}:is(input,select,textarea)::placeholder{color:var(--text-muted)}:is(input,select,textarea):focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}:is(input,select,textarea)[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical;min-height:0;padding:10px 12px;line-height:1.5}.label-hint{color:var(--text-muted);font-weight:400}a{color:var(--accent)}.page{flex-direction:column;gap:24px;max-width:1180px;margin:0 auto;display:flex}.page-intro{color:var(--text-muted)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:20px 24px}@media (width<=600px){.card{padding:16px}}.card-title{margin-bottom:16px;font-size:17px}.section-heading{align-items:center;gap:10px;margin-bottom:14px;display:flex}.section-heading h2{font-size:17px}.count-badge{background:var(--surface-2);min-width:24px;color:var(--text);text-align:center;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.muted{color:var(--text-muted)}.error,.field-error{color:var(--danger)}.field-error{max-width:200px;font-size:13px}.alert{border:1px solid color-mix(in srgb, var(--danger) 25%, transparent);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;padding:10px 12px 10px 16px;display:flex}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center;flex-direction:column;gap:4px;padding:40px 20px;display:flex}.torn-page{--line:32px;--tear:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='14' preserveAspectRatio='none'%3E%3Cpath d='M0 0H120V6L114 11 107 5 99 12 92 7 84 13 77 6 70 10 62 4 55 12 47 8 39 13 31 5 24 10 16 6 8 12 0 7Z'/%3E%3C/svg%3E");border:1px solid var(--border);background:linear-gradient(90deg, transparent 60px, var(--paper-margin) 0 62px, transparent 0), linear-gradient(to bottom, transparent calc(var(--line) - 1px), var(--paper-rule) 0) 0 24px / 100% var(--line), var(--surface);width:min(100%,560px);color:var(--text);font-family:var(--serif);font-size:17px;line-height:var(--line);-webkit-mask:linear-gradient(black, black) top / 100% calc(100% - 13px) no-repeat, var(--tear) bottom / 120px 14px repeat-x;mask:linear-gradient(black, black) top / 100% calc(100% - 13px) no-repeat, var(--tear) bottom / 120px 14px repeat-x;border-bottom:0;border-radius:4px 12px 0 0;align-self:center;margin-top:48px;padding:30px 32px 54px 84px;position:relative;transform:rotate(-1deg)}.torn-page h2{margin-bottom:var(--line);font-family:var(--serif);font-size:26px;font-style:italic;line-height:var(--line)}.torn-page:before{content:"";background:radial-gradient(circle, var(--bg) 0 7px, color-mix(in srgb, var(--border-strong) 70%, transparent) 7px 8px, transparent 8.5px) 0 30px / 18px 96px repeat-y;width:18px;position:absolute;top:0;bottom:0;left:18px}@media (width<=600px){.torn-page{padding-left:72px}}.empty-title{color:var(--text-h);font-weight:600}.btn-danger{border-color:var(--danger);background:var(--danger);color:var(--danger-contrast)}.btn-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 88%, #000)}button[aria-disabled=true]{opacity:.65;cursor:progress}.icon-btn-sm{width:32px;min-height:32px}.icon-btn-xs{flex:none;width:26px;min-height:26px}.icon-btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.page-header>:last-child{margin-left:auto}.empty-action{margin-top:12px}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:min(520px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--text);box-shadow:var(--shadow-lg);padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c1480}.modal[open]{animation:.18s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (width<=600px){.modal,.modal.modal-wide{width:100%;max-width:100%;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-width:1px 0 0;margin:auto 0 0}:is(.modal,.modal.modal-wide)[open]{animation:.22s ease-out sheet-in}:is(.modal,.modal.modal-wide) .modal-body{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}:is(.modal,.modal.modal-wide) .modal-header{z-index:2;background:var(--surface);margin:-16px -16px 12px;padding:12px 8px 8px 16px;position:sticky;top:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.modal-body{padding:20px 24px 24px}@media (width<=600px){.modal-body{padding:16px}}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin:-4px -8px 16px 0;display:flex}.modal-header h2{font-size:18px}.modal-text{margin-bottom:20px}.modal-text strong{color:var(--text-h)}.form-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.form-alert{grid-column:1/-1;margin:0}.form-actions-start{margin-right:auto}.goal-form,.task-form{grid-template-columns:1fr 1.3fr 1fr;gap:16px 14px;display:grid}:is(.goal-form,.task-form) .field{min-width:0;color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}:is(.goal-form,.task-form) .field-title,:is(.goal-form,.task-form) .field-description{grid-column:1/-1}:is(.goal-form,.task-form) input,:is(.goal-form,.task-form) select,:is(.goal-form,.task-form) textarea{width:100%}:is(.goal-form,.task-form) .field-error{max-width:none}@media (width<=480px){.goal-form,.task-form{grid-template-columns:1fr 1fr}:is(.goal-form,.task-form) .field-period{grid-column:1/-1}}.goal-source{border:0;margin:0;padding:0}.goal-source legend{margin-bottom:6px;padding:0}.goal-source .segmented{align-self:flex-start}.goal-form .goal-once{color:var(--text-muted);justify-content:flex-end;padding-bottom:10px;font-weight:400}.task-form{grid-template-columns:1fr 1fr}.task-form .field-wide,.task-form .field-note{grid-column:1/-1}.field-note{color:var(--text-muted);margin-top:-8px;font-size:12px}.goal-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.goal-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:18px 20px;transition:box-shadow .2s;display:flex;position:relative}.goal-card:hover{box-shadow:var(--shadow-md)}.goal-card-top{align-items:center;gap:8px;display:flex}.goal-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px}.card-link{color:inherit;text-decoration:none}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-link:focus-visible{outline:none}.card-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-lg)}.goal-card:hover .card-link{color:var(--accent)}.card-actions{z-index:1;color:var(--text-muted);margin:-6px -10px -6px 0;display:flex;position:relative}.card-actions .icon-btn{color:inherit}.card-actions .icon-btn-danger:hover:not(:disabled){color:var(--danger)}.goal-description{-webkit-line-clamp:3;line-clamp:3;color:var(--text);white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.goal-target{color:var(--text-muted);margin-bottom:14px;font-size:13px}.goal-done{color:var(--text-muted);margin-top:auto;font-size:14px;font-weight:600}.goal-done[data-done]{color:var(--success)}.goal-ring-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;margin-top:auto;display:flex}.goal-ring-numbers{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;display:flex}.goal-ring{flex:none;place-items:center;width:52px;height:52px;display:grid;position:relative}.goal-ring svg{position:absolute;inset:0}.goal-ring circle{fill:none;stroke-width:3.5px}.goal-ring-track{stroke:var(--surface-2)}.goal-ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .4s}.goal-ring-fill[stroke-dasharray^="0 "]{stroke:none}.goal-ring-percent{color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.goal-stamp{min-width:60px;height:34px;box-shadow:inset 0 0 0 2px var(--surface), inset 0 0 0 3px currentColor;color:var(--success);font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;opacity:.9;border:2px solid;border-radius:6px;flex:none;place-items:center;padding:0 10px;font-size:14px;font-weight:700;display:grid;transform:rotate(-9deg)}.progress-placeholder{font-size:13px}.progress{flex-direction:column;gap:8px;display:flex}.progress-numbers{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;display:flex}.progress-value{color:var(--text-h);letter-spacing:-.02em;font-size:22px;font-weight:700}.progress-of{color:var(--text-muted);letter-spacing:0;font-size:14px;font-weight:500}.progress-percent{color:var(--accent);font-size:14px;font-weight:600}.progress-track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));height:100%;transition:width .4s}.progress.complete .progress-percent{color:var(--success)}.progress.complete .progress-fill{background:var(--success)}.progress-caption{color:var(--text-muted);font-size:12px}.calendar-card{container:calendar/inline-size}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.calendar-header .card-title{margin:0}.segmented{scrollbar-width:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);max-width:100%;display:inline-flex;overflow-x:auto}.segmented button{background:0 0;border:0;border-radius:0;min-height:36px}.segmented button+button{border-left:1px solid var(--border-strong)}.segmented .segment-icon{width:38px;padding:0}.segmented .segment-active,.segmented .segment-active:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.calendar-controls{flex-wrap:wrap;gap:8px;display:flex}.day-link{border-radius:var(--radius-sm);min-height:0;font-weight:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;margin:-2px -4px;padding:2px 4px;display:flex}.day-link:hover:not(:disabled){background:var(--surface-hover)}.day-link time{display:contents}.month-cell{cursor:pointer;transition:border-color .15s,background .15s}.month-cell:hover{border-color:var(--border-strong)}.month-cell .task{cursor:auto}.month-top{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.month-top{align-items:center}.month-top .month-day{flex:1;width:auto}.day-add{color:var(--text-muted);opacity:0;transition:opacity .15s}.month-cell:hover .day-add,.day-add:focus-visible{opacity:1}.day-add:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}@media (hover:none){.day-add{opacity:1}}.plan-hours{border:0;margin:0 0 16px;padding:0}.plan-hours legend{color:var(--text-h);margin-bottom:6px;padding:0;font-size:13px;font-weight:500}.plan-hours-inputs{align-items:center;gap:8px;display:flex}.plan-hours-inputs input{width:130px}.plan-body{flex-direction:column;gap:16px;min-height:60px;margin-bottom:16px;display:flex}.plan-goals{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:6px;margin:0;padding:12px 14px;font-size:14px;list-style:none;display:flex}.plan-goal{flex-wrap:wrap;justify-content:space-between;gap:2px 12px;display:flex}.plan-goal-title{color:var(--text-h);font-weight:600}.plan-goal-note{color:var(--text-muted)}.plan-goal-warn .plan-goal-note{color:var(--danger)}.plan-day-heading{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.plan-tasks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.plan-task{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto minmax(9.5em,auto) 1fr auto;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:grid}.plan-task:hover{background:var(--surface-hover)}.plan-task input{width:16px;height:16px;min-height:0;accent-color:var(--accent);margin:0}.plan-task:has(input:not(:checked)){color:var(--text-muted)}.plan-task:has(input:not(:checked)) .plan-task-title{color:var(--text-muted);text-decoration:line-through}@media (width<=480px){.plan-task{grid-template-columns:auto 1fr auto}.plan-task .plan-task-time{grid-column:2/-1}.plan-task .plan-task-title{grid-column:2}}.plan-task-time{color:var(--text-muted);font-variant-numeric:tabular-nums}.plan-task-title{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.plan-task-amount{color:var(--text-muted);font-size:13px}.month{transition:opacity .15s}.month[aria-busy=true]{opacity:.55}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.month-weekdays{margin-bottom:6px}.month-weekdays span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:0 8px;font-size:11px;font-weight:600}.month-grid{margin:0;padding:0;list-style:none}.month-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;gap:4px;min-width:0;min-height:112px;padding:6px;display:flex}.month-cell.weekend{background:var(--surface-2)}.month-cell.outside{background:0 0;border-style:dashed}.month-cell.outside .day-number{color:var(--text-muted);font-weight:500}.month-cell.today{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.month-cell.today .day-number{min-width:26px;height:26px;color:var(--accent);place-items:center;padding:0 5px;display:inline-grid;position:relative}.month-cell.today .day-number:after{content:"";background:var(--accent);-webkit-mask:var(--pen-ring) center / 100% 100% no-repeat;mask:var(--pen-ring) center / 100% 100% no-repeat;pointer-events:none;position:absolute;inset:-4px -5px;transform:rotate(-8deg)}.month-day{flex-direction:row;justify-content:space-between;align-items:center;width:calc(100% + 8px)}.month-day .day-number{font-size:14px;line-height:26px}.month-count{background:var(--accent-soft);min-width:20px;color:var(--accent);text-align:center;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;display:none}.month-tasks{gap:3px}.task.compact{box-shadow:none;border-left-width:2px;padding:3px 6px;font-size:12px}.task.compact .task-toggle{align-items:center;gap:5px}.task.compact .task-toggle input{width:13px;height:13px;margin:0}.task.compact .task-title{overflow-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.more-link{min-height:0;color:var(--accent);background:0 0;border:0;justify-content:flex-start;padding:1px 6px;font-size:12px;font-weight:600}@container calendar (width<=760px){.month-cell{min-height:56px;padding:4px}.month-cell .month-tasks,.month-cell .more-link{display:none}.month-cell .month-count{display:inline-block}.month-cell .day-add{display:none}.month-cell .month-top{flex:1;align-items:stretch}.month-day{flex-direction:column;align-items:center;gap:2px}.month-weekdays span{text-align:center;padding:0}}.day-number{color:var(--text-h);font-weight:600}.time-grid{--tg-gutter:56px;--tg-hour:48px;--tg-line:color-mix(in srgb, var(--border) 70%, transparent);--tg-weekend:color-mix(in srgb, var(--surface-2) 55%, transparent);flex-direction:column;gap:8px;transition:opacity .15s;display:flex}.time-grid[aria-busy=true]{opacity:.55}.tg-error{margin:0}.tg-scroll{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overscroll-behavior:contain;max-height:max(420px,100svh - 240px);position:relative;overflow-y:auto}.tg-sticky{z-index:3;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0}.tg-row{grid-template-columns:var(--tg-gutter) repeat(var(--tg-days), minmax(0, 1fr));display:grid}.tg-day-head{border-left:1px solid var(--tg-line);justify-content:space-between;align-items:center;gap:2px;min-width:0;padding:6px 6px 6px 8px;display:flex}.tg-day-link{border-radius:var(--radius-sm);min-width:0;min-height:0;font-weight:inherit;background:0 0;border:0;align-items:center;gap:6px;margin-left:-6px;padding:2px 6px;display:flex}.tg-day-link:is(button):hover:not(:disabled){background:var(--surface-hover)}.tg-day-link time{display:contents}.tg-day-name{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.tg-day-number{min-width:28px;height:28px;color:var(--text-h);border-radius:999px;place-items:center;padding:0 4px;font-size:17px;font-weight:600;display:inline-grid}.today .tg-day-number{color:var(--accent);position:relative}.today .tg-day-number:after{content:"";background:var(--accent);-webkit-mask:var(--pen-ring) center / 100% 100% no-repeat;mask:var(--pen-ring) center / 100% 100% no-repeat;pointer-events:none;position:absolute;inset:-5px -6px;transform:rotate(-8deg)}.tg-add{color:var(--text-muted);opacity:0;flex:none;transition:opacity .15s}.tg-day-head:hover .tg-add,.tg-add:focus-visible{opacity:1}.tg-add:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}@media (hover:none){.tg-add{opacity:1}}.tg-allday{border-top:1px solid var(--tg-line)}.tg-allday-label{color:var(--text-muted);text-align:right;align-self:center;padding-right:8px;font-size:11px}.tg-allday-cell{border-left:1px solid var(--tg-line);flex-direction:column;gap:2px;min-width:0;margin:0;padding:3px;list-style:none;display:flex}.tg-allday-cell .tg-event{position:relative}.tg-body,.tg-hours{position:relative}.tg-hour{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;line-height:1;position:absolute;right:8px;transform:translateY(-50%)}.tg-col{border-left:1px solid var(--tg-line);background-image:linear-gradient(to bottom, var(--tg-line) 1px, transparent 1px);background-size:100% var(--tg-hour);cursor:pointer;min-width:0;position:relative}.tg-col:before{content:"";background:repeating-linear-gradient(90deg, var(--tg-line) 0 4px, transparent 4px 8px);-webkit-mask:linear-gradient(to bottom, black 1px, transparent 1px) 0 calc(var(--tg-hour) / 2) / 100% var(--tg-hour);mask:linear-gradient(to bottom, black 1px, transparent 1px) 0 calc(var(--tg-hour) / 2) / 100% var(--tg-hour);pointer-events:none;position:absolute;inset:0}.tg-col.weekend{background-color:var(--tg-weekend)}.tg-col.today{background-color:color-mix(in srgb, var(--accent) 4%, transparent)}.tg-day-head.weekend,.tg-allday-cell.weekend{background-color:var(--tg-weekend)}.tg-events{margin:0;padding:0;list-style:none}.tg-event{z-index:1;border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface));min-width:0;color:var(--text-h);cursor:auto;border-radius:5px;align-items:flex-start;gap:5px;padding:3px 5px;font-size:12px;line-height:1.25;display:flex;position:absolute;overflow:hidden}.tg-event:hover,.tg-event:focus-within{z-index:2;box-shadow:var(--shadow-sm)}.tg-event input{width:13px;height:13px;min-height:0;accent-color:var(--success);cursor:pointer;flex:none;margin:1px 0 0;padding:0}.tg-event input[aria-disabled=true]{cursor:progress}.tg-event.completed{border-color:color-mix(in srgb, var(--success) 30%, transparent);border-left-color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--surface))}.tg-event.completed .tg-event-title{color:var(--text-muted);text-decoration:line-through}.tg-event.failed{border-color:var(--danger)}.tg-event.short .tg-event-body{flex-direction:row;align-items:baseline;gap:6px}.tg-events .tg-event,.tg-allday-cell .tg-event{container-type:inline-size}.tg-event-actions{flex:none;gap:1px;margin:-2px -3px 0 0;display:none}.tg-event-action{width:20px;min-height:20px;color:var(--text-muted);border-radius:4px;padding:0}.tg-event-action.notes-btn[data-has-notes]{width:auto;padding:0 4px}.tg-event-action:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 70%, transparent)}@container (width>=90px){.tall>.tg-event-actions{margin:0;display:flex;position:absolute;bottom:2px;right:3px}.tall .tg-event-time{padding-right:30px}}@container (width>=160px){.tg-event-actions{display:flex}}.tg-event-body{min-width:0;height:100%;min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;align-items:stretch;gap:1px;padding:0;display:flex}.tg-event-body:hover:not(:disabled){background:0 0}.tg-event-title{overflow-wrap:anywhere;font-weight:600;overflow:hidden}.tg-allday-cell .tg-event-title,.short .tg-event-title{text-overflow:ellipsis;white-space:nowrap}.tg-event-time{color:var(--text-muted);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.tg-now{z-index:2;background:var(--danger);pointer-events:none;height:2px;position:absolute;left:-1px;right:0}.tg-now:before{content:"";background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px}@container calendar (width<=640px){.time-grid{--tg-gutter:44px}.tg-day-head{justify-content:center;padding:4px 2px}.tg-day-link{flex-direction:column;gap:0;margin:0;padding:2px}.tg-row:has(>:nth-child(3)) .tg-add{display:none}.tg-row:has(>:nth-child(3)) .tg-event{padding:2px 3px;font-size:11px}.tg-row:has(>:nth-child(3)) .tg-event input,.tg-row:has(>:nth-child(3)) .tg-event-time{display:none}}.day-tasks{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.task{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:8px 10px;font-size:13px;line-height:1.35;display:flex}.task.completed{border-left-color:var(--success);background:color-mix(in srgb, var(--success) 6%, var(--surface))}.task.completed .task-title{color:var(--text);text-decoration:line-through;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.task-row{align-items:flex-start;gap:4px;display:flex}.task-notes{flex:none;margin:-4px -6px -4px 0}.notes-btn{gap:2px;position:relative}.notes-btn[data-has-notes]{width:auto;color:var(--accent);padding:0 6px}.notes-btn-count{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;line-height:1}.task-time{color:var(--text-muted);font-variant-numeric:tabular-nums}.task-toggle{flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.task-toggle input{width:16px;height:16px;min-height:0;accent-color:var(--success);cursor:inherit;flex:none;margin:1px 0 0;padding:0}.task-toggle:has(input[aria-disabled=true]){cursor:progress}.task-check{cursor:pointer;flex:none;margin:-4px;padding:4px;display:flex}.task-open{min-width:0;min-height:0;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;white-space:normal;cursor:pointer;background:0 0;border:0;border-radius:2px;flex:1;padding:0;display:block}.task-open:hover:not(:disabled){background:0 0}.task-open:hover .task-title{text-decoration:underline;-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted)}.task-body{flex-direction:column;min-width:0;display:flex}.task-title{color:var(--text-h);overflow-wrap:anywhere;font-weight:500}.task-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.task-section{--tab-ink:var(--text-h);--tab-fill:var(--surface);max-width:720px}.task-section[data-section=overdue]{--tab-ink:var(--danger);--tab-fill:color-mix(in srgb, var(--danger) 7%, var(--surface))}.task-section[data-section=today]{--tab-ink:var(--accent);--tab-fill:color-mix(in srgb, var(--accent) 7%, var(--surface))}.task-section>.section-heading{border-bottom:2px solid var(--border-strong);align-items:flex-end;gap:0}.task-section>.section-heading h2{border:2px solid var(--border-strong);border-bottom-color:var(--tab-fill);background:var(--tab-fill);color:var(--tab-ink);letter-spacing:.06em;text-transform:uppercase;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:5px 14px 4px;font-size:13px;font-weight:700}.task-section>.section-heading .count-badge{margin:0 0 6px 10px}.task-list .task{padding:10px 12px;font-size:14px}.task-day-group+.task-day-group{margin-top:16px}.task-day-heading{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:600}.task-repeat-icon{color:var(--text-muted);vertical-align:-1px;margin-left:5px}.task-static{cursor:auto}.task-static .task-series-icon{color:var(--accent);flex:none;margin-top:1px}.task[draggable=true]{cursor:grab}.task[draggable=true]:active{cursor:grabbing}.task[draggable=true] .task-check,.task[draggable=true] .task-open{cursor:pointer}.folder-bar{flex-wrap:wrap;gap:8px;display:flex}.folder-tile{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);max-width:240px;min-height:38px;color:var(--text-h);align-items:center;gap:8px;padding:0 10px 0 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.folder-tile svg{color:var(--text-muted);flex:none}.folder-tile .count-badge{min-width:22px;padding:0 6px}.folder-tile:hover{background:var(--surface-hover)}.folder-tile.active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft);color:var(--accent)}.folder-tile.active svg{color:inherit}.folder-tile[data-drop-over]{border-style:dashed;border-color:var(--accent);background:var(--accent-soft);color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.folder-tile-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-tile-new{color:var(--text);background:0 0;border-style:dashed;padding:0 12px;font-weight:500}.weekday-picker{border:0;margin:0;padding:0}.weekday-picker legend{margin-bottom:6px;padding:0}.weekday-options{flex-wrap:wrap;gap:6px;display:flex}.weekday-option{border:1px solid var(--border-strong);background:var(--surface);min-width:46px;height:36px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;padding:0 8px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-grid;position:relative}.weekday-option input{opacity:0;width:100%;height:100%;min-height:0;cursor:inherit;margin:0;position:absolute;inset:0}.weekday-option:has(input:checked){border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.weekday-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.weekday-picker[aria-invalid=true] .weekday-option:not(:has(input:checked)){border-color:var(--danger)}.back-link{color:var(--text);align-self:flex-start;align-items:center;gap:4px;margin-bottom:-8px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.goal-hero-top{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.goal-hero{padding-top:26px;position:relative;overflow:clip}.goal-hero-band{background:linear-gradient(90deg, var(--accent-2), var(--accent)) 0 0 / calc(var(--band) * 100%) 100% no-repeat, var(--surface-2);height:5px;position:absolute;top:0;left:0;right:0}.goal-hero-band[data-met]{background:var(--success)}.goal-hero-title{font-family:var(--serif);letter-spacing:0;overflow-wrap:anywhere;font-size:30px}.goal-hero-actions{gap:8px;margin-left:auto;display:flex}.goal-hero-target{color:var(--text-muted);font-family:var(--serif);margin:4px 0 12px;font-size:17px;font-style:italic}.goal-hero-description{max-width:72ch;color:var(--text);white-space:pre-line;overflow-wrap:anywhere}.btn-danger-outline{color:var(--danger)}.btn-danger-outline:hover:not(:disabled){border-color:var(--danger);background:var(--danger-soft)}.stat-grid{grid-template-columns:2fr repeat(2,1fr);gap:16px;display:grid}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-grid .stat-card-wide{grid-column:1/-1}}@media (width<=600px){.stat-grid{grid-template-columns:1fr}}.stat-card{flex-direction:column;gap:4px;padding:16px 20px;display:flex}.stat-label{color:var(--text-muted);font-size:13px;font-weight:500}.stat-value{color:var(--text-h);letter-spacing:-.02em;font-size:24px;font-weight:600}.stat-of{color:var(--text-muted);letter-spacing:0;font-size:15px;font-weight:500}.stat-sub{color:var(--text-muted);font-size:12px}.card-title-tight{margin-bottom:2px}.card-subtitle{color:var(--text-muted);margin-bottom:12px;font-size:13px}.history-chart{min-width:0;position:relative;overflow:hidden}.history-svg{max-width:100%;height:auto;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1px;shape-rendering:crispedges}.chart-tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-tick-current{fill:var(--text-h);font-weight:600}.chart-bar,.chart-dot{fill:var(--chart-bar);transition:opacity .15s}:is(.chart-bar,.chart-dot).dimmed{opacity:.45}.chart-dot{stroke:var(--surface);stroke-width:2px}.chart-trend{stroke:var(--chart-trend);stroke-width:2px;stroke-linecap:round}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:4px;display:flex}.chart-controls{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;max-width:100%;display:flex}.segmented-sm button{min-height:30px;padding:4px 10px;font-size:13px}.chart-toggle{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.chart-key{color:var(--text);align-items:center;gap:8px;margin:8px 0 0;font-size:13px;display:flex}.chart-key-trend{background:var(--chart-trend);border-radius:1px;flex:none;width:18px;height:2px}.chart-trend-halo{stroke:var(--surface);stroke-width:6px;stroke-linecap:round}.chart-target{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:5 4}.chart-average{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:1 4;stroke-linecap:round}.chart-line{fill:none;stroke:var(--chart-bar);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-target-label{fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:11px;font-weight:600}.chart-hit{fill:#0000;cursor:default;outline:none}.chart-hit:focus-visible{fill:var(--accent-soft)}.chart-tooltip{z-index:2;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:140px;box-shadow:var(--shadow-md);color:var(--text);pointer-events:none;flex-direction:column;gap:2px;width:max-content;max-width:min(240px,90%);padding:8px 10px;font-size:12px;display:flex;position:absolute}.chart-tooltip strong{color:var(--text-h);font-size:14px}.data-table{margin-top:12px}.data-table summary{width:fit-content;color:var(--accent);cursor:pointer;font-size:13px;font-weight:600}.data-table table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;padding:6px 10px}.data-table thead th{color:var(--text-muted);font-weight:600}.data-table tbody th{color:var(--text-h);font-weight:500}.data-table td{font-variant-numeric:tabular-nums}.share-table{border-collapse:collapse;width:100%;font-size:14px}.share-table th,.share-table td{border-bottom:1px solid var(--border);text-align:left;padding:8px 6px}.share-table tbody tr:last-child>*{border-bottom:0}.share-table thead th{color:var(--text-muted);font-size:13px;font-weight:600}.share-table tbody th{max-width:160px;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.share-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.share-bar-cell{width:45%}.share-bar{background:var(--chart-bar);border-radius:0 4px 4px 0;min-width:2px;height:10px;display:block}.custom-range{flex-wrap:wrap;gap:8px 12px;display:flex}.custom-range label{color:var(--text-muted);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.custom-range input{min-height:34px;padding:0 8px}.admin-card{max-width:640px}.admin-card .card-title{margin-bottom:8px}.admin-danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));max-width:640px}.admin-danger .card-title{margin-bottom:8px}.admin-text{color:var(--text-muted);margin-bottom:16px}.admin-status{color:var(--success);margin-top:12px;font-weight:500}.filter-chip{border-radius:999px;min-height:32px;padding:0 12px;font-size:13px}.filter-chip-active,.filter-chip-active:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.filter-chip-count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:6px;font-size:12px}.filter-chip-active .filter-chip-count{color:inherit}.tag-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-filters-clear{min-height:32px;color:var(--accent);background:0 0;border:0;padding:0 10px;font-size:13px;font-weight:600}.tag-list{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tag{border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);background:var(--accent-soft);min-height:22px;color:var(--accent);white-space:nowrap;border-radius:999px;align-items:center;gap:2px;padding:0 8px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.tag mark{background:color-mix(in srgb, var(--accent) 30%, transparent);color:inherit}.tag-sm{min-height:18px;padding:0 6px;font-size:11px}.tag-button{min-height:22px}.tag-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.tag-button.tag-on{background:var(--accent);color:var(--accent-contrast)}.tag-remove{width:16px;min-height:16px;color:inherit;background:0 0;border:0;border-radius:999px;place-items:center;margin-right:-4px;padding:0;display:inline-grid}.tag-remove:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 20%, transparent)}.tag-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:4px 8px;display:flex}.tag-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tag-input[data-invalid]{border-color:var(--danger)}.tag-input input{width:auto;min-width:0;min-height:30px;box-shadow:none;background:0 0;border:0;outline:none;flex:120px;padding:0 2px}.note-about{color:var(--text-muted);margin:0;font-size:13px}.note-about strong,.note-about a{color:var(--text-h);font-weight:600}.note-card-link{max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;font-size:12px;font-weight:500;overflow:hidden}.note-card-link:hover{color:var(--accent)}.linked-notes{flex-direction:column;gap:10px;display:flex}.linked-notes-plain{border-top:1px solid var(--border);padding-top:14px}.linked-notes-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.linked-notes-title{color:var(--text-h);align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.linked-notes-plain .linked-notes-title{font-size:13px}.linked-notes-count{background:var(--surface-2);min-width:20px;color:var(--text-muted);text-align:center;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.linked-notes-add{min-height:32px;font-size:13px}.linked-notes-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.linked-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:0;color:var(--text);text-align:left;flex-direction:column;align-items:stretch;gap:3px;padding:8px 12px;font-weight:400;display:flex}.linked-note:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-hover)}.linked-note-title{color:var(--text-h);overflow-wrap:anywhere;font-size:14px;font-weight:600}.linked-note-preview{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.linked-note-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.modal.modal-wide{width:min(720px,100vw - 32px)}.notes-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.notes-search{flex:260px;align-items:center;max-width:480px;display:flex;position:relative}.notes-search svg{color:var(--text-muted);pointer-events:none;position:absolute;left:11px}.notes-search input{width:100%;padding-left:36px}.empty-icon{color:var(--text-muted);align-self:center;margin-bottom:4px}.note-grid{columns:280px auto;column-gap:14px;margin:0;padding:0;list-style:none;transition:opacity .15s}.note-grid[aria-busy=true]{opacity:.55}.note-card{break-inside:avoid;cursor:pointer;flex-direction:column;gap:8px;margin-bottom:14px;padding:16px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.note-card:hover,.note-card:focus-within{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.note-card-body{max-height:16em;overflow:hidden}.note-card-body.clipped{-webkit-mask-image:linear-gradient(#000 calc(100% - 2.5em),#0000);mask-image:linear-gradient(#000 calc(100% - 2.5em),#0000)}.note-card-title{margin:0;font-size:15px;line-height:1.35}.note-card-open{width:100%;min-height:0;color:var(--text-h);font:inherit;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-weight:600;display:block}.note-card-open:hover:not(:disabled){background:0 0}.note-card-date{color:var(--text-muted);font-size:12px}.note-body{color:var(--text);overflow-wrap:anywhere;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;display:flex}.note-body p,.note-body ul{margin:0}.note-body ul{padding-left:1.3em}.note-body li+li{margin-top:2px}.note-body mark{background:color-mix(in srgb, var(--accent) 22%, transparent);color:inherit;border-radius:2px}.note-card-title mark{background:color-mix(in srgb, var(--accent) 22%, transparent);color:inherit;border-radius:2px}.note-form{flex-direction:column;gap:16px;display:flex}.note-form .field{min-width:0;color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.note-form input,.note-form textarea{width:100%}.note-form .field-note{margin-top:0}.note-label-row{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}.note-toolbar{gap:4px;display:flex}.note-tool{min-height:30px;padding:0 10px;font-size:13px}.note-tool-active,.note-tool-active:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft);color:var(--accent)}.note-textarea{resize:vertical;min-height:240px;font-size:14px;line-height:1.5}.modal-body>.linked-notes-plain{border-top:0;padding-top:0}.theme-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin:0;padding:0;display:grid}.theme-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;flex-direction:column;gap:2px;padding:10px;transition:border-color .15s,box-shadow .15s;display:flex}.theme-option:hover{border-color:var(--border-strong)}.theme-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.theme-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.theme-option-name{color:var(--text-h);font-size:15px;font-family:var(--serif);letter-spacing:.04em;margin-top:8px;font-weight:700}.theme-option-description{color:var(--text-muted);font-size:12px;line-height:1.4}.theme-preview{border:1px solid var(--border);border-radius:var(--radius-sm);height:122px;display:flex;overflow:hidden}.theme-preview-split .theme-mini{flex:50%;min-width:0}.theme-mini{background:var(--bg);flex:1;padding:10px;display:flex;position:relative}.theme-mini-card{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);border-radius:6px;flex-direction:column;flex:1;gap:3px;padding:8px;display:flex}.theme-mini-title{color:var(--text-h);white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.theme-mini-muted{color:var(--text-muted);white-space:nowrap;font-size:9px;overflow:hidden}.theme-mini-track{background:var(--surface-2);border-radius:2px;height:4px}.theme-mini-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));width:60%;height:100%;display:block}.theme-mini-chart{flex:1;align-items:flex-end;gap:3px;margin-top:3px;display:flex}.theme-mini-bar{background:var(--chart-bar);border-radius:2px 2px 0 0;width:6px}.theme-mini-button{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;bottom:30px;right:14px}.nav-order{flex-direction:column;gap:4px;max-width:420px;margin:0;padding:0;list-style:none;display:flex}.nav-order-item{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:10px;padding:4px 4px 4px 12px;display:flex}.nav-order-item svg{flex:none}.nav-order-label{color:var(--text-h);flex:1;font-weight:500}.nav-order-actions{margin-top:14px}.time-zone-row{flex-wrap:wrap;gap:10px;display:flex}.time-zone-row select{flex:260px;max-width:420px}.time-zone-row button{white-space:normal;text-align:left}.ai-token-form,.ai-copy-field{gap:6px;margin-bottom:12px;display:grid}:is(.ai-token-form,.ai-copy-field) label{font-weight:500}.ai-token-row{gap:10px;display:flex}.ai-token-row input{flex:auto;min-width:0}.ai-token-row button{flex:none}.ai-copy-field input{font-family:var(--mono);font-size:13px}.ai-token-new{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-soft);border-radius:10px;margin:4px 0 16px;padding:14px 16px}.ai-token-new:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ai-token-new .admin-text{overflow-wrap:anywhere;margin-bottom:12px}.ai-token-new-title{color:var(--text-h);margin:0 0 6px;font-size:15px}.ai-token-list{margin:0;padding:0;list-style:none}.ai-token-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ai-token-name{color:var(--text-h);font-weight:500;display:block}.ai-token-meta{color:var(--text-muted);font-size:13px}.popover{display:inline-flex;position:relative}.popover-panel{z-index:25;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:max-content;min-width:220px;max-width:min(320px,100vw - 32px);max-height:min(420px,70vh);box-shadow:var(--shadow-md);flex-direction:column;gap:10px;padding:12px;display:flex;position:fixed;overflow-y:auto}.popover-section{border:0;flex-direction:column;gap:2px;margin:0;padding:0;display:flex}.popover-section legend,.popover-section .popover-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;padding:0;font-size:12px;font-weight:600}.popover-option{border-radius:var(--radius-sm);min-height:32px;color:var(--text-h);cursor:pointer;align-items:center;gap:8px;padding:0 6px;font-size:14px;display:flex}.popover-option:hover{background:var(--surface-2)}.popover-option input{width:16px;min-height:16px;accent-color:var(--accent);flex:none;margin:0}.popover-option:has(input:disabled){color:var(--text-muted);cursor:default}.popover-hint{color:var(--text-muted);margin:-2px 0 0 30px;font-size:12px}.popover-action{min-height:32px;color:var(--text-h);text-align:left;background:0 0;border:0;justify-content:flex-start;padding:0 8px;font-size:14px}.popover-action:hover:not(:disabled){background:var(--surface-2)}.popover-action:disabled{color:var(--text-muted);cursor:default}.popover-action-danger:not(:disabled){color:var(--danger)}.item-menu{z-index:1;color:var(--text-muted);flex:none;align-items:center;gap:2px;display:flex;position:relative}.item-menu .icon-btn{color:inherit}.item-menu .notes-btn[data-has-notes]{color:var(--accent)}.export-btn{min-height:30px;padding:0 10px;font-size:13px}.export-btn svg{color:var(--text-muted)}.row-text-btn{min-height:32px;padding:0 10px;font-size:13px}.task-links{flex-wrap:wrap;gap:4px 20px;margin:0 0 16px;font-size:14px;display:flex}.task-links>div{gap:6px;min-width:0;display:flex}.task-links dt{color:var(--text-muted)}.task-links dd{overflow-wrap:anywhere;margin:0}.item-menu .popover-panel{min-width:160px;padding:6px}.folder-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;display:flex}.folder-toolbar .folder-bar{flex:1;min-width:0}.folder-menu{align-self:center;margin-left:-4px}.theme-mini{padding-bottom:26px}.theme-chip-bands{border-top:1px solid var(--border);height:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.theme-chip-bands span{flex:1}@media (pointer:coarse){button,.icon-btn:is(a),input:not([type=checkbox],[type=radio]),select{min-height:44px}.icon-btn,.icon-btn-sm{width:44px;min-height:44px}.segmented button,.segmented-sm button{min-height:44px}input,select,textarea{font-size:16px}}
