:root{--paper:#eee9dc;--ink:#1d2926;--soft:#52605b;--forest:#244d42;--dark:#17352f;--orange:#dc6b3f;--yellow:#e8b94f;--blue:#7399a6;--cream:#fffaf0;--line:rgba(29,41,38,.18);--shadow:0 18px 50px rgba(29,41,38,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.55),transparent 28rem),linear-gradient(rgba(29,41,38,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(29,41,38,.035) 1px,transparent 1px),var(--paper);background-size:auto,28px 28px,28px 28px,auto;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;line-height:1.6}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}
.topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:12px clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(238,233,220,.9);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand__mark{display:grid;width:39px;height:39px;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:var(--yellow);font:900 22px serif}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.12em}.brand small{color:var(--soft);font-size:9px;letter-spacing:.18em}.topbar__actions{display:flex;align-items:center;gap:14px}.updated{color:var(--soft);font:11px ui-monospace,monospace}.plain-button,.copy-button{border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;padding:8px 13px}.plain-button:hover,.copy-button:hover{background:var(--ink);color:var(--cream)}
main{overflow:hidden}.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(30px,7vw,100px);align-items:center;min-height:690px;padding:90px max(24px,calc((100vw - 1220px)/2))}.kicker,.eyebrow{color:var(--orange);font:700 12px/1.2 ui-monospace,monospace;letter-spacing:.16em}.hero h1{margin:18px 0 26px;max-width:780px;font:900 clamp(48px,7.4vw,98px)/.98 Georgia,"Noto Serif SC",serif;letter-spacing:-.055em}.hero h1 em{color:var(--orange);font-weight:inherit}.lead{max-width:700px;color:var(--soft);font-size:clamp(16px,1.7vw,20px)}.hero__stats{display:flex;flex-wrap:wrap;gap:18px 38px;margin:36px 0}.hero__stats div{display:flex;align-items:baseline;gap:7px}.hero__stats strong{font:800 28px/1 ui-monospace,monospace}.hero__stats span{color:var(--soft);font-size:12px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px}.primary-button,.secondary-button{display:inline-flex;align-items:center;min-height:48px;padding:0 20px;border:1.5px solid var(--ink);border-radius:999px;text-decoration:none;font-weight:750}.primary-button{background:var(--ink);color:var(--cream)}.secondary-button:hover{background:var(--cream)}
.trip-ticket{position:relative;transform:rotate(1.8deg);padding:43px 30px 27px;border:1.5px solid var(--ink);border-radius:8px;background:#f7f0df;box-shadow:var(--shadow)}.trip-ticket__tape{position:absolute;top:-18px;left:50%;transform:translateX(-50%) rotate(-3deg);padding:5px 22px;background:rgba(232,185,79,.72);white-space:nowrap;font-size:12px}.trip-ticket>p,.trip-ticket__code{font:11px ui-monospace,monospace;letter-spacing:.18em}.trip-ticket>strong{display:block;font:900 36px/1.15 Georgia,serif}.trip-ticket__line{margin:24px 0;border-top:2px dashed var(--line)}.trip-ticket dl{display:grid;gap:13px;margin:0 0 25px}.trip-ticket dl div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.trip-ticket dt{color:var(--soft);font-size:12px}.trip-ticket dd{margin:0;text-align:right;font-weight:700}.trip-ticket__code{display:block;text-align:center}
.alert-strip{display:flex;gap:18px;align-items:center;padding:18px max(24px,calc((100vw - 1220px)/2));background:var(--orange);color:#fff9ef}.alert-strip span{flex:0 0 auto;padding:4px 9px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:800}.alert-strip p{margin:0;font-weight:650}
.route-section,.kanas-section,.timeline-section,.checklist-section,.info-section,.sources{max-width:1320px;margin:0 auto;padding:100px 50px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.section-heading>div{display:flex;gap:14px;align-items:center}.section-heading h2{margin:0;font:900 clamp(30px,4.2vw,54px)/1 Georgia,"Noto Serif SC",serif}.section-number{display:grid;width:39px;height:39px;place-items:center;border-radius:50%;background:var(--yellow);font:800 13px ui-monospace,monospace}.section-heading>p{max-width:510px;margin:0;color:var(--soft)}
.route-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,.7fr);gap:24px}.map-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:rgba(255,250,240,.58)}.map-card__legend,.map-card__footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:17px 22px;border-bottom:1px solid var(--line);color:var(--soft);font-size:11px}.map-card__legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;border-radius:50%;background:var(--forest)}.legend-dot--risk{background:var(--orange)}.legend-dot--booked{background:var(--forest);box-shadow:0 0 0 3px var(--yellow)}.legend-dot--pending{background:var(--cream);border:1px dashed #a87612;box-shadow:0 0 0 2px rgba(232,185,79,.45)}.legend-dot--return{background:var(--blue)}.map-canvas{position:relative;aspect-ratio:1.28/1;min-height:470px}.map-canvas svg{width:100%;height:100%}.region-shape{fill:rgba(115,153,166,.12);stroke:rgba(36,77,66,.32);stroke-width:2;stroke-dasharray:5 7}.terrain{fill:none;stroke:rgba(36,77,66,.13);stroke-width:18;stroke-linecap:round}.terrain--two{stroke:rgba(220,107,63,.1)}.route-line{fill:none;stroke:var(--forest);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 9;animation:routeDash 40s linear infinite}.route-arrow{fill:none;stroke:var(--forest);stroke-width:5;stroke-linecap:round}@keyframes routeDash{to{stroke-dashoffset:-200}}
.map-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:33px;height:33px;padding:0;border:2px solid var(--cream);border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 4px 15px rgba(29,41,38,.25);cursor:pointer;font:800 10px ui-monospace,monospace}.map-marker:hover,.map-marker:focus-visible{transform:translate(-50%,-50%) scale(1.18);outline:3px solid rgba(232,185,79,.5)}.map-marker--risk{background:var(--orange)}.map-marker:after{content:attr(data-name);position:absolute;top:36px;left:50%;transform:translateX(-50%);width:max-content;padding:2px 5px;background:rgba(255,250,240,.86);color:var(--ink);font:700 11px system-ui;white-space:nowrap}.map-note{position:absolute;color:rgba(29,41,38,.42);font:italic 15px Georgia,serif;letter-spacing:.12em}.map-note--north{top:10%;left:39%}.map-note--west{top:76%;left:10%}.map-note--center{top:61%;left:48%}.map-card__footer{border-top:1px solid var(--line);border-bottom:0}.route-summary{display:flex;flex-direction:column;padding:30px;border-radius:22px;background:var(--forest);color:#f7f0df}.route-summary .eyebrow{color:var(--yellow)}.route-summary h3{margin:10px 0 22px;font:900 30px/1.1 Georgia,serif}.route-summary ol{display:grid;gap:19px;margin:0;padding-left:21px}.route-summary li{color:rgba(255,250,240,.76)}.route-summary li strong{color:#fffaf0}.route-summary__warning{margin-top:auto;padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}.route-summary__warning span,.route-summary__warning strong{display:block}.route-summary__warning span{color:var(--yellow);font-size:11px;letter-spacing:.12em}
.mobile-route{display:none}
.kanas-section{padding-top:35px}.kanas-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:18px}.transfer-map,.inside-plan{padding:27px;border:1px solid var(--line);border-radius:20px;background:rgba(255,250,240,.68)}.transfer-map header span,.inside-plan header span{color:var(--orange);font:800 10px ui-monospace,monospace;letter-spacing:.14em}.transfer-map h3,.inside-plan h3{margin:5px 0 22px;font:900 27px/1.15 Georgia,"Noto Serif SC",serif}.transfer-spine{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(190px,1.15fr);align-items:center;gap:12px}.transfer-spine>i{color:var(--soft);font:700 10px ui-monospace,monospace;text-align:center;font-style:normal}.transfer-node{display:flex;flex-direction:column;min-height:130px;justify-content:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.transfer-node small{color:var(--orange);font:800 10px ui-monospace,monospace}.transfer-node strong{margin:3px 0;font:900 22px Georgia,serif}.transfer-node span{color:var(--soft);font-size:12px}.transfer-node--hub{border-color:var(--forest);background:var(--forest);color:var(--cream)}.transfer-node--hub small{color:var(--yellow)}.transfer-node--hub span{color:rgba(255,250,240,.7)}.transfer-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.transfer-branches div{display:flex;flex-direction:column;min-height:112px;padding:14px;border-left:3px solid var(--orange);background:#f7f0df}.transfer-branches b{color:var(--orange);font:800 10px ui-monospace,monospace}.transfer-branches strong{margin:3px 0;font-size:13px}.transfer-branches span{color:var(--soft);font-size:11px}.inside-plan{background:#e1ece7}.inside-day{display:grid;grid-template-columns:74px 1fr;gap:13px;padding:15px 0;border-top:1px solid rgba(29,41,38,.14)}.inside-day>div em,.inside-day>div small{display:block}.inside-day>div em{font:900 22px ui-monospace,monospace;font-style:normal}.inside-day>div small{color:var(--soft);font-size:10px}.inside-day ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.inside-day li{display:grid;grid-template-columns:43px 1fr;gap:8px}.inside-day time{color:var(--orange);font:800 10px ui-monospace,monospace}.inside-day li span{font-size:12px}.inside-rule{margin:8px 0 0;padding:12px;border-radius:10px;background:rgba(220,107,63,.12);color:var(--soft);font-size:12px}.inside-rule strong{color:var(--orange)}
.day-nav{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 16px;scrollbar-width:thin}.day-chip{flex:0 0 auto;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,240,.5);color:var(--soft);cursor:pointer}.day-chip:hover{border-color:var(--ink);color:var(--ink)}.timeline{position:relative;display:grid;gap:13px;margin-top:18px}.timeline:before{content:"";position:absolute;top:30px;bottom:30px;left:79px;width:1px;background:var(--line)}.day-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:34px;scroll-margin-top:96px}.day-card__date{padding-top:25px;text-align:center}.day-card__date strong,.day-card__date span{display:block}.day-card__date strong{font:800 19px ui-monospace,monospace}.day-card__date span{color:var(--soft);font-size:11px}.day-card__date:after{content:"";position:absolute;top:34px;left:75px;width:9px;height:9px;border:3px solid var(--paper);border-radius:50%;background:var(--forest);box-shadow:0 0 0 1px var(--forest)}.day-card--risk .day-card__date:after{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}.day-card details{border:1px solid var(--line);border-radius:18px;background:rgba(255,250,240,.68);box-shadow:0 7px 23px rgba(29,41,38,.04)}.day-card details[open]{background:var(--cream);border-color:rgba(29,41,38,.34);box-shadow:var(--shadow)}.day-card summary{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.65fr) 34px;gap:20px;align-items:center;padding:23px 25px;list-style:none;cursor:pointer}.day-card summary::-webkit-details-marker{display:none}.day-title p{margin:0 0 4px;color:var(--orange);font-size:11px;font-weight:800;letter-spacing:.1em}.day-title h3{margin:0;font-size:clamp(18px,2.4vw,28px);line-height:1.25}.day-meta{display:flex;flex-wrap:wrap;gap:6px}.day-meta span,.tag{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--soft);font-size:11px}.day-card__toggle{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--paper);transition:transform .2s}details[open] .day-card__toggle{transform:rotate(45deg)}.day-body{padding:0 25px 27px;border-top:1px dashed var(--line)}.day-body__lead{margin:22px 0;color:var(--soft);font-size:16px}.schedule{display:grid;gap:8px;margin:0 0 23px;padding:0;list-style:none}.schedule li{display:grid;grid-template-columns:72px 1fr;gap:15px;padding-bottom:8px;border-bottom:1px solid rgba(29,41,38,.08)}.schedule time{color:var(--orange);font:800 12px ui-monospace,monospace}.day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.detail-block{min-height:150px;padding:18px;border-radius:13px;background:var(--paper)}.detail-block h4{margin:0 0 9px;font-size:13px}.detail-block p{margin:0;color:var(--soft);font-size:14px;white-space:pre-line}.detail-block--alt{background:#e8e0cb}.detail-block--book{background:#e1ece7}.day-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-top:18px}.map-link{color:var(--forest);font-weight:800;text-underline-offset:4px}.done-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--soft);font-size:13px}.done-label input{width:18px;height:18px;accent-color:var(--forest)}.day-card.is-done details{opacity:.62}
.decision-section{padding:100px max(24px,calc((100vw - 1220px)/2));background:var(--dark);color:var(--cream)}.section-heading--light>p{color:rgba(255,250,240,.66)}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.decision-card{padding:26px;border:1px solid rgba(255,255,255,.16);border-radius:17px;background:rgba(255,255,255,.05)}.decision-card span{font:800 11px ui-monospace,monospace;letter-spacing:.12em}.decision-card h3{margin:8px 0 13px;font:800 25px Georgia,serif}.decision-card p{margin:0;color:rgba(255,250,240,.68)}.decision-card--green span{color:#86cfad}.decision-card--yellow span{color:var(--yellow)}.decision-card--red span{color:#ff866e}
.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.prep-summary{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.5fr) minmax(280px,1.5fr);gap:30px;align-items:center;margin-bottom:10px;padding:25px 28px;border-radius:18px;background:var(--forest);color:var(--cream);box-shadow:var(--shadow)}.prep-summary>div:first-child span{display:block;color:var(--yellow);font:800 10px ui-monospace,monospace;letter-spacing:.12em}.prep-summary>div:first-child strong{display:block;margin-top:4px;font:900 46px/1 ui-monospace,monospace}.prep-summary>div:first-child small{font-size:18px;color:rgba(255,250,240,.62)}.prep-summary__body{display:grid;grid-template-columns:1fr auto;gap:9px 18px;align-items:center}.prep-summary__body p{grid-column:1/-1;margin:0;color:rgba(255,250,240,.75);font-size:13px}.prep-summary progress{width:100%;height:9px;border:0;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.16)}.prep-summary progress::-webkit-progress-bar{background:rgba(255,255,255,.16)}.prep-summary progress::-webkit-progress-value{background:var(--yellow)}.prep-summary progress::-moz-progress-bar{background:var(--yellow)}.prep-summary button{border:0;background:transparent;color:var(--cream);cursor:pointer;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}.checklist-card{position:relative;padding:22px;border:1px solid var(--line);border-radius:16px;background:rgba(255,250,240,.6);scroll-margin-top:90px}.checklist-card__meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.checklist-card__meta span{color:var(--orange);font:800 11px ui-monospace,monospace}.checklist-card__meta strong{padding:3px 8px;border-radius:999px;background:var(--paper);color:var(--soft);font-size:10px}.checklist-card h3{margin:7px 0 4px;font:800 22px/1.25 Georgia,serif}.checklist-card__count{margin:0 0 14px;color:var(--soft);font-size:11px}.checklist-card label{display:grid;grid-template-columns:18px 1fr;gap:8px;margin:9px 0;color:var(--soft);font-size:13px;cursor:pointer}.checklist-card input{width:16px;height:16px;margin-top:3px;accent-color:var(--forest)}.checklist-card label:has(input:checked){color:var(--forest);text-decoration:line-through}.checklist-card.is-today{border:2px solid var(--orange);background:var(--cream);box-shadow:0 12px 35px rgba(220,107,63,.15)}.checklist-card.is-today .checklist-card__meta strong{background:var(--orange);color:#fff}.checklist-card.is-overdue:not(.is-complete){background:rgba(232,185,79,.1)}.checklist-card.is-overdue:not(.is-complete) .checklist-card__meta strong{background:#f3dfad;color:#77550a}.checklist-card.is-complete{opacity:.66}.checklist-card.is-complete .checklist-card__meta strong{background:#dbe9e3;color:var(--forest)}.checklist-break{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:32px;padding:16px 0 5px;border-top:2px solid var(--ink)}.checklist-break span{font:900 24px Georgia,serif}.checklist-break p{margin:0;color:var(--soft);font-size:12px}.checklist-card--reminder{background:#e1ece7}.checklist-card--reminder .checklist-card__meta strong{background:var(--forest);color:#fff}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden}.info-grid article{display:flex;flex-direction:column;align-items:start;min-height:270px;padding:23px;border-right:1px solid var(--line);background:rgba(255,250,240,.55)}.info-grid article:last-child{border-right:0}.info-grid article>span{color:var(--orange);font:800 11px ui-monospace,monospace}.info-grid h3{margin:8px 0 12px;font:800 21px/1.2 Georgia,serif}.info-grid p{margin:0 0 20px;color:var(--soft);font-size:13px}.info-grid a,.info-grid button{margin-top:auto}.info-grid a{font-weight:800}.copy-button{padding:6px 10px;font-size:12px}.sources{padding-top:20px}.sources h2{font:800 24px Georgia,serif}.sources p{color:var(--soft)}.sources>div{display:flex;flex-wrap:wrap;gap:8px}.sources a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--soft);font-size:12px;text-decoration:none}.sources a:hover{border-color:var(--ink);color:var(--ink)}footer{display:flex;justify-content:space-between;gap:20px;padding:28px max(24px,calc((100vw - 1220px)/2));border-top:1px solid var(--line);color:var(--soft);font-size:12px}.toast{position:fixed;z-index:50;right:22px;bottom:22px;transform:translateY(20px);padding:10px 15px;border-radius:999px;background:var(--ink);color:#fff;opacity:0;pointer-events:none;transition:.2s}.toast.is-visible{transform:translateY(0);opacity:1}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:64px}.trip-ticket{max-width:520px;transform:none}.route-layout,.kanas-layout{grid-template-columns:1fr}.route-summary__warning{margin-top:30px}.checklist-grid,.info-grid{grid-template-columns:repeat(2,1fr)}.info-grid article:nth-child(2){border-right:0}.info-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.decision-grid{grid-template-columns:1fr}}
@media(max-width:640px){.topbar{min-height:62px;padding:10px 15px}.updated{display:none}.plain-button{padding:6px 10px;font-size:12px}.brand strong{font-size:13px}.hero{padding:50px 20px 64px}.hero h1{font-size:clamp(47px,16vw,72px)}.hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.trip-ticket{margin:10px 4px;padding-inline:24px}.alert-strip{align-items:start;padding:16px 20px}.route-section,.kanas-section,.timeline-section,.checklist-section,.info-section,.sources{padding:70px 20px}.kanas-section{padding-top:15px}.transfer-map,.inside-plan{padding:20px}.transfer-spine{grid-template-columns:1fr;gap:8px}.transfer-spine>i{padding:2px 0}.transfer-node{min-height:105px}.transfer-branches{grid-template-columns:1fr}.transfer-branches div{min-height:0}.inside-day{grid-template-columns:64px 1fr}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:15px}.map-canvas{width:100%;min-height:0;aspect-ratio:760/600}.map-canvas svg{display:block}.map-marker{width:25px;height:25px;border-width:1.5px;font-size:8px}.map-marker:after,.map-note{display:none}.mobile-route{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:15px 14px;border-top:1px solid var(--line);scrollbar-width:thin;scroll-snap-type:x proximity}.mobile-route>i{flex:0 0 auto;color:var(--soft);font-style:normal}.mobile-route__stop{display:flex;flex:0 0 auto;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink);font-size:11px;scroll-snap-align:start}.mobile-route__stop span{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--forest);color:#fff;font:700 8px ui-monospace,monospace}.mobile-route__stop--risk span{background:var(--orange)}.timeline:before{left:9px}.day-card{grid-template-columns:1fr;gap:0;padding-left:21px}.day-card__date{display:flex;align-items:baseline;gap:7px;padding:0 0 8px;text-align:left}.day-card__date:after{top:8px;left:5px}.day-card summary{grid-template-columns:1fr 31px;gap:12px;padding:19px}.day-meta{grid-column:1/-1;grid-row:2}.day-card__toggle{grid-column:2;grid-row:1}.day-body{padding:0 18px 20px}.schedule li{grid-template-columns:61px 1fr}.day-grid{grid-template-columns:1fr}.detail-block{min-height:auto}.checklist-grid,.info-grid{grid-template-columns:1fr}.info-grid article{min-height:220px;border-right:0;border-bottom:1px solid var(--line)}.info-grid article:last-child{border-bottom:0}footer{display:block}}
@media(max-width:640px){.prep-summary{grid-template-columns:1fr;gap:18px;padding:22px}.prep-summary__body{grid-template-columns:1fr}.prep-summary button{text-align:left}.checklist-break{display:block}.checklist-break p{margin-top:5px}.checklist-card{padding:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.topbar,.hero__actions,.day-nav,.copy-button,.day-actions,.toast{display:none!important}body{background:#fff;color:#000}.hero,.route-section,.kanas-section,.timeline-section,.decision-section,.checklist-section,.info-section,.sources{max-width:none;padding:28px 0}.hero{min-height:auto;grid-template-columns:1.5fr .5fr}.hero h1{font-size:52px}.trip-ticket{box-shadow:none}.route-layout{grid-template-columns:1.5fr .5fr}.map-canvas{min-height:420px}.day-card details{break-inside:avoid;box-shadow:none}.decision-section{background:#fff;color:#000}.decision-card p,.section-heading--light>p{color:#333}}

/* Live map and researched food/stay cards */
.map-card__legend{align-items:center;padding:13px 18px}.map-legend-items{display:flex;align-items:center;gap:10px}.map-mode{display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(255,250,240,.7)}.map-mode button{padding:5px 9px;border:0;border-radius:999px;background:transparent;color:var(--soft);cursor:pointer;font-size:11px}.map-mode button.is-active{background:var(--ink);color:#fff}.map-canvas.is-hidden{display:none}
.map-mode button:disabled{cursor:not-allowed;opacity:.45}.amap-map{position:relative;height:560px;overflow:hidden;background:#d7e2df}.amap-map.is-hidden{display:none}.amap-map__tiles,.amap-map__route,.amap-map__canvas{position:absolute;inset:0}.amap-map__tiles{z-index:0;overflow:hidden;background:#d7e2df}.amap-map__tiles img{position:absolute;display:block;max-width:none;user-select:none;-webkit-user-drag:none}.amap-map__route{z-index:1;width:100%;height:100%;pointer-events:none}.amap-map__route polyline{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(255,255,255,.95))}.amap-map__canvas{z-index:2;width:100%;height:100%;background:transparent!important}.amap-map__canvas .amap-maps,.amap-map__canvas .amap-layers{background:transparent!important}.amap-map__status{position:absolute;z-index:8;left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100% - 48px);margin:0;padding:8px 12px;border-radius:999px;background:rgba(255,250,240,.95);box-shadow:0 3px 13px rgba(29,41,38,.15);color:var(--soft);font-size:11px;text-align:center}.amap-map__status.is-hidden{display:none}.amap-map__fit{position:absolute;z-index:8;right:14px;bottom:14px;padding:8px 11px;border:1px solid rgba(29,41,38,.25);border-radius:999px;background:rgba(255,250,240,.94);color:var(--ink);box-shadow:0 3px 13px rgba(29,41,38,.15);cursor:pointer;font-size:11px;font-weight:800}.amap-day-nav{position:absolute;z-index:8;top:12px;left:12px;right:64px;display:flex;gap:6px;overflow-x:auto;padding:3px;scrollbar-width:none}.amap-day-nav::-webkit-scrollbar{display:none}.amap-day-nav button{flex:0 0 auto;padding:7px 9px;border:1px solid rgba(29,41,38,.22);border-radius:999px;background:rgba(255,250,240,.94);color:var(--soft);box-shadow:0 2px 8px rgba(29,41,38,.08);cursor:pointer;font-size:10px}.amap-day-nav button.is-active{border-color:var(--forest);background:var(--forest);color:#fff}.amap-marker{position:relative;display:grid;place-items:center;width:31px;height:31px;border:2px solid #fff;border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.3);cursor:pointer;font:800 9px ui-monospace,monospace}.amap-marker--risk{background:var(--orange)}.amap-marker--booked{box-shadow:0 0 0 4px var(--yellow),0 3px 12px rgba(0,0,0,.3)}.amap-marker--pending{border-style:dashed;box-shadow:0 0 0 4px rgba(232,185,79,.5),0 3px 12px rgba(0,0,0,.3)}.amap-marker__label{position:absolute;top:32px;left:50%;transform:translateX(-50%);width:max-content;max-width:150px;padding:2px 6px;border-radius:4px;background:rgba(255,250,240,.94);color:var(--ink);font:700 10px system-ui;white-space:nowrap}.amap-logo,.amap-copyright{opacity:.72}
.real-map{position:relative;height:560px;overflow:hidden;background:#d7e2df;cursor:grab;touch-action:none}.real-map.is-hidden{display:none}.real-map.is-dragging{cursor:grabbing}.real-map__tiles,.real-map__route,.real-map__markers{position:absolute;inset:0}.real-map__tiles img{position:absolute;width:256px;height:256px;user-select:none;-webkit-user-drag:none}.real-map__route{width:100%;height:100%;pointer-events:none}.real-map__route polyline{fill:none;stroke:var(--orange);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(255,255,255,.9))}.real-map__marker{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:31px;height:31px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--forest);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.3);cursor:pointer;font:800 9px ui-monospace,monospace}.real-map__marker--risk{background:var(--orange)}.real-map__marker:after{content:attr(data-name);position:absolute;left:50%;top:33px;transform:translateX(-50%);width:max-content;padding:2px 6px;border-radius:4px;background:rgba(255,250,240,.92);color:var(--ink);font:700 10px system-ui;white-space:nowrap}.real-map__controls{position:absolute;z-index:4;top:14px;right:14px;display:grid;overflow:hidden;border:1px solid rgba(29,41,38,.28);border-radius:10px;background:rgba(255,250,240,.94);box-shadow:0 4px 15px rgba(29,41,38,.15)}.real-map__controls button{display:grid;width:38px;height:38px;place-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:20px}.real-map__controls button:last-child{border-bottom:0;font-size:16px}.real-map__controls button:hover{background:var(--paper)}.real-map__status{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:7px 11px;border-radius:999px;background:rgba(255,250,240,.92);color:var(--soft);font-size:11px;pointer-events:none}.real-map__status.is-hidden{display:none}.real-map__attribution{position:absolute;z-index:3;right:6px;bottom:4px;margin:0;padding:1px 4px;background:rgba(255,255,255,.82);color:#42504c;font-size:9px}.real-map__attribution a{font-weight:700}
.price-note{margin:-18px 0 25px;padding:11px 14px;border-left:3px solid var(--yellow);background:rgba(255,250,240,.52);color:var(--soft);font-size:12px}.eat-stay{margin-top:14px;padding:19px;border:1px solid var(--line);border-radius:14px;background:#f8f2e4}.eat-stay__heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.eat-stay__heading h4{margin:0;font:800 18px Georgia,serif}.eat-stay__heading span{color:var(--soft);font-size:10px}.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recommendation{padding:15px;border:1px solid rgba(29,41,38,.12);border-radius:11px;background:var(--cream)}.recommendation__top{display:flex;justify-content:space-between;gap:10px;align-items:start}.recommendation__type{display:block;color:var(--orange);font:800 10px ui-monospace,monospace;letter-spacing:.09em}.recommendation h5{margin:4px 0 7px;font-size:15px}.recommendation__price{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#e1ece7;color:var(--forest);font-size:10px;font-weight:800}.recommendation address,.recommendation p{margin:0;color:var(--soft);font-size:12px;font-style:normal}.recommendation p{margin-top:5px}.recommendation__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.recommendation__links a{color:var(--forest);font-size:11px;font-weight:750;text-underline-offset:3px}
.map-privacy{flex-basis:100%;padding-top:8px;border-top:1px dashed var(--line);font-size:10px}
.recommendation-group+.recommendation-group{margin-top:17px;padding-top:16px;border-top:1px dashed var(--line)}.recommendation-group__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.recommendation-group__heading h5{margin:0;font-size:13px}.recommendation-group__heading span{color:var(--soft);font-size:10px}.recommendation h6{margin:4px 0 7px;font-size:15px}.recommendation__signal{display:inline-block;margin:0 0 8px;padding:2px 6px;border-radius:4px;background:rgba(232,185,79,.2);color:#7f5a0b;font-size:9px;font-weight:800}.recommendation__links{gap:7px 11px}
.chain-audit{display:flex;gap:8px;margin:0 0 14px;padding:8px 10px;border-radius:8px;background:#e1ece7;color:var(--forest);font-size:11px}.chain-audit strong{flex:0 0 auto}
@media(max-width:640px){.map-legend-items{display:none}.map-mode{max-width:100%;overflow-x:auto}.map-mode button{padding-inline:8px;white-space:nowrap}.amap-map,.real-map{height:460px}.amap-day-nav{right:12px}.amap-marker,.real-map__marker{width:27px;height:27px;font-size:8px}.amap-marker__label,.real-map__marker:after{top:29px;font-size:9px}.real-map__controls{top:10px;right:10px}.recommendation-grid{grid-template-columns:1fr}.eat-stay{padding:15px}.eat-stay__heading{display:block}.eat-stay__heading span{display:block;margin-top:3px}}
@media print{.map-mode,.amap-day-nav,.amap-map__fit,.amap-map__status,.real-map__controls,.real-map__status{display:none!important}.amap-map,.real-map{height:450px}.recommendation{break-inside:avoid}}

/* Confirmed hotel bookings and cancellation deadlines */
.map-marker--booked{box-shadow:0 0 0 4px var(--yellow),0 4px 15px rgba(29,41,38,.25)}
.map-marker--pending{border-style:dashed;box-shadow:0 0 0 4px rgba(232,185,79,.5),0 4px 15px rgba(29,41,38,.25)}
.real-map__marker--booked{box-shadow:0 0 0 4px var(--yellow),0 3px 12px rgba(0,0,0,.3)}
.real-map__marker--pending{border-style:dashed;box-shadow:0 0 0 4px rgba(232,185,79,.5),0 3px 12px rgba(0,0,0,.3)}
.mobile-route__stop--booked span{box-shadow:0 0 0 3px var(--yellow)}
.mobile-route__stop--pending span{box-shadow:0 0 0 3px rgba(232,185,79,.5)}
.recommendation--booked{border:2px solid var(--forest);background:#f4f8f5}
.recommendation--pending{border:2px dashed #a87612;background:#fff9e7}
.recommendation--conflict{border-color:var(--orange);background:#fff2e9}
.recommendation__stay{font-weight:800;color:var(--ink)!important}
.recommendation__deadline{display:flex;justify-content:space-between;gap:10px;margin:8px 0!important;padding:8px 10px;border-radius:8px;background:var(--forest);color:#fff!important}
.recommendation--pending .recommendation__deadline{background:#a87612}
.recommendation--conflict .recommendation__deadline{background:var(--orange)}
.recommendation__deadline strong{font-size:10px;letter-spacing:.04em}
.cancellation-todos{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1fr);gap:9px 20px;margin:0 0 22px;padding:16px 18px;border:2px solid var(--orange);border-radius:13px;background:#fff3e8}
.cancellation-todos>div{grid-row:1/span 3}
.cancellation-todos>div span,.cancellation-todos>div strong{display:block}
.cancellation-todos>div span{color:var(--orange);font:800 10px ui-monospace,monospace;letter-spacing:.12em}
.cancellation-todos>div strong{margin-top:3px;font-size:15px}
.cancellation-todos label{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;color:var(--ink);font-size:13px;cursor:pointer}
.cancellation-todos input{width:16px;height:16px;margin-top:2px;accent-color:var(--orange)}
.cancellation-todos label:has(input:checked){opacity:.6;text-decoration:line-through}
@media(max-width:640px){.cancellation-todos{grid-template-columns:1fr}.cancellation-todos>div{grid-row:auto}}

/* Drone compliance card */
.drone-section{max-width:1320px;margin:0 auto;padding:58px 50px 100px}.drone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.drone-card{min-height:205px;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,250,240,.68)}.drone-card>span{font:800 11px ui-monospace,monospace;letter-spacing:.1em}.drone-card h3{margin:9px 0 12px;font:900 24px/1.18 Georgia,"Noto Serif SC",serif}.drone-card p{margin:0;color:var(--soft);font-size:13px}.drone-card--red{border-top:4px solid var(--orange);background:#fff2e9}.drone-card--red>span{color:var(--orange)}.drone-card--amber{border-top:4px solid #a87612;background:#fff9e7}.drone-card--amber>span{color:#8b650e}.drone-card--green{border-top:4px solid var(--forest);background:#e1ece7}.drone-card--green>span{color:var(--forest)}.drone-checklist{margin-top:16px;padding:25px 28px;border:1px solid var(--line);border-radius:18px;background:var(--cream)}.drone-checklist h3{margin:0 0 14px;font:900 25px Georgia,"Noto Serif SC",serif}.drone-checklist ol{display:grid;gap:9px;margin:0;padding-left:21px;color:var(--soft);font-size:13px}.drone-checklist li::marker{color:var(--orange);font-weight:800}.drone-checklist a{color:var(--forest);font-weight:800;text-underline-offset:3px}.drone-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--line)}.drone-links a{font-size:12px}
@media(max-width:900px){.drone-grid{grid-template-columns:1fr 1fr}.drone-card:last-child{grid-column:1/-1}}
@media(max-width:640px){.drone-section{padding:45px 20px 70px}.drone-grid{grid-template-columns:1fr}.drone-card:last-child{grid-column:auto}.drone-card{min-height:auto;padding:20px}.drone-checklist{padding:20px}.drone-links{display:grid;gap:9px}}
