:root{--navy:#071321;--navy2:#0d2032;--panel:#10283c;--gold:#d1ad55;--cream:#f3efe5;--muted:#9eb1c1;--line:#28455c;--green:#3c9b63;--lime:#7cad62;--yellow:#d2b852;--orange:#d47b3f;--red:#b84c45;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#06101b,#0a1a29 45%,#071321);color:var(--cream);font-family:Arial,Helvetica,sans-serif}.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px clamp(18px,4vw,64px);border-bottom:1px solid var(--gold);background:#07111c;position:sticky;top:0;z-index:20}.brand{display:flex;gap:12px;align-items:center;color:white;text-decoration:none}.brand strong{display:block;font-family:Georgia,serif;font-size:1.12rem}.brand small{display:block;color:var(--gold);font-size:.66rem;letter-spacing:.1em}.quill{color:var(--gold)}nav{display:flex;flex-wrap:wrap;gap:20px}nav a{color:#dce5eb;text-decoration:none;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}nav a.active{color:var(--gold)}main{max-width:1500px;margin:auto;padding:0 clamp(16px,3vw,48px) 70px}.index-hero{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:58px 0 28px}.eyebrow,.panel-label{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.16em}.title-line{display:flex;align-items:center;gap:15px}.title-line h1{font:700 clamp(2rem,5vw,4.4rem)/.98 Georgia,serif;margin:8px 0}.live-badge{background:var(--green);padding:6px 10px;border-radius:4px;font-size:.66rem;font-weight:800}.subhead{font:italic clamp(1rem,2vw,1.45rem) Georgia,serif;color:#d6be78}.update-card{width:270px;padding:18px;border:1px solid var(--line);background:#0d2132}.update-card span,.update-card small{display:block;color:var(--muted);font-size:.75rem}.update-card strong{display:block;color:var(--gold);font:700 1.5rem Georgia,serif;margin:6px 0}.mission-strip{display:flex;justify-content:space-between;gap:20px;padding:18px 22px;background:#102538;border-left:4px solid var(--gold);margin-bottom:22px}.mission-strip p{margin:0}.mission-strip a{color:var(--gold)}.control-bar{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;gap:14px;align-items:end;padding:18px;background:#0a1b2a;border:1px solid var(--line);margin-bottom:24px}.control-bar label,.ranking-controls label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.control-bar select,.ranking-controls input{display:block;width:100%;margin-top:7px;padding:11px;background:#10283a;color:white;border:1px solid #36566e;border-radius:3px}.outline-button,.gold-button{border:1px solid var(--gold);padding:11px 16px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.outline-button{background:transparent;color:var(--gold)}.gold-button{background:var(--gold);color:#071321}.section-heading{max-width:900px;margin:0 auto 24px;text-align:center}.section-heading.compact{margin-bottom:18px}.section-heading h2{font:700 clamp(1.6rem,3vw,2.5rem) Georgia,serif;margin:6px}.section-heading p{color:#bfd0dd}.report-card-view{padding:28px 0 45px}.report-card-frame{margin:0;border:1px solid var(--line);background:#02070c;padding:10px}.report-card-frame img{display:block;width:100%;height:auto}.report-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:18px}.map-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 330px;gap:18px;align-items:stretch}.legend-panel,.state-panel,.map-card{background:#0c2031;border:1px solid var(--line);margin:0}.legend-panel,.state-panel{padding:20px}.legend{list-style:none;padding:0;margin:16px 0}.legend li{display:grid;grid-template-columns:18px 25px 1fr;gap:8px;align-items:center;margin:10px 0}.legend i{width:16px;height:16px;border-radius:50%}.legend i.a{background:var(--green)}.legend i.b{background:var(--lime)}.legend i.c{background:var(--yellow)}.legend i.d{background:var(--orange)}.legend i.f{background:var(--red)}.legend small,.legend-note,.state-meta{color:var(--muted);font-size:.75rem}.national-summary{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.national-summary span,.national-summary small{display:block;color:var(--muted)}.national-summary strong{font:700 2rem Georgia,serif;color:var(--gold)}.map-card{padding:10px;position:relative}.map-card svg{display:block;width:100%;height:auto;background:#091826}.map-status{position:absolute;inset:45% 12%;text-align:center;color:var(--muted);z-index:3}.state-shape{stroke:#071321;stroke-width:1.2;cursor:pointer;transition:opacity .15s,stroke-width .15s}.state-shape:hover,.state-shape.selected{stroke:#fff;stroke-width:3}.map-card figcaption{padding:12px 4px 3px;color:#bfd0dd;font-size:.83rem}.state-panel h2{font:700 1.8rem Georgia,serif;margin:8px 0 15px}.state-score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.state-score-row div{background:#081824;border:1px solid var(--line);padding:10px;text-align:center}.state-score-row span{display:block;color:var(--muted);font-size:.65rem}.state-score-row strong{font-size:1.2rem;color:var(--gold)}.pillar-bars{margin:18px 0}.bar-row{display:grid;grid-template-columns:112px 1fr 34px;gap:8px;align-items:center;margin:8px 0;font-size:.75rem}.bar-track{height:9px;background:#06121c;border-radius:10px;overflow:hidden}.bar-fill{height:100%;background:var(--gold)}.state-meta{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px}.trend-mini h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}#trendChart{width:100%;height:auto;background:#081824}.trend-line{fill:none;stroke:var(--gold);stroke-width:3}.trend-dot{fill:#fff}.ranking-section{padding:46px 0}.ranking-controls{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}.ranking-controls label{min-width:260px}.table-wrap{overflow-x:auto;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:1080px;background:#091a28}th,td{padding:10px 9px;border-bottom:1px solid #20394d;text-align:right;font-size:.78rem}th{position:sticky;top:0;background:#10283a;color:var(--gold);text-transform:uppercase;font-size:.67rem}th:nth-child(2),td:nth-child(2),th:last-child,td:last-child{text-align:left}tbody tr{cursor:pointer}tbody tr:hover{background:#112c42}.grade-chip{display:inline-block;min-width:30px;text-align:center;padding:4px 7px;border-radius:3px;font-weight:800;color:#08121b}.proof-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:30px 0}.proof-grid article{border:1px solid var(--line);background:#0b2030;padding:18px;text-align:center}.proof-grid strong{display:block;font:700 2rem Georgia,serif;color:var(--gold)}.proof-grid span{font-size:.75rem;color:var(--muted)}.methodology-section{display:grid;grid-template-columns:1.3fr .8fr;gap:25px;padding:48px 0}.method-copy,.status-table{padding:26px;background:#0b2030;border:1px solid var(--line)}.method-copy h2{font:700 2rem Georgia,serif}.method-copy p,.method-copy blockquote{color:#bfd0dd;line-height:1.65}.method-copy blockquote{border-left:3px solid var(--gold);margin:22px 0;padding-left:18px}.method-actions{display:flex;gap:12px;flex-wrap:wrap}.status-table h3{font-family:Georgia,serif;color:var(--gold)}.status-table dl div{padding:12px 0;border-bottom:1px solid var(--line)}.status-table dt{font-weight:800}.status-table dd{margin:4px 0 0;color:var(--muted);font-size:.83rem}.method-dialog{max-width:760px;width:calc(100% - 30px);background:#0b2030;color:white;border:1px solid var(--gold);padding:30px}.method-dialog::backdrop{background:rgba(0,0,0,.8)}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;color:white;font-size:2rem}.formula{padding:16px;background:#061521;border:1px solid var(--line);color:var(--gold);font-family:monospace;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;gap:20px;padding:25px clamp(20px,4vw,60px);border-top:1px solid var(--gold);background:#050d15;color:var(--muted)}footer a{color:var(--gold)}
@media(max-width:1050px){.map-layout{grid-template-columns:190px 1fr}.state-panel{grid-column:1/-1}.control-bar{grid-template-columns:repeat(2,1fr)}.proof-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.site-header,.index-hero,.mission-strip,footer{flex-direction:column;align-items:flex-start}.site-header{position:static}.update-card{width:100%}.control-bar,.map-layout,.methodology-section{grid-template-columns:1fr}.proof-grid{grid-template-columns:repeat(2,1fr)}.ranking-controls{align-items:stretch;flex-direction:column}.ranking-controls label{min-width:0}.state-score-row{grid-template-columns:1fr}.title-line{align-items:flex-start;flex-direction:column}.control-bar button{width:100%}}

/* PTPAI v1.1 — report-card landing + one-click historical map timeline */
body{background:#000}
main{background:#071321}
.landing-cover{min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;background:#000;margin:0 calc(-1 * clamp(16px,3vw,48px));padding:24px clamp(16px,3vw,48px) 34px}
.landing-report-card{max-width:1240px;width:100%;margin:0 auto;background:#000;border-color:#1d2d39}
.landing-actions{margin-top:20px}
.index-mission{margin-top:28px}
.compact-controls{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}
.map-2026-image{display:block;width:100%;height:auto;background:#091826}
.year-timeline{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:14px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
.year-timeline button{min-width:0;padding:10px 4px;border:1px solid var(--line);background:#0b1e2e;color:var(--cream);cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s}
.year-timeline button:hover{border-color:var(--gold)}
.year-timeline button.active{background:var(--gold);border-color:var(--gold);color:#071321}
.year-timeline strong,.year-timeline span{display:block}
.year-timeline strong{font:700 1rem Georgia,serif}
.year-timeline span{margin-top:4px;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.understand-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:10px}
.understand-buttons .outline-button{font-size:.68rem;padding:9px 8px}
.live-2026-notice{margin:34px auto 12px;max-width:900px;padding:26px;border:1px solid var(--line);background:#0b2030;text-align:center}
.live-2026-notice h2{font:700 1.7rem Georgia,serif;margin:8px 0}
.live-2026-notice p{color:#bfd0dd;line-height:1.55}
.live-state-note{color:var(--muted);font-size:.8rem;line-height:1.5;margin:12px 0}
.explainer-dialog p{line-height:1.65;color:#d7e1e8}
.control-bar select:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:980px){.year-timeline{grid-template-columns:repeat(4,1fr)}.compact-controls{grid-template-columns:1fr 1fr}.compact-controls button{grid-column:1/-1}}
@media(max-width:620px){.year-timeline{grid-template-columns:repeat(2,1fr)}.understand-buttons{grid-template-columns:1fr}.compact-controls{grid-template-columns:1fr}.landing-cover{min-height:auto}}

/* v1.1.1 FIX — honor the HTML hidden attribute.
   Without this, the 2026 raster map remained visible over the historical SVG,
   so year-button clicks updated the data/caption but appeared not to change the map. */
[hidden]{display:none !important;}
.map-2026-image[hidden]{display:none !important;}
