/* Local, metric-compatible Arial/Times faces keep preview typography stable. */
@font-face{font-family:"BSHL UI";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/arimo-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"BSHL UI";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/arimo-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"BSHL Text";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/tinos-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"BSHL Text";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/tinos-latin-700-normal.woff2") format("woff2");}
/* Scoped baseline: theme / page-builder rules must not restyle this widget.
   Keep the server-rendered markup accessible and searchable in the page. */
#hlc {
  all:revert;
  --ink:#151515; --ink2:#2b2b2b; --muted:#4d4d4d;
  --rule:#d2d2d2; --rule2:#b9b9b9; --paper:#ffffff; --soft:#f6f7f7;
  --pt:#0b4a7d; --pt-lt:#eaf2fa; --pt-bd:#5a8fc0;
  --grn:#14522a; --grn-lt:#eaf5ee; --grn-bd:#3a8a5a;
  --amb:#6b3300; --amb-lt:#fdf3e4; --amb-bd:#b8792f;
  --rd:#8a1414; --rd-lt:#fdf0f0; --rd-bd:#c46060;
  --pur:#3a1670; --pur-lt:#f3eeff; --pur-bd:#7a55c2;
  --sl:#263240; --sl-lt:#edf1f6; --sl-bd:#5e7e9e;
  --board:#12201f; --led:#ffb627; --led-dim:#cfe3e0;
  --serif:'BSHL Text','Times New Roman',Times,'Liberation Serif',serif;
  --ui:'BSHL UI',Arial,Helvetica,'Liberation Sans',sans-serif;
  display:block; width:100%; min-width:0; max-width:780px; margin:14px auto; background:var(--paper); color:var(--ink);
  font-family:var(--serif); font-size:19px; line-height:1.95;
  border:1px solid var(--rule2); border-radius:10px; overflow:hidden; box-sizing:border-box;
  text-align:left; font-weight:400; font-style:normal; letter-spacing:normal; text-transform:none;
  color-scheme:light; isolation:isolate; container:bshl / inline-size;
}
#hlc :where(div,span,p,h1,h2,h3,h4,b,strong,i,a,button,input,select,option,form,label,ul,ol,li,nav,figure,figcaption,table,thead,tbody,tr,th,td,iframe,details,summary){
  all:revert;
  box-sizing:border-box; margin:0; padding:0; min-width:0;
  font:inherit; color:inherit; letter-spacing:inherit; text-transform:none; text-align:inherit;
}
#hlc *,#hlc *::before,#hlc *::after{box-sizing:border-box;margin:0;padding:0;}
#hlc *::before,#hlc *::after{content:none;}
#hlc b,#hlc strong{font-weight:700;}
#hlc h1,#hlc h2,#hlc h3,#hlc h4{font-family:var(--serif);}
#hlc button,#hlc input,#hlc select{appearance:none;-webkit-appearance:none;box-shadow:none;text-shadow:none;float:none;}
#hlc button{width:auto;height:auto;max-width:100%;white-space:normal;}
#hlc input::placeholder{color:#757575;opacity:1;}
#hlc ul,#hlc ol{list-style:none;}
#hlc li::marker{content:"";}
#hlc table{table-layout:auto;border:0;border-spacing:0;margin:0;}
#hlc th,#hlc td{border:0;}
#hlc svg{display:block;max-width:100%;box-shadow:none;border:0;}
/* WordPress can replace Unicode emoji with inline images. Keep their text size. */
#hlc img.emoji,#hlc img.wp-smiley{display:inline!important;width:1em!important;height:1em!important;max-width:none!important;margin:0 .07em!important;padding:0!important;border:0!important;vertical-align:-.1em!important;background:none!important;box-shadow:none!important;}
#hlc strong{color:var(--ink);}
#hlc a{color:var(--pt);font-weight:700;}
#hlc :focus-visible{outline:3px solid var(--led);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){#hlc *{transition:none!important;animation:none!important;}}

/* HEADER */
#hlc .hd{padding:32px 14px 26px;border-bottom:4px solid var(--pt);}
#hlc .hd-badge{display:inline-block;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--pt);border:1.5px solid var(--pt-bd);background:var(--pt-lt);border-radius:20px;padding:5px 14px;margin-bottom:14px;line-height:1.5;}
#hlc .hd h1{font-size:27px;line-height:1.25;font-weight:700;color:var(--ink);margin-bottom:14px;}
#hlc .hd-sub{font-size:19px;color:var(--ink2);margin-bottom:18px;line-height:1.85;}
#hlc .hd-verdict{border:2px solid var(--ink);border-radius:8px;padding:14px;background:var(--soft);font-size:18px;line-height:1.8;}
#hlc .hd-verdict b{font-family:var(--ui);font-size:13px;color:var(--pt);display:block;margin-bottom:4px;}

/* REVIEWER */
#hlc .rv-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--rule);background:var(--soft);font-family:var(--ui);}
#hlc .rv-icon{width:42px;height:42px;border-radius:50%;background:var(--pt);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
#hlc .rv-label{display:block;font-size:11px;font-weight:700;color:var(--pt);}
#hlc .rv-name{display:block;font-size:14px;font-weight:700;color:var(--ink);line-height:1.4;}
#hlc .rv-cred{display:block;font-size:12px;color:var(--muted);line-height:1.4;}

