:root{--bg:#05090d;--panel:#0b141b;--line:#163343;--text:#e9f5fb;--muted:#91a9b6;--cyan:#36d7ff;--green:#68ffb0;--danger:#ff6577}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#0b2632 0,transparent 35%),linear-gradient(#05090d,#081016);color:var(--text);font:16px/1.6 Inter,system-ui,sans-serif}a{color:var(--cyan);text-decoration:none}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px 4vw;background:rgba(5,9,13,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;gap:10px;align-items:center;color:#fff;font-weight:800}.radar{width:18px;height:18px;border:2px solid var(--green);border-radius:50%;box-shadow:0 0 15px var(--green)}nav{display:flex;gap:18px;align-items:center}nav a{color:#cde2ec}.pill,.btn{display:inline-block;background:linear-gradient(90deg,var(--cyan),var(--green));color:#031016!important;padding:10px 16px;border-radius:7px;font-weight:800;border:0;cursor:pointer}.menu{display:none;background:none;color:white;border:0;font-size:24px}.hero{min-height:70vh;display:grid;place-items:center;padding:80px 5vw;text-align:center;background-image:linear-gradient(rgba(54,215,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(54,215,255,.05) 1px,transparent 1px);background-size:32px 32px}.hero h1{font-size:clamp(42px,7vw,88px);line-height:1;margin:.2em 0;letter-spacing:-.04em}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.18em;font-size:13px}.lead{max-width:850px;margin:0 auto 28px;color:#c1d4de;font-size:20px}.section{padding:64px 5vw;max-width:1250px;margin:auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(180deg,rgba(14,30,40,.95),rgba(8,18,25,.95));border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 16px 60px rgba(0,0,0,.2)}.stat{font-size:42px;font-weight:900;color:var(--green)}h1,h2,h3{line-height:1.15}h2{font-size:clamp(30px,4vw,48px)}.news-card small,.muted{color:var(--muted)}.form{display:grid;gap:14px;max-width:760px}.form input,.form select,.form textarea{width:100%;padding:12px;border:1px solid #244757;border-radius:6px;background:#071118;color:#fff}.notice{padding:14px;border-left:4px solid var(--green);background:#0d211b}.error{border-color:var(--danger)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}footer{display:flex;justify-content:space-between;gap:30px;padding:40px 5vw;border-top:1px solid var(--line);color:var(--muted)}@media(max-width:900px){.grid{grid-template-columns:1fr}.menu{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#05090d;padding:20px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.site-header{padding:14px 20px}footer{flex-direction:column}}
.grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.document-list{display:grid;gap:1rem}.document-item{padding:1rem;border:1px solid rgba(111,219,255,.18);border-radius:14px;background:rgba(4,15,24,.55)}.document-item h3{margin:.1rem 0 .4rem}.small,small{opacity:.72}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.admin-stats .card{display:flex;flex-direction:column}.admin-stats strong{font-size:2rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem;border-bottom:1px solid rgba(111,219,255,.14);vertical-align:top}.inline-actions{display:flex;gap:.45rem;flex-wrap:wrap}.btn.small{padding:.45rem .7rem;font-size:.85rem}.btn.danger{border-color:#ff6c7a;color:#ff9aa5}.badge{display:inline-block;padding:.2rem .55rem;border:1px solid rgba(111,219,255,.28);border-radius:999px;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}@media(max-width:800px){.grid.two,.admin-stats{grid-template-columns:1fr}.admin-head{align-items:flex-start;flex-direction:column}}

.state-news-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:3rem 0 1.2rem}.state-news-head h2{margin:.25rem 0 0}.state-news-grid .news-card{display:flex;flex-direction:column;min-height:250px}.news-meta{display:flex;justify-content:space-between;gap:.75rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.news-card h3{margin:.85rem 0}.news-card p{color:#b9ced8;margin-top:auto}.state-search-note{margin-top:1.25rem}.btn.secondary{background:transparent!important;color:var(--cyan)!important;border:1px solid var(--line)}@media(max-width:800px){.state-news-head{align-items:flex-start;flex-direction:column}}
.camera-map{height:620px;border:1px solid rgba(72,225,255,.25);border-radius:18px;overflow:hidden;background:#071018;box-shadow:0 0 40px rgba(0,210,255,.08)}.national-map{height:720px}.map-toolbar{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:1rem}.map-toolbar label{display:flex;align-items:center;gap:.65rem}.map-toolbar select{background:#08141d;color:#e9fbff;border:1px solid rgba(72,225,255,.35);padding:.65rem;border-radius:8px}.map-disclaimer{font-size:.9rem;opacity:.76;margin-top:.85rem}.article-shell{max-width:940px}.article-summary{font-size:1.12rem;line-height:1.8}.text-link{font-weight:700;text-decoration:none}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#07141d;color:#eefcff}.leaflet-control-zoom a{background:#07141d!important;color:#eefcff!important}
/* Camera map */
.camera-map {
    display: block;
    width: 100%;
    height: 650px;
    min-height: 650px;
    margin-top: 20px;
    border: 1px solid rgba(70, 220, 255, 0.25);
    border-radius: 16px;
    overflow: hidden;
    background: #07141d;
    position: relative;
    z-index: 1;
}

.camera-map.national-map {
    height: 700px;
    min-height: 700px;
}

.camera-map .leaflet-container {
    width: 100%;
    height: 100%;
}

.leaflet-container {
    width: 100%;
    height: 100%;
    background: #07141d;
}

@media (max-width: 768px) {
    .camera-map,
    .camera-map.national-map {
        height: 520px;
        min-height: 520px;
    }
}
/* Red camera markers used by the national and state ALPR maps. */
.caf-camera-marker {
    background: transparent;
    border: 0;
}
.caf-camera-marker span {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    color: #fff;
    background: #dc2626;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,.45);
    transition: transform .15s ease, background-color .15s ease;
}
.caf-camera-marker:hover span,
.caf-camera-marker:focus span {
    background: #991b1b;
    transform: scale(1.12);
}
.petition-panel { margin-top: 2rem; }
.petition-count { font-size: clamp(2rem,5vw,3.5rem); font-weight: 900; line-height: 1; }
.admin-delete-form { margin-top: .45rem; }
.btn.danger { background:#b91c1c; border-color:#b91c1c; color:#fff; }
.btn.danger:hover { background:#7f1d1d; border-color:#7f1d1d; }

/* Search and public document pages */
.site-search{margin:1.5rem 0}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}.search-row input{width:100%}.search-results{margin-top:2.5rem}.document-detail .grid{margin-bottom:1.5rem}.document-meta-list{display:grid;grid-template-columns:minmax(130px,.6fr) 1fr;gap:.65rem 1rem}.document-meta-list dt{font-weight:800}.document-meta-list dd{margin:0}.document-actions{display:flex;flex-wrap:wrap;gap:.7rem}.document-preview-card{margin-top:1.5rem}.document-preview{width:100%;height:min(78vh,900px);border:1px solid rgba(148,163,184,.25);border-radius:.75rem;background:#fff}.action-page>section{margin-top:3rem}.resource-grid .card{display:flex;flex-direction:column}.resource-grid .text-link{margin-top:auto}.action-checklist .issue-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:0;list-style:none}.action-checklist .issue-checklist li{padding:.8rem 1rem .8rem 2.4rem;position:relative;border:1px solid rgba(148,163,184,.2);border-radius:.65rem}.action-checklist .issue-checklist li:before{content:'✓';position:absolute;left:.9rem;font-weight:900;color:#dc2626}@media(max-width:700px){.search-row{grid-template-columns:1fr}.document-meta-list{grid-template-columns:1fr}.action-checklist .issue-checklist{grid-template-columns:1fr}.document-preview{height:65vh}}

/* V6.2 live petition command center */
.petition-command-center{overflow:hidden}.petition-count-head{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.live-count-badge{display:inline-flex;align-items:center;gap:.55rem;white-space:nowrap;border:1px solid rgba(59,246,190,.25);border-radius:999px;padding:.55rem .8rem;background:rgba(59,246,190,.07);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.live-count-badge span{width:.65rem;height:.65rem;border-radius:50%;background:#3bf6be;box-shadow:0 0 0 .28rem rgba(59,246,190,.12);animation:petitionPulse 1.8s infinite}.petition-total-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1rem}.petition-total-card{display:flex;min-height:170px;flex-direction:column;justify-content:center;padding:1.4rem;border:1px solid rgba(118,184,214,.18);border-radius:18px;background:linear-gradient(145deg,rgba(11,35,47,.92),rgba(5,19,27,.9));box-shadow:0 22px 55px rgba(0,0,0,.16)}.petition-total-card-primary{background:radial-gradient(circle at 90% 10%,rgba(59,246,190,.22),transparent 42%),linear-gradient(145deg,rgba(8,52,61,.98),rgba(5,22,31,.98));border-color:rgba(59,246,190,.3)}.petition-total-card small{color:#8ba6b4;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.petition-total-card strong{font-size:clamp(2.5rem,6vw,4.8rem);line-height:1;margin:.6rem 0 .45rem;letter-spacing:-.05em;color:#f6fbfd}.petition-total-card span,.petition-total-card a{color:#aac0ca}.state-count-marquee{position:relative;margin:1.2rem 0 2rem;overflow:hidden;border-block:1px solid rgba(118,184,214,.15);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.state-count-track{display:flex;width:max-content;animation:petitionMarquee 90s linear infinite}.state-count-track:hover{animation-play-state:paused}.state-count-track a{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.1rem;color:#c8d8df;text-decoration:none;border-right:1px solid rgba(118,184,214,.12)}.state-count-track a:hover{background:rgba(59,246,190,.06)}.state-count-track strong{color:#3bf6be;font-size:1rem}.petition-leaderboard-wrap{padding:1.35rem;border:1px solid rgba(118,184,214,.16);border-radius:18px;background:rgba(5,20,29,.62)}.petition-leaderboard{display:grid;gap:.48rem;margin-top:1rem}.petition-rank-row{display:grid;grid-template-columns:2.2rem minmax(130px,1fr) minmax(100px,2fr) auto;gap:.75rem;align-items:center;padding:.66rem .75rem;border-radius:10px;color:inherit;text-decoration:none}.petition-rank-row:hover{background:rgba(59,246,190,.06)}.petition-rank{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:50%;background:rgba(118,184,214,.1);font-weight:900;color:#8ba6b4}.petition-state-name{font-weight:800}.petition-progress{height:.48rem;overflow:hidden;border-radius:99px;background:rgba(118,184,214,.1)}.petition-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20c8e8,#3bf6be);box-shadow:0 0 15px rgba(59,246,190,.25)}.petition-rank-row strong{min-width:3rem;text-align:right;color:#3bf6be}@keyframes petitionPulse{50%{opacity:.45;transform:scale(.82)}}@keyframes petitionMarquee{to{transform:translateX(-50%)}}@media(max-width:850px){.petition-count-head{display:block}.live-count-badge{margin-top:1rem}.petition-total-grid{grid-template-columns:1fr}.petition-total-card{min-height:140px}.petition-rank-row{grid-template-columns:2.2rem minmax(100px,1fr) auto}.petition-progress{display:none}}@media(prefers-reduced-motion:reduce){.state-count-track,.live-count-badge span{animation:none}}

/* V6.3 founder/about page */
.about-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 15% 10%,rgba(54,215,255,.18),transparent 35%),radial-gradient(circle at 85% 25%,rgba(104,255,176,.1),transparent 30%),linear-gradient(180deg,#07131b,#05090d)}.about-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(54,215,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(54,215,255,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent)}.about-hero-inner{position:relative;z-index:1;padding-top:100px;padding-bottom:100px;text-align:left}.about-hero h1{max-width:900px;margin:.18em 0;font-size:clamp(46px,7vw,86px);line-height:.98;letter-spacing:-.05em}.about-hero .lead{max-width:900px;margin:1.4rem 0 0;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.75}.about-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.about-page{padding-top:54px}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:1.5rem;align-items:start}.about-main{display:grid;gap:1.35rem}.about-card{padding:clamp(1.35rem,3vw,2.2rem)}.about-card h2{margin:.35rem 0 1rem}.about-card p{font-size:1.04rem;line-height:1.82;color:#c6d7df}.about-tech-grid,.about-question-grid,.about-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.35rem 0}.about-tech-grid div,.about-question-grid div,.about-project-grid article{padding:1rem;border:1px solid rgba(54,215,255,.16);border-radius:12px;background:rgba(5,16,23,.5)}.about-tech-grid span{display:block;font-weight:900;color:#effaff}.about-tech-grid small{display:block;margin-top:.25rem;color:var(--muted)}.about-question-grid div{position:relative;padding-left:2.6rem;font-weight:750;color:#e9f5fb}.about-question-grid div:before{content:"?";position:absolute;left:.85rem;top:.78rem;display:grid;width:1.25rem;height:1.25rem;place-items:center;border-radius:50%;background:rgba(104,255,176,.12);color:var(--green);font-weight:900}.about-experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.about-experience-grid ul,.about-sidebar-card ul{margin:0;padding-left:1.15rem}.about-experience-grid li,.about-sidebar-card li{margin:.45rem 0}.about-timeline{position:relative;display:grid;gap:0;margin-top:1.4rem;padding-left:1.5rem}.about-timeline:before{content:"";position:absolute;left:.42rem;top:.35rem;bottom:.35rem;width:2px;background:linear-gradient(var(--cyan),var(--green))}.about-timeline article{position:relative;padding:0 0 1.6rem 1.3rem}.about-timeline article:before{content:"";position:absolute;left:-1.48rem;top:.35rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 .3rem rgba(104,255,176,.1)}.about-timeline article:last-child{padding-bottom:0}.about-timeline span{display:inline-block;color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.about-timeline h3{margin:.25rem 0 .35rem}.about-timeline p{margin:0}.about-project-grid article{display:flex;flex-direction:column}.about-project-grid article p{flex:1}.about-project-grid .text-link{font-weight:850}.about-disclosure{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem!important;color:var(--muted)!important}.about-commitment blockquote{margin:1.4rem 0;padding:1.25rem 1.35rem;border-left:4px solid var(--green);background:rgba(104,255,176,.055);font-size:clamp(1.15rem,2.4vw,1.45rem);line-height:1.55;font-weight:800}.about-faq{display:grid;gap:.65rem;margin-top:1.2rem}.about-faq details{border:1px solid rgba(54,215,255,.17);border-radius:11px;background:rgba(5,16,23,.45)}.about-faq summary{cursor:pointer;padding:1rem 3rem 1rem 1rem;position:relative;font-weight:850;list-style:none}.about-faq summary::-webkit-details-marker{display:none}.about-faq summary:after{content:"+";position:absolute;right:1rem;top:.85rem;color:var(--green);font-size:1.3rem}.about-faq details[open] summary:after{content:"−"}.about-faq details p{margin:0;padding:0 1rem 1rem}.about-thank-you{padding:clamp(1.6rem,4vw,3rem);border:1px solid rgba(104,255,176,.24);border-radius:16px;background:radial-gradient(circle at 85% 10%,rgba(104,255,176,.15),transparent 35%),rgba(7,21,29,.88)}.about-thank-you h2{margin:.35rem 0 1rem}.about-thank-you p{max-width:850px;color:#c6d7df;font-size:1.04rem;line-height:1.82}.about-sidebar{position:sticky;top:96px;display:grid;gap:1rem}.about-stat-card strong{display:block;margin:.25rem 0;font-size:clamp(3.2rem,7vw,5rem);line-height:1;color:var(--green);letter-spacing:-.06em}.about-stat-card p{margin:0;color:var(--muted)}.about-sidebar-card h3{margin-top:0}.about-sidebar-links{display:grid;gap:.8rem}.about-sidebar-links a{padding-bottom:.7rem;border-bottom:1px solid rgba(54,215,255,.12);font-weight:750}.about-sidebar-links a:last-child{border-bottom:0;padding-bottom:0}@media(max-width:1050px){.about-layout{grid-template-columns:1fr}.about-sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.about-hero-inner{padding-top:72px;padding-bottom:72px}.about-hero-actions{display:grid}.about-hero-actions .btn{text-align:center}.about-tech-grid,.about-question-grid,.about-project-grid,.about-experience-grid{grid-template-columns:1fr}.about-sidebar{grid-template-columns:1fr}.about-card{padding:1.25rem}}
