.ocean-scene{position:relative;isolation:isolate;width:100%;height:100%;min-height:0;overflow:hidden;background:#124e58;color:#e9f2ed;contain:layout paint}.ocean-scene__canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.ocean-scene__pov-layer,.ocean-scene__pov{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.ocean-scene__pov-tools{position:absolute;z-index:4;display:flex;align-items:center;height:44px;box-sizing:border-box;transform:translate(-50%);background:#082536ad;box-shadow:inset 0 0 0 1px #c5e5df2b,0 2px 10px #05233312;-webkit-backdrop-filter:var(--marine-backdrop-filter, blur(8px));backdrop-filter:var(--marine-backdrop-filter, blur(8px));border-radius:13px;padding:0}.ocean-scene__pov-tools--anchored{transform:none}.ocean-scene__pov-tools button{display:flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;box-sizing:border-box;height:44px;min-height:44px;min-width:44px;padding:0 6px;border:0;border-radius:11px;background:transparent;color:#e2f0eb;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;touch-action:manipulation}.ocean-scene__pov-tools .ocean-scene__look-forward{min-width:76px}.ocean-scene__pov-tools .ocean-scene__binoculars{min-width:60px}.ocean-scene__pov-tools button[aria-pressed=true]{color:#d9fff0;background:#a9e7d41a;box-shadow:inset 0 0 0 1px #bcebd954}.ocean-scene__pov-tools button:hover:not([aria-pressed=true]){background:#b8dcc123}.ocean-scene__pov-tools button:focus-visible{outline:2px solid #bcebd9;outline-offset:-2px}.ocean-scene__render-notice{position:absolute;bottom:12px;left:12px;color:#d6e8e3;font-size:10px;pointer-events:none}.ocean-scene.is-navigating .ocean-scene__canvas{cursor:crosshair}.ocean-scene__gesture-feedback{position:absolute;z-index:5;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #b4eed480;border-radius:16px;background:#0b2b3aef;color:#ccf5e6;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 5px 22px #061c3540;pointer-events:none;animation:ocean-feedback-arrive .16s ease-out both}@keyframes ocean-feedback-arrive{0%{opacity:0;margin-top:5px}to{opacity:1;margin-top:0}}.ocean-scene__gesture-feedback>span{font-size:20px}.ocean-scene.is-over-vessel .ocean-scene__canvas{cursor:pointer}.ocean-scene.is-dragging .ocean-scene__canvas{cursor:grabbing}.ocean-scene__canvas:focus-visible{outline:2px solid rgba(165,234,210,.7);outline-offset:-5px}.ocean-scene__accessible-help{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ocean-scene__contact--hidden:not(:focus-visible){opacity:0;pointer-events:none}.ocean-scene__contacts{position:absolute;inset:0;pointer-events:none}.ocean-scene__contact{--contact-color: #d5bd8b;position:absolute;z-index:2;display:flex;align-items:center;flex-direction:column;min-width:112px;padding:0;border:0;background:none;color:var(--contact-color);transform:translate(-50%,var(--contact-offset));pointer-events:auto;cursor:pointer;font-family:inherit;text-align:left;transition:opacity .2s}.ocean-scene__contact--own{--contact-color: #8ee0c6}.ocean-scene__contact--marker{min-width:44px;min-height:44px;justify-content:center}.ocean-scene__contact-marker{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid var(--contact-color);border-radius:50%;background:#071f29e6;box-shadow:0 2px 8px #000a1233;font-size:10px;font-weight:650;line-height:1}.ocean-scene__contact--own .ocean-scene__contact-marker{width:30px;height:19px;border-radius:6px;background:#8ee0c6;color:#123a35;font-size:9px;letter-spacing:.04em}.ocean-scene__contact--exam .ocean-scene__contact-marker,.ocean-scene__contact.ocean-scene__contact--exam .ocean-scene__contact-number{width:28px;height:28px;border:1px solid currentColor;border-radius:7px;font-size:14px;font-weight:700;letter-spacing:0}.ocean-scene__own-exam-reference{position:absolute;z-index:4;box-sizing:border-box;padding:7px 10px;border:1px solid #b5d9d23b;border-radius:9px;background:#0d2735ed;color:#d6e8e3;font-size:11px;line-height:1.4;pointer-events:none}.ocean-scene__own-exam-reference strong{color:#a4e7d1;font-size:14px}.ocean-scene__own-exam-reference>span{display:block;color:#a2bdbd;font-size:10px}.ocean-scene__contact-anchor{position:absolute;bottom:calc(100% + 3px);left:50%;height:12px;border-left:1px solid currentColor;opacity:.35}.ocean-scene__contact-card{display:flex;align-items:center;gap:8px;border:1px solid rgba(159,189,181,.18);border-radius:7px;background:#071c23d1;padding:7px 10px 7px 8px;box-shadow:0 3px 12px #010e142e;-webkit-backdrop-filter:var(--marine-backdrop-filter, blur(12px));backdrop-filter:var(--marine-backdrop-filter, blur(12px));transition:border-color .2s,background .2s,box-shadow .2s,transform .18s}.ocean-scene__contact:hover .ocean-scene__contact-card,.ocean-scene__contact:focus-visible .ocean-scene__contact-card{transform:translateY(-2px)}.ocean-scene__contact:active .ocean-scene__contact-card{transform:translateY(0) scale(.98)}.ocean-scene__contact.is-focused .ocean-scene__contact-card{animation:ocean-contact-arrive .22s ease-out both}@keyframes ocean-contact-arrive{0%{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ocean-scene__contact-number{display:flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px;border:1px solid currentColor;border-radius:50%;font-size:10px;font-weight:600;line-height:1}.ocean-scene__contact--own .ocean-scene__contact-number{border:0;border-radius:0;font-size:14px;width:15px}.ocean-scene__contact-copy{display:flex;flex-direction:column;gap:4px;white-space:nowrap}.ocean-scene__contact-copy strong{color:#dfeae4;font-size:9px;font-weight:600;line-height:1.1;letter-spacing:.075em;text-transform:uppercase;max-width:145px;overflow:hidden;text-overflow:ellipsis}.ocean-scene__contact--own .ocean-scene__contact-copy strong{color:#a4e7d1}.ocean-scene__contact-copy>span{color:#94aaa9;font-size:10px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.035em}.ocean-scene__contact:hover .ocean-scene__contact-card,.ocean-scene__contact.is-focused .ocean-scene__contact-card{border-color:var(--contact-color);background:#082027f5;box-shadow:0 0 0 3px #92cab912}.ocean-scene__contact:focus-visible{outline:2px solid #b8ecd9;outline-offset:4px;border-radius:7px}.ocean-scene__contact--offscreen{z-index:3;min-width:0;max-width:125px}.ocean-scene__contact--offscreen .ocean-scene__contact-anchor{display:none}.ocean-scene__contact--above .ocean-scene__contact-anchor{bottom:auto;top:calc(100% + 3px)}.ocean-scene__scale{position:absolute;bottom:104px;left:25px;display:flex;align-items:center;gap:9px;color:#a7c1bca3;font-size:8px;font-weight:500;letter-spacing:.075em;text-transform:uppercase;pointer-events:none}.ocean-scene__scale>span:first-child{width:38px;height:5px;border:1px solid rgba(167,193,188,.43);border-top:0}@media(max-width:600px){.ocean-scene__contact-card{padding:6px 7px;gap:5px}.ocean-scene__contact{min-width:92px}.ocean-scene__contact-copy strong{font-size:8px;max-width:90px}.ocean-scene__contact-copy>span{font-size:9px}.ocean-scene__contact-number{width:17px;height:17px;font-size:9px}.ocean-scene__scale{left:15px;bottom:89px;font-size:7px;gap:6px}.ocean-scene__scale>span:first-child{width:24px}}@media(prefers-reduced-motion:reduce){.ocean-scene__contact,.ocean-scene__contact-card,.ocean-scene__gesture-feedback{transition:none;animation:none}.ocean-scene__contact:hover .ocean-scene__contact-card,.ocean-scene__contact:focus-visible .ocean-scene__contact-card,.ocean-scene__contact:active .ocean-scene__contact-card{transform:none}}.ocean-scene__aid{position:absolute;display:inline-flex;align-items:center;gap:5px;max-width:132px;min-height:26px;padding:5px 7px;transform:translate(-50%);color:#d4ddc9;background:#0b2226b8;border:1px solid rgba(177,196,173,.22);border-radius:4px;-webkit-backdrop-filter:var(--marine-backdrop-filter, blur(8px));backdrop-filter:var(--marine-backdrop-filter, blur(8px));font-weight:500;font-family:inherit;font-size:9px;line-height:1.3;cursor:pointer;pointer-events:auto;text-align:left}.ocean-scene__aid>span{flex:none;width:4px;height:4px;border:1px solid #bdcfa9;transform:rotate(45deg)}.ocean-scene__aid:hover,.ocean-scene__aid.is-focused{border-color:#a1ead2;background:#082227f0;color:#cef1df}.ocean-scene__aid:focus-visible{outline:2px solid #b8ecd9;outline-offset:3px}@media(max-width:600px){.ocean-scene__aid{font-size:8px;max-width:100px}}.ocean-scene__leaders{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.ocean-scene__leaders line{stroke:#afd6c659;stroke-width:.8;stroke-dasharray:2 3}.ocean-scene__contact-card{width:100%;height:100%;box-sizing:border-box}.ocean-scene__contact-copy{min-width:0;overflow:hidden}.ocean-scene__contact-card{overflow:hidden}.ocean-scene__contact-copy>span{overflow:hidden;text-overflow:ellipsis}.ocean-scene__aid{z-index:2;max-width:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ocean-scene__target-label{position:absolute;z-index:2;display:block;text-align:center;padding:3px 7px;border:1px solid rgba(149,231,204,.26);border-radius:4px;background:#071e25d1;color:#bcecd9;font:500 9px/15px sans-serif;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.ocean-scene--fog .ocean-scene__contact,.ocean-scene--fog .ocean-scene__aid{opacity:var(--scene-visibility-opacity, 1)}.ocean-scene--fog .ocean-scene__contact--hidden:not(:focus-visible){opacity:0}.ocean-scene--fog.ocean-scene--bridge .ocean-scene__scale{color:#d6e4e3}.ocean-scene__shared-tools{position:absolute;z-index:12;pointer-events:none;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.ocean-scene__tools-row{display:flex;align-self:stretch;align-items:flex-end;flex-wrap:wrap;gap:6px}.ocean-scene__shared-buttons{display:flex;flex-wrap:wrap;gap:4px;pointer-events:auto;padding:4px;border:1px solid #ffffff38;border-radius:12px;background:#082831ed;box-shadow:0 4px 16px #00182030}.ocean-scene__shared-buttons:empty{display:none}.ocean-scene__shared-buttons button{min-width:44px;min-height:44px;border:0;border-radius:8px;padding:8px 12px;color:#e9f5f3;background:transparent;font:inherit;font-size:12px;cursor:pointer}.ocean-scene__shared-buttons button[aria-pressed=true]{background:#b6eee0;color:#0b3433}.ocean-scene__shared-buttons button:disabled{opacity:.4;cursor:default}.ocean-scene__shared-buttons button:focus-visible{outline:3px solid #e8c47d;outline-offset:2px}.ocean-scene__motion-readout{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 9px;border-radius:8px;background:#082831ed;color:#e7f1ef;font-size:11px;pointer-events:auto}.ocean-scene__motion-readout span{display:inline-flex;align-items:center;gap:4px}.ocean-scene__motion-readout i{width:14px;height:0;border-top:2px solid}.ocean-scene__motion-readout .motion-heading{border-color:#c1f3de}.ocean-scene__motion-readout .motion-ground{border-color:#efc570;border-top-style:dashed}.ocean-scene__motion-readout .motion-drift{border-color:#9cbff5;border-top-style:dotted}.ocean-scene__observation-mode{border-radius:6px;padding:5px 8px;background:#082831ed;color:#d3e3ec;font-size:11px}.ocean-scene__close-up{position:absolute;z-index:5;box-sizing:border-box;pointer-events:none;border-radius:2px;box-shadow:inset 0 0 0 2px #e9f6f3cc,0 4px 14px #0523334d}.ocean-scene__close-up-name{position:absolute;left:6px;top:6px;max-width:calc(100% - 12px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:2px 7px;border-radius:7px;background:#082536d9;color:#f2fbf9;font:600 11px/1.35 system-ui,sans-serif}.ocean-scene__close-up-side{position:absolute;bottom:6px;padding:1px 6px;border-radius:6px;color:#fff;font:700 11px/1.35 system-ui,sans-serif;letter-spacing:.02em}.ocean-scene__close-up-wind{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#082536d9}.ocean-scene__close-up-wind svg{fill:none;stroke:#f2fbf9;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ocean-scene__close-up-name{max-width:calc(100% - 48px)}.wind-readout{position:absolute;z-index:4;display:flex;align-items:center;gap:6px;width:154px;min-height:56px;box-sizing:border-box;padding:5px 8px;border:1px solid #b5d9d23b;border-radius:13px;background:#0d2735ed;color:#d6e8e3;box-shadow:0 4px 18px #03141a24;pointer-events:none;font-variant-numeric:tabular-nums}.wind-readout__dial{flex:none;width:40px;height:44px;overflow:visible;fill:none;stroke:#9ebdbf66;stroke-width:1}.wind-readout__dial text{fill:#b2caca;stroke:none;font-size:7px;font-weight:650;text-anchor:middle}.wind-readout__arrow{stroke:#b8efdb;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wind-readout__calm{fill:#b8efdb;stroke:none}.wind-readout__copy{display:flex;flex-direction:column;gap:3px;white-space:nowrap;font-size:11px;line-height:1.1}.wind-readout__copy strong{font-size:11px;font-weight:600}.wind-readout__copy small{color:#a2bdbd;font-size:9px}.wind-readout--compact{width:auto;min-width:0;min-height:44px;gap:4px;padding:3px 7px 3px 4px;border-radius:12px}.wind-readout--compact .wind-readout__dial{width:28px;height:31px}.wind-readout--compact .wind-readout__copy{gap:2px}.wind-readout--docked{position:static;flex:none;margin-left:auto}
