/* NeuraWeb Global Inc. - pacn.nw
 * /srv/neuraweb/sites/enterprise/pacn.nw/assets/css/pacn-core.css
 * Chrome, typography, and page styles. Light and dark themes, four text sizes.
 */
:root{
--pcn-primary:#1a365d;
--pcn-secondary:#2d5a87;
--pcn-accent:#0ea5e9;
--pcn-accent-hover:#0284c7;
--pcn-accent-glow:rgba(14,165,233,0.15);
--pcn-error:#ef4444;
--pcn-success:#10b981;
--pcn-font:'Outfit','DM Sans','Space Grotesk',system-ui,-apple-system,sans-serif;
--pcn-mono:'JetBrains Mono','DM Mono',ui-monospace,monospace;
--pcn-radius-sm:6px;
--pcn-radius-md:10px;
--pcn-radius-lg:14px;
--pcn-topbar-h:64px;
/* ECharts theme reads --nw-*; map them onto the pacn palette. */
--nw-primary:#1a365d;
--nw-accent:#0ea5e9;
--nw-success:#10b981;
--nw-warning:#f59e0b;
--nw-error:#ef4444;
--nw-font:'Outfit','DM Sans','Space Grotesk',system-ui,-apple-system,sans-serif;
--pcn-max:100%;
}
html[data-theme="light"]{
--pcn-bg:#fafafa;
--pcn-surface:#ffffff;
--pcn-surface-2:#f0f4f8;
--pcn-hover:#f1f5f9;
--pcn-text:#0f172a;
--pcn-text-2:#475569;
--pcn-muted:#94a3b8;
--pcn-border:#e2e8f0;
--pcn-border-2:#cbd5e1;
--pcn-shadow:0 2px 8px rgba(0,0,0,0.08);
}
html[data-theme="dark"]{
--pcn-bg:#0a0f1a;
--pcn-surface:#111827;
--pcn-surface-2:#1e293b;
--pcn-hover:#334155;
--pcn-text:#f1f5f9;
--pcn-text-2:#94a3b8;
--pcn-muted:#64748b;
--pcn-border:#334155;
--pcn-border-2:#475569;
--pcn-shadow:0 4px 20px rgba(0,0,0,0.4);
}
html[data-size="sm"]{font-size:14px}
html[data-size="md"]{font-size:15px}
html[data-size="lg"]{font-size:17px}
html[data-size="xl"]{font-size:19px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--pcn-font);background:var(--pcn-bg);color:var(--pcn-text);line-height:1.5;font-size:1rem}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:3px solid var(--pcn-accent);outline-offset:2px;border-radius:2px}
.pcn-chrome{min-height:100vh;display:flex;flex-direction:column}
/* ── Topbar ─────────────────────────────────────────────── */
.pcn-topbar{background:var(--pcn-surface);border-bottom:1px solid var(--pcn-border);position:sticky;top:0;z-index:1000}
.pcn-topbar-row{display:flex;align-items:center;gap:1.5rem;padding:0 2.5rem;min-height:var(--pcn-topbar-h);max-width:var(--pcn-max);margin:0 auto}
.pcn-topbar-left{flex-shrink:0}
.pcn-logo{text-decoration:none;display:block}
.pcn-logo-wordmark{font-size:1.4rem;font-weight:800;letter-spacing:-0.03em;line-height:1.1;color:var(--pcn-text)}
.pcn-logo-dot{color:var(--pcn-accent)}
.pcn-logo-by{display:block;font-size:0.62rem;font-weight:500;letter-spacing:0.04em;color:var(--pcn-muted);margin-top:1px}
.pcn-nav{display:flex;gap:0.15rem;flex:1;justify-content:center;flex-wrap:wrap}
.pcn-nav-link{padding:0.55rem 0.85rem;border-radius:var(--pcn-radius-md);font-size:0.9rem;font-weight:500;color:var(--pcn-text-2);text-decoration:none;white-space:nowrap;transition:background 150ms ease,color 150ms ease}
.pcn-nav-link:hover{background:var(--pcn-hover);color:var(--pcn-text)}
.pcn-nav-link.active{background:var(--pcn-accent-glow);color:var(--pcn-accent);font-weight:600}
.pcn-topbar-controls{display:flex;align-items:center;gap:0.5rem;flex-shrink:0}
.pcn-signin-btn{padding:0.5rem 1rem;border-radius:var(--pcn-radius-md);background:var(--pcn-accent);color:#fff;font-size:0.85rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background 150ms ease}
.pcn-signin-btn:hover{background:var(--pcn-accent-hover)}
.pcn-auth-wrap{position:relative}
.pcn-auth-btn{display:flex;align-items:center;gap:0.5rem;padding:0.3rem 0.6rem 0.3rem 0.3rem;border:1px solid var(--pcn-border);border-radius:999px;background:var(--pcn-surface-2);color:var(--pcn-text);cursor:pointer;font-family:inherit;font-size:0.85rem;font-weight:600;max-width:190px}
.pcn-auth-btn:hover{border-color:var(--pcn-border-2)}
.pcn-auth-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}
.pcn-auth-initials{width:26px;height:26px;border-radius:50%;background:var(--pcn-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;flex-shrink:0}
.pcn-auth-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcn-auth-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);box-shadow:var(--pcn-shadow);padding:0.4rem;display:none;z-index:1100}
.pcn-auth-dropdown.open{display:block}
.pcn-auth-drop-head{padding:0.6rem 0.7rem;border-bottom:1px solid var(--pcn-border);margin-bottom:0.3rem}
.pcn-auth-drop-name{font-weight:700;font-size:0.9rem}
.pcn-auth-drop-une{font-size:0.78rem;color:var(--pcn-muted)}
.pcn-auth-drop-item{display:block;padding:0.55rem 0.7rem;border-radius:var(--pcn-radius-sm);font-size:0.87rem;color:var(--pcn-text-2);text-decoration:none}
.pcn-auth-drop-item:hover{background:var(--pcn-hover);color:var(--pcn-text)}
.pcn-auth-drop-signout{color:var(--pcn-error)}
.pcn-size-controls{display:flex;align-items:baseline;gap:2px;padding:0 0.3rem;border-left:1px solid var(--pcn-border);border-right:1px solid var(--pcn-border)}
.pcn-size-btn{background:none;border:none;cursor:pointer;color:var(--pcn-muted);font-family:inherit;font-weight:700;padding:0.2rem 0.35rem;border-radius:var(--pcn-radius-sm);line-height:1}
.pcn-size-btn[data-size="sm"]{font-size:0.7rem}
.pcn-size-btn[data-size="md"]{font-size:0.85rem}
.pcn-size-btn[data-size="lg"]{font-size:1rem}
.pcn-size-btn[data-size="xl"]{font-size:1.15rem}
.pcn-size-btn:hover{background:var(--pcn-hover);color:var(--pcn-text)}
.pcn-size-btn.active{background:var(--pcn-accent-glow);color:var(--pcn-accent)}
.pcn-ctrl-btn{background:none;border:none;cursor:pointer;padding:0.4rem;border-radius:var(--pcn-radius-sm);display:flex;align-items:center;justify-content:center}
.pcn-ctrl-btn:hover{background:var(--pcn-hover)}
.pcn-ctrl-btn img{width:20px;height:20px;display:block}
html[data-theme="dark"] .pcn-ctrl-btn img{filter:invert(1) brightness(1.6)}
html[data-theme="dark"] .pcn-icon-light{display:block}
html[data-theme="dark"] .pcn-icon-dark{display:none}
html[data-theme="light"] .pcn-icon-light{display:none}
html[data-theme="light"] .pcn-icon-dark{display:block}
.pcn-icon-fs-exit{display:none}
body.pcn-fs .pcn-icon-fs-enter{display:none}
body.pcn-fs .pcn-icon-fs-exit{display:block}
/* ── Search row ─────────────────────────────────────────── */
.pcn-topbar-search{border-top:1px solid var(--pcn-border);background:var(--pcn-surface-2);padding:0.6rem 1.5rem}
.pcn-hsearch{max-width:1100px;margin:0 auto;display:flex;position:relative}
.pcn-hsearch-input{flex:1;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);background:var(--pcn-surface);color:var(--pcn-text);font-family:inherit;font-size:0.9rem;padding:0.5rem 0.85rem}
.pcn-hsearch-input::placeholder{color:var(--pcn-muted)}
.pcn-hsearch-input:focus{border-color:var(--pcn-accent);outline:none;box-shadow:0 0 0 3px var(--pcn-accent-glow)}
.pcn-hsearch-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);box-shadow:var(--pcn-shadow);padding:0.75rem 1rem;font-size:0.87rem;color:var(--pcn-text-2);z-index:1100}
.pcn-hsearch-panel[hidden]{display:none}
/* ── Hamburger ──────────────────────────────────────────── */
.pcn-hamburger-btn{display:none;background:none;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-sm);cursor:pointer;padding:0.45rem 0.5rem}
.pcn-hamburger-icon{display:block;width:18px}
.pcn-hamburger-icon span{display:block;height:2px;background:var(--pcn-text);border-radius:2px;margin:3px 0}
.pcn-hamburger-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);opacity:0;pointer-events:none;transition:opacity 200ms ease;z-index:1200}
body.pcn-hamburger-open .pcn-hamburger-overlay{opacity:1;pointer-events:auto}
.pcn-hamburger-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--pcn-surface);border-left:1px solid var(--pcn-border);transform:translateX(100%);transition:transform 220ms ease;z-index:1300;display:flex;flex-direction:column;overflow-y:auto}
body.pcn-hamburger-open .pcn-hamburger-drawer{transform:translateX(0)}
.pcn-hamburger-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--pcn-border)}
.pcn-hamburger-brand{font-size:1.15rem;font-weight:800;letter-spacing:-0.03em}
.pcn-hamburger-brand span{color:var(--pcn-accent)}
.pcn-hamburger-close{background:none;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-sm);color:var(--pcn-text-2);cursor:pointer;font-family:inherit;font-size:0.78rem;padding:0.35rem 0.6rem}
.pcn-hamburger-nav{display:flex;flex-direction:column;padding:0.75rem}
.pcn-hamburger-nav a{padding:0.75rem 0.85rem;border-radius:var(--pcn-radius-md);color:var(--pcn-text-2);text-decoration:none;font-size:0.95rem;font-weight:500}
.pcn-hamburger-nav a:hover{background:var(--pcn-hover);color:var(--pcn-text)}
.pcn-hamburger-nav a.active{background:var(--pcn-accent-glow);color:var(--pcn-accent);font-weight:600}
.pcn-hamburger-controls{margin-top:auto;padding:1.2rem;border-top:1px solid var(--pcn-border)}
.pcn-hamburger-controls-label{font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--pcn-muted);margin-bottom:0.6rem}
.pcn-hamburger-size-row{display:flex;align-items:baseline;gap:0.4rem}
/* ── Layout / footer ────────────────────────────────────── */
.pcn-layout{flex:1;width:100%}
.pcn-main{max-width:var(--pcn-max);margin:0 auto;padding:0 2.5rem 4rem;width:100%}
.pcn-footer{background:var(--pcn-surface);border-top:1px solid var(--pcn-border);padding:1.75rem 2.5rem}
.pcn-footer-inner{max-width:var(--pcn-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1.5rem;font-size:0.82rem;color:var(--pcn-muted)}
.pcn-footer-brand{font-weight:800;letter-spacing:-0.02em;color:var(--pcn-text);font-size:1rem}
.pcn-footer-brand span{color:var(--pcn-accent)}
.pcn-footer-tagline{color:var(--pcn-text-2)}
.pcn-footer-copy{margin-left:auto}
/* ── Buttons ────────────────────────────────────────────── */
.pcn-btn{display:inline-block;padding:0.7rem 1.3rem;border-radius:var(--pcn-radius-md);font-size:0.92rem;font-weight:600;text-decoration:none;transition:background 150ms ease,border-color 150ms ease}
.pcn-btn-primary{background:var(--pcn-accent);color:#fff}
.pcn-btn-primary:hover{background:var(--pcn-accent-hover)}
.pcn-btn-outline{border:1px solid var(--pcn-border-2);color:var(--pcn-text)}
.pcn-btn-outline:hover{background:var(--pcn-hover)}
/* ── Home ───────────────────────────────────────────────── */
.pcn-home-hero{padding:5rem 0 3.5rem;max-width:none}
.pcn-home-title{font-size:clamp(2rem,5vw,3.3rem);font-weight:800;letter-spacing:-0.03em;line-height:1.1;margin-bottom:1.4rem}
.pcn-home-lead{font-size:1.15rem;line-height:1.7;color:var(--pcn-text-2);margin-bottom:2rem;max-width:80ch}
.pcn-home-actions{display:flex;flex-wrap:wrap;gap:0.75rem}
.pcn-home-tenets{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;padding-bottom:3rem}
.pcn-home-tenet{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);padding:1.5rem;background:var(--pcn-surface)}
.pcn-home-tenet h2{font-size:1.05rem;font-weight:700;margin-bottom:0.6rem}
.pcn-home-tenet p{font-size:0.92rem;line-height:1.65;color:var(--pcn-text-2)}
/* ── Empty / placeholder views ──────────────────────────── */
.pcn-empty{max-width:min(100%,90ch);padding:5rem 0 4rem}
.pcn-empty h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:-0.03em;margin-bottom:1.1rem}
.pcn-empty p{font-size:1.02rem;line-height:1.7;color:var(--pcn-text-2);margin-bottom:1rem}
.pcn-empty-state{border-left:3px solid var(--pcn-accent);padding-left:1rem;color:var(--pcn-muted);font-size:0.95rem}
/* ── About hero + tabs ──────────────────────────────────── */
.pcn-about-hero{padding:4rem 0 2.5rem;text-align:center;border-bottom:1px solid var(--pcn-border)}
.pcn-about-hero-identity{font-size:clamp(2.2rem,6vw,3.4rem);font-weight:800;letter-spacing:-0.04em;line-height:1}
.pcn-about-hero-dot{color:var(--pcn-accent)}
.pcn-about-hero-tagline{font-size:1.05rem;font-weight:600;color:var(--pcn-text-2);margin-top:0.6rem}
.pcn-about-hero-descriptor{font-size:0.95rem;color:var(--pcn-muted);margin-top:0.3rem}
.pcn-about-hero-parent{font-size:0.8rem;color:var(--pcn-muted);margin-top:0.85rem;letter-spacing:0.03em}
.pcn-about-shell{display:block}
.pcn-about-tabs{display:flex;gap:0.25rem;overflow-x:auto;padding:1rem 0;border-bottom:1px solid var(--pcn-border);scrollbar-width:none}
.pcn-about-tabs::-webkit-scrollbar{display:none}
.pcn-about-tab{padding:0.6rem 1rem;border-radius:var(--pcn-radius-md);font-size:0.9rem;font-weight:500;color:var(--pcn-text-2);text-decoration:none;white-space:nowrap}
.pcn-about-tab:hover{background:var(--pcn-hover);color:var(--pcn-text)}
.pcn-about-tab.active{background:var(--pcn-accent-glow);color:var(--pcn-accent);font-weight:600}
.pcn-about-panel{display:block;padding-top:2.5rem}
@media (min-width:1200px){
.pcn-about-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:3.5rem;align-items:start}
.pcn-about-tabs{flex-direction:column;gap:0.2rem;padding:2.5rem 0 0;border-bottom:none;border-right:1px solid var(--pcn-border);position:sticky;top:calc(var(--pcn-topbar-h) + 5.5rem);padding-right:1.5rem}
.pcn-about-tab{padding:0.7rem 0.9rem}
.pcn-about-panel{padding-top:2.5rem}
}
/* ── Prose ──────────────────────────────────────────────── */
.pcn-prose{max-width:min(100%,95ch)}
.pcn-prose h1{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15;margin-bottom:1.2rem}
.pcn-prose h2{font-size:1.2rem;font-weight:700;margin:2.2rem 0 0.8rem;color:var(--pcn-text)}
.pcn-prose p{font-size:1.02rem;line-height:1.75;color:var(--pcn-text-2);margin-bottom:1rem}
.pcn-prose ul{list-style:none;margin:0 0 1.2rem}
.pcn-prose li{position:relative;padding:0.55rem 0 0.55rem 1.1rem;border-left:2px solid var(--pcn-border);font-size:1rem;line-height:1.7;color:var(--pcn-text-2);margin-bottom:0.2rem}
.pcn-prose li strong{color:var(--pcn-text)}
.pcn-prose a{color:var(--pcn-accent);text-decoration:underline;text-underline-offset:2px}
.pcn-lead{font-size:1.15rem;line-height:1.65;color:var(--pcn-text);font-weight:500;margin-bottom:1.4rem}
/* ── Two Systems ────────────────────────────────────────── */
.pcn-ts-intro{max-width:min(100%,95ch);margin:0 auto 2.5rem;text-align:center}
.pcn-ts-title{font-size:clamp(1.9rem,4.6vw,3rem);font-weight:800;letter-spacing:-0.035em;line-height:1.1;margin-bottom:1.2rem}
.pcn-ts-intro p{font-size:1.02rem;line-height:1.75;color:var(--pcn-text-2);margin-bottom:0.9rem}
.pcn-ts-intro .pcn-lead{color:var(--pcn-text)}
.pcn-ts-seam{display:flex;align-items:center;gap:1rem;margin-bottom:0}
.pcn-ts-seam-rule{flex:1;height:1px;background:var(--pcn-border)}
.pcn-ts-seam-label{font-family:var(--pcn-mono);font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--pcn-muted);text-align:center}
.pcn-ts-split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--pcn-border);margin-top:1.25rem}
.pcn-ts-panel{padding:3.5rem 3rem 4.5rem}
.pcn-ts-anti{background:#050608;color:#94a3b8;border-right:2px solid var(--pcn-error)}
.pcn-ts-thesis{background:var(--pcn-surface);border-left:2px solid var(--pcn-primary)}
html[data-theme="light"] .pcn-ts-thesis{background:#ffffff}
.pcn-ts-head{padding-bottom:1.75rem;margin-bottom:2.25rem;border-bottom:1px solid var(--pcn-border)}
.pcn-ts-anti .pcn-ts-head{border-bottom-color:#1e2533}
.pcn-ts-tag{display:inline-block;font-family:var(--pcn-mono);font-size:0.63rem;letter-spacing:0.16em;text-transform:uppercase;padding:0.3rem 0.6rem;border-radius:4px;margin-bottom:1.1rem}
.pcn-ts-anti .pcn-ts-tag{background:rgba(239,68,68,0.12);color:var(--pcn-error);border:1px solid rgba(239,68,68,0.3)}
.pcn-ts-thesis .pcn-ts-tag{background:var(--pcn-accent-glow);color:var(--pcn-accent);border:1px solid rgba(14,165,233,0.3)}
.pcn-ts-panel h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15;margin-bottom:0.85rem}
.pcn-ts-anti h2{color:#f1f5f9}
.pcn-ts-thesis h2{color:var(--pcn-text)}
.pcn-ts-lede{font-size:0.98rem;line-height:1.7}
.pcn-ts-anti .pcn-ts-lede{color:#94a3b8}
.pcn-ts-thesis .pcn-ts-lede{color:var(--pcn-text-2)}
.pcn-ts-sec{margin-bottom:2.5rem}
.pcn-ts-sec h3{font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.9rem}
.pcn-ts-anti .pcn-ts-sec h3{color:var(--pcn-error)}
.pcn-ts-thesis .pcn-ts-sec h3{color:var(--pcn-secondary)}
html[data-theme="dark"] .pcn-ts-thesis .pcn-ts-sec h3{color:var(--pcn-accent)}
.pcn-ts-sec p{font-size:0.98rem;line-height:1.72;margin-bottom:0.75rem}
.pcn-ts-anti .pcn-ts-sec p{color:#94a3b8}
.pcn-ts-thesis .pcn-ts-sec p{color:var(--pcn-text-2)}
.pcn-ts-anti .pcn-ts-sec strong{color:#f1f5f9}
.pcn-ts-thesis .pcn-ts-sec strong{color:var(--pcn-text)}
.pcn-ts-readout{font-family:var(--pcn-mono);font-size:0.8rem;line-height:1.65;border-left:2px solid rgba(239,68,68,0.4);padding-left:1.1rem;margin:1.25rem 0}
.pcn-ts-readout-row{padding:0.65rem 0;border-bottom:1px solid #1e2533}
.pcn-ts-readout-row:last-child{border-bottom:none}
.pcn-ts-readout-when{color:var(--pcn-error);letter-spacing:0.08em;text-transform:uppercase;font-size:0.66rem;display:block;margin-bottom:0.35rem}
.pcn-ts-readout-what{color:#cbd5e1;display:block}
.pcn-ts-pull{margin:1.75rem 0;padding:1.35rem 1.5rem;border-radius:var(--pcn-radius-lg);font-size:1rem;line-height:1.6;font-weight:600}
.pcn-ts-anti .pcn-ts-pull{background:rgba(239,68,68,0.07);border:1px solid rgba(239,68,68,0.25);color:#fca5a5}
.pcn-ts-thesis .pcn-ts-pull{background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.3);color:#0f766e}
html[data-theme="dark"] .pcn-ts-thesis .pcn-ts-pull{color:#6ee7b7}
.pcn-ts-uses,.pcn-ts-stack{list-style:none;margin:1.1rem 0 0}
.pcn-ts-uses li,.pcn-ts-stack li{padding:0.85rem 0 0.85rem 1.1rem;border-left:2px solid var(--pcn-border);margin-bottom:0.15rem}
.pcn-ts-anti .pcn-ts-stack li{border-left-color:#1e2533}
.pcn-ts-uses li{border-left-width:3px}
.pcn-ts-legit{border-left-color:var(--pcn-success)}
.pcn-ts-warrant{border-left-color:var(--pcn-error)}
.pcn-ts-t{display:block;font-weight:600;font-size:0.95rem;margin-bottom:0.3rem;color:var(--pcn-text)}
.pcn-ts-anti .pcn-ts-t{color:#e2e8f0}
.pcn-ts-d{display:block;font-size:0.93rem;line-height:1.65;color:var(--pcn-text-2)}
.pcn-ts-anti .pcn-ts-d{color:#5b6675}
.pcn-ts-vd{display:block;font-family:var(--pcn-mono);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;margin-top:0.5rem}
.pcn-ts-legit .pcn-ts-vd{color:var(--pcn-success)}
.pcn-ts-warrant .pcn-ts-vd{color:var(--pcn-error)}
.pcn-ts-ctrl{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);padding:1.1rem 1.2rem;margin-bottom:0.75rem;background:var(--pcn-bg)}
.pcn-ts-ctrl:last-child{margin-bottom:0}
.pcn-ts-ctrl-name{font-weight:700;font-size:0.95rem;color:var(--pcn-text);margin-bottom:0.4rem}
.pcn-ts-ctrl-how{font-size:0.93rem;line-height:1.65;color:var(--pcn-text-2);margin-bottom:0.65rem}
.pcn-ts-ctrl-stops{font-size:0.83rem;line-height:1.6;color:var(--pcn-muted);padding-top:0.65rem;border-top:1px dashed var(--pcn-border)}
.pcn-ts-ctrl-stops b{font-weight:600;color:var(--pcn-secondary);letter-spacing:0.07em;text-transform:uppercase;font-size:0.66rem;display:block;margin-bottom:0.25rem}
html[data-theme="dark"] .pcn-ts-ctrl-stops b{color:var(--pcn-accent)}
.pcn-ts-verdict{margin-top:2.75rem;padding-top:1.75rem}
.pcn-ts-verdict-refuse{border-top:2px solid var(--pcn-error)}
.pcn-ts-verdict-commit{border-top:2px solid var(--pcn-accent)}
.pcn-ts-verdict-k{font-family:var(--pcn-mono);font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:0.75rem}
.pcn-ts-verdict-refuse .pcn-ts-verdict-k{color:var(--pcn-error)}
.pcn-ts-verdict-commit .pcn-ts-verdict-k{color:var(--pcn-accent)}
.pcn-ts-verdict p{font-size:1rem;line-height:1.72}
.pcn-ts-verdict-refuse p{color:#e2e8f0}
.pcn-ts-verdict-commit p{color:var(--pcn-text)}
.pcn-ts-closer{background:var(--pcn-primary);color:#e2e8f0;padding:4.5rem 1.5rem;margin-top:0}
.pcn-ts-closer-inner{max-width:min(100%,90ch);margin:0 auto;text-align:center}
.pcn-ts-closer h2{font-size:clamp(1.5rem,3.4vw,2.3rem);font-weight:800;letter-spacing:-0.03em;line-height:1.25;color:#fff;margin-bottom:1.3rem}
.pcn-ts-closer p{font-size:1rem;line-height:1.75;color:#b8c7d9;max-width:640px;margin:0 auto 0.85rem}
.pcn-ts-closer-scope{margin-top:2.2rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,0.15);font-size:0.9rem;line-height:1.7;color:#93a5bb;text-align:left}
/* ── Contact form ───────────────────────────────────────── */
.pcn-contact{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--pcn-border);max-width:min(100%,95ch)}
.pcn-contact-title{font-size:1.35rem;font-weight:700;margin-bottom:0.6rem}
.pcn-contact-note{font-size:0.95rem;line-height:1.7;color:var(--pcn-text-2);margin-bottom:1.75rem}
.pcn-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}
.pcn-field{display:flex;flex-direction:column;margin-bottom:1.25rem}
.pcn-form-row .pcn-field{margin-bottom:0}
.pcn-label{font-size:0.72rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--pcn-muted);margin-bottom:0.45rem}
.pcn-input,.pcn-select,.pcn-textarea{font-family:inherit;font-size:0.95rem;color:var(--pcn-text);background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);padding:0.7rem 0.85rem;width:100%}
.pcn-textarea{resize:vertical;min-height:9rem;line-height:1.6}
.pcn-input:focus,.pcn-select:focus,.pcn-textarea:focus{border-color:var(--pcn-accent);outline:none;box-shadow:0 0 0 3px var(--pcn-accent-glow)}
.pcn-form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:0.5rem}
.pcn-btn[disabled]{opacity:0.55;cursor:not-allowed}
.pcn-form-status{font-size:0.9rem;line-height:1.5;color:var(--pcn-text-2)}
.pcn-form-status-ok{color:var(--pcn-success);font-weight:600}
.pcn-form-status-error{color:var(--pcn-error);font-weight:600}

/* ── Map + charts + news ────────────────────────────────── */
.pcn-map-head{padding:3.5rem 0 1.5rem}
.pcn-map-title{font-size:clamp(1.9rem,4.4vw,2.9rem);font-weight:800;letter-spacing:-0.03em;line-height:1.12;margin-bottom:1rem}
.pcn-map-lede{font-size:1.05rem;line-height:1.7;color:var(--pcn-text-2)}
.pcn-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.75rem}
.pcn-stat{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);padding:1.25rem 1.4rem;background:var(--pcn-surface)}
.pcn-stat-flag{border-color:rgba(239,68,68,0.4);background:rgba(239,68,68,0.06)}
.pcn-stat-n{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-0.03em;line-height:1;color:var(--pcn-text)}
.pcn-stat-flag .pcn-stat-n{color:var(--pcn-error)}
.pcn-stat-l{font-size:0.82rem;line-height:1.45;color:var(--pcn-text-2);margin-top:0.5rem}
.pcn-map-wrap{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);overflow:hidden;background:var(--pcn-surface-2)}
.pcn-map{width:100%;height:clamp(420px,62vh,760px)}
.pcn-map-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem;margin-top:1.75rem}
.pcn-panel{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);padding:1.5rem;background:var(--pcn-surface)}
.pcn-panel-wide{grid-column:1/-1}
.pcn-panel-title{font-size:1.05rem;font-weight:700;margin-bottom:1rem}
.pcn-panel-note{font-size:0.88rem;line-height:1.65;color:var(--pcn-text-2);margin-top:1rem}
.pcn-panel-note strong{color:var(--pcn-text)}
.pcn-chart{width:100%;height:320px}
.pcn-panel-wide .pcn-chart{height:380px}
.pcn-pop{font-family:var(--pcn-font);font-size:0.86rem;min-width:190px}
.pcn-pop-row{display:flex;justify-content:space-between;gap:1rem;padding:0.3rem 0;border-bottom:1px solid var(--pcn-border)}
.pcn-pop-row:last-child{border-bottom:none}
.pcn-pop-k{color:var(--pcn-muted);text-transform:uppercase;letter-spacing:0.06em;font-size:0.68rem}
.pcn-pop-v{color:var(--pcn-text);font-weight:600;text-align:right}
.pcn-source-note{margin-top:2.5rem;padding-top:1.75rem;border-top:1px solid var(--pcn-border);max-width:min(100%,95ch)}
.pcn-source-note h2{font-size:1.05rem;font-weight:700;margin-bottom:0.8rem}
.pcn-source-note p{font-size:0.95rem;line-height:1.7;color:var(--pcn-text-2);margin-bottom:0.8rem}
.pcn-source-note a{color:var(--pcn-accent);text-decoration:underline;text-underline-offset:2px}
.pcn-source-attr{font-size:0.8rem;color:var(--pcn-muted)}
.pcn-news-head{padding:3.5rem 0 2rem;max-width:min(100%,95ch)}
.pcn-news-title{font-size:clamp(1.9rem,4.4vw,2.9rem);font-weight:800;letter-spacing:-0.03em;margin-bottom:1rem}
.pcn-news-lede{font-size:1.05rem;line-height:1.7;color:var(--pcn-text-2)}
.pcn-news-group{margin-bottom:3rem;max-width:min(100%,95ch)}
.pcn-news-group-title{font-size:1.3rem;font-weight:700;margin-bottom:0.4rem}
.pcn-news-group-blurb{font-size:0.92rem;color:var(--pcn-muted);margin-bottom:1.25rem}
.pcn-news-list{list-style:none}
.pcn-news-item{padding:1.25rem 0 1.25rem 1.15rem;border-left:2px solid var(--pcn-border)}
.pcn-news-item:hover{border-left-color:var(--pcn-accent)}
.pcn-news-meta{display:flex;flex-wrap:wrap;gap:0.75rem;font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--pcn-muted);margin-bottom:0.5rem}
.pcn-news-outlet{color:var(--pcn-accent);font-weight:600}
.pcn-news-headline{font-size:1.08rem;font-weight:700;line-height:1.4;margin-bottom:0.35rem}
.pcn-news-headline a{color:var(--pcn-text);text-decoration:none}
.pcn-news-headline a:hover{color:var(--pcn-accent);text-decoration:underline;text-underline-offset:3px}
.pcn-news-author{font-size:0.85rem;color:var(--pcn-muted);margin-bottom:0.4rem}
.pcn-news-summary{font-size:0.95rem;line-height:1.7;color:var(--pcn-text-2)}
@media (max-width:640px){
.pcn-map{height:60vh}
.pcn-chart{height:280px}
}
/* ── Map split: stat rail left, map right ───────────────── */
.pcn-map-split{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}
.pcn-stat-rail{display:flex;flex-direction:column;gap:0.9rem;position:sticky;top:calc(var(--pcn-topbar-h) + 5.5rem)}
.pcn-stat-rail .pcn-stat{margin:0}
.pcn-map-status{font-size:0.82rem;color:var(--pcn-muted);padding:0.6rem 0.2rem 0;letter-spacing:0.01em}
@media (max-width:1000px){
.pcn-map-split{grid-template-columns:1fr}
.pcn-stat-rail{position:static;flex-direction:row;flex-wrap:wrap}
.pcn-stat-rail .pcn-stat{flex:1 1 160px}
}
/* ── Responsive ─────────────────────────────────────────── */
@media (max-width:1000px){
.pcn-nav{display:none}
.pcn-hamburger-btn{display:block;margin-left:auto}
.pcn-topbar-controls{gap:0.35rem}
.pcn-size-controls{display:none}
.pcn-auth-name{display:none}
}
@media (max-width:900px){
.pcn-ts-split{grid-template-columns:1fr}
.pcn-ts-anti{border-right:none;border-bottom:2px solid var(--pcn-error)}
.pcn-ts-thesis{border-left:none}
.pcn-ts-panel{padding:2.5rem 1.4rem 3rem}
.pcn-ts-seam-label{font-size:0.62rem}
}
@media (max-width:640px){
.pcn-form-row{grid-template-columns:1fr}
.pcn-topbar-row{padding:0 1rem;gap:0.75rem}
.pcn-main{padding:0 1.25rem 3rem}
.pcn-topbar-search{padding:0.5rem 1rem}
.pcn-footer-copy{margin-left:0;width:100%}
.pcn-home-hero{padding:3rem 0 2.5rem}
.pcn-about-hero{padding:2.5rem 0 1.75rem}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{transition:none !important;animation:none !important}
}

.pcn-stat-l,h3.pcn-stat-l{font-size:1.02rem;font-weight:700;line-height:1.35;color:var(--pcn-text);margin:0.55rem 0 0;letter-spacing:-0.01em}
.pcn-stat-flag .pcn-stat-l{color:var(--pcn-error)}



/* -- Map legend -- */

.pcn-map-wrap{position:relative}

.pcn-legend{position:absolute;left:0.9rem;bottom:0.9rem;z-index:5;background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);box-shadow:var(--pcn-shadow);padding:0.85rem 1rem;max-width:min(92%,420px);font-size:0.8rem}

.pcn-legend-head{font-size:0.68rem;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;color:var(--pcn-muted);margin-bottom:0.6rem}

.pcn-legend-body{display:flex;gap:1.6rem;flex-wrap:wrap}

.pcn-legend-sub{font-size:0.7rem;font-weight:600;color:var(--pcn-text-2);margin-bottom:0.35rem}

.pcn-legend-row{display:flex;align-items:center;gap:0.5rem;padding:0.14rem 0;color:var(--pcn-text-2);line-height:1.3}

.pcn-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;border:1.5px solid rgba(255,255,255,0.6)}

.pcn-dot[data-c="alpr"]{background:#ef4444}

.pcn-dot[data-c="camera"]{background:#f59e0b}

.pcn-dot[data-c="gunshot"]{background:#8b5cf6}

.pcn-dot[data-c="drone"]{background:#06b6d4}

.pcn-dot[data-c="unknown"]{background:#94a3b8}

.pcn-cl{border-radius:50%;flex-shrink:0;border:2px solid rgba(255,255,255,0.3)}

.pcn-cl[data-n="s"]{width:12px;height:12px;background:#5a7a8a}

.pcn-cl[data-n="m"]{width:15px;height:15px;background:#c9a84c}

.pcn-cl[data-n="l"]{width:18px;height:18px;background:#c87941}

.pcn-cl[data-n="x"]{width:21px;height:21px;background:#b03a2e}

.pcn-legend-note{font-size:0.72rem;color:var(--pcn-muted);margin-top:0.5rem;line-height:1.45;max-width:210px}

@media (max-width:700px){.pcn-legend{position:static;max-width:none;margin-top:0.75rem;box-shadow:none}}




/* -- Zoom pill rail -- */

.pcn-zoom-rail{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.75rem}

.pcn-pill{font-family:inherit;font-size:0.82rem;font-weight:600;color:var(--pcn-text-2);background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:999px;padding:0.4rem 0.9rem;cursor:pointer;transition:background 150ms ease,border-color 150ms ease,color 150ms ease}

.pcn-pill:hover{background:var(--pcn-hover);color:var(--pcn-text);border-color:var(--pcn-border-2)}

.pcn-pill-find{background:var(--pcn-accent);border-color:var(--pcn-accent);color:#fff}

.pcn-pill-find:hover{background:var(--pcn-accent-hover);border-color:var(--pcn-accent-hover);color:#fff}


.pcn-map-col{display:flex;flex-direction:column;min-width:0}



/* -- Header search results -- */

.pcn-hsearch-hit{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--pcn-border);padding:0.6rem 0.2rem;cursor:pointer;font-family:inherit}

.pcn-hsearch-hit:last-child{border-bottom:none}

.pcn-hsearch-hit:hover,.pcn-hsearch-hit.is-on{background:var(--pcn-hover)}

.pcn-hit-label{font-size:0.92rem;font-weight:600;color:var(--pcn-text)}

.pcn-hit-sub{font-size:0.78rem;color:var(--pcn-muted);white-space:nowrap}

.pcn-hsearch-empty{font-size:0.87rem;color:var(--pcn-muted);padding:0.5rem 0.2rem}




/* -- Aggregate hover card -- */

.pcn-aggpop .maplibregl-popup-content{background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);box-shadow:var(--pcn-shadow);padding:0.9rem 1rem}

.pcn-aggpop .maplibregl-popup-tip{border-top-color:var(--pcn-surface);border-bottom-color:var(--pcn-surface)}

.pcn-hov{font-family:var(--pcn-font);min-width:210px}

.pcn-hov-name{font-size:1.05rem;font-weight:800;letter-spacing:-0.02em;color:var(--pcn-text);margin-bottom:0.6rem}

.pcn-hov-row{display:flex;justify-content:space-between;gap:1rem;font-size:0.85rem;color:var(--pcn-text-2);padding:0.16rem 0}

.pcn-hov-row b{color:var(--pcn-text);font-weight:700}

.pcn-hov-bar{height:6px;border-radius:3px;background:var(--pcn-border);margin:0.6rem 0 0.4rem;overflow:hidden}

.pcn-hov-bar i{display:block;height:100%;background:var(--pcn-error)}

.pcn-hov-pct{font-size:0.85rem;color:var(--pcn-text-2);line-height:1.4}

.pcn-hov-pct b{color:var(--pcn-error);font-weight:800;font-size:0.95rem}

.pcn-hov-foot{font-size:0.72rem;color:var(--pcn-muted);margin-top:0.55rem;letter-spacing:0.04em;text-transform:uppercase}


.pcn-rail-scope{padding:0 0 0.2rem}

.pcn-rail-eyebrow{display:block;font-size:0.66rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--pcn-muted)}

.pcn-rail-place{display:block;font-size:1.05rem;font-weight:800;letter-spacing:-0.02em;color:var(--pcn-text);margin-top:0.15rem}

.pcn-stat-sub{display:block;font-size:0.78rem;font-weight:500;color:var(--pcn-muted);letter-spacing:0}

.pcn-compare{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);padding:1.1rem 1.2rem;background:var(--pcn-surface)}

.pcn-compare-lead{font-size:0.92rem;line-height:1.5;font-weight:600;color:var(--pcn-text);margin-bottom:0.85rem}

.pcn-compare-row{display:grid;grid-template-columns:1fr 64px 42px;align-items:center;gap:0.5rem;padding:0.2rem 0}

.pcn-compare-k{font-size:0.8rem;color:var(--pcn-text-2)}

.pcn-compare-bar{height:7px;border-radius:4px;background:var(--pcn-border);overflow:hidden}

.pcn-compare-bar i{display:block;height:100%;background:var(--pcn-error)}

.pcn-compare-row b{font-size:0.82rem;font-weight:800;color:var(--pcn-error);text-align:right}

.pcn-compare-note{font-size:0.72rem;color:var(--pcn-muted);margin-top:0.7rem;line-height:1.4}

.pcn-makers{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);padding:1.1rem 1.2rem;background:var(--pcn-surface)}

.pcn-makers-title{font-size:0.66rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--pcn-muted);margin-bottom:0.7rem}

.pcn-maker{display:grid;grid-template-columns:1fr 52px 34px;align-items:center;gap:0.45rem;padding:0.2rem 0}

.pcn-maker-n{font-size:0.8rem;color:var(--pcn-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pcn-maker-bar{height:6px;border-radius:3px;background:var(--pcn-border);overflow:hidden}

.pcn-maker-bar i{display:block;height:100%;background:var(--pcn-accent)}

.pcn-maker b{font-size:0.76rem;font-weight:700;color:var(--pcn-text-2);text-align:right}


.pcn-band{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:2rem;align-items:start;margin:1.75rem 0 0.5rem;padding:1.4rem 1.6rem;border:1px solid var(--pcn-border);border-left:4px solid var(--pcn-error);border-radius:var(--pcn-radius-lg);background:var(--pcn-surface)}

.pcn-band-n{display:block;font-size:clamp(2.6rem,5vw,3.6rem);font-weight:800;letter-spacing:-0.04em;line-height:1;color:var(--pcn-error)}

.pcn-band-t{display:block;font-size:0.92rem;line-height:1.45;color:var(--pcn-text);font-weight:600;margin-top:0.5rem}

.pcn-band-body p{font-size:0.98rem;line-height:1.7;color:var(--pcn-text-2);margin-bottom:0.7rem}

.pcn-band-body p:last-child{margin-bottom:0;color:var(--pcn-muted);font-size:0.9rem}

@media (max-width:800px){.pcn-band{grid-template-columns:1fr;gap:1rem}}


.pcn-home-lead-2{color:var(--pcn-muted);font-size:1.02rem}

.pcn-home-map{display:block;position:relative;border-radius:var(--pcn-radius-lg);overflow:hidden;border:1px solid var(--pcn-border);margin:0 0 3rem;line-height:0;transition:border-color 160ms ease}

.pcn-home-map:hover{border-color:var(--pcn-accent)}

.pcn-home-map img{width:100%;height:auto;display:block}

.pcn-home-map-cta{position:absolute;right:1.1rem;bottom:1.1rem;background:var(--pcn-accent);color:#fff;font-size:0.85rem;font-weight:700;padding:0.6rem 1.1rem;border-radius:999px;line-height:1;letter-spacing:0.01em}

.pcn-findings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6rem;margin-bottom:0.9rem}

.pcn-finding h2{font-size:1.08rem;font-weight:700;letter-spacing:-0.015em;margin-bottom:0.6rem;color:var(--pcn-text)}

.pcn-finding p{font-size:0.98rem;line-height:1.7;color:var(--pcn-text-2)}

.pcn-findings-note{font-size:0.87rem;color:var(--pcn-muted);margin-bottom:3rem;line-height:1.6}

.pcn-stance{max-width:min(100%,80ch);padding:2rem 0 3rem;border-top:1px solid var(--pcn-border)}

.pcn-stance-title{font-size:1.5rem;font-weight:800;letter-spacing:-0.025em;margin-bottom:1.1rem}

.pcn-stance p{font-size:1.02rem;line-height:1.75;color:var(--pcn-text-2);margin-bottom:1rem}


.pcn-hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:3rem;align-items:start;padding:3rem 0 3.5rem}

.pcn-hero-split .pcn-home-hero{padding:0}

.pcn-hero-split .pcn-home-map{margin:0}

@media (max-width:1000px){.pcn-hero-split{grid-template-columns:1fr;gap:2rem;padding:2rem 0}}


.pcn-home-title-full{font-size:clamp(2.1rem,4.6vw,4rem);line-height:1.05;letter-spacing:-0.035em;padding:3rem 0 1.75rem;margin:0}

.pcn-home-title-full br{display:none}

.pcn-hero-split{padding:0 0 3.5rem}

@media (max-width:900px){.pcn-home-title-full br{display:block}}


.pcn-home-title-full{font-size:clamp(1.9rem,3.4vw,2.9rem);padding:2.5rem 0 1.5rem}

.pcn-hero-split{grid-template-columns:minmax(0,1fr) minmax(0,0.95fr);gap:2.5rem;align-items:start}

.pcn-home-map{max-width:640px}

.pcn-findings{border-top:1px solid var(--pcn-border);padding-top:2rem}

.pcn-stance{max-width:min(100%,72ch)}

@media (max-width:1000px){.pcn-home-map{max-width:none}}




/* -- Home layout, authoritative. Overrides earlier appended blocks. -- */

.pcn-home-title-full{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15;padding:2.5rem 0 1.75rem;margin:0;max-width:100%}

.pcn-hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start;padding:0 0 3rem}

.pcn-hero-split .pcn-home-hero{padding:0;max-width:none}

.pcn-hero-split .pcn-home-lead{font-size:1.02rem;max-width:none;margin-bottom:1rem}

.pcn-home-map{max-width:none;margin:0}

.pcn-findings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;border-top:1px solid var(--pcn-border);padding:2.25rem 0 0;margin:0}

.pcn-findings-note{margin:1.25rem 0 2.75rem}

.pcn-stance{max-width:none;border-top:1px solid var(--pcn-border);padding:2.25rem 0 2.75rem;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:2.5rem;align-items:start}

.pcn-stance-title{grid-column:1;margin:0;font-size:1.4rem}

.pcn-stance p,.pcn-stance .pcn-home-actions{grid-column:2}

.pcn-stance p{max-width:74ch}

.pcn-home-tenets{border-top:1px solid var(--pcn-border);padding-top:2.25rem}

@media (max-width:1000px){

.pcn-hero-split{grid-template-columns:1fr;gap:1.75rem}

.pcn-findings{grid-template-columns:1fr;gap:1.5rem}

.pcn-stance{grid-template-columns:1fr;gap:1rem}

.pcn-stance-title,.pcn-stance p,.pcn-stance .pcn-home-actions{grid-column:1}

}




/* -- Home: findings become cards matching the tenets. Final override. -- */

.pcn-finding{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);padding:1.5rem;background:var(--pcn-surface)}

.pcn-finding h2{font-size:1.02rem;margin-bottom:0.55rem}

.pcn-finding p{font-size:0.94rem;line-height:1.65}

.pcn-findings{border-top:none;padding:0;margin-bottom:0.9rem}

.pcn-findings-note{font-size:0.82rem;color:var(--pcn-muted);margin:0 0 3rem;padding-left:0.1rem}

.pcn-home-tenets{border-top:none;padding-top:0;margin-bottom:3rem}

.pcn-home-tenet{padding:1.5rem}

.pcn-home-tenet h2{font-size:1.02rem;margin-bottom:0.55rem}

.pcn-home-tenet p{font-size:0.94rem;line-height:1.65}

.pcn-section-rule{border:0;border-top:1px solid var(--pcn-border);margin:0 0 2.25rem}




/* -- Home stance: plain block. The grid was stretching each paragraph

      into its own row and blowing the spacing apart. -- */

.pcn-stance{display:block;max-width:min(100%,78ch);border-top:none;padding:0 0 3rem}

.pcn-stance-title{margin:0 0 1rem;font-size:1.4rem}

.pcn-stance p{grid-column:auto;max-width:none;margin:0 0 1rem;font-size:1rem;line-height:1.7}

.pcn-stance .pcn-home-actions{grid-column:auto;margin-top:1.5rem}




/* -- Home stance: full-width panel, text in two columns so it fills. -- */

.pcn-stance{display:block;max-width:none;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);background:var(--pcn-surface);padding:2rem 2.25rem;margin:0 0 3rem}

.pcn-stance-title{margin:0 0 1.25rem;font-size:1.35rem}

.pcn-stance-body{columns:2;column-gap:2.5rem}

.pcn-stance-body p{margin:0 0 1rem;font-size:0.98rem;line-height:1.7;break-inside:avoid}

.pcn-stance .pcn-home-actions{margin-top:1.5rem}

@media (max-width:900px){.pcn-stance-body{columns:1}}




/* -- News tools -- */

.pcn-news-tools{margin:0 0 2rem}

.pcn-news-search{display:flex;gap:0.6rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}

.pcn-news-search input{flex:1 1 320px;font-family:inherit;font-size:0.95rem;padding:0.65rem 0.9rem;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);background:var(--pcn-surface);color:var(--pcn-text)}

.pcn-news-search input:focus{outline:2px solid var(--pcn-accent);outline-offset:1px}

.pcn-news-clear{font-size:0.85rem;color:var(--pcn-muted)}

.pcn-news-filters{display:flex;gap:0.4rem;flex-wrap:wrap}

.pcn-news-filters .pcn-pill span{opacity:0.55;margin-left:0.3rem;font-weight:500}

.pcn-news-filters .pcn-pill.is-on{background:var(--pcn-accent);border-color:var(--pcn-accent);color:#fff}

.pcn-news-count{font-size:0.87rem;color:var(--pcn-muted);margin-bottom:1rem}

.pcn-news-kind{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.15rem 0.5rem;border-radius:4px;background:var(--pcn-hover);color:var(--pcn-text-2)}

.pcn-kind-release,.pcn-kind-statement{background:var(--pcn-accent);color:#fff}




/* -- Press release detail -- */

.pcn-release{max-width:min(100%,72ch);padding:2.5rem 0 3rem}

.pcn-release-back{display:inline-block;font-size:0.85rem;color:var(--pcn-muted);margin-bottom:1.5rem}

.pcn-release-back:hover{color:var(--pcn-accent)}

.pcn-release-title{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-0.03em;line-height:1.2;margin:0.75rem 0 0.9rem}

.pcn-release-by{font-size:0.9rem;color:var(--pcn-muted);margin-bottom:1.25rem}

.pcn-release-summary{font-size:1.08rem;line-height:1.65;font-weight:600;color:var(--pcn-text);padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--pcn-border)}

.pcn-release-body p{font-size:1.02rem;line-height:1.75;color:var(--pcn-text-2);margin-bottom:1.15rem}

.pcn-release-foot{font-size:0.85rem;color:var(--pcn-muted);border-top:1px solid var(--pcn-border);padding-top:1.25rem;margin-top:2rem;line-height:1.6}




/* -- Release: index left, article centre, live figures right -- */

.pcn-release-grid{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr) minmax(0,260px);gap:2.5rem;align-items:start;padding:2.5rem 0 3rem}

.pcn-release{max-width:none;padding:0}

.pcn-release-index{position:sticky;top:calc(var(--pcn-topbar-h) + 5rem)}

.pcn-release-list{list-style:none;margin:0.7rem 0 0;padding:0}

.pcn-release-list li{border-bottom:1px solid var(--pcn-border)}

.pcn-release-list li:last-child{border-bottom:none}

.pcn-release-list a{display:block;padding:0.7rem 0}

.pcn-release-list-d{display:block;font-size:0.72rem;color:var(--pcn-muted);letter-spacing:0.03em;margin-bottom:0.2rem}

.pcn-release-list-h{display:block;font-size:0.86rem;line-height:1.4;color:var(--pcn-text-2)}

.pcn-release-list li.is-on .pcn-release-list-h{color:var(--pcn-accent);font-weight:700}

.pcn-release-list a:hover .pcn-release-list-h{color:var(--pcn-accent)}

.pcn-release-figs{position:sticky;top:calc(var(--pcn-topbar-h) + 5rem);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);background:var(--pcn-surface);padding:1.25rem}

.pcn-fig{padding:0.7rem 0;border-bottom:1px solid var(--pcn-border)}

.pcn-fig b{display:block;font-size:1.65rem;font-weight:800;letter-spacing:-0.03em;line-height:1.1;color:var(--pcn-text)}

.pcn-fig span{display:block;font-size:0.8rem;line-height:1.45;color:var(--pcn-text-2);margin-top:0.25rem}

.pcn-fig-flag b{color:var(--pcn-error)}

.pcn-fig-note{font-size:0.74rem;line-height:1.5;color:var(--pcn-muted);margin:0.9rem 0}

.pcn-fig-btn{display:block;text-align:center;width:100%}

.pcn-fig-contact{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--pcn-border)}

.pcn-fig-contact p{font-size:0.8rem;color:var(--pcn-text-2);margin:0.5rem 0}

.pcn-fig-contact a{font-size:0.82rem;font-weight:600;color:var(--pcn-accent)}

@media (max-width:1200px){.pcn-release-grid{grid-template-columns:minmax(0,1fr) minmax(0,250px)}.pcn-release-index{display:none}}

@media (max-width:900px){.pcn-release-grid{grid-template-columns:1fr;gap:2rem}.pcn-release-figs{position:static}}




/* -- Press index: list left, live figures right -- */

.pcn-press-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,270px);gap:2.5rem;align-items:start;padding:2.5rem 0 2rem}

