
:root{font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#203e48;background:#f4f3ee;font-size:15px;--navy:#123843;--teal:#006d77;--cyan:#007c83;--muted:#607680;--line:#dbe2de;--paper:#fffefa;--cargo:#239447;--tanker:#df3546;--passenger:#267bd3;--fishing:#e88b20;--pleasure:#9754ca;--tug:#dbad15;--rescue:#00a9b5;--other:#8292a1}
*{box-sizing:border-box}body{margin:0;min-width:300px}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #00868e;outline-offset:3px}input,select,textarea{color:var(--navy)}input[type=checkbox]{width:15px;height:15px;accent-color:var(--teal);flex-shrink:0}a{color:#006874;text-underline-offset:3px}.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-control select{max-width:90px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px;padding:5px;color:var(--navy)}
/* Kursblick / Vesselbird header. */
.site-header{height:76px;display:flex;align-items:center;gap:28px;padding:0 24px;position:relative;z-index:1100;background:#fffefaef;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none;font-size:23px;font-weight:720;letter-spacing:-.9px;white-space:nowrap}.brand-icon{display:block;width:40px;height:40px}.brand small{display:block;font-size:10px;line-height:1.5;font-weight:500;letter-spacing:.6px;color:#5f797c;margin-top:1px}
.site-header nav{display:flex;align-self:stretch;align-items:center;gap:4px}.tab{border:0;background:transparent;color:#627780;font-weight:600;font-size:13px;padding:11px 12px;border-radius:8px;white-space:nowrap;min-height:40px}.tab:hover{background:#edf2ed;color:var(--navy)}.tab.active{color:#005c65;background:#e3f0e9}
.live{margin-left:auto;display:flex;align-items:center;gap:7px;color:#5f737b;font-size:11px;white-space:nowrap}#live-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#c6803c}#live-dot.online{background:#168165;box-shadow:0 0 0 3px #16816512}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.coffee-button,.account-button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #dbe2dd;border-radius:9px;background:transparent;color:var(--navy);font-size:12px;font-weight:600;padding:9px 11px;text-decoration:none;white-space:nowrap}.coffee-button{background:#fff0df;color:#79431f;border-color:#ecd3b6}.coffee-button:hover{background:#ffe9ce}.account-button:hover{background:#edf2ed}.coffee-button svg,.account-button svg{width:19px;height:19px;flex-shrink:0}.account-button span{max-width:125px;overflow:hidden;text-overflow:ellipsis}
/* Search and personal collections. */
main{display:flex;height:calc(100dvh - 106px);min-height:340px}.sidebar{width:324px;flex-shrink:0;background:var(--paper);display:flex;flex-direction:column;border-right:1px solid var(--line);z-index:600}.sidebar-head{padding:24px 20px 0;flex-shrink:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#5d787b}
h1{font-size:24px;font-weight:650;letter-spacing:-.8px;margin:9px 0 20px}h1 span{float:right;margin-top:2px;background:#edf3ed;color:#21646c;font-size:12px;letter-spacing:0;padding:5px 8px;border-radius:7px}
.search{display:flex;align-items:center;border:1px solid #d6dfdb;border-radius:8px;padding:0 10px;gap:7px;background:#f7f8f3}.search>span{font-size:25px;color:#647e81}input[type=search]{width:100%;min-width:0;border:0;background:transparent;padding:11px 0;font-size:13px}
.filters{display:flex;gap:7px;margin-top:10px}select{width:50%;min-width:0;padding:9px 6px;font-size:11px;background:var(--paper);border:1px solid #d8e1dc;border-radius:7px;color:#496570}
.quick-options{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:12px 0 9px}.check{display:flex;align-items:center;gap:5px;color:#526c75;font-size:11px;white-space:nowrap}.check input{margin:0}
.collection-controls{margin:0 0 10px;border:1px solid #dce4de;border-radius:8px;background:#f8f9f3;font-size:12px}.collection-controls summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#3d666e;padding:9px 10px;list-style:none;min-height:35px}.collection-controls summary::-webkit-details-marker{display:none}.collection-controls summary>span{font-size:18px;line-height:.8}.collection-controls[open] summary>span{transform:rotate(180deg)}
.collection-body{padding:0 10px 10px;border-top:1px solid #e0e6de}.control-label{display:block;color:#526d76;font-size:11px;font-weight:600;margin:11px 0 6px}.control-row{display:flex;gap:5px;align-items:center}.control-row select{width:auto;flex:1;font-size:11px;padding:8px 5px}.control-row button,.collection-actions button{border:1px solid #cbdcd5;background:#fffefa;color:#26616c;border-radius:6px;font-size:11px;padding:8px 7px;min-height:32px}.control-row button:hover,.collection-actions button:hover{background:#e9f2e9}.control-row .icon-button{width:29px;padding:0;font-size:20px}
.collection-actions{display:flex;gap:12px;margin-top:5px}.collection-actions button{border:0;background:transparent;padding:5px 0;min-height:26px;color:#5c757e;font-size:10px}.collection-actions button:last-child{color:#865740}.collection-hint{color:#657a80;font-size:10px;line-height:1.5;margin:5px 0 0}
.list-label{display:flex;justify-content:space-between;border-bottom:1px solid #e1e7df;padding:3px 0 10px;color:#71878a;font-size:9px;letter-spacing:1px}.ship-list{overflow:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#b5c8c2 transparent}
.ship-row{width:100%;display:flex;align-items:center;text-align:left;gap:10px;padding:14px 20px;border:0;border-bottom:1px solid #eaf0e7;background:var(--paper);color:var(--navy)}.ship-row:hover,.ship-row.selected{background:#eaf4ed}.ship-symbol{width:29px;height:31px;display:flex;align-items:center;justify-content:center;font-size:21px;color:var(--cargo);border-radius:7px;background:#f0f3ed;flex-shrink:0}
.ship-row strong{display:block;max-width:186px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.ship-row small{display:block;color:#607882;font-size:10px;margin-top:4px}.ship-row .speed{margin-left:auto;font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.speed small{text-align:right}
.sidebar-foot{border-top:1px solid #e1e8df;padding:12px 20px;font-size:10px;line-height:1.55;color:#6d8084}.empty{padding:26px 20px;font-size:13px;color:#597681;line-height:1.6}
/* Map controls and vessels. */
.map-wrap{flex:1;min-width:0;position:relative;background:#acd5df}#map{height:100%;width:100%;background:#acd5df}.map-toolbar{position:absolute;top:16px;right:16px;z-index:700}.map-toolbar button{border:1px solid #d1dfd9;background:var(--paper);border-radius:8px;font-size:12px;font-weight:600;color:#355c67;padding:10px 13px;box-shadow:0 2px 12px #143d4315}
.layer-panel{position:absolute;right:16px;top:66px;z-index:900;padding:16px;border:1px solid #d8e3dc;border-radius:10px;background:var(--paper);box-shadow:0 7px 25px #214a4b24;max-height:calc(100% - 82px);overflow:auto}.layer-panel h2{margin:0 0 14px;font-size:15px}.layer-panel label{display:flex;align-items:center;gap:7px;font-size:12px;margin:12px 0}
.map-summary{position:absolute;left:16px;bottom:64px;z-index:700;display:flex;align-items:center;gap:10px;background:#fffefaf5;padding:12px 14px;border:1px solid #dce5dd;border-radius:10px;box-shadow:0 4px 19px #153f4514}.summary-line{width:3px;height:30px;background:#007781;border-radius:2px}.map-summary strong{font-size:13px}.map-summary small{display:block;margin-top:4px;color:#597880;font-size:10px;max-width:310px}.map-summary button{margin-left:4px;padding:2px 7px;min-height:32px;min-width:32px;border:0;border-radius:6px;background:#edf3eb;color:#3f6570;font-size:23px}#clear-track{font-size:10px;padding:6px;max-width:72px;background:#e3f0e8;color:#21636a}
.legend{position:absolute;bottom:18px;left:16px;z-index:700;display:flex;flex-wrap:wrap;gap:7px 12px;max-width:calc(100% - 32px);padding:9px 12px;border:1px solid #dce5dd;border-radius:8px;background:#fffefaed;font-size:10px;color:#415f68}.legend span{display:flex;align-items:center;gap:5px}.legend i{height:7px;width:7px;border-radius:2px;background:var(--other)}.legend .cargo{background:var(--cargo)}.legend .tanker{background:var(--tanker)}.legend .passenger{background:var(--passenger)}.legend .fishing{background:var(--fishing)}.legend .pleasure{background:var(--pleasure)}.legend .tug{background:var(--tug)}.legend .rescue{background:var(--rescue)}
.leaflet-control-zoom{margin-top:70px!important;margin-right:16px!important;border:1px solid #d7e1dc!important;border-radius:8px!important;overflow:hidden;box-shadow:0 3px 15px #183d4720!important}.leaflet-control-zoom a{color:#355f6b!important;background:var(--paper)!important}.leaflet-control-attribution{font-size:9px!important}
.ship-icon,.ship-cluster{background:none;border:0;display:grid;place-items:center}.ship-arrow{width:20px;height:28px;overflow:visible;pointer-events:none;transform-origin:50% 50%;filter:drop-shadow(0 1px 2px #102c4666)}.ship-cluster span{display:block;width:30px;height:30px;pointer-events:none;background:#164957e8;color:#fff;border:2px solid #fff;border-radius:50%;text-align:center;box-shadow:0 1px 5px #15334840;font-size:12px;font-weight:650;line-height:26px}.ship-icon:focus-visible,.ship-cluster:focus-visible{outline:3px solid #00868e;outline-offset:2px;border-radius:8px}
.detail{position:absolute;right:16px;top:150px;z-index:850;width:316px;max-height:calc(100% - 172px);overflow:auto;scrollbar-width:thin;background:var(--paper);border:1px solid #d5e2d9;border-radius:13px;box-shadow:0 8px 35px #1b44472b;padding:20px}.detail h2{font-size:21px;letter-spacing:-.5px;margin:8px 28px 5px 0;overflow-wrap:anywhere}.detail .close{position:absolute;top:8px;right:8px;width:36px;height:36px;background:transparent;border:0;color:#5e797f;font-size:24px;border-radius:8px}.detail .close:hover{background:#edf3ea}.detail .type-label{font-size:12px;color:#617c84;margin-bottom:16px}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-top:1px solid #e0e8df;border-bottom:1px solid #e0e8df}.metrics small{display:block;color:#617b82;font-size:11px;margin-bottom:5px}.metrics strong{font-size:15px;font-weight:600}.detail dl{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;font-size:12px}.detail dt{color:#607881}.detail dd{text-align:right;margin:0;overflow-wrap:anywhere}.detail .freshness{padding:11px;background:#edf4ed;border-radius:7px;color:#416570;font-size:11px;line-height:1.6}
.detail button.favorite{width:100%;margin-top:12px;padding:10px;border:1px solid #b8d8ca;border-radius:7px;background:#e8f4ec;color:#005b67;font-size:13px}.detail .hint{font-size:11px;color:#627a82;line-height:1.5}.detail select{display:block;width:100%;font-size:12px;margin-top:7px}
.ship-photo{margin:12px 0 16px;color:#58747e;font-size:11px;line-height:1.45}.ship-photo img{display:block;width:100%;height:auto;max-height:180px;object-fit:contain;border-radius:7px;background:#edf3ea}.ship-photo small{display:block;margin-top:6px;font-size:10px;overflow-wrap:anywhere}.spotting-link{display:inline-block;margin-top:8px;font-size:11px}
.locate-button{position:absolute;top:70px;right:62px;z-index:850;display:grid;place-items:center;width:44px;height:44px;padding:10px;background:var(--paper);color:#355f6b;border:1px solid #d7e1dc;border-radius:8px;box-shadow:0 3px 15px #183d4720}.locate-button svg{width:22px;height:22px}.locate-button:hover{background:#edf4ec}.locate-button.has-location{color:#1766cf;border-color:#abc7e6}.locate-button:disabled{cursor:wait;opacity:.8}.locate-button.is-loading svg{animation:location-search 1.4s linear infinite}
.location-status{position:absolute;top:70px;right:116px;z-index:850;padding:10px 12px;background:var(--paper);border:1px solid #d7e1dc;border-radius:8px;box-shadow:0 3px 15px #183d4720;max-width:min(280px,calc(100% - 130px));color:#355f6b;font-size:11px;line-height:1.5;pointer-events:none}.location-status.error{color:#835b28;background:#fff6e9;border-color:#e5ccab}@keyframes location-search{to{transform:rotate(360deg)}}
/* Archive, source pages and legal links. */
.page-view{min-height:calc(100dvh - 106px);max-width:1150px;margin:0 auto;padding:38px 28px 50px;line-height:1.65}.page-view h1{font-size:32px;margin:8px 0 12px;letter-spacing:-1px}.page-view>p{max-width:820px;color:#526e78}
.source-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.source-grid article,.notice{background:var(--paper);border:1px solid #dae3da;border-radius:12px;padding:24px}.source-grid h2,.notice h2{font-size:18px;letter-spacing:-.3px;margin-top:0}.source-grid p,.notice p{font-size:13px;color:#536f7a}.source-grid a{font-size:13px}.notice{margin-top:18px}
#source-status{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.source-pill{font-size:11px;padding:6px 9px;border:1px solid #ccded4;border-radius:7px;background:var(--paper);color:#416670}.source-pill.error{color:#855529;background:#fff3e2;border-color:#edd5b5}
#call-search{display:block;max-width:400px;background:var(--paper);border:1px solid #d2dfd6;border-radius:8px;padding:11px;margin:10px 0 24px}#calls-list{overflow:auto;border-radius:9px}table{border-collapse:collapse;width:100%;background:var(--paper);font-size:13px}th{text-align:left;color:#5f7d82;font-size:10px;letter-spacing:.6px}td,th{padding:13px 15px;border-bottom:1px solid #e0e7de}td small{display:block;color:#698089;font-size:11px}
.history-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.history-stats>div{background:var(--paper);padding:20px;border:1px solid #d9e3d9;border-radius:10px}.history-stats strong{display:block;font-size:23px;font-weight:650;letter-spacing:-.6px}.history-stats span{font-size:12px;color:#5a7780}.history-stats p{grid-column:1/-1;color:#617980;font-size:11px;margin:0}
.history-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--paper);padding:20px;border:1px solid #d8e3d8;border-radius:10px}.history-form label{display:flex;flex-direction:column;gap:7px;color:#46656f;font-size:13px}.history-form input,.history-form select{width:100%;min-width:0;padding:10px;font-size:13px;border:1px solid #cddcd2;background:#fffefb;border-radius:7px}.history-form button,#history-map,.primary-button{background:var(--teal);color:#fff;border:0;border-radius:7px;padding:11px 16px;font-size:13px;font-weight:600}.history-form button{justify-self:start}.export-link{font-size:12px}#history-result{margin:20px 0;font-size:13px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;height:30px;padding:0 20px;background:#f8f8f0;color:#60797c;font-size:10px;border-top:1px solid #dae3d9}.site-footer>div{display:flex;gap:16px}.site-footer a{color:#526e74;text-decoration:none}.site-footer a:hover{text-decoration:underline}
/* Account and collection dialogs. */
dialog{width:min(470px,calc(100vw - 28px));max-height:calc(100dvh - 38px);padding:25px;overflow:auto;border:1px solid #cdded2;border-radius:15px;background:var(--paper);color:var(--navy);box-shadow:0 25px 100px #12384340}dialog::backdrop{background:#12384385;backdrop-filter:blur(3px)}dialog h2{margin:3px 30px 10px 0;font-size:24px;letter-spacing:-.6px}dialog p{color:#5d767f;font-size:12px;line-height:1.6}
.dialog-close,dialog .close{position:absolute;top:10px;right:10px;width:35px;height:35px;font-size:23px;color:#5f7980;border:0;border-radius:8px;background:transparent}.dialog-close:hover,dialog .close:hover{background:#edf3ea}
.account-tabs{display:flex;gap:5px;margin:18px 0;border-bottom:1px solid #dbe5da;padding-bottom:10px}.account-tabs button{border:0;padding:9px 12px;font-size:12px;border-radius:7px;background:transparent;color:#57727b}.account-tabs button.active,.account-tabs button[aria-selected=true]{background:#e6f1e8;color:#005f69;font-weight:650}
.account-form,dialog form{display:grid;gap:13px}.account-form label,dialog form label{display:flex;flex-direction:column;gap:6px;color:#40636d;font-size:12px}.account-form input,dialog form input,dialog form select{width:100%;border:1px solid #cdded3;border-radius:7px;padding:10px 11px;background:#fffefb;font-size:14px}.account-form input[type=checkbox],dialog form input[type=checkbox]{width:15px;margin:0}.account-form button[type=submit],dialog form button[type=submit]{border:0;padding:11px 14px;background:var(--teal);color:#fff;border-radius:7px;font-size:13px;font-weight:600}
.account-status{min-height:20px;margin:10px 0;color:#276d64;font-size:12px;line-height:1.55}.account-status.error,.form-error{color:#a63f34}.account-session{border:1px solid #d2e1d5;border-radius:9px;background:#f0f6ed;padding:13px;margin:15px 0}.secondary-button,.account-session button{background:#fffefa;border:1px solid #c7dcd0;color:#315e69;padding:9px 12px;border-radius:7px;font-size:12px}.account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.account-actions .danger,.danger-button{color:#a14334;border-color:#e2c8bb;background:#fff5ed}
.legal-page{max-width:800px}.legal-page h2{font-size:20px;margin-top:28px}.legal-page h3{font-size:16px;margin-top:24px}.legal-page li{margin:5px 0}.legal-page .notice{line-height:1.65}
/* Tablet. */
@media(max-width:1280px){.site-header{gap:18px;padding:0 20px}.coffee-button span{display:none}.coffee-button{width:40px;padding:9px}.live{font-size:10px}}
@media(max-width:1050px){.live{display:none}.site-header{gap:16px}.site-header nav{margin-left:auto}.header-actions{margin-left:0}.tab{font-size:12px;padding:10px}.sidebar{width:296px}.sidebar-head{padding:20px 16px 0}.ship-row{padding:13px 16px}.ship-row strong{max-width:166px}.detail{width:294px}.legend{font-size:9px;gap:6px 9px}.map-summary small{max-width:240px}}
/* Compact phone layout, with personal controls in a drawer. */
@media(max-width:760px){
.site-header{height:84px;padding:0 12px;flex-wrap:wrap;align-content:center;gap:0}.brand{height:43px;font-size:20px;gap:7px}.brand-icon{width:31px;height:31px}.brand small{font-size:8px;letter-spacing:.3px}.header-actions{margin-left:auto;gap:6px}.coffee-button,.account-button{min-height:34px;height:34px;padding:7px 9px;font-size:10px}.coffee-button{width:34px;padding:7px}.account-button span{max-width:95px}.coffee-button svg,.account-button svg{width:17px;height:17px}.site-header nav{order:3;width:100%;height:35px;margin-left:0;gap:2px;justify-content:space-between}.tab{flex:1;min-height:32px;padding:7px 4px;font-size:11px;border-radius:7px}
main{height:calc(100dvh - 112px);flex-direction:column-reverse;min-height:380px}.sidebar{width:100%;height:32%;min-height:207px;border-right:0;border-top:1px solid #d8e3d8}.sidebar-head{padding:8px 10px 0;max-height:calc(100% - 45px);overflow-y:auto}.sidebar-head>.eyebrow,.sidebar-head>h1,.sidebar-foot,.list-label{display:none}
.search{float:left;width:44%;height:34px;padding:0 7px;gap:4px}.search>span{font-size:20px}input[type=search]{font-size:12px;padding:8px 0}.filters{height:34px;margin:0 0 7px 46%;gap:4px}.filters select{font-size:11px;padding:4px 2px}.quick-options{clear:both;margin:7px 0;justify-content:flex-start;gap:20px}.check{font-size:10px}.check input{width:13px;height:13px}
.collection-controls{margin-bottom:8px;font-size:11px}.collection-controls summary{min-height:30px;padding:7px 9px}.collection-controls summary>span{font-size:17px}.sidebar:has(.collection-controls[open]){height:54%;min-height:min(345px,55dvh)}.collection-body{padding:0 9px 8px}.control-label{margin:8px 0 5px;font-size:10px}.control-row select,.control-row button{font-size:11px}.collection-hint{font-size:10px;margin-top:2px}
.ship-row{min-height:46px;padding:8px 10px;gap:8px}.ship-symbol{width:24px;height:27px;font-size:20px}.ship-row strong{font-size:12px;max-width:min(62vw,320px)}.ship-row small{font-size:10px;margin-top:3px}.ship-row .speed{font-size:12px}
.map-wrap{min-height:200px}.map-toolbar{top:8px;right:8px}.map-toolbar button{min-height:36px;padding:8px 11px;font-size:10px}.layer-panel{right:8px;top:52px;padding:12px;max-height:calc(100% - 65px)}.layer-panel label{font-size:11px;margin:10px 0}.leaflet-control-zoom{margin-top:58px!important;margin-right:8px!important}.locate-button{top:58px;right:50px}.location-status{position:fixed;top:auto;right:10px;bottom:36px;max-width:min(300px,calc(100vw - 20px));padding:9px 11px;font-size:11px}
.map-summary{left:8px;bottom:22px;padding:7px 9px;gap:8px}.map-summary strong{font-size:11px}.map-summary small{font-size:9px;max-width:185px}.map-summary button{margin-left:3px;font-size:21px;padding:2px 5px;min-width:31px;min-height:31px}.summary-line{height:26px}.legend{display:none}
.detail{top:134px;right:8px;width:calc(100% - 16px);max-height:calc(100% - 156px);padding:14px}.detail h2{font-size:19px}.detail .type-label{font-size:11px;margin-bottom:12px}.metrics strong{font-size:14px}.detail dl{font-size:11px}
.page-view{min-height:calc(100dvh - 112px);padding:23px 14px 35px;font-size:13px}.page-view h1{font-size:26px}.source-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}.source-grid article,.notice{padding:18px}.source-grid h2,.notice h2{font-size:17px}.source-grid p,.notice p{font-size:12px}.history-stats{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.history-stats>div{padding:13px}.history-stats strong{font-size:20px}.history-stats span{font-size:11px}.history-form{grid-template-columns:1fr;padding:14px;gap:11px}td,th{padding:11px;white-space:nowrap}
.site-footer{height:28px;padding:0 10px;font-size:9px}.site-footer>span{display:none}.site-footer>div{width:100%;justify-content:center;gap:18px}dialog{padding:20px;border-radius:12px}dialog h2{font-size:22px}
}
@media(max-width:360px){.site-header{padding:0 8px}.brand{font-size:18px;gap:6px}.brand-icon{width:28px;height:28px}.account-button span{max-width:75px}.tab{font-size:10px}.quick-options{gap:12px}.map-summary small{max-width:150px}}
@media(max-width:760px) and (max-height:640px){.sidebar{height:37%;min-height:180px}.map-wrap{min-height:150px}.detail{left:8px;right:104px;top:56px;width:auto;max-height:calc(100% - 70px)}.map-summary small{display:none}.sidebar:has(.collection-controls[open]){height:60%;min-height:0}}
/* Landscape keeps the map beside the list and the close button clear of zoom. */
@media(min-width:520px) and (max-width:1100px) and (max-height:550px){
.site-header{height:49px;padding:0 10px;gap:10px;flex-wrap:nowrap}.brand{height:auto;font-size:17px;gap:6px}.brand-icon{width:28px;height:28px}.brand small{display:none}.site-header nav{order:0;width:auto;margin-left:auto;height:49px;gap:1px}.tab{flex:none;font-size:10px;padding:7px 6px;min-height:32px}.header-actions{margin-left:0}.coffee-button,.account-button{height:32px;min-height:32px;padding:6px 7px}.coffee-button{width:32px}.account-button span{display:none}
main{height:calc(100dvh - 77px);min-height:200px;flex-direction:row}.sidebar,.sidebar:has(.collection-controls[open]){width:clamp(195px,29vw,275px);height:100%;min-height:0;border-top:0;border-right:1px solid #d8e3d8}.sidebar-head{padding:8px 9px 0;max-height:calc(100% - 47px);overflow:auto}.sidebar-head>.eyebrow,.sidebar-head>h1,.sidebar-foot,.list-label{display:none}.search{float:none;width:100%;height:31px;padding:0 7px}input[type=search]{padding:7px 0;font-size:11px}.filters{height:30px;margin:6px 0;gap:4px}.filters select{font-size:10px;padding:4px 2px}.quick-options{margin:7px 0;gap:6px;justify-content:space-between}.check{font-size:9px;gap:3px}.check input{width:12px;height:12px}
.collection-controls{margin-bottom:7px}.collection-controls summary{font-size:10px;min-height:28px;padding:6px 7px}.collection-body{padding:0 6px 8px}.control-row{gap:3px}.control-row button{font-size:9px;padding:7px 4px}.control-row select{font-size:10px}
.ship-row{padding:7px 9px;gap:6px;min-height:44px}.ship-row strong{font-size:11px;max-width:140px}.ship-row small{font-size:9px}.ship-symbol{width:22px;height:25px;font-size:18px}.ship-row .speed{font-size:11px}
.map-wrap{min-height:0}.map-toolbar{top:8px;right:8px}.map-toolbar button{padding:8px 10px;font-size:10px;min-height:36px}.leaflet-control-zoom{margin-top:58px!important;margin-right:8px!important}.locate-button{top:58px;right:50px}.location-status{position:fixed;top:auto;right:10px;bottom:36px;max-width:min(300px,calc(100vw - 20px))}.layer-panel{top:52px;right:8px;padding:12px;max-height:calc(100% - 65px)}.layer-panel label{font-size:11px}.legend{display:none}.map-summary{left:8px;bottom:19px;padding:7px 9px}.map-summary strong{font-size:11px}.map-summary small{font-size:9px;max-width:175px}
.detail{left:8px;right:104px;top:56px;width:auto;max-height:calc(100% - 70px);padding:14px}.detail h2{font-size:18px}.detail dl{font-size:11px}.metrics strong{font-size:13px}.site-footer{height:28px}.page-view{min-height:calc(100dvh - 77px)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.locate-button.is-loading svg{animation:none}dialog::backdrop{backdrop-filter:none}}
@media(max-width:760px){.language-control select{width:64px;min-height:34px;font-size:10px}.brand{font-size:19px}.header-actions{gap:4px}.account-button{padding:7px}.account-button span{max-width:76px}}
@media(max-width:380px){.account-button span{display:none}.language-control select{width:62px}.brand{font-size:18px}}