/* STATS */
#hlc .stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--rule);}
#hlc .sr-item{padding:16px 8px;text-align:center;border-right:1px solid var(--rule);}
#hlc .sr-item:last-child{border-right:none;}
#hlc .sr-val{display:block;font-family:var(--ui);font-size:22px;font-weight:700;color:var(--pt);line-height:1.1;}
#hlc .sr-lbl{display:block;font-family:var(--ui);font-size:12px;color:var(--ink2);line-height:1.45;margin-top:5px;}

/* NAV */
#hlc .qnav{position:sticky;top:0;z-index:60;display:flex;gap:7px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:9px 10px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule2);}
#hlc .qnav::-webkit-scrollbar{display:none;}
#hlc .qnav a{flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1.5px solid var(--ink);border-radius:22px;font-family:var(--ui);font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;background:var(--paper);}
#hlc .qnav a:hover,#hlc .qnav a:focus-visible{background:var(--ink);color:#fff;outline:none;}

/* SECTIONS */
#hlc .sec{padding:28px 14px;border-bottom:1px solid var(--rule);scroll-margin-top:68px;}
#hlc .sec:last-child{border-bottom:none;}
#hlc .sec-ttl{font-size:23px;line-height:1.3;font-weight:700;color:var(--ink);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--ink);}
#hlc .sub-ttl{font-family:var(--ui);font-size:16px;font-weight:700;color:var(--ink);margin:22px 0 10px;line-height:1.4;}
#hlc .lead{font-size:19px;color:var(--ink2);margin-bottom:18px;line-height:1.85;}
#hlc p.body{font-size:18px;color:var(--ink2);line-height:1.9;margin-bottom:14px;}

/* TAKEAWAYS */
#hlc .tk-card{border:1px solid var(--rule2);border-left:5px solid var(--pt);border-radius:8px;padding:14px 14px 12px;margin-bottom:12px;background:var(--paper);}
#hlc .tk-card:last-child{margin-bottom:0;}
#hlc .tk-q{display:flex;gap:10px;align-items:flex-start;font-weight:700;font-size:19px;line-height:1.45;color:var(--ink);}
#hlc .tk-num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ui);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px;}
#hlc .tk-ans{margin-top:8px;padding-top:8px;border-top:1px dashed var(--rule);font-size:18px;color:var(--ink2);line-height:1.85;}

/* LOCATOR CONTROLS */
#hlc .loc-box{border:2px solid var(--pt);border-radius:10px;padding:14px;background:var(--pt-lt);margin-bottom:16px;}
#hlc .loc-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
#hlc .loc-row + .loc-row{margin-top:10px;}
#hlc .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:10px 16px;border-radius:24px;border:2px solid var(--pt);background:var(--pt);color:#fff;font-family:var(--ui);font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2;}
#hlc a.btn{color:#fff;}
#hlc .btn:hover{background:#08385f;}
#hlc .btn.ghost{background:var(--paper);color:var(--pt);}
#hlc a.btn.ghost{color:var(--pt);}
#hlc .btn.ghost:hover{background:var(--pt-lt);}
#hlc .btn.ghost[aria-pressed="true"],#hlc .btn.ghost[aria-pressed="true"]:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
#hlc .btn:disabled{opacity:.6;cursor:wait;}
#hlc .inp{height:auto;line-height:1.2;min-height:46px;padding:9px 12px;border:2px solid var(--rule2);border-radius:8px;font-family:var(--ui);font-size:15px;color:var(--ink);background:#fff;width:100%;}
#hlc .inp:focus{border-color:var(--pt);outline:none;}
#hlc .inp-zip{max-width:140px;}
#hlc .inp-sel{max-width:220px;}
#hlc .lbl{font-family:var(--ui);font-size:13px;font-weight:700;color:var(--ink2);}
#hlc .status{margin-top:10px;font-family:var(--ui);font-size:14px;color:var(--ink2);line-height:1.6;min-height:22px;}
#hlc .status.err{color:var(--rd);font-weight:700;}

/* MAP + STATIONS */
#hlc .map-wrap{border:1px solid var(--rule2);border-radius:8px;overflow:hidden;margin-bottom:12px;background:var(--soft);}
#hlc .map-wrap iframe{display:block;width:100%;height:300px;border:0;}
#hlc .map-ph{display:flex;align-items:center;justify-content:center;height:180px;font-family:var(--ui);font-size:14px;color:var(--muted);text-align:center;padding:14px;}
#hlc .sort-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;}
#hlc .st-list{list-style:none;}
#hlc .st{display:flex;gap:10px;border:1px solid var(--rule2);border-radius:8px;padding:12px;margin-bottom:10px;background:var(--paper);}
#hlc .st.club{border-left:5px solid var(--grn);}
#hlc .st.grocery{border-left:5px solid var(--pt);}
#hlc .st.volume{border-left:5px solid var(--pur);}
#hlc .st.major{border-left:5px solid var(--sl);}
#hlc .st.indie{border-left:5px solid var(--amb);}
#hlc .st-n{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ui);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;}
#hlc .st-main{flex:1;min-width:0;}
#hlc .st-name{font-family:var(--ui);font-size:15px;font-weight:700;color:var(--ink);line-height:1.4;}
#hlc .st-addr{font-family:var(--ui);font-size:13px;color:var(--muted);line-height:1.5;}
#hlc .st-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
#hlc .st-act .btn{min-height:44px;font-size:13px;padding:8px 14px;}
#hlc .osm-note{font-family:var(--ui);font-size:12px;color:var(--muted);margin-top:6px;}

