/* Turkey Trot 5K planner. Extends rp.css (Floor Tape): slab / chalk / tape / flag / bib, Big Shoulders family. */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tnav{max-width:1280px;margin:0 auto;padding:.4rem 6vw 0}
.tnav a{display:inline-flex;align-items:center;min-height:44px;font:800 1rem Shoulders;letter-spacing:.14em;text-transform:uppercase}
.hero{padding-top:3vh;padding-bottom:max(12vh,6.5rem)}
.hero .lede{max-width:34ch}
.hset{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;max-width:36rem}
.hset .f{flex:1 1 11rem;min-width:0}
.hset label,.fld label:not(.ck){display:block;font:800 1rem Shoulders;letter-spacing:.14em;text-transform:uppercase;color:var(--dust);margin-bottom:.35rem}
.hset input{width:100%;min-height:52px;font:700 1.5rem ShText,sans-serif;padding:.5rem 1rem;border:2px solid var(--chalk);border-radius:10px;background:var(--bib);color:var(--slab);caret-color:var(--flag)}
.hset .cta{flex:1 1 12rem}
.terr,.ferr{flex-basis:100%;margin:0;color:#FF8A78;font:700 1rem/1.35 ShText,sans-serif;display:flex;gap:.45rem;align-items:flex-start}
.terr:empty,.ferr:empty{display:none}
.terr::before,.ferr::before{content:"";width:.7rem;height:.7rem;margin-top:.35rem;background:var(--flag);transform:rotate(45deg);flex:none}
.hset input[aria-invalid=true],.fld input[aria-invalid=true]{border-color:var(--flag);box-shadow:0 0 0 3px rgba(226,54,31,.3)}
.hero .cta-micro{margin-top:.9rem}
.hero .cta-trust{margin-top:.2rem}
/* setup lane */
.setup .grp{margin:1.2rem 0 0}
.setup .grp>span,.setup .lab,.fld>span{display:block;font:800 .95rem Shoulders;letter-spacing:.14em;text-transform:uppercase;color:var(--dust);margin-bottom:.4rem}
.setup .chips{margin:0}
.setup .note{margin:.6rem 0 0;color:var(--dust);font-size:1rem;max-width:56ch}
.setup select{width:100%;max-width:18rem;border-color:var(--tape);background:var(--slab);color:var(--chalk);flex:none}
.setup select option{background:var(--slab);color:var(--chalk)}
.fld{margin:0}
.fld input,.fld select{width:100%;max-width:none;min-height:48px;font:700 1.15rem ShText,sans-serif;padding:.5rem .9rem;border:2px solid var(--tape);border-radius:10px;background:var(--slab);color:var(--chalk);flex:none}
.fld select option{background:var(--slab);color:var(--chalk)}
.fld input[type=time]{color-scheme:dark}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1rem;margin:1rem 0}
.empty{max-width:1280px;margin:0 auto;padding:4vh 6vw 2vh}
.empty .lane{max-width:44rem}
.empty h2{font:900 clamp(2rem,5vw,3.2rem)/.95 Stencil;text-transform:uppercase;margin:0 0 .6rem}
.empty p{margin:.4rem 0;max-width:46ch}
#status{margin:.8rem 0 0;color:var(--dust);font-size:1rem;min-height:1.5em}
/* summary + warning */
.sec h2:focus{outline:none}
.sec p,.sec li,.ck span,.k1res,.terr,.ferr{overflow-wrap:break-word}
.basis{margin:.2rem 0 0;color:var(--dust);max-width:60ch}
.warn{position:relative;background:var(--slab-2);padding:2rem 1.4rem 1.4rem 1.8rem;margin:1.8rem 0 1.4rem;box-shadow:inset 8px 0 0 var(--flag)}
.warn::before{content:"";position:absolute;left:-.4rem;right:.6rem;top:0;height:.5rem;background:var(--flag);transform:rotate(-.5deg)}
.warn .wk{font:800 1rem Shoulders;letter-spacing:.2em;text-transform:uppercase;color:#FF8A78;margin:0 0 .4rem}
.warn h3{margin:0;color:var(--chalk);font:900 clamp(1.9rem,5.4vw,3rem)/1 Stencil;text-transform:uppercase;letter-spacing:0}
.warn h3 b{color:var(--tape);font-weight:900}
.warn h3 i{color:#FF8A78;font-style:normal}
.warn p{margin:.8rem 0 0;max-width:62ch}
.k1{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-end;margin-top:1.2rem}
.k1 .f{flex:0 1 11rem}
.k1 label{display:block;font:800 .95rem Shoulders;letter-spacing:.12em;text-transform:uppercase;color:var(--dust);margin-bottom:.3rem}
.k1 input{width:100%;min-height:48px;font:700 1.3rem ShText,sans-serif;padding:.4rem .9rem;border:2px solid var(--chalk);border-radius:10px;background:var(--bib);color:var(--slab);flex:none}
.k1 input[aria-invalid=true]{border-color:var(--flag);box-shadow:0 0 0 3px rgba(226,54,31,.3)}
.k1res{flex-basis:100%;margin:.2rem 0 0;padding:.2rem 0 .2rem .8rem;border-left:6px solid var(--dust);font-weight:700;max-width:62ch}
.k1res:empty{display:none}
.k1res[data-state=red]{border-left-color:var(--flag)}
.k1res[data-state=quick]{border-left-color:var(--tape)}
.k1res[data-state=on]{border-left-color:var(--chalk)}
.k1res b{font:800 1.05rem Shoulders;letter-spacing:.12em;text-transform:uppercase;margin-right:.5rem}
.k1res[data-state=red] b{color:#FF8A78}.k1res[data-state=quick] b{color:var(--tape)}
.twin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.4rem;margin:1.4rem 0}
.twin .lane{padding-bottom:1rem}
.twin h3{margin:.4rem 0 .6rem}
.twin .tbl td,.twin .tbl th{padding-left:.5rem;padding-right:.5rem}
.twin .tbl td.n{font-size:1.4rem}
.twin .tbl tfoot td{padding-top:.7rem}
.cta-repeat{margin-top:2.4rem}
.cta-repeat h2{margin:0 0 .5rem;font:800 clamp(1.5rem,3.4vw,2.1rem)/1.05 Shoulders;text-transform:uppercase;max-width:30ch}
/* 7 days */
.days{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.6rem 1.2rem}
.sec .day{position:relative;background:var(--slab-2);padding:1.5rem 1.2rem 1rem;margin:0;max-width:none}
.day::before{content:"";position:absolute;left:-.3rem;right:.5rem;top:0;height:.45rem;background:var(--tape);transform:rotate(-.6deg)}
.day:nth-child(even)::before{transform:rotate(.5deg)}
.day .rel{display:inline-block;font:900 2.7rem/.9 Stencil;color:var(--tape);text-transform:uppercase;transform:rotate(-3deg);transform-origin:left bottom}
.day .dw{display:block;font:800 .95rem Shoulders;letter-spacing:.16em;text-transform:uppercase;color:var(--dust);margin-top:.4rem}
.day h3{margin:.5rem 0 .3rem;font:800 1.4rem/1.1 Shoulders;color:var(--chalk)}
.sec .day p{margin:.3rem 0;max-width:none}
.day .tip{color:var(--dust);font-size:1rem}
.sec .day.race{background:var(--tape);color:var(--slab)}
.day.race::before{background:var(--slab)}
.day.race .rel,.day.race h3,.day.race .dw,.sec .day.race p,.day.race .tip{color:var(--slab)}
.day.rest .rel{color:var(--dust)}
.ck{display:flex;align-items:center;gap:.7rem;min-height:48px;cursor:pointer;font:700 1rem ShText,sans-serif;margin-top:.4rem;position:relative}
.ck input{appearance:none;-webkit-appearance:none;flex:none;width:28px;height:28px;min-height:0;padding:0;margin:0;border:3px solid var(--chalk);border-radius:6px;background:transparent;cursor:pointer;display:grid;place-content:center}
.ck input::before{content:"";width:14px;height:14px;transform:scale(0);background:var(--tape);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);transition:transform .15s}
.ck input:checked{border-color:var(--tape)}
.ck input:checked::before{transform:scale(1)}
.ck input:focus-visible{outline:3px solid var(--flag);outline-offset:3px}
.day.race .ck input{border-color:var(--slab)}.day.race .ck input::before{background:var(--slab)}
.ck input:checked+span{text-decoration:line-through;text-decoration-thickness:2px;opacity:.75}
/* race morning */
.tl{list-style:none;margin:1.4rem 0;padding:0}
.sec .tl li{display:grid;grid-template-columns:6.4rem minmax(0,1fr);gap:0 1rem;margin:0;padding:.8rem 0 .9rem 1.1rem;max-width:none;border-left:.55rem solid var(--tape)}
.sec .tl li.go{border-left-color:var(--flag)}
.tl .tm{font:900 1.8rem/1 Stencil;color:var(--tape);white-space:nowrap}
.tl .tm i{font-style:normal;font-size:.55em;letter-spacing:.02em;margin-left:.1em}
.tl .tm small{display:block;white-space:normal;font:800 .85rem Shoulders;letter-spacing:.1em;color:var(--dust);margin-top:.3rem}
.tl h3{margin:0 0 .2rem;font:800 1.35rem/1.1 Shoulders;color:var(--chalk)}
.tl p{margin:0;max-width:60ch}
.tl li.go .tm{color:#FF8A78}
/* kit */
.kit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.6rem 1.2rem;margin:1.2rem 0 0}
.kitg{background:var(--slab-2);padding:1.5rem 1.2rem 1rem;position:relative}
.kitg::before{content:"";position:absolute;left:-.3rem;right:.5rem;top:0;height:.45rem;background:var(--tape);transform:rotate(-.5deg)}
.kitg h3{margin:0 0 .4rem}
.kitg .ck{margin:0;border-top:0}
.rule{margin:1rem 0 0;color:var(--dust);max-width:62ch}
.wetck{margin-top:0}
/* bib card */
.cardwrap{container-type:inline-size;max-width:30rem;margin:1.6rem 0 0}
.pcard{font-size:.8rem;font-size:calc(100cqw / 29.7);width:100%;background:var(--bib);color:var(--slab);border-radius:.7em;overflow:hidden;padding-bottom:.9em;box-shadow:0 14px 30px rgba(0,0,0,.45);transform:rotate(-.8deg);text-align:left}
.pcard .ph{display:flex;justify-content:space-between;align-items:center;gap:1em;background:var(--tape);padding:.55em 1em .5em;color:var(--slab);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pcard .ph span{font:800 1.1em/1.1 Shoulders;letter-spacing:.1em;text-transform:uppercase}
.pcard .ph b{font:900 2.5em/.9 Stencil;letter-spacing:0}
.pcard .pa{margin:.5em 1em .3em;font:800 1em/1.2 Shoulders;letter-spacing:.08em;text-transform:uppercase;color:#4F4A41}
.pcard table{width:calc(100% - 2em);margin:.15em 1em .45em;border-collapse:collapse;table-layout:fixed;text-align:center;font-size:1em}
.pcard th{font:800 .95em/1.2 Shoulders;letter-spacing:.06em;text-transform:uppercase;color:#4F4A41;padding:.15em 0;width:auto}
.pcard th:first-child{width:3.9em;text-align:left}
.pcard thead th{background:var(--slab);color:var(--tape);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pcard thead th:first-child{padding-left:.4em}
.pcard td{font:700 1.05em/1.35 ShText,sans-serif;padding:.1em 0;border-bottom:.12em solid #D8D3C6}
.pcard td b{font:900 1.35em/1.2 Stencil}
.pcard .pw{margin:.5em 1em 0;padding-left:.7em;border-left:.4em solid var(--flag);font:800 1.05em/1.25 Shoulders;letter-spacing:.04em;text-transform:uppercase}
.cardacts{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;margin:1.6rem 0 0}
.cardacts .cta{flex:0 1 auto}
.cardnote{margin:.8rem 0 0;color:var(--dust);max-width:56ch}
.shst{color:var(--dust);font-size:1rem;margin:.6rem 0 0;min-height:1.5em}
.slinkrow{margin:.4rem 0 0;max-width:36rem}
.slinkrow input{width:100%;min-height:48px;border:2px solid var(--tape);background:var(--slab);color:var(--chalk);border-radius:10px;padding:.4rem .8rem;font:600 1rem ShText}
.sec.xlsec{padding-bottom:0}
.faq details{max-width:none}
.faq details p{max-width:62ch}
#cards{display:none}
#printhead{display:none}
@media (max-width:900px){.twin{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
 .hero{padding-top:2vh}
 .hset{max-width:none}
 .warn{padding:1.8rem 1rem 1.2rem 1.4rem}
 .sec .tl li{grid-template-columns:4.9rem minmax(0,1fr);gap:0 .7rem;padding-left:.8rem}
 .tl .tm{font-size:1.45rem}
 .tl .tm small{font-size:.8rem}
 .k1 .f{flex:1 1 8rem}
 .k1 .ghost{flex:1 1 8rem}
 .cardacts .cta,.cardacts .ghost{width:100%}
 .cardwrap{max-width:none}
}
@media (max-width:400px){.hero h1{font-size:2.8rem}.hero .lede{font-size:1.15rem}.sum{gap:1rem 1.6rem}.sum b{font-size:2rem}}
@media (prefers-reduced-motion:reduce){.ck input::before{transition:none}}
/* print: Ctrl+P prints the whole plan; "Print my bib card" adds body.pc and prints only the 8-up card sheet */
@media print{
 @page{margin:10mm}
 .tnav,.setup,.empty,.noprint,.xlsec,.hero,.cta-repeat,.cardacts,.cardnote,.shst,.slinkrow,#status,.k1 .ghost,.fld,.fgrid,.ferr,.terr{display:none!important}
 #printhead{display:block!important;margin:0 0 4mm}
 #printhead .ph1{font:900 20pt Stencil;color:#1A1917;margin:0;max-width:none}
 #printhead p{margin:1mm 0 0;font-size:10pt;color:#1A1917}
 .tbl tfoot td{color:#1A1917!important;border-top:2px solid #1A1917}
 .basis,.dust,.day .tip{color:#4F4A41!important}
 .warn{background:none;box-shadow:none;border:2px solid #1A1917;padding:4mm;break-inside:avoid;margin:3mm 0}
 .warn::before{display:none}.warn .wk,.warn h3,.warn h3 b,.warn h3 i,.warn p{color:#1A1917!important}
 .k1{display:none}
 .twin{grid-template-columns:1fr 1fr;gap:6mm}
 .twin .lane{break-inside:avoid}
 .day,.kitg{background:none!important;border:1.5pt solid #1A1917;padding:3mm;break-inside:avoid}
 .day::before,.kitg::before{display:none}
 .day .rel,.day h3,.day .dw,.day .tip,.day p,.tl h3,.tl p,.tl .tm,.tl .tm small,.kitg h3,.rule{color:#1A1917!important}
 .sec .day.race{background:none!important}
 .days{gap:4mm;grid-template-columns:repeat(2,1fr)}
 .sec .tl li{border-left:2mm solid #1A1917;break-inside:avoid;padding:2mm 0 2mm 3mm}
 .tl .tm{font-size:15pt}
 .ck input{border:1.5pt solid #1A1917;width:5mm;height:5mm}.ck input::before{background:#1A1917}
 .ck{min-height:0;margin:1mm 0;color:#1A1917}
 .kit{grid-template-columns:repeat(2,1fr);gap:4mm}
 #cardsec .cardwrap{max-width:92mm}
 .pcard{box-shadow:none;transform:none;border:.3mm solid #1A1917}
 body.pc>*:not(#cards){display:none!important}
 body.pc #cards{display:grid!important;grid-template-columns:repeat(2,92mm);justify-content:center}
 #cards .cardwrap{width:92mm;max-width:none;margin:0;border:.25mm dashed #777;padding:0;break-inside:avoid;overflow:hidden}
 #cards .pcard{border:0;border-radius:0}
}

@media (max-width:429px){
 .twin .tblw{overflow:visible}
 .twin .tbl,.twin .tbl tbody,.twin .tbl tfoot,.twin .tbl tr,.twin .tbl td{display:block;width:auto;min-width:0}
 .twin .tbl thead{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
 .twin .tbl tr{margin:0 0 .7rem;padding:.5rem .8rem;border:1px solid #D8D3C6;border-radius:6px}
 .twin .tbl tr,.twin .tbl td{background:none!important}
 .twin .tbl td{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.25rem 0;border:0;text-align:right;white-space:normal}
 .twin .tbl td::before{content:attr(data-label);flex:0 0 auto;max-width:55%;text-align:left;font:800 .72rem Shoulders;letter-spacing:.1em;text-transform:uppercase;color:var(--dust)}
 .twin .tbl td:first-child{font-weight:800}
 .twin .tbl tfoot td{border-top:0}
 .twin .tbl td:empty{display:none}
}
