:root{--edit-bg:#080d14;--edit-panel:#101720;--edit-line:#343634;--edit-gold:#e6c68a;--edit-text:#e7e7e4;--edit-muted:#9eaaaF}.workspace-v6{margin:0;background:var(--edit-bg);color:var(--edit-text);font:14px/1.5 system-ui,"Microsoft YaHei",sans-serif;overflow:hidden}.workspace-v6 *{box-sizing:border-box}.workspace-v6 button,.workspace-v6 input,.workspace-v6 textarea,.workspace-v6 select{font:inherit}.workspace-v6 button,.workspace-v6 select{border:1px solid var(--edit-line);border-radius:7px;color:var(--edit-text);background:#171f29;padding:8px 11px;cursor:pointer}.workspace-v6 button:hover{border-color:var(--edit-gold)}.workspace-v6 button.active,.workspace-v6 .primary{background:#d6b779;color:#131a20;border-color:#d6b779}.workspace-v6 button:disabled{opacity:.45;cursor:wait}.workspace-v6 input,.workspace-v6 textarea{min-width:0;background:#080e17;border:1px solid #3b424b;color:#eee;border-radius:6px;padding:9px;width:100%}.workspace-v6 input[type=checkbox]{width:auto}.workspace-v6 input[type=range]{padding:0}.workspace-v6 label{display:grid;gap:6px;color:#c2c9cc;font-size:14px}.workspace-v6 [hidden]{display:none!important}.workspace-v6 .topbar{height:72px;position:relative;z-index:100}.workspace-v6 .nav{height:72px}.editor-surface{height:calc(100dvh - 72px);position:relative;isolation:isolate}.world-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;background-color:#090f17;background-image:radial-gradient(#303946 1px,transparent 1px);background-size:32px 32px;outline:none}.scene-world{position:absolute;left:0;top:0;transform-origin:0 0;width:0;height:0;overflow:visible}.scene-object{position:absolute;transform-origin:center;user-select:none}.scene-art{width:100%;height:100%;background:#29343e;border:1px solid #a5aaab;overflow:hidden;display:grid;place-items:center}.scene-art span{font-size:20px;padding:14px;word-break:break-word;text-align:center;color:#eee}.scene-art img{width:100%;height:100%;object-fit:fill;pointer-events:none}.source-object .scene-art{background:none;border:none}.product-object .scene-art{background:#323333;border:2px solid #bda377}.scene-overlay{position:absolute;inset:0;pointer-events:none;z-index:1000}.transform-box{position:absolute;border:1px solid #edc981;transform-origin:center;pointer-events:none}.selection-label{position:absolute;top:-30px;left:0;font:13px/22px system-ui;background:#171f29;color:#f0d598;white-space:nowrap;padding:1px 6px;border-radius:4px}.transform-handle{width:12px;height:12px;border:1px solid #f8dcaa;background:#1c2b35;position:absolute;pointer-events:auto;transform:translate(-50%,-50%);touch-action:none}.h-nw{left:0;top:0;cursor:nwse-resize}.h-n{left:50%;top:0;cursor:ns-resize}.h-ne{left:100%;top:0;cursor:nesw-resize}.h-e{left:100%;top:50%;cursor:ew-resize}.h-se{left:100%;top:100%;cursor:nwse-resize}.h-s{left:50%;top:100%;cursor:ns-resize}.h-sw{left:0;top:100%;cursor:nesw-resize}.h-w{left:0;top:50%;cursor:ew-resize}.h-rotate{left:50%;top:-40px;border-radius:50%;cursor:grab;width:14px;height:14px}.marquee{position:absolute;border:1px solid #e6c68a;background:#e6c68a22}.pen-preview{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.world-viewport[data-tool=hand]{cursor:grab}.world-viewport[data-tool=pen],.world-viewport[data-tool=rect],.world-viewport[data-tool=ellipse]{cursor:crosshair}.floating{position:absolute;z-index:2000;background:#101720f5;border:1px solid var(--edit-line);box-shadow:0 12px 35px #0004;border-radius:12px}.tool-rail{left:16px;top:20px;width:62px;padding:8px;display:grid;gap:5px}.tool-rail button{padding:7px 2px;font-size:13px;min-height:42px}.panel-handle{cursor:move;user-select:none;color:var(--edit-gold);font-size:14px;padding:11px 13px;border-bottom:1px solid var(--edit-line)}.tool-rail .panel-handle{text-align:center;padding:2px 0 7px}.inspector{right:16px;top:20px;width:300px;max-height:calc(100% - 40px);overflow:auto}.inspector-body{padding:14px;display:grid;gap:14px}.field-row{display:flex;gap:9px}.field-row>*{flex:1;min-width:0}.inspector h3{margin:0 0 6px;font-size:15px;color:#ecd3a5}.inspector hr{width:100%;border:0;border-top:1px solid #353b43}.inspector textarea{resize:vertical;min-height:85px}.inspector .small{font-size:12px;color:var(--edit-muted)}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.reference-grid img{width:100%;height:65px;object-fit:contain;background:#030810}.reference-grid button{padding:3px;font-size:12px}.design-dock{left:100px;right:336px;bottom:18px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px}.design-dock textarea{resize:none;min-height:68px}.design-dock .dock-actions{display:grid;gap:8px}.design-status{grid-column:1/-1;font-size:13px;color:#c6cdd0;max-height:48px;overflow:auto}.view-controls{position:absolute;left:100px;top:16px;z-index:2100;display:flex;align-items:center;gap:6px;background:#101720ed;border-radius:8px;padding:6px}.view-controls span{min-width:45px;text-align:center;font-size:13px}.view-controls button{padding:6px 9px}.notice-bottom{position:absolute;bottom:0;left:10px;color:#8a9399;font-size:11px;pointer-events:none}.layer-list{display:grid;gap:4px;max-height:200px;overflow:auto}.layer-list button{text-align:left;overflow:hidden;text-overflow:ellipsis}.palette-dialog,.pixel-dialog,.comparison-dialog{background:#101720;color:#e7e7e4;border:1px solid #56564c;border-radius:12px;width:min(1000px,95vw);max-height:93dvh;padding:18px}.workspace-v6 dialog::backdrop{background:#000a}.workspace-v6 dialog header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}.palette-grid img{width:100%;height:85px;object-fit:contain}.pixel-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pixel-tools label{max-width:150px}.pixel-stage{height:55vh;display:flex;justify-content:center;align-items:center;background:repeating-conic-gradient(#a7a7a7 0% 25%,#d6d6d6 0% 50%) 0 0/18px 18px;overflow:hidden}.pixel-stage canvas{max-width:100%;max-height:100%;object-fit:contain;touch-action:none;cursor:crosshair}.pixel-dialog footer{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.comparison-stage{height:60vh;position:relative;overflow:hidden;background:#03060b;touch-action:none}.comparison-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.comparison-top{position:absolute;inset:0;overflow:hidden}.compare-handle{position:absolute;top:0;bottom:0;width:32px;transform:translateX(-50%);cursor:ew-resize;touch-action:none}.compare-handle:before{content:'';position:absolute;left:15px;top:0;bottom:0;width:2px;background:#fff}.compare-handle:after{content:'↔';position:absolute;left:0;top:50%;height:32px;width:32px;display:grid;place-items:center;border-radius:50%;background:#e6c68a;color:#111}.compare-mode{display:flex;gap:12px;align-items:center;margin:10px 0}.compare-mode input{width:160px}.comparison-labels{display:flex;justify-content:space-between;color:#b7c2c8;font-size:13px}.editor-empty{color:#a6b1b9}.status-error{color:#ffb4a6!important}
@media(max-width:1000px){.inspector{width:260px;right:8px}.design-dock{right:280px;left:86px}.view-controls{left:86px}.tool-rail{left:8px}.view-controls button{font-size:12px}.workspace-v6 .brand-sub{display:none}}@media(max-width:700px){.inspector{width:235px;top:65px;max-height:52%;right:6px}.design-dock{left:12px;right:12px;bottom:20px}.tool-rail{top:65px}.view-controls{left:8px;right:8px;justify-content:center}.workspace-v6 .brand{display:none}.workspace-v6 .nav{padding:8px}.workspace-v6 .navlinks{display:flex!important;gap:12px}.pixel-dialog footer{display:grid}.workspace-v6 .nav-actions{gap:3px}}

.design-dock .dock-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:330px}.design-dock .dock-actions select{grid-column:1/-1}.design-dock .dock-actions button{font-size:13px}.workspace-v6 .scene-art:has(img){border-color:transparent}.workspace-v6 .brand-sub{display:none}

