:root{--ink:#172019;--muted:#707872;--paper:#eef1ec;--panel:#fbfcf9;--line:#d9dfd8;--accent:#4d7c5b;--accent-dark:#315b3f;--soft:#dce9de;--danger:#a64d45;--shadow:0 28px 80px rgba(43,65,48,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.topbar{height:68px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font-size:17px;font-weight:700;letter-spacing:-.5px}.brand>span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#111;color:#fff;font-size:12px}.top-actions{display:flex;align-items:center;gap:9px}.back{display:inline-flex;align-items:center;gap:10px;color:#5f675f;text-decoration:none;font-size:12px;font-weight:650}.back i{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#fff8;font-style:normal}.tool-switcher{position:relative}.tool-switcher summary{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff8;color:#5f675f;font-size:11px;font-weight:650;cursor:pointer;list-style:none}.tool-switcher summary::-webkit-details-marker{display:none}.tool-switcher summary:after{content:'⌄'}.switcher-menu{position:absolute;z-index:20;top:42px;right:0;width:244px;padding:7px;border:1px solid var(--line);border-radius:15px;background:#fbfcf9;box-shadow:0 18px 55px rgba(43,65,48,.16)}.switcher-menu a{display:grid;gap:3px;padding:10px 11px;border-radius:10px;color:var(--ink);text-decoration:none}.switcher-menu a:hover{background:#eaf0e9}.switcher-menu b{font-size:11px}.switcher-menu small{color:var(--muted);font-size:9px}.shell{max-width:1240px;margin:auto;padding:68px 28px 90px}.intro{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end;margin-bottom:42px}.eyebrow{margin:0 0 17px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:2px}.intro h1{margin:0;font-size:clamp(50px,6.5vw,86px);line-height:.94;letter-spacing:-.06em}.intro h1 em{color:var(--accent);font-style:normal}.intro-copy{margin:0;color:var(--muted);font-size:15px;line-height:1.75}.input-panel,.results-panel,.download-panel{margin-top:18px;padding:30px;border:1px solid var(--line);border-radius:25px;background:var(--panel);box-shadow:0 10px 40px rgba(43,65,48,.035)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.panel-head>div:first-child{display:flex;align-items:center;gap:12px}.panel-head h2{margin:0;font-size:18px;letter-spacing:-.4px}.panel-head>span,.selection{color:var(--muted);font-size:10px}.step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--accent-dark);font-size:9px;font-weight:800}textarea{display:block;width:100%;height:146px;padding:18px;border:1px solid var(--line);border-radius:15px;outline:none;resize:vertical;background:#f7f9f5;color:var(--ink);font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .18s,box-shadow .18s}textarea:focus{border-color:#7da087;box-shadow:0 0 0 4px rgba(77,124,91,.1)}.input-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.input-actions p{margin-left:auto;color:var(--muted);font-size:10px}.btn{min-height:42px;padding:0 17px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:750}.btn.primary{display:inline-flex;align-items:center;gap:14px;background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.ghost{border-color:var(--line);background:transparent;color:var(--ink)}.btn.ghost:hover{background:#eef2ed}.notice{display:flex;align-items:center;gap:10px;min-height:42px;margin-top:16px;padding:11px 14px;border-radius:12px;background:#eef5ef;color:#4b6954;font-size:11px}.notice i{width:7px;height:7px;border-radius:50%;background:#5e9b70}.notice.loading i{animation:pulse 1s infinite}.notice.error{background:#f8eae8;color:var(--danger)}.notice.error i{background:var(--danger)}@keyframes pulse{50%{opacity:.25}}.results-head{margin-bottom:14px}.selection{display:flex;gap:18px}.bulk-actions{display:flex;align-items:center;gap:9px;margin-bottom:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.select-all{display:flex;align-items:center;gap:8px;margin-right:auto;color:#596159;font-size:10px;font-weight:700}.select-all input,.song-check{accent-color:var(--accent)}.text-btn{padding:7px 10px;border:0;border-radius:8px;background:transparent;color:var(--accent-dark);font-size:10px;font-weight:750}.text-btn:not(:disabled):hover{background:var(--soft)}.song-list{display:grid;gap:10px}.empty{display:grid;place-items:center;padding:55px 20px;color:var(--muted);text-align:center}.empty span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:12px;border-radius:50%;background:var(--soft);color:var(--accent);font-size:18px}.empty b{color:var(--ink);font-size:13px}.empty p{margin:6px 0 0;font-size:10px}.song-card{display:grid;grid-template-columns:auto 66px minmax(0,1.3fr) minmax(110px,.65fr) 86px 96px auto;gap:14px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;transition:border-color .16s,opacity .16s}.song-card:not(.failed):hover{border-color:#aebdaf}.song-card.failed{grid-template-columns:auto 1fr auto;background:#fcf5f4;border-color:#ebd1cd}.song-cover{width:66px;height:66px;border-radius:11px;object-fit:cover;background:#e9eee8}.song-copy{min-width:0}.song-copy b,.song-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-copy b{font-size:12px}.song-copy small{margin-top:6px;color:var(--muted);font-size:9px}.song-meta{min-width:0;color:var(--muted);font-size:9px}.song-meta b{display:block;overflow:hidden;margin-bottom:5px;color:#4f584f;text-overflow:ellipsis;white-space:nowrap}.ready{padding:6px 9px;border-radius:999px;background:#e6f1e8;color:#39744b;font-size:8px;font-weight:800;text-align:center}.open-link{color:var(--accent);font-size:10px;font-weight:750;text-decoration:none}.error-copy b{display:block;color:var(--danger);font-size:11px}.error-copy small{display:block;margin-top:5px;color:#8c6a67;font-size:9px}.download-panel{box-shadow:var(--shadow)}.local-badge{padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--accent-dark)!important;font-size:8px!important;font-weight:800;letter-spacing:.8px}.download-grid{display:grid;grid-template-columns:1fr 1fr .7fr;gap:18px}fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0}legend{margin-bottom:10px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:1.2px}fieldset label{position:relative}fieldset input{position:absolute;opacity:0}fieldset label>span{display:block;height:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f7f9f5}fieldset input:checked+span{border-color:#7da087;background:#ebf2eb;box-shadow:inset 0 0 0 1px #7da087}fieldset b,fieldset small{display:block}fieldset b{font-size:11px}fieldset small{margin-top:5px;color:var(--muted);font-size:8px}.download-btn{display:flex;align-items:center;justify-content:space-between;align-self:end;height:58px;padding:0 18px;border:0;border-radius:15px;background:#172019;color:#fff;font-size:11px;font-weight:750}.download-btn i{font-size:18px;font-style:normal}.progress{margin-top:18px}.progress>div{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.progress>i{display:block;height:6px;margin-top:9px;overflow:hidden;border-radius:999px;background:#dfe4de}.progress>i span{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s}.privacy-note{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px;padding:25px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.privacy-note b{font-size:12px}.privacy-note p{max-width:720px;margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.privacy-note a{flex:0 0 auto;color:var(--accent-dark);font-size:10px;font-weight:750;text-decoration:none}dialog{width:min(520px,calc(100% - 28px));padding:0;border:0;border-radius:24px;background:#fbfcf9;color:var(--ink);box-shadow:0 35px 110px #0005}dialog::backdrop{background:#111a;backdrop-filter:blur(5px)}dialog form{position:relative;padding:32px}.close{position:absolute;right:18px;top:18px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:18px}.dialog-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:25px;border-radius:12px;background:var(--soft);color:var(--accent);font-size:18px}.dialog-icon+.eyebrow{margin-bottom:10px}.dialog-icon~h2{margin:0;font-size:27px;letter-spacing:-1.2px}.dialog-icon~p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
@media(max-width:900px){.song-card{grid-template-columns:auto 58px minmax(0,1fr) 75px auto}.song-cover{width:58px;height:58px}.song-meta.creator,.song-meta.tags{display:none}.download-grid{grid-template-columns:1fr 1fr}.download-btn{grid-column:1/-1}.intro{grid-template-columns:1fr;gap:24px}}
@media(max-width:580px){.topbar{padding:0 17px}.back{font-size:0}.back i{font-size:14px}.shell{padding:36px 13px 65px}.intro h1{font-size:50px}.intro-copy{font-size:13px}.input-panel,.results-panel,.download-panel{padding:20px;border-radius:20px}.input-actions{align-items:stretch;flex-wrap:wrap}.input-actions .btn{flex:1}.input-actions p{width:100%;margin:2px 0 0}.selection{gap:8px}.bulk-actions{flex-wrap:wrap}.select-all{width:100%;margin-bottom:2px}.song-card{grid-template-columns:auto 48px minmax(0,1fr) auto;gap:10px}.song-cover{width:48px;height:48px}.song-meta.duration{display:none}.ready{display:none}.download-grid{grid-template-columns:1fr}fieldset{grid-template-columns:1fr 1fr}.download-btn{grid-column:auto}.privacy-note{align-items:flex-start;flex-direction:column;padding:22px 10px}.dialog-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.notice.loading i{animation:none}.progress>i span{transition:none}}

[hidden]{display:none!important}.queue-actions{display:flex;gap:12px;margin-top:18px}.track-message{display:block;color:#666;font-size:12px;overflow-wrap:anywhere}.song-copy{min-width:0}.progress p{font-size:13px;color:#596459;margin:10px 0 0}.song-card .ready{font-size:10px}.song-card.failed .track-message{color:#a63024}.song-list{overflow-x:auto}.song-cover{background:#e4e7e0}.download-grid fieldset{min-width:0}@media(max-width:600px){.queue-actions{flex-wrap:wrap}.download-grid{display:flex;flex-direction:column}.download-grid fieldset{width:100%}}
/* Keep the result readable without repeating the creator beside its title. */
.song-meta.creator{display:none}.song-card{grid-template-columns:auto 60px minmax(180px,1fr) 62px 125px auto 58px;gap:12px}.song-copy b{font-size:14px}.song-copy small{font-size:11px}.song-meta,.song-meta b{font-size:11px}.song-meta.tags{min-width:0}.song-meta.tags b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-link,.text-btn,.select-all{font-size:12px}.progress>div,.privacy-note p{font-size:12px}.progress>div{gap:12px}.song-card.failed{display:flex}.song-card.failed .song-copy{flex:1}
@media(max-width:1000px){.song-card{grid-template-columns:auto 56px minmax(140px,1fr) 55px auto 50px}.song-meta.tags{display:none}}
@media(max-width:580px){.song-card{grid-template-columns:auto 44px minmax(0,1fr) 44px;gap:8px}.song-copy b{font-size:13px;white-space:normal}.song-copy small{font-size:11px}.song-meta.duration,.song-card .ready{display:none}.song-card.failed{display:flex}.progress>div{font-size:12px}.privacy-note p{font-size:12px}.song-cover{width:44px;height:44px}}

.software-credits{margin:24px 28px;color:var(--muted);font-size:12px}.software-credits summary{cursor:pointer}.software-credits a{color:inherit}

.song-cover{width:60px;height:60px}@media(max-width:1000px){.song-cover{width:56px;height:56px}}@media(max-width:580px){.song-cover{width:44px;height:44px}}
