@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg-deep:#0c0e1a;--bg-surface:#131628;--bg-elevated:#1a1e35;--bg-hover:#222745;--border:#252a44;--border-focus:#3d4470;--text-primary:#e4e6f0;--text-secondary:#8b90b0;--text-muted:#5a5f80;--accent-teal:#4fd1c5;--accent-teal-dim:#4fd1c51f;--accept:#34d399;--accept-hover:#2cc08a;--reject:#f87171;--reject-hover:#ef4444;--skip:#60a5fa;--skip-hover:#3b82f6;--purple:#a78bfa;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-glow:0 0 20px #4fd1c50f;--transition:.18s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif}.login-container{flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100vh;display:flex}.login-container h1{letter-spacing:.5px;color:var(--text-primary);font-size:28px;font-weight:300}.login-container form{flex-direction:column;gap:12px;width:320px;display:flex}.login-container input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:12px 14px;font-family:inherit;font-size:14px}.login-container input:focus{border-color:var(--accent-teal)}.login-container button{border-radius:var(--radius);background:var(--accent-teal);color:var(--bg-deep);cursor:pointer;transition:opacity var(--transition);border:none;padding:12px;font-family:inherit;font-size:14px;font-weight:600}.login-container button:hover{opacity:.88}.error{color:var(--reject);text-align:center;font-size:13px}.success{color:var(--accept);text-align:center;font-size:13px}.login-toggle{color:var(--text-secondary);text-align:center;font-size:13px}.login-toggle a{color:var(--accent-teal);text-decoration:none}.login-toggle a:hover{text-decoration:underline}.nav-bar{background:var(--bg-surface);border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:8px 20px;display:flex}.nav-bar button{color:var(--text-muted);cursor:pointer;letter-spacing:.3px;transition:all var(--transition);background:0 0;border:1px solid #0000;border-radius:6px;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:500}.nav-bar button:hover{color:var(--text-secondary);background:var(--bg-elevated)}.nav-bar button.active{color:var(--accent-teal);background:var(--accent-teal-dim);border-color:#4fd1c533}.nav-user{color:var(--text-muted);letter-spacing:.5px;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:12px}.review-container{flex-direction:column;align-items:center;gap:16px;max-width:960px;margin:0 auto;padding:24px 20px 40px;display:flex}.filter-bar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 18px;display:flex}.filter-bar label{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.filter-bar select{border:1px solid var(--border);background:var(--bg-deep);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition);border-radius:6px;outline:none;padding:5px 10px;font-family:inherit;font-size:13px}.filter-bar select:focus{border-color:var(--accent-teal)}.image-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);justify-content:center;padding:8px;display:flex}.image-panel img{border-radius:var(--radius);object-fit:contain;max-width:100%;max-height:62vh;display:block}.info-panel{text-align:left;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);padding:20px 24px}.info-panel p{color:var(--text-secondary);margin:4px 0;font-size:13px}.meta-row{color:var(--text-secondary);margin:6px 0;font-size:13px;line-height:1.6}.meta-row.description{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.meta-row.dim{color:var(--text-muted);letter-spacing:.3px;font-family:JetBrains Mono,monospace;font-size:12px}.meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-right:4px;font-size:11px;font-weight:500}.meta-sep{color:var(--border-focus);margin:0 10px}.scene-select{border:1px solid var(--border);background:var(--bg-deep);color:var(--text-primary);cursor:pointer;transition:border-color var(--transition);border-radius:6px;outline:none;margin-left:4px;padding:4px 10px;font-family:inherit;font-size:13px}.scene-select:focus{border-color:var(--accent-teal)}.tag-input-row{align-items:flex-start;gap:6px;margin:8px 0;display:flex}.tag-chips{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.tag-chip{background:var(--accent-teal-dim);color:var(--accent-teal);border:1px solid #4fd1c533;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag-chip button{color:var(--accent-teal);cursor:pointer;opacity:.6;transition:opacity var(--transition);background:0 0;border:none;padding:0 2px;font-size:11px}.tag-chip button:hover{opacity:1}.tag-text-input{background:var(--bg-deep);border:1px solid var(--border);color:var(--text-primary);min-width:140px;transition:border-color var(--transition);border-radius:6px;outline:none;padding:3px 8px;font-family:inherit;font-size:12px}.tag-text-input:focus{border-color:var(--accent-teal)}.instructions{border-radius:var(--radius);color:var(--text-secondary);background:#f871710f;border:1px solid #f8717126;margin:12px 0 4px;padding:10px 14px;font-size:12px;line-height:1.6}.instructions strong{color:var(--reject);letter-spacing:.3px;font-weight:600}.actions{border-top:1px solid var(--border);justify-content:center;gap:10px;margin:18px 0 12px;padding-top:14px;display:flex}.actions button{border-radius:var(--radius);cursor:pointer;letter-spacing:.3px;transition:all var(--transition);box-shadow:var(--shadow-sm);border:none;padding:11px 28px;font-family:inherit;font-size:14px;font-weight:600}.actions button:active{transform:scale(.97)}.accept{background:var(--accept);color:var(--bg-deep)}.accept:hover{background:var(--accept-hover);box-shadow:0 0 16px #34d39940}.reject{background:var(--reject);color:#fff}.reject:hover{background:var(--reject-hover);box-shadow:0 0 16px #f8717140}.skip{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.skip:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.stats{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);text-align:center;margin-top:4px;padding:14px 18px}.stats p{color:var(--text-muted);letter-spacing:.2px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.8}.segment-btn{background:var(--purple);color:#fff;cursor:pointer;letter-spacing:.3px;transition:all var(--transition);border:none;border-radius:6px;margin-top:10px;padding:8px 18px;font-family:inherit;font-size:12px;font-weight:600}.segment-btn:hover{opacity:.85;box-shadow:0 0 14px #a78bfa4d}.loading,.done{height:50vh;color:var(--text-muted);letter-spacing:.5px;justify-content:center;align-items:center;font-size:16px;font-weight:300;display:flex}.admin-container{max-width:1400px;margin:0 auto;padding:24px}.user-management{margin-top:8px}.user-management h3{color:var(--text-primary);border-bottom:1px solid var(--border);margin:20px 0 10px;padding-bottom:6px;font-size:16px;font-weight:500}.user-management h3:first-child{margin-top:0}.user-table{border-collapse:collapse;width:100%;margin-bottom:16px;font-size:13px}.user-table th{text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:8px 12px;font-weight:500}.user-table td{border-bottom:1px solid var(--border);padding:8px 12px}.user-actions{gap:6px;display:flex}.btn-approve{border-radius:var(--radius);background:var(--accept);color:var(--bg-deep);cursor:pointer;border:none;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600}.btn-approve:hover{background:var(--accept-hover)}.btn-reject{border-radius:var(--radius);background:var(--reject);color:#fff;cursor:pointer;border:none;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600}.btn-reject:hover{background:var(--reject-hover)}.btn-role{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;padding:4px 12px;font-family:inherit;font-size:12px}.btn-role:hover{border-color:var(--accent-teal);color:var(--accent-teal)}.role-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.role-badge.admin{color:var(--purple);background:#a78bfa26}.role-badge.user{color:var(--accent-teal);background:#4fd1c51a}.admin-container h2{letter-spacing:.3px;color:var(--text-primary);margin-bottom:16px;font-size:22px;font-weight:400}.admin-tabs{gap:4px;margin-bottom:20px;display:flex}.admin-tabs button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:all var(--transition);border-radius:6px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:500}.admin-tabs button:hover{color:var(--text-secondary)}.admin-tabs button.active{color:var(--accent-teal);background:var(--accent-teal-dim);border-color:#4fd1c533}.ls-link{color:var(--accent-teal);transition:opacity var(--transition);font-size:12px;font-weight:500;text-decoration:none}.ls-link:hover{opacity:.8;text-decoration:underline}.admin-toolbar{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.admin-toolbar .filter-bar{max-width:none}.assign-controls{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 18px;display:flex}.assign-controls label{color:var(--text-muted);letter-spacing:.4px;text-transform:uppercase;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.assign-controls select{border:1px solid var(--border);background:var(--bg-deep);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:13px}.assign-controls button{background:var(--accept);color:var(--bg-deep);cursor:pointer;transition:all var(--transition);border:none;border-radius:6px;padding:7px 16px;font-family:inherit;font-size:12px;font-weight:600}.assign-controls button:hover{opacity:.88}.assign-controls button:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}.stats-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 18px;font-size:13px;display:flex}.stat-chip{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:4px 12px;font-family:JetBrains Mono,monospace;font-size:12px}.image-table{border-collapse:collapse;width:100%;font-size:13px}.image-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;padding:10px;font-size:11px;font-weight:500}.image-table td{color:var(--text-secondary);border-bottom:1px solid #252a4499;padding:8px 10px}.image-table tbody tr{transition:background var(--transition)}.image-table tbody tr:hover{background:var(--bg-elevated)}.image-table tr.selected{background:var(--accent-teal-dim)}.image-table .thumb{object-fit:cover;border:1px solid var(--border);cursor:pointer;border-radius:4px;width:64px;height:42px}.image-table .thumb:hover{border-color:var(--accent-teal);opacity:.85}.image-table .no-thumb{color:var(--text-muted)}.image-table em{color:var(--text-muted);font-size:12px;font-style:normal}.image-table input[type=checkbox]{accent-color:var(--accent-teal);cursor:pointer}.upload-panel{max-width:800px}.upload-panel h3{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 4px;padding-bottom:6px;font-size:16px;font-weight:500}.upload-hint{color:var(--text-secondary);margin:8px 0 20px;font-size:13px}.upload-form{flex-direction:column;gap:16px;display:flex}.upload-form label{color:var(--text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.upload-form select,.upload-form input[type=file]{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);flex:1;min-width:200px;padding:8px 12px;font-family:inherit;font-size:13px}.upload-hazards{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:13px;display:flex}.hazard-chips{flex-wrap:wrap;gap:6px;display:flex}.hazard-chip{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:12px;padding:4px 12px;font-family:inherit;font-size:12px}.hazard-chip:hover{border-color:var(--accent-teal)}.hazard-chip.active{background:var(--accent-teal-dim);color:var(--accent-teal);border-color:var(--accent-teal)}.file-count{color:var(--text-secondary);margin:0;font-size:12px}.upload-form .btn-approve{max-width:240px;padding:10px 20px;font-size:14px}.upload-results{margin-top:24px}.upload-results h4{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:500}.status-select{border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--bg-surface);padding:4px 8px;font-family:inherit;font-size:12px;font-weight:500}.status-select.status-pending{color:var(--text-secondary);border-color:var(--border)}.status-select.status-approved{color:var(--accept);border-color:var(--accept);background:#34d39914}.status-select.status-rejected{color:var(--reject);border-color:var(--reject);background:#f8717114}.status-select.status-skipped{color:var(--skip);border-color:var(--skip);background:#60a5fa14}.download-btn{border-radius:var(--radius);border:1px solid var(--skip);color:var(--skip);cursor:pointer;background:0 0;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500}.download-btn:hover:not(:disabled){background:var(--skip);color:var(--bg-deep)}.download-btn:disabled{opacity:.4;cursor:not-allowed}.lightbox-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-content{flex-direction:column;align-items:center;gap:12px;max-width:90vw;max-height:90vh;display:flex}.lightbox-content img{object-fit:contain;border-radius:var(--radius-lg);max-width:90vw;max-height:80vh;box-shadow:var(--shadow-md)}.lightbox-actions{gap:8px;display:flex}.lightbox-download{border-radius:var(--radius);background:var(--accent-teal);color:var(--bg-deep);cursor:pointer;border:none;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:600}.lightbox-download:hover{opacity:.88}.lightbox-close{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;padding:8px 20px;font-family:inherit;font-size:13px}.lightbox-close:hover{border-color:var(--text-secondary)}.pagination{color:var(--text-muted);justify-content:center;align-items:center;gap:12px;margin-top:20px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.pagination button{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:6px;padding:6px 16px;font-family:inherit;font-size:12px}.pagination button:hover{border-color:var(--border-focus);background:var(--bg-elevated)}.pagination button:disabled{color:var(--text-muted);cursor:not-allowed;background:0 0;border-color:#0000}.nav-brand{color:var(--text-primary);letter-spacing:.3px;padding:0 10px;font-size:14px;font-weight:600}.nav-logout{cursor:pointer;border-radius:6px;margin-left:12px;font-family:inherit;font-size:12px;border:1px solid var(--border)!important;background:var(--bg-elevated)!important;color:var(--text-secondary)!important;padding:6px 14px!important}.nav-logout:hover{border-color:var(--reject)!important;color:var(--reject)!important}.participant-form{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.participant-form input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);min-width:180px;transition:border-color var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.participant-form input:focus{border-color:var(--accent-teal)}.participant-form .error,.participant-form .success{margin:0}body.collect-fullwidth #root{text-align:left;border-inline:none;width:100%;max-width:100%}.collect-page{padding:12px 20px 24px}.collect-progress{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:12px 18px;display:flex}.collect-prog-label{color:var(--text-primary);letter-spacing:.3px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.collect-prog-hint{color:var(--text-muted);font-size:12px}.clarity-bar{background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;flex:1;min-width:140px;height:8px;overflow:hidden}.clarity-fill{background:linear-gradient(90deg, var(--skip), var(--accent-teal));height:100%;transition:width var(--transition)}.collect-error{color:var(--reject);border-radius:var(--radius);background:#f8717114;border:1px solid #f8717133;margin-bottom:12px;padding:8px 14px;font-size:13px}.collect-body{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.collect-canvas-col{flex-direction:column;flex:1 1 0;gap:10px;min-width:0;display:flex}.collect-side-col{flex-direction:column;flex:0 0 340px;gap:16px;min-width:0;display:flex}.collect-toolbar{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 14px;display:flex}.tool-active{background:var(--accent-teal-dim);color:var(--accent-teal);border:1px solid #4fd1c533;border-radius:12px;padding:3px 12px;font-size:12px;font-weight:600}.tool-status{color:var(--text-muted);font-size:12px}.tool-btn{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:12px}.tool-btn:hover:not(:disabled){border-color:var(--accent-teal);color:var(--accent-teal)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.tool-cancel:hover{border-color:var(--reject);color:var(--reject)}.collect-stage-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:var(--bg-deep);align-self:center;max-width:100%;position:relative;overflow:hidden}.collect-stage-loading{z-index:5;color:var(--text-muted);background:#0c0e1ab3;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.collect-objlist{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.collect-objlist h4,.collect-form h4{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:6px;font-size:14px;font-weight:500}.obj-row{cursor:pointer;transition:background var(--transition);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.obj-row:hover{background:var(--bg-elevated)}.obj-row.active{background:var(--accent-teal-dim)}.obj-swatch{border-radius:3px;flex-shrink:0;width:14px;height:14px}.obj-name{color:var(--text-primary);flex:1;font-size:13px}.obj-conf{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:11px}.obj-del{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.obj-del:hover{color:var(--reject)}.collect-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.collect-form label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;font-weight:500;display:flex}.collect-form input[type=text]{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-deep);color:var(--text-primary);transition:border-color var(--transition);outline:none;padding:8px 12px;font-family:inherit;font-size:13px}.collect-form input[type=text]:focus{border-color:var(--accent-teal)}.collect-add{align-self:flex-start;margin-top:4px;padding:8px 20px;font-size:13px}.conf-row{flex-direction:column;gap:6px;display:flex}.conf-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.conf-label{color:var(--text-primary);font-size:13px;font-weight:600}.conf-sub{color:var(--text-muted);font-size:12px}.conf-buttons{gap:6px;display:flex}.conf-scale{color:var(--text-muted);justify-content:space-between;padding:0 2px;font-size:11px;display:flex}.conf-btn{border:1px solid var(--border);background:var(--bg-deep);width:34px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);border-radius:6px;font-family:inherit;font-size:13px}.conf-btn:hover{border-color:var(--accent-teal)}.conf-btn.active{background:var(--accent-teal-dim);color:var(--accent-teal);border-color:var(--accent-teal)}.collect-hint{color:var(--text-muted);margin:0;font-size:12px;line-height:1.6}.collect-steps{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px}.collect-steps h4{color:var(--text-primary);border-bottom:1px solid var(--border);margin:0 0 10px;padding-bottom:6px;font-size:14px;font-weight:500}.step-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.step-item{transition:all var(--transition);border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:6px 8px;display:flex}.step-badge{border:1px solid var(--border);background:var(--bg-deep);width:22px;height:22px;color:var(--text-muted);transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:flex}.step-text{flex-direction:column;gap:1px;display:flex}.step-label{color:var(--text-secondary);font-size:13px;font-weight:500}.step-hint{color:var(--text-muted);font-size:12px;line-height:1.4}.step-upcoming{opacity:.7}.step-active{background:var(--accent-teal-dim);border-color:#4fd1c533}.step-active .step-badge{background:var(--accent-teal);color:var(--bg-deep);border-color:var(--accent-teal)}.step-active .step-label{color:var(--accent-teal);font-weight:600}.step-done .step-badge{color:var(--accept);background:#34d39926;border-color:#34d39966}.step-done .step-label{color:var(--text-secondary)}.step-note{border-top:1px solid var(--border);color:var(--text-muted);margin:10px 0 0;padding-top:10px;font-size:12px;line-height:1.6}.collect-add.is-ready{box-shadow:0 0 14px #34d3994d}.collect-add.is-muted{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.collect-add.is-muted:hover{background:var(--bg-hover);color:var(--text-primary)}.collect-actions{border-top:1px solid var(--border);gap:12px;margin-top:20px;padding-top:16px;display:flex}.collect-next-level{border-radius:var(--radius);background:var(--accent-teal);color:var(--bg-deep);cursor:pointer;transition:all var(--transition);border:none;padding:11px 24px;font-family:inherit;font-size:14px;font-weight:600}.collect-next-level:hover:not(:disabled){opacity:.88;box-shadow:0 0 16px #4fd1c540}.collect-done-image{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);padding:11px 24px;font-family:inherit;font-size:14px;font-weight:600}.collect-done-image:hover:not(:disabled){border-color:var(--border-focus);color:var(--text-primary)}.collect-next-level:disabled,.collect-done-image:disabled{opacity:.4;cursor:not-allowed}.collect-done{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:60vh;display:flex}.collect-done h2{color:var(--text-primary);font-size:24px;font-weight:400}.collect-done p{color:var(--text-secondary);font-size:14px}.collect-result{font-family:JetBrains Mono,monospace;color:var(--accent-teal)!important}.collect-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.collect-summary-actions{gap:8px;display:flex}.collect-intro{justify-content:center;align-items:flex-start;padding:48px 20px;display:flex}.collect-intro-card{background:#fff;border:1px solid #e2e2e2;border-radius:10px;max-width:640px;padding:28px 32px;box-shadow:0 2px 12px #0000000f}.collect-intro-trial{text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:4px;font-size:13px}.collect-intro-card h2{margin:0 0 16px}.collect-intro-card p{color:#333;margin:0 0 12px;font-size:15px;line-height:1.6}.collect-intro-start{margin-top:12px;padding:10px 28px;font-size:15px}.collect-complete-card{text-align:center}.collect-complete-check{color:#2e9e5b;margin-bottom:8px;font-size:52px;line-height:1}.collect-complete-next{color:#333;margin-top:10px}.collect-intro-example{text-align:center;margin:14px 0 4px}.collect-intro-example img{border:1px solid #e2e2e2;border-radius:8px;max-width:100%;height:auto;max-height:260px}.collect-intro-example figcaption{color:#888;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:12px}.collect-settings{background:#fafafa;border:1px solid #e2e2e2;border-radius:8px;margin-bottom:24px;padding:16px 20px}.collect-settings-hint{color:#666;margin:4px 0 12px;font-size:13px}.collect-settings-grid{flex-wrap:wrap;gap:20px;display:flex}.collect-settings-grid label{flex-direction:column;gap:4px;font-size:13px;display:flex}.collect-settings-grid input{width:120px;padding:6px 8px}.collect-settings-total{color:#333;margin:12px 0;font-size:13px}.collect-settings-status{color:#2a7;margin-left:12px;font-size:13px}.collect-canvas-col,.collect-side-col,.collect-actions{position:relative}.coachmark{z-index:40;color:#fff;background:#16a34a;border:2px solid #4ade80;border-radius:10px;max-width:320px;padding:12px 32px 12px 14px;font-size:13px;line-height:1.55;position:absolute;box-shadow:0 6px 22px #16a34a80}.coachmark-x{color:#dcfce7;cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1;position:absolute;top:6px;right:8px}.coachmark-x:hover{color:#fff}.coachmark-body{white-space:normal}.coachmark-canvas{top:10px;left:10px}.coachmark-side{max-width:none;top:0;left:0;right:0}.coachmark-buttons{bottom:calc(100% + 8px);left:0}.coachmark-buttons:after{content:"";background:#16a34a;border-bottom:2px solid #4ade80;border-right:2px solid #4ade80;width:12px;height:12px;position:absolute;bottom:-7px;left:28px;transform:rotate(45deg)}.collect-resumed{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:8px;padding:6px 12px;font-size:13px}.viewer-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.viewer-modal{background:#fff;border-radius:10px;width:min(1180px,96vw);max-height:92vh;padding:18px 22px 22px;overflow:auto;box-shadow:0 10px 40px #00000059}.viewer-head{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.viewer-head h3{margin:0 0 10px}.viewer-close{cursor:pointer;color:#666;background:0 0;border:none;padding:0 6px;font-size:20px}.viewer-close:hover{color:#111}.viewer-body{grid-template-columns:240px 1fr 220px;align-items:start;gap:16px;display:grid}.viewer-nav h4,.viewer-objects h4{margin:4px 0 8px;font-size:14px}.viewer-imglist,.viewer-levels{flex-direction:column;gap:4px;max-height:220px;margin-bottom:12px;display:flex;overflow-y:auto}.viewer-imglist button,.viewer-levels button{text-align:left;cursor:pointer;background:#fafafa;border:1px solid #ddd;border-radius:6px;padding:6px 8px;font-size:12.5px}.viewer-imglist button:hover,.viewer-levels button:hover{background:#f0f0f0}.viewer-imglist button.active,.viewer-levels button.active{color:#fff;background:#2563eb;border-color:#2563eb}.viewer-imglist button:disabled{opacity:.5;cursor:not-allowed}.viewer-canvas{background:#f4f4f5;border-radius:8px;justify-content:center;align-items:flex-start;min-height:300px;padding:8px;display:flex}.viewer-objects{border-left:1px solid #eee;padding-left:14px}.viewer-obj{border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:8px;padding:6px 0;display:flex}.viewer-obj-name{font-size:13px;font-weight:600}.viewer-obj-meta{color:#666;font-size:12px}
