:root{color-scheme:dark;--navy:#061624;--panel:#102637;--panel2:#112e41;--cyan:#4cdcf4;--blue:#098de3;--ink:#f0f9ff;--muted:#8eacbd;--line:rgba(151,214,239,.16);--orange:#ffb15c;--safe:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--navy);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}a{color:var(--cyan)}.app-shell{max-width:600px;margin:0 auto;min-height:100dvh;background:radial-gradient(ellipse 100% 50% at top,#123b58 0,transparent 58%),var(--navy);box-shadow:0 0 50px #010e16;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:1200;display:flex;justify-content:space-between;align-items:center;height:66px;background:rgba(6,22,36,.96);backdrop-filter:blur(15px);padding:12px 17px;border-bottom:1px solid var(--line);padding-top:max(12px,env(safe-area-inset-top))}.brand{display:flex;align-items:center;gap:10px}.brand img{width:40px;height:40px;object-fit:cover;border-radius:13px;border:1px solid #326d84}.brand div{display:flex;flex-direction:column;letter-spacing:.11em}.brand b{font-size:14px;font-weight:900}.brand span{font-size:10px;color:var(--cyan);font-weight:800;margin-top:3px}.brand i{font-style:normal;color:#6d8492}.topbar-right{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:#687d88}.status-dot.active{background:#20e2a5;box-shadow:0 0 7px #20e2a5}.icon-button{color:#d4ebf8;border:0;background:transparent;font-size:22px;padding:4px 5px}main{flex:1;min-height:0}.view{display:none;padding:22px 18px 32px}.view.active{display:block}.view h1{margin:2px 0 10px;line-height:1.03;font-size:33px;letter-spacing:-1.2px;font-weight:840}.view h1 em{color:var(--cyan);font-style:normal}.eyebrow{color:var(--cyan);font-weight:800;font-size:10px;letter-spacing:.16em;margin:0 0 10px}.section-intro{font-size:14px;color:var(--muted);margin:0 0 21px;line-height:1.5}.hero{position:relative;min-height:300px;border:1px solid rgba(89,225,246,.24);border-radius:25px;overflow:hidden;background:radial-gradient(ellipse at 90% 10%,#0f688c 0,transparent 45%),linear-gradient(130deg,#103e57,#061b32 65%);display:flex;align-items:flex-start;margin-bottom:26px;padding:29px 19px}.hero:before{content:' ';position:absolute;inset:auto -20px -65px 20px;height:170px;background:repeating-radial-gradient(ellipse at center,transparent 0 18px,rgba(50,164,189,.1) 19px 20px);transform:rotate(-12deg)}.hero-content{position:relative;z-index:1;width:77%}.hero h1{font-size:29px;letter-spacing:-.9px}.hero p:not(.eyebrow){max-width:220px;font-size:12px;color:#c0d9e5;line-height:1.5;margin:13px 0 23px}.hero img{position:absolute;object-fit:cover;border-radius:21px;width:180px;height:180px;right:-36px;bottom:14px;filter:drop-shadow(0 15px 18px #04111e);transform:rotate(-9deg);opacity:.93}.segmented{display:flex;background:#092737;border:1px solid #25546a;border-radius:100px;padding:4px;position:relative;z-index:2;width:max-content}.segmented button{border:none;background:transparent;color:#9cb9c7;font-size:12px;font-weight:780;padding:10px 13px;border-radius:100px;transition:.15s}.segmented .active{background:var(--cyan);color:#082334}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:23px 0 13px}.section-heading h2{font-size:19px;letter-spacing:-.4px;margin:0}.section-heading span{font-size:10px;letter-spacing:.13em;color:#7d9dad;font-weight:800}.metric-grid,.forecast-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.metric,.wide-metric{min-height:135px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(135deg,#132f43,#0b2030);padding:15px;display:flex;flex-direction:column}.metric-icon{font-size:25px;line-height:1;color:var(--cyan);margin-bottom:6px}.metric>span:not(.metric-icon){color:#a5bdc9;font-size:12px}.metric b{font-size:32px;letter-spacing:-1.5px;font-variant-numeric:tabular-nums;line-height:1.25}.metric small{font-size:10px;color:#819eae;line-height:1.3}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.quick{display:flex;flex-direction:column;text-align:left;justify-content:center;min-height:116px;gap:3px;padding:13px;border-radius:18px;background:#112b3c;border:1px solid var(--line);color:var(--ink)}.quick.primary{border-color:#17678d;background:linear-gradient(130deg,#13608d,#0e3853)}.quick strong{font-size:25px;color:var(--cyan)}.quick b{font-size:13px}.quick small{color:#97b8c8;font-size:10px}.safety-note{border-radius:13px;padding:12px;background:rgba(255,177,92,.07);border:1px solid rgba(255,177,92,.2);color:#d2c19f;font-size:11px;line-height:1.5;margin-top:22px}.tabbar{position:sticky;bottom:0;z-index:1199;background:rgba(5,18,29,.97);backdrop-filter:blur(14px);border-top:1px solid #244354;display:flex;min-height:68px;padding:5px 4px calc(7px + var(--safe));justify-content:space-around;gap:3px}.tab{color:#96b0c0;background:transparent;border:0;font-weight:720;min-width:0;flex:1;border-radius:13px;padding:5px 1px;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px}.tab span{font-size:23px;line-height:1.3}.tab.active{color:var(--cyan);background:rgba(39,139,179,.15)}.map-view{height:calc(100dvh - 134px - env(safe-area-inset-top) - var(--safe));min-height:510px;padding:0;display:none;flex-direction:column}.map-view.active{display:flex}.map-header{display:flex;justify-content:space-between;padding:15px 16px 8px;align-items:center}.map-header h1{font-size:27px;margin:0}.map-actions{display:flex;gap:7px}.round-btn{width:39px;height:39px;border-radius:50%;background:#113446;color:#d9f8ff;border:1px solid #2d6478;font-size:23px;display:grid;place-items:center}.map-instrument-row{display:flex;justify-content:space-around;padding:9px 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#051929}.map-instrument-row>div{display:flex;gap:3px;align-items:baseline}.map-instrument-row span{font-size:10px;color:var(--cyan);font-weight:800;margin-right:4px}.map-instrument-row b{font-size:18px;font-variant-numeric:tabular-nums}.map-instrument-row small{font-size:9px;color:var(--muted)}#map-container{position:relative;flex:1;min-height:200px;background:radial-gradient(circle at 55% 40%,#065c83,#08334f 65%,#0b2133);overflow:hidden}#map{position:absolute;inset:0}.map-overlay-label{position:absolute;z-index:500;pointer-events:none;bottom:8px;left:7px;background:#071c2ccc;color:#fff;padding:6px 9px;border-radius:8px;font-size:9px;max-width:65%}.map-fallback{position:absolute;inset:0;z-index:600;background:radial-gradient(ellipse at center,#145878,#061b2c 75%);padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center}.map-fallback[hidden]{display:none}.map-fallback p{color:#b6d1e2;font-size:13px}.map-bottom{background:#071c2a;border-top:1px solid #345a6b;padding:9px 13px 10px}.selected-point,.navigation-panel{display:flex;justify-content:space-between;align-items:center;gap:10px}.selected-point small,.navigation-panel small{display:block;color:var(--cyan);font-size:9px;font-weight:800;letter-spacing:.07em}.selected-point strong,.navigation-panel strong{font-size:12px;display:block;margin-top:4px;word-break:break-word}.navigation-panel{padding:11px;margin-top:7px;border-radius:12px;background:#103e50;border:1px solid #208da7}.navigation-panel[hidden]{display:none}.navigation-panel span{font-size:11px;color:#cae5ec;display:block;margin-top:4px}.navigation-panel button{font-size:11px;border:1px solid #a56450;background:#452820;color:#fff;border-radius:10px;padding:9px}.map-legend{font-size:9px;color:#95b1bf;margin-top:9px}.legend-cyan{color:var(--cyan)}.legend-orange{color:var(--orange)}.legend-white{color:white}.small-solid,.big-cta{color:#042337;border:0;background:linear-gradient(125deg,#5de7f5,#32a9e7);border-radius:11px;padding:11px 15px;font-size:12px;font-weight:850;white-space:nowrap}.big-cta{width:100%;padding:15px;font-size:14px;border-radius:14px}.leaflet-container{background:#b6dbe8!important}.leaflet-control-attribution{font-size:8px!important;background:#ffffffc7!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#0b2738;color:#fff}.leaflet-popup-content{font-size:13px}.popup-action{border:0;border-radius:7px;background:#26cee9;color:#052132;padding:8px 11px;font-weight:850;cursor:pointer}.waypoint-marker{width:32px;height:32px;border:2px solid white;background:#139ccc;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);box-shadow:0 2px 9px #0008}.waypoint-marker:after{content:'●';display:block;color:white;font-size:16px;transform:rotate(45deg);text-align:center;line-height:28px}.position-marker{width:17px;height:17px;border-radius:50%;border:3px solid white;background:#f3a34b;box-shadow:0 0 0 7px #f3a34b44}.session-hero{border:1px solid #286f81;background:linear-gradient(135deg,#173d53,#0a2030);border-radius:22px;padding:21px;display:flex;align-items:center;flex-direction:column;text-align:center;margin:14px 0 30px}.circle-icon{height:66px;width:66px;display:grid;place-items:center;font-size:33px;border-radius:50%;background:#0d5368;margin-bottom:9px}.session-hero h2{font-size:21px;margin:6px 0}.session-hero p{font-size:12px;color:#a6bfcb;line-height:1.55;max-width:320px;margin:4px 0 18px}.live-metrics{display:flex;gap:30px;margin:0 0 15px}.live-metrics div{display:flex;flex-direction:column;align-items:center}.live-metrics small{font-size:9px;color:#86a5b5}.live-metrics b{font-size:19px;margin-top:5px}.stack-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}.empty-state{padding:20px;text-align:center;color:#90aebe;font-size:13px;border:1px dashed #3a5868;border-radius:15px}.list-card{background:#0e2839;border:1px solid var(--line);border-radius:15px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:9px}.list-card h3{font-size:14px;margin:0 0 5px;overflow-wrap:anywhere}.list-card small{font-size:11px;color:#97b3c1;line-height:1.55}.list-card .list-buttons{display:flex;gap:4px;flex-shrink:0}.list-buttons button{border:1px solid #285f77;background:#0d3a51;border-radius:9px;padding:8px;color:var(--cyan);font-size:11px;font-weight:800}.list-buttons button.danger{border-color:#874c4c;color:#ffc1a9;background:#452a2a}.forecast-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:8px 0}.forecast-toolbar>span{color:#a1b7c4;font-size:11px;max-width:230px;overflow:hidden;text-overflow:ellipsis}.forecast-message{border-radius:12px;border:1px solid var(--line);background:#0d3043;padding:12px;color:#a9d2e1;font-size:12px;line-height:1.5;margin:11px 0 16px}.wide-metric{min-height:143px}.wide-metric small{color:var(--cyan);font-size:10px;letter-spacing:.04em;font-weight:850}.wide-metric b{font-size:29px;letter-spacing:-1px;margin:auto 0 5px}.wide-metric span{font-size:11px;color:#a2bdca}.credits{color:#7196aa;font-size:11px}.archive-tabs{display:flex;gap:9px;margin:12px 0 17px}.archive-tab{border-radius:13px;padding:11px 16px;border:1px solid #255269;color:#aec9d7;background:#0b2738;font-size:12px;font-weight:780}.archive-tab.active{background:#164c64;border-color:var(--cyan);color:#fff}.archive-toolbar{display:flex;gap:9px;align-items:center}.archive-toolbar input{flex:1;min-width:0;border:1px solid #2a566a;background:#0a2435;border-radius:10px;color:#fff;padding:10px 11px;font-size:14px}.data-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.data-actions button{min-height:46px;border:1px solid #386b7c;background:#103649;border-radius:12px;color:#b3eff7;font-size:12px;font-weight:800}.tiny-note{font-size:11px;color:#9fb4c1;line-height:1.6}.sheet-backdrop{position:fixed;z-index:2000;inset:0;background:#000b;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop[hidden]{display:none}.sheet{background:#102b3d;color:#fff;border-radius:25px 25px 0 0;border:1px solid #31657d;padding:19px 20px calc(20px + var(--safe));width:min(600px,100%);max-height:87dvh;overflow-y:auto;box-shadow:0 -20px 50px #0009}.sheet-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.sheet-title h2{font-size:20px;margin:0}.close-sheet{font-size:28px;border:0;background:#194458;color:#e1f8ff;border-radius:50%;width:35px;height:35px;line-height:1}.switch-line{padding:12px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.switch-line b{display:block;font-size:14px}.switch-line small{display:block;font-size:11px;color:#8dacbc;margin-top:4px}.switch-line input{accent-color:var(--cyan);width:23px;height:23px;flex-shrink:0}.input-label{display:block;color:#a9c4d1;font-size:12px;margin:10px 0 13px}.input-label input,.input-label select,.input-label textarea{display:block;margin-top:7px;padding:12px;border:1px solid #3d6576;background:#051d2e;border-radius:11px;width:100%;color:white;font-size:16px}.input-label textarea{resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-logo{display:flex;align-items:center;gap:13px;padding:10px 0}.settings-logo img{width:72px;height:72px;border-radius:16px}.settings-logo div{display:flex;flex-direction:column;gap:5px}.settings-logo b{font-size:13px}.settings-logo span{color:#a1c0ca;font-size:11px}.sheet p{color:#a8c2ce;font-size:12px;line-height:1.6}.toast{position:fixed;z-index:3000;bottom:calc(82px + var(--safe));left:50%;transform:translateX(-50%);background:#d4faff;color:#063144;border:1px solid white;padding:10px 18px;border-radius:11px;box-shadow:0 5px 25px #0008;white-space:normal;min-width:210px;max-width:85%;text-align:center;font-size:12px;font-weight:750}.toast[hidden]{display:none}@media(min-width:601px){.app-shell{border-left:1px solid #245269;border-right:1px solid #245269}.map-view{height:calc(100dvh - 134px)}}@media(max-width:360px){.brand b{font-size:12px}.topbar-right{font-size:9px}.hero{padding:23px 14px}.hero h1{font-size:25px}.hero img{width:160px;height:160px}.view{padding-left:13px;padding-right:13px}.metric{padding:12px}.metric b{font-size:28px}}
