/* Periphery console: the design system from Claude Design project 56ab81c6
   (tokens/, components/, ui_kits/console), as plain CSS for the Go templates.
   Sections follow the kit's files; "Console" at the end holds what the
   server-rendered markup adds (pickers as <details>, stretched row links,
   screenshot fallbacks, the vote dialog, the theme toggle). Fonts and icons
   are self-hosted: Source Sans 3 and IBM Plex Mono (SIL OFL, static/fonts),
   Lucide (ISC, static/icons.svg).
   Sizes are the kit's times 1.1 (rounded to half pixels): at the kit's own
   sizes the console read small, Source Sans 3 having a short x-height.
   Hairlines (under 3px), breakpoints and --content-max are not scaled. */

/* ── Fonts ─────────────────────────────────────────────────────────────── */
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/static/fonts/source-sans-3-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/static/fonts/source-sans-3-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/ibm-plex-mono-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ── tokens/colors.css ─────────────────────────────────────────────────── */
:root{
--gray-0:#ffffff;--gray-25:#fcfcfd;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-150:#eceef1;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2633;--gray-850:#181e29;--gray-900:#12161f;--gray-950:#0a0d14;
--accent-50:#fff6ef;--accent-100:#ffead9;--accent-200:#fed2b0;--accent-300:#fbb07c;--accent-400:#f68a4a;--accent-500:#ea6c2a;--accent-600:#c24e17;--accent-700:#a3400f;--accent-800:#84340f;--accent-900:#6b2b10;
--live-50:#ecfdf3;--live-200:#bbf0cf;--live-500:#22c55e;--live-700:#15803d;
--redirect-50:#eff6ff;--redirect-200:#cfe0fd;--redirect-500:#3b82f6;--redirect-700:#1d4ed8;
--warning-50:#fffbeb;--warning-200:#fde8a6;--warning-500:#f59e0b;--warning-700:#b45309;
--dead-50:#fef2f2;--dead-200:#fbd0d0;--dead-500:#ef4444;--dead-700:#b91c1c;
--tint-blue-bg:#eff4ff;--tint-blue-fg:#2a4fc9;--tint-blue-border:#d6e0fd;
--tint-green-bg:#ecfbf1;--tint-green-fg:#1d7a45;--tint-green-border:#c9efd7;
--tint-orange-bg:#fff3ea;--tint-orange-fg:#b4501a;--tint-orange-border:#fddcc4;
--tint-amber-bg:#fff8e6;--tint-amber-fg:#8a5b00;--tint-amber-border:#fbe6a8;
--tint-purple-bg:#f4f0ff;--tint-purple-fg:#6236c9;--tint-purple-border:#e1d7fd;
--tint-pink-bg:#fdf0f7;--tint-pink-fg:#b8256f;--tint-pink-border:#f8d3e6;
--tint-cyan-bg:#ebf9fb;--tint-cyan-fg:#0e7186;--tint-cyan-border:#c4ecf2;
--tint-gray-bg:var(--gray-100);--tint-gray-fg:var(--gray-600);--tint-gray-border:var(--gray-200);
--surface-page:var(--gray-0);--surface-subtle:var(--gray-50);--surface-sunken:var(--gray-100);--surface-card:var(--gray-0);--surface-field:var(--gray-0);--surface-hover:var(--gray-50);--surface-inverse:var(--gray-900);
--gradient-card:linear-gradient(to bottom,var(--gray-50),var(--gray-0));
--gradient-header:linear-gradient(to bottom,var(--gray-50),var(--gray-0));
--gradient-control:linear-gradient(to bottom,var(--gray-0),var(--gray-50));
--gradient-accent-soft:linear-gradient(to bottom,var(--accent-50),var(--gray-0));
--border-subtle:var(--gray-100);--border-default:var(--gray-200);--border-strong:var(--gray-300);
--text-strong:var(--gray-900);--text-body:var(--gray-700);--text-muted:var(--gray-500);--text-faint:var(--gray-400);--text-inverse:var(--gray-0);--text-link:var(--accent-700);
--accent:var(--accent-600);--accent-hover:var(--accent-700);--accent-icon:var(--accent-500);--accent-soft:var(--accent-50);--accent-soft-border:var(--accent-200);--accent-soft-text:var(--accent-700);--text-on-accent:#ffffff;
--focus-ring:rgba(234,108,42,.28);
--status-live-bg:var(--live-50);--status-live-fg:var(--live-700);--status-live-border:var(--live-200);--status-live-dot:var(--live-500);
--status-redirect-bg:var(--redirect-50);--status-redirect-fg:var(--redirect-700);--status-redirect-border:var(--redirect-200);--status-redirect-dot:var(--redirect-500);
--status-warning-bg:var(--warning-50);--status-warning-fg:var(--warning-700);--status-warning-border:var(--warning-200);--status-warning-dot:var(--warning-500);
--status-dead-bg:var(--dead-50);--status-dead-fg:var(--dead-700);--status-dead-border:var(--dead-200);--status-dead-dot:var(--dead-500);
color-scheme:light;
}
[data-theme="dark"]{
--tint-blue-bg:rgba(59,111,246,.14);--tint-blue-fg:#a9bfff;--tint-blue-border:rgba(59,111,246,.3);
--tint-green-bg:rgba(34,170,94,.14);--tint-green-fg:#86e0a9;--tint-green-border:rgba(34,170,94,.3);
--tint-orange-bg:rgba(240,120,50,.14);--tint-orange-fg:#fdb486;--tint-orange-border:rgba(240,120,50,.3);
--tint-amber-bg:rgba(230,170,30,.14);--tint-amber-fg:#f5d27a;--tint-amber-border:rgba(230,170,30,.3);
--tint-purple-bg:rgba(140,100,240,.16);--tint-purple-fg:#c7b3ff;--tint-purple-border:rgba(140,100,240,.32);
--tint-pink-bg:rgba(230,80,150,.14);--tint-pink-fg:#f7a8cd;--tint-pink-border:rgba(230,80,150,.3);
--tint-cyan-bg:rgba(30,170,200,.14);--tint-cyan-fg:#84dbea;--tint-cyan-border:rgba(30,170,200,.3);
--tint-gray-bg:var(--gray-850);--tint-gray-fg:var(--gray-300);--tint-gray-border:var(--gray-800);
--surface-page:var(--gray-950);--surface-subtle:var(--gray-900);--surface-sunken:var(--gray-850);--surface-card:var(--gray-900);--surface-field:var(--gray-950);--surface-hover:var(--gray-850);--surface-inverse:var(--gray-100);
--gradient-card:linear-gradient(to bottom,var(--gray-900),var(--gray-950));
--gradient-header:linear-gradient(to bottom,var(--gray-900),var(--gray-950));
--gradient-control:linear-gradient(to bottom,var(--gray-850),var(--gray-900));
--gradient-accent-soft:linear-gradient(to bottom,rgba(234,108,42,.12),var(--gray-950));
--border-subtle:var(--gray-850);--border-default:var(--gray-800);--border-strong:var(--gray-700);
--text-strong:var(--gray-100);--text-body:var(--gray-300);--text-muted:var(--gray-400);--text-faint:var(--gray-500);--text-inverse:var(--gray-950);--text-link:var(--accent-400);
--accent:var(--accent-600);--accent-hover:var(--accent-500);--accent-icon:var(--accent-400);--accent-soft:rgba(234,108,42,.14);--accent-soft-border:rgba(234,108,42,.32);--accent-soft-text:var(--accent-300);
--focus-ring:rgba(246,138,74,.35);
--status-live-bg:rgba(34,197,94,.12);--status-live-fg:#6ee7a0;--status-live-border:rgba(34,197,94,.3);
--status-redirect-bg:rgba(59,130,246,.12);--status-redirect-fg:#93c5fd;--status-redirect-border:rgba(59,130,246,.3);
--status-warning-bg:rgba(245,158,11,.12);--status-warning-fg:#fcd34d;--status-warning-border:rgba(245,158,11,.3);
--status-dead-bg:rgba(239,68,68,.12);--status-dead-fg:#fca5a5;--status-dead-border:rgba(239,68,68,.3);
color-scheme:dark;
}

