*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background-color:#020617;color:#f8fafc;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;overflow-x:hidden}.app-container{width:100%;max-width:1360px;margin:0 auto;padding:1.5rem;color:#f8fafc}@media(max-width:768px){.app-container{padding:.85rem}}@media(max-width:480px){.app-container{padding:.6rem}}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;border-bottom:1px solid #1e293b;padding-bottom:1rem;gap:1rem;flex-wrap:wrap}@media(max-width:900px){.app-header{flex-direction:column;align-items:stretch;gap:.85rem}}.header-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}@media(max-width:600px){.header-controls{gap:.5rem}}.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.5rem;align-items:start}@media(max-width:1080px){.main-layout{grid-template-columns:1fr;gap:1.25rem}}.viewport-card{position:relative;background:#020617;padding:.75rem;border-radius:12px;border:1px solid #1e293b;text-align:center;width:100%;overflow:hidden}@media(max-width:600px){.viewport-card{padding:.5rem}}.viewport-stage-wrapper{position:relative;width:100%;max-width:900px;aspect-ratio:900 / 540;margin:0 auto;border-radius:12px;overflow:hidden;border:1px solid #1e293b;background:#020617;box-shadow:0 4px 20px #0006}.telemetry-grid{margin-top:.75rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(max-width:768px){.telemetry-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media(max-width:420px){.telemetry-grid{grid-template-columns:1fr;gap:.4rem}}.specimen-banner{margin-top:.75rem;background:#0f172a;padding:.65rem .85rem;border-radius:8px;border:1px solid #1e293b;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.sidebar-column{display:flex;flex-direction:column;gap:1.25rem;width:100%;min-width:0}@media(min-width:768px)and (max-width:1080px){.sidebar-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}}.diag-modal-grid{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr;gap:1.25rem;align-items:start}@media(max-width:768px){.diag-modal-grid{grid-template-columns:1fr}}