.pcn-press-main{min-width:0}

.pcn-press-rail{position:sticky;top:calc(var(--pcn-topbar-h) + 5rem)}

.pcn-news-list{list-style:none;margin:0;padding:0}

.pcn-news-item{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);background:var(--pcn-surface);padding:1.4rem 1.5rem;margin-bottom:1rem}

.pcn-news-item:hover{border-color:var(--pcn-border-2)}

.pcn-news-meta{display:flex;align-items:center;gap:0.7rem;flex-wrap:wrap;margin-bottom:0.7rem}

.pcn-news-date,.pcn-news-outlet,.pcn-news-juris{font-size:0.74rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--pcn-muted)}

.pcn-news-outlet{color:var(--pcn-accent);font-weight:600}

.pcn-news-headline{font-size:1.12rem;font-weight:700;letter-spacing:-0.02em;line-height:1.35;margin-bottom:0.4rem}

.pcn-news-author{font-size:0.82rem;color:var(--pcn-muted);margin-bottom:0.5rem}

.pcn-news-summary{font-size:0.94rem;line-height:1.65;color:var(--pcn-text-2);margin:0}

@media (max-width:1000px){.pcn-press-grid{grid-template-columns:1fr;gap:2rem}.pcn-press-rail{position:static}}




/* -- Release index: card treatment to match the figures rail -- */

