:root{font-family:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17242d;background:#edf1f4;font-size:14px;--line:#ccd5dc;--blue:#2059ff;--muted:#566672}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,canvas{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:#fff;color:inherit;border:1px solid var(--line);border-radius:5px;padding:8px 12px}button:hover{border-color:#71828f}button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}a{color:#164dc9;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid var(--blue);outline-offset:3px}h1,h2,p{margin-top:0}h1{font-size:27px;letter-spacing:-.6px;margin-bottom:5px}h2{font-size:19px;margin-bottom:10px}p{line-height:1.6}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px;background:#fff;border-bottom:1px solid var(--line)}header p{margin:0;color:var(--muted);font-size:13px}.back{display:block;font-size:12px;margin-bottom:6px}.embed .back{display:none}.revision{text-align:right;color:var(--muted);font-size:12px;line-height:1.65;white-space:nowrap}.modes{display:flex;align-items:center;gap:6px;padding:12px 28px;background:#fff;border-bottom:1px solid var(--line);overflow-x:auto}.modes button{white-space:nowrap;padding:9px 15px;font-weight:600}.boards-link{margin-left:auto;white-space:nowrap;padding:0 5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 306px;background:white;border-bottom:1px solid var(--line)}.scene-column{min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.views{display:flex;gap:5px;flex-wrap:wrap}.toolbar button,.toolbar label{font-size:12px}.toolbar label,.motion-actions label{display:flex;align-items:center;gap:4px}input[type=checkbox]{accent-color:var(--blue)}#viewport{height:620px;position:relative;overflow:hidden;background:#edf1f4}#canvas{width:100%;height:100%;display:block;touch-action:none}#loading{position:absolute;inset:0;background:rgba(237,241,244,.94);display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;z-index:5}#loading[hidden],[hidden]{display:none!important}.scene-caption{position:absolute;bottom:16px;left:20px;right:20px;display:flex;justify-content:space-between;gap:20px;pointer-events:none;font-size:12px;color:#415360}.scene-caption strong{color:#21333f}.scene-caption span{text-align:right;max-width:45%}.watermark{position:absolute;top:20px;left:22px;font-size:11px;color:#7a8a96;pointer-events:none}.scene-footer{display:flex;flex-wrap:wrap;gap:13px;align-items:center;padding:12px 20px;font-size:12px;border-top:1px solid var(--line)}.scene-footer>span{margin-right:auto;color:var(--muted)}.scene-footer button{font-size:12px;border:0;padding:0;color:#164dc9;text-decoration:underline}.motion{padding:14px 20px;background:#fff;border-top:1px solid var(--line)}.motion>div:first-child{display:flex;justify-content:space-between;font-size:12px}.motion output{color:var(--muted)}.motion input[type=range]{width:100%;margin:13px 0;accent-color:var(--blue)}.motion-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.motion-actions button,.motion-actions label{font-size:12px}.motion-actions label{margin-left:auto}aside{border-left:1px solid var(--line);padding:23px 20px;min-width:0}.aside-intro p{font-size:13px;color:var(--muted);margin-bottom:18px}.measurements{margin:0 0 22px;font-size:12px}.measurements>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;text-align:right;font-weight:600}.part-panel h2{font-size:15px}.part-panel #parts{display:grid;gap:3px}.part-panel button{font-size:12px;text-align:left;border:0;border-radius:3px;padding:7px 9px;background:#f0f3f6}.part-panel button[aria-pressed=true]{background:#dfe8ff;color:#194cd8}.part-panel p{font-size:12px;margin:13px 0;color:var(--muted)}.installation-note{padding:12px 0 0;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:#67593f}.explanation{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:42px;max-width:1300px}.explanation h2{font-size:18px}.explanation p{font-size:13px;color:var(--muted);max-width:76ch}.explanation a{font-size:12px}.bottom-note{font-size:12px;padding:0 28px 20px;color:var(--muted);margin:0}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 270px}#viewport{height:560px}.toolbar{padding:10px}aside{padding:20px 14px}.scene-caption{flex-direction:column;gap:4px}.scene-caption span{text-align:left;max-width:none}}@media(max-width:720px){header{padding:17px 16px;align-items:flex-start}h1{font-size:23px}header p{font-size:12px;max-width:34ch}.revision{font-size:10px}.modes{padding:10px 16px;gap:5px}.modes button{font-size:12px;padding:8px 10px}.boards-link{font-size:12px;margin-left:7px}.workspace{display:block}#viewport{height:440px}aside{border-left:0;border-top:1px solid var(--line);padding:20px}.aside-intro p{max-width:70ch}.measurements{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.part-panel #parts{grid-template-columns:1fr 1fr}.explanation{display:block;padding:24px 20px}.explanation article+article{margin-top:25px}.scene-footer{padding:13px 16px;gap:12px}.scene-footer>span{width:100%}.scene-caption{left:16px;bottom:12px;font-size:11px}.bottom-note{padding:0 20px 20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* M02: the screen remains the main object, simulation controls stay next to it. */
.orientation-bar{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.orientation-buttons{display:flex;gap:4px}.orientation-bar button,.orientation-bar label{font-size:12px}.orientation-bar input{accent-color:var(--blue);width:120px;flex:1;max-width:220px}.orientation-bar output{min-width:25px;display:inline-block}.service-motion .motion-actions span{font-size:11px;color:var(--muted);align-self:center;max-width:300px}.simulation-controls{background:#f8fafc;padding:18px 20px;border-top:1px solid var(--line)}.simulation-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.simulation-heading strong{display:block;font-size:15px}.simulation-heading #sim-status{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.demo-badge{font-size:10px;border:1px solid #ccd5dc;padding:4px 7px;border-radius:4px;color:#566672}.sim-actions{display:flex;gap:6px;flex-wrap:wrap}.primary{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}.scenario-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px}.scenario-controls label{font-size:12px}.scenario-controls select{max-width:100%;min-width:170px;padding:7px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);font:inherit;font-size:12px}.simulation-controls button{font-size:12px}.simulation-controls p{font-size:11px;color:var(--muted);margin:12px 0 0}.workspace #emulator-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px 26px 55px}.emulator-frame{background:#111822;padding:5px;border:1px solid #606772;border-radius:12px;box-shadow:0 12px 30px #18293624;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.emulator-frame canvas{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:7px;touch-action:manipulation;cursor:pointer}.emulator-frame.landscape{aspect-ratio:4/3;width:min(100%,800px)}.emulator-frame.portrait{aspect-ratio:3/4;height:100%;width:auto}.modes button[data-mode=emulator]{border-color:#adc0d9}.scene-caption span{max-width:55%}body[data-mode=emulator] .toolbar{display:none}body[data-mode=emulator] .service-motion{display:none}body[data-mode=emulator] .scene-caption span{max-width:none}body[data-mode=emulator] .scene-caption{justify-content:center}body[data-mode=emulator] .watermark{display:none}@media(max-width:720px){.orientation-bar{padding:9px 12px;gap:8px}.orientation-bar button{padding:7px 9px}.orientation-bar input{max-width:none;min-width:95px}.simulation-controls{padding:15px}.simulation-heading{align-items:flex-start}.demo-badge{max-width:105px}.workspace #emulator-stage{padding:18px 14px 48px}.scenario-controls select{flex:1}.scene-caption span{max-width:none}}
