*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f9f9f8;--surface:#fff;--border:#e2e2de;--border-strong:#c8c8c2;--text:#1a1a18;--text-muted:#6b6b67;--text-faint:#9d9d99;--accent:#1a1a18;--accent-fg:#fff;--success-bg:#eaf3de;--success-border:#a8d070;--success-text:#3b6d11;--radius:10px;--radius-sm:6px;--mono:"SF Mono","Fira Code",monospace}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;padding:2rem 1rem}
.container{max-width:820px;margin:0 auto}
header{margin-bottom:2rem}
.logo{font-size:20px;font-weight:650;margin-bottom:5px}
header p{font-size:14px;color:var(--text-muted)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}
.drop-zone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:2.5rem 1rem;text-align:center;cursor:pointer;background:var(--bg);transition:background .15s,border-color .15s}
.drop-zone:hover,.drop-zone.drag-over{background:#f0f0ec;border-color:#888}
.drop-zone svg{opacity:.35}
.drop-zone p{font-size:14px;color:var(--text-muted);margin-top:10px}
.drop-zone small{font-size:12px;color:var(--text-faint)}
.preview-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}
.preview-bar img{width:52px;height:52px;object-fit:cover;border-radius:6px;border:1px solid var(--border)}
.preview-bar .info p{font-size:13px;font-weight:500}
.preview-bar .info small{font-size:12px;color:var(--text-muted)}
.btn-sm{padding:5px 12px;font-size:12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);cursor:pointer;font-family:inherit;transition:background .1s,color .1s}
.btn-sm:hover{background:var(--bg);color:var(--text)}
.tabs{display:flex;gap:6px;margin:1.25rem 0 1rem}
.tab{padding:6px 16px;font-size:13px;border-radius:20px;border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;transition:all .15s}
.tab.active{background:var(--accent);color:var(--accent-fg);border-color:transparent}
.tab:hover:not(.active){background:#f0f0ec}
.platform-panel{display:none}
.platform-panel.active{display:block}
.top-actions{display:flex;gap:6px;margin-bottom:.75rem}
.group-block{margin-bottom:.25rem}
.group-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);padding:10px 0 5px;border-bottom:1px solid var(--border);margin-bottom:2px}
.group-actions{display:flex;gap:8px}
.group-actions button{font-size:11px;color:var(--text-muted);background:none;border:none;cursor:pointer;font-family:inherit}
.group-actions button:hover{color:var(--text);text-decoration:underline}
.checkbox-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-radius:6px;cursor:pointer;user-select:none;transition:background .1s}
.checkbox-row:hover{background:#f5f5f2}
.checkbox-row input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}
.row-name{font-size:13px;color:var(--text);flex:1}
.row-size{font-size:12px;color:var(--text-muted);font-family:var(--mono);min-width:90px;text-align:right}
.divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}
.help-text{font-size:13px;color:var(--text-muted);margin-bottom:12px}
.custom-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.custom-row input,.custom-row select{padding:7px 10px;font-size:13px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-family:inherit}
.custom-row input[type=number]{width:100px}
.custom-row .label-input{width:150px}
.custom-row .sep{color:var(--text-faint);font-size:13px}
.err-text{font-size:12px;color:#c0392b;margin-top:6px;min-height:16px}
.selected-section{margin-top:1rem}
.section-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}
.chips{min-height:28px}
.empty-note{font-size:12px;color:var(--text-faint);padding:4px 0}
.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--bg);border:1px solid var(--border);border-radius:20px;font-size:12px;color:var(--text-muted);margin:3px}
.chip .size-tag{font-family:var(--mono);font-size:11px;opacity:.65}
.chip-rm{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:14px;line-height:1;padding:0 0 0 2px;font-family:inherit}
.chip-rm:hover{color:var(--text)}
.export-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:1.25rem;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}
.export-bar .count{font-size:14px;color:var(--text-muted)}
.export-bar .count strong{color:var(--text)}
.btn-export{display:flex;align-items:center;gap:7px;padding:9px 22px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .15s}
.btn-export:hover{opacity:.82}
.btn-export:disabled{opacity:.3;cursor:not-allowed}
.progress-bg{height:4px;background:var(--border);border-radius:4px;overflow:hidden;margin-top:.75rem}
.progress-fill{height:4px;background:var(--accent);border-radius:4px;width:0%;transition:width .2s}
.progress-label{font-size:12px;color:var(--text-muted);margin-top:5px}
.download-ready{margin-top:1rem;padding:14px 16px;background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;gap:12px}
.download-ready p{font-size:13px;color:var(--success-text)}
.btn-download{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;background:#2a5e0a;color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;font-family:inherit}
.btn-download:hover{background:#1e4707}
