:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#203432;font-synthesis:none;text-rendering:optimizelegibility;letter-spacing:0;--ink:#203432;--muted:#647572;--paper:#fff;--canvas:#f1f5f3;--line:#d7e0dd;--line-strong:#b9c8c4;--coral:#ef6b57;--coral-soft:#fbe4df;--coral-text:#ad3d2f;--teal:#13998c;--teal-soft:#dcefeb;--teal-text:#08756c;--yellow:#e6ae27;--yellow-soft:#f8edc9;--yellow-text:#785600;--blue:#497bb7;--blue-soft:#e1e9f3;--nav:#27413d;background:#f1f5f3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #13998c4d}button:disabled,input:disabled{cursor:not-allowed;opacity:.45}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.topbar{background:var(--paper);border-bottom:1px solid var(--line);grid-template-columns:minmax(210px,1fr) auto minmax(110px,1fr);align-items:center;gap:22px;min-height:72px;padding:12px 24px;display:grid}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand-icon{color:#fff;background:var(--nav);border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid}.brand>div{flex-direction:column;min-width:0;display:flex}.brand strong{font-size:17px;font-weight:750}.brand div span{color:var(--muted);margin-top:2px;font-size:11px}.scenario-tabs,.view-switcher,.speed-switch{background:#e5ebe8;border-radius:8px;padding:3px;display:inline-flex}.scenario-tabs button,.view-switcher button,.speed-switch button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.scenario-tabs button[data-active=true],.view-switcher button[data-active=true],.speed-switch button[data-active=true]{color:var(--ink);background:var(--paper);box-shadow:0 1px 3px #1e35311f}.short-tab-label{display:none}.motion-toggle{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:7px;justify-content:center;justify-self:end;align-items:center;gap:7px;min-width:80px;min-height:38px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.motion-toggle[aria-pressed=true]{color:var(--muted);background:#edf1ef}main{width:100%;max-width:1440px;margin:0 auto}.problem-band{--accent:var(--coral);--accent-soft:var(--coral-soft);--accent-text:var(--coral-text);background:var(--paper);border-bottom:1px solid var(--line);box-shadow:inset 5px 0 0 var(--accent);grid-template-columns:210px minmax(0,1fr);align-items:center;gap:28px;padding:24px clamp(22px,4vw,56px);display:grid}.accent-teal{--accent:var(--teal);--accent-soft:var(--teal-soft);--accent-text:var(--teal-text)}.accent-yellow{--accent:var(--yellow);--accent-soft:var(--yellow-soft);--accent-text:var(--yellow-text)}.problem-index{color:var(--accent-text);grid-template-columns:26px minmax(0,1fr);align-items:center;gap:2px 8px;display:grid}.problem-index span{font-size:13px;font-weight:750}.problem-index small{color:var(--muted);grid-column:2;font-size:11px}.problem-band h1{max-width:960px;color:var(--ink);letter-spacing:0;margin:0;font-size:25px;font-weight:720;line-height:1.55}.lab-layout{grid-template-columns:286px minmax(0,1fr);gap:18px;padding:22px clamp(22px,4vw,56px) 18px;display:grid}.parameter-panel,.visual-workspace{border:1px solid var(--line);background:var(--paper);border-radius:8px}.parameter-panel{padding:20px}.panel-heading,.parameter-heading,.data-editor-heading,.stage-readout,.workspace-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading{margin-bottom:23px}.panel-heading>div{flex-direction:column;display:flex}.panel-heading span{color:var(--coral-text);font-size:11px;font-weight:750}.panel-heading h2{margin:4px 0 0;font-size:17px;font-weight:730}.icon-button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:7px;flex:none;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}.parameter-field{border-top:1px solid var(--line);padding:13px 0}.parameter-heading label{color:var(--ink);font-size:12px;font-weight:700}.parameter-heading em{color:var(--muted);margin-left:3px;font-family:Georgia,serif;font-style:italic;font-weight:400}.number-input,.guess-input{position:relative}.number-input input{border:1px solid var(--line-strong);width:90px;height:34px;color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums;border-radius:6px;padding:0 42px 0 8px;font-size:13px}.number-input span,.guess-input span{color:var(--muted);pointer-events:none;font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.parameter-range{width:100%;accent-color:var(--nav);cursor:pointer;margin:10px 0 1px}.range-ends{color:#8a9895;justify-content:space-between;font-size:11px;display:flex}.random-button,.check-button{border:1px solid var(--line);cursor:pointer;background:#f7f9f8;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;font-size:12px;font-weight:700;display:flex}.key-relation{color:#0e7f75;border-left:3px solid var(--teal);background:var(--teal-soft);align-items:center;gap:9px;min-height:48px;margin:16px 0;padding:9px 11px;font-size:11px;display:flex}.key-relation[data-valid=false]{color:#986d04;border-color:var(--yellow);background:var(--yellow-soft)}.key-relation span{align-items:baseline;gap:5px;display:flex}.key-relation strong{color:var(--ink);font-size:17px}.guess-box{border-top:1px solid var(--line);padding-top:17px}.guess-box>label{color:var(--ink);margin-bottom:9px;font-size:12px;font-weight:700;display:block}.guess-row{grid-template-columns:minmax(0,1fr) 64px;gap:7px;display:grid}.guess-input input{border:1px solid var(--line-strong);border-radius:6px;width:100%;height:40px;padding:0 48px 0 10px}.check-button{color:#fff;border-color:var(--nav);background:var(--nav);min-height:40px}.feedback-line{color:#866000;align-items:flex-start;gap:5px;min-height:35px;padding-top:7px;font-size:11px;line-height:1.45;display:flex}.feedback-line[data-kind=correct]{color:#08766c}.cannot-catch{color:#866000;margin:0;font-size:11px;line-height:1.6}.visual-workspace{min-width:0;overflow:hidden}.workspace-toolbar{border-bottom:1px solid var(--line);min-height:58px;padding:9px 14px}.workspace-status{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.principle-steps{border-bottom:1px solid var(--line);background:#fafcfb;grid-template-columns:repeat(5,minmax(0,1fr));padding:8px 14px;display:grid}.principle-steps button{min-width:0;min-height:45px;color:var(--muted);border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:5px 7px;font-size:11px;font-weight:700;display:flex}.principle-steps button:last-child{border-right:0}.principle-steps button strong{width:22px;height:22px;color:var(--muted);background:#e5ebe8;border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.principle-steps button[data-active=true]{color:var(--ink);background:var(--teal-soft)}.principle-steps button[data-active=true] strong{color:#fff;background:var(--nav)}.status-dot{background:var(--accent,var(--coral));width:8px;height:8px;box-shadow:0 0 0 4px var(--accent-soft,var(--coral-soft));border-radius:50%}.motion-stage{min-height:555px}.stage-readout{justify-content:flex-start;gap:26px;min-height:54px;padding:10px 18px}.stage-readout>div{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.stage-readout svg{color:var(--teal)}.stage-readout strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px}.stage-readout .camera-readout{color:var(--teal-text);margin-left:auto}.stage-readout .camera-readout strong{font-size:11px;font-weight:650}.principle-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fafcfb;grid-template-rows:auto auto;grid-template-columns:minmax(210px,.9fr) minmax(260px,1.4fr);align-items:center;gap:7px 26px;min-height:112px;padding:15px 18px;display:grid}.proof-copy{flex-direction:column;grid-row:1/3;gap:5px;display:flex}.proof-copy span,.proof-intro span{color:var(--muted);font-size:11px;font-weight:650}.proof-copy strong,.proof-intro strong{color:var(--ink);font-size:13px;line-height:1.5}.proof-intro{color:var(--teal-text);grid-template-rows:auto;grid-template-columns:34px minmax(210px,.8fr) minmax(220px,1.2fr)}.proof-intro>div:not(.head-start-ruler){flex-direction:column;gap:4px;display:flex}.speed-proof-row{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.speed-proof-row>strong{color:var(--ink);font-size:12px}.speed-proof-track,.head-start-ruler{border:1px solid var(--line-strong);background:var(--paper);border-radius:5px;height:26px;display:flex;overflow:hidden}.speed-proof-part{border-right:1px solid #2034322e;place-items:center;min-width:0;height:100%;display:grid}.speed-proof-part small{white-space:nowrap;padding:0 5px;font-size:11px;font-weight:700;overflow:hidden}.part-common,.part-b{color:var(--teal-text);background:var(--teal-soft)}.part-extra,.part-a{color:var(--coral-text);background:var(--coral-soft)}.proof-footnote{color:#785600;grid-column:2;font-size:11px}.head-start-ruler{align-self:center;position:relative}.head-start-ruler span{background:var(--yellow-soft);border-right:2px solid var(--yellow);height:100%;display:block}.track-wrap{width:100%;overflow:hidden}.motion-svg{width:100%;height:auto;display:block}.track-bed{fill:#f3f6f5;stroke:var(--line);stroke-width:1px}.lane-line{stroke:#b9c8c4;stroke-width:2px;stroke-dasharray:9 8}.trail{stroke-width:8px;stroke-linecap:round;opacity:.55}.trail-a{stroke:var(--coral-soft)}.trail-b{stroke:var(--teal-soft)}.animal-runner{pointer-events:none}.animal-outline,.animal-coat,.animal-head,.animal-ear,.animal-paw{stroke:#3d4f4b;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.animal-a .animal-coat,.animal-a .animal-head,.animal-a .animal-paw{fill:#e9a36f}.animal-a .animal-tail{fill:none;stroke:#b9664c;stroke-width:7px}.animal-a .animal-muzzle,.animal-a .animal-ear-inner{fill:#fff1db}.animal-a .animal-scarf,.animal-a .traveler-badge circle,.animal-a .position-marker{fill:var(--coral)}.animal-a .animal-stripe{fill:none;stroke:#9b5545;stroke-width:3px;stroke-linecap:round}.animal-b .animal-coat,.animal-b .animal-head,.animal-b .animal-paw{fill:#d8d4c9}.animal-b .animal-ear,.animal-b .animal-tail{fill:#6c7774}.animal-b .animal-muzzle{fill:#fff5e6}.animal-b .animal-scarf,.animal-b .traveler-badge circle,.animal-b .position-marker{fill:var(--teal)}.animal-eye,.animal-nose{fill:#273734}.animal-smile{fill:none;stroke:#273734;stroke-width:1.3px;stroke-linecap:round}.animal-scarf{stroke:#fff;stroke-width:1.1px;stroke-linejoin:round}.traveler-badge circle{stroke:#fff;stroke-width:2.5px}.traveler-badge text{fill:#fff;font-size:11px;font-weight:800}.position-marker-halo{fill:#fff}.position-marker{stroke:#fff;stroke-width:1px}.animal-runner.is-running .animal-bob{animation:.38s ease-in-out infinite alternate animal-bob}.motion-streaks{opacity:0}.motion-streaks line{stroke:var(--line-strong);stroke-width:2.2px;stroke-linecap:round}.animal-runner.is-running .motion-streaks{animation:.5s ease-in-out infinite alternate motion-streaks}.animal-runner.is-running .animal-paw-front{transform-box:fill-box;transform-origin:top;animation:.38s ease-in-out infinite alternate animal-paw-front}.animal-runner.is-running .animal-paw-back{transform-box:fill-box;transform-origin:top;animation:.38s ease-in-out infinite alternate animal-paw-back}@keyframes animal-bob{0%{transform:translateY(0)}to{transform:translateY(-1.7px)}}@keyframes animal-paw-front{0%{transform:rotate(-10deg)}to{transform:rotate(12deg)}}@keyframes animal-paw-back{0%{transform:rotate(12deg)}to{transform:rotate(-10deg)}}@keyframes motion-streaks{0%{opacity:.35;transform:translate(3px)}to{opacity:.85;transform:translate(-2px)}}@media (prefers-reduced-motion:reduce){.animal-runner.is-running .animal-bob,.animal-runner.is-running .animal-paw-front,.animal-runner.is-running .animal-paw-back,.animal-runner.is-running .motion-streaks{animation:none}}.motion-state-label{fill:var(--teal-text);font-size:11px;font-weight:750}.speed-tag{fill:var(--ink);font-size:11px;font-weight:700}.waiting-tag{fill:#9b7108;font-size:11px;font-weight:700}.gap-measure line{stroke:var(--yellow);stroke-width:2px}.gap-measure rect{fill:var(--yellow-soft)}.gap-measure text{fill:#6f5310;font-size:11px;font-weight:750}.gap-cell{fill:#fff;stroke:var(--coral);stroke-width:1px}.gap-cell-fill{fill:var(--coral-soft)}.gap-cells text{fill:var(--coral-text);pointer-events:none;font-size:11px;font-weight:700}.gap-cells .gap-cells-title{fill:var(--muted);font-weight:650}.caught-ring{fill:none;stroke:var(--yellow);stroke-width:7px;opacity:.45}.ruler-line,.ruler-tick line{stroke:#9dafaa;stroke-width:1px}.ruler-tick text{fill:var(--muted);font-size:11px}.stage-caption{min-height:55px;color:var(--ink);border-top:1px solid var(--line);align-items:center;gap:9px;margin:0;padding:12px 18px;font-size:13px;font-weight:650;display:flex}.stage-caption svg{color:var(--yellow);flex:none}.playback{border-top:1px solid var(--line);grid-template-columns:auto minmax(150px,1fr) auto;align-items:center;gap:14px;min-height:68px;padding:11px 14px;display:grid}.play-actions{gap:6px;display:flex}.play-button{color:#fff;border-color:var(--nav);background:var(--nav)}.replay-button{margin-left:2px}.timeline{grid-template-columns:minmax(80px,1fr) 82px;align-items:center;gap:9px;min-width:0;display:grid}.timeline input{width:100%;accent-color:var(--nav);cursor:pointer}.timeline span{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.speed-switch button{min-width:38px;min-height:32px;padding:0 7px}.explain-stage{min-height:493px;padding:30px clamp(20px,5vw,54px) 24px}.explain-heading{align-items:center;gap:12px;margin-bottom:30px;display:flex}.explain-icon{color:#0b7f75;background:var(--teal-soft);border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.explain-heading span{color:var(--muted);font-size:11px;font-weight:700}.explain-heading h2{margin:3px 0 0;font-size:18px;font-weight:730}.distance-row{margin:26px 0}.distance-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:9px;font-size:12px;display:flex}.distance-heading strong{font-variant-numeric:tabular-nums;font-size:13px}.distance-strip{--bar-accent:var(--coral);--bar-soft:var(--coral-soft);border:2px solid var(--bar-accent);background:var(--paper);border-radius:6px;height:48px;position:relative;overflow:hidden}.distance-strip.accent-teal{--bar-accent:var(--teal);--bar-soft:var(--teal-soft)}.distance-strip.accent-yellow{--bar-accent:var(--yellow);--bar-soft:var(--yellow-soft)}.distance-fill{background:var(--bar-soft);position:absolute;inset:0 auto 0 0}.distance-segments{display:flex;position:absolute;inset:0}.distance-segments span{flex:var(--segment-weight,1);border-right:1px solid var(--bar-accent)}.distance-segments span:last-child{border-right:0}.diagram-legend{color:var(--muted);align-items:center;gap:20px;font-size:11px;display:flex}.diagram-legend span{align-items:center;gap:6px;display:flex}.diagram-warning{color:#785600;align-items:center;gap:8px;font-size:11px;display:flex}.diagram-legend i{border:1px solid var(--line-strong);width:16px;height:10px;display:inline-block}.legend-filled{background:var(--coral-soft)}.one-minute-rule{border-top:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:72px;margin-top:30px;padding-top:18px;display:grid}.one-minute-rule svg{color:var(--teal)}.one-minute-rule div{flex-direction:column;gap:3px;display:flex}.one-minute-rule span,.one-minute-rule small{color:var(--muted);font-size:11px}.one-minute-rule strong{font-size:13px}.formula-steps{border-top:1px solid var(--line)}.formula-step{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:14px;min-height:92px;padding:13px 0;display:grid}.step-number{color:#fff;background:var(--nav);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:750;display:grid}.formula-step>div{grid-template-columns:minmax(170px,1fr) minmax(160px,.8fr);align-items:center;gap:3px 20px;display:grid}.formula-step small{color:var(--muted);grid-column:1/-1;font-size:11px}.formula-step code{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;font-weight:750}.formula-step strong{color:var(--muted);font-size:12px;font-weight:650}.formula-answer{color:#08766c;border-left:4px solid var(--teal);background:var(--teal-soft);align-items:center;gap:8px;min-height:58px;margin-top:18px;padding:12px 16px;font-size:13px;display:flex}.formula-answer strong{color:var(--ink);font-size:16px}.relation-chain{min-height:94px;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr) auto minmax(150px,1fr);align-items:center;gap:12px;margin:0 clamp(22px,4vw,56px) 30px;padding:16px 22px;display:grid}.relation-chain>div{grid-template-columns:25px minmax(0,1fr);align-items:center;gap:2px 8px;display:grid}.relation-chain>div>svg{color:var(--teal);grid-row:1/3}.relation-chain span{font-size:11px}.relation-chain strong{color:var(--ink);font-size:13px}@media (width<=1020px){.topbar{grid-template-columns:auto 1fr auto}.brand div span{display:none}.scenario-tabs{justify-self:center}.full-tab-label{display:none}.short-tab-label{display:inline}.problem-band{grid-template-columns:165px minmax(0,1fr)}.problem-band h1{font-size:21px}.lab-layout{grid-template-columns:250px minmax(0,1fr);padding-left:22px;padding-right:22px}.relation-chain{margin-left:22px;margin-right:22px}.playback{grid-template-columns:auto minmax(100px,1fr)}.speed-switch{grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}}@media (width<=780px){.topbar{grid-template-columns:auto 1fr auto;gap:10px;min-height:66px;padding:10px 14px}.brand-icon{width:36px;height:36px}.brand strong{font-size:14px}.scenario-tabs{grid-template-columns:repeat(3,1fr);justify-self:stretch;display:grid}.scenario-tabs button{padding:0 7px}.scenario-tabs button svg{display:none}.motion-toggle{width:42px;min-width:42px;padding:0}.motion-toggle span{display:none}.problem-band{grid-template-columns:1fr;gap:10px;padding:18px 18px 20px}.problem-index{grid-template-columns:23px auto 1fr}.problem-index small{grid-column:3}.problem-band h1{font-size:18px;line-height:1.65}.lab-layout{grid-template-columns:1fr;padding:14px}.parameter-panel{padding:16px}.parameter-panel .parameter-field{grid-template-columns:1fr;display:grid}.visual-workspace{grid-row:1}.workspace-toolbar{flex-direction:column;align-items:stretch}.view-switcher{grid-template-columns:repeat(3,1fr);display:grid}.workspace-status{align-self:center}.parameter-panel{grid-row:2}.relation-chain{grid-template-columns:1fr;gap:8px;margin:0 14px 24px;padding:15px 0}.relation-chain>svg{display:none}.relation-chain>div{grid-template-columns:25px 1fr auto}.relation-chain>div>svg{grid-row:auto}.relation-chain strong{text-align:right}}@media (width<=520px){.brand strong{display:none}.topbar{grid-template-columns:36px minmax(0,1fr) 42px}.scenario-tabs button{min-height:34px;font-size:11px}.problem-index small{display:none}.principle-steps{padding:6px 8px}.principle-steps button{text-align:center;flex-direction:column;gap:3px;min-height:58px;padding:4px 2px;line-height:1.25}.principle-steps button strong{width:20px;height:20px}.stage-readout{grid-template-columns:1fr 1fr;gap:8px;min-height:74px;padding:10px 12px;display:grid}.stage-readout>div{grid-template-columns:18px 1fr;gap:2px 6px;display:grid}.stage-readout>div svg{grid-row:1/3}.stage-readout strong{font-size:13px}.stage-readout .camera-readout{border-top:1px solid var(--line);grid-column:1/-1;margin-left:0;padding-top:6px}.stage-readout .camera-readout strong{font-size:11px}.principle-proof{grid-template-rows:auto;grid-template-columns:1fr;gap:8px;min-height:158px;padding:14px 12px}.proof-copy{grid-row:auto}.proof-intro{grid-template-columns:28px minmax(0,1fr);align-content:center;min-height:112px}.proof-intro .head-start-ruler{grid-column:1/-1;width:100%}.proof-footnote{grid-column:1}.speed-tag{font-size:11px}.stage-caption{min-height:62px;font-size:12px;line-height:1.5}.playback{grid-template-columns:1fr}.play-actions{justify-content:center}.timeline{grid-template-columns:minmax(0,1fr) 78px}.explain-stage{min-height:520px;padding:24px 16px 20px}.explain-heading{margin-bottom:24px}.explain-heading h2{font-size:16px}.diagram-legend{flex-direction:column;align-items:flex-start;gap:6px}.one-minute-rule{grid-template-columns:26px 1fr}.one-minute-rule small{grid-column:2}.formula-step>div{grid-template-columns:1fr;gap:5px}.formula-step small{grid-column:auto}.formula-step code{font-size:18px}.formula-answer{flex-wrap:wrap;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
