*{box-sizing:border-box}
html{color-scheme:light}
body{--blue:#0864e8;--navy:#0e2748;--text:#193552;--muted:#60748c;--line:#d8e4f0;--soft:#f4f8fc;--green:#0aa675;--red:#b73b4b;margin:0;background:#fff;color:var(--navy);font-family:"Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif}
a{text-decoration:none}
.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;border-bottom:1px solid var(--line);padding:10px clamp(22px,5vw,72px)}
.brand{display:flex;align-items:center;min-height:44px;gap:10px;color:var(--navy)}
.brand>b{display:grid;place-items:center;width:34px;height:38px;clip-path:polygon(50% 0,95% 24%,95% 76%,50% 100%,5% 76%,5% 24%);background:var(--blue);color:#fff;font-size:14px}
.brand span{display:grid}
.brand strong{font-size:14px}
.brand small{margin-top:2px;color:var(--muted);font-size:10px}
.topbar nav{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}
.topbar nav a{display:flex;align-items:center;min-height:44px;color:var(--muted)}
.topbar nav i{width:22px;height:1px;background:var(--line)}
.topbar nav strong{color:var(--navy)}
.step{justify-self:end;color:var(--blue);font-size:11px;font-weight:800}
main{max-width:1320px;margin:auto;padding:0 28px 70px}
.intro{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;padding:56px 0 34px}
.intro h1{max-width:850px;margin:0;font-size:clamp(36px,4vw,54px);line-height:1.15;letter-spacing:-.04em}
.intro p{max-width:790px;margin:20px 0 0;color:var(--muted);font-size:16px;line-height:1.8}
.intro dl{display:grid;grid-template-columns:repeat(3,1fr);min-width:380px;margin:0}
.intro dl div{border-left:1px solid var(--line);padding:7px 16px}
.intro dt{color:var(--muted);font-size:9px}
.intro dd{margin:6px 0 0;font-size:12px;font-weight:800}
.lesson-rail{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 34px;padding:0;border-block:1px solid var(--line);list-style:none}
.lesson-rail li{display:flex;align-items:center;gap:12px;min-height:82px;padding:15px 22px;color:#778ba0}
.lesson-rail li+li{border-left:1px solid var(--line)}
.lesson-rail b{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b8cce1;border-radius:50%;font-size:10px}
.lesson-rail span{display:grid}
.lesson-rail strong{font-size:13px}
.lesson-rail small{margin-top:4px;font-size:9px}
.lesson-rail li.active{color:var(--blue);box-shadow:inset 0 -3px var(--blue)}
.lesson-rail li.active b{border-color:var(--blue);background:var(--blue);color:#fff}
.question{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:34px}
.question>header>span,.comparison>header span,.axis-compare header span,.explain>div>span{color:var(--blue);font-size:10px;font-weight:800}
.question h2,.comparison h2,.explain h2{margin:9px 0 12px;font-size:27px;line-height:1.3}
.question header p,.comparison>header p,.explain>div>p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
button,input{font:inherit}
.question form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.question fieldset{min-width:0;margin:0;border:1px solid var(--line);background:#fff;padding:16px}
.question legend{display:flex;align-items:center;gap:10px;padding:0 5px}
.question legend>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px}
.question legend span{display:grid}
.question legend strong{font-size:13px}
.question legend small{margin-top:2px;color:var(--muted);font-size:9px}
.question label,.explain label{display:flex;align-items:center;min-height:46px;border-top:1px solid var(--line);color:var(--text);font-size:11px;line-height:1.5}
.question label:first-of-type{margin-top:8px}
.question input,.explain input{width:18px;height:18px;margin:0 9px 0 2px;accent-color:var(--blue)}
.question form>button,.explain button{grid-column:1/-1;min-height:48px;border:0;border-radius:7px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;cursor:pointer}
.question form>button:disabled{background:#9eb9dc;cursor:wait}
.boundary{grid-column:1/-1;margin:0;border-left:3px solid var(--green);background:#eef8f4;padding:10px 13px;color:#467264;font-size:10px;line-height:1.6}
.comparison{padding:62px 0 0}
.comparison>header{display:flex;align-items:end;justify-content:space-between;gap:30px}
.comparison>header p{max-width:430px}
.case-head,.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.case-head{margin-top:26px}
.case-head strong{border-bottom:3px solid var(--blue);padding:12px 4px;font-size:13px}
.case-head strong:last-child{border-bottom-color:#8194aa}
.case-grid article{min-width:0;border-bottom:1px solid var(--line);padding:20px 4px 24px}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.pipeline div{position:relative;min-height:96px;border:1px solid #b6cce3;background:#f3f8ff;padding:12px 10px}
.pipeline div:not(:last-child):after{position:absolute;z-index:2;top:41px;right:-9px;width:10px;height:1px;background:var(--blue);content:""}
.pipeline div b,.pipeline div span,.pipeline div small{display:block}
.pipeline div b{color:var(--blue);font-size:9px}
.pipeline div span{margin:11px 0 5px;font-size:11px;font-weight:800}
.pipeline div small{color:var(--muted);font-size:8px;line-height:1.4}
.pipeline div.off{border-style:dashed;background:#f7f8fa;color:#8a98a8}
.pipeline div.off b,.pipeline div.off small{color:#8a98a8}
.result-summary{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center;margin-top:14px}
.result-summary>b{grid-row:1/3;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--navy);color:#fff;font-size:22px}
.result-summary strong{font-size:14px}
.result-summary p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.trace{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}
.trace span{border:1px solid var(--line);border-radius:3px;padding:5px 7px;color:#526b84;font:8px/1.2 "Cascadia Mono",Consolas,monospace}
.trace span.stop{border-color:#e0b1b7;background:#fff2f3;color:var(--red)}
.axis-compare{margin-top:28px;border:1px solid var(--line);padding:26px}
.axis-compare>header{display:flex;align-items:end;justify-content:space-between;gap:30px}
.axis-compare h3{margin:6px 0 0;font-size:19px}
.axis-compare header p{max-width:440px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}
.axis-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;height:210px;margin-top:20px;border-bottom:1px solid #9eb2c6;padding:10px 20px 0;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#e2eaf3 50px)}
.axis{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4px;height:100%;text-align:center}
.axis i{display:block;min-height:2px;background:var(--blue)}
.axis i.actual{background:var(--green)}
.axis-1 i{height:25px}
.axis-2 i{height:46px}
.axis-3 i{height:73px}
.axis-4 i{height:102px}
.axis-5 i{height:124px}
.axis-6 i{height:150px}
.axis span{grid-column:1/-1;padding:6px 0;color:var(--muted);font-size:9px}
.axis.empty i{height:2px!important;background:#cbd5df}
.explain{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;margin-top:54px;border-top:1px solid var(--line);padding-top:46px}
.explain form{display:grid;gap:12px}
.explain fieldset{margin:0;border:1px solid var(--line);background:#fff;padding:12px 16px}
.explain legend{padding:0 5px;color:var(--navy);font-size:11px;font-weight:800}
.explain label:first-child{border-top:0}
.student-explanation{display:grid!important;gap:7px;align-items:stretch!important;border:0!important}
.student-explanation span{display:flex;justify-content:space-between;color:var(--navy);font-size:11px;font-weight:800}
.student-explanation small{color:var(--blue);font-size:10px}
.student-explanation textarea{box-sizing:border-box;width:100%;min-height:92px;resize:vertical;border:1px solid var(--line);border-radius:7px;background:#fbfdff;padding:11px 12px;color:var(--text);font:11px/1.65 "Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif}
.student-explanation textarea:focus{outline:3px solid #8ebafd;outline-offset:2px;border-color:var(--blue)}
.explain button{margin-top:12px}
.explain #feedback{margin:10px 0 0;padding:10px 12px;color:var(--muted);font-size:11px}
.explain #feedback.pass{border-left:3px solid var(--green);background:#eef8f4;color:#326652}
.explain #feedback.fail{border-left:3px solid var(--red);background:#fff1f2;color:#8c3440}
.finish{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-top:54px;border-radius:12px;background:#eaf3ff;padding:28px 32px}
.finish h2{margin:0;font-size:25px}
.finish p{max-width:700px;margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.finish button,.finish a{display:grid;place-items:center;min-height:48px;border:1px solid #8fb5e8;border-radius:7px;background:#fff;padding:0 18px;color:var(--blue);font-size:11px;font-weight:800;cursor:pointer}
.finish a{border-color:var(--blue);background:var(--blue);color:#fff}
footer{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);background:#f7fafd;padding:16px clamp(22px,5vw,72px);color:var(--muted);font-size:10px}
footer strong{color:var(--navy)}
footer span{margin-right:auto}
footer b{color:var(--red)}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8ebafd;outline-offset:2px}
[hidden]{display:none!important}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}
.topbar nav{display:none}
.intro{grid-template-columns:1fr}
.intro dl{min-width:0}
.question,.explain{grid-template-columns:1fr}
.case-head,.case-grid{grid-template-columns:1fr}
.case-head{display:none}
.case-grid article:before{display:block;margin-bottom:14px;border-bottom:3px solid var(--blue);padding:10px 4px;font-weight:800;content:attr(data-label)}
.finish{grid-template-columns:1fr 1fr}
.finish>div{grid-column:1/-1}
}
@media(max-width:620px){.topbar{padding:8px 14px}
.brand small{display:none}
.step{font-size:10px}
main{padding:0 16px 44px}
.intro{padding:36px 0 24px}
.intro h1{font-size:33px}
.intro p{font-size:13px}
.intro dl{grid-template-columns:1fr}
.intro dl div{border-top:1px solid var(--line);border-left:0;padding:9px 0}
.lesson-rail{grid-template-columns:repeat(3,1fr)}
.lesson-rail li{display:grid;justify-items:center;gap:5px;min-height:92px;padding:10px 4px;text-align:center}
.lesson-rail li+li{border-left:0}
.lesson-rail small{display:none}
.question{margin-inline:-16px;border-inline:0;border-radius:0;padding:26px 16px}
.question h2,.comparison h2,.explain h2{font-size:23px}
.question form{grid-template-columns:1fr}
.question form>button{grid-column:1}
.comparison{padding-top:44px}
.comparison>header,.axis-compare>header{display:block}
.comparison>header p,.axis-compare header p{margin-top:8px}
.pipeline{grid-template-columns:1fr}
.pipeline div{min-height:64px}
.pipeline div:not(:last-child):after{top:auto;right:auto;bottom:-8px;left:24px;width:1px;height:9px}
.axis-compare{margin-inline:-12px;border-inline:0;padding:22px 12px}
.axis-grid{gap:6px;padding-inline:6px}
.explain{gap:18px;margin-top:40px;padding-top:32px}
.finish{grid-template-columns:1fr;margin:40px 0 0;padding:23px 18px}
.finish>div{grid-column:1}
.finish button,.finish a{width:100%}
footer{align-items:flex-start;flex-wrap:wrap;padding:14px 16px}
footer span{width:100%;order:3}
footer b{margin-left:auto}
}

/* P296 unified Mock workbench: approved P294 desktop/mobile concept */
body{--blue:#0b61e8;--navy:#102640;--text:#29435f;--muted:#62758d;--line:#d4e0ed;--soft:#f5f8fc;background:#f5f8fc;font-family:var(--product-font,"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",sans-serif)}
.topbar{position:sticky;z-index:20;top:0;grid-template-columns:1fr auto 1fr;min-height:64px;background:rgba(255,255,255,.97);padding:8px clamp(20px,3vw,48px);backdrop-filter:blur(12px)}
.brand>b{border-radius:9px;clip-path:none;background:#0b61e8}
.brand strong{font-size:18px;color:#0b61e8}.brand small{font-size:12px}
.mode-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(108px,1fr));gap:0!important;border:1px solid #d2deeb;border-radius:9px;background:#fff;overflow:hidden}
.mode-tabs a,.mode-tabs button{display:grid;min-height:44px;place-items:center;border:0;border-right:1px solid #d2deeb;background:#fff;padding:0 22px;color:#6c7d92;font-size:15px;font-weight:700;text-decoration:none}.mode-tabs>*:last-child{border-right:0}.mode-tabs .active{background:#0b61e8;color:#fff}.mode-tabs button:disabled{cursor:not-allowed;color:#8795a7}
.safety-state{justify-self:end;border:1px solid #d6e5df;border-radius:999px;background:#f3faf7;padding:9px 14px;color:#356858;font-size:12px;font-weight:700}
main{max-width:1480px;padding:0 22px 72px}
.intro{align-items:center;padding:28px 6px 20px}.intro>div>span{color:#0b61e8;font-size:13px;font-weight:800}.intro h1{margin-top:6px;font-size:clamp(28px,3vw,42px);letter-spacing:-.025em}.intro p{margin-top:10px;font-size:15px;line-height:1.65}.intro dl{min-width:410px}.intro dt{font-size:12px}.intro dd{font-size:13px}
.lesson-rail{margin-bottom:18px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.lesson-rail li{min-height:68px}.lesson-rail b,.lesson-rail strong,.lesson-rail small{font-size:12px}
.mock-workbench{overflow:hidden;border:1px solid #cddae8;border-radius:13px;background:#fff;box-shadow:0 18px 48px rgba(29,64,101,.08)}
.workbench-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}
.workbench-heading span{color:#0b61e8;font-size:12px;font-weight:800}.workbench-heading h2{margin:5px 0 6px;font-size:26px}.workbench-heading p{margin:0;color:var(--muted);font-size:13px}.workbench-heading>strong{border:1px solid #ccd9e7;border-radius:7px;background:#f6f9fc;padding:10px 13px;color:#536a83;font-size:12px}
.workbench-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(360px,.95fr);min-height:560px}
.mechanism-stage{display:grid;grid-template-rows:auto 1fr auto;min-width:0;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 46%,#fff 0,#eef3f8 64%,#e7edf4 100%)}
.mechanism-stage>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px}.mechanism-stage>header div:first-child{display:grid}.mechanism-stage>header small{color:#506982;font-size:12px}.mechanism-stage>header strong{margin-top:3px;font-size:14px}
.view-switch{display:flex!important;gap:6px}.view-switch button{min-height:40px;border:1px solid #c8d7e7;border-radius:6px;background:#fff;padding:0 14px;color:#506982;font-size:12px;font-weight:700}.view-switch button.active{border-color:#0b61e8;color:#0b61e8}
.mechanism{display:block;width:min(88%,720px);max-height:440px;margin:auto;overflow:visible}.mechanism .palm,.mechanism .finger rect,.mechanism .thumb rect,.mechanism .wrist{fill:#f9fbfd;stroke:#9aabba;stroke-width:3}.mechanism .finger circle,.mechanism .thumb circle{fill:#fff;stroke:#18a96f;stroke-width:4}.mechanism .finger-index circle:first-of-type{stroke:#0b61e8;stroke-width:6}.mechanism .axis-labels text{fill:#0b61e8;font-size:18px;font-weight:800}.mechanism .coupling-lines{opacity:0;transition:opacity .18s ease}.mechanism .coupling-lines path{fill:none;stroke:#18a96f;stroke-dasharray:7 6;stroke-width:3}.mechanism .coupling-lines text{fill:#356858;font-size:14px}.mechanism.coupling .coupling-lines{opacity:1}.mechanism.running .finger{transform-box:fill-box;transform-origin:center bottom;animation:finger-open .8s ease both}.mechanism.running .thumb{transform-box:fill-box;transform-origin:right center;animation:thumb-open .8s ease both}.mechanism.stopped{filter:grayscale(.6);opacity:.78}
@keyframes finger-open{from{transform:rotate(7deg) scaleY(.92)}to{transform:rotate(0) scaleY(1)}}@keyframes thumb-open{from{transform:rotate(12deg)}to{transform:rotate(0)}}
.mechanism[data-pose="rock"] .finger{transform-box:fill-box;transform-origin:center bottom;transform:scaleY(.48) translateY(52%)}.mechanism[data-pose="rock"] .thumb{transform-box:fill-box;transform-origin:right center;transform:rotate(24deg) translate(24px,20px)}.mechanism[data-pose="reset"]{opacity:.78}
.mechanism-stage>footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(190,205,220,.7);background:rgba(255,255,255,.68);padding:11px 17px;color:#5e7289;font-size:12px}.mechanism-stage>footer b{color:#8a5a31;font-weight:700}
.motion-panel{display:grid;align-content:start;gap:17px;padding:22px;background:#fff}.pose-choice header{display:grid}.pose-choice small{color:#0b61e8;font-size:12px}.pose-choice strong{margin-top:4px;font-size:16px}.pose-choice>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.pose-choice button{display:grid;min-height:72px;place-items:center;border:1px solid #cbd8e6;border-radius:8px;background:#fff;color:#344b66;font-size:15px;font-weight:800}.pose-choice button small{margin-top:-10px;color:#73849a;font-size:11px;font-weight:500}.pose-choice button.active{border-color:#0b61e8;background:#0b61e8;color:#fff}.pose-choice button.active small{color:#e8f1ff}
.axis-table{border-top:1px solid var(--line);padding-top:16px}.axis-table header{display:flex;align-items:end;justify-content:space-between;gap:12px}.axis-table header strong{font-size:15px}.axis-table header span{color:#6d7e91;font-size:11px}.axis-table ol{margin:10px 0 0;padding:0;list-style:none}.axis-table li{display:grid;grid-template-columns:34px 1fr 116px 42px;align-items:center;min-height:45px;border-bottom:1px solid #e0e8f1;padding:0 7px}.axis-table li.selected{border:1px solid #0b61e8;border-radius:5px;background:#f0f6ff}.axis-table b{font-size:13px}.axis-table span{font-size:12px}.axis-table code{justify-self:end;color:#35506c;font:12px/1.2 "Cascadia Mono",Consolas,monospace}.axis-table i{justify-self:end;color:#7b8da1;font-size:11px;font-style:normal}.axis-table li.good i{color:#078d60}.axis-table li.missing code{color:#9aa7b5}.axis-table li.missing i{color:#ad3848}
.workbench-next{min-height:48px;border:0;border-radius:7px;background:#0b61e8;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.motion-panel>p{margin:0;color:#6b7d91;font-size:12px;line-height:1.6}
.telemetry-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(360px,.95fr);border-top:1px solid var(--line)}
.curve-panel{min-width:0;border-right:1px solid var(--line);padding:18px 22px}.curve-panel>header{display:flex;align-items:end;justify-content:space-between;gap:16px}.curve-panel header div:first-child{display:grid}.curve-panel header strong{font-size:15px}.curve-panel header span{margin-top:4px;color:#6b7c90;font-size:12px}.curve-legend{display:flex!important;align-items:center;gap:6px;color:#61748b;font-size:11px}.curve-legend i{width:22px;height:2px;background:#0b61e8}.curve-legend i:first-child{border-top:2px dashed #0b61e8;background:transparent}.curve-legend i:last-of-type{border-top:2px dashed #12a76e;background:transparent}.curve-panel svg{display:block;width:100%;max-height:260px;margin-top:8px}.curve-panel .grid path{fill:none;stroke:#dbe4ed;stroke-width:1}.curve-panel .labels text{fill:#708198;font-size:11px}.curve-panel #curve-empty{fill:#718399;font-size:13px}.curve-target,.curve-actual,.curve-error{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.curve-target{stroke:#0b61e8;stroke-dasharray:8 6}.curve-actual{stroke:#0b61e8}.curve-error{stroke:#12a76e;stroke-dasharray:5 5}.explore-conclusion{display:grid;gap:5px;margin-top:10px;border-left:3px solid var(--green);background:#eef8f4;padding:11px 13px;color:#365f51}.explore-conclusion b{font-size:14px}.explore-conclusion span,.explore-conclusion em{font-size:13px;line-height:1.55}.explore-conclusion em{color:#0b61e8;font-style:normal;font-weight:700}
.fault-panel{padding:18px 20px}.fault-panel header{display:grid}.fault-panel header small{color:#0b61e8;font-size:12px}.fault-panel header strong{margin-top:4px;font-size:15px}.fault-panel>div{display:grid;gap:8px;margin-top:14px}.fault-panel button{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:52px;border:1px solid #d1dce9;border-radius:7px;background:#fff;padding:8px 12px;text-align:left}.fault-panel button b{font-size:12px}.fault-panel button span{color:#718298;font-size:11px}.fault-panel button.active{border-color:#0b61e8;background:#f0f6ff;color:#0b61e8}.fault-panel button:disabled{opacity:.56}.fault-panel p{margin:13px 0 0;color:#657990;font-size:12px;line-height:1.55}.fault-panel p.stop{border-left:3px solid #b73b4b;background:#fff2f3;padding:9px 10px;color:#8c3440}.fault-panel p.pass{border-left:3px solid #0aa675;background:#eef8f4;padding:9px 10px;color:#326652}
.trace-strip{display:grid;grid-template-columns:190px 1fr;align-items:stretch;border-top:1px solid var(--line)}.trace-strip>header{display:grid;align-content:center;border-right:1px solid var(--line);padding:18px 20px}.trace-strip>header strong{font-size:14px}.trace-strip>header span{margin-top:5px;color:#6c7e92;font-size:12px}.trace-strip ol{display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none}.trace-strip li{position:relative;display:flex;align-items:center;gap:8px;min-height:78px;padding:12px 10px;color:#718297}.trace-strip li+li{border-left:1px solid #e0e8f1}.trace-strip li b{display:grid;flex:0 0 27px;height:27px;place-items:center;border:1px solid #c7d5e4;border-radius:50%;font-size:10px}.trace-strip li span{display:grid;font-size:12px;font-weight:700}.trace-strip li small{margin-top:3px;font:9px/1.2 "Cascadia Mono",Consolas,monospace}.trace-strip li.done{background:#f0faf6;color:#147853}.trace-strip li.stop{background:#fff2f3;color:#a03e4d}.trace-strip li.current b{border-color:#0b61e8;background:#0b61e8;color:#fff}
.definition-bridge{margin-top:20px}.question{margin-top:20px}.comparison{padding-top:34px}
@media(prefers-reduced-motion:reduce){.mechanism.running .finger,.mechanism.running .thumb{animation:none}}
@media(max-width:1100px){.topbar{grid-template-columns:1fr auto}.safety-state{display:none}.workbench-grid,.telemetry-grid{grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr)}.trace-strip{grid-template-columns:1fr}.trace-strip>header{border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:820px){.topbar{position:static;grid-template-columns:1fr}.mode-tabs{grid-row:2;grid-column:1}.workbench-grid,.telemetry-grid{grid-template-columns:1fr}.mechanism-stage,.curve-panel{border-right:0;border-bottom:1px solid var(--line)}.trace-strip ol{grid-template-columns:repeat(3,1fr)}.intro{grid-template-columns:1fr}.intro dl{min-width:0}.workbench-heading{align-items:flex-start;flex-direction:column}.mechanism-stage>footer{flex-direction:column}.axis-table li{grid-template-columns:34px 1fr 110px 38px}}
@media(max-width:620px){main{padding-inline:12px}.topbar{padding:9px 12px}.brand strong{font-size:17px}.mode-tabs a,.mode-tabs button{padding:0 10px;font-size:14px}.intro{padding:26px 4px 16px}.intro h1{font-size:28px;line-height:1.2}.intro p{font-size:14px}.intro dl{display:none}.lesson-rail{margin-inline:0}.mock-workbench{border-radius:10px}.workbench-heading{padding:18px 16px}.workbench-heading h2{font-size:22px}.mechanism-stage>header{align-items:flex-start;flex-direction:column}.mechanism{width:100%;max-height:390px}.motion-panel{padding:18px 14px}.pose-choice>div{gap:6px}.pose-choice button{min-height:68px}.axis-table header{align-items:flex-start;flex-direction:column}.axis-table li{grid-template-columns:32px 1fr 100px 36px;padding-inline:3px}.curve-panel{padding:16px 10px}.curve-panel>header{align-items:flex-start;flex-direction:column}.fault-panel{padding:17px 14px}.trace-strip ol{grid-template-columns:1fr 1fr}.trace-strip li{min-height:68px}.definition-bridge,.question{margin-top:14px}.comparison{padding-top:28px}}
.view-switch button{min-height:44px}.pose-choice button small,.axis-table header span,.axis-table i,.fault-panel button span{font-size:12px}.trace-strip li small{font:12px/1.25 "Cascadia Mono",Consolas,monospace;overflow-wrap:anywhere}
@media(max-width:620px){.lesson-rail{display:none}.definition-bridge,.question{margin:14px 0 0}}

/* P355 · RH2开源模型探索工作台。第三方开源模型不冒充IPC11已确认的官方同修订CAD。 */
body{font-size:16px;letter-spacing:.005em}
.topbar{min-height:78px}.brand strong{font-size:17px}.brand small{font-size:12px}.mode-tabs a,.mode-tabs button,.safety-state{font-size:14px}
.intro{padding-top:42px}.intro h1{font-size:clamp(38px,4.2vw,58px)}.intro p{font-size:18px;line-height:1.75}.intro dt{font-size:12px}.intro dd{font-size:15px}
.lesson-rail strong{font-size:16px}.lesson-rail small{font-size:13px;line-height:1.45}.lesson-rail b{font-size:13px}
.workbench-heading h2{font-size:28px}.workbench-heading p{font-size:16px;line-height:1.65}.workbench-heading>strong{font-size:14px}
.mechanism-stage>header small{font-size:12px}.mechanism-stage>header strong{font-size:17px;line-height:1.45}.view-switch button{min-width:68px;font-size:15px;font-weight:760}
.hand-viewport{position:relative;min-height:600px;overflow:hidden;background:#eef3f8}
#first-rps-hand-canvas{display:block;width:100%;height:600px;cursor:grab;touch-action:none;outline:none}
#first-rps-hand-canvas:active{cursor:grabbing}
.hand-fallback{position:absolute;inset:38% 14%;display:grid;place-items:center;border:1px solid #e7b55a;border-radius:10px;background:#fff8e9;padding:22px;color:#795817;font-size:16px;text-align:center}
.orbit-hint{position:absolute;top:18px;left:18px;margin:0;border:1px solid #c7d7e8;border-radius:999px;background:rgba(255,255,255,.91);padding:10px 15px;color:#385670;font-size:14px;font-weight:720;box-shadow:0 5px 16px rgba(34,63,93,.08);pointer-events:none}
.axis-legend{position:absolute;left:18px;bottom:18px;display:grid;gap:6px;width:min(240px,42%)}
.axis-legend button{display:grid;grid-template-columns:38px 1fr;align-items:center;min-height:44px;border:1px solid rgba(181,199,218,.85);border-radius:8px;background:rgba(255,255,255,.9);padding:5px 9px;color:#405d79;text-align:left;box-shadow:0 4px 13px rgba(34,63,93,.05);cursor:pointer}
.axis-legend button b{color:var(--blue);font-size:14px}.axis-legend button span{font-size:13px}.axis-legend button.active{border-color:var(--blue);background:#f0f6ff;box-shadow:0 0 0 2px rgba(8,100,232,.12)}
.hand-discovery{position:absolute;right:18px;bottom:18px;display:grid;width:min(310px,48%);border:1px solid #b8ddce;border-radius:10px;background:rgba(244,252,248,.94);padding:13px 15px;box-shadow:0 7px 20px rgba(30,83,61,.08);pointer-events:none}
.hand-discovery b{color:#087a54;font-size:16px}.hand-discovery span{margin-top:5px;color:#426a5c;font-size:13px;line-height:1.55}
.mechanism-stage>footer span,.mechanism-stage>footer b{font-size:13px;line-height:1.55}
.pose-choice header small{font-size:13px}.pose-choice header strong{font-size:17px;line-height:1.5}.pose-choice button{font-size:16px}.pose-choice button small{font-size:13px}
.axis-table header strong{font-size:17px}.axis-table header span{font-size:13px}.axis-table li{min-height:47px}.axis-table li b,.axis-table li span,.axis-table li code,.axis-table li i{font-size:13px}
.workbench-next{min-height:54px;font-size:16px}.motion-panel>p{font-size:13px;line-height:1.6}
.curve-panel header strong,.fault-panel header strong{font-size:17px}.curve-panel header span,.curve-legend,.fault-panel header small,.fault-panel p{font-size:13px}.fault-panel button b,.fault-panel button span{font-size:14px}.trace-strip>header strong{font-size:16px}.trace-strip>header span,.trace-strip li span,.trace-strip li small{font-size:13px}
.question h2,.comparison h2,.explain h2{font-size:30px}.question header p,.comparison>header p,.explain>div>p{font-size:16px}.question label,.explain label{font-size:15px}.question legend strong{font-size:16px}.question legend small{font-size:13px}.question form>button,.explain button{font-size:16px}.boundary{font-size:13px}
@media(max-width:1100px){.hand-viewport,#first-rps-hand-canvas{min-height:520px;height:520px}.axis-legend{width:min(220px,43%)}.hand-discovery{width:min(270px,46%)}}
@media(max-width:820px){.hand-viewport,#first-rps-hand-canvas{min-height:560px;height:560px}.axis-legend{width:210px}.hand-discovery{width:260px}}
@media(max-width:620px){body{font-size:16px}.topbar{min-height:68px}.intro h1{font-size:32px}.intro p{font-size:16px}.workbench-heading h2{font-size:25px}.workbench-heading p{font-size:15px}.hand-viewport{min-height:0;height:auto}.hand-viewport #first-rps-hand-canvas{min-height:480px;height:480px}.orbit-hint{top:10px;left:10px;padding:8px 11px;font-size:12px}.axis-legend{position:static;width:auto;grid-template-columns:repeat(3,1fr);padding:10px 10px 4px;background:#eef3f8}.axis-legend button{grid-template-columns:32px 1fr;min-height:44px;padding:4px 7px}.axis-legend button b,.axis-legend button span{font-size:12px}.hand-discovery{position:static;width:auto;margin:6px 10px 12px;padding:11px 12px}.hand-discovery b{font-size:15px}.hand-discovery span{font-size:13px}.mechanism-stage>footer span,.mechanism-stage>footer b{font-size:12px}.question h2,.comparison h2,.explain h2{font-size:25px}.question header p,.comparison>header p,.explain>div>p{font-size:15px}}

.perception-return {
  max-width: 1320px;
  margin: 0 auto 20px;
  overflow: hidden;
  border: 1px solid #bfd3eb;
  border-left: 4px solid #0b61e8;
  border-radius: 9px;
  background: #fff;
  color: #173153;
}

.perception-return:focus {
  outline: 3px solid rgba(11, 97, 232, .22);
  outline-offset: 3px;
}

.perception-return > header {
  display: grid;
  grid-template-columns: 190px 1fr;
  align-items: center;
  padding: 15px 18px;
  border-bottom: 1px solid #d4e2f1;
  background: #edf5ff;
  gap: 18px;
}

.perception-return > header > b {
  display: grid;
  min-height: 38px;
  border-radius: 5px;
  background: #0b61e8;
  color: #fff;
  font-size: 13px;
  place-items: center;
}

.perception-return h2 {
  margin: 0;
  color: #071d43;
  font-size: 20px;
  line-height: 1.35;
}

.perception-return header p {
  margin: 3px 0 0;
  color: #5a708c;
  font-size: 13px;
}

.perception-return__flow {
  display: grid;
  grid-template-columns: 1fr 54px 1fr 54px 1fr 54px 1fr;
  align-items: center;
  padding: 16px 18px;
}

.perception-return__flow article {
  min-height: 94px;
  padding: 13px 14px;
  border: 1px solid #c9d9ea;
  border-radius: 7px;
  background: #fff;
}

.perception-return__flow article b {
  display: block;
  color: #0b61e8;
  font-size: 12px;
}

.perception-return__flow article strong {
  display: block;
  margin-top: 5px;
  color: #153b73;
  font-size: 15px;
}

.perception-return__flow article span {
  display: block;
  margin-top: 4px;
  color: #60758f;
  font-size: 12px;
}

.perception-return__flow > i {
  position: relative;
  height: 2px;
  background: #0b61e8;
}

.perception-return__flow > i::after {
  position: absolute;
  top: -5px;
  right: 0;
  width: 10px;
  height: 10px;
  border-top: 2px solid #0b61e8;
  border-right: 2px solid #0b61e8;
  content: "";
  transform: rotate(45deg);
}

.perception-return > footer {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 11px 18px;
  border-top: 1px solid #ead4aa;
  background: #fff9ed;
  gap: 18px;
}

.perception-return > footer p {
  margin: 0;
  color: #745d33;
  font-size: 12px;
}

.perception-return > footer a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 15px;
  border: 1px solid #0b61e8;
  border-radius: 6px;
  background: #fff;
  color: #0b61e8;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}

@media (max-width: 900px) {
  .perception-return { margin: 0 12px 18px; }
  .perception-return__flow { grid-template-columns: 1fr; gap: 7px; }
  .perception-return__flow > i { width: 2px; height: 24px; margin: 0 auto; }
  .perception-return__flow > i::after { top: auto; right: -5px; bottom: 0; transform: rotate(135deg); }
}

@media (max-width: 520px) {
  .perception-return > header { grid-template-columns: 1fr; gap: 9px; }
  .perception-return > header > b { width: 170px; }
  .perception-return h2 { font-size: 18px; }
  .perception-return > footer { grid-template-columns: 1fr; }
  .perception-return > footer a { justify-content: center; }
}

.definition-bridge{margin:4px 0 34px;border:1px solid #c9d9ed;border-radius:18px;background:linear-gradient(135deg,#f7faff,#edf4ff);padding:26px}.definition-bridge>header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.definition-bridge>header span{color:var(--blue);font-size:12px;font-weight:800}.definition-bridge h2{margin:7px 0 8px;font-size:25px}.definition-bridge header p{max-width:820px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.definition-bridge header a{display:grid;min-height:44px;place-items:center;border:1px solid #9dbbe5;border-radius:9px;background:#fff;padding:0 15px;color:var(--blue);font-size:12px;font-weight:800}.definition-import{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;border:1px dashed #93b5e2;border-radius:12px;background:#fff;padding:15px 18px;cursor:pointer}.definition-import span,.definition-import b,.definition-import small{display:block}.definition-import b{font-size:13px}.definition-import small{margin-top:4px;color:var(--muted);font-size:12px}.definition-import input{max-width:310px;font-size:12px}.definition-status{margin:10px 0 0;padding:10px 12px;border-left:3px solid #96a8bd;background:#fff;color:var(--muted);font-size:12px}.definition-status.pass{border-color:var(--green);background:#eef8f4;color:#326652}.definition-status.fail{border-color:var(--red);background:#fff1f2;color:#8c3440}.definition-memory{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.definition-memory article{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;padding:15px}.definition-memory small{color:var(--blue);font-size:12px;font-weight:800}.definition-memory p{margin:8px 0 0;color:var(--text);font-size:12px;line-height:1.65}.definition-tests{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px;margin-top:12px}.definition-tests article{display:flex;align-items:center;gap:11px;border:1px solid #bfd3ec;border-radius:10px;background:#fff;padding:12px}.definition-tests article>b{display:grid;flex:0 0 30px;height:30px;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:12px}.definition-tests article span,.definition-tests article strong,.definition-tests article small{display:block}.definition-tests article strong{font-size:13px}.definition-tests article small{margin-top:3px;color:var(--muted);font-size:12px}.definition-tests i{color:var(--blue);font-style:normal}.definition-tests em{color:#315981;font-size:12px;font-style:normal;font-weight:800}.brand small,.topbar nav,.step,.intro dt,.lesson-rail b,.lesson-rail small,.question>header>span,.comparison>header span,.axis-compare header span,.explain>div>span,.question legend small,.question legend>b,.boundary,.pipeline div b,.pipeline div small,.result-summary p,.trace span,.trace small,.axis-compare header p,.axis span,.explain legend,.student-explanation span,.student-explanation small,.student-explanation textarea,.finish p,.finish button,.finish a,body>footer{font-size:12px}.question label,.explain label,.explain #feedback{font-size:13px}.pipeline div{min-height:116px}.pipeline div span{font-size:12px}@media(max-width:760px){.definition-bridge{margin-inline:0;border-radius:10px;padding:22px 16px}.definition-bridge>header{align-items:flex-start;flex-direction:column}.definition-import{align-items:flex-start;flex-direction:column}.definition-import input{max-width:100%;width:100%}.definition-memory,.definition-tests{grid-template-columns:1fr}.definition-tests i{display:none}.definition-bridge h2{font-size:23px}}
.definition-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 0;padding:0;list-style:none}.definition-steps li{display:flex;align-items:center;gap:11px;min-height:64px;border:1px solid #c8d9ef;border-radius:11px;background:#fff;padding:11px 13px}.definition-steps li>b{display:grid;flex:0 0 30px;height:30px;place-items:center;border-radius:50%;background:#dce8f7;color:#355c8d;font-size:12px}.definition-steps li.done>b{background:#dff3e9;color:#277052}.definition-steps span,.definition-steps strong,.definition-steps small{display:block}.definition-steps strong{font-size:13px}.definition-steps small{margin-top:3px;color:var(--muted);font-size:12px}.definition-steps+.definition-import{margin-top:12px}@media(max-width:760px){.definition-steps{grid-template-columns:1fr}}
