/* Keep the walkthrough within Just the Docs, with room for the paired view. */
@media (min-width: 66.5rem) {
  body:has(.gs-app) .main { max-width: 1400px; }
}
.gs-subtitle { color: #626978; }
.gs-app { margin: 2rem 0; color: #26324a; }
.gs-step-nav { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.gs-app button { font: inherit; font-size: 14px; cursor: pointer; border: 1px solid #c6cede; border-radius: 7px; background: #fff; color: #26324a; padding: 9px 12px; line-height: 1.3; }
.gs-app button:hover { background: #edf1f9; }
.gs-app button:focus-visible { outline: 3px solid #4059d8; outline-offset: 3px; }
.gs-app button:disabled { opacity: .45; cursor: default; }
.gs-step-nav button { min-width: 38px; }
.gs-step-nav button[aria-current="step"], .gs-app .gs-primary { background: #4059d8; color: white; border-color: #4059d8; }
.gs-workspace { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(330px, 1.15fr); border: 1px solid #d4dae6; border-radius: 12px; overflow: hidden; background: #fff; }
.gs-explanation { padding: 26px; display: flex; flex-direction: column; }
.gs-kicker { color: #4059d8; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.gs-app h2 { font-size: 25px; line-height: 1.25; margin: 14px 0 20px; }
.gs-app p { font-size: 15px; line-height: 1.7; }
.gs-equation { border-left: 3px solid #4059d8; padding: 12px 14px; margin: 14px 0; background: #f2f4fb; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.gs-observe { color: #46536b; padding-top: 10px; }
.gs-controls { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 26px; }
.gs-figure { border-left: 1px solid #d4dae6; background: #f7f9fd; padding: 20px; min-width: 0; }
.gs-figure-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gs-figure-heading span { color: #65728b; font-size: 12px; }
#gs-scene { width: 100%; height: auto; display: block; touch-action: pan-y; cursor: grab; }
#gs-scene:active { cursor: grabbing; }
.gs-view-controls { display: flex; flex-wrap: wrap; gap: 6px; }
.gs-view-controls button { font-size: 12px; padding: 7px 10px; }
.gs-view-controls [aria-pressed="true"] { background: #e4eaf9; border-color: #4059d8; }
.gs-app .gs-orbit-help, .gs-app .gs-geometry-note { font-size: 12px; color: #59667e; }
.gs-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 15px 0; }
.gs-legend-item { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.gs-swatch { width: 18px; height: 3px; display: inline-block; background: var(--vector-color); }
.gs-swatch.gs-dashed { background: repeating-linear-gradient(to right, var(--vector-color) 0 5px, transparent 5px 8px); }
@media (max-width: 900px) {
  .gs-workspace { grid-template-columns: 1fr; }
  .gs-figure { border-left: 0; border-top: 1px solid #d4dae6; }
  .gs-explanation { padding: 20px; }
}
@media print {
  .gs-app { display: none; }
}
