/* AI Crime Registry — Defici Agents Police */
:root{
  --ink:#080b12; --ink-2:#0d111b; --panel:#111725; --panel-2:#161d2e;
  --line:#222b3d; --line-2:#2c3750;
  --txt:#e7ecf5; --txt-dim:#9aa6bd; --txt-faint:#6b7690;
  --amber:#f3b23c; --amber-deep:#c8871a;
  --cyan:#39d3d0; --cyan-deep:#1c9b98;
  --sev1:#5b8def; --sev2:#3ec7a8; --sev3:#f3b23c; --sev4:#f0803c; --sev5:#e5484d;
  --radius:14px; --radius-sm:9px;
  --wrap:1120px;
  --font:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --disp:"Space Grotesk","Inter",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:
    radial-gradient(1200px 600px at 78% -10%, rgba(243,178,60,.06), transparent 60%),
    radial-gradient(900px 500px at 8% 0%, rgba(57,211,208,.05), transparent 55%),
    var(--ink);
  color:var(--txt);font-family:var(--font);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--disp);font-weight:600;line-height:1.12;letter-spacing:-.01em;text-wrap:balance;margin:0}
code{font-family:var(--mono);font-size:.92em}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:14px}
.hl{color:var(--amber)}
.skip{position:absolute;left:-999px;top:0;background:var(--amber);color:#000;padding:8px 14px;z-index:99}
.skip:focus{left:8px;top:8px}

/* topbar */
.topbar{position:sticky;top:0;z-index:40;background:rgba(8,11,18,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{color:var(--amber);font-size:1.25rem;filter:drop-shadow(0 0 8px rgba(243,178,60,.4))}
.brand-mark-img{width:28px;height:28px;border-radius:7px;display:inline-block;vertical-align:middle}
.foot-brand .brand-mark-img{width:26px;height:26px;flex:0 0 auto}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-txt b{font-family:var(--disp);font-size:.98rem;letter-spacing:-.01em}
.brand-txt em{font-style:normal;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-faint)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-size:.9rem;color:var(--txt-dim);transition:color .15s}
.nav a:hover{color:var(--txt)}
.nav-cta{padding:8px 15px;border:1px solid var(--line-2);border-radius:999px;color:var(--txt)!important}
.nav-cta:hover{border-color:var(--amber);color:var(--amber)!important}
@media(max-width:760px){.nav a:not(.nav-cta){display:none}}

/* hero */
.hero{padding:86px 0 64px;position:relative;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(2.4rem,6vw,4.3rem);font-weight:700;margin:6px 0 0}
.lede{max-width:640px;font-size:1.14rem;color:var(--txt-dim);margin:24px 0 0}
.lede b{color:var(--txt)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 0}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:600;font-size:.95rem;border:1px solid transparent;background:transparent;color:var(--txt);font-family:inherit;line-height:1.1;-webkit-appearance:none;appearance:none;transition:transform .12s,background .15s,border-color .15s;cursor:pointer}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--amber);color:#0a0a0a;box-shadow:0 8px 30px -10px rgba(243,178,60,.6)}
.btn-primary:hover{background:#ffc45a}
.btn-ghost{border-color:var(--line-2);color:var(--txt)}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber)}
.stats{display:flex;gap:44px;margin:52px 0 0;flex-wrap:wrap}
.stats dt{font-family:var(--disp);font-size:2.3rem;font-weight:700;color:var(--txt);font-variant-numeric:tabular-nums}
.stats dd{margin:2px 0 0;font-size:.82rem;color:var(--txt-faint);text-transform:uppercase;letter-spacing:.08em}

/* thesis */
.thesis{padding:66px 0;border-bottom:1px solid var(--line);background:var(--ink-2)}
.thesis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:820px){.thesis-grid{grid-template-columns:1fr}}
.thesis-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;position:relative;overflow:hidden}
.thesis-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(var(--amber),transparent)}
.tc-num{font-family:var(--mono);font-size:.72rem;color:var(--amber);letter-spacing:.1em}
.thesis-card h3{font-size:1.4rem;margin:12px 0 8px}
.thesis-card p{margin:0;color:var(--txt-dim);font-size:.96rem}