/* ── tokens/typography.css ─────────────────────────────────────────────── */
:root{
--font-sans:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--text-2xs:12px;--text-xs:13px;--text-sm:14.5px;--text-md:15.5px;--text-base:16.5px;--text-lg:18.5px;--text-xl:22px;--text-2xl:26.5px;--text-3xl:33px;--text-4xl:44px;--text-5xl:57px;
--leading-none:1;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
--tracking-tight:-0.015em;--tracking-normal:0;--tracking-caps:0.06em;
--type-display:700 var(--text-4xl)/1.1 var(--font-sans);
--type-h1:700 var(--text-2xl)/1.25 var(--font-sans);
--type-h2:600 var(--text-xl)/1.3 var(--font-sans);
--type-h3:600 var(--text-lg)/1.35 var(--font-sans);
--type-body:400 var(--text-base)/1.5 var(--font-sans);
--type-ui:400 var(--text-md)/1.4 var(--font-sans);
--type-meta:400 var(--text-sm)/1.4 var(--font-sans);
--type-caption:400 var(--text-xs)/1.35 var(--font-sans);
--type-eyebrow:600 var(--text-xs)/1.2 var(--font-sans);
--type-host:500 var(--text-base)/1.3 var(--font-mono);
--type-host-lg:600 var(--text-2xl)/1.2 var(--font-mono);
--type-code:400 var(--text-sm)/1.55 var(--font-mono);
}

/* ── tokens/spacing.css ────────────────────────────────────────────────── */
:root{
--space-0:0;--space-0-5:2px;--space-1:4.5px;--space-1-5:6.5px;--space-2:9px;--space-2-5:11px;--space-3:13px;--space-3-5:15.5px;--space-4:17.5px;--space-5:22px;--space-6:26.5px;--space-8:35px;--space-10:44px;--space-12:53px;--space-16:70.5px;
--radius-xs:4.5px;--radius-sm:6.5px;--radius-md:9px;--radius-lg:13px;--radius-full:10999px;
--radius-control:var(--radius-sm);--radius-card:var(--radius-md);--radius-panel:var(--radius-lg);--radius-pill:var(--radius-full);--radius-chip:var(--radius-xs);
--border-width:1px;--border-width-tab:2px;
--shadow-none:none;
--shadow-xs:0 1px 1px rgba(16,24,40,.04);
--shadow-hover:0 1px 2px rgba(16,24,40,.04),0 4.5px 13px rgba(16,24,40,.06);
--shadow-popover:0 4.5px 9px rgba(16,24,40,.06),0 13px 35px rgba(16,24,40,.10);
--control-sm:31px;--control-md:35px;--control-lg:44px;--control-xl:53px;
--nav-height:61.5px;--sidebar-width:330px;--content-max:1440px;--gutter:26.5px;
--ease-out:cubic-bezier(.2,.7,.2,1);
--dur-fast:120ms;
--dur-base:180ms;
}
[data-theme="dark"]{
--shadow-xs:0 1px 1px rgba(0,0,0,.3);
--shadow-hover:0 1px 2px rgba(0,0,0,.3),0 6.5px 17.5px rgba(0,0,0,.35);
--shadow-popover:0 9px 26.5px rgba(0,0,0,.5);
}

/* ── tokens/base.css ───────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{font:var(--type-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0}
a{color:var(--text-link);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:2px}
::selection{background:var(--accent-100);color:var(--gray-900)}
:focus-visible{outline:2px solid var(--accent-400);outline-offset:2px}
code,kbd,pre,samp{font-family:var(--font-mono)}
.p-h1{font:var(--type-h1);letter-spacing:var(--tracking-tight);color:var(--text-strong);margin:0}
.p-h2{font:var(--type-h2);color:var(--text-strong);margin:0}
.p-text-muted{color:var(--text-muted)}
.p-eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}
.p-mono{font-family:var(--font-mono)}
.p-num{font-variant-numeric:tabular-nums}
.p-kbd{display:inline-flex;align-items:center;height:20px;padding:0 5.5px;border:1px solid var(--border-default);border-radius:var(--radius-xs);background:var(--surface-subtle);font:500 var(--text-2xs)/1 var(--font-mono);color:var(--text-muted)}
/* Icons are inline SVGs using the sprite; they size with the font. */
.p-icon{display:inline-block;flex:none;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.125em}
.p-divider{height:1px;background:var(--border-subtle);border:0;margin:0}
[hidden]{display:none!important}
.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}

