@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/e629b5bc06499d58-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_6cbc0d5f-module__dx4leq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_6cbc0d5f-module__dx4leq__variable{--font-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_1b97ba4b-module__NjNj1a__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_1b97ba4b-module__NjNj1a__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
:root{--color-canvas:#f6f6fb;--color-canvas-dot:#dcdeee;--color-surface:#fff;--color-surface-muted:#f2f2f9;--color-surface-hover:#f5f5ff;--color-border:#e4e5f0;--color-border-strong:#cfd1e3;--color-border-control:#8387a6;--color-ink:#1b1a33;--color-ink-muted:#4a4d68;--color-ink-subtle:#62668a;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-primary-press:#3730a3;--color-primary-soft:#eef0ff;--color-on-primary:#fff;--color-link:#4338ca;--color-focus:#4f46e5;--color-focus-glow:#4f46e52e;--color-accent:#f97316;--color-marker:#fde68a;--gradient-signature:linear-gradient(90deg, #4f46e5 0%, #8b5cf6 28%, #ec4899 55%, #f97316 80%, #f59e0b 100%);--gradient-brand:linear-gradient(135deg, #6366f1 0%, #8b5cf6 55%, #ec4899 100%);--color-blueprint:#1e1b4b;--color-blueprint-deep:#1a2257;--color-blueprint-line:#a5b4fc12;--color-on-blueprint:#e0e7ff;--color-on-blueprint-muted:#a5b4fc;--color-on-blueprint-subtle:#8b93d9;--color-exception-ink:#92400e;--color-exception-bg:#fef3c7;--color-exception-border:#f59e0b;--color-success-ink:#166534;--color-success-bg:#dcfce7;--color-success-border:#86efac;--color-danger-ink:#b91c1c;--color-danger-bg:#fee2e2;--color-danger-border:#fca5a5;--color-info-ink:#3730a3;--color-info-bg:#e0e7ff;--color-info-border:#a5b4fc;--color-neutral-ink:#3f4262;--color-neutral-bg:#eef0f6;--font-sans:var(--font-jakarta), ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-display:var(--font-bricolage), var(--font-sans);--font-mono:ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:.9375rem;--text-lg:1.1875rem;--text-xl:1.5rem;--text-2xl:1.875rem;--leading-tight:1.2;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #1b1a330d, 0 2px 8px #1b1a330a;--shadow-md:0 2px 4px #1b1a330d, 0 10px 24px #312e8117;--shadow-lg:0 4px 8px #1b1a330f, 0 18px 40px #312e8124;--shadow-dialog:0 24px 64px #1e1b4b47;--control-height:36px;--row-height:38px;--sidebar-width:248px;--topbar-height:60px;--duration-fast:.15s;--duration-base:.22s;--duration-slow:.42s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}[data-hue=indigo]{--hue-soft:#e0e7ff;--hue-strong:#4338ca;--hue-bright:#a5b4fc}[data-hue=sky]{--hue-soft:#e0f2fe;--hue-strong:#0369a1;--hue-bright:#7dd3fc}[data-hue=teal]{--hue-soft:#ccfbf1;--hue-strong:#0f766e;--hue-bright:#5eead4}[data-hue=emerald]{--hue-soft:#d1fae5;--hue-strong:#047857;--hue-bright:#6ee7b7}[data-hue=amber]{--hue-soft:#fef3c7;--hue-strong:#b45309;--hue-bright:#fcd34d}[data-hue=orange]{--hue-soft:#ffedd5;--hue-strong:#c2410c;--hue-bright:#fdba74}[data-hue=pink]{--hue-soft:#fce7f3;--hue-strong:#be185d;--hue-bright:#f9a8d4}[data-hue=violet]{--hue-soft:#ede9fe;--hue-strong:#6d28d9;--hue-bright:#c4b5fd}@media (pointer:coarse){:root{--control-height:44px;--row-height:44px}}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-canvas);background-image:radial-gradient(var(--color-canvas-dot) 1px, transparent 1.2px);min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;background-size:22px 22px;margin:0}::selection{background:var(--color-marker);color:var(--color-ink)}h1,h2,h3{line-height:var(--leading-tight);font-weight:var(--weight-bold);margin:0}h1,h2{font-family:var(--font-display);letter-spacing:-.02em}h1{font-size:var(--text-xl);font-weight:var(--weight-black)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}p{margin:0}a{color:var(--color-link);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-primary-press);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}code{border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-info-ink);font-family:var(--font-mono);padding:1px 6px;font-size:.92em}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.num{font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap}.muted{color:var(--color-ink-muted)}.subtle{color:var(--color-ink-subtle);font-size:var(--text-sm)}.btn{--btn-edge:var(--color-border-strong);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 2px 0 var(--btn-edge);color:var(--color-ink);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, transform var(--duration-fast) var(--ease-out);line-height:1;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-ink);box-shadow:0 3px 0 var(--btn-edge);transform:translateY(-1px)}.btn:active:not(:disabled){box-shadow:0 0 0 var(--btn-edge);transform:translateY(2px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{--btn-edge:var(--color-primary-press);background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-on-primary)}.btn-danger{--btn-edge:var(--color-danger-border);color:var(--color-danger-ink);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger-ink);color:var(--color-danger-ink)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-primary-soft);box-shadow:none;border-color:#0000}.btn-ghost:active:not(:disabled){transform:none}.btn-sm{min-height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.btn svg{flex:none}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field>label,.field-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink)}.field-hint{font-size:var(--text-xs);color:var(--color-ink-subtle)}.field-error{gap:var(--space-1);font-size:var(--text-sm);color:var(--color-danger-ink);align-items:flex-start;display:flex}.input,.select,.textarea{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--text-md);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease}.input:hover:not(:disabled),.select:hover:not(:disabled),.textarea:hover:not(:disabled){border-color:var(--color-ink-muted)}.select{cursor:pointer}.textarea{padding:var(--space-2) var(--space-3);resize:vertical;min-height:72px}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger-ink);box-shadow:inset 0 0 0 1px var(--color-danger-ink)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:0;border-color:var(--color-focus);box-shadow:0 0 0 5px var(--color-focus-glow)}.input.num{text-align:right}.form-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel-body{padding:var(--space-4) var(--space-5)}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.panel-header h2,.panel-header h3{font-family:var(--font-display);letter-spacing:-.01em}a.panel{transition:transform var(--duration-base) var(--ease-spring), box-shadow var(--duration-base) ease, border-color var(--duration-base) ease}a.panel:hover{border-color:var(--color-info-border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.cluster{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow-x:auto}.table-scroll:focus-visible{outline-offset:0}.table-scroll.flush{box-shadow:none;border:0;border-radius:0}table.data{border-collapse:collapse;width:100%;font-size:var(--text-md)}table.data caption{padding:var(--space-3) var(--space-4);text-align:left;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-base);caption-side:top}table.data th,table.data td{height:var(--row-height);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}table.data th:first-child,table.data td:first-child{padding-left:var(--space-4)}table.data th:last-child,table.data td:last-child{padding-right:var(--space-4)}table.data thead th{z-index:1;background:var(--color-surface-muted);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-ink-muted);white-space:nowrap;position:sticky;top:0}table.data tbody tr{transition:background-color var(--duration-fast) ease}table.data tbody tr:hover{background:var(--color-surface-hover)}table.data tbody tr:last-child>*{border-bottom:0}table.data tfoot td,table.data tfoot th{background:var(--color-surface-muted);font-weight:var(--weight-bold);border-top:2px solid var(--color-border-strong);border-bottom:0}table.data th.num,table.data td.num{text-align:right}table.data tr.section-row th{background:var(--color-surface);font-family:var(--font-display);font-size:var(--text-md);color:var(--color-ink);border-top:1px solid var(--color-border-strong)}table.data .row-link{color:inherit;font-weight:var(--weight-medium);text-decoration:none}table.data .row-link:hover{color:var(--color-link);text-decoration:underline}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2) 2px 6px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;line-height:18px;display:inline-flex;box-shadow:inset 0 0 0 1px #1b1a330f}.badge svg{width:14px;height:14px}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-ink)}.badge-info{background:var(--color-info-bg);color:var(--color-info-ink)}.badge-success{background:var(--color-success-bg);color:var(--color-success-ink)}.badge-exception{background:var(--color-exception-bg);color:var(--color-exception-ink)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-ink)}.badge-plan-free,.badge-plan-pro,.badge-plan-max{padding:2px var(--space-2);position:relative}.badge-plan-free{background:var(--color-neutral-bg);color:var(--color-neutral-ink)}.badge-plan-pro{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 0 0 1px #4f46e54d}.badge-plan-max{background:linear-gradient(var(--color-surface), var(--color-surface)) padding-box, var(--gradient-brand) border-box;color:var(--color-ink);box-shadow:none;border:1.5px solid #0000}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-md);border:1px solid;border-left-width:4px;align-items:flex-start;display:flex}.alert svg{flex:none;margin-top:2px}.alert-exception{background:var(--color-exception-bg);border-color:var(--color-exception-border);color:var(--color-exception-ink)}.alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-ink)}.alert-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-ink)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info-ink)}.alert ul{margin:var(--space-1) 0 0;padding-left:var(--space-4)}.alert-success{animation:pop-in var(--duration-slow) var(--ease-spring)}.error-summary{padding:var(--space-3) var(--space-4);border:2px solid var(--color-danger-ink);border-radius:var(--radius-md);background:var(--color-surface)}.error-summary h2{font-size:var(--text-base);color:var(--color-danger-ink)}.error-summary ul{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--text-md)}.error-summary a{color:var(--color-danger-ink)}.error-summary:focus-visible{outline-offset:3px}dialog.dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(560px,100vw - 32px);box-shadow:var(--shadow-dialog);color:var(--color-ink);padding:0;overflow:hidden}dialog.dialog[open]{animation:pop-in var(--duration-base) var(--ease-out)}dialog.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e1b4b80}.dialog-header{padding:var(--space-5) var(--space-5) var(--space-2)}.dialog-body{padding:var(--space-2) var(--space-5) var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.dialog-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface-muted);display:flex}dl.facts{gap:var(--space-1) var(--space-4);font-size:var(--text-md);grid-template-columns:max-content 1fr;margin:0;display:grid}dl.facts dt{color:var(--color-ink-muted)}dl.facts dd{margin:0}.spinner{background:conic-gradient(#0000 10%,#6366f1,#ec4899,#f97316);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.btn-primary .spinner{background:conic-gradient(#0000 10%,#fff)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border-strong);display:flex;overflow-x:auto}.tab{min-height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-ink-muted);font:inherit;font-size:var(--text-md);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:color var(--duration-fast) ease, background-color var(--duration-fast) ease;background:0 0;border:0;position:relative}.tab:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--gradient-brand);height:3px;transition:transform var(--duration-base) var(--ease-out);border-radius:3px 3px 0 0;position:absolute;bottom:-1px;transform:scaleX(0)}.tab:hover{color:var(--color-ink);background:var(--color-primary-soft)}.tab[aria-selected=true]{color:var(--color-primary)}.tab[aria-selected=true]:after{transform:scaleX(1)}.plan-includes{gap:var(--space-1);padding-left:var(--space-5);margin:0;display:grid}@keyframes pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page-enter{animation:rise-in var(--duration-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.page-enter,.alert-success,dialog.dialog[open]{animation:none}}.empty-state{padding:var(--space-6) var(--space-5);text-align:center;flex-direction:column;align-items:center;display:flex}.empty-state h3{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.01em}.empty-state>.muted{max-width:56ch}.empty-art{width:132px;height:auto;margin-bottom:var(--space-3)}.empty-pencil{transform-box:fill-box;transform-origin:0 100%;animation:1.2s ease-in-out 3 doodle}@keyframes doodle{0%,to{transform:rotate(0)translate(0)}50%{transform:rotate(-7deg)translate(-3px,1px)}}@media (prefers-reduced-motion:reduce){.empty-pencil{animation:none}}@media print{@page{size:letter portrait;margin:12mm 10mm 14mm;@bottom-right{content:"Page " counter(page) " of " counter(pages);font-family:system-ui,sans-serif;font-size:8pt}}@page{@bottom-left{font-family:system-ui,sans-serif;font-size:8pt}}body{background:0 0}[data-print=hide],.tabs{display:none!important}}