/* section heads */
.sec-head{max-width:680px;margin:0 0 30px}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.sec-head p{color:var(--txt-dim);margin:12px 0 0}
section{padding:74px 0}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 26px}
.chip{font-family:var(--mono);font-size:.76rem;padding:7px 13px;border-radius:999px;border:1px solid var(--line-2);color:var(--txt-dim);background:transparent;cursor:pointer;transition:all .14s;letter-spacing:.02em}
.chip:hover{border-color:var(--amber);color:var(--txt)}
.chip.active{background:var(--amber);color:#0a0a0a;border-color:var(--amber);font-weight:600}

/* cards */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:820px){.cards{grid-template-columns:1fr}}
.loading{color:var(--txt-faint);font-family:var(--mono);padding:40px 0}
.case{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,transform .15s}
.case:hover{border-color:var(--line-2);transform:translateY(-2px)}
.case-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.case-id{font-family:var(--mono);font-size:.74rem;color:var(--txt-faint);letter-spacing:.06em}
.sev{font-family:var(--mono);font-size:.68rem;font-weight:700;padding:4px 9px;border-radius:6px;letter-spacing:.04em;white-space:nowrap}
.sev-1{background:rgba(91,141,239,.16);color:var(--sev1)}
.sev-2{background:rgba(62,199,168,.16);color:var(--sev2)}
.sev-3{background:rgba(243,178,60,.16);color:var(--sev3)}
.sev-4{background:rgba(240,128,60,.16);color:var(--sev4)}
.sev-5{background:rgba(229,72,77,.18);color:var(--sev5)}
.case h3{font-size:1.16rem;line-height:1.25}
.case-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tag{font-family:var(--mono);font-size:.68rem;padding:3px 8px;border-radius:5px;background:var(--panel-2);color:var(--cyan);border:1px solid var(--line)}
.case-date{font-family:var(--mono);font-size:.78rem;color:var(--acc,#f5a623);font-weight:700}
.case p{margin:0;color:var(--txt-dim);font-size:.93rem}
.case dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:.85rem}
.case dt{color:var(--txt-faint);font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;padding-top:2px}
.case dd{margin:0;color:var(--txt-dim)}
.case-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}
.case-sources a{font-family:var(--mono);font-size:.72rem;color:var(--cyan);border-bottom:1px dotted var(--cyan-deep)}
.case-sources a:hover{color:#7ff0ee}

/* taxonomy */
.taxonomy{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tax-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:820px){.tax-grid{grid-template-columns:1fr}}
.tax-cat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px}
.tax-cat h4{font-family:var(--mono);font-size:.82rem;color:var(--cyan);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px}
.tax-cat p{margin:0;font-size:.9rem;color:var(--txt-dim)}
.severity{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.sev-scale{flex:1;min-width:150px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;border-top:3px solid}
.sev-scale.s1{border-top-color:var(--sev1)} .sev-scale.s2{border-top-color:var(--sev2)}
.sev-scale.s3{border-top-color:var(--sev3)} .sev-scale.s4{border-top-color:var(--sev4)}
.sev-scale.s5{border-top-color:var(--sev5)}
.sev-scale b{font-family:var(--disp);display:block;font-size:1rem}
.sev-scale span{font-size:.82rem;color:var(--txt-dim)}
.sev-scale .lvl{font-family:var(--mono);font-size:.68rem;color:var(--txt-faint)}

/* agents */
.agents-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
@media(max-width:900px){.agents-grid{grid-template-columns:1fr;gap:28px}}
.agents-copy h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:6px 0 14px}
.agents-copy p{color:var(--txt-dim)}
.agent-list{list-style:none;padding:0;margin:20px 0;display:flex;flex-direction:column;gap:10px}
.agent-list li{padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.92rem}
.agent-list code{color:var(--cyan)}
.agent-list a:hover code{color:#7ff0ee}
.agent-note{font-size:.88rem;color:var(--txt-faint)}
.agent-note a{color:var(--cyan)}
.agents-code{background:#05070c;border:1px solid var(--line-2);border-radius:var(--radius);overflow:hidden;font-family:var(--mono)}
.code-head{background:var(--panel-2);padding:11px 16px;font-size:.8rem;color:var(--txt-dim);border-bottom:1px solid var(--line)}
.code-head span{color:var(--cyan);font-weight:700;margin-right:6px}
.agents-code pre{margin:0;padding:18px 16px;overflow-x:auto;font-size:.82rem;line-height:1.6;color:#b8c4dc}
.agents-code code{color:inherit}

/* join */
.join{text-align:center;background:
  radial-gradient(700px 300px at 50% 0%, rgba(243,178,60,.08), transparent 65%),var(--ink)}
.join-in{max-width:720px;margin:0 auto}
.join h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:6px 0 0}
.join>.wrap>*{}
.join p{color:var(--txt-dim);margin:20px auto 0;max-width:620px}
.join-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:32px 0 0}
.join-fine{font-size:.85rem;color:var(--txt-faint);margin-top:22px}

/* footer */
.foot{border-top:1px solid var(--line);background:var(--ink-2);padding:50px 0 30px}
.foot-in{display:grid;grid-template-columns:1.2fr 1.6fr .8fr;gap:34px}
@media(max-width:820px){.foot-in{grid-template-columns:1fr;gap:24px}}
.foot-brand{display:flex;flex-direction:column;gap:4px;font-family:var(--disp)}
.foot-brand .brand-mark{font-size:1.1rem}
.foot-sub{font-family:var(--mono);font-size:.72rem;color:var(--txt-faint);letter-spacing:.06em}
.foot-method h4{font-family:var(--mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin-bottom:8px}
.foot-method p{margin:0;font-size:.86rem;color:var(--txt-faint)}
.foot-method a{color:var(--cyan)}
.foot-links{display:flex;flex-direction:column;gap:8px}
.foot-links a{font-size:.88rem;color:var(--txt-dim)}
.foot-links a:hover{color:var(--amber)}
.foot-legal{margin-top:34px;padding-top:20px;border-top:1px solid var(--line);font-size:.78rem;color:var(--txt-faint)}

.case-id-link{color:var(--txt-faint);transition:color .14s}
.case-id-link:hover{color:var(--amber)}
.case-title-link{color:inherit;transition:color .14s}
.case-title-link:hover{color:var(--amber)}

/* chronicle */
.chronicle{border-top:1px solid var(--line)}
.chron-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:820px){.chron-list{grid-template-columns:1fr}}
.chron-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s,transform .15s}
.chron-card:hover{border-color:var(--amber);transform:translateY(-3px)}
.chron-meta{display:flex;gap:10px;align-items:center}
.chron-card h3{font-size:1.28rem;line-height:1.22}
.chron-card p{margin:0;color:var(--txt-dim);font-size:.95rem;flex:1}
.chron-read{font-family:var(--mono);font-size:.78rem;color:var(--amber);letter-spacing:.02em}

