:root{--bg:#0a0a0a;--surface:#111;--surface-hover:#181818;--border:#222;--border-light:#2a2a2a;--text:#e0e0e0;--text-dim:#666;--text-muted:#444;--accent:#fff;--accent-dim:#aaa;--green:#4ade80;--red:#f87171;--mono:"CircularXXMonoWeb-Regular", "IBM Plex Mono", monospace;--radius:6px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--mono);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;justify-content:center;line-height:1.6;display:flex}#app{flex-direction:column;width:100%;max-width:640px;min-height:100vh;padding:3rem 1.5rem;display:flex}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:2.5rem;display:flex}.tab{color:var(--text-dim);font-family:var(--mono);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:-1px;padding:.6rem 1rem;font-size:.8rem;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.hero{margin-bottom:2rem}.hero h1{letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem;font-weight:500}.tagline{color:var(--text-dim);font-size:.8rem}.input-group{gap:.5rem;margin-bottom:1rem;display:flex}.input-group input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--mono);outline:none;flex:1;padding:.55rem .75rem;font-size:.8rem;transition:border-color .15s}.input-group input::placeholder{color:var(--text-muted)}.input-group input:focus{border-color:var(--text-dim)}.input-group button,.action-bar button,#download-btn{background:var(--accent);color:var(--bg);border-radius:var(--radius);font-family:var(--mono);cursor:pointer;white-space:nowrap;border:none;padding:.55rem 1rem;font-size:.8rem;font-weight:500;transition:opacity .15s}.input-group button:hover,.action-bar button:hover{opacity:.85}button:disabled{opacity:.3;cursor:not-allowed}.status{color:var(--text-dim);min-height:1.2em;margin-bottom:.5rem;font-size:.75rem}.status.error{color:var(--red)}.info{color:var(--text-muted);margin-bottom:1rem;font-size:.7rem}.info strong{color:var(--text-dim)}.tree-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:55vh;margin-bottom:1rem;overflow-y:auto}.tree-container:empty{display:none}.tree-container::-webkit-scrollbar{width:6px}.tree-container::-webkit-scrollbar-track{background:0 0}.tree-container::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.tree-node{-webkit-user-select:none;user-select:none}.tree-row{cursor:pointer;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.8rem;transition:background-color .1s;display:flex}.tree-row:hover{background:var(--surface-hover)}.tree-toggle{text-align:center;width:1em;color:var(--text-muted);font-size:.55rem}.tree-icon{text-align:center;opacity:.6;width:1.2em;font-size:.8rem}.tree-name{font-size:.8rem}.tree-meta{color:var(--text-muted);margin-left:auto;font-size:.65rem}.tree-checkbox{accent-color:var(--accent);width:12px;height:12px}.tree-children.collapsed{display:none}.action-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem .75rem;display:flex}.action-bar.hidden{display:none}#selection-info{color:var(--text-dim);font-size:.75rem}.download-progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.progress-header{justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;display:flex}.progress-count{color:var(--text-muted)}.progress-bar-container{background:var(--border);border-radius:1px;height:2px;margin-bottom:.5rem;overflow:hidden}.progress-bar{background:var(--accent);border-radius:1px;width:0%;height:100%;transition:width .2s}.progress-log{max-height:120px;font-size:.7rem;overflow-y:auto}.progress-log-line{color:var(--green);padding:.1rem 0}.progress-log-line.error{color:var(--red)}.panel.hidden{display:none}.how-it-works h2{letter-spacing:-.02em;margin-bottom:2rem;font-size:1.25rem;font-weight:500}.step{border-top:1px solid var(--border);gap:1rem;padding:1.25rem 0;display:flex}.step-num{color:var(--text-muted);flex-shrink:0;width:1.5rem;padding-top:.15rem;font-size:.7rem}.step h3{color:var(--accent);margin-bottom:.4rem;font-size:.85rem;font-weight:500}.step p{color:var(--text-dim);font-size:.78rem;line-height:1.7}.step code{background:var(--surface);border:1px solid var(--border);font-size:.72rem;font-family:var(--mono);color:var(--accent-dim);border-radius:3px;padding:.1rem .35rem}.step em{color:var(--accent-dim);font-style:italic}.note{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1.5rem;padding:.75rem}.note p{color:var(--text-dim);font-size:.72rem;line-height:1.7}footer{text-align:center;color:var(--text-muted);margin-top:auto;padding-top:3rem;font-size:.7rem}footer a{color:var(--text-dim);text-decoration:none}footer a:hover{color:var(--accent)}@media (width<=500px){#app{padding:1.5rem 1rem}.input-group{flex-direction:column}.action-bar{text-align:center;flex-direction:column;gap:.5rem}.step{flex-direction:column;gap:.5rem}}