/* ── components/core ───────────────────────────────────────────────────── */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:6.5px;height:var(--control-md);padding:0 13px;border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--gradient-control);color:var(--text-strong);font:600 var(--text-md)/1 var(--font-sans);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}
.p-btn:hover{text-decoration:none;border-color:var(--border-strong);background:var(--surface-hover)}
.p-btn:active{transform:translateY(.5px)}
.p-btn:focus-visible{outline:none;box-shadow:0 0 0 3.5px var(--focus-ring)}
.p-btn .p-icon{font-size:16.5px;color:var(--text-muted)}
.p-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.p-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.p-btn--primary .p-icon{color:inherit;opacity:.9}
.p-btn--ghost{background:transparent;border-color:transparent;color:var(--text-body)}
.p-btn--ghost:hover{background:var(--surface-sunken);border-color:transparent}
.p-btn--danger{background:var(--status-dead-fg);border-color:var(--status-dead-fg);color:#fff}
.p-btn--danger:hover{background:var(--dead-700);border-color:var(--dead-700)}
.p-btn--danger .p-icon{color:inherit}
[data-theme="dark"] .p-btn--danger{background:var(--dead-700);border-color:var(--dead-700)}
[data-theme="dark"] .p-btn--danger:hover{background:var(--dead-500);border-color:var(--dead-500)}
.p-btn--sm{height:var(--control-sm);padding:0 11px;font-size:var(--text-sm)}
.p-btn--lg{height:var(--control-lg);padding:0 17.5px;font-size:var(--text-base)}
.p-btn--icon{width:var(--control-md);padding:0}
.p-btn--sm.p-btn--icon{width:var(--control-sm)}
.p-btn--block{display:flex;width:100%}
.p-btn:disabled,.p-btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:none}
.p-field{display:grid;gap:6.5px;min-width:0}
.p-label{font:600 var(--text-sm)/1.2 var(--font-sans);color:var(--text-strong)}
.p-help{font:var(--type-caption);color:var(--text-muted)}
.p-error{font:var(--type-caption);color:var(--status-dead-fg)}
.p-input-wrap{position:relative;display:flex;align-items:center;width:100%;min-width:0}
.p-input-wrap>.p-icon{position:absolute;left:11px;font-size:16.5px;color:var(--text-faint);pointer-events:none}
.p-input{width:100%;min-width:0;height:var(--control-md);padding:0 11px;border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-field);color:var(--text-strong);font:400 var(--text-md)/1.2 var(--font-sans);box-shadow:inset 0 1px 1px rgba(16,24,40,.03);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.p-input::placeholder{color:var(--text-faint)}
.p-input:hover{border-color:var(--border-strong)}
.p-input:focus{outline:none;border-color:var(--accent-400);box-shadow:0 0 0 3.5px var(--focus-ring)}
.p-input--mono{font-family:var(--font-mono);font-size:var(--text-sm)}
.p-input--lg{height:var(--control-lg);font-size:var(--text-base)}
.p-input-wrap.has-icon>.p-input{padding-left:35px}
.p-field.is-error .p-input{border-color:var(--status-dead-dot)}
.p-field.is-error .p-input:focus{box-shadow:0 0 0 3.5px rgba(239,68,68,.2)}
.p-pill{--_bg:var(--tint-gray-bg);--_fg:var(--tint-gray-fg);--_bd:var(--tint-gray-border);display:inline-flex;align-items:center;gap:4.5px;height:24px;padding:0 9px;border:1px solid var(--_bd);border-radius:var(--radius-pill);background:var(--_bg);color:var(--_fg);font:600 var(--text-xs)/1 var(--font-sans);white-space:nowrap}
.p-pill .p-icon{font-size:13px}
.p-pill--sm{height:20px;padding:0 6.5px;font-size:var(--text-2xs)}
[data-tint="blue"]{--_bg:var(--tint-blue-bg);--_fg:var(--tint-blue-fg);--_bd:var(--tint-blue-border)}
[data-tint="green"]{--_bg:var(--tint-green-bg);--_fg:var(--tint-green-fg);--_bd:var(--tint-green-border)}
[data-tint="orange"]{--_bg:var(--tint-orange-bg);--_fg:var(--tint-orange-fg);--_bd:var(--tint-orange-border)}
[data-tint="amber"]{--_bg:var(--tint-amber-bg);--_fg:var(--tint-amber-fg);--_bd:var(--tint-amber-border)}
[data-tint="purple"]{--_bg:var(--tint-purple-bg);--_fg:var(--tint-purple-fg);--_bd:var(--tint-purple-border)}
[data-tint="pink"]{--_bg:var(--tint-pink-bg);--_fg:var(--tint-pink-fg);--_bd:var(--tint-pink-border)}
[data-tint="cyan"]{--_bg:var(--tint-cyan-bg);--_fg:var(--tint-cyan-fg);--_bd:var(--tint-cyan-border)}
[data-tint="accent"]{--_bg:var(--accent-soft);--_fg:var(--accent-soft-text);--_bd:var(--accent-soft-border)}
.p-tag{display:inline-flex;align-items:center;gap:6.5px;height:33px;padding:0 11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--gradient-card);color:var(--text-body);font:400 var(--text-md)/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.p-tag:hover{border-color:var(--border-default);box-shadow:var(--shadow-xs)}
.p-tag .p-icon{font-size:15.5px;color:var(--text-faint)}
.p-tag__count{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}
.p-tag.is-active{background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}
.p-tag.is-active .p-icon,.p-tag.is-active .p-tag__count{color:var(--accent-soft-text)}

/* ── components/navigation ─────────────────────────────────────────────── */
.p-nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;height:var(--nav-height);padding:0 22px;background:var(--surface-page);border-bottom:1px solid var(--border-subtle)}
.p-wordmark{display:inline-flex;align-items:center;gap:.36em;font:700 var(--text-lg)/1 var(--font-sans);letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap;text-decoration:none}
.p-wordmark:hover{text-decoration:none}
.p-wordmark svg{width:1.3em;height:1.3em;flex:none}
.p-nav__index{display:inline-flex;align-items:center;gap:6.5px;height:26.5px;padding:0 10px;margin-left:-8px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-subtle);font:400 var(--text-xs)/1 var(--font-sans);color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.p-nav__index b{font-weight:600;color:var(--text-strong)}
.p-nav__live{width:6.5px;height:6.5px;border-radius:var(--radius-full);background:var(--status-live-dot);box-shadow:0 0 0 2px color-mix(in srgb,var(--status-live-dot) 22%,transparent);flex:none}
.p-nav__links{display:flex;align-items:center;gap:2px;margin-left:auto}
.p-nav__link{display:inline-flex;align-items:center;gap:6.5px;height:35px;padding:0 11px;border-radius:var(--radius-control);color:var(--text-body);font:400 var(--text-base)/1 var(--font-sans);white-space:nowrap;text-decoration:none}
.p-nav__link:hover{color:var(--text-strong);text-decoration:none}
.p-nav__link .p-icon{font-size:16.5px;color:var(--text-faint)}
.p-nav__link.is-active,.is-search .p-nav__link[data-nav="search"]{color:var(--text-strong);font-weight:600}
.p-nav__link.is-active .p-icon,.is-search .p-nav__link[data-nav="search"] .p-icon{color:var(--accent-icon)}
.p-nav__divider{width:1px;height:22px;background:var(--border-default);flex:none}
.p-nav__right{display:flex;align-items:center;gap:9px}
.p-avatar{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:var(--radius-full);background:var(--gradient-control);border:1px solid var(--border-default);color:var(--text-body);font:600 var(--text-xs)/1 var(--font-sans);flex:none}
.p-avatar .p-icon{font-size:16.5px}
.p-avatar-btn{display:inline-flex;padding:0;border:0;background:none;cursor:pointer;border-radius:var(--radius-full);text-decoration:none}
.p-avatar-btn:hover{text-decoration:none}
.p-avatar-btn:hover .p-avatar{border-color:var(--border-strong)}
.p-tabs{display:flex;align-items:flex-end;gap:4.5px;box-shadow:inset 0 -1px 0 var(--border-default);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.p-tabs::-webkit-scrollbar{display:none}
.p-tab{display:inline-flex;align-items:center;gap:6.5px;height:46px;padding:0 13px;border:0;border-bottom:var(--border-width-tab) solid transparent;background:none;color:var(--text-muted);font:400 var(--text-base)/1 var(--font-sans);white-space:nowrap;cursor:pointer}
.p-tab:hover{color:var(--text-strong)}
.p-tab .p-icon{font-size:16.5px;color:var(--text-faint)}
.p-tab.is-active{color:var(--text-strong);font-weight:600;border-bottom-color:var(--text-strong)}
.p-tab.is-active .p-icon{color:var(--text-body)}
.p-seg{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-sunken)}
.p-seg__btn{display:inline-flex;align-items:center;gap:6.5px;height:28.5px;padding:0 10px;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--text-muted);font:600 var(--text-sm)/1 var(--font-sans);cursor:pointer;white-space:nowrap}
.p-seg__btn:hover{color:var(--text-strong)}
.p-seg__btn .p-icon{font-size:15.5px}
.p-seg__btn.is-active{background:var(--surface-card);color:var(--text-strong);box-shadow:0 0 0 1px var(--border-default),var(--shadow-xs)}
.p-seg--icon .p-seg__btn{width:31px;padding:0;justify-content:center}
.p-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;font:400 var(--text-md)/1 var(--font-sans)}
.p-pager__btn{display:inline-flex;align-items:center;justify-content:center;gap:4.5px;min-width:35px;height:35px;padding:0 9px;border:1px solid transparent;border-radius:var(--radius-control);background:none;color:var(--text-body);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;text-decoration:none}
.p-pager__btn:hover{background:var(--surface-sunken);text-decoration:none}
.p-pager__btn.is-active{background:var(--gradient-control);border-color:var(--border-default);color:var(--text-strong);font-weight:600}
.p-pager__btn.is-disabled{color:var(--text-faint);cursor:default;background:none}
.p-pager__gap{min-width:26.5px;text-align:center;color:var(--text-faint)}