/* Recognition-only feedback; shared editor files are untouched. */
#upload-empty{position:absolute;z-index:1100;left:calc((100% - 300px)/2);top:42%;transform:translate(-50%,-50%);text-align:center;width:min(440px,45vw);padding:28px;border:1px solid #e6c68a44;border-radius:20px;background:linear-gradient(140deg,#192430ef,#0d151ef5);box-shadow:0 18px 65px #0006}
#upload-empty h1{font-size:28px;margin:14px 0;color:#f0dfbd}#upload-empty .small{font-size:12px;color:#a8b2bd;line-height:1.9}.upload-kicker{letter-spacing:3px;color:#ddc393;font-size:11px}#upload-button{padding:13px 28px;font-size:16px;margin:14px 0}.tool-rail{width:76px}.design-dock{left:110px}#task-progress{grid-column:1/-1;color:#e6c68a;font-size:13px}#cancel-task{border-color:#ae7362}.recognition-scanning .source-object .scene-art{position:relative}.recognition-scanning .source-object .scene-art:after{content:'';position:absolute;left:0;right:0;top:0;height:16%;background:linear-gradient(transparent,#dfc17c55);border-bottom:2px solid #ffe4a5;box-shadow:0 8px 25px #e6c68a55;animation:recognition-scan 2.5s ease-in-out infinite;pointer-events:none}.recognition-scanning #scan-tool{box-shadow:0 0 18px #d6b77966}.design-status{max-height:90px;line-height:1.65}@keyframes recognition-scan{0%,100%{top:0}50%{top:84%}}@media(prefers-reduced-motion:reduce){.recognition-scanning .source-object .scene-art:after{animation:none;top:42%}}@media(max-width:700px){#upload-empty{left:48%;top:65%;width:65vw;padding:12px}#upload-empty h1{font-size:20px}.design-dock{left:12px}#upload-empty .small{display:none}}

