.cfg-section{padding-bottom:var(--section)}.cfg{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.stage{z-index:5;flex-direction:column;gap:12px;display:flex;position:sticky;top:16px}.canvas-box{background:radial-gradient(closest-side,var(--tint),transparent 82%);position:relative}#panel-canvas{aspect-ratio:16/10;width:100%;max-height:68vh;display:block}.stage-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.lights{font-size:18px;font-weight:700}.stage-actions{gap:10px;display:flex}.hint{color:var(--muted);font-size:16px}.controls{gap:28px;display:grid}.controls:not([data-ready]){min-height:1400px}.controls fieldset{border:0;min-width:0;margin:0;padding:0}.controls legend{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:0;font-size:14px;font-weight:700}.opts{flex-wrap:wrap;gap:10px;display:flex}.opt{border:1.5px solid var(--line);border-radius:var(--radius-pill);background:var(--paper);align-items:center;gap:10px;min-height:48px;padding:10px 20px;font-size:16px;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.opt[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.opt:disabled{opacity:.4;cursor:not-allowed}.opt i{border:1px solid var(--line);border-radius:50%;flex:none;width:18px;height:18px}.note{color:var(--muted);margin-top:10px;font-size:15px}.rooms{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rooms .add{border-style:dashed}.room-name{gap:8px;display:grid}.room-name label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:14px;font-weight:700}.room-name input{border:1.5px solid var(--line);background:var(--paper);min-height:48px;font:inherit;color:var(--ink);border-radius:16px;width:100%;padding:10px 18px;font-weight:600}.linkbtn{text-underline-offset:3px;min-height:44px;padding:0 4px;font-size:15px;font-weight:700;text-decoration:underline}.step{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.step b{font-size:17px;font-weight:700}.step small{color:var(--muted);font-size:14px;font-weight:500;display:block}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper button{border:1.5px solid var(--ink);background:var(--paper);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:700;line-height:1;display:inline-flex}.stepper button:disabled{opacity:.3;cursor:not-allowed;border-color:var(--line)}.stepper output{text-align:center;min-width:36px;font-size:20px;font-weight:800}.meter{margin-top:16px}.meter p{font-size:16px;font-weight:700}.meter .bar{background:var(--line);border-radius:99px;height:10px;margin-top:8px;overflow:hidden}.meter .bar span{background:var(--blue);border-radius:99px;height:100%;transition:width .25s;display:block}.meter.full .bar span{background:var(--ink)}.output{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-card);margin-top:clamp(36px,5vw,64px);padding:clamp(24px,3.4vw,48px)}.output h2{margin-bottom:20px;font-size:clamp(2rem,3.4vw,3.4rem)}.plan{counter-reset:r;gap:10px;margin-bottom:28px;display:grid}.plan li{border-bottom:1px solid var(--line);gap:14px;padding:12px 0;font-size:clamp(1.05rem,1.4vw,1.3rem);display:flex}.plan li:before{counter-increment:r;content:counter(r);min-width:1.4em;color:var(--muted);font-weight:800}.plan li.on:after{content:"Editing";color:var(--blue);margin-left:auto;font-size:14px;font-weight:700}.out-actions{flex-wrap:wrap;gap:12px;display:flex}.status{min-height:1.6em;color:var(--muted);margin-top:14px;font-weight:700}.confirm{margin-top:8px;font-size:18px}@media (width<=900px){.cfg{grid-template-columns:1fr;gap:20px}.stage{background:var(--bg);height:40svh;margin-inline:calc(-1 * var(--gutter));padding:8px 0;padding-inline:var(--gutter);gap:6px;top:0;box-shadow:0 10px 18px -14px #0000004d}.canvas-box{flex:1;min-height:0}#panel-canvas{aspect-ratio:auto;width:100%;height:100%;max-height:none;position:absolute;inset:0}.hint{display:none}.lights{font-size:16px}.stage-actions .btn{min-height:44px;padding:8px 16px}}
