@tailwind utilities;:root{color:#0f172a;background-color:#020617;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{color:#e2e8f0;background:radial-gradient(circle at top,#0f172acc,#020617 60%);margin:0}main{min-height:100vh}.eyebrow{letter-spacing:.3em;text-transform:uppercase;color:#94a3b8;margin-bottom:.25rem;font-size:.75rem}.status-badge{text-transform:uppercase;letter-spacing:.08em;border:1px solid #94a3b866;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.35rem .8rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge.live{color:#34d399;background-color:#10b98126;border-color:#34d39980}.status-badge.stale{color:#fbbf24;background-color:#fbbf2426;border-color:#fbbf2499}.status-badge.offline{color:#94a3b8;background-color:#0f172a99;border-color:#94a3b880}.page-shell{padding:2rem}.page-header{justify-content:space-between;align-items:center;display:flex}.page-subtitle{color:#64748b;max-width:40rem;margin:0;font-size:.875rem}.dashboard-card{background:#0f172a99;border:1px solid #94a3b866;border-radius:1rem;padding:1.5rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem;display:grid}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.stat-value{margin:0;font-size:1rem;font-weight:600}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.panel-card{background:#0f172a99;border:1px solid #94a3b866;border-radius:1rem;flex-direction:column;gap:1rem;padding:1rem;display:flex}.panel-card header{justify-content:space-between;align-items:center;display:flex}.panel-card .field-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.75rem}.panel-card .field-value{margin:0;font-size:1.1rem;font-weight:600}.panel-card .field-unit{color:#cbd5f5;font-size:.8rem}.highlight{border-color:#3b82f680}.timeline{gap:1rem;display:grid}.event-card{background:#0f172ab3;border:1px solid #94a3b866;border-radius:1rem;padding:1rem 1.5rem}.event-card header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.event-meta{color:#94a3b8;margin:.4rem 0 0;font-size:.85rem}.event-desc{color:#e2e8f0;margin-top:.5rem}.timeline-visual{background:#0f172aa6;border:1px solid #94a3b866;border-radius:1rem;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.timeline-track{background:#ffffff14;border-radius:999px;height:6px;position:relative}.timeline-dot.past{background:#64748b;border-color:#ffffff1a}.timeline-column h3{margin-top:0;margin-bottom:.75rem}.timeline-filter-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.filter-button{color:#e2e8f0;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:#0f172acc;border:1px solid #94a3b866;border-radius:.75rem;padding:.25rem .85rem;font-size:.7rem}.filter-button.active{background:#22d3ee26;border-color:#22d3eeb3}.timeline-dot.filtered{opacity:1}.timeline-dot.faded{opacity:.3}.timeline-dot.active-dot{border-color:#f8fafc99;box-shadow:0 0 8px #f8fafc99}.trajectory-card{border-color:#38bdf880}.trajectory-card .trail-note{color:#cbd5f5;margin:.75rem 0 0;font-size:.9rem}.trajectory-canvas{background:#0f172af2;border:1px solid #94a3b84d;border-radius:1rem;width:100%;height:320px;display:block}.sparkline{width:100%;height:40px}.sparkline-empty{color:#94a3b8;font-size:.7rem}.field-card{border-bottom:1px solid #94a3b84d;padding:.5rem 0;position:relative}.field-card:last-child{border-bottom:0}.field-card-header{justify-content:space-between;align-items:center;gap:.35rem;display:flex}.field-provenance{color:#94a3b8;letter-spacing:.05em;margin:.15rem 0 0;font-size:.65rem}.field-popover{z-index:20;background:#020617f2;border:1px solid #94a3b866;border-radius:.75rem;width:min(220px,100vw - 4rem);padding:.75rem;position:absolute;top:100%;left:50%;transform:translate(-50%,.5rem);box-shadow:0 20px 40px #00000080}.popover-meta{color:#94a3b8;margin:.35rem 0;font-size:.75rem}.home-shell{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;padding:4rem 2rem;display:flex}.lead{color:#cbd5f5;line-height:1.6}.home-actions{flex-wrap:wrap;gap:.75rem;display:flex}.pill{color:#020617;cursor:pointer;background:#facc15;border:none;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1.2rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 10px 30px #facc1540}.pill.secondary{color:#e2e8f0;box-shadow:none;background:#0f172ab3;border:1px solid #94a3b866}.pill.ghost{box-shadow:none;color:#e2e8f0;background:0 0;border:1px solid #94a3b866}.home-stream-row{justify-content:center;padding:0 2rem 2rem;display:flex}.live-stream-card{background:#0f172abf;border:1px solid #94a3b866;border-radius:1.25rem;flex-direction:column;gap:1rem;width:min(880px,100%);padding:1.25rem;display:flex;box-shadow:0 20px 60px #0006}.live-stream-header{justify-content:space-between;gap:1rem;display:flex}.live-stream-meta{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.stream-channel{color:#cbd5f5;font-size:.85rem}.live-stream-body{border-radius:1rem;overflow:hidden}.responsive-embed{height:0;padding-bottom:56.25%;position:relative}.responsive-embed iframe{width:100%;height:100%;position:absolute;inset:0}.live-stream-fallback{text-align:center;background:#0f172a80;border:1px dashed #94a3b880;border-radius:1rem;padding:1rem}.fallback-title{margin:0 0 .5rem;font-weight:600}.fallback-action{color:#facc15;font-weight:600;text-decoration:none}.live-stream-collapsed{color:#94a3b8;padding:0 .5rem;font-size:.9rem}.live-stream-direct-link{padding:0 .25rem;font-size:.8rem}.gallery-page .page-header{margin-bottom:1.5rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:768px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}.gallery-card{aspect-ratio:1;cursor:pointer;background:#0f172a;border:1px solid #94a3b81f;border-radius:.75rem;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s;display:block;position:relative;overflow:hidden}.gallery-card:hover{z-index:1;border-color:#94a3b859;transform:scale(1.04);box-shadow:0 8px 32px #0000008c}.gallery-card-img{object-fit:cover;width:100%;height:100%;transition:opacity .3s;display:block}.gallery-card-overlay{opacity:0;background:linear-gradient(#0000 45%,#020617e0 100%);align-items:flex-end;padding:.75rem;transition:opacity .22s;display:flex;position:absolute;inset:0}.gallery-card:hover .gallery-card-overlay{opacity:1}.gallery-card-title{color:#f1f5f9;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.72rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.gallery-card--skeleton{cursor:default;pointer-events:none;background:linear-gradient(90deg,#0f172acc 25%,#1e293bcc 50%,#0f172acc 75%) 0 0/200% 100%;animation:1.6s infinite gallery-shimmer}@keyframes gallery-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-empty{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 2rem;font-size:.95rem;display:flex}.gallery-empty-icon{margin:0;font-size:2.5rem}.gallery-sections{flex-direction:column;gap:2.5rem;display:flex}.gallery-section{flex-direction:column;gap:1rem;display:flex}.gallery-section-title{color:#e2e8f0;letter-spacing:.04em;border-bottom:1px solid #94a3b826;align-items:center;gap:.5rem;margin:0;padding-bottom:.5rem;font-size:1rem;font-weight:700;display:flex}.gallery-section-badge{font-size:1.1rem;line-height:1}.crew-stream-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}.crew-stream-card{flex-direction:column;display:flex}.crew-stream-card .live-stream-card{width:100%}.crew-section{background:#0f172abf;border:1px solid #94a3b866;border-radius:1.25rem;margin:0;padding:1.5rem}.crew-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.crew-subtitle{color:#94a3b8;max-width:360px}.crew-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.crew-card{background:#020617cc;border:1px solid #94a3b866;border-radius:1rem;flex-direction:column;gap:.8rem;min-height:100%;padding:1rem;display:flex}.crew-card-head{align-items:center;gap:.75rem;display:flex}.crew-avatar{object-fit:cover;border:1px solid #fff3;border-radius:.75rem;width:72px;height:72px}.crew-role{letter-spacing:.2em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:.7rem}.crew-bio{color:#cbd5f5;margin:0;font-size:.95rem}.crew-card-highlights ul{color:#e2e8f0;margin:0;padding-left:1rem;font-size:.85rem}.crew-card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.crew-details{color:#94a3b8;margin-top:.5rem;font-size:.85rem}.mission-live-section{padding:0 2rem 1.5rem}.mission-live-section .live-stream-card{width:100%}@media (max-width:768px){.page-shell{padding:1.25rem}.home-shell{padding:3rem 1rem 1.5rem}.live-stream-card{padding:1rem}.live-stream-header,.crew-card-head{flex-direction:column;align-items:flex-start}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#020617e6;border-bottom:1px solid #94a3b84d;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.app-nav{align-items:center;gap:.25rem;display:flex}.header-right{align-items:center;gap:.75rem;display:flex}.app-nav-link{color:#94a3b8;letter-spacing:.02em;border-radius:999px;padding:.4rem .9rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.app-nav-link:hover{color:#e2e8f0;background:#94a3b81a}.app-nav-link.active{color:#38bdf8;background:#38bdf81f;font-weight:600}.header-timestamp{color:#cbd5f5;text-transform:uppercase;letter-spacing:.1em;margin-left:auto;font-size:.8rem}.data-timestamp{background:#0f172ae6;border:1px solid #94a3b866;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .9rem;font-size:.75rem;display:inline-flex}.source-badge{text-transform:uppercase;letter-spacing:.09em;cursor:default;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35em;padding:.25rem .65rem;font-size:.68rem;font-weight:700;display:inline-flex}.source-badge-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:.45em;height:.45em}.source-badge--live{color:#34d399;background:#10b9811f;border-color:#34d39966}.source-badge--derived{color:#fbbf24;background:#fbbf241a;border-color:#fbbf2466}.source-badge--simulated{color:#60a5fa;background:#3b82f61a;border-color:#60a5fa66}.source-badge--unavailable{color:#64748b;background:#0f172a80;border-color:#64748b59}.mission-page .mission-view-shell{flex-direction:column;gap:1.25rem;display:flex}.mission-scene-card{background:#0f172aa6;border:1px solid #94a3b84d;border-radius:1rem;padding:.75rem}.mission-lower-grid{grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);align-items:start;gap:1rem;display:grid}.mission-telemetry-card{background:#0f172aa6;border:1px solid #94a3b84d;border-radius:1rem;padding:1rem}.mission-timeline-card{background:#0f172ab3;border:1px solid #94a3b84d;border-radius:1rem;padding:1rem}.mission-scene-wrapper{width:100%;height:580px;position:relative}.mission-canvas{background:#020617f2;border-radius:1rem;width:100%;height:100%;display:block}.mission-scene-controls{gap:.5rem;display:flex;position:absolute;bottom:1rem;right:1rem}.mission-scene-controls button{color:#e2e8f0;cursor:pointer;background:#0f172ae6;border:1px solid #94a3b866;border-radius:.75rem;padding:.35rem .9rem;font-size:.8rem}.mission-scene-controls button.active{background:#34d39933;border-color:#34d399cc}.mission-event-callout{background:#020617e6;border:1px solid #38bdf866;border-radius:1rem;width:min(240px,60%);padding:1rem;position:absolute;bottom:1rem;left:1rem;box-shadow:0 18px 40px #05070ce6}.mission-event-callout .callout-label{letter-spacing:.2em;color:#94a3b8;text-transform:uppercase;margin:0;font-size:.7rem}.mission-event-callout h4{margin:.25rem 0;font-size:1rem}.mission-event-callout .callout-time{color:#94a3b8;margin:0;font-size:.75rem}.mission-event-callout .callout-desc{color:#e2e8f0;margin:.5rem 0;font-size:.9rem}.mission-event-callout .callout-provenance{text-transform:uppercase;letter-spacing:.1em;color:#22d3ee;font-size:.7rem}.mission-telemetry-panel{flex-direction:column;gap:1rem;display:flex}.telemetry-heading{justify-content:space-between;align-items:center;display:flex}.telemetry-badges{align-items:center;gap:.35rem;display:flex}.telemetry-subtitle{color:#94a3b8;margin:0}.telemetry-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.telemetry-stat{background:#020617cc;border:1px solid #94a3b84d;border-radius:.75rem;padding:.75rem}.telemetry-stat .stat-label{letter-spacing:.1em;color:#94a3b8;text-transform:uppercase;margin:0;font-size:.65rem}.telemetry-stat .stat-value{margin:.25rem 0 0;font-weight:600}.telemetry-panels{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.mission-panel{background:#020617cc;border:1px solid #94a3b84d;border-radius:.75rem;padding:.75rem}.mission-panel header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.panel-title{margin:0;font-weight:600}.panel-provenance{color:#94a3b8;margin:0;font-size:.7rem}.panel-fields{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.panel-field{border-top:1px solid #94a3b833;padding-top:.5rem}.panel-field:first-child{border-top:0;padding-top:0}.panel-field .field-label{color:#cbd5f5;margin:0;font-size:.75rem}.panel-field .field-value{margin:.1rem 0;font-weight:600}.provenance-chip{text-transform:uppercase;letter-spacing:.1em;background:#0f172a99;border:1px solid #94a3b866;border-radius:999px;margin-left:.25rem;padding:.05rem .4rem;font-size:.6rem}.telemetry-event,.telemetry-comms{background:#020617d9;border:1px solid #94a3b84d;border-radius:.75rem;padding:.75rem}.telemetry-event-header{justify-content:space-between;align-items:center;display:flex}.telemetry-event h4{margin:.2rem 0}.event-meta,.field-meta{color:#94a3b8;margin:0;font-size:.75rem}.event-desc{color:#d8e3ff;margin:.35rem 0}.event-provenance,.detail-meta,.detail-time{color:#94a3b8;margin:.2rem 0;font-size:.75rem}.telemetry-records{background:#020617d9;border:1px solid #94a3b84d;border-radius:.75rem;padding:.75rem}.telemetry-records-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.milestone-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.milestone-row{grid-template-columns:18px 1fr auto;align-items:start;gap:.5rem;display:grid}.milestone-icon{font-size:.85rem;font-weight:700;line-height:1.4}.milestone-icon.achieved{color:#22d3ee}.milestone-icon.pending{color:#475569}.milestone-body{flex-direction:column;gap:.15rem;display:flex}.milestone-label{color:#e2e8f0;font-size:.8rem}.milestone-row.achieved .milestone-label{color:#22d3ee}.milestone-ref{color:#64748b;font-size:.65rem;line-height:1.3}.milestone-progress-bar{background:#ffffff14;border-radius:999px;height:3px;margin-top:.25rem;overflow:hidden}.milestone-progress-fill{background:linear-gradient(90deg,#334155,#38bdf8);border-radius:999px;height:100%;transition:width .6s}.milestone-pct{color:#94a3b8;white-space:nowrap;font-size:.7rem;line-height:1.4}.milestone-row.achieved .milestone-pct{color:#22d3ee}.vehicle-panel-card[data-provenance=UNAVAILABLE]{border-left:3px solid #64748b99}.vehicle-panel-card[data-provenance=ESTIMATED]{border-left:3px solid #facc1580}.vehicle-panel-card[data-provenance=OFFICIAL_UPDATE]{border-left:3px solid #38bdf880}.vehicle-panel-card[data-provenance=LIVE_OFFICIAL],.vehicle-panel-card[data-provenance=DERIVED]{border-left:3px solid #22d3eeb3}.panel-field[data-provenance=UNAVAILABLE] .field-value,.field-card[data-provenance=UNAVAILABLE] .field-value{color:#475569;font-style:italic}.telemetry-comms .panel-value{margin:.2rem 0;font-size:1rem;font-weight:600}.mission-progress-row{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.progress-label{text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;font-size:.7rem}.progress-value{color:#22d3ee;text-align:right;grid-column:3;font-size:.75rem;font-weight:600}.mission-progress-bar{background:#ffffff1a;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.mission-progress-fill{background:linear-gradient(90deg,#0ea5e9,#22d3ee);border-radius:999px;height:100%;transition:width .6s}.timeline-detail-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.timeline-detail-type{text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;font-size:.65rem}.timeline-detail-time{color:#94a3b8;margin:0 0 .35rem;font-size:.75rem}.timeline-detail-desc{color:#d8e3ff;margin:0;font-size:.85rem;line-height:1.45}.timeline-event-list{scrollbar-width:thin;scrollbar-color:#94a3b84d transparent;flex-direction:column;gap:.25rem;max-height:340px;display:flex;overflow-y:auto}.timeline-event-row{text-align:left;cursor:pointer;background:#0f172a66;border:1px solid #0000;border-radius:.5rem;grid-template-columns:10px 1fr auto auto;align-items:center;gap:.6rem;width:100%;padding:.45rem .65rem;transition:background .15s,border-color .15s;display:grid}.timeline-event-row:hover{background:#38bdf814;border-color:#38bdf840}.timeline-event-row.selected{background:#38bdf81f;border-color:#38bdf880}.tl-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tl-dot.past{background:#64748b}.tl-dot.current{background:#22d3ee;box-shadow:0 0 6px #22d3ee}.tl-dot.upcoming{background:#facc15}.tl-title{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.timeline-marker.active-marker{border-color:#f8fafc;transform:translate(-50%)scale(1.4);box-shadow:0 0 10px #f8fafccc}.mission-timeline-strip{flex-direction:column;gap:.75rem;display:flex}.mission-timeline-strip .strip-header{justify-content:space-between;align-items:center;display:flex}.mission-timeline-strip .timeline-track{background:#ffffff14;border-radius:999px;height:24px;position:relative}.timeline-marker{cursor:pointer;z-index:2;border:2px solid #0000;border-radius:50%;width:16px;height:16px;position:absolute;top:4px;transform:translate(-50%)}.timeline-marker.past{background:#64748b}.timeline-marker.current{background:#22d3ee}.timeline-marker.upcoming{background:#facc15}.timeline-scrubber{opacity:0;cursor:pointer;z-index:1;position:absolute;inset:0}.timeline-detail{background:#020617cc;border:1px solid #94a3b84d;border-radius:.75rem;padding:.75rem}.detail-badges{gap:.5rem;margin-bottom:.35rem;display:flex}.timeline-detail h4{margin:.35rem 0}.timeline-detail p{margin:.2rem 0}.timeline-page,.timeline-visualization{flex-direction:column;gap:1rem;display:flex}.timeline-scrubber-panel{background:#0f172a99;border:1px solid #94a3b84d;border-radius:1rem;padding:1rem}.timeline-main-panel{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;display:grid}.timeline-columns{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.timeline-column{background:#020617d9;border:1px solid #94a3b84d;border-radius:.75rem;padding:.75rem}.timeline-card{background:#0f172a80;border:1px solid #0000;border-radius:.75rem;margin-bottom:.5rem;padding:.65rem}.timeline-card.selected{background:#38bdf81a;border-color:#38bdf899}.timeline-detail-panel{background:#020617e6;border:1px solid #94a3b84d;border-radius:1rem;min-height:240px;padding:1rem}.focus-link,.focus-button{text-transform:uppercase;letter-spacing:.15em;color:#22d3ee;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.focus-button{margin-top:.75rem;text-decoration:none;display:inline-flex}.timeline-dot{border:2px solid #fff6;border-radius:50%;width:12px;height:12px;position:absolute;top:-4px;transform:translate(-50%)}.timeline-dot.past{background:#6b7280}.timeline-dot.current{background:#22d3ee}.timeline-dot.upcoming{background:#facc15}.vehicle-page .vehicle-main{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1rem;margin-top:1rem;display:grid}.vehicle-schematic-card{background:#0f172ab3;border:1px solid #94a3b84d;border-radius:1rem;flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.vehicle-schematic{aspect-ratio:1;width:100%}.vehicle-schematic svg{width:100%;height:100%}.vehicle-schematic-lights{gap:.35rem;margin-top:.35rem;display:flex}.vehicle-status-lamp{border:1px solid #94a3b899;border-radius:50%;width:10px;height:10px}.vehicle-status-lamp.live{background:#34d399}.vehicle-status-lamp.stale{background:#facc15}.vehicle-status-lamp.offline{background:#94a3b8}.vehicle-header-badges{align-items:center;gap:.5rem;display:flex}.vehicle-schematic-frame{width:100%;position:relative}.vehicle-schematic-overlay{background:#020617bf;border:1px solid #94a3b866;border-radius:.75rem;flex-direction:column;gap:.15rem;padding:.5rem .75rem;display:flex;position:absolute;bottom:1rem;left:1rem;right:1rem}.vehicle-schematic-meta .chip-row{align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.vehicle-panels-wrapper{flex-direction:column;gap:1rem;display:flex}.vehicle-panels-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.vehicle-panel-highlights{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.panel-highlight{background:linear-gradient(135deg,#38bdf826,#0f172acc);border:1px solid #38bdf84d;border-radius:1rem;padding:.75rem}.panel-highlight header{justify-content:space-between;align-items:center;display:flex}.panel-highlight-value{color:#cbd5f5;margin:.25rem 0;font-size:.85rem}.panel-highlight-meta{color:#94a3b8;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.highlight-bar{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.highlight-bar span{background:linear-gradient(90deg,#3b82f6,#22d3ee);border-radius:999px;height:100%;display:block}.vehicle-panel-card{background:#020617cc;border:1px solid #94a3b84d;border-radius:1rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.vehicle-panel-card header{justify-content:space-between;align-items:center;display:flex}.vehicle-panel-card .panel-title{margin:0}.vehicle-panel-card .panel-meta{color:#94a3b8;font-size:.75rem}.panel-card .fields{flex-direction:column;gap:.5rem;display:flex}.status-chip{text-transform:uppercase;letter-spacing:.1em;background:#0f172ab3;border:1px solid #94a3b866;border-radius:999px;padding:.15rem .6rem;font-size:.65rem}.status-chip.live{color:#34d399;border-color:#34d39999}.status-chip.stale{color:#facc15;border-color:#fbbf2499}.status-chip.offline{color:#94a3b8}.empty-note{color:#94a3b8;margin:.5rem 0;font-size:.85rem}.mission-page .mission-timeline-card .empty-note,.timeline-card .empty-note{font-size:.8rem}@media (max-width:1024px){.crew-stream-grid{grid-template-columns:1fr}}@media (max-width:900px){.mission-lower-grid,.timeline-main-panel,.vehicle-page .vehicle-main{grid-template-columns:1fr}}.mission-page{padding:0}.mission-topbar{background:#0f172acc;border:1px solid #94a3b833;border-radius:.75rem;padding:.75rem 1.25rem}.topbar-title{letter-spacing:.05em;color:#f1f5f9;margin:0;font-size:1.1rem;font-weight:700}.topbar-met{color:#38bdf8;letter-spacing:.05em;font-family:Courier New,monospace;font-size:.9rem;font-weight:600}.topbar-ts{color:#64748b;font-size:.75rem}.live-user-count{color:#94a3b8;letter-spacing:.03em;white-space:nowrap;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:inline-flex}.live-user-dot{background:#34d399;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite live-pulse;box-shadow:0 0 5px #34d399}@keyframes live-pulse{0%,to{opacity:1;transform:translate(-50%)scale(1)}50%{opacity:.6;transform:translate(-50%)scale(1.4)}}.topbar-support-btn{color:#fda4af;letter-spacing:.03em;white-space:nowrap;background:#fb71851a;border:1px solid #fb718573;border-radius:9999px;align-items:center;gap:.3em;padding:.3rem .75rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.topbar-support-btn:hover{color:#fff1f2;background:#fb718538;border-color:#fb7185b3}.support-panel{background:#18181b;border:1px solid #27272a;border-radius:.75rem;padding:1.25rem 1.5rem}.support-panel-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.support-panel-text{flex:1;min-width:0}.support-panel-title{color:#f4f4f5;letter-spacing:.02em;margin:0 0 .35rem;font-size:1rem;font-weight:700}.support-panel-desc{color:#a1a1aa;margin:0;font-size:.82rem;line-height:1.5}.support-panel-btn{color:#fde68a;white-space:nowrap;background:#fbbf241f;border:1px solid #fbbf2459;border-radius:.5rem;flex-shrink:0;align-items:center;gap:.4em;padding:.55rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.support-panel-btn:hover{color:#fffbeb;background:#fbbf243d;border-color:#fbbf2499}@media (max-width:640px){.support-panel-inner{flex-direction:column;align-items:flex-start}.support-panel-btn{justify-content:center;width:100%}}.mission-scene-wrapper{border-radius:1rem;min-height:480px;overflow:hidden}.mission-stats-panel{flex:1}.stats-grid{grid-template-columns:1fr 1fr;gap:.5rem 1rem;display:grid}.stat-item{flex-direction:column;gap:.1rem;display:flex}.stat-unit{color:#94a3b8;font-size:.7rem;font-weight:400}.stat-value-sm{color:#e2e8f0;margin:0;font-size:.8rem;font-weight:500}.current-activity{background:#0f172a99;border:1px solid #94a3b81f;border-radius:.75rem;flex-direction:column;gap:.4rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.current-activity-row{align-items:baseline;gap:.6rem;display:flex}.current-activity-label{text-transform:uppercase;letter-spacing:.1em;color:#475569;flex-shrink:0;min-width:2.5rem;font-size:.65rem;font-weight:700}.current-activity-text{color:#e2e8f0;font-size:.875rem;font-weight:500;line-height:1.3}.current-activity-row--next .current-activity-label{color:#64748b}.current-activity-text--next{color:#fbbf24;font-size:.82rem;font-weight:400}.htimeline{padding:0}.htimeline-counts{gap:.4rem;display:flex}.htl-pill{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;font-weight:600}.htl-pill.past{color:#94a3b8;background:#47556966}.htl-pill.current{color:#34d399;background:#10b98133}.htl-pill.upcoming{color:#fbbf24;background:#fbbf2426}.htimeline-scroll{scrollbar-width:thin;scrollbar-color:#94a3b833 transparent;gap:.75rem;padding:1.5rem 0 .75rem;display:flex;position:relative;overflow-x:auto}.htimeline-scroll::-webkit-scrollbar{height:4px}.htimeline-scroll::-webkit-scrollbar-track{background:0 0}.htimeline-scroll::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:2px}.htl-line{pointer-events:none;background:linear-gradient(90deg,#0000,#94a3b833 5% 95%,#0000);height:2px;position:absolute;top:2.35rem;left:0;right:0}.htl-card{text-align:left;cursor:pointer;background:#0f172ab3;border:1px solid #94a3b826;border-radius:.75rem;flex-direction:column;flex:none;align-items:flex-start;gap:.2rem;width:180px;padding:.65rem .75rem;transition:border-color .15s,background .15s;display:flex;position:relative}.htl-card:hover{background:#1e293bcc;border-color:#94a3b866}.htl-card.htl-current{background:#10b98114;border-color:#34d39980}.htl-card.htl-upcoming{border-color:#fbbf244d}.htl-card.htl-past{opacity:.55}.htl-card.htl-selected{opacity:1!important;background:#38bdf814!important;border-color:#38bdf8!important}.htl-dot-outer{background:#0f172ae6;border:2px solid #94a3b84d;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;display:flex;position:absolute;top:-.85rem;left:50%;transform:translate(-50%)}.htl-card.htl-current .htl-dot-outer{border-color:#34d399}.htl-card.htl-upcoming .htl-dot-outer{border-color:#fbbf24}.htl-card.htl-selected .htl-dot-outer{border-color:#38bdf8}.htl-dot-inner{background:#94a3b880;border-radius:50%;width:5px;height:5px}.htl-card.htl-current .htl-dot-inner{background:#34d399}.htl-card.htl-upcoming .htl-dot-inner{background:#fbbf24}.htl-card.htl-selected .htl-dot-inner{background:#38bdf8}.htl-status-label{letter-spacing:.1em;text-transform:uppercase;color:#64748b;font-size:.65rem;font-weight:700}.htl-card.htl-current .htl-status-label{color:#34d399}.htl-card.htl-upcoming .htl-status-label{color:#fbbf24}.htl-card-title{color:#e2e8f0;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.htl-card-time{color:#64748b;font-size:.68rem}.htl-card-type{color:#475569;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.htl-detail{background:#1e293b80;border:1px solid #38bdf833;border-radius:.6rem;margin-top:.75rem;padding:.75rem 1rem}.htl-detail-title{color:#f1f5f9;margin:.15rem 0;font-size:.95rem;font-weight:600}.htl-detail-desc{color:#94a3b8;margin:.25rem 0 0;font-size:.82rem;line-height:1.5}.systems-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.sys-card{background:#1e293b80;border:1px solid #94a3b81a;border-radius:.5rem;padding:.6rem .75rem}.sys-title{color:#cbd5e1;margin:0;font-size:.75rem;font-weight:600}.sys-value{color:#f1f5f9;margin:.1rem 0 0;font-size:.85rem;font-weight:500}.sys-source{color:#475569;text-transform:uppercase;letter-spacing:.06em;margin:.15rem 0 0;font-size:.65rem}.records-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.record-card{background:#1e293b66;border:1px solid #94a3b81a;border-radius:.6rem;padding:.75rem}.record-card.record-achieved{background:#10b9810f;border-color:#34d3994d}.record-icon{flex-shrink:0;font-size:1rem;line-height:1}.record-icon.achieved{color:#34d399}.record-icon.pending{color:#475569}.record-label{color:#e2e8f0;margin:0 0 .15rem;font-size:.82rem;font-weight:600}.record-ref{color:#64748b;margin:0 0 .1rem;font-size:.72rem}.record-threshold{color:#94a3b8;margin:0;font-size:.7rem;font-weight:600}.record-pct{color:#94a3b8;flex-shrink:0;font-size:.8rem;font-weight:700}.sg-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.sg-card{background:#0f172ab3;border:1px solid #94a3b81f;border-radius:.6rem;flex-direction:column;gap:.35rem;min-width:0;padding:.65rem .75rem;display:flex}.sg-card--comms{background:#10b9810d;border-color:#34d39940}.sg-card--placeholder{opacity:.45}.sg-header{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.sg-icon{color:#475569;flex-shrink:0;font-size:.8rem}.sg-title{color:#cbd5e1;text-transform:uppercase;letter-spacing:.06em;flex:1;min-width:0;font-size:.78rem;font-weight:700}.sg-fields{flex-direction:column;gap:.2rem;margin-top:.15rem;display:flex}.sg-field{justify-content:space-between;align-items:baseline;gap:.4rem;min-width:0;display:flex}.sg-label{color:#64748b;white-space:nowrap;flex-shrink:0;font-size:.68rem}.sg-val{color:#e2e8f0;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;font-weight:500;overflow:hidden}.sg-val.sg-na{color:#475569}.sg-unit{color:#64748b;font-size:.65rem;font-weight:400}.sg-provenance{color:#334155;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.1rem 0 0;font-size:.62rem;line-height:1.3;display:-webkit-box;overflow:hidden}.sg-empty{color:#334155;margin:0;font-size:.72rem;font-style:italic}.htl-card.htl-current .htl-dot-outer{animation:1.8s ease-in-out infinite live-pulse}.htl-card.htl-current .htl-status-label{color:#34d399;font-weight:800}.htl-detail--live{background:#10b98114!important;border-color:#34d39973!important}.timeline-dot--live{animation:1.8s ease-in-out infinite live-pulse}.mission-hero{background:#020617d9;border:1px solid #94a3b81f;border-radius:1rem;grid-template-columns:1fr 1fr;gap:0;min-height:320px;display:grid;position:relative;overflow:hidden}.mission-hero:before{content:"";pointer-events:none;background:radial-gradient(60% 80% at 20%,#38bdf80a 0%,#0000 70%),radial-gradient(40% 60% at 80% 20%,#8b5cf60a 0%,#0000 70%);position:absolute;inset:0}.hero-left{z-index:1;border-right:1px solid #94a3b814;flex-direction:column;justify-content:space-between;padding:2rem 2rem 1.75rem;display:flex;position:relative}.hero-phase{letter-spacing:-.02em;color:#f1f5f9;margin:.5rem 0 .4rem;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:800;line-height:1.1}.hero-phase-desc{color:#64748b;max-width:38ch;margin:0 0 1.25rem;font-size:.875rem;line-height:1.55}.hero-activity-block{background:#0f172a99;border:1px solid #94a3b81a;border-radius:.6rem;flex-direction:column;gap:.55rem;padding:.9rem 1rem;display:flex}.hero-activity-row{flex-direction:column;gap:.15rem;display:flex}.hero-activity-label{text-transform:uppercase;letter-spacing:.12em;color:#475569;font-size:.65rem;font-weight:700}.hero-activity-value{color:#e2e8f0;font-size:.85rem;font-weight:500;line-height:1.4}.hero-activity-value--next{color:#fbbf24}.hero-right{z-index:1;flex-direction:column;gap:1.1rem;padding:1.75rem 2rem;display:flex;position:relative}.hero-right-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hero-right-header-left{align-items:center;gap:.5rem;display:flex}.hero-stats-grid{flex:1;grid-template-columns:repeat(3,1fr);gap:.75rem 1.25rem;display:grid}.hero-stat{flex-direction:column;gap:.2rem;display:flex}.hero-stat-label{text-transform:uppercase;letter-spacing:.1em;color:#475569;white-space:nowrap;font-size:.65rem;font-weight:700}.hero-stat-value{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.92rem;font-weight:600;overflow:hidden}.hero-stat-value--accent{color:#38bdf8;letter-spacing:.03em;font-family:Courier New,monospace;font-size:.88rem}.hero-stat-unit{color:#64748b;font-size:.7rem;font-weight:400}.hero-sync-note{color:#334155;margin:auto 0 0;font-size:.68rem}.hero-utc-clock{letter-spacing:.05em;color:#38bdf8;font-family:Courier New,monospace;font-size:1rem;font-weight:700}@media (max-width:768px){.mission-hero{grid-template-columns:1fr;min-height:auto}.hero-left{border-bottom:1px solid #94a3b814;border-right:none}.hero-stats-grid{grid-template-columns:repeat(2,1fr)}}.tl-wrapper{flex-direction:column;gap:0;padding:.9rem 1.25rem .75rem;display:flex;overflow:hidden}.tl-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.tl-counts{gap:.35rem;display:flex}.tl-chip{text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.15rem .55rem;font-size:.65rem;font-weight:700}.tl-chip--past{color:#64748b;background:#47556940}.tl-chip--current{color:#34d399;background:#10b98126}.tl-chip--upcoming{color:#fbbf24;background:#fbbf241f}.tl-track{scrollbar-width:thin;scrollbar-color:#94a3b826 transparent;flex-shrink:0;align-items:flex-start;gap:0;min-height:100px;padding:.5rem 0 .6rem;display:flex;overflow:auto hidden}.tl-track::-webkit-scrollbar{height:3px}.tl-track::-webkit-scrollbar-track{background:0 0}.tl-track::-webkit-scrollbar-thumb{background:#94a3b826;border-radius:2px}.tl-node{cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;flex:none;align-items:center;gap:.3rem;min-width:100px;max-width:130px;padding:.25rem .5rem 0;display:flex;position:relative}.tl-node:hover .tl-circle{border-color:#38bdf8}.tl-connector{pointer-events:none;background:#94a3b82e;width:50%;height:1px;position:absolute;top:calc(.25rem + 8px)}.tl-connector--left{right:50%}.tl-connector--right{left:50%}.tl-node--past .tl-connector{background:#64748b66}.tl-node--current .tl-connector{background:#34d39959}.tl-circle{z-index:1;background:#020617;border:2px solid #94a3b840;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:border-color .15s;display:flex;position:relative}.tl-node--past .tl-circle{background:#334155;border-color:#475569}.tl-node--past .tl-circle-dot{background:#64748b;border-radius:50%;width:6px;height:6px}.tl-node--current .tl-circle{background:#10b98126;border-color:#34d399}.tl-node--current .tl-circle-dot{background:#34d399;border-radius:50%;width:6px;height:6px}.tl-circle-pulse{opacity:0;border:2px solid #34d399;border-radius:50%;animation:2s ease-out infinite tl-pulse;position:absolute;inset:-4px}@keyframes tl-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.tl-node--upcoming .tl-circle{background:0 0;border-color:#fbbf2459}.tl-node--upcoming .tl-circle-dot{display:none}.tl-node--selected .tl-circle{box-shadow:0 0 0 3px #38bdf826;background:#38bdf81f!important;border-color:#38bdf8!important}.tl-label{color:#cbd5e1;-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;max-width:110px;font-size:.7rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.tl-node--past .tl-label{color:#64748b}.tl-node--current .tl-label{color:#e2e8f0}.tl-node--selected .tl-label{color:#f1f5f9!important}.tl-time{color:#475569;white-space:nowrap;font-size:.6rem}.tl-node--current .tl-time{color:#34d399}.tl-progress-rail{background:#ffffff0d;border-radius:999px;flex-shrink:0;height:4px;margin:.5rem 0 .35rem;overflow:hidden}.tl-progress-fill{background:linear-gradient(90deg,#0ea5e9,#34d399);border-radius:999px;height:100%;transition:width .6s}.tl-progress-label{color:#334155;text-align:right;margin:0;font-size:.62rem}
