/* Civic³ / Evidence workspace / v15 — presentation layer */
:root{--bg:#0D1014;--bg2:#111418;--bg3:#181D23;--bg4:#1E242C;--text:#E8E0D0;--text-dim:#B8B0A0;--text-muted:#B8B0A0;--gold:#C9A84C;--gold-bright:#F0C96B;--gold-dim:#C9A84C;--border:rgba(201,168,76,.15);--border-bright:rgba(201,168,76,.4);--body:'IBM Plex Sans',system-ui,sans-serif;--display:'IBM Plex Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace;}
html,body{background:#0D1014;color:var(--text);font-size:15px;}
.grid-bg{opacity:.2;background-size:80px 80px}.vignette{display:none}
a,button,input,summary{ -webkit-tap-highlight-color:transparent }
button,a,input,summary{outline-offset:4px} :focus-visible{outline:2px solid #F0C96B!important}
.topbar{background:rgba(8,11,16,.97);border-color:var(--border)}
.topbar nav{height:68px;padding:0 30px;gap:28px;max-width:1800px;margin:auto}
.nav-title{font-family:var(--font-body,'IBM Plex Sans',system-ui,sans-serif);font-size:32px;letter-spacing:-1.2px}.nav-title sup{font-size:17px}
.nav-links{overflow:visible;gap:6px;flex:1;justify-content:center}
.nav-links a{font-family:var(--body);font-size:14px;text-transform:none;letter-spacing:0;padding:13px 14px;min-height:44px;color:#B8B0A0;border-radius:7px}
.nav-links a.on{color:#F0C96B;background:#e2b96d12;box-shadow:inset 0 -2px #C9A84C;border-radius:7px 7px 0 0}
.nav-support{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:14px;padding:11px 18px;border:1px solid #e2b96d65;background:transparent;color:#F0C96B;border-radius:8px}
.nav-support:hover{background:#C9A84C;color:#111418}
.design-nav-more{position:relative;font:14px var(--body)}.design-nav-more summary{cursor:pointer;padding:13px 16px;min-height:44px;color:var(--text-dim)}
.design-nav-more>div{position:absolute;right:0;top:48px;width:210px;padding:8px;background:#111418;border:1px solid var(--border-bright);border-radius:12px;box-shadow:0 20px 50px #0009}.design-nav-more a{display:block}
.elect-strip{padding:5px 30px;min-height:42px;gap:12px;font:13px var(--body);letter-spacing:0;background:linear-gradient(90deg,#e2b96d12,transparent)}
.elect-strip .es-k{text-transform:none}.elect-strip .es-more{font:13px var(--body);padding:10px 12px;min-height:40px;border:0;background:transparent}
main{max-width:1640px;padding:140px 30px 50px!important}
.trail{font:13px var(--body);text-transform:none;letter-spacing:0;margin-bottom:10px;min-height:18px}.trail .sep{color:#8A8070}
.tier-head{align-items:center;gap:16px;border-bottom:0;padding:0 0 20px;margin:0}
.tier-eyebrow{font:600 12px var(--body);letter-spacing:.12em;color:#C9A84C;text-transform:uppercase;margin-bottom:6px}
.tier-name{font-family:var(--body);font-weight:500;font-size:clamp(30px,3.2vw,44px)!important;letter-spacing:-.04em;line-height:1.12}
.tier-name small{font:13px var(--body);text-transform:none;letter-spacing:0;color:var(--text-dim);margin-top:6px}
.tier-drift{display:none}.tier-hp{display:grid;grid-template-columns:auto auto;gap:4px 12px;align-items:center;padding:12px 18px;border:1px solid var(--border);background:#111418;border-radius:12px;text-align:left;min-width:240px}
.hp-big{font:600 38px/1 var(--body);letter-spacing:-.04em}.hp-big small{font:14px var(--body);margin-left:3px}.verdict-pill{margin:0;font:600 12px var(--body);letter-spacing:.04em;border-radius:5px;padding:6px 9px}.coverage{grid-column:1/-1;font:12px var(--body);margin:3px 0 0;color:#E8E0D0}
.design-search{border:1px solid var(--border);border-radius:12px;padding:12px 16px;background:#111418;margin-bottom:14px}
.design-search-label{font:600 12px var(--body);letter-spacing:.08em;text-transform:uppercase;color:#C9A84C;margin-bottom:6px}.csearch{margin:0}.csearch-in{font:15px var(--body);min-height:44px;border:0;background:#0D1014;border-radius:7px;padding:11px 14px}.csearch-hint{font:12px/1.6 var(--body);margin-top:7px}.csearch-hint code{font-size:12px;color:#c6d7eb}
.terrain-head{margin:0 0 12px;padding:0 2px;min-height:44px}.section-title{font:600 18px var(--body);letter-spacing:-.02em;text-transform:none;margin:16px 0 12px}.section-note{font:14px var(--body)}
.ops-grid{grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.map-shell{background:radial-gradient(ellipse at 50% 45%,#15191E 0%,#0D1014 72%);box-shadow:0 12px 40px #0003,inset 0 0 70px #0003;border:1px solid #7497ba40;border-radius:14px}
.map-shell:before{opacity:.22;background-size:64px 64px}.map-corner{display:none}.map-tag{font:12px var(--body);letter-spacing:.08em;top:14px;background:#08111cba;padding:5px 10px;border-radius:5px;white-space:nowrap}.compass{opacity:.3}
/* Geometry, fills and scoring colors deliberately retained. */
.zoom-ctl{left:14px;bottom:14px;gap:5px}.zoom-ctl button{width:42px;height:42px;border-radius:8px;background:#0b1724ed;border-color:#7193b255;color:#F0C96B;font:20px var(--body)}
.legend{gap:18px;margin:12px 4px 18px}.legend-item{font:12px var(--body);text-transform:none;letter-spacing:0}.legend-item .sw{width:9px;height:9px;border-radius:50%}
.panel{border-radius:12px;padding:17px 18px;background:linear-gradient(145deg,#111418,#0D1014);margin-bottom:14px;box-shadow:0 6px 20px #0002}.panel-title{font:600 17px var(--body);letter-spacing:-.02em;text-transform:none;margin-bottom:12px;padding-bottom:12px;border-color:var(--border)}
.stat-row{font:14px var(--body);margin-bottom:10px}.stat-row .lbl{font:13px var(--body);text-transform:none;letter-spacing:0}.stat-row .val{font-family:var(--mono);font-size:14px}.panel-foot,.tier-k span{font:12px/1.6 var(--body);color:var(--text-dim)}
.drill-btn,.asc-chip,.zip-search button{font:500 14px var(--body);text-transform:none;letter-spacing:0;min-height:44px;border-radius:8px}.zip-search input{min-width:0;font:15px var(--body);min-height:44px}.zip-search button{padding:8px 14px}.zip-msg{font:13px var(--body)}
.design-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0 26px;align-items:start}.design-extras:empty{display:none}.design-tier-panel{grid-row:span 3;margin:0}.design-disclosure{border:1px solid var(--border);border-radius:10px;background:#111418;overflow:hidden}.design-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;min-height:48px;cursor:pointer;font:500 14px var(--body);list-style:none}.design-disclosure summary:after{content:'+';color:#C9A84C;font-size:20px}.design-disclosure[open] summary:after{content:'−'}.design-disclosure summary::-webkit-details-marker{display:none}.design-disclosure>.panel,.design-disclosure>.stats,.design-disclosure>.fedrail,.design-disclosure>.clock-row,.design-disclosure>.howto{margin:0;padding:14px;border:0;border-top:1px solid var(--border);border-radius:0;box-shadow:none}.design-disclosure .fr-clocks{grid-template-columns:1fr}.design-disclosure .clock-row{display:grid;grid-template-columns:1fr}.design-disclosure .stats{grid-template-columns:1fr 1fr}.howto{font:14px/1.7 var(--body)}
.tiles{gap:14px}.tile{border-radius:12px;padding:20px;background:linear-gradient(145deg,#111418,#111418);transition:transform .18s,border-color .18s}.tile:hover{transform:translateY(-2px);border-color:#9ebdd161}.tile-name{font:600 19px/1.35 var(--body);letter-spacing:-.02em}.tile-branch,.tile-events,.tile-verdict{font-family:var(--body);letter-spacing:0}.tile-desc{font:14px/1.6 var(--body)}
.inst-detail,.event{border-radius:12px}.inst-name{font:600 24px var(--body)}.event-desc{font:17px/1.65 var(--body)}.promise,.practice,.clause,.src{font-family:var(--body);line-height:1.65}.trailbox{padding:16px;border-radius:10px}.ts-what{font-size:15px}.ts-note,.trail-foot{font-family:var(--body)}
.latest{gap:14px}.latest-card,.cg-card{padding:18px;border-radius:12px}.lc-tag,.lc-meta,.cg-h b{font-family:var(--body);letter-spacing:0}.lc-inst{font-size:17px}.lc-desc{font-size:15px;line-height:1.6}.cg-t{font-size:14px;line-height:1.65}.below-map{border-top:1px solid var(--border);padding-top:8px}
body .c3-lm-bar{font:14px var(--body);gap:8px}body .c3-lm-seg{border-color:var(--border-bright);border-radius:8px}body .c3-lm-seg button{min-height:44px;font:500 14px var(--body);letter-spacing:0;padding:10px 16px}body .c3-lm-seg button.on{background:linear-gradient(120deg,#F0C96B,#C9A84C);color:#111418}body .c3-lm-note{font:12px var(--body);color:#B8B0A0}
body .c3-lm-panel{background:#111418;width:min(460px,100vw);font-family:var(--body);box-shadow:-30px 0 100px #0009;border-left:1px solid #6f94b64a}body .c3-lm-panel .pad{padding:30px 26px 44px}body .c3-lm-h{font:500 30px/1.2 var(--font-body,'IBM Plex Sans',system-ui,sans-serif);margin-top:12px}body .c3-lm-hold{font:17px/1.65 var(--body);margin:20px 0}body .c3-lm-cite{font:13px var(--mono)}body .c3-lm-kick{font:600 12px var(--body);letter-spacing:.12em}body .c3-lm-list button{font:16px/1.5 var(--body);padding:16px 0}body .c3-lm-foot,body .c3-lm-row span:first-child{color:#B8B0A0}body .c3-lm-pending{color:#F0C96B;border-style:solid;background:#e2b96d08}
@media(min-width:1100px){.design-sidebar{position:sticky;top:140px}.design-sidebar .panel-title{font-size:17px}}
@media(max-width:1100px){.topbar nav{padding:0 20px;gap:16px}.nav-links a{padding:12px 9px}.ops-grid{grid-template-columns:minmax(0,1fr) 285px}main{padding-left:20px!important;padding-right:20px!important}}
@media(max-width:800px){.topbar nav{height:60px;padding:0 14px;gap:12px}.nav-title{font-size:27px}.nav-links{justify-content:flex-end;gap:2px}.nav-links>a:not(.on){display:none}.nav-links a{font-size:13px;padding:12px 8px}.nav-support{font-size:12px;padding:10px 12px}.elect-strip{padding:3px 14px;gap:8px;min-height:36px;font-size:12px}.es-offices{display:none}.elect-strip .es-more{font-size:12px}.ops-grid{grid-template-columns:1fr}.design-extras{grid-template-columns:1fr 1fr}.design-tier-panel{grid-column:1/-1;grid-row:auto}.design-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.design-sidebar>.panel{margin:0}.tier-head{padding-bottom:14px}.tier-hp{min-width:210px}.hp-big{font-size:32px}main{padding-top:126px!important}.c3-lm-note{flex-basis:100%}}
@media(max-width:560px){main{padding:116px 14px 36px!important}.nav-title{font-size:25px}.topbar nav{gap:6px}.nav-links a.on{font-size:12px;padding:12px 8px}.design-nav-more summary{font-size:12px;padding:12px 6px}.nav-support{padding:10px;font-size:12px}.elect-strip{gap:8px}.es-long{display:none}.es-short{display:inline}.elect-strip .es-more{display:none}.trail{font-size:12px;margin-bottom:8px}.tier-head{gap:12px}.tier-head>div:first-child{width:100%}.tier-name{font-size:32px!important}.tier-name small{font-size:12px}.tier-eyebrow{font-size:12px;letter-spacing:.07em}.tier-hp{width:100%;min-width:0;display:grid;grid-template-columns:auto auto 1fr;padding:10px 12px;gap:8px}.tier-hp .coverage{grid-column:3;flex-basis:auto;margin:0;text-align:right;font-size:12px}.hp-big{font-size:30px}.verdict-pill{font-size:12px;padding:5px 7px}.design-search{padding:10px 12px;margin-bottom:10px}.design-search-label{display:none}.csearch-hint{display:none}.csearch-in{font-size:14px;min-height:44px}.terrain-head{gap:8px;margin-bottom:8px}.terrain-head .section-title{font-size:15px}.c3-lm-bar .c3-lm-seg button{font-size:12px;padding:10px 12px}.map-shell{border-radius:12px}.map-tag{display:none}.zoom-ctl{left:auto;right:8px;bottom:8px}.zoom-ctl button{width:40px;height:40px}.legend{gap:12px;margin-bottom:12px}.legend-item{font-size:12px}.design-sidebar{grid-template-columns:1fr}.design-extras{grid-template-columns:1fr}.design-tier-panel{grid-column:auto}.section-title{font-size:18px}.ts{grid-template-columns:16px 1fr}.ts-at{grid-column:2}.map-shell svg{min-height:0}.cguide,.latest{grid-template-columns:1fr}.design-nav-more>div{right:-30px}body .c3-lm-panel{top:auto;bottom:0;height:85dvh;max-height:85vh;border-radius:20px 20px 0 0;width:100%;border:1px solid #6f94b64a;transform:translateY(110%)}body .c3-lm-panel.open{transform:translateY(0)}body .c3-lm-panel .pad{padding:24px 20px 36px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
[hidden]{display:none!important}
/* Text-only status colors; geographic fills remain the original colors. */
:root{--red:#fa8b79;--green:#53dca7;--brown:#C9A84C;--grey:#B8B0A0}
.design-extras .tier-v{font-family:var(--body)}
.design-extras .tier-row{grid-template-columns:1fr auto}.design-extras .tier-k span{max-width:200px;display:block}
@media(min-width:801px){.map-shell svg.geomap{max-height:66vh;min-height:400px}}
@media(max-width:560px){.c3-lm-panel:not(.open){visibility:hidden}.c3-lm-panel.open{visibility:visible}}
@media(min-width:801px){
 .design-search{display:grid;grid-template-columns:170px 1fr;align-items:center;padding:8px 14px;gap:12px}
 .design-search-label{margin:0;font-size:12px}.design-search #searchMount{min-width:0}
 .design-search .csearch-hint{display:none}.design-search:focus-within .csearch-hint{display:block}
 .map-shell svg.geomap{max-height:60vh;min-height:360px}
 main>.trail:has(>.here:only-child){display:none}
 .tier-head{padding-bottom:16px}.tier-name{font-size:38px!important}
 .nav-title:after{content:'CONSTITUTIONAL COMPLIANCE INDEX';display:block;font:12px/1.5 var(--body);letter-spacing:.07em;color:#B8B0A0;margin-top:2px}
}
.map-shell:has(.subtile){padding-top:36px}
.subtile{font-family:var(--body)!important}.subtile>div{font-family:var(--body)!important}
/* Preserve SVG bounding-box proportions used by the existing pan/zoom math. */
.map-shell svg.geomap{max-height:none;min-height:0}
@media(min-width:801px){.map-shell svg#usmap.geomap{width:min(100%,calc(60vh * 975 / 610));margin-inline:auto}}
.rec-ls-l{font-size:12px}
