:root{--bg: #F3EFE8;--card: #FBF9F6;--line: #E4DDD2;--ink: #2C2926;--muted: #8A837A;--pill: #E8E2D8;--dark: #2C2926;--sheet: #E7E1D6;--warn: #F6E3A4;--danger: #A33B24}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:14px/1.4 Segoe UI,Helvetica Neue,Arial,Noto Sans,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.topbar{position:fixed;left:0;top:0;height:3px;width:0;background:var(--dark);z-index:20}.top{height:64px;display:flex;align-items:center;gap:18px;padding:0 18px}.brand{display:flex;flex-direction:column;min-width:210px}.brand b{font-size:18px;letter-spacing:-.02em}.brand span,.hint,.links,.stage-head span{color:var(--muted);font-size:12px}.tabs{display:flex;gap:6px;margin:0 auto}.tabs button,.pill,.seg button,.sheet-tabs button{border:0;background:var(--pill);color:var(--ink);border-radius:999px;padding:7px 14px}.tabs button.on,.pill.dark,.pill.on,.seg button.on,.sheet-tabs button.on{background:var(--dark);color:#fff}.top-meta{display:flex;gap:8px;align-items:center}.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;display:flex;gap:6px;align-items:center;color:var(--muted);font-size:13px}.chip input{border:0;width:120px;background:transparent;color:var(--ink);outline:none}.chip.quiet{color:var(--ink)}.view{display:none;height:calc(100vh - 64px)}.view.on{display:flex;gap:14px;padding:0 14px 14px}.side{width:340px;overflow:auto;display:flex;flex-direction:column;gap:12px;flex:none}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}.card h2,.stage-head h2,.emu-main h2{margin:0 0 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:650;color:var(--muted)}.card h3{margin:14px 0 8px;font-size:13px;font-weight:600}.row-btns{display:flex;flex-wrap:wrap;gap:6px}.parts{display:flex;flex-direction:column;gap:8px;margin-top:10px}.part{background:#f6f2eb;border-radius:12px;padding:8px 10px;display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center}.part.bad{background:var(--warn)}.sw{width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.15);display:inline-block;flex:none;vertical-align:middle}.swatches{display:flex;gap:6px;min-height:18px;margin:2px 0 6px}.part b{display:block;font-size:13px}.part small{color:var(--muted)}.part input[type=number]{width:52px;border:0;background:#fff;border-radius:8px;padding:4px 6px;text-align:right}.grain{font-size:11px;color:var(--muted);display:flex;gap:4px;align-items:center;justify-content:flex-end}.hint,.links{margin:8px 0 0}.links a{color:var(--ink)}.seg{display:flex;gap:6px;margin-bottom:8px}.seg button{flex:1}.kv{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:7px 0}.kv b{text-align:right;font-weight:600}.kv input,.kv select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 8px;max-width:180px}.bridge{align-items:flex-start}.bridge input{width:64px}.bridge-n{white-space:nowrap}.more{margin-top:6px}.more summary{cursor:pointer;color:var(--muted)}.legend,.tool-list,.warn-list{list-style:none;margin:0;padding:0}.legend li,.layer-row{display:grid;grid-template-columns:14px 92px 1fr;gap:8px;align-items:center;font-size:12px;margin:4px 0}.layer-row.bad{background:var(--warn);border-radius:8px;padding:4px}.stage{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;padding:14px}.stage-head,.stage-foot{display:flex;justify-content:space-between;gap:12px;align-items:center}.sheet-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.canvas-wrap{flex:1;min-height:380px;background:var(--sheet);border-radius:12px;position:relative}.canvas-wrap canvas{width:100%;height:100%;display:block}.stage-foot{margin-top:10px}.stage-foot b{display:block}.issues{margin-top:8px}.issue{font-size:13px;margin:3px 0}.issue.error{color:var(--danger)}.issue.warn{color:#8a5a20}.emu-main{flex:1;min-width:0;display:flex;flex-direction:column}.emu-side{width:360px}.canvas-wrap.tall{min-height:420px}.playbar{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}.playbar input[type=range]{flex:1;min-width:120px}.timeline{display:flex;height:14px;border-radius:8px;overflow:hidden;margin:8px 0;background:#ddd}.timeline i{display:block;height:100%}.tl-key{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.tl-key b{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}.tool-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.clock{font-size:36px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:4px 0 8px}.wide{width:100%}.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;align-content:start;overflow:auto}.docs-grid .card:last-child{grid-column:1}.file-list{display:flex;flex-direction:column;gap:8px}.file{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;background:#f6f2eb;border-radius:12px;padding:8px 10px}.file .kind{font-size:11px;letter-spacing:.06em;background:var(--dark);color:#fff;border-radius:8px;text-align:center;padding:6px 0}.file a{color:var(--ink)}.kit-card{grid-column:2;grid-row:1 / span 2}.label{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:74px}.label .mark{width:52px;height:52px;border-radius:6px;flex:none}.mat{width:100%;border-collapse:collapse;font-size:13px}.mat th{text-align:left;color:var(--muted);font-weight:500}.mat td,.mat th{padding:5px 4px;border-bottom:1px solid var(--line)}.overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#2c292647;align-items:center;justify-content:center;z-index:30}.overlay.on{display:flex}.dialog{background:var(--card);border-radius:16px;padding:18px 18px 14px;width:min(420px,92vw)}.dialog p{color:var(--muted)}.bar{height:6px;background:var(--pill);border-radius:99px;overflow:hidden;margin:8px 0 12px}.bar i{display:block;height:100%;width:0;background:var(--dark)}[hidden]{display:none!important}.wasm{font-size:12px;color:var(--muted);margin:8px 0}#view-docs .docs-grid>.card:first-child{grid-column:1;grid-row:1}#view-docs .kit-card{grid-column:2;grid-row:1 / span 2}.file button{border:0;background:transparent;text-decoration:underline;padding:0;cursor:pointer}@media(max-width:980px){.view.on{flex-direction:column;height:auto}.side,.emu-side{width:auto}.docs-grid,.kit-card{display:block}.top{flex-wrap:wrap;height:auto;padding:10px}}
