*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background-color:#f5f5f5;color:#1a1a1a;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#aaa}::-webkit-scrollbar-corner{background:transparent}.checkerboard{background-color:#d4d4d4;background-image:linear-gradient(45deg,#c8c8c8 25%,transparent 25%),linear-gradient(-45deg,#c8c8c8 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#c8c8c8 75%),linear-gradient(-45deg,transparent 75%,#c8c8c8 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0px}@keyframes toast-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.toast-item{animation:toast-slide-in .2s ease-out}.progress-indeterminate{animation:progress-indeterminate 1.2s linear infinite}@keyframes progress-indeterminate{0%{left:-33%}to{left:100%}}@keyframes spin{to{transform:rotate(360deg)}}.upload-area:focus-visible{outline:2px solid #1677ff;outline-offset:2px;border-color:#1677ff}.panel-preset-row{display:flex;align-items:center;gap:6px}.image-card{border-radius:8px;border:1px solid #f0f0f0;background:#fff;padding:6px 10px;transition:border-color .2s;cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto 48px}.image-card:hover{border-color:#d9d9d9}.image-card.selected{border-color:#69b1ff;background:#1677ff0a}.image-card.expanded{border-color:#91caff}.card-row{display:flex;align-items:center;gap:8px;min-height:40px}.card-thumb{width:28px;height:28px;flex-shrink:0;overflow:hidden;border-radius:4px;border:1px solid #f0f0f0}.card-title{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;color:#1f1f1f}.card-size{flex-shrink:0;font-size:12px;color:#595959;font-variant-numeric:tabular-nums}.card-size-custom{color:#1677ff;font-weight:500}.card-delete-btn{opacity:0;transition:opacity .15s}.image-card:hover .card-delete-btn,.image-card.selected .card-delete-btn,.image-card:focus-within .card-delete-btn{opacity:1}.card-body{margin-top:8px;padding-top:8px;border-top:1px dashed #f0f0f0;display:flex;flex-direction:column;gap:8px}.qty-stepper{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;border:1px solid #d9d9d9;border-radius:6px;background:#fff;overflow:hidden}.qty-stepper:hover{border-color:#4096ff}.qty-btn{width:20px;height:24px;border:none;background:transparent;color:#595959;font-size:13px;line-height:1;cursor:pointer;padding:0}.qty-btn:hover:not(:disabled){color:#1677ff;background:#f0f7ff}.qty-btn:disabled{color:#d9d9d9;cursor:default}.qty-label{font-size:11px;color:#8c8c8c;margin-left:1px}.qty-input{width:34px;height:24px;border:none;outline:none;text-align:center;font-size:12px;font-weight:500;color:#1f1f1f;font-variant-numeric:tabular-nums;padding:0;background:transparent}.qty-input:focus{background:#f0f7ff;border-radius:4px}.recognize-notice{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:#e6f4ff;border:1px solid #91caff;font-size:12px;color:#0958d9}.hidden-selected-notice{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:#fffbe6;border:1px solid #ffe58f;font-size:12px;color:#8c6116}.empty-cta{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 48px;border:2px dashed #d9d9d9;border-radius:16px;background:#fafafa;cursor:pointer;font:inherit;color:inherit;transition:all .2s}.empty-cta:hover{border-color:#69b1ff;background:#f0f7ff}.empty-cta:focus-visible{outline:2px solid #1677ff;outline-offset:3px}.empty-cta-steps{display:flex;align-items:center;gap:8px;font-size:12px;color:#595959;white-space:nowrap}.empty-cta-steps .step-arrow{color:#8c8c8c}
