.course-map .cm-picker{flex-wrap:wrap;gap:6px;margin:0 0 15px;display:flex}.course-map .cm-picker button{color:#4b6d60;background:#eaf1eb;border:0;border-radius:50%;width:32px;height:32px;font-size:12px;font-weight:800}.course-map .cm-picker button[aria-pressed=true]{color:#fffef5;background:#255d50}.course-map .cm-scroll{scroll-snap-type:x proximity;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#adcbbd transparent;margin:0 -12px;padding:8px 12px 22px;overflow-x:auto}.course-map .cm-units{align-items:flex-start;gap:22px;width:max-content;display:flex}.course-map .cm-unit{isolation:isolate;scroll-snap-align:start;--unit-ink:#286858;--unit-wash:#e9f5ed;flex:none;width:286px;padding:0 9px 8px;position:relative}.course-map .cm-unit:before{content:"";z-index:-2;background:radial-gradient(ellipse at 35% 52%,var(--unit-wash),transparent 72%);opacity:.85;border-radius:48% 52% 40% 60%/38% 46% 54% 62%;position:absolute;inset:70px -6px 0}.course-map .cm-unit-head{align-items:center;gap:12px;min-height:56px;margin-bottom:16px;display:flex}.course-map .cm-unit-art{background:var(--unit-wash);width:46px;height:46px;color:var(--unit-ink);border-radius:16px;flex:none;place-items:center;display:grid;transform:rotate(-6deg)}.course-map .cm-unit-art svg{stroke-width:1.8px;width:25px;height:25px;transform:rotate(6deg)}.course-map .cm-unit-head span:not(.cm-unit-art){letter-spacing:.1em;text-transform:uppercase;color:#597164;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.course-map .cm-unit-head h2{letter-spacing:-.02em;font-size:17px;font-weight:800;line-height:1.18}.course-map .cm-missions{isolation:isolate;padding-bottom:10px;position:relative}.course-map .cm-tracks{pointer-events:none;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.course-map .cm-track-bed{fill:none;stroke:#d8e7df;stroke-width:11px;stroke-linecap:round}.course-map .cm-track-gap{fill:none;stroke:#fbfcf8;stroke-width:7px;stroke-linecap:round}.course-map .cm-track-ties{stroke:#d0e1d6;stroke-width:1.5px}.course-map .cm-mission{text-align:left;color:#285345;width:100%;min-height:82px;box-shadow:none;background:0 0;border:0;align-items:center;gap:13px;padding:7px 0;display:flex;position:relative}.course-map .cm-mission:nth-of-type(2n){padding-left:32px}.course-map .cm-station{color:#688571;background:linear-gradient(145deg,#fffef5,#e8f1d9);border:2px solid #fffef9;border-radius:46% 54% 48% 52%;flex:none;place-items:center;width:56px;height:56px;transition:transform .2s;display:grid;position:relative;box-shadow:0 3px #bdcfb8,inset 0 1px #fff}.course-map .cm-station>svg{stroke-width:1.6px;width:25px;height:25px}.course-map .cm-mission strong{max-width:155px;font-size:13px;font-weight:750;line-height:1.3;display:block}.course-map .cm-mission small{color:#687b6b;margin-top:3px;font-size:10px;display:block}.course-map .cm-lock{color:#52715d;background:#fffdf3;border:1px solid #c6d8c8;border-radius:50%;place-items:center;width:21px;height:21px;display:grid;position:absolute;bottom:-2px;right:-2px}.course-map .cm-lock svg{stroke-width:2px;width:11px;height:11px}.course-map .cm-mission[data-state=open] .cm-station{color:#fffef3;background:linear-gradient(140deg,#6ad4b8,#139b83 50%,#117767);border-color:#d8fff2;transform:rotate(-6deg);box-shadow:0 4px #0b6b5f,0 8px 18px -9px #048e72a0,inset 0 2px #ffffff80}.course-map .cm-mission[data-state=open] .cm-station>svg{stroke-width:2px;transform:rotate(6deg)}.course-map .cm-mission[data-state=done] .cm-station{color:#3f782a;background:#e1efcd;border-color:#fffef2;box-shadow:0 3px #accb91}.course-map .cm-mission:disabled{opacity:1;color:#486657}.course-map .cm-mission[data-state=locked] .cm-station{background:linear-gradient(145deg,color-mix(in srgb,var(--unit-ink) 10%,white),color-mix(in srgb,var(--unit-ink) 27%,#fffce8));color:var(--unit-ink);box-shadow:0 3px 0 color-mix(in srgb,var(--unit-ink) 40%,#e4ebd5),inset 0 2px 0 #fffc}.course-map .cm-mission:enabled:hover .cm-station{transform:translateY(-3px)rotate(-6deg)}.course-map .cm-mission[aria-pressed=true] .cm-station{outline-offset:4px;outline:2px solid #178d74}.course-map{min-width:0;max-width:1360px;margin:auto;display:block}.course-map .cm-heading h1{margin:12px 0;font-size:clamp(26px,3vw,38px)}.course-map .cm-progress{align-items:center;gap:20px;margin:12px 0;font-size:12px;display:flex}.course-map .cm-progress progress{max-width:180px;height:8px}.course-map .cm-next{justify-content:space-between;align-items:center;gap:18px;margin:18px 0 26px;display:flex}.course-map .cm-next p{max-width:50ch}.course-map .cm-scroll{touch-action:pan-x pan-y;cursor:grab;align-items:flex-start;gap:22px;max-width:100%;margin:0;padding:12px 8px 24px;display:flex}.course-map .cm-scroll[data-dragging=true]{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-behavior:auto;scroll-snap-type:none}.course-map .cm-unit{width:286px;min-width:0}.course-map .cm-missions{margin:0;padding:0 0 10px;list-style:none}.course-map .cm-missions li{margin:0;padding:0}.course-map .cm-missions li:nth-of-type(odd) .cm-mission{padding-left:32px}.course-map .cm-mission{border:0;text-decoration:none;transform:none}.course-map .cm-mission[aria-current=step] .cm-station{outline-offset:4px;outline:2px solid #178d74}.course-map .cm-mission[aria-disabled=true]{opacity:1}.course-map .cm-mission small,.course-map .cm-unit-head span:not(.cm-unit-art){font-size:11px}.course-map .cm-lock svg{fill:none;stroke:currentColor;stroke-width:1.5px}.course-map .cm-track-ties{fill:none;stroke:#d0e1d6;stroke-width:13px;stroke-dasharray:1 13}.course-map .cm-picker button{min-width:44px;min-height:44px}.course-map .cm-picker button:disabled{opacity:.4}.course-map .cm-mission[aria-disabled=false]:hover .cm-station{transform:translateY(-3px)rotate(-6deg)}.course-map .cm-mission:focus-visible{outline-offset:3px;outline:3px solid #174bff}.course-map .cm-unit-head{align-items:flex-start}.course-map .cm-unit-head h2{overflow-wrap:anywhere}@media (max-width:600px){.course-map .cm-unit{width:min(270px,100vw - 56px)}.course-map .cm-next{flex-wrap:wrap}.course-map .cm-heading h1{font-size:26px}.course-map .cm-progress{flex-wrap:wrap;gap:8px}}@media (prefers-reduced-motion:reduce){.course-map .cm-scroll{scroll-behavior:auto}.course-map .cm-station{transition:none}}.course-map .cm-track-layer{z-index:-1;pointer-events:none;position:absolute;inset:0}.course-map .cm-picker{flex-wrap:nowrap;align-items:center;gap:8px;margin-bottom:18px}.course-map .cm-picker button{box-shadow:none;border:1px solid #0000;flex:none;place-items:center;width:44px;height:44px;padding:0;font-size:13px;line-height:1;display:grid;transform:none}.course-map .cm-picker button[aria-pressed=true]{box-shadow:0 2px #b5cfbf}.course-map .cm-picker button:focus-visible{outline-offset:2px;outline:3px solid #174bff}.course-map .cm-unit-buttons{scrollbar-width:none;scroll-behavior:smooth;gap:6px;min-width:0;padding:3px 3px 5px;display:flex;position:relative;overflow-x:auto}.course-map .cm-unit-buttons::-webkit-scrollbar{display:none}.course-map{container:course-map/inline-size}.course-map .cm-scroll{--unit-width:calc(100% - 66px);scroll-padding-left:8px}.course-map .cm-unit{width:var(--unit-width)}.course-map .cm-scroll:after{content:"";flex:0 0 max(0px,calc(100% - var(--unit-width) - 22px))}.course-map .cm-unit-head h2{margin:0}@media (max-width:600px){.course-map .cm-scroll{scroll-snap-type:x mandatory}.course-map .cm-unit{padding-inline:10px}.course-map .cm-mission strong{max-width:none;font-size:14px}.course-map .cm-mission{min-height:90px}.course-map .cm-picker{gap:4px}.course-map .cm-heading h1{font-size:24px;line-height:1.18}.course-map .cm-missions{max-width:340px;margin-inline:auto}}@media (prefers-reduced-motion:reduce){.course-map .cm-unit-buttons{scroll-behavior:auto}}@container course-map (min-width:640px){.course-map .cm-scroll{--unit-width:calc((100% - 88px) / 2)}}@container course-map (min-width:980px){.course-map .cm-scroll{--unit-width:calc((100% - 110px) / 3)}}
.course-route-progress{max-width:30rem;margin:1.4rem auto}.course-route-progress p{flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;font-size:.78rem;display:flex}.course-route-progress progress{width:100%;height:7px;display:block}.map-unit-goal{max-width:42ch;margin:.8rem 0 1.6rem;line-height:1.55}.map-mission-goal{max-width:40ch;margin:.4rem 0 .5rem;font-size:.94rem;font-weight:400;line-height:1.5;display:block}
