:root{--bg:#2b1340;--text:#fff4e8;--muted:#cbb7d9;--accent:#ffc24b;--accent-text:#2b1340;--surface:#3d1f57;--border:#5a3577;--coral:#ff7a59;--pink:#ff4f8b;--warn-bg:#fef3c7;--warn-text:#78350f;--danger:#ff8f8f}.button.ghost{background:0 0;border-color:#0000;padding:0 10px}.button:disabled{opacity:.55;cursor:default}.notice{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;padding:10px 14px}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:.875rem;display:flex}.field input{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:0 12px;font-size:1rem}.field input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.builder{z-index:20;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg);color:var(--text);flex-direction:column;display:flex;position:fixed;inset:0}.builder-bar{flex:none;align-items:center;gap:4px;padding:6px 8px;display:flex}.builder-count{text-align:center;flex:1;margin:0;font-size:1rem}.builder-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 8px;display:flex}.builder-frame{touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.builder-canvas{border-radius:10px;width:100%;height:100%;display:block;box-shadow:0 6px 24px #0006}.builder-band{pointer-events:none;background:repeating-linear-gradient(135deg,#2b134047 0 8px,#2b13401f 8px 16px);position:absolute;left:0;right:0}.builder-band.top{border-radius:10px 10px 0 0;top:0}.builder-band.bottom{border-radius:0 0 10px 10px;bottom:0}.builder-band span{color:var(--text);background:#2b1340b3;border-radius:999px;padding:1px 6px;font-size:.6875rem;position:absolute;top:6px;left:8px}.builder-divider,.builder-handle{cursor:grab;touch-action:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.builder-divider.across{cursor:row-resize}.builder-divider.down{cursor:col-resize}.builder-grip{border:3px solid var(--bg);background:var(--accent);border-radius:999px;width:44px;height:14px;display:block;box-shadow:0 1px 6px #00000059}.builder-divider.down .builder-grip{width:14px;height:44px}.builder-handle.line .builder-grip{width:30px;height:30px}.builder-dot{border:3px solid var(--bg);background:var(--accent);border-radius:50%;width:24px;height:24px;display:block;box-shadow:0 1px 6px #00000059}.builder-dot.turn{background:var(--coral)}.builder-divider:focus-visible .builder-grip,.builder-handle:focus-visible .builder-grip,.builder-handle:focus-visible .builder-dot{outline:3px solid var(--text);outline-offset:2px}.builder-divider:active .builder-grip,.builder-handle:active .builder-dot,.builder-handle:active .builder-grip{transform:scale(1.2)}.builder-tools{background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;flex:none;justify-content:center;gap:8px;min-height:128px;padding:10px 12px 14px;display:flex}.builder-status{color:var(--muted);text-align:center;margin:0;font-size:.9375rem}.builder-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.builder-actions .button{min-width:48px;min-height:48px}.builder-sheet-backdrop{z-index:30;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.builder-sheet{width:min(100%,480px);padding:20px 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;gap:12px;display:flex}.builder-sheet h2{margin:0;font-size:1.25rem}.builder-sheet p{margin:0}