/* ── components/search ─────────────────────────────────────────────────── */
.p-search{border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--surface-card);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.p-search:has(.p-search__input:focus){border-color:var(--accent-300);box-shadow:0 0 0 3.5px var(--focus-ring)}
.p-search.is-draft .p-search__field .p-btn--primary{box-shadow:0 0 0 3.5px var(--focus-ring)}
.p-search__field{display:flex;align-items:center;gap:11px;height:var(--control-xl);padding:0 9px 0 17.5px}
.p-search__field>.p-icon{font-size:20px;color:var(--text-faint)}
.p-search__input{flex:1;min-width:0;height:100%;border:0;background:none;color:var(--text-strong);font:400 var(--text-lg)/1 var(--font-sans);outline:none}
.p-search__input::placeholder{color:var(--text-faint)}
.p-search__input::-webkit-search-cancel-button{display:none}
.p-search__filters,.p-search__chips{display:flex;flex-wrap:wrap;align-items:center;gap:6.5px;padding:9px 11px;border-top:1px solid var(--border-subtle);background:var(--gradient-card)}
.p-search>:last-child{border-radius:0 0 var(--radius-panel) var(--radius-panel)}
.p-search__filters{position:relative}
.p-search__chip{display:inline-flex;align-items:center;gap:6.5px;height:28.5px;padding:0 4.5px 0 10px;border:1px solid var(--tint-blue-border);border-radius:var(--radius-pill);background:var(--tint-blue-bg);color:var(--tint-blue-fg);font:600 var(--text-sm)/1 var(--font-sans);white-space:nowrap}
.p-search__chip a{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:var(--radius-full);color:inherit;text-decoration:none}
.p-search__chip a:hover{background:color-mix(in srgb,currentColor 14%,transparent);text-decoration:none}
.p-search__chip .p-icon{font-size:13px}

/* ── components/results ────────────────────────────────────────────────── */
.p-status{--_bg:var(--tint-gray-bg);--_fg:var(--tint-gray-fg);--_bd:var(--tint-gray-border);--_dot:var(--gray-400);display:inline-flex;align-items:center;gap:6.5px;height:24px;padding:0 7.5px;border:1px solid var(--_bd);border-radius:var(--radius-chip);background:var(--_bg);color:var(--_fg);font:600 var(--text-xs)/1 var(--font-sans);white-space:nowrap;text-decoration:none}
a.p-status:hover{text-decoration:none;border-color:var(--_dot)}
.p-status__dot{width:6.5px;height:6.5px;border-radius:var(--radius-full);background:var(--_dot);flex:none}
.p-status__code{font:500 var(--text-xs)/1 var(--font-mono)}
.p-status[data-status="live"]{--_bg:var(--status-live-bg);--_fg:var(--status-live-fg);--_bd:var(--status-live-border);--_dot:var(--status-live-dot)}
.p-status[data-status="live"] .p-status__dot{box-shadow:0 0 0 2px color-mix(in srgb,var(--status-live-dot) 22%,transparent)}
.p-status[data-status="redirect"]{--_bg:var(--status-redirect-bg);--_fg:var(--status-redirect-fg);--_bd:var(--status-redirect-border);--_dot:var(--status-redirect-dot)}
.p-status[data-status="client"]{--_bg:var(--tint-orange-bg);--_fg:var(--tint-orange-fg);--_bd:var(--tint-orange-border);--_dot:var(--tint-orange-fg)}
.p-status[data-status="dead"]{--_bg:var(--status-dead-bg);--_fg:var(--status-dead-fg);--_bd:var(--status-dead-border);--_dot:var(--status-dead-dot)}
/* Favicon: the site's icon, or a neutral empty tile (no letter tile). */
.p-favicon{display:inline-block;width:17.5px;height:17.5px;border-radius:var(--radius-xs);background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border-default);flex:none;overflow:hidden}
.p-favicon:has(img){background:none;box-shadow:none}
.p-favicon img{width:100%;height:100%;object-fit:cover;display:block}
a.p-favicon{transition:box-shadow var(--dur-fast)}
a.p-favicon:hover{box-shadow:0 0 0 2px var(--surface-page),0 0 0 3.5px var(--accent-400)}
.p-favicon--lg{width:35px;height:35px;border-radius:var(--radius-sm)}
.p-hash{display:inline-flex;align-items:center;gap:4.5px;height:22px;padding:0 6.5px;border:1px solid var(--border-subtle);border-radius:var(--radius-xs);background:var(--surface-subtle);font:500 var(--text-2xs)/1 var(--font-mono);color:var(--text-muted);white-space:nowrap;text-decoration:none}
a.p-hash:hover{border-color:var(--accent-soft-border);color:var(--accent-soft-text);background:var(--accent-soft);text-decoration:none}
.p-hash .p-icon{font-size:12px}
/* Screenshot: the image covers the striped placeholder; if the image is
   missing or fails to load (console.js removes it) the placeholder shows. */
