.builder{--panel-w: 340px;height:100vh;display:grid;grid-template-columns:minmax(280px,var(--panel-w)) 1fr;gap:0;overflow:hidden}.builder__panel{border-right:1px solid var(--border);background:#100a18eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.25rem 1.1rem 2rem;overflow-y:auto;max-height:100vh}.builder__brand{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1.25rem}.builder__brand-mark{font-family:Orbitron,system-ui,sans-serif;font-weight:700;font-size:1.15rem;letter-spacing:.08em;background:linear-gradient(105deg,#c4a0ff,#ff4fd8 45%,#4ff0ff);-webkit-background-clip:text;background-clip:text;color:transparent}.builder__brand-sub{color:var(--muted);font-size:.8rem}.builder__section{margin-bottom:1.1rem}.builder__section-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 .55rem}.builder__hint{margin:-.25rem 0 .65rem;font-size:.72rem;color:var(--muted);opacity:.85}.axis-block{margin-bottom:.75rem}.axis-block__label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:.35rem}.axis-block .field{margin-bottom:0}.preset-row{display:flex;flex-wrap:wrap;gap:.4rem}.chip{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:.35rem .7rem;font-size:.78rem;transition:border-color .15s,background .15s}.chip:hover,.chip.is-active{border-color:var(--purple);background:#a855f72e}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.65rem}.field label{font-size:.75rem;color:var(--muted)}.field input[type=text],.field input[type=number],.field input[type=color],.field select{width:100%;border:1px solid var(--border);background:var(--void);border-radius:var(--radius);padding:.45rem .55rem}.field input[type=color]{padding:.2rem;height:2.2rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.field-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.45rem}.toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin:.4rem 0}.actions{display:flex;flex-direction:column;gap:.45rem}.btn{border:1px solid var(--border);background:linear-gradient(135deg,#a855f759,#ff4fd833);border-radius:var(--radius);padding:.55rem .75rem;font-weight:600;font-size:.85rem}.btn:hover{border-color:var(--magenta)}.btn--ghost{background:transparent}.btn--danger{background:transparent;border-color:#7f1d3a;color:#f9a8c4}.drafts{display:flex;flex-direction:column;gap:.35rem;max-height:160px;overflow-y:auto}.draft-item{display:flex;align-items:center;gap:.35rem;font-size:.78rem}.draft-item button.draft-load{flex:1;text-align:left;border:1px solid var(--border);background:var(--void);border-radius:6px;padding:.35rem .5rem}.draft-item button.draft-del{border:none;background:transparent;color:var(--muted);padding:.25rem}.builder__stage{display:flex;flex-direction:column;min-height:0;height:100vh;padding:1rem 1.25rem 1.25rem;gap:.65rem}.stage-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:space-between;flex-shrink:0}.stage-hint{color:var(--muted);font-size:.8rem}.preview-frame{flex:1;min-height:0;width:100%;display:flex;align-items:stretch;justify-content:stretch}.preview-aspect{width:100%;height:100%;border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:0 0 0 1px #a855f726,0 24px 80px #00000073;background:linear-gradient(45deg,#1a1224 25%,transparent 25%),linear-gradient(-45deg,#1a1224 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#1a1224 75%),linear-gradient(-45deg,transparent 75%,#1a1224 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;background-color:#0c0812;position:relative}.preview-stage{position:absolute;top:50%;left:50%;width:1920px;height:1080px;transform-origin:center center;overflow:hidden}.toast{position:fixed;bottom:1.25rem;right:1.25rem;background:#16101ff2;border:1px solid var(--purple);padding:.65rem .9rem;border-radius:var(--radius);font-size:.85rem;z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}.toast.is-visible{opacity:1}#extrude-fields[hidden]{display:none!important}@media(max-width:900px){.builder{grid-template-columns:1fr;height:auto;overflow:visible}.builder__panel{max-height:none;border-right:none;border-bottom:1px solid var(--border)}.builder__stage{height:auto;min-height:50vh}.preview-frame{min-height:240px}}
