*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;background:#0a0a0a;color:#ededed;min-height:100vh;-webkit-font-smoothing:antialiased}#app{max-width:1200px;margin:0 auto;padding:2rem 2rem 4rem}header{margin-bottom:2rem}.header-row{display:flex;align-items:flex-start;justify-content:space-between}.reset-btn{padding:.4rem .9rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;color:#999;font-size:.8rem;cursor:pointer;transition:all .15s;white-space:nowrap;margin-top:.25rem}.reset-btn:hover{color:#ededed;border-color:#444}h1{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}h1 span{font-weight:400;color:#666}.subtitle{color:#666;font-size:.875rem;margin-top:.25rem}#drop-zone{border:1px dashed #333;border-radius:12px;padding:4rem 2rem;text-align:center;transition:all .2s ease;cursor:pointer;background:#0a0a0a}#drop-zone.drag-over{border-color:#fff;background:#ffffff05}#drop-zone.processing{opacity:.3;pointer-events:none}.drop-icon{color:#444;margin-bottom:1rem}.drop-text{font-size:1rem;color:#999;margin-bottom:.5rem}.drop-alt{color:#444;font-size:.8rem;margin-bottom:.75rem}.browse-btn{display:inline-block;padding:.5rem 1.25rem;background:#fff;color:#000;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:background .15s}.browse-btn:hover{background:#e0e0e0}.card{background:#111;border:1px solid #1a1a1a;border-radius:12px;overflow:hidden}.card-header{padding:1rem 1.25rem .75rem;border-bottom:1px solid #1a1a1a}.card-header h3{font-size:.8rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.05em}#dashboard{margin-top:1.5rem}#file-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}#file-summary .file-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#111;border:1px solid #1a1a1a;border-radius:8px;font-size:.8rem}#file-summary .file-label{color:#666}#file-summary .file-value{color:#999}#file-summary .file-value.found{color:#3ecf8e}#file-summary .file-value.missing{color:#f75f5f}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.dashboard-left,.dashboard-right{min-width:0}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}}#media-previews{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.media-preview:last-child{grid-column:1 / -1}.media-preview{background:#111;border:1px solid #1a1a1a;border-radius:12px;overflow:hidden}.media-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid #1a1a1a}.media-preview .media-label{font-size:.7rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.05em}.media-actions{display:flex;gap:.4rem;align-items:center}.media-remove-btn{font-size:.7rem;color:#555;cursor:pointer;padding:.15rem .5rem;background:none;border:1px solid #2a2a2a;border-radius:4px;transition:all .15s}.media-remove-btn:hover{color:#f75f5f;border-color:#f75f5f55}.media-upload-btn{font-size:.7rem;color:#666;cursor:pointer;padding:.15rem .5rem;border:1px solid #2a2a2a;border-radius:4px;transition:all .15s}.media-upload-btn:hover{color:#ededed;border-color:#444}.media-content img{width:100%;height:auto;display:block}.media-content video{width:100%;display:block}.media-empty{padding:2rem;text-align:center;color:#333;font-size:.8rem}#ini-editor #ini-fields{padding:.75rem 1.25rem}.ini-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.ini-row input.ini-key{width:130px;flex-shrink:0}.ini-row input.ini-value{flex:1}.ini-row input{padding:.35rem .5rem;background:#0a0a0a;border:1px solid #222;border-radius:6px;color:#ededed;font-size:.8rem;font-family:inherit;transition:border-color .15s}.ini-row input:focus{outline:none;border-color:#555}.ini-row input.ini-key:read-only{color:#666;border-color:transparent;background:transparent}.ini-row .ini-delete-btn{background:none;border:none;color:#333;cursor:pointer;font-size:1rem;padding:0 .25rem;line-height:1;transition:color .15s}.ini-row .ini-delete-btn:hover{color:#f75f5f}.ini-row.ini-auto input.ini-value{border-color:#3ecf8e33;color:#3ecf8e}.ini-auto-badge{font-size:.6rem;font-weight:600;color:#3ecf8e;padding:.1rem .35rem;background:#3ecf8e11;border:1px solid #3ecf8e33;border-radius:4px;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}#add-field-btn{display:block;width:100%;padding:.5rem;background:transparent;border:none;border-top:1px solid #1a1a1a;color:#555;font-size:.8rem;cursor:pointer;transition:color .15s,background .15s}#add-field-btn:hover{color:#ededed;background:#1a1a1a}#setlist-section{margin-top:1.5rem}.setlist-config{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid #1a1a1a}.setlist-config label{font-size:.8rem;color:#666;white-space:nowrap;flex-shrink:0}.setlist-config input{flex:1;padding:.35rem .5rem;background:#0a0a0a;border:1px solid #222;border-radius:6px;color:#ededed;font-size:.8rem;font-family:inherit;transition:border-color .15s}.setlist-config input:focus{outline:none;border-color:#555}.json-preview{padding:1rem 1.25rem;margin:0;font-size:.75rem;line-height:1.5;color:#888;font-family:SF Mono,Fira Code,Cascadia Code,monospace;overflow-x:auto;max-height:300px;overflow-y:auto;border-bottom:1px solid #1a1a1a;white-space:pre-wrap;word-break:break-all}.setlist-actions{display:flex;gap:0}.setlist-btn{flex:1;padding:.5rem;background:transparent;border:none;color:#555;font-size:.8rem;cursor:pointer;transition:color .15s,background .15s}.setlist-btn:first-child{border-right:1px solid #1a1a1a}.setlist-btn:hover{color:#ededed;background:#1a1a1a}.setlist-btn.copied{color:#3ecf8e}#eq-visualizer{width:100%;height:48px;display:block;border-bottom:1px solid #1a1a1a}#transport{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid #1a1a1a}#play-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:50%;color:#ededed;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}#play-btn:hover{background:#2a2a2a;border-color:#444}#time-display{font-size:.75rem;color:#555;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;min-width:80px}#seek-bar{flex:1;height:4px;accent-color:#fff;cursor:pointer}#stem-controls #stem-sliders{padding:1rem 1.25rem .75rem}.stem-slider{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid #1a1a1a}.stem-slider:last-child{border-bottom:none}.stem-slider label{width:72px;font-size:.8rem;color:#666;text-transform:capitalize;flex-shrink:0}.stem-waveform{border-radius:6px;background:#0a0a0a;flex-shrink:0}.stem-slider input[type=range]{flex:1;height:4px;accent-color:#fff;cursor:pointer}.stem-slider .stem-value{width:36px;font-size:.75rem;color:#555;text-align:right;font-variant-numeric:tabular-nums}.stem-mute-btn{width:28px;height:20px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:4px;color:#555;font-size:.6rem;font-weight:700;cursor:pointer;transition:all .15s;flex-shrink:0;text-transform:uppercase}.stem-mute-btn:hover{border-color:#444;color:#ededed}.stem-mute-btn.active{background:#f75f5f22;border-color:#f75f5f55;color:#f75f5f}.action-btn{width:100%;padding:.75rem;background:#fff;color:#000;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.action-btn:hover{background:#e0e0e0}.action-btn:active{transform:scale(.99)}.action-btn-success{background:#3ecf8e;color:#000}.action-btn-success:hover{background:#34b87c}#progress-section{margin-top:1.5rem}.progress-bar{height:4px;background:#1a1a1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#fff;width:0%;transition:width .3s;border-radius:2px}#progress-text{margin-top:.5rem;font-size:.8rem;color:#555}.warning{margin-bottom:1.5rem;padding:.75rem 1rem;background:#1a1400;border:1px solid #332800;border-radius:8px;color:#f5a623;font-size:.8rem}#error-section{margin-top:1.5rem;padding:.75rem 1rem;background:#1a0a0a;border:1px solid #331a1a;border-radius:8px}#error-text{color:#f75f5f;font-size:.8rem}#download-btn{margin-top:1.5rem}
