.dhf-app{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:1100px;margin:1rem auto;color:#303232}.dhf-form{display:grid;grid-template-columns:minmax(220px,1fr) 100px auto;gap:12px;align-items:end;padding:16px;background:#f4f6f1;border:1px solid #d9dfd2;border-radius:12px}.dhf-form label{display:block;font-weight:700;font-size:.85rem;margin-bottom:5px}.dhf-form input,.dhf-form select,.dhf-form button{width:100%;min-height:44px;border:1px solid #9ca795;border-radius:7px;padding:8px 10px}.dhf-form button{background:#314d2d;color:#fff;font-weight:700;cursor:pointer}.dhf-results{margin-top:16px}.dhf-overview{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:#263e26;color:#fff;border-radius:12px;margin-bottom:12px}.dhf-overview small,.dhf-overview-pressure small{display:block;opacity:.82}.dhf-overview-pressure{display:flex;align-items:center;gap:9px;text-align:right}.dhf-overview-pressure>span{font-size:1.6rem}.dhf-forecast-list{display:grid;gap:10px}.dhf-day-card{background:#fff;border:1px solid #e1e3e1;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.07);overflow:hidden}.dhf-day-toggle{appearance:none;width:100%;display:grid;grid-template-columns:76px minmax(130px,1fr) 78px minmax(140px,260px) 36px;align-items:center;gap:14px;border:0;background:#fff;padding:17px 22px;text-align:left;cursor:pointer;color:inherit}.dhf-day-toggle:hover{background:#fafbfa}.dhf-weather-icon{font-size:2.5rem;text-align:center}.dhf-day-meta{display:flex;flex-direction:column;gap:4px}.dhf-day-meta>strong{font-size:1.2rem}.dhf-temps{display:flex;gap:10px;align-items:baseline}.dhf-temps b{font-size:1.9rem}.dhf-temps em{font-size:1.55rem;font-style:normal;color:#b4b5b4}.dhf-score-number{font-size:1.4rem;font-weight:700;text-align:right}.dhf-score-track{height:18px;border-radius:999px;background:#eceeed;overflow:hidden}.dhf-score-fill{display:block;height:100%;border-radius:999px;min-width:4px}.dhf-score-fill.high,.dhf-large-score.high strong{background:#2d8843;color:#2d8843}.dhf-score-fill.medium,.dhf-large-score.medium strong{background:#c59a29;color:#b38313}.dhf-score-fill.low,.dhf-large-score.low strong{background:#c83c45;color:#c83c45}.dhf-chevron{width:13px;height:13px;border-right:3px solid #999;border-bottom:3px solid #999;transform:rotate(45deg);transition:transform .2s ease;justify-self:end}.dhf-day-card.is-open .dhf-chevron{transform:rotate(225deg)}.dhf-day-panel{border-top:1px solid #e6e7e6;padding:22px}.dhf-day-panel[hidden]{display:none}.dhf-detail-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.25fr) minmax(220px,1fr);gap:0}.dhf-detail-grid>section{padding:3px 28px;border-right:1px solid #e2e4e2}.dhf-detail-grid>section:first-child{padding-left:4px}.dhf-detail-grid>section:last-child{border-right:0;padding-right:4px}.dhf-detail-grid h4,.dhf-reasons h4{text-transform:uppercase;letter-spacing:.03em;color:#285f2c;font-size:.85rem;margin:0 0 14px}.dhf-large-score{display:flex;align-items:baseline;gap:8px}.dhf-large-score strong{font-size:3rem;line-height:1;background:none!important}.dhf-large-score span{font-size:1.2rem;color:#999}.dhf-rating{font-size:1.25rem;color:#9c750d;margin:5px 0 18px}.dhf-condition-list{list-style:none;padding:0;margin:0;border-top:1px solid #e9e9e9}.dhf-condition-list li{display:flex;align-items:center;gap:10px;padding:8px 0}.dhf-condition-list li span{font-size:1.25rem;width:22px;text-align:center}.dhf-window-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e6e7e6}.dhf-window-row div{display:flex;flex-direction:column}.dhf-window-row small{color:#777}.dhf-window-row strong{font-size:1.1rem;margin:2px 0}.dhf-window-row span{font-size:.84rem;color:#686b68}.dhf-window-row>b{align-self:center;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#edf3ec;color:#285f2c}.dhf-trend-title{font-size:1.45rem;color:#287435}.dhf-pressure-change{color:#287435;margin:.3rem 0 1rem}.dhf-pressure-chart{display:block;width:100%;height:95px;margin-top:12px;background:linear-gradient(to top,#f5f7f5,#fff);border-left:1px solid #dfe4df;border-bottom:1px solid #dfe4df}.dhf-pressure-chart polyline{fill:none;stroke:#2d8b43;stroke-width:2;vector-effect:non-scaling-stroke}.dhf-reasons{border-top:1px solid #e1e3e1;margin-top:20px;padding-top:18px}.dhf-reasons ul{margin:0;padding-left:20px;columns:2;column-gap:35px}.dhf-reasons li{break-inside:avoid;margin:.35rem 0}.dhf-method-note{text-align:center;color:#777;font-size:.85rem;margin:16px 8px}.dhf-loading,.dhf-error,.dhf-notice{padding:14px;border-radius:8px;background:#f4f4f4}.dhf-error{background:#fff0ee;color:#812b22}.dhf-notice{margin-bottom:10px;background:#fff8df}.dhf-debug pre{overflow:auto;max-height:420px;background:#111;color:#eee;padding:12px}@media(max-width:780px){.dhf-form{grid-template-columns:1fr}.dhf-day-toggle{grid-template-columns:54px 1fr 62px 28px;gap:10px;padding:14px}.dhf-score-track{grid-column:2/4;width:100%;height:10px}.dhf-chevron{grid-column:4;grid-row:1/3}.dhf-weather-icon{font-size:2rem}.dhf-day-meta>strong{font-size:1rem}.dhf-temps b{font-size:1.55rem}.dhf-temps em{font-size:1.3rem}.dhf-score-number{font-size:1.15rem}.dhf-detail-grid{grid-template-columns:1fr}.dhf-detail-grid>section,.dhf-detail-grid>section:first-child,.dhf-detail-grid>section:last-child{padding:18px 0;border-right:0;border-bottom:1px solid #e3e5e3}.dhf-detail-grid>section:last-child{border-bottom:0}.dhf-reasons ul{columns:1}.dhf-overview{display:block}.dhf-overview-pressure{text-align:left;margin-top:10px}.dhf-day-panel{padding:16px}}

.dhf-hourly-section{border-top:1px solid #e1e3e1;margin-top:20px;padding-top:18px}.dhf-hourly-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:14px}.dhf-hourly-heading h4{margin:0 0 4px;text-transform:uppercase;letter-spacing:.03em;color:#285f2c;font-size:.85rem}.dhf-hourly-heading p{margin:0;color:#444}.dhf-hourly-heading>small{max-width:430px;color:#777}.dhf-hourly-scroll{overflow-x:auto;padding:4px 0 8px}.dhf-hourly-chart{display:flex;align-items:flex-end;gap:7px;min-width:760px;height:190px;border-bottom:1px solid #dfe4df;padding:0 4px}.dhf-hour-column{display:grid;grid-template-rows:22px 110px 22px 22px;align-items:end;text-align:center;min-width:42px;height:180px}.dhf-hour-score{font-size:.72rem;color:#666;align-self:center}.dhf-hour-bar-wrap{height:105px;display:flex;align-items:flex-end;justify-content:center}.dhf-hour-bar{display:block;width:22px;min-height:4px;border-radius:6px 6px 2px 2px}.dhf-hour-bar.high{background:#2d8843}.dhf-hour-bar.medium{background:#c59a29}.dhf-hour-bar.low{background:#c83c45}.dhf-hour-column strong{font-size:.85rem}.dhf-hour-column small{font-size:.7rem;color:#777;white-space:nowrap}@media(max-width:780px){.dhf-hourly-heading{display:block}.dhf-hourly-heading>small{display:block;margin-top:7px}.dhf-hourly-chart{min-width:720px}}
.dhf-solunar{padding:5px 0;border-bottom:1px solid #edf0ed;font-size:.9rem}.dhf-solunar b{color:#285f2c}.dhf-pressure-wide{border-top:1px solid #e1e3e1;margin-top:20px;padding-top:18px}.dhf-pressure-wide h4{margin:0;text-transform:uppercase;letter-spacing:.03em;color:#285f2c;font-size:.85rem}.dhf-pressure-wide p{margin:.25rem 0}.dhf-pressure-wide .dhf-pressure-chart{height:130px}.dhf-form{grid-template-columns:minmax(220px,1fr) 145px 90px auto}@media(max-width:900px){.dhf-form{grid-template-columns:1fr 1fr}.dhf-form button{grid-column:1/-1}}@media(max-width:600px){.dhf-form{grid-template-columns:1fr}}

.dhf-window-info{min-width:0}.dhf-calendar-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.dhf-calendar-actions a{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid #9fb49d;border-radius:6px;background:#f6faf5;color:#285f2c;font-size:.75rem;font-weight:700;line-height:1.2;text-decoration:none}.dhf-calendar-actions a:hover,.dhf-calendar-actions a:focus{background:#e8f1e6;color:#193f1d}.dhf-calendar-actions a:focus-visible{outline:2px solid #285f2c;outline-offset:2px}@media(max-width:480px){.dhf-window-row{align-items:flex-start}.dhf-calendar-actions{display:grid;grid-template-columns:1fr}.dhf-calendar-actions a{justify-content:center}}
.dhf-calendar-feed{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;margin:14px 0;border:1px solid #d9e3db;border-radius:12px;background:#f7faf7}.dhf-calendar-feed strong,.dhf-calendar-feed small{display:block}.dhf-calendar-feed small{margin-top:3px;color:#5b655e}.dhf-feed-actions{display:flex;flex-wrap:wrap;gap:8px}.dhf-feed-actions a,.dhf-feed-actions button{appearance:none;border:1px solid #aebbb1;border-radius:7px;background:#fff;color:#214b32;padding:8px 11px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.dhf-feed-actions .dhf-feed-primary{background:#1f6b3b;color:#fff;border-color:#1f6b3b}.dhf-feed-actions button.is-copied{background:#e5f4e9}@media(max-width:700px){.dhf-calendar-feed{align-items:flex-start;flex-direction:column}.dhf-feed-actions{width:100%}.dhf-feed-actions a,.dhf-feed-actions button{flex:1;text-align:center}}

.dhf-hunt-recommendation{padding:11px 12px;margin:0 0 8px;border-left:4px solid #285f2c;background:#f3f7f2;border-radius:6px}.dhf-hunt-recommendation strong,.dhf-hunt-recommendation span{display:block}.dhf-hunt-recommendation strong{color:#285f2c;font-size:1.05rem;text-transform:capitalize}.dhf-hunt-recommendation span{font-size:.82rem;color:#606460;margin-top:3px}.dhf-window-label{display:inline-block!important;width:max-content;color:#285f2c!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dhf-hour-column.is-outside-legal{opacity:.28;filter:grayscale(.65)}.dhf-hour-column.is-legal{background:linear-gradient(to top,rgba(45,136,67,.06),transparent);border-radius:5px 5px 0 0}.dhf-hour-column.is-outside-legal .dhf-hour-score:after{content:'•';display:block;color:#777;line-height:.4}


/* Mobile accordion usability improvements. */
.dhf-day-toggle{-webkit-tap-highlight-color:rgba(49,77,45,.12);touch-action:manipulation;position:relative;user-select:none;-webkit-user-select:none}
.dhf-day-toggle:focus-visible{outline:3px solid #5b8c55;outline-offset:-3px}
.dhf-day-toggle:active{background:#f1f5ef}
.dhf-chevron{width:44px;height:44px;border:0;display:grid;place-items:center;position:relative;pointer-events:none}
.dhf-chevron:before{content:"";width:13px;height:13px;border-right:3px solid #777;border-bottom:3px solid #777;transform:rotate(45deg);transition:transform .2s ease;margin-top:-6px}
.dhf-day-card.is-open .dhf-chevron{transform:none}
.dhf-day-card.is-open .dhf-chevron:before{transform:rotate(225deg);margin-top:6px}
@media(max-width:780px){
  .dhf-day-toggle{min-height:116px;grid-template-columns:58px minmax(0,1fr) 64px 48px;column-gap:10px;padding:14px 10px 14px 14px}
  .dhf-chevron{grid-column:4;grid-row:1/3;justify-self:center;align-self:stretch;min-height:76px}
  .dhf-day-card{scroll-margin-top:12px}
  .dhf-day-meta,.dhf-score-number,.dhf-score-track,.dhf-weather-icon{pointer-events:none}
}

/* Current-location controls */
.dhf-location-field{min-width:0}.dhf-location-controls{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px}.dhf-location-controls .dhf-current-location{width:auto;white-space:nowrap;background:#fff;color:#285f2c;border-color:#8ea48c;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding-left:13px;padding-right:13px}.dhf-location-controls .dhf-current-location:hover,.dhf-location-controls .dhf-current-location:focus{background:#eaf2e8}.dhf-location-controls .dhf-current-location:disabled{cursor:wait;opacity:.72}.dhf-location-controls .dhf-current-location.is-locating span:first-child{animation:dhf-location-pulse 1s ease-in-out infinite}.dhf-location-status{display:block;min-height:18px;margin-top:5px;font-size:.78rem;line-height:1.35;color:#5c655c}.dhf-location-status.is-success{color:#246634}.dhf-location-status.is-error{color:#8a2f27}.dhf-location-status.is-working{color:#6f5b17}.dhf-location-controls input.is-current-location{border-color:#4c8a55;background:#f5faf4}@keyframes dhf-location-pulse{50%{transform:scale(1.18);opacity:.55}}@media(max-width:680px){.dhf-location-controls{grid-template-columns:1fr}.dhf-location-controls .dhf-current-location{width:100%;min-height:48px}.dhf-form .dhf-submit{min-height:48px}}


/* Refined responsive forecast form layout (v2.1.2). */
.dhf-form{
  grid-template-columns:minmax(300px,1.7fr) minmax(170px,.7fr) minmax(90px,.35fr) minmax(180px,.7fr);
  gap:14px;
  padding:20px;
}
.dhf-form > *{min-width:0}
.dhf-form label{margin-bottom:7px;font-size:.9rem}
.dhf-form input,.dhf-form select,.dhf-form button{min-height:48px;font-size:1rem}
.dhf-location-controls{grid-template-columns:minmax(220px,1fr) minmax(220px,auto);gap:10px}
.dhf-form .dhf-submit{align-self:end;white-space:nowrap}

@media(max-width:900px){
  .dhf-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px}
  .dhf-location-field{grid-column:1/-1}
  .dhf-wind-field{grid-column:1}
  .dhf-days-field{grid-column:2}
  .dhf-form .dhf-submit{grid-column:1/-1}
  .dhf-location-controls{grid-template-columns:minmax(0,1fr) minmax(220px,auto)}
}

@media(max-width:600px){
  .dhf-form{display:grid;grid-template-columns:1fr;gap:16px;padding:16px;border-radius:14px}
  .dhf-location-field,.dhf-wind-field,.dhf-days-field,.dhf-form .dhf-submit{grid-column:1}
  .dhf-location-controls{grid-template-columns:1fr;gap:10px}
  .dhf-location-controls .dhf-current-location,.dhf-form .dhf-submit{min-height:52px}
  .dhf-location-status:empty{min-height:0;margin-top:0}
}

/* Desktop-safe form layout (v2.3.2).
 * The location controls use a full row so the form remains readable inside
 * narrower theme content columns even when the browser viewport is wide. */
.dhf-form{
  grid-template-columns:minmax(0,1fr) minmax(90px,120px) minmax(170px,auto);
  align-items:end;
}
.dhf-location-field{grid-column:1/-1}
.dhf-wind-field{grid-column:1}
.dhf-days-field{grid-column:2}
.dhf-form .dhf-submit{grid-column:3;width:100%}
.dhf-location-controls{
  grid-template-columns:minmax(0,1fr) minmax(210px,auto);
}

@media(max-width:700px){
  .dhf-form{grid-template-columns:minmax(0,1fr) minmax(90px,120px)}
  .dhf-location-field{grid-column:1/-1}
  .dhf-wind-field{grid-column:1}
  .dhf-days-field{grid-column:2}
  .dhf-form .dhf-submit{grid-column:1/-1}
}

@media(max-width:520px){
  .dhf-form{grid-template-columns:1fr}
  .dhf-location-field,.dhf-wind-field,.dhf-days-field,.dhf-form .dhf-submit{grid-column:1}
  .dhf-location-controls{grid-template-columns:1fr}
}

.dhf-rut-field small{display:block;margin-top:4px;color:#687067;font-size:.75rem}.dhf-form{grid-template-columns:minmax(220px,1fr) 140px 145px 155px 90px auto}@media(max-width:1050px){.dhf-form{grid-template-columns:1fr 1fr 1fr}.dhf-form .dhf-location-field{grid-column:1/-1}.dhf-form button{grid-column:1/-1}}@media(max-width:650px){.dhf-form{grid-template-columns:1fr}.dhf-form .dhf-location-field,.dhf-form button{grid-column:auto}}

/* Theme-aware public interface and responsive form layout (v2.4.2).
 * Typography and primary interface colors inherit from the active WordPress
 * theme. Semantic forecast colors remain controlled by the plugin. */
.dhf-app{
  container-type:inline-size;
  width:100%;
  max-width:none;
  font-family:inherit;
  color:inherit;
  --dhf-text:var(--wp--preset--color--contrast,currentColor);
  --dhf-surface:var(--wp--preset--color--base,Canvas);
  --dhf-accent:var(--wp--preset--color--primary,var(--wp--preset--color--accent-1,#315b35));
  --dhf-border:color-mix(in srgb,currentColor 20%,transparent);
  --dhf-muted:color-mix(in srgb,currentColor 68%,transparent);
  --dhf-soft:color-mix(in srgb,currentColor 5%,transparent);
  --dhf-softer:color-mix(in srgb,currentColor 2.5%,transparent);
  --dhf-radius:var(--wp--custom--border-radius,10px);
}

.dhf-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px 16px;
  align-items:end;
  padding:clamp(16px,3vw,24px);
  color:inherit;
  background:var(--dhf-soft,rgba(127,127,127,.06));
  border:1px solid var(--dhf-border,rgba(127,127,127,.25));
  border-radius:var(--dhf-radius,10px);
  box-shadow:none;
}
.dhf-form > *{min-width:0}
.dhf-location-field{grid-column:1/-1}
.dhf-wind-field{grid-column:1}
.dhf-pressure-field{grid-column:2}
.dhf-rut-field{grid-column:1}
.dhf-days-field{grid-column:2}
.dhf-form .dhf-submit{grid-column:1/-1}

.dhf-form label{
  color:inherit;
  font:inherit;
  font-size:.9em;
  font-weight:600;
  letter-spacing:normal;
}
.dhf-form input,
.dhf-form select{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  padding:.7em .85em;
  color:inherit;
  background:var(--dhf-surface,Canvas);
  border:1px solid var(--dhf-border,rgba(127,127,127,.35));
  border-radius:calc(var(--dhf-radius,10px) * .7);
  font:inherit;
  box-shadow:none;
}
.dhf-form input::placeholder{color:var(--dhf-muted,#777);opacity:.8}
.dhf-form input:focus,
.dhf-form select:focus{
  border-color:var(--dhf-accent,#315b35);
  outline:2px solid color-mix(in srgb,var(--dhf-accent,#315b35) 28%,transparent);
  outline-offset:1px;
}
.dhf-form button,
.dhf-feed-actions a,
.dhf-feed-actions button,
.dhf-calendar-actions a{
  font-family:inherit;
  border-radius:calc(var(--dhf-radius,10px) * .7);
}
.dhf-form .dhf-submit{
  min-height:48px;
  padding:.75em 1.25em;
  color:var(--wp--preset--color--base,#fff);
  background:var(--dhf-accent,#315b35);
  border:1px solid var(--dhf-accent,#315b35);
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.dhf-form .dhf-submit:hover,
.dhf-form .dhf-submit:focus-visible{
  filter:brightness(.92);
  transform:none;
}
.dhf-location-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
}
.dhf-location-controls .dhf-current-location{
  width:auto;
  min-height:48px;
  padding:.7em 1em;
  color:var(--dhf-accent,#315b35);
  background:var(--dhf-surface,Canvas);
  border:1px solid var(--dhf-border,rgba(127,127,127,.35));
  font:inherit;
  font-weight:600;
}
.dhf-location-controls .dhf-current-location:hover,
.dhf-location-controls .dhf-current-location:focus-visible{
  color:inherit;
  background:var(--dhf-soft,rgba(127,127,127,.08));
  border-color:var(--dhf-accent,#315b35);
}
.dhf-location-status,.dhf-rut-field small{color:var(--dhf-muted,#6b6b6b)}

/* Let forecast surfaces blend into both light and dark themes. */
.dhf-day-card,
.dhf-day-toggle,
.dhf-calendar-feed,
.dhf-feed-actions a,
.dhf-feed-actions button,
.dhf-calendar-actions a{
  color:inherit;
  background:var(--dhf-surface,Canvas);
  border-color:var(--dhf-border,rgba(127,127,127,.25));
}
.dhf-day-toggle:hover,.dhf-day-toggle:active{background:var(--dhf-soft,rgba(127,127,127,.06))}
.dhf-day-card{box-shadow:0 2px 12px color-mix(in srgb,currentColor 8%,transparent)}
.dhf-day-panel,.dhf-detail-grid>section,.dhf-reasons,.dhf-hourly-section,.dhf-pressure-wide,
.dhf-condition-list,.dhf-window-row,.dhf-solunar{border-color:var(--dhf-border,rgba(127,127,127,.2))}
.dhf-detail-grid h4,.dhf-reasons h4,.dhf-hourly-heading h4,.dhf-pressure-wide h4,
.dhf-solunar b,.dhf-window-label,.dhf-hunt-recommendation strong{color:var(--dhf-accent,#315b35)}
.dhf-calendar-feed,.dhf-hunt-recommendation{background:var(--dhf-soft,rgba(127,127,127,.06))}
.dhf-calendar-feed small,.dhf-hourly-heading p,.dhf-window-row small,.dhf-window-row span,
.dhf-hour-column small,.dhf-hour-score,.dhf-temps em,.dhf-large-score span{color:var(--dhf-muted,#777)}
.dhf-overview{background:var(--dhf-accent,#315b35);color:var(--wp--preset--color--base,#fff)}
.dhf-feed-actions .dhf-feed-primary{background:var(--dhf-accent,#315b35);border-color:var(--dhf-accent,#315b35);color:var(--wp--preset--color--base,#fff)}
.dhf-window-row>b{background:var(--dhf-soft,rgba(127,127,127,.08));color:var(--dhf-accent,#315b35)}
.dhf-pressure-chart{background:linear-gradient(to top,var(--dhf-soft,rgba(127,127,127,.06)),transparent);border-color:var(--dhf-border,rgba(127,127,127,.2))}
.dhf-pressure-chart polyline{stroke:var(--dhf-accent,#315b35)}

@container (min-width:850px){
  .dhf-form{grid-template-columns:minmax(190px,1.35fr) minmax(145px,.85fr) minmax(155px,.95fr) minmax(80px,.45fr) auto}
  .dhf-location-field{grid-column:1/-1}
  .dhf-wind-field{grid-column:1}
  .dhf-pressure-field{grid-column:2}
  .dhf-rut-field{grid-column:3}
  .dhf-days-field{grid-column:4}
  .dhf-form .dhf-submit{grid-column:5;width:auto;white-space:nowrap}
}

@container (max-width:620px){
  .dhf-form{grid-template-columns:1fr;gap:16px}
  .dhf-location-field,.dhf-wind-field,.dhf-pressure-field,.dhf-rut-field,.dhf-days-field,.dhf-form .dhf-submit{grid-column:1}
  .dhf-location-controls{grid-template-columns:1fr}
  .dhf-location-controls .dhf-current-location,.dhf-form .dhf-submit{width:100%;min-height:50px}
}

@media (forced-colors:active){
  .dhf-form,.dhf-day-card,.dhf-calendar-feed{border:1px solid CanvasText}
  .dhf-form .dhf-submit,.dhf-overview{forced-color-adjust:auto}
}

/* Dark-theme contrast refinements (v2.4.4).
 * Dark styling is based on the page's actual rendered background or an
 * explicit theme dark-mode class. It no longer follows the operating-system
 * preference by itself, preventing dark controls on a light website. */
.dhf-app.dhf-is-dark{
  --dhf-text:#f1f5f1;
  --dhf-surface:#18221d;
  --dhf-surface-raised:#202c25;
  --dhf-accent:#9bd19e;
  --dhf-accent-surface:#2d6738;
  --dhf-border:rgba(229,241,231,.23);
  --dhf-muted:rgba(235,243,236,.72);
  --dhf-soft:rgba(255,255,255,.055);
  --dhf-softer:rgba(255,255,255,.03);
  color:var(--dhf-text);
}
.dhf-app.dhf-is-dark .dhf-form,
.dhf-app.dhf-is-dark .dhf-calendar-feed,
.dhf-app.dhf-is-dark .dhf-hunt-recommendation{background:var(--dhf-soft)}
.dhf-app.dhf-is-dark .dhf-form input,
.dhf-app.dhf-is-dark .dhf-form select,
.dhf-app.dhf-is-dark .dhf-location-controls .dhf-current-location,
.dhf-app.dhf-is-dark .dhf-day-card,
.dhf-app.dhf-is-dark .dhf-day-toggle,
.dhf-app.dhf-is-dark .dhf-feed-actions a,
.dhf-app.dhf-is-dark .dhf-feed-actions button,
.dhf-app.dhf-is-dark .dhf-calendar-actions a{background:var(--dhf-surface-raised);color:var(--dhf-text)}
.dhf-app.dhf-is-dark .dhf-form select option{background:#202c25;color:#f1f5f1}
.dhf-app.dhf-is-dark .dhf-form input[type="date"]{color-scheme:dark}
.dhf-app.dhf-is-dark .dhf-form input::placeholder{color:rgba(235,243,236,.55);opacity:1}
.dhf-app.dhf-is-dark .dhf-day-toggle:hover,.dhf-app.dhf-is-dark .dhf-day-toggle:active{background:#27352c}
.dhf-app.dhf-is-dark .dhf-overview,
.dhf-app.dhf-is-dark .dhf-form .dhf-submit,
.dhf-app.dhf-is-dark .dhf-feed-actions .dhf-feed-primary{background:var(--dhf-accent-surface);border-color:var(--dhf-accent-surface);color:#fff}
.dhf-app.dhf-is-dark .dhf-location-controls .dhf-current-location,
.dhf-app.dhf-is-dark .dhf-detail-grid h4,.dhf-reasons h4,.dhf-hourly-heading h4,.dhf-pressure-wide h4,
.dhf-app.dhf-is-dark .dhf-solunar b,.dhf-window-label,.dhf-hunt-recommendation strong,
.dhf-app.dhf-is-dark .dhf-window-row>b{color:var(--dhf-accent)}
.dhf-app.dhf-is-dark .dhf-calendar-feed small,.dhf-hourly-heading p,.dhf-window-row small,.dhf-window-row span,
.dhf-app.dhf-is-dark .dhf-hour-column small,.dhf-hour-score,.dhf-temps em,.dhf-large-score span,
.dhf-app.dhf-is-dark .dhf-method-note,.dhf-app.dhf-is-dark .dhf-location-status,.dhf-app.dhf-is-dark .dhf-rut-field small{color:var(--dhf-muted)}
.dhf-app.dhf-is-dark .dhf-score-track{background:rgba(255,255,255,.13)}
.dhf-app.dhf-is-dark .dhf-hunt-recommendation{border-left-color:var(--dhf-accent)}
.dhf-app.dhf-is-dark .dhf-pressure-chart{background:linear-gradient(to top,rgba(255,255,255,.055),transparent)}
.dhf-app.dhf-is-dark .dhf-pressure-chart polyline{stroke:var(--dhf-accent)}
.dhf-app.dhf-is-dark .dhf-feed-actions a,.dhf-app.dhf-is-dark .dhf-feed-actions button,.dhf-app.dhf-is-dark .dhf-calendar-actions a{opacity:1;border-color:var(--dhf-border)}
.dhf-app.dhf-is-dark .dhf-feed-actions a:hover,.dhf-app.dhf-is-dark .dhf-feed-actions button:hover,.dhf-app.dhf-is-dark .dhf-calendar-actions a:hover{background:#2a392f;color:#fff}
.dhf-app.dhf-is-dark .dhf-day-card{box-shadow:0 3px 14px rgba(0,0,0,.3)}

/* Theme/plugin driven dark modes that do not follow the operating-system
 * preference. Keep this selector list intentionally broad but scoped to the
 * forecaster so it cannot restyle the surrounding site. */
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-app{
  --dhf-text:#f1f5f1;
  --dhf-surface:#18221d;
  --dhf-surface-raised:#202c25;
  --dhf-accent:#9bd19e;
  --dhf-accent-surface:#2d6738;
  --dhf-border:rgba(229,241,231,.23);
  --dhf-muted:rgba(235,243,236,.72);
  --dhf-soft:rgba(255,255,255,.055);
  --dhf-softer:rgba(255,255,255,.03);
  color:var(--dhf-text);
}
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-form,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-calendar-feed,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-hunt-recommendation{background:var(--dhf-soft)}
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-form input,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-form select,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-location-controls .dhf-current-location,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-day-card,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-day-toggle,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-feed-actions a,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-feed-actions button,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-calendar-actions a{background:var(--dhf-surface-raised);color:var(--dhf-text)}
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-form select option{background:#202c25;color:#f1f5f1}
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-form input[type="date"]{color-scheme:dark}
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-overview,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-form .dhf-submit,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-feed-actions .dhf-feed-primary{background:var(--dhf-accent-surface);border-color:var(--dhf-accent-surface);color:#fff}
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-detail-grid h4,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-reasons h4,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-hourly-heading h4,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-pressure-wide h4,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-solunar b,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-window-label,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-hunt-recommendation strong,
:where(html[data-theme="dark"],body[data-theme="dark"],body.dark-mode,body.is-dark-theme,body.wp-dark-mode-active,body.wp-dark-mode-active-front) .dhf-location-controls .dhf-current-location{color:var(--dhf-accent)}
