:root{--bg:#0f1417;--surface:#161c1f;--surface-hover:#232b2f;--border:#3a4448;--text:#b3b3b3;--text-dim:#8a8a8a;--text-h:#fff;--accent:#1b9aaa;--accent-hover:#22b4c6;--control-h:32px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--gallery-mid:160px;--t:.14s ease;--t-slow:.32s ease;--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;font:15px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}#root{max-width:1600px;padding:0 var(--sp-4) 96px;text-align:left;margin:0 auto}h1,h2{color:var(--text-h);letter-spacing:-.5px;font-weight:700}h1{margin:var(--sp-8) 0 var(--sp-2);font-size:40px}h2{margin:var(--sp-8) 0 var(--sp-3);font-size:20px}p{margin:0}a{color:var(--text-h)}.pill,button{font:700 13px/1 var(--sans);color:var(--text-h);border:1px solid var(--border);padding:var(--sp-2) var(--sp-4);cursor:pointer;transition:background-color var(--t), border-color var(--t), color var(--t), opacity var(--t);background:0 0;border-radius:999px}button,select,.match-search{min-height:var(--control-h);box-sizing:border-box}button:hover{border-color:var(--text);background:var(--surface-hover)}button:focus-visible{outline:2px solid var(--text-h);outline-offset:2px}.pill-accent,.pill-accent:hover{background:var(--accent);color:#000;border-color:#0000}.pill-accent:hover{background:var(--accent-hover)}button[aria-pressed=true]{background:var(--text-h);color:#000;border-color:#0000}select{font:13px/1 var(--sans);color:var(--text-h);background:var(--surface);border:1px solid var(--border);padding:var(--sp-2) var(--sp-3);max-width:220px;transition:border-color var(--t);border-radius:999px}[role=alert]{color:#f15e6c}p[role=alert],p[role=status]{margin:var(--sp-3) 0}.loader{align-items:center;gap:var(--sp-2);color:var(--text-dim);margin:var(--sp-3) 0;display:inline-flex}.spinner{border:2px solid var(--border);border-top-color:var(--text-h);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}button .loader{color:inherit;margin:0}button .spinner{border-top-color:currentColor}.app-header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:0;display:flex}.app-header h1{align-items:center;gap:var(--sp-3);flex:1 0 100%;display:flex}.app-logo{border-radius:8px;flex-shrink:0;width:40px;height:40px}.app-header nav{gap:var(--sp-2);margin-left:auto;display:flex}.sorter-toolbar{justify-content:space-between;align-items:center;gap:var(--sp-3);margin:var(--sp-1) 0 var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border);display:flex}.toolbar-controls{align-items:center;gap:var(--sp-3);margin-left:auto;display:flex}.song-count{color:var(--text-dim);font-size:13px;font-weight:400}.song-count .heart{color:var(--accent);margin-right:var(--sp-1)}.status-line{gap:var(--sp-2);color:var(--text-dim);font-variant-numeric:tabular-nums;margin:var(--sp-2) 0 var(--sp-3);flex-wrap:wrap;align-items:baseline;font-size:13px;display:flex}.snapshot-age{align-items:center;gap:var(--sp-2);color:var(--text-dim);font-size:13px;display:flex}.rate-limit-banner{padding:var(--sp-2) var(--sp-4);background:#ffc1071f;border:1px solid #ffc10759;border-radius:8px;font-size:13px}.rate-limit-note{color:var(--text-dim);font-size:12px}.song-list{margin:0;padding:0;list-style:none}.song-cols,.song-row{gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 56px 100px 400px;align-items:center;display:grid}.song-cols{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);background:var(--bg);z-index:1;font-size:12px;font-weight:400;position:sticky;top:0}.song-cols .col-sort{all:unset;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;min-height:0}.song-cols .col-sort:hover,.song-cols .col-sort.active{color:var(--text-h)}.song-cols .col-sort:focus-visible{outline:2px solid var(--text-h);outline-offset:2px}.song-row{transition:background-color var(--t), box-shadow var(--t), opacity var(--t-slow);border-radius:6px;position:relative}.song-row:hover{background:var(--surface-hover)}.song-row.playing:before{content:"";background:var(--accent);border-radius:6px 0 0 6px;width:3px;position:absolute;top:0;bottom:0;left:0}.song-row.playing{background:var(--surface-hover)}.song-row.playing .song-name{color:var(--accent)}.song-list:has(.match-popover) .song-row:not(:has(.match-popover)){opacity:.65;pointer-events:none}.song-row:has(.match-popover){background:var(--surface-hover);box-shadow:inset 0 0 0 1px var(--accent)}.song-title{min-width:0}.song-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.song-genres{white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.song-artists{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.song-year{font-variant-numeric:tabular-nums;color:var(--text);font-size:13px}.song-added{font-variant-numeric:tabular-nums;font-size:13px}.song-match{align-items:center;gap:var(--sp-2);display:flex}.play-btn,.remove-btn,.match-pill,.match-picker .pill-accent{box-sizing:border-box;align-items:center;height:32px;display:inline-flex}.play-btn,.remove-btn{flex-shrink:0;justify-content:center;width:32px;padding:0}.play-btn:not(.spin){padding-left:2px}.play-btn:disabled{opacity:.4;cursor:default}.play-btn:disabled:hover{border-color:var(--border);background:0 0}.remove-btn{color:var(--text-dim);border-color:#0000}.remove-btn:hover{color:#f15e6c;background:0 0;border-color:#f15e6c}.match-skeleton{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:999px;flex:1;min-width:0;height:12px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-line{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.2s ease-in-out infinite shimmer}.skeleton-line.title{width:60%;margin-bottom:var(--sp-1)}.skeleton-line.genres{width:36%}.skeleton-line.artist{width:80%}.skeleton-line.date{width:60px}.skeleton-line.year{width:32px}.skeleton .song-name,.skeleton .song-genres,.skeleton .song-artists,.skeleton .song-added,.skeleton .song-year{visibility:hidden}.play-btn.spin:before{content:"";border:2px solid var(--text);border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mb-searching-pulse{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mb-badge{margin-left:var(--sp-2);border:1px solid var(--border);color:var(--text-dim);vertical-align:middle;border-radius:3px;padding:0 4px;font-size:10px;font-weight:600;display:inline-block}.match-picker{align-items:center;gap:var(--sp-2);flex:1;min-width:0;display:flex}.match-picker .pill-accent{flex-shrink:0;margin-left:auto}.match-pop-wrap{min-width:0;position:relative}.match-pill{gap:var(--sp-1);border-color:var(--accent);min-width:0;max-width:100%}.match-pill-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill-caret{opacity:.7;font-size:10px}.match-picker-dim .match-pill{border-color:var(--border);color:var(--text);border-style:dashed;font-weight:400}.match-popover{top:calc(100% + var(--sp-1));z-index:2;background:var(--surface);border:1px solid var(--border);width:max-content;min-width:320px;max-width:440px;padding:var(--sp-2);gap:var(--sp-2);border-radius:8px;flex-direction:column;animation:.12s ease-out rise;display:flex;position:absolute;left:auto;right:0;box-shadow:0 8px 24px #00000080}.match-popover.anchor-left{left:0;right:auto}@keyframes rise{0%{opacity:0;translate:0 var(--rise,-4px)}}.match-candidate{align-items:center;gap:var(--sp-2);white-space:nowrap;grid-template-columns:auto 1fr 64px 44px;min-height:36px;font-size:14px;display:grid}.match-candidate.is-dupe,.browse-row.is-dupe{opacity:.5;cursor:not-allowed}.is-dupe .cand-pct{color:var(--accent)}.cand-name{text-overflow:ellipsis;overflow:hidden}.cand-bar{background:var(--border);border-radius:2px;height:4px;display:block}.cand-bar span{background:var(--accent);transform-origin:0;border-radius:2px;height:100%;animation:.4s cubic-bezier(.2,.8,.2,1) sweep;display:block}@keyframes sweep{0%{transform:scaleX(0)}}.cand-pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.cand-explain{color:var(--text-dim);white-space:normal;grid-column:1/-1;font-size:11px}.match-pill-empty{border-color:var(--accent);color:var(--accent);font-weight:600}.browse-section{border-top:1px solid var(--border);padding-top:var(--sp-2);gap:var(--sp-2);flex-direction:column;margin-top:2px;display:flex}.match-popover>.browse-section:first-child{border-top:none;margin-top:0;padding-top:0}.match-search{font:13px/1 var(--sans);color:var(--text-h);background:var(--bg);border:1px solid var(--border);padding:var(--sp-1) var(--sp-3);box-sizing:border-box;width:100%;transition:border-color var(--t);border-radius:999px}.match-search:focus-visible{border-color:var(--accent);outline:none}.match-search::placeholder{color:var(--text)}.browse-list{flex-direction:column;gap:2px;max-height:280px;margin:0 -4px;display:flex;overflow-y:auto}.browse-row{align-items:center;gap:var(--sp-2);min-height:34px;padding:var(--sp-1);cursor:pointer;transition:background-color var(--t);border-radius:4px;font-size:14px;display:flex}.browse-row .cand-pct{margin-left:auto}.browse-row:hover{background:var(--surface-hover)}.browse-empty{color:var(--text);padding:4px;font-size:12px}.pill-accent:disabled{opacity:.45;cursor:not-allowed}.suggestions-row{gap:var(--sp-4);margin:var(--sp-4) 0;flex-direction:column;display:flex}.suggestions-row>.quick-matches,.suggestions-row>.cluster-suggestions{margin:0}.quick-matches{border:1px solid var(--accent);padding:var(--sp-2) var(--sp-3);background:#1b9aaa14;border-radius:8px}.quick-matches>summary{cursor:pointer;color:var(--accent);font-weight:600;list-style-position:outside}.quick-matches .song-list,.cluster-suggestions ul{gap:var(--sp-2);margin-top:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.song-row.compact{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr)}.strip-expand{margin-top:var(--sp-2);font-size:13px}.cluster-suggestions{border:1px solid var(--border);padding:var(--sp-2) var(--sp-3);border-radius:8px}.cluster-suggestions>summary{cursor:pointer;color:var(--text-h);font-weight:600;list-style-position:outside}.cluster-suggestions ul{margin:var(--sp-2) 0 0;padding:0;list-style:none}.cluster-suggestions li{align-items:stretch;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;display:flex}.cluster-suggestions input{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text-h);padding:var(--sp-1) var(--sp-2);border-radius:4px}.analyzer-summary{color:var(--text-h);margin:var(--sp-4) 0 var(--sp-6);align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:15px;display:flex}.analyzer-group{margin-bottom:var(--sp-4)}.analyzer-group>summary{cursor:pointer;color:var(--text-h);padding:var(--sp-2) 0;font-weight:600}.analyzer-summary strong{color:var(--accent)}.analyzer-grid{gap:var(--sp-4);padding-bottom:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.playlist-card{background:var(--surface);border:1px solid var(--border);padding:var(--sp-4);gap:var(--sp-3);border-radius:8px;flex-direction:column;min-width:0;display:flex}.playlist-card-header{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.playlist-card-header h3{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;font-weight:700;overflow:hidden}.playlist-card-count{color:var(--text-dim);margin-top:calc(var(--sp-2) * -1);font-size:12px}.playlist-card-empty{font-size:13px;font-style:italic}.genre-row{align-items:center;gap:var(--sp-3);grid-template-columns:minmax(0,1fr) 2fr 36px;font-size:12px;display:grid}.genre-name{text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;overflow:hidden}.genre-toggle{padding:var(--sp-1) var(--sp-3);align-self:flex-start;font-size:12px}.pill-dashed{color:var(--text);border-style:dashed;font-weight:400}.status-badge{cursor:default;padding:var(--sp-1) var(--sp-3);flex-shrink:0;font-size:12px}.undo-toast{bottom:var(--sp-6);align-items:center;gap:var(--sp-4);background:var(--surface);border:1px solid var(--border);padding:var(--sp-3) var(--sp-4);color:var(--text-h);--rise:12px;border-radius:8px;max-width:min(90vw,640px);animation:.18s ease-out rise;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.settings label{align-items:center;gap:var(--sp-2);display:flex}.settings label:has(input[type=range]){flex-direction:column;align-items:flex-start;max-width:560px}.settings input[type=range]{width:min(100%,320px)}.settings-controls{align-items:center;gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;display:flex}.settings-controls .match-search{flex:220px;width:auto}.dest-grid{gap:var(--sp-2);max-height:40vh;padding:var(--sp-2);border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid;overflow-y:auto}.dest-grid label{padding:var(--sp-2);transition:background-color var(--t);border-radius:4px;align-items:flex-start}.dest-grid label input{margin-top:3px}.dest-grid label:hover{background:var(--surface-hover)}.ripeness-key{margin:var(--sp-3) 0 0;gap:var(--sp-2);flex-direction:column;padding:0;list-style:none;display:flex}.ripeness-key li{align-items:center;gap:var(--sp-3);color:var(--text-dim);font-size:13px;display:flex}input[type=checkbox],input[type=range]{accent-color:var(--accent)}input[type=checkbox]{width:16px;height:16px;margin:0}.login-logo{width:96px;height:96px;margin:var(--sp-6) 0 var(--sp-4);border-radius:16px;display:block}.login-explainer{gap:var(--sp-3);max-width:480px;margin-bottom:var(--sp-6);flex-direction:column;display:flex}.to-top{right:var(--sp-6);bottom:calc(var(--sp-6) + env(safe-area-inset-bottom));z-index:2;box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);opacity:.85;transition:opacity var(--t), color var(--t), border-color var(--t);border-radius:999px;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;box-shadow:0 2px 8px #00000040}.to-top:hover{opacity:1;color:var(--text-h);border-color:var(--accent)}.now-playing{left:var(--sp-6);bottom:calc(var(--sp-6) + env(safe-area-inset-bottom));z-index:2;align-items:center;gap:var(--sp-2);max-width:240px;padding:var(--sp-2) var(--sp-4);border:1px solid var(--border);background:var(--surface);color:var(--text);font:700 13px/1 var(--sans);opacity:.85;transition:opacity var(--t), color var(--t), border-color var(--t);border-radius:999px;text-decoration:none;display:flex;position:fixed;box-shadow:0 2px 8px #00000040}.now-playing:hover{opacity:1;color:var(--text-h);border-color:var(--accent)}.now-playing-icon{color:var(--accent)}.now-playing-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-footer{margin:var(--sp-12) 0 var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--border);text-align:center}.footer-attribution{margin-top:var(--sp-2);color:var(--text-dim);font-size:12px}.legal-page{gap:var(--sp-3);flex-direction:column;max-width:640px;display:flex}.legal-page ul{padding-left:var(--sp-6);gap:var(--sp-2);flex-direction:column;margin:0;display:flex}.legal-page code{font:12px/1 var(--sans);background:var(--surface);border:1px solid var(--border);padding:2px var(--sp-1);border-radius:4px}.error-fallback{max-width:440px;margin:var(--sp-12) auto;padding:var(--sp-6);text-align:center;color:var(--text-h)}.error-fallback h2{margin-bottom:var(--sp-2)}.error-fallback p{color:var(--text);margin-bottom:var(--sp-4)}.skin-toggle{top:var(--sp-3);right:var(--sp-3);z-index:3;font-size:13px;position:fixed}.cover{object-fit:cover;background:var(--surface-hover);border-radius:6px;flex-shrink:0;display:block}.cover-lg{width:160px;height:160px}.cover-md{width:96px;height:96px}.cover-sm{width:72px;height:72px}.cover-empty{color:var(--text-dim);place-items:center;font-size:24px;font-weight:700;display:grid}.cover-lg.cover-empty{font-size:48px}.cover-link{transition:opacity var(--t);border-radius:6px;display:block}.cover-link:hover{opacity:.85}.song-list.gallery{gap:var(--sp-4);margin-top:var(--sp-4);flex-direction:column;display:flex}.song-card{box-sizing:border-box;grid-template-columns:minmax(0, 1fr) var(--gallery-mid) minmax(0, 1fr);gap:var(--sp-6);width:100%;max-width:880px;padding:var(--sp-6);border:1px solid var(--border);background:var(--surface);transition:background-color var(--t), box-shadow var(--t);border-radius:12px;align-items:center;margin-inline:auto;display:grid}.song-card:hover{background:var(--surface-hover)}.song-card.playing{background:var(--surface-hover);box-shadow:inset 3px 0 0 var(--accent)}.song-card.playing .song-name{color:var(--accent)}.card-song{gap:var(--sp-2);flex-direction:column;align-self:start;min-width:0;display:flex}.card-song .cover-lg{aspect-ratio:1;width:100%;height:auto}.card-song .song-name{white-space:normal;overflow-wrap:anywhere}.card-artists{color:var(--text-dim);white-space:normal;overflow-wrap:anywhere;font-size:13px}.card-year{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.card-date{cursor:default;justify-content:center;padding-bottom:18px;display:inline-flex;position:relative}.date-text{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-dim);opacity:0;transition:opacity var(--t);font-size:12px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.card-date:hover .date-text,.card-date:focus-within .date-text{opacity:1}.play-btn.round{border-radius:50%}.banana{width:56px;height:56px;display:block}.match-panel{grid-column:2/4;grid-template-columns:var(--gallery-mid) minmax(0, 1fr);align-self:start;column-gap:var(--sp-6);row-gap:var(--sp-2);align-items:start;min-width:0;display:grid}.panel-mid{justify-content:space-evenly;align-self:stretch;align-items:center;gap:var(--sp-3);flex-direction:column;grid-area:1/1;display:flex}.panel-cover{grid-area:1/2;min-width:0}.panel-cover .cover-link{width:100%}.panel-cover .cover-md{aspect-ratio:1;width:100%;height:auto}.panel-cover .cover-md.cover-empty{font-size:48px}.match-panel>.match-skeleton{grid-column:2}.panel-caption{color:var(--text);grid-area:2/2;margin:0;font-size:13px}.panel-caption-dim{color:var(--text-dim);font-style:italic}.panel-toggle{grid-area:3/2;justify-self:start}.panel-body{gap:var(--sp-3);width:100%;padding-top:var(--sp-2);border-top:1px solid var(--border);flex-direction:column;grid-column:1/-1;animation:.12s ease-out rise;display:flex}.cand-tiles{justify-content:center;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(112px,180px));display:grid}.cand-tile{align-items:center;gap:var(--sp-1);text-align:center;cursor:pointer;padding:var(--sp-1);transition:background-color var(--t);border-radius:6px;flex-direction:column;font-size:12px;display:flex}.cand-tile:hover{background:var(--surface-hover)}.cand-tile .cover-sm{aspect-ratio:1;width:100%;height:auto}.cand-tile .cand-name{white-space:normal;overflow-wrap:anywhere;max-width:100%}@media (width<=1024px){.song-cols,.song-row{gap:var(--sp-3);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 48px 92px minmax(260px,1.4fr)}}@media (width<=720px){#root{padding:0 var(--sp-3) 96px}h1{margin-top:var(--sp-6);font-size:28px}h2{margin-top:var(--sp-6);font-size:18px}button,select,.match-search{min-height:44px}.play-btn,.remove-btn{width:44px}select{max-width:100%}.sorter-toolbar{flex-wrap:wrap}.song-cols{display:none}.song-row{gap:var(--sp-2);padding:var(--sp-3);border-radius:0;grid-template-columns:auto minmax(0,1fr)}.song-row+.song-row{border-top:1px solid var(--border)}.song-title,.song-artists,.song-match{grid-column:1/-1}.song-year{grid-column:1}.song-added{color:var(--text-dim);grid-column:2;justify-self:start}.song-year:before,.song-added:before{color:var(--text-dim)}.song-year:before{content:"Yr "}.song-added:before{content:"Added "}.match-popover,.match-popover.anchor-left{top:auto;left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--sp-3) + env(safe-area-inset-bottom));--rise:12px;width:auto;min-width:0;max-width:none;max-height:70vh;position:fixed;overflow-y:auto}.match-candidate{grid-template-columns:auto minmax(0,1fr) 48px 40px}.to-top{right:var(--sp-3);bottom:calc(var(--sp-3) + 56px + env(safe-area-inset-bottom));width:44px;height:44px}.now-playing{left:var(--sp-3);bottom:calc(var(--sp-3) + 56px + env(safe-area-inset-bottom));max-width:55vw}.match-search{font-size:16px}.quick-matches,.cluster-suggestions{padding:var(--sp-2)}.browse-row,.dest-grid label{min-height:44px}.browse-list{max-height:40vh}.analyzer-grid,.dest-grid{grid-template-columns:minmax(0,1fr)}.dest-grid{max-height:55vh}.undo-toast{left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--sp-3) + env(safe-area-inset-bottom));gap:var(--sp-3);flex-wrap:wrap;max-width:none;transform:none}.error-fallback{margin:var(--sp-8) auto;padding:var(--sp-4)}.song-card{gap:var(--sp-3);max-width:280px;padding:var(--sp-3);grid-template-columns:minmax(0,1fr)}.card-song{text-align:center;align-items:center}.match-panel{align-items:stretch;gap:var(--sp-3);flex-direction:column;grid-column:auto;display:flex}.panel-mid{flex-direction:row;align-self:center}.panel-cover .cover-md{max-width:200px;margin-inline:auto}.cover-lg{aspect-ratio:1;width:100%;max-width:200px;height:auto;margin-inline:auto}.panel-caption{text-align:center;align-self:center}.panel-toggle{align-self:center}.cand-tiles{grid-template-columns:repeat(auto-fit,minmax(72px,100px))}.app-header nav{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
