:root{
  --nav:var(--hu-navy-deep,#071936);--nav2:var(--hu-navy,#0b2852);--ink:#10243d;--text:#2c4057;--muted:#6c7f91;
  --line:#d9e4ef;--bg:#edf3f9;--card:#fff;--blue:var(--hu-accent,#1888ff);--cyan:#17c8e5;--green:#1dd875;
  --amber:#c17a0b;--soft:#f6f9fc;--danger:#9a4b26
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
button,select,input{font:inherit}
.top{height:76px;background:#fff;display:flex;align-items:center;padding:8px 18px;gap:16px;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(11,31,57,.05)}
.brand{display:flex;align-items:center;min-width:0}
.brand img{display:block;width:min(440px,58vw);height:58px;object-fit:contain;object-position:left center}
.top-actions{margin-left:auto;display:flex;gap:8px}
.ghost{color:#173b61;border:1px solid #cfddea;background:#f7fbff;border-radius:999px;padding:8px 13px;text-decoration:none;font-weight:800;font-size:.8rem;cursor:pointer}.ghost:hover{background:#edf6ff;border-color:#9fc5e8}
.intro{background:linear-gradient(105deg,var(--nav),#0c315e);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;padding:28px max(18px,calc((100vw - 1240px)/2)) 34px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:900;color:#6fe9ff}
.intro h1{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.06;letter-spacing:-.035em;margin:5px 0 8px}
.intro p{margin:0;max-width:62ch;color:#c9ddf2}
.truth{align-self:center;border:1px solid rgba(118,224,255,.26);background:rgba(7,20,44,.36);border-radius:15px;padding:13px 15px}
.truth b,.truth span{display:block}.truth b{color:#fff;font-size:.85rem}.truth span{margin-top:3px;color:#bdd2e7;font-size:.78rem;line-height:1.45}
.tabs{max-width:1240px;margin:-16px auto 0;padding:0 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative;z-index:5}
.tab{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:13px;padding:12px 14px;font-weight:900;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(15,34,58,.07)}
.tab span{color:#91a7bd;font-size:.68rem;margin-right:8px}.tab.active{border-color:var(--hu-accent,#62aef5);box-shadow:0 6px 18px rgba(232,89,12,.15);color:var(--hu-accent-deep,#0966bc)}.tab.active span{color:#17a6d9}
.controls{max-width:1240px;margin:12px auto;padding:0 16px;display:flex;align-items:end;gap:10px}
.field{display:grid;gap:4px;min-width:190px}.field span{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--muted)}
.field select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 11px;color:var(--ink);font-weight:700}
.map-key{margin-left:auto;color:var(--muted);font-size:.76rem;max-width:520px;text-align:right}
.workspace{max-width:1240px;margin:0 auto 18px;padding:0 16px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.8fr);gap:12px;align-items:stretch}
.map-wrap{position:relative;border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden;min-height:690px;box-shadow:0 8px 26px rgba(18,42,72,.08)}
#map{height:650px;width:100%;background:#dfe8f1}
.map-caption{border-top:1px solid var(--line);padding:10px 13px;color:var(--muted);font-size:.73rem;background:#fbfdff}
.panel{border:1px solid var(--line);border-radius:17px;background:#fff;padding:17px;min-height:690px;box-shadow:0 8px 26px rgba(18,42,72,.08);overflow:auto}
.panel h2{font-size:1.35rem;letter-spacing:-.025em;color:var(--ink);margin:0 0 3px}.panel h3{font-size:.94rem;color:var(--ink);margin:18px 0 8px}.panel p{margin:6px 0}
.fsa-title{display:flex;align-items:center;gap:8px}.fsa-code{font-size:1.8rem;font-weight:950;color:var(--ink);letter-spacing:-.04em}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.67rem;font-weight:900;background:#eaf4ff;color:#1266a6}
.badge.mixed{background:#f1f4f7;color:#66798b}.badge.source{background:#e9faf1;color:#20724b}.badge.trade{background:#fff3dc;color:#8a5d0b}
.subtle{color:var(--muted);font-size:.79rem}
.band-list{display:grid;gap:5px;margin-top:10px}.band-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}.band-name{font-size:.78rem;color:#455b71}.band-pct{text-align:right;font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:800;color:var(--ink)}
.track{height:7px;background:#edf2f6;border-radius:99px;overflow:hidden;grid-column:1/2}.fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#1888ff,#1dd875)}
.card{border:1px solid var(--line);border-radius:13px;padding:12px 13px;margin:8px 0;background:#fff}.card strong{display:block;color:var(--ink);font-size:.88rem}.card p{font-size:.79rem;line-height:1.48}.card .action{color:#7d540d;font-weight:750}.card a{font-size:.74rem;color:#1269b0;font-weight:750}
.card.highlight{background:#f7fbff;border-color:#bfdcf7}.card.safe{background:#f7fdf9;border-color:#ccebd8}.card.note{background:#fffaf0;border-color:#ead8aa}
.kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}.kpi>div{background:#f6f9fc;border:1px solid #e1eaf2;border-radius:11px;padding:9px}.kpi b{display:block;color:var(--ink);font-size:1.05rem}.kpi span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;font-weight:850}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.form-grid .wide{grid-column:1/-1}.form-grid label{font-size:.69rem;color:var(--muted);font-weight:850}.form-grid input,.form-grid select{width:100%;display:block;margin-top:3px;border:1px solid var(--line);border-radius:9px;padding:8px;background:#fff;color:var(--ink)}
.btn{border:0;border-radius:10px;background:#0e6fc9;color:#fff;font-weight:900;padding:9px 12px;cursor:pointer}.btn.secondary{background:#edf4fb;color:#175f98;border:1px solid #cbddeb}.btn.small{font-size:.75rem;padding:7px 10px}
.row-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.countdown{border-radius:12px;background:linear-gradient(120deg,#0b3767,#0b7a96);color:#fff;padding:12px 13px;margin:10px 0}.countdown b{display:block;font-size:1.15rem}.countdown span{display:block;color:#c8ebf1;font-size:.74rem;margin-top:2px}
.history{display:grid;gap:6px;margin-top:8px}.event{border-left:3px solid #7baed6;background:#f7fafc;padding:8px 10px;border-radius:0 9px 9px 0}.event b{font-size:.78rem;color:var(--ink)}.event span{display:block;font-size:.72rem;color:var(--muted)}
.notice{border:1px solid #d9e6f1;background:#f7fafc;border-radius:11px;padding:10px 11px;font-size:.76rem;color:#5b7083;margin:9px 0}
.source-list{font-size:.72rem;color:var(--muted);padding-left:18px}.source-list li{margin:5px 0}.source-list a{color:#1269b0}
.method{max-width:1240px;margin:0 auto;padding:0 16px 35px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.method details{background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 13px}.method summary{cursor:pointer;font-weight:850;color:var(--ink);font-size:.82rem}.method p{font-size:.76rem;color:var(--muted);margin:8px 0 2px}
footer{padding:22px 16px 38px;text-align:center;font-size:.74rem;color:var(--muted)}footer a{color:#54718b;text-decoration:none;margin:0 6px}
.fsa-label{background:transparent;border:0;box-shadow:none;color:#10243d;font-weight:950;font-size:11px;text-shadow:0 1px 2px #fff,0 0 3px #fff;text-align:center;pointer-events:none}
.leaflet-tooltip.homeage-tip{border:0;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.18);font-weight:800;color:#17324c}
.legend{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:3px}.legend span{white-space:nowrap}
@media(max-width:860px){
  .intro{grid-template-columns:1fr}.truth{max-width:none}.workspace{grid-template-columns:1fr}.map-wrap{min-height:500px}.panel{min-height:auto}#map{height:480px}.tabs{grid-template-columns:1fr 1fr}.controls{align-items:stretch;flex-wrap:wrap}.map-key{width:100%;margin:0;text-align:left}.method{grid-template-columns:1fr}
}
@media(max-width:520px){
  .top{height:66px;padding:6px 10px}.brand img{width:70vw;height:50px}.top-actions .ghost:first-child{display:none!important}.intro{padding:20px 14px 28px}.tabs{padding:0 10px;margin-top:-12px;gap:6px}.tab{padding:10px 9px;font-size:.82rem}.tab span{display:none}.controls{padding:0 10px}.field{min-width:100%;width:100%}.workspace{padding:0 10px}.map-wrap{border-radius:13px}#map{height:55vh;min-height:370px}.panel{border-radius:13px;padding:14px}.form-grid{grid-template-columns:1fr}.method{padding:0 10px 28px}
}