:root{color-scheme:dark;--background: oklch(.18 .012 260);--surface: oklch(.22 .014 260);--surface-raised: oklch(.26 .016 260);--border: oklch(.32 .018 260);--foreground: oklch(.92 .008 260);--muted-foreground: oklch(.68 .012 260);--primary: oklch(.78 .14 75);--primary-foreground: oklch(.22 .03 75);--secondary: oklch(.74 .045 200);--secondary-foreground: oklch(.2 .02 200);--success: oklch(.72 .15 150);--destructive: oklch(.62 .19 25);--destructive-foreground: oklch(.96 .01 25);--radius: .5rem;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "Fira Code", monospace;--motion-fast: .15s;--motion-base: .3s;--motion-ease: ease-out;accent-color:var(--primary)}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.5;background-image:radial-gradient(60rem 40rem at 85% -10%,oklch(.78 .14 75 / .07),transparent 60%);background-attachment:fixed}a{color:var(--primary)}.muted{color:var(--muted-foreground)}.note{color:var(--muted-foreground);font-size:14px}.fine{color:var(--muted-foreground);font-size:13px}.mono{font-family:var(--font-mono)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}.shell{display:flex;min-height:100vh}.main-pane{flex:1;min-width:0}.sidebar{flex:none;width:224px;display:flex;flex-direction:column;gap:4px;padding:0 8px 8px;border-right:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:8px;padding:20px 8px;color:var(--foreground);background:none;border:0;font:inherit;text-align:left;cursor:pointer}.brand:hover{opacity:.85}.brand img{width:28px;height:28px}.brand .wordmark{font-size:1.125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.menu{display:flex;flex-direction:column;gap:4px}.menu-item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius);color:var(--muted-foreground);font-size:.875rem;line-height:1.25rem;text-decoration:none;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.menu-item svg{flex:none;width:16px;height:16px}a.menu-item:hover{background:var(--surface-raised);color:var(--foreground)}.menu-item.is-active{background:#eba9411a;color:var(--foreground)}.menu-item.is-soon{opacity:.5;cursor:default}.menu-item .menu-label{flex:1;min-width:0}.tag-soon{flex:none;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.portal-link{margin-top:auto;position:relative;display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius);color:var(--muted-foreground);font-size:.8rem;text-decoration:none;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.portal-link:before{content:"";position:absolute;left:-8px;right:-8px;top:-8px;border-top:1px solid var(--border)}.portal-link:hover{background:var(--surface-raised);color:var(--foreground)}.portal-link img{width:20px;height:20px;border-radius:999px}@media (max-width: 720px){.shell{flex-direction:column}.sidebar{width:auto;border-right:0;border-bottom:1px solid var(--border)}.menu{flex-direction:row;flex-wrap:wrap}.portal-link{margin-top:0}.portal-link:before{display:none}}.container{max-width:960px;margin:0 auto;padding:0 32px 32px}.page-head{padding:32px 0 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{display:flex;align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.page-title svg{flex:none;width:20px;height:20px;color:var(--primary)}.page-sub{margin:4px 0 0;color:var(--muted-foreground);font-size:.875rem}.card{margin-top:24px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 1px 2px #0000000d}.card--danger{border-color:#e2494773}.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.card-title{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:-.025em}.card-title svg{flex:none;width:16px;height:16px;color:var(--primary)}.card-actions{display:flex;align-items:center;gap:8px}.card-desc{margin:6px 0 0;color:var(--muted-foreground);font-size:.875rem;line-height:1.45}.card-content{margin-top:24px}.btn-primary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:var(--radius);font-size:.875rem;font-weight:500;font-family:inherit;line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.btn-primary{border:1px solid transparent;background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background:#eba941e6}.btn-ghost{border:1px solid var(--border);background:var(--surface-raised);color:var(--foreground)}.btn-ghost:hover{background:var(--surface)}.btn-danger{border:1px solid var(--destructive);background:transparent;color:var(--destructive)}.btn-danger:hover{background:#e249471f}.btn-primary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible,.icon-btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}.btn-primary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.icon-btn:disabled{opacity:.5;pointer-events:none}.btn-primary svg,.btn-ghost svg,.btn-danger svg{width:16px;height:16px}.btn-sm{height:32px;padding:0 12px;font-size:.75rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.icon-btn:hover{background:var(--surface-raised);color:var(--foreground)}.icon-btn svg{width:16px;height:16px}.field-label{display:block;margin-bottom:6px;font-size:.875rem;font-weight:500;color:var(--muted-foreground)}input[type=text],input[type=search],input:not([type]),textarea{font:inherit;font-size:.875rem;color:var(--foreground);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0 12px;height:36px;transition:border-color var(--motion-fast) var(--motion-ease)}textarea{height:auto;min-height:80px;padding:8px 12px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted-foreground)}input:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--primary)}input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}input:disabled,textarea:disabled{opacity:.5}.error-text{color:var(--destructive);font-size:.875rem;margin:8px 0 0}.empty-state{margin:0;padding:48px 16px;border:1px solid var(--border);border-radius:var(--radius);text-align:center;color:var(--muted-foreground);font-size:.875rem}.busy{display:inline-flex;align-items:center;gap:8px;color:var(--muted-foreground);font-size:.875rem}.busy-spin{width:16px;height:16px;animation:busy-rotate 1s linear infinite}@keyframes busy-rotate{to{transform:rotate(360deg)}}.status-line{color:var(--muted-foreground);font-size:.875rem;margin:8px 0 0}.chip{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:500;padding:2px 8px;border-radius:999px;white-space:nowrap;color:var(--muted-foreground);background:color-mix(in oklab,currentcolor 15%,transparent)}table.data{border-collapse:collapse;width:100%}table.data th{text-align:left;color:var(--muted-foreground);font-size:.75rem;font-weight:500;border-bottom:1px solid var(--border);padding:6px 8px}table.data td{border-bottom:1px solid var(--border);padding:8px;font-size:.875rem}table.data tbody tr{transition:background var(--motion-fast) var(--motion-ease)}table.data tbody tr:hover{background:var(--surface-raised)}ul.list{list-style:none;padding:0;margin:0}ul.list>li{padding:10px 0;border-bottom:1px solid var(--border)}ul.list>li:last-child{border-bottom:0}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}td.error-cell{color:var(--destructive)}.inline-icon{width:14px;height:14px;vertical-align:-2px;margin-right:4px}.disclosure{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.disclosure svg{flex:none;width:14px;height:14px;color:var(--muted-foreground);transition:transform var(--motion-fast) var(--motion-ease)}.disclosure[aria-expanded=true] svg{transform:rotate(90deg)}.progress-track{height:4px;border-radius:999px;background:var(--surface-raised);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--primary)}.form-grid{display:flex;flex-direction:column;gap:16px;text-align:left}.form-grid input,.form-grid textarea{width:100%}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.form-actions .error-text,.form-actions .status-line{margin:0 auto 0 0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#00000080}.dialog-card{position:relative;width:100%;max-width:448px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.5);box-shadow:0 24px 60px -20px #0009}.dialog-card:focus-visible{outline:none}.dialog-title{margin:0 0 6px;font-size:1rem;font-weight:600;letter-spacing:-.025em}.dialog-desc{margin:0 0 20px;color:var(--muted-foreground);font-size:.875rem;line-height:1.45}.dialog-card--center{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px;text-align:center}.dialog-card--center .dialog-title,.dialog-card--center .dialog-desc{margin:0}.dialog-mark{width:56px;height:56px}.dialog-wordmark{margin:0;font-size:1.15rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.dialog-credit{margin:0;color:var(--muted-foreground);font-size:.8rem}.select{position:relative;display:grid}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px 0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--foreground);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--motion-ease)}.select-trigger:hover:not(:disabled){border-color:var(--primary)}.select-trigger:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}.select-trigger:disabled{opacity:.5;cursor:not-allowed}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value.is-placeholder{color:var(--muted-foreground)}.select-trigger>svg{flex:none;width:14px;height:14px;color:var(--muted-foreground);transition:transform var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.select[data-open=true] .select-trigger>svg{transform:rotate(180deg);color:var(--primary)}.select-popup{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;display:block;max-height:288px;overflow:auto;padding:4px 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 15px -3px #00000059}.select-filter{display:block;padding:4px 8px 8px;border-bottom:1px solid var(--border)}.select-filter input{width:100%;height:32px}.select-options{display:block}.select-empty{display:block;padding:10px 12px;color:var(--muted-foreground);font-size:.875rem}.select-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;border:0;background:transparent;color:var(--muted-foreground);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.select-option.is-active{background:var(--surface-raised);color:var(--foreground);box-shadow:inset 2px 0 0 var(--primary)}.select-option.is-selected{background:#eba94126;color:var(--foreground)}.select-option.is-selected.is-active{background:#eba94138}.select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-check{flex:none;width:14px;height:14px;color:var(--primary);opacity:0}.select-option.is-selected .select-check{opacity:1}.datefield{position:relative;display:grid}.datefield-input{width:100%;height:36px;padding:0 36px 0 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--foreground);font:inherit;font-size:.875rem;font-variant-numeric:tabular-nums;transition:border-color var(--motion-fast) var(--motion-ease)}.datefield-input[aria-invalid=true]{border-color:var(--destructive)}.datefield-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.datefield-toggle:hover:not(:disabled),.datefield-toggle[aria-expanded=true]{background:var(--surface-raised);color:var(--primary)}.datefield-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}.datefield-toggle:disabled{opacity:.5;cursor:not-allowed}.datefield-toggle svg{width:16px;height:16px}.calendar{position:absolute;top:calc(100% + 4px);left:0;z-index:30;display:block;width:272px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 15px -3px #00000059}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.calendar-month{font-size:.875rem;font-weight:500}.calendar-nav{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.calendar-nav:hover{background:var(--surface-raised);color:var(--primary)}.calendar-nav:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}.calendar-nav svg{width:16px;height:16px}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:4px 0;text-align:center;color:var(--muted-foreground);font-size:.7rem;font-weight:500}.calendar-day{height:32px;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--foreground);font:inherit;font-size:.8125rem;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.calendar-day:hover{background:var(--surface-raised)}.calendar-day.is-outside{color:var(--muted-foreground);opacity:.6}.calendar-day.is-today{color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.calendar-day.is-selected{background:var(--primary);color:var(--primary-foreground);font-weight:600;opacity:1;box-shadow:none}.calendar-day:focus-visible{outline:none;box-shadow:0 0 0 2px var(--primary)}.calendar-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.calendar-link{padding:2px 4px;border:0;border-radius:calc(var(--radius) - 3px);background:transparent;color:var(--primary);font:inherit;font-size:.8rem;cursor:pointer}.calendar-link:hover{text-decoration:underline}.section-layout{max-width:1152px;margin:0 auto;padding:0 32px 32px;display:flex;gap:24px;align-items:flex-start}.section-body{flex:1;min-width:0}.section-nav{flex:none;width:240px;display:flex;flex-direction:column;gap:4px;padding-top:40px;position:sticky;top:0}.section-nav-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:var(--radius);background:transparent;color:var(--muted-foreground);font:inherit;font-size:.875rem;text-align:left;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.section-nav-item svg{flex:none;width:16px;height:16px}.section-nav-item:hover{background:var(--surface-raised);color:var(--foreground)}.section-nav-item.is-active{background:#eba9411a;color:var(--foreground)}.section-nav-count{flex:none;font-size:.75rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}@media (max-width: 900px){.section-layout{flex-direction:column}.section-nav{width:100%;flex-direction:row;flex-wrap:wrap;position:static;padding-top:16px}}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius);background:var(--surface-raised);margin:16px 0}.tab{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border:0;border-radius:calc(var(--radius) - 2px);background:transparent;color:var(--muted-foreground);font:inherit;font-size:.875rem;cursor:pointer;transition:background var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease)}.tab.is-active{background:var(--surface);color:var(--foreground)}.tab-count{font-size:.6875rem;font-weight:600;padding:0 6px;border-radius:999px;color:var(--primary);background:#eba94126}.backlink{display:inline-flex;align-items:center;gap:6px;color:var(--muted-foreground);font-size:.875rem;text-decoration:none;transition:color var(--motion-fast) var(--motion-ease)}.backlink:hover{color:var(--foreground)}.backlink svg{width:16px;height:16px}.kv-grid{margin:0;display:flex;flex-direction:column;gap:8px}.kv-row{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:baseline}.kv-row dt{color:var(--muted-foreground);font-size:.8125rem}.kv-row dd{margin:0;font-size:.875rem;overflow-wrap:anywhere}.blob-media{max-width:320px;max-height:240px;border-radius:var(--radius);border:1px solid var(--border);display:block}.blob-audio{display:block;width:320px;accent-color:var(--primary)}.trend-chart svg{display:block;width:100%;height:auto}.trend-chart svg:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius)}.trend-line{fill:none;stroke:var(--secondary);stroke-width:1.5}.trend-dot{fill:var(--secondary)}.trend-dot-active{fill:var(--primary)}.trend-band{fill:#8ab4b614}.trend-grid{stroke:var(--border);stroke-width:.5}.trend-cursor{stroke:var(--muted-foreground);stroke-width:.75;stroke-dasharray:2 3}.trend-goal{stroke:var(--primary);stroke-width:1;stroke-dasharray:5 4}.trend-goal-label,.trend-tick{font-size:11px;fill:var(--muted-foreground);font-variant-numeric:tabular-nums}.trend-goal-label{fill:var(--primary)}.trend-readout{margin:6px 0 0;min-height:1.3em;color:var(--muted-foreground);font-size:.8125rem;font-variant-numeric:tabular-nums}.filter-row{display:flex;gap:8px;margin-bottom:16px}.filter-row .select{min-width:160px}.load-more{display:flex;justify-content:center;padding:16px 0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-error{margin:4px 0 0;color:var(--destructive);font-size:.8125rem}.field-help{margin:4px 0 0;color:var(--muted-foreground);font-size:.8125rem}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;margin:0}.checkbox-group{display:flex;flex-direction:column;gap:6px}.unit-wrap{position:relative;display:block}.unit-wrap input{width:100%;padding-right:48px}.unit-suffix{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--muted-foreground);font-size:.8125rem;pointer-events:none}a.btn-primary,a.btn-ghost,a.icon-btn{text-decoration:none}.formula-block{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.diff-wrap{margin-top:8px}.diff-table td{vertical-align:top;overflow-wrap:anywhere}.diff-table td.mono{white-space:nowrap;font-size:.8125rem}tr.diff-changed td{background:#eba94114}.group-title{margin:24px 0 4px;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.tabular{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
