/* Georgia Power Outage Tracker — outages.riktom.com */
:root{
  --green:#1b5e20; --green-d:#134018; --mint:#a5d6a7; --mint-l:#e8f5e9;
  --bg:#f4f7f4; --card:#ffffff; --ink:#1f2a24; --muted:#5f7268; --line:#e2ebe4;
  --ok:#2e7d32; --low:#7cb342; --mod:#f5a623; --high:#ef6c00; --severe:#d32f2f;
  --shadow:0 2px 10px rgba(20,60,30,.07);
  --radius:14px;
}
*{box-sizing:border-box;}
[hidden]{display:none!important;} /* keep hidden winning over .fallback{display:flex} etc. */
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  line-height:1.5;-webkit-font-smoothing:antialiased;
}
main{max-width:1080px;margin:0 auto;padding:0 1rem 2.5rem;}
a{color:var(--green);}
h2.sec-h{font-size:1.5rem;margin:2.2rem 0 .3rem;letter-spacing:-.01em;}
.sec-note{color:var(--muted);margin:.1rem 0 1rem;font-size:.95rem;}

/* hero */
.hero{text-align:center;padding:2rem 1rem 1.2rem;}
.hero h1{font-size:2.15rem;margin:.2rem 0 .5rem;letter-spacing:-.02em;line-height:1.12;}
.hero .bolt{color:var(--mod);}
.hero .sub{max-width:640px;margin:0 auto;color:var(--muted);font-size:1.05rem;}
.statusbar{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:1rem;}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:999px;font-size:.9rem;font-weight:700;border:1px solid transparent;}
.pill-load{background:#eef3ef;color:var(--muted);}
.pill-ok{background:#e8f5e9;color:var(--ok);border-color:#c3e6c9;}
.pill-active{background:#fff3e0;color:var(--high);border-color:#ffcc9a;}
.pill-warn{background:#fdecea;color:var(--severe);border-color:#f5c2bd;}
.pill-time{font-weight:500;opacity:.85;}
.refresh{background:#fff;border:1px solid var(--line);color:var(--green);border-radius:999px;padding:.4rem .8rem;font-weight:600;font-size:.85rem;cursor:pointer;}
.refresh:hover{background:var(--mint-l);}

/* statewide banner */
.statewide{border-radius:var(--radius);padding:1.1rem 1.3rem;margin:.5rem 0 1.4rem;box-shadow:var(--shadow);text-align:center;}
.sw-clear{background:linear-gradient(135deg,#e8f5e9,#f1f8f2);border:1px solid #c3e6c9;}
.sw-active{background:linear-gradient(135deg,#fff3e0,#fff8ef);border:1px solid #ffcc9a;}
.sw-big{font-size:2.4rem;font-weight:900;line-height:1;letter-spacing:-.02em;}
.sw-clear .sw-big{color:var(--ok);}
.sw-active .sw-big{color:var(--high);}
.sw-txt{color:var(--muted);margin-top:.3rem;font-weight:600;}

/* fallback notice */
.fallback{display:flex;gap:.8rem;align-items:flex-start;background:#fdf6ec;border:1px solid #f0d9a8;border-radius:var(--radius);padding:1rem 1.2rem;margin:.5rem 0 1.4rem;}
.fallback .fb-ico{font-size:1.5rem;line-height:1;}

/* county grid */
.county-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;}
.cc{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:12px;padding:.75rem .85rem;box-shadow:var(--shadow);}
.cc-big{grid-column:span 2;padding:1rem 1.1rem;}
.cc-name{font-weight:700;font-size:.92rem;color:var(--ink);}
.cc-big .cc-name{font-size:1.05rem;}
.cc-num{font-size:1.8rem;font-weight:900;line-height:1.05;margin:.15rem 0 0;letter-spacing:-.02em;}
.cc-big .cc-num{font-size:2.6rem;}
.cc-lbl{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;}
.cc-sub{font-size:.8rem;color:var(--muted);margin-top:.35rem;}
.cc-pct{display:inline-block;margin-top:.35rem;font-size:.74rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;background:#f0f4f1;color:var(--muted);}
.sev-clear{border-left-color:var(--ok);} .sev-clear .cc-num{color:var(--ok);}
.sev-low{border-left-color:var(--low);} .sev-low .cc-num{color:#558b2f;}
.sev-mod{border-left-color:var(--mod);} .sev-mod .cc-num{color:#c77c00;} .sev-mod .cc-pct{background:#fff3e0;color:var(--high);}
.sev-high{border-left-color:var(--high);} .sev-high .cc-num{color:var(--high);} .sev-high .cc-pct{background:#ffe6d3;color:var(--high);}
.sev-severe{border-left-color:var(--severe);} .sev-severe .cc-num{color:var(--severe);} .sev-severe .cc-pct{background:#fdecea;color:var(--severe);}

/* hardest hit */
.hardest{margin:1.3rem 0 .3rem;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);}
.hardest summary{cursor:pointer;padding:.85rem 1.1rem;font-weight:700;list-style:none;}
.hardest summary::-webkit-details-marker{display:none;}
.hardest summary::before{content:"\25B8";display:inline-block;margin-right:.5rem;transition:transform .2s;color:var(--green);}
.hardest[open] summary::before{transform:rotate(90deg);}
.hh-count{color:var(--muted);font-weight:500;}
.hardest-list{padding:.2rem .6rem .7rem;}
.hh-row{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem;border-radius:8px;border-left:4px solid var(--line);}
.hh-row + .hh-row{margin-top:.25rem;}
.hh-name{font-weight:700;flex:1;}
.hh-num{font-variant-numeric:tabular-nums;font-weight:700;}
.hh-pct{color:var(--muted);font-size:.85rem;min-width:52px;text-align:right;}
.attrib{font-size:.8rem;color:var(--muted);margin-top:1rem;line-height:1.5;}

/* providers */
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem;}
.prov{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.prov-feat{border-color:#bfe0c6;box-shadow:0 3px 14px rgba(27,94,32,.1);}
.prov-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;}
.prov-emoji{font-size:1.5rem;}
.prov-name{font-weight:800;font-size:1.02rem;}
.prov-kind{font-size:.78rem;color:var(--muted);}
.prov-area{font-size:.82rem;color:var(--muted);margin-bottom:.7rem;min-height:2.4em;}
.prov-call{display:block;text-align:center;background:var(--green);color:#fff;font-weight:800;font-size:1.05rem;padding:.6rem;border-radius:10px;text-decoration:none;letter-spacing:.01em;}
.prov-call:hover{background:var(--green-d);}
.prov-extra{text-align:center;font-size:.78rem;color:var(--muted);margin-top:.3rem;}
.prov-map{display:block;text-align:center;margin-top:.6rem;font-size:.85rem;font-weight:600;text-decoration:none;}
.prov-map:hover{text-decoration:underline;}
.prov-more{color:var(--muted);font-size:.9rem;margin-top:1rem;}

/* safety */
.safety-grid,.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;}
.safe-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);}
.safe-ico{font-size:1.6rem;}
.safe-card h3{margin:.4rem 0 .3rem;font-size:1.02rem;}
.safe-card p{margin:0;font-size:.88rem;color:#3c4a42;}

/* faq */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:.55rem;box-shadow:var(--shadow);}
.faq summary{cursor:pointer;padding:.85rem 1.1rem;font-weight:700;list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";float:right;color:var(--green);font-weight:800;}
.faq details[open] summary::after{content:"\2013";}
.faq details p{margin:0;padding:0 1.1rem 1rem;color:#3c4a42;font-size:.92rem;}

/* more tools */
.more-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);font-weight:700;display:flex;flex-direction:column;gap:.15rem;transition:transform .12s,box-shadow .12s;}
.more-card span{font-size:1.5rem;}
.more-card small{font-weight:500;color:var(--muted);font-size:.8rem;}
.more-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(20,60,30,.12);}

/* footer */
footer{background:var(--green);color:#d7ecdb;text-align:center;padding:1.6rem 1rem;margin-top:2rem;}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;margin-bottom:.7rem;}
.footer-links a{color:#c8e6c9;text-decoration:none;font-size:.9rem;}
.footer-links a:hover{color:#fff;text-decoration:underline;}
footer .tagline{margin:0 0 .5rem;font-weight:700;letter-spacing:.03em;color:#fff;}
footer .disclaim{max-width:720px;margin:.4rem auto;font-size:.74rem;color:#a7c7ad;line-height:1.5;}
footer p{margin:.2rem 0;font-size:.85rem;}

@media (max-width:560px){
  .hero h1{font-size:1.7rem;}
  .cc-big{grid-column:span 2;}
  .county-grid{grid-template-columns:repeat(2,1fr);}
  .cc-big .cc-num{font-size:2.2rem;}
}