.p-shot{position:relative;display:block;width:100%;aspect-ratio:16/10;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-sunken);overflow:hidden}
.p-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.p-shot__empty{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:4.5px;background:repeating-linear-gradient(135deg,var(--surface-sunken) 0 9px,var(--surface-subtle) 9px 17.5px);color:var(--text-faint);font:500 var(--text-2xs)/1.2 var(--font-mono);text-align:center;padding:9px}
.p-shot__empty .p-icon{font-size:20px}
.p-shot img~.p-shot__empty{display:none}
.p-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6.5px;font:var(--type-meta);color:var(--text-muted);min-width:0}
.p-meta__item{display:inline-flex;align-items:center;gap:4.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.p-meta__item .p-icon{font-size:14.5px;color:var(--text-faint)}
.p-meta__item+.p-meta__item::before{content:"·";margin-right:2px;color:var(--text-faint)}
.p-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:22px;padding:15.5px 17.5px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--gradient-card);color:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.p-row:hover{border-color:var(--border-default);box-shadow:var(--shadow-hover)}
.p-row__main{display:grid;gap:5.5px;align-content:start;min-width:0}
.p-row__head{display:flex;align-items:center;gap:9px;min-width:0}
.p-row__host{font:var(--type-host);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.p-row__host:hover{text-decoration:none}
.p-row__head .p-status{margin-left:auto}
.p-row__title{font:600 var(--text-md)/1.35 var(--font-sans);color:var(--text-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-row__snippet{font:400 var(--text-md)/1.45 var(--font-sans);color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.p-row__snippet mark{background:var(--accent-100);color:var(--text-strong);border-radius:2px;padding:0 1px}
[data-theme="dark"] .p-row__snippet mark{background:var(--accent-soft);color:var(--accent-soft-text)}
.p-row__foot{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:3.5px}
.p-keys{display:flex;flex-wrap:wrap;gap:4.5px}
.p-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card);overflow:hidden;color:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);min-width:0}
.p-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-hover)}
.p-card>.p-shot{border:0;border-bottom:1px solid var(--border-subtle);border-radius:0}
.p-card__body{display:grid;gap:6.5px;padding:11px 13px 13px;background:var(--gradient-card);flex:1;align-content:start}
.p-card__head{display:flex;align-items:center;gap:7.5px;min-width:0}
.p-card__host{font:500 var(--text-md)/1.3 var(--font-mono);color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.p-card__host:hover{text-decoration:none}
.p-card__title{font:400 var(--text-sm)/1.35 var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-card__foot{display:flex;align-items:center;gap:6.5px;flex-wrap:wrap}
.p-card__foot .p-meta{margin-left:auto}
.p-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(264px,1fr));gap:15.5px}
.p-results-list{display:grid;gap:11px}
/* A row or card is one link (the hostname, stretched over the whole box);
   the favicon, provider and status links sit above it. */
.stretched::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.p-row a:not(.stretched),.p-card a:not(.stretched){position:relative;z-index:2}

/* ── providers ─────────────────────────────────────────────────────────── */
.p-plogo{display:inline-block;width:15.5px;height:15.5px;flex:none}
.p-plogo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:3.5px}
[data-theme="dark"] .p-plogo.is-mono img{filter:invert(1) hue-rotate(180deg)}
.p-plogo--lg{width:22px;height:22px}
/* Provider pills are neutral (same look as filter tags) so tints stay
   reserved for status and risk colours. */
.p-pill[data-provider]{background:var(--gradient-card);border-color:var(--border-subtle);color:var(--text-body);border-radius:var(--radius-md);gap:6.5px;text-decoration:none}
a.p-pill[data-provider]:hover{border-color:var(--border-default);text-decoration:none}

/* ── components/feedback ───────────────────────────────────────────────── */
.p-empty{display:grid;justify-items:center;gap:9px;padding:53px 26.5px;border:1px dashed var(--border-default);border-radius:var(--radius-card);background:var(--surface-subtle);text-align:center}
.p-empty__icon{display:grid;place-items:center;width:48.5px;height:48.5px;margin-bottom:4.5px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--gradient-control);color:var(--text-muted);font-size:22px}
.p-empty__title{font:var(--type-h3);color:var(--text-strong);margin:0}
.p-empty__text{max-width:506px;font:var(--type-ui);color:var(--text-muted);margin:0;text-wrap:pretty}
.p-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:9px}
.p-upsell{display:flex;align-items:center;gap:15.5px;padding:15.5px 17.5px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-card);background:var(--gradient-accent-soft)}
.p-upsell__icon{display:grid;place-items:center;width:39.5px;height:39.5px;border-radius:var(--radius-md);background:var(--surface-card);border:1px solid var(--accent-soft-border);color:var(--accent-icon);font-size:20px;flex:none}
.p-upsell__body{flex:1;min-width:0;display:grid;gap:2px}
.p-upsell__title{font:600 var(--text-base)/1.3 var(--font-sans);color:var(--text-strong)}
.p-upsell__text{font:var(--type-meta);color:var(--text-body);text-wrap:pretty}
.p-upsell__actions{display:flex;align-items:center;gap:6.5px;flex:none}
.p-upsell__actions form{display:contents}
.p-modal-backdrop{position:fixed;inset:0;z-index:100;background:color-mix(in srgb,var(--surface-inverse) 40%,transparent)}
.p-modal{position:fixed;z-index:101;left:50%;top:50%;transform:translate(-50%,-50%);width:min(484px,calc(100vw - 35px));display:grid;gap:11px;justify-items:start;padding:26.5px;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:0 22px 55px rgba(0,0,0,.18)}
.p-modal__close{position:absolute;top:13px;right:13px;display:inline-grid;place-items:center;width:31px;height:31px;border:0;border-radius:var(--radius-control);background:none;color:var(--text-faint);cursor:pointer;font-size:17.5px}
.p-modal__close:hover{background:var(--surface-subtle);color:var(--text-strong)}
.p-modal__icon{display:inline-grid;place-items:center;width:39.5px;height:39.5px;margin-bottom:4.5px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-soft-text);font-size:20px}
.p-modal__eyebrow{font:var(--type-eyebrow);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-faint)}
.p-modal__title{margin:0;font:600 var(--text-xl)/1.25 var(--font-sans);color:var(--text-strong);text-wrap:pretty}
.p-modal__body{margin:0;font:400 var(--text-md)/1.5 var(--font-sans);color:var(--text-body);text-wrap:pretty}
.p-modal__help{margin:0;font:var(--type-meta);color:var(--text-muted)}
.p-modal__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}
.p-modal__actions .p-btn[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}
.p-modal__actions .p-btn[aria-pressed="true"] .p-icon{color:inherit}
.p-modal__step{display:grid;gap:11px;justify-items:start}

