@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,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:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent: #1ed760;--accent-ink: #0b2b14;--accent-soft: color-mix(in srgb, var(--accent) 12%, transparent);--accent-text: color-mix(in srgb, var(--accent) 60%, black);--bg: #fafafa;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f6f6f7;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .14);--text: #16181d;--text-muted: #62676f;--text-faint: #6e7177;--danger: #c23a3a;--warning: #b45309;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 999px;--shadow-soft: 0 8px 30px rgba(15, 23, 42, .06);--shadow-hover: 0 16px 40px rgba(15, 23, 42, .1);--shadow-accent: 0 10px 26px -8px color-mix(in srgb, var(--accent) 45%, transparent);--shadow-accent-hover: 0 14px 30px -8px color-mix(in srgb, var(--accent) 55%, transparent);--glass-bg: rgba(255, 255, 255, .6);--glass-bg-strong: rgba(255, 255, 255, .84);--font-display: "Inter", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .18s;--dur-med: .32s;--dur-slow: .5s;color-scheme:light}:root[data-theme=dark]{--bg: #0b0c0f;--bg-elevated: #16181d;--surface: #16181d;--surface-hover: #1e2128;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #f2f3f5;--text-muted: #9aa0aa;--text-faint: #7c8490;--danger: #e5645e;--warning: #f0a83c;--accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);--accent-text: color-mix(in srgb, var(--accent) 70%, white);--shadow-soft: 0 8px 30px rgba(0, 0, 0, .45);--shadow-hover: 0 16px 40px rgba(0, 0, 0, .55);--glass-bg: rgba(11, 12, 15, .6);--glass-bg-strong: rgba(11, 12, 15, .84);color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;padding:0;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;margin:0}p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}img{max-width:100%;display:block}::selection{background:var(--accent);color:var(--accent-ink)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border-radius:var(--radius-full);border:1px solid transparent;font-size:13.5px;font-weight:600;letter-spacing:-.01em;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast),background var(--dur-fast),opacity var(--dur-fast)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-accent)}.btn-accent:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-accent-hover)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-soft)}.btn-ghost:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-hover);border-color:var(--border-strong)}.btn-danger{background:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 8%,transparent)}.btn-icon{padding:9px;border-radius:var(--radius-full)}@media (hover: none){.btn-icon{padding:11px}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.field input[type=text],.field input[type=number],.field input[type=password],.field input[type=search],.field input[type=email],.field textarea,.field select{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 13px;font-size:16px;transition:box-shadow var(--dur-fast),border-color var(--dur-fast)}.field textarea{width:100%;box-sizing:border-box;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.skeleton{position:relative;overflow:hidden;background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(15,23,42,.06) 50%,transparent 70%);transform:translate(-100%);animation:shimmer 1.6s infinite}@keyframes shimmer{to{transform:translate(100%)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.stagger-in>*{animation:fade-in-up var(--dur-slow) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 45ms)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.site{min-height:100vh;display:flex;flex-direction:column;padding-bottom:96px}.skip-link{position:fixed;top:-60px;left:12px;z-index:1000;padding:10px 18px;background:var(--accent);color:var(--accent-ink);font-size:13.5px;font-weight:600;border-radius:var(--radius-sm);transition:top var(--dur-fast) var(--ease-out)}.skip-link:focus-visible{top:12px;outline:2px solid var(--text);outline-offset:2px}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:background var(--dur-slow) var(--ease-out),border-color var(--dur-slow),box-shadow var(--dur-slow)}.site-header.is-scrolled{background:var(--glass-bg-strong);border-bottom-color:var(--border);box-shadow:0 18px 45px -32px #0f172a66}#header-extra:not(:empty){padding-top:12px}#header-extra .header-inner{flex-wrap:wrap}.header-inner{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,56px);display:flex;align-items:center;justify-content:space-between;gap:16px}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand{display:inline-flex;align-items:center;gap:14px;padding:4px;border-radius:var(--radius-full);transition:transform var(--dur-fast) var(--ease-out);min-width:0}.brand:hover{transform:scale(1.02)}.brand-mark{width:44px;height:44px;object-fit:contain;flex-shrink:0}.brand-title{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-tagline{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-muted);margin-top:2px}.theme-toggle{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);color:var(--text-muted);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast),color var(--dur-fast)}.theme-toggle:hover{color:var(--text);transform:translateY(-1px) rotate(12deg);box-shadow:var(--shadow-hover)}.view{flex:1;padding:118px clamp(20px,5vw,56px) 60px;max-width:1280px;width:100%;margin:0 auto}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px;box-shadow:var(--shadow-soft)}.tab{padding:9px 18px;border-radius:var(--radius-full);font-size:13px;font-weight:600;color:var(--text-muted);transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast)}.tab.is-active{background:var(--text);color:var(--bg-elevated);box-shadow:var(--shadow-soft)}.tab:not(.is-active):hover{background:var(--surface-hover);color:var(--text)}.home-controls{display:flex;gap:10px}.search-input,.sort-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:10px 18px;font-size:13px;min-width:170px;box-shadow:var(--shadow-soft);transition:box-shadow var(--dur-fast),border-color var(--dur-fast)}@media (hover: none){.search-input,.sort-select{font-size:16px}}.search-input:focus,.sort-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.release-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:28px}.stagger-in>*{animation:stagger-in var(--dur-med) var(--ease-out) both;animation-delay:min(calc(var(--i, 0) * 35ms),.35s)}@keyframes stagger-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.stagger-in>*{animation:none}}.release-card{display:block}.release-cover-wrap{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft);transition:transform var(--dur-med) var(--ease-out),box-shadow var(--dur-med)}.release-card:hover .release-cover-wrap{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.release-cover-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.35),transparent 55%);opacity:0;transition:opacity var(--dur-med);pointer-events:none}.release-card:hover .release-cover-wrap:after,.release-card:focus-within .release-cover-wrap:after{opacity:1}.release-cover{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-med) var(--ease-out)}.release-card:hover .release-cover{transform:scale(1.06)}.release-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--text-faint);background:linear-gradient(150deg,var(--surface-hover),var(--surface))}.release-type-badge{position:absolute;top:12px;left:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);padding:4px 10px;border-radius:var(--radius-full);box-shadow:var(--shadow-soft)}@media (hover: none){.release-type-badge{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}}.quick-play{position:absolute;right:12px;bottom:12px;width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px) scale(.9);transition:opacity var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast);box-shadow:var(--shadow-accent)}.release-card:hover .quick-play,.release-card:focus-within .quick-play{opacity:1;transform:translateY(0) scale(1)}@media (hover: none){.quick-play{opacity:1;transform:translateY(0) scale(1)}}.quick-play:hover{transform:scale(1.08)}.release-card-meta{margin-top:14px}.release-card-title{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.release-card-artist{font-size:12.5px;color:var(--text-muted);margin-top:3px}.empty-state{color:var(--text-muted);padding:60px 0;text-align:center}.loading-bar{position:fixed;top:0;left:0;height:2.5px;width:0%;background:var(--accent);z-index:200;opacity:0;pointer-events:none;transition:width 8s cubic-bezier(.1,.6,.2,1),opacity .2s ease}.loading-bar.is-active{opacity:1;width:70%}.loading-bar.is-done{transition:width .2s ease,opacity .3s ease .15s;width:100%;opacity:0}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;padding:8px 16px 8px 12px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;box-shadow:var(--shadow-soft);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}@media (hover: none){.back-link{padding:11px 16px 11px 12px}}.back-link:hover{color:var(--text);border-color:var(--border-strong);transform:translate(-3px);box-shadow:var(--shadow-hover)}.release-hero{position:relative;display:flex;gap:32px;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap}.release-hero:before{content:"";position:absolute;inset:-40px -20px auto -20px;height:320px;background:radial-gradient(ellipse at 18% 30%,color-mix(in srgb,var(--release-accent, var(--accent)) 32%,transparent),transparent 72%);filter:blur(50px);opacity:.8;z-index:-1;pointer-events:none;transform:translateZ(0);transition:background .6s ease}.release-hero-cover-wrap{position:relative;flex-shrink:0}.release-hero-cover-wrap .release-hero-cover,.release-hero-cover-wrap .release-cover-fallback{transition:border-radius var(--dur-slow) var(--ease-out)}.release-hero-cover-wrap.is-spinning .release-hero-cover,.release-hero-cover-wrap.is-spinning .release-cover-fallback{border-radius:50%;animation:vinyl-spin 9s linear infinite}.release-hero-cover-wrap.is-spinning:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%,-50%);border-radius:50%;background:var(--bg);border:2px solid rgba(0,0,0,.15)}@keyframes vinyl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.release-hero-cover{width:240px;height:240px;border-radius:var(--radius-lg);object-fit:cover;border:1px solid var(--border);box-shadow:var(--shadow-hover);font-size:64px}.release-hero-meta{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.release-hero-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.atmos-badge{display:inline-flex;align-items:center;background:#fff;border:1px solid rgba(0,0,0,.1);box-shadow:0 1px 3px #00000026;border-radius:var(--radius-full);padding:5px 11px}.hires-badge{display:inline-flex;align-items:center}.hires-badge svg{display:block}.release-hero-title{font-size:clamp(28px,4vw,44px);overflow-wrap:anywhere}.release-hero-artist{color:var(--text-muted);font-size:15px;font-weight:500}.release-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.release-description-wrap{max-width:640px;margin-bottom:32px}.release-description{color:var(--text-muted);line-height:1.65;margin:0;text-align:justify;hyphens:auto;-webkit-hyphens:auto}.release-description.is-clamped{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.release-description-more{display:inline-block;margin-top:8px;padding:0;background:none;border:none;color:var(--accent-text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.release-description-more:hover{text-decoration:underline}.description-modal{width:min(600px,calc(100% - 48px));max-height:min(70vh,640px);margin:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 30px 70px -20px #0f172a66;color:var(--text);overflow:hidden}.description-modal[open]{display:flex;flex-direction:column;animation:description-modal-in var(--dur-med) var(--ease-out)}.description-modal::backdrop{background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes description-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.description-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.description-modal-title{font-size:19px;margin:0}.description-modal-subtitle{font-size:13px;color:var(--text-muted);margin:4px 0 0}.description-modal-close{flex-shrink:0}.description-modal-body{padding:20px 24px 28px;overflow-y:auto;color:var(--text-muted);line-height:1.7;text-align:justify;hyphens:auto;-webkit-hyphens:auto}.description-modal-body p{margin:0 0 16px}.description-modal-body p:last-child{margin-bottom:0}.tracklist{list-style:none;margin:0;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.similar-section{margin-top:48px}.section-title{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 20px}.similar-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px}.track-row{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:16px;padding:12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast)}.track-row:not(:has(.track-download)){grid-template-columns:32px 1fr auto}.track-row:hover{background:var(--surface-hover)}.track-row.is-playing{background:var(--accent-soft)}.track-row.is-playing .track-title{color:var(--accent-text);font-weight:600}.track-number{font-family:var(--font-mono);font-size:12px;color:var(--text-faint);text-align:center}.track-title-row{display:flex;align-items:baseline;gap:6px;min-width:0}.track-title{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.track-duration{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.track-download{color:var(--text-muted);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-full);transition:color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast) var(--ease-out)}@media (hover: none){.track-download{width:40px;height:40px}}.track-download:hover{color:var(--accent);background:var(--accent-soft);transform:scale(1.08)}.channel-badge{display:inline-block;flex-shrink:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--accent-text);background:var(--accent-soft);border-radius:var(--radius-full);padding:1px 7px;vertical-align:middle}.track-row-with-cover{grid-template-columns:40px 1fr auto}.track-row-cover{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border)}.track-title-group{display:flex;flex-direction:column;gap:2px;overflow:hidden}.track-subartist{font-size:12px;color:var(--text-muted);max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.track-subartist:hover{color:var(--accent)}.not-found{text-align:center;padding:120px 24px;display:flex;flex-direction:column;gap:14px;align-items:center;animation:fade-in-up var(--dur-slow) var(--ease-out) both}.not-found-code{color:var(--accent-text)}.not-found h1{font-size:clamp(24px,4vw,34px);max-width:480px}.not-found p{color:var(--text-muted);max-width:420px;margin-bottom:6px}.player-bar{position:fixed;left:50%;bottom:18px;transform:translate(-50%);width:min(calc(100% - 32px),920px);height:76px;background:var(--glass-bg-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr) minmax(270px,auto);align-items:center;gap:30px;padding:0 20px;z-index:50;box-shadow:0 24px 60px -20px #0f172a59}.player-bar[hidden]{display:none}.player-track{display:flex;align-items:center;gap:12px;min-width:0}.player-cover-wrap{position:relative;flex-shrink:0}.player-cover{width:46px;height:46px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface);border:1px solid var(--border);cursor:pointer}.player-eq{position:absolute;right:-3px;bottom:-3px;display:flex;align-items:flex-end;justify-content:center;gap:2px;width:20px;height:20px;padding:4px 0;background:var(--accent);border:2px solid var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-soft);opacity:0;transform:scale(.5);transition:opacity var(--dur-fast),transform var(--dur-fast) var(--ease-out);pointer-events:none}.player-eq.is-playing{opacity:1;transform:scale(1)}.player-eq i{display:block;width:2px;height:100%;background:var(--accent-ink);border-radius:1px;transform-origin:bottom;animation:eq-bounce .9s ease-in-out infinite}.player-eq i:nth-child(1){animation-delay:-.6s}.player-eq i:nth-child(2){animation-delay:-.3s}.player-eq i:nth-child(3){animation-delay:0s}@keyframes eq-bounce{0%,to{transform:scaleY(.25)}50%{transform:scaleY(.85)}}.player-meta{min-width:0}.player-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.player-artist{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-artist.is-error{color:var(--danger);font-weight:600;white-space:normal}.player-title-text,.player-artist-text{display:inline-flex;gap:48px}.marquee-copy{flex-shrink:0;white-space:nowrap}.player-title.is-scrolling .player-title-text,.player-artist:not(.is-error).is-scrolling .player-artist-text{animation:player-marquee var(--marquee-duration, 10s) linear infinite}@keyframes player-marquee{0%{transform:translate(0)}to{transform:translate(var(--marquee-width, 0))}}.player-center{display:flex;flex-direction:column;align-items:center;gap:6px}.player-controls{display:flex;align-items:center;gap:4px;color:var(--text-muted)}.player-controls .btn-icon{transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast),color var(--dur-fast)}.player-controls .btn-icon:not(.player-play):hover{background:var(--surface-hover);color:var(--text);transform:translateY(-1px)}.player-controls .btn-icon:not(.player-play):active{transform:scale(.9)}.player-play{width:34px;height:34px;background:var(--accent);color:var(--accent-ink);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast)}.player-play:hover{transform:scale(1.1);box-shadow:var(--shadow-accent-hover)}.player-play.is-bouncing{animation:player-play-pop .26s var(--ease-out)}@keyframes player-play-pop{0%{transform:scale(1)}40%{transform:scale(.78)}to{transform:scale(1)}}.player-seek-row{display:flex;align-items:center;gap:10px;width:100%}.player-time{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);min-width:34px;text-align:center}.player-seek{flex:1;height:4px;background:var(--border);border-radius:var(--radius-full);cursor:pointer;position:relative}.player-seek:before{content:"";position:absolute;top:-14px;right:0;bottom:-14px;left:0}.player-seek-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0%;background:var(--accent);border-radius:var(--radius-full)}.player-seek-fill:after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-accent);transform:translateY(-50%) scale(0);transition:transform var(--dur-fast)}.player-seek:hover .player-seek-fill:after{transform:translateY(-50%) scale(1)}.player-side{display:flex;align-items:center;justify-content:flex-end;gap:8px}#player-lyrics,#player-queue{color:var(--text-muted);transition:color var(--dur-fast),background var(--dur-fast),transform var(--dur-fast) var(--ease-out)}#player-lyrics:hover,#player-queue:hover{background:var(--surface-hover);color:var(--text);transform:translateY(-1px)}#player-lyrics.is-active,#player-queue.is-active{background:var(--accent-soft);color:var(--accent-text)}.player-side-compact{color:var(--text-faint);padding:7px;transition:color var(--dur-fast),background var(--dur-fast)}.player-side-compact:hover{color:var(--text);background:var(--surface-hover)}.player-side-compact.is-active{color:var(--accent-text)}.player-volume{display:flex;justify-content:flex-end}.player-volume input[type=range]{width:84px;height:16px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;vertical-align:middle}.player-volume input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-full)}.player-volume input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--accent) var(--volume-pct, 100%),var(--border) var(--volume-pct, 100%))}.player-volume input[type=range]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-3px;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-accent);transition:transform var(--dur-fast)}.player-volume input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.3)}.player-volume input[type=range]::-moz-range-track{height:4px;border-radius:var(--radius-full);background:var(--border)}.player-volume input[type=range]::-moz-range-progress{height:4px;border-radius:var(--radius-full);background:var(--accent)}.player-volume input[type=range]::-moz-range-thumb{width:10px;height:10px;border:none;border-radius:50%;background:var(--accent);box-shadow:var(--shadow-accent);transition:transform var(--dur-fast)}.player-volume input[type=range]:hover::-moz-range-thumb{transform:scale(1.3)}@media (max-width: 860px){.player-volume,.player-side-compact{display:none}.player-bar{grid-template-columns:minmax(120px,1fr) minmax(180px,2fr) minmax(100px,auto)}}.lyrics-panel{position:fixed;left:50%;bottom:108px;transform:translate(-50%);width:max-content;min-width:min(280px,calc(100% - 32px));max-width:min(calc(100% - 32px),640px);max-height:min(56vh,520px);background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 30px 70px -20px #0f172a66;z-index:49;display:flex;flex-direction:column;overflow:hidden;animation:lyrics-in var(--dur-med) var(--ease-out);transition:width var(--dur-med) var(--ease-out)}.lyrics-panel[hidden]{display:none}@keyframes lyrics-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.lyrics-panel-header{display:flex;align-items:center;gap:6px;padding:16px 18px 10px;flex-shrink:0}.lyrics-panel-header .eyebrow{margin-right:auto}.lyrics-fullscreen-enter,.lyrics-fullscreen-header{display:none}.lyrics-karaoke-toggle{padding:7px;color:var(--text-faint)}.lyrics-karaoke-toggle:hover{color:var(--text);background:var(--surface-hover)}.lyrics-karaoke-toggle.is-active{color:var(--accent-text)}.lyrics-scroll{overflow-y:auto;overflow-x:hidden;padding:8px 26px 32px;scrollbar-width:none;-ms-overflow-style:none}.lyrics-scroll::-webkit-scrollbar{display:none}.lyrics-scroll.has-overflow{-webkit-mask-image:linear-gradient(to bottom,transparent,black 24px,black calc(100% - 24px),transparent);mask-image:linear-gradient(to bottom,transparent,black 24px,black calc(100% - 24px),transparent)}.lyrics-status{color:var(--text-muted);font-size:13px;padding:24px 0;text-align:center}.lyrics-line{margin:0 0 18px;font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.4;color:var(--text-faint);transition:color var(--dur-med) var(--ease-out),transform var(--dur-med) var(--ease-out),opacity var(--dur-med);transform-origin:left center;opacity:.8;cursor:pointer}.lyrics-line.is-active{color:var(--text-muted);opacity:1;transform:scale(1.04)}.lyrics-word{position:relative;display:inline-block;color:var(--text-faint);white-space:pre}.lyrics-word-fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0%;overflow:hidden;color:var(--accent-text);text-shadow:0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)}.lyrics-word-fill:after{content:"";position:absolute;top:50%;right:1px;width:6px;height:6px;border-radius:50%;transform:translateY(-50%) scale(0);background:var(--accent);box-shadow:0 0 6px 1px color-mix(in srgb,var(--accent) 70%,transparent);opacity:0;transition:opacity .12s,transform .12s}.lyrics-word-fill.has-spark:after{opacity:1;animation:lyrics-spark-pulse .65s ease-in-out infinite}@keyframes lyrics-spark-pulse{0%,to{transform:translateY(-50%) scale(.85)}50%{transform:translateY(-50%) scale(1.25)}}.lyrics-line:not(.is-active) .lyrics-word{color:inherit}.lyrics-line:not(.is-active) .lyrics-word-fill{display:none}.queue-panel{position:fixed;left:50%;bottom:108px;transform:translate(-50%);width:min(calc(100% - 32px),420px);max-height:min(56vh,520px);background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 30px 70px -20px #0f172a66;z-index:49;display:flex;flex-direction:column;overflow:hidden;animation:lyrics-in var(--dur-med) var(--ease-out)}.queue-panel[hidden]{display:none}.queue-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 10px;flex-shrink:0}.queue-panel-actions{display:flex;gap:2px}.queue-panel-actions .btn-icon{padding:7px;color:var(--text-faint)}.queue-panel-actions .btn-icon:hover{color:var(--text);background:var(--surface-hover)}.queue-panel-actions .btn-icon.is-active{color:var(--accent-text)}.queue-list{list-style:none;margin:0;padding:4px 10px 12px;overflow-y:auto}.queue-empty{padding:24px 20px;text-align:center;color:var(--text-muted);font-size:13px}.queue-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast)}.queue-row:hover{background:var(--surface-hover)}.queue-row.is-current{background:var(--accent-soft)}.queue-row.is-current .queue-row-title{color:var(--accent-text)}.queue-row.is-dragging{opacity:.4}.queue-row .drag-handle{cursor:grab;color:var(--text-faint);flex-shrink:0;font-size:14px;line-height:1}.queue-row-cover{width:34px;height:34px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--surface)}.queue-row-cover-fallback{background:var(--surface-hover);border:1px solid var(--border)}.queue-row-meta{flex:1;min-width:0;display:flex;flex-direction:column}.queue-row-title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row-artist{font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row-duration{font-family:var(--font-mono);font-size:11px;color:var(--text-faint);flex-shrink:0}.queue-row-reorder{display:flex;flex-direction:column;flex-shrink:0}.queue-row-move{width:20px;height:16px;padding:0;color:var(--text-faint);border-radius:var(--radius-sm)}@media (hover: none){.queue-row-move{width:30px;height:22px}}.queue-row-move:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.queue-row-move:disabled{opacity:.25;cursor:default}.shortcuts-modal{width:min(400px,calc(100% - 48px));padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--glass-bg-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 30px 70px -20px #0f172a66;color:var(--text)}.shortcuts-modal[open]{display:block;animation:shortcuts-modal-in var(--dur-med) var(--ease-out)}.shortcuts-modal::backdrop{background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes shortcuts-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.shortcuts-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px 14px;border-bottom:1px solid var(--border)}.shortcuts-modal-title{font-size:17px;margin:0}.shortcuts-list{margin:0;padding:8px 20px 20px}.shortcuts-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--border)}.shortcuts-row:last-child{border-bottom:none}.shortcuts-row dt{flex-shrink:0}.shortcuts-row dd{margin:0;color:var(--text-muted);font-size:13px;text-align:right}.shortcuts-row kbd{font-family:var(--font-mono);font-size:11px;background:var(--surface-hover);border:1px solid var(--border-strong);border-radius:5px;padding:3px 7px;box-shadow:0 1px 0 var(--border-strong)}@media (max-width: 720px){.site{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.site-header{padding-top:calc(14px + env(safe-area-inset-top));backdrop-filter:blur(28px) saturate(1.8);-webkit-backdrop-filter:blur(28px) saturate(1.8)}#shortcuts-btn{display:none}.view{padding-top:calc(118px + env(safe-area-inset-top))}.player-bar{grid-template-columns:1fr auto;grid-template-rows:auto auto;height:auto;padding:12px 16px 14px;row-gap:10px;width:calc(100% - 20px);bottom:calc(10px + env(safe-area-inset-bottom));border-radius:28px;backdrop-filter:blur(28px) saturate(1.8);-webkit-backdrop-filter:blur(28px) saturate(1.8);box-shadow:0 24px 60px -20px #0f172a59,inset 0 1px #ffffff80,inset 0 0 0 1px #ffffff0f}.player-track{grid-column:1;grid-row:1;min-width:0}.player-side{grid-column:2;grid-row:1}.player-volume{display:none}.player-center{grid-column:1 / -1;grid-row:2}.player-controls{justify-content:center;gap:22px}.player-controls .btn-icon{width:40px;height:40px}.player-play{width:44px;height:44px}#player-lyrics,#player-queue{width:40px;height:40px}.player-seek-row{order:1}.player-controls{order:2}.player-seek{height:6px}.player-seek-fill:after{transform:translateY(-50%) scale(1);width:14px;height:14px;right:-7px}.queue-panel-actions .btn-icon,.lyrics-karaoke-toggle{padding:10px}.lyrics-panel,.queue-panel{bottom:calc(186px + env(safe-area-inset-bottom));width:calc(100% - 20px);max-height:46vh;border-radius:26px;backdrop-filter:blur(30px) saturate(1.8);-webkit-backdrop-filter:blur(30px) saturate(1.8);box-shadow:0 30px 70px -20px #0f172a66,inset 0 1px #ffffff80,inset 0 0 0 1px #ffffff0f}.lyrics-fullscreen-enter{display:inline-flex}.lyrics-panel.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;transform:none;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:none;z-index:200}.lyrics-panel.is-fullscreen .lyrics-fullscreen-enter{display:none}.lyrics-panel.is-fullscreen .lyrics-scroll{flex:1;min-height:0;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.lyrics-fullscreen-header{display:none}.lyrics-panel.is-fullscreen .lyrics-fullscreen-header{display:flex;align-items:center;gap:12px;padding:calc(18px + env(safe-area-inset-top)) 20px 16px;flex-shrink:0;border-bottom:1px solid var(--border)}.lyrics-fullscreen-cover-wrap{flex-shrink:0;position:relative}.lyrics-fullscreen-cover{display:block;width:52px;height:52px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface);transition:border-radius var(--dur-slow) var(--ease-out)}.lyrics-fullscreen-cover-wrap.is-spinning .lyrics-fullscreen-cover{border-radius:50%;animation:vinyl-spin 9s linear infinite}.lyrics-fullscreen-meta{flex:1;min-width:0}.lyrics-fullscreen-title{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lyrics-fullscreen-artist{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-controls .btn-icon:not(.player-play),#player-lyrics,#player-queue{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.player-play{box-shadow:var(--shadow-accent),inset 0 1px #fff6}.tabs{flex-wrap:wrap;row-gap:4px}.tab{padding:10px 12px;font-size:12px}.home-controls{width:100%;flex-wrap:wrap}.search-input{flex:1 1 100%;min-width:0}.sort-select{flex:1 1 auto;min-width:0}#header-extra .header-inner{gap:12px}.release-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.release-card-artist{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
