:root{color-scheme:light;--paper:#f8f5ed;--card:#fffdf7;--ink:#172f31;--muted:#526461;--line:#d8ded3;--gold:#efbd70;--forest:#1e4b44;--sage:#e3ebe0;--rust:#8a492d;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 var(--sans)}h1,h2,h3,h4,p,figure{margin:0}a{color:#275a50;text-underline-offset:3px}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a85a2f;outline-offset:3px}button:disabled,input:disabled,select:disabled{cursor:default}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08}h2{font-size:clamp(2.2rem,4.8vw,3.65rem);letter-spacing:-.045em}h3{font-size:1.65rem;letter-spacing:-.025em}p+p{margin-top:.8rem}section[id],details[id]{scroll-margin-top:24px}.wrap{width:min(1270px,calc(100% - 96px));margin-inline:auto}.section{padding-block:68px}.eyebrow{font:700 .72rem/1.4 var(--sans);letter-spacing:.17em;color:#49665b;margin-bottom:11px}.eyebrow span:empty{display:inline-block;width:16px;height:1px;margin:0 8px 3px 0;background:currentColor}.muted{color:var(--muted)}.fine{font-size:.83rem;margin-top:20px}.skip{position:absolute;z-index:3;top:8px;left:8px;padding:8px;background:white;transform:translateY(-200%)}.skip:focus{transform:none}
.site-header{height:75px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--card);border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;line-height:1.14;letter-spacing:.12em;font-size:.65rem;font-weight:700;white-space:nowrap}.brand strong{display:block;font-size:.87rem;letter-spacing:.15em}.site-header nav{display:flex;gap:clamp(16px,3vw,45px)}.site-header nav a{color:var(--ink);font-size:.86rem;font-weight:650;text-decoration:none;white-space:nowrap}.site-header nav a:hover{text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;border-radius:7px;padding:9px 15px;font-size:.85rem;font-weight:750;text-decoration:none;white-space:nowrap}.outline{background:var(--card);color:var(--ink);border-color:#b8c6ba}.outline:hover{background:var(--sage)}.gold{background:var(--gold);color:#212e2e}.gold:hover{background:#fbd49a}.text-button{border:0;background:none;color:#265749;font-weight:720;text-decoration:underline;text-underline-offset:4px;padding:5px 0}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,5vw,78px);align-items:center;background:#152e32;color:#f9f1df;padding:48px max(48px,calc((100% - 1270px)/2));min-height:408px}.hero .eyebrow{color:#eebf78}.hero h1{font-size:clamp(3.8rem,6.2vw,6.7rem);letter-spacing:-.065em;line-height:.92}.hero h1 em{color:#f0c181;font-weight:400}.hero-intro{color:#d1dfd6;font-size:1rem;max-width:375px;margin:20px 0 22px}.route-art{border:1px solid #547069;border-radius:14px;background:#183438;overflow:hidden}.route-art img{display:block;width:100%;height:auto}.route-art figcaption{display:flex;justify-content:space-between;padding:9px 16px;color:#c5d6cc;letter-spacing:.13em;font-size:.65rem;font-weight:650}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:#e3e9de;border-bottom:1px solid #ced9cb;padding-inline:max(48px,calc((100% - 1270px)/2))}.metrics>div{padding:17px 20px 17px 26px;border-right:1px solid #cbd7cb}.metrics>div:first-child{padding-left:0}.metrics>div:last-child{border:0}.metrics strong{font:500 clamp(1.7rem,3.2vw,2.6rem)/1.1 var(--serif);white-space:nowrap}.metrics strong small{font:700 .75rem var(--sans);letter-spacing:.02em}.metrics div>span{display:block;font-size:.77rem;color:#4d615a;margin-top:5px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head p:not(.eyebrow){margin-top:9px;color:var(--muted)}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.preset{padding:17px 19px;border-radius:11px;border:1px solid var(--line);background:var(--card);text-align:left;color:var(--ink);display:flex;align-items:flex-start;flex-direction:column;gap:5px;line-height:1.45}.preset[aria-pressed=true]{background:#e5eee2;border:2px solid #366355;padding:16px 18px}.preset:hover{border-color:#366355}.preset strong{font:500 1.6rem/1.15 var(--serif)}.preset>span:last-child{color:#4b5d56;font-size:.84rem}.preset-stat{font-weight:700;font-size:.78rem}.pill{display:inline-block;padding:3px 8px;border-radius:4px;background:#e6eee4;color:#28564a;font-size:.68rem;line-height:1.4;font-weight:750;white-space:nowrap}.pill.shower{background:#f5e5cb;color:#74421f}.pill.quiet{background:#edf1e9;color:#425e54}
.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:14px 18px}label{font-size:.81rem;font-weight:670}input:not([type=checkbox]),select{display:block;min-width:0;width:100%;margin-top:4px;padding:7px 9px;border:1px solid #afbeb3;border-radius:6px;color:var(--ink);background:#fffefb}input[type=checkbox]{accent-color:#35665a;width:1.05rem;height:1.05rem;vertical-align:middle;margin:0 7px 0 0;flex-shrink:0}.controls .text-button{margin-bottom:5px}#status{margin:10px 0 20px;font-size:.8rem;color:var(--muted)}.alert{padding:9px 13px;border-left:3px solid #9a5b31;background:#f5e8d4;color:#6c3c22}
.profile{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center;background:#213e3d;color:#f7efdf;border-radius:12px;padding:17px 23px;margin-bottom:22px}.profile .eyebrow{color:#c7d8cc;margin-bottom:3px}.profile p:not(.eyebrow){color:#d0ddd4;font-size:.78rem;margin-top:5px}.bars{display:flex;align-items:end;gap:clamp(2px,.4vw,6px);height:61px;border-bottom:1px solid #749186}.bars button{width:0;min-width:0;flex:1;height:var(--bar);border:0;background:#cfa465;border-radius:3px 3px 0 0;padding:0}.bars button:hover,.bars button:focus-visible{background:#ffe0a7;outline-color:#fff0cd}.axis{display:flex;justify-content:space-between;color:#d0ddd4;font-size:.67rem;margin-top:3px}
.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.stage-toolbar>.text-button{white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:6px}.filters button{font-size:.73rem;color:var(--forest);font-weight:650;background:transparent;border:1px solid #bfcfc3;padding:4px 9px;border-radius:20px}.filters button[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.town-editor{border:1px solid var(--line);border-radius:9px;background:var(--card);padding:18px;margin-bottom:13px}.town-editor p{margin:6px 0 11px;color:var(--muted)}.towns{display:grid;grid-template-columns:repeat(3,1fr);gap:5px 12px}.towns label{padding:4px}.region{display:flex;align-items:center;gap:12px;margin:20px 0 8px}.region span:first-child{color:#875230;font:700 .75rem var(--sans);letter-spacing:.1em}.region span:last-child{margin-left:auto;color:var(--muted);font-size:.8rem}.region h3{font-size:1.45rem}.stage,.rest-row{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-bottom:5px}.stage summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:83px minmax(0,1fr) 83px 118px 146px 18px;gap:12px;align-items:center;padding:11px 14px}.stage summary::-webkit-details-marker{display:none}.stage summary:hover{background:#f3f4ea;border-radius:8px}.stage summary small,.day-num small{display:block;color:var(--muted);font-size:.73rem;font-weight:500;line-height:1.35}.stage-place strong{font-size:.92rem}.stage-place strong span{color:#956238}.stage-km,.stage-time{font-size:.8rem}.day-num{font-size:.72rem;font-weight:750;letter-spacing:.07em;color:#426054}.day-num small{letter-spacing:0}.chevron{color:#406756;font-size:1.12rem}.stage[open] .chevron{transform:rotate(180deg)}.stage-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:16px 20px 18px;border-top:1px solid var(--line);font-size:.86rem}.stage-details h4{margin-bottom:4px}.stage-details p{color:var(--muted)}.edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.booking{display:block;margin-top:9px}.day-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:7px}.rest-row{display:grid;grid-template-columns:83px 1fr auto;align-items:center;gap:12px;padding:11px 14px;background:#f6eddc;border-color:#e8dac2}.rest-row p{color:#654f37;font-size:.8rem}.empty{padding:16px;background:var(--card)}
.band{background:#eaece1;border-block:1px solid var(--line)}.compare-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.compare-summary>div{padding:12px 17px;background:var(--card);border:1px solid var(--line);border-radius:8px}.compare-summary span{display:block;color:var(--muted);font-size:.8rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.comparison{border-collapse:collapse;width:100%;background:var(--card);font-size:.82rem}.comparison th,.comparison td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:9px 13px}.comparison th{width:34%}.comparison td{width:33%}.comparison thead{background:#dce6d9}.comparison td small{display:block;color:var(--muted);font-size:.73rem}.comparison td div+div{margin-top:6px}.comparison tbody tr:last-child>*{border-bottom:0}.comparison .changed{background:#f7eddb}
.prep-grid,.log-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.panel{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:19px 21px}.panel h3{margin-bottom:10px}.panel p{font-size:.9rem;color:#485b55}.timeline{list-style:none;padding:0;margin:0}.timeline li{border-top:1px solid var(--line);padding:11px 0}.timeline li:last-child{padding-bottom:0}.timeline label,.checklist label{display:flex;align-items:baseline}.timeline label input,.checklist label input{align-self:center}.timeline label small,.timeline label strong{display:block}.timeline label small{color:#875230;font-size:.72rem;letter-spacing:.03em}.timeline li p{margin-left:24px}.checklist+.checklist{margin-top:15px}.checklist label{padding:5px 0}.log-grid{align-items:stretch}.rhythm{display:grid;grid-template-columns:112px 1fr;gap:5px 8px;font-size:.85rem}.rhythm dt{font-weight:750}.rhythm dd{margin:0;color:#485b55}.sources{margin-top:23px}.sources h3{font-size:1.3rem}.sources p{margin-top:7px;font-size:.82rem}footer{display:flex;justify-content:space-between;gap:10px;padding:19px max(24px,calc((100% - 1270px)/2));background:#183538;color:#e8e7d7;font-size:.8rem}footer a{color:#f5c789}footer span:first-child{letter-spacing:.11em;font-weight:750}#print-sheet{display:none}
@media(max-width:950px){.wrap{width:calc(100% - 48px)}.hero{padding:36px 24px;gap:25px}.site-header{padding-inline:24px}.metrics{padding-inline:24px}.stage summary{grid-template-columns:64px minmax(0,1fr) 65px 101px 113px 12px;gap:7px}.stage summary .pill{white-space:normal}.stage-time{font-size:.73rem}.section{padding-block:50px}}
@media(max-width:690px){.wrap{width:calc(100% - 32px)}.site-header{height:auto;padding:10px 16px;flex-wrap:wrap;gap:8px}.site-header nav{width:100%;order:3;justify-content:space-between;gap:6px}.site-header nav a{font-size:.74rem}.hero{grid-template-columns:1fr;padding:30px 16px;gap:22px}.hero h1{font-size:clamp(3.4rem,11vw,5.8rem)}.hero-intro{margin-block:14px}.route-art figcaption{padding:6px 10px}.metrics{padding-inline:16px;grid-template-columns:repeat(2,1fr)}.metrics>div{padding:10px 8px 10px 12px;border-bottom:1px solid #cbd7cb}.metrics>div:nth-child(2){border-right:0}.metrics>div:nth-child(3){padding-left:0;border-bottom:0}.section{padding-block:39px}.section-head{align-items:start;flex-direction:column;gap:10px;margin-bottom:17px}.presets{grid-template-columns:1fr;gap:7px}.preset{gap:3px;padding:10px 12px}.preset[aria-pressed=true]{padding:9px 11px}.preset strong{font-size:1.35rem}.controls{grid-template-columns:1fr 1fr;gap:9px;padding:11px}.profile{grid-template-columns:1fr;gap:7px;padding:12px}.bars{height:45px}.stage-toolbar{align-items:start;flex-direction:column}.towns{grid-template-columns:1fr 1fr}.stage summary{grid-template-columns:54px minmax(0,1fr) 70px 14px;padding:8px 9px;row-gap:4px}.stage-place{grid-column:2}.stage-km{grid-column:3;grid-row:1}.stage-time{grid-column:3;grid-row:2}.stage-bed{grid-column:2;grid-row:2}.chevron{grid-column:4;grid-row:1}.stage-details{grid-template-columns:1fr;gap:14px;padding:12px}.rest-row{grid-template-columns:54px 1fr;padding:8px 9px}.rest-row .pill{grid-column:2;justify-self:start}.region span:last-child{display:none}.prep-grid,.log-grid{grid-template-columns:1fr}.comparison th,.comparison td{padding:7px 6px;font-size:.72rem}.comparison td small{font-size:.67rem}.compare-summary>div{padding:9px}.compare-summary span{font-size:.73rem}footer{flex-wrap:wrap;padding:13px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{@page{size:letter;margin:.52in}.site-header,#screen,footer,.skip{display:none!important}#print-sheet{display:block;color:#111;font:10pt/1.35 var(--sans)}body{background:#fff}#print-sheet h1{font-size:26pt;margin-bottom:5pt}#print-sheet h2{font-size:17pt;margin-top:14pt}#print-sheet p{margin:5pt 0}#print-sheet .print-kicker{font-size:8pt;letter-spacing:.1em}#print-sheet table{width:100%;border-collapse:collapse;font-size:8.5pt}#print-sheet th,#print-sheet td{padding:4pt;border:1px solid #b6b6b6;text-align:left;vertical-align:top;overflow-wrap:anywhere}#print-sheet th{font-weight:800}#print-sheet tr,#print-sheet li{break-inside:avoid}#print-sheet ul{margin:5pt 0;padding-left:18pt}#print-sheet li{margin-bottom:3pt}}
