:root{color-scheme:dark;--bg: #000000;--surface: #0a0a0c;--surface-2: #0f0f13;--surface-3: #15151c;--line: #1a1a24;--line-strong: #262633;--line-hover: #34344a;--ink: #f8fafc;--ink-2: #94a3b8;--ink-3: #7a8699;--ink-icon: #64748b;--accent: #a855f7;--accent-hover: #b874f9;--accent-ink: #c084fc;--accent-soft: rgba(168, 85, 247, .1);--accent-line: rgba(168, 85, 247, .32);--glow: rgba(168, 85, 247, .15);--data: #7c6aa6;--success: #34d399;--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .08);--danger-line: rgba(251, 113, 133, .3);--warn: #fbbf24;--track: #14141c;--font-head: "Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--r-lg: 10px;--r-md: 8px;--r-sm: 6px;--ease: cubic-bezier(.16, 1, .3, 1);--t: .18s var(--ease)}*{box-sizing:border-box}html,body{margin:0}html{background:var(--bg);scrollbar-color:var(--line-strong) var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:13.5px;line-height:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;caret-color:var(--accent);font-feature-settings:"cv11","ss01"}::selection{background:#a855f759;color:var(--ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--line-hover)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-head)}a{color:var(--accent-ink);text-underline-offset:3px;text-decoration-thickness:1px;transition:color var(--t)}a:hover{color:#d8b4fe}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--glow);border-radius:var(--r-sm)}.sr-only{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.mono{font-size:12px}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.ink{color:var(--ink)}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.spacer{flex:1 1 auto}.boot{min-height:100vh;background:var(--bg)}.shell{display:flex;min-height:100vh}.sidebar{flex:0 0 240px;display:flex;flex-direction:column;gap:2px;padding:14px 10px;background:var(--bg);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;color:var(--ink);text-decoration:none}.brand:hover{color:var(--ink)}.brand-mark{display:grid;place-items:center;flex-shrink:0;border-radius:var(--r-md);background:radial-gradient(120% 120% at 30% 20%,#a855f747,#a855f70f 70%),var(--surface);border:1px solid var(--accent-line);color:var(--accent-ink)}.brand-name{display:block;font-family:var(--font-head);font-size:15px;line-height:18px;font-weight:600;letter-spacing:-.02em}.brand-sub{display:block;font-size:11.5px;line-height:14px;color:var(--ink-3);margin-top:2px;letter-spacing:.02em}.nav-group{display:grid;gap:1px;padding-bottom:10px}.nav-group+.nav-group{border-top:1px solid var(--line);padding-top:6px}.nav-label{font-family:var(--font-head);font-size:10.5px;line-height:14px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px 6px}.nav-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;border:1px solid transparent;border-radius:var(--r-md);background:none;color:var(--ink-2);font-size:13.5px;font-weight:500;text-decoration:none;cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t),box-shadow var(--t)}.nav-item svg{color:var(--ink-icon);flex-shrink:0;transition:color var(--t)}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item:hover svg{color:var(--ink-2)}.nav-item[aria-current=page]{background:linear-gradient(90deg,var(--accent-soft),rgba(168,85,247,.03));border-color:var(--accent-line);color:var(--ink);box-shadow:0 0 24px -10px #a855f799}.nav-item[aria-current=page] svg{color:var(--accent)}.nav-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.nav-project{min-height:30px;padding-top:4px;padding-bottom:4px;font-size:13px}.nav-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;margin:0 6px}.nav-dot.off{background:var(--ink-icon);box-shadow:none}.profile{margin-top:auto;padding:12px 4px 2px 8px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--r-md);flex-shrink:0;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--ink-2);font-family:var(--font-mono);font-size:11px;font-weight:600}.avatar-lg{width:44px;height:44px;font-size:14px;border-radius:var(--r-lg)}.profile-meta{display:grid;min-width:0;flex:1;color:var(--ink);text-decoration:none;border-radius:var(--r-sm)}.profile-meta:hover{color:var(--accent-ink)}.profile-meta span:first-child{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-meta span:last-child{font-size:11.5px;color:var(--ink-3)}.main-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 28px;min-height:52px;background:#000000b8;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink-3);min-width:0}.crumb{display:inline-flex;align-items:center;gap:8px;min-width:0}.crumb svg{color:var(--ink-icon)}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--ink)}.crumbs [aria-current]{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-btn,.nav-scrim{display:none}main{position:relative;isolation:isolate;flex:1 1 auto;padding:22px 28px 48px;max-width:1480px;width:100%}.page-head{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px}.page-head:before{content:"";position:absolute;z-index:-1;pointer-events:none;left:-120px;top:-150px;width:640px;height:300px;background:radial-gradient(closest-side,rgba(168,85,247,.15),rgba(168,85,247,.05) 55%,transparent)}.page-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-md);flex-shrink:0;background:var(--surface);border:1px solid var(--line-strong);color:var(--ink-2)}.page-title{flex:1 1 300px;min-width:0}.page-title h1{font-size:21px;line-height:28px;font-weight:600;letter-spacing:-.025em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.page-title p{font-size:13px;line-height:18px;color:var(--ink-2);margin-top:1px}.page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}.section-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:14px}.section-bar p{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:6px 13px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t),transform var(--t)}.btn svg{color:var(--ink-2);transition:color var(--t)}.btn:hover{background:var(--surface-3);border-color:var(--line-hover);color:var(--ink)}.btn:hover svg{color:var(--ink)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.btn-primary svg{color:#000}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#000;box-shadow:0 0 0 3px var(--glow),0 6px 24px -6px #a855f7b3}.btn-primary:hover svg{color:#000}.btn-primary:disabled{opacity:1;background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink);box-shadow:none}.btn-primary:disabled svg{color:var(--accent-ink)}.btn-danger{background:transparent;border-color:var(--danger-line);color:var(--danger)}.btn-danger svg{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-danger:hover svg{color:var(--danger)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#000;font-weight:600}.btn-danger-solid:hover{background:#fda4af;border-color:#fda4af;color:#000}.btn-ghost{border-color:transparent;background:none;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);border-color:transparent}.btn-sm{min-height:28px;padding:3px 10px;font-size:12.5px;border-radius:var(--r-sm)}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--r-sm);border:1px solid transparent;background:none;color:var(--ink-icon);cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t)}.icon-btn:hover{background:var(--surface-2);border-color:var(--line);color:var(--ink)}.seg{display:inline-flex;padding:2px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.seg button{min-height:28px;padding:3px 11px;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--ink-3);font-family:var(--font-body);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t),box-shadow var(--t)}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--ink);box-shadow:0 0 14px -6px #a855f7b3}.field{display:grid;gap:6px}.field+.field{margin-top:14px}.field label{font-size:12.5px;font-weight:500;color:var(--ink-2)}.field .hint{font-size:12px;color:var(--ink-3)}.input,.select,.textarea{width:100%;min-height:36px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink);font-size:13.5px;transition:border-color var(--t),box-shadow var(--t),background var(--t)}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-hover)}.textarea{min-height:84px;resize:vertical;line-height:20px}.input::placeholder,.textarea::placeholder{color:var(--ink-3);opacity:1}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--glow),0 0 20px -8px #a855f799;background:var(--surface)}.input[type=date]{font-family:var(--font-mono);font-size:12px}.input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select option{background:var(--surface);color:var(--ink)}.select-sm,.input-sm{min-height:32px;padding-top:4px;padding-bottom:4px;width:auto;font-size:12.5px}.select-sm{padding-right:30px}.search{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--ink-icon);transition:border-color var(--t),box-shadow var(--t)}.search input{flex:1;min-width:0;border:0;background:none;outline:none;color:var(--ink);font-size:13px}.search input::placeholder{color:var(--ink-3)}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);color:var(--accent-ink)}.date-field{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.check{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500;color:var(--ink-2);cursor:pointer;min-height:32px}.check input{width:15px;height:15px;accent-color:var(--accent)}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch .track{width:36px;height:20px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line-strong);position:relative;transition:background var(--t),border-color var(--t),box-shadow var(--t);flex-shrink:0}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ink-2);transition:transform var(--t),background var(--t)}.switch input:checked+.track{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 14px -4px #a855f7b3}.switch input:checked+.track:after{transform:translate(16px);background:var(--accent)}.switch input:focus-visible+.track{outline:1px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;min-width:0}.card-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.card-head>div:first-child{flex:1 1 200px;min-width:0}.card h2{font-size:14px;line-height:20px;font-weight:600;letter-spacing:-.015em}.card-sub{font-size:12.5px;line-height:18px;color:var(--ink-3);margin-top:1px}.card-flush{padding:0;overflow:hidden}.card-fill{display:flex;flex-direction:column}.card-flush .card-head{padding:16px 18px 0}.card-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.card-actions p{flex:1 1 220px}.stack{display:grid;gap:14px}.grid-2{display:grid;gap:14px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:stretch}.grid-2-even{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.grid-2>.stack{display:flex;flex-direction:column;gap:14px}.grid-2>.stack>.card:last-child{flex:1}@media(max-width:1100px){.grid-2,.grid-2-even{grid-template-columns:minmax(0,1fr)}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.kpi{position:relative;padding:14px 16px 16px;min-width:0;background:var(--surface);transition:background var(--t)}.kpi:hover{background:#0c0c10}.kpi-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.kpi-icon{display:grid;place-items:center;width:22px;height:22px;border-radius:var(--r-sm);color:var(--ink-icon);border:1px solid var(--line-strong);background:var(--surface-2);flex-shrink:0}.kpi-icon svg{width:13px;height:13px}.kpi-label{font-family:var(--font-head);font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.kpi-value{font-family:var(--font-mono);font-size:28px;line-height:32px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.kpi-value small{font-size:13px;font-weight:400;color:var(--ink-3);letter-spacing:0;margin-left:4px}.kpi-foot{font-size:12px;line-height:16px;color:var(--ink-3);margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.delta-up,.delta-down{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;padding:0 6px;border-radius:4px;line-height:18px}.delta-up{color:var(--success);background:#34d39914}.delta-down{color:var(--danger);background:var(--danger-soft)}.badge{display:inline-flex;align-items:center;gap:6px;padding:0 7px;border-radius:4px;border:1px solid;font-family:var(--font-mono);font-size:10.5px;line-height:18px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.page-title .badge{font-family:var(--font-mono)}.badge-live{background:#34d39912;border-color:#34d39947;color:var(--success)}.badge-live:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2.4s var(--ease) infinite}.badge-off{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-3)}.badge-off:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-admin{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.badge-owner{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-2)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.rating-pill{display:inline-flex;align-items:center;gap:4px;min-width:38px;padding:0 7px;border-radius:4px;border:1px solid;font-family:var(--font-mono);font-weight:600;font-size:12px;line-height:20px;font-variant-numeric:tabular-nums}.rating-pill svg{flex-shrink:0;width:10px;height:10px}.rp-1{background:#fb718514;border-color:#fb71854d;color:#fb7185}.rp-2{background:#fb923c14;border-color:#fb923c4d;color:#fb923c}.rp-3{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-2)}.rp-4{background:#9b8ac412;border-color:#9b8ac442;color:#b7a9db}.rp-5{background:#7c6aa629;border-color:#9b8ac466;color:#ddd3f5}.stars{display:inline-flex;gap:2px;color:var(--accent)}.stars .off{color:var(--line-strong)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:-6px 0 18px;overflow-x:auto}.tab{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 12px;margin-bottom:-1px;color:var(--ink-3);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent;transition:color var(--t)}.tab svg{color:var(--ink-icon);transition:color var(--t)}.tab:hover{color:var(--ink)}.tab[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.tab[aria-current=page] svg{color:var(--accent)}.tab[aria-current=page]:after{content:"";position:absolute;left:10%;right:10%;bottom:-1px;height:12px;pointer-events:none;background:radial-gradient(50% 100% at 50% 100%,rgba(168,85,247,.35),transparent)}.tab-count{font-family:var(--font-mono);font-size:10.5px;padding:0 6px;border-radius:4px;border:1px solid var(--line-strong);color:var(--ink-3);line-height:16px}.table-wrap{position:relative;overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-family:var(--font-head);font-size:10.5px;line-height:14px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding:9px 14px;border-bottom:1px solid var(--line);background:var(--surface);white-space:nowrap}td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top;transition:background var(--t)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}th:first-child,td:first-child{padding-left:18px}th:last-child,td:last-child{padding-right:18px}td.right,th.right{text-align:right}td.nowrap,td .mono{color:inherit}td.muted.nowrap{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.cell-comment{max-width:620px;white-space:pre-wrap;word-break:break-word;color:var(--ink)}.cell-meta{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.cell-meta .chip{white-space:nowrap}.chip{display:inline-block;padding:0 6px;border-radius:4px;background:var(--bg);border:1px solid var(--line);color:var(--ink-3);font-family:var(--font-mono);font-size:11px;line-height:18px}.row-link{color:var(--ink);text-decoration:none;font-weight:500}.row-link:hover{color:var(--accent-ink)}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(168,85,247,.025),transparent)}.toolbar .search{flex:1 1 260px}.pager{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:10px 18px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px}.pager b{color:var(--ink);font-weight:500}.user-cell{display:inline-flex;align-items:center;gap:10px;line-height:18px}.user-cell b{font-weight:500}.project-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.project-card{position:relative;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);transition:border-color var(--t),background var(--t),box-shadow var(--t)}.project-card:hover{border-color:var(--accent-line);color:var(--ink);background:#0c0c10;box-shadow:0 0 32px -14px #a855f78c}.project-card h3{font-size:15px;line-height:20px;font-weight:600;letter-spacing:-.015em}.project-card .desc{color:var(--ink-3);font-size:12.5px;line-height:18px;min-height:18px;margin-top:2px}.project-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.project-stats>div{background:var(--bg);padding:8px 10px}.project-stats b{display:block;font-family:var(--font-mono);font-size:16px;line-height:22px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.project-stats span{font-family:var(--font-head);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.project-card>p.faint{font-family:var(--font-mono);font-size:11px!important}.key-chip{display:inline-block;max-width:100%;padding:1px 7px;border-radius:4px;background:var(--bg);border:1px solid var(--line);font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-3)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.lg-pos{background:var(--data)}.lg-neu{background:#334155}.lg-neg{background:#e0697d}.rc-tip{padding:8px 10px;border-radius:var(--r-md);background:#0a0a0ceb;border:1px solid var(--line-strong);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 32px -8px #000000e6,0 0 24px -12px #a855f799;font-size:12px;line-height:18px;color:var(--ink);min-width:168px}.rc-tip>b{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--ink-2)}.rc-tip-row{display:flex;align-items:center;gap:8px;color:var(--ink-3)}.rc-tip-row i{width:7px;height:7px;border-radius:2px}.rc-tip-row b{margin-left:auto;color:var(--ink);font-family:var(--font-mono);font-weight:500;padding-left:16px}.recharts-wrapper:focus,.recharts-surface:focus{outline:none}.dist-row{display:grid;grid-template-columns:40px 1fr 84px;align-items:center;gap:10px;padding:4px 0}.dist-row>span:first-child{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:12px;color:var(--ink-2)}.dist-row>span:first-child svg{color:var(--ink-icon)}.dist-bar{height:6px;border-radius:3px;background:var(--track);overflow:hidden}.dist-bar span{display:block;height:100%;border-radius:3px}.dist-row .dist-n{text-align:right;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3)}.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.donut-legend{display:grid;gap:8px;flex:1 1 150px}.donut-legend div{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2)}.donut-legend i{width:8px;height:8px;border-radius:2px}.donut-legend b{margin-left:auto;font-family:var(--font-mono);font-weight:500;color:var(--ink)}.donut-legend .faint{font-family:var(--font-mono);font-size:11.5px}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none}.donut-center b{font-family:var(--font-mono);font-size:24px;line-height:28px;font-weight:500;letter-spacing:-.04em}.donut-center span{font-family:var(--font-head);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.mini-bar{display:flex;align-items:center;gap:10px;min-width:140px}.mini-bar b{font-weight:500}.mini-bar .dist-bar{flex:1;height:4px}.quote-list{display:grid;margin:0 -18px -18px;border-top:1px solid var(--line)}.quote{margin:0;padding:11px 18px;border-bottom:1px solid var(--line);transition:background var(--t)}.quote:last-child{border-bottom:0}.quote:hover{background:var(--surface-2)}.quote p{white-space:pre-wrap;word-break:break-word;font-size:13px}.quote footer{display:flex;align-items:center;gap:8px;margin-top:7px;font-size:12px;color:var(--ink-3);flex-wrap:wrap}.quote footer a{font-size:12px;text-decoration:none}.quote footer a:hover{text-decoration:underline}.quote footer>span:last-child{font-family:var(--font-mono);font-size:11px}.quote footer .mono{font-size:11px;color:var(--ink-3)}.code{margin:0;padding:14px 16px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line);overflow-x:auto;font-family:var(--font-mono);font-size:12px;line-height:19px;color:#cbd5e1}.code-wrap{position:relative}.code-wrap .code{padding-right:96px}.code-copy{position:absolute;top:8px;right:8px}.inline-code{font-family:var(--font-mono);font-size:11.5px;padding:1px 5px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink)}.key-box{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 12px;border-radius:var(--r-md);border:1px solid var(--accent-line);background:var(--bg)}.key-box code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--font-mono);font-size:12.5px;color:#e9d5ff}.callout{display:flex;gap:10px;padding:10px 12px;border-radius:var(--r-md);background:#fbbf240d;border:1px solid rgba(251,191,36,.25);color:#fcd34d;font-size:12.5px;line-height:18px}.callout svg{flex-shrink:0;margin-top:1px}.callout-error{background:var(--danger-soft);border-color:var(--danger-line);color:#fecdd3;align-items:center;margin-bottom:14px}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px 14px;font-size:13px;margin:0}.kv dt{font-family:var(--font-head);font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);padding-top:2px}.kv dd{margin:0;min-width:0;word-break:break-word}.kv-copy{display:flex;align-items:center;gap:4px}.kv-copy code{overflow-x:auto;white-space:nowrap;min-width:0}.kv-copy .icon-btn{width:28px;height:28px;flex-shrink:0}.danger-zone{border-color:#fb718538}.danger-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.danger-row>div{flex:1 1 260px}.danger-row b{display:block;font-weight:500}.danger-row p{color:var(--ink-3);font-size:12.5px}.empty{display:grid;justify-items:center;gap:8px;text-align:center;padding:44px 24px;color:var(--ink-3)}.empty .page-icon{margin-bottom:6px}.empty h3{color:var(--ink);font-size:15px;font-weight:600;letter-spacing:-.015em}.empty p{max-width:420px}.empty .btn{margin-top:8px}.skeleton{background:linear-gradient(90deg,var(--surface) 0%,#111118 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-lg);border:1px solid var(--line)}@keyframes shimmer{to{background-position:-200% 0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#000000b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .2s var(--ease)}.modal{width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 32px 64px -16px #000000f2,0 0 0 1px #a855f714,0 0 80px -24px #a855f773;animation:rise .24s var(--ease)}.modal:focus{outline:none}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 0}.modal-head h2{flex:1;font-size:16px;line-height:24px;font-weight:600;letter-spacing:-.02em}.modal-body{padding:12px 20px 16px}.modal-body>p{color:var(--ink-2)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:4px 20px 18px;flex-wrap:wrap}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.985)}}.toasts{position:fixed;bottom:18px;right:18px;z-index:120;display:grid;gap:8px}.toast{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:#0a0a0cf0;border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 16px 40px -12px #000000e6;font-size:13px;animation:rise .24s var(--ease)}.toast svg{color:var(--success)}.toast.err{border-color:var(--danger-line)}.toast.err svg{color:var(--danger)}.auth{position:relative;min-height:100vh;display:grid;place-items:center;padding:32px 16px;overflow:hidden;background:var(--bg)}.auth-field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.auth-card{position:relative;z-index:1;width:100%;max-width:400px;border-radius:14px;padding:28px 24px 24px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 40px 80px -24px #000000f2,0 0 0 1px #a855f70f;animation:rise .32s var(--ease)}.auth-card:before{content:"";position:absolute;top:-1px;left:18%;right:18%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.auth-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:600;font-size:14px;letter-spacing:-.01em;margin-bottom:22px}.auth-card h1{font-size:24px;line-height:30px;font-weight:600;letter-spacing:-.03em}.auth-card .sub{margin:4px 0 20px;font-size:13.5px;color:var(--ink-2)}.auth-card .field{margin-top:14px}.auth-card .sub+.field{margin-top:0}.auth-card .btn{width:100%;min-height:40px;margin-top:20px;font-size:13.5px}.auth-alt{margin-top:16px;text-align:center;color:var(--ink-3);font-size:12.5px}.form-error{margin-top:12px;padding:8px 12px;border-radius:var(--r-md);background:var(--danger-soft);border:1px solid var(--danger-line);color:#fecdd3;font-size:12.5px}.pw-wrap{position:relative}.pw-wrap .input{padding-right:64px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);padding:4px 8px;border:0;background:none;color:var(--accent-ink);font-size:11.5px;font-weight:600;cursor:pointer;border-radius:var(--r-sm)}.pw-toggle:hover{background:var(--accent-soft)}.doc h3{font-family:var(--font-head);font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin:20px 0 8px}.doc h2{font-size:15px}.doc p,.doc li{color:var(--ink-2)}.doc ul{padding-left:18px;margin:6px 0 0;display:grid;gap:6px}.doc li::marker{color:var(--ink-icon)}.doc code{font-family:var(--font-mono);font-size:11.5px;padding:1px 5px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink)}.doc pre code{background:none;border:0;padding:0;border-radius:0;color:inherit;font-size:inherit}.doc table{margin-top:6px;border:1px solid var(--line);border-radius:var(--r-md);border-collapse:separate;border-spacing:0;overflow:hidden}.doc td,.doc th{padding:8px 12px}.doc td:first-child{white-space:nowrap}.doc td b{font-weight:500}.endpoint{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-md);background:var(--bg);border:1px solid var(--line-strong);font-family:var(--font-mono);font-size:13px;overflow-x:auto}.endpoint code{background:none!important;border:0!important;padding:0!important;color:var(--ink)!important;font-size:13px!important}.method{padding:0 7px;border-radius:4px;background:var(--surface-3);border:1px solid var(--line-strong);color:var(--ink);font-weight:600;font-size:11px;line-height:20px;letter-spacing:.04em}.method.get{color:var(--success)}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;z-index:60;transform:translate(-100%);transition:transform .26s var(--ease)}.shell.nav-open .sidebar{transform:none;box-shadow:24px 0 48px -12px #000000e6}.nav-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;border:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.menu-btn{display:inline-grid}.topbar{padding:0 12px}.topbar .btn{min-height:34px}main{padding:16px 14px 40px}.page-head:before{left:-60px;width:420px}.page-actions{margin-left:0;width:100%}.card{padding:14px}.card-flush .card-head{padding:14px 14px 0}.toolbar{padding:12px 14px}th:first-child,td:first-child{padding-left:14px}th:last-child,td:last-child{padding-right:14px}.kv{grid-template-columns:1fr;gap:2px}.table-wrap table:not(.table-stack){min-width:600px}.code-wrap{display:flex;flex-direction:column-reverse;gap:6px}.code-wrap .code{padding-right:16px}.code-copy{position:static;align-self:flex-end}.quote-list{margin:0 -14px -14px}.quote{padding:11px 14px}.cell-comment{min-width:220px}.tab{padding:10px 9px;gap:6px}.tab svg{display:none}.tabs{margin-left:-14px;margin-right:-14px;padding:0 14px}.kv dd{margin-bottom:10px}.btn,.seg button,.select-sm,.input-sm,.search{min-height:38px}.search{height:38px}.icon-btn{width:38px;height:38px}}@media(max-width:600px){.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table-stack,.table-stack tbody{display:block}.table-stack tbody tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:10px 48px 10px 14px;border-bottom:1px solid var(--line)}.table-stack tbody tr:last-child{border-bottom:0}.table-stack tbody tr:hover{background:var(--surface-2)}.table-stack td{display:block;padding:0!important;border:0;background:none!important;min-width:0}.table-stack td.right{text-align:left}.table-stack td.span-2{grid-column:1 / -1}.table-stack.cols-3 tbody tr{grid-template-columns:repeat(3,minmax(0,1fr))}.table-stack td.fb-when{grid-column:2;grid-row:1;justify-self:end;align-self:center;font-size:11px}.table-stack td.fb-user{grid-column:1 / -1;font-size:11px;color:var(--ink-3)}.table-stack .cell-meta{margin-top:4px}.table-stack td[data-label]:before{content:attr(data-label);display:block;margin-bottom:1px;font-family:var(--font-head);font-size:9.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.table-stack td.act{position:absolute;top:8px;right:8px}.table-stack .cell-comment,.table-stack .mini-bar{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px var(--surface-2) inset;caret-color:var(--accent);transition:background-color 9999s ease-out}
