.uploader{align-items:center;border:2px dashed #fff3;border-radius:12px;cursor:pointer;display:flex;height:100%;justify-content:center;transition:all .3s ease;width:100%}.uploader.dragging,.uploader:hover{background:#00d9ff0d;border-color:#00d9ff}.uploader-content{padding:2rem;text-align:center}.upload-icon{color:#fff6;height:60px;margin:0 auto 1rem;width:60px}.uploader.dragging .upload-icon,.uploader:hover .upload-icon{color:#00d9ff}.upload-icon svg{height:100%;width:100%}.upload-text{color:#fffc;font-size:1.1rem;margin-bottom:.5rem}.upload-subtext{color:#fff6;margin-bottom:1rem}.upload-btn{background:linear-gradient(135deg,#00d9ff,#06f);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;padding:.8rem 2rem;transition:transform .2s,box-shadow .2s}.upload-btn:hover{box-shadow:0 4px 20px #00d9ff66;transform:translateY(-2px)}.upload-hint{color:#fff6;font-size:.8rem;margin-top:1rem}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow:hidden}body{background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{align-items:center;background:#0000004d;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:.75rem 1.5rem}.header-center,.header-left,.header-right{align-items:center;display:flex;gap:1rem}.header-left{flex:1 1}.header-center{flex:1 1;justify-content:center}.header-right{flex:1 1;justify-content:flex-end}.logo{gap:.75rem}.logo,.logo-icon{align-items:center;display:flex}.logo-icon{background:linear-gradient(135deg,#00d9ff,#06f);border-radius:8px;color:#fff;font-size:1.3rem;font-weight:700;height:36px;justify-content:center;width:36px}.logo-text{font-size:1.2rem;font-weight:600}.version{background:#00d9ff33;border-radius:4px;color:#00d9ff;font-size:.65rem;font-weight:600;padding:.2rem .5rem}.threshold-control{align-items:center;color:#fffc;display:flex;font-size:.85rem;gap:.75rem}.threshold-control input[type=range]{-webkit-appearance:none;background:#fff3;border-radius:2px;height:4px;outline:none;width:120px}.threshold-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#00d9ff;border-radius:50%;cursor:pointer;height:14px;width:14px}.version-controls{align-items:center;display:flex;gap:.5rem;margin-left:1rem}.version-select{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;height:32px;outline:none;padding:.4rem .8rem;transition:all .2s}.version-select:hover{background:#ffffff26;border-color:#ffffff4d}.version-select:focus{border-color:#00d9ff}.version-select:disabled{cursor:not-allowed;opacity:.5}.version-select option{background:#1a1a2e;color:#fff}.compare-btn{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;height:32px;padding:.4rem .8rem;transition:all .2s;white-space:nowrap}.compare-btn:hover{background:#ffffff26}.compare-btn.active{background:#00d9ff33;border-color:#00d9ff66;color:#00d9ff}.version-badge{background:#ffffff1a;border-radius:4px;color:#ffffffb3;font-size:.7rem;font-weight:600;margin-left:.5rem;padding:.15rem .5rem}.version-badge.v10{background:#ffa50033;color:orange}.version-badge.v20{background:#00d9ff33;color:#00d9ff}.version-badge.v30{background:#0f83;color:#0f8}.panel-toggle{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.panel-toggle:hover{background:#ffffff26}.panel-toggle.active{background:#00d9ff33;border-color:#00d9ff66;color:#00d9ff}.panel-toggle svg{height:16px;width:16px}.reset-btn{background:#ff646433;border:1px solid #ff646466;border-radius:6px;color:#ff6464;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.reset-btn:hover{background:#ff64644d}.main{display:flex;overflow:hidden;padding:1rem;transition:all .3s ease}.content,.main{flex:1 1;gap:1rem}.content{grid-gap:1rem;display:grid;grid-template-columns:1fr 1fr;min-width:0}.panel{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.panel-header{align-items:center;border-bottom:1px solid #ffffff1a;box-sizing:border-box;display:flex;flex-shrink:0;justify-content:space-between;min-height:44px;padding:.75rem 1rem}.panel-header h2{color:#fffc;font-size:.9rem;font-weight:600}.detection-count{background:#00d9ff33;border-radius:10px;color:#00d9ff;font-size:.75rem;font-weight:500;padding:.2rem .6rem}.image-container{align-items:center;background:#0003;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:1rem;transition:background .2s}.image-container.clickable{cursor:pointer}.image-container.clickable:hover{background:#00d9ff1a}.image-container.clickable:hover .preview-image{opacity:.8}.change-hint{color:#fff6;font-size:.7rem;font-weight:400}.preview-image{max-height:100%;max-width:100%;object-fit:contain;transition:opacity .2s}.placeholder{color:#fff6;text-align:center}.loading{color:#fff9;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-radius:50%;border-top-color:#00d9ff;height:40px;margin:0 auto .75rem;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error{color:#ff6464;padding:1rem;text-align:center}.side-panel{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-shrink:0;overflow-y:auto;transition:all .3s ease;width:320px}.side-panel.closed{border:none;margin-left:-1rem;opacity:0;padding:0;width:0}.side-panel.open{opacity:1}.results-panel{padding:1rem}.results-panel h2{display:none}.detection-card{background:#0003;border-radius:8px;margin-bottom:.75rem;padding:.75rem}.detection-card:last-child{margin-bottom:0}.detection-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.detection-title{color:#00d9ff;font-size:.9rem;font-weight:600}.confidence-badge{background:#00d9ff33;border-radius:10px;color:#00d9ff;font-size:.75rem;font-weight:600;padding:.2rem .6rem}.coords-grid{display:flex;flex-direction:column;gap:.5rem}.coord-group{background:#ffffff08;border-radius:6px;padding:.6rem}.coord-group h4{color:#ffffff80;font-size:.65rem;letter-spacing:.5px;margin-bottom:.4rem;text-transform:uppercase}.coord-values{grid-gap:.2rem;color:#ffffffe6;display:grid;font-family:Monaco,Menlo,monospace;font-size:.75rem;gap:.2rem;grid-template-columns:1fr 1fr}.coord-values span{color:#ffffff80}.coord-group.physical-size{background:#00d9ff1a;border:1px solid #00d9ff4d}.coord-group.physical-size h4{color:#00d9ff}.compare-mode .content{grid-template-columns:repeat(4,1fr)}.compare-mode .main{gap:.5rem}.compare-mode .panel{min-height:0}.compare-mode .panel-header{min-height:36px;padding:.4rem .6rem}.compare-mode .panel-header h2{font-size:.8rem}.compare-mode .image-container{padding:.5rem}.compare-mode .version-badge{font-size:.6rem;padding:.1rem .4rem}.compare-mode .result-panel{border:2px solid #0000;cursor:pointer;transition:all .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.compare-mode .result-panel:hover{border-color:#fff3}.compare-mode .result-panel.selected{border-color:#00d9ff80;box-shadow:0 0 15px #00d9ff33}.compare-mode .input-panel.hidden,.compare-mode .result-panel.hidden{display:none}.compare-mode.has-expanded .content{grid-template-columns:1fr}.compare-mode .result-panel.expanded{border-color:#00d9ff99;grid-column:1/-1}.compare-mode .result-panel.expanded .image-container{min-height:400px}.compare-mode .result-panel.expanded .panel-header h2{font-size:1rem}.collapse-btn{background:#ff646433;border:1px solid #ff646466;border-radius:4px;color:#ff6464;cursor:pointer;font-size:.8rem;margin-left:auto;padding:.2rem .5rem;transition:all .2s}.collapse-btn:hover{background:#ff64644d}.panel-hint{border-top:1px solid #ffffff0d;color:#ffffff4d;font-size:.65rem;padding:.3rem;text-align:center}.side-panel-header{align-items:center;background:#0003;border-bottom:1px solid #ffffff1a;display:flex;gap:.5rem;padding:.75rem 1rem}.side-panel-header .version-badge{font-size:.8rem;padding:.2rem .6rem}.side-panel-header .selected-label{color:#ffffff80;font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}@media (max-width:1200px){.side-panel{width:280px}}@media (max-width:1600px){.compare-mode .content{grid-template-columns:repeat(2,1fr)}}@media (max-width:1200px){.compare-mode .content{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.compare-mode .content,.content{grid-template-columns:1fr}.version-controls{margin-left:.5rem}.compare-btn,.version-select{font-size:.75rem;padding:.3rem .5rem}.side-panel{border-radius:0;bottom:0;position:fixed;right:0;top:60px;z-index:100}.side-panel.closed{margin-left:0;transform:translateX(100%)}}
/*# sourceMappingURL=main.f0a2318b.css.map*/