:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#18333d;background:#f5f7f6;font-synthesis:none;--teal:#087e83;--line:#dce5e1;--muted:#637879}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6a640;outline-offset:4px}a{color:inherit;text-decoration:none}main{max-width:1680px;margin:auto;padding:0 40px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:18px;font-weight:650;letter-spacing:.5px}.brand-mark{display:grid;place-items:center;width:40px;height:44px;background:var(--teal);color:#fff;border-radius:13px;font-size:34px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:1.8px;margin-top:5px}.series{font-size:14px;color:var(--muted)}.series b{margin-left:15px;color:var(--teal);font-size:22px}.heading{display:flex;justify-content:space-between;align-items:end;padding:30px 0 27px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:var(--teal);margin:0 0 8px}h1{font-family:Songti SC,"Noto Serif SC",Georgia,serif;font-size:42px;letter-spacing:1px;line-height:1.2;margin:0;font-weight:700;color:#17303e}.subtitle{margin:12px 0 0;font-size:17px;color:var(--muted)}.scene-meta{display:flex;gap:8px;padding-bottom:2px}.scene-meta span{padding:7px 12px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:12px;white-space:nowrap}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:stretch}.viewer{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;min-width:0;box-shadow:0 7px 24px #102d3210}.surface{position:relative;aspect-ratio:16/9;background:#acc5ac;overflow:hidden}.surface canvas{display:block;width:100%;height:100%}.surface:fullscreen{width:100vw;height:100vh;aspect-ratio:auto}.surface:fullscreen canvas{height:100%;width:100%;object-fit:contain}.scene-chip{position:absolute;top:18px;left:20px;background:#fffffff0;border:1px solid #fff;border-radius:8px;padding:7px 11px;font-size:12px;color:#647b7c;display:flex;align-items:center;gap:7px;box-shadow:0 2px 10px #25422b10}.scene-chip strong{color:#193b45;letter-spacing:1px}.key-id{background:#ba4648;color:#fff;border-radius:5px;font-size:16px;font-weight:700;padding:2px 6px}.fullscreen{position:absolute;top:18px;right:18px;border:1px solid #ffffff90;background:#ffffffd9;border-radius:8px;color:#27464c;display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:12px;min-height:36px}svg{width:21px;height:21px;flex-shrink:0}.scene-status{position:absolute;bottom:18px;left:20px;padding:10px 14px;background:#fffdf2ef;border:1px solid #e7d6a5;border-radius:8px;font-size:14px;font-weight:650;display:flex;align-items:center;gap:8px}.status-light{width:8px;height:8px;background:#d39b1d;border-radius:50%}.scene-status.safe{background:#effaf4ef;border-color:#a9d6c3}.safe .status-light{background:#178c6e}.lamp-caption{position:absolute;bottom:18px;right:18px;background:#fff9eae8;border:1px solid #f1d59c;color:#86561c;border-radius:8px;padding:8px 11px;font-size:12px;display:flex;gap:7px;align-items:center}.lamp-icon{font-size:22px;color:#f4a000;font-weight:800}.flashing{animation:amber 1s steps(1) infinite}@keyframes amber{0%,49%{filter:drop-shadow(0 0 4px #ffbd28);opacity:1}50%,to{opacity:.35}}.playback{height:76px;display:flex;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid #edf0ed}.primary{border:0;background:var(--teal);color:#fff;border-radius:9px;padding:11px 18px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:14px}.primary:hover{background:#066b70}.icon-btn{display:grid;place-items:center;min-width:40px;min-height:44px;border:0;color:#567077;background:transparent;border-radius:8px}.icon-btn:hover{background:#edf4f3}.time,.duration{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.time{color:#23474e}.duration{color:#839695}.scrubber{flex:1;width:60px;min-height:28px;accent-color:var(--teal);cursor:pointer}.speed select{background:#f1f5f3;border:1px solid var(--line);border-radius:8px;padding:8px 6px;min-height:40px;color:#37585a;font-size:13px}.overlay-controls{padding:16px 18px;display:flex;gap:12px 17px;flex-wrap:wrap;min-height:56px}.overlay-controls label{display:flex;gap:6px;align-items:center;color:#587172;font-size:12px;cursor:pointer;min-height:24px}.overlay-controls input{margin:0;width:15px;height:15px;accent-color:var(--teal)}.explanation{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px 24px;display:flex;flex-direction:column;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-top .eyebrow{font-size:11px;letter-spacing:1px;margin:0}.state-tag{font-size:11px;padding:4px 8px;background:#fff4d6;color:#946819;border-radius:5px;white-space:nowrap}.state-tag.go{background:#e5f5ee;color:#148264}.explanation h2{font-size:24px;line-height:1.5;margin:19px 0 12px;letter-spacing:.2px}.caption{font-size:15px;line-height:1.9;color:#587072;margin:0 0 20px;min-height:85px}.rule{display:flex;gap:10px;padding:15px 12px;background:#eef7f4;border-radius:10px;border-left:3px solid #3f9b8e}.rule-symbol{border:1.5px solid #398d81;width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border-radius:50%;color:#398d81;font-size:12px;font-weight:700}.rule strong{font-size:13px;color:#276b63}.rule p{font-size:13px;line-height:1.8;margin:6px 0 0;color:#50736e}.attention{margin-top:24px}.attention h3{font-size:12px;letter-spacing:1px;color:#81928f;font-weight:500;margin:0 0 13px}.vehicles{display:grid;gap:12px}.vehicle-row{display:flex;gap:10px;align-items:center}.vehicle-row>span{width:31px;height:31px;border-radius:8px;color:#fff;font-size:18px;font-weight:700;display:grid;place-items:center}.vehicle-row b{font-size:13px;font-weight:500;display:block}.vehicle-row small{display:block;font-size:11px;color:#869592;margin-top:3px}.case-note{margin:auto 0 0;padding-top:20px;font-size:11px;color:#84938e;line-height:1.65}.steps-section{padding:27px 0 0}.steps-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.steps-title h2{font-size:17px;margin:0;font-weight:650}.mode-switch{display:flex;background:#e8efeb;border-radius:8px;padding:3px}.mode-switch button{border:0;background:transparent;border-radius:6px;font-size:12px;padding:8px 13px;color:#728481;min-height:34px}.mode-switch button[aria-pressed=true]{background:#fff;color:var(--teal);box-shadow:0 1px 5px #12302512}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.steps button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;display:flex;align-items:center;gap:10px;color:#6f827f;text-align:left;min-height:66px}.steps button>span{width:28px;height:28px;flex:0 0 28px;border:1px solid #cfdbd4;border-radius:50%;display:grid;place-items:center;font-size:12px}.steps b{font-size:13px;font-weight:550;white-space:nowrap}.steps small{font-size:10px;font-variant-numeric:tabular-nums;margin-left:auto;color:#97a8a0}.steps button.active{background:#eaf5f1;border-color:#57a894;color:#1a766b}.steps button.active>span{background:#278f82;color:#fff;border-color:#278f82}.steps button.completed>span{background:#daeae2;color:#408774;border-color:#daeae2}.steps button:hover{border-color:#379a8a}.step-nav{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:12px}.step-nav button{border:1px solid var(--line);border-radius:8px;padding:9px 15px;color:#4b6a67;background:#fff;min-height:40px;display:flex;gap:8px;align-items:center;font-size:13px}.step-nav>span{color:#94a19b;font-size:12px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#879891;font-size:11px;line-height:1.6;margin-top:28px;padding:20px 0 25px}footer a{color:#527a72;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(min-width:1550px){.caption{font-size:16px}.rule p,.overlay-controls label,.vehicle-row b,.steps b{font-size:14px}}@media(max-width:1150px){main{padding:0 24px}.lesson-layout{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.explanation{padding:20px 18px}.explanation h2{font-size:21px}.scene-meta{display:none}.steps{gap:8px}.steps button{padding:12px;gap:7px}.steps small{display:none}.overlay-controls{gap:8px 13px}.playback{gap:9px;padding:12px}.caption{min-height:0}.brand small{font-size:9px}.case-note{font-size:11px}.scene-chip{font-size:10px;top:12px;left:12px}.fullscreen{top:12px;right:12px}.scene-status{font-size:12px;left:12px;bottom:12px}.lamp-caption{bottom:12px;right:12px}}@media(max-width:920px){.lesson-layout{grid-template-columns:1fr}.explanation{display:grid;grid-template-columns:1.2fr 1fr;gap:0 25px}.panel-top,.explanation h2,.caption{grid-column:1}.rule,.attention{grid-column:2}.rule{grid-row:2/4;align-self:start}.attention{grid-row:4;margin-top:0}.caption{font-size:16px}.explanation h2{font-size:24px}.case-note{grid-column:1;grid-row:4;padding-top:5px}.vehicles{grid-template-columns:1fr}.overlay-controls label{font-size:14px;min-height:30px}.vehicle-row b{font-size:14px}.vehicle-row small{font-size:12px}.rule p{font-size:14px}.panel-top .eyebrow,.scene-chip{font-size:12px}.scene-status{font-size:14px}.lamp-caption{font-size:13px}}@media(max-width:600px){main{padding:0 14px}.topbar{height:72px}.brand{font-size:15px;gap:9px}.brand-mark{width:33px;height:36px;font-size:29px}.brand small{font-size:8px;letter-spacing:.5px}.series{font-size:0}.series b{font-size:19px}.heading{padding:22px 0 21px}h1{font-size:29px;letter-spacing:0}.eyebrow{font-size:11px}.subtitle{font-size:14px;line-height:1.7;margin-top:8px}.viewer{border-radius:13px}.scene-chip{top:8px;left:8px;font-size:10px;padding:4px 6px;gap:4px}.scene-chip strong{font-size:10px}.key-id{font-size:12px}.fullscreen{top:8px;right:8px;padding:4px 7px;min-height:28px}.fullscreen svg{width:15px;height:15px}.fullscreen span{font-size:10px}.scene-status{bottom:8px;left:8px;font-size:10px;padding:6px 8px;border-radius:6px}.status-light{width:6px;height:6px}.lamp-caption{bottom:8px;right:8px;font-size:10px;padding:4px 7px;gap:4px}.lamp-icon{font-size:17px}.playback{height:68px;gap:7px;padding:10px}.playback .play{font-size:0;padding:10px;min-width:43px}.playback .play svg{width:20px}.icon-btn{min-width:31px}.time,.duration{font-size:11px}.speed select{font-size:12px;padding:7px 3px;max-width:59px}.overlay-controls{padding:10px 12px;gap:4px 13px}.overlay-controls label{font-size:12px;min-height:32px}.overlay-controls input{width:16px;height:16px}.explanation{display:block;padding:19px;border-radius:13px}.explanation h2{font-size:23px;margin:16px 0 10px}.caption{font-size:16px;line-height:1.8;margin-bottom:16px}.rule strong,.rule p{font-size:14px}.attention{margin-top:18px}.attention h3{font-size:13px}.vehicles{grid-template-columns:1fr 1fr;gap:12px}.vehicle-row{gap:7px}.vehicle-row b{font-size:12px}.vehicle-row small{font-size:11px}.case-note{font-size:12px;padding-top:17px}.steps-title{align-items:flex-start;gap:10px}.steps-title h2{font-size:16px;padding-top:9px}.mode-switch button{font-size:11px;padding:7px 8px;min-height:34px}.steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.steps button{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:10px 3px;gap:7px;min-height:86px;border-radius:8px}.steps b{white-space:normal;font-size:11px;line-height:1.5}.steps button>span{width:25px;height:25px;flex-basis:25px}.step-nav>span{display:none}.step-nav button{min-height:44px;font-size:14px}footer{display:block;font-size:12px;line-height:1.8;margin-top:24px}footer a{display:inline-block;margin-top:8px}.surface:fullscreen .scene-chip,.surface:fullscreen .scene-status{font-size:14px}.surface:fullscreen .lamp-caption{font-size:14px}}@media(prefers-reduced-motion:reduce){.flashing{animation:none}}.surface:fullscreen{display:flex;align-items:center;justify-content:center;background:#15262a}.surface:fullscreen canvas{width:min(100vw,177.7778vh);height:min(100vh,56.25vw);flex:none}.driver-selector{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.driver-selector button{border:1px solid var(--line);border-radius:9px;padding:10px 16px;min-height:44px;background:#fff;color:#38545b;font-size:14px}.driver-selector button[aria-pressed=true]{background:#087e83;color:#fff;border-color:#087e83}.driver-selector span,.view-advice{font-size:14px;color:#607577}.view-advice{line-height:1.6;margin:0 0 18px}.viewer.landscape{position:fixed;z-index:1000;left:0;top:0;width:100vw;height:100vh;height:100dvh;border:0;border-radius:0;background:#15262a;display:flex;flex-direction:column;align-items:center;justify-content:center}.landscape .surface{width:min(100vw,calc((100dvh - 64px)*16/9));flex:none;aspect-ratio:16/9}.landscape .playback{background:#fff;width:100%;height:64px;flex:none;padding:8px 20px}.landscape .overlay-controls{display:none}.landscape .fullscreen{min-height:44px;font-size:14px}.landscape .fullscreen span{font-size:14px}@media(orientation:portrait){.viewer.landscape{left:50%;top:50%;width:100vh;width:100dvh;height:100vw;transform:translate(-50%,-50%) rotate(90deg)}.landscape .surface{width:min(100dvh,calc((100vw - 64px)*16/9))}}@media(max-width:600px){.driver-selector{gap:6px}.driver-selector button{padding:9px 12px}.driver-selector span{flex-basis:100%;font-size:12px}.view-advice{font-size:13px}.landscape .scene-chip,.landscape .scene-status{font-size:12px}.landscape .playback .play{font-size:14px}}.driver-tip{font-size:15px;line-height:1.8;color:#305b64;padding:12px;border-radius:8px;background:#edf6f7;margin:0 0 12px}.landscape .surface{width:min(100vw,calc((100vh - 64px)*16/9));width:min(100vw,calc((100dvh - 64px)*16/9))}@media(orientation:portrait){.landscape .surface{width:min(100vh,calc((100vw - 64px)*16/9));width:min(100dvh,calc((100vw - 64px)*16/9))}}.heading{align-items:center;gap:24px;padding-bottom:22px}.heading .driver-selector{margin:0 0 0 auto;justify-content:flex-end;flex-shrink:0}.vehicle-row>span{display:flex;justify-content:center;align-items:baseline;padding-top:4px}.vehicle-row>span sub{font-size:50%;line-height:1;bottom:0}.heading .driver-selector button{white-space:nowrap}@media(max-width:1100px){.heading{flex-wrap:wrap;gap:16px}.heading .driver-selector{width:100%;margin:0;justify-content:flex-end}}@media(max-width:620px){.heading .driver-selector{justify-content:flex-start;gap:6px}.heading .driver-selector button{flex:1;padding:10px 7px}}.topbar{height:58px}.brand{font-size:16px}.brand-mark{width:32px;height:35px;font-size:28px}.brand small{font-size:8px;margin-top:3px}.lesson-layout{grid-template-columns:minmax(0,1fr) 330px;gap:10px 20px;padding-top:14px;align-items:start}.heading{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:0;margin:0}.heading>div:first-child{display:contents}.heading .eyebrow{grid-column:1/-1;font-size:10px;margin:0;letter-spacing:1.4px}.heading h1{grid-column:1/-1;font-size:32px;line-height:1.15;letter-spacing:.5px}.heading .subtitle{grid-column:1;margin:0;font-size:13px;line-height:1.5;align-self:center}.heading .driver-selector{grid-column:2;grid-row:3;width:auto;margin:0;gap:7px;justify-content:flex-end;flex-wrap:nowrap}.heading .driver-selector button{padding:6px 11px;min-height:31px;border-radius:7px;font-size:11px;line-height:1.3;flex:none}.viewer{grid-column:1;grid-row:2;align-self:start}.explanation{grid-column:2;grid-row:1/3;padding:16px;display:flex;gap:0}.explanation h2{font-size:20px;line-height:1.35;margin:12px 0 9px}.explanation .driver-tip{font-size:13px;line-height:1.65;padding:10px;margin:0 0 10px}.explanation .caption{font-size:13px;line-height:1.65;min-height:0;margin:0 0 12px}.explanation .rule{padding:10px;gap:7px}.explanation .rule p{font-size:12px;line-height:1.6;margin-top:4px}.explanation .attention{margin-top:13px}.explanation .attention h3{margin-bottom:9px}.explanation .vehicles{gap:8px}.explanation .vehicle-row b{font-size:12px}.explanation .case-note{margin:0;padding-top:13px;font-size:10px;line-height:1.5}.viewer:not(.landscape) .playback{height:54px;padding:7px 12px;gap:9px}.viewer:not(.landscape) .primary{padding:7px 13px;min-height:36px}.viewer:not(.landscape) .icon-btn{min-height:36px}.viewer:not(.landscape) .speed select{min-height:34px;padding:5px}.viewer:not(.landscape) .overlay-controls{min-height:36px;padding:5px 12px;gap:5px 14px}.steps-section{grid-column:1/-1;grid-row:3;padding:0}.steps-title{margin-bottom:8px}.steps-title h2{font-size:15px}.mode-switch button{min-height:28px;padding:5px 10px;font-size:11px}.steps{gap:8px}.steps button{min-height:45px;padding:8px 12px;gap:8px}.steps b{font-size:12px}.steps button>span{width:23px;height:23px;flex-basis:23px}.step-nav{margin-top:7px}.step-nav button{min-height:30px;padding:5px 11px;font-size:12px}.step-nav>span{font-size:11px}footer{margin-top:12px;padding:10px 0 12px}@media(min-width:1100px){main{max-width:min(1680px,calc((100dvh - 390px)*16/9 + 408px));min-width:960px;padding:0 24px}}@media(max-width:1100px){.heading{grid-template-columns:1fr}.heading .subtitle{grid-column:1;grid-row:3}.heading .driver-selector{grid-column:1;grid-row:4;justify-self:end}.lesson-layout{grid-template-columns:minmax(0,1fr) 290px;gap:10px 14px}.heading h1{font-size:28px}}@media(max-width:920px){.lesson-layout{grid-template-columns:1fr}.heading{grid-column:1;grid-row:1}.viewer{grid-column:1;grid-row:2}.steps-section{grid-column:1;grid-row:3}.explanation{grid-column:1;grid-row:4;display:flex}.heading .driver-selector{justify-self:end}.explanation .vehicles{grid-template-columns:1fr 1fr}}@media(max-width:600px){.heading h1{font-size:26px}.heading .driver-selector{width:100%;justify-content:flex-end;gap:7px}.heading .driver-selector button{flex:none;font-size:11px;min-height:36px;padding:7px 10px}.heading .subtitle{font-size:12px}.topbar{height:54px}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps button:last-child{grid-column:1/-1}.explanation .vehicles{grid-template-columns:1fr}.step-nav>span{display:none}}@media(min-width:921px){.explanation{align-self:stretch;padding:20px;min-height:0}.viewer{align-self:stretch}.explanation h2{margin:18px 0 14px;line-height:1.45}.explanation .driver-tip{padding:12px;line-height:1.8;margin-bottom:16px}.explanation .caption{line-height:1.8;margin-bottom:20px}.explanation .rule{padding:14px 12px;gap:9px}.explanation .rule p{line-height:1.8;margin-top:7px}.explanation .attention{margin-top:22px}.explanation .attention h3{margin-bottom:14px}.explanation .vehicles{gap:14px}.explanation .case-note{margin-top:auto;padding-top:22px;line-height:1.7}}.heading h1{grid-row:1}.heading .subtitle,.heading .driver-selector{grid-row:2}.scene-chip{width:280px;height:48px;padding:7px 10px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:14px 16px;gap:0 8px;align-items:center}.scene-chip .key-id{grid-column:1;grid-row:1/3;width:34px;height:30px;display:grid;place-items:center;padding:0;font-size:15px}.scene-chip .focus-label{grid-column:2;grid-row:1;white-space:nowrap;font-size:10px;line-height:14px}.scene-chip strong{grid-column:2;grid-row:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:16px}@media(min-width:921px){.explanation{contain:size;overflow-y:auto;scrollbar-gutter:stable;justify-content:space-between}.explanation>*{flex-shrink:0}.explanation h2{margin:20px 0 16px}.explanation .caption{margin-bottom:22px;line-height:1.85}.explanation .attention{margin-top:24px}.explanation .vehicles{gap:16px}.explanation .case-note{margin-top:0;padding-top:24px}}@media(max-width:1100px){.heading .driver-selector{grid-row:3}.heading .subtitle{grid-row:2}}@media(max-width:600px){.scene-chip{width:calc(100% - 124px);max-width:280px;min-width:150px;height:48px}.scene-chip strong{font-size:10px;letter-spacing:0}.landscape .scene-chip{width:280px}}@media(min-width:921px){.explanation{justify-content:flex-start}.explanation .panel-top{height:22px;flex:none}.explanation h2{min-height:0;margin:20px 0 12px}.explanation .caption{min-height:0;margin:0 0 16px;line-height:1.8}.explanation .driver-tip{min-height:0;margin:0 0 16px}.explanation .rule{min-height:0;align-items:flex-start}.explanation .attention{margin-top:24px}.explanation .case-note{margin-top:auto}}

