/* Ramp planner: extends rp.css (Floor Tape). Lanes, painted numerals, tape flags. */
.rf{max-width:1280px;margin:0 auto;padding:4vh 6vw 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:2.2rem 3vw}
.rf h2.vh,.vh2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rf .lane{padding:2.4rem 1.4rem 1.6rem;min-width:0}
.rf .lane>.no{position:absolute;right:1rem;top:.5rem;margin:0;font:900 3.6rem/1 Stencil;color:#35322D;transform:rotate(-6deg);pointer-events:none}
.rf .lane>h3{margin:0 0 1rem;font:800 1.35rem/1.1 Shoulders;text-transform:uppercase;color:var(--chalk);letter-spacing:.03em}
.rf .lane>.hint{margin:-.4rem 0 1rem;color:var(--dust);font-size:1rem;max-width:44ch}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.g4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.fld{min-width:0}.fld.full{grid-column:1/-1}
.fld label,.fld .lab{display:block;font:800 .92rem/1.2 Shoulders;letter-spacing:.1em;text-transform:uppercase;color:var(--dust);margin-bottom:.35rem}
.fld .opt{text-transform:none;letter-spacing:0;font:500 .9rem ShText;opacity:.9}
.iw{position:relative}
.iw .u{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);font:800 .95rem Shoulders;letter-spacing:.08em;color:#4F4A41;pointer-events:none}
.rf input,.rf select,.rf textarea,.rt input{width:100%;flex:none;min-height:48px;font:700 1.15rem ShText,sans-serif;padding:.6rem .9rem;border:2px solid var(--bib);border-radius:10px;background:var(--bib);color:var(--slab);caret-color:var(--flag)}
.rf .iw input{padding-right:3.6rem}
.rf textarea{min-height:5.5rem;resize:vertical;font-weight:500;line-height:1.35;overflow-wrap:anywhere}
.rf select{padding-right:.4rem;font-size:1.05rem}
.rf input::placeholder,.rf textarea::placeholder{color:#6B665C;font-weight:500}
.rf input[aria-invalid=true],.rf select[aria-invalid=true],.rt input[aria-invalid=true]{border-color:var(--flag);box-shadow:0 0 0 3px rgba(226,54,31,.35)}
.ferr{margin:.35rem 0 0;color:#FF8A78;font:700 .95rem/1.3 ShText;display:flex;gap:.45rem;align-items:flex-start}
.ferr:empty{display:none}
.ferr::before{content:"";flex:none;width:.65rem;height:.65rem;margin-top:.3em;background:var(--flag);transform:rotate(45deg)}
.seg{display:flex;gap:.5rem;flex-wrap:wrap}
.seg label{position:relative;margin:0;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;width:100%;height:100%;min-height:0;cursor:pointer}
.seg span,.dayc span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:56px;padding:.4rem 1rem;border:2px solid var(--dust);border-radius:10px;font:800 1.05rem Shoulders;letter-spacing:.06em;text-transform:uppercase;color:var(--chalk);background:transparent}
.seg input:checked+span,.dayc input:checked+span{background:var(--tape);border-color:var(--tape);color:var(--slab)}
.seg input:focus-visible+span,.dayc input:focus-visible+span{outline:3px solid var(--flag);outline-offset:3px}
.seg label:hover span,.dayc:hover span{border-color:var(--tape)}
.days{display:flex;flex-wrap:wrap;gap:.5rem}
.dayc{position:relative;margin:0!important;cursor:pointer}
.dayc input{position:absolute;opacity:0;inset:0;width:100%;height:100%;min-height:0;cursor:pointer}
.dayc span{min-width:52px}
.go{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.6rem}
.go .cta{min-width:16rem}
.go .st{margin:0;color:var(--dust);flex:1 1 16rem}
.go .st.bad{color:#FF8A78;font-weight:700}
.res{max-width:1280px;margin:0 auto;padding:7vh 6vw 0}
.res h2{font:800 clamp(1.8rem,4vw,2.6rem)/1 Shoulders;text-transform:uppercase;margin:0 0 1rem;scroll-margin-top:1rem}
.res h2:focus{outline:none}
.empty{padding:2rem 1.4rem 1.6rem}
.empty p{max-width:52ch;margin:.2rem 0 1rem}
.empty .ghost{margin-top:.2rem}
.note{border-left:5px solid var(--tape);padding:.15rem 0 .15rem .8rem;margin:.6rem 0;max-width:72ch}
.note.warn{border-color:var(--flag)}
.note b{color:var(--tape);font-weight:700}
.banner{background:var(--slab-2);border-left:5px solid var(--flag);padding:.7rem 1rem;margin:0 0 1rem;font-weight:700}
.rt{width:100%;border-collapse:collapse}
.rt th{white-space:normal}
.rt td{vertical-align:top;padding:.7rem .8rem}
.rt .wk{font:900 1.5rem/1 Stencil;color:var(--tape)}
.rt .wk small{display:block;margin-top:.3rem;font:800 .95rem/1.2 Shoulders;letter-spacing:.06em;text-transform:uppercase;color:var(--chalk)}
.rt .ty{display:inline-block;margin-top:.3rem;font:800 .8rem Shoulders;letter-spacing:.14em;text-transform:uppercase;color:var(--dust)}
.rt tr.deload .ty{color:var(--tape)}
.rt .yr{display:inline-block;margin-left:.4rem;padding:0 .4rem;background:var(--tape);color:var(--slab);font:900 .95rem/1.25 Stencil;transform:rotate(-3deg)}
.rt tr.logged td{color:var(--dust)}
.rt tr.logged .wk{color:var(--dust);font-size:1.2rem}
.rt tr.logged .vv{font:700 1.15rem ShText}
.rt .vi{display:flex;align-items:center;gap:.4rem;max-width:11rem}
.rt .vi input{min-height:44px;padding:.4rem .6rem;font-size:1.1rem}
.rt .vi .u{font:800 .9rem Shoulders;letter-spacing:.08em;color:var(--dust)}
.rt tr.edited .vi input{border-color:var(--tape);box-shadow:0 0 0 3px rgba(255,194,14,.35)}
.rt .tag{display:inline-block;margin:.3rem .4rem 0 0;font:800 .8rem Shoulders;letter-spacing:.14em;text-transform:uppercase;color:var(--tape)}
.rt .rs{margin:.3rem 0 0;background:none;border:0;color:var(--chalk);font:700 .95rem ShText;text-decoration:underline;text-underline-offset:.2em;min-height:44px;min-width:44px;padding:0 .2rem;cursor:pointer}
.rt .rs:hover{color:var(--tape)}
.rt .pc{font:900 1.5rem/1 Stencil;color:var(--chalk)}
.rt .flg{display:inline-flex;align-items:center;gap:.4rem;margin-left:.6rem;font:800 .9rem Shoulders;letter-spacing:.1em;text-transform:uppercase;color:#FF8A78;vertical-align:.15em}
.rt .flg::before{content:"";width:.65rem;height:.65rem;background:var(--flag);transform:rotate(45deg)}
.rt .ar{display:block;margin-top:.35rem;color:var(--dust);font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
.rt .ses{display:flex;flex-wrap:wrap;gap:.35rem}
.rt .ses span{display:inline-flex;flex-direction:column;align-items:center;min-width:3.4rem;padding:.2rem .45rem .15rem;border:2px solid rgba(237,231,217,.35);border-radius:6px;font:700 1.05rem/1.15 ShText}
.rt .ses i{font:800 .7rem Shoulders;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--dust)}
.rt .ses .lg{background:var(--tape);border-color:var(--tape);color:var(--slab)}
.rt .ses .lg i{color:var(--slab)}
.rt tfoot td{font:800 1rem Shoulders;letter-spacing:.06em;text-transform:uppercase}
.acts{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end;margin:1.4rem 0 0}
.acts .fld{min-width:9rem}.acts select{min-height:48px;border-radius:10px;border:2px solid var(--bib);background:var(--bib);color:var(--slab);font:700 1.05rem ShText;padding:.4rem .6rem}
.acts .st{margin:0;color:var(--dust);min-height:1.5em;flex:1 1 12rem}
.how3{max-width:1280px;margin:0 auto;padding:6vh 6vw 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.how3 h2{grid-column:1/-1;font:800 clamp(1.8rem,4vw,2.6rem)/1 Shoulders;text-transform:uppercase;margin:0}
.how3 div{padding-top:1rem;border-top:.55rem solid var(--tape)}
.how3 h3{font:800 1.5rem Shoulders;text-transform:uppercase;margin:0 0 .3rem}
.how3 p{margin:0;color:var(--dust)}
.fine2{max-width:1280px;margin:2rem auto 0;padding:0 6vw;color:var(--dust);font-size:1rem}
.rp-art .sec p{max-width:66ch}
.rp-art .tblw{margin:1rem 0 .4rem}
.rp-art .tbl td.r,.rp-art .tbl th.r{white-space:nowrap}
.rp-art .tbl td.how{color:var(--dust);font-size:.95rem;min-width:12rem}
.rp-art .tbl td.fl{color:#FF8A78;font-weight:700}
.rp-art figcaption{color:var(--dust);font-size:1rem;margin:.4rem 0 0;max-width:66ch}
.rp-art .byline{color:var(--dust);margin:1.4rem 0 0;font-size:1rem}
.rp-art .formula{background:var(--slab-2);padding:1rem 1.2rem;margin:1rem 0;font:700 1.25rem/1.4 ShText;max-width:66ch;overflow-wrap:anywhere;border-left:5px solid var(--tape)}
#sheet{display:none}
.tbl tr.chk td{box-shadow:none}.tbl tr.chk td:first-child{box-shadow:inset 5px 0 0 var(--flag)}
@media(max-width:900px){.how3{grid-template-columns:1fr}}
@media(max-width:760px){
 .rf{padding-top:3vh}
 .go .cta{width:100%}
 .res{padding-top:5vh}
 .rt{display:block}.rt thead{display:none}.rt tbody,.rt tfoot,.rt tr,.rt td{display:block}
 .rt tr{background:var(--slab-2);margin:0 0 .8rem;padding:.7rem 1rem .6rem;position:relative}
 .rt tr.chk{box-shadow:inset 5px 0 0 var(--flag)}.rt tr.chk td:first-child{box-shadow:none}
 .rt tbody tr:nth-child(even) td{background:none}
 .rt td{padding:.35rem 0;background:none!important}
 .rt td[data-l]::before{content:attr(data-l);display:block;font:800 .8rem Shoulders;letter-spacing:.12em;text-transform:uppercase;color:var(--dust);margin-bottom:.15rem}
 .rt td.wkc{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .8rem}
 .rt td.wkc::before{display:none}
 .rt .wk small{display:inline;margin:0}
 .rt .vi{max-width:none}
 .rt tfoot td{padding:.3rem 0}
 .rf .lane>.no{font-size:3rem}
}
@media(max-width:480px){.g2{grid-template-columns:1fr}}
@media(max-width:400px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.rf .lane{padding-left:1rem;padding-right:1rem}.rt .flg{margin-left:0;display:flex;margin-top:.3rem}}
@media(min-width:761px){.g4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media print{
 @page{margin:12mm}
 html,body{background:#fff!important;color:#1A1917!important}
 body>*:not(#sheet){display:none!important}
 #sheet{display:block!important;font:500 9.5pt/1.3 ShText,sans-serif;color:#1A1917}
 #sheet h2{font:900 20pt/1 Stencil,sans-serif;text-transform:uppercase;margin:0 0 3mm;overflow-wrap:anywhere}
 #sheet .meta{margin:0 0 1.5mm;font-size:9pt;overflow-wrap:anywhere}
 #sheet table{width:100%;border-collapse:collapse;margin:3mm 0;table-layout:auto}
 #sheet th{font:800 8pt Shoulders,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-align:left;border-bottom:2pt solid #1A1917;padding:1.4mm 1.2mm;background:#FFC20E!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #sheet td{border-bottom:.6pt solid #888;padding:1.8mm 1.2mm;font-size:9pt;vertical-align:middle}
 #sheet tr{break-inside:avoid}
 #sheet td.n{font:900 12pt Stencil,sans-serif}
 #sheet tr.dl td{background:#ECE8DC!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 #sheet tr.ov td.c{font-weight:700}
 #sheet tr.ov td:first-child{border-left:3pt solid #E2361F}
 #sheet .lgp{font-weight:700;text-decoration:underline}
 #sheet .bx{display:inline-block;width:4mm;height:4mm;border:1pt solid #1A1917}
 #sheet .wr{min-width:18mm}
 #sheet .notes{white-space:pre-wrap;overflow-wrap:anywhere;border:1pt dashed #777;padding:2mm;margin:2mm 0;min-height:10mm}
 #sheet .ft{font-size:8pt;margin-top:3mm;color:#4F4A41}
}
@media (prefers-reduced-motion:reduce){.rt *{transition:none!important}}
