quotacap 0.0.47 → 0.0.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/claude.js +6 -1
- package/dist/adapters/manual.js +9 -1
- package/dist/adapters/parse.js +5 -3
- package/dist/version.js +1 -1
- package/dist/web/src/components/ResetRail.js +15 -1
- package/dist/webAssets.js +1 -1
- package/dist/webHtml.js +1 -1
- package/package.json +1 -1
- package/web/dist/assets/index-BSQW0C_t.css +1 -0
- package/web/dist/assets/{index-CsIhkVtr.js → index-Dq9ZvTUe.js} +3 -3
- package/web/dist/index.html +2 -2
- package/web/dist/assets/index-apBgCnO5.css +0 -1
package/dist/webHtml.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// generated by scripts/build-embed.mjs — do not edit
|
|
2
|
-
export const webHtml = "<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<title>QuotaCap</title>\n<script>\ntry {\n var stored = localStorage.getItem(\"quotacap-theme\");\n var dark = stored === \"dark\" || (stored !== \"light\" && matchMedia(\"(prefers-color-scheme: dark)\").matches);\n document.documentElement.dataset.theme = dark ? \"dark\" : \"light\";\n} catch (e) { /* default light theme stands */ }\n</script>\n <script type=\"module\" crossorigin src=\"/assets/index-
|
|
2
|
+
export const webHtml = "<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<meta name=\"color-scheme\" content=\"light dark\">\n<title>QuotaCap</title>\n<script>\ntry {\n var stored = localStorage.getItem(\"quotacap-theme\");\n var dark = stored === \"dark\" || (stored !== \"light\" && matchMedia(\"(prefers-color-scheme: dark)\").matches);\n document.documentElement.dataset.theme = dark ? \"dark\" : \"light\";\n} catch (e) { /* default light theme stands */ }\n</script>\n <script type=\"module\" crossorigin src=\"/assets/index-Dq9ZvTUe.js\"></script>\n <link rel=\"stylesheet\" crossorigin href=\"/assets/index-BSQW0C_t.css\">\n</head>\n<body><div id=\"app\"></div></body>\n</html>\n";
|
package/package.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-sans:var(--font-ui);--font-heading:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--t-1:11px;--t-2:12.5px;--t-3:14px;--t-4:16px;--t-5:20px;--t-6:26px;--r-sm:7px;--r-md:12px;--r-lg:18px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--canvas:oklch(96% .005 160);--surface:oklch(100% 0 0);--surface-raised:oklch(98% .004 160);--ink:oklch(16% .015 160);--ink-soft:oklch(38% .02 160);--ink-faint:oklch(45% .015 160);--line:oklch(88% .008 160);--line-strong:oklch(72% .015 160);--accent:oklch(62% .18 155);--accent-ink:oklch(99% .005 155);--accent-soft:oklch(94% .045 155);--focus:oklch(40% .17 160);--track:oklch(88% .008 160);--pick-ink:oklch(28% .12 155);--hover:var(--canvas);--shadow:0 14px 32px oklch(18% .02 160/.08);--shadow-sm:0 1px 3px color-mix(in oklch, var(--ink) 8%, transparent);--shadow-md:0 4px 16px color-mix(in oklch, var(--ink) 10%, transparent);--shadow-lg:0 20px 48px oklch(18% .02 160/.15);--good:oklch(50% .12 165);--good-soft:oklch(94.5% .032 165);--warn:oklch(46% .13 82);--warn-soft:oklch(96.5% .055 90);--danger:oklch(49% .17 25);--danger-soft:oklch(94.5% .042 25);--ahead:oklch(50% .15 52);--ahead-soft:oklch(95.5% .05 52);--watch:oklch(50% .15 40);--watch-soft:oklch(95.5% .05 40);--scrim:oklch(25% .02 292/.42);--rec:oklch(52% .22 285);--rec-soft:oklch(96.5% .035 285);--rec-edge:oklch(82% .09 285);--rec-ring:oklch(52% .22 285/.18);--fill-ontrack:oklch(72% .16 163);--fill-behind:oklch(83% .16 92);--fill-ahead:oklch(72% .17 52);--fill-watch:oklch(72% .17 40);--fill-cap:oklch(60% .2 27);--fill-out:oklch(78% .01 292);--edge-ontrack:oklch(45% .14 163);--edge-behind:oklch(47% .13 92);--edge-ahead:oklch(47% .16 52);--edge-watch:oklch(47% .16 40);--edge-cap:oklch(44% .19 27);--edge-out:oklch(52% .01 292);--p-claude:oklch(55% .16 44);--p-codex:oklch(50% .14 235);--p-kimi:oklch(55% .19 300);--p-grok:oklch(42% .02 292);--p-agy:oklch(52% .13 195);--p-muse:oklch(52% .17 265)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:oklch(11% .012 160);--surface:oklch(20.5% .016 160);--surface-raised:oklch(25.5% .018 160);--ink:oklch(99% .005 150);--ink-soft:oklch(86% .015 150);--ink-faint:oklch(77% .015 150);--line:oklch(36% .02 160);--line-strong:oklch(52% .025 160);--accent:oklch(82% .17 155);--accent-ink:oklch(13% .04 155);--accent-soft:oklch(26% .06 155);--focus:oklch(78% .16 155);--track:oklch(29% .015 160);--pick-ink:oklch(88% .14 155);--hover:var(--canvas);--shadow:0 18px 44px oklch(4% .02 160/.45);--shadow-sm:0 1px 3px color-mix(in oklch, var(--ink) 12%, transparent);--shadow-md:0 4px 16px color-mix(in oklch, var(--ink) 18%, transparent);--shadow-lg:0 24px 60px oklch(2% .02 160/.6);--good:oklch(78% .13 165);--good-soft:oklch(26% .045 165);--warn:oklch(84% .14 92);--warn-soft:oklch(29% .06 88);--danger:oklch(75% .15 25);--danger-soft:oklch(28% .055 25);--ahead:oklch(79% .15 52);--ahead-soft:oklch(29% .06 52);--watch:oklch(79% .15 40);--watch-soft:oklch(29% .06 40);--scrim:oklch(8% .02 295/.62);--rec:oklch(78% .17 285);--rec-soft:oklch(24% .06 285);--rec-edge:oklch(44% .11 285);--rec-ring:oklch(78% .17 285/.25);--fill-ontrack:oklch(74% .16 163);--fill-behind:oklch(84% .16 92);--fill-ahead:oklch(74% .17 52);--fill-watch:oklch(74% .17 40);--fill-cap:oklch(64% .2 27);--fill-out:oklch(52% .01 292);--edge-ontrack:oklch(52% .14 163);--edge-behind:oklch(58% .14 92);--edge-ahead:oklch(52% .16 52);--edge-watch:oklch(52% .16 40);--edge-cap:oklch(46% .19 27);--edge-out:oklch(66% .01 292);--p-claude:oklch(74% .15 44);--p-codex:oklch(74% .13 235);--p-kimi:oklch(76% .16 300);--p-grok:oklch(80% .01 292);--p-agy:oklch(76% .12 195);--p-muse:oklch(75% .15 265)}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{background:var(--canvas);color:var(--ink);font-family:var(--font-ui);font-size:var(--t-3);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{touch-action:manipulation;cursor:pointer}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}code,.mono{font-family:var(--font-mono)}h1,h2,h3{font-family:var(--font-heading)}.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}main{max-width:1120px;padding:var(--s6) var(--s5) 64px;margin:0 auto;overflow-x:hidden}.btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);height:32px;font-family:inherit;font-size:var(--t-3);color:var(--ink);white-space:nowrap;cursor:pointer;box-sizing:border-box;transition:background .14s ease, border-color .14s ease, color .14s ease, transform .12s var(--ease-out);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.btn:hover{background:var(--canvas);border-color:var(--line-strong);color:var(--ink)}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 88%, var(--ink));border-color:var(--accent)}.btn-quiet{border-color:var(--line);background:var(--surface);color:var(--ink)}.btn-quiet:hover{border-color:var(--line-strong);background:var(--canvas);color:var(--ink)}.btn-sm{height:28px;font-size:var(--t-2);padding:0 9px}.iconbtn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;box-sizing:border-box;transition:border-color .14s ease, background .14s ease, color .14s ease, transform .12s var(--ease-out);place-items:center;padding:0;display:grid}.iconbtn:hover{border-color:var(--line-strong);color:var(--ink);background:var(--canvas)}.iconbtn:active{transform:scale(.97)}.iconbtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.linkbtn{min-height:32px;font-family:inherit;font-size:var(--t-3);color:var(--danger);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:4px 2px;font-weight:600;text-decoration:underline}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{align-items:center;gap:var(--s5);max-width:1120px;height:56px;padding:0 var(--s5);margin:0 auto;display:flex}.brand{font-family:var(--font-heading);font-weight:700;font-size:var(--t-4);letter-spacing:-.014em;color:var(--ink);flex:none;align-items:center;gap:8px;display:flex}.brand svg{color:var(--ink);display:block}.topbar-end{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.topbar-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.daemon{font-size:var(--t-2);color:var(--ink-soft);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:7px;margin-right:4px;display:inline-flex}.daemon-dot{background:var(--fill-ontrack);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in oklch, var(--fill-ontrack) 22%, transparent);border-radius:50%;flex:none;transition:background-color .2s}.daemon-dot.is-live{background:var(--fill-ontrack);box-shadow:0 0 0 3px color-mix(in oklch, var(--fill-ontrack) 22%, transparent)}.daemon-dot.is-polling{background:var(--warn);box-shadow:0 0 0 3px color-mix(in oklch, var(--warn) 25%, transparent)}.daemon-dot.is-unreachable{background:var(--danger);box-shadow:0 0 0 3px color-mix(in oklch, var(--danger) 25%, transparent)}.daemon-dot.is-not-ready{background:var(--ahead);box-shadow:0 0 0 3px color-mix(in oklch, var(--ahead) 25%, transparent)}.daemon-addr{font-family:var(--font-mono);font-size:var(--t-1);display:none}.update-badge{font-size:var(--t-2);color:var(--ink-soft);white-space:nowrap;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:7px;margin-right:4px;display:inline-flex}@media (width>=1340px){.daemon-addr{display:inline}}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s3);border-bottom:1px solid var(--line);padding-bottom:var(--s2);margin:var(--s6) 0 var(--s4);flex-wrap:wrap;display:flex}main>.dashboard:first-child>section:first-of-type>.section-head{margin-top:0}.section-head h2{font-size:var(--t-2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-weight:700}.section-head .note{font-size:var(--t-3);color:var(--ink-soft)}.section-head-controls{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.sort-dropdown{display:inline-block;position:relative}.sort-btn{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;-webkit-user-select:none;user-select:none;height:32px;font-family:inherit;font-size:var(--t-3);color:var(--ink);align-items:center;gap:7px;padding:0 10px;transition:border-color .14s,background .14s,box-shadow .14s,transform .12s;display:inline-flex}.sort-btn:hover{background:var(--canvas);border-color:var(--line-strong)}.sort-btn:active{transform:scale(.98)}.sort-btn[aria-expanded=true]{border-color:var(--focus);box-shadow:0 0 0 2px color-mix(in oklch, var(--focus) 20%, transparent)}.sort-btn[aria-expanded=true] .sort-chevron{transform:rotate(180deg)}.sort-icon{width:13px;height:13px;color:var(--ink-soft);pointer-events:none;flex:none;place-items:center;display:grid}.sort-display{pointer-events:none;white-space:nowrap;align-items:baseline;gap:4px;line-height:1;display:inline-flex}.sort-prefix{color:var(--ink-soft);font-weight:500}.sort-val{color:var(--ink);font-weight:600}.sort-chevron{width:12px;height:12px;color:var(--ink-soft);pointer-events:none;transition:transform .14s var(--ease-out);flex:none;place-items:center;margin-left:2px;display:grid}.sort-menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);min-width:175px;box-shadow:var(--shadow-lg);z-index:100;transform-origin:100% 0;flex-direction:column;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.sort-option{width:100%;height:30px;font-family:inherit;font-size:var(--t-3);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;padding:0 8px;font-weight:500;transition:background .12s,color .12s;display:flex}.sort-option:hover{background:color-mix(in oklch, var(--ink) 6%, transparent)}.sort-option:focus-visible{background:color-mix(in oklch, var(--ink) 6%, transparent);outline:2px solid var(--focus);outline-offset:-2px}.sort-option.is-active{color:var(--focus);font-weight:600}.sort-option .check-svg{opacity:0;color:var(--focus);flex:none;margin-left:8px}.sort-option.is-active .check-svg{opacity:1}.recwrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.rec-top{justify-content:space-between;align-items:center;gap:var(--s4);padding:13px var(--s5);border-bottom:1px solid var(--line);background:var(--surface-raised);display:flex}.rec-lead{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.rec-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--rec-soft);color:var(--rec);border:1px solid var(--rec-edge);border-radius:999px;flex:none;align-items:center;gap:6px;padding:3.5px 10px;font-size:11px;font-weight:700;display:inline-flex}.rec-badge svg{width:12px;height:12px}.rec-advice-prose{font-size:var(--t-3);color:var(--ink);margin:0;line-height:1.4}.rec-advice-prose strong{color:var(--ink);font-weight:700}.rec-advice-prose .rec-exp{font-family:var(--font-mono);font-size:var(--t-2);color:var(--ink-soft);margin-left:2px}.recB{padding:var(--s3) var(--s5) var(--s4);gap:6px;display:grid}.recB .lane{align-items:center;gap:var(--s4);padding:8px var(--s4);border-radius:8px;grid-template-columns:124px minmax(0,1fr);display:grid}.recB .items{align-items:center;gap:8px var(--s5);flex-wrap:wrap;display:flex}.recB .tint-behind{background:var(--warn-soft)}.recB .tint-ahead{background:var(--ahead-soft)}.recB .tint-cap{background:var(--danger-soft)}.recB .tint-watch{background:var(--watch-soft)}.lane-l{white-space:nowrap;font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-weight:700;display:inline-flex}.lane-l svg{flex:none;width:13px;height:13px}.l-behind{color:var(--warn)}.l-ahead{color:var(--ahead)}.l-cap{color:var(--danger)}.l-watch{color:var(--watch)}.l-out{color:var(--ink-soft)}.rsub{grid-template-columns:22px auto auto;align-items:center;gap:8px;min-width:0;height:26px;line-height:1;display:grid}.rsub .sq{border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.rsub .sq svg{width:13px;height:13px}.rnm-group{align-items:center;gap:6px;min-width:0;display:inline-flex}.rnm{font:inherit;color:var(--ink);text-align:left;cursor:pointer;font-weight:600;font-size:var(--t-3);background:0 0;border:0;padding:0;line-height:1;display:inline-block}.rsub .rnm:hover,.rsub .rnm:focus-visible{text-underline-offset:3px;text-decoration:underline}.rsub .rnum{font-family:var(--font-mono);font-size:var(--t-2);color:var(--ink-soft);white-space:nowrap;text-align:right;line-height:1}.rsub .rnum b{color:var(--ink);font-weight:600}.recwrap.is-clear{background:var(--good-soft);border-color:var(--good);align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s5);display:flex}.recwrap.is-clear>svg{width:20px;height:20px;color:var(--good);flex:none;margin-top:2px}.recwrap.is-clear b{font-size:var(--t-4);letter-spacing:-.008em;margin-bottom:3px;display:block}.recwrap.is-clear span{font-size:var(--t-3);color:var(--ink)}.rail-scroller{position:relative;overflow:visible}.rail-scroller:focus-visible{outline:2px solid var(--focus);outline-offset:6px}.rail{width:100%;height:264px;position:relative}.rail-grid{pointer-events:none;grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:0 0 34px}.rail-grid span{border-left:1px dashed var(--line)}.rail-grid span:first-child{border-left:0}.rail-axis{background:var(--line-strong);pointer-events:none;height:1px;position:absolute;top:108px;left:0;right:0}.rail-now{background:var(--focus);pointer-events:none;width:2px;height:100px;position:absolute;top:8px;left:0}.rail-nowlabel{font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;pointer-events:none;font-weight:700;position:absolute;top:4px;left:9px}.rail-days{border-top:1px solid var(--line);grid-template-columns:repeat(7,1fr);padding-top:8px;display:grid;position:absolute;bottom:0;left:0;right:0}.rail-days span{font-family:var(--font-mono);font-size:var(--t-1);color:var(--ink-soft);padding-left:6px}.pin{text-align:center;cursor:pointer;z-index:10;transition:transform .14s var(--ease-out);background:0 0;border:0;flex-direction:column;align-items:center;margin:0;padding:0;display:flex;position:absolute;transform:translate(-50%)}.pin:hover,.pin:focus-visible{z-index:70!important}.pin.above{justify-content:flex-end;height:auto;top:auto;bottom:155px}.pin.below{justify-content:flex-start;height:auto;top:109px;bottom:auto}.pin-dot{border:2.5px solid var(--surface);width:12px;height:12px;box-shadow:0 0 0 1.5px var(--dot-color,var(--line-strong));background:var(--dot-color,var(--line-strong));transition:transform .14s var(--ease-out);border-radius:50%;flex:none;align-self:center}.pin:hover .pin-dot,.pin:focus-visible .pin-dot{transform:scale(1.35)}.pin-stem{background:var(--line-strong);flex:none;align-self:center;width:1px;height:14px}.pin.above .pin-stem{transform-origin:bottom}.pin.below .pin-stem{transform-origin:top}.pin.above .pin-dot{margin-bottom:-6px}.pin.below .pin-dot{order:-1;margin-top:-6px}.pin-label{font-size:var(--t-2);white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--pin-border,var(--line-strong));background:var(--surface);max-width:16ch;color:var(--ink);box-shadow:0 1px 4px color-mix(in oklch, var(--ink) 6%, transparent);transition:transform .14s var(--ease-out), box-shadow .14s ease, border-color .14s ease;border-radius:999px;padding:3px 10px;font-weight:600;overflow:hidden}.pin:hover .pin-label,.pin:focus-visible .pin-label{border-color:var(--focus);background:var(--surface-raised);transform:translateY(-2px)scale(1.04);box-shadow:0 6px 18px oklch(0% 0 0/.25)}.pin.below:hover .pin-label,.pin.below:focus-visible .pin-label{border-color:var(--focus);background:var(--surface-raised);transform:translateY(2px)scale(1.04);box-shadow:0 6px 18px oklch(0% 0 0/.25)}.pin-when{font-family:var(--font-mono);font-size:var(--t-1);color:var(--ink-soft);white-space:nowrap}.pin.above .pin-when{margin-bottom:4px}.pin.below .pin-when{margin-top:4px}.pin-tooltip{z-index:100;pointer-events:none;opacity:0;visibility:hidden;white-space:nowrap;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-md);font-family:var(--font-mono);font-size:var(--t-1);transition:opacity .12s var(--ease-out), transform .12s var(--ease-out);align-items:center;gap:5px;padding:3px 8px;font-weight:500;display:inline-flex;position:absolute}.pin.above .pin-tooltip{transform-origin:bottom;bottom:calc(100% + 5px);left:50%;transform:translate(-50%)translateY(3px)scale(.96)}.pin.below .pin-tooltip{transform-origin:top;top:calc(100% + 5px);left:50%;transform:translate(-50%)translateY(-3px)scale(.96)}.pin.pin-start .pin-tooltip{transform-origin:0 0;left:50%;transform:translate(0)translateY(0)scale(.96)}.pin.pin-end .pin-tooltip{transform-origin:100% 0;left:auto;right:50%;transform:translate(0)translateY(0)scale(.96)}.pin:hover .pin-tooltip,.pin:focus-visible .pin-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)scale(1)}.pin.pin-start:hover .pin-tooltip,.pin.pin-start:focus-visible .pin-tooltip,.pin.pin-end:hover .pin-tooltip,.pin.pin-end:focus-visible .pin-tooltip{transform:translate(0)translateY(0)scale(1)}.cluster-popover{z-index:60;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--s3);min-width:220px;position:absolute}.cluster-popover h4{margin:0 0 var(--s2);font-size:var(--t-2);letter-spacing:.05em;text-transform:uppercase;font-weight:700;font-family:var(--font-mono);color:var(--ink-soft)}.cluster-popover ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cluster-popover li button{text-align:left;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--ink);font-family:inherit;font-size:var(--t-2);cursor:pointer;justify-content:space-between;align-items:center;padding:5px 8px;display:flex}.cluster-popover li button:hover{border-color:var(--focus)}.cards{gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 2px 8px color-mix(in oklch, var(--ink) 3%, transparent);cursor:pointer;text-align:left;font:inherit;color:inherit;flex-direction:column;padding:0;transition:border-color .14s,box-shadow .14s;display:flex;overflow:hidden}.pcard:hover{border-color:var(--line-strong)}.pcard:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.pcard.is-recommended{border-color:var(--rec-edge);box-shadow:0 0 0 1px var(--rec-ring), 0 4px 18px color-mix(in srgb, var(--rec) 8%, transparent);background:color-mix(in srgb, var(--surface) 97%, var(--rec-soft) 3%)}.pcard-head{align-items:flex-start;gap:var(--s3);padding:var(--s4) var(--s4) var(--s3);display:flex}.picon{width:34px;height:34px;color:var(--ink);background:var(--surface-raised);border-radius:9px;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.picon svg{width:17px;height:17px}.pcard-head .who{flex:1;min-width:0}.pcard-head .who b{font-size:var(--t-4);letter-spacing:-.01em;align-items:center;gap:6px;display:flex}.src{font-size:var(--t-2);color:var(--ink-soft);line-height:1.35;display:block}.rec-icon{color:var(--rec);cursor:help;transition:transform .14s var(--ease-out);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.rec-icon:hover{transform:scale(1.18)}.rec-icon svg{flex:none;width:15px;height:15px}.recommended-badge{background:var(--rec-soft);color:var(--rec);border:1px solid var(--rec-edge);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;gap:6px;padding:3.5px 10px;font-size:11px;font-weight:700;line-height:1.3;display:inline-flex}.recommended-badge svg{flex:none;width:12px;height:12px}.pcard-body{padding:0 var(--s4) var(--s4)}.pcard-topline{justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.pcard-topline .used{font-size:var(--t-4);font-weight:600}.pcard-underline{justify-content:space-between;gap:var(--s2);color:var(--ink-soft);margin-top:6px;font-size:12.5px;font-weight:500;display:flex}.pcard-underline .out{font-weight:600}.out-behind{color:var(--warn)}.out-watch{color:var(--watch)}.out-cap{color:var(--danger)}.out-ontrack{color:var(--good)}.out-none{color:var(--ink-soft)}.pstats{border-top:1px solid var(--line);margin-top:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}.pstats div{padding:var(--s3) var(--s3) var(--s3) 0}.pstats div+div{border-left:1px solid var(--line);padding-left:var(--s3)}.pstats .l{font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;font-weight:700;display:block}.pstats .v{font-size:var(--t-3);font-weight:600;font-family:var(--font-mono)}.pcard-foot{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--surface-raised);font-size:var(--t-2);color:var(--ink-soft);margin-top:auto;display:flex}.pcard-foot .foot-meta{flex-direction:column;gap:1px;min-width:0;display:flex}.weeks{gap:var(--s3);grid-template-columns:repeat(4,1fr);display:grid}.weeks .week .track{height:10px}.weeks .week .fill{background:var(--fill-out);box-shadow:none}.weeks .week .lab{font-size:var(--t-2);color:var(--ink-soft);flex-direction:column;gap:1px;margin-top:6px;display:flex}.weeks .week .lab b{color:var(--ink);font-weight:600;font-size:var(--t-2)}.weeks .stale-note{font-weight:500}.weeks~.cell-s{margin-top:var(--s2)}.trackwrap{margin-top:6px}.trackwrap .tline{font-size:var(--t-3);justify-content:space-between;gap:var(--s2);margin-bottom:6px;display:flex}.trackwrap .tline .used{white-space:nowrap;flex:none;font-weight:600}.trackwrap .tline .out{text-align:right}.track{background:var(--track);border-radius:999px;height:10px;position:relative;overflow:visible}.track .fill{background:var(--bar-color,var(--fill-ontrack));box-shadow:inset 0 0 0 1.5px var(--fill-edge,transparent);transition:width .2s var(--ease-out);border-radius:999px;position:absolute;inset:0 auto 0 0}.track .mark{background:var(--ink);z-index:2;border-radius:2px;width:2.5px;position:absolute;top:-5px;bottom:-5px}.track .band{z-index:1;position:absolute;top:0;bottom:0}.band-waste{background:repeating-linear-gradient(45deg, color-mix(in oklch, var(--ink) 20%, transparent) 0 1.5px, transparent 1.5px 7px);border-left:1.5px solid color-mix(in oklch, var(--ink) 42%, transparent);border-radius:0 999px 999px 0}.tfoot{font-size:var(--t-2);color:var(--ink-soft);justify-content:space-between;gap:var(--s2);margin-top:5px;display:flex}.wline{width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:18px;padding:0;font-family:inherit;display:flex}.wline .unit{flex:none;align-items:center;gap:6px;display:inline-flex}.wline .seg{box-sizing:border-box;border:1px solid color-mix(in oklch, var(--ink) 12%, transparent);background:color-mix(in oklch, var(--ink) 2.5%, transparent);border-radius:6px;flex:none;justify-content:center;align-items:center;gap:5px;width:max-content;height:20px;padding:0 8px;display:inline-flex}.wline .k,.wline .n,.wline .t{letter-spacing:0;text-transform:none;font-size:11px;font-weight:500;line-height:1}.wline .k{color:var(--ink-soft)}.wline .n{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums}.wline .t{color:var(--ink-faint)}.wline .seg.hot .n{color:color-mix(in oklch, var(--edge-cap) 70%, var(--ink));font-weight:600}.wline .seg.full .n{color:var(--edge-cap);font-weight:600}.wline .chev{color:var(--ink-faint);flex:none;margin-left:2px;display:inline-flex}.wline .chev svg{width:12px;height:12px;transition:transform .14s cubic-bezier(.23,1,.32,1)}.wline[aria-expanded=true] .chev svg{transform:rotate(180deg)}.windows{flex-direction:column;gap:8px;margin-top:10px;padding:10px 0 0;display:flex}.win{grid-template-columns:72px 1fr auto;align-items:center;gap:8px;display:grid}.win .lab{font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}.win .pct{font-size:var(--t-2);font-weight:600;font-family:var(--font-mono)}.win .track{height:6px}.win .fill{box-shadow:none}.win .reset{color:var(--ink-soft);grid-column:2/4;margin-top:-4px;font-size:11px}.lrow .wline{margin-top:14px}.lrow .windows{margin-top:8px}.pace{font-size:var(--t-2);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}.pace:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pace-behind{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.pace-ontrack{color:var(--good);border-color:var(--good);background:var(--good-soft)}.pace-ahead{color:var(--ahead);border-color:var(--ahead);background:var(--ahead-soft)}.pace-watch{color:var(--watch);border-color:var(--watch);background:var(--watch-soft)}.pace-cap{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.pace-out{color:var(--ink-soft);border-color:var(--line-strong);background:0 0}.pace-out:before{background:var(--line-strong)}.ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);display:grid;overflow:hidden}.lrow{gap:var(--s4);padding:var(--s4);border-bottom:1px solid var(--line);font-size:var(--t-3);cursor:pointer;grid-template-columns:224px minmax(240px,1fr) 148px 224px 84px;align-items:center;display:grid}.lrow:last-child{border-bottom:0}.lrow:not(.lhead):hover{background:var(--hover)}.lhead{background:var(--surface-raised);border-bottom:1px solid var(--line-strong);font-family:var(--font-sans);font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:var(--s3) var(--s4);cursor:default;font-weight:700}.lrow.is-recommended{background:color-mix(in srgb, var(--surface) 96%, var(--rec-soft) 4%)}.prov{align-items:flex-start;gap:var(--s2);min-width:0;display:flex}.prov .dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.prov .nm{font-weight:600;font-size:var(--t-4);align-items:center;gap:6px;display:inline-flex}.cell-b{font-weight:600;font-family:var(--font-mono)}.cell-s{font-size:var(--t-2);color:var(--ink-soft)}.reset-cell{flex-direction:column;gap:1px;line-height:1.4;display:flex}.paceline{gap:var(--s2);line-height:1.5;display:flex}.paceline>span:first-child{flex:none;width:36px}.pstats div[title],.paceline[title]{cursor:help}.seg{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--canvas);box-sizing:border-box;gap:2px;height:32px;padding:2px;display:inline-flex}.seg button{height:26px;font-family:inherit;font-size:var(--t-3);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-weight:600;transition:background .12s,color .12s;display:flex}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px color-mix(in oklch, var(--ink) 12%, transparent)}.settings-tab{height:26px;font-size:var(--t-2);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 12px;font-weight:600;transition:background .12s,color .12s}.settings-tab:hover{color:var(--ink)}.settings-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px color-mix(in oklch, var(--ink) 12%, transparent)}.rowbtn{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:32px;font-size:var(--t-3);color:var(--ink);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;transition:background .14s,border-color .14s,color .14s,transform .12s;display:inline-flex}.rowbtn:hover{background:var(--canvas);border-color:var(--line-strong);color:var(--ink)}.rowbtn:active{transform:scale(.97)}.rowbtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}footer.health{justify-content:space-between;gap:var(--s4);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:var(--t-3);color:var(--ink-soft);flex-wrap:wrap;display:flex}footer.health ul{gap:var(--s4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}footer.health li{align-items:center;gap:6px;display:flex}footer.health .legend-rec{color:var(--ink);font-weight:600}footer.health .legend-star{color:var(--rec);flex:none}footer.health .dot{border-radius:50%;flex:none;width:9px;height:9px}.sitefoot{max-width:1120px;padding:var(--s4) var(--s5) var(--s6);border-top:1px solid var(--line);justify-content:space-between;gap:var(--s4);font-size:var(--t-2);color:var(--ink-faint);flex-wrap:wrap;margin:0 auto;display:flex}.sitefoot code{font-size:var(--t-2)}.sitefoot-start{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.legend-wrap{display:inline-block;position:relative}.legend-btn{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--r-sm);font-family:inherit;font-size:var(--t-1);color:var(--ink-soft);cursor:pointer;padding:3px 10px;font-weight:600}.legend-btn:hover{background:var(--hover);border-color:var(--focus);color:var(--ink)}.legend-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.legend-popover{z-index:90;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow);padding:var(--s4);width:min(380px,100vw - 48px);position:absolute;bottom:calc(100% + 12px);left:0}.legend-head{margin-bottom:var(--s2);justify-content:space-between;align-items:center;display:flex}.legend-head b{font-size:var(--t-3)}.legend-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:18px;line-height:1}.legend-close:hover{color:var(--ink)}.legend-intro{font-size:var(--t-2);color:var(--ink-soft);margin:0 0 var(--s3)}.legend-rows{margin-bottom:var(--s3);gap:6px;display:grid}.legend-row{align-items:center;gap:8px;display:flex}.legend-row .pace{flex:none;padding:2px 8px;font-size:11px}.legend-row span:last-child{font-size:var(--t-2);color:var(--ink-soft)}.legend-foot{border-top:1px solid var(--line);padding-top:var(--s2);font-size:var(--t-1);color:var(--ink-faint)}.scrim{background:var(--scrim);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s ease-out;position:fixed;inset:0}.scrim.is-open{opacity:1;pointer-events:auto}.drawer{z-index:41;background:var(--surface);border-left:1px solid var(--line-strong);visibility:hidden;width:min(480px,100%);transition:transform .22s var(--ease-out), visibility .22s;flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%);box-shadow:-24px 0 60px oklch(10% .02 292/.25)}.drawer.is-open{visibility:visible;transform:translate(0)}.drawer-head{align-items:flex-start;gap:var(--s3);padding:var(--s5);border-bottom:1px solid var(--line);display:flex}.drawer-head h2{font-size:var(--t-5);letter-spacing:-.015em;margin:0}.drawer-head .sub{font-size:var(--t-3);color:var(--ink-soft)}.drawer-close{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised);cursor:pointer;width:40px;height:40px;color:var(--ink);transition:background .14s ease, color .14s ease, transform .12s var(--ease-out);flex:none;place-items:center;margin-left:auto;display:grid}.drawer-close:hover{background:var(--canvas);color:var(--ink)}.drawer-close:active{transform:scale(.95)}.dsec{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}.dsec .why-block+.why-block{margin-top:var(--s3)}.why-block b{font-size:var(--t-2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:2px;display:block}.why-block span{font-size:var(--t-3)}.dsec h3{margin:0 0 var(--s3);font-size:var(--t-1);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.dsec p{font-size:var(--t-3);margin:0}.dkv{gap:4px var(--s3);font-size:var(--t-3);grid-template-columns:130px 1fr;display:grid}.dkv dt{color:var(--ink-soft)}.dkv dd{margin:0;font-weight:600}.advice-card{background:var(--surface-raised);border:1px solid color-mix(in srgb, var(--rec-edge) 55%, var(--line));padding:var(--s4);gap:var(--s3);box-shadow:0 0 0 1px color-mix(in srgb, var(--rec) 12%, transparent);border-radius:8px;display:grid}.rec-picon{background:var(--rec-soft)!important;color:var(--rec)!important;border:1px solid var(--rec-edge)!important}.rec-picon svg{width:18px;height:18px}.advice-card-main{justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.advice-card-lead{align-items:center;gap:var(--s3);display:flex}.advice-card-lead .sq{border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.advice-card-lead .sq svg{width:16px;height:16px}.advice-card-lead .name{font-size:var(--t-4);color:var(--ink);font-weight:700;line-height:1.2}.advice-card-stats{font-family:var(--font-mono);font-size:var(--t-2);color:var(--ink-soft);white-space:nowrap}.advice-card-stats b{color:var(--ink);font-weight:600}.advice-card-body{font-size:var(--t-3);color:var(--ink-soft);margin:0;line-height:1.45}.advice-card-body b{color:var(--ink);font-weight:600}.advice-cli{font-family:var(--font-mono);font-size:var(--t-2);background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:0;padding:10px 12px;overflow-x:auto}.draw-code-head{margin-top:var(--s3);justify-content:space-between;align-items:center;display:flex}.draw-code{margin:var(--s2) 0 0;padding:var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--canvas);font-family:var(--font-mono);font-size:var(--t-2);white-space:pre;color:var(--ink);line-height:1.6;overflow-x:auto}.alert{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--line));background:color-mix(in srgb, var(--danger) 2.5%, var(--surface));border-radius:var(--r-sm);padding:9px var(--s4);margin-bottom:var(--s4);font-size:var(--t-3);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.alert svg{color:var(--danger);flex:none}.alert span{flex:1;min-width:200px}.setup{gap:var(--s5);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.steps{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.steps li{gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line);display:flex}.steps .num{width:26px;height:26px;font-size:var(--t-2);border:1px solid var(--line-strong);color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.steps .is-now .num{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.steps .t{font-weight:600;font-size:var(--t-3);color:var(--ink)}.steps .d{font-size:var(--t-2);color:var(--ink-soft);display:block}.panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:var(--s5)}.panel-head h2{margin:var(--s1) 0 var(--s2);font-size:var(--t-5);letter-spacing:-.018em;color:var(--ink);font-weight:700}.panel-head p{color:var(--ink-soft);max-width:60ch;font-size:var(--t-3);margin:0}.privacy{gap:var(--s3);margin:var(--s4) 0 0;padding:var(--s3) var(--s4);background:var(--good-soft);border:1px solid var(--good);border-radius:var(--r-md);display:flex}.privacy b{font-size:var(--t-3);color:var(--ink);display:block}.privacy span{font-size:var(--t-3);color:var(--ink-soft)}.provlist{border-top:1px solid var(--line)}.provrow{gap:var(--s3);padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);font-size:var(--t-3);grid-template-columns:160px minmax(0,1fr) auto;align-items:center;display:grid}.provrow b{color:var(--ink);font-weight:600}.provrow .path{font-size:var(--t-2);color:var(--ink-soft);word-break:break-all}.provrow .path code{font-family:var(--font-mono);font-size:11px}.st-ready{color:var(--good);font-weight:600;font-size:var(--t-2);align-items:center;gap:5px;display:inline-flex}.st-todo{color:var(--warn);font-weight:600;font-size:var(--t-2);align-items:center;gap:5px;display:inline-flex}.preview{margin:var(--s5);border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:var(--s4);background:var(--canvas)}.panel-foot{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-top:1px solid var(--line);background:var(--surface-raised);display:flex}@media (width<=900px){main{padding:var(--s4) var(--s3) 56px}.cards{grid-template-columns:1fr}.lhead{display:none}.lrow{gap:var(--s2);padding:var(--s3);grid-template-columns:1fr}.drawer{border-left:0;width:100%}.setup{grid-template-columns:1fr}.provrow{grid-template-columns:1fr;gap:4px}}@media (width<=720px){html,body{overflow-x:hidden}}@media (width<=680px){.topbar{position:relative}.topbar-inner{height:auto;padding:var(--s2) var(--s4);gap:var(--s2);flex-wrap:wrap}.brand{flex:none;order:1}.topbar-end{order:2;gap:6px;margin-left:auto}.daemon,.daemon-addr{display:none}.rec-top{align-items:flex-start;gap:var(--s2);padding:var(--s3) var(--s4);flex-direction:column}.recB{padding:var(--s2) var(--s3) var(--s3)}.recB .lane{gap:var(--s2);grid-template-columns:1fr}}@media (width<=480px){.topbar-inner{padding:var(--s2) var(--s3)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cards-grid{gap:var(--s4);grid-template-columns:1fr;display:grid}@media (width>=901px){.cards,.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.table-scroll{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}[data-testid=pin],[data-testid=cluster-pin]{min-height:24px}
|