/* KeepLeft A+ embedded UI only. Scene geometry, timing and semantic colours remain upstream. */
.embedded{--teal:#1d1d1f;--muted:#626268;--line:#d2d2d7;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;color:#1d1d1f;background:#fff;-webkit-font-smoothing:antialiased;color-scheme:light}
.embedded body{background:#fff}.embedded main{width:100%;max-width:none;min-width:0;padding:0}.embedded .topbar,.embedded footer{display:none}.embedded button:focus-visible,.embedded input:focus-visible,.embedded select:focus-visible{outline:3px solid #68686d;outline-offset:3px}.embedded button{transition:background-color .18s,color .18s}
.embedded .lesson-layout{grid-template-columns:minmax(0,1fr) 288px;gap:24px 28px;padding-top:0;align-items:start}.embedded .heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:0}.embedded .heading h1{font-family:inherit;font-size:32px;line-height:1.4;font-weight:600;letter-spacing:-.8px;color:#1d1d1f;grid-row:1}.embedded .heading .subtitle{font-size:15px;line-height:1.7;color:#626268;grid-row:2;grid-column:1}.embedded .heading .driver-selector{display:flex;width:auto;flex-wrap:wrap;gap:3px;margin:0;padding:4px;border-radius:999px;background:#f5f5f7;grid-row:3;grid-column:1/-1;justify-self:start}.embedded .heading .driver-selector button{color:#626268;border:0;border-radius:999px;font-size:12px;min-width:44px;min-height:44px;padding:8px 13px;background:transparent;flex:none}.embedded .heading .driver-selector button[aria-pressed=true]{background:#fff;color:#1d1d1f;box-shadow:0 1px 4px #00000012}
.embedded .viewer:not(.landscape){border:0;border-radius:24px;box-shadow:none;background:#f5f5f7;align-self:start}.embedded .viewer:not(.landscape) .surface{border-radius:24px 24px 0 0}.embedded .viewer:not(.landscape) .playback{height:auto;min-height:76px;padding:16px 18px;gap:10px;background:#f5f5f7;border:0}.embedded .playback .primary{background:#1d1d1f;color:#fff;border-radius:999px;min-height:44px;padding:10px 17px}.embedded .playback .primary:hover{background:#363638}.embedded .playback .icon-btn{color:#626268;min-width:44px;min-height:44px;border-radius:999px}.embedded .playback .icon-btn:hover{background:#eeeef0}.embedded .time{color:#1d1d1f}.embedded .duration{color:#626268}.embedded .speed select{color:#1d1d1f;min-height:44px;padding:8px 6px;background:#fff;border-color:#919196;border-radius:12px}.embedded input{accent-color:#1d1d1f}.embedded .scrubber{min-height:44px}.embedded .viewer:not(.landscape) .overlay-controls{background:#fff;min-height:56px;padding:10px 0;gap:4px 16px}.embedded .overlay-controls label{font-size:13px;min-height:44px;color:#626268}.embedded .overlay-controls input{width:16px;height:16px}.embedded .fullscreen{min-width:44px;min-height:44px}
.embedded .explanation{background:#f5f5f7;border:0;border-radius:24px;padding:24px;display:flex;gap:0;contain:size;overflow:auto;align-self:stretch;justify-content:flex-start;scrollbar-gutter:stable}.embedded .explanation h2{font-size:22px;line-height:1.5;font-weight:600;letter-spacing:-.4px;color:#1d1d1f;margin:20px 0 12px;min-height:0;text-wrap:balance}.embedded .explanation .eyebrow{font-size:12px;color:#626268;letter-spacing:0}.embedded .explanation .caption{font-size:15px;line-height:1.85;color:#626268;margin:0 0 16px;min-height:0}.embedded .explanation .driver-tip{font-size:14px;line-height:1.8;padding:14px;background:#eeeef0;color:#45454b;margin:0 0 16px;min-height:0;border-radius:12px}.embedded .explanation .rule{padding:14px 12px;background:#eeeef0;border-left-color:#919196;align-items:start;border-radius:12px;min-height:0}.embedded .rule-symbol{color:#626268;border-color:#626268}.embedded .rule strong{color:#45454b;font-size:14px}.embedded .explanation .rule p{font-size:14px;line-height:1.8;color:#626268;margin-top:7px}.embedded .explanation .attention{margin-top:24px}.embedded .attention h3{color:#626268;font-size:13px;letter-spacing:0}.embedded .explanation .vehicles{gap:16px}.embedded .explanation .vehicle-row b{font-size:14px;color:#45454b}.embedded .vehicle-row small{color:#626268;font-size:12px}.embedded .explanation .case-note{color:#626268;font-size:13px;line-height:1.8;margin-top:24px;padding-top:0}.embedded .explanation>*{flex-shrink:0}
.embedded .steps-section{padding:0}.embedded .steps-title{flex-wrap:wrap;gap:14px;margin-bottom:16px}.embedded .steps-title h2{font-size:21px;font-weight:600;letter-spacing:-.4px}.embedded .mode-switch{background:#f5f5f7;border-radius:999px;padding:4px}.embedded .mode-switch button{color:#626268;border-radius:999px;min-height:44px;padding:8px 16px;font-size:14px}.embedded .mode-switch button[aria-pressed=true]{color:#1d1d1f}.embedded .steps{gap:12px}.embedded .steps button{min-height:74px;padding:16px 12px;border:1px solid transparent;background:#f5f5f7;border-radius:14px;color:#626268;gap:9px}.embedded .steps button.active{background:#e9e9ed;border-color:#8d8d92;color:#1d1d1f}.embedded .steps button:hover{border-color:#919196}.embedded .steps b{font-size:14px;white-space:normal;line-height:1.6}.embedded .steps small{font-size:12px;color:#626268}.embedded .steps button>span{border-color:#919196}.embedded .steps button.active>span{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.embedded .steps button.completed>span{background:#e1e1e5;color:#45454b;border-color:#d2d2d7}.embedded .step-nav{flex-wrap:wrap;gap:12px;margin-top:16px}.embedded .step-nav button{color:#626268;min-height:44px;border-radius:999px;font-size:14px;padding:10px 16px}.embedded .step-nav>span{display:block;font-size:13px;color:#626268}
@media(max-width:900px){.embedded .lesson-layout{grid-template-columns:1fr;gap:24px}.embedded .heading{grid-column:1;grid-row:1}.embedded .viewer{grid-column:1;grid-row:2}.embedded .steps-section{grid-column:1;grid-row:3}.embedded .explanation{grid-column:1;grid-row:4;contain:none;overflow:visible;scrollbar-gutter:auto}.embedded .heading .driver-selector{grid-row:3;grid-column:1/-1}.embedded .explanation .vehicles{grid-template-columns:1fr 1fr}.embedded .step-nav>span{order:3;width:100%;text-align:center}}
@media(min-width:901px){.embedded .viewer{grid-column:1;grid-row:2}.embedded .explanation{grid-column:2;grid-row:1/3}.embedded .steps-section{grid-column:1/-1;grid-row:3}}
@media(max-width:600px){.embedded .heading h1{font-size:25px;line-height:1.4;letter-spacing:-.6px}.embedded .heading .subtitle{font-size:14px;grid-column:1/-1}.embedded .heading .driver-selector{width:100%;justify-content:space-between;flex-wrap:nowrap}.embedded .heading .driver-selector button{flex:1;min-width:44px;padding:8px 6px}.embedded .viewer:not(.landscape) .playback{display:grid;grid-template-columns:44px 44px minmax(0,1fr) auto;gap:8px;padding:12px 10px}.embedded .viewer:not(.landscape) .play{grid-column:1;grid-row:1;font-size:0;padding:10px}.embedded .viewer:not(.landscape) .icon-btn{grid-column:2;grid-row:1}.embedded .viewer:not(.landscape) .time{grid-column:3;grid-row:1;font-size:12px}.embedded .viewer:not(.landscape) .speed{grid-column:4;grid-row:1}.embedded .viewer:not(.landscape) .scrubber{grid-column:1/4;grid-row:2;width:100%}.embedded .viewer:not(.landscape) .duration{grid-column:4;grid-row:2;font-size:12px;text-align:center}.embedded .speed select{font-size:14px;max-width:none}.embedded .overlay-controls label{font-size:13px}.embedded .scene-chip{left:9px;top:9px;width:175px;min-width:0;max-width:calc(100% - 108px)}.embedded .fullscreen{right:9px;top:9px;padding:7px}.embedded .fullscreen span{font-size:11px}.embedded .scene-status{bottom:9px;left:9px;padding:6px 9px;font-size:11px}.embedded .lamp-caption{font-size:10px;right:9px;bottom:9px;padding:6px}.embedded .explanation h2{font-size:21px}.embedded .explanation .vehicles{grid-template-columns:1fr}.embedded .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.embedded .steps button{flex-direction:row;text-align:left;justify-content:flex-start;min-height:74px;padding:14px;gap:10px}.embedded .steps button:last-child{grid-column:1/-1}.embedded .steps b{font-size:13px}.embedded .steps-title h2{font-size:20px}.embedded .mode-switch button{font-size:13px;padding:8px 14px}.embedded .landscape .scene-chip{width:230px;max-width:none}.embedded .landscape .playback .play{font-size:14px}}
@media(prefers-reduced-motion:reduce){.embedded button{transition:none}}
/* Approved simplified player, 2026-09-18. */
.embedded .lesson-layout{grid-template-columns:minmax(0,1fr) 318px;gap:22px 24px}
.embedded .heading{grid-column:1/-1;grid-row:1;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.embedded .heading .driver-selector{padding:5px;border-radius:13px;gap:6px;flex-wrap:nowrap;flex-shrink:0}
.embedded .heading .driver-selector button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:9px;font-size:13px;min-height:44px;padding:10px 12px;font-weight:500;white-space:nowrap}
.embedded .heading .driver-selector button svg{width:18px;height:18px;flex:none}
.embedded .heading .driver-selector button[aria-pressed=true]{background:#1d1d1f;color:#fff;font-weight:750;box-shadow:0 2px 5px #0002}
.embedded .viewer{grid-column:1;grid-row:2}.embedded .viewer:not(.landscape){border:1px solid #e5e5e7;border-radius:18px;background:white}.embedded .viewer:not(.landscape) .surface{border-radius:0}
.embedded .viewer:not(.landscape) .playback,.embedded .viewer.landscape .playback{height:56px;min-height:56px;padding:8px 14px;background:white;gap:10px}
.embedded .playback .pause-control{background:none;border:0;min-width:36px;min-height:36px;width:36px;padding:8px;border-radius:7px;color:#1d1d1f}.embedded .playback .pause-control:hover{background:#eeeef0}.embedded .playback .pause-control svg{width:18px;height:18px}.embedded .time,.embedded .duration{font-size:12px}.embedded .scrubber{min-width:20px;min-height:32px}
.embedded .explanation{grid-column:2;grid-row:2/4;border-radius:18px;padding:22px;contain:size;overflow:auto;justify-content:flex-start;gap:0}
.embedded .explanation h2{font-size:20px;margin:18px 0 14px}.embedded .explanation .caption{font-size:14px;line-height:1.8}.embedded .explanation .driver-tip{padding:0;background:none}.embedded .explanation .rule{background:transparent;border:0;border-top:1px solid #dedee1;border-radius:0;padding:17px 0 0;display:block}.embedded .rule-symbol{display:none}.embedded .explanation .rule p{font-size:13px}.embedded .explanation .case-note{font-size:11px;line-height:1.7;margin:20px 0 0}.embedded .explanation .vehicle-row b{font-size:13px}
.embedded .steps-section{grid-column:1;grid-row:3;margin:0;padding:0}.embedded .steps-title h2{font-size:21px}.embedded .step-help{font-size:12px;color:#6e6e73}.embedded .steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.embedded .steps button{min-width:0;min-height:68px;padding:10px 8px;border-radius:10px;flex-wrap:wrap;gap:6px}.embedded .steps b{font-size:12px;white-space:normal}.embedded .steps small{font-size:10px}.embedded .steps button.active{background:#f5f5f7;border-color:#1d1d1f}.embedded .steps button.active>span{background:#1d1d1f;color:white}
@media(max-width:1100px){.embedded .heading{display:block}.embedded .heading .driver-selector{width:max-content;margin-top:18px}.embedded .lesson-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.embedded .explanation{padding:18px}}
@media(max-width:760px){.embedded .lesson-layout{display:flex;flex-direction:column;gap:18px}.embedded .heading{width:100%;order:0}.embedded .heading h1{font-size:25px}.embedded .heading .subtitle{font-size:13px}.embedded .heading .driver-selector{width:100%;gap:2px;margin-top:17px;padding:4px;border-radius:11px}.embedded .heading .driver-selector button{flex:1;font-size:12px;padding:9px 3px;gap:4px}.embedded .heading .driver-selector button svg{width:16px;height:16px}.embedded .viewer{order:1}.embedded .viewer:not(.landscape){width:100%}.embedded .steps-section{order:2;width:100%}.embedded .explanation{order:3;width:100%;contain:none;overflow:visible;max-height:none;padding:21px;display:flex}.embedded .explanation .caption{font-size:15px}.embedded .explanation .rule p{font-size:14px}.embedded .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.embedded .steps button{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;min-height:64px;padding:9px 7px}.embedded .steps button:last-child{grid-column:auto}.embedded .steps b{font-size:12px}.embedded .steps small{display:block}.embedded .steps-title h2{font-size:18px}.embedded .step-help{font-size:11px}.embedded .viewer:not(.landscape){border-radius:13px}.embedded .viewer:not(.landscape) .playback{height:48px;min-height:48px;padding:6px 9px;gap:8px}.embedded .scene-chip{width:175px;min-width:175px;max-width:calc(100% - 100px);height:34px;top:8px;left:8px}.embedded .scene-chip .focus-label{font-size:9px}.embedded .scene-chip strong{font-size:10px}.embedded .fullscreen{right:8px;top:8px}.embedded .explanation .vehicles{grid-template-columns:1fr}}
.embedded .heading>div:first-child{display:block;min-width:0;flex:1}.embedded .heading h1{margin:0 0 9px}.embedded .heading .subtitle{margin:0}.embedded .heading .driver-selector{flex:0 0 auto}
@media(max-width:1100px){.embedded .heading .driver-selector{margin-top:18px}}
.embedded .viewer:not(.landscape) .playback,.embedded .viewer.landscape .playback{display:flex;align-items:center}.embedded .playback .scrubber{flex:1;width:60px;min-width:20px}.embedded .playback .time,.embedded .playback .duration{flex:none}.embedded .playback .pause-control{flex:none}

/* Approved shared scene navigation: title, choices, animation. */
.heading,.embedded .heading{display:block;width:100%}
.heading h1,.embedded .heading h1{margin:0 0 9px;line-height:1.4}
.heading nav,.embedded .heading .driver-selector{display:flex;flex-wrap:nowrap;width:max-content;max-width:100%;margin:18px 0 0;padding:4px;gap:2px;border-radius:11px;overflow-x:auto;scrollbar-width:thin;justify-content:flex-start}
.heading nav button,.embedded .heading .driver-selector button{flex:0 0 auto;min-width:0;min-height:44px;padding:8px 11px;font-size:12px;border-radius:8px;gap:5px}
.heading nav svg,.embedded .heading .driver-selector button svg{width:14px;height:14px}
@media(max-width:760px){.heading nav,.embedded .heading .driver-selector{width:100%}.heading nav button,.embedded .heading .driver-selector button{padding:8px 6px}.heading h1{font-size:25px}}

/* Right-of-way explanation: one stable scene chip and no lower-left overlay. */
.scene-chip strong{letter-spacing:0}
.priority-relation{padding:15px;background:#f0f1f2;border:1px solid #e0e2e3;border-radius:12px}
.priority-relation>strong{display:block;color:#36474d;font-size:13px;line-height:1.5;margin-bottom:11px}
.priority-pair{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:6px;align-items:center}
.priority-pair span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:61px;padding:6px 3px;background:#fff;border:1px solid #dde3e4;border-radius:9px;text-align:center}
.priority-pair b{font-size:18px;color:#a73842;line-height:1.2}.priority-pair span:last-child b{color:#44765a}
.priority-pair small{font-size:10px;color:#66777a;line-height:1.4;white-space:nowrap}
.priority-pair em{font-size:16px;font-weight:750;color:#277c79;text-align:center;font-style:normal}
.priority-detail{margin-top:17px;padding-left:12px;border-left:3px solid #368b84}
.priority-detail strong{font-size:13px;color:#286e6b}.priority-detail p{font-size:14px;color:#4f6469;line-height:1.7;margin:7px 0 0}
.priority-foot{margin:auto 0 0;padding-top:22px;color:#63777a;font-size:12px;line-height:1.7}
@media(max-width:760px){.priority-foot{margin-top:16px}.embedded .scene-chip{width:205px;min-width:0;max-width:calc(100% - 112px);height:46px}.embedded .scene-chip strong{font-size:10px;letter-spacing:0}.priority-pair small{white-space:normal}}

/* Keep the full, approved B1 gap wording readable without a second scene overlay. */
.scene-chip{width:300px;height:56px;grid-template-rows:12px 30px}
.scene-chip strong{white-space:normal;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:15px;font-size:12px;letter-spacing:0}
@media(max-width:760px){.scene-chip,.embedded .scene-chip{width:248px;max-width:calc(100% - 106px);min-width:0;height:54px;grid-template-rows:12px 28px}.scene-chip strong,.embedded .scene-chip strong{font-size:10px;line-height:14px}}

/* BEGIN shared judgment typography */
html:root body :is(.scene-chip,.observation){position:absolute;top:18px;left:20px;width:284px;max-width:calc(100% - 106px);min-width:0;height:58px;min-height:58px;padding:3px 10px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:14px auto;gap:3px 8px;align-items:start;align-content:center;border:1px solid #fff;border-radius:8px;background:#fffffff0;color:#647b7c;font-size:12px;font-weight:400;box-shadow:0 2px 10px #25422b10;pointer-events:none}
html:root body .observation>div{display:contents}
html:root body :is(.scene-chip .key-id,.observation>span){grid-column:1;grid-row:1/3;align-self:center;width:34px;height:30px;padding:0;display:grid;place-items:center;border-radius:5px;color:#fff;font-size:15px;font-weight:700;line-height:normal}
html:root body :is(.scene-chip .focus-label,.observation small){grid-column:2;grid-row:1;font-size:10px;line-height:14px;margin:0;align-self:start;color:#647b7c;white-space:nowrap}
html:root body :is(.scene-chip strong,.observation strong){grid-column:2;grid-row:2;font-size:12px;line-height:16px;font-weight:700;margin:0;align-self:start;letter-spacing:0;color:#193b45;white-space:normal;overflow:visible;text-overflow:clip;display:block;-webkit-line-clamp:unset}
@media(max-width:1150px){html:root body :is(.scene-chip,.observation){top:12px;left:12px}}
@media(max-width:760px){html:root body :is(.scene-chip,.observation){top:8px;left:8px;width:248px;max-width:calc(100% - 106px);height:56px;min-height:56px;padding:2px 7px}html:root body :is(.scene-chip strong,.observation strong){font-size:11px}}
/* END shared judgment typography */

.scene-chip{--judgment-base-width:300px}

/* BEGIN shared fullscreen button: single-lane roundabout baseline */
html body button:is(.fullscreen,#wide,#expand){position:absolute;top:12px;right:12px;bottom:auto;left:auto;display:block;box-sizing:border-box;width:auto;height:auto;min-width:0;min-height:36px;margin:0;padding:8px 10px;border:1px solid #fff9;border-radius:8px;background:#ffffffec;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;font-size:12px;font-weight:400;line-height:normal;letter-spacing:normal;white-space:nowrap;box-shadow:none;text-align:center}
html body button:is(.fullscreen,#wide,#expand) span{font:inherit;letter-spacing:inherit;vertical-align:baseline}
html body button.fullscreen svg{display:none}
html body button.fullscreen::before{content:'⛶ '}
@media(max-width:760px){html body button:is(.fullscreen,#wide,#expand){top:8px;right:8px;min-height:32px;padding:5px;font-size:10px}}
/* END shared fullscreen button */

/* BEGIN shared scene page layout: T-junction baseline */
html:root{--lesson-gap:22px;--lesson-column-gap:24px;--lesson-aside-width:318px;--lesson-aside-padding:22px;--lesson-body-size:14px;--lesson-rule-size:13px;--lesson-step-size:21px}
html:root body :is(.lesson,.lesson-layout){grid-template-columns:minmax(0,1fr) var(--lesson-aside-width);gap:var(--lesson-gap) var(--lesson-column-gap);align-items:start;align-content:start}
html:root body .heading{display:block;padding:0;margin:0;width:100%;min-width:0}
html:root body main>.heading{margin-bottom:var(--lesson-gap)}
html:root body .heading h1{font-family:inherit;font-size:32px;line-height:1.4;font-weight:600;letter-spacing:-.8px;margin:0 0 9px;color:#1d1d1f;text-wrap:balance}
html:root body .heading :is(p,.subtitle){font-size:15px;line-height:1.7;color:#626268;margin:0}
html:root body .heading :is(nav,.driver-selector){display:flex;align-items:center;flex-wrap:nowrap;width:max-content;max-width:100%;margin:18px 0 0;padding:4px;gap:2px;background:#f5f5f7;border-radius:11px;overflow-x:auto}
html:root body .heading :is(nav,.driver-selector) button{display:flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:8px 11px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:500;line-height:normal;gap:5px;white-space:nowrap;background:transparent;color:#626268}
html:root body .heading :is(nav,.driver-selector) button[aria-pressed=true]{background:#1d1d1f;color:white;font-weight:750;box-shadow:0 2px 5px #0002}
html:root body .heading :is(nav,.driver-selector) svg{width:14px;height:14px;flex:none}
html:root body :is(aside,.explanation){min-width:0;display:flex;flex-direction:column;gap:0;align-self:stretch;padding:var(--lesson-aside-padding);background:#f5f5f7;border:0;border-radius:18px;contain:size;overflow:auto;scrollbar-gutter:stable;justify-content:flex-start;color:#1d1d1f}
html:root body :is(aside,.explanation)>*{flex-shrink:0}
html:root body :is(aside,.explanation) :is(.panel-top,.panel-meta){min-height:22px;height:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;font-size:12px;line-height:1.5;color:#626268}
html:root body :is(aside,.explanation) .eyebrow{margin:0;font-size:12px;line-height:22px;font-weight:700;letter-spacing:0;color:#626268}
html:root body :is(aside,.explanation) h2{font-family:inherit;font-size:20px;line-height:1.5;font-weight:600;letter-spacing:-.4px;margin:18px 0 14px;min-height:0;color:#1d1d1f;text-wrap:balance}
html:root body :is(aside,.explanation) :is(.caption,#body){font-size:var(--lesson-body-size);line-height:1.8;font-weight:400;color:#626268;margin:0 0 16px;min-height:0}
html:root body :is(aside,.explanation) :is(.rule,.lane,.next-check){display:block;background:none;border:0;border-top:1px solid #dedee1;border-radius:0;padding:17px 0 0;margin:0;min-height:0}
html:root body :is(aside,.explanation) :is(.rule,.lane,.next-check) :is(strong,h3){display:block;font-size:14px;line-height:1.5;font-weight:700;color:#45454b;letter-spacing:0;margin:0}
html:root body :is(aside,.explanation) :is(.rule,.lane,.next-check) p{font-size:var(--lesson-rule-size);line-height:1.8;font-weight:400;color:#626268;margin:7px 0 0}
html:root body :is(aside,.explanation) :is(.case-note,.note){font-size:11px;line-height:1.7;font-weight:400;color:#626268;margin:20px 0 0;padding:0}
html:root body :is(aside,.explanation) .attention{margin-top:24px}
html:root body :is(aside,.explanation) .attention h3{font-size:13px;color:#626268;letter-spacing:0;margin:0 0 14px}
html:root body :is(aside,.explanation) .vehicles{display:grid;gap:16px}
html:root body :is(aside,.explanation) .vehicle-row b{font-size:13px;color:#45454b}
html:root body :is(aside,.explanation) .vehicle-row small{font-size:12px;color:#626268;margin-top:3px}
html:root body :is(aside,.explanation) :is(.arrow-legend,.vehicle-legend){font-size:12px;line-height:1.7;color:#626268;margin:20px 0 0}
html:root body :is(aside,.explanation) .arrow-legend+.rule{margin-top:20px}
html:root body :is(aside,.explanation) #sign{width:min(100%,230px);max-width:100%;margin:0 auto 16px}
html:root body :is(aside,.explanation) .when-to-use{margin:0 0 18px}
html:root body :is(aside,.explanation) .when-to-use h3{font-size:14px;line-height:1.5;margin:0 0 7px;color:#45454b}
html:root body :is(aside,.explanation) .when-to-use p{font-size:var(--lesson-body-size);line-height:1.8;color:#626268;margin:0}
html:root body .steps-section{padding:0;margin:0;min-width:0;align-self:start}
html:root body :is(.steps-title,.steps-heading){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 16px}
html:root body :is(.steps-title,.steps-heading) h2{font-size:var(--lesson-step-size);line-height:1.4;font-weight:600;letter-spacing:-.4px;margin:0;padding:0;color:#1d1d1f}
html:root body :is(.steps-title,.steps-heading)>span{font-size:12px;line-height:1.5;color:#6e6e73}
html:root body .steps{gap:8px}
html:root body .steps button{display:flex;align-items:center;justify-content:flex-start;flex-direction:row;flex-wrap:wrap;min-width:0;min-height:68px;padding:10px 8px;gap:6px;border:1px solid transparent;border-radius:10px;background:#f5f5f7;font-size:12px;font-weight:550;line-height:1.6;color:#626268;text-align:left}
html:root body .steps button:is(.active,[aria-pressed=true]){background:#f5f5f7;border-color:#1d1d1f;color:#1d1d1f}
html:root body .steps button>span{width:23px;height:23px;flex:0 0 23px;display:grid;place-items:center;border:1px solid #919196;border-radius:50%;font-size:12px;font-weight:400;line-height:normal}
html:root body .steps button:is(.active,[aria-pressed=true])>span{background:#1d1d1f;color:white;border-color:#1d1d1f}
html:root body .steps b{font-size:12px;font-weight:550;line-height:1.6;white-space:normal}
html:root body .steps small{font-size:10px;color:#626268}
html:root body .step-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px;gap:12px}
html:root body .step-nav button{display:flex;align-items:center;gap:8px;background:white;color:#626268;min-height:44px;padding:10px 16px;border:1px solid #d2d2d7;border-radius:999px;font-size:14px}
html:root body .step-nav>span{font-size:13px;line-height:1.5;color:#626268}
html:root body .mode-switch{display:flex;background:#f5f5f7;border-radius:999px;padding:4px}
html:root body .mode-switch button{min-height:44px;padding:8px 16px;font-size:14px;color:#626268;border:0;border-radius:999px;background:none}
html:root body .mode-switch button[aria-pressed=true]{background:white;color:#1d1d1f;box-shadow:0 1px 4px #00000012}
html:root.embedded body .sources{display:none}
@media(max-width:1100px){html:root{--lesson-gap:18px;--lesson-column-gap:18px;--lesson-aside-width:270px;--lesson-aside-padding:18px}}
@media(max-width:760px){
html:root{--lesson-aside-padding:21px;--lesson-body-size:15px;--lesson-rule-size:14px;--lesson-step-size:18px}
html:root body :is(.lesson,.lesson-layout){display:flex;flex-direction:column;gap:18px}
html:root body .heading h1{font-size:25px;letter-spacing:-.8px}
html:root body .heading :is(p,.subtitle){font-size:13px}
html:root body .heading :is(nav,.driver-selector){width:100%}
html:root body .heading :is(nav,.driver-selector) button{padding:8px 6px}
html:root body :is(aside,.explanation){width:100%;order:3;contain:none;overflow:visible;scrollbar-gutter:auto;max-height:none}
html:root body :is(aside,.explanation) .vehicles{grid-template-columns:1fr}
html:root body .steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
html:root body .steps button{min-height:64px;padding:9px 7px}
html:root body .steps button:last-child{grid-column:auto}
html:root body :is(.steps-title,.steps-heading)>span{font-size:11px}
html:root body .mode-switch button{font-size:13px;padding:8px 14px}
html:root body .step-nav>span{display:block;order:3;width:100%;text-align:center}
}
/* The T-junction exposes route selection and step cards, without duplicate mode/navigation controls. */
html:root body :is(.mode-switch,.step-nav,.scene-status,.status,.lamp-caption,.lane-hint){display:none!important}
html:root body :is(.steps-title,.steps-heading)::after{content:'点击观看这一段';font-size:12px;line-height:1.5;font-weight:400;letter-spacing:0;color:#6e6e73}
html:root body :is(.steps-title,.steps-heading)>span{display:none}
html:root body .steps small{display:block;margin-left:auto;font-size:10px;line-height:1.6}
html:root body .steps button>span{text-align:center}
html:root body .steps button:hover{border-color:#919196}
html:root body :is(.steps button,.heading button):focus-visible{outline:3px solid #68686d;outline-offset:3px}
@media(max-width:760px){html:root body :is(.steps-title,.steps-heading)::after{font-size:11px}}
html:root body .steps button:has(~button:is(.active,[aria-pressed=true]))>span{background:#e1e1e5;color:#45454b;border-color:#d2d2d7}
/* Approved A1: stable number/time row, full-width title below. */
html:root body .steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;align-items:stretch}
html:root body .steps button{display:grid;grid-template-columns:23px minmax(0,1fr);grid-template-rows:23px auto;align-content:start;align-items:start;justify-content:normal;min-height:106px;padding:13px 12px;gap:12px 6px}
html:root body .steps button>span{grid-column:1;grid-row:1;margin:0}
html:root body .steps button>small{grid-column:2;grid-row:1;align-self:center;justify-self:end;margin:0;font-size:11px;font-weight:400;line-height:1.6;white-space:nowrap;font-variant-numeric:tabular-nums;color:#6e6e73}
html:root body .steps button>b{grid-column:1/-1;grid-row:2;display:block;min-width:0;min-height:43px;margin:0;font-size:13px;line-height:1.65;font-weight:600;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
html:root body .steps button:hover{background:#eeeef0}
@media(max-width:760px){html:root body .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}html:root body .steps button{padding:11px 10px;min-height:98px}html:root body .steps button>b{font-size:12px;min-height:40px}}
/* END shared scene page layout */

/* BEGIN shared player controls: T-junction baseline */
html:root body:not(.wide) :is(.lesson-layout>.viewer,#player):not(.landscape){border:1px solid #e5e5e7;border-radius:18px;overflow:hidden;background:white;box-shadow:none;align-self:start}
html:root body :is(.playback,.controls){display:flex;align-items:center;flex-wrap:nowrap;flex:none;height:56px;min-height:56px;padding:8px 14px;gap:10px;background:white;border:0;box-sizing:border-box}
html:root body :is(.playback,.controls) button:is(#play,#replay,.pause-control,.play,.icon-btn){display:grid;place-items:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;padding:8px;margin:0;border:0;border-radius:7px;background:transparent;color:#1d1d1f;gap:0;font-size:0;line-height:1;box-shadow:none;transition:background-color .18s,color .18s}
html:root body :is(.playback,.controls) button:is(#play,#replay,.pause-control,.play,.icon-btn):hover{background:#eeeef0}
html:root body :is(.playback,.controls) button:is(#play,#replay,.pause-control,.play,.icon-btn):active{background:#e1e1e5}
html:root body :is(.playback,.controls) :is(button,input,select):focus-visible{outline:3px solid #68686d;outline-offset:3px}
html:root body :is(.playback,.controls) button:is(#play,.pause-control,.play) svg{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html:root body :is(.playback,.controls) :is(.time,.duration,#clock,#duration){flex:none;font-family:inherit;font-size:12px;font-weight:400;line-height:normal;font-variant-numeric:tabular-nums;color:#1d1d1f;white-space:nowrap;margin:0}
html:root body :is(.playback,.controls) :is(.duration,#duration){color:#626268}
html:root body :is(.playback,.controls) input[type=range]{flex:1;width:60px;min-width:20px;height:32px;min-height:32px;margin:2px;padding:0;accent-color:#1d1d1f;cursor:pointer}
html:root body :is(.playback,.controls) :is(select,.speed,#replay,button[aria-label="重播"]){display:none!important}
@media(max-width:760px){
html:root body:not(.wide) :is(.lesson-layout>.viewer,#player):not(.landscape){border-radius:13px}
html:root body :is(.playback,.controls){height:48px;min-height:48px;padding:6px 9px;gap:8px}
}
@media(max-width:360px){html:root body :is(.playback,.controls){gap:6px;padding:6px 7px}}
@media(prefers-reduced-motion:reduce){html:root body :is(.playback,.controls) button{transition:none}}
/* END shared player controls */
