.boat-map{--map-sheet:#347970;--map-halyard:#447eaa;--map-furling:#b27b38;color:#284744;background:#fcfdfb;width:100%;min-width:0;position:relative;overflow:hidden}.boat-map-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a6bab2 #edf2ee;width:100%;overflow:auto hidden}.boat-map-canvas{width:100%;min-width:560px;aspect-ratio:var(--map-ratio);background-image:linear-gradient(#8fa59a08 1px,#0000 1px),linear-gradient(90deg,#8fa59a08 1px,#0000 1px);background-size:32px 32px;position:relative}.boat-map--deck .boat-map-canvas{min-width:640px}.boat-map-svg{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.boat-map-svg path,.boat-map-svg line,.boat-map-svg rect,.boat-map-svg circle,.boat-map-svg ellipse{stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.map-part{cursor:pointer}.map-part>*{transition:stroke .16s,fill .16s}.map-part:hover{filter:drop-shadow(0 0 2px #2f766337)}.map-hull{fill:#fffef9;stroke:#547078;stroke-width:1.7px}.map-hull-stripe{fill:none;stroke:#537582;stroke-width:2.2px}.map-hull-contour{fill:none;stroke:#b1c5c5;stroke-width:1px}.map-solid{fill:#bbcdd1;stroke:#58717b;stroke-width:1.5px}.map-keel-contour{fill:none;stroke:#e5eff0;stroke-width:1.2px}.map-rudder-stock{fill:none;stroke:#6b8186;stroke-width:3px}.map-water{fill:#eaf3f5}.map-waterline{fill:none;stroke:#a3bfc9;stroke-width:1px;stroke-dasharray:9 6}.map-cabin{fill:#e9eeea;stroke:#80938e;stroke-width:1.1px}.map-window{fill:#59757b;stroke:#f1f5ef;stroke-width:.7px}.map-cockpit-profile{fill:#ccdbd7;stroke:#789086;stroke-width:1.3px}.map-rail{fill:none;stroke:#9aada9;stroke-width:1px}.map-detail{fill:none;stroke:#92a39c;stroke-width:1px}.map-deck-inset{fill:#f5f3e9;stroke:#c2cbbd;stroke-width:1px}.map-main{fill:#fffdf4;stroke:#8d9b96;stroke-width:1.4px}.map-headsail{fill:#e7f1ef;stroke:#7d9996;stroke-width:1.35px}.map-staysail{fill:#d6e9e2;stroke:#709d8d;stroke-width:1.4px}.map-sail-seam{fill:none;stroke:#bbc7c0;stroke-width:.6px}.map-batten{fill:none;stroke:#a0aca0;stroke-width:1.4px}.map-wire{fill:none;stroke:#97a8a8;stroke-width:1px}.map-forestay{fill:none;stroke:#849e9d;stroke-width:1.5px}.map-turnbuckle{fill:none;stroke:#667e7b;stroke-width:2.5px}.map-mast,.map-spar{fill:none;stroke:#617a80;stroke-width:4px}.map-mast-edge{fill:none;stroke:#c8d7d7;stroke-width:1px}.map-spreader{fill:none;stroke:#748a8e;stroke-width:2px}.map-boom{fill:none;stroke:#6b8385;stroke-width:4.4px}.map-halyard{fill:none;stroke:var(--map-halyard);stroke-width:1.6px}.map-sheet{fill:none;stroke:var(--map-sheet);stroke-width:1.7px}.map-vang-tackle{fill:none;stroke:#6e8f86;stroke-width:3.6px}.map-outhaul{fill:none;stroke:#86964e;stroke-width:1.7px}.map-reef{fill:none;stroke:#b0975f;stroke-width:1px;stroke-dasharray:3 4}.map-reef-eye{fill:#fffef7;stroke:#a08f65;stroke-width:1px}.map-cunningham{fill:none;stroke:#97799d;stroke-width:1.5px}.map-fitting{fill:#e9efeb;stroke:#54786e;stroke-width:1.15px}.map-cringle{fill:#fdfcf3;stroke:#8d9b8b;stroke-width:1px}.map-small-fitting{fill:#637d75;stroke:none}.map-furler{fill:#c5d6d3;stroke:#54746d;stroke-width:1.3px}.map-furling-line{fill:none;stroke:var(--map-furling);stroke-width:1.7px}.map-telltale-green{fill:none;stroke:#36816a;stroke-width:1.6px}.map-telltale-red{fill:none;stroke:#b56c60;stroke-width:1.4px;stroke-dasharray:4 2}.map-telltale-dot{fill:#6f8a76;stroke:none}.map-end-detail{fill:none;stroke:#597a79;stroke-width:2px}.map-centerline{fill:none;stroke:#bccbc7;stroke-width:.8px;stroke-dasharray:7 7}.map-guardrail{fill:none;stroke:#9aaea6;stroke-width:1px}.map-stanchion{fill:#fbfdf7;stroke:#7d9890;stroke-width:1px}.map-hatch{fill:#c6dbdc;stroke:#809f9d;stroke-width:1px}.map-cockpit{fill:#cedbd3;stroke:#8fa397;stroke-width:1.2px}.map-seat{fill:#e7dac0;stroke:#bcb69e;stroke-width:1px}.map-track{fill:none;stroke:#677f7c;stroke-width:3.5px}.map-track-hole{fill:#eef4ed;stroke:none}.map-car{fill:#c5d6d1;stroke:#507469;stroke-width:1.4px}.map-jib-sheet{fill:none;stroke:#a1764c;stroke-width:1.8px}.map-slack{stroke-dasharray:5 3;opacity:.75}.map-clew{fill:#e2eee8;stroke:#7b9b8c;stroke-width:1px}.map-chainplate{fill:none;stroke:#728b82;stroke-width:3px}.map-traveller{fill:none;stroke:#50786d;stroke-width:3.5px}.map-clutch{fill:#9ab3a6;stroke:#587768;stroke-width:1px}.map-winch-base{fill:#dce5dd;stroke:#94a89c;stroke-width:1px}.map-winch{fill:#7f9c8e;stroke:#526f66;stroke-width:1.2px}.map-mast-foot{fill:#93aba7;stroke:#526f6c;stroke-width:1.2px}.map-wheel{fill:none;stroke:#5f7c70;stroke-width:1.7px}.map-tiller{fill:none;stroke:#9f8053;stroke-width:4px}.map-cleat{fill:#a8bbb2;stroke:#648474;stroke-width:1px}.map-cleat-bar{fill:none;stroke:#648474;stroke-width:2px}.map-sail-plan{fill:#dfeddf44;stroke:#a2b9aa;stroke-width:1px;stroke-dasharray:4 4}.map-staysail-plan{fill:#b8d8c536;stroke:#8eafa0;stroke-width:1px;stroke-dasharray:4 4}.map-boom-ghost{fill:none;stroke:#9daea6;stroke-width:5px;opacity:.5}.map-view-label,.map-direction,.map-side-label,.map-small-label,.map-deck-note{fill:#718982;letter-spacing:1.5px;font-family:Studio,Arial,sans-serif;font-size:14px;font-weight:400}.map-view-label{letter-spacing:2px;font-size:15px}.map-small-label,.map-deck-note{letter-spacing:1px;font-size:12px}.map-side-label{letter-spacing:3px;font-size:14px}.map-part.is-selected>path,.map-part.is-selected>rect,.map-part.is-selected>circle,.map-part.is-selected>ellipse{stroke:#1e7667;stroke-width:2.2px}.map-part.is-selected .map-main,.map-part.is-selected .map-headsail,.map-part.is-selected .map-staysail{fill:#cee4dba8}.map-part.is-selected .map-hull,.map-part.is-selected .map-solid,.map-part.is-selected .map-cockpit{fill:#bfded0}.map-part.is-selected .map-mast,.map-part.is-selected .map-boom,.map-part.is-selected .map-track,.map-part.is-selected .map-traveller{stroke-width:5px}.map-leaders{pointer-events:none}.map-leaders path{fill:none;stroke:#a4b6ae;stroke-width:.75px;opacity:.68}.map-leaders circle{fill:#8ea69c;stroke:#fff;stroke-width:1px}.map-leaders .is-selected path{stroke:#227b69;stroke-width:1.3px;opacity:1}.map-leaders .is-selected circle{fill:#227b69}.boat-map-hotspot{z-index:1;color:#42695d;font-variant-numeric:tabular-nums;touch-action:manipulation;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;padding:0;font-size:13px;font-weight:600;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%)}.boat-map-hotspot>span:first-child{background:#fffefa;border:1px solid #a3bcb0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,color .15s,border-color .15s;display:flex;box-shadow:0 2px 5px #34533a0b}.boat-map-hotspot:hover{z-index:4;background:#32725a0d}.boat-map-hotspot:hover>span:first-child{background:#e2eee7;border-color:#558c79}.boat-map-hotspot[aria-pressed=true]{z-index:3;background:#30756012}.boat-map-hotspot[aria-pressed=true]>span:first-child{color:#fff;background:#2c705e;border-color:#2c705e}.boat-map-hotspot:focus-visible{z-index:5;outline:2px solid var(--focus);outline-offset:1px}.map-hotspot-label{color:#fffdf6;text-align:center;white-space:normal;pointer-events:none;opacity:0;background:#224d42;border-radius:5px;width:max-content;max-width:210px;padding:7px 10px;font-size:.8125rem;font-weight:400;line-height:1.4;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 3px 10px #143e3a17}.boat-map-hotspot:hover .map-hotspot-label,.boat-map-hotspot:focus-visible .map-hotspot-label{opacity:1}.boat-map-key{color:#607c6d;font-size:var(--text-xs);border-top:1px solid #e6ede6;flex-wrap:wrap;justify-content:center;align-items:center;gap:19px;padding:13px 18px 18px;display:flex}.boat-map-key>span{align-items:center;gap:6px;display:inline-flex}.boat-map-key i{width:18px;height:2px;display:inline-block}.map-key-sheet{background:var(--map-sheet)}.map-key-halyard{background:var(--map-halyard)}.map-key-furling{background:var(--map-furling)}.boat-map-scroll-hint{font-size:var(--text-xs);text-align:center;color:#5e7c6f;padding:0 16px 15px;line-height:1.6;display:none}.boat-map-accessible-help{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.boat-map-mobile-tools{display:none}.map-orientation-line{fill:none;stroke:#c0d0c4;stroke-width:1px}@media (max-width:720px){.boat-map-scroll-hint{display:block}.boat-map-mobile-tools{border-bottom:1px solid #e4ece6;justify-content:flex-end;padding:7px 12px;display:flex}.boat-map-mobile-tools button{font-size:var(--text-sm);min-height:var(--control-size);border-radius:var(--radius-sm);color:#376755;background:#f5f9f2;border:1px solid #ccdcd1;padding:6px 10px}.boat-map-canvas,.boat-map--deck .boat-map-canvas{min-width:0}.boat-map.is-zoomed .boat-map-canvas{min-width:720px}.boat-map-hotspot{width:28px;height:28px;font-size:12px}.boat-map-hotspot>span:first-child{width:21px;height:21px}.boat-map.is-zoomed .boat-map-hotspot{width:44px;height:44px;font-size:13px}.boat-map.is-zoomed .boat-map-hotspot>span:first-child{width:27px;height:27px}.boat-map-key{gap:13px;padding-bottom:12px}.map-hotspot-label{font-size:var(--text-xs);max-width:135px}}@media (prefers-reduced-motion:reduce){.map-part>*,.boat-map-hotspot>span{transition:none}}.boat-map-hotspot[data-label-align=end] .map-hotspot-label{left:auto;right:0;transform:none}.boat-profile-controls{flex-wrap:wrap}.boat-profile-controls>span{flex:1;min-width:12ch}.boat-profile-controls button[aria-pressed=true],.boat-map-mobile-tools button[aria-pressed=true]{background:var(--green-soft);box-shadow:inset 0 -3px 0 var(--green);font-weight:600}.boat-profile-controls button:active,.boat-map-mobile-tools button:active{background:var(--control-pressed);color:var(--ink)}.boat-map-mobile-tools button:hover{background:var(--control-hover)}.boat-profile-source a{white-space:normal;overflow-wrap:anywhere}.boat-profile-controls{color:#647a71;font-size:var(--text-xs);border-bottom:1px solid #e3eae4;justify-content:space-between;align-items:center;gap:14px;padding:13px 20px;line-height:1.5;display:flex}.boat-profile-controls button{min-height:var(--control-size);border-radius:var(--radius-sm);color:#315f51;font-size:var(--text-xs);background:#f4f8f1;border:1px solid #bdcec2;flex-shrink:0;padding:7px 11px}.boat-profile-controls button:hover{background:#e5eee1}.boat-profile-controls button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.boat-profile-source{font-size:var(--text-xs);color:#76877e;max-width:650px;margin:0 auto;padding:0 22px 17px;line-height:1.7}.boat-profile-source a{color:#3e6e5b;text-underline-offset:3px;white-space:normal;text-decoration:underline}.hr312-water{fill:#edf4f5}.hr312-hull{fill:#fffcf1;stroke:#49626c;stroke-width:1.6px}.hr312-underbody,.hr312-skeg{fill:#acbec3;stroke:#4c6671;stroke-width:1.5px}.hr312-rudder-stock{fill:none;stroke:#466471;stroke-width:1.6px}.hr312-keel-area,.hr312-submerged-area{fill:#acbec3;stroke:none}.hr312-underbody-outline{fill:none;stroke:#4c6671;stroke-width:1.5px}.hr312-cove-stripe{fill:none;stroke:#466677;stroke-width:8px}.hr312-portlight{fill:#dae5dc;stroke:#fffdf5;stroke-width:1.1px}.hr312-bootstripe{fill:none;stroke:#577485;stroke-width:2px}.hr312-toerail{fill:none;stroke:#9c8866;stroke-width:1.9px}.hr312-coachroof{fill:#f3f0e4;stroke:#75847b;stroke-width:1.2px}.hr312-hatch{fill:#dedfd5;stroke:#8a948a;stroke-width:.8px}.hr312-cockpit{fill:#d1d9d1;stroke:#728879;stroke-width:1.1px}.hr312-tiller{fill:none;stroke:#a78654;stroke-width:2px}.hr312-rail{fill:none;stroke:#82928f;stroke-width:1px}.hr312-lifeline{fill:none;stroke:#a5b1aa;stroke-width:.75px}.hr312-main{fill:#faf8ed;stroke:#667e80;stroke-width:1.3px}.hr312-genoa{fill:#eff3ee;fill-opacity:.91;stroke:#668284;stroke-width:1.3px}.hr312-seams .map-sail-seam{stroke:#bcc8be;stroke-width:.55px}.hr312-profile .map-mast{stroke-width:3.5px}.hr312-profile .map-boom{stroke-width:3.8px}.hr312-profile .map-wire{stroke-width:.8px}.hr312-profile .map-halyard{stroke-width:1.25px}.hr312-profile .map-part.is-selected .hr312-underbody,.hr312-profile .map-part.is-selected .hr312-skeg,.hr312-profile .map-part.is-selected .hr312-hull{fill:#c2ddcf;stroke:#1e7667;stroke-width:2.2px}.hr312-profile .map-part.is-selected .hr312-keel-area,.hr312-profile .map-part.is-selected .hr312-submerged-area{fill:#c2ddcf;stroke:#1e7667;stroke-width:1.2px}@media (max-width:720px){.boat-profile-controls{font-size:var(--text-caption);gap:10px;padding:11px 12px}.boat-profile-controls button{font-size:var(--text-xs);min-height:var(--control-size)}.boat-profile-source{font-size:var(--text-caption);padding:0 15px 14px}}