.pcn-release-index{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);background:var(--pcn-surface);padding:1.25rem}

.pcn-release-index .pcn-rail-eyebrow{margin-bottom:0.25rem}

.pcn-release-list a{padding:0.75rem 0;border-radius:var(--pcn-radius-sm)}

.pcn-release-list li.is-on{border-left:3px solid var(--pcn-accent);padding-left:0.6rem;margin-left:-0.6rem}




/* -- Registry -- */

.pcn-reg-head{padding:2.5rem 0 1.5rem}

.pcn-reg-title{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-0.03em;margin:0 0 0.75rem}

.pcn-reg-lede{font-size:1rem;line-height:1.7;color:var(--pcn-text-2);max-width:80ch}

.pcn-reg-tools{display:flex;flex-wrap:wrap;gap:0.6rem;align-items:center;margin-bottom:1rem}

.pcn-reg-tools input,.pcn-reg-tools select{font-family:inherit;font-size:0.88rem;padding:0.55rem 0.75rem;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);background:var(--pcn-surface);color:var(--pcn-text);max-width:100%}

.pcn-reg-tools input{flex:1 1 280px}

.pcn-reg-tools select{flex:0 1 175px}

.pcn-reg-tools input:focus,.pcn-reg-tools select:focus{outline:2px solid var(--pcn-accent);outline-offset:1px}

