/* viaVARIA - WaterDay Florida tool styles.
   Generated from the standalone tool. Every rule is scoped under #waterday and every
   custom property is namespaced --wd-*, so this cannot reach vv.css or be reached by it.
   Do not hand-edit: regenerate from the tool source instead. */

#waterday{
  --wd-bg:#F5F1E6; --wd-surface:#FFFCF5; --wd-surface-2:#EDE7D8; --wd-sunk:#E4DCC9;
  --wd-ink:#2E332F; --wd-ink-mid:#5E6A63; --wd-ink-faint:#8B9089;
  --wd-line:rgba(46,51,47,.15); --wd-line-soft:rgba(46,51,47,.075);
  --wd-water:#256A85; --wd-water-soft:#DCE9EE; --wd-water-line:rgba(37,106,133,.32);
  --wd-sage:#5C7A52; --wd-straw:#A67C17;
  --wd-ok:#2F6B45; --wd-ok-soft:#DDE8DA; --wd-ok-line:rgba(47,107,69,.32);
  --wd-wait:#3F5A66; --wd-wait-soft:#E0E7EA; --wd-wait-line:rgba(63,90,102,.30);
  --wd-warn:#8A6210; --wd-warn-soft:#F2E7C9; --wd-warn-line:rgba(138,98,16,.32);
  --wd-stop:#8E4227; --wd-stop-soft:#EEDDD3; --wd-stop-line:rgba(142,66,39,.32);
  --wd-shadow:0 1px 2px rgba(46,51,47,.05), 0 14px 34px -24px rgba(46,51,47,.45);
  --wd-r:10px;
}
#waterday *{box-sizing:border-box}
#waterday [hidden]{display:none!important}
#waterday{
  margin:0; background:var(--wd-bg); color:var(--wd-ink);
  font-family:'Lora',Georgia,serif; font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
