:root{--bg-color:#121212;--sidebar-bg:#1e1e1e;--card-bg:#252525;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--accent-color:#646cff;--accent-hover:#747bff;--border-color:#333;--success-color:#4caf50;--warning-color:#ff9800;--danger-color:#f44336}body{background-color:var(--bg-color);color:var(--text-primary);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif}#root{width:100vw;height:100dvh;overflow:hidden}.app-layout{grid-template-rows:1fr auto auto;grid-template-columns:auto 1fr;width:100%;height:100%;display:grid;position:relative}.app-layout>.sidebar{grid-area:1/1/2}.app-layout>.main-content{grid-area:1/2/2}.app-layout>.spy-queue-bar{grid-area:2/1/auto/-1}.app-layout>.expo-footer{grid-area:3/1/auto/-1}.mobile-header{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);z-index:100;justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.header-brand{align-items:center;gap:.75rem;display:flex}.header-brand h1{color:var(--accent-color);margin:0;font-size:1.25rem}.mobile-menu-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:.5rem;display:flex}.sidebar-overlay{z-index:40;opacity:0;pointer-events:none;background:#00000080;transition:opacity .3s;display:none;position:fixed;inset:60px 0 0}.sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);z-index:50;flex-direction:column;flex-shrink:0;width:300px;padding:1.5rem;transition:transform .3s ease-in-out;display:flex;overflow-y:auto}@media (width<=768px){.mobile-header{display:flex}.main-content{margin-top:60px}.app-layout>.sidebar{border-right:none;grid-column:1/-1;width:85%;max-width:320px;position:absolute;top:60px;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 15px #00000080}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar .sidebar-header{display:none}}.settings-sidebar{flex-direction:column;flex:1 0 auto;gap:2rem;display:flex}.sidebar-header{align-items:center;gap:.75rem;display:flex}.sidebar-header h2{color:var(--accent-color);margin:0;font-size:1.5rem}.sidebar-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.sidebar-import,.sidebar-docs{grid-template-columns:minmax(0,1fr)}.sidebar-actions .btn-sidebar{min-width:0;padding-left:.5rem;padding-right:.5rem}.sidebar-docs{margin-top:auto}#sim-preset-slot:empty{display:none}.sidebar-actions .btn-sidebar>div{min-width:0}.sidebar-actions .btn-sidebar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-sidebar{background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;transition:all .2s;display:flex}.btn-sidebar:hover{background-color:var(--accent-color);border-color:var(--accent-color)}.btn-sidebar:disabled{opacity:.5;cursor:not-allowed}.btn-sidebar.active{background-color:var(--accent-color);border-color:var(--accent-color)}.rates-container{background-color:var(--bg-color);border:1px solid var(--border-color);box-sizing:border-box;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.rate-block{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.rate-block label{color:var(--text-secondary);text-align:center;font-size:.8rem}.rate-display{color:var(--accent-color);text-align:center;font-family:monospace;font-size:1rem;font-weight:700}.highlight-block{background-color:#ffeb3b1a;border-color:#ffeb3b4d}.tuple-input-group{gap:.5rem;display:flex}.tuple-input-group input,.tuple-input-group select{background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);text-align:center;border-radius:4px;padding:.4rem;font-family:monospace}.tuple-input-group select option{background-color:var(--bg-color);color:var(--text-primary)}.sidebar-field{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px}.slider-group{padding:.5rem 0}.settings-controls{flex-direction:column;gap:1.5rem;display:flex}.control-group{flex-direction:column;gap:.5rem;display:flex}.control-group label{color:var(--text-secondary);font-size:.9rem}.tuple-input{gap:.5rem;display:flex}.tuple-input input{background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);text-align:center;border-radius:4px;padding:.5rem}.slider{width:100%;accent-color:var(--accent-color)}.checkbox-group{flex-direction:row;align-items:center;gap:.75rem}.toggle-switch{width:40px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.slider-round{cursor:pointer;background-color:#ccc;border-radius:20px;transition:all .4s;position:absolute;inset:0}.slider-round:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .4s;position:absolute;bottom:2px;left:2px}input:checked+.slider-round{background-color:var(--accent-color)}input:focus+.slider-round{box-shadow:0 0 1px var(--accent-color)}input:checked+.slider-round:before{transform:translate(20px)}.main-content{--content-pad-bottom:2rem;background-color:var(--bg-color);min-height:0;padding:2rem;overflow-y:auto}@media (width<=768px){.main-content{--content-pad-bottom:80px;padding:1rem 1rem 80px}}.main-content:has(.battle-sim){padding-bottom:0}.empty-state{height:100%;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-aside{border-top:1px solid var(--border-color);opacity:.75;max-width:46ch;margin-top:1.25rem;padding-top:1rem;font-size:.9rem}.planets-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));grid-auto-rows:1fr;gap:1.5rem;display:grid}.planet-column{flex-direction:column;gap:.5rem;display:flex}.planet-column>.planet-card{flex:1}.planet-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:1rem;padding:1.25rem;transition:transform .2s,box-shadow .2s;display:flex}.planet-card:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 20px #0000004d}.planet-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.planet-header h3{margin:0;font-size:1.1rem}.coords{color:var(--text-secondary);background:var(--bg-color);border-radius:4px;padding:2px 6px;font-family:monospace}.planet-info-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;font-size:.9rem;display:grid}.info-row{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.resources-grid{background-color:var(--bg-color);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem;display:grid}.res-label{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem}.resources-grid-new{background-color:var(--bg-color);border-radius:8px;grid-template-columns:30px 1fr 1fr 1fr;align-items:center;gap:.5rem;padding:.75rem;display:grid}.res-header-cell{color:var(--text-secondary);text-transform:uppercase;text-align:center;font-size:.75rem;font-weight:700}.res-row-label{color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.res-value{text-align:center;color:var(--text-secondary);font-family:monospace;font-size:.9rem}.res-value.moon{color:var(--text-secondary);opacity:.75}.res-value.prod{color:#94a3b8}.res-value.storage{color:var(--success-color);font-weight:700}.res-value.ingress{color:#60a5fa}.roi-section{flex-direction:column;gap:.5rem;display:flex}.roi-section h4{text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.8rem}.roi-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:.25rem 0;font-size:.9rem;display:flex}.roi-row:last-child{border-bottom:none}.roi-value{align-items:center;gap:6px;display:flex}.roi-payback{text-align:right;min-width:3.5rem;color:var(--text-secondary);font-size:.7rem}.logistics-section{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;margin-top:auto;padding:1rem}.logistics-section h4{color:var(--accent-color);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1rem;display:flex}.logistics-recommendations{flex-direction:column;gap:10px;display:flex}.logistics-grid{flex-direction:column;gap:.25rem;display:flex}.log-row{color:var(--text-secondary);grid-template-columns:20px 1fr 1fr;align-items:center;font-size:.85rem;display:grid}.log-row-link{cursor:pointer;border-radius:4px;text-decoration:none}.log-row-link:hover{background-color:var(--accent-color-transparent,#fb923c1f)}.log-icon{color:var(--accent-color);justify-content:center;align-items:center;display:flex}.log-val{text-align:right;font-family:monospace}.energy-build-cost{border-top:1px dashed var(--border-color);margin-top:6px;padding-top:6px}.energy-build-cost-title{color:var(--text-secondary);margin-bottom:2px;font-size:.72rem}.energy-build-cost.with-deut .log-row{grid-template-columns:20px 1fr 1fr 1fr}.energy-build-cost .log-row{font-size:.78rem}.energy-build-cost-ready{color:#4ade80;text-align:center;margin-top:2px;font-size:.72rem;font-weight:700}.log-val.full-width{text-align:right;color:var(--accent-color);grid-column:2/4;font-weight:700}.prodmax-container{border:1px solid var(--border-color);background-color:var(--bg-color);border-radius:8px;padding:1rem}.prodmax-container+.prodmax-container{margin-top:12px}.prodmax-header{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.9rem}.prodmax-header-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.prodmax-header-row .prodmax-header{margin-bottom:0}.prodmax-grid{grid-template-columns:auto auto auto;align-items:center;gap:8px;display:grid}.prodmax-subheader{margin-top:14px}.prodmax-note{color:var(--text-secondary);margin-top:6px;font-size:.75rem}.prodmax-roi-cell{color:#fff;border-radius:4px;padding:2px 6px;font-weight:700}.settings-section-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.9rem}.rates-container>.settings-section-header:not(:first-child),.stats-filters>.settings-section-header:not(:first-child){margin-top:.75rem}.universe-badge{color:var(--text-secondary);letter-spacing:.03em;cursor:default;white-space:nowrap;background:#94a3b824;border:1px solid #94a3b84d;border-radius:5px;align-self:center;padding:2px 7px;font-size:.7rem;font-weight:700;line-height:1.4}.universe-badge-player{opacity:.85;border-left:1px solid #94a3b84d;margin-left:6px;padding-left:6px;font-weight:500}.universe-badge.is-mismatch{color:#fbbf24;background:#f59e0b29;border-color:#f59e0b}.universe-profile-switch{flex-direction:column;gap:6px;padding:.5rem;display:flex}.universe-profile-option{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;font-size:.85rem;display:flex}.universe-profile-option:hover{background:#94a3b81a}.universe-profile-option.is-active{color:var(--text-primary);background:#3b82f624;border-color:#3b82f6;font-weight:600}.universe-profile-option-note{color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:400}.stats-filters{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.filter-input-wrapper{align-items:center;display:flex;position:relative}.filter-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:0 .25rem;display:flex;position:absolute;top:0;bottom:0;right:.25rem}.filter-clear:hover{color:var(--text-primary)}.filter-input{background-color:var(--card-bg);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:4px;padding:.5rem .5rem .5rem 2.5rem;font-size:.9rem}.filter-input:focus{border-color:var(--accent-color);outline:none}.stats-dashboard{width:100%;max-width:1920px;margin:0 auto;container:stats/inline-size}.stats-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:1rem;height:auto;padding:1rem;display:flex;position:relative}@container stats (width>=768px){.stats-card{padding:1.5rem}}.stats-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.stats-card-header h3{color:var(--accent-color);margin:0;font-size:1.1rem}@container stats (width>=768px){.stats-card-header h3{margin-bottom:1rem;font-size:1.25rem}}.stats-chart-container{width:100%;height:300px}@container stats (width>=768px){.stats-chart-container{height:400px}}.stats-table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.stats-table-header{border-bottom:1px solid var(--border-color);background-color:#ffffff05;justify-content:space-between;align-items:center;padding:1rem;display:flex}@container stats (width>=768px){.stats-table-header{padding:1.5rem}}.stats-table-header h3{color:var(--accent-color);margin:0;font-size:1.1rem}@container stats (width>=768px){.stats-table-header h3{font-size:1.25rem}}.stats-table-actions{align-items:center;gap:.6rem;display:flex}.btn-queue-all{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:.78rem;display:flex}.btn-queue-all:hover:not(:disabled){color:var(--accent-color);border-color:var(--accent-color)}.btn-queue-all:disabled{opacity:.5;cursor:default}.stats-table-count{background-color:var(--bg-color);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:12px;padding:2px 8px;font-family:monospace;font-size:.85rem}.stats-table{border-collapse:collapse;text-align:left;table-layout:auto;width:100%}.stats-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);white-space:nowrap;background-color:#ffffff05;padding:.75rem .5rem;font-size:.75rem;font-weight:600}@container stats (width>=768px){.stats-table th{padding:1rem 1.5rem;font-size:.85rem}}.stats-table th:hover{color:var(--text-primary);background-color:#ffffff0d}.stats-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:.75rem .5rem;font-size:.85rem}@container stats (width>=768px){.stats-table td{padding:1rem 1.5rem;font-size:.95rem}}.stats-table tr:last-child td{border-bottom:none}.stats-table tr{transition:background-color .15s}.stats-table tr:hover{background-color:#ffffff08}.stats-table tr.selected{border-left:3px solid var(--accent-color);background-color:#646cff1a}.stats-table tr.selected td:first-child{padding-left:calc(.5rem - 3px)}@container stats (width>=768px){.stats-table tr.selected td:first-child{padding-left:calc(1.5rem - 3px)}}.stats-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.hover-tooltip{z-index:1000;pointer-events:none;background-color:var(--card-bg);border:1px solid var(--border-color);max-width:320px;color:var(--text-primary);white-space:nowrap;border-radius:6px;padding:.5rem .65rem;font-family:monospace;font-size:.8rem;line-height:1.5;position:fixed;box-shadow:0 4px 16px #0006}.hover-tooltip.interactive{pointer-events:auto}.coord-link{color:inherit;border-bottom:1px dotted var(--text-secondary);text-decoration:none}.coord-link:hover{color:var(--accent-color);border-bottom-color:var(--accent-color)}.coord-link.queued{color:var(--accent-color);border-bottom-style:solid}.spy-queue-bar{background:var(--sidebar-bg);border-top:1px solid var(--border-color);z-index:100;align-items:center;gap:10px;height:44px;padding:0 12px;font-size:.8rem;display:flex}.spy-queue-label{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;display:flex}.spy-queue-count{border:1px solid var(--border-color);background:var(--bg-color);border-radius:10px;padding:1px 6px;font-family:monospace;font-size:.7rem}.spy-queue-chips{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow-x:auto}.spy-queue-chip{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:3px 7px;font-family:monospace;font-size:.75rem;display:flex}.spy-queue-chip.next{border-color:var(--accent-color);color:var(--accent-color)}.spy-queue-chip:hover{border-color:var(--warning-color);color:var(--warning-color)}.spy-queue-more{border:1px dashed var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;padding:3px 8px;font-size:.72rem;display:flex}.spy-queue-more:hover{color:var(--accent-color);border-color:var(--accent-color)}.spy-queue-batch{border:1px solid var(--accent-color);color:var(--accent-color);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:5px 10px;font-size:.8rem;display:flex}.spy-queue-batch:hover{background:color-mix(in srgb, var(--accent-color) 15%, transparent)}.spy-queue-open{background:var(--accent-color);color:#fff;white-space:nowrap;border-radius:4px;align-items:center;gap:2px;padding:5px 10px;text-decoration:none;display:flex}.spy-queue-open:hover{filter:brightness(1.1)}.spy-queue-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.spy-queue-clear:hover{color:var(--warning-color)}@container stats (width<=1280px){.hidden-mobile{display:none}.compact-mobile{padding-left:.25rem!important;padding-right:.25rem!important}}.mobile-details-row{background-color:#646cff0d}.mobile-details-content{border-bottom:1px solid var(--border-color);padding:1rem}.detail-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-item.full-width{grid-column:1/-1}.detail-item .label{color:var(--text-secondary);text-transform:uppercase;font-size:.75rem}.detail-item .value{color:var(--text-primary);font-size:.9rem;font-weight:500}.detail-item .value.monospace{font-family:monospace}.battle-list{flex-direction:column;gap:2px;margin-top:2px;display:flex}.battle-count{color:var(--text-primary);margin-left:.35rem;font-family:monospace}.battle-row{border-radius:3px;grid-template-columns:max-content 5rem minmax(7rem,auto) 2.6rem 1fr auto;align-items:baseline;gap:.5rem;padding:2px 4px;font-size:.82rem;font-weight:400;display:grid}.battle-row:nth-child(odd){background:#7f7f7f12}.battle-when{color:var(--text-secondary);white-space:nowrap;font-family:monospace}.battle-side.attacks{color:#f87171}.battle-side.defends{color:#60a5fa}.battle-where{align-items:baseline;gap:4px;display:inline-flex}.battle-tag{color:var(--text-secondary);background:#7f7f7f2e;border-radius:3px;padding:0 4px;font-family:inherit;font-size:.7rem}.battle-outcome.won{color:var(--success-color)}.battle-outcome.lost{color:var(--danger-color)}.battle-outcome.draw{color:var(--text-secondary)}.battle-losses{color:var(--text-secondary);font-size:.78rem}.battle-split{color:var(--accent-color);font-size:.78rem;text-decoration:none}.battle-split:hover{text-decoration:underline}.battle-fleet{color:var(--text-secondary);margin-top:6px;font-size:.8rem;font-weight:400}.battle-fleet-when{text-transform:uppercase;letter-spacing:.05em;margin-right:.5rem;font-size:.7rem}@media (width<=700px){.battle-row{grid-template-columns:max-content 1fr auto;row-gap:1px}.battle-losses{grid-column:1/-1}}@container stats (width>=1281px){.mobile-details-row{display:none}}.scan-details-row{background-color:#646cff0d}.scan-details-content{border-bottom:1px solid var(--border-color);flex-direction:column;gap:1rem;padding:1rem;display:flex}.scan-detail-facts{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem 1rem;display:grid}.scan-fact{flex-direction:column;gap:.1rem;min-width:0;display:flex}.scan-fact-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:.7rem}.scan-fact-value{color:var(--text-primary);text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.scan-detail-actions{justify-content:flex-end;gap:.5rem;display:flex}.scan-simulate-button{color:var(--text-primary);background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.78rem;display:inline-flex}.scan-simulate-button:hover{border-color:var(--accent-color);color:var(--accent-color)}.scan-detail-columns{gap:1rem 1.5rem;display:grid}@container stats (width>=1100px){.scan-detail-columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.scan-detail-sections{columns:3 190px;column-gap:1.25rem}.scan-detail-section{break-inside:avoid;margin-bottom:.9rem}.scan-detail-section:last-child{margin-bottom:0}.scan-detail-section h5{text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:baseline;gap:.5rem;margin:0 0 .35rem;padding-bottom:.25rem;font-size:.72rem;display:flex}.scan-detail-age{text-transform:none;color:var(--text-secondary);opacity:.75;white-space:nowrap;font-size:.68rem;font-weight:400}.scan-detail-list{margin:0;padding:0;font-size:.8rem;list-style:none}.scan-detail-list li{justify-content:space-between;align-items:baseline;gap:.75rem;padding:.1rem 0;display:flex}.scan-detail-list li span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scan-detail-list li b{color:var(--text-primary);font-family:monospace;font-weight:600}.scan-detail-list li.repairing span,.scan-detail-list li.repairing b{opacity:.6;font-style:italic}.scan-detail-empty{color:var(--text-secondary);opacity:.7;margin:0;font-size:.8rem}@container stats (width<=1039px){.scan-col-wide{display:none}}@container stats (width<=719px){.scan-col-mid{display:none}}.scan-timeline{margin:0;padding:0;font-size:.8rem;list-style:none}.scan-timeline>li{padding-bottom:.6rem;padding-left:1rem;position:relative}.scan-timeline>li:not(:last-child):before{content:"";background:var(--border-color);width:1px;position:absolute;top:.75rem;bottom:0;left:3px}.scan-timeline>li:after{content:"";background:var(--accent-color);border-radius:50%;width:7px;height:7px;position:absolute;top:.45rem;left:0}.scan-timeline-point{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.scan-timeline-time{color:var(--text-primary);font-family:monospace;font-weight:600}.scan-timeline-age,.scan-timeline-forwarded{color:var(--text-secondary);opacity:.75;font-size:.72rem}.scan-timeline-forwarded{border:1px solid var(--border-color);border-radius:3px;padding:0 3px}.scan-timeline-loot{color:#fbbf24;font-family:monospace}.scan-timeline-change{flex-direction:column;gap:.15rem;margin-top:.25rem;display:flex}.scan-timeline-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.72rem;display:flex}.scan-flag{border:1px solid var(--border-color);white-space:nowrap;color:var(--text-secondary);border-radius:3px;padding:0 4px;font-size:.68rem}.scan-flag.up{color:#4ade80;border-color:#4ade8066}.scan-flag.down{color:#f87171;border-color:#f8717166}.scan-flag.mixed{color:#fbbf24;border-color:#fbbf2466}.scan-change-line{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.scan-change-cat{color:var(--text-secondary);min-width:5.5rem;font-size:.72rem}.scan-change-items{flex-wrap:wrap;gap:.15rem .6rem;display:flex}.scan-change-line .gain{color:#4ade80}.scan-change-line .loss{color:#f87171}.scan-change-detail,.scan-change-level{color:var(--text-secondary);opacity:.7;font-size:.72rem}.scan-prod-group{cursor:help;gap:.25rem;display:inline-flex}.scan-prod{white-space:nowrap;cursor:help;border-radius:3px;padding:1px 6px;font-size:.72rem}.scan-prod.clean{color:#4ade80;background:#4ade8026}.scan-prod.unknown{color:var(--text-secondary);opacity:.55}.scan-prod.short{color:#f87171;background:#f8717126}.scan-prod.over{color:#60a5fa;background:#60a5fa26}.scan-filter-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;padding:.75rem 1rem;display:flex}.scan-filter-bar .control-group label{font-size:.8rem}.scan-filter-bar input[type=number]{background-color:var(--bg-color);border:1px solid var(--border-color);width:7rem;color:var(--text-primary);text-align:center;border-radius:4px;padding:.4rem;font-family:monospace}.scan-filter-bar .checkbox-group{padding-bottom:.4rem}.scan-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.scan-tabs .btn-sidebar{flex:none;padding:.5rem 1.25rem}.scan-tabs .btn-sidebar .count{opacity:.7;font-size:.8em}.expo-footer{background:var(--sidebar-bg);border-top:1px solid var(--border-color);white-space:nowrap;z-index:100;align-items:center;gap:0;height:32px;padding:0 16px;font-size:.75rem;display:flex;overflow:hidden}.expo-footer-group{align-items:center;gap:6px;display:flex}.expo-footer-divider{color:var(--text-secondary);margin:0 12px}.expo-footer .metal{color:#e5b95a}.expo-footer .crystal{color:#70d4ff}.expo-footer .deut{color:#a0c8e0}.moon-panel{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:.3rem;padding:.5rem .75rem;display:flex}.moon-panel-header{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.moon-panel-title{color:var(--text-secondary);font-weight:600}.moon-panel-meta{color:var(--text-secondary);align-items:center;gap:.6rem;font-size:.78rem;display:flex}.pbase-scan-link{font:inherit;color:var(--accent-color);cursor:pointer;background:0 0;border:none;padding:0}.pbase-scan-link:hover{text-decoration:underline}.pve-badge{border:1px solid color-mix(in srgb, var(--text-secondary) 45%, transparent);letter-spacing:.03em;color:var(--text-secondary);vertical-align:middle;white-space:nowrap;border-radius:8px;margin-left:.35rem;padding:1px 5px;font-size:.62rem;font-weight:600}.moon-building-badge{color:#9da8d6;font-weight:600}.moon-building-badge.building{color:#d9a441}.moon-panel-resources{align-items:center;gap:.5rem;font-family:monospace;font-size:.82rem;display:flex}.moon-res-icon{flex-shrink:0;width:1.1rem;font-size:.75rem}.moon-panel-header-right{align-items:center;gap:.4rem;display:flex}.moon-pool-toggle{cursor:pointer;color:var(--text-secondary);opacity:.35;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 .25rem;font-size:.8rem;line-height:1.4}.moon-pool-toggle.on{color:var(--success-color);opacity:1}.moon-pool-toggle:hover{border-color:var(--border-color)}.moon-res.metal{color:#e5b95a}.moon-res.crystal{color:#70d4ff}.moon-res.deut{color:#a0c8e0}.moon-res.ingress{color:#60a5fa}@keyframes galaxy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.galaxy-arms{animation:180s linear infinite galaxy-spin}.galaxy-sprinkle{animation:320s linear infinite reverse galaxy-spin}}.kb-split,.kb-split *,.kb-split :before,.kb-split :after{box-sizing:border-box}.kb-split{padding:16px;overflow:hidden auto}.kb-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.kb-head h2{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 3px;font-size:1.15rem;display:flex}.kb-head-actions{flex-wrap:wrap;gap:8px;display:flex}.kb-sub{color:var(--text-secondary);margin:0;font-size:.85rem}.kb-h3{margin:24px 0 10px;font-size:1rem}.kb-hint{color:var(--text-secondary);margin:14px 0 10px;font-size:.82rem}.kb-pill{white-space:nowrap;border:1px solid;border-radius:10px;padding:2px 8px;font-size:.68rem;font-weight:500}.kb-pill.won{color:var(--success-color);border-color:color-mix(in srgb, var(--success-color) 45%, transparent)}.kb-pill.held{color:var(--accent-color);border-color:color-mix(in srgb, var(--accent-color) 55%, transparent)}.kb-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:16px 0 4px;display:grid}.kb-stat label{white-space:nowrap}.kb-warn{color:var(--warning-color);border:1px solid color-mix(in srgb, var(--warning-color) 40%, transparent);background:color-mix(in srgb, var(--warning-color) 10%, transparent);border-radius:6px;margin:10px 0;padding:9px 12px;font-size:.85rem}.kb-reconcile{color:var(--text-secondary)}.kb-sankey{margin:14px 0 6px;position:relative}.kb-sankey svg{width:100%;max-width:820px;height:auto;margin:0 auto;display:block}.kb-tip{z-index:40;pointer-events:none;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:6px 9px;font-size:.78rem;position:fixed;box-shadow:0 4px 14px #00000059}.kb-controls{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 0;display:flex}.kb-seg{flex-wrap:wrap;gap:6px;display:flex}.kb-inline-field{color:var(--text-secondary);align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.kb-unit{color:var(--text-secondary)}.kb-cards{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:12px;display:grid}.kb-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.kb-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.kb-card-name{align-items:baseline;gap:8px;font-size:.92rem;font-weight:600;display:inline-flex}.kb-role{color:var(--text-secondary);font-size:.75rem;font-weight:400}.kb-fleetnote{margin:0}.kb-lost{color:var(--danger-color);margin:0;font-size:.78rem}.kb-lost.none{color:var(--text-secondary);opacity:.65}.kb-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.kb-res-field{flex:1 1 0;min-width:0;display:block;position:relative}.kb-res-field input{width:100%;padding-right:1.35rem}.kb-res-label{color:var(--text-secondary);pointer-events:none;font-size:.68rem;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.kb-card-foot{border-top:1px solid var(--border-color);justify-content:space-between;gap:10px;margin-top:auto;padding-top:9px;display:flex}.kb-card-figure{flex-direction:column;gap:1px;min-width:0;display:flex}.kb-card-figure label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.65rem}.kb-card-figure span{font-size:.9rem}.kb-card-parts{color:var(--text-secondary);font-size:.62rem;line-height:1.3}.kb-card-figure.pays span{color:var(--danger-color)}.kb-card-figure.gets span{color:var(--success-color)}.kb-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:2px;line-height:0}.kb-remove:hover{color:var(--danger-color)}.kb-addhelper{flex-wrap:wrap;gap:8px;margin:12px 0 4px;display:flex}.kb-addhelper .kb-textinput{flex:200px;min-width:0}.kb-select,.kb-textinput{background-color:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;padding:.4rem .55rem;font-size:.85rem}.kb-transfers{flex-direction:column;gap:7px;display:flex}.kb-transfer{background:var(--card-bg);border:1px solid var(--border-color);border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:9px 12px;font-size:.88rem;display:flex}.kb-arrow{color:var(--text-secondary)}.kb-amount{font-weight:600}.kb-empty{color:var(--text-secondary)}@media (width<=560px){.kb-split{padding:12px}.kb-head-actions{width:100%}.fleet-intel-detail .kb-head-actions{width:auto}.kb-cards{grid-template-columns:1fr}.kb-controls{flex-direction:column;align-items:stretch}.kb-seg .btn-sidebar{flex:1}}.kb-pair{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}.kb-card .control-group label{font-size:.8rem}.kb-card .kb-res-field input{text-align:center;background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:4px;padding:.4rem 1.35rem .4rem .4rem;font-family:monospace}.kb-fleetnote{align-self:center}.kb-transfer-dse{color:var(--text-secondary);margin-left:auto;font-size:.8rem}.kb-overlay{z-index:110;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.kb-dialog{background:var(--sidebar-bg);border:1px solid var(--border-color);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:10px;width:min(520px,100%);max-height:85vh;padding:18px;display:flex;overflow-y:auto}.kb-dialog h3{margin:0 0 2px;font-size:1rem}.kb-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.kb-dialog-ask{color:var(--text-secondary);margin:6px 0 0;font-size:.8rem}.kb-dialog-choices{flex-wrap:wrap;gap:8px;display:flex}.kb-dialog-choices .btn-sidebar{align-items:center;gap:7px;display:inline-flex}.kb-share{width:min(680px,100%)}.kb-share-pre{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);white-space:pre;border-radius:8px;margin:0;padding:12px;font-family:monospace;font-size:.78rem;line-height:1.5;overflow-x:auto}.kb-transfer-copy{opacity:0;transition:opacity .12s}.kb-transfer:hover .kb-transfer-copy,.kb-transfer-copy:focus-visible{opacity:1}.kb-transfer-copy:hover{color:var(--accent-color)}.player-note-tags{flex-wrap:wrap;gap:6px;display:flex}.player-note-tag{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:.78rem}.player-note-tag:hover{border-color:var(--accent-color);color:var(--text-primary)}.player-note-tag.on{border-color:var(--accent-color);color:var(--text-primary);background:#646cff29}.player-note-tag:disabled{cursor:default;opacity:.6}.player-note-newtag{gap:8px;display:flex}.player-note-newtag .kb-textinput{flex:1}.player-note-newtag .btn-sidebar{align-items:center;gap:6px;display:inline-flex}.player-note-text{box-sizing:border-box;resize:vertical;background:var(--bg-color);width:100%;min-height:160px;color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px;font-family:inherit;font-size:.88rem;line-height:1.45}.player-note-text:focus{border-color:var(--accent-color);outline:none}.player-note-refused{border:1px solid var(--warning-color);border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.player-note-refused pre{white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);margin:0;font-family:inherit;font-size:.85rem}.player-note-chip{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;padding:0 2px;display:inline-flex}.player-note-chip:hover{color:var(--text-primary)}.player-note-chip.has-note{color:var(--accent-color)}.player-note-row-tag{color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;background:#646cff29;border-radius:999px;padding:1px 5px;font-size:10px}.kb-contrib{align-items:center;gap:3px 6px;margin-top:6px;display:grid}.kb-statement-manual .kb-res-field input{text-align:right;font-variant-numeric:tabular-nums;background-color:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:3px;padding:2px 1.2rem 2px 4px;font-family:monospace;font-size:.72rem}.kb-statement-manual .kb-res-label{font-size:.62rem;right:4px}.kb-addmanual{border:1px dashed var(--border-color);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:4px;grid-column:1/-1;justify-self:start;padding:3px 8px;font-size:.72rem}.kb-addmanual:hover{color:var(--text-primary);border-color:var(--accent-color)}.kb-statement{display:contents}.kb-chip{background:var(--bg-color);font-variant-numeric:tabular-nums;color:var(--text-primary);white-space:nowrap;border-radius:3px;justify-content:flex-end;align-items:baseline;gap:3px;padding:2px 5px;font-family:monospace;font-size:.72rem;display:flex}.kb-chip i{color:var(--text-secondary);font-size:.62rem;font-style:normal}.kb-chip.empty{color:var(--text-secondary);opacity:.45}.kb-chip.strong{background:0 0;font-weight:600}.kb-statement-meta{color:var(--text-secondary);overflow-wrap:anywhere;min-width:0;font-size:.68rem;line-height:1.15}.kb-statement-meta.mono{white-space:nowrap}.kb-statement-sum .kb-chip,.kb-statement-sum .kb-statement-meta{border-top:1px solid var(--border-color);border-radius:0;margin-top:2px;padding-top:4px}.kb-list{flex-direction:column;gap:4px;max-width:1100px;display:flex;container-type:inline-size}.kb-list h2{color:var(--accent-color);margin:0 0 .75rem}.kb-list-count{color:var(--text-secondary);font-family:monospace;font-size:1rem}.kb-list-row{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:max-content 6rem 1fr max-content;align-items:baseline;gap:1rem;padding:.6rem .8rem;font-size:.9rem;display:grid}.kb-list-row:hover{border-color:var(--accent-color)}.kb-list-when{color:var(--text-secondary);white-space:nowrap;font-family:monospace}.kb-list-where{color:var(--accent-color)}.kb-list-parties{flex-wrap:wrap;gap:.4rem;min-width:0;display:flex}.kb-list-parties>*{overflow-wrap:anywhere;min-width:0}.kb-list-won{color:var(--success-color)}.kb-list-lost{color:var(--text-secondary)}.kb-list-draw{color:var(--warning-color)}.kb-list-beat{color:var(--text-secondary);font-size:.8rem}.kb-list-side{text-transform:uppercase;letter-spacing:.06em;color:#f87171;background:#f871712e;border-radius:3px;padding:1px 6px;font-size:.72rem}.kb-list-side.defence{color:#60a5fa;background:#60a5fa2e}@container (width<=560px){.kb-list-row{grid-template-columns:max-content 1fr auto;gap:.35rem .6rem}.kb-list-when{grid-area:1/1}.kb-list-where{grid-area:1/2}.kb-list-marks{grid-area:1/3;justify-self:end}.kb-list-parties{grid-area:2/1/auto/-1}}.kb-list-marks{align-items:baseline;gap:.4rem;display:inline-flex}.kb-list-open{color:var(--accent-color);white-space:nowrap;font-size:.72rem}.kb-tabs-view{flex-direction:column;gap:.75rem;display:flex}.tools-view{width:100%;max-width:1100px;margin:0 auto}.kb-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.kb-tabs button{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;padding:.4rem .9rem;font-size:.85rem}.kb-tabs button.active{color:var(--accent-color);border-color:var(--accent-color)}.fleets-view{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.fleets-scope{flex:1 0 100%}.fleets-panel{flex:0 auto;min-width:min(20rem,100%);max-width:100%}.fleets-panel .stats-table-header{flex-wrap:wrap;gap:.75rem}.fleets-panel h3{font-size:1rem}.fleets-galaxy-meta{color:var(--text-secondary);font-family:monospace;font-size:.78rem}.fleets-panel .fleet-intel-ships-scroll{padding:1rem 1rem .75rem}.fleets-scope{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.fleets-scope-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-right:.15rem;font-size:.72rem}.fleets-scope .btn-sidebar{flex:none;width:auto;padding:.25rem .7rem;font-size:.8rem}.fleets-galaxy-table .fleet-intel-ships-col-body{width:4.6rem}.fleets-galaxy-table .fleet-intel-ships-col-label{width:4.4rem}.fleet-intel-ships-table.fleets-galaxy-table th,.fleet-intel-ships-table.fleets-galaxy-table td{padding:.25rem .4rem}.fleet-intel-ships-table.fleets-galaxy-table .fleet-intel-total-cell{border-left:none;border-right:1px solid var(--border-color)}.fleets-player-head{cursor:pointer}.fleets-player-head:hover .fleet-intel-coords-rotated{color:var(--accent-color)}.fleets-age{color:var(--text-secondary);font-family:monospace;font-size:.65rem;display:block}.fleets-context td,.fleets-context th{color:var(--text-primary)}.fleets-context tr:last-child td,.fleets-context tr:last-child th{border-bottom:2px solid var(--border-color)}.fleets-tech{color:var(--text-secondary)}.fleet-intel-row{grid-template-columns:max-content 1fr max-content max-content}.fleet-roster-entry{flex-direction:column;display:flex}.fleet-roster-caret{color:var(--text-secondary);font-size:.7rem;transition:transform .15s;display:inline-block}.fleet-roster-entry.open .fleet-roster-caret{color:var(--accent-color);transform:rotate(90deg)}.fleet-roster-entry.open .kb-list-row{border-color:var(--accent-color);border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.fleet-roster-card{border:1px solid var(--accent-color);border-top:none;border-radius:0 0 8px 8px;padding:.75rem}.fleet-roster-card .fleet-intel-detail{gap:.75rem}.fleet-roster-card .kb-head{align-items:center}.fleet-intel-planet-count{color:var(--text-secondary);font-size:.85rem}@container (width<=560px){.fleet-intel-row{grid-template-columns:max-content 1fr max-content}.fleet-intel-row .fleet-roster-caret{grid-area:1/1}.fleet-intel-row .kb-list-where{grid-area:1/2}.fleet-intel-row .kb-list-when{grid-area:1/3;justify-self:end}.fleet-intel-planet-count{grid-area:2/2/auto/-1}}.fleets-nofleet{color:var(--text-secondary);text-align:left;font-size:.78rem;font-style:italic}.fleet-intel-detail{flex-direction:column;gap:1rem;max-width:1100px;display:flex}.fleet-intel-detail .fleet-intel-ships-table th,.fleet-intel-detail .fleet-intel-ships-table td{padding:.25rem .4rem}.fleet-intel-research{padding:1rem}.fleet-intel-empty-toggle{align-self:flex-start;margin:0 1rem 1rem}.fleet-intel-detail .fleet-intel-empty{padding:0 1rem 1rem}.fleet-intel-research h3,.fleet-intel-detail>h3{color:var(--text-secondary);margin:0 0 .5rem;font-size:.95rem}.fleet-intel-research-groups{flex-wrap:wrap;gap:1rem;display:flex}.fleet-intel-research-group{flex-direction:column;gap:.3rem;display:flex}.fleet-intel-research-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.72rem}.fleet-intel-research-group-items{flex-direction:column;gap:.3rem;display:flex}.fleet-intel-research-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:.2rem .55rem;font-family:monospace;font-size:.82rem}.fleet-intel-empty{color:var(--text-secondary);margin:0;font-size:.82rem}.fleet-intel-ships-scroll{max-width:100%;padding-top:1rem;overflow-x:auto}.fleet-intel-ships-table{border-collapse:collapse;table-layout:fixed;white-space:nowrap;font-size:.82rem}.fleet-intel-ships-col-label{width:3.5rem}.fleet-intel-ships-col-body{width:2rem}.fleet-intel-ships-table th,.fleet-intel-ships-table td{border-bottom:1px solid var(--border-color);text-align:right;padding:.25rem .15rem;overflow:visible}.fleet-intel-ships-table thead th{color:var(--text-secondary);text-align:right;vertical-align:bottom;height:4.4rem;font-weight:400;position:relative;overflow:visible}.fleet-intel-ships-table thead th:first-child{background:0 0}.fleet-intel-coords-rotated{transform-origin:0 100%;white-space:nowrap;position:absolute;bottom:1.75rem;left:calc(100% - .15rem);transform:rotate(-45deg)}.fleet-intel-planet-icon,.fleet-intel-moon-icon{font-size:1rem;display:block}.fleet-intel-ships-table tbody th{text-align:left;color:var(--text-primary);background:var(--card-bg);text-overflow:ellipsis;font-family:monospace;font-weight:400;position:sticky;left:0;overflow:hidden}.fleet-intel-ships-table td{color:var(--text-primary);font-family:monospace}.fleets-nil{color:var(--text-secondary);opacity:.45}.fleet-intel-ships-table tbody tr:nth-child(2n) td{background:#ffffff06}.fleet-intel-ships-table tbody tr:nth-child(2n) th{background:color-mix(in srgb, var(--card-bg) 96%, white)}.fleet-intel-ships-table tbody tr:hover td{background:#ffffff0e}.fleet-intel-ships-table tbody tr:hover th{background:color-mix(in srgb, var(--card-bg) 90%, white)}.fleets-context td,.fleets-context th{background:#ffffff08}.fleet-intel-ships-table .fleets-context th{background:color-mix(in srgb, var(--card-bg) 94%, white)}.fleet-intel-ships-table .fleet-intel-total-cell{background:#ffffff09}.fleets-age-stale{color:var(--warning-color)}@container stats (width<=600px){.fleet-intel-ships-col-body{width:1.7rem}.fleet-intel-ships-table th,.fleet-intel-ships-table td{padding:.2rem .1rem;font-size:.78rem}.fleet-intel-research-groups{gap:.6rem}}.fleet-intel-ships-table tbody th{z-index:2}.fleet-intel-ships-table thead th:first-child{z-index:3;background:var(--card-bg);position:sticky;left:0}.fleet-intel-ships-col-total{width:4.5rem}.fleet-intel-total-cell{color:var(--text-primary);border-left:1px solid var(--border-color)}.fleet-intel-empty-toggle{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:0;font-size:.8rem;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.fleet-intel-empty-toggle:hover{color:var(--text-primary)}.fleet-retract{color:var(--danger-color)}.empire-view{flex-direction:column;gap:1rem;display:flex}.auth-gate h2{color:var(--accent-color);margin:0 0 .5rem}.auth-gate p{margin:0 0 1rem}.auth-gate-login{background:var(--accent-color);color:var(--bg-color);border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-weight:500;text-decoration:none;display:inline-flex}.auth-gate-login:hover{background:var(--accent-hover)}.auth-gate-content{flex-direction:column;gap:.75rem;height:100%;min-height:0;display:flex}.auth-gate-strip{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.auth-gate-logout{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;padding:.25rem .7rem;font-size:.78rem}.auth-gate-logout:hover{border-color:var(--accent-color);color:var(--accent-color)}.text-right{text-align:right}.text-center{text-align:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.name-cell{vertical-align:bottom;max-width:100px;display:inline-block}@media (width>=768px){.name-cell{max-width:150px}}.panel-message{text-align:center;color:var(--text-primary);padding:1rem}.panel-message.muted{color:var(--text-secondary)}.chart-placeholder{min-height:300px;color:var(--text-secondary);justify-content:center;align-items:center;padding:2.5rem;display:flex}.chart-empty{text-align:center;padding:1.5rem}.chart-empty-mark{margin-bottom:.75rem;font-size:2.25rem}.chart-empty-title{font-size:1.125rem;font-weight:600}.rename-tab{flex-direction:column;gap:1rem;display:flex}.rename-list{flex-direction:column;gap:.75rem;display:flex}.rename-card{border:1px solid var(--border-color);border-left:3px solid var(--text-secondary);background-color:var(--card-bg);border-radius:8px;padding:.85rem 1rem}.rename-card.confidence-certain{border-left-color:var(--accent-color)}.rename-card.confidence-likely{border-left-color:var(--warning-color)}.rename-card.confidence-possible{border-left-color:var(--border-color)}.rename-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;display:flex}.rename-names{color:var(--text-primary);align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.rename-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.7rem}.rename-badge.confidence-certain{color:var(--accent-color);border-color:var(--accent-color)}.rename-badge.confidence-likely{color:var(--warning-color);border-color:var(--warning-color)}.rename-seam{color:var(--text-secondary);margin:0 0 .6rem;font-size:.78rem}.rename-signals{flex-direction:column;gap:2px;display:flex}.rename-signal{grid-template-columns:1rem 7rem 1fr;align-items:baseline;gap:.5rem;font-size:.8rem;display:grid}.rename-signal-coords{color:var(--text-secondary);margin-top:2px;display:block}.rename-signal-mark{color:var(--accent-color)}.rename-signal.is-weak .rename-signal-mark,.rename-signal-key{color:var(--text-secondary)}.rename-signal-detail{color:var(--text-primary);overflow-wrap:anywhere;font-family:monospace;font-size:.75rem}.rename-signal.is-weak .rename-signal-detail{color:var(--text-secondary)}.rename-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.rename-actions button{flex:none;align-items:center;gap:.35rem;padding:.45rem .9rem;display:inline-flex}.rename-error{color:var(--danger-color);margin:0 0 .5rem;font-size:.82rem}.rename-manifest{color:var(--text-primary);margin:.25rem 0 .75rem 1.1rem;padding:0;font-size:.85rem}.rename-manifest li{margin:2px 0}.rename-manual{border:1px dashed var(--border-color);border-radius:8px;padding:.85rem 1rem}.rename-manual h4{margin:0 0 .2rem}.rename-manual-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.rename-manual-row .kb-textinput{flex:8rem;min-width:0}.rename-manual-row button{flex:none;padding:.45rem .9rem}.rename-signed{flex-direction:column;gap:.3rem;display:flex}.rename-signed h4{color:var(--text-secondary);margin:.5rem 0 .2rem}.rename-decision{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.35rem .5rem;font-size:.82rem;display:flex}.rename-status{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;padding:1px 6px;font-size:.68rem}.rename-status.is-approved{color:var(--accent-color);border-color:var(--accent-color)}.rename-status.is-undone{color:var(--warning-color)}.rename-decision button{flex:none;margin-left:auto;padding:.3rem .7rem}.rename-banner{text-align:left;border:1px solid var(--warning-color);width:100%;color:var(--text-primary);cursor:pointer;background-color:#ff98001f;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.6rem;padding:.45rem .7rem;font-size:.8rem;display:flex}.rename-banner:hover{background-color:#ff980033}.rename-banner-cta{color:var(--warning-color);white-space:nowrap;margin-left:auto}.player-rename-chip{cursor:pointer;color:var(--warning-color);background:0 0;border:none;align-items:center;padding:0 2px;display:inline-flex}.player-rename-chip:hover{color:var(--text-primary)}.activity-timeline{flex-direction:column;gap:6px;display:flex}.activity-svg{width:100%;height:auto;display:block;overflow:visible}.activity-legend{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:.85rem;display:flex}.activity-headline{color:var(--text-primary)}.activity-bell{fill:var(--accent-color);stroke:none}.activity-area{fill:var(--accent-color);opacity:.16}.activity-line{fill:none;stroke:var(--accent-color);stroke-width:2px}.activity-peak{fill:var(--warning-color)}.activity-axis,.activity-grid{stroke:var(--border-color);stroke-width:1px}.activity-grid{stroke-dasharray:3 4}.activity-tick{fill:var(--text-secondary);font-size:12px}@media (width<=560px){.scan-tabs,.kb-tabs{grid-template-columns:1fr 1fr;display:grid}.scan-tabs .btn-sidebar,.kb-tabs button{flex:unset;width:100%}}.phalanx-tab{flex-direction:column;gap:1rem;display:flex}.phalanx-ask{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.phalanx-input{width:9rem;font-family:monospace}.phalanx-shape{color:var(--text-secondary);margin-left:auto;font-size:.75rem}.phalanx-hint{font-size:.82rem}.phalanx-hint code{color:var(--text-primary)}.phalanx-result{border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:8px;padding:.75rem .9rem}.phalanx-target{margin:0 0 .6rem;font-size:.85rem}.phalanx-row{border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;padding:.3rem 0;font-size:.82rem;display:flex}.phalanx-row:first-of-type{border-top:none}.phalanx-tier{text-transform:uppercase;letter-spacing:.04em;text-align:center;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;flex:0 0 4.5rem;padding:1px 6px;font-size:.68rem}.phalanx-tier.is-now{color:#ef4444;border-color:#ef4444}.phalanx-tier.is-next{color:#f59e0b;border-color:#f59e0b}.phalanx-tier.is-own{color:#38bdf8;border-color:#38bdf8}.phalanx-tier.is-ally{color:#818cf8;border-color:#818cf8}.phalanx-coords{color:var(--text-primary);font-family:monospace}.phalanx-row .phalanx-coords{flex:0 0 5.5rem}.phalanx-owner{text-overflow:ellipsis;white-space:nowrap;flex:6rem;min-width:0;overflow:hidden}.phalanx-detail{color:var(--text-secondary);flex:0 auto}.phalanx-age{color:var(--text-secondary);text-align:right;flex:0 0 3.5rem;margin-left:auto;font-size:.75rem}.phalanx-clear{color:var(--success-color);margin:0;font-size:.82rem}.phalanx-warn{color:var(--warning-color)}.phalanx-muted{color:var(--text-secondary)}.phalanx-blind{border-top:1px dashed var(--border-color);margin-top:.75rem;padding-top:.6rem}.phalanx-blind .phalanx-row{opacity:.8}.phalanx-more{flex:none;margin-top:.4rem;padding:.3rem .7rem}.phalanx-exposure h3{margin:0 0 .3rem;font-size:1rem}.phalanx-exposure{overflow-x:auto}.phalanx-table td{font-size:.82rem}.phalanx-foot{font-size:.75rem}.pov{flex-direction:column;gap:.6rem;display:flex}.pov-bar{flex-wrap:wrap;gap:.5rem;display:flex}.pov-seg{border:1px solid var(--border-color);border-radius:6px;display:inline-flex;overflow:hidden}.pov-seg button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:3px 10px;font-size:.78rem}.pov-seg button[aria-pressed=true]{background:var(--card-bg);color:var(--text-primary)}.pov-legend{color:var(--text-secondary);flex-wrap:wrap;gap:.9rem;font-size:.75rem;display:flex}.pov-legend span{align-items:center;gap:.35rem;display:inline-flex}.pov-tier{border-radius:3px;flex:none;width:11px;height:11px;display:inline-block}.pov-tier.is-fresh{background:var(--success-color)}.pov-tier.is-aging{background:var(--warning-color)}.pov-tier.is-stale{background:var(--danger-color)}.pov-tier.is-never{border:1px solid var(--border-color);background:repeating-linear-gradient(45deg,#8a8a86,#8a8a86 2px,#0000 2px 4px)}.pov-key-own,.pov-key-enemy{flex:none;width:12px;height:0;display:inline-block}.pov-key-own{border-bottom:4px solid var(--text-primary)}.pov-key-enemy{border-bottom:3px solid var(--danger-color)}.pov-gal{border-top:1px solid var(--border-color);padding:.5rem 0 .2rem}.pov-ghead{cursor:pointer;width:100%;color:var(--text-secondary);background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-family:monospace;font-size:.82rem;display:flex}.pov-ghead b{color:var(--text-primary);font-weight:600}.pov-caret{flex:none;transition:transform .15s}.pov-caret.is-open{transform:rotate(90deg)}.pov-count{color:var(--text-secondary)}.pov-caret{color:var(--text-primary)}.pov-mb.is-dim,.pov-coin.is-dim{opacity:.18}.pov-grid{border-left:1px dashed var(--border-color);pointer-events:none;width:0;position:absolute;top:0;bottom:0}.pov-mini{cursor:pointer;touch-action:none;height:18px;margin-top:.4rem;position:relative}.pov-mb{height:11px;position:absolute;top:4px}.pov-mb.is-fresh{background:var(--success-color)}.pov-mb.is-aging{background:var(--warning-color)}.pov-mb.is-stale{background:var(--danger-color)}.pov-mb.is-never{background:repeating-linear-gradient(45deg,#8a8a86,#8a8a86 1.5px,#0000 1.5px 3px)}.pov-mtick{border-left:3px solid #0000;border-right:3px solid #0000;border-bottom:5px solid var(--text-primary);width:0;height:0;position:absolute;top:0;transform:translate(-3px)}.pov-menemy{background:var(--danger-color);height:4px;position:absolute;top:14px}.pov-mrange{border-left:1px solid var(--text-secondary);border-right:1px solid var(--text-secondary);background:#ffffff14;height:15px;position:absolute;top:2px}.pov-window{box-sizing:border-box;border:1.5px solid var(--text-primary);cursor:grab;background:0 0;border-radius:2px;height:16px;position:absolute;top:1px}.pov-window:active{cursor:grabbing}.pov-axis{height:15px;position:relative}.pov-axis span{color:var(--text-secondary);font-family:monospace;font-size:.72rem;position:absolute;transform:translate(-50%)}.pov-lanerow{align-items:stretch;gap:.35rem;margin-top:.4rem;display:flex}.pov-lanerow button{border:1px solid var(--border-color);width:30px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:5px;flex:none;font-size:1.25rem;line-height:1}.pov-lanerow button:hover{background:var(--card-bg)}.pov-lane{border-bottom:1px solid var(--border-color);flex:1;height:110px;display:flex;position:relative}.pov-slot{cursor:pointer;flex:1 1 0;position:relative}.pov-slot.is-empty{cursor:default}.pov-coin{box-sizing:border-box;width:15px;height:15px;box-shadow:0 0 0 2px var(--bg-color);border-radius:50%;position:absolute;left:50%;transform:translate(-50%)}.pov-slot.is-sel .pov-coin{box-shadow:0 0 0 2px var(--text-primary)}.pov-slot-tick{border-left:4px solid #0000;border-right:4px solid #0000;border-bottom:6px solid var(--text-primary);width:0;height:0;position:absolute;left:50%;transform:translate(-50%)}.pov-slot-tick.is-enemy{border-bottom-color:var(--danger-color)}.pov-snum{color:var(--text-secondary);font-family:monospace;font-size:.58rem;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.pov-lbrk{border-top:2px solid var(--text-primary);height:0;position:absolute;bottom:2px}.pov-lbrk:before,.pov-lbrk:after{content:"";border-left:2px solid var(--text-primary);width:0;height:9px;position:absolute;top:-5px}.pov-lbrk:before{left:0}.pov-lbrk:after{right:0}.pov-card{border:1px solid var(--border-color);border-radius:8px;padding:.75rem .85rem}.pov-card h4{margin:0 0 .5rem;font-family:monospace;font-size:.85rem}.pov-mlist{flex-direction:column;gap:6px;display:flex}.pov-mrow{align-items:center;gap:.5rem;font-family:monospace;font-size:.78rem;display:flex}.pov-mrow .pov-coin{width:13px;height:13px;box-shadow:none;position:static;transform:none}.pov-mpos{color:var(--text-primary);flex:none}.pov-qbtn{border:1px solid var(--border-color);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;flex:none;font-size:.8rem;line-height:1}.pov-qbtn.is-queued{color:var(--success-color);border-color:var(--success-color)}.pov-card h4 .btn-queue-all{vertical-align:middle;margin-left:.6rem}.pov-mmeta{color:var(--text-secondary)}.pov-brk{margin-top:.9rem}.pov-brk-track{height:30px;margin:0 44px;position:relative}.pov-brk-line{border-top:2px solid var(--text-primary);height:0;position:absolute;top:20px;left:0;right:0}.pov-brk.is-hypo .pov-brk-line{border-top-style:dashed}.pov-brk-track:before,.pov-brk-track:after{content:"";border-left:2px solid var(--text-primary);width:0;height:10px;position:absolute;top:14px}.pov-brk-track:before{left:0}.pov-brk-track:after{right:0}.pov-brk-nb{box-sizing:border-box;width:9px;height:9px;box-shadow:0 0 0 2px var(--bg-color);border-radius:50%;position:absolute;top:15px;transform:translate(-50%)}.pov-brk-home{background:var(--text-primary);width:2px;height:22px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.pov-brk-lo,.pov-brk-hi,.pov-brk-mid{color:var(--text-secondary);font-family:monospace;font-size:.6rem;position:absolute;top:0}.pov-brk-lo{left:0;transform:translate(-50%)}.pov-brk-hi{right:0;transform:translate(50%)}.pov-brk-mid{color:var(--text-primary);left:50%;transform:translate(-50%)}.pov-brk-cap{color:var(--text-secondary);margin-top:.4rem;font-family:monospace;font-size:.68rem}.pov-tablewrap{overflow-x:auto}.pov-table td{font-size:.78rem}.pov-table .pov-coin{width:9px;height:9px;box-shadow:none;vertical-align:middle;margin-right:6px;position:static;transform:none}.pov-mono{font-family:monospace}.pov-foot{margin:.2rem 0 0;font-size:.72rem}.kb-setbanner{color:var(--text-secondary);border:1px solid color-mix(in srgb, var(--accent-color) 35%, transparent);background:color-mix(in srgb, var(--accent-color) 8%, transparent);border-radius:6px;align-items:flex-start;gap:8px;margin:12px 0 0;padding:9px 12px;font-size:.85rem;display:flex}.kb-setbanner svg{color:var(--accent-color);flex:none;margin-top:2px}.kb-setbanner-link{font:inherit;cursor:pointer;color:var(--accent-color);background:0 0;border:none;padding:0;text-decoration:underline}.kb-list-group{flex-direction:column;gap:4px;margin:4px 0;display:flex}.kb-list-setrow{border-color:color-mix(in srgb, var(--accent-color) 45%, transparent);background:color-mix(in srgb, var(--accent-color) 7%, var(--card-bg))}.kb-list-members{border-left:2px solid color-mix(in srgb, var(--accent-color) 30%, transparent);flex-direction:column;gap:4px;margin-left:.75rem;padding-left:.75rem;display:flex}.kb-list-member{background:0 0;font-size:.85rem}.kb-list-setname{color:var(--accent-color);align-items:center;gap:5px;font-size:.78rem;font-weight:600;display:inline-flex}.kb-list-until{color:var(--text-secondary)}.kb-set-icon{color:var(--accent-color);flex:none}.kb-set-name{font:inherit;cursor:text;color:var(--text-primary);text-align:left;background:0 0;border:none;padding:0}.kb-set-name:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.kb-set-rows{flex-direction:column;gap:8px;display:flex}.kb-set-row{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;padding:10px 12px;display:flex}.kb-set-who{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.kb-set-waves{color:var(--text-secondary);font-size:.75rem}.kb-set-figures{color:var(--text-secondary);flex-wrap:wrap;gap:4px 16px;font-size:.8rem;display:flex}.kb-set-figures b{color:var(--text-primary);font-weight:600}.kb-set-balance.owes b{color:var(--warning-color)}.kb-set-balance.due b{color:var(--success-color)}.kb-set-percent input{width:4.5rem}.kb-set-members{flex-direction:column;gap:8px;display:flex}.kb-set-member{align-items:center;gap:6px;display:flex}.kb-set-member-open{background:var(--card-bg);border:1px solid var(--border-color);min-width:0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:8px;flex:auto;grid-template-columns:max-content 6rem 1fr max-content;align-items:baseline;gap:1rem;padding:.6rem .8rem;font-size:.9rem;display:grid}.kb-set-member-open:hover{border-color:var(--accent-color)}.kb-set-member-debris{color:var(--text-secondary);white-space:nowrap}.kb-set-picks{flex-direction:column;gap:6px;max-height:42vh;display:flex;overflow-y:auto}.kb-set-pick{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;border-radius:7px;grid-template-columns:max-content 6rem 1fr max-content;align-items:baseline;gap:.8rem;padding:.5rem .7rem;font-size:.85rem;display:grid}.kb-set-pick:hover:not(:disabled){border-color:var(--accent-color)}.kb-set-pick:disabled{opacity:.55;cursor:default}@container (width<=560px){.kb-set-member-open,.kb-set-pick{grid-template-columns:max-content 1fr;gap:.3rem .6rem}.kb-set-member-open>:nth-child(n+3),.kb-set-pick>:nth-child(n+3){grid-column:1/-1}}.btn-primary,.btn-secondary{border:1px solid var(--border-color);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.85rem;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.btn-primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{color:var(--text-secondary);background:0 0}.btn-secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-color)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:default}.pbase-dse{color:var(--text-secondary)}.pbase-debris-line{text-align:right;grid-column:1/4;margin-top:-4px}.pbase-debris-line.stale{opacity:.55}.pbase-stale{border:1px solid color-mix(in srgb, var(--text-secondary) 45%, transparent);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border-radius:8px;margin-left:.35rem;padding:1px 5px;font-size:.62rem;font-weight:600}.pbase-yard-load-label{align-items:center;gap:.3rem;display:flex}.pbase-debris-toggle{cursor:pointer;filter:grayscale();opacity:.4;background:0 0;border:1px solid #0000;border-radius:4px;padding:0 .2rem;font-size:.75rem;line-height:1.4}.pbase-debris-toggle.on{filter:none;opacity:1}.pbase-debris-toggle:hover{border-color:var(--border-color)}.dual-range-slider{width:100%;height:20px;position:relative}.dual-range-slider input[type=range]{pointer-events:none;-webkit-appearance:none;z-index:2;opacity:0;cursor:pointer;width:calc(100% + 24px);height:40px;margin:0;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.dual-range-slider input[type=range]::-webkit-slider-thumb{pointer-events:all;-webkit-appearance:none;cursor:pointer;background-color:red;border-radius:50%;width:24px;height:24px}.dual-range-slider input[type=range]::-moz-range-thumb{pointer-events:all;-moz-appearance:none;cursor:pointer;background-color:red;border:none;border-radius:50%;width:24px;height:24px}.slider-track{z-index:1;background-color:#333;border-radius:2px;width:100%;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.slider-range{background-color:var(--accent-color);z-index:1;border-radius:2px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.slider-thumb{z-index:3;pointer-events:none;background-color:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000080}.slider-thumb:hover{background-color:#f0f0f0}.import-coverage-banner{color:var(--text-primary);background:#fbbf241a;border:1px solid #fbbf24;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:.85rem;display:flex}.import-coverage-icon{color:#fbbf24;flex-shrink:0;margin-top:1px}.import-coverage-body{flex:1;min-width:0}.import-coverage-title{flex-wrap:wrap;align-items:baseline;gap:8px;font-weight:600;display:flex}.import-coverage-when{color:var(--text-secondary);font-size:.78rem;font-weight:400}.import-coverage-faults{flex-direction:column;gap:3px;margin:8px 0 0;padding:0;list-style:none;display:flex}.import-coverage-faults li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.import-coverage-en{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.import-coverage-fault{color:#fbbf24;font-variant-numeric:tabular-nums}.import-coverage-count{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.import-coverage-short{color:#fbbf24}.import-coverage-advice,.import-coverage-habit{color:var(--text-secondary);margin-top:8px;font-size:.78rem;line-height:1.45}.import-coverage-habit{color:#fbbf24}.import-coverage-readout{flex-direction:column;gap:4px;display:flex}.import-coverage-readout-when{color:var(--text-secondary);justify-content:space-between;gap:8px;font-size:.8rem;display:flex}.import-coverage-note{opacity:.7;cursor:help;font-size:.7rem}.import-coverage-row{justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;display:flex}.import-coverage-state{text-align:right;align-items:center;gap:6px;font-size:.75rem;display:flex}.import-coverage-ok{color:#34d399}.import-coverage-bad{color:#fbbf24;font-variant-numeric:tabular-nums}.import-coverage-optional{color:var(--text-secondary);opacity:.65}.import-coverage-strip{gap:3px;margin-top:6px;display:flex}.import-coverage-pip{cursor:help;border-radius:2px;width:100%;height:4px}.import-coverage-pip.ok{background:#34d399}.import-coverage-pip.bad{background:#fbbf24}.snackbar{background:var(--card-bg);color:var(--text-primary);z-index:9999;border:1px solid var(--border-color);text-align:center;border-radius:8px;max-width:90%;padding:12px 24px;font-size:.9rem;animation:.3s ease-out snackbar-slide-up;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.snackbar-success{background:#34d3991a;border-color:#34d399}.snackbar-error{background:#ef44441a;border-color:#ef4444}.snackbar-info{background:#3b82f61a;border-color:#3b82f6}@keyframes snackbar-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.snackbar{max-width:none;bottom:80px;left:16px;right:16px;transform:none}@keyframes snackbar-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}.battle-sim{padding-bottom:var(--content-pad-bottom,0px);flex-direction:column;gap:16px;display:flex;container-type:inline-size}.battle-sim-header h2{margin:0}.battle-sim-header-top{align-items:center;gap:8px;display:flex}.battle-sim-cog{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;line-height:0;display:inline-flex}.battle-sim-cog:hover{color:var(--text-primary)}.battle-sim-lede{color:var(--text-secondary);margin:4px 0 0;font-size:.85rem}.battle-sim-redirect-help p{color:var(--text-secondary);margin:0 0 12px;font-size:.9rem;line-height:1.5}.battle-sim-redirect-help ol{color:var(--text-secondary);margin:0 0 12px;padding-left:20px;font-size:.9rem;line-height:1.6}.battle-sim-redirect-field{margin-bottom:10px}.battle-sim-redirect-field>span{color:var(--text-secondary);margin-bottom:3px;font-size:.8rem;display:block}.battle-sim-redirect-row{align-items:stretch;gap:6px;display:flex}.battle-sim-redirect-row code{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);white-space:pre;border-radius:4px;flex:1;padding:6px 8px;font-size:.82rem;overflow-x:auto}.battle-sim-redirect-row button{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;flex:none;align-items:center;gap:4px;padding:0 8px;font-size:.8rem;display:inline-flex}.battle-sim-redirect-row button:hover{color:var(--text-primary);border-color:var(--accent-color)}.battle-sim-presets{flex-direction:column;gap:14px;display:flex}.battle-sim-preset-save{flex-wrap:wrap;gap:6px;display:flex}.battle-sim-preset-name-input{background:var(--bg-color);border:1px solid var(--border-color);min-width:12ch;color:var(--text-primary);border-radius:4px;flex:100%;padding:6px 8px;font-size:.85rem}.battle-sim-preset-save select{background:var(--bg-color);border:1px solid var(--border-color);min-width:0;color:var(--text-primary);border-radius:4px;flex:1;padding:6px 8px;font-size:.82rem}.battle-sim-preset-save button{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;flex:none;padding:0 12px;font-size:.82rem}.battle-sim-preset-save button:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent-color)}.battle-sim-preset-save button:disabled{opacity:.5;cursor:default}.battle-sim-preset-empty{color:var(--text-secondary);margin:0;font-size:.85rem}.battle-sim-preset-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.battle-sim-preset-row{border:1px solid var(--border-color);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.battle-sim-preset-meta{align-items:baseline;gap:8px;min-width:0;display:flex}.battle-sim-preset-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.battle-sim-preset-badge{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:3px;flex:none;padding:0 4px;font-size:.7rem}.battle-sim-preset-date{color:var(--text-secondary);flex:none;font-size:.75rem}.battle-sim-preset-actions{flex:none;align-items:center;gap:4px;display:flex}.battle-sim-preset-actions button{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-size:.8rem;line-height:1;display:inline-flex}.battle-sim-preset-actions button:hover{color:var(--text-primary);border-color:var(--accent-color)}.battle-sim-preset-actions .battle-sim-preset-delete{padding:3px 6px}.sim-preset-aside{flex-direction:column;gap:6px;display:flex}.sim-preset-aside-head{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.sim-preset-aside-head button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px;line-height:0;display:inline-flex}.sim-preset-aside-head button:hover{color:var(--text-primary)}.sim-preset-tabs{gap:4px;display:flex}.sim-preset-tab{border:1px solid #0000;border-bottom-color:var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:5px;padding:3px 6px;font-size:.78rem;display:inline-flex}.sim-preset-tab:hover{color:var(--text-primary)}.sim-preset-tab.is-active{color:var(--text-primary);border-color:var(--border-color);background:var(--card-bg);border-bottom-color:#0000;border-radius:4px 4px 0 0}.sim-preset-tab-count{color:var(--text-secondary);font-size:.68rem}.sim-preset-aside-empty{color:var(--text-secondary);margin:0;font-size:.8rem}.sim-preset-aside-error{color:var(--danger-color);margin:0;font-size:.8rem}.sim-preset-aside-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sim-preset-aside-row{align-items:stretch;gap:4px;display:flex}.sim-preset-aside-load{background:var(--card-bg);border:1px solid var(--border-color);min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:4px;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:5px 8px;font-size:.85rem;display:flex}.sim-preset-aside-load:hover{border-color:var(--accent-color)}.sim-preset-aside-name{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:5px;min-width:0;display:flex;overflow:hidden}.sim-preset-aside-author{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);font-size:.7rem;overflow:hidden}.sim-preset-aside-badge{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:3px;flex:none;padding:0 4px;font-size:.68rem}.sim-preset-aside-del,.sim-preset-aside-share{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:4px;flex:none;align-items:center;padding:0 6px;display:inline-flex}.sim-preset-aside-del:hover{color:var(--danger-color);border-color:var(--accent-color)}.sim-preset-aside-share:hover{color:var(--accent-color);border-color:var(--accent-color)}.battle-sim-paste-banner{background:var(--bg-color);border:1px solid var(--accent-color);color:var(--text-secondary);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;display:flex}.battle-sim-paste-banner select{max-width:220px}.battle-sim-work{flex-direction:column;gap:16px;min-width:0;display:flex}@container (width>=1700px){.battle-sim-work{grid-template-columns:minmax(0,max-content) minmax(auto,1fr);align-items:start;display:grid}}.battle-sim-answers{flex-direction:column;gap:16px;min-width:0;max-width:1500px;display:flex}@container (width>=1700px){.battle-sim-answers{min-width:900px}}.battle-sim-answers:empty{display:none}.battle-sim-sides{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.battle-sim-side,.battle-sim-ledger-table{min-width:0}.battle-sim-side{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:14px}.battle-sim-attacker{border-top:2px solid var(--danger-color)}.battle-sim-defender{border-top:2px solid var(--accent-color)}.battle-sim-side header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.battle-sim-side h3{margin:0 auto 0 0;font-size:1rem}.battle-sim-scroll{max-width:100%;overflow-x:auto}.battle-sim-table{border-collapse:collapse;table-layout:fixed;width:min-content;font-size:.8rem}.battle-sim-col-label{width:64px}.battle-sim-col-fleet{width:140px}.battle-sim-table th,.battle-sim-table td{text-align:right;vertical-align:top;padding:2px 4px}.battle-sim-table tbody th{z-index:1;background:var(--card-bg);text-align:left;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;cursor:help;font-weight:400;position:sticky;left:0;overflow:hidden}.battle-sim-techs td{padding-bottom:6px}.battle-sim-techs tr:last-child td,.battle-sim-techs tr:last-child th{border-bottom:1px solid var(--border-color);padding-bottom:8px}.battle-sim-section th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-top:1px dashed var(--border-color);font-size:.72rem;font-weight:600;padding-top:12px!important;position:static!important}.battle-sim-nil{color:var(--text-secondary);opacity:.35;cursor:help;padding:4px 6px;display:block}.battle-sim-fleet-dragging{opacity:.4}.battle-sim-fleet-target{outline:1px dashed var(--accent-color);outline-offset:-2px;border-radius:4px}.battle-sim-fleet-head{position:relative;vertical-align:bottom!important;padding-bottom:6px!important}.battle-sim-paste{z-index:5;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;flex-direction:column;gap:4px;width:240px;margin-top:4px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 2px 8px #00000040}.battle-sim-paste textarea{box-sizing:border-box;resize:vertical;background:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:4px;padding:4px;font-size:.72rem}.battle-sim-paste-preview{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:.7rem;display:flex}.battle-sim-head-top{align-items:center;gap:3px;display:flex}.battle-sim-head-tools{flex-wrap:wrap;align-items:center;gap:3px;margin-top:3px;display:flex}.battle-sim-grip{color:var(--text-secondary);opacity:.5;cursor:grab;align-items:center;display:inline-flex}.battle-sim-grip:hover{opacity:1}.battle-sim-grip:active{cursor:grabbing}.battle-sim-grip-pinned{cursor:help;opacity:.35}.battle-sim-label{box-sizing:border-box;width:100%;min-width:0;color:var(--text-primary);text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;padding:2px 3px;font-size:.78rem;font-weight:600}.battle-sim-label:hover{border-color:var(--border-color)}.battle-sim-label:focus{background:var(--bg-color);border-color:var(--accent-color);outline:none}.battle-sim-remove,.battle-sim-add{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:.74rem;display:inline-flex}.battle-sim-remove:hover{color:var(--danger-color);border-color:var(--danger-color)}.battle-sim-add:hover{color:var(--text-primary)}.battle-sim-add{flex:none}.battle-sim-pick{background:var(--bg-color);border:1px solid var(--border-color);min-width:0;max-width:100%;color:var(--text-secondary);border-radius:4px;flex:auto;padding:3px 4px;font-size:.7rem}.battle-sim-pick:hover{color:var(--text-primary)}.fleet-menu-button{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.fleet-menu-panel{z-index:1000;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;min-width:140px;max-width:320px;max-height:60vh;padding:3px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0006}.fleet-menu-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:.74rem;display:flex}.fleet-menu-item:hover,.fleet-menu-item:focus-visible{color:var(--text-primary);background:#ffffff0f;outline:none}.fleet-menu-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.fleet-menu-count{color:var(--text-secondary);opacity:.7;flex:none;font-size:.68rem}.fleet-menu-empty{color:var(--text-secondary);padding:4px 6px;font-size:.72rem}.battle-sim-intel{border:1px solid var(--border-color);max-width:100ch;color:var(--text-secondary);background:#ffffff08;border-radius:6px;padding:7px 9px;font-size:.74rem}.battle-sim-intel p{align-items:flex-start;gap:5px;margin:0;display:flex}.battle-sim-intel p+p{margin-top:5px}.battle-sim-intel-warn{border-color:var(--warning-color);color:var(--text-primary);background:#ff98001a}.battle-sim-intel-warn svg{color:var(--warning-color);flex-shrink:0;margin-top:2px}.battle-sim-pair{align-items:center;gap:4px;display:flex}.battle-sim-cell{flex:auto;min-width:0;display:flex;position:relative}.battle-sim-cell input{padding-right:16px!important}.battle-sim-cell-plain input{padding-right:6px!important}.battle-sim-cell-clear{color:var(--text-secondary);opacity:.55;cursor:pointer;background:0 0;border:0;border-radius:0 3px 3px 0;align-items:center;padding:0 2px;display:flex;position:absolute;top:1px;bottom:1px;right:1px}.battle-sim-cell-clear:hover{opacity:1;color:var(--danger-color)}.battle-sim-loss{min-height:0;color:var(--danger-color);flex-direction:column;flex:0 0 56px;justify-content:center;align-self:stretch;font-size:.68rem;line-height:1.1;display:flex;overflow:hidden}.battle-sim-loss-figure{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:3px;display:flex;overflow:hidden}.battle-sim-was{opacity:.45;font-style:italic}.battle-sim-stale{min-width:0;color:var(--warning-color);align-items:center;gap:4px;margin-left:auto;font-size:.72rem;display:inline-flex}.battle-sim-table input,.battle-sim-controls input{box-sizing:border-box;background:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:4px;padding:4px 6px;font-size:.8rem}.battle-sim-controls{z-index:2;background:var(--bg-color);border-top:1px solid var(--border-color);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:10px 0;display:flex;position:sticky;bottom:0}.battle-sim-controls-group,.battle-sim-search-group{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.battle-sim-controls-group{justify-content:flex-end;margin-left:auto}.battle-sim-controls label{color:var(--text-secondary);flex-direction:column;gap:3px;width:80px;font-size:.72rem;display:flex}.battle-sim-fight,.battle-sim-clear{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:7px 18px;font-size:.85rem}.battle-sim-fight{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.battle-sim-fight:hover:not(:disabled){background:var(--accent-hover)}.battle-sim-fight:disabled{opacity:.5;cursor:default}.battle-sim-search-pair{align-items:stretch;display:flex}.battle-sim-search-pair .battle-sim-search{border-top-right-radius:0;border-bottom-right-radius:0}.battle-sim-controls .battle-sim-paired-field{border:1px solid var(--border-color);background:var(--card-bg);white-space:nowrap;border-left:none;border-radius:0 6px 6px 0;flex-direction:row;align-items:center;gap:5px;width:auto;padding:0 8px;font-size:.68rem}.battle-sim-controls .battle-sim-paired-field input{width:40px}.battle-sim-controls .battle-sim-toggle{cursor:pointer;white-space:nowrap;flex-direction:row;align-items:center;gap:5px;width:auto;padding-bottom:8px}.battle-sim-controls .battle-sim-toggle input{width:auto;accent-color:var(--accent-color);cursor:pointer;margin:0}.battle-sim-search{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;padding:7px 14px;font-size:.85rem;display:inline-flex}.battle-sim-search:hover:not(:disabled){border-color:var(--accent-color)}.battle-sim-search:disabled{opacity:.5;cursor:default}.battle-sim-fight,.battle-sim-search{position:relative;overflow:hidden}.battle-sim-progress{pointer-events:none;background:#ffffff40;width:0;transition:width .12s linear;position:absolute;inset:0 auto 0 0}.battle-sim-search .battle-sim-progress{background:color-mix(in srgb, var(--accent-color) 30%, transparent)}.battle-sim-button-label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex;position:relative}.battle-sim-fight.is-running,.battle-sim-search.is-running{cursor:progress}.battle-sim-error{color:var(--danger-color);border:1px solid var(--danger-color);background:#f443361a;border-radius:6px;margin:0;padding:8px 12px;font-size:.8rem}.battle-sim-result{flex-direction:column;gap:16px;display:flex}.battle-sim-outcomes{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.battle-sim-outcome{flex-direction:column;min-width:96px;display:flex}.battle-sim-outcome-value{font-size:1.5rem;font-weight:600}.battle-sim-outcome-label{color:var(--text-secondary);font-size:.72rem}.battle-sim-outcome-attacker .battle-sim-outcome-value{color:var(--danger-color)}.battle-sim-outcome-defender .battle-sim-outcome-value{color:var(--accent-color)}.battle-sim-runs{color:var(--text-secondary);margin-left:auto;font-size:.75rem}.battle-sim-ledger{grid-template-columns:1fr 1fr;gap:16px;display:grid}@container (width<=780px){.battle-sim-ledger{grid-template-columns:1fr}}.battle-sim-ledger-table{border-collapse:collapse;width:100%;font-size:.8rem}.battle-sim-ledger-table th{text-align:right;color:var(--text-secondary);padding:4px 6px;font-size:.72rem;font-weight:500}.battle-sim-ledger-table thead th{border-bottom:1px solid var(--border-color)}.battle-sim-ledger-table thead th:first-child{text-align:left;color:var(--text-primary);font-size:.85rem;font-weight:600}.battle-sim-ledger-table tbody th{text-align:left;white-space:nowrap}.battle-sim-ledger-table td{text-align:right;font-variant-numeric:tabular-nums;padding:3px 6px}.battle-sim-ledger-net td,.battle-sim-ledger-net th{border-top:1px solid var(--border-color);font-weight:600}.battle-sim-good{color:var(--success-color)}.battle-sim-bad{color:var(--danger-color)}.battle-sim-net-win,.battle-sim-net-loss{border-radius:3px}.battle-sim-net-win{color:var(--success-color);background:color-mix(in srgb, var(--success-color) 20%, transparent)}.battle-sim-net-loss{color:var(--danger-color);background:color-mix(in srgb, var(--danger-color) 20%, transparent)}.battle-sim-res-icon{vertical-align:-.25em;width:auto;height:1.15em;margin-right:4px}.battle-sim-loot-share{background:color-mix(in srgb, var(--success-color) 16%, transparent);color:var(--success-color);font-variant-numeric:tabular-nums;cursor:help;border-radius:3px;margin-left:5px;padding:0 4px;font-size:.72rem}.battle-sim-loot-note{color:var(--text-secondary);margin:-6px 0 0;font-size:.74rem;line-height:1.45}.battle-sim-loot-short{color:var(--success-color);cursor:help}.battle-sim-rates{color:var(--text-secondary);margin-left:auto;font-size:.74rem}.battle-sim-lost{color:var(--danger-color)}.battle-sim-side-lost{min-height:1.4em;color:var(--danger-color);font-variant-numeric:tabular-nums;margin:0 0 10px;font-size:.78rem;line-height:1.4}.battle-sim-cargo-rows th,.battle-sim-cargo-rows td{border-top:1px dashed var(--border-color);padding-top:8px}.battle-sim-cargo-value{min-width:0;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:auto;padding:4px 6px;font-size:.78rem;overflow:hidden}.battle-sim-side-cargo{color:var(--text-secondary);font-variant-numeric:tabular-nums;cursor:help;margin:6px 0 0;font-size:.78rem}.battle-sim-recyclers{color:var(--text-primary);cursor:help;flex-basis:100%;font-size:.78rem}.battle-sim-recyclers-worst{color:var(--text-secondary)}.battle-sim-recyclers-note{color:var(--text-secondary);margin-left:10px;font-size:.72rem}.battle-sim-dse{color:var(--text-secondary);font-size:.78rem;font-weight:400}.battle-sim-debris{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:16px;padding:10px 14px;font-size:.82rem;display:flex}.battle-sim-spreads{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px 14px}.battle-sim-spreads-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;font-size:.82rem;display:flex}.battle-sim-spreads-key{color:var(--text-secondary);align-items:center;gap:6px;font-size:.72rem;display:flex}.battle-sim-key-attacker,.battle-sim-key-defender{border-radius:2px;width:10px;height:10px;display:inline-block}.battle-sim-key-attacker{background:var(--danger-color)}.battle-sim-key-defender{background:var(--accent-color);margin-left:8px}.battle-sim-spreads-legend{opacity:.75;margin-left:8px}.battle-sim-spread-row{grid-template-columns:1fr 78px 1fr;align-items:center;gap:8px;padding:5px 0;display:grid}.battle-sim-spread-row+.battle-sim-spread-row{border-top:1px solid #ffffff0a}.battle-sim-spread-label{color:var(--text-secondary);text-align:center;cursor:help;font-size:.74rem}.battle-sim-box{min-width:0;display:block}.battle-sim-box-scale{font-variant-numeric:tabular-nums;height:13px;font-size:.66rem;line-height:13px;display:block;position:relative}.battle-sim-box-end{white-space:nowrap;color:var(--text-secondary);position:absolute;top:0;left:0}.battle-sim-box-end-high{left:auto;right:0}.battle-sim-box-figure{white-space:nowrap;color:var(--text-primary);position:absolute;top:0;transform:translate(-50%)}.battle-sim-box-track{background:#ffffff0d;border-radius:2px;min-width:0;height:10px;display:block;position:relative}.battle-sim-box-whisker{opacity:.55;border-radius:1px;height:2px;position:absolute;top:4px;left:0;right:0}.battle-sim-box-body{opacity:.6;border-radius:2px;min-width:3px;position:absolute;top:1px;bottom:1px}.battle-sim-box-median{border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.battle-sim-box-attacker .battle-sim-box-whisker,.battle-sim-box-attacker .battle-sim-box-body,.battle-sim-box-attacker .battle-sim-box-median{background:var(--danger-color)}.battle-sim-box-defender .battle-sim-box-whisker,.battle-sim-box-defender .battle-sim-box-body,.battle-sim-box-defender .battle-sim-box-median{background:var(--accent-color)}.sim-options{border:1px solid var(--border-color);background:var(--card-bg);border-radius:8px;padding:12px 14px}.sim-options-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sim-options-head h3{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;font-size:.95rem;display:flex}.sim-options-note{color:var(--text-secondary);font-size:.72rem;font-weight:400}.sim-options-rankings{align-items:center;gap:6px;display:flex}.sim-options-rank{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:5px;padding:4px 10px;font-size:.72rem}.sim-options-rank.is-on{border-color:var(--accent-color);color:var(--text-primary)}.sim-options-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px;line-height:0}.sim-options-walk{border:1px solid var(--border-color);background:color-mix(in srgb, var(--accent-color) 4%, transparent);border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:8px 10px;display:flex}.sim-walk-steps{flex-wrap:wrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex}.sim-walk-step{border:1px solid #0000;border-radius:5px;flex-direction:column;gap:1px;padding:3px 8px;display:flex}.sim-walk-step.is-ideal{border-color:var(--accent-color);background:color-mix(in srgb, var(--accent-color) 12%, transparent)}.sim-walk-what{font-size:.78rem}.sim-walk-cost{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.68rem}.sim-walk-arrow{color:var(--text-secondary);flex:none}.sim-walk-apply{flex:none}.sim-walk-note{color:var(--danger-color);flex:none;font-size:.72rem}.sim-options-of{color:var(--text-secondary);font-size:.72rem}.sim-options-scroll{margin-top:10px;overflow-x:auto}.sim-options-table{border-collapse:collapse;width:100%;font-size:.78rem}.sim-options-table th,.sim-options-table td{border-bottom:1px solid var(--border-color);text-align:left;white-space:nowrap;padding:5px 8px}.sim-options-table th{color:var(--text-secondary);font-size:.7rem;font-weight:600}.sim-options-table .num{text-align:right;font-variant-numeric:tabular-nums}.sim-options-table tr.is-typed td:first-child{font-style:italic}.sim-options-table tr.is-best{background:color-mix(in srgb, var(--accent-color) 12%, transparent)}.sim-options-table tr.is-ideal td:first-child{box-shadow:inset 2px 0 0 var(--accent-color)}.sim-options-net.is-up{color:var(--success-color,#4caf50)}.sim-options-net.is-down{color:var(--danger-color)}.sim-options-apply{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:5px;padding:3px 10px;font-size:.72rem}.sim-options-apply:hover{border-color:var(--accent-color)}.sim-options-foot{color:var(--text-secondary);margin:10px 0 0;font-size:.72rem}.battle-sim-waves{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px;display:flex}.battle-sim-wave{border:1px solid var(--border-color);background:var(--bg-color);border-radius:4px;align-items:center;display:inline-flex}.battle-sim-wave>button:first-child{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 4px 2px 7px;font-size:.74rem}.battle-sim-wave input{color:inherit;font:inherit;background:0 0;border:none;min-width:3ch;padding:0}.battle-sim-wave-on{border-color:var(--danger-color);background:color-mix(in srgb, var(--danger-color) 12%, transparent)}.battle-sim-wave-on>button:first-child{color:var(--text-primary)}.battle-sim-wave-drop,.battle-sim-wave-add{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:3px 6px;font-size:.72rem;display:inline-flex}.battle-sim-wave-add{border:1px dashed var(--border-color);border-radius:4px}.battle-sim-wave-drop:hover{color:var(--danger-color)}.battle-sim-wave-add:hover{color:var(--text-primary)}.battle-sim-wave-drop:disabled,.battle-sim-wave-add:disabled{opacity:.45;cursor:default}.battle-sim-intel ul{margin:6px 0 0;padding-left:18px}.update-banner{color:var(--text-primary);z-index:10000;background:#3b82f61f;border:1px solid #3b82f6;border-radius:8px;align-items:center;gap:12px;max-width:90%;padding:10px 12px 10px 18px;font-size:.9rem;animation:.3s ease-out update-banner-slide-down;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.update-banner-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.update-banner-reload{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:.85rem;font-weight:600}.update-banner-reload:hover{background:#2563eb}.update-banner-dismiss{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:1.1rem;line-height:1}.update-banner-dismiss:hover{color:var(--text-primary)}@keyframes update-banner-slide-down{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.update-banner{max-width:none;top:72px;left:16px;right:16px;transform:none}@keyframes update-banner-slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}}.universe-banner{color:var(--text-primary);z-index:9999;background:#f59e0b1f;border:1px solid #f59e0b;border-radius:8px;align-items:center;gap:12px;max-width:90%;padding:10px 12px 10px 18px;font-size:.9rem;animation:.3s ease-out universe-banner-slide-down;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.universe-banner-text{line-height:1.4}.universe-banner-fix{color:#1c1917;cursor:pointer;background:#f59e0b;border:none;border-radius:6px;flex-shrink:0;padding:6px 14px;font-size:.85rem;font-weight:600}.universe-banner-fix:hover{background:#d97706}.universe-banner-dismiss{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:1.1rem;line-height:1}.universe-banner-dismiss:hover{color:var(--text-primary)}@keyframes universe-banner-slide-down{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@media (width<=768px){.universe-banner{max-width:none;top:72px;left:16px;right:16px;transform:none}@keyframes universe-banner-slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}}.universe-prompt{flex-direction:column;gap:10px;max-width:460px;padding:4px 2px;display:flex}.universe-prompt-lead{color:var(--text-primary);margin:0}.universe-prompt-coords{color:var(--text-secondary,#94a3b8);max-height:5.5em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;line-height:1.5;overflow-y:auto}.universe-prompt-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary,#94a3b8);margin:6px 0 0;font-size:.75rem}.universe-prompt-existing{flex-direction:column;gap:6px;display:flex}.universe-prompt-choice{color:var(--text-primary);cursor:pointer;text-align:left;background:#94a3b814;border:1px solid #94a3b840;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;font-size:.9rem;display:flex}.universe-prompt-choice:hover{background:#94a3b829;border-color:#94a3b873}.universe-prompt-choice-note{color:var(--text-secondary,#94a3b8);flex-shrink:0;font-size:.78rem}.universe-prompt-new{align-items:flex-end;gap:8px;display:flex}.universe-prompt-new label{color:var(--text-secondary,#94a3b8);flex-direction:column;gap:4px;font-size:.78rem;display:flex}.universe-prompt-new input[type=number]{width:70px}.universe-prompt-new input{color:var(--text-primary);background:#0f172a99;border:1px solid #94a3b84d;border-radius:6px;padding:6px 8px;font-size:.9rem}.universe-prompt-create{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:7px 16px;font-size:.85rem;font-weight:600}.universe-prompt-create:hover{background:#2563eb}.universe-prompt-skip{color:var(--text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:2px;padding:4px 0;font-size:.8rem;text-decoration:underline}.universe-prompt-skip:hover{color:var(--text-primary)}.docs{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.docs-index{flex-direction:column;gap:.25rem;display:flex;position:sticky;top:0}.docs-index-link{color:var(--text-primary);border:1px solid #0000;border-radius:6px;flex-direction:column;gap:.15rem;padding:.6rem .75rem;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.docs-index-link:hover{background-color:var(--card-bg);border-color:var(--border-color)}.docs-index-link.is-active{background-color:var(--card-bg);border-color:var(--accent-color)}.docs-index-title{font-size:.9rem;font-weight:600}.docs-index-summary{color:var(--text-secondary);font-size:.75rem;line-height:1.35}.docs-article{max-width:74ch;color:var(--text-primary);padding-bottom:2rem;line-height:1.65}.docs-article h2{margin:0 0 .5rem;font-size:1.6rem}.docs-article h3{border-bottom:1px solid var(--border-color);margin:2.25rem 0 .75rem;padding-bottom:.4rem;font-size:1.1rem}.docs-article h4{color:var(--text-primary);margin:1.75rem 0 .6rem;font-size:.98rem}.docs-article p,.docs-article ul,.docs-article ol,.docs-article dl{margin:0 0 1rem}.docs-article li{margin-bottom:.5rem}.docs-article li:last-child{margin-bottom:0}.docs-lead{color:var(--text-secondary);border-left:3px solid var(--accent-color);padding-left:1rem;font-size:1.05rem}.docs-article dt{margin-top:.85rem;font-weight:600}.docs-article dd{color:var(--text-secondary);margin:.2rem 0 0}.docs-article strong{color:var(--text-primary)}.docs-article em{color:var(--accent-hover);font-style:normal}.docs-article a{color:var(--accent-hover)}.docs-article code{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:.05em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.docs-article kbd{background-color:var(--card-bg);border:1px solid var(--border-color);white-space:nowrap;border-bottom-width:2px;border-radius:4px;padding:.1em .4em;font-family:inherit;font-size:.8em}.docs-article table{border-collapse:collapse;width:100%;margin:0 0 1rem;font-size:.9rem;display:block;overflow-x:auto}.docs-article th,.docs-article td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border-color);padding:.5rem .75rem}.docs-article th{color:var(--text-secondary);white-space:nowrap;font-weight:600}.docs-article tbody tr:last-child td{border-bottom:none}.docs-pager{border-top:1px solid var(--border-color);justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.25rem;display:flex}.docs-pager-link{border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-primary);border-radius:6px;flex-direction:column;gap:.15rem;padding:.6rem .9rem;text-decoration:none;display:flex}.docs-pager-link:hover{border-color:var(--accent-color)}.docs-pager-link.is-next{text-align:right;margin-left:auto}.docs-pager-dir{color:var(--text-secondary);font-size:.75rem}@media (width<=900px){.docs{grid-template-columns:1fr;gap:1.5rem}.docs-index{flex-flow:wrap;gap:.4rem;position:static}.docs-index-link{border-color:var(--border-color);padding:.4rem .7rem}.docs-index-summary{display:none}}.reminders{padding-bottom:var(--content-pad-bottom,2rem);flex-direction:column;gap:1.25rem;display:flex;container-type:inline-size}.reminders-head h2{margin:0 0 .25rem;font-size:1.15rem}.reminder-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:.55rem .7rem;padding:.85rem;display:grid}.reminder-field{flex-direction:column;gap:.25rem;min-width:0;display:flex}.reminder-field.grow{grid-column:1/-1}.reminder-field label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.68rem}.reminder-field input[type=text],.reminder-field input[type=datetime-local],.reminder-field select{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);box-sizing:border-box;border-radius:6px;width:100%;min-width:0;padding:.45rem .55rem;font-family:inherit;font-size:.9rem;line-height:1.2}.reminder-field input[type=datetime-local]::-webkit-datetime-edit{padding:0}.reminder-field input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{padding:0}.reminder-field input[type=datetime-local]::-webkit-calendar-picker-indicator{margin:0;padding:0}.reminder-field input[type=datetime-local],.reminder-when-row select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.reminder-when-row{flex-wrap:wrap;gap:.35rem;display:flex}.reminder-when-row select{flex:none;width:auto}.reminder-when-row input{flex:8rem;min-width:0}.reminder-add{white-space:nowrap;align-self:start;margin-top:1.15rem}.reminder-field input.bad{border-color:var(--danger-color)}.reminder-hint{color:var(--text-secondary);min-height:1em;font-size:.72rem}.reminder-hint.bad{color:var(--danger-color)}.reminder-toggles{color:var(--text-secondary);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.9rem;font-size:.82rem;display:flex}.reminder-toggles label{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.reminder-people{flex-wrap:wrap;grid-column:1/-1;gap:.35rem;width:100%;display:flex}.reminder-person{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.78rem;display:inline-flex}.reminder-person.on{border-color:var(--accent-color);color:var(--text-primary)}.reminders-table-wrap{overflow-x:auto}.reminders-table{border-collapse:collapse;width:100%;font-size:.86rem}.reminders-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.35rem .6rem;font-size:.68rem;font-weight:500}.reminders-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.45rem .6rem}.reminders-table td.due{font-variant-numeric:tabular-nums;white-space:nowrap}.reminders-table tr.overdue td.due{color:var(--warning-color)}.reminders-table tr.missed td.due{color:var(--danger-color)}.reminders-table tr.done{opacity:.55}.reminder-tag{border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;border-radius:8px;margin-left:.35rem;padding:.1rem .4rem;font-size:.66rem}.reminder-row-actions{justify-content:flex-end;gap:.35rem;display:flex}.reminder-icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:.15rem;line-height:0}.reminder-icon-btn:hover{color:var(--text-primary)}.reminder-icon-btn.danger:hover{color:var(--danger-color)}.reminder-icon-btn.on{color:var(--accent-color)}.reminder-queue{background:var(--card-bg);border:1px solid var(--border-color);border-left:3px solid var(--accent-color);border-radius:8px;padding:.85rem}.reminder-queue h3{margin:0 0 .15rem;font-size:.95rem}.reminder-queue-list{flex-direction:column;gap:.2rem;margin:.6rem 0;display:flex}.reminder-queue-row{align-items:center;gap:.5rem;font-size:.84rem;display:flex}.reminder-queue-row .coords{color:var(--text-secondary);font-variant-numeric:tabular-nums}.reminder-queue-row .left{font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;margin-left:auto}.reminder-lead{color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:.4rem .55rem;margin:.7rem 0 .6rem;font-size:.84rem;display:flex}.reminder-lead input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;width:6rem;padding:.35rem .5rem;font-size:.85rem}.reminder-lead input.bad{border-color:var(--danger-color)}.reminder-actions{flex-wrap:wrap;gap:.5rem;display:flex}.reminders-empty{color:var(--text-secondary);font-size:.88rem}.reminders-error{color:var(--danger-color);font-size:.85rem}@container (width<=460px){.reminder-form{grid-template-columns:1fr}.reminder-field.when,.reminder-add{grid-column:1/-1}.reminder-add{justify-content:center;width:100%;margin-top:0}}.flight-times{padding-bottom:var(--content-pad-bottom,2rem);flex-direction:column;gap:1.5rem;display:flex;container-type:inline-size}.flight-times section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.flight-times h3{margin:0;font-size:1rem}.ft-caveat,.ft-hint{color:var(--text-secondary);margin:0;font-size:.8rem}.ft-warn{color:var(--warning-color);margin:0;font-size:.8rem}.ft-route{grid-template-columns:1fr 1fr;align-items:start;gap:.75rem 1rem;display:grid}.ft-fleet{grid-template-columns:11rem 7rem minmax(0,1fr);align-items:start;gap:.75rem 1.25rem;display:grid}.ft-block{flex-direction:column;gap:.4rem;min-width:0;display:flex}.ft-block select{width:100%}.ft-borrow{font:inherit;text-align:left;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-self:start;padding:.25rem .5rem;font-size:.72rem}.ft-borrow:hover{border-color:var(--accent-color);color:var(--text-primary)}.flight-times label{text-transform:uppercase;letter-spacing:.06em;min-width:0;color:var(--text-secondary);flex-direction:column;gap:.25rem;font-size:.68rem;display:flex}.flight-times input,.flight-times select,.flight-times textarea{box-sizing:border-box;font:inherit;text-transform:none;letter-spacing:normal;color:var(--text-primary);background:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;padding:.35rem .5rem}.flight-times input:focus,.flight-times select:focus,.flight-times textarea:focus{border-color:var(--accent-color);outline:none}.flight-times select option{background:var(--bg-color);color:var(--text-primary)}.flight-times select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.ft-end{flex-direction:column;gap:.25rem;min-width:0;display:flex}.ft-end input{width:100%}.ft-end-note{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.ft-bad{border-color:var(--danger-color)}.ft-pick{position:relative}.ft-suggest{z-index:5;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;max-height:15rem;margin:0;padding:.2rem;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #00000059}.ft-suggest li{color:var(--text-primary);cursor:pointer;border-radius:5px;align-items:baseline;gap:.5rem;padding:.28rem .45rem;font-size:.8rem;display:flex}.ft-suggest li.on{background:color-mix(in srgb, var(--accent-color) 22%, transparent)}.ft-suggest-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ft-suggest-group{color:var(--text-secondary);flex:none;font-size:.68rem}.ft-suggest-empty{color:var(--text-secondary);cursor:default;padding:.3rem .45rem;font-size:.8rem}.ft-field-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.68rem}.ft-field-label span{text-transform:none;letter-spacing:normal}.ft-ships{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.25rem;display:grid}.flight-times .ft-ship{text-transform:none;letter-spacing:normal;color:var(--text-secondary);background:var(--bg-color);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:5px;flex-direction:row;align-items:center;gap:.35rem;padding:.3rem .5rem;font-size:.78rem;position:relative}.flight-times .ft-ship input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.flight-times .ft-ship:hover{border-color:var(--accent-color)}.flight-times .ft-ship:focus-within{outline:2px solid var(--accent-color);outline-offset:1px}.flight-times .ft-ship.on{background:color-mix(in srgb, var(--accent-color) 22%, transparent);border-color:var(--accent-color);color:var(--text-primary)}.flight-times .ft-ship.slowest{color:var(--accent-color);border-color:var(--accent-color)}.flight-times .ft-ship em{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-color);margin-left:auto;font-size:.55rem;font-style:normal}.ft-drives{flex-direction:column;gap:.3rem;display:flex}.flight-times .ft-drive{flex-direction:row;align-items:center;gap:.5rem}.flight-times .ft-drive>span{width:2.5rem}.flight-times .ft-drive input{width:3.5rem}.ft-out{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;display:grid}.ft-fig{background:var(--bg-color);border-radius:6px;flex-direction:column;gap:.2rem;padding:.55rem .75rem;display:flex}.ft-fig-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.68rem;display:flex}.ft-fig-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.ft-fig-big{background:color-mix(in srgb, var(--accent-color) 22%, transparent)}.ft-fig-big .ft-fig-label,.ft-fig-big .ft-fig-value{color:var(--accent-color)}.ft-fig-big .ft-fig-value{font-size:1.35rem;font-weight:600}.ft-timing{border-top:1px solid var(--border-color);flex-direction:column;gap:.6rem;padding-top:.75rem;display:flex}.ft-known{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ft-seg{border:1px solid var(--border-color);border-radius:6px;display:inline-flex;overflow:hidden}.ft-seg button{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:.3rem .75rem}.ft-seg button.on{background:var(--accent-color);color:#fff}.ft-now{font:inherit;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.3rem .7rem}.flight-times .ft-anchor{flex-flow:wrap;align-items:center;gap:.4rem}.flight-times .ft-anchor>span{flex:none;width:4.5rem}.flight-times .ft-anchor input{width:auto}.flight-times .ft-anchor input[type=date]{min-width:0}.ft-clock{text-align:center;font-variant-numeric:tabular-nums;width:6rem}.ft-tag{white-space:nowrap;letter-spacing:.04em;border-radius:6px;padding:.05rem .4rem;font-size:.6rem;font-style:normal}.ft-tag.set{background:var(--accent-color);color:#fff}.ft-tag.calc{border:1px solid var(--border-color);color:var(--text-secondary)}.ft-fig-big .ft-tag.set{color:var(--accent-color);background:#fff}.ft-phalanx{resize:vertical;width:100%}.ft-movements{border-collapse:collapse;width:100%;font-size:.82rem}.ft-movements th,.ft-movements td{text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.35rem .5rem}.ft-movements th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.68rem}.ft-movements button{font:inherit;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.2rem .55rem}@container (width<=760px){.ft-fleet{grid-template-columns:11rem 7rem}.ft-block-ships{grid-column:1/-1}}@container (width<=520px){.ft-route{grid-template-columns:1fr}.ft-movements{display:block;overflow-x:auto}}.ft-movements tr.ft-paired td{background:color-mix(in srgb, var(--accent-color) 10%, transparent)}.ft-measured{font-variant-numeric:tabular-nums;border:1px solid var(--accent-color);color:var(--accent-color);white-space:nowrap;border-radius:5px;padding:.1rem .4rem;font-size:.76rem}.ft-filters{flex-wrap:wrap;align-items:end;gap:.75rem 1rem;display:flex}.ft-filters label{flex-direction:column;gap:.2rem;display:flex}.ft-filters input{font:inherit;box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-color);width:7rem;color:var(--text-primary);border-radius:6px;padding:.3rem .45rem}.ft-filters input.ft-bad{border-color:var(--warning-color)}.ft-grid{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.82rem}.ft-grid th,.ft-grid td{text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.28rem .75rem .28rem 0}.ft-grid th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.68rem}.ft-grid .ft-dur{color:var(--text-primary);font-weight:600}.ft-recall{border:1px solid var(--accent-color);background:color-mix(in srgb, var(--accent-color) 7%, transparent);border-radius:8px;flex-direction:column;gap:.6rem;margin-top:.75rem;padding:.75rem;display:flex}.ft-recall-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.ft-recall-head button{font:inherit;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;margin-left:auto;padding:.15rem .5rem;font-size:.78rem}.ft-recall .ft-grid{width:100%}.ft-row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.ft-recall-at{border-left:2px solid color-mix(in srgb, var(--accent-color) 55%, transparent);padding-left:.6rem}.ft-accordion-head{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;display:flex}.ft-caret{color:var(--accent-color);font-size:.7rem;transition:transform .2s}.ft-caret-open{transform:rotate(90deg)}.ft-drive-note{color:var(--text-secondary);max-width:22rem;font-size:.72rem}.ft-drive-note.stale{color:var(--warning-color)}
