.sat-lab{--sat-cyan:#70e2ec;--sat-amber:#ffbc74;--sat-green:#a5e0ba;--sat-ink:#f1f6f6;--sat-muted:#a8bac4;--sat-line:rgba(176,218,228,.22);color:var(--sat-ink);max-width:1350px}.sat-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--sat-muted);font:600 .72rem ui-monospace,Consolas,monospace;letter-spacing:.04em}.sat-badge{color:var(--sat-cyan);letter-spacing:.13em}.sat-intro{font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.4;color:var(--sat-muted);margin:12px 0 20px}.sat-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}.sat-hud{display:flex;justify-content:space-between;gap:10px;align-items:center;font:600 .74rem ui-monospace,Consolas,monospace;color:var(--sat-muted);margin-bottom:10px}.sat-hud strong{color:var(--sat-amber);font-size:.8rem}.sat-arena{position:relative;height:230px;border:1px solid var(--sat-line);border-radius:16px;background:radial-gradient(ellipse at 50% 80%,rgba(53,142,161,.1),transparent 75%),#091724;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.sat-arena.running{cursor:crosshair}.sat-centerline{position:absolute;left:13%;right:13%;top:50%;border-top:1px dashed rgba(158,203,215,.15);pointer-events:none}.sat-position{position:absolute;top:18px;font:600 .7rem ui-monospace,Consolas,monospace;color:#819da9;pointer-events:none}.sat-position-left{left:18%}.sat-position-right{right:18%}.sat-target,.sat-ghost{position:absolute;top:50%;transform:translate(-50%,-50%);border-radius:50%;padding:0;min-width:0;min-height:0;box-sizing:border-box}.sat-target{background:var(--sat-cyan);border:1px solid #c8fbff;box-shadow:0 0 0 5px rgba(112,226,236,.08),0 0 28px rgba(112,226,236,.3);cursor:crosshair;z-index:2;touch-action:none;-webkit-tap-highlight-color:transparent}.sat-target:focus-visible{outline:3px solid var(--sat-amber);outline-offset:6px}.sat-target.anchor{background:var(--sat-amber);border-color:#ffe3c3;box-shadow:0 0 0 5px rgba(255,188,116,.08),0 0 28px rgba(255,188,116,.25)}.sat-ghost{border:1px solid rgba(112,226,236,.21);background:rgba(112,226,236,.025);pointer-events:none}.sat-arena-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;padding:20px;pointer-events:none}.sat-arena-empty>span{font:300 3rem system-ui,sans-serif;color:var(--sat-cyan);line-height:1}.sat-arena-empty strong{font-size:1.15rem;letter-spacing:-.025em}.sat-arena-empty small{color:var(--sat-muted);font-size:.83rem}.sat-miss{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);color:var(--sat-amber);background:#17242a;padding:5px 10px;border-radius:6px;font:.72rem ui-monospace,Consolas,monospace;pointer-events:none;white-space:nowrap}.sat-status{font-size:.87rem;line-height:1.4;min-height:2.6em;color:var(--sat-muted);margin:11px 0}.sat-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.sat-actions button{font:650 .83rem inherit;color:var(--sat-ink);border:1px solid var(--sat-line);background:transparent;border-radius:9px;padding:10px 14px;cursor:pointer;min-height:41px}.sat-actions button:hover{border-color:var(--sat-cyan)}.sat-actions .sat-primary{display:flex;align-items:center;gap:22px;background:var(--sat-cyan);border-color:var(--sat-cyan);color:#06141b;font-weight:750}.sat-actions .sat-primary:hover{background:#acf1f5}.sat-actions .sat-text-button{padding:8px 3px;border-color:transparent;color:var(--sat-muted);font-size:.76rem;text-decoration:underline;text-underline-offset:4px}.sat-instructions{font-size:.75rem;color:#91aab5;line-height:1.45;max-width:560px;margin:12px 0 0}.sat-result-heading{display:grid;gap:8px;border-top:1px solid var(--sat-line);padding-top:13px}.sat-result-heading>span{font:600 .66rem ui-monospace,Consolas,monospace;letter-spacing:.13em;color:var(--sat-cyan)}.sat-result-heading>strong{font-size:1.15rem;letter-spacing:-.025em}.sat-chart{margin:6px 0 8px;min-height:190px}.sat-chart-empty{height:190px;display:grid;place-content:center;text-align:center;color:var(--sat-muted)}.sat-chart-empty>span{font-size:2.2rem;letter-spacing:1rem;color:var(--sat-line);padding-left:1rem}.sat-chart-empty p{font-size:.85rem;line-height:1.55;margin:9px 0}.sat-chart svg{width:100%;height:auto;display:block;overflow:visible;font-family:ui-monospace,Consolas,monospace}.sat-chart .sat-grid{stroke:rgba(176,218,228,.13);stroke-width:1}.sat-chart text{fill:#a8bac4;font-size:10px}.sat-chart .sat-axis-title{fill:#d1e5e9;font-size:10px}.sat-table-wrap{overflow-x:auto}.sat-table-wrap table{border-collapse:collapse;width:100%;font-size:.74rem;white-space:nowrap}.sat-table-wrap th,.sat-table-wrap td{text-align:right;padding:6px 6px;border-bottom:1px solid rgba(176,218,228,.12)}.sat-table-wrap th{font-weight:500;color:var(--sat-muted);font-size:.66rem}.sat-table-wrap td:first-child,.sat-table-wrap th:first-child{text-align:left;padding-left:0}.sat-swatch{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px}.sat-reading{font-size:.84rem;color:var(--sat-amber);line-height:1.45;margin:13px 0 10px}.sat-method{border-top:1px solid var(--sat-line);padding-top:9px;color:var(--sat-muted);font-size:.73rem;line-height:1.5}.sat-method summary{cursor:pointer;color:var(--sat-ink);padding:4px 0}.sat-method p{margin:9px 0}.sat-lab button:focus-visible,.sat-method summary:focus-visible{outline:3px solid var(--sat-amber);outline-offset:4px}.sat-lab [hidden]{display:none!important}
.sat-actions button{font-family:inherit;font-size:.83rem;font-weight:650}.sat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sat-strategy{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:-4px 0 18px;font-size:.75rem;color:var(--sat-muted)}.sat-strategy label{color:var(--sat-ink)}.sat-strategy select{font:inherit;color:var(--sat-cyan);background:#0c2230;border:1px solid var(--sat-line);border-radius:7px;padding:7px 26px 7px 9px;max-width:100%}.sat-strategy select:focus-visible{outline:3px solid var(--sat-amber);outline-offset:3px}.sat-strategy select:disabled{opacity:.6}.sat-strategy span{font-size:.71rem}
@media(max-width:850px){.sat-layout{grid-template-columns:1fr;gap:24px}.sat-chart{min-height:0;max-width:560px}.sat-chart-empty{height:110px}.sat-results{padding-bottom:10px}.sat-arena{height:215px}.sat-intro{margin-bottom:16px}.sat-topline{font-size:.65rem}.sat-status{min-height:0}}@media(max-width:480px){.sat-topline{align-items:flex-start;flex-direction:column;gap:6px}.sat-hud{font-size:.63rem}.sat-hud strong{font-size:.7rem}.sat-arena{height:200px}.sat-actions{gap:7px}.sat-actions button{padding:9px 11px;font-size:.78rem}.sat-actions .sat-text-button{width:100%;text-align:left}.sat-table-wrap table{font-size:.68rem}.sat-instructions{font-size:.71rem}.sat-result-heading>strong{font-size:1.05rem}.sat-strategy span{width:100%}}@media(prefers-reduced-motion:reduce){.sat-lab *{scroll-behavior:auto;animation:none!important;transition:none!important}}