/* ── components/detail ─────────────────────────────────────────────────── */
.p-detail-head{background:var(--gradient-header);border-bottom:1px solid var(--border-default)}
.p-detail-head__inner{max-width:var(--content-max);margin:0 auto;padding:26.5px var(--gutter) 0;display:grid;gap:13px}
.p-detail-head--narrow .p-detail-head__inner{max-width:968px}
.p-detail-head__crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6.5px;font:400 var(--text-md)/1.2 var(--font-sans);color:var(--text-muted)}
.p-detail-head__crumbs a{display:inline-flex;align-items:center;gap:6.5px;color:var(--text-muted)}
.p-detail-head__crumbs a:hover{color:var(--text-strong)}
.p-detail-head__row{display:flex;flex-wrap:wrap;align-items:center;gap:11px 15.5px}
.p-detail-head__title{display:flex;align-items:center;gap:11px;min-width:0;margin:0;font:var(--type-host-lg);color:var(--text-strong);word-break:break-all}
.p-detail-head__title.is-sans{font-family:var(--font-sans);word-break:normal;overflow-wrap:anywhere}
.p-detail-head__actions{display:flex;gap:9px;margin-left:auto}
.p-detail-head__actions form{display:contents}
.p-detail-head__sub{font:var(--type-ui);color:var(--text-muted)}
.p-detail-head .p-tabs{box-shadow:none;margin-top:4.5px}
.p-detail-head__inner>.p-detail-head__row:last-child,.p-detail-head__inner>.p-detail-head__sub:last-child{padding-bottom:22px}
.p-copy{display:inline-grid;place-items:center;width:28.5px;height:28.5px;border:0;border-radius:var(--radius-xs);background:none;color:var(--text-faint);cursor:pointer;font-size:15.5px}
.p-copy:hover{background:var(--surface-sunken);color:var(--text-strong)}
.p-copy .i-check,.p-copy.is-copied .i-copy{display:none}
.p-copy.is-copied .i-check{display:inline-block;color:var(--status-live-fg)}
.p-section{display:grid;gap:11px;padding:20px 0;border-top:1px solid var(--border-subtle)}
.p-section:first-child{border-top:0;padding-top:0}
.p-section__title{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0;font:600 var(--text-base)/1.3 var(--font-sans);color:var(--text-strong)}
.p-section__title small{font:var(--type-meta);color:var(--text-muted)}
.p-kv{display:grid;gap:0;margin:0}
.p-kv__row{display:flex;align-items:baseline;gap:9px;min-height:33px;padding:4.5px 0;font:var(--type-ui)}
.p-kv__label{color:var(--text-body);white-space:nowrap;margin:0}
.p-kv__leader{flex:1;min-width:17.5px;border-bottom:1px dotted var(--border-strong);transform:translateY(-4px)}
.p-kv__value{margin:0;color:var(--text-strong);text-align:right;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6.5px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.p-kv--plain .p-kv__leader{border-bottom-color:transparent}
.p-none{color:var(--text-muted);font-weight:400}
p.p-none{margin:0;font:var(--type-ui)}
a.p-pill{text-decoration:none}
a.p-pill[data-tint]:hover{text-decoration:none;border-color:var(--_fg)}
.p-code{display:block;margin:0;padding:13px 15.5px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle);font:var(--type-code);color:var(--text-body);overflow-x:auto;white-space:pre}
/* Extracted text: one block, wrapped, scrolling past ~16 lines. */
.p-code--text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:352px;overflow-y:auto}

