:root{color-scheme:light;--bg: #faf8f5;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f7f5f2;--ink: #1a1a1a;--ink-secondary: #4a4a4a;--ink-tertiary: #6e6e6e;--accent: #e85913;--accent-deep: #c7460a;--accent-soft: #fff3ed;--teal: #0f766e;--teal-soft: #e6f4f3;--border: #e8e4df;--border-strong: #d8d3cc;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .08);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--radius-xs: 8px;--max-width: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}.page-shell{width:min(calc(100% - 48px),var(--max-width));margin:0 auto;padding:40px 0 100px}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;padding:24px 0 48px}.hero-copy{display:flex;flex-direction:column;justify-content:center;gap:18px}.eyebrow,.section-kicker{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-tertiary)}.hero-copy h1,.results-header h2,.note-panel h3,.upload-head h2{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.2}.hero-copy h1{font-size:clamp(2.6rem,5.5vw,4.2rem)}.hero-lead{margin:0;max-width:520px;font-size:1.05rem;line-height:1.75;color:var(--ink-secondary)}.hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.hero-metrics div,.status-item{padding:16px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.hero-metrics span,.status-item span,.result-meta span,.strategy-chip,.note-panel p,.dropzone-copy em,.dropzone-hint{color:var(--ink-tertiary)}.hero-metrics span,.status-item span,.result-meta span{display:block;font-size:.8rem;font-weight:500}.hero-metrics strong,.status-item strong,.result-meta strong,.result-sizes strong,.result-card h3,.note-panel h3{color:var(--ink)}.hero-metrics strong{display:block;margin-top:6px;font-size:.95rem;font-weight:600}.upload-stage{position:relative;padding:28px;display:flex;flex-direction:column;gap:20px;border-radius:var(--radius-xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg)}.upload-head h2{font-size:clamp(1.5rem,2.4vw,2rem)}.dropzone{position:relative;min-height:260px;padding:28px;display:grid;place-items:center;text-align:center;border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--bg);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.dropzone:hover,.dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone-glow{display:none}.dropzone-copy strong{display:block;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:600;color:var(--ink)}.dropzone-copy em{display:block;margin-top:10px;font-style:normal;font-size:.95rem}.dropzone-hint{position:absolute;right:18px;bottom:16px;font-size:.8rem;font-weight:500;padding:4px 10px;background:#ffffffe6;border-radius:999px;border:1px solid var(--border)}.control-rail{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:14px;align-items:end}.control-rail label{display:grid;gap:6px}.control-rail span{font-size:.82rem;font-weight:500;color:var(--ink-secondary)}.control-rail input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.control-rail input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e859131f}.primary-button,.secondary-button,.ghost-button{height:48px;padding:0 22px;border-radius:var(--radius-sm);border:none;font-weight:600;font-size:.95rem;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,background .16s ease}.primary-button{background:var(--accent);color:#fff;box-shadow:0 4px 12px #e8591347}.primary-button:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 6px 16px #e8591352}.secondary-button{background:var(--teal);color:#fff}.secondary-button:hover{background:#0d5f58;transform:translateY(-1px)}.ghost-button{background:transparent;color:var(--ink-secondary);border:1px solid var(--border-strong)}.ghost-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.primary-button:active,.secondary-button:active,.ghost-button:active{transform:translateY(0)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.45;transform:none;box-shadow:none}.status-band{margin-top:32px;padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.status-item{border-radius:var(--radius-md)}.status-item strong{display:block;margin-top:6px;font-size:1rem;font-weight:600}.status-item-wide{background:linear-gradient(135deg,var(--teal-soft),var(--accent-soft));border:1px solid rgba(15,118,110,.12)}.results-shell{margin-top:44px}.results-header{display:flex;justify-content:space-between;align-items:end;gap:16px}.results-header h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}.results-actions{display:flex;gap:10px}.progress-shell{margin-top:20px;padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#0000000f}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--accent));transition:width .24s ease}#progress-label{margin:10px 0 0;color:var(--ink-secondary);font-size:.9rem;font-weight:500}.results-list{margin-top:20px;display:grid;gap:14px}.empty-state{min-height:200px;display:grid;place-items:center;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:var(--bg)}.empty-copy{text-align:center;padding:20px}.empty-copy p{margin:0;font-size:1.15rem;font-weight:600;color:var(--ink-secondary)}.empty-copy span{display:block;margin-top:8px;color:var(--ink-tertiary);font-size:.9rem}.result-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;padding:16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .18s ease,transform .18s ease}.result-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.result-preview{position:relative;overflow:hidden;min-height:140px;border-radius:var(--radius-md);background:var(--bg)}.result-preview img{width:100%;height:100%;object-fit:cover;display:block}.result-preview:after{content:attr(data-badge);position:absolute;left:10px;bottom:10px;padding:5px 10px;border-radius:999px;background:#1a1a1acc;color:#fff;font-size:.75rem;font-weight:500}.result-body{display:flex;flex-direction:column;gap:10px;justify-content:center}.result-topline,.result-meta,.result-sizes{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.result-topline{justify-content:space-between}.result-heading{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;min-width:0}.result-card h3{margin:0;font-size:1rem;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.strategy-chip{padding:5px 10px;border-radius:999px;background:var(--teal-soft);font-size:.78rem;font-weight:500;color:var(--teal)}.remove-button{height:36px;padding:0 14px;border:1px solid var(--border);border-radius:999px;background:#ffffffc7;color:var(--ink);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,opacity .18s ease}.remove-button:hover{transform:translateY(-1px);border-color:#fb5d2a66;background:#fb5d2a14}.remove-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.result-meta strong,.result-sizes strong{display:inline;margin-left:4px;font-weight:600;color:var(--ink)}.result-sizes{padding-top:6px;border-top:1px solid var(--border)}.result-note{margin:0;color:var(--ink-secondary);line-height:1.6;font-size:.9rem}.note-grid{margin-top:44px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.note-panel{padding:24px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.note-panel h3{margin-top:4px;font-size:1.25rem}.note-panel p:last-child{margin-bottom:0;line-height:1.7;font-size:.95rem;color:var(--ink-secondary)}.reveal{opacity:0;transform:translateY(14px);animation-duration:.6s;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.22,1,.36,1)}.reveal-up,.reveal-rise,.reveal-fade{animation-name:revealUp}.reveal-delay-1{animation-delay:.1s}@keyframes revealUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1020px){.hero{grid-template-columns:1fr;gap:32px}.upload-stage{margin:0}.status-band{grid-template-columns:repeat(2,minmax(0,1fr))}.note-grid{grid-template-columns:1fr}}@media(max-width:720px){.page-shell{width:min(calc(100% - 24px),var(--max-width));padding-top:20px}.hero-copy,.upload-stage{padding:20px}.hero-copy h1{max-width:none}.hero-metrics,.status-band,.control-rail{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:stretch}.results-actions{width:100%;flex-direction:column}.primary-button,.secondary-button,.ghost-button{width:100%}.result-card{grid-template-columns:1fr}.result-preview{min-height:200px}.dropzone{min-height:220px;padding:20px}}