.pcn-reg-status{font-size:0.85rem;color:var(--pcn-muted);margin-bottom:0.9rem}

.pcn-reg-wrap{border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);overflow-x:auto;background:var(--pcn-surface)}

.pcn-reg-table{width:100%;border-collapse:collapse;font-size:0.86rem;min-width:1000px}

.pcn-reg-table th{text-align:left;font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--pcn-muted);padding:0.85rem 0.9rem;border-bottom:1px solid var(--pcn-border);white-space:nowrap;position:sticky;top:0;background:var(--pcn-surface)}

.pcn-reg-table th[data-sort]{cursor:pointer;user-select:none}

.pcn-reg-table th[data-sort]:hover{color:var(--pcn-accent)}

.pcn-reg-table th[data-dir="ASC"]::after{content:" \2191";color:var(--pcn-accent)}

.pcn-reg-table th[data-dir="DESC"]::after{content:" \2193";color:var(--pcn-accent)}

.pcn-reg-table td{padding:0.7rem 0.9rem;border-bottom:1px solid var(--pcn-border);color:var(--pcn-text-2);vertical-align:top}

.pcn-reg-table tbody tr:last-child td{border-bottom:none}

.pcn-reg-table tbody tr:hover{background:var(--pcn-hover)}

.pcn-reg-null{color:var(--pcn-muted);font-style:italic;font-size:0.82rem}

