/* SeaTrack v97 — tappable spot name + compact location picker sheet */
/* name hugs its text so the chevron sits right after it; still shrinks + ellipsis on one line (v92/v93.3 fit logic) */
#wdv .tdv-spot.spk-name, #tdv .tdv-spot.spk-name { cursor: pointer; min-height: 44px; margin-top: -6px; margin-bottom: -6px; align-items: center !important; -webkit-tap-highlight-color: transparent; }
#wdv .spk-name #wdv-name, #tdv .spk-name #tdv-name { flex: 0 1 auto !important; min-width: 0; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.spk-chev { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: calc(18px * var(--ts, 1)); height: calc(18px * var(--ts, 1)); margin-left: -2px; border-radius: 50%; color: #5eead4; opacity: .75; }
.spk-chev svg { width: calc(12px * var(--ts, 1)); height: calc(12px * var(--ts, 1)); }
.spk-name:active .spk-chev, .spk-name:active b { opacity: .6; }
#wdv .spk-name .wdv-myloc { display: none !important; } /* "Use my location" now lives in the picker (one control, less clutter) */
#wdv .spk-name #wdv-fullname { position: absolute; left: 0; top: 100%; z-index: 5; }
.spk-wx { display: inline-flex !important; align-items: center; gap: 4px; min-height: 44px; margin: -14px 0 -14px -6px; padding: 0 8px 0 6px; border-radius: 10px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.spk-wx::after { content: ""; width: .5em; height: .5em; margin-left: 2px; border-right: 2px solid #5eead4; border-bottom: 2px solid #5eead4; transform: translateY(-25%) rotate(45deg); opacity: .8; }
.spk-wx:active { background: rgba(45,212,191,.08); }

/* sheet */
.spk-wrap { position: fixed; inset: 0; z-index: 4000; }
.spk-wrap[hidden] { display: none !important; }
.spk-back { position: absolute; inset: 0; background: rgba(2,8,16,.55); }
.spk-sheet { position: absolute; left: 50%; transform: translateX(-50%); bottom: var(--spk-kb, 0px); width: 100%; max-width: 520px;
  max-height: min(78vh, calc(var(--spk-vh, 100vh) - env(safe-area-inset-top, 0px) - 12px)); max-height: min(78dvh, calc(var(--spk-vh, 100dvh) - env(safe-area-inset-top, 0px) - 12px));
  display: flex; flex-direction: column; background: #0f1d2b; color: #e6f1f8; border: 1px solid rgba(148,197,230,.16); border-bottom: 0; border-radius: 18px 18px 0 0;
  box-shadow: 0 -10px 30px rgba(0,0,0,.45); padding-bottom: env(safe-area-inset-bottom, 0px); overflow: hidden; }
body.spk-open .spk-wrap .spk-sheet { animation: spk-up .16s ease-out; }
@keyframes spk-up { from { transform: translate(-50%, 24px); opacity: .4; } to { transform: translate(-50%, 0); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { body.spk-open .spk-wrap .spk-sheet { animation: none; } }
.spk-top { display: flex; align-items: center; gap: 8px; padding: 6px 6px 2px 16px; }
.spk-tt { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.spk-tt b { font-size: calc(17px * var(--ts, 1)); font-weight: 800; }
.spk-tt small { font-size: calc(12.5px * var(--ts, 1)); color: #8fb3c9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.spk-x { flex: 0 0 44px; width: 44px; height: 44px; border: 0; background: transparent; color: #cfe3ef; font-size: calc(18px * var(--ts, 1)); border-radius: 12px; }
.spk-s { padding: 4px 12px 8px; }
#spk-q { width: 100%; box-sizing: border-box; min-height: 44px; font-size: max(16px, calc(16px * var(--ts, 1))) !important; padding: 8px 12px 8px 36px; border-radius: 12px; border: 1px solid rgba(148,197,230,.25);
  background: #0a1622 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238fb3c9' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px 50%; color: #e6f1f8; -webkit-appearance: none; appearance: none; }
#spk-q:focus { outline: 2px solid rgba(45,212,191,.6); outline-offset: 0; }
.spk-list { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 6px 10px; }
.spk-h { font-size: calc(11.5px * var(--ts, 1)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #7f9fb4; padding: 10px 10px 3px; }
.spk-row { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 6px 10px; border: 0; background: transparent; color: inherit; text-align: left; border-radius: 10px; font: inherit; }
.spk-row:active, .spk-row:focus-visible { background: rgba(45,212,191,.1); }
.spk-ic { flex: 0 0 auto; width: calc(22px * var(--ts, 1)); text-align: center; font-size: calc(15px * var(--ts, 1)); }
.spk-fav .spk-ic { color: #fbbf24; }
.spk-mine .spk-ic { color: #5eead4; font-size: calc(18px * var(--ts, 1)); }
.spk-tx { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.spk-tx b { font-size: calc(15.5px * var(--ts, 1)); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.spk-tx small { font-size: calc(12px * var(--ts, 1)); color: #8fb3c9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.spk-d { flex: 0 0 auto; font-size: calc(12.5px * var(--ts, 1)); color: #9cc3d8; font-variant-numeric: tabular-nums; }
.spk-empty { padding: 16px 12px; color: #8fb3c9; font-size: calc(14px * var(--ts, 1)); }
body.spk-open .tab-bar, body.spk-open .cd-fab, body.spk-open #cd-fab { visibility: hidden; } /* sheet sits over the tab bar; keys never push them up */
@media (max-height: 500px) and (orientation: landscape) { .spk-sheet { max-height: calc(var(--spk-vh, 100vh) - 8px); border-radius: 14px 14px 0 0; } .spk-top { padding-top: 2px; } .spk-h { padding-top: 6px; } }
