.route-intro{max-width:900px;margin:25px 0}.route-intro h1{font-size:clamp(32px,4.5vw,58px);line-height:1.14;letter-spacing:-1.8px}.route-intro .tagline{font-size:20px;max-width:750px}.route-photos{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin:25px 0}.route-photos figure{margin:0;min-width:0;background:#d7e8dc;border-radius:24px;overflow:hidden;border:2px solid var(--ink)}.route-photos img{display:block;width:100%;height:290px;object-fit:cover}.route-photos figcaption{padding:12px 18px;background:var(--paper);font-size:13px}.route-photos .photo-wait{display:grid;place-items:center;min-height:290px;padding:28px;background:linear-gradient(155deg,#d9ecdd,#a3cbe1);font-size:19px}.route-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.route-settings input,.route-settings select{width:100%;min-width:0}.route-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.85fr);gap:22px;align-items:start}.route-aside{position:sticky;top:20px}.route-bill{background:var(--yellow);border:2px solid var(--ink)}.route-bill strong{font-size:34px;display:block;line-height:1.2}.route-bill .summary-row{align-items:baseline}.route-bill .summary-row span:last-child{text-align:right}.route-section{margin-top:24px}.route-stops{counter-reset:stop}.route-stop{position:relative;padding-left:64px}.route-stop::before{counter-increment:stop;content:counter(stop);position:absolute;left:18px;top:20px;display:grid;place-items:center;border:2px solid var(--ink);background:var(--pink);border-radius:50%;width:32px;height:32px;font-weight:bold}.route-note{padding:14px 18px;background:#e4eff1;border-radius:14px;font-size:14px}.route-map{height:390px;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:#dfebe3}.leg-step{border-left:3px solid var(--teal);padding:4px 0 4px 15px;margin:12px 0}.leg-step p{margin:3px 0}.meal-items{padding-left:22px}.meal-items li{padding:6px 0}.look-list{padding-left:22px}.look-list li{padding:7px 0}.play-card{background:var(--pink);border:2px solid var(--ink)}.play-card input,.play-card textarea{background:#fff9f4}.source-date{font-size:13px;color:var(--muted)}.feedback-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.feedback-grid .wide{grid-column:1/-1}.route-switch{margin:12px 0}.route-switch a{display:inline-block;margin:4px 14px 4px 0}.route-mini{padding:14px;border:1px solid var(--line);border-radius:14px;margin-top:12px}.route-mini p{margin:6px 0}.proof-state{font-size:13px;color:var(--muted)}.card-preview{padding:20px;background:#eef5eb;border:2px solid var(--teal);border-radius:16px;margin:15px 0}.route-actions{display:flex;gap:10px;flex-wrap:wrap}.route-actions>*{max-width:100%}.feedback-record{padding:16px;margin:12px 0;background:#fff;border:1px solid var(--line);border-radius:12px}.field-results{display:grid;gap:12px}.field-task{display:grid;grid-template-columns:1fr 180px;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px}.field-task p{margin:0}.field-counts{display:flex;gap:20px;flex-wrap:wrap;padding:15px;background:var(--yellow);border-radius:14px}.field-records{max-height:600px;overflow:auto}.route-loading{min-height:80px}.photo-source{display:inline-block;margin-top:5px}button:disabled{opacity:.6;cursor:wait}fieldset{min-width:0}#adoptPreview[hidden]{display:none}
@media(max-width:900px){.route-layout{grid-template-columns:1fr}.route-aside{position:static;order:-1}.route-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.route-photos img,.route-photos .photo-wait{height:230px;min-height:230px}}
@media(max-width:560px){.route-photos{gap:10px;grid-template-columns:1fr 1fr}.route-photos img,.route-photos .photo-wait{height:170px;min-height:170px}.route-photos figcaption{padding:10px;font-size:12px}.route-intro h1{letter-spacing:-1px}.route-intro .tagline{font-size:17px}.route-settings{gap:10px}.route-map{height:300px}.feedback-grid{grid-template-columns:1fr}.route-stop{padding-left:52px}.route-stop::before{left:10px}.field-task{grid-template-columns:1fr}.route-bill strong{font-size:29px}.route-photos .photo-wait{padding:14px;font-size:14px}}
@media print{.route-settings,.route-actions,#feedbackSection,#adoptPreview,.route-map,.no-print,button{display:none!important}.route-layout{display:block}.route-aside{position:static}.route-intro h1{font-size:30px}.route-photos img{height:150px}.route-section,.card{break-inside:avoid}.route-photos{margin:8px 0}.route-note{padding:8px}}