.pcn-reg-class{display:inline-block;font-size:0.72rem;font-weight:700;padding:0.15rem 0.5rem;border-radius:4px;white-space:nowrap;background:var(--pcn-hover);color:var(--pcn-text-2)}

.pcn-c-alpr{background:rgba(239,68,68,0.14);color:#b91c1c}

.pcn-c-camera{background:rgba(245,158,11,0.16);color:#b45309}

.pcn-c-gunshot_detector{background:rgba(139,92,246,0.15);color:#6d28d9}

.pcn-c-drone_dock{background:rgba(6,182,212,0.15);color:#0e7490}

.pcn-reg-pager{display:flex;align-items:center;gap:1rem;padding:1.25rem 0;font-size:0.85rem;color:var(--pcn-muted)}

.pcn-reg-pager button:disabled{opacity:0.4;cursor:not-allowed}

.pcn-reg-note{font-size:0.84rem;line-height:1.6;color:var(--pcn-muted);border-top:1px solid var(--pcn-border);padding-top:1.25rem;margin-bottom:3rem;max-width:80ch}

html[data-theme="dark"] .pcn-c-alpr{background:rgba(239,68,68,0.2);color:#fca5a5}

html[data-theme="dark"] .pcn-c-camera{background:rgba(245,158,11,0.2);color:#fcd34d}

html[data-theme="dark"] .pcn-c-gunshot_detector{background:rgba(139,92,246,0.2);color:#c4b5fd}

html[data-theme="dark"] .pcn-c-drone_dock{background:rgba(6,182,212,0.2);color:#67e8f9}


/* ============================================================
   WATCH PAGE  (public camera feeds)
   Appended to pacn-core.css. Uses existing --pcn-* tokens only.
   ============================================================ */
.pcn-watch{max-width:var(--pcn-max);margin:0 auto;padding:2rem 2.5rem 4rem}
.pcn-watch-head{margin-bottom:1.75rem}
.pcn-watch-title{font-size:2rem;font-weight:800;letter-spacing:-0.03em;color:var(--pcn-text);margin:0 0 0.5rem}
.pcn-watch-lede{font-size:1rem;color:var(--pcn-text-2);max-width:60ch;line-height:1.55;margin:0}

.pcn-watch-controls{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:1.25rem}
.pcn-watch-locate{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1.1rem;border:none;border-radius:999px;background:var(--pcn-accent);color:#fff;font-family:inherit;font-size:0.9rem;font-weight:600;cursor:pointer;transition:background 150ms ease}
.pcn-watch-locate:hover{background:var(--pcn-accent-hover)}
.pcn-watch-locate.loading{opacity:0.6;pointer-events:none}
.pcn-watch-locate-dot{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,0.3)}
.pcn-watch-search{flex:1;min-width:240px}
.pcn-watch-search input{width:100%;padding:0.6rem 1rem;border:1px solid var(--pcn-border);border-radius:999px;background:var(--pcn-surface);color:var(--pcn-text);font-family:inherit;font-size:0.95rem}
.pcn-watch-search input:focus{outline:none;border-color:var(--pcn-accent);box-shadow:0 0 0 3px var(--pcn-accent-glow)}

.pcn-watch-filters{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--pcn-border)}
.pcn-watch-filter-group{display:flex;align-items:center;gap:0.6rem}
.pcn-watch-filter-label{font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--pcn-muted)}
.pcn-watch-chips{display:flex;gap:0.4rem;flex-wrap:wrap}
.pcn-chip{padding:0.35rem 0.75rem;border:1px solid var(--pcn-border);border-radius:999px;background:var(--pcn-surface);color:var(--pcn-text-2);font-family:inherit;font-size:0.82rem;font-weight:500;cursor:pointer;transition:all 150ms ease}
.pcn-chip:hover{border-color:var(--pcn-border-2);color:var(--pcn-text)}
.pcn-chip.active{background:var(--pcn-accent-glow);border-color:var(--pcn-accent);color:var(--pcn-accent);font-weight:600}
.pcn-chip-n{opacity:0.65;font-variant-numeric:tabular-nums;font-size:0.76rem}
.pcn-watch-count{margin-left:auto;font-size:0.85rem;color:var(--pcn-muted);font-variant-numeric:tabular-nums}

/* --- the grid: the signature element --- */
.pcn-watch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.pcn-tile{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-md);background:var(--pcn-surface);overflow:hidden;cursor:pointer;font-family:inherit;transition:border-color 150ms ease,transform 150ms ease,box-shadow 150ms ease}
.pcn-tile:hover{border-color:var(--pcn-accent);transform:translateY(-2px);box-shadow:var(--pcn-shadow)}
.pcn-tile:focus-visible{outline:3px solid var(--pcn-accent);outline-offset:2px}
.pcn-tile-thumb{position:relative;aspect-ratio:16/9;background:var(--pcn-surface-2);overflow:hidden}
.pcn-tile-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pcn-tile-noimg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--pcn-muted);font-size:0.8rem}
.pcn-tile-kind{position:absolute;top:0.5rem;left:0.5rem;padding:0.2rem 0.5rem;border-radius:999px;font-size:0.68rem;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;color:#fff;backdrop-filter:blur(4px)}
.pcn-tile-kind.image{background:rgba(14,165,233,0.9)}
.pcn-tile-kind.video{background:rgba(16,185,129,0.92)}
.pcn-tile-body{padding:0.7rem 0.8rem 0.85rem}
.pcn-tile-place{font-size:0.9rem;font-weight:600;color:var(--pcn-text);line-height:1.3;margin-bottom:0.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcn-tile-op{font-size:0.78rem;color:var(--pcn-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:0.45rem}
.pcn-tile-choice{display:inline-block;padding:0.18rem 0.5rem;border-radius:999px;font-size:0.68rem;font-weight:700;letter-spacing:0.02em}
.pcn-tile-choice.imposed{background:rgba(239,68,68,0.12);color:#dc2626}
.pcn-tile-choice.avoidable{background:rgba(245,158,11,0.14);color:#d97706}
.pcn-tile-choice.sovereign{background:rgba(16,185,129,0.14);color:#059669}

.pcn-watch-more{text-align:center;margin-top:2rem}
.pcn-watch-more-btn{padding:0.7rem 1.6rem;border:1px solid var(--pcn-border-2);border-radius:999px;background:var(--pcn-surface);color:var(--pcn-text);font-family:inherit;font-size:0.9rem;font-weight:600;cursor:pointer}
.pcn-watch-more-btn:hover{border-color:var(--pcn-accent);color:var(--pcn-accent)}
.pcn-watch-empty{padding:3rem 1rem;text-align:center;color:var(--pcn-muted);font-size:0.95rem}

/* --- player modal --- */
.pcn-player{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.pcn-player-backdrop{position:absolute;inset:0;background:rgba(10,15,26,0.82);backdrop-filter:blur(3px)}
.pcn-player-panel{position:relative;width:min(920px,96vw);max-height:92vh;overflow:auto;background:var(--pcn-surface);border:1px solid var(--pcn-border);border-radius:var(--pcn-radius-lg);box-shadow:var(--pcn-shadow);padding:1.25rem}
.pcn-player-close{position:absolute;top:0.6rem;right:0.75rem;width:36px;height:36px;border:none;border-radius:50%;background:var(--pcn-surface-2);color:var(--pcn-text);font-size:1.4rem;line-height:1;cursor:pointer;z-index:2}
.pcn-player-close:hover{background:var(--pcn-hover)}
.pcn-player-stage{aspect-ratio:16/9;background:#000;border-radius:var(--pcn-radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pcn-player-img,.pcn-player-video{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.pcn-player-offline{color:var(--pcn-muted);font-size:0.95rem;padding:2rem;text-align:center}
.pcn-player-meta{padding:0.9rem 0.2rem 0.3rem}
.pcn-player-op{font-size:1.05rem;font-weight:700;color:var(--pcn-text)}
.pcn-player-where{font-size:0.9rem;color:var(--pcn-text-2);margin:0.15rem 0 0.5rem}
.pcn-player-note{font-size:0.78rem;color:var(--pcn-muted);line-height:1.5;border-top:1px solid var(--pcn-border);padding-top:0.75rem;margin:0.75rem 0 0}
.pcn-meta-block{margin-top:0.8rem;padding-top:0.8rem;border-top:1px solid var(--pcn-border)}
.pcn-dot-feed{box-shadow:0 0 0 2px #0f172a}
.pcn-pop-watch{display:inline-block;margin-top:0.55rem;font-size:0.82rem;font-weight:600;color:var(--pcn-accent);text-decoration:underline}
.pcn-pop-nofeed{margin-top:0.55rem;font-size:0.78rem;color:var(--pcn-muted)}
.pcn-meta-badge{display:inline-block;padding:0.22rem 0.65rem;border-radius:999px;background:var(--pcn-surface-2);color:var(--pcn-text-2);font-size:0.75rem;font-weight:700;letter-spacing:0.02em;margin-bottom:0.65rem}
.pcn-meta-badge-warn{background:var(--nw-warning);color:#1a1206}
.pcn-meta-row{display:flex;gap:0.75rem;padding:0.3rem 0;font-size:0.85rem;border-bottom:1px solid var(--pcn-border)}
.pcn-meta-row:last-child{border-bottom:none}
.pcn-meta-k{flex:0 0 11rem;color:var(--pcn-muted)}
.pcn-meta-v{color:var(--pcn-text);font-weight:500}
.pcn-meta-gap{font-size:0.85rem;color:var(--pcn-text-2);line-height:1.55;margin:0.55rem 0 0}
.pcn-meta-link{color:var(--pcn-accent);text-decoration:underline}
@media (max-width:640px){
  .pcn-meta-row{flex-direction:column;gap:0.1rem}
  .pcn-meta-k{flex:none}
}

@media (max-width:640px){
  .pcn-watch{padding:1.25rem 1rem 3rem}
  .pcn-watch-title{font-size:1.5rem}
  .pcn-watch-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.6rem}
  .pcn-watch-count{margin-left:0;width:100%}
}
@media (prefers-reduced-motion:reduce){
  .pcn-tile{transition:none}
  .pcn-tile:hover{transform:none}
}
.pcn-player[hidden]{display:none !important}
