.sm-root{--sm-bg:#000;--sm-surface:#0a0a0a;--sm-panel:#111;--sm-fg:#fff;--sm-muted:#666;--sm-dim:#444;--sm-border:#333;--sm-border-hi:#555;--sm-accent:#ff0;--sm-danger:#f44;--sm-font:var(--dm-font-primary,"sometype-mono","kongtext","Courier New",monospace);background:var(--sm-bg);width:100%;height:100%;color:var(--sm-fg);font-family:var(--sm-font);font-size:var(--dm-ui-font,12px);-webkit-user-select:none;user-select:none;image-rendering:pixelated;flex-direction:column;display:flex;overflow:hidden}.sm-root *{box-sizing:border-box;border-radius:0!important}.sm-root button:not(:disabled){cursor:pointer}.sm-root button:disabled{cursor:not-allowed;opacity:.35}.sm-bar{background:var(--sm-surface);border-bottom:1px solid var(--sm-border);min-height:var(--dm-ui-chrome-h,30px);flex-shrink:0;align-items:center;gap:8px;padding:4px 6px;display:flex}.sm-title{font-family:var(--sm-font);font-size:var(--dm-ui-font-sm,10px);letter-spacing:2px;color:var(--sm-accent);text-transform:uppercase;font-weight:400}.sm-chip{font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;color:var(--sm-muted)}.sm-bar-btn{min-height:var(--dm-ui-btn-h,28px);border:1px solid var(--sm-border-hi);color:#ccc;font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;background:#000;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.sm-bar-btn:hover:not(:disabled){color:#000;background:#fff;border-color:#fff}.sm-bar-btn.primary{border-color:var(--sm-accent);color:var(--sm-accent)}.sm-bar-btn.primary:hover:not(:disabled){background:var(--sm-accent);color:#000;border-color:var(--sm-accent)}.sm-stage{background:#000;border:none;flex:1;min-height:0;position:relative}.sm-stage.drop{outline:2px dashed var(--sm-accent);outline-offset:-8px;background:#0a0a00}.sm-steps{border:1px solid var(--sm-border-hi);background:#000;gap:0;display:flex}.sm-step{border:none;border-right:1px solid var(--sm-border);color:#888;min-height:28px;font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;background:#000;align-items:center;gap:6px;padding:0 12px;font-weight:400;display:inline-flex}.sm-step:last-child{border-right:none}.sm-step .num{color:#666;background:0 0;border:1px solid #444;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;display:inline-flex}.sm-step:hover:not(:disabled){color:#fff}.sm-step.active{color:#000;background:#fff}.sm-step.active .num{color:#000;background:var(--sm-accent);border-color:#000}.sm-step.done .num{border-color:var(--sm-accent);color:var(--sm-accent)}.sm-rail{border:1px solid var(--sm-border-hi);background:#000;flex-direction:column;align-items:stretch;gap:0;display:flex;box-shadow:4px 4px #111}.sm-rail-btn{color:#888;width:36px;height:32px;font-family:var(--sm-font);background:#000;border:none;border-bottom:1px solid #222;justify-content:center;align-items:center;font-size:12px;display:flex}.sm-rail-btn:last-child{border-bottom:none}.sm-rail-btn:hover:not(:disabled){color:#fff;background:#1a1a1a}.sm-rail-btn.active{color:#000;background:#fff}.sm-rail-btn.danger:hover:not(:disabled){background:var(--sm-danger);color:#000}.sm-next{border:1px solid var(--sm-accent);background:var(--sm-accent);color:#000;min-height:32px;font-family:var(--sm-font);font-size:var(--dm-ui-font-sm,10px);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:8px;padding:0 16px;font-weight:400;display:inline-flex;box-shadow:3px 3px #330}.sm-next:hover:not(:disabled){color:#000;background:#fff;border-color:#fff}.sm-next:disabled{opacity:.3;box-shadow:none}.sm-back{border:1px solid var(--sm-border-hi);color:#ccc;min-height:32px;font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;background:#000;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.sm-back:hover:not(:disabled){color:#000;background:#fff;border-color:#fff}.sm-brush{border:1px solid var(--sm-border-hi);color:#888;min-height:28px;font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;background:#000;align-items:center;gap:10px;padding:0 10px;display:flex;box-shadow:3px 3px #111}.sm-brush input[type=range]{width:100px;accent-color:var(--sm-accent)}.sm-footer{background:var(--sm-surface);border-top:1px solid var(--sm-border);color:var(--sm-fg);min-height:var(--dm-ui-chrome-h,30px);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:4px 6px;display:flex}.sm-footer-btn{border:1px solid var(--sm-border-hi);color:#ccc;min-height:24px;font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;background:#000;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.sm-footer-btn:hover:not(:disabled){color:#000;background:#fff;border-color:#fff}.sm-footer-btn.primary{border-color:var(--sm-accent);color:var(--sm-accent)}.sm-footer-btn.primary:hover:not(:disabled){background:var(--sm-accent);color:#000}.sm-status{font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;color:var(--sm-muted);text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;flex:1;min-width:0;overflow:hidden}.sm-welcome{text-align:center;color:#888;font-family:var(--sm-font)}.sm-welcome h1{letter-spacing:3px;text-transform:uppercase;color:#fff;font-size:clamp(12px,2vw,16px);font-weight:400;font-family:var(--sm-font);margin:0}.sm-welcome p{font-size:var(--dm-ui-font-sm,10px);letter-spacing:1px;color:#666;text-transform:uppercase;margin:10px 0 0;line-height:1.6}.sm-welcome-icon{color:var(--sm-accent);letter-spacing:0;margin-bottom:12px;font-size:28px;line-height:1}.sm-timeline{border:1px solid var(--sm-border-hi);background:#000;flex-wrap:wrap;align-items:center;gap:6px;width:min(94%,520px);padding:6px 8px;display:flex;box-shadow:4px 4px #111}.sm-timeline input[type=range]{min-width:80px;accent-color:var(--sm-accent);flex:1}.sm-canvas-wrap{aspect-ratio:1;border:1px solid var(--sm-border);background:#000;width:100%;max-width:min(100%,100% - 1rem);height:100%;max-height:100%;position:relative;box-shadow:4px 4px #0a0a0a}.sm-canvas-wrap canvas,.sm-canvas-wrap .sm-three{width:100%;height:100%;position:absolute;inset:0}.sm-hint{color:#ff0;font-family:var(--sm-font);font-size:var(--dm-ui-font-xs,9px);letter-spacing:1px;text-transform:uppercase;background:#000;border:1px solid #444;padding:8px 14px}.sm-stage .sm-canvas-wrap{min-width:0}.sm-brush input[type=range]{width:120px}
