#boat-details-modal{backdrop-filter:blur(20px);background:linear-gradient(135deg,rgba(20,30,48,.98),rgba(36,59,85,.98));border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px hsla(0,0%,100%,.1);left:400px;max-height:90vh;overflow:hidden;transform:translateY(-50%) translateX(-120%);transition:transform .4s cubic-bezier(.68,-.55,.27,1.55),opacity .3s ease}#boat-details-modal.visible{transform:translateY(-50%) translateX(0)}.modal-header{background:linear-gradient(135deg,rgba(33,150,243,.3),rgba(21,101,192,.3));padding:20px 24px}.modal-header h3{color:#fff;font-size:22px;margin:0 0 8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.modal-header .boat-type{color:#b3d9ff;font-size:13px;font-weight:500;opacity:.9}.modal-close{align-items:center;background:hsla(0,0%,100%,.1);border-radius:50%;color:#fff;display:flex;font-size:18px;height:32px;justify-content:center;right:16px;top:16px;transition:all .2s ease;width:32px}.modal-close:hover{background:rgba(255,59,48,.8);transform:rotate(90deg)}.modal-body{max-height:calc(90vh - 200px);padding:20px 24px}.info-grid{gap:12px 16px;grid-template-columns:120px 1fr;margin-bottom:24px}.info-label{color:hsla(0,0%,100%,.6);font-size:12px;font-weight:500;letter-spacing:.5px}.info-value{font-size:14px}.info-value.highlight{color:#4fc3f7;font-weight:600}.action-buttons{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:24px}.action-btn{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;text-shadow:0 1px 2px rgba(0,0,0,.2);transition:all .2s ease}.action-btn.primary{background:linear-gradient(135deg,#2196f3,#1976d2);box-shadow:0 4px 12px rgba(33,150,243,.4)}.action-btn.primary:hover{background:linear-gradient(135deg,#42a5f5,#2196f3);box-shadow:0 6px 16px rgba(33,150,243,.5);transform:translateY(-2px)}.action-btn.secondary{background:linear-gradient(135deg,#66bb6a,#43a047);box-shadow:0 4px 12px rgba(102,187,106,.4)}.action-btn.secondary:hover{background:linear-gradient(135deg,#81c784,#66bb6a);box-shadow:0 6px 16px rgba(102,187,106,.5);transform:translateY(-2px)}.action-btn:active{transform:translateY(0)}.info-section-title{color:hsla(0,0%,100%,.5);font-size:13px;margin-bottom:12px;text-transform:uppercase}.boat-item-name{font-size:13px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boat-item-meta{font-size:11px;line-height:1.3;opacity:.75}#status{font-size:12px;margin-bottom:10px;opacity:.85}button{background:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;margin-bottom:5px;margin-right:5px;padding:8px 12px}button:hover{background:#357abd}.model-item{align-items:center;border-bottom:1px solid #444;display:flex;font-size:13px;gap:8px;padding:6px 10px}.load-btn{background:#0078d4;font-size:11px;padding:4px 10px}#boat-type-scale-list{max-height:220px;overflow-y:auto;padding-right:4px}.boat-type-scale-item{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.12);border-radius:5px;display:flex;flex-direction:column;font-size:12px;gap:6px;padding:8px 10px}.boat-type-scale-header{font-weight:600;letter-spacing:.3px}.boat-type-scale-meta{font-size:11px;opacity:.7}.boat-type-scale-slider-row{align-items:center;display:flex;gap:8px}.boat-type-scale-slider-row input[type=range]{flex:1}.boat-type-scale-value{font-variant-numeric:tabular-nums;min-width:48px;text-align:right}#weather-widget{align-items:center;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.25);display:flex;gap:12px;margin:12px 0;padding:10px 12px}#weather-widget img{height:48px;width:48px}#weather-widget .weather-info{display:flex;flex-direction:column;gap:4px}#weather-summary{font-size:14px;font-weight:600;letter-spacing:.2px}#weather-meta{font-size:11px;line-height:1.3;opacity:.75}#naval-hud{display:none;font-family:Consolas,Monaco,Courier New,monospace}.hud-top-bar{background:rgba(0,15,30,.7);border:1px solid rgba(0,255,255,.3);border-radius:4px;box-shadow:0 0 10px rgba(0,255,255,.1)}.hud-boat-name{color:#0ff;font-size:20px}.hud-boat-name,.hud-boat-type{text-transform:uppercase}.hud-compass-container{align-items:center;background:radial-gradient(circle,rgba(0,40,60,.95) 0,transparent 70%);border:2px solid rgba(0,210,255,.7);border-radius:50%;display:flex;height:100px;justify-content:center;position:absolute;right:20px;top:20px;width:100px}.hud-speed-value{color:#fff;font-size:18px;font-weight:700;text-shadow:0 0 5px #000}.hud-crosshair:after,.hud-crosshair:before{background:hsla(0,0%,100%,.5);content:"";position:absolute}.hud-telemetry{color:rgba(0,255,255,.8)}.hud-btn-exit{background:rgba(20,0,0,.6);border:1px solid rgba(255,50,50,.3);bottom:50px;color:hsla(0,100%,89%,.8);font-family:Consolas,Monaco,monospace}.hud-btn-exit:hover{background:rgba(60,0,0,.8);box-shadow:0 0 20px rgba(255,0,0,.4)}.hud-btn-exit:active{transform:translateX(-50%) scale(.95)}#app-loader{font-family:sans-serif;height:100%;width:100%}.loader-content h1{color:#4fa3c7}.progress-bar{background:var(--active-color);box-shadow:0 0 15px rgba(40,167,69,.7);height:100%;overflow:hidden;position:relative;transition:width .4s ease;width:0}.progress-bar:after{animation:scan-loading 1.5s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes scan-loading{0%{left:-100%}to{left:100%}}.loader-status{animation:pulse-text 2s ease-in-out infinite;font-family:Consolas,monospace;letter-spacing:1px;text-transform:uppercase}@keyframes pulse-text{0%,to{opacity:.5}50%{color:var(--accent-color);opacity:1}}:root{--hud-bg:rgba(5,15,25,.9);--hud-border:1px solid hsla(0,0%,100%,.15);--accent-color:#00d2ff;--text-color:#e0e0e0;--active-color:#28a745}body,html{background-color:#000;font-family:Segoe UI,system-ui,sans-serif;height:100vh;left:0;margin:0;overflow:hidden;padding:0;position:relative;top:0;width:100vw}#cesiumContainer{bottom:0!important;height:100vh!important;margin:0!important;overflow:hidden;padding:0!important;position:relative!important;right:0!important;width:100vw!important;z-index:0}#cesiumContainer,.cesium-viewer{left:0!important;top:0!important}.cesium-viewer{height:100%!important;position:absolute!important;width:100%!important}.cesium-viewer canvas,.cesium-viewer-cesiumWidgetContainer,.cesium-widget{height:100%;width:100%}#app-loader{align-items:center;background-color:#0b1d2a;color:#fff;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;transition:opacity .8s ease-out;width:100vw;z-index:9999}.loader-content{text-align:center;width:300px}.loader-content h1{color:var(--accent-color);font-size:2rem;letter-spacing:2px;margin-bottom:20px}.loader-status{font-size:.9rem;margin-bottom:10px;min-height:1.2em;opacity:.8}.progress-container{background:hsla(0,0%,100%,.1);border-radius:3px;height:6px;overflow:hidden;width:100%}#app-loader.fade-out{opacity:0;pointer-events:none}#ui-layer{height:100vh!important;left:0!important;pointer-events:none;position:fixed!important;top:0!important;width:100vw!important;z-index:10}#system-logs-container,.hud-btn-exit,.hud-btn-menu,.hud-controls-dock,.hud-panel,.hud-search-container,.settings-panel{pointer-events:auto}.hud-panel.top-left{backdrop-filter:blur(4px);background:var(--hud-bg);border:var(--hud-border);border-left:3px solid var(--accent-color);left:auto;min-width:180px;padding:12px;position:absolute;right:20px;text-align:right;top:20px}.hud-group{align-items:baseline;display:flex;flex-direction:row-reverse;justify-content:space-between}.hud-label{color:#8899a6;font-size:10px;font-weight:600;letter-spacing:1px}.hud-value{color:var(--text-color);font-family:Consolas,monospace;font-size:14px;font-weight:700}.text-cyan{color:var(--accent-color)}.hud-separator{background:hsla(0,0%,100%,.1);height:1px;margin:6px 0;width:100%}.hud-search-container{left:50%;position:absolute;top:20px;transform:translateX(-50%)}.search-wrapper{align-items:center;background:var(--hud-bg);border:var(--hud-border);border-radius:2px;box-sizing:border-box;display:flex;padding:8px 16px;position:relative;width:360px}#ship-search-input{background:transparent;border:none;color:#fff;flex:1;font-family:Consolas,monospace;font-size:12px;outline:none;text-transform:uppercase}.search-clear{align-items:center;background:none;border:none;border-radius:50%;color:#8899a6;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:4px;transition:all .2s ease}.search-clear:hover{background:rgba(255,51,51,.1);color:#f33}.search-error{animation:shake .5s;border-color:#f33!important}@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-5px)}to{transform:translateX(0)}}.search-suggestions{background:rgba(5,15,25,.95);border:1px solid hsla(0,0%,100%,.15);border-top:none;box-shadow:0 4px 10px rgba(0,0,0,.5);box-sizing:border-box;display:none;left:0;max-height:300px;overflow-y:auto;position:absolute;top:100%;width:360px;z-index:1000}.search-suggestions.active{display:block}.suggestion-item{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.05);cursor:pointer;display:flex;justify-content:space-between;padding:8px 16px;transition:background .2s}.suggestion-item:hover{background:rgba(0,210,255,.15)}.suggestion-name{color:#fff;font-family:Consolas,monospace;font-size:12px;font-weight:700}.suggestion-type{color:#8899a6;font-size:10px;text-transform:uppercase}.suggestion-mmsi{color:var(--accent-color);font-size:10px;margin-left:10px}#ship-search-input::placeholder{color:#567}.search-icon{color:#8899a6;margin-right:10px}.hud-controls-dock{background:var(--hud-bg);border:var(--hud-border);bottom:30px;gap:8px;padding:8px;position:absolute;right:20px}.hud-btn,.hud-controls-dock{align-items:center;display:flex}.hud-btn{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:#8899a6;cursor:pointer;font-family:Consolas,monospace;font-size:11px;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.hud-btn:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.4);color:#fff}.hud-btn.active{background:rgba(0,210,255,.1);border-color:var(--accent-color);color:var(--accent-color)}.btn-text{font-size:10px;font-weight:700;letter-spacing:1px}.hud-separator-vertical{background:hsla(0,0%,100%,.1);height:24px;margin:0 4px;width:1px}#system-logs-container{bottom:90px;display:flex;flex-direction:column;gap:4px;left:20px;max-width:350px;pointer-events:none;position:absolute}.log-entry{animation:fadeIn .3s ease;background:rgba(0,0,0,.7);border-left:2px solid var(--accent-color);color:var(--accent-color);font-family:Consolas,monospace;font-size:11px;padding:4px 8px;transition:opacity .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}#boat-details-modal{backdrop-filter:blur(10px);background:rgba(10,20,30,.95);border:1px solid hsla(0,0%,100%,.15);border-radius:4px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:90vw;opacity:0;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%) scale(.9);transition:all .3s cubic-bezier(.4,0,.2,1);width:420px;z-index:200}#boat-details-modal.visible{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}.modal-header h3{text-transform:uppercase}.modal-body{overflow-y:auto;padding:20px}.info-section{margin-bottom:20px}.info-section-title{border-bottom:1px solid hsla(0,0%,100%,.1);color:#8899a6;font-size:11px;font-weight:600;letter-spacing:1px;margin-bottom:8px;padding-bottom:4px}.info-grid{display:grid;font-size:13px;gap:6px 10px;grid-template-columns:100px 1fr}.info-label{color:#8899a6;font-size:11px;font-weight:600;text-transform:uppercase}.info-value{color:#fff;font-family:Consolas,monospace;font-weight:500}.info-value.highlight{color:var(--accent-color)}.action-buttons{border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:10px;margin-top:20px;padding-top:20px}.action-btn{border:none;border-radius:2px;cursor:pointer;flex:1;font-size:11px;font-weight:700;letter-spacing:1px;padding:12px;text-transform:uppercase;transition:all .2s}.action-btn.primary{background:var(--accent-color);box-shadow:0 0 10px rgba(0,210,255,.2);color:#000}.action-btn.primary:hover{background:#fff}.action-btn.secondary{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff}.action-btn.secondary:hover{background:hsla(0,0%,100%,.2)}.modal-close{background:none;border:none;color:#8899a6;cursor:pointer;font-size:20px}.modal-close:hover{color:#fff}#naval-hud{font-family:Consolas,monospace;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:900}.hud-top-bar{background:rgba(0,0,0,.6);border:1px solid var(--accent-color);border-radius:2px;left:50%;padding:5px 20px;position:absolute;text-align:center;top:20px;transform:translateX(-50%)}.hud-boat-name{color:var(--accent-color);font-size:18px;font-weight:700;letter-spacing:2px}.hud-boat-type{color:#aaa;font-size:10px;letter-spacing:1px;margin-top:2px}.hud-compass-ring{border-radius:50%;border-top:3px solid #f33;box-shadow:0 0 15px rgba(0,210,255,.4);height:100%;position:absolute;transition:transform .1s linear;width:100%}.hud-compass-label{color:#fff;font-size:10px;font-weight:700;position:absolute}.label-n{color:#f33;top:2px}.label-n,.label-s{left:50%;transform:translateX(-50%)}.label-s{bottom:2px}.label-e{right:5px}.label-e,.label-w{top:50%;transform:translateY(-50%)}.label-w{left:5px}.hud-speed-box{text-align:center;z-index:2}.hud-speed-unit{color:#ccc;font-size:8px}.hud-crosshair{border:1px solid hsla(0,0%,100%,.3);border-radius:50%;height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.hud-crosshair:before{height:1px;left:-10px;top:50%;width:60px}.hud-crosshair:after,.hud-crosshair:before{background:hsla(0,0%,100%,.5);content:"";position:absolute}.hud-crosshair:after{height:60px;left:50%;top:-10px;width:1px}.hud-telemetry{bottom:20px;color:var(--accent-color);font-size:12px;left:20px;line-height:1.5;position:absolute;text-align:left;text-shadow:1px 1px 2px #000;transition:left .3s cubic-bezier(.4,0,.2,1)}body.menu-open .hud-telemetry{left:340px}#system-logs-container{transition:left .3s cubic-bezier(.4,0,.2,1)}body.menu-open #system-logs-container{left:340px}.hud-data-label{color:#888;font-size:10px;margin-right:5px}.hud-btn-exit{backdrop-filter:blur(4px);background:rgba(20,0,0,.8);border:1px solid rgba(255,50,50,.5);border-radius:2px;bottom:80px;box-shadow:0 0 10px rgba(0,0,0,.5);color:hsla(0,100%,89%,.9);cursor:pointer;display:none;font-family:Consolas,monospace;font-size:12px;font-weight:700;left:50%;letter-spacing:2px;padding:10px 40px;position:fixed;text-transform:uppercase;transform:translateX(-50%);transition:all .3s ease;z-index:1001}.hud-btn-exit:hover{background:rgba(60,0,0,.9);border-color:#f33;color:#fff;transform:translateX(-50%) scale(1.05)}.modal-header{align-items:center;background:hsla(0,0%,100%,.05);border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;justify-content:space-between;padding:15px 20px;position:relative}.modal-title-group{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;padding-right:40px}.modal-header h3{color:var(--accent-color);font-size:18px;font-weight:600;letter-spacing:1px;line-height:1.2;margin:0}.boat-type{color:#8899a6;font-size:11px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.modal-close{position:absolute;right:15px;top:15px}.hud-btn-menu{align-items:center;background:rgba(5,15,25,.8);border:1px solid var(--accent-color);border-radius:4px;color:var(--accent-color);cursor:pointer;display:flex;height:44px;justify-content:center;left:20px;position:absolute;top:20px;transition:all .2s;width:44px;z-index:50}.hud-btn-menu:hover{background:rgba(0,210,255,.15);box-shadow:0 0 10px rgba(0,210,255,.3)}.settings-panel{backdrop-filter:blur(10px);background:rgba(5,12,20,.95);border-left:none;border-right:1px solid var(--accent-color);display:flex;flex-direction:column;height:100%;left:-320px;pointer-events:auto;position:absolute;right:auto;top:0;transition:left .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:100}.settings-panel.open{left:0}.settings-header{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);display:flex;justify-content:space-between;padding:20px}.settings-header h3{color:var(--accent-color);font-size:16px;letter-spacing:2px;margin:0}.settings-close{background:none;border:none;color:#8899a6;cursor:pointer;font-size:24px}.settings-close:hover{color:#fff}.settings-content{flex:1;overflow-y:auto;padding:20px}.settings-group{margin-bottom:30px}.settings-group h4{border-bottom:1px solid hsla(0,0%,100%,.05);color:#8899a6;font-size:11px;letter-spacing:1px;margin-bottom:15px;padding-bottom:5px}.settings-footer{border-top:1px solid hsla(0,0%,100%,.05);color:#567;font-size:10px;padding:15px;text-align:center}.toggle-switch{align-items:center;cursor:pointer;display:flex;margin-bottom:12px;user-select:none}.toggle-switch input{display:none}.slider{background-color:#2a3b4c;border:1px solid #456;border-radius:2px;height:18px;margin-right:12px;position:relative;transition:background-color .2s;width:36px}.slider:after{background-color:#8899a6;border-radius:1px;content:"";height:12px;left:2px;position:absolute;top:3px;transition:transform .2s;width:12px}.toggle-switch input:checked+.slider{background-color:rgba(0,210,255,.2);border-color:var(--accent-color)}.toggle-switch input:checked+.slider:after{background-color:var(--accent-color);transform:translateX(18px)}.label-text{color:#e0e0e0;font-family:Consolas,monospace;font-size:12px}.settings-btn{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:#fff;cursor:pointer;font-size:11px;padding:10px;text-transform:uppercase;transition:all .2s;width:100%}.settings-btn:hover{background:var(--accent-color);color:#000}.date-container{align-items:center;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto}.date{background:transparent;border:0;color:var(--text-color);cursor:pointer;font-family:Consolas,monospace}.date:hover{background:rgba(0,210,255,.1)}.date:active{background:rgba(0,210,255,.2)}.date-picker{grid-column:1;grid-row:1}.date-check-mark{font-size:11px;grid-column:2;grid-row:1;margin-left:5px;padding:4px}.date-check-mark,.now-button{border:1px solid var(--accent-color);color:var(--accent-color)}.now-button{border-radius:0;display:none;grid-column:1/3;grid-row:2;margin:7px 0 0;padding:3px}.now-button.visible{display:block}