.site-footer{margin-top:28px}.footer-links{justify-content:center;align-items:center;gap:16px;margin-top:10px;display:flex}.footer-links button,.footer-links a{color:var(--text-dim);letter-spacing:.02em;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:11px;text-decoration:underline}.footer-links button:hover,.footer-links a:hover{color:var(--teal)}.footer-links button:focus-visible,.footer-links a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.app-header{z-index:45;background:var(--bg);width:100%;max-width:1080px;margin:0 auto;padding:24px 20px;position:sticky;top:0}.header-row{align-items:center;gap:10px;display:flex}.header-row-brand{justify-content:space-between}.header-row-controls{justify-content:flex-end;align-items:flex-start;min-height:34px;margin-top:14px}.brand{align-items:center;gap:8px;min-width:0;display:flex}.brand-text{min-width:0}.brand-title{white-space:nowrap;font-size:17px;display:block}.brand-sub{text-transform:none;letter-spacing:0;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-family:-apple-system,sans-serif;font-size:10px;font-weight:400;display:block;overflow:hidden}.nav-tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;flex-shrink:0;gap:2px;padding:3px;display:flex}.nav-tabs button{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 14px;font-size:11px;font-weight:600}.nav-tabs button.active{background:var(--gold);color:#171200}.nav-tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (width<=360px){.brand-title{font-size:15px}.brand-sub{font-size:9px}.nav-tabs button{padding:6px 10px;font-size:10px}}.static-content{max-width:720px;margin:0 auto;padding:8px 20px 60px}.static-content h1{margin:0 0 4px;font-size:22px}.static-content .static-updated{color:var(--text-dim);margin:0 0 28px;font-size:12px}.static-content section{margin-bottom:28px}.static-content h2{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:15px}.static-content p{color:var(--text);margin:0 0 10px;font-size:14px;line-height:1.6}.static-content ul{margin:0 0 10px;padding-left:20px}.static-content li{margin-bottom:6px;font-size:14px;line-height:1.6}.static-content a{color:var(--teal)}@keyframes music-search-backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes music-search-popover-enter{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.music-search-backdrop{z-index:100;background:#000000b8;justify-content:center;align-items:center;padding:20px;animation:.18s both music-search-backdrop-fade-in;display:flex;position:fixed;inset:0}.music-search-popover{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;animation:.22s cubic-bezier(.16,1,.3,1) both music-search-popover-enter;position:relative}.music-search-close{background:var(--surface-2);border:1px solid var(--line);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex;position:absolute;top:-12px;right:-12px}.music-search-close:hover{background:var(--line)}.music-search-close:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.music-search-icons{align-items:center;gap:18px;display:flex}.music-search-icon-link{border-radius:12px;width:44px;height:44px;line-height:0;transition:transform .15s;display:block;overflow:hidden}.music-search-icon-link svg{width:100%;height:100%;display:block}.music-search-icon-link:hover,.music-search-icon-link:focus-visible{transform:scale(1.08)}.music-search-icon-link:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion:reduce){.music-search-backdrop,.music-search-popover{animation:none}}#battle{flex-direction:column;min-height:100dvh;display:flex}.auto-toggle{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;font-size:11px;display:flex}.auto-toggle input[type=checkbox]{appearance:none;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;flex-shrink:0;width:34px;height:20px;margin:0;transition:background .2s,border-color .2s;position:relative}.auto-toggle input[type=checkbox]:before{content:"";background:var(--text-dim);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s;position:absolute;top:1px;left:1px}.auto-toggle input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}.auto-toggle input[type=checkbox]:checked:before{background:#171200;transform:translate(14px)}.auto-toggle input[type=checkbox]:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.pair{flex:1;gap:0;min-height:0;transition:gap .35s;display:flex;position:relative}.pair.resolved{gap:88px}@media (width<=720px){.pair{flex-direction:column}.pair.resolved{gap:76px}}.card{cursor:pointer;filter:brightness(.92);min-width:0;min-height:0;font:inherit;color:inherit;text-align:inherit;background:0 0;border:none;flex:1;justify-content:center;align-items:flex-end;margin:0;padding:0;transition:filter .25s;display:flex;position:relative;overflow:hidden}.card:hover:not(:disabled){filter:brightness()}.card:disabled{cursor:default}.card.dim{filter:brightness(.35)}.card.win{filter:brightness(1.05)}.card .art{position:absolute;inset:0;overflow:hidden}.card .art-bg{filter:blur(36px);background-position:50%;background-size:cover;position:absolute;inset:-40px}.card .art-overlay{background:#0006;position:absolute;inset:0}.card .art-fg{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.card .art-fg.loaded{opacity:1}.card.win .art{outline:3px solid var(--gold);outline-offset:-3px}.reveal{z-index:2;text-align:center;opacity:0;pointer-events:none;background:linear-gradient(#0000 15%,#000000e0);width:100%;padding:22px 18px 18px;transition:opacity .35s,transform .35s;display:block;position:relative;transform:translateY(10px)}.card.win .reveal,.card.dim .reveal{opacity:1;transform:translateY(0)}.reveal .album{text-transform:uppercase;letter-spacing:.04em;font-size:15px;font-weight:800;display:block}.reveal .artist{color:var(--text-dim);margin-top:2px;font-size:12px;display:block}.reveal .stats{color:var(--teal);margin-top:8px;font-size:12px;font-weight:700;display:block}.vs-badge{z-index:5;background:var(--bg);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (width<=720px){.vs-badge{width:56px;height:56px}}.vs-badge .label{letter-spacing:.05em;color:var(--text);font-size:11px;font-weight:900;position:absolute}.vs-badge svg{position:absolute;inset:0}.ring-progress{stroke:var(--teal);fill:none;stroke-width:2.5px;stroke-dasharray:150.8;stroke-dashoffset:150.8px;transform-origin:50%;transform:rotate(-90deg)}.ring-progress.active{animation:3.2s linear forwards fillring}@keyframes fillring{to{stroke-dashoffset:0}}.battle-bottom{flex-shrink:0;justify-content:center;align-items:center;gap:12px;height:72px;padding:16px;display:flex}.next-btn{background:var(--gold);color:#171200;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:999px;padding:11px 28px;font-size:13px;font-weight:800;transition:opacity .2s}.next-btn.show{opacity:1;pointer-events:auto}.next-btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.ad-native-row{background:var(--surface);border:1px dashed var(--line);border-radius:10px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:flex-start;gap:8px;min-height:90px;padding:8px;display:flex}.ad-label{letter-spacing:.05em;text-transform:uppercase;color:var(--bg);background:var(--text-dim);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.ad-placeholder-text{color:var(--text-dim);font-size:12px}.ranking-content{max-width:1080px;margin:0 auto;padding:0 20px}.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.tile{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:10px;position:relative;overflow:hidden}.tile:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.tile .art{object-fit:cover;width:100%;height:100%;display:block}.tile .rank{background:var(--gold);color:#171200;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:flex;position:absolute;top:6px;left:6px}.tile .rate{text-align:left;opacity:0;pointer-events:none;background:linear-gradient(#0000,#000000d9);padding:20px 8px 6px;transition:opacity .15s,transform .15s;position:absolute;bottom:0;left:0;right:0;transform:translateY(4px)}.grid.show-rates .rate{opacity:1;transform:translateY(0)}.rate .meta-album{text-transform:uppercase;letter-spacing:.03em;color:var(--text);font-size:11px;font-weight:800;line-height:1.3}.rate .meta-artist{color:var(--text-dim);margin-top:1px;font-size:10px}.rate .meta-rate{color:var(--teal);margin-top:4px;font-size:10px;font-weight:700}.load-more-row{justify-content:center;margin-top:24px;display:flex}:root{--bg:#0c0c0e;--surface:#17171b;--surface-2:#1f1f24;--text:#f3f1ea;--text-dim:#9a978f;--gold:#e8b33d;--gold-dim:#a9812c;--teal:#4fd1c5;--line:#2a2a30;--radius:14px}*{box-sizing:border-box}html,body{margin:0;padding:0}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{min-height:100vh}.display{text-transform:uppercase;letter-spacing:.06em;font-family:Arial Narrow,Helvetica Neue Condensed,Impact,sans-serif;font-weight:900}.groove{display:block}.groove circle{fill:none;stroke:var(--gold)}@media (prefers-reduced-motion:no-preference){.groove.spin{animation:12s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:9px 16px;font-size:12px;font-weight:600}.btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn.toggle.on{background:var(--surface-2);border-color:var(--teal);color:var(--teal)}.btn.start{background:var(--gold);color:#171200;border-color:var(--gold);padding:10px 22px;font-size:13px}.btn.start:hover{background:#f0bd52}.footnote{text-align:center;color:var(--text-dim);margin-top:28px;font-size:11px}.status-text{text-align:center;color:var(--text-dim);padding:40px 0;font-size:13px}.status-error{color:#e8836b}@media (prefers-reduced-motion:reduce){.groove.spin{animation:none}.ring-progress.active{stroke-dashoffset:0;animation:none}*{transition:none!important}}
