@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0c1322;--surface:#141e33;--surface-2:#1a263f;--border:#283858;--border-strong:#46598a;--text:#e6ebf6;--muted:#8e9bb9;--noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--hatch:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M-2 2l4-4M0 8l8-8M6 10l4-4' stroke='%23283858' stroke-width='1.6'/%3E%3C/svg%3E");--accent:#3b78ec;--accent-soft:#3b78ec33;--gold:#f2bd5c;--danger:#ff8b98;--soft-text:#c8d1e6;--glow:radial-gradient(1100px 700px at -10% -10%, #2a3f86aa, transparent 65%), radial-gradient(900px 650px at 110% 110%, #0e5b6a99, transparent 65%);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;color:var(--text);background:var(--glow), var(--bg);background-attachment:fixed;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:var(--noise);opacity:.05;position:fixed;inset:0}h1,h2{margin:0;font-weight:700}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}input,textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);width:100%;padding:10px 12px}:focus-visible{outline:2px solid var(--text);outline-offset:2px}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}a{color:var(--text)}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.primary,.secondary{border:1px solid var(--accent);padding:9px 18px;font-weight:600;line-height:20px}.primary{background:var(--accent)}.secondary{background:var(--surface-2);border-color:var(--border)}.secondary:hover:not(:disabled){border-color:var(--border-strong)}.secondary[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.secondary.danger{color:var(--danger)}.secondary.danger:hover:not(:disabled){border-color:var(--danger)}.link{color:var(--muted);background:0 0;border:0;padding:0;text-decoration:underline}.link.danger{color:var(--danger)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-form{background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:16px;width:100%;max-width:340px;padding:28px;display:flex}.login-form h1{text-align:center;letter-spacing:.04em}.login-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.topbar{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar-title{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.topbar-title h1{font-size:20px}.topbar-user{white-space:nowrap;align-items:center;gap:14px;font-size:14px;display:flex}.topnav{gap:16px;font-size:15px;display:flex}.topnav a{color:var(--muted);border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.topnav a:hover{color:var(--text)}.topnav a.active{color:var(--text);border-bottom-color:var(--accent)}.page{max-width:1400px;margin:0 auto;padding:20px 24px 60px}.album-search{margin-bottom:12px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.chip{background:var(--surface);border:1px solid var(--border);padding:6px 12px;font-size:13px}.chip.active{background:var(--accent-soft);border-color:var(--accent)}.sort{align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.sort-dir{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;width:32px;height:32px}.sort select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);padding:6px 12px}.filters-sep{background:var(--border);align-self:stretch;width:1px;margin:0 4px}.grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;display:grid}.card{text-align:left;background:var(--surface);border:1px solid var(--border);flex-direction:column;padding:6px;transition:border-color .15s;display:flex;container-type:inline-size}.card:hover,.card:focus-visible{border-color:var(--border-strong)}.cover{aspect-ratio:1;background:var(--surface-2);position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-empty{text-align:center;height:100%;color:var(--muted);background:var(--hatch), var(--surface-2);place-items:center;padding:12px;font-weight:600;display:grid}.icon{vertical-align:-.125em;flex-shrink:0}.my-score{font-family:var(--mono);text-align:center;color:#fff;min-width:38px;padding:4px 8px;font-weight:700;position:absolute;top:8px;left:8px;box-shadow:0 2px 8px #0008}.card-name{font-size:max(11px, min(16px, calc((100cqi - 16px) / (var(--nl,10) * .6))));overflow-wrap:break-word;flex-direction:column;margin:8px 2px 0;line-height:1.15;display:flex}.card-artist{letter-spacing:-.01em;font-weight:700}.card-title{color:var(--muted);font-size:.85em}.card-meta{font-family:var(--mono);word-spacing:-.25em;font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;margin:auto 2px 2px;padding-top:8px;font-size:11px;line-height:1.2;display:flex}.card-meta>div{flex-wrap:wrap;justify-content:space-between;gap:2px 8px;display:flex}.nowrap{white-space:nowrap}.mark:before{content:"";vertical-align:middle;background:currentColor;width:7px;height:7px;margin:0 5px 1px 0;display:inline-block}.modal{border:1px solid var(--border);background:var(--surface);width:min(860px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--text);padding:0}.modal::backdrop{background:#050a16cc}.modal-body{flex-direction:column;gap:24px;padding:24px;display:flex;position:relative}.modal-close{z-index:2;background:var(--surface);border:1px solid var(--border);width:36px;height:36px;color:var(--muted);align-self:flex-end;place-items:center;margin:-12px -12px -48px 0;padding:0;font-size:22px;line-height:1;display:grid;position:sticky;top:12px}.modal-close:hover{color:var(--text);border-color:var(--border-strong)}@media (width<=600px){.modal-close{margin:15px 15px -75px 0}}.modal-head{gap:20px;display:flex}.modal-cover{object-fit:cover;flex-shrink:0;width:280px;height:280px}.modal-info{flex-direction:column;gap:8px;min-width:0;padding-right:24px;display:flex}.modal-info h2{font-size:24px;line-height:1.2}.modal-artist{font-size:18px}.tags{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.tag{background:var(--surface-2);color:var(--text);padding:2px 8px}a.tag{text-decoration:none}a.tag:hover{color:var(--accent)}.ext-links{flex-wrap:wrap;gap:4px 16px;margin-top:auto;font-size:14px;display:flex}.rating-form{background:var(--surface-2);flex-direction:column;gap:12px;padding:16px;display:flex}.rating-head{justify-content:space-between;align-items:baseline;gap:12px;font-weight:600;display:flex}.rating-current{font-variant-numeric:tabular-nums;text-align:right}.scale{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.scale-step{font-family:var(--mono);border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;padding:10px 0;font-size:13px}.scale-step.on{background:var(--score-color,var(--accent));border-color:var(--score-color,var(--accent));color:#fff}.rating-form textarea{resize:vertical;background:var(--surface)}.rating-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.description{color:var(--soft-text);line-height:1.6}.description p{margin:0 0 .8em}.tracklist-toggle summary{cursor:pointer;padding:4px 0;font-weight:600;list-style:none}.tracklist-toggle summary::-webkit-details-marker{display:none}.tracklist-toggle summary:before{content:"▸";width:1em;color:var(--muted);transition:transform .15s;display:inline-block}.tracklist-toggle[open] summary:before{transform:rotate(90deg)}.tracklist-toggle summary .muted{font-size:14px;font-weight:400}.tracklist-toggle .tracklist,.tracklist-block .tracklist{margin-top:8px}.block-title{font-size:inherit;margin:0;padding:4px 0;font-weight:600}.block-title .muted{font-size:14px;font-weight:400}.tracklist{flex-direction:column;gap:4px;margin:0;padding-left:28px;display:flex}.tracklist li{border-bottom:1px solid var(--border);padding:4px 0}.track-row{align-items:center;gap:8px;display:flex}.track-title{flex:1;min-width:0}.track-like{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.track-like:hover,.track-like.on{color:var(--accent)}.track-duration{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;min-width:5ch}@media (width<=600px){.topbar{padding:12px 16px}.page{padding:16px 16px 40px}.grid{grid-template-columns:repeat(2,1fr);gap:14px}.modal-body{padding:16px}.modal-head{flex-direction:column}.modal-cover{aspect-ratio:1;width:100%;height:auto}.scale{grid-template-columns:repeat(5,1fr)}.sort{width:100%;margin-left:0}}.modal-cover-wrap{outline:1px solid var(--border);outline-offset:6px;flex-shrink:0;align-self:flex-start;margin:7px;position:relative}.modal-cover-wrap>.modal-cover{display:block}.description{white-space:pre-line}.topbar-title h1 a{text-decoration:none}.brand{align-items:center;gap:8px;display:flex}.brand img{flex-shrink:0;width:26px;height:26px}.tree-button{display:none}.small,.primary.small,.secondary.small{padding:5px 12px;font-size:13px}.small-text{font-size:13px}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.layout{grid-template-columns:260px minmax(0,1fr);max-width:1600px;margin:0 auto;display:grid}.sidebar{border-right:1px solid var(--border);align-self:start;max-height:calc(100vh - 61px);padding:20px 8px 40px 16px;position:sticky;top:61px;overflow-y:auto}.layout>.page{width:100%;max-width:none;margin:0}.tree-nav{flex-direction:column;font-size:15px;display:flex}.tree{margin:0;padding:0;list-style:none}.tree .tree{padding-left:16px}.tree-row{border-left:2px solid #0000;align-items:center;gap:2px;padding:2px 6px 2px 0;display:flex}.tree-row a{overflow-wrap:anywhere;flex:1;min-width:0;padding:4px 0;text-decoration:none}.tree-row:hover{background:var(--surface)}.tree-row.active a{font-weight:600}.tree-caret{width:22px;height:22px;color:var(--muted);background:0 0;border:0;flex-shrink:0;padding:0;transition:transform .15s}.tree-caret.open{transform:rotate(90deg)}.tree-count{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.tree-new{align-self:flex-start;margin:12px 0 0 24px;text-decoration:none}.tree-add{flex-direction:column;gap:8px;margin:12px 0 0 24px;display:flex}.tree-add input{padding:6px 8px}.library-head{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.crumbs{color:var(--muted);font-size:14px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text)}.library-title{align-items:baseline;gap:10px;display:flex}.library-title h2{font-size:26px}.count{font-family:var(--mono);font-variant-numeric:tabular-nums}.section-tools{flex-wrap:wrap;gap:8px;display:flex}.section-form,.edit-form{flex-direction:column;gap:10px;max-width:520px;display:flex}.section-form{background:var(--surface);border:1px solid var(--border);padding:14px}.section-form label,.edit-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.section-form input,.edit-form input{padding:7px 10px}select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);padding:7px 10px}.subsections{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}a.chip{font-size:14px;text-decoration:none}a.chip:hover{border-color:var(--border-strong)}.empty{padding:40px 0}.picker-box{border:1px solid var(--border);background:var(--surface-2);max-height:320px;margin-top:8px;padding:8px 10px;overflow-y:auto}.picker{margin:0;padding:0;list-style:none}.picker .picker{padding-left:22px}.picker-item{cursor:pointer;align-items:center;gap:8px;padding:3px 0;display:flex}.picker-item input{width:auto;accent-color:var(--accent);margin:0}.picker-item.on,.field-label{font-weight:600}.add-modal .modal-body h2{padding-right:40px;font-size:22px}.add-search{gap:8px;display:flex}.found{flex-direction:column;max-height:50vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.found-row{text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.found-row:hover:not(:disabled){background:var(--surface-2)}.found-row img,.found-cover{object-fit:cover;flex-shrink:0;width:56px;height:56px}.row-text{flex-direction:column;gap:2px;min-width:0;display:flex}.draft{flex-direction:column;gap:18px;display:flex}.draft .edit-form{flex:1}.draft-cover{object-fit:cover;flex-shrink:0;width:200px;height:200px}.notice{border:1px solid var(--gold);color:var(--gold);margin:0;padding:10px 12px}@media (width<=800px){.tree-button{padding:5px 10px;font-size:13px;display:inline-block}.topbar-title{align-items:center}.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);max-height:none;padding:12px 16px;display:none;position:static}.sidebar.open{display:block}}@media (width<=600px){.modal-cover-wrap{align-self:stretch}.draft-cover{aspect-ratio:1;width:100%;height:auto}.add-search{flex-direction:column}}.sec-dot{background:var(--sec,var(--border-strong));vertical-align:1px;flex-shrink:0;width:9px;height:9px;margin-right:8px;display:inline-block}.sec-dot.big{align-self:center;width:14px;height:14px;margin-right:0}.tree-row.active{border-left-color:var(--sec,var(--accent));background:color-mix(in srgb, var(--sec,var(--accent)) 12%, var(--surface))}.library-head.colored{background:linear-gradient(90deg, color-mix(in srgb, var(--sec,var(--accent)) 16%, transparent), transparent 70%);border-bottom:1px solid color-mix(in srgb, var(--sec,var(--border)) 35%, transparent);margin:-20px -24px 16px;padding:20px 24px 16px}.sec-chip{border-left:3px solid var(--sec,var(--border-strong))}.sec-tag{background:color-mix(in srgb, var(--sec,var(--surface-2)) 18%, var(--surface-2));border-left:3px solid var(--sec,var(--border-strong))}.field{flex-direction:column;gap:6px;display:flex}.field-caption{color:var(--muted);font-size:13px}.colors{flex-wrap:wrap;gap:6px;display:flex}.swatch{outline:1px solid var(--border);cursor:pointer;border:2px solid #0000;width:28px;height:28px;padding:0;position:relative}.swatch.on{border-color:var(--bg);outline:2px solid var(--text)}.swatch-none{background:var(--surface-2);background-image:var(--hatch)}.swatch-none:not([style]){background:var(--hatch), var(--surface-2)}.swatch-none[style]:after{content:"";background:var(--hatch);opacity:.8;position:absolute;inset:0}.swatch-custom{background:conic-gradient(#f87171,#facc15,#4ade80,#38bdf8,#a78bfa,#f472b6,#f87171)}.swatch-custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}@media (width<=600px){.library-head.colored{margin:-16px -16px 16px;padding:16px}}.modal-sections{flex-direction:column;flex:1;gap:4px;min-height:0;margin:8px 0;display:flex}.modal-sections .picker-box{contain:size;flex:1;min-height:96px;max-height:none;margin-top:0}@media (width<=600px){.modal-sections .picker-box{contain:none;max-height:260px}}.modal-sections .picker-item{padding:1px 0;font-size:14px}.picker-item.implied input{opacity:.4}
