.port-humidity-marker{position:absolute;z-index:4;width:25px;height:25px;border:2px solid #fff;border-radius:7px;background:#137f83;color:#fff;box-shadow:0 2px 8px #19343a66;cursor:pointer}.port-humidity-marker:before{content:"≋";display:block;font-size:19px;line-height:18px;font-weight:700}.port-humidity-marker:focus-visible,.port-humidity-marker:hover{outline:2px solid #07686d;outline-offset:2px}.port-humidity-tooltip{position:absolute;left:50%;bottom:calc(100% + 7px);z-index:1;display:none;transform:translateX(-50%);padding:4px 7px;border:1px solid #9bb2b9;border-radius:3px;background:#fff;color:#23424a;box-shadow:0 2px 7px #19343a33;font-size:11px;line-height:1.2;white-space:nowrap;pointer-events:none}.port-humidity-marker:focus-visible .port-humidity-tooltip,.port-humidity-marker:hover .port-humidity-tooltip{display:block}.legend-port-humidity{display:inline-block;width:13px;height:13px;border:2px solid #fff;border-radius:4px;background:#137f83;box-shadow:0 0 0 1px #137f83}.port-humidity-popup.maplibregl-popup{z-index:8;left:50%!important;top:50%!important;display:flex;max-width:calc(100% - 24px)!important;max-height:calc(100% - 24px);transform:translate(-50%,-50%)!important}.port-humidity-popup .maplibregl-popup-content{box-sizing:border-box;width:min(490px,calc(100vw - 86px));min-height:0;max-height:min(78vh,720px);overflow-y:auto;padding:13px 15px!important;border:1px solid #aebdc5;border-radius:8px!important;background:#fff!important;color:#21343c;box-shadow:0 8px 28px #17343c33!important}.port-humidity-popup .maplibregl-popup-tip{display:none}.port-humidity-popup .maplibregl-popup-close-button{top:5px;right:7px;z-index:2;padding:3px 7px;color:#496674;font-size:19px}.port-humidity-popup-content{display:grid;gap:10px;font-size:11px;line-height:1.45}.port-humidity-heading{display:grid;gap:2px;padding-right:22px}.port-humidity-heading strong{font-size:13px;color:#1f3c47}.port-humidity-heading span{color:#227c82;font-weight:650}.port-humidity-heading small,.port-humidity-window{color:#627783;font-size:10px}.port-humidity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.port-humidity-fields label{display:grid;gap:3px;min-width:0;color:#576c77;font-size:10px}.port-humidity-fields input{box-sizing:border-box;width:100%;height:30px;padding:3px 5px;border:1px solid #c4d1d8;border-radius:4px;background:#fff;color:#1e3440;font:inherit;font-size:11px}.port-humidity-fixed-threshold{display:grid;gap:3px;color:#576c77;font-size:10px}.port-humidity-fixed-threshold strong{box-sizing:border-box;display:flex;align-items:center;height:30px;padding:3px 7px;border:1px solid #d5e5df;border-radius:4px;background:#edf7f1;color:#276d53;font-size:11px}.port-humidity-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.port-humidity-metric{position:relative;display:grid;gap:4px;min-width:0;min-height:53px;padding:7px;border:1px solid transparent;border-radius:4px;background:#eff4f5;text-align:left}.port-humidity-metric:focus-visible,.port-humidity-metric:hover{z-index:3;border-color:#87bfa6}.port-humidity-metric:focus-visible{outline:2px solid #298668;outline-offset:1px}.port-humidity-metric>span:first-child{color:#5d727d;font-size:9px}.port-humidity-metric strong{color:#1d444b;font-size:13px;font-weight:700}.port-humidity-metric-help{position:absolute;z-index:4;left:0;top:calc(100% + 5px);box-sizing:border-box;width:210px;max-width:min(210px,calc(100vw - 100px));padding:7px 9px;border:1px solid #add2c0;border-radius:5px;background:#fff;color:#315348;font-size:10px;line-height:1.5;box-shadow:0 4px 12px #19343a30;visibility:hidden;opacity:0;pointer-events:none}.port-humidity-metric:nth-child(3n) .port-humidity-metric-help{right:0;left:auto}.port-humidity-metric:focus-visible .port-humidity-metric-help,.port-humidity-metric:hover .port-humidity-metric-help{visibility:visible;opacity:1}.port-humidity-quality{display:grid;gap:3px;color:#61717a;font-size:9px}.port-humidity-alert,.port-humidity-quality .warning{color:#a05818}.port-humidity-disclaimer{margin:0;padding-top:7px;border-top:1px solid #e2e9eb;color:#6d7c84;font-size:9px}.port-humidity-alert,.port-humidity-message{margin:0;padding:8px;background:#f5f7f7}.port-humidity-alert button,.port-humidity-load-error button{margin-left:6px;border:0;background:none;color:#10727b;text-decoration:underline;cursor:pointer}.port-humidity-load-error{position:absolute;z-index:4;top:60px;right:15px;padding:8px 10px;background:#fff;color:#a05818;font-size:10px}.port-humidity-charts{display:grid;gap:12px}.port-humidity-charts section{min-width:0;padding-top:10px;border-top:1px solid #e2e9eb}.port-humidity-charts h3{margin:0;color:#1f3c47;font-size:12px}.port-humidity-charts p{margin:2px 0 6px;color:#687e86;font-size:10px}.port-humidity-chart{width:100%;height:auto}.port-humidity-chart-tooltip{display:grid;gap:3px;padding:7px 9px;border:1px solid #c5d4d8;border-radius:5px;background:#fff;box-shadow:0 3px 12px #1f3c4722;color:#31535a;font-size:10px}.port-humidity-chart-tooltip strong{color:#176f74}.port-humidity-chart-state{padding:15px 6px;background:#f5f7f7;color:#61717a;text-align:center}.port-humidity-browse button,.port-humidity-chart-state button{border:0;background:none;color:#10727b;text-decoration:underline;cursor:pointer}.port-humidity-browse{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:5px 7px;background:#edf6f6;color:#31535a;font-size:10px}.port-humidity-chart-note{display:block;color:#687e86;font-size:9px}.port-humidity-arrivals{display:grid;gap:6px;min-width:0;padding-top:10px;border-top:1px solid #e2e9eb}.port-humidity-arrivals-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.port-humidity-arrivals h3{margin:0;color:#1f3c47;font-size:12px}.port-humidity-arrivals-heading>span{color:#137f83;font-size:10px;font-weight:700}.port-humidity-arrivals p{margin:0;color:#687e86;font-size:10px}.port-humidity-arrivals-list{display:grid;gap:5px;max-height:205px;margin:0;padding:0;overflow-y:auto;list-style:none}.port-humidity-arrivals-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border:1px solid #e2e9eb;border-radius:4px;background:#f7faf9}.port-humidity-arrivals-list li>div{display:grid;gap:2px;min-width:0}.port-humidity-arrivals-list li>div:first-child strong{overflow:hidden;color:#29454a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.port-humidity-arrivals-list small{color:#778891;font-size:9px;overflow-wrap:anywhere}.port-humidity-arrivals p{line-height:1.6}.port-humidity-arrival-eta{flex:none;text-align:right}.port-humidity-arrival-eta span{color:#688087;font-size:9px}.port-humidity-arrival-eta strong{color:#176f74;font-size:10px}.tracking-mode-controller .tracking-mode-segments{grid-template-columns:repeat(2,minmax(0,1fr))}.tracking-mode-controller.humidity-collapsed{width:145px;max-height:35px;transition:width .18s ease,max-height .18s ease}.tracking-mode-controller.humidity-collapsed>:not(.tracking-controller-title){display:none}.tracking-mode-controller.humidity-collapsed .tracking-controller-title{margin-bottom:0;white-space:nowrap}@media(max-width:560px){.port-humidity-popup .maplibregl-popup-content{width:min(370px,calc(100vw - 40px));max-height:78vh}.port-humidity-fields{gap:5px}.port-humidity-metrics{gap:3px}.port-humidity-metric{padding:5px}.port-humidity-metric strong{font-size:11px}}