@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800&display=swap');
* { box-sizing: border-box; margin: 0; padding: 0; }
:root{
  --paper:#ECEAE1; --paper-line:#D8D4C6; --ink:#1B1712; --ink-soft:#6a6559;
  --red:#CC2A18; --red-deep:#9E1B0E; --green:#33502a; --green-bg:#dfe6d8;
}
html,body{background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
.wrap{max-width:760px;margin:0 auto;padding:22px 20px 72px;}
.mast{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:10px;}
.brand{font-weight:800;letter-spacing:-.01em;font-size:15px;}
.brand b{color:var(--red);} .brand span{color:var(--ink-soft);font-weight:600;}
.ribbon{font-size:11px;color:var(--ink-soft);font-weight:600;white-space:nowrap;}
.hero{padding:40px 0 8px;}
.kicker{color:var(--red);font-weight:700;font-size:14px;margin-bottom:14px;}
h1{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(38px,9vw,66px);line-height:.94;text-transform:uppercase;letter-spacing:.005em;}
.hero p{margin-top:18px;max-width:52ch;font-size:17px;}
.field{margin-top:26px;display:flex;gap:8px;}
.field input{flex:1;font-family:inherit;font-size:18px;font-weight:600;padding:16px;border:2px solid var(--ink);background:#fff;color:var(--ink);outline:none;min-width:0;}
.field input::placeholder{color:#9a958a;font-weight:500;}
.field input:focus{border-color:var(--red);}
.btn{font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;border:2px solid var(--ink);background:var(--ink);color:var(--paper);padding:0 20px;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;text-decoration:none;}
.btn:hover{background:var(--red);border-color:var(--red);}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper);}
.examples{margin-top:12px;font-size:13px;color:var(--ink-soft);}
.examples button{background:none;border:none;color:var(--red);font:inherit;font-weight:700;cursor:pointer;padding:0 2px;}
.msg{margin-top:16px;font-size:15px;font-weight:600;color:var(--red);}
.verdict{padding:6px 0;}
.verdict .lead{font-size:15px;font-weight:700;color:var(--ink-soft);}
.bignum{font-family:'Anton',sans-serif;color:var(--red);font-size:clamp(46px,13vw,92px);line-height:.9;margin:4px 0 6px;}
.verdict .say{font-size:18px;font-weight:600;max-width:44ch;}
.verdict .say b{color:var(--red);}
.context{margin-top:16px;background:var(--ink);color:var(--paper);padding:16px 18px;font-size:14px;}
.context b{color:#fff;} .context a{color:#f0b7ad;}
.sec{margin-top:30px;border-top:2px solid var(--ink);}
.sec h2{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:22px;padding:12px 0 4px;}
.sec .subhead{font-size:13px;color:var(--ink-soft);padding-bottom:8px;}
.row{padding:16px 0;border-bottom:1px solid var(--paper-line);}
.row .top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;}
.row .nm{font-size:17px;font-weight:700;}
.row .amt{font-variant-numeric:tabular-nums;font-weight:800;font-size:16px;white-space:nowrap;}
.row .op{font-size:14px;color:var(--ink-soft);margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.row .meta{font-size:13px;color:var(--ink-soft);margin-top:4px;}
.row .note{font-size:14px;margin-top:6px;max-width:60ch;}
.row a.src{color:var(--red);font-weight:600;font-size:13px;}
.flag{display:inline-block;font-size:11px;font-weight:800;padding:2px 7px;border-radius:2px;}
.flag.us{background:var(--red);color:#fff;} .flag.uk{background:var(--green-bg);color:var(--green);}
.dist{font-size:12px;color:var(--ink-soft);font-weight:600;}
.empty{padding:16px 0;font-size:15px;color:var(--ink-soft);}
.support{margin-top:30px;background:var(--ink);color:var(--paper);padding:26px 22px;}
.support h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,6vw,30px);line-height:1;}
.support p{margin:10px 0 18px;max-width:48ch;font-size:15px;color:#cfc9bd;}
.support .supbtns{display:flex;gap:8px;flex-wrap:wrap;}
.support .give{background:var(--red);color:#fff;border-color:var(--red);}
.support .give:hover{background:#fff;color:var(--ink);border-color:#fff;}
.support .btn.ghost{color:var(--paper);border-color:var(--paper);}
.support .btn.ghost:hover{background:var(--paper);color:var(--ink);}
.actions{margin-top:18px;}
details.disc{margin-top:30px;border:2px solid var(--ink);background:#fff;}
details.disc summary{cursor:pointer;font-weight:800;padding:14px 16px;list-style:none;display:flex;justify-content:space-between;align-items:center;}
details.disc summary::-webkit-details-marker{display:none;}
details.disc summary::after{content:"+";font-weight:800;}
details.disc[open] > summary::after{content:"–";}
details.disc .body{padding:0 16px 16px;font-size:14px;color:var(--ink);}
details.disc .body p{margin-top:10px;max-width:66ch;}
details.disc .body a{color:var(--red);}
.foot{margin-top:36px;border-top:2px solid var(--ink);padding-top:14px;font-size:13px;color:var(--ink-soft);}
.foot b{color:var(--ink);}
.hidden{display:none;}
@media (max-width:480px){.field{flex-direction:column;} .row .top{flex-direction:column;gap:2px;}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}

/* map */
#map{height:340px;margin-top:22px;border:2px solid var(--ink);background:#dcd9cf;}
.leaflet-container{font-family:'Inter',sans-serif;}
.leaflet-popup-content{font-size:13px;font-weight:600;}
/* tip CTA */
.tipcta{margin-top:26px;border:2px solid var(--ink);background:#fff;padding:18px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;}
.tipcta .tiptext{font-size:15px;max-width:44ch;}
.tipcta .btn{flex:none;}
@media (max-width:480px){.tipcta .btn{width:100%;}}
.flag.osm{background:#d8d4c6;color:#4a4638;}

/* Investigation views extend the existing newspaper-like Grid Watch theme. */
.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;}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px;}
.investigate-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:5px;color:var(--red-deep);font-size:1rem;font-weight:700;text-underline-offset:4px;}
.site-card .meta,.site-card .dist{font-size:.875rem;}
.investigation-header{padding:28px 0 20px;}
.investigation-header h1{font-size:clamp(2rem,7vw,3rem);line-height:1.12;overflow-wrap:anywhere;}
.investigation-header p{margin-top:12px;}
.investigation-header .kicker{font-size:.875rem;}
.evidence-profile{padding:16px 18px;border:1px solid var(--ink);border-left:5px solid var(--ink);background:#fff;}
.evidence-profile p{font-size:.875rem;margin-top:8px;}
.investigation-question{font-size:1.125rem;margin:26px 0 14px;}
.investigation-sections{display:grid;gap:12px;}
.investigation-section{border:1px solid var(--ink);background:#fff;min-width:0;}
.investigation-section>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;list-style:none;}
.investigation-section>summary::-webkit-details-marker{display:none;}
.investigation-section>summary::after{content:'+';font-size:1.5rem;font-weight:700;flex-shrink:0;}
.investigation-section[open]>summary::after{content:'−';}
.investigation-section>summary:hover{background:#f4f3ef;}
.section-title,.section-prompt,.section-availability{display:block;}
.section-title{font-weight:800;font-size:1.125rem;}
.section-prompt{font-size:1rem;margin-top:4px;}
.section-availability{font-size:.875rem;color:var(--ink-soft);margin-top:8px;}
.section-body{padding:0 18px 20px;border-top:1px solid var(--paper-line);overflow-wrap:anywhere;}
.section-body h3{font-size:1.125rem;margin-top:18px;}
.evidence-fields>div{padding:16px 0;border-bottom:1px solid var(--paper-line);}
.evidence-fields dt{font-size:1rem;font-weight:700;}
.evidence-fields dd{margin-top:6px;font-size:1rem;}
.evidence-value+.evidence-value{margin-top:14px;}
.missing,.evidence-note{color:var(--ink-soft);}
.evidence-note,.evidence-source{font-size:.875rem;margin-top:8px;}
.evidence-source a,.section-body a{color:var(--red-deep);text-underline-offset:3px;}
.section-limit,.context-separator{margin-top:20px;font-size:.875rem;}
.context-separator{padding-top:14px;border-top:2px solid var(--paper-line);}
.context-separator summary{cursor:pointer;font-weight:700;min-height:44px;}
.context-separator>p{margin-top:10px;}
.context-record{margin-top:18px;}
.context-record h4{font-size:1rem;}
.context-record p{margin-top:8px;}
.actions .btn{white-space:normal;text-align:left;}
@media(max-width:480px){.mast{flex-wrap:wrap;}.ribbon{white-space:normal;}.investigation-section>summary{padding:16px;}.section-body{padding:0 16px 18px;}}

/* Electricity controls extend the existing paper, ink and red theme. */
.electricity-switch{display:flex;gap:10px;align-items:center;font-weight:700;margin:18px 0;min-height:44px}
#electricity-filters{border:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:16px 0}
#electricity-filters legend{font-weight:700;margin-bottom:8px}
.electricity-filter{display:flex;gap:8px;align-items:center;border:1px solid var(--paper-line);padding:10px;cursor:pointer;font-size:14px}
.electricity-filter span{padding-left:8px}.electricity-filter small{display:block;font-size:14px}
#electricity-panel input{width:20px;height:20px;flex-shrink:0;accent-color:var(--red)}
#electricity-stage{font:inherit;max-width:100%;min-height:44px;padding:6px;border:1px solid var(--paper-line);background:white;color:var(--ink)}
#electricity-panel p{margin:12px 0}#electricity-list .row p{margin:8px 0;font-size:14px}
#electricity-list a,.leaflet-popup-content a{overflow-wrap:anywhere}