.plate-dialog{width:min(1250px,96vw);max-height:94dvh;overflow:auto;background:#101720;color:#e8e5dc;border:1px solid #806c44;border-radius:16px;padding:24px}.plate-dialog header{display:flex;justify-content:space-between;gap:12px;align-items:center}.plate-dialog header small{display:block;color:#b4b9bd;margin-top:6px}.plate-intro{display:grid;grid-template-columns:160px 1fr;gap:24px;margin:24px 0}.plate-intro>img{max-width:160px;height:220px;object-fit:contain;background:#080d14;border-radius:10px}.plate-intro p{color:#bac3c9;line-height:1.8}.plate-bands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.plate-bands article{padding:14px;background:#17212c;border:1px solid #3a434b;border-radius:10px;display:grid;gap:10px}.plate-band-title{display:flex!important;align-items:center;gap:8px}.plate-band-title input[data-name]{flex:1}.plate-bands p,.plate-bands small{margin:0;color:#abb9c5;font-size:12px}.plate-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 0}.plate-options input[type=checkbox]{width:auto;justify-self:start}.plate-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}[data-plate-live]{font-size:12px;color:#ddc38c}[data-plate-status]{padding:12px;border:1px solid #4b4e47;line-height:1.7}.plate-result{padding:18px;border:1px solid #444f59;border-radius:12px;margin-top:20px}.plate-result h3{color:#e6c68a}.plate-compare{display:grid;grid-template-columns:180px 1fr;gap:16px}.plate-compare figure{margin:0;background:#080d14;padding:10px}.plate-compare img{width:100%;height:290px;object-fit:contain}.plate-compare figcaption{text-align:center;color:#b9c3ca}.plate-preview{max-width:96vw;max-height:96dvh;background:#101720;border:1px solid #8c794e;overflow:auto}.plate-preview img{display:block;max-width:100%;height:auto;margin-top:12px}@media(max-width:720px){.plate-dialog{padding:12px}.plate-bands,.plate-options{grid-template-columns:1fr}.plate-intro{grid-template-columns:90px 1fr;gap:12px}.plate-intro>img{width:90px;height:160px}.plate-intro h2{font-size:19px}.plate-compare{grid-template-columns:80px 1fr}.plate-compare img{height:200px}}

#recognition-agent-controls{padding:12px;border-bottom:1px solid #75654a}#recognition-agent-controls textarea,#recognition-agent-controls select{width:100%;box-sizing:border-box}#recognition-agent-controls label{display:block;margin:8px 0}#recognition-agent-controls textarea{min-height:60px} .recognition-v6 .selection-label{white-space:normal;overflow-wrap:anywhere;max-width:240px}

.workspace-v6 .inspector{max-height:calc(100vh - 180px);overflow-y:auto}.workspace-v6 .selection-label{white-space:normal;max-width:240px;overflow-wrap:anywhere}.recognition-region .scene-art span{display:none}.workspace-v6 .recognition-region{border-radius:0!important}.recognition-number{position:absolute;padding:2px 6px;background:#dfc184;color:#171b23;font:13px sans-serif;pointer-events:none;border-radius:3px}.workspace-v6 .recognition-region .scene-art{background:rgba(38,61,78,.10)!important;border:1px solid rgba(116,184,255,.70)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.workspace-v6 .recognition-region.selected .scene-art{background:rgba(230,198,138,.10)!important;border:2px solid rgba(230,198,138,.92)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}

.expert-details p{white-space:normal;overflow-wrap:anywhere;line-height:1.65;font-size:13px}

.recognition-callout{position:absolute;z-index:5;padding:6px 8px;border:1px solid #d4b36b;background:rgba(10,16,24,.92);color:#f1d99f;font-size:12px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;text-align:left;pointer-events:none}.recognition-callout.left{text-align:right}

/* Expert recognition visual layer */
.workspace-v6 .recognition-region .scene-art{border:0!important}.workspace-v6 .transform-box{border:1px solid rgba(91,116,132,.45)!important}.workspace-v6 .recognition-callout{border-color:rgba(87,116,134,.7)!important;background:rgba(7,15,23,.9)!important;color:#b8cfdb!important}.workspace-v6 .recognition-callout.left{text-align:right}.workspace-v6 .recognition-number{background:#284454!important;color:#d7edf5!important}.workspace-v6 .recognition-connectors path{stroke:#587184!important}
/* Recognition regions are guides over the source image, never opaque cards. */
.workspace-v6 #workspace .recognition-region .scene-art,
.workspace-v6 #workspace .recognition-region.selected .scene-art,
.workspace-v6 #workspace .recognition-region .scene-art span{background:transparent!important;color:transparent!important}
.workspace-v6 #workspace .recognition-region .scene-art{border:1px dashed rgba(116,184,255,.82)!important;box-shadow:none!important}
.workspace-v6 #workspace .recognition-region.selected .scene-art{border:2px solid rgba(230,198,138,.98)!important;box-shadow:0 0 0 1px rgba(230,198,138,.22)!important}

/* V7.1 global scan callout cards: keep extracted regions readable outside the source image. */
.workspace-v6 .recognition-callout-card{--callout-scale:1;position:absolute;display:grid;grid-template-columns:calc(72px * var(--callout-scale)) minmax(0,1fr);gap:calc(9px * var(--callout-scale));padding:calc(8px * var(--callout-scale));border:1px solid rgba(189,154,91,.68);border-radius:calc(8px * var(--callout-scale));background:linear-gradient(145deg,rgba(6,15,24,.97),rgba(10,21,31,.94));box-shadow:0 calc(9px * var(--callout-scale)) calc(26px * var(--callout-scale)) rgba(0,0,0,.35);color:#dce8ee;pointer-events:auto;cursor:grab;overflow:hidden;z-index:7;animation:recognitionCalloutIn .32s ease-out both;touch-action:none;user-select:none}
.workspace-v6 .recognition-callout-card:hover{border-color:#e6c68a;box-shadow:0 0 0 1px rgba(230,198,138,.34),0 12px 28px rgba(0,0,0,.48);transform:translateY(-1px)}
.workspace-v6 .recognition-callout-card.selected{border-color:#f0d39a;box-shadow:0 0 0 2px rgba(230,198,138,.25),0 calc(9px * var(--callout-scale)) calc(26px * var(--callout-scale)) rgba(0,0,0,.4)}
.workspace-v6 .recognition-callout-card:active{cursor:grabbing}
.workspace-v6 .recognition-callout-thumb{width:calc(72px * var(--callout-scale));height:calc(90px * var(--callout-scale));border:1px solid rgba(116,184,255,.3);border-radius:calc(5px * var(--callout-scale));background-color:#02070c;background-repeat:no-repeat;background-position:center;overflow:hidden}
.workspace-v6 .recognition-callout-thumb img{display:block;width:100%;height:100%;object-fit:contain;background:#02070c;pointer-events:none;user-select:none}
.workspace-v6 .recognition-callout-body{min-width:0;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}
.workspace-v6 .recognition-callout-body small{color:#63bfe5;font-size:calc(9px * var(--callout-scale));line-height:1.2;white-space:nowrap}
.workspace-v6 .recognition-callout-body h4{margin:calc(3px * var(--callout-scale)) 0 calc(5px * var(--callout-scale));color:#f0d39a;font-size:calc(13px * var(--callout-scale));line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.workspace-v6 .recognition-callout-body p{margin:0;color:#9eafbb;font-size:calc(10px * var(--callout-scale));line-height:1.42;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all}
.workspace-v6 .recognition-callout-body span{margin-top:auto;color:#79c8ed;font-size:calc(9px * var(--callout-scale));white-space:nowrap}
.workspace-v6 .recognition-callout-card.left .recognition-callout-body{text-align:right;align-items:flex-end}
@keyframes recognitionCalloutIn{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:900px){.workspace-v6 .recognition-callout-body p{-webkit-line-clamp:2}}
@media(max-width:760px){.workspace-v6 .recognition-callout-card{display:none}.workspace-v6 .recognition-connectors{display:none}}

/* V7.1: every editable recognition selection stays translucent so the source
   motif remains visible. Manual rectangles previously inherited the solid
   editor fill because only AI-created regions received recognition-region. */
.workspace-v6 #workspace .scene-object:not(.source-object) .scene-art{
  background:rgba(26,52,67,.09)!important;
  border:1px solid rgba(104,160,190,.72)!important;
  box-shadow:inset 0 0 0 1px rgba(225,241,248,.04)!important;
}
.workspace-v6 #workspace .scene-object:nth-child(4n+2):not(.source-object) .scene-art{background:rgba(54,42,71,.09)!important}
.workspace-v6 #workspace .scene-object:nth-child(4n+3):not(.source-object) .scene-art{background:rgba(35,67,55,.09)!important}
.workspace-v6 #workspace .scene-object:nth-child(4n+4):not(.source-object) .scene-art{background:rgba(69,50,35,.09)!important}
.workspace-v6 #workspace .scene-object.selected:not(.source-object) .scene-art{
  background:rgba(230,198,138,.08)!important;
  border:2px solid rgba(230,198,138,.94)!important;
}
.workspace-v6 #workspace .scene-object:not(.source-object) .scene-art>span{display:none!important}

/* Double-clicked recognition element: centered, isolated editing surface. */
.recognition-focus-dialog{width:min(1180px,94vw);max-width:none;height:min(820px,90dvh);padding:18px;background:#0d151f;color:#e7e7e4;border:1px solid rgba(230,198,138,.64);border-radius:14px;overflow:hidden}
.recognition-focus-dialog::backdrop{background:rgba(1,5,10,.84);backdrop-filter:blur(3px)}
.recognition-focus-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.recognition-focus-dialog>header div{display:grid;gap:2px}.recognition-focus-dialog>header small{color:#73c4e7;font-size:11px}.recognition-focus-dialog>header b{color:#f0d39a;font-size:18px}
.recognition-focus-layout{height:calc(100% - 58px);display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:16px}
.recognition-focus-stage{position:relative;display:grid;place-items:center;overflow:hidden;min-height:420px;background:radial-gradient(circle at center,#172535,#05090e 72%);border:1px solid #344657;border-radius:10px;touch-action:none;cursor:grab}
.recognition-focus-stage:active{cursor:grabbing}.recognition-focus-stage output{position:absolute;right:12px;bottom:10px;padding:4px 8px;background:#07101bd9;color:#9bd5ef;border:1px solid #38546a;border-radius:5px;font-size:12px;pointer-events:none}
.recognition-focus-crop{position:relative;width:min(82%,820px);max-height:66dvh;overflow:hidden;background:#02060a;box-shadow:0 14px 42px #000a;transform-origin:center;will-change:transform}
.recognition-focus-crop img{position:absolute;max-width:none;max-height:none;pointer-events:none;user-select:none}
.recognition-focus-layout>aside{display:flex;flex-direction:column;gap:14px;min-width:0;padding:14px;background:#111c27;border:1px solid #303e4b;border-radius:10px;overflow:auto}
.recognition-focus-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recognition-focus-actions button{min-height:38px;white-space:normal}.recognition-focus-actions button:last-child{grid-column:1/-1}
.recognition-focus-layout>aside label{display:grid;gap:6px;color:#c9d4da}.recognition-focus-layout>aside textarea{min-height:180px;resize:vertical}.recognition-focus-layout>aside p{font-size:12px;line-height:1.7;color:#9eafbb;margin:0}.recognition-focus-layout>aside .primary{margin-top:auto}
@media(max-width:760px){.recognition-focus-dialog{padding:10px}.recognition-focus-layout{grid-template-columns:1fr;overflow:auto}.recognition-focus-stage{min-height:48vh}.recognition-focus-layout>aside{min-height:300px}}

/* Persistent world-space callouts and whole-image professional overview. */
.workspace-v6 .recognition-callout-world{will-change:transform}
.workspace-v6 .recognition-callout-world .recognition-callout-card{animation:none}
.recognition-overview{position:absolute;z-index:1990;left:110px;right:336px;bottom:122px;max-width:900px;padding:10px 14px;border:1px solid rgba(116,184,255,.38);border-radius:9px;background:rgba(8,18,28,.92);box-shadow:0 10px 28px rgba(0,0,0,.24);pointer-events:auto}
.recognition-overview h3{margin:0 0 5px;color:#e8cf99;font-size:14px}.recognition-overview p{margin:3px 0;color:#d1dae0;font-size:12px;line-height:1.5}.recognition-overview .small{color:#9eafbb}
@media(max-width:1000px){.recognition-overview{left:86px;right:280px}}
@media(max-width:700px){.recognition-overview{left:12px;right:12px;bottom:122px;max-height:130px;overflow:auto}}

/* Recognition knowledge cards: compact evidence plus optional verified reference. */
.workspace-v6 .recognition-callout-body p{-webkit-line-clamp:4}
.workspace-v6 .recognition-callout-ref{margin-top:3px;color:#d9bb76;font-size:calc(9px * var(--callout-scale));line-height:1.25;text-decoration:underline;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;pointer-events:auto}
.workspace-v6 .recognition-callout-card.left .recognition-callout-ref{align-self:flex-end}

/* V9 adaptive recognition layout: overview remains visible; controls collapse independently. */
#scan-tool{background:linear-gradient(135deg,#e4c67f,#b88638);color:#17130d;border-color:#f1d799;font-weight:700;box-shadow:0 0 18px #d6b7794d}
#scan-tool:hover{filter:brightness(1.08)}
.knowledge-dock{position:absolute;z-index:2050;right:16px;top:20px;bottom:18px;width:min(21vw,340px);min-width:280px;display:flex;flex-direction:column;gap:10px;padding:12px;background:#101720f5;border:1px solid var(--edit-line);box-shadow:0 12px 35px #0004;border-radius:12px;overflow:auto}
.knowledge-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--edit-gold);font-size:14px}.knowledge-head button{padding:5px 8px;font-size:12px}
.knowledge-dock .recognition-overview{display:grid;gap:6px;border:1px solid #3a5367;border-radius:9px;padding:11px;background:#09131d}.knowledge-dock .recognition-overview h3{margin:0;color:#ecd3a5;font-size:15px}.knowledge-dock .recognition-overview p{margin:0;line-height:1.55}.knowledge-dock .recognition-overview .small{font-size:12px;color:#bdc8cf}.knowledge-dock .recognition-overview a{color:#8cd8ff;overflow-wrap:anywhere}
.knowledge-dock .design-status{margin-top:2px;padding:10px;border-radius:8px;background:#0a1119;color:#c6cdd0;line-height:1.6}.knowledge-dock #task-progress{color:#e6c68a;line-height:1.55}.knowledge-dock #cancel-task{border-color:#ae7362}.shortcut-guide{display:grid;gap:5px;padding-top:10px;border-top:1px solid #2d3741;color:#aab5bd;font-size:12px;line-height:1.5}.shortcut-guide b{color:#e6c68a;font-size:13px}
.inspector{z-index:2200;right:16px;top:20px;width:300px;transition:transform .2s ease,opacity .2s ease}.inspector .panel-handle{display:flex;align-items:center;justify-content:space-between;gap:10px}.inspector .panel-handle button{padding:4px 8px;font-size:12px}.inspector-collapsed{transform:translateX(calc(100% - 36px));opacity:.94}.inspector-collapsed .panel-handle{cursor:pointer;padding-left:9px}.inspector-collapsed .panel-handle span{writing-mode:vertical-rl;letter-spacing:2px}.inspector-collapsed .inspector-body{visibility:hidden}.inspector:not(.inspector-collapsed){max-height:calc(100% - 40px);overflow:auto}
.design-dock{display:none!important}.notice-bottom{right:360px;left:12px}
@media(max-width:1100px){.knowledge-dock{width:290px;min-width:250px}.notice-bottom{right:305px}.inspector{right:8px}}
@media(max-width:760px){.knowledge-dock{top:auto;bottom:12px;right:8px;left:8px;width:auto;min-width:0;max-height:38vh}.knowledge-dock .recognition-overview{max-height:140px;overflow:auto}.notice-bottom{display:none}.inspector{top:8px}.inspector-collapsed{transform:translateX(calc(100% - 34px))}}


/* V9.1 right-side layout correction: dynamic agent controls must collapse with the inspector. */
.knowledge-dock{width:min(26vw,440px);min-width:360px}
.inspector{right:calc(min(26vw,440px) + 28px)}
.inspector-collapsed{transform:translateX(calc(100% - 38px))}
.inspector-collapsed #recognition-agent-controls,.inspector-collapsed .inspector-body{display:none!important}
.inspector-collapsed .panel-handle{min-height:136px;align-items:flex-start}
.inspector-collapsed .panel-handle button{writing-mode:horizontal-tb}
.notice-bottom{right:470px}
@media(max-width:1100px){.knowledge-dock{width:320px;min-width:280px}.inspector{right:348px}.notice-bottom{right:340px}}
@media(max-width:760px){.knowledge-dock{width:auto;min-width:0}.inspector{right:8px}.inspector-collapsed{transform:translateX(calc(100% - 38px))}.notice-bottom{display:none}}


/* V9.2: a collapsed inspector is a true edge tab, never an invisible 300px overlay. */
.inspector{transition:width .2s ease,transform .2s ease}
.inspector-collapsed{width:38px;transform:none;overflow:hidden}
.inspector-collapsed .panel-handle{width:38px;min-height:136px;padding:10px 7px;justify-content:flex-start}
.inspector-collapsed .panel-handle span{font-size:12px;line-height:1.35}
.inspector-collapsed #inspector-toggle{display:none}


/* V9.3: override the legacy floating overview when it is placed in the knowledge dock. */
.knowledge-dock .recognition-overview{position:static;z-index:auto;left:auto;right:auto;bottom:auto;max-width:none;width:100%;box-shadow:none;pointer-events:auto}

/* V7.9 grounded recognition workbench: toolbar, independent drawers and bottom overview. */
.workspace-v6 .tool-rail,.workspace-v6 .view-controls{display:none!important}
.recognition-toolbar{position:absolute;z-index:2150;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;background:#101720f2;border:1px solid #343d47;border-radius:11px;box-shadow:0 12px 30px #0005}.recognition-toolbar button{white-space:nowrap;padding:7px 10px;font-size:13px}.recognition-toolbar #scan-tool{background:linear-gradient(135deg,#e4c67f,#b88638);color:#17130d;border-color:#f1d799;font-weight:800}.recognition-toolbar #scan-tool.service-unavailable{filter:saturate(.35);box-shadow:none}.recognition-toolbar #zoom-value{min-width:46px;text-align:center;font-size:12px;color:#e8e1d3}.toolbar-divider{width:1px;height:22px;background:#39434e;margin:0 2px}.source-actions{position:absolute;z-index:2050}.source-actions button{padding:5px 8px;font-size:12px;background:#161d26eF}.source-strip{position:absolute;z-index:2100;left:16px;bottom:16px;display:flex;flex-direction:column;gap:7px;width:max-content;max-width:min(760px,72vw);max-height:220px;padding:8px;border:1px solid #343d47;background:#101720ed;border-radius:10px;overflow:auto;box-shadow:0 10px 28px #0005}.source-strip-group{display:grid;gap:5px}.source-strip-group>header{display:flex;align-items:center;gap:6px;padding:0 3px;color:#ddc98f;font-size:10px}.source-strip-group>header small{min-width:18px;padding:1px 5px;text-align:center;border-radius:9px;background:#27313b;color:#c9d3db}.source-strip-list{display:flex;gap:7px}.source-strip button{position:relative;align-items:center;padding:5px;text-align:left;font-size:11px}.source-strip button.active{border-color:#e6c68a;background:#332a1b}.source-strip img{width:45px;height:42px;object-fit:cover;border-radius:4px;background:#05090d}.source-strip b,.source-strip small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.source-strip small{color:#9fadb9;font-size:10px}.source-reference-item{display:grid;grid-template-columns:minmax(130px,180px) auto;gap:5px;align-items:stretch;padding:3px;border:1px solid #31404c;border-radius:8px;background:#0b131b}.source-strip .source-reference-open{display:grid;grid-template-columns:45px minmax(0,1fr);gap:7px;min-width:130px;max-width:180px;border:0;background:transparent}.source-reference-actions{display:grid;grid-template-rows:1fr 1fr;gap:3px}.source-strip .source-reference-recognize,.source-strip .source-reference-remove{display:block;min-width:52px;max-width:62px;padding:3px 5px;text-align:center;font-size:10px;white-space:normal}.source-strip .source-reference-recognize{color:#17130d;background:#d6b779;border-color:#edcf8b}.source-strip .source-reference-remove{min-width:0;color:#c8d2da;background:#121a23}.inspector{position:absolute;right:0!important;top:16px!important;width:min(340px,30vw);max-height:calc(100% - 32px);z-index:2250;background:#101720fa}.inspector-collapsed{width:42px!important;overflow:hidden}.inspector-collapsed .panel-handle{width:42px;min-height:138px;padding:10px 8px;justify-content:flex-start}.inspector-collapsed .panel-handle span{writing-mode:vertical-rl;letter-spacing:2px;font-size:12px}.inspector-collapsed .inspector-body,.inspector-collapsed #recognition-agent-controls{display:none!important}.edge-launch{position:absolute;z-index:2240;right:42px;top:175px;writing-mode:vertical-rl;letter-spacing:2px;padding:12px 9px;min-height:112px;border-radius:8px 0 0 8px;background:#101720f5;color:#e6c68a;border:1px solid #4e4534}.knowledge-dock{position:absolute!important;z-index:2060;right:auto!important;left:50%!important;top:auto!important;bottom:18px!important;transform:translateX(-50%);width:min(36vw,610px)!important;min-width:min(360px,calc(100vw - 120px))!important;max-height:34vh!important;display:flex;flex-direction:column;gap:8px;padding:11px!important;overflow:auto!important;background:#101720f5;border:1px solid #343d47;border-radius:12px;box-shadow:0 12px 35px #0004}.knowledge-dock.is-collapsed{max-height:43px!important;overflow:hidden}.knowledge-dock .recognition-overview{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;box-shadow:none!important;display:grid;gap:6px;padding:10px!important;background:#09131d;border:1px solid #3a5367;border-radius:9px}.knowledge-dock .recognition-overview p{line-height:1.55;margin:0}.knowledge-dock .recognition-overview a{color:#8cd8ff;overflow-wrap:anywhere}.knowledge-dock .design-status{max-height:84px;overflow:auto;padding:9px;background:#0a1119;border-radius:8px}.knowledge-head{display:flex;align-items:center;justify-content:space-between;color:#e6c68a}.knowledge-head button{padding:4px 8px;font-size:12px}.notice-bottom{left:12px!important;right:auto!important;bottom:0}.recognition-focus-dialog [data-history-list]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:64vh;overflow:auto}.recognition-history-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:10px;border:1px solid #34414d;border-radius:9px;background:#09131d;cursor:pointer}.recognition-history-item:hover{border-color:#e6c68a}.recognition-history-item img{width:84px;height:72px;object-fit:cover;border-radius:5px;background:#02060a}.recognition-history-item h3{margin:0 0 5px;color:#ead29d;font-size:14px}.recognition-history-item p,.recognition-history-item small{margin:0;color:#aebbc4;font-size:11px;line-height:1.5}.recognition-history-item small{color:#7890a0}.selection-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.selection-action-row .primary{grid-column:1/-1}.stale-recognition{color:#f5c66d!important}.recognition-callout-card.is-stale{border-color:#d7a653!important}.recognition-callout-card.is-stale .recognition-callout-body span:after{content:' · 边界已改，待重识别';color:#f1bd68}
@media(max-width:900px){.recognition-toolbar{left:10px;right:10px;transform:none;overflow:auto;justify-content:flex-start}.recognition-toolbar button{font-size:12px;padding:6px 8px}.knowledge-dock{width:calc(100vw - 28px)!important;min-width:0!important}.source-strip{max-width:calc(100vw - 86px);max-height:190px}.inspector{width:min(320px,86vw)}.edge-launch{right:42px}.notice-bottom{display:none}}

@media(max-width:900px){.recognition-toolbar{scrollbar-width:none}.recognition-toolbar::-webkit-scrollbar{display:none}}

/* V7.9.1 layout refinement: align edge launches and keep the overview compact. */
.inspector{right:0!important;top:16px!important}
.inspector-collapsed{right:0!important;width:42px!important}
.edge-launch{right:0!important;top:168px!important;width:42px;min-width:42px;min-height:118px;padding:12px 10px;border-radius:8px 0 0 8px}
.knowledge-dock{width:min(28vw,460px)!important;min-width:320px!important;max-height:205px!important;bottom:16px!important;padding:9px!important;gap:6px!important}
.knowledge-dock .recognition-overview{padding:8px!important;gap:4px!important}
.knowledge-dock .recognition-overview h3{font-size:14px!important}
.knowledge-dock .recognition-overview p{font-size:12px!important;line-height:1.45!important}
.knowledge-dock .design-status{max-height:42px!important;padding:7px!important;font-size:12px!important}
.knowledge-dock .shortcut-guide{padding-top:6px!important;font-size:11px!important;gap:2px!important}
.knowledge-dock .shortcut-guide span:not(:first-of-type){display:none}
.knowledge-dock.is-collapsed{max-height:40px!important}
@media(max-width:900px){.edge-launch{right:0!important;top:160px!important}.knowledge-dock{width:calc(100vw - 28px)!important;min-width:0!important;max-height:190px!important}}

/* Local selection actions are always visible beside the selected region. */
.selection-quick-actions{position:absolute;z-index:2400;display:flex;align-items:center;gap:6px;max-width:min(620px,calc(100vw - 24px));overflow-x:auto;padding:7px 8px;background:#111b25f7;border:1px solid #d4b26e;border-radius:9px;box-shadow:0 12px 28px #0008;white-space:nowrap}.selection-quick-actions b{color:#ecd196;font-size:12px;padding:0 3px}.selection-quick-actions button{padding:5px 8px!important;font-size:12px!important}.selection-quick-actions [data-selection-recognize],.selection-quick-actions [data-selection-creative]{background:#d6b779!important;color:#161b20!important;border-color:#edcf8b!important;font-weight:700}.selection-quick-actions [data-selection-close]{padding:4px 6px!important;color:#adb9c2}.selection-quick-actions[hidden]{display:none!important}@media(max-width:760px){.selection-quick-actions{gap:4px}.selection-quick-actions button{padding:5px 7px!important;font-size:11px!important}}

/* V7.9.5: scan state and summary live in world coordinates below their source. */
.source-overview-card{position:absolute;z-index:200000;box-sizing:border-box;height:auto;padding:0;background:#101720f7;border:1px solid #6d6045;border-radius:calc(var(--source-footer-unit,18px)*.5);box-shadow:0 calc(var(--source-footer-unit,18px)*.6) calc(var(--source-footer-unit,18px)*1.8) #0007;overflow:visible;pointer-events:auto;color:#d1dae0;font-size:var(--source-footer-unit,18px);transform-origin:top left}
.source-overview-card[hidden]{display:none!important}
.source-overview-head{display:flex;align-items:center;justify-content:space-between;gap:.7em;padding:.48em .62em .42em;color:#ebcf96;font-size:.82em;font-weight:700;border-bottom:1px solid #303a45}
.source-overview-head button{padding:.28em .55em;font-size:.78em;line-height:1.2}
.source-scan-state{display:flex;align-items:center;gap:.6em;padding:.5em .7em;background:#0b121a;border-bottom:1px solid #303a45;font-size:.72em}
.source-scan-state .design-status{flex:1;max-height:none;overflow:visible}.source-scan-state #task-progress{color:#e6c68a}.source-scan-state button{padding:.3em .6em;font-size:.9em}.source-overview-card.has-error{border-color:#a65f55}.source-overview-card.has-error .source-scan-state{background:#251416}
.source-overview-card .recognition-overview{position:static!important;z-index:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:none!important;max-height:none!important;display:grid;gap:.32em;padding:.68em .78em!important;margin:0;background:#09131de8;border:0;border-radius:0 0 .5em .5em;box-shadow:none!important;overflow:visible!important;pointer-events:auto}
.source-overview-card .recognition-overview:empty{display:none!important}
.source-overview-card .recognition-overview h3{margin:0 0 .12em;color:#f0d7a2;font-size:.95em;line-height:1.4;overflow-wrap:anywhere}
.source-overview-card .recognition-overview p{margin:0;color:#d1dae0;font-size:.75em;line-height:1.55;overflow-wrap:anywhere}
.source-overview-card .recognition-overview p.small{color:#aebbc4;font-size:.68em}
.source-overview-card .recognition-overview strong{color:#d8c18f;font-weight:600}
.source-overview-card .overview-sources{display:flex;flex-wrap:wrap;gap:.25em .65em;align-items:baseline}
.source-overview-card .overview-sources a{color:#8cd8ff;text-decoration:none}
.source-overview-card .overview-sources a:hover{text-decoration:underline}
.source-overview-card.is-collapsed .source-overview-head{border-bottom:0}
.source-overview-card.is-collapsed .recognition-overview,.source-overview-card.is-collapsed .source-scan-state{display:none!important}
.history-drawer{position:absolute;z-index:2290;right:0;top:0;width:min(390px,88vw);height:100%;padding:14px;background:#0e151ef7;border-left:1px solid #5b4d32;box-shadow:-18px 0 42px #0009;transform:translateX(102%);transition:transform .22s ease;overflow:auto;pointer-events:auto}.history-drawer.is-open{transform:translateX(0)}.history-drawer>header{position:sticky;top:-14px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-14px -14px 12px;padding:14px;background:#0e151efa;border-bottom:1px solid #303a45}.history-drawer header div{display:grid}.history-drawer header small{color:#78ccef}.history-drawer header b{color:#f0d7a2;font-size:18px}.history-drawer [data-history-list]{display:grid;gap:10px}.history-drawer .recognition-history-item{grid-template-columns:72px minmax(0,1fr)}.history-drawer .recognition-history-item img{width:72px;height:66px}
@media(max-width:760px){.source-overview-card .recognition-overview{padding:.6em .68em!important}.history-drawer{width:min(360px,94vw)}}

/* V7.9.6: independent recognition files with a read-only comparison workbench. */
.source-strip-item{display:grid;grid-template-columns:minmax(130px,180px) auto;gap:5px;align-items:stretch;padding:3px;border:1px solid transparent;border-radius:8px}
.source-strip-item.active{border-color:#e6c68a;background:#332a1b}.source-strip-item.is-compared{box-shadow:inset 0 0 0 1px #62b9df66}
.source-strip .source-strip-open{display:grid;grid-template-columns:45px minmax(0,1fr);gap:7px;align-items:center;min-width:130px;max-width:180px;padding:5px;text-align:left;font-size:11px;border:0;background:transparent}
.source-strip .source-compare-pin{display:block;min-width:46px;max-width:58px;padding:4px 6px;text-align:center;font-size:10px;line-height:1.35;white-space:normal;color:#9edfff;border-color:#395467;background:#0b141d}
.source-strip-item.is-compared .source-compare-pin{color:#17130d;background:#d6b779;border-color:#edcf8b}
.comparison-board{position:absolute;z-index:300000;left:0;top:0;width:0;height:0;overflow:visible;pointer-events:auto;transform-origin:0 0}
.comparison-board[hidden]{display:none!important}.comparison-card{position:absolute;width:660px;padding:16px;background:#0e1721;border:2px solid #435263;border-radius:14px;box-shadow:0 20px 52px #0009;color:#d9e1e6;box-sizing:border-box}
.comparison-card.is-current{border-color:#e6c68a;box-shadow:0 20px 52px #0009,0 0 0 4px #d6b77922}.comparison-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.comparison-card>header div{display:grid;gap:3px;min-width:0}.comparison-card>header b{color:#f0d39a;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comparison-card>header small{color:#81cce9;font-size:12px}.comparison-card>header button{padding:7px 11px;white-space:nowrap}
.comparison-image-stage{position:relative;display:grid;place-items:center;overflow:hidden;background:#03070b;border:1px solid #344757;border-radius:8px}.comparison-image-stage>img{display:block;width:100%;height:100%;object-fit:contain}.comparison-region-overlay{position:absolute;inset:0;pointer-events:none}.comparison-region-overlay i{position:absolute;display:block;border:2px solid #e6c26f;background:#e6c26f12;box-sizing:border-box}
.comparison-card>p{min-height:48px;margin:12px 2px 8px;color:#bfcbd2;font-size:14px;line-height:1.65}.comparison-region-list{display:flex;flex-wrap:wrap;gap:6px}.comparison-region-list span{padding:4px 8px;color:#b9d7e5;background:#101f2b;border:1px solid #365064;border-radius:999px;font-size:12px}.comparison-card:not(.is-current) .comparison-region-list span:nth-child(n+7){display:none}
.comparison-mode .scene-object,.comparison-mode .recognition-callout-world,.comparison-mode .recognition-badge-layer,.comparison-mode .recognition-ui-layer,.comparison-mode .source-overview-card,.comparison-mode .source-actions,.comparison-mode .selection-quick-actions,.comparison-mode .inspector{display:none!important}.comparison-mode #compare-mode{color:#17130d;background:#d6b779;border-color:#edcf8b;font-weight:700}.comparison-mode #scan-tool{filter:saturate(.55)}
.recognition-history-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.recognition-history-actions button{padding:5px 7px;font-size:11px}.recognition-history-actions button:last-child{color:#9edfff;border-color:#395467}
@media(max-width:900px){.source-strip-item{grid-template-columns:minmax(118px,160px) auto}.source-strip .source-strip-open{min-width:118px}.comparison-card{width:580px}.comparison-image-stage{max-width:548px}}