#waterday h1,
#waterday h2,
#waterday h3{font-family:'Fraunces',Georgia,serif; font-optical-sizing:auto; margin:0; text-wrap:balance; letter-spacing:-.012em}
#waterday .mono{font-family:'IBM Plex Mono',ui-monospace,monospace}
#waterday .label{
  font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:9.5px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--wd-ink-faint);
}
#waterday a{color:var(--wd-water); text-underline-offset:3px; text-decoration-thickness:1px}
#waterday a:hover{color:var(--wd-ink)}
#waterday :focus-visible{outline:2px solid var(--wd-water); outline-offset:2px; border-radius:3px}
@media (prefers-reduced-motion:reduce){
#waterday *{animation:none!important;transition:none!important}
}
#waterday .wrap{max-width:1180px; margin:0 auto; padding:0 22px}
#waterday /* ---------- header ---------- */
header.top{background:var(--wd-surface); border-bottom:1px solid var(--wd-line)}
#waterday .top-inner{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:18px; padding:20px 0 18px}
#waterday .brandmark{font-family:'Fraunces',serif; font-size:14px; line-height:1; white-space:nowrap}
#waterday .brandmark .via{font-weight:400; font-style:italic; color:var(--wd-ink-mid)}
#waterday .brandmark .varia{font-weight:900; letter-spacing:.06em}
#waterday .top-title h1{font-size:clamp(24px,3.2vw,34px); font-weight:900; line-height:1.05; margin-top:9px}
#waterday .top-title h1 em{font-style:italic; color:var(--wd-water)}
#waterday .top-meta{display:flex; gap:26px; flex-wrap:wrap}
#waterday .top-meta .k{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--wd-ink); margin-top:3px}
#waterday /* ---------- panels ---------- */
.panel{background:var(--wd-surface); border:1px solid var(--wd-line); border-radius:var(--wd-r); box-shadow:var(--wd-shadow); margin-bottom:20px}
#waterday .panel-hd{display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:15px 18px 12px; border-bottom:1px solid var(--wd-line-soft)}
#waterday .panel-hd h2{font-size:16px; font-weight:700}
#waterday .panel-bd{padding:18px}
#waterday /* ---------- input band ---------- */
.inputs{margin:26px 0 22px}
#waterday .step{border-top:1px solid var(--wd-line-soft)}
#waterday .step:first-of-type{border-top:none}
#waterday .step-hd{display:flex; align-items:baseline; gap:12px; padding:16px 20px 2px}
#waterday .step-n{
  font-family:'IBM Plex Mono',monospace; font-size:10px; font-weight:600; letter-spacing:.14em;
  color:var(--wd-water); border:1px solid var(--wd-water-line); background:var(--wd-water-soft);
  border-radius:999px; padding:3px 10px;
}
#waterday .step-hd h2{font-size:17px; font-weight:700}
#waterday .step-hd .sub{font-size:13px; color:var(--wd-ink-mid); font-style:italic; margin-left:auto; text-align:right}
@media (max-width:760px){
#waterday .step-hd .sub{display:none}
}
#waterday .grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px 16px; padding:14px 20px 20px}
#waterday .field{display:flex; flex-direction:column; gap:6px; min-width:0}
#waterday .field.wide{grid-column:span 2}
@media (max-width:640px){
#waterday .field.wide{grid-column:span 1}
}
#waterday .field > .label{color:var(--wd-ink-mid)}
#waterday .hint{font-size:11.5px; color:var(--wd-ink-faint); font-style:italic; line-height:1.45}
#waterday input[type=text],
#waterday input[type=date],
#waterday select{
  font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--wd-ink);
  background:var(--wd-surface-2); border:1px solid var(--wd-line); border-radius:7px;
  padding:9px 10px; width:100%; min-width:0;
}
#waterday select{cursor:pointer}
#waterday input:focus,
#waterday select:focus{border-color:var(--wd-water); outline:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--wd-water) 20%,transparent)}
#waterday .addr-row{display:flex; gap:8px; align-items:stretch}
#waterday .addr-row input{flex:1 1 auto; min-width:0}
#waterday .addr-row button{
  flex:none; font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
  color:#fff; background:var(--wd-water); border:1px solid var(--wd-water);
  border-radius:7px; padding:0 14px; white-space:nowrap;
}
#waterday .addr-row button:hover{filter:brightness(1.08)}
#waterday .addr-row button[disabled]{opacity:.55; cursor:default; filter:none}
#waterday .geo-strip{
  margin:0 20px 20px; padding:13px 15px; border-radius:9px;
  border:1px solid var(--wd-line); background:var(--wd-surface-2); font-size:13.5px; line-height:1.55;
}
#waterday .geo-strip.ok{border-color:var(--wd-ok-line); background:var(--wd-ok-soft)}
#waterday .geo-strip.warn{border-color:var(--wd-warn-line); background:var(--wd-warn-soft)}
#waterday .geo-matched{font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--wd-ink); letter-spacing:.02em}
#waterday .geo-chips{display:flex; flex-wrap:wrap; gap:7px; margin-top:10px}
#waterday .geo-chip{
  display:inline-flex; align-items:baseline; gap:7px; padding:5px 11px; border-radius:999px;
  background:var(--wd-surface); border:1px solid var(--wd-ok-line); font-size:12.5px; color:var(--wd-ink);
}
#waterday .geo-chip b{font-family:'Fraunces',serif; font-weight:700}
#waterday .geo-chip span{font-family:'IBM Plex Mono',monospace; font-size:8.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--wd-ink-faint)}
#waterday .geo-note{margin-top:9px; font-size:12.5px; color:var(--wd-ink-mid); font-style:italic}
#waterday .checkrow{display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:var(--wd-ink-mid); padding-top:2px}
#waterday .checkrow input{margin-top:3px; accent-color:var(--wd-water)}
#waterday /* ---------- the answer ---------- */
.answer{
  border-radius:var(--wd-r); border:1px solid var(--wd-ok-line); background:var(--wd-ok-soft);
  padding:26px 28px 24px; margin-bottom:14px;
}
#waterday .answer.unknown{border-color:var(--wd-warn-line); background:var(--wd-warn-soft)}
#waterday .answer .eyebrow{color:var(--wd-ok)}
#waterday .answer.unknown .eyebrow{color:var(--wd-warn)}
#waterday .ans-day{
  font-family:'Fraunces',serif; font-weight:900; font-optical-sizing:auto;
  font-size:clamp(30px,5.2vw,54px); line-height:1.02; color:var(--wd-ok); margin:10px 0 0;
}
#waterday .answer.unknown .ans-day{color:var(--wd-warn); font-size:clamp(24px,3.6vw,36px)}
#waterday .ans-times{display:flex; flex-wrap:wrap; gap:10px 14px; margin-top:16px}
#waterday .ans-time{
  font-family:'IBM Plex Mono',monospace; font-size:clamp(14px,1.7vw,18px); font-weight:500;
  background:var(--wd-surface); border:1px solid var(--wd-ok-line); color:var(--wd-ink);
  border-radius:8px; padding:9px 14px; font-variant-numeric:tabular-nums;
}
#waterday .answer.unknown .ans-time{border-color:var(--wd-warn-line)}
#waterday .ans-or{align-self:center; font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--wd-ink-mid)}
#waterday .ans-qual{margin:16px 0 0; font-size:14.5px; color:var(--wd-ink); line-height:1.55; max-width:64ch}
#waterday .ans-qual strong{font-family:'Fraunces',serif; font-weight:700}
#waterday /* ---------- current status strip (secondary) ---------- */
.nowstrip{
  display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px;
  background:var(--wd-surface); border:1px solid var(--wd-line); border-radius:var(--wd-r);
  padding:13px 18px; margin-bottom:20px;
}
#waterday .nowstrip .pip{width:8px; height:8px; border-radius:50%; background:var(--wd-wait); flex:none}
#waterday .nowstrip.live .pip{background:var(--wd-ok)}
#waterday .nowstrip .txt{font-size:13.5px; color:var(--wd-ink-mid); line-height:1.5}
#waterday .nowstrip .txt b{color:var(--wd-ink); font-family:'Fraunces',serif; font-weight:700}
#waterday .nowstrip .cd{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--wd-ink); font-variant-numeric:tabular-nums; white-space:nowrap}
#waterday .nowstrip .spacer{flex:1 1 auto}
#waterday /* ---------- week strip ---------- */
.week{display:grid; grid-template-columns:32px repeat(7,minmax(0,1fr)); gap:5px}
#waterday .week .hcol{display:flex; flex-direction:column; justify-content:space-between; padding:19px 0 15px}
#waterday .week .hcol span{font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--wd-ink-faint)}
#waterday .day{display:flex; flex-direction:column; gap:5px; min-width:0}
#waterday .day-name{text-align:center; font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--wd-ink-faint)}
#waterday .day.on .day-name{color:var(--wd-ok); font-weight:600}
#waterday .day.today .day-name{color:var(--wd-water); font-weight:600}
#waterday .bar{position:relative; height:128px; background:var(--wd-sunk); border:1px solid var(--wd-line-soft); border-radius:5px; overflow:hidden}
#waterday .day.on .bar{border-color:var(--wd-ok-line)}
#waterday .slot{position:absolute; left:0; right:0; background:var(--wd-ok); opacity:.85}
#waterday .day.today .bar{box-shadow:inset 0 0 0 1px var(--wd-water)}
#waterday .nowline{position:absolute; left:0; right:0; height:2px; background:var(--wd-water); z-index:3}
#waterday .day-foot{text-align:center; font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--wd-ink-faint); min-height:12px}
#waterday .legend{display:flex; flex-wrap:wrap; gap:16px; margin-top:14px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--wd-ink-faint)}
#waterday .legend i{display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; vertical-align:-1px}
#waterday /* ---------- confidence ---------- */
.conf-head{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap}
#waterday .conf-score{font-family:'IBM Plex Mono',monospace; font-size:34px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1}
#waterday .badge{
  display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace;
  font-size:10px; font-weight:500; letter-spacing:.13em; text-transform:uppercase;
  padding:4px 9px; border-radius:999px; border:1px solid;
}
#waterday .badge.ok{color:var(--wd-ok); border-color:var(--wd-ok-line); background:var(--wd-ok-soft)}
#waterday .badge.water{color:var(--wd-water); border-color:var(--wd-water-line); background:var(--wd-water-soft)}
#waterday .badge.warn{color:var(--wd-warn); border-color:var(--wd-warn-line); background:var(--wd-warn-soft)}
#waterday .badge.stop{color:var(--wd-stop); border-color:var(--wd-stop-line); background:var(--wd-stop-soft)}
#waterday .badge.mute{color:var(--wd-ink-mid); border-color:var(--wd-line); background:var(--wd-surface-2)}
#waterday .meter{height:7px; border-radius:4px; background:var(--wd-sunk); overflow:hidden; margin:14px 0 4px; border:1px solid var(--wd-line-soft)}
#waterday .meter i{display:block; height:100%; background:var(--wd-sage)}
#waterday .meter-ticks{display:flex; justify-content:space-between; font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--wd-ink-faint); letter-spacing:.06em}
#waterday .deduct{list-style:none; margin:16px 0 0; padding:0}
#waterday .deduct li{display:flex; gap:12px; padding:9px 0; border-top:1px solid var(--wd-line-soft); font-size:13.5px; color:var(--wd-ink-mid)}
#waterday .deduct .amt{font-family:'IBM Plex Mono',monospace; font-size:12px; font-weight:600; color:var(--wd-stop); flex:none; width:38px; text-align:right; font-variant-numeric:tabular-nums}
#waterday /* ---------- chips ---------- */
.chips{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:9px}
#waterday .chip{
  display:flex; flex-direction:column; gap:3px; padding:10px 13px; border-radius:8px;
  background:var(--wd-surface-2); border:1px solid var(--wd-line-soft); min-width:0;
}
#waterday .chip .ck{font-family:'IBM Plex Mono',monospace; font-size:8.5px; letter-spacing:.15em; text-transform:uppercase; color:var(--wd-ink-faint)}
#waterday .chip .cv{font-family:'Fraunces',serif; font-weight:700; font-size:13.5px; line-height:1.3; overflow-wrap:anywhere}
#waterday .chip .cn{font-size:11.5px; color:var(--wd-ink-faint); font-style:italic; line-height:1.4}
#waterday .chip.unknown{border-color:var(--wd-warn-line)}
#waterday .chip.unknown .cv{color:var(--wd-warn)}
#waterday .chip.good{border-color:var(--wd-ok-line)}
#waterday /* ---------- rule stack ---------- */
.stack{list-style:none; margin:0; padding:0}
#waterday .stack li{display:grid; grid-template-columns:24px 1fr; gap:13px; padding:15px 0; border-top:1px solid var(--wd-line-soft)}
#waterday .stack li:first-child{border-top:none; padding-top:2px}
#waterday .rank{font-family:'IBM Plex Mono',monospace; font-size:11px; font-weight:600; color:var(--wd-ink-faint); padding-top:3px; font-variant-numeric:tabular-nums}
#waterday .rule-hd{display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:5px}
#waterday .rule-name{font-family:'Fraunces',serif; font-weight:700; font-size:14.5px}
#waterday .rule-why{font-size:13.5px; color:var(--wd-ink-mid); line-height:1.55}
#waterday .rule-meta{margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--wd-ink-faint); letter-spacing:.03em; line-height:1.75}
#waterday .stack li.faded .rule-name,
#waterday .stack li.faded .rule-why{color:var(--wd-ink-faint)}
#waterday /* ---------- tables ---------- */
.tablewrap{overflow-x:auto}
#waterday table{border-collapse:collapse; width:100%; font-size:13.5px}
#waterday th{text-align:left; font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--wd-ink-faint); font-weight:500; padding:0 14px 9px 0; border-bottom:1px solid var(--wd-line)}
#waterday td{padding:11px 14px 11px 0; border-bottom:1px solid var(--wd-line-soft); vertical-align:top; color:var(--wd-ink-mid)}
#waterday td:first-child{color:var(--wd-ink); font-family:'Fraunces',serif; font-weight:700; white-space:nowrap}
#waterday td:last-child{white-space:nowrap; font-family:'IBM Plex Mono',monospace; font-size:11px}
#waterday tr:last-child td{border-bottom:none}
#waterday /* ---------- sources / notes ---------- */
.srcs{list-style:none; margin:0; padding:0}
#waterday .srcs li{padding:13px 0; border-top:1px solid var(--wd-line-soft)}
#waterday .srcs li:first-child{border-top:none; padding-top:0}
#waterday .src-t{font-family:'Fraunces',serif; font-weight:700; font-size:14px; line-height:1.35}
#waterday .src-u{font-family:'IBM Plex Mono',monospace; font-size:10.5px; word-break:break-all; display:block; margin-top:4px}
#waterday .src-m{margin-top:5px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--wd-ink-faint)}
#waterday details{border-top:1px solid var(--wd-line-soft); padding:13px 0}
#waterday details:first-of-type{border-top:none}
#waterday summary{cursor:pointer; font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--wd-ink-mid)}
#waterday summary:hover{color:var(--wd-water)}
#waterday pre{
  background:var(--wd-sunk); border:1px solid var(--wd-line-soft); border-radius:7px; padding:14px;
  overflow-x:auto; font-family:'IBM Plex Mono',monospace; font-size:11px; line-height:1.6; color:var(--wd-ink-mid); margin:12px 0 0;
}
#waterday .note{
  background:var(--wd-surface-2); border-left:2px solid var(--wd-sage); border-radius:0 7px 7px 0;
  padding:12px 15px; font-size:13.5px; color:var(--wd-ink-mid); line-height:1.6;
}
#waterday .note.caution{border-left-color:var(--wd-straw)}
#waterday .note.alert{border-left-color:var(--wd-stop)}
#waterday .note.info{border-left-color:var(--wd-water)}
#waterday .note strong{color:var(--wd-ink); font-family:'Fraunces',serif; font-weight:700}
#waterday .note + .note{margin-top:10px}
#waterday .notes-wrap > .note:first-child{margin-top:0}
#waterday .tests{margin-top:12px}
#waterday .test{display:grid; grid-template-columns:48px 1fr auto; gap:12px; padding:8px 0; border-top:1px solid var(--wd-line-soft); font-size:13px; color:var(--wd-ink-mid); align-items:baseline}
#waterday .test .st{font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:.12em; font-weight:600}
#waterday .test.pass .st{color:var(--wd-ok)}
#waterday .test.fail .st{color:var(--wd-stop)}
#waterday .test .exp{font-family:'IBM Plex Mono',monospace; font-size:10.5px; color:var(--wd-ink-faint); text-align:right}
#waterday footer.foot{border-top:1px solid var(--wd-line); margin-top:34px; background:var(--wd-surface)}
#waterday .foot-inner{padding:26px 0 40px; display:flex; flex-wrap:wrap; gap:26px; justify-content:space-between}
#waterday .disclaimer{max-width:66ch; font-size:13.5px; color:var(--wd-ink-mid); font-style:italic; line-height:1.65}
#waterday .disclaimer strong{font-style:normal; font-family:'Fraunces',serif; color:var(--wd-ink)}

