@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.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:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.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:Fraunces;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces;font-style:italic;font-weight:900;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:900;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.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:Fraunces;font-style:italic;font-weight:900;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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:Fraunces;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_593a40{font-family:Fraunces,Fraunces Fallback}.__variable_593a40{--font-fraunces:"Fraunces","Fraunces Fallback"}:root{color-scheme:light;--bg:#f6f1e7;--bg-deep:#efe7d6;--surface:#fffdf8;--ink:#1a2432;--ink-soft:#43505f;--ink-faint:#586470;--line:#ded3bd;--util-bg:#1a2432;--util-fg:#ece4d3;--line-strong:#c8ba9d;--accent:#135a6b;--accent-strong:#0f4a5a;--accent-soft:#e2edee;--brand:#a45a12;--brand-strong:#b45309;--brand-hover:#8a4109;--brand-soft:#f6ead2;--crimson:#a3311f;--good:#0f766e;--bad:#b3271a;--notice-bg:#f9edd6;--notice-border:#e6cf9f;--ok-bg:#e7f4ec;--ok-border:#b3ddc2;--tile-unreviewed-bg:#e5ddcb;--tile-unreviewed-fg:#5a5344;--tile-edge:rgba(18,24,34,0.7);--cat-server:#b3271a;--cat-delist:#9a6410;--cat-license:#6b3fa0;--cat-store:#235d86;--cat-drm:#0f766e;--cat-account:#a12d55;--d-bg:#12161d;--d-bg-deep:#171c25;--d-surface:#1b222c;--d-ink:#eceef2;--d-ink-soft:#b7c0cc;--d-ink-faint:#96a1af;--d-line:#2d3743;--d-line-strong:#3b4756;--d-util-bg:#0c1016;--d-util-fg:#c3ccd8;--d-accent:#6fc3d6;--d-accent-strong:#17697e;--d-accent-soft:#16333c;--d-brand:#e6a552;--d-brand-strong:#b45309;--d-brand-hover:#cf8a33;--d-brand-soft:#34280f;--d-crimson:#e0715f;--d-good:#2bb39c;--d-bad:#e26a5c;--d-notice-bg:#2c2410;--d-notice-border:#574716;--d-ok-bg:#12291f;--d-ok-border:#1f5c43;--d-tile-bg:#29323d;--d-tile-fg:#9aa6b4;--d-tile-edge:rgba(255,255,255,0.55);--d-cat-server:#ec7365;--d-cat-delist:#d6a24a;--d-cat-license:#b39cf2;--d-cat-store:#6bb0e0;--d-cat-drm:#35b8a4;--d-cat-account:#ec7aa8;--d-shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 26px -14px rgba(0,0,0,0.6);--radius:10px;--radius-lg:16px;--max:1120px;--serif:var(--font-fraunces),"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--shadow:0 1px 2px rgba(26,36,50,0.05),0 6px 20px -12px rgba(26,36,50,0.18)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:var(--d-bg);--bg-deep:var(--d-bg-deep);--surface:var(--d-surface);--ink:var(--d-ink);--ink-soft:var(--d-ink-soft);--ink-faint:var(--d-ink-faint);--line:var(--d-line);--line-strong:var(--d-line-strong);--util-bg:var(--d-util-bg);--util-fg:var(--d-util-fg);--accent:var(--d-accent);--accent-strong:var(--d-accent-strong);--accent-soft:var(--d-accent-soft);--brand:var(--d-brand);--brand-strong:var(--d-brand-strong);--brand-hover:var(--d-brand-hover);--brand-soft:var(--d-brand-soft);--crimson:var(--d-crimson);--good:var(--d-good);--bad:var(--d-bad);--notice-bg:var(--d-notice-bg);--notice-border:var(--d-notice-border);--ok-bg:var(--d-ok-bg);--ok-border:var(--d-ok-border);--tile-unreviewed-bg:var(--d-tile-bg);--tile-unreviewed-fg:var(--d-tile-fg);--tile-edge:var(--d-tile-edge);--cat-server:var(--d-cat-server);--cat-delist:var(--d-cat-delist);--cat-license:var(--d-cat-license);--cat-store:var(--d-cat-store);--cat-drm:var(--d-cat-drm);--cat-account:var(--d-cat-account);--shadow:var(--d-shadow)}}:root[data-theme=dark]{color-scheme:dark;--bg:var(--d-bg);--bg-deep:var(--d-bg-deep);--surface:var(--d-surface);--ink:var(--d-ink);--ink-soft:var(--d-ink-soft);--ink-faint:var(--d-ink-faint);--line:var(--d-line);--line-strong:var(--d-line-strong);--util-bg:var(--d-util-bg);--util-fg:var(--d-util-fg);--accent:var(--d-accent);--accent-strong:var(--d-accent-strong);--accent-soft:var(--d-accent-soft);--brand:var(--d-brand);--brand-strong:var(--d-brand-strong);--brand-hover:var(--d-brand-hover);--brand-soft:var(--d-brand-soft);--crimson:var(--d-crimson);--good:var(--d-good);--bad:var(--d-bad);--notice-bg:var(--d-notice-bg);--notice-border:var(--d-notice-border);--ok-bg:var(--d-ok-bg);--ok-border:var(--d-ok-border);--tile-unreviewed-bg:var(--d-tile-bg);--tile-unreviewed-fg:var(--d-tile-fg);--tile-edge:var(--d-tile-edge);--cat-server:var(--d-cat-server);--cat-delist:var(--d-cat-delist);--cat-license:var(--d-cat-license);--cat-store:var(--d-cat-store);--cat-drm:var(--d-cat-drm);--cat-account:var(--d-cat-account);--shadow:var(--d-shadow)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px,rgba(120,100,60,.05) 1px,transparent 0),radial-gradient(circle at 1px 1px,rgba(120,100,60,.04) 1px,transparent 0);background-size:22px 22px,38px 38px;background-position:0 0,11px 11px;color:var(--ink);font-family:var(--sans);line-height:1.65;font-size:16px}.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}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent-strong);color:#fff;padding:.5rem 1rem;border-radius:0 0 var(--radius) var(--radius);z-index:100}.skip-link:focus{left:1rem;color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--brand)}h1,h2,h3,h4{font-family:var(--serif);line-height:1.18;color:var(--ink);font-weight:700;letter-spacing:-.01em}h1{font-size:2.15rem;margin:0 0 .5rem}h2{font-size:1.55rem;margin:2rem 0 .75rem}h3{font-size:1.15rem;margin:1.5rem 0 .5rem}code{background:var(--accent-soft);padding:.1em .3em;border-radius:4px;font-size:.9em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem}.kicker{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);display:flex;align-items:center;gap:.6rem;margin:2.5rem 0 .25rem}.kicker:after{content:"";flex:1 1;height:1px;background:var(--line-strong)}.util-bar{background:var(--util-bg);color:var(--util-fg);font-size:.78rem}.util-bar .inner{max-width:var(--max);margin:0 auto;padding:.3rem 1.25rem;display:flex;align-items:center;gap:1rem}.util-bar .tagline{letter-spacing:.02em}.util-bar .util-links{margin-left:auto;display:flex;gap:1rem;align-items:center}.util-bar a{color:var(--util-fg);text-decoration:none}.util-bar a:hover{color:#fff;text-decoration:underline}@media (max-width:640px){.util-bar{display:none}}.site-header{border-bottom:2px solid var(--ink);background:var(--surface);position:relative}.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--brand-strong);opacity:.5}.site-header .inner{gap:1.25rem;flex-wrap:wrap;padding:.85rem 1.25rem;max-width:var(--max);margin:0 auto}.brand,.site-header .inner{display:flex;align-items:center}.brand{gap:.65rem;text-decoration:none;color:var(--ink)}.brand .emblem{color:var(--ink);flex:none}.brand .wordmark{display:flex;flex-direction:column;line-height:1.05}.brand .name{font-family:var(--serif);font-weight:700;font-size:1.3rem;letter-spacing:-.01em}.brand .name .tld{color:var(--brand)}.brand .est{font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.header-right{display:flex;align-items:center;gap:1.15rem;margin-left:auto}.nav-wrap{display:contents}.nav-toggle{display:none;cursor:pointer;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;padding:.5rem .8rem;min-height:44px;align-items:center;gap:.35rem}.site-nav{display:flex;gap:1.15rem;align-items:center}.site-nav a{text-decoration:none;color:var(--ink-soft);font-size:.95rem;font-weight:500;padding:.2rem 0;border-bottom:2px solid transparent}.site-nav a:hover{color:var(--brand);border-bottom-color:var(--brand)}.site-nav a.is-active{color:var(--ink);border-bottom-color:var(--brand);font-weight:600}.donate-btn{background:var(--brand-strong);color:#fff!important;padding:.38rem .95rem;border-radius:999px;font-weight:600;border-bottom:none!important}.donate-btn:hover{background:var(--brand-hover)}@media (max-width:720px){.header-right{position:relative}.nav-wrap.js .nav-toggle{display:inline-flex}.nav-wrap.js .site-nav[data-open=false]{display:none}.nav-wrap.js .site-nav[data-open=true]{display:flex;position:absolute;top:calc(100% + .5rem);right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:.4rem;min-width:12rem;z-index:60}.nav-wrap.js .site-nav[data-open=true] a{padding:.65rem .7rem;border-bottom:none;border-radius:6px;min-height:44px;display:flex;align-items:center}.nav-wrap.js .site-nav[data-open=true] a:hover{background:var(--accent-soft)}}.site-footer{border-top:2px solid var(--ink);margin-top:4rem;padding:2.5rem 0 3rem;color:var(--ink-faint);font-size:.9rem;background:var(--bg-deep)}.footer-top{display:flex;gap:1rem;align-items:center;margin-bottom:1.25rem}.footer-top .emblem{color:var(--ink)}.footer-top .name{font-family:var(--serif);font-weight:700;font-size:1.1rem;color:var(--ink)}.site-footer nav{display:flex;gap:1.25rem;flex-wrap:wrap;margin-bottom:1rem}.site-footer a{color:var(--ink-soft)}main{padding:2.25rem 0 1rem}.hero{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:2rem;gap:2rem;align-items:center;padding:1.5rem 0 1rem}.hero-art{width:100%;max-width:380px;margin-left:auto}@media (max-width:780px){.hero{grid-template-columns:1fr}.hero-art{display:none}}.hero h1{font-size:2.7rem;max-width:18ch;margin-top:.25rem}.hero .lede{font-size:1.12rem;color:var(--ink-soft);max-width:60ch}.cta-row{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0 0}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.15rem;border-radius:var(--radius);text-decoration:none;font-weight:600;border:1px solid var(--accent-strong)}.btn.primary{background:var(--accent-strong);color:#fff;box-shadow:var(--shadow)}.btn.primary:hover{filter:brightness(1.12);color:#fff}.btn.secondary{color:var(--accent);background:var(--surface)}.btn.secondary:hover{border-color:var(--brand);color:var(--brand)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0 .5rem}.stat{display:block;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand-strong);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow)}a.stat{color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}a.stat:hover{border-color:var(--brand-strong);box-shadow:var(--shadow-lg,var(--shadow));transform:translateY(-1px)}a.stat:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.stat .num{font-family:var(--serif);font-size:2.1rem;font-weight:700;color:var(--accent);line-height:1.1}.card .meta,.cat-card-count,.cite-this code,.fact-box dd,.grade-pill,.related-meta,.stat .num,.state-tile{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .label{color:var(--ink-faint);font-size:.85rem}.card-list{display:grid;grid-gap:1rem;gap:1rem;margin:1.25rem 0}.card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--cat,var(--line-strong));border-radius:var(--radius);padding:1.1rem 1.3rem;box-shadow:var(--shadow);transition:transform .12s ease,box-shadow .12s ease}.card:hover{transform:translateY(-2px);box-shadow:0 10px 28px -14px rgba(26,36,50,.35)}.card h3{margin:0 0 .35rem;font-size:1.2rem}.card h3 a{text-decoration:none;color:var(--ink)}.card h3 a:hover{color:var(--brand)}.card .meta{font-size:.82rem;color:var(--ink-faint);display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-bottom:.5rem}.card .meta .platform{font-weight:600;color:var(--ink-soft)}.card p{margin:.25rem 0 0;color:var(--ink-soft)}.cat-chip{display:inline-flex;align-items:center;gap:.32rem;color:var(--cat,var(--accent));background:color-mix(in srgb,var(--cat,var(--accent)) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--cat,var(--accent)) 30%,transparent);border-radius:999px;padding:.1rem .55rem .1rem .4rem;font-size:.76rem;font-weight:600;line-height:1.4}.cat-chip svg{flex:none}.tag{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.05rem .6rem;font-size:.8rem;font-weight:600}.tag.warn{background:var(--brand-soft);color:var(--brand)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:.85rem;gap:.85rem;margin:1rem 0}.cat-card{display:flex;gap:.8rem;align-items:center;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--cat,var(--accent));border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow);transition:transform .12s ease}.cat-card:hover{transform:translateY(-2px)}.cat-card-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:8px;color:var(--cat,var(--accent));background:color-mix(in srgb,var(--cat,var(--accent)) 14%,var(--surface))}.cat-card-title{display:block;font-weight:700;color:var(--ink);font-family:var(--serif)}.cat-card-blurb{display:block;font-size:.85rem;color:var(--ink-faint)}.cat-card-count{margin-left:auto;align-self:center;font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--cat,var(--accent))}.cat-card.is-empty{opacity:.6;box-shadow:none;cursor:default}.cat-card.is-empty .cat-card-count{color:var(--ink-faint)}.pillar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.25rem;gap:1.25rem;margin:.75rem 0 1rem}.pillar{border-top:3px solid var(--accent-strong);padding-top:.75rem}.pillar h3{margin:0 0 .35rem}.pillar p{margin:0;color:var(--ink-soft)}.filter-bar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;margin:1.25rem 0;box-shadow:var(--shadow)}.filter-bar label{display:flex;flex-direction:column;font-size:.78rem;font-weight:600;color:var(--ink-faint);gap:.2rem}.filter-bar input[type=text],.filter-bar select{padding:.45rem .5rem;border:1px solid var(--line-strong);border-radius:6px;font-size:.95rem;background:var(--surface);color:var(--ink);min-width:10rem}.filter-bar button{padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent-strong);color:#fff;font-weight:600;cursor:pointer}.results-head{display:flex;align-items:baseline;gap:1rem;margin:1.5rem 0 .25rem}.results-head h2{margin:0}.clear-filters{margin-left:auto;font-size:.9rem;font-weight:600}@media (pointer:coarse){.btn,.clear-filters,.filter-bar button,.filter-bar input[type=text],.filter-bar select,.site-footer nav a,.site-nav a,.theme-toggle,.util-bar a{min-height:44px;display:inline-flex;align-items:center}.theme-toggle{min-width:44px;justify-content:center}.filter-bar input[type=text],.filter-bar select{padding-top:.6rem;padding-bottom:.6rem}}.prose{max-width:70ch;font-size:1.02rem}.prose li,.prose p{color:var(--ink)}.prose h2{border-bottom:1px solid var(--line-strong);padding-bottom:.3rem}.prose blockquote{border-left:3px solid var(--brand);margin:1rem 0;padding:.25rem 0 .25rem 1rem;color:var(--ink-soft);font-style:italic}.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid var(--line);padding:.4rem .6rem;text-align:left}.article-head{border-bottom:2px solid var(--ink);padding-bottom:1rem;margin-bottom:1.5rem}.article-head h1{font-size:2.35rem;max-width:24ch}.article-standfirst{font-size:1.2rem;line-height:1.5;color:var(--ink-soft);max-width:60ch;margin:.75rem 0 0}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;grid-column-gap:2.5rem;column-gap:2.5rem;grid-row-gap:1.25rem;row-gap:1.25rem;align-items:start}.article-main{grid-column:1;grid-row:1/span 20;min-width:0}.article-facts{grid-column:2;margin:0;grid-template-columns:1fr 1fr}.article-rail{grid-column:2;display:grid;grid-gap:1.25rem;gap:1.25rem}.article-rail .rail-box{margin:0}.rail-box.related{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.15rem;box-shadow:var(--shadow)}.rail-box.related h2{margin:0 0 .6rem;font-size:1.05rem;border:none}.rail-box.related ul{list-style:none;margin:0;padding:0}.rail-box.related li{padding:.5rem 0 .5rem .7rem;border-left:3px solid var(--cat,var(--line-strong));margin-bottom:.5rem}.rail-box.related li a{text-decoration:none;font-weight:600;display:block;line-height:1.3}.rail-box.related .related-meta{display:block;font-size:.78rem;color:var(--ink-faint);margin-top:.15rem}.rail-box.related .related-more{font-size:.85rem;font-weight:600}.article-rail .cite-this{margin:0}.rail-box.toc{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);padding:1rem 1.15rem;box-shadow:var(--shadow)}.rail-box.toc h2{margin:0 0 .6rem;font-size:1.05rem;border:none}.rail-box.toc ul{list-style:none;margin:0;padding:0}.rail-box.toc li{margin:.3rem 0}.rail-box.toc a{text-decoration:none;font-weight:600;font-size:.92rem}.rail-box.toc a:hover{color:var(--brand)}:target,h2[id]{scroll-margin-top:1.5rem}@media (max-width:900px){.article-layout{display:flex;flex-direction:column;gap:1.5rem}}.fact-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.75rem 1.25rem;gap:.75rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.1rem 1.35rem;margin:1.5rem 0;font-size:.92rem;box-shadow:var(--shadow)}.fact-box dt{color:var(--ink-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.fact-box dd{margin:.1rem 0 0;font-weight:600;font-size:1.05rem}.sources{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--crimson);border-radius:var(--radius);padding:1.1rem 1.35rem;margin:2rem 0;box-shadow:var(--shadow)}.sources h2{margin-top:0;border:none;font-size:1.15rem}.sources ol{padding-left:1.25rem;margin:.5rem 0 0}.sources li{margin-bottom:.5rem;font-size:.92rem}.sources .archived{color:var(--ink-faint);font-size:.85rem}.cite-this{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:var(--radius);padding:1.1rem 1.35rem;margin:2rem 0;font-size:.9rem}.cite-this h2{margin:0 0 .4rem;font-size:1rem;border:none}.cite-this code{display:block;background:var(--surface);padding:.6rem .8rem;border-radius:6px;white-space:pre-wrap;word-break:break-word}.state-map-scroll{overflow-x:auto;margin:1.5rem 0}.state-map{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:5px;gap:5px;max-width:760px}@media (max-width:640px){.state-map{min-width:560px}}.state-tile{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;text-decoration:none;font-size:.78rem;font-weight:700;line-height:1.1;box-shadow:inset 0 0 0 1.5px var(--tile-edge)}.state-tile .grade{font-size:.68rem;font-weight:600;opacity:.9}.state-tile.unreviewed{background:var(--tile-unreviewed-bg);color:var(--tile-unreviewed-fg)}.state-tile:hover{outline:2px solid var(--ink)}.map-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--ink-soft);margin-bottom:2rem}.map-legend .swatch{display:inline-block;width:.9rem;height:.9rem;border-radius:3px;vertical-align:-.1em;margin-right:.3rem}.grade-pill.unreviewed{background:var(--tile-unreviewed-bg);color:var(--tile-unreviewed-fg)}.grade-pill{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:10px;font-family:var(--serif);font-size:1.6rem;font-weight:800;box-shadow:var(--shadow)}.newsletter-form{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 2rem}.newsletter-form input[type=email]{flex:1 1 240px;padding:.6rem .8rem;border:1px solid var(--line-strong);border-radius:var(--radius);font-size:1rem;background:var(--surface);color:var(--ink)}.newsletter-form button{padding:.6rem 1.3rem;border:none;border-radius:var(--radius);background:var(--brand-strong);color:#fff;font-weight:600;font-size:1rem;cursor:pointer}.notice{border-radius:var(--radius);padding:.75rem 1rem;margin:1rem 0;background:var(--notice-bg);border:1px solid var(--notice-border)}.notice.ok{background:var(--ok-bg);border-color:var(--ok-border)}.empty-state{color:var(--ink-faint);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);padding:2rem;text-align:center;margin:1.5rem 0}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:.92rem}.admin-table td,.admin-table th{border:1px solid var(--line);padding:.5rem .7rem;text-align:left;vertical-align:top}.review-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:start}@media (max-width:900px){.review-grid{grid-template-columns:1fr}}.review-pane{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;max-height:75vh;overflow-y:auto}.review-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.25rem 0}.review-actions button{padding:.5rem 1.1rem;border-radius:var(--radius);border:1px solid var(--line);font-weight:600;cursor:pointer;background:var(--surface)}.review-actions button.approve{background:var(--good);border-color:var(--good);color:#fff}.review-actions button.reject{background:var(--bad);border-color:var(--bad);color:#fff}.admin-table button,.sources form button,button.small{padding:.3rem .7rem;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.85rem;cursor:pointer}.admin-table button:hover,.sources form button:hover,button.small:hover{border-color:var(--accent)}textarea.editor{min-height:16rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;padding:.75rem}input.editor-line,textarea.editor{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}input.editor-line{padding:.5rem .75rem;font-size:.95rem;margin-bottom:.6rem}.theme-toggle{background:none;border:1px solid var(--line-strong);border-radius:999px;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.95rem;line-height:1;color:var(--ink-soft)}.theme-toggle:hover{border-color:var(--brand);color:var(--brand)}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}