/* ── components/account ────────────────────────────────────────────────── */
.p-panel{border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);overflow:hidden}
.p-panel__head{display:flex;align-items:flex-start;gap:13px;padding:15.5px 20px;background:var(--gradient-card);border-bottom:1px solid var(--border-subtle)}
.p-panel__head form{display:contents}
.p-panel__head:last-child{border-bottom:0}
.p-panel__titles{flex:1;min-width:0;display:grid;gap:2px}
.p-panel__title{margin:0;font:600 var(--text-lg)/1.3 var(--font-sans);color:var(--text-strong)}
.p-panel__desc{margin:0;font:var(--type-meta);color:var(--text-muted)}
.p-panel__body{display:grid;gap:0;padding:0 20px}
.p-panel__body>p{margin:17.5px 0 0;font:var(--type-ui);color:var(--text-body)}
.p-panel--danger{border-color:var(--status-dead-border)}
.p-panel--danger .p-panel__head{background:var(--status-dead-bg)}
.p-setting{display:grid;grid-template-columns:minmax(0,242px) minmax(0,1fr);gap:9px 26.5px;padding:17.5px 0;border-top:1px solid var(--border-subtle)}
.p-setting:first-child{border-top:0}
.p-setting--full>*{grid-column:1/-1}
.p-setting__label{display:grid;gap:3.5px;align-content:start}
.p-setting__label strong{font:600 var(--text-md)/1.3 var(--font-sans);color:var(--text-strong)}
.p-setting__label span{font:var(--type-caption);color:var(--text-muted);text-wrap:pretty}
.p-setting__control{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0;font:var(--type-ui);color:var(--text-body)}
.p-meter{display:grid;gap:6.5px;min-width:0;width:100%}
.p-meter__top{display:flex;align-items:baseline;justify-content:space-between;gap:9px;font:var(--type-ui);color:var(--text-body)}
.p-meter__top b{font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums}
.p-meter__top span{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}
.p-meter__track{height:6.5px;border-radius:var(--radius-full);background:var(--surface-sunken);overflow:hidden;box-shadow:inset 0 0 0 1px var(--border-subtle)}
.p-meter__fill{height:100%;border-radius:inherit;background:var(--accent-500)}
.p-meter.is-warning .p-meter__fill{background:var(--status-warning-dot)}
.p-meter.is-over .p-meter__fill{background:var(--status-dead-dot)}
.p-login{width:100%;max-width:422.5px;display:grid;gap:20px;padding:31px;border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--gradient-card)}
.p-login__head{display:grid;gap:6.5px;justify-items:start}
.p-login__head h1{margin:9px 0 0;font:var(--type-h1);letter-spacing:var(--tracking-tight);color:var(--text-strong)}
.p-login__head p{margin:0;font:var(--type-ui);color:var(--text-muted)}
.p-login__head p strong{color:var(--text-strong);font-weight:600;overflow-wrap:anywhere}
.p-login__or{display:flex;align-items:center;gap:11px;font:var(--type-caption);color:var(--text-faint)}
.p-login__or::before,.p-login__or::after{content:"";flex:1;height:1px;background:var(--border-default)}
.p-login__form{display:grid;gap:15.5px}
.p-login__hint{font:var(--type-caption);color:var(--text-muted);text-align:center}
.p-login__switch{margin:0;padding-top:15.5px;border-top:1px solid var(--border-subtle);font:var(--type-ui);color:var(--text-muted);text-align:center}
.p-login form.p-login__switch{display:block}
.p-login__switch button{margin:0;padding:0;border:0;background:none;font:inherit;color:var(--text-link);cursor:pointer}
.p-login__switch button:hover{text-decoration:underline;text-underline-offset:2px}
.p-login__google{flex:none}
.p-login__sent-icon{display:grid;place-items:center;width:48.5px;height:48.5px;margin-top:9px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-icon);font-size:22px}
.p-consent{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.p-consent li{display:flex;gap:11px;align-items:flex-start;font:var(--type-ui);color:var(--text-body)}
.p-consent .p-icon{margin-top:2.5px;font-size:16.5px;color:var(--accent-icon)}
.p-consent__fine{margin:0;font:var(--type-caption);color:var(--text-muted)}
.p-consent__acts{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.p-consent__dest{display:flex;gap:9px;align-items:flex-start;margin:0;font:var(--type-caption);color:var(--text-muted)}
.p-consent__dest .p-icon{margin-top:1.5px;font-size:14px}
.p-consent__dest strong{color:var(--text-strong);font-weight:600;overflow-wrap:anywhere}
.p-consent__uri{display:block;font-family:var(--font-mono);color:var(--text-faint);overflow-wrap:anywhere}

/* ── Console ───────────────────────────────────────────────────────────── */
/* svh, not vh: on iOS Safari 100vh is the height with the toolbar collapsed,
   so a short page (an empty search) pushed its footer below the visible
   area, under the phone tab bar, until the visitor scrolled. */
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.p-main{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:26.5px 31px 53px;display:grid;gap:17.5px;align-content:start}
.p-main--narrow{max-width:968px;padding:26.5px var(--gutter) 70.5px;gap:22px}
.p-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4.5px 20px;padding:22px var(--gutter) 31px;border-top:1px solid var(--border-subtle);font:var(--type-caption);color:var(--text-muted)}
.p-foot a{color:var(--text-muted)}
.p-foot a:hover{color:var(--text-strong)}
/* Theme toggle: the moon shows in light mode, the sun in dark mode; it
   needs theme.js, which sets data-theme. */
html:not([data-theme]) .p-theme-toggle{display:none}
.p-theme-toggle .i-sun,[data-theme="dark"] .p-theme-toggle .i-moon{display:none}
[data-theme="dark"] .p-theme-toggle .i-sun{display:inline-block}
/* Filter pickers: a <details> per filter in the search bar's filter row; the
   panel is a GET form that opens under the whole search box, at its width,
   over the results (as in the kit). */
.p-search{position:relative}
.picker>summary{list-style:none}
.picker>summary::-webkit-details-marker{display:none}
.picker[open]>summary{border-color:var(--border-strong);background:var(--surface-sunken)}
.picker>summary .i-chev{font-size:14.5px;margin-right:-2px}
.picker.is-set>summary{border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent-soft-text)}
.picker.is-set>summary .p-icon{color:var(--accent-soft-text)}
/* A filter the plan lacks: muted, dashed, inert, with a small Plus tag. */
.picker-locked{color:var(--text-muted);background:var(--surface-subtle);border-style:dashed;cursor:not-allowed}
/* Not the kit's 50% disabled look, and hoverable so its tooltip shows. */
.p-btn.picker-locked[aria-disabled="true"]{opacity:1;pointer-events:auto}
.picker-locked:hover{color:var(--text-muted);background:var(--surface-subtle);border-color:var(--border-default)}
.picker-locked .p-icon{color:var(--text-muted)}
.picker-locked:active{transform:none}
.pk-plus{display:inline-flex;align-items:center;height:19.5px;padding:0 6.5px;margin-left:2px;border:1px solid var(--accent-soft-border);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-soft-text);font:600 var(--text-2xs)/1 var(--font-sans)}
.pk-panel{position:absolute;z-index:30;top:calc(100% + 6.5px);left:0;right:0;display:grid;gap:13px;padding:15.5px 17.5px;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-popover)}
.pk-head{display:flex;align-items:center;gap:9px;font:600 var(--text-md)/1.3 var(--font-sans);color:var(--text-strong)}
.pk-head .p-icon{color:var(--text-faint)}
.pk-note,.pk-help{margin:0;font:var(--type-caption);color:var(--text-muted);text-wrap:pretty}
.pk-full{margin:0;font:var(--type-caption);color:var(--status-warning-fg)}
.pk-group{display:grid;gap:6.5px;margin:0;padding:0;border:0;min-width:0}
.pk-group legend{padding:0;margin-bottom:6.5px;font:var(--type-caption);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.pk-opts{display:flex;flex-wrap:wrap;gap:6.5px}
.pk-opt{position:relative;display:inline-flex;align-items:center;gap:6.5px;height:33px;padding:0 11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--gradient-card);color:var(--text-body);font:400 var(--text-md)/1 var(--font-sans);white-space:nowrap;cursor:pointer;user-select:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.pk-opt:hover{border-color:var(--border-default);box-shadow:var(--shadow-xs)}
.pk-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.pk-opt:has(input:checked){background:var(--accent-soft);border-color:var(--accent-soft-border);color:var(--accent-soft-text)}
.pk-opt:has(input:focus-visible){box-shadow:0 0 0 3.5px var(--focus-ring)}
.pk-opt:has(input:disabled){opacity:.5;cursor:not-allowed}
.pk-actions{display:flex;justify-content:flex-end;gap:9px}
/* Results header */
.p-results-head{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.p-results-head h1{margin:0;font:600 var(--text-xl)/1 var(--font-sans);color:var(--text-strong)}
.p-results-head__count{font:400 var(--text-xl)/1 var(--font-sans);color:var(--text-faint);font-variant-numeric:tabular-nums}
.p-results-head__of{font:var(--type-meta);color:var(--text-muted)}
.p-results-head__tools{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.p-results-head__err{font:600 var(--text-md)/1.3 var(--font-sans);color:var(--status-dead-fg)}
.p-sort{display:inline-flex;align-items:center;gap:6.5px;height:var(--control-sm);padding:0 4.5px;font:600 var(--text-sm)/1 var(--font-sans);color:var(--text-muted)}
.p-sort .p-icon{font-size:15.5px;color:var(--text-faint)}
#results[data-view="list"] .p-results-grid,#results[data-view="grid"] .p-results-list{display:none}
/* A note box (favicon notice, account notices) */
.p-note{display:flex;flex-wrap:wrap;align-items:flex-start;gap:13px;padding:13px 15.5px;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-subtle)}
.p-note>.p-icon{color:var(--text-faint);margin-top:3.5px}
.p-note__body{display:grid;gap:6.5px;flex:1;min-width:0}
.p-note__title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font:600 var(--text-md)/1.3 var(--font-sans);color:var(--text-strong)}
.p-note__text{font:var(--type-meta);color:var(--text-muted);text-wrap:pretty;margin:0}
.p-note__actions{display:flex;gap:6.5px;flex:none}
.p-note--ok{background:var(--status-live-bg);border-color:var(--status-live-border)}
.p-note--ok>.p-icon{color:var(--status-live-fg)}
.p-note--error{background:var(--status-dead-bg);border-color:var(--status-dead-border)}
.p-note--error>.p-icon{color:var(--status-dead-fg)}
.p-note--warning{background:var(--status-warning-bg);border-color:var(--status-warning-border)}
.p-note--warning>.p-icon{color:var(--status-warning-fg)}
/* App page */
.p-creds{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.p-creds li{display:grid;gap:6.5px}
.p-creds__head{display:flex;align-items:center;gap:9px;font:600 var(--text-md)/1.3 var(--font-sans);color:var(--text-strong)}
.p-creds__head>.p-icon{color:var(--text-faint)}
.p-creds .p-code{white-space:pre-wrap;overflow-wrap:anywhere}
/* Settings */
.p-key{display:flex;flex-wrap:wrap;gap:9px;align-items:center;width:100%}
.p-key code{flex:1 1 286px;min-width:0;overflow-wrap:anywhere;padding:9px 11px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-strong);font:400 var(--text-sm)/1.4 var(--font-mono)}
.p-callout{display:grid;gap:11px;margin:17.5px 0 4.5px;padding:15.5px 17.5px;border:1px solid var(--status-warning-border);border-radius:var(--radius-card);background:var(--status-warning-bg)}
.p-callout__title{display:flex;gap:9px;align-items:center;font:600 var(--text-sm)/1.3 var(--font-sans);color:var(--text-strong)}
.p-callout__title .p-icon{color:var(--status-warning-fg)}
.p-callout--danger{display:flex;flex-wrap:wrap;gap:11px;align-items:center;border-color:var(--status-dead-border);background:var(--status-dead-bg)}
.p-callout--danger>span{flex:1 1 286px;font:var(--type-ui);color:var(--text-body)}
.p-callout--danger strong{color:var(--text-strong)}
.p-callout__acts{display:flex;gap:9px}
.p-callout__acts form{display:contents}
.p-rotate{display:flex;flex-wrap:wrap;align-items:center;gap:11px;padding:17.5px 0;border-top:1px solid var(--border-subtle)}
.p-danger-confirm{display:grid;gap:11px;padding:17.5px 0}
.p-danger-confirm summary{list-style:none;justify-self:start}
.p-danger-confirm summary::-webkit-details-marker{display:none}
.p-danger-confirm form{display:grid;gap:11px;max-width:462px}
.p-panel__body .p-upsell{margin:17.5px 0}
.p-panel__body .p-empty{margin:20px 0}
/* Legal pages: running text in a reading column */
.p-prose{max-width:792px;font:var(--type-body);line-height:1.65;color:var(--text-body)}
.p-prose h2{margin:35px 0 9px;font:600 var(--text-lg)/1.35 var(--font-sans);color:var(--text-strong)}
.p-prose>:first-child{margin-top:0}
.p-prose p{margin:0 0 13px;text-wrap:pretty}
.p-prose ul{margin:0 0 13px;padding-left:24px}
.p-prose li{margin-bottom:4.5px}
.p-prose strong{color:var(--text-strong)}
.p-prose table{width:100%;border-collapse:separate;border-spacing:0;margin:9px 0 17.5px;border:1px solid var(--border-default);border-radius:var(--radius-card);overflow:hidden;font:var(--type-meta)}
.p-prose th,.p-prose td{padding:9px 11px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border-subtle)}
.p-prose tr:last-child>td{border-bottom:0}
.p-prose th{background:var(--surface-subtle);font:var(--type-eyebrow);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted)}
.p-prose address{margin:0 0 13px;padding:13px 15.5px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-subtle);font:var(--type-code);font-style:normal;color:var(--text-body)}
/* Login */
.p-auth{position:relative;flex:1;display:grid;place-items:center;padding:61.5px 26.5px 26.5px;background:var(--surface-subtle)}
.p-auth__stack{display:grid;gap:17.5px;justify-items:center;width:100%}
.p-auth .p-login{background:var(--surface-card)}
.p-auth__fine{max-width:422.5px;font:var(--type-caption);color:var(--text-muted);text-align:center;text-wrap:pretty;margin:0}
.p-auth__corner{position:absolute;top:13px;right:17.5px}
.p-login form{display:grid;gap:15.5px}