/* --- site-page extras, not in the standalone tool ---
   These undo four vv.css rules that reach inside the tool. Each one is a real
   collision found by rendering the page, not a precaution:
     section{padding:clamp(48px,7vw,88px) 0}  blew a 48-88px gap between Step 1
                                              and Step 2, which are <section>s
     .field{margin-bottom:16px}               doubled the input grid's row gap
     .field label{text-transform:uppercase}   shouted the checkbox label
     .wrap{max-width:1140px}                  tool ran 40px wider than the page */
#waterday section{padding:0}
#waterday .wrap{max-width:var(--wrap)}
#waterday .field{margin-bottom:0}
#waterday .checkrow label{
  display:inline;font:inherit;font-size:inherit;letter-spacing:normal;
  text-transform:none;color:inherit;margin:0;
}
#waterday{padding:0 0 8px}
#waterday .wd-meta{
  display:flex;flex-wrap:wrap;gap:22px 34px;align-items:baseline;
  padding:0 0 4px;margin:0 0 4px;
}
#waterday .wd-meta .k{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--wd-ink);margin-top:3px}
#waterday .wd-legal{
  border-top:1px solid var(--wd-line);margin-top:30px;padding-top:22px;
  font-size:13.5px;color:var(--wd-ink-mid);font-style:italic;line-height:1.65;max-width:70ch;
}
#waterday .wd-legal strong{font-style:normal;font-family:'Fraunces',Georgia,serif;color:var(--wd-ink)}
