
:root{--bg:#eef4ee;--card:#fff;--ink:#1b2620;--mut:#697a6f;--edge:#d8e5d9;
--leaf:#2f8f4e;--leaf2:#1f6d3a;--link:#2f6d8f;--ally:#1f7a3a;--opp:#c0392b;
--mix:#b07000;--np:#7c8a80;--warn:#b8860b}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);
font:14.5px/1.55 system-ui,Segoe UI,Helvetica,Arial,sans-serif}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
h1{margin:0;font-size:1.2rem}
h2{margin:.1rem 0 .5rem;font-size:1.02rem;color:var(--leaf2);font-weight:800}
h3{margin:.6rem 0 .3rem;font-size:.9rem;font-weight:700}
.app{display:flex;flex-direction:column;min-height:100vh}
.top{display:flex;align-items:center;gap:1.1rem;padding:.55rem 1.3rem;
border-bottom:1px solid var(--edge);background:linear-gradient(#ffffff,#eef6ef);
position:sticky;top:0;z-index:5;flex-wrap:wrap}
.logo{height:38px;width:auto}
.sub{color:var(--mut);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.nav{margin-left:auto;display:flex;gap:.15rem;flex-wrap:wrap}
.nav a{color:var(--mut);padding:.3rem .6rem;border-radius:7px;font-size:.82rem;font-weight:600}
.nav a:hover{background:#e0efe2;color:var(--ink);text-decoration:none}
.nav a.active{background:#d6ecd9;color:var(--leaf2)}
.cockpit{flex:1;display:grid;grid-template-columns:16rem 1fr 19rem;gap:1rem;
padding:1rem 1.3rem;min-height:0;max-width:1400px;margin:0 auto;width:100%}
.detail{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:1.3rem}
.rail{display:flex;flex-direction:column;gap:1rem}
@media(max-width:1080px){.cockpit{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--edge);border-radius:12px;
padding:.9rem 1.05rem;box-shadow:0 1px 3px rgba(30,60,30,.05);margin-bottom:1rem}
.panel.leaf{border-top:3px solid var(--leaf)}
.hero{background:linear-gradient(120deg,#f4fbf5,#e7f4ea);border:1px solid var(--edge);
border-left:5px solid var(--leaf);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1rem}
.section{color:var(--leaf2);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin:.1rem 0 .4rem}
.cards{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0}
.card{flex:1;min-width:7rem;background:#f6fbf6;border:1px solid var(--edge);border-radius:10px;padding:.55rem .75rem}
.card .k{color:var(--mut);font-size:.66rem;text-transform:uppercase;letter-spacing:.03em}
.card .v{font-size:1.5rem;font-weight:800;line-height:1.1;margin:.05rem 0;color:var(--leaf2)}
.card .s{color:var(--mut);font-size:.68rem}
.badge{display:inline-block;padding:.05rem .5rem;border-radius:999px;font-size:.66rem;
font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.b-ally{background:#e0f0e2;color:var(--ally)}.b-opposition{background:#f7d9dc;color:var(--opp)}
.b-mixed{background:#fbeed4;color:var(--mix)}.b-nonpartisan{background:#e9eeea;color:var(--np)}
.dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;margin-right:.35rem}
.d-ally{background:var(--ally)}.d-opposition{background:var(--opp)}
.d-mixed{background:var(--mix)}.d-nonpartisan{background:var(--np)}
.hlist{list-style:none;margin:.2rem 0;padding:0}
.hlist li{padding:.2rem 0;border-bottom:1px solid var(--edge);font-size:.85rem}
.hlist .lvl{color:var(--leaf2);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}
.hlist .num{color:var(--mut);font-size:.75rem;font-variant-numeric:tabular-nums}
.wtag{color:var(--leaf2);font-weight:700;font-size:.72rem}
.callnow{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;background:#f4fbf5;
border:1px solid var(--edge);border-left:4px solid var(--leaf);border-radius:8px;padding:.5rem .7rem;margin:.4rem 0}
.callnow .no{font-size:1.15rem;font-weight:800;color:var(--leaf2);font-variant-numeric:tabular-nums}
.callnow .wh{font-size:.75rem;color:var(--mut)}
.repcard{scroll-margin-top:70px}
.rephead{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.rephead .who{font-size:1.05rem;font-weight:800}
.rephead .off{color:var(--mut);font-size:.85rem}
.muted{color:var(--mut)}.small{font-size:.8rem}
.levers{font-size:.83rem;background:#f7faf7;border-left:3px solid var(--edge);padding:.4rem .6rem;margin:.4rem 0}
details.script{border:1px solid var(--edge);border-radius:8px;margin:.4rem 0;background:#fff}
details.script>summary{cursor:pointer;padding:.5rem .7rem;font-weight:700;font-size:.86rem;list-style:none}
details.script>summary::-webkit-details-marker{display:none}
details.script>summary:before{content:"▸ ";color:var(--leaf)}
details.script[open]>summary:before{content:"▾ "}
.scriptbody{padding:.2rem .8rem .7rem}
.dlabel{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
color:var(--leaf2);margin:.6rem 0 .2rem}
.scriptbody .txt{white-space:pre-wrap;background:#f6fbf6;border:1px solid var(--edge);
border-radius:8px;padding:.7rem .8rem;font-size:.9rem;line-height:1.6}
.subject{font-size:.85rem;margin:.3rem 0}.subject b{color:var(--leaf2)}
.copy{margin-top:.4rem;font-size:.75rem;padding:.25rem .6rem;border:1px solid var(--edge);
background:#fff;border-radius:6px;cursor:pointer;color:var(--leaf2);font-weight:700}
.copy:hover{background:#eef6ef}
.mailrow{display:flex;gap:.4rem;flex-wrap:wrap;margin:.3rem 0}
.mailbtn{font-size:.75rem;font-weight:700;padding:.28rem .6rem;border-radius:6px;
border:1px solid var(--edge);background:#f4fbf5;color:var(--leaf2)}
.mailbtn:hover{background:#e3f3e6;text-decoration:none}
.ask{font-size:.85rem;padding:.25rem 0;border-bottom:1px dashed var(--edge)}
.tag{font-size:.62rem;font-weight:700;padding:.05rem .4rem;border-radius:999px;background:#e5efe6;color:var(--leaf2)}
.feeditem{font-size:.82rem;padding:.28rem 0;border-bottom:1px solid var(--edge)}
.feeditem .date{color:var(--mut);font-size:.7rem}
footer{max-width:1400px;margin:1rem auto;padding:.8rem 1.3rem;border-top:1px solid var(--edge);
color:var(--mut);font-size:.78rem}
.warn{background:#fdf6e3;border-left:4px solid var(--warn);padding:.4rem .7rem;border-radius:6px;font-size:.8rem}
