:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--ink:#101828;--ink-soft:#344054;--paper:#f5f8fb;--surface:#fff;--surface-2:#eaf1f7;--line:#d9e2ec;--line-dark:#aab8c7;--brand-cyan:#0891b2;--brand-teal:#0d9488;--brand-blue:#1d4ed8;--terracotta:var(--brand-blue);--terracotta-dark:var(--brand-teal);--gold:var(--brand-teal);--success:#0d9488;--warning:#b7791f;--danger:#b42318;--shadow:0 18px 50px #10182814}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-sans)}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{background:linear-gradient(180deg, #fff 0, var(--paper) 220px);min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;grid-template-columns:285px minmax(500px,700px) 285px;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:grid;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:0 0;border-radius:8px;place-items:center;width:44px;height:34px;font-size:0;line-height:0;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:44px;height:30px;display:block}.brand b,.brand small{display:block}.brand b{font:700 18px/1.2 var(--font-sans);letter-spacing:0}.brand small{color:#667085;letter-spacing:.16em;margin-top:4px;font-size:8px}.mode-tabs{grid-template-columns:repeat(3,1fr);height:100%;display:grid}.mode-tabs button{cursor:pointer;color:#667085;background:0 0;border:0;border-bottom:2px solid #0000;justify-content:center;align-items:center;gap:9px;min-width:170px;transition:all .2s;display:flex}.mode-tabs button:hover{color:var(--ink);background:#1d4ed80d}.mode-tabs button.active{color:var(--terracotta);border-bottom-color:var(--terracotta)}.mode-tabs em{font:600 10px/1 var(--font-sans);opacity:.6}.mode-tabs span{letter-spacing:.04em;font-size:14px;font-weight:600}.top-actions{justify-content:flex-end;gap:8px;display:flex}.ghost-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:7px;padding:9px 13px;font-size:12px;text-decoration:none}.ghost-button:hover{border-color:var(--line-dark);background:#fff}.context-bar{border-bottom:1px solid var(--line);background:#eef6fb;justify-content:space-between;align-items:center;gap:24px;min-height:66px;padding:10px 30px;display:flex}.context-bar>div:first-child{grid-template-columns:auto auto;align-items:baseline;gap:3px 14px;display:grid}.context-bar .eyebrow{grid-row:span 2}.context-bar strong{font-family:var(--font-sans);font-size:15px}.context-bar small{color:#667085;font-size:11px}.eyebrow{color:var(--terracotta);text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:700}.provider-strip{color:#667085;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;font-size:9px;display:flex}.provider-strip>span:first-child{letter-spacing:.12em;color:#98a2b3}.provider-dot{align-items:center;gap:4px;display:inline-flex}.provider-dot:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 2px #a43f371c}.provider-dot.configured:before{background:var(--success);box-shadow:0 0 0 2px #5d704d1f}.notice{border:1px solid;border-radius:8px;justify-content:space-between;margin:12px 28px 0;padding:11px 14px;font-size:12px;display:flex}.notice button{cursor:pointer;color:inherit;background:0 0;border:0;font-size:18px;line-height:1}.workspace{grid-template-columns:282px minmax(440px,1fr) 330px;gap:12px;max-width:1920px;min-height:calc(100vh - 178px);margin:0 auto;padding:12px 14px 16px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0;box-shadow:0 8px 28px #3b302709}.left-panel,.right-panel{max-height:calc(100vh - 174px);padding:16px;position:sticky;top:142px;overflow-y:auto}.panel-heading{border-bottom:1px solid var(--line);align-items:center;gap:11px;margin-bottom:14px;padding-bottom:13px;display:flex}.step-number{color:var(--terracotta);font:italic 500 18px/1 Georgia,serif}.panel-heading h2{margin:0;font:600 15px/1.2 Noto Serif SC,Songti SC,serif}.panel-heading p{color:#92887d;margin:4px 0 0;font-size:10px}.upload-zone{cursor:pointer;background:#f7f3ec;border:1px dashed #b9ad9e;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:190px;padding:0;display:flex;position:relative;overflow:hidden}.upload-zone:hover{border-color:var(--terracotta);background:#fbf7f0}.upload-zone .upload-icon{border:1px solid var(--line-dark);width:40px;height:40px;color:var(--terracotta);border-radius:50%;place-items:center;margin-bottom:10px;font-size:22px;display:grid}.upload-zone b{font-size:13px}.upload-zone small{color:#91877c;margin-top:5px;font-size:9px}.upload-zone.has-file img{object-fit:contain;background:#e8e2d9;width:100%;height:190px}.replace-label{color:#fff;background:#262320c2;border-radius:4px;padding:5px 8px;font-size:9px;position:absolute;bottom:8px;right:8px}.route-card{border:1px solid var(--line);background:#f2ede5;border-radius:8px;margin:12px 0;padding:12px}.route-title{align-items:center;gap:9px;display:flex}.route-title small,.route-title b{display:block}.route-title small{color:#877e73;font-size:9px}.route-title b{margin-top:2px;font-size:11px}.status-led{background:var(--warning);border-radius:50%;width:8px;height:8px}.status-led.ready{background:var(--success)}.route-card p{color:#6f665d;margin:8px 0 0;font-size:10px}.section-label{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.section-label span{font-size:11px;font-weight:700}.section-label small{color:#9b9084;font-size:9px}.process-list{margin:0 0 13px;padding:0;list-style:none}.process-list li{color:#8c8277;align-items:center;gap:9px;min-height:28px;font-size:10px;display:flex;position:relative}.process-list li:not(:last-child):after{content:"";border-left:1px solid var(--line);height:12px;position:absolute;top:18px;left:4px}.process-list li span{background:var(--surface);z-index:1;border:1px solid #aaa095;border-radius:50%;width:9px;height:9px}.process-list li.done{color:var(--ink-soft)}.process-list li.done span{border-color:var(--success);background:var(--success);box-shadow:inset 0 0 0 2px var(--surface)}.process-list li.warning span{border-color:var(--warning);background:var(--warning);box-shadow:inset 0 0 0 2px var(--surface)}.reference-upload{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:10px;display:flex}.reference-upload b,.reference-upload small{display:block}.reference-upload b{font-size:10px}.reference-upload small{color:#958b80;margin-top:2px;font-size:8px}.reference-upload button{color:var(--terracotta);cursor:pointer;background:0 0;border:0;font-size:9px}.canvas-panel{grid-template-rows:43px minmax(400px,1fr) auto 184px;display:grid;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 13px;display:flex}.view-switch{height:100%;display:flex}.view-switch button{color:#93887c;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 12px;font-size:10px}.view-switch button.active{color:var(--ink);border-bottom-color:var(--terracotta)}.canvas-meta{color:#9e9489;font:9px/1 ui-monospace,monospace}.image-stage{touch-action:none;background-color:#e8e3da;background-image:linear-gradient(45deg,#ffffff47 25%,#0000 25%),linear-gradient(-45deg,#ffffff47 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff47 75%),linear-gradient(-45deg,#0000 75%,#ffffff47 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;place-items:center;min-height:420px;display:grid;position:relative;overflow:hidden}.image-stage.filled{cursor:crosshair}.main-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:calc(100% - 36px);max-height:calc(100% - 32px);box-shadow:0 16px 50px #2019142e}.mask-overlay{object-fit:contain;opacity:.42;filter:sepia()saturate(8)hue-rotate(315deg)brightness(.9);mix-blend-mode:screen;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:calc(100% - 36px);max-height:calc(100% - 32px);position:absolute}.mask-point{border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.mask-point.add{background:#63a052}.mask-point.remove{background:#c3473d}.empty-canvas{text-align:center;color:#766c62}.empty-canvas>span{color:#a89b8c;font-size:38px}.empty-canvas h2{color:var(--ink);margin:12px 0 7px;font:600 18px/1.3 Noto Serif SC,Songti SC,serif}.empty-canvas p{margin-bottom:18px;font-size:10px;line-height:1.7}.busy-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:8;background:#f5f1e9de;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.busy-overlay b{font:600 13px/1.2 Noto Serif SC,serif}.busy-overlay small{color:#8b8176;margin-top:6px;font-size:9px}.spinner{border:2px solid #d8cfc1;border-top-color:var(--terracotta);border-radius:50%;width:27px;height:27px;margin-bottom:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mask-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f2ece3;flex-wrap:wrap;align-items:center;gap:5px;min-height:46px;padding:7px 10px;display:flex}.mask-toolbar>div{margin-right:auto}.mask-toolbar b{font-size:10px}.mask-toolbar span{border-radius:10px;margin-left:7px;padding:2px 5px;font-size:8px}.mask-toolbar span.pending{color:#805b2b;background:#f0debd}.mask-toolbar span.confirmed{color:#4a623f;background:#dfe8da}.mask-toolbar button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;padding:5px 7px;font-size:8px}.mask-toolbar button.active{color:#fff;border-color:var(--ink);background:var(--ink)}.mask-toolbar button.confirm-mask{color:#fff;border-color:var(--success);background:var(--success)}.mask-toolbar button:disabled{opacity:.45;cursor:not-allowed}.result-dock{border-top:1px solid var(--line);background:#faf7f1;padding:11px 13px;overflow:hidden}.dock-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dock-title>div{align-items:center;gap:8px;display:flex}.dock-title b{font-size:11px}.dock-title small{color:#998f84;font-size:9px}.result-row{gap:8px;height:126px;display:flex;overflow-x:auto}.result-row>button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;flex:0 0 112px;padding:4px;position:relative}.result-row>button.selected{border-color:var(--terracotta);box-shadow:0 0 0 1px var(--terracotta)}.result-row img{object-fit:cover;border-radius:3px;width:100%;height:80px;display:block}.result-row span,.result-row small{text-overflow:ellipsis;white-space:nowrap;padding:0 3px;display:block;overflow:hidden}.result-row span{margin-top:4px;font-size:9px;font-weight:700}.result-row small{color:#93897d;margin-top:2px;font-size:7px}.empty-results{color:#a1978c;border:1px dashed var(--line);border-radius:6px;place-items:center;width:100%;font-size:10px;display:grid}.right-panel fieldset{border:0;border-bottom:1px solid var(--line);margin:0 0 14px;padding:0 0 14px}.right-panel legend{justify-content:space-between;width:100%;margin-bottom:9px;padding:0;font-size:10px;font-weight:700;display:flex}.right-panel legend output,.right-panel legend small{color:#93887d;font-size:9px;font-weight:400}.segmented{border:1px solid var(--line);background:#f1ece4;border-radius:6px;padding:2px;display:grid}.segmented.four{grid-template-columns:repeat(4,1fr)}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:4px;min-height:31px;font-size:9px}.segmented button.active{color:#fff;background:var(--ink);box-shadow:0 3px 8px #2623202b}.right-panel select,.text-input{border:1px solid var(--line);width:100%;height:35px;color:var(--ink-soft);background:#fff;border-radius:5px;outline:none;padding:0 10px;font-size:10px}.right-panel select:focus,.text-input:focus{border-color:var(--terracotta)}.right-panel input[type=range]{width:100%;accent-color:var(--terracotta)}.range-labels{color:#a2988d;justify-content:space-between;font-size:8px;display:flex}.toggle-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex;position:relative}.toggle-row span{flex:1}.toggle-row b,.toggle-row small{display:block}.toggle-row b{font-size:10px}.toggle-row small{color:#92877c;margin-top:4px;font-size:8px;line-height:1.4}.toggle-row input{opacity:0;position:absolute}.toggle-row i{background:#c8beb1;border-radius:12px;width:34px;height:19px;transition:all .2s;position:relative}.toggle-row i:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .2s;position:absolute;top:2px;left:2px}.toggle-row input:checked+i:after{transform:translate(15px)}.target-chips{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.target-chips button{border:1px solid var(--line);color:#6d645b;cursor:pointer;background:#fff;border-radius:12px;padding:4px 7px;font-size:8px}.required-flow{background:#f6eddd;border:1px solid #d7c6a7;border-radius:7px;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:14px;padding:10px;display:flex}.required-flow b{color:#76552e;width:100%;margin-bottom:5px;font-size:9px}.required-flow span{background:#ffffffb3;border-radius:3px;padding:3px 5px;font-size:7px}.required-flow i{color:#a38d68;font-size:8px;font-style:normal}.selected-color{border:1px solid var(--line);border-radius:6px;align-items:center;padding:8px;display:flex}.selected-color>span{border:1px solid #00000014;border-radius:4px;width:36px;height:36px;margin-right:9px}.selected-color>div{flex:1}.selected-color>.selected-color-actions{flex:none}.selected-color b,.selected-color small{display:block}.selected-color b{font-size:10px}.selected-color small{color:#867c71;margin-top:3px;font:8px/1.3 ui-monospace,monospace}.selected-color input{cursor:pointer;background:0 0;border:0;width:24px;height:24px;padding:0}.selected-color-actions{align-items:center;gap:6px;margin-left:10px;display:flex}.selected-color-actions button{border:1px solid var(--line-dark);min-height:28px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:5px;padding:0 9px;font-size:9px;font-weight:700}.palette-library{max-height:230px;overflow-y:auto;padding-right:3px!important}.palette-group>div:first-child{justify-content:space-between;align-items:baseline;margin-bottom:5px;display:flex}.palette-group b{font-size:9px}.palette-group small{color:#9d9388;font-size:7px}.swatches{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.swatches button{cursor:pointer;border:2px solid #0000;border-radius:4px;height:31px;position:relative;overflow:hidden}.swatches button.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px #fff}.swatches span{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#00000061;padding:2px;font-size:6px;position:absolute;inset:auto 0 0;overflow:hidden}.count-buttons{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.count-buttons button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:4px;height:29px;font-size:9px}.count-buttons button.active{color:#fff;border-color:var(--terracotta);background:var(--terracotta)}.primary-button,.secondary-button{cursor:pointer;border-radius:6px;min-height:37px;padding:0 14px;font-size:10px;font-weight:700;transition:all .2s}.primary-button{color:#fff;border:1px solid var(--terracotta);background:var(--terracotta);box-shadow:0 6px 16px #a64f3c26}.secondary-button{color:var(--ink);border:1px solid var(--line-dark);background:#fff}.secondary-button:hover{border-color:var(--ink)}.primary-button:disabled,.secondary-button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.full{width:100%}.action-stack{background:linear-gradient(transparent, var(--surface) 12%);gap:7px;padding:10px 0 16px;display:grid;position:sticky;bottom:-16px}.action-stack small{color:#948a7f;text-align:center;font-size:8px;line-height:1.4}.disclaimer{border-left:3px solid var(--gold);color:#756c62;background:#fffdf88c;gap:14px;margin:0 28px 22px;padding:12px 15px;font-size:9px;line-height:1.6;display:flex}.disclaimer b{color:var(--ink);white-space:nowrap}.modal-backdrop,.drawer-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c18158f;place-items:center;display:grid;position:fixed;inset:0}.confirm-modal{background:var(--surface);width:min(440px,100vw - 32px);box-shadow:var(--shadow);text-align:center;border-radius:10px;padding:28px}.modal-icon{border:1px solid var(--gold);width:34px;height:34px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 13px;font:italic 600 18px/1 Georgia,serif;display:grid}.confirm-modal h2{margin:0 0 10px;font:600 18px/1.4 Noto Serif SC,serif}.confirm-modal p{color:#766d63;font-size:11px;line-height:1.7}.confirm-modal>div{justify-content:center;gap:8px;margin-top:20px;display:flex}.drawer-backdrop{place-items:stretch end}.history-drawer{background:var(--surface);width:min(390px,100vw);height:100%;padding:22px;overflow-y:auto;box-shadow:-20px 0 50px #00000026}.drawer-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding-bottom:15px;display:flex}.drawer-title h2{margin:3px 0 0;font:600 20px/1.3 Noto Serif SC,serif}.drawer-title button{cursor:pointer;background:0 0;border:0;font-size:25px}.history-item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:10px 0;display:flex}.history-item img{object-fit:cover;background:#eee;border-radius:5px;width:66px;height:66px}.history-item b,.history-item small{display:block}.history-item b{font-size:11px}.history-item small{color:#948a7f;margin-top:5px;font:8px/1 ui-monospace,monospace}.empty-history{color:#8f857a;text-align:center;margin-top:40px;font-size:11px}.panel-heading h2,.empty-canvas h2,.busy-overlay b,.confirm-modal h2,.drawer-title h2,.admin-login h1,.admin-nav h2,.admin-title h1,.provider-card h3,.palette-admin-list h3,.prompt-modal h2{letter-spacing:0;font-family:var(--font-sans)!important}.step-number,.metric-grid b,.modal-icon,.admin-nav>button i{font-style:normal;font-family:var(--font-sans)!important}.notice.info{color:#075985;background:#e0f2fe;border-color:#bae6fd}.notice.success{color:#0f766e;background:#ccfbf1;border-color:#99f6e4}.notice.warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.notice.error{color:#b42318;background:#fef3f2;border-color:#fecdca}.panel{background:var(--surface);box-shadow:0 8px 28px #10182809}.upload-zone,.route-card,.segmented,.mask-toolbar,.result-dock,.version-row button,.simulation-box pre{background:#f8fbff}.upload-zone:hover{background:#effaff}.upload-zone.has-file img,.image-stage{background-color:#edf2f7}.required-flow{background:#ecfeff;border-color:#bae6fd}.required-flow b{color:#0e7490}.required-flow i{color:#0891b2}.primary-button{background:linear-gradient(135deg, var(--brand-blue), var(--brand-teal));border:0;box-shadow:0 10px 24px #1d4ed82e}.primary-button:hover{background:linear-gradient(135deg,#1e40af,#0f766e)}.segmented button.active,.count-buttons button.active{background:var(--ink);border-color:var(--brand-blue)}.view-switch button.active{border-bottom-color:var(--brand-blue);background:0 0}.toggle-row input:checked+i{background:linear-gradient(135deg, var(--brand-blue), var(--brand-teal))}.busy-overlay{background:#f5f8fbe0}.spinner{border-color:#d9e2ec;border-top-color:var(--brand-teal)}.disclaimer{color:#667085;background:#ffffffb8}@media (max-width:1180px){.topbar{grid-template-columns:210px 1fr 175px;padding:0 16px}.brand small{display:none}.mode-tabs button{min-width:0}.workspace{grid-template-columns:245px minmax(410px,1fr) 300px}.provider-strip{display:none}}@media (max-width:900px){.topbar{grid-template-rows:60px 50px;grid-template-columns:1fr auto;height:auto;min-height:70px}.mode-tabs{grid-area:2/1/auto/-1}.top-actions{grid-area:1/2}.context-bar{display:none}.workspace{grid-template-columns:1fr;padding:10px}.left-panel,.right-panel{max-height:none;position:static}.canvas-panel{grid-row:1;min-height:700px}.left-panel{grid-row:2}.right-panel{grid-row:3}.notice{margin:10px}.disclaimer{margin:0 10px 18px}}@media (max-width:560px){.topbar{padding:0 9px}.brand b{font-size:14px}.brand-mark{width:32px;height:32px}.top-actions .ghost-button:first-child{display:none}.mode-tabs span{font-size:10px}.mode-tabs em{display:none}.canvas-panel{grid-template-rows:43px minmax(340px,1fr) auto 160px;min-height:600px}.workspace{padding:6px}.panel{border-radius:7px}.swatches{grid-template-columns:repeat(6,1fr)}.swatches button{height:29px}.swatches span{display:none}}.admin-login{background:linear-gradient(180deg, #fff 0, var(--paper) 260px);place-items:center;min-height:100vh;display:grid;position:relative}.admin-back{color:var(--ink-soft);font-size:11px;text-decoration:none;position:absolute;top:24px;left:28px}.admin-login form{border:1px solid var(--line);background:var(--surface);width:min(420px,100vw - 32px);box-shadow:var(--shadow);text-align:center;border-radius:12px;padding:42px}.admin-login .brand-mark{width:64px;height:42px;margin:0 auto 16px}.admin-login .brand-mark img{width:64px;height:42px}.admin-login h1{font:700 24px/1.3 var(--font-sans);margin:8px 0}.admin-login p{color:#667085;font-size:10px;line-height:1.7}.admin-login label{text-align:left;margin:24px 0 12px;font-size:10px;font-weight:700;display:block}.admin-login input{border:1px solid var(--line);border-radius:6px;outline:none;width:100%;height:40px;margin-top:7px;padding:0 11px}.admin-login input:focus{border-color:var(--brand-teal)}.admin-login .primary-button{width:100%}.admin-shell{background:var(--paper);min-height:100vh}.admin-header{border-bottom:1px solid var(--line);background:var(--surface);z-index:30;justify-content:space-between;align-items:center;height:70px;padding:0 26px;display:flex;position:sticky;top:0}.admin-header>div{align-items:center;gap:8px;display:flex}.admin-live{color:#475467;align-items:center;gap:6px;margin-right:10px;font-size:9px;display:flex}.admin-live i{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #0d948824}.admin-layout{grid-template-columns:225px minmax(0,1fr);min-height:calc(100vh - 70px);display:grid}.admin-nav{color:#cbd5e1;background:#090b0f;border-right:1px solid #141923;padding:28px 15px}.admin-nav>div:first-child{padding:0 10px 22px}.admin-nav h2{color:#f8fafc;font:700 18px/1.3 var(--font-sans);margin:5px 0 0}.admin-nav>button{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;height:42px;padding:0 11px;font-size:10px;display:flex}.admin-nav>button:hover{color:#f8fafc;background:#10141b}.admin-nav>button.active{color:#f8fafc;background:linear-gradient(135deg,#0867d8,#14d7bd)}.admin-nav>button i{font:16px/1 var(--font-sans)}.admin-worker{border-top:1px solid #141923;margin:26px 8px 0;padding-top:16px}.admin-worker>b{color:#64748b;letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px;font-size:8px;display:block}.admin-worker>span{grid-template-columns:8px 1fr;gap:3px 7px;margin-bottom:9px;font-size:8px;display:grid}.admin-worker>span i{border-radius:50%;width:7px;height:7px}.admin-worker i.healthy{background:#14d7bd}.admin-worker i.stale{background:#f97316}.admin-worker small{color:#64748b;grid-column:2}.admin-worker p{color:#64748b;font-size:8px;line-height:1.5}.admin-content{min-width:0;padding:28px}.admin-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;margin-bottom:18px;padding-bottom:20px;display:flex}.admin-title h1{margin:4px 0 0;font:600 25px/1.2 Noto Serif SC,serif}.admin-reason label{color:#786f65;font-size:8px}.admin-reason input{border:1px solid var(--line);background:var(--surface);border-radius:5px;width:260px;height:32px;margin-top:5px;padding:0 9px;font-size:9px;display:block}.admin-alert{border:1px solid;border-radius:6px;margin:0 0 14px;padding:10px 12px;font-size:10px}.admin-alert.error{color:#843a33;background:#fae9e7;border-color:#dbafa9}.admin-alert.success{color:#4d6042;background:#edf1e9;border-color:#b8c4ad}.admin-alert button{float:right;cursor:pointer;background:0 0;border:0}.metric-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}.metric-grid span,.metric-grid small,.metric-grid b{display:block}.metric-grid span{color:#766d63;font-size:9px}.metric-grid b{margin:8px 0 5px;font:500 28px/1 Georgia,serif}.metric-grid small{color:#9b9186;font-size:8px}.admin-cards{grid-template-columns:repeat(3,minmax(240px,1fr));gap:10px;display:grid}.provider-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}.provider-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.provider-state{border-radius:10px;padding:3px 6px;font-size:7px}.provider-state.configured{color:#49603d;background:#e1eadc}.provider-state.not_configured{color:#823f37;background:#f3dfdc}.provider-card>div>small{color:#948a7e;text-transform:uppercase;font-size:8px}.provider-card h3{margin:14px 0 4px;font:600 15px/1.2 Noto Serif SC,serif}.provider-card p{color:#8d8378;margin:0;font:8px/1.3 ui-monospace,monospace}.capabilities{flex-wrap:wrap;gap:4px;margin:12px 0;display:flex}.capabilities span{color:#6c635a;border:1px solid var(--line);border-radius:3px;padding:3px 5px;font-size:7px}.provider-card code{color:#8c4038;word-break:break-all;background:#f8e9e7;border-radius:4px;padding:7px;font-size:7px;display:block}.provider-card footer{border-top:1px solid var(--line);color:#8c8277;gap:12px;margin-top:14px;padding-top:10px;font-size:8px;display:flex}.admin-grid{gap:12px;display:grid}.settings-grid{grid-template-columns:repeat(2,minmax(300px,1fr))}.config-editor{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}.config-editor h3,.simulation-box h3,.json-import h3{margin:0;font:600 14px/1.3 ui-monospace,monospace}.config-editor p,.simulation-box p,.json-import p{color:#8d8378;margin:5px 0 12px;font-size:8px}.config-editor textarea,.json-import textarea{border:1px solid var(--line);color:#e8dfd4;resize:vertical;background:#2d2926;border-radius:5px;width:100%;min-height:260px;padding:11px;font:9px/1.6 ui-monospace,monospace}.config-editor .primary-button{margin-top:9px}.simulation-box{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:240px 1fr;gap:14px;margin-top:12px;padding:16px;display:grid}.simulation-box pre{white-space:pre-wrap;background:#f1ece4;border-radius:5px;margin:0;padding:12px;font:8px/1.5 ui-monospace,monospace}.admin-toolbar{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-toolbar p{color:#766d63;font-size:9px}.palette-admin-list{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.palette-admin-list article{border:1px solid var(--line);background:var(--surface);border-radius:7px;justify-content:space-between;align-items:center;padding:14px;display:flex}.palette-admin-list h3{margin:0 0 0 8px;font:600 13px/1.2 Noto Serif SC,serif;display:inline}.palette-admin-list p{color:#8e8479;margin:5px 0 0;font-size:8px}.palette-admin-list .enabled,.palette-admin-list .disabled{border-radius:8px;padding:2px 5px;font-size:7px}.palette-admin-list .enabled{color:#4d6042;background:#e1eadc}.palette-admin-list .disabled{color:#756b62;background:#ebe5dc}.palette-admin-list article>div:last-child{display:flex}.palette-admin-list article>div:last-child span{border:2px solid #fff;border-radius:4px;width:26px;height:34px;margin-left:-3px;box-shadow:0 2px 7px #0000001a}.json-import{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:12px;padding:16px}.json-import textarea{min-height:200px}.json-import .primary-button{margin-top:9px}.prompt-list{gap:10px;display:grid}.prompt-list>article{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:16px}.prompt-list header{justify-content:space-between;align-items:center;display:flex}.prompt-list header span{color:#4d6042;background:#e1eadc;border-radius:10px;padding:3px 6px;font-size:7px}.prompt-list h3{margin:0 0 0 8px;font:600 13px/1.3 ui-monospace,monospace;display:inline}.prompt-list header p{color:#8e8479;margin:6px 0 0;font-size:8px}.version-row{border-top:1px solid var(--line);gap:6px;margin-top:15px;padding-top:12px;display:flex;overflow-x:auto}.version-row button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#f6f1e9;border-radius:5px;min-width:98px;padding:8px}.version-row button.current{color:#fff;border-color:var(--ink);background:var(--ink)}.version-row b,.version-row span,.version-row small{display:block}.version-row b{font:600 12px/1 ui-monospace,monospace}.version-row span{margin-top:5px;font-size:7px}.version-row small{opacity:.65;margin-top:3px;font-size:6px}.prompt-modal{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e1a178c;place-items:center;display:grid;position:fixed;inset:0}.prompt-modal>div{background:var(--surface);width:min(760px,100vw - 40px);box-shadow:var(--shadow);border-radius:9px;padding:22px}.prompt-modal header{justify-content:space-between;display:flex}.prompt-modal h2{margin:0;font:600 18px/1.3 Noto Serif SC,serif}.prompt-modal header button{cursor:pointer;background:0 0;border:0;font-size:22px}.prompt-modal p{color:#83796f;font-size:9px}.prompt-modal textarea{border:1px solid var(--line);resize:vertical;border-radius:5px;width:100%;min-height:360px;padding:12px;font:10px/1.7 ui-monospace,monospace}.prompt-modal .primary-button{margin-top:10px}.admin-table{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:auto}.admin-table table{border-collapse:collapse;width:100%;font-size:9px}.admin-table th{color:#7f756b;text-align:left;background:#eee8df;padding:10px 12px;font-weight:600}.admin-table td{border-top:1px solid var(--line);padding:11px 12px}.admin-table code{font-size:7px}.task-state{border-radius:9px;padding:3px 6px;font-size:7px}.task-state.complete{color:#4d6042;background:#e1eadc}.task-state.failed{color:#843a33;background:#f5e1df}.task-state.running{color:#7b562d;background:#f4e5c9}.audit-list{border-top:1px solid var(--line)}.audit-list article{border-bottom:1px solid var(--line);grid-template-columns:160px 1fr;gap:16px;padding:13px 6px;display:grid}.audit-list>article>span{color:#8d8378;font:8px/1.4 ui-monospace,monospace}.audit-list b{font-size:10px}.audit-list p{color:#776e64;margin:4px 0;font-size:8px}.audit-list small{color:#988e83;font-size:8px}@media (max-width:980px){.admin-layout{grid-template-columns:70px 1fr}.admin-nav{padding:20px 8px}.admin-nav>div:first-child,.admin-nav>button i,.admin-worker{display:none}.admin-nav>button{text-align:center;justify-content:center;padding:0 4px;font-size:8px}.admin-cards,.metric-grid{grid-template-columns:repeat(2,1fr)}.settings-grid,.palette-admin-list{grid-template-columns:1fr}}@media (max-width:620px){.admin-header{padding:0 10px}.admin-header .ghost-button:first-of-type,.admin-live{display:none}.admin-layout{grid-template-columns:1fr}.admin-nav{z-index:20;padding:6px;display:flex;position:sticky;top:70px;overflow-x:auto}.admin-nav>button{flex:0 0 105px}.admin-content{padding:16px 10px}.admin-title{align-items:start}.admin-reason{display:none}.metric-grid,.admin-cards,.simulation-box{grid-template-columns:1fr}.audit-list article{grid-template-columns:1fr;gap:5px}}:root{--text-caption:12px;--text-small:13px;--text-body:14px;--text-action:15px;--text-title:18px}html{-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body{font-size:var(--text-body);line-height:1.55}button,input,select,textarea{line-height:1.35}.topbar{grid-template-columns:320px minmax(560px,760px) 300px;height:84px}.brand small,.eyebrow,.provider-strip,.mode-tabs em,.context-bar small,.notice,.panel-heading p,.upload-zone small,.replace-label,.route-title small,.route-card p,.section-label small,.process-list li,.reference-upload small,.reference-upload button,.canvas-meta,.view-switch button,.empty-canvas p,.busy-overlay small,.mask-toolbar span,.dock-title small,.result-row small,.right-panel legend output,.right-panel legend small,.range-labels,.toggle-row small,.target-chips button,.required-flow span,.required-flow i,.selected-color small,.palette-group small,.swatches span,.action-stack small,.disclaimer,.history-item small,.empty-history,.admin-back,.admin-login p,.admin-login label,.admin-live,.admin-worker>b,.admin-worker>span,.admin-worker p,.admin-reason label,.admin-reason input,.admin-alert,.metric-grid span,.metric-grid small,.provider-state,.provider-card>div>small,.provider-card p,.capabilities span,.provider-card code,.provider-card footer,.config-editor p,.simulation-box p,.json-import p,.simulation-box pre,.admin-toolbar p,.palette-admin-list p,.palette-admin-list .enabled,.palette-admin-list .disabled,.prompt-list header span,.prompt-list header p,.version-row span,.version-row small,.prompt-modal p,.admin-table table,.admin-table code,.task-state,.audit-list>article>span,.audit-list p,.audit-list small{font-size:var(--text-caption)}.mode-tabs span,.ghost-button,.context-bar strong,.upload-zone b,.route-title b,.section-label span,.reference-upload b,.empty-results,.mask-toolbar b,.mask-toolbar button,.dock-title b,.result-row span,.right-panel legend,.segmented button,.right-panel select,.text-input,.toggle-row b,.required-flow b,.selected-color b,.palette-group b,.count-buttons button,.primary-button,.secondary-button,.confirm-modal p,.history-item b,.admin-nav>button,.provider-card h3,.config-editor h3,.simulation-box h3,.json-import h3,.palette-admin-list h3,.prompt-list h3,.version-row b,.prompt-modal textarea,.audit-list b{font-size:var(--text-small)}.notice,.primary-button,.secondary-button,.ghost-button,.right-panel select,.text-input,.segmented button,.count-buttons button,.target-chips button,.mask-toolbar button,.reference-upload button{min-height:42px}.primary-button,.secondary-button{font-size:var(--text-action);padding:0 18px}.panel-heading h2,.empty-canvas h2,.busy-overlay b,.confirm-modal h2,.drawer-title h2,.admin-login h1,.admin-nav h2,.admin-title h1{font-size:var(--text-title)}.empty-canvas h2,.admin-login h1,.admin-title h1{line-height:1.35}.workspace{grid-template-columns:320px minmax(520px,1fr) 380px;gap:14px;min-height:calc(100vh - 192px)}.left-panel,.right-panel{max-height:calc(100vh - 184px);padding:18px;top:150px}.canvas-toolbar{padding:0 16px}.palette-library{max-height:280px}.admin-layout{grid-template-columns:260px minmax(0,1fr)}.admin-nav>button{height:48px}.admin-content{padding:32px}.admin-cards{grid-template-columns:repeat(3,minmax(280px,1fr));gap:14px}.metric-grid{gap:14px}.provider-card,.metric-grid article,.config-editor,.json-import,.prompt-list>article{padding:20px}.config-editor textarea,.json-import textarea{font-size:var(--text-caption);line-height:1.65}@media (max-width:1180px){.topbar{grid-template-columns:240px 1fr 210px}.workspace{grid-template-columns:280px minmax(420px,1fr) 330px}}@media (max-width:900px){.topbar{min-height:78px}.workspace{min-height:auto}.canvas-panel{min-height:760px}}@media (max-width:560px){:root{--text-caption:12px;--text-small:14px;--text-body:15px;--text-action:15px;--text-title:19px}.brand b{font-size:16px}.mode-tabs span{font-size:13px}.canvas-panel{grid-template-rows:48px minmax(360px,1fr) auto 180px;min-height:680px}}.workspace{grid-template-columns:minmax(380px,440px) minmax(0,1fr);align-items:start}.left-panel{grid-area:1/1;max-height:none;position:static}.right-panel{grid-area:2/1;max-height:none;position:static}.canvas-panel{grid-area:1/2/span 2;min-height:calc(100vh - 194px)}.workspace-title{align-items:center;gap:8px;min-width:108px;display:flex}.workspace-title b{font-size:var(--text-action)}.canvas-toolbar{gap:14px}.canvas-toolbar .view-switch{margin-right:auto}@media (max-width:1180px){.workspace{grid-template-columns:minmax(340px,400px) minmax(0,1fr)}}.app-shell>.notice{flex:none;margin:8px 18px 0}.app-shell .workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(350px,23vw,430px) minmax(0,1fr);gap:14px;height:auto;min-height:0;padding:14px 18px 18px}.app-shell .left-panel{border-radius:18px;grid-area:1/1;padding:20px;overflow-y:auto}.app-shell .canvas-panel{border-radius:18px;grid-area:1/2;grid-template-rows:50px minmax(0,1fr) auto auto}.app-shell .operation-header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.app-shell .operation-header .eyebrow,.app-shell .tool-modal-header .eyebrow{color:#315eea;letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:800;display:block}.app-shell .operation-header h1{color:#172033;margin:0;font-size:22px;line-height:1.25}.app-shell .operation-header p{color:#7b8496;margin:4px 0 0;font-size:12px;line-height:1.45}.app-shell .manual-mode-switch{background:#f4f7ff;border:1px solid #dfe6f2;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:-4px 0 8px;padding:4px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #213d7509}.app-shell .manual-mode-switch:before{content:"";background:linear-gradient(135deg,#fff,#fafdff);border-radius:11px;width:calc(50% - 6px);transition:transform .22s;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 7px 18px #3568f429,0 0 0 1px #3568f41f}.app-shell .manual-mode-switch.product:before{transform:translate(calc(100% + 4px))}.app-shell .manual-mode-switch button{z-index:1;color:#667085;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:11px;align-content:center;gap:2px;min-width:0;min-height:48px;display:grid;position:relative}.app-shell .manual-mode-switch button:disabled{cursor:not-allowed;opacity:.62}.app-shell .manual-mode-switch b,.app-shell .manual-mode-switch small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.app-shell .manual-mode-switch b{font-size:14px;font-weight:850}.app-shell .manual-mode-switch small{color:#98a2b3;font-size:10px;font-weight:650}.app-shell .manual-mode-switch button.active{color:#285be8}.app-shell .manual-mode-switch button.active small{color:#5d73bc}.app-shell .manual-mode-note{color:#7b8496;margin:0 0 10px;padding:0 2px;font-size:11px;line-height:1.45}.app-shell .text-button{color:#526079;cursor:pointer;background:#fff;border:1px solid #dce4f1;border-radius:8px;flex:none;min-height:32px;padding:0 10px;font-size:11px;font-weight:700}.app-shell .text-button:hover{color:#315eea;background:#f7f9ff;border-color:#aabcf8}.app-shell .operation-progress{background:#f8f9fc;border:1px solid #e6ebf3;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:16px;padding:8px;display:grid}.app-shell .operation-progress span{color:#8a94a6;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;min-width:0;display:grid}.app-shell .operation-progress b{background:#fff;border:1px solid #d4dbe7;border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.app-shell .operation-progress small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:650;overflow:hidden}.app-shell .operation-progress span.active{color:#315eea}.app-shell .operation-progress span.active b{color:#fff;background:#315eea;border-color:#315eea}.app-shell .operation-progress span.completed{color:#27805f}.app-shell .operation-progress span.completed b{color:#fff;background:#38ad7f;border-color:#38ad7f}.app-shell .operation-section-title{justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.app-shell .operation-section-title b{color:#25314a;font-size:13px}.app-shell .operation-section-title small{color:#98a2b3;font-size:10px}.app-shell .route-card{margin:0 0 12px}.app-shell .compact-palette-card{background:#fff;border:1px solid #dfe6f0;border-radius:12px;margin-bottom:12px;padding:12px}.app-shell .compact-palette-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.app-shell .compact-palette-heading b,.app-shell .compact-palette-heading small{display:block}.app-shell .compact-palette-heading b{color:#25314a;font-size:13px}.app-shell .compact-palette-heading small{color:#8a94a6;text-overflow:ellipsis;white-space:nowrap;max-width:220px;margin-top:2px;font-size:10px;overflow:hidden}.app-shell .compact-palette-heading button{color:#315eea;cursor:pointer;background:0 0;border:0;flex:none;font-size:11px;font-weight:750}.app-shell .compact-palette-strip{cursor:pointer;background:#f7f8fa;border:1px solid #10182814;border-radius:9px;width:100%;height:34px;padding:0;display:flex;overflow:hidden}.app-shell .compact-palette-strip span{flex:1 1 0;min-width:22px}.app-shell .left-config-card{margin-top:0;padding:13px}.app-shell .left-config-card .segmented button{min-height:35px;font-size:12px}.app-shell .left-config-card .toggle-row{border:0;margin-bottom:0;padding-bottom:0}.app-shell .compact-select-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.app-shell .compact-select-row span,.app-shell .compact-select-row b,.app-shell .compact-select-row small{display:block}.app-shell .compact-select-row b{color:#25314a;font-size:13px}.app-shell .compact-select-row small{color:#8a94a6;margin-top:2px;font-size:10px}.app-shell .compact-select-row select{color:#344054;background:#fff;border:1px solid #dce3ed;border-radius:8px;width:100px;height:36px;padding:0 9px;font-size:12px}.app-shell .operation-status-card{background:#f8faff;border:1px solid #e2e8f2;border-radius:11px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:12px;padding:10px 12px;display:grid}.app-shell .operation-status-card small,.app-shell .operation-status-card b{display:block}.app-shell .operation-status-card small{color:#7b8496;font-size:10px}.app-shell .operation-status-card b{color:#344054;margin-top:1px;font-size:12px}.app-shell .operation-status-card>button{color:#315eea;cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:750}.app-shell .operation-actions{z-index:6;background:linear-gradient(#ffffffa6,#fff 24%);grid-template-columns:.82fr 1.18fr;gap:8px;margin:14px -4px -20px;padding:12px 4px 20px;display:grid;position:sticky;bottom:-20px}.app-shell .operation-actions button{border-radius:10px;min-height:48px;font-size:13px;font-weight:750}.app-shell .operation-actions small{color:#98a2b3;text-align:center;grid-column:1/-1;font-size:9px}.app-shell .canvas-toolbar{padding-inline:18px}.app-shell .image-stage{min-height:0}.app-shell .result-dock.has-results{padding:10px 14px 12px}.app-shell .tool-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1b23356b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.app-shell .palette-workbench-modal,.app-shell .advanced-modal{background:#fff;border-radius:18px;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1120px,100vw - 48px);height:min(820px,100vh - 48px);max-height:none;padding:0;display:grid;position:static;overflow:hidden;box-shadow:0 30px 90px #141d2f3d}.app-shell .tool-modal-header{border-bottom:1px solid #edf0f5;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px 16px;display:flex}.app-shell .tool-modal-header h2{color:#172033;margin:0;font-size:20px}.app-shell .tool-modal-header p{color:#7b8496;margin:4px 0 0;font-size:12px}.app-shell .tool-modal-header>button{color:#667085;cursor:pointer;background:#f4f6f9;border:0;border-radius:9px;width:34px;height:34px;font-size:23px}.app-shell .tool-modal-tabs{background:#fbfcfe;border-bottom:1px solid #edf0f5;gap:6px;padding:10px 24px;display:flex}.app-shell .tool-modal-tabs button{color:#667085;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;min-height:36px;padding:0 16px;font-size:12px;font-weight:700}.app-shell .tool-modal-tabs button.active{color:#315eea;background:#f2f5ff;border-color:#c7d3fd}.app-shell .tool-modal-body{min-height:0;padding:20px 24px;overflow-y:auto}.app-shell .palette-workbench-modal .recommendation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:none}.app-shell .palette-workbench-modal .palette-card{padding:12px}.app-shell .palette-workbench-modal .modal-palette-editor{background:#fbfcfe;border:1px solid #e2e8f2;border-radius:13px;margin-bottom:18px;padding:15px}.app-shell .palette-workbench-modal .center-palette-colors{grid-auto-columns:minmax(170px,1fr)}.app-shell .palette-workbench-modal .professional-color-list{grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px}.app-shell .palette-workbench-modal fieldset{margin-bottom:16px}.app-shell .tool-modal-footer{background:#fbfcfe;border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;gap:20px;padding:12px 24px;display:flex}.app-shell .tool-modal-footer span{color:#7b8496;font-size:11px}.app-shell .tool-modal-footer .primary-button{border-radius:9px;min-width:120px;min-height:40px}.app-shell .advanced-modal{grid-template-rows:auto minmax(0,1fr) auto;width:min(620px,100vw - 48px);height:auto;max-height:calc(100vh - 48px)}.app-shell .advanced-modal-body{gap:12px;padding:20px 24px;display:grid;overflow-y:auto}.app-shell .advanced-modal-body>label{background:#fbfcfe;border:1px solid #e2e8f2;border-radius:11px;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:18px;padding:14px;display:grid}.app-shell .advanced-modal-body b,.app-shell .advanced-modal-body small{display:block}.app-shell .advanced-modal-body b{color:#25314a;font-size:13px}.app-shell .advanced-modal-body small{color:#8a94a6;margin-top:3px;font-size:10px}.app-shell .advanced-modal-body select{color:#344054;background:#fff;border:1px solid #dce3ed;border-radius:8px;height:38px;padding:0 10px}@media (max-width:1050px){.app-shell>.topbar{grid-template-columns:minmax(230px,280px) minmax(360px,1fr) auto;gap:8px;padding-inline:14px}.app-shell .top-actions .ghost-button{padding-inline:9px}.app-shell .workspace{grid-template-columns:340px minmax(0,1fr);padding-inline:10px}.app-shell .left-panel{padding:16px}}@media (max-width:820px){.app-shell{height:auto;min-height:100vh;overflow:auto}.app-shell .workspace{grid-template-rows:auto minmax(620px,70vh);grid-template-columns:1fr;height:auto;overflow:visible}.app-shell .left-panel,.app-shell .canvas-panel{grid-column:1;position:static}.app-shell .left-panel{grid-row:1;overflow:visible}.app-shell .canvas-panel{grid-row:2;min-height:620px}.app-shell .operation-actions{margin-bottom:0;padding-bottom:0;position:static}.app-shell .palette-workbench-modal .recommendation-grid,.app-shell .palette-workbench-modal .professional-color-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.app-shell .tool-modal-backdrop{padding:10px}.app-shell .palette-workbench-modal,.app-shell .advanced-modal{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px)}.app-shell .tool-modal-header,.app-shell .tool-modal-body,.app-shell .tool-modal-footer,.app-shell .tool-modal-tabs{padding-inline:14px}.app-shell .tool-modal-tabs button{flex:1 1 0;padding-inline:6px}.app-shell .palette-workbench-modal .recommendation-grid,.app-shell .palette-workbench-modal .professional-color-list,.app-shell .advanced-modal-body>label{grid-template-columns:1fr}}.app-shell .left-config-card fieldset>legend{justify-content:space-between;align-items:center;gap:8px;display:flex}.app-shell .left-config-card fieldset>legend small{color:#73809a;font-size:10px;font-weight:500}.app-shell .target-selection-summary{background:#f7faff;border:1px solid #dce5f4;border-radius:8px;min-height:43px;margin-bottom:7px;padding:8px 10px}.app-shell .target-selection-summary b,.app-shell .target-selection-summary span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-shell .target-selection-summary b{color:#25314a;font-size:12px}.app-shell .target-selection-summary span,.app-shell .target-selection-note,.app-shell .target-empty{color:#74819a;margin:4px 0 0;font-size:10px;line-height:1.45}.app-shell .target-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:142px;margin-top:7px;padding-right:3px;display:grid;overflow-y:auto}.app-shell .target-picker button{color:#526079;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce4f1;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:20px minmax(0,1fr);align-items:center;column-gap:5px;min-width:0;min-height:45px;padding:6px 7px;display:grid}.app-shell .target-picker button>span{color:#5f7398;border:1px solid #c8d3e7;border-radius:5px;grid-row:1/3;place-items:center;width:18px;height:18px;font-size:11px;display:grid}.app-shell .target-picker button>b,.app-shell .target-picker button>small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .target-picker button>b{color:#26334e;font-size:11px}.app-shell .target-picker button>small{color:#8490a5;font-size:9px}.app-shell .target-picker button.selected{background:#eef3ff;border-color:#6485f5;box-shadow:inset 0 0 0 1px #4869ee1f}.app-shell .target-picker button.selected>span{color:#fff;background:#3568f4;border-color:#3568f4}@media (max-width:900px){.workspace{grid-template-columns:1fr}.canvas-panel{grid-area:1/1;min-height:760px}.left-panel{grid-area:2/1}.right-panel{grid-area:3/1}}html,body{height:100%;overflow:hidden}.app-shell{flex-direction:column;height:100vh;min-height:0;display:flex;overflow:hidden}.topbar{flex:0 0 58px;grid-template-columns:minmax(250px,330px) minmax(280px,420px) auto;gap:14px;height:58px;min-height:58px;padding:0 18px;position:relative}.brand{min-width:0}.brand-mark{width:42px;height:32px}.brand b{font-size:18px}.brand small{display:none}.mode-picker{border:1px solid var(--line);background:#f8fbfd;border-radius:10px;grid-template-rows:16px 18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 8px;min-width:0;height:42px;padding:4px 8px 4px 12px;display:grid}.mode-picker span{color:var(--brand-blue);white-space:nowrap;grid-row:1/span 2;font-size:12px;font-weight:800}.mode-picker select{width:100%;min-width:0;height:20px;color:var(--ink);background:0 0;border:0;outline:none;font-size:14px;font-weight:700}.mode-picker small{color:#667085;font-size:11px;line-height:1}.top-actions .ghost-button{align-items:center;min-height:36px;padding:0 12px;display:inline-flex}.context-bar{flex:0 0 38px;gap:12px;min-height:38px;padding:4px 18px}.context-bar>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.context-bar .eyebrow{flex:none;font-size:11px}.context-bar strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.context-bar small{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.compact-services{flex-wrap:nowrap;flex:none;gap:8px}.compact-services>span:first-child{color:var(--ink-soft);letter-spacing:0;font-size:12px;font-weight:700}.compact-services .provider-dot{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 8px;font-size:12px}.notice{flex:none;align-items:center;max-height:42px;margin:8px 14px 0;padding:7px 10px;font-size:13px}.workspace{flex:auto;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(360px,420px) minmax(0,1fr);align-items:stretch;gap:10px;width:100%;height:auto;min-height:0;padding:8px 14px 12px;overflow:hidden}.left-panel,.right-panel,.canvas-panel{min-height:0;max-height:none;position:static}.left-panel{grid-area:1/1;padding:12px;overflow:hidden}.right-panel{grid-area:2/1;padding:12px;overflow:auto}.canvas-panel{grid-area:1/2/span 2;grid-template-rows:44px minmax(0,1fr) auto 142px;height:100%;min-height:0}.panel-heading{gap:9px;margin-bottom:9px;padding-bottom:8px}.panel-heading h2{font-size:17px}.panel-heading p{margin-top:2px;font-size:12px}.section-badge{color:#fff;background:linear-gradient(135deg, var(--brand-blue), var(--brand-teal));letter-spacing:0;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:40px;height:24px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.upload-zone.has-file img{height:126px}.route-card{margin:8px 0;padding:9px}.route-title b,.route-card p,.section-label span,.section-label small,.process-list li{font-size:12px}.section-block{margin-top:10px}.section-label{margin-bottom:6px}.process-list{margin-bottom:9px}.process-list li{min-height:22px}.process-list li:not(:last-child):after{height:8px;top:16px}.auto-analysis-hint{border:1px solid var(--line);color:#6f665d;background:#fffaf2;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.5}.auto-analysis-hint.warning{color:#805b2b;background:#fff7e4;border-color:#ead3a4}.reference-upload{margin-top:8px;padding:8px}.canvas-toolbar{min-height:0;padding:0 12px}.workspace-title{min-width:0}.workspace-title b{white-space:nowrap;font-size:15px}.view-switch button{min-height:0;font-size:12px}.canvas-meta{font-size:12px}.image-stage{height:100%;min-height:0}.main-image,.mask-overlay{object-fit:contain;max-width:calc(100% - 24px);max-height:calc(100% - 24px)}.mask-toolbar{min-height:40px;padding:5px 8px}.mask-toolbar b,.mask-toolbar span,.mask-toolbar button{font-size:12px}.mask-toolbar button{min-height:30px;padding:4px 7px}.result-dock{padding:8px 10px}.dock-title{margin-bottom:6px}.dock-title b,.dock-title small,.result-row span,.result-row small,.empty-results{font-size:12px}.result-row{height:102px}.result-row>button{flex-basis:116px;padding:5px}.result-row img{height:62px}.right-panel fieldset{margin-bottom:9px;padding-bottom:9px}.right-panel legend,.right-panel select,.text-input,.segmented button,.count-buttons button,.selected-color b,.selected-color small,.palette-group b,.palette-group small{font-size:13px}.right-panel select,.text-input{height:36px}.segmented button,.count-buttons button{min-height:34px}.selected-color{padding:8px}.selected-color>span{width:34px;height:34px}.palette-library{max-height:124px;margin-bottom:8px!important}.palette-group{margin-bottom:7px}.palette-group>div:first-child{margin-bottom:4px}.swatches{grid-template-columns:repeat(5,1fr)}.swatches button{height:28px}.swatches span{display:none}.advanced-settings{border-bottom:1px solid var(--line);margin:0 0 9px;padding:0 0 9px}.advanced-settings summary{cursor:pointer;color:var(--brand-blue);font-size:13px;font-weight:800;list-style-position:inside}.advanced-settings fieldset{margin-top:10px}.advanced-settings .toggle-row{border-bottom:0;margin:10px 0 0;padding-bottom:0}.required-flow{margin-bottom:9px;padding:8px}.required-flow b,.required-flow span,.required-flow i{font-size:12px}.precision-button{margin-bottom:9px}.action-stack{background:0 0;gap:6px;padding:0;position:static}.action-stack small{font-size:12px}.flow-pill{border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;background:#fff;border-radius:999px;flex:none;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.flow-pill i{background:var(--brand-teal);opacity:.55;border-radius:50%;width:5px;height:5px}.palette-board{padding-bottom:10px!important}.palette-summary{border:1px solid var(--line);background:#f8fbfd;border-radius:10px;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:8px;padding:9px;display:grid}.palette-summary b,.palette-summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.palette-summary b{font-size:13px}.palette-summary small{color:#667085;margin-top:2px;font-size:12px}.palette-strip{background:#fff;border:1px solid #10182814;border-radius:8px;height:28px;display:flex;overflow:hidden}.palette-strip span{flex:1 1 0;min-width:12px}.palette-role-list{gap:6px;display:grid}.palette-role-row{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:34px minmax(0,1fr) 28px 44px 44px;align-items:center;gap:7px;padding:7px;display:grid}.role-swatch{border:1px solid #1018281a;border-radius:8px;width:34px;height:34px;box-shadow:inset 0 0 0 1px #ffffff73}.palette-role-row b,.palette-role-row small,.palette-role-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.palette-role-row b{font-size:12px}.palette-role-row small{color:#667085;margin-top:1px;font:11px/1.3 ui-monospace,monospace}.palette-role-row em{color:#98a2b3;margin-top:1px;font-size:11px;font-style:normal}.palette-role-row input[type=color]{cursor:pointer;background:0 0;border:0;width:28px;height:28px;padding:0}.role-lock,.role-replace{border:1px solid var(--line);min-height:28px;color:var(--ink-soft);cursor:pointer;background:#f8fafc;border-radius:7px;padding:0 6px;font-size:12px}.role-lock.locked{color:#fff;border-color:var(--brand-teal);background:var(--brand-teal)}.role-replace{color:var(--brand-blue);background:#1d4ed80d;border-color:#1d4ed838}.color-replace-tray{background:#f8fbff;border:1px solid #1d4ed82e;border-radius:10px;margin-top:8px;padding:8px}.color-replace-tray>div:first-child{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.color-replace-tray b{font-size:12px}.color-replace-tray>div:first-child button{color:var(--brand-blue);cursor:pointer;background:0 0;border:0;font-size:12px}.swatches.large{grid-template-columns:repeat(6,1fr)}.swatches.large button{height:30px}.recommendation-grid{max-height:190px;overflow-y:auto;padding-right:4px!important}.palette-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;gap:5px;width:100%;margin:0 0 7px;padding:8px;display:grid}.palette-card:hover,.palette-card.active{border-color:var(--brand-blue);box-shadow:0 0 0 1px #1d4ed81f}.palette-card .palette-strip{height:22px}.palette-card b,.palette-card small,.palette-card em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.palette-card b{font-size:13px}.palette-card small{color:#667085;font-size:12px}.palette-card em{color:#98a2b3;font-size:11px;font-style:normal}.primary-button,.secondary-button{min-height:38px;font-size:14px}.workspace{height:calc(100vh - 150px)}.notice+.workspace{height:calc(100vh - 200px)}.canvas-panel{grid-template-rows:44px minmax(0,1fr) auto auto}.upload-zone{min-height:92px}.upload-zone.has-file{flex-direction:row;justify-content:center;height:96px;min-height:96px;padding:8px 76px 8px 12px}.upload-zone.has-file img{object-fit:contain;background:#edf2f7;border-radius:6px;width:128px;height:78px}.image-stage{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:12px;display:flex}.main-image{object-fit:contain;object-position:center;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.mask-overlay{object-fit:contain;object-position:center;width:calc(100% - 24px);max-width:none;height:calc(100% - 24px);max-height:none;inset:12px}.result-dock.is-empty{padding:5px 10px}.result-dock.is-empty .dock-title{margin-bottom:3px}.result-dock.is-empty .result-row{height:28px}.result-dock.is-empty .empty-results{min-height:28px}.result-dock.has-results .result-row{height:142px}.disclaimer{display:none}@media (max-width:1180px){.topbar{grid-template-columns:minmax(220px,280px) minmax(240px,360px) auto}.workspace{grid-template-columns:minmax(330px,380px) minmax(0,1fr)}}@media (max-width:900px){html,body,.app-shell{height:auto;min-height:100%;overflow:auto}.topbar{grid-template-rows:54px 48px;grid-template-columns:1fr auto;height:auto;min-height:106px}.mode-picker{grid-area:2/1/auto/-1}.workspace{grid-template-rows:auto;grid-template-columns:1fr;height:auto;overflow:visible}.left-panel,.right-panel,.canvas-panel{grid-column:1;overflow:visible}.canvas-panel{grid-row:1;min-height:680px}.left-panel{grid-row:2}.right-panel{grid-row:3}}@media (min-width:901px){.workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(360px,430px);align-items:stretch}.left-panel{grid-area:1/1;max-height:100%;overflow:auto}.canvas-panel{grid-area:1/2;min-width:0}.right-panel{grid-area:1/3;max-height:100%;overflow:auto}}.image-palette-tools p{color:#667085;margin:7px 0 0;font-size:12px;line-height:1.45}.palette-tool-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.palette-tool-row .secondary-button{width:100%;min-height:40px;padding:0 10px;font-size:13px}.single-color-library{padding-bottom:10px!important}.color-search{margin-bottom:8px}.color-library-grid{grid-template-columns:repeat(8,minmax(0,1fr));max-height:146px;padding-right:2px;overflow-y:auto}.color-library-grid button{height:32px}.color-library-grid span{font-size:9px;display:block}.library-hint{color:#667085;margin-top:7px;font-size:12px;line-height:1.4;display:block}.recommendation-grid{max-height:238px}@media (max-width:1280px) and (min-width:901px){.workspace{grid-template-columns:minmax(240px,280px) minmax(0,1fr) minmax(330px,370px)}.color-library-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}:root{--studio-blue:#3568f4;--studio-purple:#7a45ee;--studio-cyan:#28b7d8;--studio-bg:#f6f8fc;--studio-line:#e2e8f2;--studio-muted:#667085;--studio-shadow:0 10px 30px #213d7512}.app-shell{background:radial-gradient(circle at 50% 0, #5679ff0e, transparent 30%), var(--studio-bg)}.app-shell>.topbar{border-bottom:1px solid var(--studio-line);background:#fffffff5;flex:0 0 72px;grid-template-columns:minmax(265px,330px) minmax(480px,680px) minmax(260px,330px);gap:22px;height:72px;min-height:72px;padding:0 28px;box-shadow:0 1px #10182805}.app-shell .brand{gap:13px}.app-shell .brand-mark{width:48px;height:40px}.app-shell .brand-mark img{width:48px;height:34px}.app-shell .brand b{letter-spacing:-.02em;font-size:21px;font-weight:800}.app-shell .brand small{color:#8b95a7;letter-spacing:.14em;margin-top:3px;font-size:9px;font-weight:700;display:block}.app-shell .mode-tabs{gap:8px;height:72px}.app-shell .mode-tabs button{color:#475467;border:0;min-width:0;height:72px;padding:0 18px;font-size:16px;position:relative}.app-shell .mode-tabs button:after{content:"";background:linear-gradient(90deg, var(--studio-blue), var(--studio-purple));opacity:0;border-radius:999px 999px 0 0;height:3px;transition:opacity .18s,transform .18s;position:absolute;bottom:0;left:18px;right:18px;transform:scaleX(.45)}.app-shell .mode-tabs button:hover{color:#2454dc;background:linear-gradient(#0000,#3568f409)}.app-shell .mode-tabs button.active{color:#285be8;background:linear-gradient(#0000 55%,#5469ff0d);border:0}.app-shell .mode-tabs button.active:after{opacity:1;transform:scaleX(1)}.app-shell .mode-tabs span{letter-spacing:0;font-size:16px;font-weight:750}.app-shell .top-actions{gap:10px}.app-shell .top-actions .ghost-button{border-color:var(--studio-line);color:#344054;background:#fff;border-radius:10px;min-height:42px;padding:0 15px;font-size:14px;font-weight:650;box-shadow:0 2px 8px #213d7509}.app-shell .top-actions .ghost-button:hover{color:#285be8;background:#f8faff;border-color:#b9c8fb}.app-shell>.context-bar{background:#f9fbffe0;border-bottom:1px solid #e8edf5;flex:0 0 62px;justify-content:center;min-height:62px;padding:0 28px}.app-shell .context-bar .stepper{grid-template-columns:repeat(3,1fr);align-items:center;gap:0;width:min(640px,55vw);min-width:470px;display:grid}.app-shell .stepper>span{color:#7b8496;white-space:nowrap;align-items:center;gap:10px;min-width:0;font-size:14px;font-weight:650;display:flex;position:relative}.app-shell .stepper>span:not(:last-child):after{content:"→";color:#a2acbc;margin-left:auto;padding-right:22px;font-size:22px;font-weight:400}.app-shell .stepper b{color:#697386;background:#fff;border:1px solid #cfd7e5;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:14px;display:grid;box-shadow:0 2px 7px #213d7509}.app-shell .stepper>span.active{color:#315eea}.app-shell .stepper>span.active b{color:#fff;background:linear-gradient(135deg, var(--studio-blue), var(--studio-purple));border-color:#0000;box-shadow:0 6px 14px #495def40}.app-shell .stepper>span.completed{color:#344054}.app-shell .stepper>span.completed b{color:#fff;background:#3fbd83;border-color:#69c89d}.app-shell .context-bar>p{text-align:right;min-width:0;max-width:310px;margin:0;position:absolute;right:30px}.app-shell .context-bar>p strong,.app-shell .context-bar>p small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-shell .context-bar>p strong{color:#667085;font-size:12px;font-weight:650}.app-shell .context-bar>p small{color:#98a2b3;margin-top:1px;font-size:11px}.app-shell>.notice{z-index:15;border-radius:10px;margin:8px 18px 0;font-size:13px}.app-shell .workspace{flex:auto;grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(330px,21vw,410px) minmax(500px,1fr) clamp(390px,25vw,500px);gap:12px;width:100%;max-width:none;height:auto;min-height:0;padding:12px 16px 16px;overflow:hidden}.app-shell .panel{border:1px solid var(--studio-line);min-height:0;box-shadow:var(--studio-shadow);background:#fff;border-radius:16px}.app-shell .left-panel,.app-shell .right-panel{scrollbar-width:thin;scrollbar-color:#c8d1e1 transparent;max-height:none;padding:17px;position:static;overflow-y:auto}.app-shell .left-panel{grid-area:1/1}.app-shell .right-panel{grid-area:1/3;padding-bottom:14px}.app-shell .canvas-panel{grid-area:1/2;grid-template-rows:52px minmax(220px,1fr) auto auto auto;min-width:0;display:grid;overflow:hidden}.app-shell .panel-heading{border-color:#edf0f5;gap:11px;margin-bottom:13px;padding-bottom:13px}.app-shell .section-badge{color:#315eea;background:#f4f7ff;border:1px solid #d8e2ff;border-radius:8px;flex:none;place-items:center;min-width:38px;height:28px;padding:0 9px;font-size:12px;font-weight:800;display:inline-grid}.app-shell .panel-heading h2{font-size:17px;font-weight:750}.app-shell .panel-heading p{color:#8a94a6;margin-top:4px;font-size:12px}.app-shell .upload-zone{color:#475467;background:#f8faff;border:1px dashed #bcc9df;border-radius:12px;min-height:118px}.app-shell .upload-zone:hover{background:#f3f6ff;border-color:#6b8af5}.app-shell .upload-zone .upload-icon{color:#3568f4;background:#fff;border-color:#b7c6ec;width:36px;height:36px;margin-bottom:7px}.app-shell .upload-zone b{font-size:14px}.app-shell .upload-zone small{color:#8a94a6;font-size:11px}.app-shell .upload-zone.has-file{height:104px;min-height:104px;padding:7px 74px 7px 10px}.app-shell .upload-zone.has-file img{background:#eef2f8;border-radius:8px;width:150px;height:88px}.app-shell .replace-label{border-radius:7px;padding:6px 9px;font-size:11px;bottom:10px;right:10px}.app-shell .route-card{background:#f7f9fd;border-color:#dce5f4;border-radius:11px;margin:11px 0;padding:11px}.app-shell .route-title small,.app-shell .route-card p{font-size:12px}.app-shell .route-title b{font-size:13px}.app-shell .left-config-card{border:1px solid var(--studio-line);background:#fff;border-radius:13px;margin-top:11px;padding:14px}.app-shell .left-config-card fieldset{border:0;border-bottom:1px solid #edf0f5;min-width:0;margin:0 0 14px;padding:0 0 14px}.app-shell .left-config-card fieldset:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.app-shell .left-config-card legend{color:#25314a;width:100%;margin-bottom:9px;padding:0;font-size:14px;font-weight:750}.app-shell .left-config-card legend:has(output){justify-content:space-between;display:flex}.app-shell .left-config-card legend output{color:#3568f4;font-size:12px}.app-shell .segmented{background:#f6f8fc;border-color:#e1e7f0;border-radius:10px;gap:5px;padding:4px}.app-shell .segmented button{color:#59657a;border-radius:7px;min-height:39px;padding:0 6px;font-size:13px;font-weight:650}.app-shell .segmented button.active{color:#315eea;background:#fff;border:1px solid #7692f7;box-shadow:0 4px 12px #3568f41a}.app-shell .toggle-row{border-color:#edf0f5;margin:0 0 14px;padding:0 0 14px}.app-shell .toggle-row b{color:#25314a;font-size:14px}.app-shell .toggle-row small{color:#8a94a6;font-size:12px}.app-shell .toggle-row i{width:42px;height:24px}.app-shell .toggle-row i:after{width:20px;height:20px}.app-shell .toggle-row input:checked+i:after{transform:translate(18px)}.app-shell .advanced-settings{border-color:#edf0f5;margin:0 0 14px;padding:0 0 14px}.app-shell .advanced-settings summary{color:#344054;font-size:14px;font-weight:750}.app-shell .target-card{background:#f9faff;border:1px solid #e1e7f0;border-radius:10px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:9px 11px;display:grid}.app-shell .target-card>span{color:#526079;font-size:19px}.app-shell .target-card>b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.app-shell .target-card>button{color:#3568f4;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:700}.app-shell .target-chips button{color:#59657a;border-color:#dce4f1;padding:5px 8px;font-size:11px}.app-shell .required-flow{background:#f3f7ff;border-color:#cfe1ff;border-radius:10px;padding:11px}.app-shell .required-flow b{color:#285be8;font-size:13px}.app-shell .required-flow span,.app-shell .required-flow i{font-size:11px}.app-shell .count-buttons{gap:7px}.app-shell .count-buttons button{color:#59657a;border-color:#dfe5ef;border-radius:8px;height:38px;font-size:13px;font-weight:700}.app-shell .count-buttons button.active{color:#315eea;background:#f4f7ff;border-color:#6f8ff8;box-shadow:0 0 0 1px #3568f414}.app-shell .section-block{border:1px solid var(--studio-line);background:#fafbfe;border-radius:12px;margin-top:12px;padding:12px}.app-shell .section-label{margin-bottom:7px}.app-shell .section-label span,.app-shell .section-label small{font-size:12px}.app-shell .process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px;margin-bottom:8px;display:grid}.app-shell .process-list li{min-height:25px;font-size:11px}.app-shell .process-list li:after{display:none}.app-shell .auto-analysis-hint{font-size:11px}.app-shell .canvas-toolbar{background:#fff;border-color:#edf0f5;padding:0 16px}.app-shell .workspace-title{gap:9px}.app-shell .workspace-title b{color:#25314a;font-size:15px}.app-shell .view-switch button{color:#7b8496;padding:0 13px;font-size:12px;font-weight:650}.app-shell .view-switch button.active{color:#315eea}.app-shell .canvas-meta{color:#8a94a6;font-size:11px}.app-shell .image-stage{background-color:#f0f3f8;background-image:linear-gradient(45deg,#ffffff8c 25%,#0000 25%),linear-gradient(-45deg,#ffffff8c 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff8c 75%),linear-gradient(-45deg,#0000 75%,#ffffff8c 75%);background-position:0 0,0 12px,12px -12px,-12px 0;background-size:24px 24px;width:100%;height:100%;min-height:0;padding:14px}.app-shell .main-image{object-fit:contain;object-position:center;border-radius:6px;width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:0 14px 38px #232f4c29}.app-shell .mask-overlay{object-fit:contain;width:calc(100% - 28px);max-width:none;height:calc(100% - 28px);max-height:none;inset:14px}.app-shell .empty-canvas>span{color:#8393b1;font-size:42px}.app-shell .empty-canvas h2{color:#25314a;margin-top:10px;font-size:20px}.app-shell .empty-canvas p{color:#7b8496;font-size:13px}.app-shell .center-palette-card{background:#fff;border-top:1px solid #edf0f5;width:100%;min-width:0;padding:12px 15px 13px;overflow:hidden}.app-shell .center-palette-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.app-shell .center-palette-title h3{color:#25314a;margin:0;font-size:14px}.app-shell .center-palette-title small{color:#8a94a6;text-overflow:ellipsis;white-space:nowrap;max-width:480px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.app-shell .center-palette-toolbar{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.app-shell .center-palette-toolbar span{color:#7b8496;white-space:nowrap;font-size:11px}.app-shell .center-palette-toolbar button{color:#315eea;cursor:pointer;background:#f5f7ff;border:1px solid #b9c8fc;border-radius:7px;min-height:30px;padding:0 10px;font-size:11px;font-weight:700}.app-shell .center-palette-toolbar button:hover{background:#edf2ff;border-color:#7591f7}.app-shell .center-palette-toolbar .favorite-palette{color:#8a5a00;background:#fff8e8;border-color:#f0c670}.app-shell .center-palette-toolbar .favorite-palette:hover,.app-shell .center-palette-toolbar .favorite-palette.active{color:#6f4600;background:#fff1c7;border-color:#d99a12}.app-shell .center-palette-toolbar button:disabled{color:#a8b0bf;cursor:not-allowed;background:#f7f8fa;border-color:#e1e5ec}.app-shell .center-palette-hint{color:#697386;margin:-4px 0 8px;font-size:11px;line-height:1.4}.app-shell .center-palette-colors{scrollbar-width:thin;grid-template-columns:none;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:8px;width:100%;min-width:0;padding:1px 1px 4px;display:grid;overflow-x:auto}.app-shell .center-color-card{background:#fff;border:1px solid #e3e8f1;border-radius:10px;min-width:150px;transition:border-color .18s,box-shadow .18s;overflow:hidden}.app-shell .center-color-card:hover,.app-shell .center-color-card.active{border-color:#7591f7;box-shadow:0 4px 13px #3568f41a}.app-shell .center-color-select{text-align:left;cursor:pointer;background:#fff;border:0;grid-template-rows:17px 20px 16px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:0 8px;width:100%;min-width:0;padding:8px;display:grid}.app-shell .center-color-select>span{border:1px solid #10182814;border-radius:7px;grid-row:1/span 3;width:32px;height:42px}.app-shell .center-color-select small,.app-shell .center-color-select b,.app-shell .center-color-select em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .center-color-select small{color:#697386;font-size:10px}.app-shell .center-color-select b{color:#25314a;font-size:12px}.app-shell .center-color-select em{color:#8a94a6;font-size:10px;font-style:normal}.app-shell .center-color-actions{background:#fafbfe;border-top:1px solid #edf0f5;grid-template-columns:repeat(3,1fr);height:27px;display:grid}.app-shell .center-color-actions label,.app-shell .center-color-actions button{color:#7b8496;cursor:pointer;background:0 0;border:0;place-items:center;min-width:0;margin:0;padding:0;font-size:10px;display:grid}.app-shell .center-color-actions label{border-right:1px solid #edf0f5;position:relative}.app-shell .center-color-actions button{border-right:1px solid #edf0f5}.app-shell .center-color-actions button:last-child{border-right:0}.app-shell .center-color-actions input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.app-shell .center-color-actions button.locked{color:#315eea;background:#f1f5ff}.app-shell .center-color-actions button.delete-color{color:#9a5a55}.app-shell .center-color-actions button.delete-color:hover:not(:disabled){color:#b42318;background:#fff1f0}.app-shell .center-color-actions button.delete-color:disabled{color:#c6cbd4;cursor:not-allowed}.app-shell .mask-toolbar{background:#f7f9fd;border-color:#e2e8f2;min-height:46px;padding:7px 12px}.app-shell .mask-toolbar b,.app-shell .mask-toolbar button,.app-shell .mask-toolbar span{font-size:11px}.app-shell .result-dock{background:#fbfcfe;border-color:#edf0f5;padding:9px 13px}.app-shell .result-dock.is-empty .result-row{height:30px}.app-shell .result-dock.is-empty .empty-results{color:#98a2b3;border-color:#dce3ef;min-height:30px;font-size:11px}.app-shell .result-dock.has-results .result-row{height:140px}.app-shell .dock-title b,.app-shell .dock-title small{font-size:11px}.app-shell .right-panel fieldset{border-color:#edf0f5;margin:0 0 13px;padding:0 0 13px}.app-shell .right-panel legend{color:#25314a;margin-bottom:10px;font-size:14px}.app-shell .right-panel legend small{color:#8a94a6;font-size:11px}.app-shell .recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:244px;display:grid;overflow-y:auto;padding-right:3px!important}.app-shell .recommendation-grid legend{grid-column:1/-1}.app-shell .palette-card{border-color:#e0e6f0;border-radius:10px;gap:4px;min-width:0;margin:0;padding:9px}.app-shell .palette-card:hover,.app-shell .palette-card.active{border-color:#6f8ff8;box-shadow:0 0 0 1px #3568f414,0 5px 13px #3568f413}.app-shell .palette-card .palette-strip{border-radius:6px;height:25px}.app-shell .palette-card b{font-size:12px}.app-shell .palette-card small,.app-shell .palette-card em{font-size:10px}.app-shell .single-color-library{padding-bottom:13px!important}.app-shell .right-panel .text-input{color:#344054;background:#fbfcfe;border-color:#dfe5ef;border-radius:9px;height:40px;font-size:12px}.app-shell .color-library-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-height:168px}.app-shell .color-library-grid button{border-radius:7px;height:37px}.app-shell .color-library-grid span{padding:3px 2px;font-size:8px}.app-shell .library-hint,.app-shell .image-palette-tools p{color:#7b8496;font-size:11px}.app-shell .palette-tool-row{gap:8px}.app-shell .palette-tool-row .secondary-button{color:#526079;border-style:dashed;border-color:#bfcbe0;border-radius:9px;min-height:42px;font-size:12px}.app-shell .action-stack{z-index:4;background:linear-gradient(#ffffffad,#fff 25%);grid-template-columns:minmax(118px,.75fr) minmax(190px,1.25fr);gap:9px;margin:0 -2px -14px;padding:10px 2px 14px;position:sticky;bottom:-14px}.app-shell .action-stack .primary-button,.app-shell .action-stack .secondary-button{border-radius:11px;min-height:54px;font-size:14px}.app-shell .action-stack .primary-button{background:linear-gradient(100deg,#2d64f4,#7841ee);box-shadow:0 10px 22px #5247eb38}.app-shell .action-stack>small{color:#8a94a6;grid-column:1/-1;font-size:10px}.app-shell button:focus-visible,.app-shell a:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell summary:focus-visible{outline-offset:2px;outline:3px solid #3568f438}@media (max-width:1500px) and (min-width:1101px){.app-shell>.topbar{grid-template-columns:250px minmax(440px,1fr) 265px;padding:0 18px}.app-shell .brand small{display:none}.app-shell .workspace{grid-template-columns:minmax(290px,330px) minmax(440px,1fr) minmax(350px,400px)}.app-shell .context-bar>p{display:none}.app-shell .color-library-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width:1100px) and (min-width:901px){.app-shell>.topbar{grid-template-columns:230px minmax(390px,1fr) 220px;gap:8px;padding:0 12px}.app-shell .brand b{font-size:17px}.app-shell .brand small{display:none}.app-shell .mode-tabs button{padding:0 8px}.app-shell .mode-tabs span{font-size:13px}.app-shell .top-actions .ghost-button{padding:0 9px;font-size:12px}.app-shell .workspace{grid-template-columns:280px minmax(390px,1fr) 330px;padding-inline:8px}.app-shell .context-bar>p{display:none}.app-shell .center-palette-colors{grid-template-columns:none}}@media (max-width:900px){html,body{height:auto;overflow:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.app-shell>.topbar{grid-template-rows:64px 52px;grid-template-columns:1fr auto;height:auto;min-height:116px;padding:0 12px}.app-shell .brand small{display:none}.app-shell .mode-tabs{grid-area:2/1/auto/-1;height:52px}.app-shell .mode-tabs button{height:52px;padding:0 7px}.app-shell .mode-tabs span{font-size:13px}.app-shell>.context-bar{display:none}.app-shell .workspace{grid-template-rows:auto;grid-template-columns:1fr;height:auto;padding:10px;overflow:visible}.app-shell .left-panel,.app-shell .right-panel,.app-shell .canvas-panel{grid-column:1;max-height:none;overflow:visible}.app-shell .canvas-panel{grid-row:1;min-height:720px}.app-shell .left-panel{grid-row:2}.app-shell .right-panel{grid-row:3}}@media (max-width:560px){.app-shell>.topbar{grid-template-columns:1fr auto}.app-shell .brand-mark,.app-shell .brand-mark img{width:36px}.app-shell .brand b{font-size:16px}.app-shell .top-actions .ghost-button:first-child{display:none}.app-shell .mode-tabs span{font-size:11px}.app-shell .center-palette-colors,.app-shell .recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .center-palette-colors{grid-auto-columns:auto;grid-auto-flow:row;overflow-x:visible}.app-shell .center-color-card{min-width:0}.app-shell .action-stack{grid-template-columns:1fr}.app-shell .action-stack>small{grid-column:1}}.app-shell .center-color-card.drag-over{background:#eef3ff;border-color:#315eea;box-shadow:0 0 0 3px #3568f424,0 10px 22px #3568f429}.app-shell .center-color-card.drag-over .center-color-select,.app-shell .center-color-card.drag-over .center-color-actions{background:#f4f7ff}.app-shell .center-color-card.drag-over:after{content:"松开应用到此角色";color:#315eea;text-align:center;background:#eef3ff;border-top:1px dashed #9eb1f7;padding:5px 7px;font-size:10px;font-weight:750;display:block}.app-shell .tool-description{color:#7b8496;margin:-3px 0 9px;font-size:11px;line-height:1.55}.app-shell .library-count-button{color:#667085;cursor:pointer;background:#fff;border:1px solid #d9e1ee;border-radius:7px;min-height:26px;padding:0 9px;font-size:10px;font-weight:700}.app-shell .library-count-button:hover,.app-shell .library-count-button.active{color:#315eea;background:#f1f5ff;border-color:#9eb1f7}.app-shell .professional-card-library .color-search{margin-bottom:9px}.app-shell .color-library-filters{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:8px;display:grid}.app-shell .color-library-filters label{gap:5px;min-width:0;display:grid}.app-shell .color-library-filters label>span{color:#667085;font-size:10px;font-weight:700}.app-shell .color-library-filters select{color:#344054;background-color:#fbfcfe;border-color:#dfe5ef;border-radius:8px;height:36px;padding:0 29px 0 9px;font-size:11px}.app-shell .library-result-count{color:#8a94a6;justify-content:space-between;align-items:center;gap:8px;min-height:28px;font-size:10px;display:flex}.app-shell .library-result-count b{color:#315eea;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.app-shell .professional-color-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c8d1e1 transparent;gap:6px;max-height:258px;padding:2px 3px 2px 1px;display:grid;overflow-y:auto}.app-shell .professional-color-item{cursor:grab;background:#fff;border:1px solid #e2e8f2;border-radius:10px;grid-template-columns:minmax(0,1fr) 32px 18px;align-items:center;gap:4px;min-width:0;min-height:62px;padding:5px 5px 5px 6px;transition:border-color .16s,background .16s,box-shadow .16s,opacity .16s;display:grid}.app-shell .professional-color-item:hover{background:#fbfcff;border-color:#aebcf0;box-shadow:0 4px 12px #3568f412}.app-shell .professional-color-item.dragging{opacity:.52;cursor:grabbing}.app-shell .professional-color-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:45px minmax(0,1fr);align-items:center;gap:9px;padding:0;display:grid}.app-shell .professional-color-swatch{border:1px solid #1018281a;border-radius:8px;width:45px;height:45px;box-shadow:inset 0 0 0 1px #ffffff26}.app-shell .professional-color-copy{gap:2px;min-width:0;display:grid}.app-shell .professional-color-copy b,.app-shell .professional-color-copy small,.app-shell .professional-color-copy em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .professional-color-copy b{color:#25314a;font-size:12px}.app-shell .professional-color-copy small{color:#59657a;font-size:10px}.app-shell .professional-color-copy em{color:#98a2b3;font-size:9px;font-style:normal}.app-shell .favorite-color-button{color:#98a2b3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;font-size:18px;display:grid}.app-shell .favorite-color-button:hover,.app-shell .favorite-color-button.active{color:#f1a72b;background:#fff9ea;border-color:#f5dfb1}.app-shell .drag-handle{color:#a7b0c0;letter-spacing:-4px;-webkit-user-select:none;user-select:none;font-size:15px}.app-shell .empty-color-library{color:#8a94a6;text-align:center;background:#fbfcfe;border:1px dashed #d9e1ee;border-radius:9px;padding:22px 12px;font-size:11px}.app-shell .color-tool-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.app-shell .color-tool-header>div{align-items:center;gap:8px;min-width:0;display:flex}.app-shell .current-color-dot{border:1px solid #1018281f;border-radius:9px;flex:0 0 34px;width:34px;height:34px}.app-shell .color-tool-header>div>span:last-child{min-width:0;display:grid}.app-shell .color-tool-header b{color:#25314a;font-size:12px}.app-shell .color-tool-header small{color:#7b8496;font-size:10px}.app-shell .screen-eyedropper-button{color:#315eea;cursor:pointer;background:#f7f9ff;border:1px solid #cbd6ec;border-radius:8px;min-height:34px;padding:0 10px;font-size:11px;font-weight:700}.app-shell .screen-eyedropper-button:hover{background:#eef3ff;border-color:#8ca2f6}.app-shell .color-value-row{grid-template-columns:74px minmax(0,1fr) 96px;gap:7px;display:grid}.app-shell .color-value-row select,.app-shell .color-value-row .text-input,.app-shell .color-value-row .primary-button{border-radius:8px;min-width:0;height:40px;min-height:40px;font-size:11px}.app-shell .color-value-row select{border-color:#dfe5ef;padding-inline:9px}.app-shell .color-value-row .primary-button{padding-inline:8px}.app-shell .color-value-row .text-input.invalid{background:#fff8f8;border-color:#e45d68}.app-shell .color-input-error{color:#c73543;margin:6px 0 0;font-size:10px}.app-shell .color-current-card{background:#fbfcfe;border:1px solid #e2e8f2;border-radius:10px;grid-template-columns:86px minmax(0,1fr);gap:9px;min-width:0;margin-top:9px;padding:8px;display:grid}.app-shell .color-current-preview{border:1px solid #10182814;border-radius:8px;place-items:end start;min-height:88px;padding:7px;display:grid}.app-shell .color-current-preview span{font-size:9px;font-weight:750}.app-shell .color-detail-lines{align-content:center;gap:3px;min-width:0;display:grid}.app-shell .color-detail-lines span{color:#59657a;grid-template-columns:36px minmax(0,1fr);gap:4px;min-width:0;font-size:9px;line-height:1.35;display:grid}.app-shell .color-detail-lines b{color:#25314a;font-size:9px}.app-shell .image-color-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px;display:grid}.app-shell .image-color-actions .secondary-button{color:#526079;border-style:dashed;border-color:#bfcbe0;border-radius:8px;min-height:40px;padding:0 8px;font-size:11px}.app-shell .extracted-distribution{background:#edf0f5;border:1px solid #1018281a;border-radius:999px;height:15px;margin:8px 0;display:flex;overflow:hidden}.app-shell .extracted-distribution span{flex-basis:0;min-width:0}.app-shell .extracted-color-palette{gap:5px;display:grid}.app-shell .extracted-color-palette button{color:#59657a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f2;border-radius:8px;grid-template-columns:28px 43px 62px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:38px;padding:4px 7px;display:grid}.app-shell .extracted-color-palette button:hover{background:#f8faff;border-color:#9eb1f7}.app-shell .extracted-color-palette button>span{border:1px solid #1018281a;border-radius:7px;width:28px;height:28px}.app-shell .extracted-color-palette b{color:#25314a;font-size:10px}.app-shell .extracted-color-palette small{font-size:9px}.app-shell .extracted-color-palette em{color:#7b8496;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;font-style:normal;overflow:hidden}.app-shell .compact-empty-state{color:#8a94a6;text-align:center;background:#fbfcfe;border:1px dashed #d9e1ee;border-radius:8px;margin:7px 0 0;padding:9px 10px;font-size:10px}.app-shell .similar-color-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.app-shell .similar-color-grid button{color:#59657a;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f2;border-radius:8px;gap:3px;min-width:0;padding:6px;display:grid}.app-shell .similar-color-grid button:hover{background:#f8faff;border-color:#9eb1f7}.app-shell .similar-color-grid button>span{border:1px solid #1018281a;border-radius:6px;width:100%;height:30px}.app-shell .similar-color-grid b,.app-shell .similar-color-grid small,.app-shell .similar-color-grid em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell .similar-color-grid b{color:#25314a;font-size:10px}.app-shell .similar-color-grid small{font-size:8px}.app-shell .similar-color-grid em{color:#315eea;font-size:9px;font-style:normal;font-weight:700}@media (max-width:1500px) and (min-width:901px){.app-shell .professional-color-list{max-height:225px}.app-shell .color-value-row{grid-template-columns:68px minmax(0,1fr)}.app-shell .color-value-row .primary-button{grid-column:1/-1}.app-shell .similar-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.app-shell .color-library-filters,.app-shell .image-color-actions,.app-shell .color-current-card{grid-template-columns:1fr}.app-shell .color-value-row{grid-template-columns:72px minmax(0,1fr)}.app-shell .color-value-row .primary-button{grid-column:1/-1}.app-shell .similar-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell>.topbar{flex-basis:64px;grid-template-columns:minmax(250px,310px) minmax(420px,610px) minmax(240px,310px);height:64px;min-height:64px}.app-shell .mode-tabs,.app-shell .mode-tabs button{height:64px}.app-shell .workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(350px,23vw,430px) minmax(0,1fr);gap:14px;width:100%;max-width:none;height:auto;min-height:0;padding:14px 18px 18px;overflow:hidden}.app-shell .left-panel{grid-area:1/1;min-height:0;max-height:none;padding:20px;position:static;overflow-y:auto}.app-shell .canvas-panel{grid-area:1/2;grid-template-rows:50px minmax(0,1fr) auto auto;min-width:0;height:100%;min-height:0;overflow:hidden}.app-shell>.disclaimer{display:none}.app-shell .tool-modal-backdrop .palette-workbench-modal.right-panel{grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1120px,100vw - 48px);height:min(820px,100vh - 48px);max-height:none;padding:0;display:grid;position:static;overflow:hidden}@media (max-width:1050px) and (min-width:821px){.app-shell>.topbar{grid-template-columns:minmax(230px,280px) minmax(360px,1fr) auto;gap:8px;padding-inline:14px}.app-shell .workspace{grid-template-columns:340px minmax(0,1fr);padding-inline:10px}.app-shell .left-panel{padding:16px}}@media (max-width:820px){.app-shell{height:auto;min-height:100vh;overflow:auto}.app-shell .workspace{grid-template-rows:auto minmax(620px,70vh);grid-template-columns:1fr;height:auto;overflow:visible}.app-shell .left-panel,.app-shell .canvas-panel{grid-column:1;position:static}.app-shell .left-panel{grid-row:1;overflow:visible}.app-shell .canvas-panel{grid-row:2;min-height:620px}}.app-shell{height:100vh;min-height:0;overflow:hidden}.app-shell>.topbar{grid-template-columns:minmax(250px,360px) minmax(0,1fr)}.app-shell .top-actions{grid-column:2;justify-self:end}.app-shell .workspace{grid-template-columns:clamp(340px,23vw,430px) minmax(0,1fr);height:calc(100vh - 64px);padding:12px 16px 16px}.app-shell .left-panel,.app-shell .canvas-panel{max-height:100%}.app-shell .upload-zone{min-height:92px}.app-shell .left-config-card{gap:12px;display:grid}.app-shell .pattern-batch-card,.app-shell .product-simple-card{gap:10px;display:grid}.app-shell .pattern-batch-card{background:#f7faff;border:1px solid #dce5f4;border-radius:11px;padding:11px}.app-shell .pattern-batch-card>div,.app-shell .pattern-batch-card b,.app-shell .pattern-batch-card small{display:block}.app-shell .pattern-batch-card b{color:#25314a;font-size:14px}.app-shell .pattern-batch-card small{color:#73809a;margin-top:3px;font-size:12px}.app-shell .pattern-batch-card button{color:#315eea;cursor:pointer;background:#fff;border:1px solid #c9d6fb;border-radius:9px;min-height:40px;font-weight:750}.app-shell .product-selected-color{background:#fff}.app-shell .canvas-panel{grid-template-rows:50px minmax(0,1fr) auto auto}.app-shell .main-image,.app-shell .mask-overlay{width:auto;max-width:calc(100% - 32px);height:auto;max-height:calc(100% - 32px)}.app-shell .mask-status-strip{background:#fbfcfe;border-top:1px solid #e5ebf3;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:8px 14px;display:flex}.app-shell .mask-status-strip b,.app-shell .mask-status-strip span{align-items:center;display:inline-flex}.app-shell .mask-status-strip b{color:#25314a;font-size:13px}.app-shell .mask-status-strip span{border-radius:999px;margin-left:8px;padding:2px 7px;font-size:12px}.app-shell .mask-status-strip span.pending{color:#92400e;background:#fffbeb}.app-shell .mask-status-strip span.confirmed{color:#0f766e;background:#ccfbf1}.app-shell .mask-status-strip button{color:#315eea;cursor:pointer;background:#fff;border:1px solid #c9d6fb;border-radius:8px;min-height:32px;font-size:12px;font-weight:750}.app-shell .selection-workbench-modal{background:#fff;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1220px,100vw - 44px);height:min(840px,100vh - 44px);display:grid;overflow:hidden;box-shadow:0 30px 90px #141d2f3d}.app-shell .selection-workbench-body{background:#f7f9fd;grid-template-columns:minmax(330px,390px) minmax(0,1fr);gap:14px;min-height:0;padding:16px;display:grid}.app-shell .selection-control-panel{background:#fff;border:1px solid #e2e8f2;border-radius:14px;min-height:0;padding:14px;overflow-y:auto}.app-shell .selection-control-panel fieldset{border:0;border-bottom:1px solid #edf0f5;min-width:0;margin:0 0 14px;padding:0 0 14px}.app-shell .selection-control-panel fieldset:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.app-shell .selection-control-panel legend{color:#25314a;justify-content:space-between;gap:8px;width:100%;margin-bottom:9px;font-size:14px;font-weight:750;display:flex}.app-shell .selection-control-panel legend small{color:#73809a;font-size:12px;font-weight:500}.app-shell .selection-action-row{grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;display:grid}.app-shell .sam-runtime-card{background:#f8fbff;border:1px solid #dbe6f4;border-radius:10px;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:9px;padding:9px 10px;display:grid}.app-shell .sam-runtime-card.ready{background:#f1fbf6;border-color:#bfe8d4}.app-shell .sam-runtime-card.unreachable,.app-shell .sam-runtime-card.not_configured{background:#fff5f3;border-color:#ffc8bf}.app-shell .sam-runtime-card.checking{background:#f6f8ff;border-color:#c9d6fb}.app-shell .sam-runtime-card.unreachable .status-led,.app-shell .sam-runtime-card.not_configured .status-led{background:#e5483f}.app-shell .sam-runtime-card b,.app-shell .sam-runtime-card small{display:block}.app-shell .sam-runtime-card b{color:#25314a;font-size:13px}.app-shell .sam-runtime-card small{color:#6b7893;margin-top:2px;font-size:12px;line-height:1.4}.app-shell .sam-startup-help{color:#475569;background:#fffaf8;border:1px dashed #f3b0a6;border-radius:10px;margin-top:8px;padding:10px}.app-shell .sam-endpoint-grid{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:6px 8px;display:grid}.app-shell .sam-endpoint-grid span{color:#7f1d1d;font-size:12px;font-weight:750}.app-shell .sam-startup-help code{color:#243047;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:7px;min-width:0;padding:5px 7px;font:600 11px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block;overflow:hidden}.app-shell .sam-command-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px;display:grid}.app-shell .sam-startup-help small{color:#7c879a;margin-top:7px;font-size:12px;line-height:1.45;display:block}.app-shell .selection-speed-hint{color:#73809a;margin:8px 0 0;font-size:12px;line-height:1.45}.app-shell .selection-preview-panel{background:#fff;border:1px solid #e2e8f2;border-radius:14px;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.app-shell .selection-preview-stage{touch-action:none;cursor:crosshair;background-color:#edf2f7;background-image:linear-gradient(45deg,#ffffff80 25%,#0000 25%),linear-gradient(-45deg,#ffffff80 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#ffffff80 75%),linear-gradient(-45deg,#0000 75%,#ffffff80 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.app-shell .selection-preview-stage .main-image,.app-shell .selection-preview-stage .mask-overlay{object-fit:contain;object-position:center center;width:calc(100% - 24px);max-width:none;height:calc(100% - 24px);max-height:none;position:absolute;inset:12px}.app-shell .selection-preview-stage .main-image{z-index:1}.app-shell .selection-preview-stage .mask-overlay{z-index:2}.app-shell .selection-preview-stage .mask-point{z-index:3}.app-shell .selection-busy-toast{z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#ffffffeb;border:1px solid #b8c5d8b8;border-radius:14px;align-items:center;gap:10px;max-width:min(520px,100% - 28px);padding:12px 16px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 16px 44px #27364e24}.app-shell .selection-busy-toast .spinner{flex:none;width:22px;height:22px;margin:0}.app-shell .selection-busy-toast b,.app-shell .selection-busy-toast small{display:block}.app-shell .selection-busy-toast b{color:#1f2a44;font-size:15px;line-height:1.25}.app-shell .selection-busy-toast small{color:#7a8598;margin-top:2px;font-size:12px}.app-shell .selection-mask-toolbar{border-bottom:0}.app-shell .palette-workbench-modal .palette-card{align-content:start;gap:9px;display:grid}.app-shell .palette-card-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:7px;padding:0;display:grid}.app-shell .palette-card-batch{color:#526079;cursor:pointer;background:#fff;border:1px solid #d5deef;border-radius:8px;min-height:34px;font-size:12px;font-weight:750}.app-shell .palette-card-batch.active{color:#fff;background:#315eea;border-color:#315eea}@media (max-width:900px){.app-shell{height:auto;min-height:100vh;overflow:auto}.app-shell .workspace,.app-shell .selection-workbench-body{grid-template-columns:1fr;height:auto}.app-shell .selection-workbench-modal{height:min(900px,100vh - 24px)}}.app-shell .left-panel{padding:16px}.app-shell .operation-header{margin-bottom:12px}.app-shell .operation-progress{margin-bottom:12px;padding:7px}.app-shell .operation-section-title{margin-bottom:6px}.app-shell .upload-zone{min-height:82px;margin-bottom:10px}.app-shell .upload-zone.has-file{height:72px;min-height:72px}.app-shell .upload-zone.has-file img{height:60px}.app-shell .route-card{margin-bottom:10px;padding:9px 10px}.app-shell .compact-palette-card{margin-bottom:10px;padding:10px}.app-shell .compact-palette-heading{margin-bottom:7px}.app-shell .compact-palette-strip{height:30px}.app-shell .left-config-card{gap:10px;padding:12px}.app-shell .left-config-card fieldset{margin-bottom:10px;padding-bottom:10px}.app-shell .left-config-card .toggle-row{min-height:34px}.app-shell .pattern-batch-card{padding:9px 10px}.app-shell .selected-color{padding:8px}.app-shell .target-selection-summary{min-height:39px;padding:7px 9px}.app-shell .operation-status-card{margin-top:10px;padding:9px 10px}.app-shell .operation-actions{margin-top:10px}.app-shell .operation-actions button{min-height:44px}.app-shell .color-story-trigger{grid-column:1/-1}.app-shell .color-story-modal{background:#fff;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(980px,100vw - 40px);max-height:min(780px,100vh - 40px);display:grid;overflow:hidden;box-shadow:0 30px 90px #141d2f3d}.app-shell .color-story-body{background:#f7f9fd;grid-template-columns:330px minmax(0,1fr);gap:14px;min-height:0;padding:16px;display:grid}.app-shell .color-story-form,.app-shell .color-story-result{background:#fff;border:1px solid #e2e8f2;border-radius:14px;min-height:0}.app-shell .color-story-form{align-content:start;gap:11px;padding:14px;display:grid}.app-shell .color-story-form label{gap:6px;display:grid}.app-shell .color-story-form label>span,.app-shell .color-story-formats legend{color:#25314a;font-size:13px;font-weight:750}.app-shell .color-story-review-toggle{background:#fbfcfe;border:1px solid #edf0f5;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:10px}.app-shell .color-story-review-toggle input{accent-color:#315eea;width:18px;height:18px}.app-shell .color-story-review-toggle b,.app-shell .color-story-review-toggle small{display:block}.app-shell .color-story-review-toggle small{color:#73809a;margin-top:2px;font-size:12px;font-weight:500;line-height:1.4}.app-shell .color-story-formats{border:0;grid-template-columns:repeat(4,1fr);gap:7px;margin:0;padding:0;display:grid}.app-shell .color-story-formats legend{grid-column:1/-1}.app-shell .color-story-formats button{color:#526079;cursor:pointer;background:#fff;border:1px solid #d5deef;border-radius:8px;min-height:36px;font-size:12px;font-weight:750}.app-shell .color-story-formats button.active{color:#fff;background:#315eea;border-color:#315eea}.app-shell .color-story-result{align-content:start;gap:13px;padding:16px;display:grid;overflow-y:auto}.app-shell .color-story-status{color:#0f766e;background:#edf7f6;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.app-shell .color-story-status.insufficient_evidence,.app-shell .color-story-status.analysis_unavailable{color:#92400e;background:#fffbeb}.app-shell .color-story-status b{font-size:15px}.app-shell .color-story-status span,.app-shell .color-story-result p,.app-shell .color-story-notes,.app-shell .color-story-sources{color:#667085;font-size:13px;line-height:1.55}.app-shell .color-story-result p{margin:0}.app-shell .color-story-mini-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;height:62px;display:grid}.app-shell .color-story-mini-palette span{border:1px solid #00000014;border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff42}.app-shell .color-story-notes{margin:0;padding-left:18px}.app-shell .color-story-downloads{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.app-shell .color-story-downloads a{color:#315eea;background:#fff;border:1px solid #c9d6fb;border-radius:10px;place-items:center;gap:3px;min-height:58px;font-size:13px;font-weight:800;text-decoration:none;display:grid}.app-shell .color-story-downloads small{color:#73809a;font-size:11px;font-weight:600}.app-shell .color-story-sources{flex-wrap:wrap;gap:8px;display:flex}.app-shell .color-story-sources b{color:#25314a;width:100%}.app-shell .color-story-sources a{color:#315eea;text-overflow:ellipsis;white-space:nowrap;background:#eef3ff;border-radius:999px;max-width:100%;padding:5px 8px;text-decoration:none;overflow:hidden}.app-shell .color-story-empty,.app-shell .color-story-loading{color:#73809a;text-align:center;align-content:center;place-items:center;gap:8px;min-height:300px;display:grid}.app-shell .color-story-empty span{color:#b8c4d6;font-size:42px}.app-shell .color-story-empty b,.app-shell .color-story-loading b{color:#25314a;font-size:16px}.app-shell .color-story-empty small,.app-shell .color-story-loading small{max-width:360px;line-height:1.55}.app-shell .selection-workbench-modal{width:min(1200px,100vw - 28px);height:min(760px,100dvh - 24px)}.app-shell .selection-workbench-modal .tool-modal-header h2{font-size:21px}.app-shell .selection-workbench-modal .tool-modal-header p{margin-top:4px;font-size:12px}.app-shell .selection-control-panel{padding:12px}.app-shell .range-inline-row{background:#f8fbff;border:1px solid #e5ebf5;border-radius:10px;gap:7px;margin-top:8px;padding:8px;display:grid}.app-shell .range-inline-row>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.app-shell .range-inline-row b{color:#25314a;font-size:12px}.app-shell .range-inline-row small{color:#73809a;font-size:10px}.app-shell .range-inline-row .segmented button{min-height:32px}.app-shell .selection-action-row{gap:7px;margin-top:8px}.app-shell .selection-action-row button{min-height:38px}.app-shell .sam-runtime-card{border-radius:10px;margin-top:8px;padding:7px 8px}.app-shell .sam-runtime-card b{font-size:12px}.app-shell .sam-runtime-card small{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:1px;font-size:11px;display:-webkit-box;overflow:hidden}.app-shell .sam-startup-help{margin-top:7px;padding:0;overflow:hidden}.app-shell .sam-startup-help summary{color:#8a3f18;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;list-style:none;display:flex}.app-shell .sam-startup-help summary::-webkit-details-marker{display:none}.app-shell .sam-startup-help summary:after{content:"展开";color:#315eea;flex:none;font-size:11px;font-weight:800}.app-shell .sam-startup-help[open] summary:after{content:"收起"}.app-shell .sam-startup-help summary span,.app-shell .sam-startup-help summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.app-shell .sam-startup-help summary span{font-size:12px;font-weight:800}.app-shell .sam-startup-help summary small{color:#9a5b3f;font-size:10px;font-weight:600}.app-shell .sam-startup-help[open]{padding:0 10px 10px}.app-shell .sam-startup-help[open] summary{border-bottom:1px dashed #f3c0b8;border-radius:10px 10px 0 0;margin:0 -10px 8px}.app-shell .selection-speed-hint{margin-top:7px;font-size:11px}.app-shell .selection-workbench-modal .tool-modal-footer .primary-button{min-width:120px;min-height:36px}.app-shell .selection-modal-backdrop{padding:14px}.app-shell .selection-workbench-modal{grid-template-rows:min-content minmax(0,1fr) min-content;height:min(720px,100dvh - 32px);max-height:calc(100dvh - 32px)}.app-shell .selection-workbench-modal .tool-modal-header{padding:11px 16px 10px}.app-shell .selection-workbench-modal .tool-modal-header p{text-overflow:ellipsis;white-space:nowrap;max-width:min(760px,100vw - 220px);overflow:hidden}.app-shell .selection-workbench-body{grid-template-columns:minmax(288px,340px) minmax(0,1fr);gap:10px;padding:10px}.app-shell .selection-control-panel{scrollbar-gutter:stable;padding:10px}.app-shell .selection-control-panel fieldset{margin-bottom:8px;padding-bottom:8px}.app-shell .selection-control-panel legend{margin-bottom:6px}.app-shell .range-inline-row{gap:5px;margin-top:7px;padding:7px}.app-shell .range-inline-row .segmented button{min-height:30px;font-size:11px}.app-shell .selection-action-row{grid-template-columns:.85fr .85fr 1fr;gap:6px;margin-top:7px}.app-shell .selection-action-row .wide{grid-column:auto}.app-shell .selection-action-row button{min-height:34px;padding-inline:7px;font-size:12px}.app-shell .sam-runtime-card{grid-template-columns:8px minmax(0,1fr) auto;gap:6px;min-height:40px;margin-top:7px;padding:6px 8px}.app-shell .sam-runtime-card .status-led{width:8px;height:8px}.app-shell .sam-runtime-card b{font-size:12px;line-height:1.1}.app-shell .sam-runtime-card small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset;margin-top:2px;font-size:10px;line-height:1.15;display:block;overflow:hidden}.app-shell .sam-runtime-card button{min-height:28px;padding:0 8px;font-size:11px}.app-shell .sam-startup-help{border-radius:9px;margin-top:6px}.app-shell .sam-startup-help summary{min-height:30px;padding:6px 8px}.app-shell .sam-startup-help summary span{font-size:11px}.app-shell .sam-startup-help summary small,.app-shell .sam-startup-help summary:after{font-size:10px}.app-shell .sam-startup-help[open]{max-height:72px;padding:0 8px 8px;overflow-y:auto}.app-shell .sam-startup-help[open] summary{margin:0 -8px 6px}.app-shell .sam-endpoint-grid{grid-template-columns:56px minmax(0,1fr);gap:4px 6px}.app-shell .sam-endpoint-grid span{font-size:10px}.app-shell .sam-startup-help code{padding:4px 6px;font-size:10px;line-height:1.25}.app-shell .sam-command-row{gap:6px;margin-top:6px}.app-shell .sam-command-row button{min-height:27px;padding:0 8px;font-size:10px}.app-shell .sam-startup-help>small{margin-top:5px;font-size:10px;line-height:1.25}.app-shell .sam-startup-help[open]+.selection-speed-hint{display:none}.app-shell .selection-speed-hint{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;line-height:1.3;display:block;overflow:hidden}.app-shell .selection-control-panel .target-selection-summary{min-height:34px;padding:6px 8px}.app-shell .selection-control-panel .target-empty{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;line-height:1.35;display:block;overflow:hidden}.app-shell .selection-selected-color{padding:7px}.app-shell .selection-selected-color>span{width:32px;height:32px}.app-shell .selection-selected-color .selected-color-actions button{min-height:27px;padding-inline:8px;font-size:10px}.app-shell .selection-mask-toolbar{gap:5px;min-height:42px;padding:6px 8px}.app-shell .selection-mask-toolbar button{min-height:30px;padding:4px 7px;font-size:11px}.app-shell .selection-mask-toolbar b,.app-shell .selection-mask-toolbar span{font-size:11px}.app-shell .selection-workbench-modal .tool-modal-footer{min-height:46px;padding:8px 16px}.app-shell .selection-workbench-modal .tool-modal-footer .primary-button{min-height:34px}@media (max-height:760px){.app-shell .selection-modal-backdrop{padding:10px}.app-shell .selection-workbench-modal{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.app-shell .selection-workbench-modal .tool-modal-header p{display:none}.app-shell .selection-workbench-body{padding:8px}}.app-shell .selection-image-overlay{z-index:2;pointer-events:none;position:absolute;overflow:hidden}.app-shell .mask-tint-canvas,.app-shell .pending-mask-strokes{width:100%;height:100%;position:absolute;inset:0}.app-shell .mask-tint-canvas{z-index:1}.app-shell .candidate-bbox{z-index:2;border:2px solid #f97316;min-width:8px;min-height:8px;position:absolute;box-shadow:0 0 0 1px #ffffffe6,0 4px 14px #0f172a2e}.app-shell .candidate-bbox.stale{border-style:dashed;border-color:#ef4444}.app-shell .candidate-bbox span{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#f97316;border-radius:5px 5px 5px 0;max-width:190px;padding:3px 7px;font-size:11px;font-weight:750;position:absolute;top:-25px;left:-2px;overflow:hidden}.app-shell .candidate-bbox.stale span{background:#ef4444}.app-shell .pending-mask-strokes{z-index:3}.app-shell .quick-selection-empty-hint{z-index:4;color:#0f172a;pointer-events:none;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafce6;border:1px solid #10b9a657;border-radius:14px;gap:4px;min-width:min(260px,100% - 32px);padding:12px 14px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 38px #0f172a29}.app-shell .quick-selection-empty-hint b{color:#0f766e;font-size:14px}.app-shell .quick-selection-empty-hint span{color:#475569;font-size:12px;line-height:1.45}.app-shell .selection-mask-toolbar{background:#f8fafc;border-top:1px solid #dfe7f1;padding:7px 9px 6px;display:block}.app-shell .selection-mask-toolbar .mask-editor-actions{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.app-shell .selection-mask-toolbar .mask-editor-actions>button{border-radius:6px;min-height:30px;padding:4px 8px}.app-shell .selection-mask-toolbar .mask-editor-actions>button.active.remove{background:#dc2626;border-color:#dc2626}.app-shell .selection-mask-toolbar .mask-editor-actions>button.primary-mini{color:#fff;background:linear-gradient(135deg,#0f766e,#10b8a6);border-color:#0f766e;box-shadow:0 10px 22px #0f766e2e}.app-shell .brush-size-control{background:#fff;border:1px solid #dbe3ee;border-radius:6px;align-items:center;gap:7px;min-height:30px;padding:0 7px;display:flex}.app-shell .brush-size-control span{color:#334155;white-space:nowrap;background:0 0;min-width:48px;margin:0;padding:0;font-size:10px}.app-shell .brush-size-control input{accent-color:#10a999;width:86px}.app-shell .selection-mask-toolbar .candidate-position{color:#334155;white-space:nowrap;background:#fff;border:1px solid #dbe3ee;border-radius:6px;margin:0;padding:5px 7px;font-size:10px}.app-shell .mask-editor-hint{color:#64748b;margin:5px 1px 0;font-size:10px;line-height:1.35}.app-shell .mask-editor-hint.stale{color:#b91c1c;font-weight:700}