/* PILLS */
#hlc .pp-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
#hlc .pp{display:inline-flex;align-items:center;gap:4px;border:1.5px solid;border-radius:20px;padding:6px 12px;font-family:var(--ui);font-size:13px;font-weight:700;line-height:1.3;}
#hlc a.pp{text-decoration:none;}
#hlc .pp-pt{background:var(--pt-lt);color:var(--pt);border-color:var(--pt-bd);}
#hlc .pp-grn{background:var(--grn-lt);color:var(--grn);border-color:var(--grn-bd);}
#hlc .pp-amb{background:var(--amb-lt);color:var(--amb);border-color:var(--amb-bd);}
#hlc .pp-rd{background:var(--rd-lt);color:var(--rd);border-color:var(--rd-bd);}
#hlc .pp-pur{background:var(--pur-lt);color:var(--pur);border-color:var(--pur-bd);}
#hlc .pp-sl{background:var(--sl-lt);color:var(--sl);border-color:var(--sl-bd);}
#hlc .pp-plain{background:var(--paper);color:var(--ink);border-color:var(--rule2);}

/* ALERTS */
#hlc .al{border:1px solid var(--rule2);border-left:5px solid;border-radius:8px;padding:15px 14px;margin-bottom:14px;background:var(--paper);}
#hlc .al:last-child{margin-bottom:0;}
#hlc .al-pt{border-left-color:var(--pt);}
#hlc .al-grn{border-left-color:var(--grn);}
#hlc .al-amb{border-left-color:var(--amb);}
#hlc .al-rd{border-left-color:var(--rd);}
#hlc .al-pur{border-left-color:var(--pur);}
#hlc .al-sl{border-left-color:var(--sl);}
#hlc .al-hd{font-family:var(--ui);font-size:15px;font-weight:700;line-height:1.45;margin-bottom:8px;color:var(--ink);}
#hlc .al p{font-size:18px;line-height:1.9;color:var(--ink2);}
#hlc .al p+p{margin-top:10px;}

/* FIGURES (original SVG visuals) */
#hlc figure{margin:0 0 16px;border:1px solid var(--rule2);border-radius:8px;padding:12px;background:var(--paper);}
#hlc figure svg{display:block;width:100%;height:auto;}
#hlc figcaption{font-family:var(--ui);font-size:13px;color:var(--muted);line-height:1.6;margin-top:8px;}
#hlc .svg-t{font-family:var(--ui);font-size:13px;fill:#2b2b2b;}
#hlc .svg-tb{font-family:var(--ui);font-size:13px;font-weight:700;fill:#151515;}
#hlc .svg-h{font-family:var(--ui);font-size:14px;font-weight:700;fill:#151515;}
#hlc .bar-lo{fill:#3a8a5a;}
#hlc .bar-hi{fill:#c46060;}
#hlc .bar-sp{fill:#0e4a52;}
#hlc .bar-sp2{fill:#b8792f;}

