:root{--panel: rgba(255, 255, 255, .95);--shadow: 0 2px 10px #0000000f;--warn-dot: #e8a317;--seg-on: #ffffff;--stage-bg: radial-gradient(120% 90% at 50% 40%, #ffffff, #eceff3);--prod-bg: #eef1f5;--toast-fg: #ffffff;--ok-line: #bfe8d1;--warn-line: #f1dcae;--bad-line: #f8c4b6;--ch-bg: #fff7e6;--drop-line: #c9d6e2;--drop-bg: #fbfdff;--scope-bg: #fbfbfb;--oled-bg: #080e18;--asm-bg: #f7f8fa;--asm-grid: #e9ecf0;--asm-shade: #e4e8ee;--r: 12px;--gap: 12px;--tl-h: 44px;--top-h: 56px;--left-w: 264px;--right-w: 312px;--dock-h: 200px;--sans: var(--tb-sans);--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;color-scheme:light}:root:lang(ko){word-break:keep-all;overflow-wrap:break-word}:root[data-theme=dark]{--panel: rgba(30, 32, 36, .95);--shadow: 0 2px 10px #00000066;--seg-on: #34373d;--stage-bg: radial-gradient(120% 90% at 50% 40%, #2b2e33, #16171a);--prod-bg: #1d2024;--toast-fg: #17181b;--ok-line: #24603f;--warn-line: #5e4a22;--bad-line: #6e2e22;--ch-bg: #2d2617;--drop-line: #3d4854;--drop-bg: #1c1f23;--scope-bg: #1c1e21;--asm-bg: #1e2125;--asm-grid: #2a2d32;--asm-shade: #2c2f34;color-scheme:dark}@media (min-width: 768px){html,body.app{height:100%}}body.app{--dock-h: var(--dock-desk, 200px)}@media (max-width: 767px){:root{--top-h: 99px;--left-w: 0px;--right-w: 0px;--m-tb: calc(64px + env(safe-area-inset-bottom)) ;--m-peek: 68px}body.app{--dock-h: calc(var(--m-tb) + var(--m-peek))}body.app:not([data-step=bench]){--dock-h: calc(72px + env(safe-area-inset-bottom)) }body.app[data-step=product]{--dock-h: 200px;--m-tb: 0px}body.app[data-step=bench][data-lesson]{--m-peek: max(300px, calc(100dvh - var(--top-h) - var(--m-tb) - 280px))}body.app[data-step=bench][data-lesson] #cpBanner{display:none}body.app[data-step=bench][data-lesson]:has(#lessonSheet[data-footer]){--m-peek: 148px}#props input[type=range]{-webkit-appearance:none;appearance:none;height:32px;background:transparent}#props input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:var(--line)}#props input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:var(--shadow)}#props input[type=range]::-moz-range-track{height:8px;border-radius:4px;background:var(--line)}#props input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--surface);border:2px solid var(--accent)}body.app #props button,body.app #props select,body.app #props input[type=number],body.app #props a.btn,body.app #tree button,body.app #tree a,body.app #tree summary,body.app #tree select,body.app .bn-l,body.app #stepLayer button,body.app #dock [data-cp],body.app #dock [data-issue],body.app #partLib a,body.app #stage [data-overlay] button:not([data-ring]),body.app .qcard button{min-height:44px}body.app #props input[type=number]{font-size:16px}.bn input{width:20px;height:20px}}#stage[data-lesson-demo] #lessonCallouts{display:none}body:has(#stage[data-lesson-demo=play]) #toolbar{display:none}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.bad{color:var(--bad-ink)}.asm-shell{position:fixed;left:calc(var(--left-w) + var(--gap));right:calc(var(--right-w) + var(--gap));top:calc(var(--top-h) + var(--gap));bottom:calc(var(--dock-h) + 64px);display:flex;align-items:center;justify-content:center}.asm-box{width:100%;max-height:100%;aspect-ratio:704 / 560;max-width:calc((100vh - var(--top-h) - var(--dock-h) - 88px) * 704 / 560)}.asm-shell .tb-view{aspect-ratio:704 / 560;background:var(--surface);color:var(--fg);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--r)}.asm-shell rect[fill="#2E4A3F"]{fill:var(--asm-bg)}.asm-shell pattern path{stroke:var(--asm-grid)}.asm-shell rect[fill="#24392F"]{fill:var(--surface)}.asm-shell rect[stroke="#3B5C4F"]{stroke:var(--line)}.asm-shell ellipse[fill="#1E332A"]{fill:var(--asm-shade)}.asm-shell text[fill="#F7F6F3"]{fill:var(--fg)}.asm-shell text[fill="#9FBFB0"],.asm-shell text[fill="#C9D6CF"]{fill:var(--muted)}.asm-shell text{font-family:var(--sans)}.asm-shell .tb-mono{font-family:var(--mono)}.asm-shell .as-actions{display:none}.asm-shell .as-choose{left:77.4%;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.asm-shell .as-light{border:1px solid var(--line)}.asm3d-stage{position:fixed;inset:var(--top-h) var(--right-w) var(--dock-h) var(--left-w);background:var(--prod-bg);overflow:hidden}.asm3d-stage canvas{display:block;width:100%!important;height:100%!important}.a3-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.a3-tags{position:absolute;inset:0;pointer-events:none}.a3-tag.slot{background:#fff4ea;border-color:#ff7a1a;color:#b44a00;font-weight:500}.a3-tag.ruler{background:var(--panel);border-color:#f24822;color:#f24822;font-family:var(--mono);font-weight:600}.a3-choose{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:6px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);z-index:2}.a3-choose b{font-size:12px}.a3-disc{bottom:76px}.case-ps{display:flex;flex-direction:column;gap:6px;margin:6px 0}.case-p{display:grid;grid-template-columns:48px 1fr 58px 22px;align-items:center;gap:6px;font-size:12px}.case-p .k{color:var(--muted)}.case-p input[type=number]{width:58px;font-size:12px;padding:2px 4px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--fg)}.asm-msg{display:flex;flex-direction:column;gap:2px;background:var(--field);border-radius:6px;padding:8px 10px}.asm-msg span{color:var(--muted);font-size:12px}.asm-msg.bad{background:var(--bad-bg);color:inherit}.asm-msg.bad b{color:var(--bad-ink)}.prod-stage{position:fixed;inset:var(--top-h) var(--right-w) var(--dock-h) var(--left-w);background:var(--prod-bg);overflow:hidden}.prod-stage canvas{display:block;width:100%!important;height:100%!important;cursor:grab}.p3-tags{position:absolute;inset:0;pointer-events:none}.p3-tag{position:absolute;left:0;top:0;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--line);color:var(--fg);white-space:nowrap;box-shadow:var(--shadow)}.p3-tag.hot{background:#ff7a1a;border-color:#ff7a1a;color:#141414;font-weight:500}.p3-tag.bad{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad);font-weight:500;transform:translate(-50%,-100%);pointer-events:none}.prod-preview{position:fixed;top:calc(var(--top-h) + 12px);left:calc((100vw + var(--left-w) - var(--right-w)) / 2);transform:translate(-50%);z-index:3;display:flex;align-items:baseline;gap:10px;padding:8px 16px;border-radius:var(--r);background:var(--ch-bg);border:1px solid var(--warn-line);box-shadow:var(--shadow);white-space:nowrap;pointer-events:none}.prod-preview b{color:var(--warn-ink);font-weight:700;font-size:14px}.prod-preview span{color:var(--fg);font-size:12px}.p3-disclaimer{position:absolute;left:12px;bottom:70px;font-size:11px;color:var(--muted);pointer-events:none}.prod-svg{position:absolute;left:var(--gap);right:var(--gap);top:50%;transform:translateY(-50%)}.prod-svg .tb-view{border-radius:var(--r);box-shadow:var(--shadow)}#checklist-print{display:none}@media print{body.print-checklist>:not(#checklist-print){display:none!important}body.print-checklist #checklist-print{display:block;color:#000;background:#fff}#checklist-print .checklist-acts button{display:none}}.serial-tail{min-height:60px;max-height:120px}@media (max-width: 767px){.asm-shell,.prod-svg{position:static;transform:none}.prod-stage,.asm3d-stage{position:relative;inset:auto;height:340px;border-radius:var(--r)}.p3-disclaimer{left:8px;bottom:8px}.prod-stage{height:56dvh;min-height:300px}.asm3d-stage{height:46dvh;min-height:290px}.prod-preview{position:static;transform:none;white-space:normal;flex-wrap:wrap;margin:0 0 8px}body.app[data-step=product] .prod-stage{position:absolute;inset:0;height:auto;min-height:0;border-radius:0}body.app[data-step=product] .prod-preview{position:absolute;top:8px;left:8px;right:8px;z-index:3;margin:0;padding:6px 12px}body.app[data-step=product] .prod-svg{position:absolute;left:12px;right:12px;top:50%;transform:translateY(-50%)}body.app[data-step=product] .p3-disclaimer{bottom:14px}}.bn{display:flex;align-items:center;gap:6px;padding:3px 6px 3px 8px;border-radius:6px}.bn:hover{background:var(--field)}.bn.on{background:var(--accent-bg)}.bn.on .tn-m{color:var(--accent-ink)}.bn input{margin:0;accent-color:var(--accent);flex:none;cursor:pointer}.bn input.locked{accent-color:#9aa0a6;cursor:not-allowed}.bn-l{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:3px 0;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bn.off .bn-l{color:var(--muted)}.bn.off .tn-m{text-decoration:line-through;opacity:.6}.addpart{display:flex;flex-direction:column;gap:4px;padding:6px 12px;font-size:11px}.addpart select{font:inherit;font-size:12px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:inherit;min-width:0}.bom-total{border-top:1px solid var(--line-soft);padding:8px 12px 10px;font-size:11px}.bt-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.bt-row b{font-size:15px;font-weight:500}.shop-stage{position:fixed;left:calc(var(--left-w) + 2 * var(--gap));right:calc(var(--right-w) + 2 * var(--gap));top:calc(var(--top-h) + var(--gap));bottom:calc(var(--dock-h) + var(--gap) + 58px);overflow:auto;padding:4px 4px 12px}.ss-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 2px 6px}.ss-title b{font-size:16px;font-weight:500}.ss-title .muted{font-size:12px}.ss-g{margin-top:10px}.ss-h{font-size:11px;font-weight:500;color:var(--muted);margin:0 2px 6px}.ss-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.pc{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:8px 8px 7px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);cursor:pointer;text-align:left;min-width:0}.pc:hover{border-color:var(--hover-line)}.pc.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.pc.off{background:transparent;border-style:dashed;border-color:var(--hover-line);box-shadow:none}.pc.off .pc-g,.pc.off .pc-n{opacity:.45}.pc.off.on{border-color:var(--accent)}.pc-g svg{display:block;width:100%;height:52px}.pc-n{font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-m{font-size:11px;color:var(--muted)}.pc-b{position:absolute;top:6px;right:6px;font-size:10px;color:var(--muted);background:var(--field);border-radius:4px;padding:0 4px}:root[data-theme=dark] .pc-g{background:#c9ced6;border-radius:6px}:root[data-theme=dark] .pc.off .pc-g{opacity:.35}.rf{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:6px;background:var(--surface)}.rf.block{background:var(--bad-bg);border-color:var(--bad-line)}.rf.warn{background:var(--warn-bg);border-color:var(--warn-line)}.rf-h{display:flex;gap:6px;align-items:baseline;font-weight:500}.rf-h .mk{font-family:var(--mono);flex:none}.rf.block .mk{color:var(--bad-ink)}.rf.warn .mk{color:var(--warn-dot)}.rf-t{flex:1;min-width:0}.rf-h .mono{font-size:11px;font-weight:400}.rf-d{margin:4px 0 2px;font-size:12px}.rf-s{font-size:11px;color:var(--muted)}.rf .btn{margin-top:6px}.oks summary{cursor:pointer;color:var(--muted);font-size:12px;margin:6px 0}.oks .res{font-size:11px;padding:3px 8px}.field .muted{font-size:11px;margin-top:2px}.tag{font-size:10px;color:var(--muted);background:var(--field);border-radius:4px;padding:1px 5px;vertical-align:1px}.tag.off{color:var(--warn-ink)}.board-pick{width:280px}@media (max-width: 1100px){.shop-stage{left:calc(var(--left-w) + var(--gap));right:calc(var(--right-w) + var(--gap))}.ss-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}@media (max-width: 767px){.shop-stage{position:static;overflow:visible;padding:0}.ss-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pc-g svg{height:40px}.addpart select{min-height:44px;font-size:16px}}.analyzer{position:fixed;left:0;right:0;bottom:0;height:calc(var(--dock-h) - 38px);z-index:4;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);color:var(--fg);border-top:1px solid var(--line-soft);font-size:13px}.analyzer[hidden]{display:none}body:not([data-step=bench]) .analyzer{display:none}body.dock-collapsed .analyzer{display:none}.ana-h{display:flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;border-bottom:1px solid var(--line-soft);min-width:0}.ana-t{font-size:11px;font-weight:500;color:var(--muted);flex:none}.ana-src{font-size:11px;flex:none}.ana-read{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.ana-sp{flex:0 0 4px}.ana-sep{width:1px;align-self:stretch;background:var(--line);margin:2px;flex:none}.ana-b{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;padding:2px 8px;cursor:pointer;font:inherit;font-size:12px;flex:none;white-space:nowrap}.ana-b:hover{background:var(--field)}.ana-b[aria-pressed=true]{background:var(--accent-bg);color:var(--accent-ink);border-color:var(--accent-line)}.ana-span{font-size:11px;min-width:62px;text-align:center;flex:none}.ana-body{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto}.ana-cv{display:block;width:100%;height:var(--ana-cv-h, 200px);cursor:crosshair;touch-action:none}.ana-f{display:flex;gap:16px;justify-content:space-between;padding:4px 12px 6px;border-top:1px solid var(--line-soft);font-size:11px;min-height:24px}.ana-f .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ana-fine{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;border-bottom:1px solid var(--line-soft);min-width:0;flex-wrap:wrap}.ana-fine[hidden],.ana-fform[hidden],.ana-note[hidden]{display:none}.ana-chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;background:var(--accent-bg);color:var(--accent-ink);font-size:11px;font-weight:500;flex:none}.ana-fstat{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 200px}.ana-fstat.bad{color:var(--bad)}.ana-fine [data-act=fvcd]{background:var(--accent);color:#fff;border-color:var(--accent)}.ana-fine [data-act=fvcd]:disabled{opacity:.45;cursor:default}.ana-fform{display:flex;align-items:center;gap:10px;padding:5px 12px;border-bottom:1px solid var(--line-soft);font-size:12px;flex-wrap:wrap}.ana-fform input,.ana-fform select{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);padding:2px 6px}.ana-fform input[type=number]{width:80px}.ana-go{background:var(--accent);color:#fff;border-color:var(--accent)}.ana-note{margin:6px 12px;padding:8px 12px;border-radius:8px;background:var(--field);font-size:12px;line-height:18px;flex:none}.ana-note-t{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.ana-badge{flex:none;font-size:11px;border:1px solid var(--fg);border-radius:4px;padding:0 6px}@media (max-width: 767px){.analyzer:not(.in-sheet){display:none!important}.analyzer.in-sheet{position:static;height:auto;flex:1 1 auto;min-height:0;border-top:0}.analyzer.in-sheet [data-act=close]{display:none}.analyzer.in-sheet .ana-h,.analyzer.in-sheet .ana-fine{flex-wrap:wrap;row-gap:6px}.analyzer.in-sheet .ana-read{flex-basis:100%;order:9}.analyzer.in-sheet .ana-b{min-height:44px;min-width:44px;padding:0 12px;font-size:13px}.analyzer.in-sheet .ana-fform input,.analyzer.in-sheet .ana-fform select{min-height:44px;font-size:16px}.analyzer.in-sheet .ana-f .muted{white-space:normal}}#stage .tb-note{display:none}
