:root{--ink:#183e30;--muted:#53615b;--lime:#ddeb99;--bg:#f5f6f2;--line:#dfe5dc;--white:#fff;--radius:14px;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 18px;border:1px solid transparent;border-radius:9px;background:var(--lime);color:var(--ink);font-weight:700;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.97);text-decoration:none}button:disabled{opacity:.5;cursor:default}.secondary{background:white;border-color:var(--line)}.dark-button{background:var(--ink);color:white}.text-link{display:inline-block;text-decoration:underline;padding:12px 0}.icon-arrow{width:19px;height:19px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:2}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #799420;outline-offset:3px}header{max-width:1440px;margin:auto;padding:24px 36px;display:flex;gap:48px;align-items:center}.brand{font-size:26px;font-weight:800;letter-spacing:-1px}nav{display:flex;gap:30px}nav a{padding:10px 0;font-size:15px}.nav-active{border-bottom:3px solid var(--lime)}main{max-width:1440px;padding:16px 36px 70px;margin:auto}h1{font-size:clamp(32px,3.4vw,46px);line-height:1.13;letter-spacing:-1.6px;margin:20px 0 14px}h2{font-size:24px;letter-spacing:-.6px;line-height:1.2}h3{font-size:16px;margin:20px 0 8px}p{line-height:1.6;margin:8px 0 16px}li{line-height:1.5}.subtitle{color:var(--muted);font-size:20px;line-height:1.5;margin-bottom:36px}.home-grid{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);gap:24px;align-items:start}.hero h1{font-size:clamp(32px,3.1vw,44px)}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.filters button{border-radius:30px;min-width:82px;background:transparent;border:1px solid var(--line);font-weight:400}.filters button.active{background:var(--lime);border-color:var(--lime);font-weight:700}.search-row{display:flex;gap:12px;margin:16px 0 22px}.search-row input{flex:1;min-width:0}.search-row select{max-width:210px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;min-width:0}.card img{display:block;width:100%;aspect-ratio:640/420;border-radius:8px;object-fit:cover}.card-body{padding:7px 8px;flex:1;display:flex;flex-direction:column}.card h3{font-size:19px;line-height:1.25;margin:5px 0 12px;letter-spacing:-.5px}.card p{font-size:14px;color:var(--muted);flex:1}.meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--muted);margin:12px 0}.card .open-link{align-self:flex-end;border-radius:30px;background:var(--lime);width:44px;height:44px;display:grid;place-items:center}.featured{background:var(--ink);color:white;padding:28px;border-radius:var(--radius);margin-top:0}.featured h2{font-size:32px;margin:0 0 14px}.featured .meta{color:#eef1e7}.featured img{width:100%;aspect-ratio:640/420;margin:8px 0 4px;display:block}.featured .button{width:100%;margin-top:12px}.timeline{list-style:none;padding:0;margin:12px 0}.timeline li{display:flex;gap:10px;align-items:center;font-size:14px;padding:9px 0}.step{display:inline-grid;place-items:center;width:25px;height:25px;flex:none;border-radius:50%;background:#eff3e7;color:var(--ink);font-weight:700;font-size:13px}.time-range{flex:none;min-width:68px;font-size:12px}.lower-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-top:28px}.info-panel,.form-panel,.block-card,.plan-overview{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:24px}.info-panel h2,.form-panel h2{margin-top:0}.info-panel p{color:var(--muted)}.breadcrumb{font-size:14px;padding:12px 0}.detail-top{display:grid;grid-template-columns:1.3fr 1fr;gap:32px}.detail-top .featured{margin:16px 0}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}label{display:block;font-weight:600;font-size:14px}input,select,textarea{display:block;width:100%;min-height:44px;padding:10px 12px;border:1px solid #bdc8bc;border-radius:7px;background:white;color:#263b2e;margin-top:8px}textarea{resize:vertical;min-height:100px}.checkbox{display:flex;gap:10px;align-items:center;font-weight:400;margin-top:18px}.checkbox input{width:20px;height:20px;min-height:20px;margin:0}.field-error{display:block;color:#9b2e24;font-size:13px;line-height:1.45;margin:6px 0}.field-error:empty{display:none}.message{border-radius:8px;background:#eef3db;padding:12px 16px;margin:12px 0;line-height:1.5}.message.error{background:#fff0eb;color:#942c22}.message:empty{display:none}.plan-overview{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}.plan-overview h2{margin-top:0}.adaptation-notes{padding-left:20px}.fine{font-size:13px;color:var(--muted);line-height:1.6}.block-head{display:flex;gap:12px;align-items:center}.block-head h2{flex:1;margin:0}.block-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:30px;margin-top:18px}.map-scroll{overflow:auto;max-width:100%;border-radius:10px}.map-scroll svg{display:block;width:100%;min-width:300px}.map-panel .text-link{font-size:14px}.cue{padding:14px 18px;background:#edf2df;border-left:3px solid #8da142;font-weight:700}.rotation-scroll{overflow:auto;max-height:270px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:8px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}summary{cursor:pointer;padding:12px 0;min-height:44px}footer{border-top:1px solid var(--line);padding:24px 36px;color:var(--muted);font-size:13px;display:flex;gap:24px;flex-wrap:wrap}footer a{text-decoration:underline}.coach{background:var(--ink);color:white;min-height:100vh}.coach header{color:white}.coach .fine{color:#d9e6d8}.coach-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px}.timer-panel{padding:24px;border:1px solid #5d7f68;border-radius:14px}.timer-value{font-size:clamp(72px,10vw,144px);font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-4px;color:var(--lime);line-height:1.2;text-align:center;margin:24px 0}.coach .cue{color:var(--ink);font-size:24px}.coach h2{font-size:28px}.coach select{font-size:16px}.coach .timer-panel button{min-height:52px}.coach .timeline li{font-size:18px}.coach #timer-status{color:var(--lime)}.empty{padding:40px;border:1px dashed #a9b9a0;border-radius:12px;grid-column:1/-1}.prose{max-width:860px}.saved-card{margin:16px 0;border:1px solid var(--line);border-radius:12px;padding:20px;background:white}.hidden,[hidden]{display:none!important}.print-actions{padding:16px 0}.statusbar{font-size:13px;padding:6px 36px;max-width:1440px;margin:auto;color:var(--muted)}@media(max-width:1000px){.home-grid{grid-template-columns:1.5fr 1fr}.cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){header{padding:18px 20px;gap:20px;flex-wrap:wrap}.brand{font-size:23px}nav{gap:20px}nav a{font-size:14px}main{padding:8px 20px 50px}h1,.hero h1{font-size:34px;letter-spacing:-1px}.subtitle{font-size:17px;margin-bottom:26px}.home-grid,.detail-top,.lower-grid,.plan-overview,.block-grid,.coach-layout{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr;gap:10px}.card h3{font-size:17px}.card .meta{font-size:11px;gap:5px}.card p{font-size:13px}.featured{padding:24px;margin-top:14px}.featured h2{font-size:28px}.form-grid{grid-template-columns:1fr 1fr}.form-panel,.block-card,.plan-overview{padding:18px}.block-head h2{font-size:21px}.block-head>span:last-child{font-size:13px}.search-row{flex-wrap:wrap}.search-row select{max-width:none;width:100%}.timeline li{padding:8px 0}.coach .cue{font-size:24px}.timer-panel{padding:18px}.timer-value{font-size:88px}footer{padding:22px 20px}.statusbar{padding:6px 20px}}@media print{@page{size:auto;margin:13mm}body{background:white!important;color:#111!important}header,footer,.actions,.form-panel,.print-actions,.statusbar,.breadcrumb,.text-link,details,button{display:none!important}main{padding:0;max-width:none}h1{font-size:26px}h2{font-size:20px}.plan-overview{border:none;padding:0;margin:0;gap:18px}.block-card{border:none;padding:0;margin:0;break-before:page;break-inside:avoid}.block-grid{gap:18px;grid-template-columns:1.1fr 1fr}.block-head{margin-bottom:12px}.cue{background:white;border-color:#111}.fine{color:#333;font-size:11px}p,li{font-size:12px;line-height:1.4;margin-bottom:8px}.map-scroll svg{min-width:0}.map-scroll svg>rect:first-of-type{fill:white}.map-scroll svg rect{stroke:#444}.map-scroll svg text{fill:#111}.map-scroll svg line{stroke:#111}.map-scroll svg defs path{stroke:#111}.map-scroll svg circle{fill:white;stroke:#111}.map-scroll svg path{fill:white;stroke:#111}.timeline li{font-size:12px;padding:5px 0}.meta{color:#111}.print-title{margin-top:0}}
/* Keep map thumbnails at their intrinsic ratio so every legend is visible. */
.card img,.featured img{height:auto;object-fit:contain}
header{padding-top:18px;padding-bottom:18px}
.statusbar:empty{display:none}
.skip-link{position:fixed;left:16px;top:-100px;z-index:10;background:#fff;padding:12px;border:2px solid #183e30}
.skip-link:focus{top:10px}
@media(min-width:701px){main{padding-top:8px}.hero h1{margin-top:12px}}
.map-panel{min-width:0}.map-scroll.zoomed svg{width:640px;min-width:640px}.map-zoom{margin:10px 0;font-size:13px}.text-link{min-height:44px}nav a{min-height:44px;display:inline-flex;align-items:center}
@media print{.map-zoom{display:none}.map-scroll.zoomed svg{width:100%;min-width:0}}

.print-rotations{display:none}
@media print{.print-rotations{display:block;margin-top:12px}.print-rotations h3{font-size:14px;margin:0 0 5px}.print-rotations table{width:100%;table-layout:fixed;font-size:10px;border-collapse:collapse}.print-rotations th,.print-rotations td{padding:3px 1px;border:1px solid #999;text-align:center;line-height:1.2}.print-rotations th:first-child,.print-rotations th:nth-child(2){width:48px}.print-rotations .fine{margin:0 0 6px}}
