.cm-root{--cm-deep:var(--illu-violet-deep);--cm-sea:var(--illu-teal-deep);color:var(--ink)}.cm-root h1,.cm-root h2,.cm-root h3{font-family:var(--font-display)}.cm-kicker{font:700 13px/1.2 var(--font-body);color:var(--brand-line);margin:0 0 6px}.cm-hero h1{color:var(--surface);margin:0;font-size:24px;font-weight:800;line-height:1.2}.cm-lead{color:var(--brand-bg);margin:10px 0 0;font-size:15px;line-height:1.45}.cm-legend{color:var(--ink);flex-wrap:wrap;gap:6px 16px;margin:12px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.cm-legend li{align-items:center;gap:7px;display:flex}.cm-key{border-radius:50%;width:18px;height:18px;display:inline-block}.cm-key-outside{background:var(--surface);border:1.5px dashed var(--brand)}.cm-footnote{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.45}.cm-svg{border-radius:var(--radius);width:100%;height:auto;display:block}.cm-route-base{fill:none;stroke:var(--surface);stroke-opacity:.62;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 9}.cm-route-fill{fill:none;stroke:var(--surface);stroke-width:5px;stroke-linecap:round}.cm-node-ring{fill:none;stroke:var(--surface);stroke-width:3px;transform-box:fill-box;transform-origin:50%}.cm-c-partial .cm-node-ring{stroke-dasharray:50 50;transform:rotate(-90deg)}.cm-c-outside .cm-node-ring{stroke-opacity:0}.cm-node-disc{fill:var(--cm-deep);stroke:var(--brand-line);stroke-width:2px}.cm-node-num{font:800 14px/1 var(--font-display);fill:var(--surface)}.is-lit .cm-node-disc{fill:var(--surface);stroke:var(--surface)}.cm-c-outside .cm-node-disc{stroke-dasharray:3 3}.cm-name{font:700 12.5px/1 var(--font-display);fill:var(--surface);paint-order:stroke;stroke:var(--cm-deep);stroke-width:3.5px;stroke-linejoin:round}.cm-here-text{font:700 12.5px/1 var(--font-body);fill:var(--surface);paint-order:stroke;stroke:var(--cm-deep);stroke-width:3.5px;stroke-linejoin:round}.cm-border-text{font:600 11px/1 var(--font-body);fill:var(--brand-line);letter-spacing:.02em}.cm-spot{cursor:pointer;outline:none}.cm-spot .cm-art,.cm-spot .cm-node,.cm-tile-art{transition:transform var(--d-hover,.16s) var(--ease-out,ease-out);transform-box:fill-box;transform-origin:bottom}:is(.cm-spot:hover .cm-node-ring,.cm-spot:focus-visible .cm-node-ring,.cm-spot.is-active .cm-node-ring){stroke-opacity:1;stroke-dasharray:none;stroke-width:4px}.cm-spot.is-active .cm-name{text-underline-offset:3px;text-decoration:underline}.cm-stops{margin:0;padding:0;list-style:none}.cm-stop{background:var(--illu-land-2);min-width:0}.cm-stop.cm-c-outside{background:var(--cm-deep)}.cm-card{display:none}.cm-stop.is-open .cm-card{display:block}.cm-tile{color:var(--surface);-webkit-tap-highlight-color:transparent;touch-action:manipulation;height:178px;text-decoration:none;display:block;position:relative;overflow:hidden}.cm-tile:focus-visible{outline:3px solid var(--surface);outline-offset:-5px;border-radius:12px}.cm-tile-svg{width:100%;height:178px;display:block}.cm-tile-road{fill:none;stroke:var(--surface);stroke-opacity:.6;stroke-width:3px;stroke-linecap:round;stroke-dasharray:1 9}.cm-tile-road-lit{fill:none;stroke:var(--surface);stroke-width:5px;stroke-linecap:round}.cm-tile-text{flex-direction:column;align-items:flex-start;gap:3px;width:47%;font-style:normal;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.cm-tile-l .cm-tile-text{right:12px}.cm-tile-r .cm-tile-text{left:12px}.cm-tile-text small{color:var(--brand-line);font-size:12px;line-height:1.2}.cm-tile-text b{font:800 clamp(12.5px,3.6vw,15px)/1.2 var(--font-display);color:var(--surface)}.cm-tile-text em{color:var(--brand-line);font-size:12px;font-style:normal;line-height:1.2}.cm-tile-here{background:var(--surface);color:var(--pump-500);border-radius:999px;margin-top:4px;padding:3px 8px;font-size:12px;font-style:normal;font-weight:700;line-height:1.3}.cm-boundary{color:var(--surface);text-align:center;border-top:2px dashed var(--brand-line);background:var(--cm-deep);flex-direction:column;align-items:center;gap:2px;margin:0;padding:14px 16px 12px;display:flex}.cm-boundary span{font:800 14px/1.2 var(--font-display)}.cm-boundary small{color:var(--brand-line);font-size:13px}.cm-card{background:var(--surface);color:var(--ink);overflow-wrap:anywhere;border-radius:14px;min-width:0;margin:0 10px 12px;padding:16px}.cm-card-art{display:none}.cm-eyebrow{color:var(--muted);margin:0 0 4px;font-size:13px}.cm-card h2{outline:none;margin:0 0 8px;font-size:20px;font-weight:800;line-height:1.2}.cm-card h3{margin:18px 0 6px;font-size:14px;font-weight:800;line-height:1.3}.cm-card p{margin:0 0 6px}.cm-card ul{margin:0;padding-left:18px}.cm-card li{margin:0 0 7px;font-size:15px;line-height:1.45}.cm-chips{flex-wrap:wrap;gap:6px;display:flex;margin:0 0 10px!important}.cm-chip{background:var(--lav-50);color:var(--pump-500);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.4;display:inline-block}.cm-chip-outside{background:var(--surface);color:var(--pump-600);box-shadow:inset 0 0 0 1.5px var(--pump-300)}.cm-why{font-size:16px;font-weight:600;line-height:1.45}.cm-thin{color:var(--muted);font-size:14px}.cm-locked{background:var(--lav-50);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.45;margin:12px 0 0!important}.cm-quote{border-left:3px solid var(--pump-300);margin:14px 0 0;padding:2px 0 2px 14px}.cm-quote p{color:var(--pump-600);margin:0;font-size:16px;font-weight:600;line-height:1.4}.cm-quote cite{color:var(--muted);font-size:13px;font-style:normal}.cm-note{color:var(--muted);font-size:13px}.cm-list-x{list-style:none;padding-left:0!important}.cm-list-x li{padding-left:18px;position:relative}.cm-list-x li:before{content:"×";color:var(--pump-500);font-weight:700;position:absolute;top:-1px;left:2px}.cm-program{background:var(--lav-50);border-radius:12px;margin-top:18px;padding:12px 14px 10px}.cm-program h3{margin-top:0}.cm-program p{font-size:14px;line-height:1.45}.cm-links{list-style:none;margin:8px 0 0!important;padding:0!important}.cm-links li{margin:0 0 2px}.cm-links a{background:var(--surface);min-height:44px;color:var(--ink);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;font-size:14px;line-height:1.3;text-decoration:none;display:flex}.cm-links a span{min-width:0}.cm-links a small{color:var(--muted);white-space:nowrap;flex:none;font-size:12px}.cm-links a:hover{color:var(--pump-500)}.cm-more{margin-top:6px}.cm-more summary{min-height:44px;color:var(--pump-500);cursor:pointer;align-items:center;padding:0 10px;font-size:14px;font-weight:700;display:flex}.cm-gaps{color:var(--muted);margin:10px 0 2px!important}.cm-back{position:absolute;left:-9999px}.cm-back:focus{min-height:44px;margin-top:12px;padding:0 10px;line-height:44px;display:inline-block;position:static}.cm-land{display:none}.cm-hero{border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(170deg,var(--illu-teal-deep),var(--illu-teal-ink));padding:18px 16px}.cm-grid{flex-direction:column;display:flex}.cm-map-col{display:contents}.cm-hero{order:1}.cm-stops{order:2}.cm-legend{order:3;margin:12px 2px 0}.cm-footnote{order:4;margin:8px 2px 0}.cm-stops{border-radius:0 0 var(--radius) var(--radius);overflow:hidden}@media (min-width:640px) and (max-width:1279.98px){.cm-root{max-width:600px;margin:0 auto}}@media (min-width:1280px){.cm-grid{flex-direction:initial;grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:20px;display:grid}.cm-map-col{display:block;position:relative}.cm-legend,.cm-footnote{margin-left:0;margin-right:0}.cm-land{display:block}.cm-hero{z-index:1;pointer-events:none;background:0 0;border-radius:0;width:min(490px,100% - 140px);padding:0;position:absolute;top:20px;left:24px}.cm-hero h1{font-size:21px}.cm-lead{font-size:14px}.cm-stops{background:var(--surface);max-height:calc(100vh - 88px);box-shadow:0 0 0 1px var(--line);border-radius:14px;position:sticky;top:72px;overflow:auto}.cm-tile,.cm-boundary{display:none}.cm-stop,.cm-stop.cm-c-outside{background:0 0}.cm-card{margin:0;padding:18px 20px 20px}.cm-card-art{width:150px;height:103px;color:var(--surface);background:linear-gradient(135deg,var(--illu-teal),var(--illu-teal-ink));border-radius:12px;margin:-4px 0 6px;padding:6px;display:block}.cm-c-outside .cm-card-art{background:var(--cm-deep)}}@media (max-width:767px){body:has(.cm-root) .bottom-nav a{padding:4px 0;font-size:11px}}@media (prefers-reduced-motion:no-preference){.cm-route-fill{animation:1.5s cubic-bezier(.33,0,.2,1) both cm-draw}@keyframes cm-draw{0%{stroke-dashoffset:var(--p)}to{stroke-dashoffset:0}}.cm-art,.cm-node,.cm-pin,.cm-tile-art{transform-box:fill-box;transform-origin:bottom}.cm-spot .cm-art{animation:cm-rise .46s cubic-bezier(.34,1.56,.64,1) var(--t,0s) backwards}@keyframes cm-rise{0%{opacity:.25;transform:translateY(10px)scale(.86)}}.cm-spot .cm-node{animation:cm-pop .38s cubic-bezier(.34,1.56,.64,1) var(--t,0s) backwards}@keyframes cm-pop{0%{opacity:.2;transform:scale(.5)}}.cm-spot .cm-name{animation:cm-fade .32s ease-out var(--t,0s) backwards}@keyframes cm-fade{0%{opacity:0}}.cm-pin,.cm-here-text{animation:.3s ease-out 1.5s backwards cm-fade}.cm-pin-ring{transform-box:fill-box;transform-origin:50%;opacity:0;animation:1.4s ease-out 1.7s 3 cm-ring}@keyframes cm-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}.cm-spot:hover .cm-art{transform:translateY(-3px)scale(1.04)}.cm-stop.is-open .cm-card{animation:cm-card-in .24s var(--ease-out,ease-out) both}@keyframes cm-card-in{0%{opacity:0;transform:translateY(8px)}}.cm-tile:active .cm-tile-text{transform:translateY(-50%)scale(.98)}.cm-stop:nth-child(-n+2) .cm-tile-road-lit{animation:.9s cubic-bezier(.33,0,.2,1) both cm-tile-draw}.cm-stop:nth-child(2) .cm-tile-road-lit{animation-delay:.7s}@keyframes cm-tile-draw{0%{stroke-dasharray:0 1}to{stroke-dasharray:1 1}}@supports (animation-timeline:view()){.cm-stop:nth-child(n+3) .cm-tile-road-lit{animation:linear both cm-tile-draw;animation-timeline:view();animation-range:entry 20% cover 50%}.cm-stop:nth-child(n+3) .cm-tile-art{animation:linear both cm-tile-rise;animation-timeline:view();animation-range:entry 15% cover 45%}@keyframes cm-tile-rise{0%{opacity:.2;transform:translateY(8px)scale(.82)}}}}.cm-key-deep{background:var(--illu-teal-ink)}.cm-key-partial{background:linear-gradient(90deg,var(--illu-teal-ink) 50%,var(--illu-teal-line) 50%)}.cm-key-outside{border-color:var(--illu-teal-ink)}.is-lit .cm-node-num{fill:var(--illu-teal-ink)}.cm-chip{background:var(--illu-teal-bg);color:var(--illu-teal-ink)}.cm-chip-deep{background:var(--illu-teal-ink);color:var(--surface)}.cm-chip-outside{color:var(--illu-teal-ink);box-shadow:inset 0 0 0 1.5px var(--illu-teal-line)}.cm-chip-here{background:var(--coral-bg);color:var(--coral-ink);box-shadow:inset 0 0 0 1.5px var(--coral-line)}.cm-tile-here{color:var(--coral-ink)}.cm-quote{border-left:4px solid var(--illu-coral);background:var(--coral-bg);border-radius:0 12px 12px 0;padding:10px 14px}.cm-quote p,.cm-list-x li:before{color:var(--coral-ink)}.cm-program{background:var(--warm-50);border:1px solid var(--line)}.cm-locked{background:var(--warm-50)}.cm-time{background:var(--illu-teal-bg);color:var(--illu-teal-ink);border-radius:999px;padding:6px 12px;font-size:14px;display:inline-block;margin:10px 0 0!important}.cm-steps{counter-reset:cmstep;gap:8px;margin:6px 0 0;list-style:none;display:grid;padding:0!important}.cm-steps[start="4"]{counter-reset:cmstep 3}.cm-steps>li{counter-increment:cmstep;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px 10px 46px;position:relative;margin:0!important}.cm-steps>li:before{content:counter(cmstep);background:var(--orange-bg);width:26px;height:26px;color:var(--orange-ink);font:800 13px/1 var(--font-display);border-radius:8px;place-items:center;display:grid;position:absolute;top:9px;left:10px}.cm-steps>li:nth-child(3n+2):before{background:var(--illu-teal-bg);color:var(--illu-teal-ink)}.cm-steps>li:nth-child(3n+3):before{background:var(--illu-pink-bg);color:var(--illu-pink-ink)}.cm-fold{border-top:1px solid var(--line);margin-top:10px}.cm-fold>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;list-style:none;display:flex}.cm-fold>summary::-webkit-details-marker{display:none}.cm-fold>summary:after{content:"+";font:800 18px/1 var(--font-display);color:var(--pump-500)}.cm-fold[open]>summary:after{content:"-"}.cm-fold>summary h3{margin:0!important}.cm-fold-inline{border-top:0;margin-top:4px}.cm-fold-inline>summary{color:var(--pump-500);justify-content:flex-start;gap:8px;font-size:14px;font-weight:700}.cm-links .cm-program-destination{color:var(--muted);margin-top:4px;display:block}
