/* A compact mask tool lives in the existing canvas header; settings float above the work. */
.canvas-mask-tool-wrap{position:relative;display:inline-flex;flex-shrink:0;align-items:center}
.studio-workspace .canvas-header-tools{min-width:0;flex-wrap:wrap;row-gap:4px}
.studio-workspace .canvas-header-tools .canvas-tool-group{flex-shrink:0}
.studio-workspace #canvas-tool-mask.selected{border-color:#f1d16b66;background:#f1d16b13;color:#f1d16b}
.studio-workspace .canvas-mask-controls{flex-shrink:0;padding:8px 12px;border-top:1px solid #ffffff0c;background:#1a1a20}
.canvas-mask-caption{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:6px;font-size:10px;line-height:16px;color:#d9d6e4}
.canvas-mask-caption small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#aca9bb}
.canvas-mask-actions{display:flex;align-items:center;gap:6px}
.canvas-mask-actions button,.canvas-mask-fill-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:5px 8px;border:1px solid #ffffff1c;border-radius:6px;background:#24242c;color:#d8d5e4;font:inherit;font-size:10px;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s}
.canvas-mask-actions button:hover:not(:disabled),.canvas-mask-fill-actions button:hover:not(:disabled){border-color:#e6cd6e66;background:#e6cd6e0d;color:#f1d778}
.canvas-mask-actions #canvas-mask-add{flex:1;color:#e6cc7a;border-color:#e6cd6e39;background:#e6cd6e08}
.canvas-mask-actions #canvas-mask-enable{min-width:50px}
.canvas-mask-actions #canvas-mask-enable[aria-pressed=true]{color:#e3ce83;border-color:#e6cd6e37}
.canvas-mask-actions .canvas-mask-delete{width:28px;padding:5px;flex-shrink:0}
.canvas-mask-actions .canvas-mask-delete svg{width:14px;height:14px}
.canvas-mask-actions button:disabled,.canvas-mask-fill-actions button:disabled{opacity:1;color:#8d899e;background:#202027;border-color:#ffffff0b;cursor:not-allowed}
.studio-workspace [data-layout=split] .canvas-layer-item.has-layer-mask{position:relative;gap:6px;padding-left:7px;padding-right:7px}
.studio-workspace [data-layout=split] .canvas-layer-item.has-layer-mask .canvas-layer-visibility{width:22px;flex-shrink:0}
.studio-workspace [data-layout=split] .canvas-layer-item.has-layer-mask .canvas-layer-pick{gap:7px}
.studio-workspace [data-layout=split] .canvas-layer-item.has-layer-mask .canvas-layer-pick img{width:32px;height:38px;flex-shrink:0}
.studio-workspace [data-layout=split] .canvas-layer-item.has-layer-mask .canvas-layer-pick>span{margin-left:40px}
.studio-workspace .canvas-layer-mask{position:absolute;left:73px;top:50%;transform:translateY(-50%);display:block;width:34px;height:40px;min-height:0;padding:2px;overflow:hidden;border:1px solid #ffffff44;border-radius:5px;background:conic-gradient(#3a3943 25%,#24242b 0 50%,#3a3943 0 75%,#24242b 0) 0 0/8px 8px;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.studio-workspace .canvas-layer-mask canvas{display:block;width:100%;height:100%;border-radius:2px;object-fit:fill}
.studio-workspace .canvas-layer-mask.is-selected{border-color:#f0d16c;box-shadow:0 0 0 1px #f0d16c77}
.studio-workspace .canvas-layer-mask:hover:not(:disabled){border-color:#e5d28e}
.studio-workspace .canvas-layer-mask.is-disabled::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent calc(50% - 1px),#ef7777 calc(50% - 1px),#ef7777 calc(50% + 1px),transparent calc(50% + 1px));pointer-events:none}
.studio-workspace .canvas-layer-mask:disabled{opacity:1;cursor:default}
.canvas-mask-popover{position:fixed;z-index:2500;width:252px;max-width:calc(100vw - 20px);padding:12px;border:1px solid #d5c58040;border-radius:12px;background:linear-gradient(145deg,#24242cf7,#19191ff7);box-shadow:0 14px 45px #0008,inset 0 1px #ffffff08;backdrop-filter:blur(16px);color:#e7e4ef;font-family:inherit;box-sizing:border-box}
.canvas-mask-popover-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.canvas-mask-popover-title strong{font-size:12px;font-weight:600;line-height:24px;color:#e8e3ef}
#canvas-mask-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:5px;background:transparent;color:#bbb6ca;font:inherit;font-size:20px;line-height:1;cursor:pointer}
#canvas-mask-close:hover{background:#ffffff0b;color:#fff}
.canvas-mask-colors{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:13px}
.canvas-mask-colors button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:6px 5px;border:1px solid #ffffff21;border-radius:7px;background:#1a1a21;color:#bbb6c9;font:inherit;font-size:10px;white-space:nowrap;cursor:pointer}
.canvas-mask-colors button[aria-pressed=true]{border-color:#e8cc6960;background:#e8cc690d;color:#ecd68e}
.canvas-mask-colors button:disabled{opacity:.6;cursor:default}
.canvas-mask-colors i{display:block;width:13px;height:13px;flex-shrink:0;border:1px solid #8c8997;border-radius:3px}
.mask-color-black{background:#08080a}.mask-color-white{background:#fff}
.canvas-brush-sliders{display:flex;flex-direction:column;gap:10px}
.canvas-brush-sliders label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;font-size:10px;line-height:16px;color:#cfcbda}
.canvas-brush-sliders output{font-size:10px;color:#e4d189;font-variant-numeric:tabular-nums}
.canvas-brush-sliders input{grid-column:1 / -1;display:block;width:100%;height:16px;margin:0;padding:0;accent-color:#edce6a;cursor:pointer}
.canvas-brush-sliders input:disabled{opacity:.55;cursor:default}
.canvas-mask-fill-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:13px;padding-top:11px;border-top:1px solid #ffffff10}
.canvas-mask-fill-actions button{font-size:10px;padding:5px 3px}
.canvas-mask-shortcuts{margin:9px 0 0;font-size:9px;line-height:16px;text-align:center;color:#9f99b0}
.canvas-mask-popover :is(button,input):focus-visible,.canvas-mask-controls button:focus-visible,.studio-workspace .canvas-layer-mask:focus-visible{outline:2px solid #f1d16b;outline-offset:2px}
.canvas-mask-cursor{position:absolute;z-index:8;display:block;box-sizing:border-box;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0009,inset 0 0 0 1px #0003;pointer-events:none;mix-blend-mode:normal}
.canvas-mask-cursor[data-paint=show]{border-color:#fff;box-shadow:0 0 0 1px #000c,inset 0 0 0 1px #0003}
.canvas-mask-cursor[data-paint=hide]{border-color:#1a1a1a;box-shadow:0 0 0 1px #fff9,inset 0 0 0 1px #fff3}
.studio-workspace .canvas-stage.is-mask-brush #editor-canvas{cursor:none}
.studio-workspace .canvas-stage.is-mask-brush.is-mask-disabled #editor-canvas{cursor:not-allowed}
@media(min-width:1101px) and (max-width:1399px){.studio-workspace .canvas-header-tools{padding:0;gap:3px}.studio-workspace .canvas-header-tools .canvas-tool-group{gap:1px}.studio-workspace .canvas-header-tools .canvas-icon-button{width:27px;height:28px;min-height:28px;padding:5px}.studio-workspace .canvas-header-tools .canvas-ratio-control{padding-left:4px}.studio-workspace .canvas-header-tools #canvas-ratio{min-width:55px;padding:4px 5px}}
@media(max-width:768px){.studio-workspace .canvas-mask-controls{padding:8px 12px}.canvas-mask-popover{width:252px;padding:12px}.canvas-mask-colors button{min-height:35px}.canvas-brush-sliders input{height:20px}.canvas-mask-fill-actions button{min-height:30px}.studio-workspace .canvas-header-tools{flex-wrap:nowrap}.studio-workspace .canvas-header-tools .canvas-tool-group{gap:4px}}
@media(prefers-reduced-motion:reduce){.canvas-mask-actions button,.canvas-mask-fill-actions button,.studio-workspace .canvas-layer-mask{transition:none}}
/* Leave enough room for a complete layer row and its mask controls on short screens. */
@media(min-width:1101px){.studio-workspace [data-layout=split] .canvas-sidebar-content{grid-template-rows:minmax(210px,.9fr) minmax(390px,1.1fr)}}
@media(max-width:768px){.studio-workspace>.canvas-layers-panel[data-layout=split]{height:760px;min-height:760px}.studio-workspace [data-layout=split] .canvas-sidebar-content{grid-template-rows:minmax(0,.9fr) minmax(390px,1.1fr)}}
