:root{color-scheme:dark;--background: #101315;--background-raised: #171b1e;--background-subtle: #1d2225;--text: #f1ece2;--text-muted: #aaa79f;--line: #343a3d;--line-strong: #555c5f;--copper: #c78b4d;--copper-light: #e0ad72;--blue: #6fa4bc;--blue-light: #a2cadb;--green: #78a981;--red: #d27b70;--focus: #efc58e;--measure: 1600px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--background)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--background);font-size:15px;line-height:1.5}button,select,input{font:inherit}button,select{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p,dl,dd,figure{margin-top:0}h1{margin-bottom:.35rem;max-width:18ch;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,2.5vw,2.45rem);font-weight:400;line-height:1.06;letter-spacing:-.025em}h2{margin-bottom:1rem;font-size:1rem;font-weight:600;letter-spacing:.02em}h3{margin-bottom:1rem;font-size:1rem;font-weight:600}.app-shell{width:min(100%,var(--measure));min-height:100vh;margin:0 auto;padding:26px clamp(18px,3vw,48px) 22px}.app-shell.is-dragging:after{position:fixed;z-index:20;inset:14px;display:grid;place-items:center;border:2px dashed var(--copper-light);background:#101315eb;color:var(--text);content:"Drop an AURA-Q JSON report to open it locally";font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:.02em;text-align:center}.app-header{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(360px,1fr) auto;gap:24px;align-items:end;padding-bottom:22px;border-bottom:1px solid var(--line-strong)}.eyebrow,.section-kicker{margin-bottom:.4rem;color:var(--copper-light);font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.file-label{margin-bottom:0;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;overflow-wrap:anywhere}.report-metadata{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin-bottom:0}.report-metadata div{min-width:0}.report-metadata dt,.summary-grid dt,.optimization-facts dt{color:var(--text-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.report-metadata dd{margin:2px 0 0;font-size:.82rem;overflow-wrap:anywhere}.header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;justify-content:flex-end}.button,.segmented-control button,.scenario-toggle button,.detail-tabs button{min-height:38px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:3px;color:var(--text);background:transparent;cursor:pointer;transition:border-color .13s ease,color .13s ease,background-color .13s ease}.button:hover,.segmented-control button:hover,.scenario-toggle button:hover,.detail-tabs button:hover{border-color:var(--copper-light)}.button-primary{border-color:var(--copper);background:var(--copper);color:#141719;font-weight:700}.button-primary:hover{border-color:var(--copper-light);background:var(--copper-light)}.segmented-control,.scenario-toggle{display:flex;gap:4px;margin:0;padding:0;border:0}.segmented-control legend,.scenario-toggle legend{width:100%;margin-bottom:4px;color:var(--text-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.segmented-control button[aria-pressed=true],.scenario-toggle button[aria-pressed=true],.detail-tabs button[aria-selected=true]{border-color:var(--blue);background:#6fa4bc24;color:var(--blue-light)}.status-message{display:flex;gap:8px;margin:16px 0 0;padding:10px 12px;border-left:3px solid var(--blue);background:var(--background-raised);font-size:.86rem}.status-message strong{white-space:nowrap}.status-error{border-color:var(--red)}.status-warning{border-color:var(--copper)}.workspace{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(330px,.8fr);gap:clamp(26px,3vw,50px);padding:clamp(24px,3vw,44px) 0 30px}.workspace[hidden]{display:none}.trajectory-panel,.information-panel{min-width:0}.panel-heading{display:flex;gap:22px;align-items:end;justify-content:space-between;margin-bottom:14px}.panel-heading h2{margin-bottom:0}.route-controls{display:grid;grid-template-columns:auto minmax(190px,1fr) auto;gap:8px 10px;align-items:center;max-width:660px}.field-label{color:var(--text-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.select-control{min-height:38px;width:100%;padding:6px 34px 6px 9px;border:1px solid var(--line-strong);border-radius:3px;background:var(--background-raised)}.check-control{display:inline-flex;gap:7px;align-items:center;white-space:nowrap;cursor:pointer}.check-control input{width:17px;height:17px;accent-color:var(--copper)}.scenario-toggle{grid-column:2 / -1;align-items:end}.scenario-toggle legend{width:auto;margin:0 4px 8px 0}.trajectory-stage{position:relative;min-height:360px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-color:#121618;background-image:linear-gradient(rgb(255 255 255 / 2%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 2%) 1px,transparent 1px);background-size:32px 32px}.trajectory-canvas{position:relative;width:100%}.trajectory-canvas svg{display:block;width:100%;height:auto;min-height:360px}.trajectory-leg{fill:none;stroke:var(--copper-light);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke-width .13s ease,opacity .13s ease}.trajectory-leg:hover,.trajectory-leg:focus-visible{stroke-width:5}.trajectory-leg-schematic{stroke-dasharray:9 7}.route-layer-alternative .trajectory-leg{stroke:var(--blue);stroke-width:1.5;stroke-dasharray:7 7;opacity:.45;pointer-events:none}.direction-arrow{fill:var(--copper-light)}.sun-marker circle{fill:var(--copper-light);stroke:#f3d8a9;stroke-width:2}.sun-marker text,.encounter-label,.projection-label,.distance-scale text{fill:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;paint-order:stroke;stroke:#121618;stroke-width:4px;stroke-linejoin:round}.projection-label,.distance-scale text{fill:var(--text-muted);font-size:12px;letter-spacing:.04em}.distance-scale line{stroke:var(--text-muted);stroke-width:1;vector-effect:non-scaling-stroke}.encounter-marker{cursor:pointer}.encounter-marker>circle:not(.flyby-ring){fill:var(--blue-light);stroke:#15191b;stroke-width:2;vector-effect:non-scaling-stroke}.encounter-marker:hover>circle:not(.flyby-ring),.encounter-marker:focus>circle:not(.flyby-ring){fill:var(--text)}.flyby-ring{fill:none;stroke:var(--copper-light);stroke-width:2;vector-effect:non-scaling-stroke}.encounter-arrival>circle:not(.flyby-ring){fill:var(--copper-light)}.trajectory-tooltip{position:absolute;z-index:3;display:grid;width:min(210px,calc(100% - 16px));padding:9px 11px;border:1px solid var(--line-strong);border-radius:2px;background:#202529;box-shadow:0 8px 20px #0000004d;color:var(--text);font-size:.76rem;pointer-events:none}.trajectory-tooltip[hidden]{display:none}.trajectory-tooltip span{color:var(--text-muted)}.trajectory-caption{display:flex;gap:18px;align-items:start;justify-content:space-between;padding-top:11px;color:var(--text-muted);font-size:.75rem}.trajectory-caption p{max-width:60ch;margin-bottom:0}.legend-list{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:flex-end;margin:0;padding:0;list-style:none}.legend-list li{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.legend-swatch{display:inline-block;flex:none;width:20px;height:2px;background:var(--copper-light)}.legend-alternative,.legend-schematic{background:repeating-linear-gradient(90deg,var(--blue) 0 5px,transparent 5px 8px)}.legend-flyby{width:10px;height:10px;border:2px solid var(--copper-light);border-radius:50%;background:transparent}.legend-arrival{width:9px;height:9px;border-radius:50%}.information-panel{padding-left:clamp(18px,2vw,30px);border-left:1px solid var(--line)}.selected-route-name{margin-bottom:8px;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400}.badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.badge{padding:2px 7px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text-muted);font-size:.7rem;letter-spacing:.04em}.badge-feasible{border-color:var(--green);color:#b7d9bd}.badge-infeasible{border-color:var(--red);color:#e7aaa1}.badge-exact{border-color:var(--copper);color:var(--copper-light)}.badge-qaoa{border-color:var(--blue);color:var(--blue-light)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line)}.summary-metric{min-width:0;padding:11px 10px 11px 0;border-bottom:1px solid var(--line)}.summary-metric:nth-child(2n){padding-left:10px;border-left:1px solid var(--line)}.summary-grid dd{margin:3px 0 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.summary-metric-emphasis dd{color:var(--copper-light)}.validation-note,.detail-note,.empty-state,.anomaly-description{color:var(--text-muted);font-size:.86rem}.validation-note{padding-left:10px;border-left:2px solid var(--red)}.detail-tabs{display:flex;gap:4px;margin:27px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line);overflow-x:auto}.detail-tabs button{min-height:34px;padding:5px 9px;white-space:nowrap}.detail-panel h3{margin-bottom:7px}.table-wrapper{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.75rem;font-variant-numeric:tabular-nums}.data-table th,.data-table td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}.data-table th{color:var(--text-muted);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.data-table tr.is-highlighted td{background:#c78b4d1c;color:var(--copper-light)}.optimization-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 24px;border-top:1px solid var(--line)}.optimization-facts>div{padding:9px 8px 9px 0;border-bottom:1px solid var(--line)}.optimization-facts>div:nth-child(2n){padding-left:8px;border-left:1px solid var(--line)}.optimization-facts dd{margin:2px 0 0;font-size:.84rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.probability-chart figcaption{margin-bottom:12px;font-size:.82rem;font-weight:600}.probability-row{display:grid;grid-template-columns:minmax(92px,1.1fr) minmax(80px,1fr) auto;gap:8px;align-items:center;margin-bottom:7px;font-size:.74rem}.probability-label{overflow-wrap:anywhere}.probability-track{height:8px;background:var(--background-subtle)}.probability-bar{display:block;height:100%;background:var(--blue)}.is-invalid-state .probability-bar{background:var(--line-strong)}.probability-value{min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.scenario-status{display:inline-block;margin-bottom:10px;padding:2px 7px;border:1px solid var(--blue);border-radius:2px;color:var(--blue-light);font-size:.72rem}.app-footer{display:flex;gap:16px;justify-content:space-between;padding-top:16px;border-top:1px solid var(--line-strong);color:var(--text-muted);font-size:.72rem}.app-footer p{margin-bottom:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1180px){.app-header{grid-template-columns:minmax(260px,1fr) minmax(340px,1fr)}.header-actions{grid-column:1 / -1;justify-content:flex-start}.workspace{grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr)}.panel-heading{align-items:start;flex-direction:column}.route-controls{width:100%}}@media(max-width:860px){.app-header,.workspace{grid-template-columns:1fr}.workspace{gap:34px}.information-panel{padding-top:25px;padding-left:0;border-top:1px solid var(--line-strong);border-left:0}.trajectory-caption{flex-direction:column}.legend-list{justify-content:flex-start}}@media(max-width:620px){.app-shell{padding:18px 14px}.app-header{gap:18px}.report-metadata{grid-template-columns:1fr 1fr}.header-actions{align-items:stretch}.segmented-control{flex-basis:100%}.segmented-control button{flex:1}.status-message,.app-footer{flex-direction:column}.status-message strong{white-space:normal}.route-controls{grid-template-columns:1fr}.field-label{margin-bottom:-4px}.scenario-toggle{grid-column:1}.trajectory-stage,.trajectory-canvas svg{min-height:310px}.trajectory-canvas svg{overflow:visible}.sun-marker text,.encounter-label{font-size:28px}.projection-label,.distance-scale text{font-size:22px}.summary-grid,.optimization-facts{grid-template-columns:1fr}.detail-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.detail-tabs button{width:100%}.summary-metric:nth-child(2n),.optimization-facts>div:nth-child(2n){padding-left:0;border-left:0}.table-wrapper{overflow:visible}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table thead{display:none}.data-table tr{margin-bottom:16px;padding:6px 0;border-top:1px solid var(--line-strong)}.data-table td{display:grid;grid-template-columns:minmax(120px,.85fr) 1.15fr;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);white-space:normal}.data-table td:before{color:var(--text-muted);content:attr(data-label);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}.probability-row{grid-template-columns:minmax(80px,1fr) minmax(60px,1fr) auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
