*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#121218;color:#eee;min-height:100vh;min-height:-webkit-fill-available}.container{max-width:500px;margin:0 auto;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,80px))}header{text-align:center;padding:.5rem 0 1rem;border-bottom:1px solid #333;margin-bottom:1rem}header h1{font-size:1.5rem;color:#5a9fd4}nav{display:flex;gap:.5rem;margin-top:.5rem}nav button{flex:1;padding:.5rem;background:#1e2530;border:none;color:#aaa;border-radius:4px;cursor:pointer}nav button.active{background:#5a9fd4;color:#fff}nav button.nav-toggle{flex:.6}.view{display:none}.view.active{display:block}#camera-view{display:flex;flex-direction:column;gap:1rem}.camera-row{display:flex;align-items:flex-end;justify-content:center;gap:1rem}.video-container{position:relative;width:60%;aspect-ratio:3/4;background:#000;border-radius:8px;overflow:hidden;flex-shrink:0}#video{width:100%;height:100%;object-fit:cover}#canvas{display:none}.capture-btn{width:56px;height:56px;border-radius:50%;background:#5a9fd4;border:3px solid #fff;cursor:pointer;transition:transform .1s;flex-shrink:0}.capture-btn:active{transform:scale(.95)}.capture-btn:disabled{background:#666;cursor:not-allowed}.set-filter-container{position:relative}.set-filter-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#1e2530;border:1px solid #444;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem}.set-filter-btn:hover{background:#2a3040}.set-filter-btn.active{border-color:#5a9fd4}.set-filter-icon{font-family:serif;font-style:italic;font-weight:700}.set-filter-indicator{width:8px;height:8px;background:#d4a55a;border-radius:50%}.set-filter-indicator.hidden{display:none}.set-filter-dropdown{position:absolute;top:100%;left:0;margin-top:.25rem;background:#1e2530;border:1px solid #444;border-radius:6px;padding:.5rem;z-index:100;min-width:180px;box-shadow:0 4px 12px #00000080}.set-filter-dropdown.hidden{display:none}.set-filter-header{font-size:.75rem;color:#888;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid #333}.set-filter-item{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;color:#ccc;font-size:.85rem;cursor:pointer}.set-filter-item:hover{color:#fff}.set-filter-item input{width:16px;height:16px;accent-color:#5a9fd4}.toggle-switch{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-slider{width:36px;height:20px;background:#3a3a5e;border-radius:10px;position:relative;transition:background .2s}.toggle-slider:after{content:"";position:absolute;width:16px;height:16px;background:#888;border-radius:50%;top:2px;left:2px;transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-slider{background:#2d5a3d}.toggle-switch input:checked+.toggle-slider:after{transform:translate(16px);background:#5ad45a}.toggle-label{color:#aaa;font-size:.9rem}.multi-results{margin-top:1rem}.multi-results h3{margin-bottom:.75rem}.multi-card-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#1e2530;border-radius:8px;margin-bottom:.5rem}.multi-card-item.selected{border:2px solid #5a9fd4}.multi-card-checkbox{width:20px;height:20px;accent-color:#5a9fd4;margin-right:.75rem}.multi-card-info{flex:1}.multi-card-thumb{width:40px;height:56px;object-fit:cover;border-radius:3px;margin-right:.5rem;flex-shrink:0}.multi-card-actions{display:flex;gap:.5rem;margin-top:1rem}.multi-card-actions button{flex:1;padding:.75rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.btn-add-all{background:#5a9fd4;color:#fff}#preview-container{display:none}#preview-container.active{display:block}#preview-image{width:60%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;display:block;margin:0 auto}.preview-actions{display:flex;gap:.5rem;margin-top:.5rem}.preview-actions button{flex:1;padding:.5rem;border:none;border-radius:6px;font-size:.875rem;cursor:pointer}.btn-cancel{background:#444;color:#fff}button svg{vertical-align:-.15em}.btn-submit{background:#5a9fd4;color:#fff}#results{display:none}#results.active{display:block}.confident-match{padding:1rem;background:#1e2530;border-radius:12px;border:2px solid #5a9fd4;margin-bottom:1rem}.confident-match-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.confident-match-thumb{width:50px;height:70px;object-fit:cover;border-radius:4px;flex-shrink:0}.confident-match-details{flex:1;text-align:left}.confident-match-name{font-size:1.2rem;font-weight:700;margin-bottom:.25rem;color:#fff}.confident-match-confidence{color:#5a9fd4;font-size:.85rem;margin-bottom:.25rem}.confident-match-actions{display:flex;gap:.5rem;justify-content:center}.confident-match-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.btn-add-large{background:#5a9fd4;color:#fff;font-weight:600}.btn-report{background:#6b4e4e;color:#fff;font-size:.85rem}.alternatives-toggle{background:none;border:none;color:#888;font-size:.85rem;cursor:pointer;margin-top:1rem;text-decoration:underline}.alternatives-toggle:hover{color:#aaa}.alternatives-section{display:none;margin-top:1rem}.alternatives-section.expanded{display:block}.alternatives-section h4{font-size:.85rem;color:#888;margin-bottom:.5rem}.prediction-list{list-style:none}.prediction-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#1e2530;border-radius:6px;margin-bottom:.5rem;cursor:pointer}.prediction-list:not(.low-confidence) .prediction-item:first-child{background:#3d3d6d;border:2px solid #5a9fd4}.low-confidence-warning{background:#4a3a2a;border:1px solid #b8860b;border-radius:6px;padding:.5rem .75rem;margin-bottom:.5rem;font-size:.85rem;color:#daa520}.price-tag{padding:.25rem .5rem;border-radius:4px;background:#2e7d32;color:#fff;font-weight:700;font-size:.85rem;flex-shrink:0}.price-tag.loading{background:#444;color:#888}.prediction-name{font-weight:600}.prediction-confidence{color:#5a9fd4;font-size:.9rem}.confidence-bar{height:4px;background:#444;border-radius:2px;margin-top:.5rem;overflow:hidden}.confidence-fill{height:100%;background:#5a9fd4;transition:width .3s}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;justify-content:center;align-items:center;z-index:100}.modal.active{display:flex}.modal-content{background:#1e2530;padding:1.5rem;border-radius:12px;width:90%;max-width:400px}.modal h2,.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;color:#aaa;font-size:.9rem}.form-group select,.form-group input{width:100%;padding:.75rem;background:#121218;border:1px solid #444;border-radius:6px;color:#fff;font-size:1rem}.modal-actions{display:flex;gap:.5rem;margin-top:1.5rem}.modal-actions button{flex:1;padding:.75rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.collection-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.stat-card{background:#1e2530;padding:1rem;border-radius:8px;text-align:center}.stat-value{font-size:1.5rem;font-weight:700;color:#5a9fd4}.stat-label{font-size:.8rem;color:#888}.collection-sort{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem}.sort-label{color:#888;font-size:.8rem;margin-right:.25rem}.sort-btn{padding:.25rem .6rem;background:#1e2530;border:1px solid #333;border-radius:4px;color:#aaa;font-size:.8rem;cursor:pointer}.sort-btn.active{background:#2a3545;border-color:#5a9fd4;color:#5a9fd4}.collection-list{list-style:none}.collection-item{background:#1e2530;border-radius:8px;margin-bottom:.5rem;overflow:hidden}.collection-item-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer}.collection-item-info{flex:1}.collection-item-name{font-weight:600}.collection-item-details{font-size:.85rem;color:#888}.collection-item-qty{font-size:1.2rem;font-weight:700;color:#5a9fd4;min-width:40px;text-align:center}.collection-card-thumb{width:36px;height:50px;object-fit:cover;border-radius:3px;margin-right:.75rem;flex-shrink:0}.collection-item-edit{display:none;padding:.75rem 1rem 1rem;border-top:1px solid #333;gap:.75rem;align-items:center}.collection-item.expanded .collection-item-edit{display:flex;flex-wrap:wrap}.collection-item-edit .edit-set{flex:1;min-width:100px;padding:.4rem;background:#121218;border:1px solid #444;border-radius:4px;color:#fff;font-size:.85rem}.collection-item-edit .edit-foil-label{display:flex;align-items:center;gap:.25rem;color:#aaa;font-size:.85rem;white-space:nowrap}.collection-item-edit .edit-foil{width:16px;height:16px;accent-color:#5a9fd4}.collection-item-edit .edit-qty{display:flex;align-items:center;gap:.25rem}.collection-item-edit .qty-btn{width:28px;height:28px;border:1px solid #444;border-radius:4px;background:#121218;color:#fff;font-size:1rem;cursor:pointer}.collection-item-edit .qty-btn:active{background:#333}.collection-item-edit .qty-value{min-width:24px;text-align:center;font-weight:600}.collection-item-edit .delete-btn{padding:.4rem .75rem;background:#3a2020;border:1px solid #d45a5a;border-radius:4px;color:#d45a5a;font-size:.85rem;cursor:pointer}.collection-item-edit .delete-btn:active{background:#4a2525}.loading{display:none;text-align:center;padding:2rem}.loading.active{display:block}.spinner{width:40px;height:40px;border:3px solid #444;border-top-color:#5a9fd4;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:1rem 1.5rem;border-radius:8px;opacity:0;transition:opacity .3s;z-index:200}.toast.active{opacity:1}.toast.success{background:#2d8a4e}.toast.error{background:#9d2d2d}.batch-onboarding{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:300;padding:1rem}.batch-onboarding.hidden{display:none}.batch-onboarding-content{background:#1e2530;border-radius:12px;padding:1.5rem;max-width:320px;text-align:center}.batch-onboarding-img{width:180px;height:auto;margin-bottom:1rem}.batch-onboarding-content h3{margin:0 0 .5rem;color:#fff}.batch-onboarding-content p{color:#aaa;font-size:.9rem;margin:0 0 1.25rem;line-height:1.4}.batch-onboarding-content button{width:100%;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer}.empty-state{text-align:center;padding:3rem 1rem;color:#666}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.photo-tips{background:#1e2530;border-radius:8px;margin-top:.75rem;font-size:.85rem}.photo-tips-toggle{width:100%;background:none;border:none;color:#888;padding:.6rem .75rem;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.photo-tips-toggle:hover{color:#aaa}.photo-tips-toggle svg{transition:transform .2s}.photo-tips.expanded .photo-tips-toggle svg{transform:rotate(180deg)}.photo-tips-content{display:none;padding:0 .75rem .75rem}.photo-tips.expanded .photo-tips-content{display:block}.photo-tips-list{list-style:none;color:#aaa}.photo-tips-list li{padding:.35rem 0 .35rem 1.25rem;position:relative}.photo-tips-list li:before{content:"•";position:absolute;left:0;color:#5a9fd4}.photo-tips-prominent{background:#2a3040;border:1px solid #3a4050;border-radius:8px;padding:1rem;margin-top:1rem}.photo-tips-prominent h4{color:#5a9fd4;font-size:.9rem;margin-bottom:.5rem}.feedback-link{display:block;text-align:center;margin-top:.5rem;color:#666;font-size:.8rem;text-decoration:none}.feedback-link:hover{color:#888;text-decoration:underline}.feedback-form{margin-top:.5rem;background:#1e2530;border-radius:8px;padding:.75rem}.feedback-form textarea{width:100%;background:#121218;border:1px solid #444;border-radius:6px;color:#fff;padding:.5rem;font-family:inherit;font-size:.9rem;resize:vertical}.feedback-form-actions{display:flex;gap:.5rem;margin-top:.5rem;justify-content:flex-end}.feedback-form-actions button{padding:.4rem 1rem;border:none;border-radius:6px;font-size:.85rem;cursor:pointer}.camera-controls{display:flex;flex-direction:column;gap:.5rem}.batch-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;background:#1e2530;border-radius:8px;margin-top:.5rem}.batch-controls.hidden{display:none}.batch-status{color:#aaa;font-size:.9rem;text-align:center}.batch-timing{color:#777;font-size:.7rem;text-align:center;font-family:monospace;margin-top:.4rem;word-break:break-word}.batch-timing.hidden{display:none}.batch-undo{padding:.4rem .75rem;background:#d4a55a;color:#000;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.batch-last-scanned{color:#8c8;font-size:.85rem;text-align:center;padding:.3rem .6rem;background:#50a0501a;border-radius:4px}.batch-last-scanned.hidden,.batch-undo.hidden{display:none}.batch-confirm{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;background:#2a2a4e;border-radius:6px;width:100%}.batch-confirm.hidden{display:none}.batch-confirm-buttons{display:flex;gap:.75rem}.batch-confirm-yes{padding:.5rem 1.5rem;background:#5a9fd4;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600}.batch-confirm-no{padding:.5rem 1.5rem;background:#1e2530;color:#888;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:1rem}.batch-stop-btn{padding:.5rem 1rem;background:#d45a5a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}#camera-container.batch-idle .video-container{border:3px solid #444}#camera-container.batch-motion .video-container{border:3px solid #d45a5a}#camera-container.batch-stabilizing .video-container{border:3px solid #d4a55a}#camera-container.batch-capturing .video-container{border:3px solid #5a9fd4}#camera-container.batch-success .video-container{border:3px solid #5ad45a}#camera-container.batch-flash-success .video-container{animation:flash-success .3s ease-out}#camera-container.batch-flash-warning .video-container{animation:flash-warning .3s ease-out}#camera-container.batch-flash-error .video-container{animation:flash-error .3s ease-out}@keyframes flash-success{0%{box-shadow:0 0 #5ad45acc}to{box-shadow:0 0 20px 10px #5ad45a00}}@keyframes flash-warning{0%{box-shadow:0 0 #d4a55acc}to{box-shadow:0 0 20px 10px #d4a55a00}}@keyframes flash-error{0%{box-shadow:0 0 #d45a5acc}to{box-shadow:0 0 20px 10px #d45a5a00}}.capture-btn.hidden{display:none}
