@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap";:root{--bg:#fff;--bg-subtle:#fafafa;--bg-hover:#f5f5f5;--bg-active:#ededed;--border:#ebebeb;--border-strong:#d4d4d4;--fg:#0a0a0a;--fg-muted:#737373;--fg-subtle:#a1a1a1;--accent:#0a0a0a;--accent-fg:#fff;--accent-hover:#383838;--link:#0060df;--ok:#067a3f;--ok-bg:#edfaf3;--ok-border:#b7e5cd;--warn:#a35200;--warn-bg:#fff6e8;--warn-border:#f2d09a;--bad:#c81e29;--bad-bg:#fff0f0;--bad-border:#f5c3c6;--info:#0060df;--info-bg:#f0f6ff;--info-border:#bcd8ff;--radius:8px;--radius-sm:6px;--radius-full:999px;--shadow-overlay:0 8px 30px #0000001f;--ring:0 0 0 2px var(--bg), 0 0 0 4px var(--fg-subtle);--sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root{--bg:#000;--bg-subtle:#0a0a0a;--bg-hover:#141414;--bg-active:#1f1f1f;--border:#1f1f1f;--border-strong:#383838;--fg:#ededed;--fg-muted:#a1a1a1;--fg-subtle:#6f6f6f;--accent:#ededed;--accent-fg:#0a0a0a;--accent-hover:#fff;--link:#5b9dff;--ok:#4dd08a;--ok-bg:#0b1f14;--ok-border:#16402a;--warn:#f0b429;--warn-bg:#241a08;--warn-border:#4a3611;--bad:#ff6166;--bad-bg:#250d0e;--bad-border:#4d1a1d;--info:#5b9dff;--info-bg:#0a1526;--info-border:#17304f;--shadow-overlay:0 8px 30px #0009}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:13px;line-height:1.5}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm);outline:none}.masthead{border-bottom:1px solid var(--border);background:var(--bg);z-index:20;position:sticky;top:0}.masthead-inner{align-items:center;gap:12px;max-width:1200px;height:56px;margin:0 auto;padding:0 24px;display:flex}.wordmark{letter-spacing:-.02em;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.wordmark svg{display:block}.masthead .sep{color:var(--border-strong);font-size:18px;font-weight:300;transform:translateY(-1px)}.masthead .env{font-family:var(--mono);color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 9px;font-size:11px}.masthead .grow{flex:1}.tabs{border-bottom:1px solid var(--border);background:var(--bg);z-index:19;position:sticky;top:56px}.tabs-inner{scrollbar-width:none;gap:2px;max-width:1200px;margin:0 auto;padding:0 16px;display:flex;overflow-x:auto}.tabs-inner::-webkit-scrollbar{display:none}.tab{appearance:none;font:inherit;color:var(--fg-muted);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm);background:0 0;border:none;height:44px;padding:0 8px;transition:color .12s;position:relative}.tab:hover{color:var(--fg)}.tab.on{color:var(--fg);font-weight:500}.tab.on:after{content:"";background:var(--fg);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:8px;right:8px}main{max-width:1200px;margin:0 auto;padding:28px 24px 96px}h1{letter-spacing:-.03em;margin:0;font-size:22px;font-weight:600}h2{letter-spacing:-.01em;color:var(--fg);margin:32px 0 12px;font-size:13px;font-weight:500}h3{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:500}.section-note{color:var(--fg-muted);font-weight:400}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.hint{color:var(--fg-muted);margin:8px 0 0;font-size:12px;line-height:1.6}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px;display:flex}.page-sub{color:var(--fg-muted);margin:4px 0 0;font-size:13px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.card-pad{padding:16px}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.card-foot{border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 var(--radius) var(--radius);color:var(--fg-muted);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);min-width:0;padding:14px 16px}.stat-label{color:var(--fg-muted);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.stat-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:500;line-height:1.15}.stat-value.sm{letter-spacing:-.02em;font-size:15px}.stat-note{color:var(--fg-subtle);margin-top:4px;font-size:12px;line-height:1.45}.badge{border-radius:var(--radius-full);border:1px solid var(--border);height:22px;color:var(--fg-muted);background:var(--bg);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:400;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-border)}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.badge.bad{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-border)}.badge.info{color:var(--info);background:var(--info-bg);border-color:var(--info-border)}.badge.mono{font-family:var(--mono);font-size:11px}.btn{appearance:none;border-radius:var(--radius-sm);height:32px;font:inherit;cursor:pointer;white-space:nowrap;background:var(--accent);color:var(--accent-fg);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{background:var(--bg);color:var(--fg);border-color:var(--border-strong)}.btn.secondary:hover:not(:disabled){background:var(--bg-hover)}.btn.danger{background:var(--bad);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{color:var(--fg-muted);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn.block{width:100%}.btn .spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:13px;height:13px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:6px;min-width:0;display:grid}.field>label{color:var(--fg-muted);font-size:12px;font-weight:400}.input,.select{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg);height:32px;color:var(--fg);font:inherit;width:100%;min-width:0;padding:0 10px;font-size:13px;transition:border-color .12s}.input::placeholder{color:var(--fg-subtle)}.input:hover,.select:hover{border-color:var(--fg-subtle)}.input:focus,.select:focus{border-color:var(--fg);box-shadow:0 0 0 3px color-mix(in srgb, var(--fg) 8%, transparent);outline:none}.select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 10px) calc(50% + 1px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:28px}.search{position:relative}.search .input{padding-left:30px}.search svg{color:var(--fg-subtle);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.kbd{font-family:var(--mono);border:1px solid var(--border);color:var(--fg-subtle);background:var(--bg-subtle);border-radius:4px;padding:1px 5px;font-size:10px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:16px;display:flex}.toolbar .search{flex:260px;max-width:380px}.toolbar .grow{flex:1}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);scrollbar-width:none;gap:2px;max-width:100%;padding:2px;display:inline-flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{appearance:none;font:inherit;color:var(--fg-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;height:26px;padding:0 10px;font-size:12px;transition:background .12s,color .12s}.segmented button:hover{color:var(--fg)}.segmented button.on{background:var(--bg);color:var(--fg);font-weight:500;box-shadow:0 1px 2px #0000000f}.segmented .count{color:var(--fg-subtle);font-variant-numeric:tabular-nums;margin-left:4px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{text-align:left;color:var(--fg-muted);background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 14px;font-size:12px;font-weight:400}tbody td{border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap;padding:11px 14px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .1s}tbody tr:hover{background:var(--bg-subtle)}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}td.wrap{white-space:normal;min-width:220px}.cell-id{font-family:var(--mono);color:var(--fg-subtle);font-size:12px}.link-cell{appearance:none;font:inherit;color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:500}.link-cell:hover{color:var(--link)}.row-stack{align-items:center;gap:8px;min-width:0;display:flex}.props{grid-template-columns:132px 1fr;display:grid}.props>dt{color:var(--fg-muted);border-bottom:1px solid var(--border);padding:11px 16px;font-size:12px}.props>dd{border-bottom:1px solid var(--border);overflow-wrap:anywhere;min-width:0;margin:0;padding:11px 16px}.props>dt:last-of-type,.props>dd:last-of-type{border-bottom:none}@media (width<=640px){.props{grid-template-columns:1fr}.props>dt{border-bottom:none;padding-bottom:0}}.identity{align-items:center;gap:14px;margin-bottom:20px;display:flex}.avatar{width:40px;height:40px;color:var(--accent-fg);background:var(--accent);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:500;display:grid}.identity h1{overflow-wrap:anywhere;font-size:20px}.identity .meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;display:flex}.action-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:12px;display:grid}.action{flex-direction:column;display:flex}.action .body{flex:1;gap:12px;padding:16px;display:grid}.action .body p{color:var(--fg-muted);margin:0;font-size:12px;line-height:1.6}.action .foot{border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 var(--radius) var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.action .foot .why{color:var(--fg-subtle);font-size:12px}.action.destructive{border-color:var(--bad-border)}.action.destructive .foot{background:var(--bad-bg);border-top-color:var(--bad-border)}.two-up{grid-template-columns:1fr 1fr;gap:10px;display:grid}.callout{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-subtle);color:var(--fg-muted);gap:10px;margin:0 0 16px;padding:12px 14px;font-size:12px;line-height:1.6;display:flex}.callout svg{flex:none;margin-top:1px}.callout b{color:var(--fg);font-weight:500}.callout.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.callout.warn b{color:var(--warn)}.callout.bad{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-border)}.callout.bad b{color:var(--bad)}.empty{text-align:center;color:var(--fg-muted);padding:56px 24px}.empty svg{color:var(--fg-subtle);margin-bottom:10px}.empty h3{color:var(--fg);margin-bottom:4px}.empty p{margin:0;font-size:12px}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-active) 37%, var(--bg-hover) 63%);background-size:400% 100%;border-radius:4px;height:12px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}.btn .spinner{animation-duration:2s}*{transition-duration:0s!important}}.toasts{z-index:60;gap:8px;max-width:min(380px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow-overlay);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;animation:.18s cubic-bezier(.16,1,.3,1) toast-in;display:flex}.toast svg{flex:none;margin-top:1px}.toast.ok svg{color:var(--ok)}.toast.bad{border-color:var(--bad-border)}.toast.bad svg{color:var(--bad)}.toast .msg{overflow-wrap:anywhere;min-width:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}dialog.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);box-shadow:var(--shadow-overlay);width:min(440px,100vw - 32px);font:inherit;padding:0}dialog.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073}dialog.modal .head{padding:16px 18px 0}dialog.modal .head h3{letter-spacing:-.02em;font-size:15px}dialog.modal .body{gap:12px;padding:10px 18px 18px;display:grid}dialog.modal .body p{color:var(--fg-muted);margin:0;font-size:13px;line-height:1.6}dialog.modal .foot{border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 var(--radius) var(--radius);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.login-page{background:radial-gradient(ellipse 60% 50% at 50% 0%, color-mix(in srgb, var(--fg) 5%, transparent), transparent), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(360px,100%)}.login-card .brand{flex-direction:column;align-items:center;gap:14px;margin-bottom:26px;display:flex}.login-card h1{letter-spacing:-.02em;font-size:18px}.login-card form{gap:14px;display:grid}.pagination{color:var(--fg-muted);align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.pagination .grow{flex:1}.copy{appearance:none;color:var(--fg-subtle);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px;transition:opacity .12s,color .12s;display:inline-flex}tr:hover .copy,.props dd:hover .copy,.copy:focus-visible{opacity:1}.copy:hover{color:var(--fg);background:var(--bg-active)}
