.landing-content .project-description,.landing-content .current-project-card{background:#f8fafc9e;border:1px solid rgba(148,163,184,.3);box-shadow:0 10px 24px #0f172a1f;backdrop-filter:blur(10px) saturate(116%);-webkit-backdrop-filter:blur(10px) saturate(116%)}.project-selection{margin:2rem 0;border-radius:0;padding:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.project-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.project-selection-header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.debug-settings-open-btn{padding:.35rem .75rem;font-size:.85rem;font-weight:600;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.debug-settings-open-btn:hover{background:#fff;border-color:#667eea;color:#334155}.project-selection-header-right{display:flex;align-items:center;gap:1rem}.project-selection h2{color:#0f172a;margin:0;font-size:1.5rem}.project-actions{display:flex;gap:.75rem;justify-content:space-between;align-items:stretch;margin:2rem 0}.project-actions-left{display:flex;gap:1.5rem;align-items:center}.project-action-btn{padding:1rem 2rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;border:1px solid rgba(148,163,184,.35);font-size:1rem;min-width:150px}.project-action-btn.primary{background:linear-gradient(135deg,#3b82f62e,#0f172a24);color:#0f172a}.project-action-btn.primary:hover{border-color:#3b82f6a3;transform:translateY(-2px);box-shadow:0 12px 24px #2563eb33}.project-action-btn.secondary{background:#f8fafc94;color:#334155}.project-action-btn.secondary:hover{background:#f1f5f9d1;border-color:#3b82f694;transform:translateY(-2px);box-shadow:0 10px 20px #3b82f62e}.project-description-input-container{display:flex;flex-direction:column;gap:.5rem;min-width:400px;max-width:800px;flex:1}.project-description-label{font-size:.9rem;font-weight:600;color:#334155}.project-description-textarea{padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(148,163,184,.35);background:#f8fafcb8;color:#0f172a;font-size:.95rem;font-family:inherit;resize:none;height:120px;line-height:1.5;cursor:default;overflow-y:auto;width:100%}.project-description-textarea:focus{outline:none;border-color:#3b82f6ad;box-shadow:0 0 0 3px #3b82f624}.project-description-textarea::placeholder{color:#999}.project-description{border-radius:12px;padding:1.5rem;margin-top:2rem}.current-project-card{min-width:260px;max-width:320px;padding:1rem 1.25rem;border-radius:12px;border:1px solid rgba(148,163,184,.3);background:#f8fafc99;text-align:left;box-sizing:border-box}.current-project-title{font-size:.9rem;font-weight:600;color:#334155;margin-bottom:.5rem}.current-project-name{font-size:1.05rem;font-weight:600;color:#0f172a;margin-bottom:.25rem;word-break:break-all}.current-project-meta{font-size:.85rem;color:#475569}.current-project-id{word-break:break-all}.current-project-empty{font-size:.9rem;color:#999}.project-description p{color:#334155;margin:.5rem 0;font-size:1rem;line-height:1.6}.project-list-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:20}.project-list-container{background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);width:94%;max-width:1100px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.project-list-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2rem;background:#667eea0d;border-bottom:1px solid rgba(102,126,234,.1);flex-shrink:0}.project-list-header h2{color:#333;font-size:1.3rem;margin:0}.close-project-list-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#666;transition:all .2s ease}.close-project-list-btn:hover{color:#dc3545;transform:scale(1.1)}.project-list{padding:0;overflow-x:auto;flex:1;display:flex;flex-direction:column}.project-list-header-row{display:grid;grid-template-columns:60px minmax(100px,150px) 100px minmax(120px,.7fr) minmax(120px,.7fr) 150px;gap:.5rem .5rem;padding:.85rem 2rem;background:#667eea0d;border-bottom:2px solid #667eea;font-weight:600;color:#333;font-size:.9rem;align-items:center;min-width:0}.project-list-header-row.with-code{grid-template-columns:60px minmax(100px,150px) 100px 170px minmax(120px,.7fr) minmax(120px,.7fr) 150px}.project-list-header-row .project-column{justify-content:center;text-align:center}.project-list-header-row .project-column.actions{justify-content:center}.project-list-row{display:grid;grid-template-columns:60px minmax(100px,150px) 100px minmax(120px,.7fr) minmax(120px,.7fr) 80px;gap:.5rem .5rem;padding:.85rem 2rem;border-bottom:1px solid #eee;cursor:pointer;transition:all .2s ease;align-items:center;min-width:0}.project-list-row.with-code{grid-template-columns:60px minmax(100px,150px) 100px 170px minmax(120px,.7fr) minmax(120px,.7fr) 150px}.project-list-row:hover{background:#667eea0d}.project-list-row .project-column{justify-content:center;text-align:center}.project-list-row .project-column.name{justify-content:flex-start;text-align:left}.project-list-row .project-column.actions{justify-content:center}.project-column{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#333;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-column.name{gap:.75rem}.project-column.id{color:#667eea;font-weight:500}.project-column.description{justify-content:center}.project-column.actions{display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:nowrap}.project-desc-btn{padding:.35rem .75rem;font-size:.8rem;border-radius:999px;border:1px solid #d0d7e2;background:#f9fafb;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap}.project-desc-btn:hover{background:#eef2ff;border-color:#667eea;color:#1d4ed8}.project-desc-btn:active{transform:translateY(1px)}.description-modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:30}.description-modal{width:480px;max-width:90vw;background:#fff;border-radius:12px;box-shadow:0 16px 40px #0f172a2e;display:flex;flex-direction:column;overflow:hidden}.description-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#667eea14;border-bottom:1px solid rgba(102,126,234,.18)}.description-modal-header h3{margin:0;font-size:.95rem;color:#111827}.close-description-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#6b7280;padding:.1rem .25rem;transition:all .2s ease}.close-description-btn:hover{color:#ef4444;transform:scale(1.05)}.description-modal-body{padding:.75rem 1.25rem}.description-textarea{width:100%;min-height:140px;border-radius:8px;border:1px solid #e5e7eb;padding:.75rem;font-size:.9rem;line-height:1.5;color:#111827;background:#f9fafb;resize:vertical}.description-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea2e}.description-modal-footer{padding:.6rem 1.25rem .8rem;display:flex;justify-content:flex-end;background:#f9fafb;border-top:1px solid #e5e7eb}.description-close-btn{padding:.4rem 1.1rem;border-radius:999px;border:none;background:#4b5563;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease}.description-close-btn:hover{background:#111827}.project-column.created,.project-column.updated{color:#666;font-size:.8rem}.project-icon{font-size:1.2rem;color:#667eea;width:24px;text-align:center}.project-name{font-weight:600;color:#333;font-size:1rem}.project-meta{display:flex;gap:1rem;font-size:.85rem;color:#666}.project-meta span{display:flex;align-items:center;gap:.25rem}.project-lock-btn{padding:.35rem .8rem;border-radius:6px;border:1px solid #ffc107;background:#fffbf0;color:#856404;font-size:1rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:40px;flex-shrink:0}.project-lock-btn:hover:not(:disabled){background:#ffc107;color:#000}.project-lock-btn:disabled{opacity:.6;cursor:not-allowed}.project-delete-btn{padding:.35rem .8rem;border-radius:6px;border:1px solid #dc3545;background:#fff5f5;color:#dc3545;font-size:.8rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:50px;flex-shrink:0}.project-delete-btn:hover:not(:disabled){background:#dc3545;color:#fff}.project-delete-btn:disabled{opacity:.6;cursor:not-allowed}.no-projects-message{text-align:center;padding:2rem;color:#666}.folder-icon{font-size:3rem;margin-bottom:1rem;color:#667eea}.create-first-project-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.create-first-project-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media(max-width:768px){.project-actions{flex-direction:column;align-items:center;gap:1rem}.project-action-btn{width:100%;max-width:250px}.project-name-id{justify-content:center}.project-time{justify-content:center;flex-wrap:wrap}}.create-project-modal{background:#fffffffa;border-radius:16px;box-shadow:0 8px 32px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);max-width:480px;width:100%;padding:1.75rem 2rem 1.5rem;box-sizing:border-box}.create-project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.create-project-header h2{margin:0;font-size:1.4rem;color:#333}.create-project-body{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;align-items:stretch;text-align:left}.form-group label{font-size:.9rem;color:#444;margin-bottom:.4rem}.required{color:#dc3545;margin-left:.25rem}.form-group input,.form-group textarea{border-radius:8px;border:1px solid #e0e0e0;padding:.6rem .75rem;font-size:.95rem;background-color:#f7f7f7;color:#111;outline:none;transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.form-group input:disabled,.form-group textarea:disabled{background:#f5f5f5;cursor:not-allowed}.create-project-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.create-project-btn{padding:.6rem 1.4rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.create-project-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-project-btn.primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.create-project-btn.primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.create-project-btn.secondary{background:#f5f5f5;color:#555}.create-project-btn.secondary:hover{background:#e9ecef}.access-code-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.access-code-modal{background:#fff;border-radius:12px;padding:2rem;min-width:400px;max-width:500px;box-shadow:0 10px 40px #0003;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.access-code-header{text-align:center;margin-bottom:1.5rem}.access-code-header h2{margin:0 0 .5rem;color:#333;font-size:1.5rem}.access-code-hint{color:#666;font-size:.9rem;margin:0}.access-code-body{margin-bottom:1.5rem}.access-code-split{display:flex;align-items:flex-end;justify-content:center;gap:.65rem;flex-wrap:wrap}.access-code-split-field{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.access-code-split-label{font-size:.75rem;color:#888;font-weight:600;letter-spacing:.02em}.access-code-split-sep{align-self:flex-end;line-height:1;padding-bottom:0;font-size:1.25rem;color:#bbb;font-weight:300;-webkit-user-select:none;user-select:none}.access-code-input.code-input.access-code-part{width:100%;max-width:100%}.access-code-input.code-input.access-code-part-head{min-width:10.5rem;max-width:14rem}.access-code-input.code-input.access-code-part-tail{min-width:5rem;max-width:7rem;letter-spacing:.35rem}.access-code-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #e9ecef;border-radius:8px;outline:none;transition:all .2s}.access-code-input.code-input{font-size:1.2rem;text-align:center;letter-spacing:.3rem;font-family:Courier New,monospace;text-transform:uppercase}.access-code-input:not(.code-input){text-align:left;letter-spacing:normal;font-family:inherit;text-transform:none}.access-code-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.access-code-input:disabled{background:#f5f5f5;cursor:not-allowed}.access-code-error{color:#dc3545;font-size:.85rem;margin-top:.5rem;text-align:center}.access-code-actions{display:flex;gap:1rem;justify-content:center}.access-code-btn{padding:.75rem 2rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.access-code-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.access-code-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.access-code-btn.secondary{background:#f5f5f5;color:#555}.access-code-btn.secondary:hover:not(:disabled){background:#e9ecef}.access-code-btn:disabled{opacity:.6;cursor:not-allowed}.user-info{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.admin-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.admin-badge-btn{border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.admin-badge-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.admin-badge-btn:active{transform:translateY(0);opacity:.95}.admin-badge-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #667eea40}.username{color:#666;font-size:.9rem}.logout-btn{padding:.4rem 1rem;background:#f1f5f9b8;border:1px solid rgba(148,163,184,.34);border-radius:6px;color:#334155;cursor:pointer;font-size:.85rem;transition:all .2s}.logout-btn:hover{background:#f8fafcf2;color:#0f172a;border-color:#3b82f685}.access-code-display{background:#f0f0f0;padding:.3rem .6rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;font-weight:600;color:#667eea;letter-spacing:.1rem}.copy-code-btn,.regenerate-code-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.15rem .3rem;transition:transform .2s;line-height:1}.copy-code-btn:hover{transform:scale(1.2)}.regenerate-code-btn:hover{transform:rotate(180deg)}.project-column.access-code{min-width:150px;display:flex;align-items:center;gap:.5rem}.project-list-overlay,.access-code-overlay{background:radial-gradient(circle at 72% 18%,#3b82f633,#3b82f600 44%),#02061794;backdrop-filter:blur(7px) saturate(120%);-webkit-backdrop-filter:blur(7px) saturate(120%)}.project-list-container,.create-project-modal,.access-code-modal{background:linear-gradient(145deg,#f8fafce6,#f1f5f9c7);border:1px solid rgba(148,163,184,.4);box-shadow:0 24px 56px #02061766,inset 0 1px #ffffff73;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.project-list-header,.create-project-header{background:#ffffff47;border-bottom:1px solid rgba(148,163,184,.32)}.project-list-header h2,.create-project-header h2,.access-code-header h2{color:#0b1d46}.close-project-list-btn,.close-description-btn,.create-project-header .close-project-list-btn,.access-code-hint{color:#475569}.close-project-list-btn:hover,.close-description-btn:hover{color:#0f172a;background:#f8fafcb3}.project-list-header-row{background:#3b82f61f;border-bottom:1px solid rgba(59,130,246,.42);color:#0f172a}.project-list-row{border-bottom:1px solid rgba(148,163,184,.24)}.project-list-row:hover{background:#3b82f61a}.project-column,.project-name,.project-column.created,.project-column.updated,.access-code-hint{color:#1e293b}.project-desc-btn,.project-lock-btn,.project-delete-btn{border-radius:9px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.create-project-header{margin:-1.75rem -2rem 1.25rem;padding:1rem 1.25rem}.form-group label,.access-code-split-label{color:#334155}.form-group input,.form-group textarea,.access-code-input{background:#f8fafcbf;border:1px solid rgba(148,163,184,.4);color:#0f172a}.form-group input:focus,.form-group textarea:focus,.access-code-input:focus{border-color:#3b82f6ad;box-shadow:0 0 0 3px #3b82f629}.create-project-btn.primary,.access-code-btn.primary{background:linear-gradient(135deg,#1d4ed8,#0f172a);border:1px solid rgba(147,197,253,.45);box-shadow:0 10px 22px #1d4ed847}.create-project-btn.secondary,.access-code-btn.secondary{background:#f8fafcc7;border:1px solid rgba(148,163,184,.55);color:#334155}.create-project-btn.secondary:hover,.access-code-btn.secondary:hover{background:#f1f5f9f2;border-color:#3b82f67a}.access-code-modal{border-radius:16px}.debug-settings-overlay{position:fixed;inset:0;z-index:1200;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1rem}.debug-settings-modal{background:#fff;border-radius:12px;max-width:920px;width:100%;max-height:min(90vh,880px);display:flex;flex-direction:column;box-shadow:0 20px 50px #0f172a33;border:1px solid #e9ecef}.debug-settings-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e9ecef}.debug-settings-header h2{margin:0;font-size:1.25rem;color:#1e293b}.debug-settings-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:#64748b;padding:.25rem .5rem;border-radius:6px}.debug-settings-close:hover{background:#f1f5f9;color:#0f172a}.debug-settings-body{padding:1rem 1.25rem .5rem;overflow-y:auto;flex:1}.debug-settings-lead{margin:0 0 1rem;font-size:.92rem;line-height:1.55;color:#475569}.debug-settings-lead code{font-size:.85em;background:#f1f5f9;padding:.1em .35em;border-radius:4px}.debug-settings-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.debug-settings-table{width:100%;border-collapse:collapse;font-size:.9rem}.debug-settings-table th,.debug-settings-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}.debug-settings-table thead th{background:#f8fafc;font-weight:600;color:#334155;font-size:.82rem;text-transform:none}.debug-settings-table tbody tr:last-child td{border-bottom:none}.debug-settings-col-title{font-weight:600;color:#1e293b;white-space:nowrap}.debug-settings-col-hint{color:#64748b;font-size:.82rem;line-height:1.45;min-width:200px}.debug-settings-select{min-width:7rem;padding:.4rem .5rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;font-size:.9rem;color:#1e293b}.debug-settings-select:disabled{opacity:.65;cursor:not-allowed}.debug-settings-kinds{margin-top:.65rem;display:flex;flex-direction:column;gap:.35rem;max-width:520px}.debug-settings-kinds-btn{margin-top:.5rem;padding:.35rem .65rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#334155;font-weight:600;font-size:.85rem;cursor:pointer}.debug-settings-kinds-btn:hover{background:#f8fafc;border-color:#667eea;color:#334155}.debug-settings-kind-cell{display:flex;align-items:center;gap:.65rem}.debug-settings-kinds-count{font-weight:700;color:#4f46e5}.debug-kind-picker-overlay{position:fixed;inset:0;z-index:1301;background:#0f172a1f;display:flex;align-items:flex-start;justify-content:center;padding-top:7.35rem}.debug-kind-picker-modal{width:720px;max-width:calc(100vw - 2rem);background:#fff;border-radius:12px;border:1px solid #e9ecef;box-shadow:0 20px 50px #0f172a40;display:flex;flex-direction:column}.debug-kind-picker-header{padding:1rem 1.25rem;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center;gap:1rem}.debug-kind-picker-title{font-weight:700;color:#1e293b}.debug-kind-picker-body{padding:1rem 1.25rem .75rem;max-height:min(60vh,520px);overflow-y:auto}.debug-kind-picker-footer{padding:.85rem 1.25rem 1rem;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:.75rem}.debug-settings-kind-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.debug-settings-kind-row input{margin-top:.2rem}.debug-settings-meta{margin:.75rem 0 0;font-size:.8rem;color:#94a3b8}.debug-settings-error{margin-top:.75rem;padding:.5rem .75rem;background:#fef2f2;color:#b91c1c;border-radius:6px;font-size:.88rem}.debug-settings-note{margin-top:1rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;font-size:.82rem;line-height:1.5;color:#475569}.debug-settings-note code{font-size:.8em;background:#e2e8f0;padding:.05em .3em;border-radius:3px}.debug-settings-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid #e9ecef}.debug-settings-btn{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;border:none}.debug-settings-btn.secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.debug-settings-btn.secondary:hover{background:#f8fafc}.debug-settings-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.debug-settings-btn.primary:hover:not(:disabled){filter:brightness(1.05)}.debug-settings-btn:disabled{opacity:.6;cursor:not-allowed}.debug-settings-readonly{font-size:.85rem;color:#64748b;margin-right:auto}.debug-settings-overlay,.debug-kind-picker-overlay{background:radial-gradient(circle at 70% 22%,#3b82f62e,#3b82f600 42%),#0206178f;backdrop-filter:blur(7px) saturate(120%);-webkit-backdrop-filter:blur(7px) saturate(120%)}.debug-settings-modal,.debug-kind-picker-modal{background:linear-gradient(145deg,#f8fafce6,#f1f5f9cc);border:1px solid rgba(148,163,184,.42);box-shadow:0 24px 56px #0206176b,inset 0 1px #ffffff75;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.debug-settings-header,.debug-kind-picker-header,.debug-settings-footer,.debug-kind-picker-footer{background:#ffffff4d;border-color:#94a3b857}.debug-settings-header h2,.debug-kind-picker-title{color:#0b1d46}.debug-settings-lead,.debug-settings-col-hint,.debug-settings-note{color:#334155}.debug-settings-lead code,.debug-settings-note code{background:#94a3b833;color:#0f172a}.debug-settings-table-wrap{border:1px solid rgba(148,163,184,.34);background:#ffffff70}.debug-settings-table thead th{background:#3b82f61a;color:#0f172a;border-bottom-color:#94a3b857}.debug-settings-table th,.debug-settings-table td{border-bottom-color:#94a3b83d}.debug-settings-col-title,.debug-settings-kind-row,.debug-settings-select{color:#1e293b}.debug-settings-select,.debug-settings-kinds-btn{background:#f8fafcc2;border:1px solid rgba(148,163,184,.42)}.debug-settings-kinds-btn:hover{border-color:#3b82f68c;box-shadow:0 8px 16px #2563eb29}.debug-settings-btn.primary{background:linear-gradient(135deg,#1d4ed8,#0f172a);border:1px solid rgba(147,197,253,.45);box-shadow:0 10px 20px #1d4ed84d}.debug-settings-btn.secondary{background:#f8fafcc7;border:1px solid rgba(148,163,184,.55);color:#334155}.debug-settings-btn.secondary:hover{background:#f1f5f9f2;border-color:#3b82f680}.human-verify-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:11000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.human-verify-modal{width:100%;max-width:520px;background:#fffffffa;border-radius:14px;box-shadow:0 18px 50px #00000038;border:1px solid rgba(255,255,255,.35);overflow:hidden;animation:hv-slide-in .25s ease}@keyframes hv-slide-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}.human-verify-header{display:flex;justify-content:center;align-items:center;padding:.9rem 1.1rem;background:#667eea14;border-bottom:1px solid rgba(102,126,234,.16)}.human-verify-header h2{margin:0;font-size:1.25rem;color:#111827}.human-verify-body{padding:1rem 1.1rem}.human-verify-lead{margin:0 0 1rem;color:#4b5563;line-height:1.4;font-size:.95rem}.human-verify-slider-wrap{display:flex;justify-content:center;align-items:center;padding:.25rem 0}.human-verify-captcha-host{width:310px;height:auto}.human-verify-loading{color:#4b5563;font-weight:600}.human-verify-challenge{display:flex;flex-direction:column;gap:.75rem}.human-verify-question{font-size:1.05rem;font-weight:700;color:#111827;text-align:center}.human-verify-input{width:100%;padding:.8rem 1rem;border-radius:10px;border:2px solid #e5e7eb;font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease;text-align:center}.human-verify-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea2e}.human-verify-input:disabled{opacity:.75}.human-verify-error{margin-top:.9rem;color:#dc3545;font-size:.9rem;text-align:center;font-weight:600}.human-verify-actions{padding:.85rem 1.1rem 1.05rem;display:flex;justify-content:center;gap:.75rem}.human-verify-btn{min-width:160px;padding:.75rem 1.2rem;border-radius:10px;border:none;cursor:pointer;font-weight:700;font-size:1rem;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.human-verify-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.human-verify-btn.secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.human-verify-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #667eea40}.human-verify-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.human-verify-verifying{margin-top:.6rem;text-align:center}.sj-block{position:absolute;left:0;top:0;cursor:pointer;cursor:grab}.sj-block:active{cursor:grabbing}.sj-sliderContainer{position:relative;text-align:center;width:310px;height:40px;line-height:40px;margin-top:15px;background:#f7f9fa;color:#45494c;border:1px solid #e4e7eb}.sj-sliderContainer_active .sj-slider{height:38px;top:-1px;border:1px solid #1991fa}.sj-sliderContainer_active .sj-sliderMask{height:38px;border-width:1px}.sj-sliderContainer_success .sj-slider{height:38px;top:-1px;border:1px solid #52ccba;background-color:#52ccba!important}.sj-sliderContainer_success .sj-sliderMask{height:38px;border:1px solid #52ccba;background-color:#d2f4ef}.sj-sliderContainer_success .sj-sliderIcon{background-position:0 -26px!important}.sj-sliderContainer_fail .sj-slider{height:38px;top:-1px;border:1px solid #f57a7a;background-color:#f57a7a!important}.sj-sliderContainer_fail .sj-sliderMask{height:38px;border:1px solid #f57a7a;background-color:#fce1e1}.sj-sliderContainer_fail .sj-sliderIcon{top:14px;background-position:0 -82px!important}.sj-sliderContainer_active .sj-sliderText,.sj-sliderContainer_success .sj-sliderText,.sj-sliderContainer_fail .sj-sliderText{display:none}.sj-sliderMask{position:absolute;left:0;top:0;height:40px;border:0 solid #1991fa;background:#d1e9fe}.sj-slider{position:absolute;top:0;left:0;width:40px;height:40px;background:#fff;box-shadow:0 0 3px #0000004d;transition:background .2s linear;cursor:pointer;cursor:grab}.sj-slider:active{cursor:grabbing}.sj-slider:hover{background:#1991fa}.sj-sliderIcon{position:absolute;top:15px;left:13px;width:14px;height:12px;background:url(https://cstaticdun.126.net//2.13.6/images/icon_light.4353d81.png) 0 -13px;background-size:32px 544px}.sj-slider:hover .sj-sliderIcon{background-position:0 0}.sj-refreshIcon{position:absolute;right:5px;top:5px;width:30px;height:30px;cursor:pointer;background:url(https://cstaticdun.126.net//2.13.6/images/icon_light.4353d81.png) 0 -233px;background-size:32px 544px}.sj-refreshIcon:hover{background-position:0 -266px}.sj-loadingContainer{position:absolute;left:0;top:0;width:310px;height:155px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;color:#45494c;z-index:2;background:#edf0f2}.sj-loadingIcon{width:32px;height:32px;margin-bottom:10px;background:url(https://cstaticdun.126.net//2.13.6/images/icon_light.4353d81.png) 0 -332px;background-size:32px 544px;animation:sj-loading-icon-rotate .8s linear infinite}@keyframes sj-loading-icon-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-alert-overlay{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:20px;box-sizing:border-box;background:radial-gradient(circle at 70% 20%,#3b82f62e,#3b82f600 42%),#0206178f;backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%)}.app-alert-modal{width:min(520px,100%);max-height:calc(100% - 40px);overflow:auto;background:linear-gradient(145deg,#f8fafce6,#f1f5f9c7);border:1px solid rgba(148,163,184,.42);border-radius:16px;box-shadow:0 24px 55px #0206176b,inset 0 1px #ffffff7a;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);padding:16px 16px 14px;color:#0f172a;animation:app-alert-rise-in .2s ease-out}.app-alert-title{font-size:1rem;font-weight:800;color:#0b1d46;margin-bottom:12px;letter-spacing:.02em}.app-alert-body{font-size:.94rem;line-height:1.55;color:#1e293b;word-break:break-word;white-space:pre-wrap;background:#ffffff59;border:1px solid rgba(148,163,184,.26);border-radius:12px;padding:10px 12px}.app-alert-actions{display:flex;justify-content:flex-end;margin-top:16px;gap:10px}.app-alert-btn{border:1px solid rgba(147,197,253,.5);background:linear-gradient(135deg,#1d4ed8,#0f172a);color:#fff;font-weight:700;padding:.52rem 1rem;border-radius:10px;cursor:pointer;box-shadow:0 10px 20px #1d4ed847;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.app-alert-btn--secondary{background:#f1f5f9c7;color:#1e293b;border:1px solid rgba(148,163,184,.62);box-shadow:0 8px 16px #0f172a1f}.app-alert-btn--secondary:hover{filter:brightness(1.02);transform:translateY(-1px)}.app-alert-btn:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 14px 26px #1d4ed857}.app-alert-btn:active{transform:translateY(.5px)}.app-alert-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f647,0 10px 22px #1d4ed852}@keyframes app-alert-rise-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-popup-layer{position:fixed;inset:0;pointer-events:none;z-index:1601;display:grid;place-items:center;padding:24px;box-sizing:border-box}.progress-popup-modal{pointer-events:auto;width:min(560px,100%);max-height:calc(100vh - 48px);background:#fffffffa;border:1px solid rgba(226,232,240,1);border-radius:12px;box-shadow:0 10px 30px #0000001f;overflow:hidden}.progress-popup-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(226,232,240,1);background:#f8fafc}.progress-popup-title{font-size:.95rem;font-weight:700;color:#334155}.progress-popup-close{border:none;background:transparent;cursor:pointer;font-size:1.2rem;line-height:1;color:#64748b;padding:0 6px}.progress-popup-close:hover{color:#334155}.progress-popup-body{padding:12px 14px 14px;max-height:calc(100vh - 170px);overflow:auto}.progress-popup-section{margin-bottom:12px}.progress-popup-section:last-child{margin-bottom:0}.progress-popup-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.progress-popup-label{font-size:.85rem;font-weight:700;color:#475569}.progress-popup-pct{font-size:.85rem;font-variant-numeric:tabular-nums;color:#64748b;font-weight:600}.progress-popup-bar{height:10px;background:#eef2ff;border-radius:999px;overflow:hidden;border:1px solid rgba(102,126,234,.18)}.progress-popup-fill{height:100%;width:0%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:999px;transition:width .2s ease}.progress-popup-fill--extract{background:linear-gradient(135deg,#10b981,#059669)}.progress-popup-current{margin-top:8px;font-size:.82rem;color:#64748b;word-break:break-all;background:#f8fafc;border:1px solid rgba(226,232,240,1);border-radius:8px;padding:8px 10px}.progress-popup-message{margin-top:8px;font-size:.82rem;color:#64748b;word-break:break-word}.progress-popup-summary{margin-top:10px;font-size:.85rem;color:#334155;font-weight:700}.ai-progress-container{margin-top:1rem;width:100%}.batch-progress-info{margin-bottom:.75rem}.batch-progress-stats{display:flex;justify-content:space-between;font-size:.9rem;color:#667eea;font-weight:600;margin-bottom:.5rem}.batch-progress-current{font-size:.85rem;color:#666;text-align:left;padding:.5rem;background:#f8f9fa;border-radius:4px;word-break:break-all}.ai-progress-bar{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.ai-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease;animation:progress-pulse 1.5s ease-in-out infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.8}}.ai-progress-text{font-size:.85rem;color:#666;text-align:center}.batch-results-summary{font-size:.8rem;color:#28a745;margin-top:.25rem}.ai-header-row{display:flex;justify-content:center;align-items:center;margin-bottom:.75rem}.ai-prompt-group{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.ai-prompt-label{font-size:.8rem;color:#666}.ai-prompt-input{width:100%;padding:.4rem .6rem;border-radius:6px;border:1px solid #e1e5ee;background-color:#f9fafc;font-size:.9rem;color:#555;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.ai-prompt-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea26;background-color:#fff}.ai-prompt-dropdown{width:100%;padding:.4rem;border-radius:8px;border:1px solid #d0d7e2;background-color:#fff;display:flex;flex-direction:column;gap:.25rem}.ai-prompt-helper{margin-top:.25rem;font-size:.75rem;color:#999;text-align:left}.ai-prompt-manage-btn{margin-top:.2rem;padding:.75rem .9rem;width:100%;min-height:47px;border-radius:8px;border:1px solid #d0d7e2;background:#fff;color:#667eea;font-size:.9rem;font-weight:500;cursor:pointer;text-align:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease}.ai-prompt-manage-btn:hover{background-color:#f3f5ff;border-color:#667eea;color:#4b5bd5;transform:translateY(-1px)}.ai-prompt-add{margin-top:.1rem;padding:.25rem .5rem;width:100%;border-radius:6px;border:1px dashed #c5cee0;background-color:#fff;color:#667eea;font-size:.85rem;cursor:pointer;text-align:center;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.ai-prompt-add:hover{background-color:#f3f5ff;border-color:#667eea;color:#4b5bd5}.export-row{display:flex;gap:.5rem;align-items:stretch}.export-row .export-format-select{flex:1 1 auto}.export-row .ai-annotation-btn.export-btn{flex:0 0 auto;white-space:nowrap;width:auto;max-width:40%}.export-format-select{min-width:210px;padding:.45rem .6rem;border-radius:8px;border:1px solid #d0d7e2;font-size:.9rem;color:#374151;background:#fff;cursor:pointer;text-align:center;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.export-format-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea2e}.ai-annotation-btn.import-btn{background:linear-gradient(135deg,#f59e0b,#d97706)}.ai-annotation-btn.import-btn:hover:not(:disabled){box-shadow:0 4px 15px #f59e0b66}.ai-annotation-btn.import-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.ai-annotation-btn.export-btn{background:linear-gradient(135deg,#10b981,#059669)}.ai-annotation-btn.export-btn:hover:not(:disabled){box-shadow:0 4px 15px #10b98166}.ai-annotation-btn.export-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-format-select:disabled{opacity:.6;cursor:not-allowed;background:#f3f4f6;color:#9ca3af;box-shadow:none}.ai-description{color:#666;font-size:.9rem;margin:0;line-height:1.5}.ai-summary{margin-top:0;padding:.75rem 1rem;background:#fff;border-radius:8px;border:1px solid #e9ecef;display:flex;align-items:stretch;gap:1rem;min-width:160px;box-sizing:border-box;height:84px;overflow:hidden}.ai-summary-left{display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;flex:1;min-width:0}.ai-summary-label{font-size:.85rem;color:#666;line-height:1.15;white-space:nowrap}.ai-summary-stat{font-size:.85rem;font-weight:600;line-height:1.15;white-space:nowrap}.ai-summary-count{font-size:1.1rem;font-weight:600;color:#334155}.ai-summary-breakdown{display:flex;gap:.6rem;margin-top:.15rem;font-size:.85rem;font-weight:600}.ai-summary-stat.success{color:#28a745}.ai-summary-stat.fail{color:#dc3545}.welcome-right-top{display:flex;align-items:center;justify-content:center}.preview-mask-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;border-radius:8px}.preview-mask-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:.35rem .6rem;border-radius:999px;background:#00000059;color:#fff;font-size:.85rem;pointer-events:none}.delete-image-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;padding:0 1.1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;min-height:45px;min-width:112px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.delete-image-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #dc354566}.manual-annotation{height:100vh;width:100vw;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 28%,#1d4ed8,#0f1f44 42%,#020617 78%,#000);overflow:hidden}.annotation-header{height:60px;background:#0f172a57;border-bottom:1px solid rgba(148,163,184,.22);display:flex;justify-content:space-between;align-items:center;padding:0 2rem;backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);box-shadow:0 8px 22px #0206172e;flex-shrink:0}.annotation-header h1{margin:0;font-size:1.25rem;color:#f1f5f9}.current-image-name{color:#cbd5e1;font-size:.9rem;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right .image-counter{background:#f1f5f938;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;color:#e2e8f0;border:1px solid rgba(148,163,184,.24)}.header-right{display:flex;align-items:center;gap:.5rem}.nav-arrow-button{background:#f1f5f933;border:1px solid rgba(148,163,184,.32);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;color:#e2e8f0;transition:all .15s ease}.nav-arrow-button:hover:not(:disabled){background:#f1f5f952;border-color:#bfdbfe8c}.nav-arrow-button:disabled{opacity:.4;cursor:default}.annotation-main{flex:1;display:flex;overflow:hidden;position:relative;--manual-top-toolbar-height: 56px}.annotation-left-panel{position:absolute;top:0;left:0;right:300px;height:56px;z-index:5;padding:0 1.5rem;display:flex;align-items:center;justify-content:flex-start;background:#f1f5f96b;border-bottom:1px solid rgba(148,163,184,.26);backdrop-filter:blur(12px) saturate(118%);-webkit-backdrop-filter:blur(12px) saturate(118%)}.annotation-left-panel .tool-section{display:inline-flex}.pose-pointcloud-overlay{position:absolute;inset:0;z-index:30;background:#0b1220;border:1px solid #1f2937;border-radius:12px;display:flex;flex-direction:column}.pose-manual-resource-hint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:55}.pose-manual-resource-hint-inner{max-width:min(440px,92%);padding:.85rem 1.15rem;border-radius:12px;background:#0f172ad1;color:#e2e8f0;font-size:.88rem;line-height:1.5;text-align:center;box-shadow:0 10px 40px #0000002e;border:1px solid rgba(148,163,184,.22)}.pose-manual-resource-hint-text{margin:0}.pose-manual-resource-hint-list{margin:0;padding-left:1.15rem;text-align:left}.pose-manual-resource-hint-list li+li{margin-top:.35rem}.pose-manual-resource-hint.pose-manual-resource-hint--pointcloud{z-index:35;border-radius:12px}.pose-pointcloud-toolbar{height:44px;display:flex;align-items:center;gap:.75rem;padding:0 .75rem;border-bottom:1px solid #1f2937;color:#e5e7eb}.pose-pointcloud-title{font-size:.9rem;font-weight:700}.pose-pointcloud-title-btn{border:1px solid #334155;background:#111827;color:#e5e7eb;border-radius:8px;padding:.25rem .65rem;cursor:pointer}.pose-pointcloud-meta{font-size:.8rem;color:#9ca3af}.pose-pointcloud-close{margin-left:auto;border:1px solid #334155;background:#111827;color:#e5e7eb;border-radius:8px;padding:.25rem .65rem;cursor:pointer}.pose-pointcloud-status{font-size:.78rem;color:#93c5fd;padding:.35rem .75rem}.pose-pointcloud-picker-backdrop{position:absolute;inset:0;background:#0206178c;z-index:60;display:flex;align-items:center;justify-content:center}.pose-pointcloud-picker{width:min(560px,86%);max-height:72%;overflow:auto;border:1px solid #334155;border-radius:10px;background:#0f172a;box-shadow:0 10px 30px #02061773;padding:.75rem}.pose-pointcloud-picker-title{color:#e5e7eb;font-size:.9rem;font-weight:700;margin-bottom:.6rem}.pose-pointcloud-picker-list{display:flex;flex-direction:column;gap:.4rem}.pose-pointcloud-picker-item,.pose-pointcloud-picker-item-btn{border:1px solid #334155;border-radius:8px;background:#111827;color:#e5e7eb;padding:.5rem .6rem;text-align:left;font-size:.82rem}.pose-pointcloud-picker-item-btn{cursor:pointer}.pose-pointcloud-canvas{flex:1;width:100%;height:100%;min-height:240px}.pose-pointcloud-canvas-wrap{position:relative;flex:1;width:100%;height:100%;min-height:240px}.pose-pointcloud-matrix{width:100%;min-height:78px;max-height:120px;resize:vertical;border:0;border-top:1px solid #1f2937;background:#020617;color:#cbd5e1;padding:.5rem .75rem;font-size:.75rem;font-family:Consolas,Menlo,Monaco,monospace}.pose-pointcloud-matrix-panel.floating{position:absolute;top:10px;right:10px;width:min(560px,62%);min-height:140px;max-height:320px;z-index:40;border:1px solid #334155;border-radius:10px;box-shadow:0 6px 18px #02061773;background:#020617db;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden;display:flex;flex-direction:column}.pose-pointcloud-matrix-drag-handle{cursor:move;-webkit-user-select:none;user-select:none;padding:.28rem .5rem;font-size:.72rem;color:#93c5fd;border-bottom:1px solid #334155;background:#0f172ad9}.pose-pointcloud-matrix-text{width:100%;min-height:116px;flex:1;resize:none;border:0;background:transparent;color:#cbd5e1;padding:.45rem .55rem;font-size:.75rem;font-family:Consolas,Menlo,Monaco,monospace}.tool-section h3,.tools-grid{display:none}.eraser-card,.select-card{display:flex;align-items:center;border-radius:10px;padding:.4rem .9rem;border:1px solid rgba(148,163,184,.36);background:#f8fafcb8;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 16px #0f172a1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tool-section>.select-card:not(:first-child),.tool-section>.eraser-wrapper{margin-left:.75rem}.eraser-card:hover,.select-card:hover{background:#f8fafcd6;border-color:#6366f16b;box-shadow:0 12px 20px #1e293b24}.select-card:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.eraser-card.active,.select-card.active{border-color:#6366f19e;background:#e0e7ffad;box-shadow:0 12px 24px #4f46e53d}.eraser-icon-box,.select-icon-box{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#1d4ed8,#1e3a8a);display:flex;align-items:center;justify-content:center;color:#fff;margin-right:.75rem;flex-shrink:0}.eraser-icon,.select-icon{font-size:1.2rem}.eraser-text-box,.select-text-box{display:flex;flex-direction:column;justify-content:center}.eraser-title,.select-title{font-size:.95rem;font-weight:600;color:#0f172a}.eraser-desc{font-size:.8rem;color:#6c757d;margin-top:2px}.eraser-wrapper{position:relative;margin-left:.75rem}.eraser-dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;background:#f8fafce6;border-radius:10px;box-shadow:0 8px 20px #00000026;border:1px solid rgba(148,163,184,.34);padding:.75rem .9rem;min-width:220px;z-index:10;backdrop-filter:blur(12px) saturate(118%);-webkit-backdrop-filter:blur(12px) saturate(118%)}.eraser-wrapper .eraser-dropdown{display:none}.eraser-wrapper.open .eraser-dropdown{display:block}.brush-controls{background:#f8f9fa;border-radius:8px;padding:1rem}.brush-controls h3{margin:0 0 1rem;color:#333;font-size:.95rem}.size-slider{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.size-slider input[type=range]{flex:1;height:6px;border-radius:3px;background:#dee2e6;outline:none}.size-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer}.size-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer;border:none}.size-value{font-size:.9rem;font-weight:500;color:#495057;min-width:40px}.brush-preview{display:flex;justify-content:center;padding:1rem}.brush-circle{background:#667eea4d;border:2px solid #667eea;border-radius:50%}.action-section{display:flex;flex-direction:column;gap:.75rem;margin-top:auto}.primary-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.primary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.secondary-button{background:#fff;color:#495057;border:1px solid #e9ecef;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.secondary-button:hover{background:#f8f9fa;border-color:#adb5bd}.annotation-center-panel{flex:1;background:transparent;display:flex;align-items:center;justify-content:center;padding:calc(var(--manual-top-toolbar-height) + 2rem) 2rem 2rem 2rem;overflow:hidden;min-height:0;position:relative}.canvas-area{width:100%;height:100%;min-height:0;background:#f1f5f99e;border-radius:12px;box-shadow:0 14px 30px #0f172a29;border:1px solid rgba(148,163,184,.3);backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.image-container{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.annotation-image{max-width:100%;max-height:100%;object-fit:contain;display:block;-webkit-user-select:none;user-select:none}.annotation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.annotation-right-panel{width:300px;background:#f1f5f994;border-left:1px solid rgba(148,163,184,.3);overflow-y:auto;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.annotation-right-panel input{color:#111}.annotation-right-panel input[type=number]::-webkit-outer-spin-button,.annotation-right-panel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.annotation-right-panel input[type=number]{-moz-appearance:textfield}.properties-panel{padding:1.5rem}.annotation-right-panel>.property-section{padding:0 1.5rem 1.5rem;margin-bottom:1.5rem}.annotation-right-panel>.property-section:last-child{margin-bottom:0}.properties-panel h3{margin:0 0 1.5rem;color:#0f172a;font-size:1.1rem}.property-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(148,163,184,.28)}.property-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.property-section h4{margin:0 0 .75rem;color:#1e293b;font-size:.95rem;font-weight:600}.current-tool{background:#f1f5f9b8;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;color:#334155;border:1px solid rgba(148,163,184,.28);text-align:center}.tool-history-row{margin-top:.5rem;display:flex;justify-content:center;gap:.5rem}.tool-history-btn{padding:.25rem .75rem;font-size:.8rem;border-radius:999px;border:1px solid rgba(148,163,184,.36);background:#f8fafcc7;color:#334155;cursor:pointer;transition:all .15s ease}.tool-history-btn:hover:not(:disabled){background:#f1f5f9e6;border-color:#6366f16b}.tool-history-btn:disabled{opacity:.5;cursor:not-allowed}.label-legend{display:flex;flex-direction:column;gap:.4rem}.label-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#333}.label-color-dot{width:14px;height:14px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 2px #00000014;flex-shrink:0}.label-name{flex:1;min-width:0;font-size:.9rem;color:#333}.label-legend-hint{margin-top:.6rem;font-size:.8rem;color:#6c757d;line-height:1.3}.layers{display:flex;flex-direction:column;gap:.5rem}.layer-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f1f5f9b8;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#0f172a;border:1px solid rgba(148,163,184,.28)}.layer-item:hover{background:#e2e8f0cc}.layer-item.active{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);color:#fff;border-color:#bfdbfe73;box-shadow:0 10px 20px #1e3a8a3d,inset 0 1px #fff3}.layer-item.active .layer-visible{filter:brightness(0) invert(1)}.layer-item.layer-item-split{gap:.6rem}.layer-split-actions{position:relative;display:inline-flex;align-items:center;gap:0;padding:2px;border-radius:999px;background:#0f172a14;border:1px solid rgba(15,23,42,.12);overflow:hidden}.layer-item.layer-item-split .layer-split-actions:before{content:"";position:absolute;top:2px;bottom:2px;width:calc(50% - 2px);left:2px;border-radius:999px;background:#f87171e6;box-shadow:0 6px 16px #f8717138;transform:translate(0);transition:transform .18s ease,background .18s ease,opacity .18s ease;opacity:0}.layer-item.layer-item-split.split-state-raw .layer-split-actions:before{transform:translate(0);background:#f87171e6;box-shadow:0 6px 16px #f8717138;opacity:1}.layer-item.layer-item-split.split-state-fix .layer-split-actions:before{transform:translate(100%);background:#facc15e6;box-shadow:0 6px 16px #facc1538;opacity:1}.layer-split-btn{position:relative;z-index:1;border:0;background:transparent;color:#475569;border-radius:999px;padding:.18rem .55rem;font-size:.82rem;cursor:pointer;line-height:1.2;transition:color .18s ease,opacity .18s ease}.layer-split-btn:hover:not(:disabled){color:#0f172a}.layer-split-btn:disabled{opacity:.45;cursor:not-allowed}.layer-split-btn.active{color:#fff}.layer-item.layer-item-split.split-state-raw .layer-split-btn.active{color:#fff1f2}.layer-item.layer-item-split.split-state-fix .layer-split-btn.active{color:#422006}.save-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.auto-save-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:#065f46;cursor:pointer;padding:.5rem .75rem;background:#ecfdf3;border-radius:6px;border:1px solid #86efac;transition:all .2s ease}.auto-save-toggle:hover{background:#dcfce7;border-color:#4ade80}.auto-save-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#10b981}.layer-visible{font-size:1.2rem;cursor:pointer}.annotation-left-panel::-webkit-scrollbar,.annotation-right-panel::-webkit-scrollbar{width:6px}.annotation-left-panel::-webkit-scrollbar-track,.annotation-right-panel::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.annotation-left-panel::-webkit-scrollbar-thumb,.annotation-right-panel::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.annotation-left-panel::-webkit-scrollbar-thumb:hover,.annotation-right-panel::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:1200px){.annotation-left-panel{right:260px}.annotation-right-panel{width:260px}}@media(max-width:768px){.annotation-header{padding:0 1rem}.header-left{gap:.5rem}.current-image-name{max-width:150px}.annotation-main{flex-direction:column}.annotation-left-panel,.annotation-right-panel{width:100%;height:auto;max-height:200px}.annotation-center-panel{flex:1}.tools-grid{grid-template-columns:repeat(3,1fr)}}.rename-modal-backdrop{position:fixed;inset:0;z-index:10000;background:transparent;pointer-events:auto}.rename-modal{position:fixed;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:16px;width:360px;box-sizing:border-box;z-index:10001;pointer-events:auto;display:flex;flex-direction:column}.rename-modal-title{font-size:14px;color:#333;margin-bottom:12px;font-weight:500}.rename-modal-input{width:100%;padding:8px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:14px;margin-bottom:12px;box-sizing:border-box;outline:none;transition:border-color .2s,box-shadow .2s,background-color .2s;background-color:#f7f7f7;color:#111}.rename-modal-input::placeholder{color:#999}.rename-modal-input:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea2e;background-color:#fff}.rename-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}.rename-modal-btn{padding:.45rem 1.1rem;border:1px solid #e2e8f0;border-radius:999px;font-size:.9rem;cursor:pointer;transition:background .2s;font-weight:500}.rename-modal-btn-cancel{background:#fff;color:#475569}.rename-modal-btn-cancel:hover{background:#f1f5f9}.rename-modal-btn-confirm{background:#fff;color:#475569}.rename-modal-btn-confirm:hover{background:#f1f5f9}.rename-modal-select-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rename-modal-select{flex:1;padding:6px 10px;border-radius:4px;border:1px solid #d0d0d0;font-size:14px;outline:none;background-color:#f7f7f7;color:#111;transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s}.rename-modal-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea2e;background-color:#fff}.rename-modal-color-preview{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.15)}.annotation-page{height:100vh;width:100vw;display:flex;flex-direction:column;position:relative;isolation:isolate;background:radial-gradient(circle at 50% 34%,#1d4ed8,#0f1f44 38%,#020617 74%,#000);overflow:hidden}.annotation-page:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#000000eb,#000000ad 18%,#0000 62%)}.annotation-page:after{content:"";position:absolute;right:-220px;bottom:-240px;width:560px;height:560px;z-index:-1;pointer-events:none;background:radial-gradient(circle,#3b82f657,#3b82f62e 32%,#02061700 68%);filter:blur(10px)}.page-header{height:60px;background:#0f172a57;backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);border-bottom:1px solid rgba(148,163,184,.22);display:flex;justify-content:space-between;align-items:center;padding:0 2rem;box-shadow:0 8px 22px #0206172e;flex-shrink:0}.header-left{display:flex;align-items:center;gap:1rem}.back-button{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s ease}.back-button:hover{background:#5a6fd8}.page-header h1{margin:0;font-size:1.25rem;color:#f1f5f9}.header-right .status{background:#e9ecef;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;color:#495057}.error-banner{background:#f8d7da;color:#721c24;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f5c6cb}.error-banner button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#721c24}.page-content{flex:1;overflow-y:auto;overflow-x:hidden}.welcome-section{height:100%;min-height:100%}.welcome-left-top{grid-column:1;grid-row:1}.welcome-right-top{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center}.welcome-content{text-align:center;width:100%;max-width:491px;margin:2rem auto;padding:2rem;box-sizing:border-box;background:#f1f5f99e;border-radius:16px;box-shadow:0 12px 30px #0f172a24;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);border:1px solid rgba(148,163,184,.35)}.project-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.project-name{font-size:.9rem;color:#667eea;font-weight:500}.project-id{font-size:.8rem;color:#999}.ai-annotation-btn{box-sizing:border-box;min-height:45px;padding:0 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:0}.ai-annotation-btn.ai-depth-repair-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.ai-annotation-btn.ai-depth-repair-btn:hover:not(:disabled){box-shadow:0 4px 15px #2563eb6b}.ai-annotation-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.nav-image-btn{background:#f8f9fa;color:#495057;border:1px solid #dee2e6;padding:0 1.05rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:96px;min-height:42px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.nav-image-btn:hover:not(:disabled){background:#e9ecef;border-color:#ced4da;transform:translateY(-1px)}.nav-image-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.start-annotation-btn{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);color:#f8fafc;border:1px solid rgba(148,163,184,.35);padding:0 1.35rem;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease;min-height:45px;min-width:136px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;box-shadow:0 8px 22px #1e3a8a57,inset 0 1px #ffffff38}.start-annotation-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#bfdbfea6;box-shadow:0 10px 26px #1e3a8a73,inset 0 1px #ffffff47;filter:saturate(110%)}.start-annotation-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(.7) saturate(.45)}.ai-single-annotate-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;min-height:45px;min-width:112px;padding:0 1rem}.ai-single-annotate-btn:hover:not(:disabled){box-shadow:0 4px 18px #667eea99}.ai-annotation-btn:disabled,.ai-single-annotate-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(.78) saturate(.4) brightness(.9)}.pose-ai-annotate-btn{min-width:130px;height:45px;margin:0}.image-preview-container{width:100%;height:100%;background:#f1f5f9a8;border-radius:12px;box-shadow:0 12px 30px #0f172a24;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);border:1px solid rgba(148,163,184,.35);display:flex;flex-direction:column;overflow:hidden}.preview-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.28);display:flex;justify-content:space-between;align-items:center;background:#f8fafc80}.preview-header h3{margin:0;color:#333;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%}.close-preview-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;color:#666;transition:all .2s ease}.close-preview-btn:hover{background:#e9ecef;color:#333}.image-preview-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;min-height:0;position:relative}.preview-image-layer{position:relative;display:inline-block;max-width:100%;max-height:100%;line-height:0}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a}.preview-floating-panel{position:absolute;top:12px;left:12px;z-index:5;display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;border-radius:10px;background:#ffffffa6;border:1px solid rgba(0,0,0,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 18px #0000001f}.preview-mode-btn{padding:.35rem .7rem;border-radius:8px;border:1px solid rgba(0,0,0,.12);background:#fff9;color:#333;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.preview-mode-btn:hover{transform:translateY(-1px)}.preview-mode-btn.active{background:#667eea2e;border-color:#667eea73;color:#2f3ec7}.preview-mode-loading{font-size:.8rem;color:#666;margin-left:.25rem}.preview-actions{padding:1rem 1.5rem;border-top:1px solid rgba(148,163,184,.28);background:#f8fafc80;display:flex;justify-content:space-between;align-items:center;gap:1rem}.preview-actions-center{display:flex;gap:1rem}.no-preview-selected{width:100%;height:auto;background:#f1f5f980;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:inset 0 1px #ffffff80}.preview-placeholder{text-align:center;color:#999}.preview-placeholder p{margin:0;font-size:1.1rem}.ai-section{margin-top:2rem;padding:1.5rem;background:#667eea0d;border-radius:12px;border:1px solid rgba(102,126,234,.1)}.ai-section h3{margin:0 0 1rem;color:#667eea;font-size:1.2rem}.ai-controls{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:.75rem}.ai-controls .ai-model-config-btn,.ai-controls .ai-annotation-btn,.ai-controls .label-mapping-btn{height:45px;min-height:45px;max-height:45px;padding-top:0;padding-bottom:0;box-sizing:border-box;line-height:1.25}.ai-controls-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.ai-model-config-btn{margin-top:.4rem;box-sizing:border-box;min-height:45px;padding:0 1.2rem;width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;transition:all .3s ease}.ai-model-config-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.ai-prompt-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;justify-content:center;align-items:center;z-index:1000}.ai-prompt-modal{width:420px;max-width:90vw;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 18px 45px #0f172a40;padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden}.ai-prompt-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.25rem;scrollbar-gutter:stable}.ai-prompt-modal-title{margin:0;font-size:1.1rem;color:#1e293b}.ai-prompt-modal-desc{margin:0;font-size:.85rem;color:#64748b}.ai-prompt-modal-list,.model-param-group,.label-mapping-list{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(100,116,139,.55) transparent}.ai-prompt-modal-list::-webkit-scrollbar,.model-param-group::-webkit-scrollbar,.label-mapping-list::-webkit-scrollbar{width:10px}.ai-prompt-modal-list::-webkit-scrollbar-track,.model-param-group::-webkit-scrollbar-track,.label-mapping-list::-webkit-scrollbar-track{background:transparent}.ai-prompt-modal-list::-webkit-scrollbar-thumb,.model-param-group::-webkit-scrollbar-thumb,.label-mapping-list::-webkit-scrollbar-thumb{background-color:#64748b8c;border-radius:999px;border:3px solid transparent;background-clip:padding-box}.ai-prompt-modal-list::-webkit-scrollbar-thumb:hover,.model-param-group::-webkit-scrollbar-thumb:hover,.label-mapping-list::-webkit-scrollbar-thumb:hover{background-color:#64748bb3}.model-param-group{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.25rem}.model-param-layout{margin-top:.5rem;display:flex;flex-direction:column;gap:.75rem}.model-param-columns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}.model-param-group-common{margin-top:0}.model-param-group-title{font-size:.8rem;color:#475569;font-weight:600;padding:0 .1rem}.model-param-row{padding:.5rem .75rem;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.model-param-label{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:#1e293b;margin-bottom:.35rem;font-weight:500}.model-param-value{font-variant-numeric:tabular-nums;color:#4b5bd5}.model-param-row input[type=range]{width:100%}.model-param-hint{margin-top:.25rem;font-size:.75rem;color:#6b7280}.model-param-row.is-disabled{opacity:.48;pointer-events:none;filter:grayscale(.12)}.model-param-toggle-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.1rem;margin-bottom:.35rem}.model-param-toggle-row label{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-prompt-modal-list{margin-top:.5rem;padding:.5rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;max-height:260px}.ai-prompt-modal-actions{margin-top:auto;display:flex;justify-content:flex-end;gap:.5rem;background:#fff;margin-left:-1.75rem;margin-right:-1.75rem;margin-bottom:-1.5rem;padding:.85rem 1.75rem 1.1rem;border-top:1px solid #eef2f7;border-radius:0 0 16px 16px;box-shadow:0 -10px 18px #0f172a0f}.ai-prompt-modal-btn.primary{padding:.45rem 1.1rem;border-radius:999px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:0 6px 18px #667eea73;transition:transform .1s ease,box-shadow .1s ease}.ai-prompt-modal-btn.primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #667eea8c}.ai-prompt-modal-btn.secondary{padding:.45rem 1.1rem;border-radius:999px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .1s ease}.ai-prompt-modal-btn.secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.ai-prompt-modal-btn.warning{padding:.45rem 1.1rem;border-radius:999px;border:1px solid #f59e0b;background:linear-gradient(135deg,#facc15,#f59e0b);color:#78350f;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .1s ease}.ai-prompt-modal-btn.warning:hover{transform:translateY(-1px);box-shadow:0 8px 18px #f59e0b59}.ai-prompt-modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.import-export-buttons{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-top:.5rem}.batch-progress-panel{margin-top:-.5rem;margin-bottom:.4rem}.batch-progress-text{font-size:.82rem;color:#4b5563;margin-bottom:.25rem}.batch-progress-track{width:100%;height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.batch-progress-fill{height:100%;border-radius:999px;background:linear-gradient(135deg,#667eea,#764ba2);transition:width .2s ease}.import-export-buttons .ai-annotation-btn{width:100%;margin-bottom:0}.label-mapping-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;min-height:45px;padding:0 1.2rem;box-sizing:border-box;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;margin-top:.75rem;width:100%}.label-mapping-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px #10b98166}.label-mapping-modal{width:720px;max-width:94vw;max-height:80vh;background:#fff;border-radius:16px;box-shadow:0 18px 45px #0f172a40;padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;overflow:hidden;min-height:0}.label-mapping-list{margin-top:.5rem;padding:.75rem;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;max-height:320px}.label-mapping-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0;transition:all .15s ease}.label-mapping-item:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000000d}.label-mapping-color-dot{width:24px;height:24px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 2px #0000001a;flex-shrink:0}.label-mapping-input{flex:1;padding:.5rem .75rem;border-radius:6px;border:1px solid #cbd5e1;font-size:.9rem;color:#1e293b;background:#fff;transition:all .15s ease}.label-mapping-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.label-mapping-delete-btn{padding:.45rem .75rem;border-radius:8px;border:1px solid #fecaca;background:#fff1f2;color:#b91c1c;font-size:.85rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:all .15s ease}.label-mapping-delete-btn:hover{background:#ffe4e6;border-color:#fca5a5;transform:translateY(-1px)}.label-mapping-delete-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.label-mapping-loading,.label-mapping-empty{padding:2rem;text-align:center;color:#64748b;font-size:.9rem}.uploaded-images-preview{width:100%;max-width:100%;margin:2rem 0 0;flex:1 1 auto;background:#f1f5f9a8;border-radius:12px 12px 0 0;box-shadow:0 12px 30px #0f172a24;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);border:1px solid rgba(148,163,184,.35)}.uploaded-images-preview .preview-header{padding:1rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.28);display:flex;justify-content:space-between;align-items:center;background:#f8fafc7a}.uploaded-preview-header{gap:.75rem}.thumbnail-mask-toggle{margin-left:auto;padding:.4rem .75rem;border-radius:999px;border:1px solid rgba(102,126,234,.35);background:#fffc;color:#445;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.thumbnail-mask-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000001f}.thumbnail-mask-toggle.active{background:#667eea29;border-color:#667eea8c;color:#2f3ec7}.uploaded-images-preview .preview-header h3{margin:0;color:#333;font-size:1.2rem}.thumbnails-grid{padding:0;max-height:300px;overflow-y:auto;background:#f8fafc6b}.thumbnails-virtual-scroll{position:relative}.thumbnails-virtual-measure{padding:1.5rem}.thumbnails-virtual-inner{position:relative;width:100%}.thumbnail-image-layer{position:relative;width:100%;height:100%}.thumbnail-mask-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;border-radius:8px}.more-indicator{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#667eea1a;border:2px dashed #667eea}.more-indicator:hover{background:#667eea33;border-style:solid;transform:translateY(-2px)}.thumbnails-grid::-webkit-scrollbar{width:6px}.thumbnails-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.thumbnails-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}@media(max-width:860px){.model-param-columns{grid-template-columns:1fr}}@media(max-width:768px){.welcome-layout{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:1rem;padding:0 1rem}.welcome-left-top,.welcome-right-top{grid-column:1}.welcome-bottom{grid-row:3}.page-header{padding:0 1rem}.header-left{gap:.5rem}.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem;padding:1rem}}.ai-prompt-modal-backdrop{background:radial-gradient(circle at 72% 18%,#3b82f62e,#3b82f600 42%),#0206178f;backdrop-filter:blur(7px) saturate(120%);-webkit-backdrop-filter:blur(7px) saturate(120%)}.ai-prompt-modal,.label-mapping-modal{background:linear-gradient(145deg,#f8fafce6,#f1f5f9c7);border:1px solid rgba(148,163,184,.42);box-shadow:0 24px 56px #0206176b,inset 0 1px #ffffff75;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.ai-prompt-modal-title{color:#0b1d46}.ai-prompt-modal-desc,.model-param-hint,.label-mapping-loading,.label-mapping-empty{color:#334155}.model-param-group-title,.model-param-label,.model-param-toggle-row label,.label-mapping-input{color:#1e293b}.model-param-row,.ai-prompt-modal-list,.label-mapping-list,.label-mapping-item{background:#ffffff73;border-color:#94a3b857}.label-mapping-item:hover{border-color:#3b82f680;box-shadow:0 10px 16px #2563eb1f}.label-mapping-input{background:#f8fafcb8;border-color:#94a3b861}.label-mapping-input:focus{border-color:#3b82f6ad;box-shadow:0 0 0 3px #3b82f629}.ai-prompt-modal-actions{background:#f8fafcb3;border-top-color:#94a3b857;box-shadow:0 -8px 16px #02061714}.ai-prompt-modal-btn.primary{background:linear-gradient(135deg,#1d4ed8,#0f172a);border:1px solid rgba(147,197,253,.42);box-shadow:0 10px 22px #1d4ed84d}.ai-prompt-modal-btn.primary:hover{box-shadow:0 14px 28px #1d4ed85c}.ai-prompt-modal-btn.secondary{background:#f8fafcc7;border:1px solid rgba(148,163,184,.56);color:#334155}.ai-prompt-modal-btn.secondary:hover{background:#f1f5f9f2;border-color:#3b82f680}.annotation-page.pose-annotation-page .welcome-layout{grid-template-columns:40% 60%;--welcome-pad-left: 1rem;--welcome-pad-right: 2rem;padding-left:var(--welcome-pad-left);padding-right:var(--welcome-pad-right)}.annotation-page.pose-annotation-page .welcome-left-top{justify-self:stretch;min-width:0}.annotation-page.pose-annotation-page .welcome-content.pose-welcome-content{width:100%;max-width:100%;margin-left:0;margin-right:auto;box-sizing:border-box}@media(max-width:1200px){.annotation-page.pose-annotation-page .welcome-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding-left:1rem;padding-right:1rem;gap:1.5rem}.annotation-page.pose-annotation-page .welcome-left-top,.annotation-page.pose-annotation-page .welcome-right-top,.annotation-page.pose-annotation-page .welcome-bottom{grid-column:1}.annotation-page.pose-annotation-page .welcome-left-top{grid-row:1}.annotation-page.pose-annotation-page .welcome-right-top{grid-row:2;min-height:300px}.annotation-page.pose-annotation-page .welcome-bottom{grid-row:3}}@media(max-width:768px){.annotation-page.pose-annotation-page .welcome-layout{grid-template-rows:auto auto 1fr;gap:1rem;padding:0 1rem}}.mesh-label-mapping-list{max-height:min(60vh,520px)}.mesh-label-mapping-item{align-items:stretch;gap:1rem}.mesh-label-mapping-thumb-wrap{width:140px;height:140px;flex-shrink:0;border-radius:10px;overflow:hidden;background:#020617;border:1px solid #e2e8f0}.mesh-label-mapping-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:.45rem;justify-content:center}.mesh-label-mapping-filename{font-size:.82rem;font-weight:600;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mesh-label-mapping-input-row{display:flex;align-items:center;gap:.5rem}.mesh-label-mapping-combo-wrap{flex:1;min-width:0}.mesh-label-mapping-select-anchor{position:relative;flex:1;min-width:0}.mesh-label-mapping-select-trigger{display:flex;align-items:center;gap:.5rem;width:100%;min-height:38px;padding:.45rem .65rem;box-sizing:border-box;border-radius:6px;border:1px solid #cbd5e1;background:#fff;font-size:.9rem;color:#1e293b;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.mesh-label-mapping-select-trigger:hover:not(:disabled){border-color:#94a3b8}.mesh-label-mapping-select-trigger:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.mesh-label-mapping-select-trigger:disabled{opacity:.75;cursor:not-allowed;background:#f8fafc}.mesh-label-mapping-select-swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-sizing:border-box}.mesh-label-mapping-select-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-label-mapping-select-text--warn{color:#b45309}.mesh-label-mapping-select-caret{flex-shrink:0;font-size:.85rem;color:#64748b;line-height:1}.mesh-label-mapping-dropdown-portal .mesh-label-mapping-dropdown{margin:0;padding:.35rem 0;list-style:none;max-height:min(40vh,280px);overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 10px 28px #0f172a2e}.mesh-label-mapping-dropdown-empty{padding:.65rem .85rem;font-size:.85rem;color:#64748b}.mesh-label-mapping-suggestion-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .65rem;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.9rem;color:#1e293b;transition:background .12s ease}.mesh-label-mapping-suggestion-btn:hover{background:#f1f5f9}.mesh-label-mapping-suggestion-clear{color:#64748b;font-style:italic}.mesh-label-mapping-suggestion-clear:hover{background:#f8fafc}.mesh-label-mapping-suggestion-swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.12);box-sizing:border-box}.mesh-label-mapping-suggestion-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-label-mapping-input{min-width:0}.mesh-dims-panel{padding:.45rem .6rem;border-radius:10px;background:#0f172a8c;border:1px solid rgba(148,163,184,.25);color:#e2e8f0;font-size:.82rem;line-height:1.25;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:.15rem;pointer-events:none}.pose-depth-list{padding:.6rem .75rem .9rem;display:flex;flex-direction:column;gap:.45rem}.pose-depth-list-row{display:grid;grid-template-columns:68px 66px 1fr 86px;gap:.55rem;align-items:center;padding:.5rem .6rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.84rem;cursor:pointer}.pose-depth-list-row:hover{border-color:#94a3b8}.pose-depth-list-row.selected{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.pose-depth-chip{justify-self:start;display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;border:1px solid #cbd5e1;color:#334155;background:#f8fafc}.pose-depth-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0f172a}.pose-depth-empty{padding:1.2rem 1rem;color:#64748b;font-size:.9rem}.pose-depth-inspector{height:calc(100% - 62px);overflow:auto;padding:.7rem .85rem .8rem;display:flex;flex-direction:column;gap:.65rem}.pose-depth-inspector-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .65rem;font-size:.85rem;color:#334155}.pose-depth-inspector-pre{margin:0;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:.7rem .75rem;font-size:.8rem;line-height:1.38;flex:1;min-height:0;height:100%;overflow:auto}.pose-depth-inspector-image-wrap{width:100%;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#111827}.pose-depth-inspector-image{display:block;width:100%;max-height:360px;object-fit:contain}.pose-depth-inspector-note{font-size:.83rem;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.55rem .65rem}.pose-file-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.25rem;padding:.35rem .35rem .3rem;box-sizing:border-box;border:1px solid #dbe2ea;border-radius:10px;background:#f8fafc}.pose-file-card.selected{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e51f}.pose-file-card-emoji{text-align:center;font-size:1.1rem;line-height:1.1}.pose-file-card-title{text-align:center;font-size:.72rem;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pose-file-card-files{flex:1;min-height:0;border:1px solid #e2e8f0;border-radius:6px;background:#fff;padding:.2rem .25rem;overflow:auto}.pose-file-card-fileline{font-size:.64rem;line-height:1.2;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pose-depth-entry-list{display:flex;flex-direction:column;gap:.45rem}.pose-depth-entry-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:.5rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:.4rem .45rem}.pose-depth-entry-kind{font-size:.72rem;font-weight:700;color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;padding:.15rem .45rem;text-align:center}.pose-depth-entry-name{font-size:.8rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pose-depth-entry-delete-btn{min-width:auto;padding:.28rem .62rem;background:#dc2626;border-color:#b91c1c;color:#fff}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;margin:0!important;padding:0!important;overflow:hidden}#root{height:100%;width:100%;position:relative}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;margin:0!important;padding:0!important}.app{height:100vh;width:100vw;display:flex;flex-direction:column;margin:0;padding:0}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.app-header h1{font-size:1.8rem;font-weight:600}.header-actions .status{background:#fff3;padding:.5rem 1rem;border-radius:20px;font-size:.9rem}.error-banner{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#c33}.main-content{flex:1;overflow-y:auto;overflow-x:hidden}.main-content::-webkit-scrollbar{width:8px}.main-content::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.main-content::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.main-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.welcome-section{min-height:100%;background:transparent;background-attachment:fixed}.welcome-layout{display:grid;grid-template-columns:40% 60%;grid-template-rows:auto 1fr;gap:2rem;min-height:100%;width:100%;max-width:100%;margin:0;--welcome-pad-left: 2rem;--welcome-pad-right: 2rem;padding-left:var(--welcome-pad-left);padding-right:var(--welcome-pad-right)}.welcome-left-top{grid-column:1;grid-row:1;display:flex;align-items:flex-start;justify-content:center;padding:1rem}.welcome-right-top{grid-column:2;grid-row:1;display:flex;align-items:flex-start;justify-content:center;padding:1rem}.welcome-left-top,.welcome-right-top{display:flex;flex-direction:column}.welcome-left-top .welcome-content,.welcome-right-top .no-preview-selected,.welcome-right-top .image-preview-container{flex:1;display:flex;flex-direction:column;min-height:0}.welcome-right-top>.no-preview-selected,.welcome-right-top>.image-preview-container{flex:0 0 auto;width:min(940px,100%);height:min(705px,calc(100vh - 220px));max-height:705px}.welcome-bottom{grid-column:1 / -1;grid-row:2;width:100%;display:flex;justify-content:flex-start;align-items:flex-start;padding:0;margin-left:calc(var(--welcome-pad-left) * -1);margin-right:0;width:calc(100% + var(--welcome-pad-left));box-sizing:border-box}.welcome-content{text-align:center;max-width:500px;padding:2rem;background:#ffffffe6;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-content h2{color:#333;margin-bottom:1rem;font-size:1.8rem}.welcome-content p{color:#666;margin-bottom:2rem;font-size:1rem}.workspace{display:flex;height:100%;gap:1rem;padding:1rem}.left-panel{width:250px;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-y:auto}.center-panel{flex:1;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex-direction:column}.right-panel{width:250px;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-y:auto}.toolbar{padding:1.5rem}.toolbar h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.5rem}.tool-button{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem}.tool-button:hover{background:#e9ecef;border-color:#adb5bd}.tool-button.active{background:#667eea;border-color:#667eea;color:#fff}.tool-icon{font-size:1.5rem}.tool-label{font-size:.9rem;font-weight:500}.brush-controls{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.brush-slider-container{display:flex;align-items:center;gap:1rem}.brush-slider{flex:1}.brush-size-display{min-width:40px;text-align:center;font-weight:500}.history-controls{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.history-buttons{display:flex;gap:.5rem}.history-button{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s ease}.history-button:hover:not(.disabled){background:#f8f9fa;border-color:#adb5bd}.history-button.disabled{opacity:.5;cursor:not-allowed}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.primary-button,.secondary-button{padding:.75rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.primary-button{background:#667eea;color:#fff}.primary-button:hover{background:#5a6fd8}.secondary-button{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.secondary-button:hover{background:#e9ecef}.canvas-container{flex:1;display:flex;justify-content:center;align-items:center;background:#f8f9fa;overflow:hidden}.annotation-canvas-container{position:relative;background:#fff;box-shadow:0 2px 10px #0000001a;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-list{padding:1rem}.image-list-header{margin-bottom:1rem}.image-list-header h3{color:#333;font-size:1.1rem}.image-thumbnails{display:flex;flex-direction:column;gap:.75rem}.thumbnail-item{cursor:pointer;border-radius:8px;overflow:hidden;transition:all .2s ease;border:2px solid transparent}.thumbnail-item:hover{border-color:#dee2e6}.thumbnail-item.selected{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.thumbnail-wrapper{position:relative;height:120px;background:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden}.thumbnail-image{max-width:100%;max-height:100%;object-fit:cover}.delete-button{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;background:#f00c;color:#fff;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.thumbnail-item:hover .delete-button{opacity:1}.thumbnail-info{padding:.5rem}.filename{font-size:.9rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.upload-time{font-size:.8rem;color:#666}.image-list.empty{text-align:center;padding:2rem;color:#666}.image-list.empty .hint{font-size:.9rem;margin-top:.5rem}.image-uploader{margin-top:2rem;width:100%}.mesh-depth-dropzones{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:stretch;width:100%}.mesh-depth-dropzones .dropzone{width:100%;min-width:0;min-height:180px;display:flex;align-items:stretch;justify-content:center}.mesh-depth-dropzones .upload-prompt{width:100%}.mesh-depth-dropzones .upload-prompt p,.mesh-depth-dropzones .upload-prompt .hint{overflow-wrap:anywhere;word-break:break-word}.dropzone{border:2px dashed rgba(148,163,184,.55);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s ease;background:#f1f5f980;box-shadow:inset 0 1px #ffffff61;backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%)}.image-uploader .dropzone{min-height:150px;display:flex;align-items:center;justify-content:center}.image-uploader .dropzone>p,.image-uploader .dropzone .upload-prompt{width:100%}.dropzone-title{font-size:.95rem;font-weight:700;color:#0f172a;margin-bottom:.4rem;text-align:left}.dropzone-mesh{background:#f973161f;border-color:#fb923c85;box-shadow:inset 0 1px #fed7aa57}.dropzone-depth{background:#2563eb21;border-color:#60a5fa85;box-shadow:inset 0 1px #bfdbfe52}.dropzone:hover,.dropzone.drag-active{border-color:#6366f1b8;background:#e2e8f073}.dropzone.disabled-dropzone{background:#f1f5f980;border-color:#94a3b88c;box-shadow:inset 0 1px #ffffff61;backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%);cursor:not-allowed}.dropzone.disabled-dropzone .upload-prompt p{color:#334155!important}.dropzone.disabled-dropzone .upload-prompt .hint{color:#64748b!important}.dropzone.dropzone-depth.disabled-dropzone{background:#2563eb2e;border-color:#60a5fa8f!important;box-shadow:inset 0 1px #bfdbfe47}.dropzone.dropzone-mesh.disabled-dropzone{background:#f973162b;border-color:#fb923c9e!important;box-shadow:inset 0 1px #fed7aa4d}.dropzone-mesh:hover,.dropzone-mesh.drag-active{border-color:#fb923cd9;background:#f9731633}.dropzone-depth:hover,.dropzone-depth.drag-active{border-color:#60a5fadb;background:#2563eb38}.upload-prompt p{margin-bottom:.5rem;color:#333}.upload-prompt .hint{color:#666;font-size:.9rem}.upload-progress-panel{margin-top:.75rem;padding:.75rem 1rem;border-radius:10px;background:#fffffff2;border:1px solid #e9ecef;box-shadow:0 2px 10px #0000000f}.upload-progress-row{display:grid;grid-template-columns:80px 1fr 48px;align-items:center;gap:.75rem;margin-bottom:.5rem}.upload-progress-row:last-child{margin-bottom:0}.upload-progress-title{font-size:.85rem;font-weight:600;color:#475569}.upload-progress-bar{height:10px;background:#eef2ff;border-radius:999px;overflow:hidden;border:1px solid rgba(102,126,234,.18)}.upload-progress-fill{height:100%;width:0%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:999px;transition:width .2s ease}.upload-progress-fill.extract{background:linear-gradient(135deg,#10b981,#059669)}.upload-progress-pct{text-align:right;font-size:.85rem;color:#64748b;font-variant-numeric:tabular-nums}.upload-progress-msg{margin-top:.25rem;font-size:.82rem;color:#64748b}@media(max-width:1200px){.welcome-layout{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:1.5rem}.welcome-left-top,.welcome-right-top,.welcome-bottom{grid-column:1}.welcome-left-top{grid-row:1}.welcome-right-top{grid-row:2;min-height:300px}.welcome-bottom{grid-row:3}.workspace{flex-direction:column}.left-panel,.right-panel{width:100%;height:auto}.tools-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.welcome-section{padding:1rem}.welcome-layout{gap:1rem}.welcome-content{padding:1.5rem;max-width:100%}.welcome-content h2{font-size:1.5rem}.image-preview-container{border-radius:12px}.preview-header,.app-header{padding:1rem}.app-header h1{font-size:1.4rem}.workspace{padding:.5rem;gap:.5rem}.toolbar{padding:1rem}.tools-grid{grid-template-columns:repeat(2,1fr)}}.landing-page{position:fixed;inset:0;width:100vw;height:100vh;background:linear-gradient(135deg,#050b1a,#0b2a66 55%,#061022);display:flex;align-items:flex-start;justify-content:center;padding:2rem;margin:0;overflow-y:auto}.landing-content{background:#f1f5f99e;border-radius:16px;box-shadow:0 20px 40px #02061738;border:1px solid rgba(148,163,184,.32);backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%);padding:3rem;max-width:800px;width:100%;position:relative;z-index:10;margin:0 auto}.landing-header{text-align:center;margin-bottom:2rem}.landing-header h1{color:#333;font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#0b2a66,#0a1222 55%,#050b1a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{color:#666;font-size:1.1rem}.module-selection{margin-bottom:2rem}.module-selection h2{color:#0f172a;margin-bottom:.5rem;font-size:1.5rem}.module-selection .hint{color:#334155;margin-bottom:1.5rem}.modules-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.module-card{border:1px solid rgba(148,163,184,.34);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;background:#f8fafcb8;box-shadow:0 10px 24px #0f172a1f;backdrop-filter:blur(10px) saturate(116%);-webkit-backdrop-filter:blur(10px) saturate(116%)}.module-card:hover:not(.disabled){border-color:#6366f199;transform:translateY(-2px);box-shadow:0 14px 26px #2563eb38}.module-card.selected{border-color:#3b82f6b8;background:linear-gradient(135deg,#3b82f633,#0f172a2e)}.module-card.disabled{opacity:.6;cursor:not-allowed}.module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.module-header h3{color:#0f172a;font-size:1.2rem}.badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.coming-soon{background:#ffc107;color:#212529}.module-description{color:#334155;font-size:.95rem;line-height:1.4}.checkmark{position:absolute;top:1rem;right:1rem;width:24px;height:24px;background:#28a745;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.warning-box{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.warning-box h3{color:#856404;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.warning-box p{color:#856404;margin-bottom:.75rem;line-height:1.5}.warning-box ul{margin-left:1.5rem;margin-bottom:.75rem}.warning-box li{color:#856404;margin-bottom:.25rem}.actions{text-align:center}.start-button{background:linear-gradient(135deg,#1d4ed8,#0f172a);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid rgba(147,197,253,.38);box-shadow:0 10px 24px #2563eb4d}.start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px #1d4ed86b}.start-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.landing-content{padding:2rem}.landing-header h1{font-size:2rem}.modules-grid{grid-template-columns:1fr}.module-card{padding:1.25rem}}.image-preview-container{width:100%;height:100%;background:#fffffff2;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;overflow:hidden;aspect-ratio:4/3}.preview-header{height:10%;display:flex;justify-content:space-between;align-items:center;background:#ffffff80;border-bottom:1px solid rgba(0,0,0,.1);flex-shrink:0;padding:0 .75rem;border-radius:12px 12px 0 0}.preview-header h3{margin:0;font-size:1rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-preview-wrapper{height:80%;display:flex;flex-direction:column;padding:.25rem;background:#f8f9fa}.preview-actions{height:10%;display:flex;align-items:center;justify-content:center;background:#ffffff80;border-top:1px solid rgba(0,0,0,.1);flex-shrink:0;padding:0;border-radius:0 0 12px 12px}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #0000001a;display:block;margin:0 auto}.close-preview-btn{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#666;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-preview-btn:hover{background:#f0f0f0;color:#333}.preview-actions{padding:1rem 2rem;border-top:1px solid #eee;display:flex;justify-content:center}.no-preview-selected{width:min(940px,100%);height:auto;display:flex;align-items:center;justify-content:center;background:#fffc;border-radius:16px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);aspect-ratio:4/3;max-height:705px}.preview-placeholder{text-align:center;color:#666}.preview-icon{font-size:3rem;display:block;margin-bottom:1rem}.preview-placeholder p{font-size:1.1rem;margin:0}.uploaded-images-preview{width:100%;max-width:100%;margin:2rem 0 0;background:#fffffff2;border-radius:12px 12px 0 0;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.landing-page .start-annotation-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.landing-page .start-annotation-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;padding:1.5rem;max-height:300px;overflow-y:auto}.thumbnail-item-small{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f8f9fa;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;border:2px solid transparent}.thumbnail-item-small:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 25px #00000026;border-color:#667eea}.thumbnail-item-small.selected{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b354d;transform:translateY(-2px) scale(1.02)}.thumbnail-item-small.more-indicator{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#667eea1a;border:2px dashed #667eea}.thumbnail-item-small.more-indicator:hover{background:#667eea33;border-style:solid;transform:translateY(-2px)}.more-count{font-size:1.5rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.more-text{font-size:.9rem;color:#667eea;opacity:.8}.thumbnail-item-small img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.thumbnail-item-small:hover img{transform:scale(1.1)}.thumbnail-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);color:#fff;padding:1rem .5rem .5rem;transform:translateY(100%);transition:transform .3s ease}.thumbnail-item-small:hover .thumbnail-overlay{transform:translateY(0)}.thumbnail-name{font-size:.7rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.more-indicator{display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#ff9a9e,#fecfef);color:#fff;font-weight:700}.more-count{font-size:1.5rem;margin-bottom:.25rem}.more-text{font-size:.8rem;opacity:.9}.thumbnails-grid::-webkit-scrollbar{width:8px}.thumbnails-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.thumbnails-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.thumbnails-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:768px){.preview-header{flex-direction:column;gap:1rem;text-align:center}.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem;padding:1rem}.thumbnail-item-small{border-radius:6px}.thumbnail-overlay{padding:.75rem .25rem .25rem}.thumbnail-name{font-size:.6rem}}@media(max-width:480px){.welcome-section{padding:.5rem}.welcome-content{padding:1rem}.welcome-content h2{font-size:1.3rem}.welcome-content p{font-size:.9rem}.preview-placeholder{padding:1rem}.preview-icon{font-size:2rem}.preview-placeholder p{font-size:.9rem}.thumbnails-grid{grid-template-columns:repeat(4,1fr);max-height:200px}.uploaded-images-preview{margin-top:1rem}}.annotation-page .welcome-content{background:#f1f5f99e;border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 30px #0f172a24;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.annotation-page .image-preview-container{background:#f1f5f9a8;border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 30px #0f172a24;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.annotation-page .preview-header,.annotation-page .preview-actions{background:#f8fafc80;border-color:#94a3b847}.annotation-page .no-preview-selected{background:#f1f5f980;border:1px solid rgba(148,163,184,.35);box-shadow:inset 0 1px #ffffff80}.annotation-page .uploaded-images-preview{background:#f1f5f9a8;border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 30px #0f172a24;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}.annotation-page .uploaded-images-preview .preview-header{background:#f8fafc7a;border-bottom-color:#94a3b847}.annotation-page .thumbnails-grid{background:#f8fafc6b}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