/* DUAL COMPARISON — desktop table / mobile cards */
#hlc .qr-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--rule2);border-radius:8px;margin-bottom:14px;}
#hlc .qr-wrap table{width:100%;min-width:620px;border-collapse:collapse;font-family:var(--ui);font-size:14px;line-height:1.5;}
#hlc .qr-wrap thead th{background:var(--ink);color:#fff;padding:10px;text-align:left;font-size:13px;font-weight:700;white-space:nowrap;}
#hlc .qr-wrap tbody td{padding:10px;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--ink);}
#hlc .qr-wrap tbody tr:nth-child(even){background:var(--soft);}
#hlc .qr-wrap tbody tr:last-child td{border-bottom:none;}
#hlc .td-opt{font-weight:700;color:var(--pt);}
#hlc .td-b{font-weight:700;}
#hlc .td-grn{color:var(--grn);font-weight:700;}
#hlc .td-rd{color:var(--rd);font-weight:700;}
#hlc .td-amb{color:var(--amb);font-weight:700;}
#hlc .qr-mob{display:none;margin-bottom:14px;}
#hlc .qm-card{border:1px solid var(--rule2);border-radius:8px;margin-bottom:10px;overflow:hidden;background:var(--paper);}
#hlc .qm-card:last-child{margin-bottom:0;}
#hlc .qm-hd{background:var(--ink);color:#fff;font-family:var(--ui);font-size:15px;font-weight:700;padding:10px 12px;display:flex;justify-content:space-between;gap:8px;}
#hlc .qm-hd span:last-child{color:#ffd27a;text-align:right;font-size:13px;}
#hlc .qm-body{padding:6px 12px 8px;}
#hlc .qm-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-family:var(--ui);font-size:13px;line-height:1.45;}
#hlc .qm-row:last-child{border-bottom:none;}
#hlc .qm-lbl{color:var(--muted);font-weight:700;flex-shrink:0;min-width:95px;}
#hlc .qm-val{text-align:right;color:var(--ink);}
@media (max-width:560px){#hlc .qr-wrap{display:none;}#hlc .qr-mob{display:block;}}

/* FOOTER */
#hlc .ftr{padding:18px 14px;background:var(--soft);}
#hlc .disc{font-family:var(--ui);font-size:13px;color:var(--muted);line-height:1.8;}
#hlc .disc+.disc{margin-top:8px;}

/* RESPONSIVE */
@media (max-width:580px){
  #hlc{margin:0;border-radius:0;border-left:none;border-right:none;}
  #hlc .hd{padding:22px 10px 20px;}
  #hlc .hd h1{font-size:23px;}
  #hlc .hd-sub{font-size:18px;}
  #hlc .sec{padding:22px 10px;}
  #hlc .sec-ttl{font-size:21px;}
  #hlc .rv-bar,#hlc .ftr{padding-left:10px;padding-right:10px;}
  #hlc .al{padding:13px 10px;}
  #hlc .tk-card{padding:12px 10px 10px;}
  #hlc .al p,#hlc .tk-ans,#hlc p.body{font-size:17px;}
  #hlc .lead{font-size:18px;}
  #hlc .inp-zip,#hlc .inp-sel{max-width:none;flex:1;}
  #hlc .map-wrap iframe{height:240px;}
}
@media (max-width:500px){
  #hlc .stat-row{grid-template-columns:repeat(2,1fr);}
  #hlc .sr-item:nth-child(2){border-right:none;}
  #hlc .sr-item:nth-child(1),#hlc .sr-item:nth-child(2){border-bottom:1px solid var(--rule);}
}
@media (max-width:380px){#hlc .hd h1{font-size:21px;}}

#hlc .st-rows{list-style:none;margin-bottom:14px;}
#hlc .st-rows li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule);font-family:var(--ui);font-size:14px;line-height:1.45;}
#hlc .st-rows li:last-child{border-bottom:none;}
#hlc .st-rows .n{font-weight:700;color:var(--ink);}
#hlc .st-rows .m{color:var(--muted);}
#hlc .st-rows .c{font-weight:700;text-align:right;white-space:nowrap;}
#hlc .tip-box{border:2px dashed var(--pt-bd);border-radius:8px;padding:12px;background:var(--pt-lt);font-family:var(--ui);font-size:14px;line-height:1.7;color:var(--ink);margin-bottom:14px;}
#hlc .opt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;}
#hlc .opt-grid label{display:flex;flex-direction:column;gap:4px;}
#hlc .chk{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-family:var(--ui);font-size:14px;color:var(--ink);min-height:46px;}
#hlc .chk input{width:20px;height:20px;accent-color:var(--pt);}
#hlc .trip-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#hlc .trip-row label{display:flex;flex-direction:column;gap:4px;}
#hlc .from-wrap{display:flex;flex-wrap:wrap;gap:8px;}
#hlc .from-wrap .inp{flex:1 1 160px;}
#hlc .go-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
#hlc .go-row .btn{min-width:200px;}
#hlc details.manual{margin-top:12px;font-family:var(--ui);font-size:14px;}
#hlc details.manual summary{cursor:pointer;font-weight:700;color:var(--pt);min-height:44px;display:flex;align-items:center;}
#hlc .vis-h{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
@media (max-width:560px){#hlc .trip-row{grid-template-columns:1fr;}#hlc .go-row .btn{width:100%;}}




/* LIVE BOARD */
#hlc .board{background:#111316;border-radius:12px;padding:16px;margin-bottom:16px;color:#e9edf2;font-family:var(--ui);border:3px solid #2a2e35;}
#hlc .bd-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:12px;color:#aab4c0;}
#hlc .bd-live::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#5bd17a;margin-right:6px;vertical-align:middle;animation:hlcp 2s infinite;}
@keyframes hlcp{50%{opacity:.25}}
#hlc .bd-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin:8px 0 4px;}
#hlc .bd-price{font-size:46px;font-weight:700;color:#ffffff;line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:.5px;}
#hlc .bd-unit{font-size:14px;color:#aab4c0;}
#hlc .bd-chg{font-size:14px;font-weight:700;}
#hlc .bd-chg.up{color:#7fe08f;} #hlc .bd-chg.dn{color:#ff8f80;}
#hlc .bd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px;}
#hlc .bd-cell{background:#1b1f25;border:1px solid #2a2e35;border-radius:8px;padding:10px;}
#hlc .bd-cell b{display:block;font-size:19px;color:#fff;font-variant-numeric:tabular-nums;}
#hlc .bd-cell span{display:block;font-size:12px;color:#aab4c0;margin-top:2px;line-height:1.4;}
@media (max-width:620px){#hlc .bd-grid{grid-template-columns:repeat(2,1fr);}#hlc .bd-price{font-size:36px;}}

/* CHART */
#hlc .chart-box{border:1px solid var(--rule2);border-radius:10px;padding:12px;background:#fff;margin-bottom:16px;}
#hlc .chart-h{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;}
#hlc .chart-h .tabs{display:flex;gap:6px;flex-wrap:wrap;}
#hlc .chart-h .btn{min-height:44px;padding:6px 14px;font-size:13px;}
#hlc .chart-stat{font-family:var(--ui);font-size:13px;color:var(--ink2);}
#hlc #hlc-chart svg{display:block;width:100%;height:auto;touch-action:none;}
#hlc .ch-line{fill:none;stroke:#0b4a7d;stroke-width:2.2;}
#hlc .ch-area{fill:#5a8fc0;opacity:.18;}
#hlc .ch-grid{stroke:#e6e0cf;stroke-width:1;}
#hlc .ch-rec{stroke:#8a1414;stroke-width:1.5;stroke-dasharray:5 5;}
#hlc .ch-lbl{font-family:var(--ui);font-size:11px;fill:#4d4d4d;}
#hlc .ch-tip{font-family:var(--ui);font-size:12px;font-weight:700;fill:#151515;}
#hlc .ch-dot{fill:#0b4a7d;stroke:#fff;stroke-width:2;}
#hlc .ch-note{font-family:var(--ui);font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5;}

#hlc .ch-line2{fill:none;stroke:#1f4f8a;stroke-width:2.2;}
#hlc .ch-prev{stroke:#888;stroke-width:1;stroke-dasharray:3 4;}
#hlc .spx{margin-top:12px;border-top:1px solid #2a2e35;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;font-size:14px;}
#hlc .spx b{font-size:22px;color:#fff;font-variant-numeric:tabular-nums;}
#hlc .spx .lbl2{color:#aab4c0;font-size:12px;}
#hlc .move{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;}
#hlc .move div{border:1px solid var(--rule2);border-radius:8px;padding:10px;text-align:center;font-family:var(--ui);background:#fff;}
#hlc .move b{display:block;font-size:20px;color:var(--ink);}
#hlc .move span{font-size:12px;color:var(--muted);}
@media (max-width:560px){#hlc .move{grid-template-columns:1fr;}}
#hlc .bd-cell b{font-size:16px;line-height:1.35;}

/* WEATHER BOARD */
#hlc .bd-icon{font-size:44px;line-height:1;}
#hlc .bd-cond{display:flex;flex-direction:column;font-size:14px;color:#aab4c0;line-height:1.4;}
#hlc .bd-cond b{font-size:18px;color:#fff;}
#hlc .spx b{font-size:18px;}
#hlc .board{background:#0f1b29;border-color:#22344a;}
#hlc .bd-cell{background:#16263a;border-color:#22344a;}
#hlc .ch-bar{fill:#5a8fc0;}
#hlc .ch-mid{stroke:#c9d4df;stroke-width:1;}
#hlc .map-wrap iframe{height:260px;}
/* FORECASTER NOTES */
#hlc .afd-box{border:1px solid var(--rule2);border-left:5px solid var(--sl);border-radius:8px;padding:12px 14px;background:var(--sl-lt);margin-bottom:14px;}
#hlc .afd-box p.body{margin-bottom:0;}
#hlc .afd-list{list-style:none;}
#hlc .afd-list li{position:relative;padding-left:22px;font-size:18px;line-height:1.85;color:var(--ink2);margin-bottom:10px;}
#hlc .afd-list li:last-child{margin-bottom:0;}
#hlc .afd-list li::before{content:"";position:absolute;left:4px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--sl);}
#hlc .st-rows .m{flex:1;}
@media (max-width:580px){#hlc .afd-list li{font-size:17px;}#hlc .bd-icon{font-size:36px;}}

/* =========================================================
   VISUAL LAYER — the live panel takes the color of the actual sky;
   one temperature color scale is reused everywhere (hours, week bars, chart).
   ========================================================= */
#hlc .board{border:0;border-radius:16px;padding:18px 16px 14px;color:#fff;background:linear-gradient(165deg,#24527e,#4a7aa6);}
#hlc .board[data-wx="sun"]{background:linear-gradient(165deg,#0f5a9a 0%,#2a7fc2 60%,#4f98cf 100%);}
#hlc .board[data-wx="cloud"]{background:linear-gradient(165deg,#435365,#687a8d);}
#hlc .board[data-wx="rain"]{background:linear-gradient(165deg,#1f3448,#3c5e80);}
#hlc .board[data-wx="storm"]{background:linear-gradient(165deg,#1b1a36,#413667);}
#hlc .board[data-wx="snow"]{background:linear-gradient(165deg,#46668a,#7590ae);}
#hlc .board[data-wx="fog"]{background:linear-gradient(165deg,#4c5761,#77838d);}
#hlc .board[data-wx="night"]{background:linear-gradient(165deg,#0c1533,#27356a);}
#hlc .bd-top{color:rgba(255,255,255,.85);font-size:13px;}
#hlc .bd-main{align-items:center;gap:14px;margin:12px 0 8px;}
#hlc .bd-icon{font-size:64px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));}
#hlc .bd-price{font-size:76px;font-weight:400;letter-spacing:-2px;line-height:1;}
#hlc .bd-cond b{font-size:22px;}
#hlc .bd-cond span{color:rgba(255,255,255,.88);font-size:16px;}
#hlc .bd-cell{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:10px 12px;}
#hlc .bd-cell .bd-k{display:block;font-size:12.5px;color:rgba(255,255,255,.88);margin:0 0 4px;line-height:1.4;}
#hlc .bd-cell .bd-k span,#hlc .bd-cell b span{display:inline-block;margin:0;font-size:inherit;color:inherit;}
#hlc .bd-cell b{font-size:19px;color:#fff;line-height:1.3;}
#hlc .bd-more{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:10px;font-size:13px;color:rgba(255,255,255,.85);}
#hlc .bd-more b{color:#fff;}
#hlc .warr{display:inline-block;font-weight:700;line-height:1;}
#hlc .hrs-wrap{margin-top:14px;border-top:1px solid rgba(255,255,255,.22);padding-top:10px;}
#hlc .hrs-h{font-size:12.5px;color:rgba(255,255,255,.88);margin-bottom:8px;}
#hlc .hrs{list-style:none;display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:8px;scrollbar-width:thin;}
#hlc .hrs li{flex:0 0 66px;scroll-snap-align:start;background:rgba(255,255,255,.12);border-radius:12px;padding:8px 4px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;}
#hlc .hrs li:first-child{background:rgba(255,255,255,.28);}
#hlc .hrs li.hr-day{box-shadow:inset 3px 0 0 #ffd27a;}
#hlc .hr-t{font-size:12.5px;color:rgba(255,255,255,.92);white-space:nowrap;}
#hlc .hr-i{font-size:24px;line-height:1.3;}
#hlc .hr-v{font-size:18px;color:#fff;}
#hlc .hr-tc{width:26px;height:4px;border-radius:2px;}
#hlc .hr-p{font-size:11.5px;color:#d6ebff;min-height:17px;line-height:1.5;}

/* Plan: one line per decision, led by the thing to grab */
#hlc .plan{list-style:none;display:grid;gap:8px;margin-top:6px;}
#hlc .plan li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font-size:17px;line-height:1.65;}
#hlc .pl-i{font-size:28px;line-height:1.1;flex-shrink:0;}

/* Stat strip icons */
#hlc .sr-ic{display:block;font-size:22px;line-height:1;margin-bottom:6px;}

/* 7-day: sky icon, rain chip, low→high bar on the week's span */
#hlc .qr-wrap tbody td{vertical-align:middle;}
#hlc .sky{display:inline-flex;align-items:center;gap:8px;}
#hlc .sky-i{font-size:22px;line-height:1;flex-shrink:0;}
#hlc .rain{display:inline-flex;align-items:center;gap:3px;border-radius:12px;padding:2px 9px;font-weight:700;font-size:13px;white-space:nowrap;}
#hlc .rain.r0{color:var(--muted);background:var(--soft);}
#hlc .rain.r1{color:#1f5a93;background:#e3effa;}
#hlc .rain.r2{color:#fff;background:#2c6db0;}
#hlc .rng{display:flex;align-items:center;gap:8px;min-width:180px;font-family:var(--ui);font-size:14px;}
#hlc .rng-lo,#hlc .rng-hi{font-weight:700;width:36px;font-variant-numeric:tabular-nums;}
#hlc .rng-lo{text-align:right;color:var(--muted);}
#hlc .rng-track{position:relative;flex:1;height:9px;border-radius:5px;background:#e7ebef;}
#hlc .rng-fill{position:absolute;top:0;bottom:0;border-radius:5px;}
#hlc .td-rng{min-width:210px;}
#hlc .qm-hd span.qm-ico:last-child{font-size:24px;line-height:1;color:inherit;}
#hlc .qm-bar{padding:10px 0 8px;border-bottom:1px solid var(--rule);}
#hlc .qm-bar .rng{min-width:0;font-size:15px;}

/* Next 12 hours */
#hlc .st-rows li{display:grid;grid-template-columns:58px 1fr 130px 54px;align-items:center;gap:10px;padding:10px 0;}
#hlc .st-rows .m{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;color:var(--ink);}
#hlc .st-rows .hl-sub{grid-column:2;font-size:12.5px;color:var(--muted);}
#hlc .rb{position:relative;height:24px;border-radius:12px;background:#eef3f8;overflow:hidden;}
#hlc .rb-f{position:absolute;left:0;top:0;bottom:0;background:#a9cdef;}
#hlc .rb-t{position:relative;font-size:12px;font-weight:700;padding-left:9px;line-height:24px;color:#1f4f80;}
#hlc .st-rows .c{border:2px solid;border-radius:20px;text-align:center;padding:2px 0;font-size:15px;}
@media (max-width:520px){
  #hlc .st-rows li{grid-template-columns:48px 1fr 54px;row-gap:6px;}
  #hlc .st-rows .rb{grid-row:2;grid-column:2/4;}
}

/* Sun path and moon */
#hlc .sun-fig{background:linear-gradient(180deg,#eef5fc,#fff 75%);}
#hlc .sun-fig figcaption{font-size:14px;color:var(--ink2);}
#hlc .moon-box{display:flex;gap:16px;align-items:center;}
#hlc .moon-pic{flex:0 0 92px;}
#hlc .moon-pic svg{display:block;width:92px;height:92px;}

/* Chart bars */
#hlc .ch-bar{fill:#2c6db0;}
@media (max-width:620px){#hlc .bd-price{font-size:60px;}#hlc .bd-icon{font-size:50px;}}
#hlc .qr-wrap tbody td:last-child{white-space:nowrap;}
#hlc .sun-fig svg{max-width:100%;margin:0 auto;}

/* Use the actual content column, including desktop pages with sidebars.
   The media queries above remain a fallback for older browsers. */
@container bshl (max-width:620px){
  #hlc .bd-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #hlc .bd-price{font-size:60px;}
  #hlc .bd-icon{font-size:50px;}
}
/* Dual comparison: one breakpoint only — table above 560px, cards at/below. Never both. */
@container bshl (max-width:560px){
  #hlc .qr-wrap{display:none;}
  #hlc .qr-mob{display:block;}
}
@container bshl (max-width:580px){
  #hlc .hd{padding:22px 10px 20px;}
  #hlc .hd h1{font-size:23px;}
  #hlc .hd-sub{font-size:18px;}
  #hlc .sec{padding:22px 10px;}
  #hlc .sec-ttl{font-size:21px;}
  #hlc .rv-bar,#hlc .ftr{padding-left:10px;padding-right:10px;}
  #hlc .al{padding:13px 10px;}
  #hlc .tk-card{padding:12px 10px 10px;}
  #hlc .al p,#hlc .tk-ans,#hlc p.body,#hlc .afd-list li{font-size:17px;}
  #hlc .lead{font-size:18px;}
  #hlc .inp-zip,#hlc .inp-sel{max-width:none;flex:1;}
  #hlc .map-wrap iframe{height:240px;}
}
@container bshl (max-width:520px){
  #hlc .st-rows li{grid-template-columns:48px 1fr 54px;row-gap:6px;}
  #hlc .st-rows .rb{grid-row:2;grid-column:2/4;}
}
@container bshl (max-width:500px){
  #hlc .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  #hlc .sr-item:nth-child(2){border-right:none;}
  #hlc .sr-item:nth-child(1),#hlc .sr-item:nth-child(2){border-bottom:1px solid var(--rule);}
}
@container bshl (max-width:360px){
  #hlc .loc-row .inp-zip{flex-basis:120px;}
  #hlc .chart-h .btn{padding:6px 10px;}
  #hlc .bd-main{gap:10px;}
  #hlc .bd-price{font-size:52px;}
  #hlc .bd-icon{font-size:42px;}
  #hlc .bd-cond b{font-size:19px;}
  #hlc .bd-cond span{font-size:14px;}
  #hlc .moon-box{gap:10px;}
  #hlc .moon-pic{flex-basis:72px;}
  #hlc .moon-pic svg{width:72px;height:72px;}
}


/* =========================================================
   HOME LOAN CALCULATOR LAYER — same visual language as the weather widget:
   blue live board, rounded pill controls, serif reading text, sans controls.
   ========================================================= */
#hlc [hidden]{display:none!important;}
#hlc .calc-box{padding:16px 14px;}
#hlc .calc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;}
#hlc .calc-grid-sm{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;}
#hlc .fld{display:flex;flex-direction:column;gap:4px;min-width:0;}
#hlc .lbl-sub{font-weight:400;color:var(--muted);}
#hlc .inp-pre{display:flex;align-items:stretch;border:2px solid var(--rule2);border-radius:8px;background:#fff;overflow:hidden;}
#hlc .inp-pre:focus-within{border-color:var(--pt);}
#hlc .inp-pre i{display:flex;align-items:center;padding:0 0 0 10px;font-style:normal;font-family:var(--ui);font-size:15px;font-weight:700;color:var(--muted);white-space:nowrap;}
#hlc .inp-post i{padding:0 10px 0 0;font-size:13px;}
#hlc .inp-pre .inp{border:0;min-width:0;padding-left:6px;}
#hlc .inp-post .inp{padding-left:10px;}
#hlc select.inp{cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230b4a7d' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:32px;}
#hlc .chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;}
#hlc .chip{min-height:38px;padding:6px 13px;border:1.5px solid var(--pt-bd);border-radius:20px;background:#fff;color:var(--pt);font-family:var(--ui);font-size:13px;font-weight:700;cursor:pointer;}
#hlc .chip:hover,#hlc .chip[aria-pressed="true"]{background:var(--pt);color:#fff;border-color:var(--pt);}
#hlc .seg-row{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:12px;}
#hlc .seg{display:flex;flex-direction:column;gap:6px;}
#hlc .seg-btns{display:flex;flex-wrap:wrap;gap:6px;}
#hlc .seg-btns .btn{min-height:42px;padding:8px 14px;font-size:13px;}
#hlc .calc-act{margin-top:14px;}
#hlc .status.warn{color:var(--amb);font-weight:700;}

/* Board tint follows the loan program */
#hlc .board[data-wx="conv"]{background:linear-gradient(165deg,#0f5a9a 0%,#2a7fc2 60%,#4f98cf 100%);}
#hlc .board[data-wx="fha"]{background:linear-gradient(165deg,#0e4a52 0%,#1f7180 60%,#3a93a0 100%);}
#hlc .board[data-wx="va"]{background:linear-gradient(165deg,#1b1a36 0%,#2f3f7a 60%,#4a5fa6 100%);}
#hlc .board[data-wx="usda"]{background:linear-gradient(165deg,#14522a 0%,#2d7a48 60%,#4f9a68 100%);}
#hlc .bd-price{font-variant-numeric:tabular-nums;}
#hlc .bd-more{gap:6px 22px;}
#hlc .ms li{flex:0 0 150px;align-items:flex-start;text-align:left;padding:10px 12px;gap:2px;}
#hlc .ms .hr-t{font-size:12px;white-space:normal;line-height:1.35;}
#hlc .ms .hr-v{font-size:17px;font-weight:700;line-height:1.3;}
#hlc .ms .hr-p{font-size:12px;color:rgba(255,255,255,.85);line-height:1.4;}

/* Donut + income */
#hlc .two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:16px;}
#hlc .two-col figure{margin:0;}
#hlc .donut-wrap{display:flex;gap:14px;align-items:center;}
#hlc .donut-wrap svg{flex:0 0 140px;width:140px;height:140px;}
#hlc .lg{list-style:none;display:grid;gap:4px;font-family:var(--ui);font-size:13px;line-height:1.4;flex:1;min-width:0;}
#hlc .lg li{display:flex;align-items:center;gap:7px;}
#hlc .lg i{flex:0 0 12px;width:12px;height:12px;border-radius:3px;}
#hlc .lg b{margin-left:auto;font-variant-numeric:tabular-nums;}
#hlc .dn-c{font-family:var(--ui);font-size:12px;fill:#4d4d4d;}
#hlc .dn-v{font-family:var(--ui);font-size:19px;font-weight:700;fill:#151515;}
#hlc .inc-card{border:1px solid var(--rule2);border-left:5px solid var(--grn);border-radius:8px;padding:12px 14px;background:var(--paper);}
#hlc .inc-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule);font-family:var(--ui);font-size:14px;line-height:1.4;}
#hlc .inc-row b{color:var(--grn);font-variant-numeric:tabular-nums;white-space:nowrap;}
#hlc .cash-bar{display:flex;height:16px;border-radius:8px;overflow:hidden;margin-top:12px;background:#eef3f8;}
#hlc .cash-bar span{display:block;height:100%;}

/* Chart lines */
#hlc .ch-line3{fill:none;stroke:#3a8a5a;stroke-width:2.2;stroke-dasharray:6 4;}
#hlc .ch-int{fill:#c46060;}
#hlc .ch-pri{fill:#2c6db0;}
#hlc .ch-r15{fill:none;stroke:#b8792f;stroke-width:2;}
#hlc .ch-key{display:inline-flex;align-items:center;gap:6px;margin-right:14px;}
#hlc .ch-key i{display:inline-block;width:14px;height:4px;border-radius:2px;}

/* Cost & tax rows: name · explanation · pill */
#hlc .st-cost li{grid-template-columns:150px minmax(0,1fr) 118px;align-items:start;gap:12px;}
#hlc .st-cost .m{display:block;color:var(--ink2);font-size:14px;line-height:1.55;}
#hlc .st-cost .c{display:block;border:1.5px solid;border-radius:20px;padding:4px 8px;font-size:12.5px;white-space:normal;text-align:center;line-height:1.3;}
#hlc .sub-ttl{font-size:17px;margin-top:26px;}
#hlc .move b{font-variant-numeric:tabular-nums;}
#hlc .td-num{font-variant-numeric:tabular-nums;white-space:nowrap;}
#hlc tr.best td{background:var(--grn-lt)!important;}
#hlc .best-tag{display:table;margin-top:4px;padding:1px 8px;border-radius:10px;background:var(--grn);color:#fff;font-size:11px;font-weight:700;vertical-align:1px;}
#hlc .qm-card.best{border:2px solid var(--grn);}

@media (max-width:760px){
  #hlc .calc-grid,#hlc .calc-grid-sm{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@container bshl (max-width:700px){
  #hlc .calc-grid,#hlc .calc-grid-sm{grid-template-columns:repeat(2,minmax(0,1fr));}
  #hlc .two-col{grid-template-columns:1fr;}
}
@container bshl (max-width:520px){
  #hlc .st-cost li{grid-template-columns:1fr;gap:4px;}
  #hlc .st-cost .c{justify-self:start;}
  #hlc .donut-wrap svg{flex-basis:118px;width:118px;height:118px;}
}
@container bshl (max-width:360px){
  #hlc .calc-grid,#hlc .calc-grid-sm{grid-template-columns:1fr;}
}
@media (max-width:520px){
  #hlc .two-col{grid-template-columns:1fr;}
  #hlc .st-cost li{grid-template-columns:1fr;gap:4px;}
  #hlc .st-cost .c{justify-self:start;}
}
#hlc .qr-wide table{min-width:880px;}
#hlc .lg b{white-space:nowrap;}
#hlc .lg li{flex-wrap:wrap;}
