/* Studio 9 — Manual Mask Studio, independent from original Fabric toolbars */
.nf9-photo-callout{border:1px solid #dcccfa;border-radius:12px;padding:13px 12px;background:linear-gradient(135deg,#f5efff,#fbf9ff);margin:9px 0 18px;display:grid;gap:6px}
.nf9-photo-callout strong{font-size:12px;color:#49306f}
.nf9-photo-callout p{margin:0;color:#7d6a91;font-size:10px;line-height:1.55}
.nf9-photo-callout button{margin-top:7px;width:100%;border:1px solid #754de3;border-radius:9px;padding:11px;color:#fff;background:#754de3;cursor:pointer;font-weight:780;font-size:11px}
.nf9-photo-callout button:hover{background:#6540ce}
.nf9-mask-dialog{width:min(1190px,calc(100vw - 28px));max-width:1190px;max-height:min(900px,calc(100vh - 26px));overflow:hidden;padding:0;border-radius:19px;border:1px solid #d9ceed;background:#fff;color:#342946;box-shadow:0 22px 85px #1f0f3b55}
.nf9-mask-dialog::backdrop{background:rgba(21,14,39,.72);backdrop-filter:blur(5px)}
.nf9-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:21px 24px 15px;border-bottom:1px solid #eee8f4}
.nf9-dialog-head h2{font-size:19px;font-weight:880;margin:0;color:#38254b}
.nf9-dialog-head h2 small{font-size:10px;vertical-align:middle;color:#835acb}
.nf9-dialog-head p{font-size:11px;margin:5px 0 0;color:#81738c}
.nf9-dialog-head button{font-size:20px;color:#5b4b6e;background:#f7f4fb;border:0;border-radius:8px;cursor:pointer;min-width:33px;height:33px}
.nf9-mask-layout{display:grid;grid-template-columns:272px minmax(0,1fr);height:min(610px,calc(100vh - 250px));min-height:290px}
.nf9-mask-tools{border-right:1px solid #eae5f1;overflow:auto;padding:14px;scrollbar-width:thin}
.nf9-tool-section{padding:8px 0 16px;border-bottom:1px solid #eee8f4;margin-bottom:12px}
.nf9-tool-section>strong{display:block;margin:0 0 12px;font-size:12px;color:#54426d}
.nf9-tool-section label{font-size:11px;color:#655575;font-weight:720;display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:12px 0}
.nf9-tool-section input[type=range]{width:100%;accent-color:#8152e9}
.nf9-tool-section output{font-size:10px;color:#784ee0}
.nf9-tool-section input[type=color]{width:36px;height:30px;padding:2px;border:1px solid #e3d9ef;border-radius:7px}
.nf9-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.nf9-tool-grid button,.nf9-wide{padding:10px 7px;min-height:35px;border-radius:8px;background:#fff;color:#634d81;border:1px solid #e2d8ee;cursor:pointer;font-size:10px;font-weight:780}
.nf9-tool-grid button:hover,.nf9-wide:hover{background:#f5eeff;border-color:#b69bea}
.nf9-tool-grid button[aria-pressed=true],.nf9-tool-grid button.nf9-active{background:#7850e6;color:#fff;border-color:#7850e6}
.nf9-wide{width:100%}
.nf9-tool-section p{font-size:10px;color:#847592;line-height:1.6;margin:10px 0 0}
.nf9-mask-preview{background:#eee9f4;min-width:0;display:flex;flex-direction:column;overflow:hidden}
.nf9-preview-head{display:flex;justify-content:space-between;gap:8px;background:#fff;padding:11px 16px;border-bottom:1px solid #e5dcf0;font-weight:760;font-size:11px;color:#574771}
.nf9-preview-scroller{position:relative;min-height:0;flex:1;overflow:auto;display:flex;align-items:safe center;justify-content:safe center;padding:26px;touch-action:pan-x pan-y;background-color:#f6f2f9;background-image:linear-gradient(45deg,#e9e2f1 25%,transparent 25%),linear-gradient(-45deg,#e9e2f1 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e9e2f1 75%),linear-gradient(-45deg,transparent 75%,#e9e2f1 75%);background-size:26px 26px;background-position:0 0,0 13px,13px -13px,-13px 0}
.nf9-preview-holder{position:relative;flex:none;border:1px solid #d5c8e6;box-shadow:0 5px 33px #3326472d;background:transparent}
#nf9-mask-canvas{display:block;cursor:crosshair;touch-action:none;max-width:none}
#nf9-mask-status{margin:0;background:#fff;border-top:1px solid #ded4e9;padding:10px 15px;color:#795b86;font-size:11px;line-height:1.45;min-height:20px}
.nf9-mask-footer{padding:12px 22px;border-top:1px solid #e5dceb;display:flex;align-items:center;justify-content:space-between;gap:18px}
.nf9-mask-footer p{margin:0;color:#877991;font-size:10px;line-height:1.5;max-width:620px}
.nf9-mask-footer-actions{display:flex;gap:9px}
.nf9-mask-footer-actions button{white-space:nowrap;border:1px solid #e0d8eb;background:white;padding:10px 16px;border-radius:9px;cursor:pointer;font-size:11px;font-weight:780;color:#5b4777}
.nf9-mask-footer-actions .primary-btn{background:#774be7;color:white;border-color:#774be7}
.nf9-mask-footer-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.nf9-mask-layout{grid-template-columns:1fr;grid-template-rows:200px minmax(220px,1fr);height:calc(100vh - 240px)}.nf9-mask-tools{border:0;border-bottom:1px solid #eee;padding:9px;overflow:auto}.nf9-mask-footer{display:block}.nf9-mask-footer-actions{justify-content:flex-end;margin-top:9px}.nf9-dialog-head{padding:15px}}

/* Original Phase 3 completion: controls live in Mask Studio, never on main canvas. */
.nf9-mask-dialog .nf9-backdrops{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}
.nf9-mask-dialog .nf9-backdrops button{font-size:9px;padding:8px 3px}
.nf9-mask-dialog .nf9-backdrops button[aria-pressed=true]{background:#7850e6;color:white;border-color:#7850e6}
.nf9-mask-dialog .nf9-preview-scroller[data-backdrop=white]{background:#fff;background-image:none}
.nf9-mask-dialog .nf9-preview-scroller[data-backdrop=black]{background:#171717;background-image:none}
.nf9-mask-dialog .nf9-coverage{padding:7px 15px;background:#f7f1fe;color:#6a4d8d;
 font-size:10px;line-height:1.4;border-top:1px solid #dfd5e8;margin:0}
.nf9-mask-dialog #nf9-download{border-color:#8b6ed2;color:#56348a;background:#f3edff}
.nf9-mask-dialog .nf9-mask-footer-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){
 .nf9-mask-dialog .nf9-mask-footer-actions button{white-space:normal;font-size:10px;padding:8px 7px}
 .nf9-mask-dialog .nf9-coverage{font-size:9px}
}
