winga-chart-plotter-signalk 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ruler-popup.svelte-c20cna{z-index:20;pointer-events:all;background:#1e1e2e;border:1px solid #446;border-radius:8px;padding:6px 8px;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 16px #00000080}.ruler-popup-remove.svelte-c20cna{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:5px;padding:6px 16px;font-size:14px;font-weight:600;transition:background .15s}.ruler-popup-remove.svelte-c20cna:hover{background:#c53030}.north-indicator.svelte-c20cna{z-index:10;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;padding:0;transition:opacity .3s;position:absolute;top:80px;right:10px}.north-indicator--visible.svelte-c20cna{opacity:1;pointer-events:auto}.north-indicator.svelte-c20cna:hover circle:where(.svelte-c20cna){fill:#1e1e46d9}.ais-popup{color:#e0e0f0;min-width:180px;font-family:system-ui,sans-serif;font-size:12px}.ais-popup-title{color:#f59e0b;border-bottom:1px solid #444;margin-bottom:8px;padding-bottom:5px;font-size:13px;font-weight:600}.ais-popup table{border-collapse:collapse;width:100%}.ais-popup td{vertical-align:top;padding:2px 6px 2px 0}.ais-popup td:first-child{color:#888;white-space:nowrap;padding-right:12px}.ais-section{color:#666;text-transform:uppercase;letter-spacing:.08em;padding-top:8px;font-size:10px;font-weight:600}.ais-links{border-top:1px solid #333;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;display:flex}.ais-links a{color:#60a5fa;text-align:center;background:#60a5fa1a;border-radius:4px;flex:1;padding:3px 0;font-size:11px;text-decoration:none}.ais-links a:hover{background:#60a5fa33}.maplibregl-popup-content{background:#1e1e2e;border-radius:8px;padding:12px 14px;box-shadow:0 4px 20px #0009}.ais-disambig-list{margin:0;padding:0;list-style:none}.ais-disambig-item{cursor:pointer;color:#e0e0f0;white-space:nowrap;border-radius:4px;padding:6px 8px;font-size:12px;transition:background .12s}.ais-disambig-item:hover{color:#93c5fd;background:#60a5fa2e}.maplibregl-popup-tip{border-top-color:#1e1e2e}.maplibregl-popup-close-button{color:#888;font-size:16px}.maplibregl-popup{z-index:10}.vessel-self-settings-btn,.popup-settings-btn{color:#60a5fa;cursor:pointer;white-space:nowrap;text-align:center;background:#60a5fa26;border:1px solid #60a5fa4d;border-radius:6px;width:100%;padding:7px 14px;font-size:13px;display:block}.vessel-self-settings-btn:hover,.popup-settings-btn:hover{background:#60a5fa47}.popup-settings-btn:disabled{opacity:.45;cursor:not-allowed}.ais-popup-coords{color:#9ca3af;text-align:center;margin-bottom:8px;font-family:monospace;font-size:11px}.move-waypoint-hint.svelte-c20cna{color:#fff;pointer-events:auto;z-index:10;background:#000000bf;border-radius:8px;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.move-waypoint-hint.svelte-c20cna button:where(.svelte-c20cna){color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:4px;padding:2px 8px;font-size:12px}.color-input.svelte-weju5m{align-items:center;gap:6px;display:flex}.swatch.svelte-weju5m{cursor:pointer;background:0 0;border:1px solid #446;border-radius:6px;flex-shrink:0;width:36px;height:30px;padding:2px}.hex-field.svelte-weju5m{color:#fff;box-sizing:border-box;background:#2a2a3e;border:1px solid #446;border-radius:6px;width:76px;padding:6px 8px;font-family:monospace;font-size:13px}.backdrop.svelte-1u3w06f{z-index:20;background:#00000080;position:fixed;inset:0}.modal.svelte-1u3w06f{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;min-width:440px;max-height:90vh;padding:24px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}h2.svelte-1u3w06f{margin:0 0 16px;font-size:16px;font-weight:600}.tabs.svelte-1u3w06f{border-bottom:1px solid #335;margin-bottom:20px;display:flex}.tab.svelte-1u3w06f{color:#a0a0c0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:13px}.tab.active.svelte-1u3w06f{color:#fff;border-bottom-color:#4a6cf7}.section-title.svelte-1u3w06f{color:#668;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 10px;font-size:11px;font-weight:600}.row.svelte-1u3w06f{align-items:center;gap:12px;margin-bottom:10px;display:flex}.field-label.svelte-1u3w06f{color:#a0a0c0;flex-shrink:0;width:72px;font-size:13px}.field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.unit.svelte-1u3w06f{color:#668;font-size:12px}.hint.svelte-1u3w06f{color:#668;word-break:break-all;margin:2px 0 12px 84px;font-size:11px}.geo-error-note.svelte-1u3w06f{color:#f87171;margin:-6px 0 10px 84px;font-size:11px}.auth-status.svelte-1u3w06f{align-items:center;gap:12px;margin-bottom:10px;display:flex}.auth-user.svelte-1u3w06f{color:#a0a0c0;flex:1;font-size:13px}.auth-user.svelte-1u3w06f strong:where(.svelte-1u3w06f){color:#fff}.btn-sm.svelte-1u3w06f{padding:4px 12px;font-size:12px}input[type=password].svelte-1u3w06f{color:#fff;background:#2a2a3e;border:1px solid #446;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.geo-accuracy-row.svelte-1u3w06f{color:#a0a0c0;align-items:center;gap:7px;margin:-4px 0 8px 84px;font-size:12px;display:flex}.geo-accuracy-dot.svelte-1u3w06f{border-radius:50%;flex-shrink:0;width:9px;height:9px}.geo-accuracy-dot--waiting.svelte-1u3w06f{background:#668}.geo-accuracy-dot--gps.svelte-1u3w06f{background:#22c55e}.geo-accuracy-dot--marginal.svelte-1u3w06f{background:#f59e0b}.geo-accuracy-dot--poor.svelte-1u3w06f{background:#f87171}input[type=text].svelte-1u3w06f,input[type=number].svelte-1u3w06f,select.svelte-1u3w06f{color:#fff;box-sizing:border-box;background:#2a2a3e;border:1px solid #446;border-radius:6px;padding:6px 8px;font-size:13px}input[type=text].svelte-1u3w06f{flex:1}input[type=number].svelte-1u3w06f{appearance:textfield;width:80px}select.svelte-1u3w06f{cursor:pointer}.actions.svelte-1u3w06f{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn.svelte-1u3w06f{cursor:pointer;border-radius:6px;padding:7px 16px;font-size:13px}.btn-cancel.svelte-1u3w06f{color:#a0a0c0;background:0 0;border:1px solid #446}.btn-save.svelte-1u3w06f{color:#fff;background:#4a6cf7;border:none}.fps-field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.fps-slider.svelte-1u3w06f{cursor:pointer;flex:1;min-width:100px}.fps-target.svelte-1u3w06f{text-align:right;font-variant-numeric:tabular-nums;min-width:5rem;font-size:13px}.fps-actual.svelte-1u3w06f{color:#668;text-align:right;font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:11px}input[type=range].svelte-1u3w06f{appearance:none;cursor:pointer;background:#446;border-radius:2px;outline:none;height:4px}input[type=range].svelte-1u3w06f::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#4a6cf7;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 4px #0006}input[type=range].svelte-1u3w06f::-moz-range-thumb{cursor:pointer;background:#4a6cf7;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 4px #0006}input[type=range].svelte-1u3w06f::-moz-range-track{background:#446;border-radius:2px;height:4px}.about.svelte-1u3w06f{text-align:center;padding:16px 0 8px}.about-logo.svelte-1u3w06f{border-radius:16px;width:80px;height:80px;margin-bottom:14px}.about-name.svelte-1u3w06f{color:#fff;margin:0 0 6px;font-size:20px;font-weight:700}.about-version.svelte-1u3w06f{color:#a0a0c0;font-variant-numeric:tabular-nums;margin:0 0 16px;font-size:13px}.about-commit.svelte-1u3w06f{color:#668;font-family:monospace}.about-desc.svelte-1u3w06f{color:#a0a0c0;margin:0 0 20px;font-size:13px}.about-links.svelte-1u3w06f{justify-content:center;gap:16px;display:flex}.about-links.svelte-1u3w06f a:where(.svelte-1u3w06f){color:#4a6cf7;font-size:13px;text-decoration:none}.about-links.svelte-1u3w06f a:where(.svelte-1u3w06f):hover{text-decoration:underline}.toggle.svelte-1u3w06f{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f){opacity:0;width:0;height:0;position:absolute}.toggle-track.svelte-1u3w06f{background:#446;border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f){background:#4a6cf7}.toggle-thumb.svelte-1u3w06f{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f) .toggle-thumb:where(.svelte-1u3w06f){left:18px}.toggle-label.svelte-1u3w06f{color:#a0a0c0;font-size:12px}.backdrop.svelte-1mbfew2{z-index:20;position:fixed;inset:0}.panel.svelte-1mbfew2{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;flex-direction:column;min-width:280px;max-width:360px;max-height:70vh;padding:0;font-family:system-ui,sans-serif;display:flex;position:absolute;top:44px;left:50px;overflow:hidden;box-shadow:0 8px 32px #00000080}.panel-header.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.panel-title.svelte-1mbfew2{color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.close-btn.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.close-btn.svelte-1mbfew2:hover{color:#fff}.hint-row.svelte-1mbfew2{color:#668;padding:10px 16px;font-size:12px;list-style:none}.hint-row.error.svelte-1mbfew2{color:#f87171}.chart-list.svelte-1mbfew2{margin:0;padding:0;list-style:none;overflow-y:auto}.chart-row.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.chart-row.svelte-1mbfew2:last-child{border-bottom:none}.chart-row.svelte-1mbfew2 input[type=checkbox]:where(.svelte-1mbfew2){cursor:pointer;flex-shrink:0;margin-top:3px}.chart-info.svelte-1mbfew2{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-name.svelte-1mbfew2{color:#fff;cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.chart-desc.svelte-1mbfew2{color:#a0a0c0;font-size:11px}.chart-meta.svelte-1mbfew2{color:#668;font-size:11px}.badge.svelte-1mbfew2{color:#7b8cde;text-transform:uppercase;letter-spacing:.05em;background:#2a2a4e;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.wmts-warning.svelte-1mbfew2{color:#f59e0b;margin-top:4px;font-size:11px}.wmts-manual.svelte-1mbfew2{gap:6px;margin-top:4px;display:flex}.wmts-input.svelte-1mbfew2{color:#fff;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:11px}.wmts-apply.svelte-1mbfew2{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.wmts-apply.svelte-1mbfew2:hover{background:#1d4ed8}.wmts-ok.svelte-1mbfew2{color:#34d399;margin-top:2px;font-size:11px}.wmts-clear.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:1px solid #446;border-radius:4px;align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:10px}.wmts-clear.svelte-1mbfew2:hover{color:#f87171;border-color:#f87171}.wmts-layer-row.svelte-1mbfew2{align-items:center;gap:6px;margin-top:4px;display:flex}.wmts-layer-label.svelte-1mbfew2{color:#668;flex-shrink:0;font-size:11px}.wmts-layer-select.svelte-1mbfew2{color:#fff;cursor:pointer;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;padding:2px 4px;font-size:11px}.wmts-showall-label.svelte-1mbfew2{color:#668;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.wmts-showall-label.svelte-1mbfew2:hover{color:#a0a0c0}.sk-status.svelte-1n46o8q{z-index:10;color:#fff;background:#000000b3;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font:12px monospace;display:flex;position:absolute;top:10px;left:10px}.map-toolbar.svelte-1n46o8q{z-index:10;flex-direction:column;gap:3px;display:flex;position:absolute;top:44px;left:10px}.map-btn.svelte-1n46o8q{color:#fff;cursor:pointer;text-align:center;background:#000000b3;border:none;border-radius:6px;min-width:36px;padding:6px 10px;font-size:16px;transition:background .15s,color .15s}.map-btn.svelte-1n46o8q:hover:not(:disabled){background:#282850e6}.map-btn.svelte-1n46o8q:disabled{opacity:.35;cursor:default}.map-btn--active.svelte-1n46o8q{color:#111827;background:#ffffffe6}.map-btn--active.svelte-1n46o8q:hover:not(:disabled){background:#dcdcf0f2}.map-btn--highlight.svelte-1n46o8q{color:#f59e0b}.map-btn--label.svelte-1n46o8q{letter-spacing:.03em;justify-content:center;align-items:center;width:40px;padding-left:0;padding-right:0;font-size:12px;font-weight:700;display:flex}.map-toolbar-divider.svelte-1n46o8q{background:#ffffff26;height:1px;margin:2px 0}.mob-container.svelte-1n46o8q{z-index:20;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:20px;right:16px}.mob-btn.svelte-1n46o8q{color:#fff;letter-spacing:.08em;cursor:pointer;background:#b91c1c;border:2px solid #fca5a5;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;padding:10px;font-size:14px;font-weight:800;transition:background .15s,transform .1s;display:flex;box-shadow:0 2px 12px #b91c1c99}.mob-btn.svelte-1n46o8q svg:where(.svelte-1n46o8q){width:100%;height:100%;display:block}.mob-btn.svelte-1n46o8q:hover{background:#991b1b;transform:scale(1.04)}.mob-btn.svelte-1n46o8q:active{transform:scale(.97)}
|
package/public/index.html
CHANGED
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
11
|
html, body, #app { width: 100%; height: 100%; overflow: hidden; }
|
|
12
12
|
</style>
|
|
13
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-BCmwae0I.js"></script>
|
|
14
14
|
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-QTnfLwEv.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="./assets/maplibre-gl-TciDBW6i.js">
|
|
16
16
|
<link rel="stylesheet" crossorigin href="./assets/maplibre-gl-B2k4QVOw.css">
|
|
17
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
17
|
+
<link rel="stylesheet" crossorigin href="./assets/index-C5GUTgpt.css">
|
|
18
18
|
<script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head>
|
|
19
19
|
<body>
|
|
20
20
|
<div id="app"></div>
|
package/public/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const t=e=>i(e,l),u={module:{uri:l},exports:o,require:t};s[l]=Promise.all(n.map(e=>u[e]||t(e))).then(e=>(r(...e),o))}}define(["./workbox-9c191d2f"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"index.html",revision:"
|
|
1
|
+
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,r)=>{const l=e||("document"in self?document.currentScript.src:"")||location.href;if(s[l])return;let o={};const t=e=>i(e,l),u={module:{uri:l},exports:o,require:t};s[l]=Promise.all(n.map(e=>u[e]||t(e))).then(e=>(r(...e),o))}}define(["./workbox-9c191d2f"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"index.html",revision:"0452544d0fcbfcb35979e929d4fd3ed0"},{url:"icon-512.png",revision:"0657088dc11293c0b742467b3d9aa0e6"},{url:"icon-192.png",revision:"63ee319f3a9e92cea460048feeeacc26"},{url:"favicon.png",revision:"8a0854348265db4022235b1c95e57bbd"},{url:"assets/signalk_chart_core_bg-Bx5Ksw6d.wasm",revision:null},{url:"assets/signalk.worker-BA8YHNLb.js",revision:null},{url:"assets/rolldown-runtime-QTnfLwEv.js",revision:null},{url:"assets/maplibre-gl-TciDBW6i.js",revision:null},{url:"assets/maplibre-gl-B2k4QVOw.css",revision:null},{url:"assets/index-C5GUTgpt.css",revision:null},{url:"assets/index-BCmwae0I.js",revision:null}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"),{denylist:[/^\/tiles\//,/^\/signalk\//,/^\/v1\//]}))});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.ruler-popup.svelte-c20cna{z-index:20;pointer-events:all;background:#1e1e2e;border:1px solid #446;border-radius:8px;padding:6px 8px;position:fixed;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 4px 16px #00000080}.ruler-popup-remove.svelte-c20cna{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:5px;padding:6px 16px;font-size:14px;font-weight:600;transition:background .15s}.ruler-popup-remove.svelte-c20cna:hover{background:#c53030}.projection-picker.svelte-c20cna{z-index:10;flex-direction:column;align-items:flex-start;gap:3px;display:flex;position:absolute;top:200px;left:10px}.proj-btn.svelte-c20cna{color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;transition:background .15s}.proj-btn.svelte-c20cna:hover{background:#282850e6}.proj-btn--manual.svelte-c20cna{color:#f59e0b}.north-indicator.svelte-c20cna{z-index:10;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;padding:0;transition:opacity .3s;position:absolute;top:80px;right:10px}.north-indicator--visible.svelte-c20cna{opacity:1;pointer-events:auto}.north-indicator.svelte-c20cna:hover circle:where(.svelte-c20cna){fill:#1e1e46d9}.ais-popup{color:#e0e0f0;min-width:180px;font-family:system-ui,sans-serif;font-size:12px}.ais-popup-title{color:#f59e0b;border-bottom:1px solid #444;margin-bottom:8px;padding-bottom:5px;font-size:13px;font-weight:600}.ais-popup table{border-collapse:collapse;width:100%}.ais-popup td{vertical-align:top;padding:2px 6px 2px 0}.ais-popup td:first-child{color:#888;white-space:nowrap;padding-right:12px}.ais-section{color:#666;text-transform:uppercase;letter-spacing:.08em;padding-top:8px;font-size:10px;font-weight:600}.ais-links{border-top:1px solid #333;gap:8px;margin-top:8px;padding-top:8px;display:flex}.ais-links a{color:#60a5fa;text-align:center;background:#60a5fa1a;border-radius:4px;flex:1;padding:3px 0;font-size:11px;text-decoration:none}.ais-links a:hover{background:#60a5fa33}.maplibregl-popup-content{background:#1e1e2e;border-radius:8px;padding:12px 14px;box-shadow:0 4px 20px #0009}.ais-disambig-list{margin:0;padding:0;list-style:none}.ais-disambig-item{cursor:pointer;color:#e0e0f0;white-space:nowrap;border-radius:4px;padding:6px 8px;font-size:12px;transition:background .12s}.ais-disambig-item:hover{color:#93c5fd;background:#60a5fa2e}.maplibregl-popup-tip{border-top-color:#1e1e2e}.maplibregl-popup-close-button{color:#888;font-size:16px}.maplibregl-popup{z-index:10}.vessel-self-settings-btn,.popup-settings-btn{color:#60a5fa;cursor:pointer;white-space:nowrap;text-align:center;background:#60a5fa26;border:1px solid #60a5fa4d;border-radius:6px;width:100%;padding:7px 14px;font-size:13px;display:block}.vessel-self-settings-btn:hover,.popup-settings-btn:hover{background:#60a5fa47}.color-input.svelte-weju5m{align-items:center;gap:6px;display:flex}.swatch.svelte-weju5m{cursor:pointer;background:0 0;border:1px solid #446;border-radius:6px;flex-shrink:0;width:36px;height:30px;padding:2px}.hex-field.svelte-weju5m{color:#fff;box-sizing:border-box;background:#2a2a3e;border:1px solid #446;border-radius:6px;width:76px;padding:6px 8px;font-family:monospace;font-size:13px}.gear-btn.svelte-1u3w06f{z-index:10;color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;position:absolute;top:44px;left:10px}.backdrop.svelte-1u3w06f{z-index:20;background:#00000080;position:fixed;inset:0}.modal.svelte-1u3w06f{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;min-width:440px;max-height:90vh;padding:24px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000080}h2.svelte-1u3w06f{margin:0 0 16px;font-size:16px;font-weight:600}.tabs.svelte-1u3w06f{border-bottom:1px solid #335;margin-bottom:20px;display:flex}.tab.svelte-1u3w06f{color:#a0a0c0;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 18px;font-size:13px}.tab.active.svelte-1u3w06f{color:#fff;border-bottom-color:#4a6cf7}.section-title.svelte-1u3w06f{color:#668;text-transform:uppercase;letter-spacing:.08em;margin:16px 0 10px;font-size:11px;font-weight:600}.row.svelte-1u3w06f{align-items:center;gap:12px;margin-bottom:10px;display:flex}.row.svelte-1u3w06f>label:where(.svelte-1u3w06f){color:#a0a0c0;flex-shrink:0;width:72px;font-size:13px}.field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.unit.svelte-1u3w06f{color:#668;font-size:12px}.hint.svelte-1u3w06f{color:#668;word-break:break-all;margin:2px 0 12px 84px;font-size:11px}.geo-error-note.svelte-1u3w06f{color:#f87171;margin:-6px 0 10px 84px;font-size:11px}.geo-accuracy-row.svelte-1u3w06f{color:#a0a0c0;align-items:center;gap:7px;margin:-4px 0 8px 84px;font-size:12px;display:flex}.geo-accuracy-dot.svelte-1u3w06f{border-radius:50%;flex-shrink:0;width:9px;height:9px}.geo-accuracy-dot--waiting.svelte-1u3w06f{background:#668}.geo-accuracy-dot--gps.svelte-1u3w06f{background:#22c55e}.geo-accuracy-dot--marginal.svelte-1u3w06f{background:#f59e0b}.geo-accuracy-dot--poor.svelte-1u3w06f{background:#f87171}.radio-group.svelte-1u3w06f{gap:16px}input[type=text].svelte-1u3w06f,input[type=number].svelte-1u3w06f,select.svelte-1u3w06f{color:#fff;box-sizing:border-box;background:#2a2a3e;border:1px solid #446;border-radius:6px;padding:6px 8px;font-size:13px}input[type=text].svelte-1u3w06f{flex:1}input[type=number].svelte-1u3w06f{-moz-appearance:textfield;width:80px}select.svelte-1u3w06f{cursor:pointer}.actions.svelte-1u3w06f{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.btn.svelte-1u3w06f{cursor:pointer;border-radius:6px;padding:7px 16px;font-size:13px}.btn-cancel.svelte-1u3w06f{color:#a0a0c0;background:0 0;border:1px solid #446}.btn-save.svelte-1u3w06f{color:#fff;background:#4a6cf7;border:none}.fps-field.svelte-1u3w06f{flex:1;align-items:center;gap:8px;display:flex}.fps-slider.svelte-1u3w06f{cursor:pointer;flex:1;min-width:100px}.fps-target.svelte-1u3w06f{text-align:right;font-variant-numeric:tabular-nums;min-width:5rem;font-size:13px}.fps-actual.svelte-1u3w06f{color:#668;text-align:right;font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:11px}input[type=range].svelte-1u3w06f{appearance:none;cursor:pointer;background:#446;border-radius:2px;outline:none;height:4px}input[type=range].svelte-1u3w06f::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#4a6cf7;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 4px #0006}input[type=range].svelte-1u3w06f::-moz-range-thumb{cursor:pointer;background:#4a6cf7;border:2px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 4px #0006}input[type=range].svelte-1u3w06f::-moz-range-track{background:#446;border-radius:2px;height:4px}.about.svelte-1u3w06f{text-align:center;padding:16px 0 8px}.about-logo.svelte-1u3w06f{border-radius:16px;width:80px;height:80px;margin-bottom:14px}.about-name.svelte-1u3w06f{color:#fff;margin:0 0 6px;font-size:20px;font-weight:700}.about-version.svelte-1u3w06f{color:#a0a0c0;font-variant-numeric:tabular-nums;margin:0 0 16px;font-size:13px}.about-commit.svelte-1u3w06f{color:#668;font-family:monospace}.about-desc.svelte-1u3w06f{color:#a0a0c0;margin:0 0 20px;font-size:13px}.about-links.svelte-1u3w06f{justify-content:center;gap:16px;display:flex}.about-links.svelte-1u3w06f a:where(.svelte-1u3w06f){color:#4a6cf7;font-size:13px;text-decoration:none}.about-links.svelte-1u3w06f a:where(.svelte-1u3w06f):hover{text-decoration:underline}.toggle.svelte-1u3w06f{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f){opacity:0;width:0;height:0;position:absolute}.toggle-track.svelte-1u3w06f{background:#446;border-radius:10px;width:36px;height:20px;transition:background .2s;position:relative}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f){background:#4a6cf7}.toggle-thumb.svelte-1u3w06f{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:2px;left:2px}.toggle.svelte-1u3w06f input:where(.svelte-1u3w06f):checked+.toggle-track:where(.svelte-1u3w06f) .toggle-thumb:where(.svelte-1u3w06f){left:18px}.toggle-label.svelte-1u3w06f{color:#a0a0c0;font-size:12px}.charts-btn.svelte-1mbfew2{z-index:10;color:#fff;cursor:pointer;background:#000000b3;border:none;border-radius:6px;padding:6px 10px;font-size:16px;transition:background .15s;position:absolute;top:80px;left:10px}.charts-btn.svelte-1mbfew2:hover{background:#282850e6}.charts-btn.active.svelte-1mbfew2{background:#2563ebd9;border:1px solid #3b82f6}.backdrop.svelte-1mbfew2{z-index:20;position:fixed;inset:0}.panel.svelte-1mbfew2{z-index:21;color:#fff;background:#1e1e2e;border-radius:10px;flex-direction:column;min-width:280px;max-width:360px;max-height:70vh;padding:0;font-family:system-ui,sans-serif;display:flex;position:absolute;top:44px;left:50px;overflow:hidden;box-shadow:0 8px 32px #00000080}.panel-header.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px 10px;display:flex}.panel-title.svelte-1mbfew2{color:#fff;text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.close-btn.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px}.close-btn.svelte-1mbfew2:hover{color:#fff}.hint-row.svelte-1mbfew2{color:#668;padding:10px 16px;font-size:12px;list-style:none}.hint-row.error.svelte-1mbfew2{color:#f87171}.chart-list.svelte-1mbfew2{margin:0;padding:0;list-style:none;overflow-y:auto}.chart-row.svelte-1mbfew2{border-bottom:1px solid #2a2a3e;align-items:flex-start;gap:10px;padding:10px 16px;display:flex}.chart-row.svelte-1mbfew2:last-child{border-bottom:none}.chart-row.svelte-1mbfew2 input[type=checkbox]:where(.svelte-1mbfew2){cursor:pointer;flex-shrink:0;margin-top:3px}.chart-info.svelte-1mbfew2{flex-direction:column;gap:2px;min-width:0;display:flex}.chart-name.svelte-1mbfew2{color:#fff;cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.chart-desc.svelte-1mbfew2{color:#a0a0c0;font-size:11px}.chart-meta.svelte-1mbfew2{color:#668;font-size:11px}.badge.svelte-1mbfew2{color:#7b8cde;text-transform:uppercase;letter-spacing:.05em;background:#2a2a4e;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}.wmts-warning.svelte-1mbfew2{color:#f59e0b;margin-top:4px;font-size:11px}.wmts-manual.svelte-1mbfew2{gap:6px;margin-top:4px;display:flex}.wmts-input.svelte-1mbfew2{color:#fff;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;min-width:0;padding:3px 6px;font-size:11px}.wmts-apply.svelte-1mbfew2{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:4px;padding:3px 8px;font-size:11px}.wmts-apply.svelte-1mbfew2:hover{background:#1d4ed8}.wmts-ok.svelte-1mbfew2{color:#34d399;margin-top:2px;font-size:11px}.wmts-clear.svelte-1mbfew2{color:#668;cursor:pointer;background:0 0;border:1px solid #446;border-radius:4px;align-self:flex-start;margin-top:2px;padding:1px 6px;font-size:10px}.wmts-clear.svelte-1mbfew2:hover{color:#f87171;border-color:#f87171}.wmts-layer-row.svelte-1mbfew2{align-items:center;gap:6px;margin-top:4px;display:flex}.wmts-layer-label.svelte-1mbfew2{color:#668;flex-shrink:0;font-size:11px}.wmts-layer-select.svelte-1mbfew2{color:#fff;cursor:pointer;background:#2a2a3e;border:1px solid #446;border-radius:4px;flex:1;padding:2px 4px;font-size:11px}.wmts-showall-label.svelte-1mbfew2{color:#668;cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.wmts-showall-label.svelte-1mbfew2:hover{color:#a0a0c0}
|