/* Shared phone/tablet layout. Keep the desktop cockpit's density on wide screens. */
html{scroll-padding-top:76px}body{overflow-wrap:break-word}.shell,main,#content,.page-heading>div{min-width:0}
.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar nav{flex-shrink:0}
.nav-close,.nav-scrim{display:none}.nav-scrim[hidden]{display:none!important}
dialog{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain;scroll-padding-top:54px}
dialog .close,dialog .ex-codex-close{min-width:44px;min-height:44px;display:grid;place-items:center;z-index:3;background:#101a27;border:1px solid #3b4b5c;border-radius:4px}
dialog>form[method=dialog]{position:sticky;top:0;height:0;z-index:3}dialog>form[method=dialog]>.close{top:-12px;right:-12px}
.table-scroll-hint{font-size:12px;color:#9db4c7;margin:8px 0}.table-scroll-hint[hidden]{display:none}
.catalogue td,.fleet-module,.commander-record,.friend-find{overflow-wrap:anywhere}
@media(max-width:1100px){
 .topbar{height:auto;min-height:76px;padding-block:12px;flex-wrap:wrap}.top-actions{flex-wrap:wrap;gap:10px;min-width:0;max-width:100%}
 .desktop-client-status{white-space:normal;line-height:1.6}.page-heading{flex-wrap:wrap}.page-heading>div{max-width:100%}
 .overview-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .percent-corner{position:static;float:none;margin-top:8px}
 .friend-scope,.friend-browse,.fleet-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
 .friend-filters label,.fleet-tools label{min-width:0}.friend-filters select,.friend-filters input,.fleet-tools select,.fleet-tools input{width:100%}
 .commander-hero>div:last-child{min-width:0}.commander-record>strong{overflow-wrap:anywhere}
}
@media(max-width:1024px){
 body:not(.explorer-view) .shell{margin-left:0}
 .sidebar{width:min(320px,calc(100vw - 48px));transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility 0s .2s;z-index:70;padding:22px 18px;padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom));height:100vh;height:100dvh}
 .sidebar.open{transform:translateX(0);visibility:visible;transition:transform .2s,visibility 0s}.sidebar .brand{padding-right:42px;font-size:21px}.sidebar .brand small{font-size:8px}
 .sidebar .nav-label{margin-top:28px}.sidebar nav a{min-height:48px}.sidebar .sidebar-bottom{padding-top:20px}.sidebar-bottom .specimen-mark,.sidebar-bottom>p{display:none}
 .nav-close{display:grid;place-items:center;position:absolute;right:12px;top:18px;width:44px;height:44px;border:1px solid #405264;background:#101b27;color:#e2b383;border-radius:4px;font-size:26px}
 .nav-scrim{display:block;position:fixed;inset:0;z-index:65;border:0;background:#02070cbf;backdrop-filter:blur(3px);padding:0}
 body.navigation-open{overflow:hidden}.topbar #mobile-menu{display:block;min-width:44px;min-height:44px;font-size:20px}
 .topbar{padding-inline:max(20px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-right))}.topbar .edition{font-size:10px}.topbar .edition span{padding-inline:8px}
 main{padding:28px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}
 .button,.filter,.search,.view-tabs button,.mode button,.species-variants button,.region-chip,.region-row,summary{min-height:44px}
 .button{display:inline-flex;align-items:center;justify-content:center;white-space:normal;text-align:center;line-height:1.4}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:44px;max-width:100%}
 .commander-block{min-width:0}.commander-block select{max-width:100%;font-size:16px}.commander-block small{font-size:11px}
 .scopebar{flex-wrap:wrap}.scopebar>div{min-width:0}.scopebar select{width:100%}.scopebar>div:first-child{flex:1 1 250px}.mode{flex-wrap:wrap}
 .category-switch{grid-template-columns:repeat(4,minmax(0,1fr))}.category-button{min-height:64px}.category-button .category-name{font-size:12px;white-space:normal}.category-button small{font-size:11px}
 .back-top{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}.offline-notice{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .fleet-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.fleet-intro{flex-wrap:wrap}.fleet-sync{justify-items:start}
 .friend-scoreboard{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)}
 .setup-grid,.data-grid{grid-template-columns:1fr}.setup-card{min-width:0}.setup-actions,.friend-actions{flex-wrap:wrap}
 .carrier-table{min-width:620px}.carrier-table th,.carrier-table td{padding:12px 10px;font-size:13px}
 dialog{padding:24px;width:calc(100% - 24px);max-width:min(900px,calc(100vw - 24px));margin:auto}
 dialog h2{padding-right:40px;overflow-wrap:anywhere}dialog p,dialog li{font-size:14px;line-height:1.65}
 .detail-log,.entry-evidence,.find-location{font-size:13px}.detail-stats label{font-size:11px}.detail-stats strong{overflow-wrap:anywhere}
 /* A scrolling document is easier to use than nested fixed-height panes with a touch keyboard. */
 body.explorer-view{overflow:auto}#explorer-dashboard{position:relative;inset:auto;min-height:100vh;min-height:100dvh;--ex-size:15px!important;padding:16px;gap:14px}
 #explorer-dashboard .ex-panes,#explorer-dashboard[data-orientation] .ex-panes{display:flex;flex-direction:column;gap:16px;overflow:visible;flex:none}
 #explorer-dashboard .ex-pane{padding:16px;overflow:visible}.ex-survey{min-height:0}.ex-table-scroll{flex:none;overflow:auto;max-height:none;min-height:0}
 .ex-table{min-width:720px;font-size:14px}.ex-table th{font-size:12px}.ex-table td{padding-block:10px}.ex-table td:first-child button{min-height:44px}
 #explorer-dashboard .ex-bio-line .ex-bio-name{display:inline-block;min-height:44px;line-height:1.5}
 .ex-toolbar{align-items:flex-start;flex-wrap:wrap;gap:14px}.ex-controls{flex-wrap:wrap;gap:8px}.ex-controls>a,.ex-settings>summary,#explorer-dashboard .ex-controls button{min-height:44px;display:inline-flex;align-items:center;padding:8px}
 #explorer-dashboard .ex-settings-panel{position:fixed;inset:120px 16px auto 16px;width:auto;max-width:360px;margin-left:auto;max-height:calc(100vh - 144px);max-height:calc(100dvh - 144px);z-index:120;font-size:15px}
 .ex-link{flex-wrap:wrap;font-size:12px}.ex-unsold{flex-wrap:wrap;align-items:flex-start}.ex-unsold small{font-size:11px}
 .ex-survey-heading{grid-template-columns:minmax(0,1fr)!important;gap:16px}.ex-survey-heading .ex-system,.ex-survey-heading .ex-options,.ex-survey-heading .ex-stats{grid-column:1!important;grid-row:auto!important}
 .ex-survey-heading .ex-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ex-survey-heading .ex-stats small{font-size:11px}.ex-survey-heading .ex-stats strong{font-size:20px;white-space:normal}
 .ex-survey-heading .ex-options{width:100%;max-width:100%;margin:0;justify-self:stretch;flex-direction:row;flex-wrap:wrap;gap:8px 16px}.ex-survey-heading .ex-options .ex-option-toggle{min-height:44px;font-size:14px}
 .ex-intelligence .ex-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.ex-intelligence #ex-detail{display:block}.ex-intel-values{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-dss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #ex-intelligence-toggle{min-width:44px;min-height:44px}.ex-footnote{font-size:12px;flex-wrap:wrap;gap:8px}.ex-footnote button{min-height:44px}
 #explorer-dashboard[data-intelligence-collapsed=true] .ex-intelligence{padding-block:8px}.ex-empty{padding:28px 16px}
}
@media(max-width:640px){
 main{padding:22px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left))}.topbar{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:8px}.topbar .edition{display:none}.top-actions{width:100%;gap:8px;justify-content:flex-end}.desktop-client-status{width:100%;text-align:right;font-size:11px}.topbar .connection{display:none}#account-button{max-width:calc(100vw - 180px)}
 .page-heading{padding-right:0;min-height:0;margin-bottom:24px;display:flex;flex-direction:column;align-items:stretch;gap:18px}.page-heading .commander-block{position:static;width:auto;text-align:left}.page-heading .eyebrow{font-size:10px}.page-heading p{font-size:13px;line-height:1.6}#page-title{font-size:32px;overflow-wrap:normal}
 .category-switch{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x proximity;padding:2px 2px 10px;margin-bottom:18px}.category-button{flex:0 0 132px;scroll-snap-align:start;min-height:64px}.category-switch.is-pinned .category-button{flex:0 0 auto}
 .scopebar{display:grid;gap:12px;padding-block:14px}.scopebar label,.mode>span{font-size:10px;display:block;margin-bottom:6px}.mode>span{width:100%}.mode button{flex:1;font-size:13px}
 .metrics{gap:10px}.metric{padding:16px 12px;min-width:0}.metric-number{font-size:28px;overflow-wrap:anywhere}.metric-label,.metric-note{font-size:11px;line-height:1.5}.metric .percent-corner{font-size:12px}
 .panel-head,.section-heading,.map-caption{flex-wrap:wrap}.genus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.genus-card{padding:14px;min-width:0}.genus-card h3{font-size:17px}.genus-card p,.genus-top small{font-size:11px}.genus-top{gap:8px}.panel-head{padding:18px}.region-name{font-size:14px}.region-fraction{font-size:11px}.region-value{font-size:17px}
 .social-summary{grid-template-columns:1fr}.social-summary article{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:16px}.social-summary strong{font-size:30px;white-space:nowrap}.social-summary span{font-size:13px}.social-hero p{font-size:14px}
 .friend-scope,.friend-browse,.fleet-tools{grid-template-columns:1fr}.friend-filters label{font-size:13px}.friend-filters>label{flex:1 1 100%}.discovery-tabs{gap:8px}.discovery-tabs .button{font-size:13px}
 .friend-scoreboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:18px}.friend-overlap{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;flex-wrap:wrap}.friend-orbit{width:76px;height:76px}.friend-score{font-size:36px}.friend-pilot h3{font-size:20px}.friend-rally{padding-top:12px;margin-top:0}.friend-discovery-grid{grid-template-columns:1fr}.friend-duel-rounds{grid-template-columns:1fr 1fr}.friend-duel-counts small{overflow-wrap:anywhere}
 .wingmate-grid{grid-template-columns:1fr}.social-panel{padding:18px}.social-columns,.crew-grid{grid-template-columns:1fr}.crew-card .friend-row{gap:12px}.commander-hero{padding:20px;gap:16px}.commander-hero h2{font-size:28px}.commander-record-grid{grid-template-columns:1fr}.commander-record{padding:20px}.commander-record>strong{font-size:30px}
 .friend-category-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-category-score{min-width:0}.friend-category-score>span:first-child{overflow-wrap:anywhere}
 .fleet-grid,.fleet-module,.fleet-detail-meta{grid-template-columns:1fr}.fleet-card{min-height:0}.fleet-card h3{font-size:25px}.fleet-intro h2{font-size:32px}.fleet-card-top small,.fleet-vessel p{font-size:13px}.fleet-tools label{width:auto}.fleet-group-heading{align-items:start;flex-wrap:wrap}
 .table-tools>.search,.table-tools>.filter{width:100%;min-width:0;flex-basis:100%}.pagination{flex-wrap:wrap;gap:12px}.pagination>div{margin-left:auto}
 .catalogue.responsive-table,.catalogue.responsive-table tbody{display:block;width:100%;white-space:normal}.catalogue.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.catalogue.responsive-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);border-bottom:1px solid #3a4b5b;padding:14px 16px;gap:8px}.catalogue.responsive-table td{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);gap:12px;padding:6px 0;border:0;font-size:14px;white-space:normal;text-align:left;min-width:0}.catalogue.responsive-table td::before{content:attr(data-label);color:#8fa8bd;font-size:12px}.catalogue.responsive-table td:first-child{display:block;font-size:16px}.catalogue.responsive-table td:first-child::before{display:none}.catalogue.responsive-table .entry-name{font-size:16px;min-height:44px}.catalogue.responsive-table td[colspan]{display:block}.catalogue.responsive-table td[colspan]::before{display:none}.catalogue.responsive-table .pill{justify-self:start;font-size:12px}
 dialog,#fleet-dialog,#detail-dialog{width:calc(100% - 16px);max-width:calc(100vw - 16px);padding:24px 18px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}.detail-stats{gap:14px}.region-chip{font-size:12px}.group-row{padding:16px}.group-row summary,.species-row>button{min-height:44px;flex-wrap:wrap}.species-row>button{font-size:15px}.species-variants button{font-size:13px}
 footer{flex-direction:column;gap:12px;font-size:10px;line-height:1.6}.empty-banner{flex-direction:column;align-items:stretch}.empty-banner p{font-size:13px}
 #explorer-dashboard{padding:12px max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));--ex-size:15px!important}.ex-brand{font-size:28px}.ex-controls{width:100%;justify-content:flex-start}.ex-link{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-block:12px}#ex-commander{max-width:none;text-align:left}.ex-unsold{align-items:flex-start;flex-direction:row;gap:16px;width:100%}.ex-unsold>span{flex:1;min-width:0;text-align:left}.ex-survey-heading .ex-stats{grid-template-columns:1fr;gap:10px}.ex-survey-heading .ex-stats>div{display:flex;justify-content:space-between;gap:12px;padding-left:10px}.ex-intelligence .ex-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ex-dss-grid,.ex-dss-rings,.ex-intel-values{grid-template-columns:1fr}.ex-empty{padding:28px 12px}.ex-empty p{font-size:14px}.ex-intelligence .ex-no-selection{padding:18px 0}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media(max-width:380px){.topbar #connect{display:none}}
@media(max-width:640px){
 .catalogue.responsive-table .cell-value{min-width:0}.catalogue.responsive-table td[data-label=""]{display:block;text-align:right}.catalogue.responsive-table td[data-label=""]::before{display:none}
}
@media(min-width:768px) and (max-width:1024px){
 .carrier-grid.metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}.carrier-grid.metrics-three .carrier-card{padding:18px}.carrier-grid.metrics-three .carrier-value{font-size:26px}
}
