*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #111;--bg2: #1a1a1a;--bg3: #222;--border: #333;--text: #e8e8e8;--text2: #aaa;--accent: #facc15;--ok: #22c55e;--err: #ef4444;--warn: #f97316;--radius: 6px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bottom-h: 180px}html,body,#app{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.app-header h1{font-size:15px;font-weight:600}.header-sub{color:var(--text2);font-weight:400;font-size:12px;margin-left:6px}.btn-reset{margin-left:auto;padding:4px 12px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:var(--radius);cursor:pointer;font-size:12px}.btn-reset:hover{color:var(--text);border-color:var(--text2)}.loading-overlay{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text2)}.loading-spinner{font-size:40px;animation:spin 1.5s linear infinite}.loading-sub{font-size:12px;text-align:center;max-width:480px;line-height:1.6}.upload-panel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed var(--border);margin:24px;border-radius:12px;cursor:pointer;transition:border-color .15s}.upload-panel:hover{border-color:var(--accent)}.upload-icon{font-size:48px}.upload-panel p{color:var(--text2)}.upload-hint{font-size:11px;color:#666}.resizable-layout{flex:1;display:flex;overflow:hidden;min-height:0}.resizable-col{display:flex;flex-direction:column;overflow:hidden;min-width:0}.resizable-divider{width:4px;flex-shrink:0;background:var(--border);cursor:col-resize;transition:background .1s}.resizable-divider:hover{background:var(--accent)}.editor-left,.editor-center,.editor-right{display:flex;flex-direction:column;overflow:hidden;width:100%;height:100%}.editor-layout{flex:1;display:grid;grid-template-columns:minmax(240px,380px) 280px 1fr;gap:0;overflow:hidden;min-height:0}.panel-header{padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;gap:8px}.session-badge{font-size:10px;background:#22c55e14;padding:2px 6px;border-radius:9px;font-weight:400;text-transform:none;letter-spacing:0}.canvas-wrap{flex:1;overflow:hidden;position:relative;min-height:0}.image-canvas{width:100%;height:100%;display:block}.bbox-confirm{padding:6px 12px;background:var(--bg2);border-top:1px solid var(--border);flex-shrink:0;font-size:12px;color:var(--text2)}.preview-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.preview-hint{padding:4px 10px;font-size:10px;color:#555;background:var(--bg2);border-top:1px solid var(--border);flex-shrink:0}.outline-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.outline-canvas{flex:1;min-height:0}.panel-header-sm{font-size:10px;padding:4px 12px}.field-panel{flex:1;overflow-y:auto;padding:0 0 8px}.field-section{padding:10px 12px;border-bottom:1px solid var(--border)}.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text2);margin-bottom:8px;display:flex;align-items:center;gap:8px}.field-row{margin-bottom:8px}.field-label{display:block;font-size:11px;color:var(--text2);margin-bottom:4px}.field-label-chip{display:inline-block;width:fit-content;padding:3px 6px;border-left:3px solid var(--accent);border-radius:3px;background:#facc1529;color:var(--text);font-size:12px;font-weight:700}.required-star{color:var(--err);margin-left:3px}.field-input,.field-select{width:100%;padding:5px 8px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px}.field-input:focus,.field-select:focus{outline:none;border-color:var(--accent)}.chip-group{display:flex;flex-wrap:wrap;gap:4px}.chip{padding:2px 8px;border:1px solid var(--border);border-radius:12px;background:var(--bg3);color:var(--text2);cursor:pointer;font-size:11px;transition:all .1s}.chip-active{background:#facc1526;border-color:var(--accent);color:var(--accent)}.chip-bilingual{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 10px;line-height:1.15;min-width:44px}.chip-bilingual .chip-zh{font-size:12px;font-weight:500}.chip-bilingual .chip-en{font-size:9px;opacity:.55;margin-top:1px;letter-spacing:.2px}.chip-bilingual.chip-active .chip-en{opacity:.75}.single-select-row{display:flex;flex-wrap:wrap;gap:4px}.single-opt{display:inline-flex;align-items:baseline;gap:4px;padding:3px 9px;border:1px solid var(--border);border-radius:12px;background:var(--bg3);color:var(--text2);cursor:pointer;transition:all .1s}.single-opt .opt-zh{font-size:12px;font-weight:500}.single-opt .opt-en{font-size:10px;opacity:.55;letter-spacing:.2px}.single-opt:hover{border-color:var(--text2);color:var(--text)}.single-opt-active{background:#facc1526;border-color:var(--accent);color:var(--accent)}.single-opt-active .opt-en{opacity:.8}.confirm-check{margin-left:auto;font-size:11px;color:var(--ok);display:flex;align-items:center;gap:4px;font-weight:400;text-transform:none;letter-spacing:0}.guide-lines{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.guide-line{display:flex;align-items:center;gap:4px}.guide-index{font-size:10px;color:#555;min-width:14px;text-align:right}.guide-input{flex:1;padding:4px 6px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px}.guide-input:focus{outline:none;border-color:var(--accent)}.guide-actions{display:flex;gap:2px}.guide-actions button{padding:2px 5px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;color:var(--text2);cursor:pointer;font-size:11px}.guide-actions button:hover:not(:disabled){color:var(--text)}.guide-actions button:disabled{opacity:.3;cursor:not-allowed}.guide-actions .btn-danger{color:var(--err)!important}.btn-add-line{padding:3px 10px;background:var(--bg2);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text2);cursor:pointer;font-size:11px;width:100%}.bottom-panel{flex-shrink:0;height:var(--bottom-h);display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);background:var(--bg2);overflow:hidden}.bottom-log,.bottom-validation{display:flex;flex-direction:column;overflow:hidden}.bottom-log{border-right:1px solid var(--border)}.bottom-section-title{padding:4px 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text2);background:var(--bg3);border-bottom:1px solid var(--border);flex-shrink:0}.log-list{flex:1;overflow-y:auto;padding:4px 0;font-family:Consolas,Monaco,monospace;font-size:11px}.log-empty{padding:6px 10px;color:#444}.log-entry{display:flex;gap:6px;padding:2px 10px;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.02)}.log-entry:hover{background:#ffffff08}.log-time{color:#555;flex-shrink:0}.log-msg{color:var(--text2);word-break:break-all}.log-info .log-msg{color:var(--text2)}.log-warn .log-msg{color:var(--warn)}.log-error .log-msg{color:var(--err)}.log-info .log-time{color:#444}.log-warn .log-time{color:#7a4a20}.log-error .log-time{color:#7a2020}.validation-body{flex:1;overflow-y:auto;padding:6px 10px;display:flex;flex-direction:column;gap:4px}.validation-footer{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg3)}.status-ok{color:var(--ok);font-size:12px}.status-err{color:var(--err);font-size:12px}.status-loading{color:var(--text2);font-size:12px}.exported-path code{font-size:11px;color:var(--ok);opacity:.8}.error-list{list-style:none;display:flex;flex-direction:column;gap:2px}.error-list li{font-size:11px;color:var(--err);opacity:.8}.confirm-item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text2);white-space:nowrap}.btn-export{margin-left:auto;padding:5px 14px;border-radius:var(--radius);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:#555;transition:all .15s;flex-shrink:0}.btn-export-active{background:var(--accent);color:#111;border-color:var(--accent)}.btn-export-active:hover{background:#fde047}.btn-export:disabled{cursor:not-allowed}.kpt-notice{font-size:11px;padding:4px 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kpt-notice--loading{color:var(--text2)}.kpt-notice--failed{color:var(--warn)}.kpt-notice--ok{color:var(--ok)}.kpt-notice-sub{color:#666;font-size:10px;width:100%}.btn-redetect{margin-left:auto;padding:2px 10px;font-size:11px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;flex-shrink:0}.btn-redetect:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-redetect:disabled{opacity:.4;cursor:not-allowed}.concept-editor,.dependency-editor{display:grid;gap:8px}.concept-row,.dependency-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:center}.concept-row{grid-template-columns:minmax(0,1fr) 28px}.dependency-row .field-input,.dependency-row .field-select,.concept-row .field-input,.concept-row .field-select{min-width:0;width:100%}.structured-field{display:grid;gap:3px;min-width:0}.structured-field>span{color:var(--text2);font-size:10px}.structured-remove{margin-left:0;justify-self:start;min-width:32px}.structured-add{margin-left:0;justify-self:start}.field-note{margin:-2px 0 4px;color:var(--text2);font-size:10px;line-height:1.45}.outline-switch-error{margin:4px 10px 0;padding:5px 8px;border-left:3px solid var(--err);background:#ef44441f;color:#fecaca;font-size:10px;line-height:1.4}.task-status-bar{display:flex;gap:8px;padding:6px 12px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.task-card{flex:1;padding:6px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg3);min-width:0}.task-card-loading{border-color:#555}.task-card-done{border-color:var(--ok)}.task-card-failed{border-color:var(--accent)}.task-card-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.task-ok{color:var(--ok)}.task-fail{color:var(--accent)}.task-idle{color:#555}.task-spinner{display:inline-block;animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.task-hint{font-size:11px;color:#888;margin-top:3px}.task-error{margin-top:4px}.task-error-msg{font-size:11px;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-retry-btn{margin-top:4px;padding:2px 8px;font-size:11px;background:var(--accent);color:#111;border:none;border-radius:3px;cursor:pointer}.task-retry-btn:hover{opacity:.85}.task-rerun-btn{margin-left:auto;padding:2px 7px;border:1px solid var(--border);border-radius:3px;background:transparent;color:var(--text2);font-size:10px;cursor:pointer}.task-rerun-btn:hover{border-color:var(--accent);color:var(--accent)}.outline-panel{display:flex;flex-direction:column;flex:1;min-height:0;border-top:1px solid var(--border)}.outline-canvas{flex:1;min-height:0;display:block}.panel-header-sm{font-size:12px;padding:4px 10px}.pose-id-row{align-items:center;gap:8px}.pose-id-input{font-family:monospace;flex:1}.pose-id-input.input-invalid{border-color:var(--color-err, #e55)}.pose-id-hint{font-size:11px;white-space:nowrap}.hint-ok{color:var(--color-ok, #4c4)}.hint-err{color:var(--color-err, #e55)}.pose-id-example{font-size:11px;color:var(--color-muted, #888);margin-top:4px}.outline-canvas-clickable{cursor:zoom-in}.outline-zoom-btn{margin-left:4px;padding:0 6px;font-size:14px;line-height:1;background:none;border:none;color:var(--color-muted, #888);cursor:pointer;opacity:.7}.outline-zoom-btn:hover{opacity:1}.outline-toolbar{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 10px;border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0}.outline-mode-tabs{display:inline-flex;border:1px solid var(--color-border, #d0d0d0);border-radius:4px;overflow:hidden;background:#fafafa}.outline-mode-btn{padding:3px 12px;font-size:11px;background:transparent;border:none;color:var(--color-muted, #666);cursor:pointer;transition:background .15s,color .15s}.outline-mode-btn:not(:last-child){border-right:1px solid var(--color-border, #d0d0d0)}.outline-mode-btn:hover:not(:disabled){background:#efefef;color:#333}.outline-mode-btn.active{background:var(--color-accent, #2d7af6);color:#fff}.outline-mode-btn:disabled{opacity:.5;cursor:wait}.outline-parts-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:11px}.outline-parts-label{color:var(--text2)}.outline-part-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border:1px solid var(--border);border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg3);color:var(--text2);transition:all .12s}.outline-part-chip input{margin:0;cursor:pointer}.outline-part-chip:hover{border-color:var(--text2);color:var(--text)}.outline-part-chip.active{background:#2d7af626;border-color:var(--color-accent, #2d7af6);color:var(--color-accent, #2d7af6)}.outline-part-chip.disabled{opacity:.5;cursor:wait}.outline-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center}.outline-lightbox-inner{position:relative;width:min(90vw,90vh);height:min(90vw,90vh);background:#e0e0e0;border-radius:6px;overflow:hidden;box-shadow:0 8px 40px #0009}.outline-lightbox-close{position:absolute;top:8px;right:10px;z-index:1;background:#0006;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.outline-lightbox-close:hover{background:#000000b3}.outline-lightbox-canvas{width:100%;height:100%;display:block}.shell{display:flex;height:100vh;overflow:hidden}.shell-nav{width:180px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px;padding:12px 8px}.shell-brand{font-size:15px;font-weight:700;padding:8px 10px 14px;color:var(--accent)}.shell-navitem{text-align:left;padding:9px 12px;border:none;background:transparent;color:var(--text2);border-radius:var(--radius);cursor:pointer;font-size:13px}.shell-navitem:hover{background:var(--bg3);color:var(--text)}.shell-navitem.active{background:var(--bg3);color:var(--accent);font-weight:600}.shell-main{flex:1;overflow:hidden;min-width:0}.manage{display:flex;flex-direction:column;height:100%;overflow:hidden}.manage-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.manage-header h2{font-size:15px;font-weight:600}.manage-body{flex:1;overflow:auto;padding:12px 16px}.stats-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.stat-card{border:1px solid var(--border);background:var(--bg2);border-radius:var(--radius);padding:8px 14px;cursor:pointer;min-width:80px}.stat-card:hover{border-color:var(--text2)}.stat-card.active{border-color:var(--accent)}.stat-num{font-size:18px;font-weight:700}.stat-label{font-size:11px;color:var(--text2)}.filter-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center}.filter-bar select,.filter-bar input{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;font-size:12px}.filter-bar input{min-width:160px}.filter-bar select.has-value,.filter-bar input.has-value{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg3));color:var(--accent);font-weight:600}.pose-table{width:100%;border-collapse:collapse;font-size:12px}.pose-table th,.pose-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.pose-table th{color:var(--text2);font-weight:600;position:sticky;top:0;background:var(--bg)}.pose-table tbody tr:hover{background:var(--bg2)}.pose-thumb{width:44px;height:44px;object-fit:cover;border-radius:4px;background:var(--bg3)}.pose-id-cell{font-family:monospace;cursor:pointer;color:var(--text)}.pose-id-cell:hover{color:var(--accent);text-decoration:underline}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;border:1px solid currentColor}.row-actions{display:flex;gap:6px}.btn-sm.danger:hover{color:var(--err);border-color:var(--err)}.btn-sm.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg3));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent)}.btn-sm.danger-active{color:var(--err);border-color:var(--err);background:color-mix(in srgb,var(--err) 14%,var(--bg3))}.btn-primary:disabled{opacity:.5;cursor:default}.pager{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;font-size:12px;color:var(--text2)}.pager-size,.pager-jump{display:inline-flex;align-items:center;gap:5px}.pager select,.pager input{height:28px;box-sizing:border-box;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text);font:inherit}.pager select{padding:0 6px}.pager input{width:54px;padding:0 6px}.batch-bar{display:flex;gap:8px;align-items:center;padding:8px 12px;margin-bottom:8px;background:var(--bg2);border:1px solid var(--accent);border-radius:var(--radius);font-size:12px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:50;display:flex}.drawer{margin-left:auto;width:460px;max-width:90vw;height:100%;background:var(--bg2);border-left:1px solid var(--border);overflow:auto;padding:16px;box-shadow:-4px 0 20px #0006}.modal{margin:auto;width:560px;max-width:92vw;max-height:88vh;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:auto;padding:18px}.drawer-head,.modal-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.drawer-head h3,.modal-head h3{font-size:14px;font-weight:600}.close-x{margin-left:auto;background:transparent;border:none;color:var(--text2);cursor:pointer;font-size:18px}.close-x:hover{color:var(--text)}.kv{display:grid;grid-template-columns:110px 1fr;gap:6px 10px;font-size:12px;margin-bottom:12px}.kv dt{color:var(--text2)}.kv dd{color:var(--text);word-break:break-word}.transition-btns{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 16px}.edit-field{margin-bottom:14px}.edit-field>label{display:block;font-size:12px;color:var(--text2);margin-bottom:4px}.edit-field textarea,.edit-field input,.edit-field select{width:100%;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:6px 8px;font-size:12px;font-family:var(--font)}.edit-field textarea{min-height:70px;resize:vertical}.import-result{font-size:12px;margin-top:10px;max-height:200px;overflow:auto}.import-result .ok{color:var(--ok)}.import-result .fail{color:var(--err)}.muted{color:var(--text2)}.empty-state{text-align:center;color:var(--text2);padding:40px}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 40px 10px 16px;font-size:12px;z-index:100;display:flex;align-items:flex-start;gap:10px;width:min(720px,calc(100vw - 32px));max-height:42vh;overflow:auto;box-shadow:0 12px 36px #00000059;line-height:1.55}.toast-close{position:absolute;top:6px;right:8px;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer;font-size:18px;line-height:1}.toast.err{border-color:var(--err);color:var(--err)}.toast.ok{border-color:var(--ok);color:var(--ok)}.logs-page{height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.logs-header{flex-shrink:0;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg2);border-bottom:1px solid var(--border)}.logs-header h2{font-size:15px;font-weight:600;margin-bottom:3px}.logs-header p{color:var(--text2);font-size:12px}.logs-actions{display:flex;gap:8px}.logs-loading{align-self:center;color:var(--accent);font-size:12px;white-space:nowrap}.logs-loading:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor;animation:logsPulse 1s ease-in-out infinite}.logs-filters{flex-shrink:0;display:grid;grid-template-columns:110px 130px minmax(220px,1fr) 190px 190px 100px 90px;gap:10px;align-items:end;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border)}.logs-filters label{display:flex;flex-direction:column;gap:4px;min-width:0}.logs-filters span{font-size:11px;color:var(--text2)}.logs-filters input,.logs-filters select{width:100%;height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text);padding:4px 8px;font-size:12px}.logs-filter-active span{color:var(--accent)}.logs-filter-active input,.logs-filter-active select{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg3));color:var(--text)}.logs-toggle{height:30px;flex-direction:row!important;align-items:center;color:var(--text2);font-size:12px}.logs-toggle input{width:auto;height:auto}.logs-quick{flex-shrink:0;display:flex;gap:8px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border)}.logs-summary{margin-left:auto;color:var(--text2);font-size:12px}.logs-list{flex:1;overflow:auto;padding:10px 16px;display:flex;flex-direction:column;gap:6px}.logs-table-head{position:sticky;top:-10px;z-index:1;display:grid;grid-template-columns:158px 64px 100px minmax(260px,1fr) 74px;gap:10px;padding:8px 12px;color:var(--text2);background:var(--bg);border-bottom:1px solid var(--border);font-size:11px}.logs-empty{color:var(--text2);text-align:center;padding:40px;font-size:13px}.log-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;flex:0 0 auto;min-height:44px}.log-row summary{display:grid;grid-template-columns:158px 64px 100px minmax(260px,1fr) 74px;gap:10px;align-items:center;min-height:42px;padding:8px 12px;cursor:pointer;font-size:12px;list-style:none;box-sizing:border-box}.log-row summary::-webkit-details-marker{display:none}.log-row[open] summary{border-bottom:1px solid var(--border)}.log-time,.log-source,.log-duration{color:var(--text2)}.log-message{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.log-level{justify-self:start;padding:2px 7px;border:1px solid currentColor;border-radius:999px;font-size:11px}.level-error{color:var(--err)}.level-warn{color:var(--warn)}.level-info{color:var(--ok)}.level-debug{color:var(--text2)}.import-result-summary{margin-top:16px}.import-result-counts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}.import-result-counts span{padding:10px 12px;color:var(--text2);border-right:1px solid var(--border)}.import-result-counts span:last-child{border-right:0}.import-result-counts b{display:block;color:var(--text);font-size:20px}.import-result-counts .is-success b{color:var(--ok)}.import-result-counts .is-duplicate b{color:#d6a84b}.import-result-counts .is-failed b,.import-concept-stats .is-failed{color:var(--err)}.import-concept-stats{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 12px;background:var(--bg3);color:var(--text2)}.import-concept-stats b{color:var(--text)}.import-result-list{max-height:220px;overflow:auto;margin-top:8px}.import-result-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,auto);gap:12px;padding:6px 2px;border-bottom:1px solid var(--border)}.import-result-row code{overflow:hidden;text-overflow:ellipsis}.import-result-row.is-uploaded{color:var(--ok)}.import-result-row.is-duplicate{color:#d6a84b}.import-result-row.is-failed{color:var(--err)}.import-retry{margin-top:12px}.concept-low-frequency-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--text2);white-space:nowrap}.concept-low-frequency-toggle input{width:16px;height:16px;accent-color:var(--accent)}.log-error{border-color:color-mix(in srgb,var(--err) 55%,var(--border))}.log-warn{border-color:color-mix(in srgb,var(--warn) 55%,var(--border))}.log-detail{display:grid;grid-template-columns:90px 1fr;gap:6px 10px;padding:10px;font-size:12px;max-height:42vh;overflow:auto}.log-detail dt{color:var(--text2)}.log-detail dd{color:var(--text);word-break:break-all}.log-detail code,.log-detail pre{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;line-height:1.5}.logs-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:12px}.logs-page-buttons{display:flex;gap:8px}@media (max-width: 980px){.logs-filters{grid-template-columns:1fr 1fr}.logs-table-head{display:none}.log-row summary{grid-template-columns:130px 58px minmax(120px,1fr)}.log-source,.log-duration{display:none}}@keyframes logsPulse{0%,to{opacity:.45;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.log-workbench-page .logs-header p{max-width:760px}.log-workbench-tabs{flex-shrink:0;display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg2)}.log-workbench-tabs button{min-height:38px;padding:7px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text2);cursor:pointer;font-size:12px}.log-workbench-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.log-workbench-body{min-height:0;flex:1;overflow:hidden}.diagnostic-tab-panel{height:100%;min-height:0;overflow:auto}.diagnostic-tab-panel[hidden]{display:none}.session-analysis-panel,.raw-logs-panel,.retrieval-panel{height:100%;min-height:0;display:flex;flex-direction:column}.log-workbench-filters{flex-shrink:0;display:grid;gap:10px;align-items:end;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.session-filters{grid-template-columns:repeat(3,minmax(180px,1fr)) 170px 170px auto}.raw-filters{grid-template-columns:repeat(3,minmax(150px,1fr)) repeat(2,120px)}.log-workbench-filters label,.retrieval-form label{display:grid;gap:4px;min-width:0}.log-workbench-filters label>span,.retrieval-form label>span{color:var(--text2);font-size:10px}.log-workbench-filters input,.log-workbench-filters select,.retrieval-form input{width:100%;min-width:0;height:30px;box-sizing:border-box;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text)}.log-workbench-toolbar{flex-shrink:0;display:flex;align-items:center;gap:14px;padding:8px 16px;border-bottom:1px solid var(--border);color:var(--text2);font-size:11px}.log-workbench-toolbar label,.timeline-controls label,.retrieval-network{display:inline-flex;align-items:center;gap:6px;color:var(--text2);font-size:11px}.log-workbench-toolbar span{margin-left:auto}.help-button{display:inline-flex;align-items:center;gap:5px}.session-workbench{min-height:0;flex:1;display:grid;grid-template-columns:minmax(260px,30%) minmax(0,1fr)}.session-list{min-height:0;overflow:auto;border-right:1px solid var(--border);background:var(--bg2)}.session-list-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg2);font-size:11px}.session-list-head span{color:var(--text2)}.session-columns-head{position:sticky;top:36px;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:9px}.session-columns-head span:last-child{text-align:right}.session-list-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:10px 12px;border:0;border-bottom:1px solid var(--border);border-left:3px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer}.session-list-item:hover{background:var(--bg3)}.session-list-item.active{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg3))}.session-list-item>span{min-width:0;display:grid;gap:3px}.session-list-item>span:last-of-type{text-align:right}.session-card-title,.session-card-meta,.session-card-time{display:flex!important;justify-content:space-between}.session-card-identities{grid-column:1 / -1;display:flex!important;flex-wrap:wrap;gap:5px 12px!important}.session-card-identities small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.session-card-time{grid-column:1 / -1;padding-top:2px;border-top:1px dashed var(--border)}.session-list-item strong,.session-list-item b{font-size:11px}.session-list-item small{color:var(--text2);font-size:9px}.session-list-item code{grid-column:1 / -1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);font-size:9px}.timeline-pane{min-width:0;min-height:0;display:flex;flex-direction:column}.timeline-titlebar{flex-shrink:0;min-height:38px;display:flex;align-items:center;gap:12px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--bg2);font-size:11px}.timeline-titlebar>code{margin-left:auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;color:var(--text2)}.timeline-identity{min-width:0;display:inline-flex;align-items:center;gap:5px;color:var(--text2)}.timeline-identity code{max-width:250px;overflow:hidden;text-overflow:ellipsis}.timeline-identity button{width:22px;height:22px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer}.timeline-identity button:hover{background:var(--bg3);color:var(--text)}.timeline-summary,.timeline-controls{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text2);font-size:11px}.timeline-summary b{color:var(--text)}.timeline-summary .danger-text{color:var(--err)}.timeline-summary button,.timeline-controls label{margin-left:auto}.playback-button{display:inline-flex;align-items:center;gap:5px}.playback-speed{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.playback-speed button{min-width:32px;height:26px;padding:0 7px;border:0;border-right:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;font-size:10px}.playback-speed button:last-child{border-right:0}.playback-speed button.active{background:var(--accent);color:#fff}.timeline-list{min-height:0;flex:1;overflow:auto;padding:8px 12px 18px}.timeline-columns-head{position:sticky;top:-8px;z-index:2;display:grid;grid-template-columns:82px 72px minmax(130px,.8fr) minmax(180px,1.5fr) 70px minmax(90px,auto);gap:8px;padding:8px 9px;border-bottom:1px solid var(--border);background:var(--bg);color:var(--text2);font-size:10px}.timeline-event{border-bottom:1px solid var(--border);border-left:3px solid transparent;background:var(--bg2)}.timeline-event:first-child{border-top:1px solid var(--border)}.timeline-event.anomaly{border-left-color:var(--warn)}.timeline-event.level-error,.timeline-event.level-fatal{border-left-color:var(--err)}.timeline-event.selected{outline:1px solid var(--accent);outline-offset:-1px}.timeline-event summary{min-height:40px;display:grid;grid-template-columns:82px 72px minmax(130px,.8fr) minmax(180px,1.5fr) 70px minmax(90px,auto);gap:8px;align-items:center;padding:7px 9px;list-style:none;cursor:pointer;font-size:11px}.timeline-event summary::-webkit-details-marker{display:none}.timeline-event time,.timeline-duration{color:var(--text2);font-variant-numeric:tabular-nums}.timeline-source,.source-badge{justify-self:start;padding:2px 6px;border:1px solid var(--text2);border-radius:3px;color:var(--text2);font-size:10px;white-space:nowrap}.source-client{border-color:var(--ok);color:var(--ok)}.source-server{border-color:#60a5fa;color:#60a5fa}.source-dependency{border-color:var(--warn);color:var(--warn)}.source-system{border-color:var(--text2);color:var(--text2)}.timeline-name,.timeline-message{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-name{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.timeline-anomalies{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.timeline-anomalies b{padding:2px 4px;border:1px solid currentColor;border-radius:3px;color:var(--warn);font-size:9px;font-weight:500}.level-error .timeline-anomalies b,.level-fatal .timeline-anomalies b{color:var(--err)}.timeline-detail{margin:0;border-top:1px solid var(--border);background:var(--bg3)}.raw-log-list{min-height:0}.raw-log-list .logs-table-head{top:-10px}.level-fatal{color:var(--err)}.log-fatal{border-color:var(--err)}.retrieval-panel{overflow:auto}.retrieval-toolbar{flex-shrink:0;display:flex;align-items:end;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.retrieval-toolbar label{min-width:280px;display:grid;gap:4px}.retrieval-toolbar label span{color:var(--text2);font-size:10px}.retrieval-toolbar input{width:100%;height:30px;box-sizing:border-box;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text)}.retrieval-toolbar>span{margin-left:auto;align-self:center;color:var(--text2);font-size:11px}.retrieval-toolbar .btn-primary{display:inline-flex;align-items:center;gap:6px}.retrieval-network{height:30px;white-space:nowrap}.retrieval-note{margin:0;padding:7px 16px;color:var(--text2);border-bottom:1px solid var(--border);font-size:10px}.retrieval-jobs-list{min-height:0;display:grid;align-content:start;padding:10px 16px 20px;gap:6px}.retrieval-job-card{border:1px solid var(--border);border-left:3px solid var(--text2);border-radius:6px;background:var(--bg2);overflow:hidden}.retrieval-job-card.status-complete{border-left-color:var(--ok)}.retrieval-job-card.status-failed{border-left-color:var(--err)}.retrieval-job-card.status-pending,.retrieval-job-card.status-claimed,.retrieval-job-card.status-collecting,.retrieval-job-card.status-uploading,.retrieval-job-card.status-analyzing{border-left-color:var(--warn)}.retrieval-card-summary{width:100%;min-height:66px;display:grid;grid-template-columns:20px minmax(220px,1fr) auto 180px;gap:12px;align-items:center;padding:10px 12px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.retrieval-card-summary:hover{background:var(--bg3)}.retrieval-card-title{min-width:0;display:grid;gap:5px}.retrieval-card-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.retrieval-card-title small,.retrieval-card-summary time small{color:var(--text2);font-size:9px}.retrieval-card-summary time{display:grid;gap:4px;color:var(--text2);font-size:10px;text-align:right}.retrieval-status{padding:3px 7px;border:1px solid currentColor;border-radius:4px;color:var(--text2);font-size:10px;white-space:nowrap}.retrieval-status.status-complete{color:var(--ok)}.retrieval-status.status-failed{color:var(--err)}.retrieval-status.status-pending,.retrieval-status.status-claimed,.retrieval-status.status-collecting,.retrieval-status.status-uploading,.retrieval-status.status-analyzing{color:var(--warn)}.retrieval-card-detail{padding:12px 14px 14px 46px;border-top:1px solid var(--border);background:var(--bg3)}.retrieval-card-detail dl{margin:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:7px 12px;font-size:11px}.retrieval-card-detail dt{color:var(--text2)}.retrieval-card-detail dd{margin:0;min-width:0;overflow-wrap:anywhere}.retrieval-card-detail code{color:var(--text2)}.retrieval-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px}.retrieval-card-actions button{display:inline-flex;align-items:center;gap:5px}.retrieval-association{padding:8px 10px;border:1px solid var(--border);border-radius:4px;color:var(--text2);font-size:10px}.retrieval-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000b8}.retrieval-modal{width:min(560px,100%);border:1px solid var(--border);border-radius:6px;background:var(--bg2);box-shadow:0 20px 60px #00000061}.retrieval-modal>header{display:flex;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border)}.retrieval-modal h3{margin:0;font-size:16px}.retrieval-modal header p{margin:5px 0 0;color:var(--text2);font-size:11px}.retrieval-modal header>button{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--text2);cursor:pointer}.retrieval-dialog-form{display:grid;gap:13px;padding:16px 18px 18px}.retrieval-dialog-form>label,.retrieval-time-fields label{display:grid;gap:5px;color:var(--text2);font-size:10px}.retrieval-dialog-form input,.retrieval-dialog-form textarea{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text);font:inherit;resize:vertical}.retrieval-dialog-form .retrieval-network{height:auto;display:flex;align-items:center;gap:6px}.retrieval-dialog-form .retrieval-network input{width:auto}.retrieval-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.retrieval-target-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:4px;overflow:hidden}.retrieval-target-switch button{height:32px;border:0;background:var(--bg3);color:var(--text2);cursor:pointer}.retrieval-target-switch button.active{background:var(--accent);color:#fff}.retrieval-dialog-form footer{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.log-guide-body{padding:14px 18px 18px;color:var(--text);font-size:12px;line-height:1.7}.log-guide-body ol{margin:0;padding-left:20px}.log-guide-body p{margin:12px 0 0;color:var(--text2)}@media (max-width: 1100px){.raw-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.session-filters{grid-template-columns:repeat(2,minmax(180px,1fr)) auto}.retrieval-card-summary{grid-template-columns:20px minmax(190px,1fr) auto 150px}.timeline-columns-head,.timeline-event summary{grid-template-columns:78px 68px minmax(120px,.8fr) minmax(160px,1.2fr) 60px}.timeline-columns-head span:last-child{display:none}.timeline-anomalies{grid-column:3 / -1;justify-content:flex-start}}@media (max-width: 760px){.shell-nav{width:108px;padding:8px 4px}.shell-brand{padding:7px 6px 12px;font-size:12px}.shell-navitem{padding:8px 6px;font-size:11px}.shell-user{padding:10px 5px;font-size:10px}.logs-header{align-items:flex-start;padding:10px 12px}.logs-header h2{font-size:14px}.logs-header p{line-height:1.45}.log-workbench-tabs{padding:0 8px}.log-workbench-tabs button{flex:1;min-width:0;padding:7px 5px}.log-workbench-body{overflow:auto}.session-analysis-panel,.raw-logs-panel,.retrieval-panel{height:auto;min-height:100%}.session-filters,.raw-filters{grid-template-columns:1fr}.session-workbench{display:block}.session-list{max-height:280px;border-right:0;border-bottom:1px solid var(--border)}.timeline-pane{min-height:460px}.timeline-summary,.timeline-controls{flex-wrap:wrap}.timeline-summary button,.timeline-controls label{margin-left:0}.timeline-list{padding:7px 8px 16px}.timeline-columns-head,.session-columns-head{display:none}.timeline-event summary{grid-template-columns:76px minmax(0,1fr);gap:5px 7px}.timeline-source{min-width:0}.timeline-name,.timeline-message{grid-column:1 / -1;white-space:normal;overflow-wrap:anywhere}.timeline-duration{display:none}.timeline-anomalies{grid-column:1 / -1}.retrieval-card-summary{grid-template-columns:18px minmax(0,1fr) auto;gap:8px}.retrieval-card-summary time{grid-column:2 / -1;text-align:left}.retrieval-card-detail{padding:11px}.retrieval-card-detail dl{grid-template-columns:74px minmax(0,1fr)}.retrieval-toolbar{flex-wrap:wrap;align-items:center}.retrieval-toolbar label{width:100%;min-width:0}.retrieval-toolbar>span{margin-left:0;margin-right:auto}.retrieval-time-fields{grid-template-columns:1fr}}.filter-more-btn.active{border-color:var(--accent);color:var(--accent)}.tag-filter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:24px;background:#00000094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tag-filter-dialog{width:min(820px,100%);max-height:min(86vh,820px);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg2);box-shadow:0 24px 70px #00000085}.tag-filter-header{display:flex;align-items:flex-start;gap:16px;padding:16px 18px 13px;border-bottom:1px solid var(--border);background:var(--bg2)}.tag-filter-header h3{margin:0;font-size:15px}.tag-filter-header p{margin:4px 0 0;color:var(--text2);font-size:11px}.tag-filter-body{min-height:0;overflow-y:auto;padding:14px 18px 20px}.tag-filter-section+.tag-filter-section{margin-top:18px}.tag-filter-section h4{margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border);color:var(--text2);font-size:11px;font-weight:700}.tag-filter-field{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:start;padding:7px 0}.tag-filter-label{padding-top:5px;color:var(--text2);font-size:12px}.tag-filter-options{display:flex;flex-wrap:wrap;gap:6px}.tag-filter-chip{min-height:28px;padding:4px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text2);font-size:11px;cursor:pointer}.tag-filter-chip:hover{border-color:var(--text2);color:var(--text)}.tag-filter-chip.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--bg3))}.tag-filter-footer{display:flex;align-items:center;gap:9px;padding:12px 18px;border-top:1px solid var(--border);background:var(--bg2)}.tag-filter-footer>span{margin-right:auto;color:var(--text2);font-size:11px}.tag-drawer{margin-left:auto;width:520px;max-width:92vw;height:100%;background:var(--bg2);border-left:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;box-shadow:-4px 0 20px #0006}.tag-drawer-body{flex:1;overflow:auto;padding:0 16px 8px}.tag-drawer-footer{flex-shrink:0;display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--border);background:var(--bg2)}.btn-drawer-clear{flex:1;padding:10px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:var(--radius);cursor:pointer}.btn-drawer-clear:hover:not(:disabled){border-color:var(--err);color:var(--err)}.btn-drawer-clear:disabled{opacity:.35;cursor:default}.btn-drawer-apply{flex:2;padding:10px;font-size:13px;font-weight:700;border:none;background:var(--accent);color:#111;border-radius:var(--radius);cursor:pointer}.btn-drawer-apply:hover{filter:brightness(1.1)}.tag-drawer-section{margin-bottom:18px}.tag-drawer-section-title{font-size:11px;font-weight:600;color:var(--text2);letter-spacing:.05em;text-transform:uppercase;margin:14px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border)}.tf-row{margin-bottom:10px}.tf-label{display:block;font-size:11px;color:var(--text2);margin-bottom:5px}.chip-group{display:flex;flex-wrap:wrap;gap:5px}.chip{padding:3px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg3);cursor:pointer;font-size:11px;color:var(--text2);display:inline-flex;flex-direction:column;align-items:center;line-height:1.3}.chip:hover{border-color:var(--text2);color:var(--text)}.chip-active{border-color:var(--accent);color:var(--accent);background:var(--bg)}.chip-bilingual{min-width:48px;text-align:center}.chip-zh{font-size:11px}.chip-en{font-size:9px;opacity:.6}.modal-wide{width:680px;max-width:96vw;max-height:92vh}.modal-wide{width:min(1120px,96vw)}.pose-edit-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.pose-edit-preview{position:sticky;top:0;display:flex;flex-direction:column;gap:10px}.pose-edit-preview-title{font-size:12px;font-weight:600;color:var(--text2)}.pose-edit-preview-img{width:100%;max-height:calc(92vh - 140px);object-fit:contain;border-radius:8px;border:1px solid var(--border);background:var(--bg3)}.pose-edit-main{min-width:0}.edit-tabs{display:flex;gap:2px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:0}.edit-tab{padding:6px 14px;font-size:12px;border:none;background:transparent;color:var(--text2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.edit-tab:hover{color:var(--text)}.edit-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.edit-tab-body{overflow:auto;max-height:calc(92vh - 140px)}.edit-section{padding:4px 0 8px}@media (max-width: 900px){.pose-edit-layout{grid-template-columns:1fr}.pose-edit-preview{position:static}.pose-edit-preview-img{max-height:280px}}.field-row{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field-label{font-size:12px;color:var(--text2)}.field-input,.field-select{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:5px 8px;font-size:12px;font-family:var(--font)}.field-select{width:100%}.required-star{color:var(--err);margin-left:2px}.guide-editor{margin-bottom:14px}.guide-lines{display:flex;flex-direction:column;gap:4px;margin:5px 0}.guide-line{display:flex;align-items:center;gap:6px}.guide-index{font-size:11px;color:var(--text2);min-width:16px;text-align:right}.guide-input{flex:1;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:4px 7px;font-size:12px}.guide-actions{display:flex;gap:3px}.guide-actions button{padding:2px 5px;font-size:11px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:var(--radius);cursor:pointer}.guide-actions button:disabled{opacity:.3}.guide-actions .btn-danger:hover{color:var(--err);border-color:var(--err)}.btn-add-line{font-size:11px;padding:3px 8px;border:1px dashed var(--border);background:transparent;color:var(--text2);border-radius:var(--radius);cursor:pointer;margin-top:2px}.btn-add-line:hover{border-color:var(--accent);color:var(--accent)}.detail-modal{margin:auto;width:min(1000px,96vw);max-height:92vh;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}.detail-modal-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.detail-pose-id{font-family:monospace;font-size:13px;font-weight:600}.detail-layout{display:grid;grid-template-columns:300px 1fr;overflow:hidden;flex:1}.detail-left{border-right:1px solid var(--border);overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.detail-ref-img{width:100%;border-radius:6px;object-fit:contain;background:var(--bg3);max-height:340px}.detail-ref-img--outline{object-fit:contain;background-color:#fff;background-image:repeating-conic-gradient(#ccc,#ccc 25%,#fff 0%,#fff 50%);background-size:16px 16px}.detail-thumb-img{width:60px;height:60px;border-radius:4px;object-fit:cover;background:var(--bg3)}.detail-thumb-row{display:flex;gap:8px}.detail-thumb-sel{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding:3px;border-radius:6px;border:2px solid transparent;transition:border-color .15s}.detail-thumb-sel:hover{border-color:var(--text2)}.detail-thumb-sel.active{border-color:var(--accent)}.detail-thumb-sel img{width:64px;height:80px;border-radius:4px;object-fit:cover;background:var(--bg3)}.detail-thumb-sel.outline img{object-fit:contain;background-color:#e8e8e8;background-image:repeating-conic-gradient(#ccc,#ccc 25%,#e8e8e8 0%,#e8e8e8 50%);background-size:8px 8px}.detail-thumb-sel span{font-size:10px;color:var(--text2)}.detail-thumb-sel.active span{color:var(--accent);font-weight:600}.detail-meta{display:flex;flex-direction:column;gap:4px}.detail-meta-row{display:flex;justify-content:space-between;font-size:11px;color:var(--text2)}.detail-meta-row span:last-child{color:var(--text);font-family:monospace}.detail-transitions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.detail-transitions-label{font-size:11px;color:var(--text2);margin-bottom:2px}.btn-transition{padding:8px 12px;font-size:12px;font-weight:600;border:1.5px solid var(--t-color, var(--border));color:var(--t-color, var(--text2));background:transparent;border-radius:var(--radius);cursor:pointer;text-align:left}.btn-transition:hover{background:color-mix(in srgb,var(--t-color, var(--border)) 15%,transparent)}.btn-transition:disabled{opacity:.4;cursor:default}.detail-right{overflow-y:auto;padding:14px 18px}.detail-section{margin-bottom:16px}.detail-section-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);padding-bottom:5px;margin-bottom:8px;border-bottom:1px solid var(--border)}.detail-kv-row{display:grid;grid-template-columns:90px 1fr;gap:4px 10px;margin-bottom:6px;font-size:12px;align-items:start}.detail-kv-label{color:var(--text2);padding-top:1px}.detail-kv-val{color:var(--text)}.detail-en{font-size:10px;color:var(--text2);margin-left:3px;font-style:normal}.detail-empty{color:var(--text2)}.detail-chip-group{display:flex;flex-wrap:wrap;gap:4px}.detail-chip{display:inline-flex;flex-direction:column;align-items:center;padding:2px 7px;border:1px solid var(--border);border-radius:999px;font-size:11px;color:var(--text);background:var(--bg3);line-height:1.4}.detail-chip em{font-size:9px;color:var(--text2);font-style:normal}.detail-guide-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}.detail-guide-list li{font-size:12px;color:var(--text)}.confirm-overlay{z-index:60}.confirm-dialog{margin:auto;width:min(400px,92vw);background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center}.confirm-icon{font-size:32px;margin-bottom:10px}.confirm-dialog h3{font-size:15px;font-weight:700;margin-bottom:12px}.confirm-dialog p{font-size:13px;color:var(--text);margin-bottom:6px}.confirm-badge{font-weight:700}.confirm-warn{font-size:11px;color:var(--text2);margin-top:4px;margin-bottom:18px}.confirm-actions{display:flex;gap:10px;justify-content:center}.btn-confirm{padding:9px 20px;font-size:13px;font-weight:700;border:2px solid var(--c-color, var(--accent));color:var(--c-color, var(--accent));background:color-mix(in srgb,var(--c-color, var(--accent)) 12%,transparent);border-radius:var(--radius);cursor:pointer}.btn-confirm:hover{background:color-mix(in srgb,var(--c-color, var(--accent)) 22%,transparent)}.pose-thumb-click{cursor:pointer;transition:opacity .15s}.pose-thumb-click:hover{opacity:.75}.redraw-layout{display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:12px;padding:12px 16px;height:calc(100% - 40px);overflow:hidden}.redraw-left,.redraw-right{display:flex;flex-direction:column;gap:12px;min-height:0}.redraw-left{overflow:auto}.redraw-right{overflow:hidden;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.redraw-health{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);font-size:12px;flex-wrap:wrap}.redraw-health-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text2)}.redraw-health.loading .redraw-health-dot{background:var(--text2);animation:pulse 1.2s infinite}.redraw-health.ok .redraw-health-dot{background:var(--ok)}.redraw-health.err .redraw-health-dot{background:var(--err)}.redraw-health.ok{border-color:#22c55e66}.redraw-health.err{border-color:#ef444466}.redraw-health-label{font-weight:600}.redraw-health-server{color:var(--text2);font-family:monospace;font-size:11px}.redraw-health-err{color:var(--err);font-size:11px;flex:1 0 100%}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.redraw-drop{border:1.5px dashed var(--border);border-radius:8px;padding:22px 16px;text-align:center;cursor:pointer;transition:all .15s;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg3) 100%)}.redraw-drop:hover{border-color:var(--accent);box-shadow:0 0 0 3px #facc1514}.redraw-drop p{color:var(--text2);margin-top:4px}.redraw-drop-title{color:var(--text);font-weight:600;font-size:13px}.redraw-drop .hint{color:var(--text2);font-size:11px;margin-top:4px}.redraw-drop .upload-icon{font-size:32px;opacity:.85}.redraw-params-vertical{display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--bg2);border:1px solid var(--border);border-radius:8px}.redraw-params-title{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid var(--border)}.redraw-params-title>span:first-child{font-size:12px;font-weight:700;color:var(--text);letter-spacing:.05em;text-transform:uppercase}.redraw-params-title .hint{color:var(--text2);font-size:10px}.redraw-field{display:flex;flex-direction:column;gap:6px;font-size:12px}.redraw-field-label{display:flex;align-items:baseline;justify-content:space-between;color:var(--text2);font-weight:600;font-size:11px;letter-spacing:.02em}.redraw-field-value{color:var(--accent);font-style:normal;font-weight:700;font-family:monospace;font-size:12px}.redraw-field input[type=text],.redraw-field input[type=number]{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:12px;transition:border-color .12s}.redraw-field input[type=text]:focus,.redraw-field input[type=number]:focus{outline:none;border-color:var(--accent)}.redraw-field .hint{color:var(--text2);font-size:10px;line-height:1.4}.redraw-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 184px;gap:8px;align-items:center}.redraw-slider-row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg3);border-radius:2px;border:1px solid var(--border);cursor:pointer}.redraw-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);cursor:pointer;box-shadow:0 1px 3px #0006}.redraw-slider-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);cursor:pointer}.redraw-stepper{height:38px;display:grid;grid-template-columns:46px minmax(62px,1fr) 46px;align-items:stretch;overflow:hidden;border:1px solid var(--border);border-radius:5px;background:var(--bg3)}.redraw-stepper.has-suffix{grid-template-columns:46px minmax(62px,1fr) auto 46px}.redraw-stepper button{border:0;border-radius:0;background:var(--bg2);color:var(--text);font-size:24px;line-height:1;cursor:pointer;padding:0}.redraw-stepper button:hover{background:var(--accent);color:#111}.redraw-stepper input{min-width:0;border:0!important;border-radius:0!important;background:transparent!important;color:var(--text);padding:0 4px!important;text-align:center;font:600 12px monospace}.redraw-stepper input:focus{outline:1px solid var(--accent);outline-offset:-1px}.redraw-stepper-suffix{align-self:center;color:var(--text2);font-size:10px;padding-right:3px}.redraw-actions{display:flex;align-items:center;gap:12px}.redraw-submit-btn{width:100%;padding:9px 16px;font-size:13px;display:flex;align-items:center;justify-content:center;gap:6px}.redraw-right-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.redraw-right-head h3{font-size:13px;font-weight:600}.redraw-right-head .err{color:var(--err)}.redraw-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text2);gap:6px}.redraw-empty .hint{font-size:11px}.redraw-job-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;overflow:auto;padding-right:2px;align-content:start}.redraw-card{border:1px solid var(--border);background:var(--bg3);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:6px;content-visibility:auto;contain-intrinsic-size:320px}.redraw-card.status-queued{border-color:var(--text2)}.redraw-card.status-running{border-color:var(--accent);box-shadow:0 0 0 1px #facc1526}.redraw-card.status-pending{border-color:var(--text2)}.redraw-card.status-completed{border-color:var(--ok)}.redraw-card.status-error{border-color:var(--err)}.redraw-card-head{display:flex;align-items:center;gap:6px;font-size:11px}.redraw-card-name{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.redraw-card-x{background:transparent;border:none;color:var(--text2);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.redraw-card-x:hover{color:var(--err)}.badge.status-queued,.badge.status-pending{color:var(--text2)}.badge.status-running{color:var(--accent)}.badge.status-completed{color:var(--ok)}.badge.status-error{color:var(--err)}.redraw-card-images{display:grid;grid-template-columns:1fr 1fr;gap:4px}.redraw-img-slot{position:relative;aspect-ratio:1;background:var(--bg);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.redraw-img-slot img{width:100%;height:100%;object-fit:contain}.redraw-img-label{position:absolute;bottom:3px;left:3px;background:#000000a6;padding:1px 5px;border-radius:3px;font-size:10px;color:var(--text)}.redraw-img-placeholder{color:var(--text2);font-size:11px;padding:6px;text-align:center}.redraw-img-placeholder .err{color:var(--err);font-size:10px;word-break:break-word}.redraw-card-meta{font-size:10px;color:var(--text2);display:flex;align-items:center;gap:6px}.redraw-card-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.redraw-download{padding:2px 8px;border:1px solid var(--accent);color:var(--accent);border-radius:3px;text-decoration:none;font-size:10px}.redraw-download:hover{background:var(--accent);color:#111}.redraw-card-edit{margin-top:6px;padding:8px;background:var(--bg2);border:1px solid var(--border);border-radius:4px;display:flex;flex-direction:column;gap:8px}.redraw-card-edit-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.redraw-card-edit-row label{display:flex;flex-direction:column;gap:2px;font-size:10px}.redraw-card-edit-row label>span{color:var(--text2);font-weight:600;letter-spacing:.02em}.redraw-card-edit-row input{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:3px;padding:4px 6px;font-size:11px;font-family:monospace;text-align:right}.redraw-card-edit-row input:focus{outline:none;border-color:var(--accent)}.redraw-card-edit-row .redraw-stepper{width:100%;grid-template-columns:30px minmax(36px,1fr) 30px}.redraw-card-edit-row .redraw-stepper.has-suffix{grid-template-columns:30px minmax(36px,1fr) auto 30px}.redraw-card-edit-actions{display:flex;gap:6px;justify-content:flex-end}.redraw-card-edit-actions .btn-primary{padding:4px 10px;font-size:11px}.err{color:var(--err)}.redraw-batches{display:flex;flex-direction:column;gap:12px;overflow:auto;padding-right:4px}.redraw-batch{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:8px 10px 10px}.redraw-batch-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--border)}.redraw-batch-toggle{background:transparent;border:none;color:var(--text2);cursor:pointer;font-size:14px;padding:0 4px}.redraw-batch-toggle:hover{color:var(--accent)}.redraw-batch-title{font-size:12px;font-weight:700;color:var(--text);margin:0}.redraw-batch-params{color:var(--text2);font-size:11px}.redraw-batch-stats{color:var(--text2);font-size:11px;margin-left:auto}.redraw-batch-actions{display:flex;gap:6px}.redraw-batch-editor{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) minmax(180px,1.2fr) auto;gap:10px;align-items:end;margin:0 0 10px;padding:10px;background:var(--bg2);border:1px solid var(--border);border-radius:5px}.redraw-batch-editor label{display:flex;flex-direction:column;gap:4px;color:var(--text2);font-size:10px}.redraw-batch-editor input[type=text]{height:34px;box-sizing:border-box;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:0 8px}.redraw-show-more{min-height:42px;border:1px dashed var(--border);border-radius:5px;background:var(--bg2);color:var(--text2);cursor:pointer}.redraw-show-more:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 1200px){.redraw-batch-editor{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (max-width: 720px){.redraw-layout{display:flex;flex-direction:column;height:100%;overflow:auto;padding:8px}.redraw-left{flex:none;overflow:visible}.redraw-right{flex:none;min-height:280px;overflow:visible}.redraw-slider-row{grid-template-columns:minmax(0,1fr);gap:6px}.redraw-stepper{width:100%;grid-template-columns:40px minmax(0,1fr) 40px}.redraw-stepper.has-suffix{grid-template-columns:40px minmax(0,1fr) auto 40px}}.redraw-img-clickable{cursor:zoom-in}.redraw-img-clickable:hover{outline:1px solid var(--accent);outline-offset:-1px}.redraw-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px 32px;cursor:zoom-out}.redraw-lightbox-title{color:var(--text);font-size:13px;margin-bottom:12px;opacity:.8}.redraw-lightbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:1600px;flex:1;min-height:0;cursor:default}.redraw-lightbox-figure{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:0;min-width:0}.redraw-lightbox-figure img{max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;box-shadow:0 8px 40px #0009;background:var(--bg)}.redraw-lightbox-figure figcaption{color:var(--text2);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.redraw-lightbox-empty .placeholder{width:100%;aspect-ratio:3/4;max-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text2);font-size:12px}.redraw-lightbox-x{position:absolute;top:16px;right:20px;background:transparent;border:none;color:var(--text);font-size:28px;cursor:pointer;line-height:1}.redraw-lightbox-x:hover{color:var(--accent)}.grid-page{display:grid;grid-template-columns:300px 1fr;gap:16px;height:100%;padding:16px;box-sizing:border-box;overflow:hidden}.grid-left{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.grid-section-title{margin:0 0 2px;font-size:14px;font-weight:600;color:var(--text)}.grid-drop{flex:1;min-height:120px;border:2px dashed var(--border);border-radius:var(--radius);padding:20px 12px;text-align:center;font-size:13px;color:var(--text2);cursor:pointer;background:var(--bg2);transition:border-color .2s,background .2s;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.grid-drop:hover{border-color:var(--accent);background:var(--bg3)}.grid-drop-icon{font-size:28px;opacity:.5}.grid-drop-sub{font-size:11px;opacity:.6}.grid-params{display:flex;flex-direction:column;gap:8px}.grid-field{display:flex;flex-direction:column;gap:3px}.grid-field label{font-size:12px;font-weight:500;color:var(--text2)}.grid-field input{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:13px;background:var(--bg3);color:var(--text);outline:none;transition:border-color .2s}.grid-field input:focus{border-color:var(--accent)}.grid-hint{font-size:11px;color:var(--text2);opacity:.8}.grid-actions{display:flex;flex-direction:column;gap:8px}.grid-btn{padding:9px 14px;border:none;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s,transform .1s}.grid-btn:disabled{opacity:.4;cursor:not-allowed}.grid-btn:not(:disabled):active{transform:scale(.97)}.grid-btn.primary{background:var(--accent);color:#fff}.grid-btn.primary:not(:disabled):hover{opacity:.85}.grid-btn.success{background:#43a047;color:#fff}.grid-btn.success:not(:disabled):hover{background:#2e7d32}.grid-error{padding:8px 12px;background:var(--bg3);border:1px solid #f44336;border-radius:var(--radius);font-size:12px;color:#f44336}.grid-detect-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--text2)}.grid-badge{padding:2px 8px;background:var(--bg3);color:var(--accent);border:1px solid var(--border);border-radius:10px;font-size:11px;font-weight:500}.grid-badge.ghost{color:var(--text2)}.grid-right{display:flex;flex-direction:column;overflow:hidden;background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border)}.grid-right-queue{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;padding:8px;overflow-y:auto;flex-shrink:0;max-height:180px;border-bottom:1px solid var(--border)}.grid-right-queue::-webkit-scrollbar{width:4px;height:4px}.grid-right-queue::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.grid-task-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--bg3);cursor:pointer;transition:border-color .15s;flex-shrink:0;width:80px;position:relative;font-size:11px}.grid-task-card:hover{border-color:var(--accent)}.grid-task-card.active{border-color:var(--accent);background:var(--bg2)}.grid-task-card.status-splitting{border-color:#f59e0b}.grid-task-card.status-error{border-color:#f44336}.grid-task-card.status-done{opacity:.45}.grid-task-thumb-wrap{position:relative;width:60px;height:60px;flex-shrink:0}.grid-task-thumb{width:60px;height:60px;object-fit:cover;border-radius:4px;display:block;background:var(--bg2)}.grid-task-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:20px}.grid-task-overlay.spin{background:#00000073;color:#f59e0b}.grid-task-overlay.err{background:#00000080;color:#f44336}.grid-task-overlay.ok{background:#00000059;color:#43a047}.grid-task-name{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);text-align:center}.grid-task-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;border:none;border-radius:50%;background:var(--bg2);color:var(--text2);font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:opacity .15s}.grid-task-card:hover .grid-task-remove{opacity:1}.grid-task-remove:hover{background:#f44336;color:#fff}.grid-preview-area{flex:1;position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;min-height:0}.grid-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;font-size:13px;color:var(--text2)}.grid-preview-wrap{position:relative;display:inline-block;max-width:100%;max-height:100%;overflow:auto}.grid-preview-img{display:block;max-width:100%;max-height:calc(100vh - 160px);object-fit:contain}.grid-preview-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.grid-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid-slider-val{font-weight:700;color:var(--accent);margin-left:4px}.grid-field input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer;padding:0;border:none;background:none}.grid-preview-label{position:absolute;top:8px;left:8px;background:#00000080;color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;z-index:2;pointer-events:none}.view-toggle-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px;justify-content:flex-start}.view-segment{display:inline-flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.view-segment button{min-width:52px;padding:5px 10px;border:0;border-right:1px solid var(--border);background:var(--bg3);color:var(--text2);font-size:11px;cursor:pointer}.view-segment button:last-child{border-right:0}.view-segment button.active{color:#111;background:var(--accent);font-weight:700}.visible-selection-actions{display:flex;align-items:center;gap:6px}.visible-selection-count{color:var(--text2);font-size:11px}.pose-grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(max(160px,calc((100% - 84px)/8)),1fr));gap:12px}.pose-grid-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;background:var(--bg2);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}.pose-grid-card:hover{border-color:var(--text2);box-shadow:0 2px 8px #00000040}.pose-grid-card.selected{border-color:var(--accent)}.pose-grid-check{position:absolute;top:6px;left:6px;z-index:2;width:15px;height:15px;cursor:pointer;accent-color:var(--accent)}.pose-grid-img-wrap{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;flex-shrink:0}.pose-grid-img-wrap img{width:100%;height:100%;object-fit:cover;display:block}.pose-grid-img-placeholder{width:100%;height:100%;background:var(--bg3)}.pose-grid-status-badge{position:absolute;top:5px;right:5px;font-size:9px;font-weight:600;line-height:1;padding:2px 5px;border-radius:3px;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.pose-grid-info{padding:7px 8px 4px;display:flex;flex-direction:column;gap:3px;flex:1}.pose-grid-id{font-size:10px;font-family:monospace;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pose-grid-scene,.pose-grid-style{font-size:10px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pose-grid-actions{display:flex;flex-wrap:nowrap;gap:3px;padding:5px 6px 6px;border-top:1px solid var(--border);background:var(--bg3);overflow:hidden}.pose-grid-actions .btn-sm{font-size:10px;padding:2px 5px;flex-shrink:0;white-space:nowrap}.semantic-field{display:grid;gap:8px;margin-bottom:18px}.semantic-field-head{display:grid;gap:4px}.semantic-field-head .field-note{margin:0;max-width:720px}.term-editor,.semantic-card-list{display:grid;gap:8px}.term-editor-row{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;gap:7px;align-items:center}.semantic-row-index{color:var(--text2);font-size:10px;text-align:center;font-variant-numeric:tabular-nums}.semantic-card{border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--bg3) 72%,var(--bg2));padding:10px}.semantic-card.concept-row{display:grid;grid-template-columns:minmax(220px,1fr) 28px;gap:8px;align-items:end}.semantic-card.dependency-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.semantic-card-title{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;color:var(--text);font-size:12px;font-weight:700;padding-bottom:7px;border-bottom:1px solid var(--border)}.semantic-grow{min-width:0}.semantic-remove{width:28px;height:28px;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer;font-size:17px}.semantic-remove:hover:not(:disabled){color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent)}.semantic-remove:disabled{opacity:.35;cursor:default}.semantic-add{justify-self:start;border:1px dashed var(--border);border-radius:4px;background:transparent;color:var(--text2);padding:6px 10px;cursor:pointer;font-size:11px}.semantic-add:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.semantic-empty{padding:12px;border:1px dashed var(--border);border-radius:5px;color:var(--text2);font-size:11px;text-align:center}.derived-field{display:grid;grid-template-columns:110px 1fr;gap:3px 12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--bg3);border-radius:4px;font-size:12px}.derived-field>span{color:var(--text2)}.derived-field>strong{color:var(--text)}.derived-field>small{grid-column:2;color:var(--text2);font-size:10px}.detail-head-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.detail-loading{padding:20px}.detail-kv-val{min-width:0}.detail-chip{display:inline-flex;flex-direction:row;padding:4px 8px;border-radius:4px}.detail-chip-group.raw .detail-chip{border-style:dashed;background:transparent}.detail-empty-block{padding:10px 12px;color:var(--text2);border-left:2px solid var(--border);background:var(--bg3);font-size:11px}.semantic-detail-groups{display:grid;gap:8px}.semantic-detail-group{display:grid;grid-template-columns:92px 1fr;align-items:start;gap:8px}.semantic-detail-group>span{color:var(--text2);font-size:11px;padding-top:4px}.dependency-detail-list{display:grid;gap:8px}.dependency-detail-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg3)}.dependency-detail-main{display:flex;gap:7px;align-items:baseline;min-width:0}.dependency-detail-main strong{color:var(--accent);font-size:11px;white-space:nowrap}.dependency-detail-main span{color:var(--text);font-size:12px;overflow-wrap:anywhere}.dependency-detail-card small{color:var(--text2);font-size:10px}.dependency-level{grid-row:1 / span 2;grid-column:2;align-self:center;padding:3px 6px;border-radius:3px;font-size:10px;color:var(--text2);background:var(--bg2)}.dependency-level.level-required{color:#fecaca;background:#ef44441f}.dependency-level.level-preferred{color:#bbf7d0;background:#22c55e1f}.guide-language-warning{margin-bottom:6px;padding:5px 7px;border-left:2px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,transparent);color:var(--warn);font-size:10px}.detail-guide-list{padding-left:20px;gap:6px}.detail-guide-list li{line-height:1.55}.retrieval-state-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.retrieval-state{display:grid;grid-template-columns:8px 1fr;align-items:start;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:5px;background:var(--bg3)}.retrieval-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;background:var(--text2)}.retrieval-state div{display:grid;gap:2px}.retrieval-state strong{color:var(--text);font-size:11px}.retrieval-state small{color:var(--text2);font-size:10px;line-height:1.4}.retrieval-state.tone-ok .retrieval-dot{background:var(--ok)}.retrieval-state.tone-pending .retrieval-dot{background:var(--warn)}.retrieval-state.tone-error .retrieval-dot{background:var(--err)}.concept-review-page{height:100%;overflow:auto;background:var(--bg)}.concept-review-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:18px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg2)}.concept-review-header h2{font-size:16px;margin:0 0 3px}.concept-review-header p{color:var(--text2);font-size:11px;margin:0}.concept-review-count{margin-left:auto;display:flex;align-items:baseline;gap:6px}.concept-review-count strong{color:var(--accent);font-size:20px}.concept-review-count span{color:var(--text2);font-size:11px}.concept-review-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 120px 150px auto;gap:10px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border)}.concept-review-toolbar input,.concept-review-toolbar select,.concept-review-form input,.concept-review-form select{min-width:0;width:100%;padding:7px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text);font-size:12px}.concept-review-toolbar>span{color:var(--text2);font-size:11px}.concept-low-frequency-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text2);font-size:11px;white-space:nowrap;cursor:pointer}.concept-low-frequency-toggle input{width:14px;height:14px;accent-color:var(--accent)}.concept-review-list{padding:12px 18px 24px;display:grid;gap:10px}.concept-review-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(320px,1.5fr);gap:10px 20px;padding:14px;border:1px solid var(--border);border-radius:6px;background:var(--bg2)}.concept-review-term{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.concept-review-term strong{font-size:15px;color:var(--text)}.concept-review-term>span:last-child{color:var(--text2);font-size:10px}.concept-kind-badge{padding:2px 6px;border-radius:3px;background:#facc151f;color:var(--accent);font-size:10px}.concept-review-context{grid-column:1;color:var(--text2);font-size:10px}.concept-suggestion-target{grid-column:2;grid-row:1;align-self:center;padding:8px 10px;border-left:3px solid var(--accent);background:#facc1512;color:var(--text);font-size:12px}.concept-suggestion-target small{margin-left:8px;color:var(--text2);font-size:10px}.concept-decision-tabs{grid-column:2;grid-row:1;display:flex;justify-content:flex-end}.concept-decision-tabs button{padding:6px 10px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;font-size:11px}.concept-decision-tabs button:first-child{border-radius:4px 0 0 4px}.concept-decision-tabs button:last-child{border-radius:0 4px 4px 0}.concept-decision-tabs button+button{border-left:0}.concept-decision-tabs button.active{color:var(--accent);border-color:var(--accent);background:#facc151a}.concept-decision-tabs button.active.danger{color:var(--err);border-color:var(--err);background:#ef44441a}.concept-review-form{grid-column:2;display:grid;grid-template-columns:150px 1fr;gap:10px}.concept-review-form label{display:grid;gap:4px}.concept-review-form label>span{color:var(--text2);font-size:10px}.concept-review-actions{grid-column:2;display:flex;justify-content:flex-end;align-items:center;gap:12px}.concept-review-actions span{color:var(--text2);font-size:10px}.concept-review-error{margin:12px 18px 0;padding:8px 10px;color:var(--err);border-left:3px solid var(--err);background:#ef44441a}.concept-review-notice{margin:12px 18px 0;padding:8px 10px;color:var(--ok);border-left:3px solid var(--ok);background:#4caf501a;font-size:11px}.concept-review-empty{padding:70px 18px;text-align:center;color:var(--text2)}.concept-review-pagination{display:flex;justify-content:center;align-items:center;gap:12px;padding:6px 0 10px}.concept-review-pagination span{color:var(--text2);font-size:11px}.concept-workbench-tabs{display:flex;gap:2px;padding:12px 18px 0;border-bottom:1px solid var(--border);background:var(--bg2)}.concept-workbench-tabs button{padding:9px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text2);cursor:pointer;font-size:12px}.concept-workbench-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.concept-workbench-tabs span{margin-left:5px;color:var(--text2);font-size:10px}.concept-library-grid{padding:14px 18px 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px}.concept-library-more{display:flex;justify-content:center;padding:0 18px 24px}.concept-library-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:5px;background:var(--bg2)}.concept-library-main{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.concept-library-main strong{color:var(--text);font-size:16px}.concept-library-main span{color:var(--text2);font-size:10px}.concept-library-meta{display:grid;grid-template-columns:60px 1fr;gap:8px;font-size:11px}.concept-library-meta>span{color:var(--text2)}.concept-library-meta b{display:inline-block;margin:0 5px 4px 0;padding:2px 6px;border-radius:3px;background:var(--bg3);color:var(--text);font-weight:500}.concept-library-actions{display:flex;justify-content:flex-end;gap:7px}.concept-samples{display:flex;gap:7px;overflow:hidden}.concept-samples figure{width:62px;margin:0;min-width:0}.concept-samples img,.concept-sample-empty{width:62px;height:62px;object-fit:cover;border:1px solid var(--border);border-radius:4px;background:var(--bg3)}.concept-samples img{cursor:zoom-in}.concept-sample-empty{display:grid;place-items:center;color:var(--text2);font-size:10px}.concept-samples figcaption{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);font-size:9px}.concept-no-sample{color:var(--text2);font-size:10px}.concept-review-card>.concept-samples{grid-column:1}.concept-merge-control{grid-column:2;grid-row:2 / span 2;display:grid;gap:8px}.concept-canonical-label{color:var(--text2);font-size:10px}.concept-canonical-options{display:flex;min-width:0}.concept-canonical-options button{min-width:0;padding:7px 10px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);cursor:pointer;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.concept-canonical-options button:first-child{border-radius:4px 0 0 4px}.concept-canonical-options button:last-child{border-radius:0 4px 4px 0}.concept-canonical-options button+button{border-left:0}.concept-canonical-options button.active{border-color:var(--accent);background:#facc151a;color:var(--accent)}.concept-merge-control input{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text)}.concept-alias-preview{color:var(--text2);font-size:10px;line-height:1.5}.concept-merge-actions{display:flex;justify-content:flex-end;gap:8px}.concept-sample-lightbox,.concept-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:24px;background:#000000d1}.concept-sample-lightbox>button{position:fixed;top:18px;right:22px;width:36px;height:36px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:28px}.concept-sample-lightbox figure{max-width:92vw;max-height:90vh;margin:0;text-align:center}.concept-sample-lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;display:block}.concept-sample-lightbox figcaption{margin-top:8px;color:#ddd;font-size:11px}.concept-edit-dialog{width:min(460px,calc(100vw - 32px));display:grid;gap:13px;padding:18px;border:1px solid var(--border);border-radius:6px;background:var(--bg2);box-shadow:0 18px 50px #00000073}.concept-edit-dialog h3{margin:0;font-size:15px}.concept-edit-dialog label{display:grid;gap:5px}.concept-edit-dialog label>span,.concept-edit-dialog p{color:var(--text2);font-size:11px}.concept-edit-dialog input,.concept-edit-dialog textarea{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg3);color:var(--text);resize:vertical}.concept-edit-dialog p{margin:0;line-height:1.5}.concept-edit-actions{display:flex;justify-content:flex-end;gap:8px}@media (max-width: 900px){.detail-modal{width:96vw}.detail-layout{grid-template-columns:220px 1fr}.retrieval-state-grid{grid-template-columns:1fr}.semantic-card.concept-row{grid-template-columns:1fr 28px}.concept-review-card{grid-template-columns:1fr}.concept-review-context,.concept-suggestion-target,.concept-decision-tabs,.concept-review-form,.concept-review-actions{grid-column:1;grid-row:auto}.concept-decision-tabs{justify-content:flex-start}.concept-review-card>.concept-samples,.concept-merge-control{grid-column:1;grid-row:auto}}@media (max-width: 620px){.tag-filter-overlay{padding:8px;place-items:stretch}.tag-filter-dialog{width:100%;max-height:calc(100vh - 16px)}.tag-filter-field{grid-template-columns:1fr;gap:5px}.tag-filter-label{padding-top:0}.tag-filter-footer{flex-wrap:wrap}.tag-filter-footer>span{flex:1 0 100%}.view-toggle-bar{align-items:flex-start;flex-direction:column}.detail-modal{max-height:96vh}.detail-layout{display:block;overflow-y:auto}.detail-left{border-right:0;border-bottom:1px solid var(--border);overflow:visible}.detail-right{overflow:visible}.semantic-card.concept-row,.semantic-card.dependency-row,.concept-review-form{grid-template-columns:1fr}.semantic-card.concept-row .semantic-remove{justify-self:end}.concept-review-toolbar{grid-template-columns:1fr}.concept-review-header{flex-wrap:wrap}.concept-review-count{margin-left:0}.concept-library-grid{grid-template-columns:1fr;padding:10px}.concept-canonical-options{flex-direction:column}.concept-canonical-options button{border-radius:0}.concept-canonical-options button+button{border-left:1px solid var(--border);border-top:0}.concept-merge-actions{justify-content:flex-start;flex-wrap:wrap}}.ip-page{display:flex;height:100%;overflow:hidden}.ip-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.ie-editor{display:flex;flex-direction:column;height:100%;overflow:hidden}.ie-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text2);-webkit-user-select:none;user-select:none}.ie-icon{font-size:48px;opacity:.25}.ie-title{font-size:15px;font-weight:500;color:var(--text);opacity:.4}.ie-sub{font-size:12px;color:var(--text2);opacity:.4}.tp-panel{width:256px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg2);overflow:hidden;height:100%}.tp-hd{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;font-size:12px;font-weight:600;background:var(--bg3);border-bottom:1px solid var(--border);flex-shrink:0}.tp-count{font-size:11px;color:var(--text2);font-weight:400}.tp-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 12px;cursor:pointer;border-bottom:1px solid var(--border);flex-shrink:0;border:2px dashed var(--border);margin:8px;border-radius:var(--radius);transition:background .15s,border-color .15s}.tp-drop:hover,.tp-drop-over{background:#facc1512;border-color:#facc1580}.tp-drop-icon{font-size:28px;opacity:.55;line-height:1}.tp-drop-title{font-size:12px;color:var(--text);font-weight:500}.tp-drop-sub{font-size:10px;color:var(--text2);opacity:.7}.tp-grid{flex:1;min-height:0;overflow-y:auto;padding:8px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:max-content;gap:6px;align-content:start}.tc-card{display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg3);cursor:pointer;overflow:hidden;transition:border-color .12s}.tc-card:hover{border-color:#555}.tc-active{border-color:var(--accent)!important}.tc-done{border-color:#22c55e73}.tc-run{border-color:#facc1559}.tc-thumb{position:relative;width:100%;padding-top:133.33%;overflow:hidden;background:#1a1a1a}.tc-thumb-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.tc-fname{position:absolute;bottom:0;left:0;right:0;padding:14px 5px 4px;background:linear-gradient(transparent,#000000b3);font-size:9px;color:#ddd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-badge{position:absolute;top:4px;right:4px;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;letter-spacing:.02em}.b-queue{background:#0000008c;color:#999}.b-run{background:#facc15d9;color:#111}.b-done{background:#22c55ed9;color:#111}.b-error{background:#ef4444d9;color:#fff}.tc-badge-import-err{top:auto;right:auto;bottom:24px;left:50%;transform:translate(-50%);background:#eab308f2;color:#111;white-space:nowrap}.tp-source-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.tp-source-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 4px;font-size:11px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;color:var(--text2);cursor:pointer;transition:color .12s,border-color .12s}.tp-source-tab:hover{color:var(--text)}.tp-source-active{color:var(--accent)!important;border-bottom-color:var(--accent)!important}.tp-filters{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.tp-filter-btn{display:flex;align-items:center;gap:3px;padding:2px 8px;font-size:10px;border-radius:10px;background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer;transition:border-color .12s,color .12s}.tp-filter-btn:hover{border-color:#555;color:var(--text)}.tp-filter-active{border-color:var(--accent)!important;color:var(--accent)!important;background:#facc1514!important}.tp-filter-cnt{font-size:9px;background:#ffffff1f;border-radius:8px;padding:0 4px;min-width:14px;text-align:center}.tp-bulk-actions{display:flex;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.tp-bulk-btn{flex:1;min-height:27px;padding:3px 7px;border-radius:var(--radius);background:var(--bg3);border:1px solid var(--border);color:var(--text2);font-size:10px;cursor:pointer}.tp-bulk-btn:hover{border-color:#777;color:var(--text)}.tp-bulk-retry{border-color:#eab3088c;color:#d8a900}.tp-bulk-btn span{margin-left:3px;font-weight:700}.tc-rm{position:absolute;top:4px;left:4px;width:18px;height:18px;border-radius:50%;background:#0009;color:#ccc;border:none;cursor:pointer;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.tc-card:hover .tc-rm{opacity:1}.tc-rm:hover{background:var(--err);color:#fff}.tc-steps{display:flex;gap:4px;padding:5px 6px 4px;flex-shrink:0}.tc-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.tc-bar{width:100%;height:3px;border-radius:2px;transition:background .2s}.bar-w{background:var(--border)}.bar-g{background:var(--ok)}.bar-r{background:var(--accent);animation:pulse-bar 1.2s ease-in-out infinite}.bar-err{background:var(--err)}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.35}}.tc-lbl{font-size:8px;color:#555}.lbl-g{color:var(--ok)}.lbl-r{color:var(--accent)}.tc-actions{display:flex;gap:4px;padding:0 5px 5px}.tc-action{flex:1;min-height:23px;padding:2px 3px;border-radius:4px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:9px;cursor:pointer;white-space:nowrap}.tc-action:hover{color:var(--text);border-color:#777}.tc-action-retry{border-color:#eab3088c;color:#d8a900}.tc-action-export{border-color:#22c55e8c;color:var(--ok)}.tp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:center;justify-content:center}.tp-dialog{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:18px 20px;min-width:260px;max-width:360px;box-shadow:0 8px 32px #00000080;font-size:13px}.tp-dialog p{margin-bottom:14px;line-height:1.5}.tp-dialog-btns{display:flex;justify-content:flex-end;gap:8px}.btn-cancel{padding:5px 14px;font-size:12px;border-radius:var(--radius);background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer}.btn-cancel:hover{border-color:var(--text2);color:var(--text)}.btn-danger{padding:5px 14px;font-size:12px;font-weight:600;border-radius:var(--radius);background:var(--err);border:1px solid var(--err);color:#fff;cursor:pointer}.btn-danger:hover{opacity:.85}.bp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;display:flex;align-items:center;justify-content:center}.bp-dialog{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:20px 24px;min-width:320px;max-width:420px;box-shadow:0 8px 32px #00000080}.bp-dialog-title{font-size:14px;font-weight:600;margin-bottom:10px}.bp-dialog p{font-size:12px;color:var(--text2);line-height:1.6;margin-bottom:16px}.bp-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.btn-confirm-danger{padding:5px 14px;font-size:12px;font-weight:600;border-radius:var(--radius);background:var(--err);border:1px solid var(--err);color:#fff;cursor:pointer}.btn-confirm-danger:hover{opacity:.85}.import-error{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:4px 8px;border-radius:var(--radius);background:#eab3081a;border:1px solid rgba(234,179,8,.35);color:#ca8a04;font-size:11px;margin-bottom:4px}.btn-retry-import{padding:1px 8px;font-size:10px;border-radius:var(--radius);background:#eab30826;border:1px solid rgba(234,179,8,.5);color:#ca8a04;cursor:pointer;white-space:nowrap}.btn-retry-import:hover{background:#eab30840}.btn-regen-outline{padding:3px 10px;font-size:11px;border-radius:var(--radius);background:var(--bg3);border:1px solid var(--border);color:var(--text2);cursor:pointer;margin-left:auto}.btn-regen-outline:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-regen-outline:disabled{opacity:.4;cursor:not-allowed}.config-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.config-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0}.config-header h2{font-size:15px;font-weight:600;margin:0}.config-section{overflow:auto;padding:12px 16px}.config-section:first-of-type{flex:1}.config-section-compact{flex:0 0 auto;border-top:1px solid var(--border);background:var(--bg2)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.section-header h3{font-size:13px;font-weight:600;margin:0}.section-help{margin:5px 0 0;color:var(--text2);font-size:11px;line-height:1.55;max-width:860px}.vlm-config-table{width:100%;min-width:1180px;border-collapse:collapse;font-size:12px}.vlm-config-table th{text-align:left;padding:6px 8px;color:var(--text2);font-weight:600;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0}.vlm-config-table td{padding:8px;border-bottom:1px solid var(--border)}.vlm-config-table tbody tr:hover{background:var(--bg2)}.vlm-config-table code{background:var(--bg3);padding:2px 6px;border-radius:3px;font-size:11px;color:var(--text);font-family:monospace}.provider-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid currentColor}.provider-openai{color:#10a37f;background:#10a37f1a}.provider-claude{color:#cc785c;background:#cc785c1a}.provider-gemini{color:#4285f4;background:#4285f41a}.api-key-masked{font-family:Consolas,Monaco,monospace;color:var(--text2);font-size:11px}.url-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2);font-size:11px}.active-marker{display:inline-flex;align-items:center;gap:4px;color:#b6ffbd;background:#4caf5038;border:1px solid rgba(76,175,80,.55);border-radius:999px;padding:3px 9px;font-weight:600;font-size:11px}.active-config-row{background:#4caf5024;box-shadow:inset 3px 0 0 var(--ok)}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border);transition:.3s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:var(--bg);transition:.3s;border-radius:50%}input:checked+.slider{background-color:var(--ok)}input:checked+.slider:before{transform:translate(20px)}.btn-primary{padding:5px 12px;font-size:12px;border:1px solid var(--accent);background:var(--accent);color:#111;border-radius:var(--radius);cursor:pointer;font-weight:600}.btn-primary:hover{opacity:.9}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:none;font-size:11px;padding:0}.btn-link:hover{text-decoration:underline}.btn-link:disabled{color:var(--text2);cursor:not-allowed;opacity:.5}.btn-sm{padding:3px 8px;font-size:11px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:var(--radius);cursor:pointer}.btn-sm:hover{color:var(--text);border-color:var(--text2)}.btn-danger{background:var(--err);color:#fff;border:1px solid var(--err)}.btn-danger:hover{opacity:.9}.btn{padding:5px 12px;font-size:12px;border:1px solid var(--border);background:var(--bg3);color:var(--text);border-radius:var(--radius);cursor:pointer}.btn:hover{border-color:var(--text2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-large{max-width:600px}.modal-content h3{margin-top:0;margin-bottom:14px;font-size:14px;font-weight:600}.form-group{margin-bottom:12px}.form-group label{display:block;margin-bottom:4px;font-size:11px;color:var(--text2);font-weight:500}.field-help{margin:-2px 0 6px;color:var(--text2);font-size:11px;line-height:1.45}.form-group input[type=text],.form-group input[type=password],.form-grid input[type=number],.form-grid select,.form-group select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);font-size:12px;background:var(--bg3);color:var(--text)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-group input.error{border-color:var(--err)}.error-msg{color:var(--err);font-size:11px;margin-top:4px;display:block}.required{color:var(--err)}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.rate-limit-panel{display:flex;flex-direction:column;gap:10px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;align-items:end}.form-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text2);font-weight:500}.form-grid small{display:block;margin-top:3px;color:var(--text2);font-size:10px;line-height:1.35;font-weight:400}.form-grid .inline-field{flex-direction:row;align-items:center;gap:8px;min-height:30px}.section-actions{display:flex;align-items:center;gap:10px}.risk-note{border:1px solid rgba(244,67,54,.45);background:#f443361f;color:var(--text);border-radius:var(--radius);padding:10px 12px;margin-bottom:12px;font-size:12px;line-height:1.55}.benchmark-panel{display:flex;flex-direction:column;gap:10px}.benchmark-page{overflow:auto;padding:16px}.benchmark-panel select{min-width:220px;padding:5px 8px;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius)}.benchmark-levels{display:inline-flex;align-items:center;gap:7px;color:var(--text2);font-size:12px}.benchmark-levels label,.benchmark-number{white-space:nowrap}.benchmark-number{color:var(--text2);font-size:12px}.benchmark-number input{width:52px;margin-left:3px;padding:4px;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius)}.benchmark-run-settings{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);font-size:12px}.benchmark-cases{display:flex;flex-direction:column;gap:10px}.benchmark-cases-header{display:flex;align-items:center;justify-content:space-between}.benchmark-case{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--border);background:var(--bg2);border-radius:var(--radius)}.benchmark-case-media{width:120px;height:120px;display:grid;place-items:center;overflow:hidden;color:var(--text2);background:var(--bg3);border:1px solid var(--border);font-size:11px}.benchmark-case-media img{width:100%;height:100%;object-fit:cover}.benchmark-case-main{min-width:0;display:flex;flex-direction:column;gap:8px}.benchmark-case-title{display:flex;gap:8px;align-items:center}.benchmark-case-title input,.benchmark-image-url,.benchmark-pose-search input{min-width:0;flex:1;padding:6px 8px;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:12px}.benchmark-upload{align-self:flex-start;font-size:12px;color:var(--accent);cursor:pointer}.benchmark-upload input{display:none}.benchmark-pose-search{display:flex;gap:8px}.benchmark-selected-poses{display:flex;flex-wrap:wrap;gap:6px}.benchmark-pose-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;color:var(--text);background:#4caf5029;border:1px solid rgba(76,175,80,.4);border-radius:4px;font-size:11px}.benchmark-pose-chip button{padding:0;border:0;background:transparent;color:var(--text2);cursor:pointer;font-size:15px;line-height:1}.benchmark-pose-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.benchmark-pose-result{display:grid;grid-template-columns:auto 34px minmax(0,1fr);gap:6px;align-items:center;padding:5px;border:1px solid var(--border);border-radius:var(--radius);font-size:11px;cursor:pointer}.benchmark-pose-result img{width:34px;height:34px;object-fit:cover;background:var(--bg3)}.benchmark-pose-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 680px){.benchmark-case{grid-template-columns:1fr}.benchmark-case-media{width:100%;height:180px}}.benchmark-suite-input{min-height:180px;width:100%;resize:vertical;box-sizing:border-box;padding:10px;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);font:12px/1.5 Consolas,monospace}.benchmark-message{margin:0;color:var(--text2);font-size:12px;white-space:pre-wrap}.benchmark-report{border-top:1px solid var(--border);padding-top:10px;overflow:auto}.benchmark-run-title{font-size:12px;font-weight:600;margin-bottom:8px}.benchmark-table{width:100%;min-width:820px;border-collapse:collapse;font-size:12px}.benchmark-table th,.benchmark-table td{border-bottom:1px solid var(--border);padding:7px 8px;text-align:left;white-space:nowrap}.benchmark-table th{color:var(--text2);font-weight:600}.risk-note p{margin:0}.confirm-details{display:grid;grid-template-columns:90px 1fr;gap:7px 12px;margin:0;font-size:12px}.confirm-details dt{color:var(--text2)}.confirm-details dd{margin:0;word-break:break-all}.toast{position:fixed;bottom:2rem;right:2rem;padding:12px 42px 12px 16px;border-radius:var(--radius);background:var(--bg2);border:1px solid var(--border);box-shadow:0 4px 12px #0000004d;z-index:2000;animation:slideIn .3s ease;font-size:12px;display:flex;align-items:flex-start;gap:10px;width:min(720px,calc(100vw - 32px));max-height:42vh;overflow:auto;line-height:1.55}.toast-msg{white-space:pre-wrap;overflow-wrap:anywhere}.toast-close{position:absolute;top:8px;right:8px;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer;font-size:18px;line-height:1}.toast-close:hover{background:#ffffff14;color:var(--text)}.toast-ok{border-color:var(--ok);color:var(--ok)}.toast-err{border-color:var(--err);color:var(--err)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.muted{color:var(--text2);font-size:12px}.auth-loading,.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text)}.auth-card{width:min(360px,calc(100vw - 32px));display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2)}.auth-card h1,.admin-users h2{font-size:18px;font-weight:650}.auth-card p{color:var(--text2);margin-top:4px}.auth-card label,.admin-create label{display:flex;flex-direction:column;gap:6px;color:var(--text2)}.auth-card input,.admin-create input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text)}.auth-submit,.btn-secondary{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:13px}.auth-submit{padding:9px 12px;background:var(--accent);color:#111;font-weight:650}.auth-submit:disabled{opacity:.45;cursor:not-allowed}.auth-error{padding:8px 10px;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius);color:var(--err);background:#ef444414}.auth-error.inline{margin-bottom:12px}.auth-reauth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:16px;background:#00000094}.auth-reauth-card{box-shadow:0 18px 52px #0000005c}.auth-reauth-card h2{margin:0;font-size:18px;font-weight:650}.field-help,.field-count,.field-error,.admin-form-note{line-height:1.45;font-size:11px}.field-help,.field-count,.admin-form-note{color:var(--text2)}.field-error{color:var(--err)}.admin-form-note{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3)}.password-input-row,.password-actions{display:flex;gap:6px}.password-input-row input{flex:1}.password-edit{display:flex;flex-direction:column;gap:6px;min-width:220px}.password-edit input{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text);font-size:12px}.shell-user{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid var(--border);color:var(--text2)}.shell-user button,.btn-secondary{padding:6px 10px;background:var(--bg3);color:var(--text2)}.shell-user button:hover,.btn-secondary:hover{color:var(--text)}.admin-users{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0;overflow:hidden}.admin-users-main{min-width:0;overflow:auto;padding:16px}.admin-create{display:flex;flex-direction:column;gap:12px;padding:16px;border-left:1px solid var(--border);background:var(--bg2);overflow:auto}.admin-users-table{width:100%;border-collapse:collapse;background:var(--bg2)}.admin-users-table th,.admin-users-table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.admin-users-table th{color:var(--text2);font-size:12px;font-weight:650}.admin-users-table td>span{display:block;margin-top:2px;color:var(--text2);font-size:12px}.permission-grid{display:flex;flex-wrap:wrap;gap:6px}.permission-grid.compact{max-width:560px}.permission-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg3);color:var(--text2);white-space:nowrap}.permission-chip.active{color:var(--accent);border-color:#facc1599}@media (max-width: 900px){.admin-users{grid-template-columns:1fr}.admin-create{border-left:0;border-top:1px solid var(--border)}}.updates-page{height:100%;overflow:auto;background:#101112;color:var(--text);padding:24px 28px 48px}.updates-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.updates-header h1{font-size:24px;font-weight:650;line-height:1.1}.updates-kicker{display:flex;align-items:center;gap:7px;color:#eab308;font:700 10px/1.4 Consolas,monospace;letter-spacing:.14em;margin-bottom:7px}.icon-button,.row-actions button,.updates-modal header button,.updates-alert button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);background:var(--bg2);border:1px solid var(--border);border-radius:5px;cursor:pointer}.icon-button:hover,.row-actions button:hover,.updates-modal header button:hover{color:var(--text);border-color:#666}.icon-button:disabled{opacity:.45;cursor:wait}.spin{animation:spin 1s linear infinite}.updates-alert{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;margin-bottom:14px;border:1px solid;border-radius:5px;font-size:12px}.updates-alert.error{color:#fecaca;border-color:#ef44448c;background:#7f1d1d40}.updates-alert.success{color:#bbf7d0;border-color:#22c55e73;background:#14532d40}.updates-alert button{width:24px;height:24px;border:0;background:transparent}.updates-section{border-top:1px solid #3a3a3a;padding-top:14px;margin-top:16px}.updates-section.task-section{margin-top:34px}.updates-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.updates-section-head>div{display:flex;align-items:baseline;gap:10px}.updates-section-head h2{font-size:15px;font-weight:650}.updates-section-head span{color:var(--text2);font-size:11px}.primary-button,.secondary-button{min-height:31px;padding:6px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:5px;font-size:12px;font-weight:650;cursor:pointer}.primary-button{color:#181300;background:#facc15;border:1px solid #facc15}.primary-button:hover{background:#fde047}.primary-button:disabled{opacity:.4;cursor:not-allowed}.secondary-button{color:var(--text);background:var(--bg3);border:1px solid var(--border)}.updates-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:5px;background:#151617}.updates-table-wrap{scrollbar-width:thin;scrollbar-color:#4b4d50 #1b1c1d}.updates-table-wrap::-webkit-scrollbar{height:8px}.updates-table-wrap::-webkit-scrollbar-track{background:#1b1c1d}.updates-table-wrap::-webkit-scrollbar-thumb{background:#4b4d50;border-radius:4px}.updates-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.updates-table th{height:34px;padding:0 10px;color:#858585;background:#191a1b;border-bottom:1px solid var(--border);text-align:left;font-size:10px;font-weight:650;text-transform:uppercase}.updates-table td{height:55px;padding:8px 10px;border-bottom:1px solid #292a2b;color:#d8d8d8;vertical-align:middle;font-size:12px}.updates-table tr:last-child td{border-bottom:0}.updates-table tbody tr:hover{background:#1a1b1c}.updates-table th:nth-child(1){width:160px}.updates-table th:nth-child(2){width:90px}.updates-table th:nth-child(3){width:80px}.updates-table th:nth-child(5){width:90px}.updates-table th:nth-child(6){width:120px}.updates-table th:last-child{width:88px}.task-table th:nth-child(1){width:160px}.task-table th:nth-child(2){width:130px}.task-table th:nth-child(3){width:80px}.task-table th:nth-child(4){width:75px}.task-table th:nth-child(5){width:120px}.task-table th:nth-child(6){width:90px}.task-table th:nth-child(7){width:160px}.task-table th:last-child{width:105px}.updates-table strong,.updates-table small{display:block}.updates-table strong{color:#f3f3f3;font-weight:600}.updates-table small{color:#777;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:Consolas,monospace}.muted-cell{color:#888!important}.notes-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aaa!important}.platform-badge,.status-badge{display:inline-flex;align-items:center;height:21px;padding:0 7px;border-radius:3px;font-size:9px;font-weight:750;letter-spacing:.04em}.platform-badge{color:#bae6fd;background:#0e749040;border:1px solid rgba(56,189,248,.28)}.status-badge.draft{color:#cbd5e1;background:#272b31}.status-badge.active{color:#bbf7d0;background:#15803d4d}.status-badge.paused{color:#fed7aa;background:#c2410c47}.status-badge.completed{color:#bfdbfe;background:#1d4ed847}.table-link{color:#facc15;text-decoration:none}.table-link:hover{text-decoration:underline}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.row-actions button{width:27px;height:27px;background:transparent;border-color:transparent}.row-actions button.danger:hover{color:#f87171;border-color:#f871714d}.rollout{position:relative;width:120px;height:22px;overflow:hidden;background:#27292b;border:1px solid #333;border-radius:3px}.rollout span{position:absolute;inset:0 auto 0 0;background:#3f6212}.rollout b{position:relative;display:block;padding:2px 6px;color:#ecfccb;font:650 10px/16px Consolas,monospace}.updates-empty{min-height:110px;display:flex;align-items:center;justify-content:center;gap:9px;color:#666}.updates-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#000000b8}.updates-modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#191a1b;border:1px solid #3d3e40;border-radius:6px;box-shadow:0 24px 80px #0000008c}.updates-modal header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#191a1b;border-bottom:1px solid var(--border)}.updates-modal h3{font-size:15px}.updates-modal header button{width:28px;height:28px;background:transparent}.updates-form{display:flex;flex-direction:column;gap:13px;padding:16px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.updates-field{display:flex;flex-direction:column;gap:5px;min-width:0}.updates-field>span{color:#a0a0a0;font-size:11px;font-weight:550}.updates-field input,.updates-field select,.updates-field textarea{width:100%;min-height:34px;padding:7px 9px;color:var(--text);background:#222426;border:1px solid #3b3d40;border-radius:4px;font:inherit;resize:vertical}.updates-field input:focus,.updates-field select:focus,.updates-field textarea:focus{outline:0;border-color:#ca8a04;box-shadow:0 0 0 2px #ca8a041f}.force-toggle{display:flex;align-items:center;gap:8px;width:fit-content;color:#fca5a5;font-size:12px;cursor:pointer}.force-toggle input{accent-color:#ef4444}.updates-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}@media (max-width: 760px){.shell-updates{flex-direction:column}.shell-updates .shell-nav{width:100%;height:49px;flex-direction:row;align-items:center;gap:2px;padding:6px 8px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border)}.shell-updates .shell-nav{scrollbar-width:none}.shell-updates .shell-nav::-webkit-scrollbar{display:none}.shell-updates .shell-brand,.shell-updates .shell-user{display:none}.shell-updates .shell-navitem{flex:0 0 auto;padding:8px 10px;white-space:nowrap;font-size:12px}.shell-updates .shell-main{min-height:0}.updates-page{padding:18px 14px 36px}.updates-header{align-items:center}.updates-header h1{font-size:21px}.form-pair{grid-template-columns:1fr}.updates-section-head{align-items:flex-start}.updates-section-head>div{display:block}.updates-section-head span{display:block;margin-top:3px}}.app-users-page{height:100%;overflow:auto;padding:24px 28px 36px;color:var(--text)}.app-users-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);padding-bottom:16px;margin-bottom:16px}.app-users-header h1{margin:0;font-size:22px}.app-users-header p{margin:6px 0 0;color:var(--text2);font-size:12px}.app-users-tabs{display:flex;gap:4px}.app-users-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text2);padding:8px 12px;cursor:pointer}.app-users-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.app-users-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:14px}.app-users-filters label{display:grid;gap:4px;min-width:136px}.app-users-filters label:first-child{min-width:260px;flex:1}.app-users-filters span{color:var(--text2);font-size:11px}.app-users-filters input,.app-users-filters select{height:32px;padding:0 8px;border:1px solid var(--border);background:var(--bg3);color:var(--text);border-radius:var(--radius)}.app-users-workspace{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:18px;min-height:430px}.app-users-list,.app-users-audit{min-width:0}.app-users-count{display:flex;justify-content:space-between;align-items:center;color:var(--text2);font-size:12px;padding:0 0 8px}.app-users-table-wrap{overflow:auto;border-top:1px solid var(--border)}.app-users-table{width:100%;min-width:860px;border-collapse:collapse;font-size:12px}.app-users-table th,.app-users-table td{padding:10px 9px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.app-users-table th{color:var(--text2);font-size:11px;font-weight:600}.app-users-table tr.selected td{background:#ec489914}.app-user-link{display:grid;gap:3px;text-align:left;border:0;padding:0;background:transparent;color:var(--text);cursor:pointer}.app-user-link span{color:var(--text2);font-size:11px}.app-user-id{display:inline-flex;align-items:center;gap:5px;max-width:180px}.app-user-id code{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--text2)}.app-user-id button{flex:0 0 24px;width:24px;height:24px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text2);cursor:pointer}.app-user-id button:hover{background:var(--bg3);color:var(--text)}.app-user-status{font-size:11px}.app-user-status.active{color:var(--ok)}.app-user-status.disabled{color:var(--warn)}.app-user-status.deleted{color:var(--text2)}.app-users-empty{color:var(--text2);text-align:center!important;padding:40px!important}.app-users-pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;color:var(--text2);font-size:11px}.app-user-detail{border-left:1px solid var(--border);padding-left:18px;min-width:0}.app-user-detail-empty{color:var(--text2);font-size:13px;padding:38px 10px}.app-user-detail-title{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--border);padding-bottom:12px}.app-user-detail-title h2{margin:0 0 4px;font-size:18px}.app-user-detail-title code,.app-user-detail code{color:var(--text2);font-size:10px;word-break:break-all}.app-user-detail-title>button{border:0;background:transparent;color:var(--text2);font-size:20px;cursor:pointer}.app-user-detail dl{display:grid;grid-template-columns:92px 1fr;gap:9px 12px;margin:16px 0 22px;font-size:12px}.app-user-detail dt{color:var(--text2)}.app-user-detail dd{margin:0;overflow-wrap:anywhere}.app-user-detail h3{border-bottom:1px solid var(--border);padding-bottom:8px;font-size:13px}.app-user-detail-section{margin-top:18px}.app-user-detail-section dl{margin-bottom:0}.app-user-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.app-user-detail-muted{color:var(--text2);font-size:12px}.app-user-field-label{display:inline-flex;align-items:center;gap:4px}.app-user-help{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:0;background:transparent;color:var(--text2);cursor:help}.app-user-help:hover,.app-user-help:focus-visible{color:var(--accent)}.app-user-identities{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:12px}.app-user-identities li{display:flex;justify-content:space-between;gap:8px}.app-user-actions{display:flex;gap:8px;border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.app-user-actions .btn-secondary,.app-user-actions .btn-danger{flex:1}.app-users-audit .app-users-table{min-width:600px}@media (max-width: 980px){.app-users-workspace{grid-template-columns:1fr}.app-user-detail{border-left:0;border-top:1px solid var(--border);padding:18px 0 0}}.feedback-page{min-width:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.feedback-header{min-height:58px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg2);display:flex;align-items:center;justify-content:space-between}.feedback-header h2{margin:0;font-size:16px}.feedback-header p{margin:3px 0 0;color:var(--text2);font-size:12px}.feedback-header>span{color:var(--text2);font-size:12px}.feedback-filters{padding:8px 16px;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--border)}.feedback-filters input,.feedback-filters select,.feedback-resolution select,.feedback-resolution textarea{background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 9px}.feedback-filters input{min-width:0;width:min(360px,45vw)}.feedback-error{padding:8px 16px;overflow-wrap:anywhere;color:var(--danger);border-bottom:1px solid var(--danger)}.feedback-workbench{min-height:0;flex:1;display:flex}.feedback-list{min-width:0;flex:1;overflow:auto}.feedback-list table{width:100%;border-collapse:collapse;font-size:12px}.feedback-list th{position:sticky;top:0;z-index:1;background:var(--bg2);color:var(--text2);text-align:left;padding:8px;white-space:nowrap;border-bottom:1px solid var(--border)}.feedback-list td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top;max-width:220px;overflow-wrap:anywhere}.feedback-list tr.selected td{background:var(--bg3)}.feedback-list tbody tr{cursor:pointer}.feedback-list tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.feedback-link{border:0;padding:0;background:transparent;color:var(--accent);cursor:pointer}.feedback-user-summary{display:block;max-width:190px;margin-top:3px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-description-cell{display:block;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback-status{display:inline-block;border:1px solid var(--border);border-radius:4px;padding:2px 6px;white-space:nowrap}.feedback-status.status-pending{color:var(--warning)}.feedback-status.status-in_progress{color:var(--accent)}.feedback-status.status-resolved{color:var(--success)}.source-tag{display:inline-block;padding:1px 5px;border:1px solid var(--border);border-radius:3px;color:var(--text2);white-space:nowrap}.source-client{color:var(--accent)}.source-server{color:var(--success)}.source-dependency,.log-truncated,.log-failed{color:var(--warning)}.log-attached{color:var(--success)}.log-expired{color:var(--text2)}.feedback-detail{width:min(66.667%,1100px);flex-shrink:0;overflow:auto;border-left:1px solid var(--border);background:var(--bg2)}.feedback-detail>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:start;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg2)}.feedback-detail>header div{display:grid;gap:4px}.feedback-detail>header span{color:var(--text2);font-size:12px;overflow-wrap:anywhere}.feedback-detail>header button{border:0;background:transparent;color:var(--text2);font-size:20px;cursor:pointer}.feedback-detail section{padding:12px 16px;border-bottom:1px solid var(--border)}.feedback-detail h3{margin:0 0 9px;font-size:13px}.feedback-description{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-detail dl{display:grid;grid-template-columns:74px 1fr;gap:6px 10px;font-size:12px}.feedback-detail dt{color:var(--text2)}.feedback-detail dd{margin:0}.feedback-artifacts{display:grid;gap:6px}.feedback-artifacts>div{display:flex;align-items:center;justify-content:space-between}.feedback-artifacts em{color:var(--text2);font-style:normal}.feedback-section-title{display:flex;justify-content:space-between;align-items:center}.feedback-section-title>div{display:flex;gap:6px}.feedback-timeline{display:grid;gap:4px;max-height:390px;overflow:auto}.feedback-event{border-left:3px solid var(--border);background:var(--bg3)}.feedback-event.level-error,.feedback-event.level-fatal{border-left-color:var(--danger)}.feedback-event.level-warn{border-left-color:var(--warning)}.feedback-event>button{width:100%;display:grid;grid-template-columns:126px 68px minmax(0,1fr) 36px;gap:7px;align-items:center;text-align:left;border:0;background:transparent;color:var(--text);padding:7px;cursor:pointer}.feedback-event time{color:var(--text2);font-size:11px}.feedback-event b{font-weight:500;overflow-wrap:anywhere}.feedback-event-detail{padding:0 8px 8px 208px;display:grid;gap:5px}.feedback-event-detail code,.feedback-event-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.feedback-resolution{display:grid;gap:8px}.feedback-resolution textarea{min-height:76px;resize:vertical}.diagnostic-completeness{display:flex;gap:6px}.diagnostic-completeness span{color:var(--text2);border:1px solid var(--border);border-radius:3px;padding:1px 5px}.diagnostic-completeness span.available{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.diagnostic-workspace .feedback-timeline-section{padding:0}.feedback-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 0}.feedback-section-heading h3{margin:0}.diagnostic-export-actions{display:flex;gap:8px}.diagnostic-export-actions button{display:inline-flex;align-items:center;gap:5px}.diagnostic-export-state{margin:8px 16px;color:var(--text2);font-size:12px}.session-workbench.embedded{min-height:420px;grid-template-columns:minmax(0,1fr)}.session-workbench.embedded .timeline-pane{border-left:0}.session-workbench.embedded .timeline-titlebar,.session-workbench.embedded .timeline-summary,.session-workbench.embedded .timeline-controls{flex-wrap:wrap}.session-workbench.embedded .timeline-summary button,.session-workbench.embedded .timeline-controls label{margin-left:0}@media (max-width: 900px){.feedback-workbench{display:block;overflow:auto}.feedback-list{overflow:visible}.feedback-detail{width:auto;border-left:0;border-top:1px solid var(--border)}.feedback-event>button{grid-template-columns:110px 62px minmax(0,1fr)}.feedback-event>button>:last-child{display:none}.feedback-event-detail{padding-left:8px}}@media (max-width: 600px){.feedback-header,.feedback-filters,.feedback-error{padding-left:10px;padding-right:10px}.feedback-filters input{flex:1 0 100%;width:100%}.feedback-filters select{min-width:0;flex:1}.feedback-list table{min-width:760px}}
