.composition-studio{display:grid;gap:1.2rem}.composition-toolbar,.composition-sidebar,.composition-stage-card,.composition-export{border-radius:22px;background:var(--panel);box-shadow:var(--raised);padding:1.1rem}.composition-toolbar{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.8rem}.composition-toolbar label,.layer-controls label,.composition-export label{display:grid;gap:.35rem;font-size:.76rem;font-weight:800;color:var(--muted)}.composition-toolbar input,.composition-toolbar select,.layer-controls input,.layer-controls select,.composition-export select{min-height:42px;border:0;border-radius:11px;background:var(--panel);color:var(--text);box-shadow:var(--inset);padding:.55rem .7rem}.composition-main{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1.2rem}.composition-sidebar{align-self:start;display:grid;gap:1rem}.composition-upload{display:grid;place-items:center;gap:.45rem;padding:1.25rem;border:2px dashed var(--teal);border-radius:15px;text-align:center;cursor:pointer}.composition-upload i{font-size:1.7rem;color:var(--teal)}.composition-upload small{color:var(--muted)}.composition-layers{display:grid;gap:.55rem;max-height:370px;overflow:auto;padding:.25rem}.composition-layer{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.55rem;padding:.55rem;border:0;border-radius:12px;background:var(--panel);color:var(--text);box-shadow:var(--raised);cursor:pointer;text-align:left}.composition-layer.active{outline:2px solid var(--blue)}.composition-layer img{width:42px;height:42px;border-radius:8px;object-fit:cover}.composition-layer span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-moves{display:flex}.layer-moves button{border:0;background:transparent;color:inherit;cursor:pointer}.layer-controls{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.layer-controls .full{grid-column:1/-1}.alignment-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.alignment-controls button{min-height:38px;border:0;border-radius:9px;background:var(--panel);color:var(--text);box-shadow:var(--raised);cursor:pointer}.composition-stage-card{min-width:0}.composition-stage-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.composition-stage-head small{color:var(--muted)}.composition-stage-wrap{display:grid;place-items:center;min-height:480px;overflow:auto;padding:1rem;border-radius:16px;background-color:#dfe5ec;background-image:linear-gradient(45deg,#cbd4df 25%,transparent 25%),linear-gradient(-45deg,#cbd4df 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cbd4df 75%),linear-gradient(-45deg,transparent 75%,#cbd4df 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.composition-stage{display:block;max-width:100%;max-height:72vh;box-shadow:0 15px 35px #17203344;touch-action:none;cursor:grab}.composition-stage.dragging{cursor:grabbing}.composition-empty{color:#506174;text-align:center}.composition-export{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.composition-export .status{margin-left:auto;color:var(--muted);font-size:.85rem}.dark .composition-stage-wrap{background-color:#0e1828;background-image:linear-gradient(45deg,#172338 25%,transparent 25%),linear-gradient(-45deg,#172338 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#172338 75%),linear-gradient(-45deg,transparent 75%,#172338 75%)}
@media(max-width:980px){.composition-toolbar{grid-template-columns:repeat(3,1fr)}.composition-main{grid-template-columns:1fr}.composition-sidebar{position:static}.composition-stage-wrap{min-height:380px}}
@media(max-width:640px){.composition-toolbar{grid-template-columns:repeat(2,1fr)}.composition-toolbar label:last-child{grid-column:1/-1}.composition-toolbar,.composition-sidebar,.composition-stage-card,.composition-export{padding:.85rem;border-radius:17px}.composition-stage-wrap{min-height:280px;padding:.5rem}.composition-export>*{flex:1 1 130px}.composition-export .status{flex-basis:100%;margin:0}.layer-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
