.drive-lab{--drive-blue:#246b9c;--drive-ink:#16324b;--drive-line:#d9e3eb;color:var(--drive-ink)}
.drive-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 26px}.drive-intro h2{font-size:30px;line-height:1.3;letter-spacing:-.025em;margin:0 0 9px}.drive-intro p,.drive-title p{color:#607b8f;margin:0;line-height:1.75}.drive-local{font-size:12px;white-space:nowrap;border-left:3px solid #278778;padding:5px 12px;color:#317568}
.drive-index{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--drive-line);margin-bottom:28px;gap:6px}.drive-index button{border:0;border-bottom:3px solid transparent;background:transparent;padding:15px 10px;color:#4a6479;text-align:left;font-family:inherit;font-size:15px;cursor:pointer}.drive-index button[aria-pressed=true]{border-bottom-color:var(--drive-blue);background:#eaf2f8;color:#174b71}.drive-index button span{display:block;font-size:11px;font-variant-numeric:tabular-nums;opacity:.65;margin-bottom:6px}.drive-index small{display:block;font-size:10px;margin-top:7px;opacity:.8;line-height:1.5}.drive-title{margin:0 0 22px}.drive-title h3{font-size:23px;margin:0 0 8px}
.drive-workbench{display:grid;grid-template-columns:255px minmax(0,1fr);border:1px solid var(--drive-line);border-radius:12px;overflow:hidden;background:#fff}.drive-controls{padding:24px 20px;border-right:1px solid var(--drive-line)}.drive-controls h4{margin:0 0 22px;font-size:16px}.drive-field{display:block;margin-bottom:20px}.drive-field>span{display:flex;gap:10px;justify-content:space-between;font-size:13px;line-height:1.6;margin-bottom:10px}.drive-field output{color:#246b9c;font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}.drive-field input[type=range]{width:100%;accent-color:#357cae}.drive-field select{max-width:100%;width:100%;padding:8px;border:1px solid #bbcddb;background:#fff;color:#234963;border-radius:5px}.drive-toggle{display:flex;gap:9px;align-items:start;font-size:13px;line-height:1.5;margin:16px 0}.drive-toggle input{accent-color:#246b9c;margin-top:3px}.drive-controls>button{width:100%;margin:7px 0;padding:9px 7px;border-radius:6px;border:1px solid #c7d6e2;background:#fff;color:#2d5d7f;font-family:inherit;cursor:pointer}.drive-controls>button.drive-run{background:#246b9c;color:#fff;border-color:#246b9c}.drive-small{font-size:12px;color:#71889a;line-height:1.7}
.drive-visual{min-width:0}.drive-visual-heading{padding:18px 22px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #e3ebf2;font-size:14px}.drive-visual-heading span{font-size:12px;color:#6a859a;font-variant-numeric:tabular-nums}.drive-scene{background:#f2f6fa;min-height:260px;display:flex;align-items:center}.drive-scene>svg{display:block;width:100%;height:auto;font-family:inherit;overflow:hidden}.drive-legend{font-size:11px;line-height:1.6;padding:12px 21px;color:#677f91;border-top:1px solid #e3ebf2}.drive-transport{display:flex;gap:9px;align-items:center;padding:15px 20px;border-top:1px solid #e3ebf2}.drive-transport button,.drive-record-actions button{border:1px solid #bfd0dd;border-radius:5px;background:#fff;color:#27597d;padding:8px 12px;cursor:pointer;font-family:inherit;white-space:nowrap;font-size:12px}.drive-transport button[aria-pressed=true]{background:#e3eff7}.drive-transport input{flex:1;min-width:35px;accent-color:#347fae}.drive-transport output{font-size:11px;color:#688399;min-width:55px;font-variant-numeric:tabular-nums}.drive-live{padding:15px 21px;color:#3d647f;background:#f2f7fb;font-size:13px;line-height:1.8;min-height:76px}
.drive-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--drive-line);margin:0 0 25px}.drive-metrics>div{padding:21px 18px 22px;border-right:1px solid #e2e9ef}.drive-metrics>div:last-child{border:0}.drive-metrics span{display:block;font-size:12px;color:#6a8294;line-height:1.7}.drive-metrics strong{font-size:24px;display:block;margin-top:8px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.drive-chart:empty{display:none}.drive-chart{margin:0 0 24px;border:1px solid var(--drive-line);background:#fff;border-radius:9px;padding:15px 18px}.drive-chart p{font-size:13px;margin:0 0 4px;color:#58758c}.drive-chart svg{display:block;width:100%;max-height:225px;font-family:inherit}.drive-reading{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:26px}.drive-reading h4{font-size:18px;margin:0 0 15px}.drive-reading ol{padding-left:22px;margin:0}.drive-reading li{padding:6px 0;color:#476a83;font-size:14px;line-height:1.75}.drive-reading p{font-size:13px;color:#647f93;line-height:1.7}.drive-record-actions{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.drive-reading table{width:100%;border-collapse:collapse;font-size:12px}.drive-reading th,.drive-reading td{text-align:left;padding:9px 8px;border-bottom:1px solid #dce5ed}.drive-reading thead th{border-top:1.5px solid #65839a;border-bottom:1px solid #65839a}.drive-reading tbody th{font-weight:500}.drive-boundary{margin-top:30px;padding:18px 0;border-top:1px solid var(--drive-line);color:#607c91;font-size:12px;line-height:1.8}.drive-boundary summary{cursor:pointer;font-size:13px}.drive-error{padding:35px;font-size:14px;line-height:1.8;color:#a24844}.drive-lab button:focus-visible,.drive-lab input:focus-visible,.drive-lab select:focus-visible{outline:3px solid #7faed1;outline-offset:3px}.aut-feature-launch,.aut-module-launch{display:inline-block;background:#e9f2f8;color:#245e88;border:1px solid #bdd0e0;border-radius:5px;padding:8px 13px;cursor:pointer;font-family:inherit;margin:11px 0;font-size:13px}.aut-inline-sources details{font-size:11px}.aut-inline-sources summary{cursor:pointer;display:inline;color:#71889a}.aut-inline-sources details[open] summary{margin-bottom:8px}.mechanical-detail{border-top:1px solid #d6e1e9;margin-top:20px;padding-top:16px}.mechanical-detail h3{font-size:18px;color:#204b69}.mechanical-detail dl{font-size:12px;line-height:1.75}.mechanical-detail dt{font-weight:700;margin-top:12px}.mechanical-detail dd{margin:3px 0;color:#60798d}.preview-notice{background:#e9f2f8;border-bottom:1px solid #c9dce9;padding:8px 5%;font-size:12px;line-height:1.7;color:#355f7b}.preview-notice a{color:#1e6398;margin-left:10px;font-weight:650}
@media(max-width:1100px){.drive-workbench{grid-template-columns:220px minmax(0,1fr)}.drive-index button{font-size:13px;padding:13px 7px}.drive-controls{padding:20px 15px}.drive-transport{flex-wrap:wrap}.drive-transport input{min-width:80px}.drive-live{min-height:95px}}
@media(max-width:760px){.drive-intro{display:block;margin-bottom:18px}.drive-intro h2{font-size:25px}.drive-intro p{font-size:13px}.drive-local{display:inline-block;margin-top:13px}.drive-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.drive-index button{font-size:13px}.drive-index button span{display:inline;margin-right:7px}.drive-index small{font-size:10px}.drive-workbench{display:flex;flex-direction:column}.drive-visual{order:0}.drive-controls{order:1;border-right:0;border-top:1px solid var(--drive-line);display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.drive-controls h4,.drive-controls #drive-fields,.drive-controls .drive-small{grid-column:1/-1}.drive-controls #drive-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.drive-field>span{display:block;font-size:12px}.drive-field output{display:block}.drive-field{margin-bottom:17px}.drive-title h3{font-size:20px}.drive-title p{font-size:13px}.drive-scene{min-height:180px}.drive-scene>svg{min-height:180px}.drive-visual-heading{font-size:12px;padding:14px}.drive-legend{font-size:10px;padding:10px 14px}.drive-live{padding:12px 14px;font-size:12px}.drive-transport{padding:11px 14px;gap:7px}.drive-transport input{min-width:70px}.drive-transport output{min-width:46px}.drive-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.drive-metrics>div{padding:17px 12px;border-bottom:1px solid #e2e9ef}.drive-metrics strong{font-size:22px}.drive-reading{grid-template-columns:1fr;gap:24px}.drive-chart{padding:12px 4px}.drive-chart p{padding-left:10px;font-size:11px}.drive-chart svg{min-height:145px}.drive-reading li{font-size:13px}}

/* Compact figures use their own data viewport; large trajectory plots remain
   intentionally scrollable instead of shrinking labels to a few screen pixels. */
.drive-mobile-hint{display:none}
.drive-mobile-panels{width:100%;min-width:0;display:grid;gap:16px;padding:12px 0}
.drive-mobile-panels figure{margin:0;min-width:0}
.drive-mobile-panels figcaption{padding:0 16px 8px;color:#355f7b;font-size:13px;line-height:1.7;font-weight:600}
@media(max-width:760px){
 .drive-scene{min-width:0;width:100%;overflow:hidden}
 .drive-scene>svg{min-height:0}
 .drive-mobile-panels figure>svg{width:100%;height:auto;min-height:0;display:block}
 .drive-mobile-panels svg text{font-size:14px}
 .drive-scene.drive-scene-scroll{display:block;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
 .drive-scene-scroll>svg{width:760px;min-width:760px;max-width:none;height:auto;min-height:0;flex:none}
 .drive-mobile-hint{display:block;margin:0;padding:8px 14px;font-size:11px;line-height:1.7;color:#456b86;background:#edf4f9}
 .drive-mobile-hint[hidden]{display:none!important}
 .drive-chart{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .drive-chart>svg{width:780px;min-width:780px;max-width:none;min-height:0;height:auto}
 .drive-chart>.drive-mobile-hint{position:sticky;left:0;background:#f4f8fb}
}
