/* Cold-weather run planner: additions to rp.css (Floor Tape). Same tokens, flat colour only. */
[hidden]{display:none!important}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
input[type=date],input[type=time]{color-scheme:dark}
.tool{padding-top:6vh}
.tool .intro{margin:0 0 1rem;max-width:60ch}
.quick{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 .4rem}
.grp{margin:1.4rem 0;padding-top:2rem}
.grp h3{display:flex;align-items:baseline;gap:.7rem;margin:0 0 .4rem;color:var(--chalk)}
.grp h3 i{font:900 2.6rem/.8 Stencil;font-style:normal;color:var(--tape);transform:rotate(-5deg);display:inline-block}
.grp .hint{margin:.2rem 0 .8rem;color:var(--dust);font-size:1rem;max-width:62ch}
.ctl{margin-top:.6rem}
.fld{min-width:0}
.pair{display:flex;gap:.5rem}
.ctl .pair input{width:auto;flex:1 1 0;min-width:0}
.ctl .pair select{width:auto;flex:0 0 6.6rem}
.ferr{margin:.35rem 0 0;color:#FF8A78;font:700 .98rem/1.3 ShText,sans-serif;display:flex;gap:.45rem;align-items:flex-start}
.ferr:empty{display:none}
.ferr::before{content:"";width:.7rem;height:.7rem;margin-top:.3rem;background:var(--flag);transform:rotate(45deg);flex:none}
.ctl input[aria-invalid=true],.rt input[aria-invalid=true]{border-color:var(--flag);box-shadow:0 0 0 3px rgba(226,54,31,.3)}
details.clock{margin-top:.8rem}
details.clock summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:800 1.05rem Shoulders;letter-spacing:.08em;text-transform:uppercase;color:var(--tape)}
.status{margin:1.6rem 0 1rem;padding:.9rem 1.1rem;border-left:6px solid var(--dust);background:var(--slab-2);max-width:none!important}
.status.ok{border-left-color:var(--tape)}.status.bad{border-left-color:var(--flag)}
.polar{background:var(--tape);color:var(--slab);padding:1rem 1.2rem;font-weight:700;margin:1rem 0;max-width:none!important}
.polar::before{content:"Sun check · ";font:800 .95rem Shoulders;letter-spacing:.14em;text-transform:uppercase}
.tool .sum{margin:1.4rem 0}
.sum>div{max-width:23ch}
.sum b{font-size:clamp(1.7rem,6vw,2.3rem);overflow-wrap:anywhere}
.sum span{display:block;margin-top:.25rem;font:500 .95rem/1.3 ShText;letter-spacing:0;text-transform:none;color:var(--dust)}
.acts{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center;margin:1.2rem 0 0}
.acts .ghost{min-width:44px}
.acts select{width:auto;min-width:7rem;flex:none;border-color:var(--dust);background:var(--slab);color:var(--chalk)}
.acts button:disabled{opacity:.5;cursor:not-allowed}
.acts .m{color:var(--dust);font-size:1rem;min-height:1.4em}
.tool h3.sh{margin:2.4rem 0 .6rem}
.days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:1.2rem}
.days li{max-width:none;margin:0}
.day{position:relative;background:var(--slab-2);padding:1.5rem 1.1rem 1rem;min-width:0}
.day::before{content:"";position:absolute;left:-.3rem;right:.5rem;top:0;height:.45rem;background:var(--tape);transform:rotate(-.6deg)}
.day.dark::before{background:var(--flag)}
.day h4{margin:0 0 .3rem;color:var(--chalk);font:800 1.35rem/1.1 Shoulders;text-transform:uppercase}
.day p{margin:.25rem 0;max-width:none}
.win{display:flex;flex-wrap:wrap;gap:.1rem .5rem;align-items:baseline;font:900 1.75rem/1.05 Stencil;color:var(--tape)}
.win span{overflow-wrap:anywhere}.win i{font:800 1.2rem Shoulders;font-style:normal;color:var(--dust)}
.dl{font-size:.98rem;color:var(--dust)}
.rn{font-weight:700;color:var(--chalk)}.rn span{font-weight:500;color:var(--dust)}
.pc{font:800 1.15rem Shoulders;letter-spacing:.04em;color:var(--tape)}
.fl{font-size:.98rem;line-height:1.35}.fl b{display:block;font:800 1rem Shoulders;letter-spacing:.1em;text-transform:uppercase;color:var(--tape)}
.day.dark .fl b{color:#FF8A78}
.dtl{display:block;margin-top:.7rem}
.dtl span{display:block;font:800 .85rem Shoulders;letter-spacing:.12em;text-transform:uppercase;color:var(--dust);margin-bottom:.2rem}
.dtl select{width:100%;min-height:44px;flex:none;border-color:var(--dust);background:var(--slab);color:var(--chalk)}
.tblw.tall{max-height:30rem;overflow:auto;background:var(--slab-2)}
.tblw.tall:focus-visible{outline-offset:-3px}
.tall .tbl{min-width:44rem}
.tall thead th{position:sticky;top:0;background:var(--slab);z-index:1}
.tbl.dl th[scope=row]{font:800 1.05rem Shoulders;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:.65rem .8rem;white-space:nowrap}
.tbl.dl td{white-space:nowrap}
.tbl.dl tr.mark>*{background:rgba(255,194,14,.13)}
.tbl.dl tr[data-dark] td:last-child{color:#FF8A78;font-weight:700}
.tbl.dl em{font:800 .75rem Shoulders;font-style:normal;letter-spacing:.1em;text-transform:uppercase;background:var(--tape);color:var(--slab);padding:.1rem .4rem;margin-left:.5rem}
.why{color:var(--dust);max-width:70ch;min-height:1.5em}
#rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:.4rem 3rem;margin:.6rem 0 1rem}
.rt{font-size:1rem}
.rt caption{font:800 1rem Shoulders;letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--chalk);padding:1rem 0 .4rem}
.rt th[scope=row]{text-align:left;font:700 1rem ShText;padding:.35rem .8rem .35rem 0;color:var(--chalk)}
.rt td{padding:.3rem .5rem}
.rt input{width:4.8rem;min-height:44px;flex:none;border-color:var(--dust);background:var(--slab);color:var(--chalk);text-align:right;padding:.4rem .6rem}
.rt tr.on>*{background:rgba(255,194,14,.12)}
.rt tr.on th{box-shadow:inset 4px 0 0 var(--tape);padding-left:.7rem}
.cl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;margin-top:1rem}
.cl fieldset{background:var(--bib);color:var(--slab);border:0;border-radius:8px;margin:0;min-width:0;padding:.8rem 1.1rem 1rem;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.cl legend{font:800 1rem Shoulders;letter-spacing:.12em;text-transform:uppercase;color:#4F4A41;padding:0 .3rem}
.ck{display:flex;gap:.7rem;align-items:flex-start;min-height:44px;padding:.4rem 0;cursor:pointer;line-height:1.3}
.ck input{flex:none;width:26px;height:26px;min-height:26px;min-width:26px;padding:0;margin:.05rem 0 0;accent-color:var(--slab);border-radius:4px}
.cb{max-width:70ch}
.steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.4rem;margin:1rem 0}
.steps3 div{padding-top:1rem;border-top:.55rem solid var(--tape)}
.steps3 h3{margin:0 0 .3rem;color:var(--chalk)}
.steps3 p{margin:0;color:var(--dust)}
.fine{max-width:1280px;margin:2rem auto 0;padding:0 6vw;color:var(--dust);font-size:.95rem}
.xl a .dust{display:block;font-size:.95rem;margin:.3rem 0 0}
#stickycta span{flex:1;min-width:0}#stickycta .cta{flex:none}
@media (max-width:430px){#stickycta span{display:none}#stickycta .cta{width:100%}.pair{flex-wrap:wrap}.ctl .pair select{flex:1 1 100%}.tool{padding-top:3vh}.acts .ghost,.acts select{flex:1 1 100%}}
.crumb{max-width:1280px;margin:0 auto;padding:1rem 6vw 0;font:800 1rem Shoulders;letter-spacing:.14em;text-transform:uppercase;color:var(--dust)}
.crumb a{display:inline-flex;align-items:center;min-height:44px;padding:0 .2rem}
#sheet{display:none}
@media print{
 html,body{background:#fff!important;color:#000!important;font-size:10pt}
 body>*:not(#sheet){display:none!important}
 #sheet{display:block!important;font-family:ShText,sans-serif}
 #sheet h1{font:900 22pt/1 Stencil,sans-serif;text-transform:uppercase;margin:0 0 2mm;max-width:none;color:#000}
 #sheet h2{font:800 11pt Shoulders,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin:5mm 0 2mm;color:#000}
 #sheet .sub{font:500 9pt/1.35 ShText,sans-serif;margin:0 0 3mm;color:#222;max-width:none}
 #sheet table{width:100%;border-collapse:collapse;font-size:8.5pt}
 #sheet th,#sheet td{border:1pt solid #000;padding:2mm 1.5mm;text-align:left;vertical-align:top;color:#000}
 #sheet thead th{background:#eee;font:800 8pt Shoulders;text-transform:uppercase;letter-spacing:.06em}
 #sheet td.bx{width:9mm}
 #sheet .cl2{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}
 #sheet .cl2 div{border:1pt solid #000;padding:2mm}
 #sheet .cl2 b{font:800 8pt Shoulders;text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:1mm}
 #sheet .cl2 p{margin:0 0 1mm;font-size:9pt}
 #sheet .nl{border-bottom:1pt solid #000;height:8mm}
 #sheet tr,#sheet .cl2 div{break-inside:avoid}
}