/* ── tokens/responsive.css ─────────────────────────────────────────────── */
.p-layout-detail{max-width:var(--content-max);width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 396px;flex:1}
.p-layout-detail__main{padding:26.5px var(--gutter) 53px;border-right:1px solid var(--border-subtle);display:grid;gap:22px;align-content:start;min-width:0}
.p-layout-detail__aside{padding:26.5px var(--gutter);min-width:0}
.p-mobile-only{display:none!important}
@media (max-width:900px){
:root{--gutter:17.5px}
.p-nav{gap:13px;padding:0 var(--gutter)}
.p-nav__index{display:none}
.p-nav__link{padding:0 9px}
.p-main{padding:17.5px var(--gutter) 44px}
.p-layout-detail{grid-template-columns:minmax(0,1fr)}
.p-layout-detail__main{border-right:0;border-bottom:1px solid var(--border-subtle);padding-bottom:31px}
.p-detail-head__inner{padding-top:20px}
}
@media (max-width:640px){
.p-nav__divider{display:none}
.p-nav__right{margin-left:auto}
.p-nav__links{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0;height:calc(66px + env(safe-area-inset-bottom));padding:0 4.5px env(safe-area-inset-bottom);gap:0;justify-content:space-around;background:var(--surface-page);border-top:1px solid var(--border-subtle)}
.p-nav__link{position:relative;flex:1;flex-direction:column;justify-content:center;gap:4.5px;height:66px;padding:0 4.5px;font-size:var(--text-2xs)}
.p-nav__link:hover{text-decoration:none}
.p-nav__link .p-icon{font-size:22px}
body:has(.p-nav__links){padding-bottom:calc(66px + env(safe-area-inset-bottom))}
.p-search__field{padding-left:13px}
.p-row{grid-template-columns:minmax(0,1fr);gap:11px 15.5px;padding:13px}
.p-row>.p-shot{display:none}
.p-results-grid{grid-template-columns:minmax(0,1fr)}
.p-results-head__tools{margin-left:0;width:100%}
.p-detail-head__actions{margin-left:0;width:100%;flex-wrap:wrap}
.p-kv__label{white-space:normal}
.p-panel__head{flex-wrap:wrap;padding-left:15.5px;padding-right:15.5px}
.p-panel__body{padding:0 15.5px}
.p-setting{grid-template-columns:1fr}
.p-upsell{flex-wrap:wrap;align-items:flex-start}
.p-upsell__body{flex-basis:calc(100% - 55px)}
.p-upsell__actions{margin-left:55px}
.p-empty{padding:39.5px 17.5px}
.p-prose table{display:block;overflow-x:auto}
.pk-panel{max-height:70vh;overflow-y:auto}
}