/* article page */
.article-wrap{max-width:720px;margin:0 auto;padding:70px 22px 40px}
.article-back{font-family:var(--mono);font-size:.8rem;color:var(--txt-dim);display:inline-block;margin-bottom:26px}
.article-back:hover{color:var(--amber)}
.article-eyebrow{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.article h1{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:700;line-height:1.1;margin:0 0 14px}
.article-dek{font-size:1.2rem;color:var(--txt-dim);margin:0 0 30px;line-height:1.5}
.article-body{font-size:1.06rem;line-height:1.75;color:#d4dbe9}
.article-body p{margin:0 0 18px}
.article-body strong{color:var(--txt)}
.takeaway{margin:34px 0 0;padding:22px 24px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:var(--radius-sm)}
.takeaway h4{font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--amber);margin-bottom:8px}
.takeaway p{margin:0;color:var(--txt-dim)}
.article-foot{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);font-size:.85rem;color:var(--txt-faint)}
.article-foot a{color:var(--cyan)}

/* report modal */
.linklike{background:none;border:0;color:var(--amber);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,6,10,.78);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:40px 18px;z-index:100;overflow:auto}
.modal-backdrop[hidden]{display:none}
.modal{background:var(--panel);border:1px solid var(--line-2);border-radius:var(--radius);max-width:520px;width:100%;padding:30px 28px;position:relative}
.modal-x{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--txt-faint);font-size:1.6rem;line-height:1;cursor:pointer}
.modal-x:hover{color:var(--amber)}
.modal h3{font-size:1.5rem;margin:0 0 8px}
.modal-sub{color:var(--txt-dim);font-size:.9rem;margin:0 0 20px}
.modal-sub a{color:var(--cyan)}
#report-form{display:flex;flex-direction:column;gap:14px}
#report-form label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;color:var(--txt-dim);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em}
#report-form input,#report-form select,#report-form textarea{background:var(--ink-2);border:1px solid var(--line-2);border-radius:8px;color:var(--txt);padding:11px 12px;font-family:var(--font);font-size:.95rem;width:100%}
#report-form input:focus,#report-form select:focus,#report-form textarea:focus{outline:2px solid var(--amber);border-color:var(--amber)}
#report-form textarea{resize:vertical}
#report-submit{margin-top:6px;align-self:flex-start}
.report-result{font-size:.9rem;margin-top:2px}
.report-result.ok{color:var(--sev2)}
.report-result.err{color:var(--sev5)}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.case-sys{font-family:var(--mono);font-size:.72rem;color:var(--txt-faint)}
