:root{--color-paper: oklch(20% .012 250);--color-paper-2: oklch(24% .014 250);--color-paper-3: oklch(28% .016 250);--color-ink: oklch(96% .004 250);--color-ink-2: oklch(78% .012 250);--color-ink-3: oklch(62% .014 250);--color-line: oklch(34% .014 250);--color-line-2: oklch(40% .016 250);--color-accent: oklch(68% .15 250);--color-accent-ink: oklch(22% .03 250);--color-ok: oklch(72% .15 155);--color-warn: oklch(78% .15 75);--color-danger: oklch(68% .18 25);--color-focus: oklch(80% .13 250);--font-display: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.875rem;--text-3xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius: 8px;--radius-sm: 5px;--rule: 1px solid var(--color-line);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur: .14s}*{box-sizing:border-box}html,body{overflow-x:clip}html{background:var(--color-paper);color-scheme:dark}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--color-ink);-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}h1,h2,h3{font-family:var(--font-display);font-weight:640;font-style:normal;letter-spacing:-.02em;line-height:1.1;margin:0;overflow-wrap:anywhere}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-lg)}code,.mono{font-family:var(--font-mono);font-size:.85em}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.rail{border-right:var(--rule);padding:var(--space-5) var(--space-4);background:var(--color-paper);position:sticky;top:0;height:100vh}.rail .brand{font-family:var(--font-display);font-weight:680;letter-spacing:-.03em;font-size:var(--text-lg);display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6)}.rail .dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{color:var(--color-ink-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.nav a:hover{background:var(--color-paper-2);color:var(--color-ink);text-decoration:none}.nav a[aria-current=page]{background:var(--color-paper-3);color:var(--color-ink)}.main{padding:var(--space-6) var(--space-8);max-width:1100px}@media (max-width: 760px){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:static;height:auto;border-right:none;border-bottom:var(--rule)}.main{padding:var(--space-5) var(--space-4)}}.muted{color:var(--color-ink-3)}.pagehead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.pagehead p{margin:var(--space-1) 0 0;color:var(--color-ink-3);font-size:var(--text-sm)}.card{border:var(--rule);border-radius:var(--radius);background:var(--color-paper-2);padding:var(--space-5)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.stat{font-size:var(--text-3xl);font-family:var(--font-display);font-weight:680;letter-spacing:-.03em}.stat-label{color:var(--color-ink-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th{text-align:left;font-weight:560;color:var(--color-ink-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-3);border-bottom:var(--rule)}td{padding:var(--space-3);border-bottom:1px solid var(--color-paper-3);vertical-align:top}tr:hover td{background:var(--color-paper-2)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:560;padding:2px var(--space-2);border-radius:999px;border:1px solid var(--color-line);color:var(--color-ink-2)}.badge.allow{color:var(--color-ok);border-color:color-mix(in oklch,var(--color-ok) 40%,transparent)}.badge.deny{color:var(--color-danger);border-color:color-mix(in oklch,var(--color-danger) 40%,transparent)}label{display:block;font-size:var(--text-sm);color:var(--color-ink-2);margin-bottom:var(--space-1)}input,select,textarea{width:100%;font:inherit;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-paper);border:var(--rule);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.field{margin-bottom:var(--space-4)}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}button,.btn{font:inherit;font-size:var(--text-sm);font-weight:560;cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);border:var(--rule);background:var(--color-paper-3);color:var(--color-ink);transition:background var(--dur) var(--ease-out)}button:hover,.btn:hover{background:var(--color-line);text-decoration:none}button.primary,.btn.primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:transparent}button.primary:hover,.btn.primary:hover{background:color-mix(in oklch,var(--color-accent) 88%,white)}button.danger{color:var(--color-danger)}button:disabled{opacity:.5;cursor:not-allowed}.notice{border:1px solid color-mix(in oklch,var(--color-ok) 40%,transparent);background:color-mix(in oklch,var(--color-ok) 10%,transparent);color:var(--color-ink);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-bottom:var(--space-4)}.notice.error{border-color:color-mix(in oklch,var(--color-danger) 45%,transparent);background:color-mix(in oklch,var(--color-danger) 10%,transparent)}.secret{font-family:var(--font-mono);font-size:var(--text-xs);word-break:break-all;background:var(--color-paper);border:var(--rule);border-radius:var(--radius-sm);padding:var(--space-2);display:block;margin-top:var(--space-1)}.section{margin-top:var(--space-8)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-3)}.toolbar{display:flex;gap:var(--space-3);align-items:end;flex-wrap:wrap;margin-bottom:var(--space-4)}.toolbar .field{margin:0}.empty{color:var(--color-ink-3);font-size:var(--text-sm);padding:var(--space-5);text-align:center;border:1px dashed var(--color-line);border-radius:var(--radius)}.tools-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.chip{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1px var(--space-2);color:var(--color-ink-2)}
