@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");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{--header-height: 56px;--player-height: 88px;--player-progress: 4px;--quicknav-size: 48px;--content-max: 1440px;--control-h: 36px;--control-h-bar: 32px;--row-h: 40px;--subtab-h: 34px;--sticky-top: var(--header-height);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--page-margin: 22px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 11px;--radius-xl: 16px;--radius-pill: 999px;--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "Fira Code", Consolas, monospace;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--lh-tight: 1.2;--lh-title: 1.3;--lh-body: 1.5;--lh-compact: 1.45;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--t-fast: .12s;--t-base: .22s;--bg-base: #0d0f12;--bg-surface: #15191f;--bg-elevated: #1c2129;--bg-overlay: rgba(0, 0, 0, .6);--text-primary: #e7ecf2;--text-secondary: #8a94a3;--text-tertiary: #6e7887;--text-on-accent: #111318;--border-subtle: #262d37;--border-strong: #39424f;--sect-songs: #ff5a3c;--sect-studio: #3d9be9;--sect-library: #2ecc71;--sect-band: #1ab7b0;--sect-rack: #b06cf0;--accent: #ff5a3c;--sect: var(--accent);--genre-metal: #ff4136;--genre-rock: #ff851b;--genre-blues: #3d9be9;--genre-jazz: #b06cf0;--genre-funk: #2ecc71;--genre-bass: #1ab7b0;--ok: #2ecc71;--warn: #ff851b;--err: #ff4136;--info: #3d9be9;--status-queued: var(--text-secondary);--status-processing: var(--info);--status-ready: var(--ok);--status-failed: var(--err);--accent-primary: var(--sect);--accent-primary-hover: color-mix(in srgb, var(--sect) 82%, #ffffff);--accent-playback: var(--sect, var(--accent));--accent-playback-trail: color-mix(in srgb, var(--sect, var(--accent)) 26%, var(--bg-elevated));--star-todo: #f5b50a;--star-learning: #3b82f6;--star-learned: #a855f7;--fn-tonic: #6366f1;--fn-third: #22c55e;--fn-fifth: #f59e0b;--fn-seventh: #ec4899;--fn-other: #9ca3af;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45);--alphatab-bg: #15191f;--alphatab-staff: #b0b6c0;--alphatab-bar: #8b929e;--alphatab-note: #ebecf0;--alphatab-cursor: var(--accent-playback);--harmony-tonic: #facc15;--harmony-tonic-text: #1f1408;--harmony-third: #3b82f6;--harmony-third-text: #ffffff;--harmony-third-minor: #93c5fd;--harmony-third-minor-text: #1e3a8a;--harmony-fifth: #22c55e;--harmony-fifth-text: #062b14;--harmony-seventh: #a855f7;--harmony-seventh-text: #ffffff;--harmony-seventh-minor: #d8b4fe;--harmony-seventh-minor-text: #4c1d95;--harmony-other: #94a3b8;--harmony-other-text: #14161b;--tonal-T: #14b8a6;--tonal-T-text: #042f2e;--tonal-SD: #f59e0b;--tonal-SD-text: #1f1408;--tonal-D: #ef4444;--tonal-D-text: #ffffff}[data-subtabs=on]{--sticky-top: calc(var(--header-height) + var(--subtab-h))}[data-sect=songs]{--sect: var(--sect-songs)}[data-sect=studio]{--sect: var(--sect-studio)}[data-sect=library]{--sect: var(--sect-library)}[data-sect=band]{--sect: var(--sect-band)}[data-sect=rack]{--sect: var(--sect-rack)}[data-sect]{--accent-primary: var(--sect);--accent-primary-hover: color-mix(in srgb, var(--sect) 82%, #ffffff)}[data-paper=white]{--bg-base: #ffffff;--bg-surface: #ffffff;--bg-elevated: #eef0f3;--bg-overlay: rgba(15, 17, 21, .4);--text-primary: #14161b;--text-secondary: #545a64;--text-tertiary: #8b8f97;--border-subtle: #e2e5ea;--border-strong: #c9ced6;--alphatab-bg: #ffffff;--alphatab-staff: #c9ced6;--alphatab-bar: #8b8f97;--alphatab-note: #14161b;--harmony-tonic: #f59e0b;--harmony-tonic-text: #1f1408;--harmony-third: #2563eb;--harmony-third-text: #ffffff;--harmony-third-minor: #93c5fd;--harmony-third-minor-text: #1e3a8a;--harmony-fifth: #16a34a;--harmony-fifth-text: #ffffff;--harmony-seventh: #9333ea;--harmony-seventh-text: #ffffff;--harmony-seventh-minor: #d8b4fe;--harmony-seventh-minor-text: #4c1d95;--harmony-other: #cbd5e1;--harmony-other-text: #14161b;--tonal-T: #0d9488;--tonal-T-text: #ffffff;--tonal-SD: #d97706;--tonal-SD-text: #ffffff;--tonal-D: #dc2626;--tonal-D-text: #ffffff}[data-paper=parchment]{--bg-base: #f3eddc;--bg-surface: #fbf6e8;--bg-elevated: #ebe2c9;--bg-overlay: rgba(45, 35, 25, .4);--text-primary: #2a2118;--text-secondary: #6b6155;--text-tertiary: #8d8475;--border-subtle: #d8cfb8;--border-strong: #c2b393;--alphatab-bg: #f3eddc;--alphatab-staff: #c2b393;--alphatab-bar: #8d8475;--alphatab-note: #2a2118;--harmony-tonic: #d97706;--harmony-tonic-text: #1f1408;--harmony-third: #1d4ed8;--harmony-third-text: #ffffff;--harmony-third-minor: #93c5fd;--harmony-third-minor-text: #1e3a8a;--harmony-fifth: #15803d;--harmony-fifth-text: #ffffff;--harmony-seventh: #7e22ce;--harmony-seventh-text: #ffffff;--harmony-seventh-minor: #d8b4fe;--harmony-seventh-minor-text: #4c1d95;--harmony-other: #c4b896;--harmony-other-text: #2a2118;--tonal-T: #115e59;--tonal-T-text: #ffffff;--tonal-SD: #b45309;--tonal-SD-text: #ffffff;--tonal-D: #b91c1c;--tonal-D-text: #ffffff}@media (prefers-reduced-motion: reduce){:root{--t-fast: 0s;--t-base: 0s}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--sect);outline-offset:2px;border-radius:var(--radius-sm)}.tabs__tab:focus-visible,.admin-sidebar__item:focus-visible,.table-scroll:focus-visible,.menu__item:focus-visible{outline:2px solid var(--sect);outline-offset:-2px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--bg-surface);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--border-subtle);height:var(--header-height);position:sticky;top:0;z-index:50;flex-shrink:0;flex-wrap:nowrap}.wordmark{display:inline-flex;align-items:baseline;flex-shrink:0;font-family:var(--font-mono);font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:.02em;color:#eef2f7;text-decoration:none;white-space:nowrap}.wordmark__s{color:var(--sect);text-shadow:0 0 10px color-mix(in srgb,var(--sect) 45%,transparent);transition:color var(--t-base),text-shadow var(--t-base)}.wordmark:focus-visible{outline:2px solid var(--sect);outline-offset:2px;border-radius:var(--radius-sm)}.wordmark__cursor{display:inline-block;width:.6em;height:1.05em;margin-left:.06em;transform:translateY(.12em);background:var(--sect);box-shadow:0 0 10px color-mix(in srgb,var(--sect) 45%,transparent);animation:wordmark-blink 1.1s step-end infinite}@keyframes wordmark-blink{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion: reduce){.wordmark__cursor{animation:none}}.badge-soon{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.08em;padding:2px 5px;border-radius:3px;background:#ffffff1a;color:#ffffff80;font-family:var(--font-mono)}.header__hubs{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.header__hub{position:relative;display:inline-flex;align-items:center;height:var(--control-h-bar);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-base);font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap;transition:color var(--t-fast),background var(--t-fast)}.header__hub:hover{color:var(--text-primary);background:#ffffff0d}.header__hub:focus-visible{outline:2px solid var(--sect);outline-offset:2px}.header__hub--active{color:var(--text-primary)}.header__hub--active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:-1px;height:2px;border-radius:var(--radius-pill);background:var(--sect);transition:background var(--t-base)}.header__title{font-weight:var(--fw-semibold);font-size:var(--fs-md);margin-right:auto;color:#ffffffd9;display:flex;align-items:center;gap:var(--space-3);min-width:0}.header__crumbs{font-weight:var(--fw-medium);gap:0;white-space:nowrap;overflow:hidden}.header__crumb-part{display:inline-flex;align-items:center;min-width:0}.header__crumb-sep{margin:0 var(--space-2);color:#ffffff59;flex:0 0 auto}.header__crumb-link{color:#fff9;text-decoration:none;border-radius:var(--radius-sm);padding:2px 4px;transition:color .14s ease,background .14s ease}.header__crumb-link:hover{color:var(--text-primary);background:#ffffff14}.header__crumb-leaf{color:var(--text-primary);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 1100px){.header__crumbs .header__crumb-part:not(:first-child):not(:last-child){display:none}.header__crumbs .header__crumb-part:last-child .header__crumb-sep:before{content:"…";margin-right:var(--space-2)}}.header-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.04em;font-family:var(--font-mono)}.header-tag--bpm{background:#38bdf82e;border-color:#38bdf873;color:#bae6fd}.header-tag--key{background:#a855f72e;border-color:#a855f773;color:#e9d5ff}.header-tag--diff-easy{background:#22c55e2e;border-color:#22c55e73;color:#bbf7d0}.header-tag--diff-medium{background:#eab3082e;border-color:#eab30873;color:#fef08a}.header-tag--diff-hard{background:#f9731633;border-color:#f9731680;color:#fed7aa}.header-tag--diff-expert{background:#ef444438;border-color:#ef44448c;color:#fecaca}.header__player-meta{gap:var(--space-3);flex-wrap:nowrap;min-width:0;overflow:hidden}.header__player-meta .header-tag{flex-shrink:0}.header__artist-photo{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1px solid rgba(255,255,255,.18);flex-shrink:0}.header__artist-photo--placeholder{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#ec4899);color:var(--text-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.header__song-title{font-weight:var(--fw-semibold);font-size:var(--fs-md);color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__nav{display:flex;gap:var(--space-6);align-items:center}.header__nav a{color:#ffffffa6;font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:color .15s}.header__nav a:hover,.header__nav a.is-active{color:var(--text-primary)}.header__avatar{position:relative;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ec4899);border:2px solid rgba(255,255,255,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:#fffffff2}.header__avatar:hover{border-color:#ffffff4d}.header__avatar--photo{background:transparent;padding:0}.header__avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;border-radius:50%}.header__profile{position:relative}.menu.menu--profile{min-width:160px;right:0;left:auto}.menu__item--linkrow{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);text-decoration:none;cursor:pointer}.menu__item--linkrow:hover{background:var(--bg-elevated)}.menu__item--icon{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.menu__item--icon svg{flex:0 0 auto;color:var(--text-secondary)}.menu__item--icon:hover svg{color:var(--text-primary)}.main{flex:1;padding:var(--space-6);padding-bottom:calc(var(--player-height) + var(--player-progress) + var(--space-8));max-width:var(--content-max);margin:0 auto;width:100%}.main--full{padding:0;padding-bottom:calc(var(--player-height) + var(--player-progress));max-width:none}.main--no-top-pad{padding-top:0}.page-title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin-bottom:var(--space-6)}.section-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:var(--space-6) 0 var(--space-4)}.header__nav{display:flex;gap:8px}.header__nav-link{padding:6px 12px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:#ffffffa6;border:1px solid transparent;transition:all .15s}.header__nav-link:hover{color:#fffffff2;background:#ffffff0f}.header__nav-link--active{color:var(--text-primary);background:#ffffff1f;border-color:#ffffff2e}@media (max-width: 768px){.header{gap:var(--space-3);padding:0 var(--space-3)}.header__title{display:none}.header__hubs{flex-shrink:1;min-width:0;overflow-x:auto;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);padding-bottom:1px;scrollbar-width:none;-ms-overflow-style:none}.header__hubs::-webkit-scrollbar{display:none}.header__hub{padding:0 var(--space-2)}}@media (max-width: 1100px){.header__player-meta .header-tag[class*=--diff-]{display:none}}@media (max-width: 768px){.header__player-meta .header-tag--key{display:none}}.header__icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:7px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff9;transition:background .16s ease,color .16s ease}.header__icon-btn:hover{background:#ffffff14;color:var(--text-primary)}.theme-menu{position:relative}.theme-menu__trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border-radius:var(--radius-pill);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffd9;font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.theme-menu__trigger:hover{background:#ffffff1f;border-color:#ffffff38;color:var(--text-primary)}.theme-menu__trigger[aria-expanded=true]{background:#ffffff29;border-color:#ffffff4d;color:var(--text-primary)}.theme-menu__label{line-height:1}.theme-menu__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:140px;background:#14161b;border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:4px;box-shadow:0 8px 24px #0006;z-index:60;display:flex;flex-direction:column;gap:2px;list-style:none;margin:0}.theme-menu__option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:6px;background:transparent;border:none;color:#ffffffbf;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;text-align:left;transition:background .12s,color .12s}.theme-menu__option:hover{background:#ffffff14;color:var(--text-primary)}.theme-menu__option--active{color:var(--text-primary);background:#ffffff0f}.analysis{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-5);padding:var(--space-3) var(--space-6) var(--space-5);max-width:1560px;margin:0 auto}.analysis__sidebar-col{position:sticky;top:calc(var(--header-height, 56px) + var(--space-3));align-self:start;display:flex;flex-direction:column;gap:var(--space-3)}.analysis__params{position:sticky;top:calc(var(--header-height, 56px) + var(--space-3));align-self:start;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.analysis__toc-aside{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:var(--space-4)}.analysis__toc-aside .analysis__toc h3{margin:0 0 8px}.analysis__params-section h3{font-size:var(--fs-xs, 12px);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 8px}.analysis__tonic-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}.analysis__tonic-head h3{margin:0}.analysis__tonic-transpose{display:inline-flex;gap:4px}.analysis__transpose-btn{padding:2px 8px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-xs, 12px);font-weight:var(--fw-medium);cursor:pointer;font-family:var(--font-mono, monospace);transition:background .12s,border-color .12s,color .12s}.analysis__transpose-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.analysis__tonic-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.analysis__tonic-btn,.analysis__octave-btn,.analysis__audio-mode{padding:6px 4px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;text-align:center;transition:background .12s,border-color .12s}.analysis__tonic-btn:hover,.analysis__octave-btn:hover,.analysis__audio-mode:hover{border-color:var(--border-strong)}.analysis__tonic-btn--active,.analysis__octave-btn--active,.analysis__audio-mode--active{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.analysis__octave-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.analysis__scale-select{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font:inherit}.analysis__play-btn{width:100%;padding:10px 12px;margin-top:6px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:all .12s}.analysis__play-btn:hover{border-color:var(--border-strong)}.analysis__play-btn--active{background:var(--accent-playback, #16a34a);color:var(--text-primary);border-color:var(--accent-playback, #16a34a)}.analysis__audio-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px}.analysis__main{display:flex;flex-direction:column;gap:var(--space-5);padding-bottom:calc(var(--player-bar-height, 100px) + var(--space-5));min-width:0}.analysis__header{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;position:sticky;top:calc(var(--header-height, 56px) + var(--space-3));z-index:5;background:var(--bg-base);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-2);box-shadow:0 calc(-1 * var(--space-3)) 0 var(--bg-base)}.analysis__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:0}.analysis__type-tag{background:var(--bg-elevated);color:var(--text-secondary);padding:3px 10px;border-radius:12px;font-size:var(--fs-xs, 12px);font-weight:var(--fw-semibold);letter-spacing:.04em}.analysis__song-tag{color:var(--text-tertiary);font-size:var(--fs-sm)}.analysis__page-tabs{display:flex;gap:4px;margin-left:auto;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;padding:3px}.analysis__page-tab{padding:6px 16px;border:none;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background .12s,color .12s}.analysis__page-tab:hover{color:var(--text-primary)}.analysis__page-tab--active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.analysis-block{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.analysis-block h2{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.analysis-block__head{display:flex;align-items:baseline;gap:var(--space-3)}.analysis-block__action-btn{margin-left:auto;padding:6px 14px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background .12s,border-color .12s}.analysis-block__action-btn:hover{border-color:var(--border-strong);background:var(--text-primary);color:var(--bg-base)}.analysis-legend{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:var(--fs-xs, 12px);color:var(--text-secondary)}.analysis-legend__item{display:inline-flex;align-items:center;gap:5px}.analysis-legend__chip{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.analysis-legend__label{font-family:var(--font-mono, monospace);font-weight:var(--fw-semibold)}.analysis-block__hint{color:var(--text-tertiary);font-size:var(--fs-xs, 12px);margin:0}.composer-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.composer-toolbar h2{margin-right:auto}.composer-toolbar__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.composer-toolbar__actions .analysis__play-btn{width:auto;margin-top:0}.composer-tab{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-3);overflow-x:auto}.composer-score{overflow-x:auto}.composer-seq-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.composer-seq-item{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:6px}.composer-seq-item__name{flex:1;font-weight:var(--fw-medium)}.composer-chord-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}.composer-chord-pill{display:flex;flex-direction:column;gap:2px;align-items:center;padding:8px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .12s;min-width:60px}.composer-chord-pill:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-surface)}.composer-chord-pill:disabled{opacity:.45;cursor:default}.composer-chord-pill__roman{font-size:var(--fs-xs, 12px);color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.composer-chord-pill__symbol{font-weight:var(--fw-bold);font-size:var(--fs-sm)}.composer-chord-card{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;min-width:120px}.composer-chord-card__head{display:flex;flex-direction:column;align-items:center;gap:1px}.composer-chord-card__empty{font-size:var(--fs-xs, 12px);color:var(--text-tertiary);text-align:center;margin:8px 0}.composer-chord-card__voicings{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.composer-chord-mini{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .12s}.composer-chord-mini:hover{border-color:var(--accent-primary, #2563eb);transform:translateY(-1px);box-shadow:0 2px 6px #2563eb2e}.composer-chord-mini__label{font-size:10px;color:var(--text-tertiary);font-weight:var(--fw-medium);letter-spacing:.02em}.composer-chord-mini svg{display:block;width:70px;height:auto;color:var(--text-primary);color:#cbd5e1}.composer-chord-tab{display:flex;flex-direction:column;gap:var(--space-3)}.composer-chord-tab__modes{display:flex;gap:0;border-bottom:1px solid var(--border-subtle)}.composer-chord-tab__mode{padding:6px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:var(--fw-medium);cursor:pointer;margin-bottom:-1px}.composer-chord-tab__mode:hover{color:var(--text-primary)}.composer-chord-tab__mode--active{color:var(--accent-primary, #2563eb);border-bottom-color:var(--accent-primary, #2563eb);font-weight:var(--fw-semibold)}.composer-power{display:flex;flex-direction:column;gap:var(--space-3)}.composer-power__enrich{display:flex;align-items:center;gap:6px}.composer-power__label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:var(--fw-semibold)}.composer-power__enrich-btn{padding:4px 10px;height:26px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;font-size:11px;font-weight:var(--fw-medium);color:var(--text-primary);cursor:pointer;font-family:var(--font-mono, monospace)}.composer-power__enrich-btn:hover{border-color:var(--border-strong)}.composer-power__enrich-btn--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-power__roots{display:flex;gap:6px;flex-wrap:wrap}.composer-power__root{display:inline-flex;align-items:baseline;gap:1px;padding:8px 14px;background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:all .12s;min-width:56px;justify-content:center}.composer-power__root:hover{border-color:var(--accent-primary, #2563eb);transform:translateY(-1px);box-shadow:0 2px 6px #2563eb26}.composer-power__root-name{font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--text-primary)}.composer-power__root-suffix{font-size:10px;color:var(--text-tertiary);font-weight:var(--fw-bold);letter-spacing:.05em}.composer-drum-grid{display:flex;align-items:stretch;gap:0;padding:8px 0}.composer-drum-group{display:flex;flex-direction:column;gap:6px;padding:0 12px;flex:1 1 0;min-width:0}.composer-drum-group+.composer-drum-group{border-left:1px solid var(--border-subtle)}.composer-drum-group__title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:var(--fw-bold);padding-left:2px}.composer-drum-group__pads{display:flex;flex-wrap:wrap;gap:6px}.composer-drum-pad{position:relative;flex:1 1 80px;min-width:80px;height:56px;padding:6px 8px;background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;color:var(--text-primary);transition:all .12s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.composer-drum-pad:hover{border-color:var(--accent-primary, #2563eb);transform:translateY(-1px);box-shadow:0 2px 6px #2563eb26}.composer-drum-pad--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb);box-shadow:0 2px 8px #2563eb59}.composer-drum-pad__glyph{font-size:16px;line-height:1}.composer-drum-pad__label{font-size:11px;font-weight:var(--fw-bold);letter-spacing:.02em;white-space:nowrap}.composer-drum-pad__dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px #ffffff80}.composer-config{display:flex;flex-direction:column;gap:16px;padding:4px 0}.composer-config>.composer-scale-controls{padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.composer-tracks-config{margin-top:0;padding-top:0;border-top:none}.composer-tracks-config__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.composer-tracks-config__title{font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--text-primary);letter-spacing:.02em;text-transform:uppercase}.composer-tracks-config__add{padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-weight:var(--fw-medium);font-size:var(--fs-xs, 12px);color:var(--text-primary);transition:all .12s}.composer-tracks-config__add:hover{border-color:var(--accent-primary, #2563eb);background:var(--bg-surface)}.composer-tracks-config__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.composer-track-strip{display:grid;grid-template-columns:auto 1fr 200px auto;align-items:center;gap:10px;padding:6px 8px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px}.composer-track-strip__instrument{position:relative;flex:0 0 auto}.composer-instrument-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .12s;padding:0}.composer-instrument-icon:hover{border-color:var(--accent-primary, #2563eb);background:var(--bg-elevated)}.composer-instrument-icon--drum{cursor:default;font-size:22px;line-height:1}.composer-instrument-icon--drum:hover{border-color:var(--border-subtle);background:var(--bg-surface)}.composer-instrument-icon__img{width:28px;height:28px;-o-object-fit:contain;object-fit:contain;pointer-events:none}.composer-instrument-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:30;display:flex;gap:4px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 6px 18px #0000002e}.composer-instrument-picker__item{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;padding:0;transition:all .12s}.composer-instrument-picker__item:hover{border-color:var(--accent-primary, #2563eb);transform:translateY(-1px)}.composer-instrument-picker__item--active{background:var(--accent-primary, #2563eb);border:2px solid var(--accent-primary, #2563eb);box-shadow:0 0 0 2px #2563eb40,0 4px 10px #2563eb73}.composer-track-strip__name{min-width:0;width:100%;background:transparent;border:1px solid transparent;border-radius:4px;padding:4px 6px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.composer-track-strip__name:hover{border-color:var(--border-subtle)}.composer-track-strip__name:focus{outline:none;border-color:var(--accent-primary, #2563eb);background:var(--bg-surface)}.composer-track-strip__tuning{width:100%;padding:5px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:5px;font-size:var(--fs-xs, 12px);color:var(--text-primary)}.composer-track-strip__tuning-na{width:100%;text-align:center;color:var(--text-tertiary);font-size:var(--fs-xs, 12px)}.composer-track-strip__toggles{display:flex;gap:4px;margin-left:auto}.composer-track-strip__toggle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:5px;cursor:pointer;font-weight:var(--fw-bold);font-size:var(--fs-xs, 12px);color:var(--text-primary);transition:all .12s}.composer-track-strip__toggle:hover{border-color:var(--border-strong)}.composer-track-strip__toggle--mute-on{background:var(--err);border-color:var(--err);color:var(--text-primary)}.composer-track-strip__toggle--solo-on{background:var(--warn);border-color:var(--warn);color:var(--text-primary)}.composer-track-strip__remove{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:5px;cursor:pointer;color:var(--text-tertiary);transition:all .12s}.composer-track-strip__remove:hover:not(:disabled){border-color:var(--err);color:var(--err)}.composer-track-strip__remove:disabled{opacity:.45;cursor:default}.composer-pin-btn__glyph{font-size:14px;font-weight:var(--fw-bold);line-height:1}.composer-feature-separator{display:inline-block;width:1px;height:20px;margin:0 6px;background:var(--border-strong);opacity:.5;flex:0 0 auto;align-self:center}.composer-bars-control{display:inline-flex;align-items:center;gap:2px;padding:2px 4px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated)}.composer-bars-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:5px;cursor:pointer;font-size:16px;font-weight:var(--fw-bold);color:var(--text-secondary);transition:background .12s,color .12s}.composer-bars-btn:hover:not(:disabled){background:var(--bg-surface);color:var(--text-primary)}.composer-bars-btn:disabled{opacity:.45;cursor:default}.composer-bars-count{font-size:11px;font-weight:var(--fw-semibold);color:var(--text-secondary);min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.composer-player__cover-img{background:transparent;mix-blend-mode:screen}.composer-player__cover-fallback{display:flex;align-items:center;justify-content:center;font-size:var(--fs-lg);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.composer-player__kind-chip{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.composer-player__kind-chip:hover{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-player__kind-chip-label{font-variant-caps:small-caps;letter-spacing:.04em;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-player__kind-menu{position:fixed;z-index:130;min-width:240px;max-height:60vh;overflow-y:auto;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 -8px 24px #00000073;display:flex;flex-direction:column;gap:1px}.composer-player__kind-menu-title{margin:4px 8px 6px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.composer-player__kind-menu-group{display:flex;flex-direction:column;gap:1px}.composer-player__kind-menu-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;background:transparent;border-radius:6px;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.composer-player__kind-menu-item:hover{background:var(--bg-active)}.composer-player__kind-menu-item--sub{padding-left:24px;color:var(--text-secondary);font-size:var(--fs-xs)}.composer-player__kind-menu-item--active{background:color-mix(in srgb,var(--accent-primary, #2563eb) 18%,transparent);color:var(--text-primary);font-weight:600}.composer-player__kind-menu-item--active:hover{background:color-mix(in srgb,var(--accent-primary, #2563eb) 28%,transparent)}.composer-player__kind-menu-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-player__kind-menu-check{color:var(--accent-primary, #2563eb);font-weight:700;flex-shrink:0}.composer-player__title-label,.composer-player__title-input{font-weight:var(--fw-bold);font-size:var(--fs-base);color:inherit;padding:2px 6px;border-radius:4px;min-width:80px;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-player__title-label{background:transparent;border:none;border-bottom:1px dotted var(--text-tertiary);text-align:left;cursor:text;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.composer-player__title-label:hover{border-bottom-color:var(--accent-primary, #2563eb);background:var(--bg-elevated)}.composer-player__title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.composer-player__title-edit-icon{font-size:11px;color:var(--text-tertiary);flex:0 0 auto;transition:color .12s}.composer-player__title-label:hover .composer-player__title-edit-icon{color:var(--accent-primary, #2563eb)}.composer-player__title-input{background:var(--bg-elevated);border:1px solid var(--accent-primary, #2563eb);outline:none}.composer-player__tempo{display:flex;align-items:center;gap:4px;font-size:var(--fs-xs, 12px);color:var(--text-tertiary)}.composer-player__tempo input{width:56px;padding:4px 6px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-mono, monospace)}.composer-player__tracks{display:flex;gap:6px;flex-wrap:wrap}.composer-player__track{display:flex;align-items:stretch;gap:1px;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden;background:var(--bg-elevated)}.composer-player__track--active{border-color:var(--accent-primary, #2563eb);box-shadow:0 0 0 1px var(--accent-primary, #2563eb)}.composer-player__track-name{padding:4px 10px;background:transparent;border:none;color:var(--text-primary);font-weight:var(--fw-semibold);font-size:var(--fs-xs, 12px);cursor:pointer}.composer-player__track-name:hover{background:var(--bg-surface)}.composer-player__track--active .composer-player__track-name{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-player__track-toggle{padding:0 6px;background:transparent;border:none;border-left:1px solid var(--border-subtle);color:var(--text-tertiary);font-size:10px;font-weight:var(--fw-bold);cursor:pointer}.composer-player__track-toggle:hover{color:var(--text-primary)}.composer-player__track-toggle--on{background:var(--accent-warn, #d97706);color:var(--text-primary)}.composer-feature-bar{position:fixed;left:0;right:0;bottom:var(--player-height, 80px);background:var(--bg-elevated);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);z-index:99;padding:8px var(--space-5);display:flex;align-items:center;gap:var(--space-3);box-shadow:var(--shadow-md);min-height:52px;overflow-x:auto}.composer-feature-bar__group{display:inline-flex;align-items:center;gap:var(--space-3)}.composer-feature-bar__divider{width:1px;height:24px;background:var(--border-subtle);display:inline-block}.composer-feature-bar__section{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.composer-feature-bar__title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);font-weight:var(--fw-bold)}.composer-feature-bar__items{display:inline-flex;gap:4px}.composer-feature-bar__items button{padding:4px 10px;height:40px;min-width:40px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:var(--fs-sm, 13px);font-weight:var(--fw-medium);color:var(--text-primary);transition:all .12s;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1}.composer-articulation-btn__glyph{font-size:14px;font-weight:var(--fw-bold);line-height:1}.composer-articulation-btn__label{font-size:10px;font-weight:var(--fw-medium);letter-spacing:.02em;line-height:1}.composer-feature-bar__items button:hover:not(:disabled){border-color:var(--border-strong)}.composer-feature-bar__items button.is-active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-feature-bar__items button:disabled{opacity:.45;cursor:default}.composer-bend-control{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;height:40px}.composer-bend-control.is-active{border-color:var(--accent-primary, #2563eb)}.composer-bend-control__label{font-size:10px;font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}.composer-bend-step{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:12px;font-weight:var(--fw-semibold);color:var(--text-secondary);transition:all .12s}.composer-bend-step:hover{background:var(--bg-elevated);color:var(--text-primary)}.composer-bend-step.is-active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-bend-control__modes{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--bg-base);border-radius:4px;margin-right:4px}.composer-bend-mode{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer;font-size:12px;font-weight:var(--fw-bold);color:var(--text-tertiary);transition:all .12s}.composer-bend-mode:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.composer-bend-mode:disabled{opacity:.45;cursor:default}.composer-bend-mode.is-active{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-harmonic-control{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;height:40px}.composer-harmonic-control.is-active{border-color:#22d3ee}.composer-harmonic-control__label{font-size:10px;font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}.composer-harmonic-step{height:26px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:11px;font-weight:var(--fw-semibold);color:var(--text-secondary);transition:all .12s}.composer-harmonic-step:hover{background:var(--bg-elevated);color:var(--text-primary)}.composer-harmonic-step.is-active{background:#22d3ee;color:#0e7490;border-color:#0e7490}.composer-duration-btn{min-width:40px;font-size:18px!important;font-family:var(--font-mono, monospace)}.composer-duration-btn span,.composer-duration-btn{line-height:1}.composer-feature-bar__items .composer-duration-btn:nth-child(1)>*{transform:translateY(-3px);display:inline-block}.composer-feature-bar__items .composer-duration-btn:nth-child(n+2)>*{transform:translateY(3px);display:inline-block}.composer-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3)}.composer-tab{padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-weight:var(--fw-medium);cursor:pointer;margin-bottom:-1px}.composer-tab:hover{color:var(--text-primary)}.composer-tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary, #2563eb)}.composer-sticky-toggle{margin-left:auto;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:var(--fs-md);color:var(--text-tertiary);transition:all .12s}.composer-sticky-toggle:hover{border-color:var(--border-subtle);color:var(--text-primary)}.composer-sticky-toggle--on{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-editor-block--sticky{position:sticky;top:var(--sticky-top);z-index:30;background:var(--bg-surface);box-shadow:0 2px 8px #00000014}.report-fab.composer-save-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 16px);font-size:22px}.report-fab.composer-load-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 76px);font-size:20px}.report-fab.composer-arcanium-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 136px);font-size:20px}.report-fab.composer-arcanium-fab--active,.report-fab.composer-load-fab--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb);box-shadow:0 4px 12px #2563eb73}.report-fab.composer-config-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 76px);font-size:22px}.report-fab.composer-config-fab--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb);box-shadow:0 4px 12px #2563eb73}.report-fab.composer-save-selection-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 16px);right:84px;font-size:20px;background:var(--bg-elevated);border-color:var(--border-strong)}.report-fab.composer-save-selection-fab:hover{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.report-fab.composer-save-as-new-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 16px);right:84px;font-size:20px;background:var(--bg-elevated);border-color:var(--border-strong)}.report-fab.composer-save-as-new-fab--with-selection{right:144px}.report-fab.composer-save-as-new-fab:hover{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-save-selection-modal{width:min(480px,92vw)}.composer-save-selection__summary{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 14px}.composer-save-selection__field{display:flex;flex-direction:column;gap:8px}.composer-save-selection__input{padding:10px 14px;background:var(--bg-base);border:1px solid var(--border-strong);border-radius:8px;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.composer-save-selection__input:focus{outline:none;border-color:var(--accent-primary, #2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary, #2563eb) 25%,transparent)}.composer-save-selection__switch{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-primary)}.composer-save-selection__switch input[type=checkbox]{cursor:pointer}.composer-save-selection__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.composer-save-selection__actions .composer-load-item__btn{padding:8px 16px;font-size:var(--fs-sm)}.report-fab.composer-chord-browser-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 136px);font-size:22px}.report-fab.composer-chord-browser-fab--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb);box-shadow:0 4px 12px #2563eb73}.composer-chord-browser-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(960px,94vw);max-height:86vh;z-index:201;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 24px 60px #0009;overflow:hidden;animation:composerConfigModalIn .22s ease-out}.composer-chord-menu{position:fixed;z-index:220;width:380px;display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px #0006;animation:composerChordMenuIn .14s ease-out}@keyframes composerChordMenuIn{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.composer-chord-menu__head{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px}.composer-chord-menu__root{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary)}.composer-chord-menu__hint{font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.composer-chord-menu__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.composer-chord-menu__item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .12s}.composer-chord-menu__item:hover:not(:disabled){border-color:var(--accent-primary, #2563eb);transform:translateY(-1px);box-shadow:0 2px 6px #2563eb2e}.composer-chord-menu__item:disabled{opacity:.45;cursor:default}.composer-chord-menu__item svg{display:block;width:64px;height:auto;color:var(--text-primary);color:#cbd5e1}.composer-chord-menu__empty{width:64px;height:60px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.composer-chord-menu__label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-primary)}.composer-chord-menu__quality{font-size:10px;color:var(--text-tertiary);letter-spacing:.04em}.composer-chord-menu__power{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;transition:all .12s}.composer-chord-menu__power:hover{border-color:var(--accent-primary, #2563eb);background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-chord-menu__power-glyph{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary)}.composer-chord-menu__power:hover .composer-chord-menu__power-glyph{color:var(--text-primary)}.composer-chord-menu__power-label{font-size:var(--fs-xs, 12px);color:var(--text-secondary)}.composer-chord-menu__power:hover .composer-chord-menu__power-label{color:#ffffffd9}.composer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000009e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:composerOverlayIn .18s ease-out}@keyframes composerOverlayIn{0%{opacity:0}to{opacity:1}}.composer-save-as-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(680px,92vw);max-height:86vh;z-index:201;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 20px 48px #00000080;overflow:hidden;animation:composerLoadModalIn .18s ease-out}.composer-save-as-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.composer-save-as-modal__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.composer-save-as-modal__body{flex:1 1 auto;display:flex;flex-direction:column;gap:14px;padding:16px;min-height:0}.composer-save-as-modal__field{display:flex;flex-direction:column;gap:6px}.composer-save-as-modal__label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.composer-save-as-modal__input{padding:8px 12px;background:var(--bg-base);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-primary);font-size:var(--fs-md);outline:none;transition:border-color .12s,box-shadow .12s}.composer-save-as-modal__input:focus{border-color:var(--accent-primary, #2563eb);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary, #2563eb) 18%,transparent)}.composer-save-as-modal__picker{display:grid;grid-template-columns:220px 1fr;gap:12px;flex:1 1 auto;min-height:0}.composer-save-as-modal__sidebar{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 6px;overflow-y:auto}.composer-save-as-modal__summary{display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:14px 16px}.composer-save-as-modal__summary-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.composer-save-as-modal__summary-target{font-size:var(--fs-md);color:var(--text-primary);font-weight:600;line-height:1.4}.composer-save-as-modal__summary-suffix{color:var(--text-tertiary);font-weight:400;font-style:italic;font-size:var(--fs-sm)}.composer-save-as-modal__hint{margin:0;font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.4}.composer-save-as-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-subtle);background:var(--bg-elevated)}.composer-config-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(780px,92vw);max-height:calc(100vh - var(--header-height, 56px) - var(--player-bar-height, 100px) - 32px);z-index:201;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 24px 60px #0009;overflow:hidden;animation:composerConfigModalIn .22s ease-out}@keyframes composerConfigModalIn{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.composer-config-modal__head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-strong);background:var(--bg-elevated)}.composer-config-modal__title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text-primary)}.composer-config-modal__close{background:transparent;border:none;cursor:pointer;font-size:18px;color:var(--text-tertiary);padding:6px 10px;border-radius:6px;line-height:1}.composer-config-modal__close:hover{background:var(--bg-elevated);color:var(--text-primary)}.composer-config-modal__body{flex:1 1 auto;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:18px;background:var(--bg-surface)}.composer-harmo-panel{display:flex;flex-direction:column;gap:10px;padding:4px 0}.composer-harmo-panel__hint{margin:0;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4}.composer-harmo-panel__roles{display:flex;flex-wrap:wrap;gap:6px}.composer-harmo-role{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:var(--bg-surface);border:1.5px solid var(--border-strong);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:transform 80ms ease,background 80ms ease}.composer-harmo-role:hover{transform:translateY(-1px)}.composer-harmo-role--active{box-shadow:0 2px 6px #0000004d}.composer-harmo-role__label{font-size:var(--fs-sm)}.composer-harmo-role__count{font-size:var(--fs-xs);opacity:.75;font-variant-numeric:tabular-nums}.composer-harmo-role--erase{margin-left:auto;color:var(--text-secondary)}.composer-harmo-panel__total{font-size:var(--fs-sm);color:var(--text-secondary)}.composer-confirm-delete-modal{width:min(420px,92vw)}.composer-confirm-delete__message{margin:0;font-size:var(--fs-md);color:var(--text-primary);line-height:1.5}.composer-load-item__btn.composer-confirm-delete__btn--danger{background:var(--err);color:var(--text-primary);border-color:var(--err)}.composer-load-item__btn.composer-confirm-delete__btn--danger:hover{background:var(--err);border-color:var(--err)}.composer-config-section{display:flex;flex-direction:column;gap:14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;padding:16px 18px}.composer-config-section--no-title{padding-top:0}.composer-config-section__title{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.composer-config-section__row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.composer-config-field{display:flex;flex-direction:column;gap:8px;min-width:0}.composer-config-field__label{font-size:11px;font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.composer-config-section__head-with-action{display:flex;align-items:center;justify-content:space-between}.composer-load-modal{position:fixed;bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 196px);right:84px;width:820px;min-height:460px;max-height:78vh;z-index:105;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 20px 48px #00000080;overflow:hidden;animation:composerLoadModalIn .18s ease-out}@keyframes composerLoadModalIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.composer-load-modal__columns{display:flex;flex:1 1 auto;min-height:0}.composer-load-modal__sidebar{width:180px;flex-shrink:0;border-right:1px solid var(--border-subtle);background:var(--bg-base);padding:14px 8px;overflow-y:auto}.composer-load-modal__sidebar-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;padding:0 8px}.composer-load-modal__sidebar-title{margin:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.composer-load-modal__sidebar-create-wrap{position:relative}.composer-load-modal__sidebar-create-btn{width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-elevated);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;line-height:1;transition:background .12s,border-color .12s,transform .1s}.composer-load-modal__sidebar-create-btn:hover{background:var(--accent-primary, #2563eb);border-color:var(--accent-primary, #2563eb);color:var(--text-primary);transform:scale(1.05)}.composer-load-modal__create-menu{position:fixed;z-index:130;min-width:200px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:1px}.composer-load-modal__create-menu-title{margin:4px 8px 6px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-weight:600}.composer-load-modal__create-menu-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;background:transparent;border-radius:6px;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.composer-load-modal__create-menu-item:hover{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-load-modal__context-menu{position:fixed;z-index:130;min-width:180px;padding:6px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:1px}.composer-load-modal__context-menu-title{margin:4px 8px 6px;font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.composer-load-modal__context-menu-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;background:transparent;border-radius:6px;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.composer-load-modal__context-menu-item:hover{background:var(--bg-active)}.composer-load-modal__context-menu-item--danger{color:#f87171}.composer-load-modal__context-menu-item--danger:hover{background:#dc262626}.composer-load-modal__sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.composer-load-modal__sidebar-item{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.composer-load-modal__sidebar-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.composer-load-modal__sidebar-item--active{background:color-mix(in srgb,var(--accent-primary, #2563eb) 18%,transparent);border-color:color-mix(in srgb,var(--accent-primary, #2563eb) 50%,transparent);color:var(--text-primary);font-weight:600}.composer-load-modal__sidebar-icon{font-size:14px;flex-shrink:0}.composer-load-modal__sidebar-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-load-modal__sidebar-count{flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;padding:1px 7px;border-radius:10px;background:var(--bg-active);color:var(--text-tertiary);font-weight:500}.composer-load-modal__sidebar-item--active .composer-load-modal__sidebar-count{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-load-modal__sidebar-tree{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.composer-load-modal__sidebar-tree-item{position:relative}.composer-load-modal__sidebar-item--folder{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:500}.composer-load-modal__sidebar-folder-btn{flex:1;min-width:0;display:flex;align-items:center;gap:6px;padding:5px 6px 5px 0;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left;font-size:inherit;font-weight:inherit}.composer-load-modal__sidebar-actions{display:none;align-items:center;gap:2px;margin-right:4px}.composer-load-modal__sidebar-item--folder:hover .composer-load-modal__sidebar-actions,.composer-load-modal__sidebar-item--folder:focus-within .composer-load-modal__sidebar-actions{display:flex}.composer-load-modal__sidebar-action{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;border-radius:4px;color:var(--text-tertiary);font-size:11px;cursor:pointer;line-height:1}.composer-load-modal__sidebar-action:hover{background:var(--bg-active);color:var(--text-primary)}.composer-load-modal__sidebar-action--danger:hover{background:#dc262626;color:#f87171}.composer-load-modal__sidebar-add{display:block;width:calc(100% - 22px);margin-left:22px;padding:4px 8px;border:1px dashed var(--border-strong);border-radius:6px;background:transparent;color:var(--text-tertiary);font-size:11px;cursor:pointer;text-align:left;transition:border-color .12s,color .12s,background .12s}.composer-load-modal__sidebar-add:hover{border-color:var(--accent-primary, #2563eb);color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 8%,transparent)}.composer-load-modal__sidebar-create{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 0}.composer-load-modal__sidebar-input{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--accent-primary, #2563eb);border-radius:4px;background:var(--bg-base);color:var(--text-primary);font-size:var(--fs-xs);outline:none}.composer-load-item__btn--move{font-size:14px;padding:4px 8px}.composer-load-item__move-popover{position:absolute;right:10px;bottom:-4px;transform:translateY(100%);z-index:110;min-width:200px;max-height:280px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #00000073;padding:4px;display:flex;flex-direction:column;gap:1px}.composer-load-item__move-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;background:transparent;border-radius:6px;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.composer-load-item__move-item:hover:not(:disabled){background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-load-item__move-item:disabled{opacity:.45;cursor:default;background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent)}.composer-load-item__move-empty{margin:8px 12px;font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.4}.composer-load-modal__panel{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;min-height:0}.composer-load-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-strong);background:var(--bg-elevated)}.composer-load-modal__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.01em}.composer-load-modal__close{background:transparent;border:none;cursor:pointer;font-size:16px;color:var(--text-tertiary);padding:4px 8px;border-radius:4px;line-height:1}.composer-load-modal__close:hover{background:var(--bg-surface);color:var(--text-primary)}.composer-load-modal__toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.composer-load-modal__toolbar .composer-load-modal__search{flex:1;min-width:0}.composer-load-modal__import{padding:12px 14px;border-bottom:1px solid var(--border-subtle);background:var(--bg-elevated)}.composer-load-modal__import-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:8px;cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);transition:all .12s}.composer-load-modal__import-btn--compact{width:auto;flex-shrink:0;padding:6px 12px;font-size:var(--fs-xs);white-space:nowrap}.composer-load-modal__import-btn:hover{border-color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 8%,var(--bg-surface));color:var(--accent-primary, #2563eb)}.composer-load-modal__search{position:relative;display:flex;align-items:center;padding:0}.composer-load-modal__search-icon{position:absolute;left:10px;pointer-events:none;font-size:12px;opacity:.6}.composer-load-modal .composer-load-modal__search-input{width:100%;padding:8px 28px 8px 32px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;font-size:var(--fs-sm);color:var(--text-primary)}.composer-load-modal__search-input:focus{outline:none;border-color:var(--accent-primary, #2563eb)}.composer-load-modal__search-clear{position:absolute;right:18px;background:transparent;border:none;cursor:pointer;font-size:12px;color:var(--text-tertiary);padding:4px;border-radius:3px}.composer-load-modal__search-clear:hover{color:var(--text-primary)}.composer-load-modal__body{flex:1 1 auto;overflow-y:auto;padding:8px 0}.composer-load-modal__empty{padding:24px 16px;text-align:center;color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.composer-load-modal__list{list-style:none;margin:0;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.composer-load-item{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;transition:background .12s,border-color .12s,transform .1s}.composer-load-item:has(.composer-load-item__move-popover){z-index:50}.composer-load-item--selected{background:color-mix(in srgb,var(--accent-primary, #2563eb) 18%,var(--bg-elevated));border-color:var(--accent-primary, #2563eb)}.composer-load-item--selected:hover{background:color-mix(in srgb,var(--accent-primary, #2563eb) 28%,var(--bg-elevated))}.composer-load-item{cursor:grab}.composer-load-item:active{cursor:grabbing}.composer-load-item__rename-input{flex:1 1 auto;min-width:0;padding:2px 6px;border:1px solid var(--accent-primary, #2563eb);border-radius:4px;background:var(--bg-base);color:var(--text-primary);font-weight:var(--fw-semibold);font-size:var(--fs-sm);outline:none}.composer-load-modal__bulk-toolbar{display:flex;align-items:center;gap:8px;padding:8px 14px;background:color-mix(in srgb,var(--accent-primary, #2563eb) 14%,var(--bg-elevated));border-bottom:1px solid color-mix(in srgb,var(--accent-primary, #2563eb) 30%,transparent);font-size:var(--fs-sm)}.composer-load-modal__bulk-count{font-weight:var(--fw-semibold);color:var(--accent-secondary, var(--accent-primary, #2563eb));margin-right:auto}.composer-load-modal__bulk-move-wrap{position:absolute;top:110px;right:30px;z-index:120}.composer-load-modal__sidebar-item--drop-target{background:color-mix(in srgb,var(--accent-playback, #22c55e) 28%,transparent)!important;border-color:var(--accent-playback, #22c55e)!important;outline:2px dashed var(--accent-playback, #22c55e);outline-offset:-2px}.composer-load-item:hover{background:var(--bg-surface);border-color:var(--border-strong);transform:translateY(-1px)}.composer-load-item--fav{background:linear-gradient(180deg,#facc150f,#facc1505);border-color:#facc152e}.composer-load-item--fav:hover{background:linear-gradient(180deg,#facc151f,#facc150a)}.composer-load-item__star{background:transparent;border:none;cursor:pointer;font-size:18px;color:var(--text-tertiary);padding:2px 4px;border-radius:4px;line-height:1}.composer-load-item__star:hover{color:#facc15;background:#facc151a}.composer-load-item__star--on{color:#facc15}.composer-load-item__info{display:flex;flex-direction:column;gap:4px;min-width:0}.composer-load-item__row1{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.composer-load-item__name{flex:1 1 auto;min-width:0;font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer-load-item__date{flex-shrink:0;font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.composer-load-item__tracks{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.composer-load-item__instruments{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.composer-load-item__instrument-icon{width:22px;height:22px;-o-object-fit:contain;object-fit:contain;border-radius:4px;background:var(--bg-base);padding:1px;border:1px solid var(--border-subtle)}.composer-load-item__location{display:inline-block;width:-moz-fit-content;width:fit-content;font-size:10px;color:var(--accent-secondary, var(--accent-primary, #2563eb));background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent);padding:2px 8px;border-radius:10px;letter-spacing:.02em;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}.composer-load-item__actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;flex:0 0 auto;min-width:130px}.composer-load-item__btn{padding:5px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:5px;cursor:pointer;font-size:11px;font-weight:var(--fw-semibold);color:var(--text-primary);transition:all .12s}.composer-load-item__btn:hover{border-color:var(--border-strong)}.composer-load-item__btn--primary{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-load-item__btn--primary:hover{filter:brightness(1.08)}.composer-load-item__btn--danger{font-size:13px;padding:4px 8px}.composer-load-item__btn--danger:hover{border-color:var(--err);color:var(--err)}.composer-toast{position:fixed;bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 60px);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text-primary);z-index:110;animation:composerToastIn .25s ease-out}.composer-toast__icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:13px;color:var(--text-primary)}.composer-toast--success .composer-toast__icon{background:var(--ok)}.composer-toast--success{border-color:#22c55e66}.composer-toast--error .composer-toast__icon{background:var(--err)}.composer-toast--error{border-color:#dc262666}@keyframes composerToastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.composer-page{display:block;--composer-feature-bar-height: 0px;padding-bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height) + var(--space-5))}.composer-page--features-on{--composer-feature-bar-height: 52px}.composer-arrange-view{position:fixed;top:var(--sticky-top);left:0;right:0;bottom:calc(var(--player-bar-height, 100px));background:var(--bg-base);display:flex;align-items:center;justify-content:center;z-index:50;overflow:auto}.composer-arrange-view__placeholder{max-width:520px;padding:var(--space-6) var(--space-7);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;text-align:center;color:var(--text-primary);box-shadow:var(--shadow-lg)}.composer-arrange-view__placeholder h2{margin:0 0 var(--space-3);font-size:var(--fs-xl)}.composer-arrange-view__placeholder p{margin:var(--space-2) 0;color:var(--text-secondary)}.composer-arrange-view__hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.composer-arrange-view__hint code{background:var(--bg-active);padding:1px 6px;border-radius:4px;font-size:11px}.composer-subbar{display:flex;align-items:center;gap:0;background:var(--bg-surface);border-bottom:2px solid var(--border-strong);padding:0 var(--space-6);height:44px}.composer-subbar--sticky{position:sticky;top:var(--sticky-top);z-index:30}.composer-subbar__tab{height:44px;padding:0 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-weight:var(--fw-semibold);font-size:var(--fs-md);cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-2px}.composer-subbar__tab:hover{color:var(--text-primary)}.composer-subbar__tab--active{color:var(--accent-primary, #2563eb);border-bottom-color:var(--accent-primary, #2563eb);font-weight:var(--fw-semibold)}.composer-subbar__tab--disabled,.composer-subbar__tab:disabled{color:var(--text-tertiary);opacity:.45;cursor:default}.composer-subbar__tab--disabled:hover,.composer-subbar__tab:disabled:hover{color:var(--text-tertiary)}.composer-tab-panel{position:relative;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:var(--space-3) var(--space-6)}.composer-tab-panel--sticky{position:sticky;top:var(--sticky-top);z-index:29;box-shadow:0 2px 8px #0000000f}.composer-score-wrap{padding:0}.composer-score-wrap--hidden{visibility:hidden;height:0;overflow:hidden}.composer-scale-controls{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:6px 0}.composer-scale-controls__group+.composer-scale-controls__group{border-left:1px solid var(--border-subtle);padding-left:var(--space-4)}.composer-scale-controls__group{display:inline-flex;align-items:center;gap:10px}.composer-scale-controls__label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);font-weight:var(--fw-bold)}.composer-scale-controls .analysis-notes{gap:4px;align-items:flex-end}.composer-scale-controls__tonics{display:inline-flex;gap:2px}.composer-scale-controls__tonic{min-width:28px;height:26px;padding:0 6px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;font-size:11px;font-weight:var(--fw-medium);color:var(--text-primary);cursor:pointer}.composer-scale-controls__tonic:hover{border-color:var(--border-strong)}.composer-scale-controls__tonic--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-scale-controls__select{height:26px;padding:0 6px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:5px;color:var(--text-primary);font-size:11px;font-weight:var(--fw-medium);cursor:pointer}.composer-track-row{gap:6px}.playground-track-row__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playground-track-row__tuning{flex:0 0 auto;margin-left:8px;font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-tertiary)}.menu__label--track:has(.playground-track-row__name){display:flex;align-items:center;gap:6px}.composer-track-row__tuning{height:24px;padding:0 4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:11px;cursor:pointer;max-width:220px;flex:0 1 auto}.composer-string-edit{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:2px 4px;height:30px;border-radius:6px;background:transparent;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s,transform .08s;min-width:36px}.composer-string-edit:hover{background:var(--bg-elevated);border-color:var(--border-subtle)}.composer-string-edit__name{font-family:var(--font-mono, monospace);color:var(--text-tertiary);font-weight:var(--fw-bold);text-align:center;font-size:9px;letter-spacing:.04em;text-transform:uppercase;line-height:1}.composer-string-edit input{width:30px;height:18px;padding:0;margin:0;border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:3px;color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:12px;font-weight:var(--fw-bold);text-align:center;line-height:1;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;transition:all .12s}.composer-string-edit input::-webkit-outer-spin-button,.composer-string-edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.composer-string-edit input:focus{outline:none;border-color:var(--accent-primary, #2563eb)}.composer-string-edit--active{background:var(--accent-primary, #2563eb);border-color:var(--accent-primary, #2563eb);box-shadow:0 0 0 2px #2563eb40;transform:translateY(-1px)}.composer-string-edit--active .composer-string-edit__name{color:#ffffffe6}.composer-string-edit--active input{background:#fff;border-color:var(--text-primary);color:var(--accent-primary, #2563eb);font-weight:var(--fw-bold)}.composer-string-edit--has-note input{border-color:var(--accent-success, #16a34a);background:#16a34a14}.composer-string-edit--active.composer-string-edit--has-note input{background:#fff;border-color:var(--text-primary)}.composer-tempo-menu__row{display:flex;align-items:center;gap:4px;padding:8px 0}.composer-tempo-menu__input{flex:1;width:60px;padding:4px 6px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:var(--fs-sm);text-align:center}.composer-tempo-menu__input:focus{outline:1px solid var(--accent-primary, #2563eb)}.composer-score{position:relative;z-index:0;isolation:isolate}.composer-seq-item__date{color:var(--text-tertiary);font-size:var(--fs-xs, 12px);font-family:var(--font-mono, monospace)}.analysis-notes{display:flex;flex-wrap:wrap;gap:var(--space-3)}.analysis-note{display:flex;flex-direction:column;align-items:center;gap:4px}.analysis-piano-wrap{display:flex;justify-content:center}.analysis-piano-wrap>svg{width:auto;max-width:100%}.analysis-note__chip{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-md)}.analysis-note__degree{font-size:var(--fs-sm);color:var(--text-primary);font-family:var(--font-mono, monospace);font-weight:var(--fw-semibold)}.analysis-note__interval{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.analysis-chord-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.analysis-chord-table th,.analysis-chord-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border-subtle)}.analysis-chord-table th{color:var(--text-secondary);font-weight:var(--fw-semibold);font-size:var(--fs-xs, 12px);text-transform:uppercase;letter-spacing:.04em}.analysis-chord-table__roman{font-family:var(--font-mono, monospace);font-weight:var(--fw-bold);color:var(--text-primary);width:50px}.analysis-chord-table__symbol{width:70px;white-space:nowrap}.analysis-chord-table__quality{width:80px;color:var(--text-tertiary);font-size:var(--fs-xs, 12px);white-space:nowrap}.analysis-chord-table__notes{width:200px;min-width:200px;padding:6px 10px}.analysis-chord-table__intervals{width:130px;white-space:nowrap}.analysis-chord-table__interval{font-family:var(--font-mono, monospace);font-weight:var(--fw-bold);font-size:var(--fs-sm);margin-right:8px}.analysis-chord-table__interval:last-child{margin-right:0}.analysis-chord-table__play-cell{width:1%;text-align:right;white-space:nowrap}.analysis-chord-table__row--char{background:#facc1514}.analysis-chord-table__row--char .analysis-chord-table__roman{color:var(--harmony-tonic)}.analysis-chord-table__row{cursor:pointer;transition:background .1s}.analysis-chord-table__row:hover{background:var(--bg-elevated)}.analysis-chord-table__row--active{background:var(--bg-elevated);box-shadow:inset 3px 0 0 var(--text-primary)}.analysis-chord-table__row--active.analysis-chord-table__row--char{background:#facc152e;box-shadow:inset 3px 0 0 var(--harmony-tonic)}.analysis-chord-table__play{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:11px;cursor:pointer;transition:all .12s}.analysis-chord-table__play:hover{background:var(--accent-playback, #16a34a);color:var(--text-primary);border-color:var(--accent-playback, #16a34a)}.analysis-chord-note{font-family:var(--font-mono, monospace);margin-right:4px}.analysis-chord-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border-subtle);padding-bottom:8px}.analysis-chord-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);cursor:pointer;transition:all .12s;min-width:70px}.analysis-chord-tab:hover{border-color:var(--border-strong)}.analysis-chord-tab--active{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-base)}.analysis-chord-tab--char{border-color:var(--harmony-tonic)}.analysis-chord-tab--active.analysis-chord-tab--char{background:var(--harmony-tonic);color:var(--harmony-tonic-text)}.analysis-chord-tab--tf-T{box-shadow:inset 3px 0 0 var(--tonal-T)}.analysis-chord-tab--tf-SD{box-shadow:inset 3px 0 0 var(--tonal-SD)}.analysis-chord-tab--tf-D{box-shadow:inset 3px 0 0 var(--tonal-D)}.analysis-chord-tab--active.analysis-chord-tab--tf-T{background:var(--tonal-T);color:var(--tonal-T-text);border-color:var(--tonal-T);box-shadow:none}.analysis-chord-tab--active.analysis-chord-tab--tf-SD{background:var(--tonal-SD);color:var(--tonal-SD-text);border-color:var(--tonal-SD);box-shadow:none}.analysis-chord-tab--active.analysis-chord-tab--tf-D{background:var(--tonal-D);color:var(--tonal-D-text);border-color:var(--tonal-D);box-shadow:none}.analysis-chord-tab__function-badge{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.05em;opacity:.7;margin-top:2px}.tonal-function-banner{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px;border-radius:var(--radius-sm);background:var(--bg-elevated);font-size:var(--fs-sm);margin-top:var(--space-2)}.tonal-function-banner__pill{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:2px 6px;border-radius:4px;font-family:var(--font-mono, monospace);font-size:11px;font-weight:var(--fw-bold);letter-spacing:.05em}.tonal-function-banner__pill--T{background:var(--tonal-T);color:var(--tonal-T-text)}.tonal-function-banner__pill--SD{background:var(--tonal-SD);color:var(--tonal-SD-text)}.tonal-function-banner__pill--D{background:var(--tonal-D);color:var(--tonal-D-text)}.tonal-function-banner__pill--other{background:var(--harmony-other);color:var(--harmony-other-text)}.tonal-function-banner__label{font-weight:var(--fw-semibold);color:var(--text-primary)}.tonal-function-banner__desc{color:var(--text-secondary)}.tonal-function-legend{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.tonal-function-legend>summary{cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;list-style:revert}.tonal-function-legend__rows{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-2);font-size:var(--fs-xs);color:var(--text-secondary)}.tonal-function-legend__row{display:flex;align-items:center;gap:var(--space-2)}.tonal-function-legend__row strong{color:var(--text-primary)}.tonal-function-legend__cadence{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--border-subtle);display:flex;align-items:center;gap:4px;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-tertiary)}.tonal-function-legend__cadence-arrow{opacity:.5}.analysis-chord-tab__roman{font-family:var(--font-mono, monospace);font-weight:var(--fw-bold);font-size:var(--fs-sm)}.analysis-chord-tab__symbol{font-size:var(--fs-xs, 12px);opacity:.85}.analysis-chord-detail{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-2)}.analysis-chord-detail__head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.analysis-chord-detail__head h3{font-size:var(--fs-xl, 20px);font-weight:var(--fw-bold);margin:0}.analysis-chord-detail__notes{font-family:var(--font-mono, monospace);color:var(--text-secondary);font-size:var(--fs-sm)}.analysis-chord-detail__arpeggio-btn{margin-left:auto;padding:6px 14px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;transition:all .12s}.analysis-chord-detail__arpeggio-btn:hover{background:var(--accent-playback, #16a34a);color:var(--text-primary);border-color:var(--accent-playback, #16a34a)}.analysis-chord-detail__sub{font-size:var(--fs-xs, 12px);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:var(--space-2) 0 0}.scale-positions{display:flex;flex-direction:column;gap:var(--space-3)}.scale-position{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;padding:12px 14px}.scale-position__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:8px}.scale-position__head h3{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.scale-position__range{color:var(--text-tertiary);font-size:var(--fs-xs, 12px)}.scale-position__play{margin-left:auto;flex-shrink:0}.scale-position__diagrams{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:center}.arpeggio-positions{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3)}.arpeggio-position{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px}.arpeggio-position__label{font-size:var(--fs-xs, 12px);font-weight:var(--fw-semibold);color:var(--text-secondary);margin-bottom:4px}.arpeggio-position__label span{color:var(--text-tertiary);font-weight:var(--fw-regular)}.analysis-chord-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-3);max-width:calc(400px * 3 + var(--space-3) * 2)}.analysis-voicing{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.analysis-voicing__head{display:flex;align-items:center;gap:8px}.analysis-voicing__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);font-family:var(--font-mono, monospace)}.analysis-voicing__play{margin-left:auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:11px;cursor:pointer;transition:all .12s}.analysis-voicing__play:hover{background:var(--accent-playback, #16a34a);color:var(--text-primary);border-color:var(--accent-playback, #16a34a)}.analysis-voicing__diagrams{display:grid;grid-template-columns:auto auto;-moz-column-gap:8px;column-gap:8px;align-items:center}.analysis-voicing__chord{width:130px;background:#f5f5f5;border-radius:4px;padding:4px 6px}.analysis-voicing__chord svg{display:block;width:100%;height:auto}.chord-box{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px;width:150px}.chord-box__label{font-size:var(--fs-xs, 12px);font-weight:var(--fw-semibold);color:var(--text-secondary);text-align:center;margin-bottom:4px}.chord-progression-stack{display:flex;flex-direction:column;gap:var(--space-3)}.chord-track{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px}.chord-track__head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:8px}.chord-track__head h3{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.chord-track__instrument{font-size:var(--fs-xs, 12px);color:var(--text-tertiary);font-style:italic}.chord-track__count{margin-left:auto;font-size:var(--fs-xs, 12px);color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.chord-progression-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:8px}.chord-progression-toolbar__toggle{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs, 12px);color:var(--text-secondary);cursor:pointer}.chord-progression{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.chord-cell{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 8px;text-align:center;cursor:help;transition:border-color .12s,transform .1s}.chord-cell:hover{border-color:var(--border-strong);transform:translateY(-1px)}.chord-cell--empty{opacity:.5;background:transparent;border-style:dashed}.chord-cell__bar{font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono, monospace);margin-bottom:2px}.chord-cell__chord{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-primary)}.chord-cell__roman{font-size:11px;color:var(--harmony-tonic);font-family:var(--font-mono, monospace);font-weight:var(--fw-semibold);margin-top:2px}.chord-cell__secondary{font-size:10px;color:var(--harmony-seventh, #a855f7);font-family:var(--font-mono, monospace);font-weight:var(--fw-semibold);margin-top:2px;padding:1px 4px;background:color-mix(in srgb,var(--harmony-seventh, #a855f7) 12%,transparent);border-radius:3px;display:inline-block}.chord-cell--secondary{border-color:color-mix(in srgb,var(--harmony-seventh, #a855f7) 40%,var(--border-subtle))}.progression-examples{display:flex;flex-direction:column;gap:var(--space-3)}.progression-example{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px}.progression-example__head{display:flex;align-items:baseline;gap:var(--space-2)}.progression-example__label{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);font-family:var(--font-mono, monospace)}.progression-example__play{margin-left:auto;padding:4px 12px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-xs, 12px);cursor:pointer;transition:all .12s}.progression-example__play:hover{background:var(--accent-playback, #16a34a);color:var(--text-primary);border-color:var(--accent-playback, #16a34a)}.progression-example__desc{font-size:var(--fs-xs, 12px);color:var(--text-secondary);margin:4px 0 8px;line-height:1.45}.progression-example__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.progression-cell{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 8px;text-align:center}.progression-cell__bar{font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.progression-cell__chord{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text-primary);margin:2px 0}.progression-cell__notes{font-size:10px;color:var(--text-secondary);font-family:var(--font-mono, monospace)}.analysis__related-list{display:flex;flex-direction:column;gap:4px}.tonal-function-legend>.analysis__related-list{margin-top:var(--space-2)}.analysis__related-card{padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;font-size:var(--fs-xs, 12px);font-weight:var(--fw-medium);color:var(--text-primary);cursor:pointer;text-align:left;font-family:var(--font-mono, monospace);transition:all .12s}.analysis__related-card:hover{border-color:var(--border-strong)}.analysis__related-card--current{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.player-page__footer{background:var(--bg-surface);color:var(--text-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 24px 32px;margin:0;border-radius:0}.wordmark--lg{font-size:var(--fs-2xl);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-5);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs__tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:10px 18px;font-size:var(--fs-sm);font-weight:var(--fw-medium);font-family:inherit;color:var(--text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:color .12s,border-color .12s}.tabs__tab:hover{color:var(--text-primary)}.tabs__tab--active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.tabs__tab svg{opacity:.7;flex:0 0 auto}.tabs__tab--active svg,.tabs__tab:hover svg{opacity:1}.tabs__badge{min-width:18px;padding:1px 6px;border-radius:var(--radius-pill);background:var(--accent-danger, #ef4444);color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:10px;font-weight:var(--fw-bold);text-align:center}.profile__roles{max-width:none}.profile__roles-hint{color:var(--text-secondary);font-size:var(--fs-sm);margin:var(--space-2) 0 var(--space-4)}.profile__roles-error{color:var(--status-failed);font-size:var(--fs-sm);margin-bottom:var(--space-3)}.profile__roles-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.profile__roles-table th,.profile__roles-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.profile__roles-table th{color:var(--text-secondary);font-weight:var(--fw-semibold);text-transform:uppercase;font-size:var(--fs-xs, 12px);letter-spacing:.04em}.profile__roles-avatar{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.profile__roles-avatar--placeholder{background:var(--bg-elevated);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--fw-bold)}.profile__roles-self{color:var(--text-tertiary);font-weight:var(--fw-regular)}.profile__roles-email,.profile__roles-last,.profile__roles-sso{color:var(--text-secondary);font-feature-settings:"tnum"}.profile__roles-cell{display:flex;align-items:center;gap:8px;min-width:220px}.profile__roles-select{font:inherit;padding:6px 10px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer}.profile__roles-select:disabled{opacity:.45;cursor:default}.profile__roles-flash{color:#16a34a;font-size:var(--fs-xs, 12px);font-weight:var(--fw-semibold)}.player{position:fixed;left:0;right:0;bottom:0;background:var(--bg-surface);border-top:1px solid var(--border-subtle);z-index:100;box-shadow:var(--shadow-lg)}.player__left{display:flex;align-items:center;gap:var(--space-4);min-width:0}.player-qnav{display:flex;flex:none;border:1px solid var(--border-subtle);border-radius:9px;overflow:hidden}.player-qnav--off{opacity:.4;pointer-events:none}.player-qn{min-height:32px;display:inline-flex;align-items:center;padding:0 13px;background:var(--bg-elevated);border:none;color:var(--text-secondary);font-size:12px;font-weight:var(--fw-semibold);text-decoration:none;white-space:nowrap;transition:color .12s ease-out}.player-qn+.player-qn{border-left:1px solid var(--border-subtle)}.player-qn:hover{color:var(--text-primary)}.player-qn--on{background:var(--sect, var(--accent));color:#fff}@media (max-width: 900px){.player-qnav{display:none}}.composer-quicknav-btn--arrange .quicknav-btn__img{transform:translateY(2px)}.quicknav-btn{position:relative;width:var(--quicknav-size);height:var(--quicknav-size);border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);transition:transform .15s ease-out,border-color .15s,box-shadow .18s;overflow:visible;text-decoration:none}.quicknav-btn:hover{transform:translateY(-2px);border-color:var(--text-tertiary)}.quicknav-btn__img{width:72%;height:72%;-o-object-fit:contain;object-fit:contain;display:block;pointer-events:none}.quicknav-btn--active{border-color:#fbbf24;z-index:1}.quicknav-btn--active:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;background:conic-gradient(from 0deg,#ef4444,#f97316,#fbbf24,#f97316,#ef4444 360deg);filter:blur(3.5px);opacity:.7;z-index:-1;-webkit-mask:radial-gradient(circle,transparent 70%,#000 80%);mask:radial-gradient(circle,transparent 70%,#000 80%);animation:quicknavFlamesRotate 7s linear infinite,quicknavFlamesFlicker 1.4s ease-in-out infinite}.quicknav-btn--active:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:1px solid #fbbf24;box-shadow:0 0 5px #fbbf24b3,0 0 12px #f9731680,0 0 22px #ef444466;animation:quicknavRingPulse 3.2s ease-in-out infinite;pointer-events:none}@keyframes quicknavFlamesRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes quicknavFlamesFlicker{0%,to{opacity:.7;filter:blur(3.5px)}35%{opacity:.85;filter:blur(4px)}60%{opacity:.62;filter:blur(3px)}85%{opacity:.8;filter:blur(3.8px)}}@keyframes quicknavRingPulse{0%,to{box-shadow:0 0 5px #fbbf24b3,0 0 12px #f9731680,0 0 22px #ef444466}50%{box-shadow:0 0 8px #fbbf24e6,0 0 18px #f97316b3,0 0 30px #ef44448c}}.player__bar{height:var(--player-height);display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-6);align-items:center;padding:0 var(--space-6)}.player__center{display:flex;align-items:center;gap:var(--space-5);justify-self:center}.player__menus{display:flex;align-items:center;gap:var(--space-5);justify-self:end}@media (max-width: 768px){.player__bar{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:0 var(--space-3)}.player__menus{display:none}}.player__song{display:flex;gap:var(--space-3);align-items:center;min-width:0}.player__cover{width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,#ff6b35,#f7931e,#ee2c41 70%,#6e1c47);flex-shrink:0;box-shadow:var(--shadow-sm)}.player__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.player__artist{font-weight:var(--fw-bold);font-size:var(--fs-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player__title{color:var(--text-secondary);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player__transport{display:flex;align-items:center;gap:var(--space-3)}.btn-circle{width:44px;height:44px;border-radius:50%;background:var(--text-primary);color:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);transition:transform .1s}.btn-circle:hover{transform:scale(1.05)}.btn-circle--lg{width:48px;height:48px;font-size:var(--fs-lg)}.btn-circle--play{background:var(--text-primary)}.play-triangle{display:inline-block;transform:translate(2px,-3px)}.pause-bars{display:inline-block;transform:translateY(-2px)}.btn-circle--stop{width:34px;height:34px;font-size:var(--fs-sm)}.btn-circle--stop-armed{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb);animation:composerStopPulse 1.5s ease-out}@keyframes composerStopPulse{0%{box-shadow:0 0 #2563eb8c;transform:scale(1)}35%{box-shadow:0 0 0 12px #2563eb00;transform:scale(1.08)}to{box-shadow:0 0 #2563eb00;transform:scale(1)}}.player__rehearsal{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-sm);flex-wrap:wrap}.player-acts{display:flex;height:44px;flex:none;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated);overflow:hidden}.player-act{position:relative;width:46px;height:100%;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;color:var(--text-secondary);cursor:pointer}.player-act+.player-act{border-left:1px solid var(--border-subtle)}.player-act:active{background:#ffffff0f}.player-act:disabled{opacity:.45;cursor:default}.player-act__ic{width:19px;height:19px}.player-act__lvl{position:absolute;bottom:4px;font-family:var(--font-mono);font-size:8px;font-weight:700;line-height:1;opacity:.85}.player-act--on-click{background:#2ecc71;color:#0c0c0c}.player-act--on-count{background:#ff851b;color:#0c0c0c}.player-act--on-loop{background:#1ab7b0;color:#0c0c0c}.player-act--on-neck{background:#b06cf0;color:#0c0c0c}.player__transport .btn-circle--play{background:color-mix(in srgb,var(--accent) 26%,var(--bg-elevated));border:1px solid var(--accent);color:var(--text-primary)}.player__transport .btn-circle--play:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 40%,var(--bg-elevated))}.player__transport .btn-circle--stop{background:var(--bg-surface);border:2px solid color-mix(in srgb,var(--text-secondary) 55%,transparent);color:var(--text-secondary)}.player__transport .btn-circle--stop:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-primary)}.player-pill{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-elevated);color:var(--text-secondary);font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:border-color .12s ease-out,color .12s ease-out}.player-pill:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.player-pill--on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border-subtle));background:color-mix(in srgb,var(--accent) 14%,var(--bg-elevated))}.player-pill:disabled{opacity:.45;cursor:default}.tempo-field{display:flex;align-items:center;gap:7px;flex:none;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-secondary);cursor:text}.tempo-field--off{opacity:.45;pointer-events:none}.tempo-field__label{display:flex;flex-direction:column;line-height:1.1}.tempo-field__label small{font-size:8.5px;font-weight:700;letter-spacing:.06em;color:var(--accent);margin-top:1px}.tempo-field__box{position:relative;display:flex;align-items:stretch}.tempo-field__box input{width:58px;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:4px 16px 4px 18px}.tempo-field__box input:focus{outline:none;border-color:var(--accent)}.tempo-field__box input::-webkit-inner-spin-button,.tempo-field__box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tempo-field__box input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.tempo-field__dot{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.45;pointer-events:none}.tempo-field__dot--beating{opacity:1;animation:player-beat .5s linear infinite}@media (prefers-reduced-motion: reduce){.tempo-field__dot--beating{animation:none}}.tempo-field__steppers{position:absolute;right:1px;top:1px;bottom:1px;width:15px;display:flex;flex-direction:column}.tempo-field__step{flex:1;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:7px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.tempo-field__step:hover{color:var(--accent)}.player-info{display:flex;align-items:stretch;height:44px;flex:none;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-elevated);overflow:hidden}.player-inf{display:flex;align-items:center;gap:7px;padding:0 13px;color:var(--text-secondary);font-family:var(--font-mono);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.player-bpm-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);animation:player-beat .5s linear infinite}@keyframes player-beat{0%{opacity:1;box-shadow:0 0 9px 2px currentColor}35%{opacity:.25;box-shadow:none}to{opacity:.25}}@media (prefers-reduced-motion: reduce){.player-bpm-dot{animation:none;opacity:1}}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.4;transition:all .15s;white-space:nowrap}.chip>svg{flex:none}.chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.chip--active{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-strong)}.chip--xs{padding:3px 8px;font-size:var(--fs-xs)}.player-icon-btn{position:relative;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;padding:0;transition:background .15s,border-color .15s,transform .1s;background:#fff;border-color:var(--border-subtle)}.player-icon-btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-subtle);background:#d8dde4;border-color:#6b7280}.player-icon-btn:active:not(:disabled){transform:scale(.95)}.player-icon-btn:disabled{opacity:.45;cursor:default}.player-icon-btn--active{background:#fff;border-color:var(--border-strong)}.player-icon-btn--active:hover:not(:disabled){background:#fff;border-color:var(--text-primary)}.player-icon{width:22px;height:22px;-o-object-fit:contain;object-fit:contain;pointer-events:none}.player-icon-btn__badge{position:absolute;bottom:-2px;right:-2px;font-size:9px;font-weight:var(--fw-bold);background:var(--accent-playback);color:var(--text-on-accent);padding:1px 4px;border-radius:var(--radius-pill);line-height:1}.player__group{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}.dropdown{width:30px;height:30px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-sm);transition:all .15s}.dropdown:hover{color:var(--text-primary);border-color:var(--border-strong)}.dropdown:disabled{opacity:.45;cursor:default}.dropdown--labeled{width:auto;padding:0 var(--space-2);gap:var(--space-2);color:var(--text-primary);font-weight:var(--fw-medium);font-family:var(--font-mono)}.dropdown__caret{font-size:10px;color:var(--text-tertiary)}.menu-anchor{position:relative}.menu{position:absolute;bottom:calc(100% + var(--space-2));right:0;min-width:180px;max-height:320px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:50;list-style:none;margin:0}.menu--wide{min-width:280px}.menu--speed{min-width:320px;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.menu__speed-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm)}.menu__speed-label{color:var(--text-secondary)}.menu__speed-value{font-weight:var(--fw-bold);color:var(--text-primary);font-variant-numeric:tabular-nums}.menu__speed-slider{-webkit-appearance:none;width:100%;height:4px;background:var(--bg-elevated);border-radius:var(--radius-pill);outline:none}.menu__speed-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent-playback);border-radius:50%;cursor:pointer;border:none}.menu__speed-slider::-moz-range-thumb{width:14px;height:14px;background:var(--accent-playback);border-radius:50%;cursor:pointer;border:none}.menu__speed-presets{display:flex;gap:4px;flex-wrap:nowrap;justify-content:space-between;margin-top:var(--space-1)}.menu__speed-presets .chip{white-space:nowrap;flex:0 0 auto}.menu li{list-style:none;margin:0}.menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-primary);font-size:var(--fs-sm);text-align:left;cursor:pointer}.menu__item:hover{background:var(--bg-elevated)}.menu__dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);flex-shrink:0}.menu__dot--on{background:var(--accent-playback)}.menu__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu__row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm)}.menu__row:hover{background:var(--bg-elevated)}.menu__label--track{color:var(--text-primary);font-size:var(--fs-sm)}.menu__toggle{width:26px;height:22px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:var(--fw-bold);font-family:var(--font-mono);cursor:pointer;transition:all .15s;flex-shrink:0}.menu__toggle:hover{color:var(--text-primary);border-color:var(--border-strong)}.menu__toggle--mute-on{background:color-mix(in srgb,var(--status-failed) 20%,transparent);color:var(--status-failed);border-color:color-mix(in srgb,var(--status-failed) 50%,transparent)}.menu__toggle--solo-on{background:color-mix(in srgb,var(--accent-playback) 20%,transparent);color:var(--accent-playback);border-color:color-mix(in srgb,var(--accent-playback) 50%,transparent)}.menu__indicator{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;border-radius:4px;font-size:10px;font-weight:var(--fw-bold);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu__indicator--mute{background:#dc2626d9;color:var(--text-primary)}.menu__indicator--solo{background:#f59e0bd9;color:var(--text-primary)}.menu__row--presets{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.menu__row--presets:hover{background:transparent}.menu__presets-label{font-size:var(--fs-xs);color:var(--text-tertiary);margin-right:var(--space-1)}.menu__preset-btn{padding:2px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;transition:all .15s}.menu__preset-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-elevated)}.player__progress{height:var(--player-progress);background:color-mix(in srgb,var(--sect, var(--accent)) 26%,var(--bg-elevated));position:relative;overflow:hidden}.player__progress-fill{height:100%;background:var(--sect, var(--accent));position:relative;transition:width .1s linear}.player__progress-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--accent-playback);border-radius:50%;box-shadow:0 0 10px var(--accent-playback)}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2)}.filter-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-tertiary);text-transform:uppercase}.pill-group{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:4px 10px;border-radius:var(--radius-pill);background:var(--bg-elevated);font-size:var(--fs-sm);color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;transition:all .15s}.pill:hover{color:var(--text-primary);border-color:var(--border-strong)}.pill--active{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary)}.star-filter{display:flex;gap:4px;align-items:center;padding-top:4px}.star{font-size:var(--fs-2xl);color:var(--text-tertiary);cursor:pointer;transition:transform .15s;line-height:1}.star:hover{transform:scale(1.15)}.star--todo{color:var(--star-todo)}.star--learning{color:var(--star-learning)}.star--learned{color:var(--star-learned)}.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:var(--space-5);padding:0 var(--space-6)}.catalogue-empty{padding:0 var(--space-6)}.catalogue-empty__card{max-width:600px;margin:0 auto;text-align:center}.song-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:visible;transition:transform .15s,border-color .15s,box-shadow .15s;cursor:pointer;position:relative;box-shadow:var(--shadow-sm)}.song-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-lg)}.song-card__top{display:grid;grid-template-columns:88px 1fr;gap:var(--space-4);padding:var(--space-4)}.song-card__cover-wrap{position:relative;width:88px;height:88px;padding:0;border:none;background:transparent;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;display:block;transition:transform .15s ease}.song-card__cover-wrap:disabled{cursor:default}.song-card__cover-wrap:not(:disabled):hover{transform:scale(1.04)}.song-card__cover-wrap:not(:disabled):active{transform:scale(.98)}.song-card__cover{width:88px;height:88px;border-radius:var(--radius-md);flex-shrink:0;-o-object-fit:cover;object-fit:cover;background:linear-gradient(135deg,#ff6b35,#f7931e,#ee2c41 60%,#6e1c47);display:block}.song-card__cover--placeholder{background:var(--bg-elevated);border:1px dashed var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--fs-2xl)}.song-card__play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;color:var(--text-primary);opacity:0;pointer-events:none;transition:opacity .15s ease;border-radius:var(--radius-md)}.song-card__cover-wrap:not(:disabled):hover .song-card__play-overlay,.song-card__cover-wrap:not(:disabled):focus-visible .song-card__play-overlay,.song-card__cover-wrap--playing .song-card__play-overlay{opacity:1}.song-card__cover-wrap--playing .song-card__play-overlay{background:#0000008c}.song-card__play-overlay svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.song-card__info{display:flex;flex-direction:column;gap:2px}.song-card__title{font-size:var(--fs-md);font-weight:var(--fw-bold);margin-right:var(--space-8)}.song-card__artist{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:var(--fs-sm)}.song-card__artist-photo{width:20px;height:20px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.song-card__meta{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--text-secondary)}.song-card__meta strong{color:var(--text-primary);font-weight:var(--fw-medium)}.song-card__star{position:absolute;top:var(--space-3);right:var(--space-3);font-size:var(--fs-2xl);line-height:1}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);margin-top:2px}.badge--ok{background:#22c55e1f;color:var(--ok)}.tab-placeholder{background:var(--alphatab-bg);border-radius:var(--radius-lg);padding:var(--space-8);font-family:var(--font-mono);font-size:var(--fs-base);line-height:1.6;color:var(--alphatab-note);border:1px solid var(--border-subtle);min-height:480px;white-space:pre;overflow-x:auto}.tab-placeholder__measure{font-family:var(--font-sans);font-style:italic;color:var(--text-tertiary);display:block;margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-sm)}.tab-placeholder hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-5) 0}.tab-placeholder__cursor{display:inline-block;width:2px;height:1em;background:var(--alphatab-cursor);vertical-align:middle;animation:pulse 1.2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.alphatab-wrap{position:relative;width:100%;min-height:240px;background:var(--alphatab-bg);isolation:isolate}.alphatab-surface{width:100%;min-height:240px}.alphatab-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-secondary);font-size:var(--fs-sm);pointer-events:none;z-index:1}.alphatab-loading__dot{width:10px;height:10px;border-radius:50%;background:var(--accent-playback);animation:pulse 1.2s infinite ease-in-out}div.at-cursor-bar{background-color:color-mix(in srgb,var(--alphatab-cursor) 20%,transparent)!important;z-index:1!important}div.at-cursor-beat{background-color:var(--alphatab-cursor)!important;z-index:1!important}.at-selection div{background-color:color-mix(in srgb,var(--alphatab-cursor) 12%,transparent);z-index:1!important}.analysis{display:grid;grid-template-columns:280px 1fr;gap:var(--space-6)}.analysis__sidebar{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5);align-self:start;position:sticky;top:calc(var(--header-height) + var(--space-6))}.analysis__section{display:flex;flex-direction:column;gap:var(--space-2)}.tonic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tonic-btn{padding:8px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);text-align:center;font-weight:var(--fw-semibold);font-size:var(--fs-sm);cursor:pointer;transition:all .15s}.tonic-btn:hover{border-color:var(--border-strong)}.tonic-btn--active{background:var(--fn-tonic);color:#fff;border-color:var(--fn-tonic)}select,input[type=text],input[type=number]{padding:8px 12px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);font:inherit;font-size:var(--fs-sm);width:100%}select:focus,input:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.intervals{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary)}.octave-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.octave-btn{padding:8px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-weight:var(--fw-semibold);cursor:pointer;transition:all .15s}.octave-btn--active{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary)}.btn{padding:10px 16px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);font-weight:var(--fw-medium);font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;transition:all .15s}.btn:hover{border-color:var(--border-strong)}.btn--primary{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary);font-weight:var(--fw-semibold)}.btn--primary:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.btn--block{width:100%;justify-content:center}.btn--lg{padding:12px 20px;font-size:var(--fs-base)}.btn--sm{padding:4px 10px;font-size:var(--fs-xs)}.btn--danger{background:color-mix(in srgb,var(--status-failed) 18%,transparent);border-color:color-mix(in srgb,var(--status-failed) 50%,transparent);color:var(--status-failed)}.btn--danger:hover{background:color-mix(in srgb,var(--status-failed) 28%,transparent)}.btn:disabled{opacity:.45;cursor:default}.anchors-table{width:100%;border-collapse:collapse;margin-top:var(--space-3);font-size:var(--fs-sm)}.anchors-table th,.anchors-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle)}.anchors-table th{font-weight:var(--fw-semibold);color:var(--text-secondary);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase}.anchors-table input[type=number]{width:130px;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--fs-sm)}.admin-sync__sticky{position:sticky;top:var(--sticky-top);z-index:20;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-5);box-shadow:var(--shadow-md)}.admin-sync__row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.admin-sync__counters{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.admin-sync__counters strong{display:inline-block;min-width:78px;text-align:right;font-variant-numeric:tabular-nums}.admin-sync__counters-sep{color:var(--text-tertiary)}.admin-sync__apply-toggle{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-sync__apply-toggle input{cursor:pointer}.admin-sync__shift{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}.admin-sync__shift-label{color:var(--text-tertiary);font-size:var(--fs-xs);margin-right:var(--space-2)}.admin-sync__shift .btn--sm{font-family:var(--font-mono);min-width:50px;justify-content:center}.admin-sync__anchors{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.admin-sync__anchors-toggle{display:inline-flex;align-items:center;gap:var(--space-2);background:transparent;border:none;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;padding:0}.admin-sync__anchors-toggle:hover{color:var(--text-primary)}.admin-sync__last-anchor{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-xs)}.admin-sync__anchors .anchors-table{margin-top:var(--space-2)}.analysis__main{display:flex;flex-direction:column;gap:var(--space-5)}.scale-header{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.scale-title{font-size:var(--fs-3xl);font-weight:var(--fw-bold)}.scale-tag{padding:4px 12px;border-radius:var(--radius-pill);background:var(--fn-tonic);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em}.card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-5)}.card__title{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:var(--space-4)}.notes-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.note-cell{display:flex;flex-direction:column;align-items:center;gap:4px}.note-pill{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);color:#fff;font-size:var(--fs-md)}.note-interval{font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono)}.note-pill--tonic{background:var(--fn-tonic)}.note-pill--third{background:var(--fn-third)}.note-pill--fifth{background:var(--fn-fifth)}.note-pill--seventh{background:var(--fn-seventh)}.note-pill--other{background:var(--fn-other)}.diagrams{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-5)}.legend{display:flex;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--fs-xs);color:var(--text-secondary);flex-wrap:wrap}.legend__dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:middle}.code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);background:var(--bg-base);padding:4px 8px;border-radius:4px;display:inline-block}.form{display:grid;gap:var(--space-5);max-width:720px}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-tertiary);text-transform:uppercase}.field__hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.dropzone{padding:var(--space-8);border-radius:var(--radius-lg);border:2px dashed var(--border-strong);text-align:center;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.dropzone:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-elevated)}.dropzone__icon{font-size:var(--fs-3xl);margin-bottom:var(--space-2)}.dropzone__main{font-weight:var(--fw-semibold);margin-bottom:4px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.range-row{display:flex;gap:var(--space-3);align-items:center}.range-row input[type=range]{flex:1}.range-row__value{font-weight:var(--fw-bold);color:var(--accent-primary);font-size:var(--fs-lg);min-width:30px;text-align:right}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.stat-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-5)}.stat-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:var(--space-2)}.stat-value{font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:1}.stat-trend{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:var(--space-2)}.stat-trend--ok{color:var(--status-ready)}.table-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);overflow:hidden}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm)}.table th{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;background:var(--bg-base)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--bg-elevated)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.status-dot--ready{background:var(--status-ready)}.status-dot--processing{background:var(--status-processing);animation:pulse 1.5s infinite}.status-dot--failed{background:var(--status-failed)}.status-dot--queued{background:var(--status-queued)}.actions{display:flex;gap:var(--space-2)}.btn--icon{padding:6px 10px;font-size:var(--fs-xs)}.harmony-table{width:100%;border-collapse:separate;border-spacing:0}.harmony-table th,.harmony-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle);font-size:var(--fs-sm);vertical-align:middle}.harmony-table th{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.harmony-table tr:last-child td{border-bottom:none}.harmony-table tr.is-tonic{background:#6366f114}.harmony-table tr.is-characteristic{background:#f59e0b0f}.harmony-table tr:hover td{background:var(--bg-elevated)}.harmony-table tr.is-tonic:hover td{background:#6366f124}.degree-pill{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 var(--space-2);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-weight:var(--fw-bold);font-size:var(--fs-sm);font-family:var(--font-mono);color:var(--text-primary)}.degree-pill--tonic{background:var(--fn-tonic);color:#fff;border-color:var(--fn-tonic)}.degree-pill--characteristic{background:var(--fn-fifth);color:#fff;border-color:var(--fn-fifth)}.note-mini{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;font-size:var(--fs-xs);font-weight:var(--fw-bold);background:var(--bg-elevated);color:var(--text-primary);margin-right:3px;font-family:var(--font-mono)}.note-mini--tonic{background:var(--fn-tonic);color:#fff}.note-mini--third{background:var(--fn-third);color:#fff}.note-mini--fifth{background:var(--fn-fifth);color:#fff}.note-mini--seventh{background:var(--fn-seventh);color:#fff}.arpeggio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.arpeggio{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .15s,transform .15s}.arpeggio:hover{border-color:var(--border-strong);transform:translateY(-1px)}.arpeggio--tonic{border-color:var(--fn-tonic);border-width:2px;padding:calc(var(--space-4) - 1px)}.arpeggio--characteristic{border-color:var(--fn-fifth);border-width:2px;padding:calc(var(--space-4) - 1px)}.arpeggio__title{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-md);font-weight:var(--fw-bold)}.arpeggio__degree{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:var(--fw-regular)}.arpeggio__notes{display:flex;gap:2px;flex-wrap:wrap}.related-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.related-modes li{padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s}.related-modes li:hover{border-color:var(--border-strong);color:var(--text-primary)}.related-modes li strong{color:var(--text-primary);display:block;margin-bottom:2px}.related-modes li.is-current{background:#6366f114;border-color:var(--fn-tonic);color:var(--text-primary);cursor:default}.related-modes li.is-current strong{color:var(--fn-tonic)}.chord-detail__header{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.chord-tabs{display:flex;gap:var(--space-1);flex-wrap:wrap}.chord-tab{padding:6px 12px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;transition:all .15s}.chord-tab:hover{color:var(--text-primary);border-color:var(--border-strong)}.chord-tab.is-active{background:var(--fn-tonic);color:#fff;border-color:var(--fn-tonic)}.chord-tab.is-active.is-characteristic{background:var(--fn-fifth);border-color:var(--fn-fifth)}.chord-tab__degree{font-family:var(--font-mono);opacity:.8;margin-right:6px}.chord-detail__row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border-subtle)}.chord-detail__row:last-child{border-bottom:none;padding-bottom:0}.chord-detail__row:first-of-type{padding-top:0}.chord-detail__subtitle{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.06em;color:var(--text-tertiary);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.staff-mini{width:100%;height:auto;background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-3);border:1px solid var(--border-subtle)}.position-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3)}.position{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.position__header{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.06em;color:var(--text-secondary);text-transform:uppercase;font-family:var(--font-mono)}.position__play{width:28px;height:28px;border-radius:50%;background:var(--accent-primary);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-size:11px;border:none;cursor:pointer;transition:transform .1s}.position__play:hover{transform:scale(1.08)}.fretboard-mini{width:100%;height:auto;display:block}.neck-panel{position:sticky;top:var(--sticky-top);z-index:28;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:8px var(--space-6);box-shadow:0 2px 8px #0000000d}.neck-legend{position:absolute;top:8px;right:var(--space-4);z-index:30}.composer-panel-header{position:absolute;top:8px;left:var(--space-4);z-index:30;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.composer-panel-header__btn{width:28px;height:28px;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:all .12s;box-shadow:0 2px 6px #0003}.composer-panel-header__btn:hover{background:var(--bg-surface);border-color:var(--text-tertiary);transform:scale(1.05)}.composer-panel-header__btn--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-chords-panel{display:flex;flex-direction:column;gap:8px;padding:8px 12px 8px 48px;max-height:280px;overflow-y:auto}.composer-chords-panel__head{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}.composer-chords-panel__mode-toggle{display:inline-flex;border:1px solid var(--border-strong);border-radius:14px;overflow:hidden;background:var(--bg-elevated);flex-shrink:0}.composer-chords-panel__mode{padding:3px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:background .12s,color .12s}.composer-chords-panel__mode:hover{color:var(--text-primary)}.composer-chords-panel__mode--active{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-chords-panel__enrich{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-tertiary)}.composer-chords-panel__enrich-label{text-transform:uppercase;letter-spacing:.06em;font-weight:600}.composer-chords-panel__enrich-btn{padding:3px 8px;border-radius:4px;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.composer-chords-panel__enrich-btn:hover{border-color:var(--text-tertiary)}.composer-chords-panel__enrich-btn--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.composer-chords-panel__head-controls{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.composer-chords-panel__voicings-count{font-variant-numeric:tabular-nums;color:var(--text-tertiary);font-size:11px;white-space:nowrap}.composer-chords-panel__filter-reset-icon{width:24px;height:24px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--accent-primary, #2563eb);font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s}.composer-chords-panel__filter-reset-icon:hover{background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent);border-color:var(--accent-primary, #2563eb)}.composer-chords-panel__filter-trigger{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.composer-chords-panel__filter-trigger:hover{border-color:var(--border-strong);color:var(--text-primary)}.composer-chords-panel__filter-trigger--open{background:color-mix(in srgb,var(--accent-primary, #2563eb) 8%,transparent);border-color:var(--border-strong);color:var(--text-primary)}.composer-chords-panel__filter-trigger--active{color:var(--accent-primary, #2563eb);font-weight:600}.composer-chords-panel__filter-caret{font-size:10px;opacity:.7}.composer-chords-panel__filter-reset{display:inline-flex;align-items:center;gap:2px;background:none;border:none;padding:2px 4px;border-radius:4px;color:var(--accent-primary, #2563eb);font-size:11px;font-weight:500;cursor:pointer;text-decoration:underline;transition:opacity .12s}.composer-chords-panel__filter-reset:hover{opacity:.7}.composer-chords-panel__filter-popover{position:fixed;z-index:50;min-width:280px;max-width:360px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 8px 24px #0000002e,0 2px 6px #0000001a;display:flex;flex-direction:column;gap:8px}.composer-chords-panel__filter-popover-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.composer-chords-panel__filter-popover-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.composer-chords-panel__filter-grid{display:flex;flex-direction:column;gap:4px}.composer-chords-panel__filter-row{display:flex;align-items:center;gap:6px;font-size:11px}.composer-chords-panel__filter-row-label{width:42px;flex-shrink:0;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600;color:var(--text-tertiary)}.composer-chords-panel__filter-btn{padding:3px 8px;border-radius:4px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .12s}.composer-chords-panel__filter-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.composer-chords-panel__filter-btn--active{border-color:var(--accent-primary, #2563eb);color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent);text-decoration:underline;text-underline-offset:2px}.composer-chords-panel__empty-reset{background:none;border:none;color:var(--accent-primary, #2563eb);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.composer-chords-panel__pills{display:flex;gap:4px}.composer-chords-panel__pill{width:56px;display:flex;flex-direction:column;align-items:center;gap:0;padding:3px 4px;border-radius:6px;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .12s}.composer-chords-panel__pill:hover{border-color:var(--text-tertiary)}.composer-chords-panel__pill--active{background:color-mix(in srgb,var(--accent-primary, #2563eb) 22%,var(--bg-elevated));border-color:var(--accent-primary, #2563eb)}.composer-chords-panel__pill-roman{font-size:9px;font-weight:600;color:var(--text-tertiary);text-transform:lowercase;letter-spacing:.06em;line-height:1.1}.composer-chords-panel__pill--active .composer-chords-panel__pill-roman{color:var(--accent-secondary, var(--accent-primary, #2563eb))}.composer-chords-panel__pill-symbol{font-size:11px;font-weight:700;line-height:1.15}.composer-chords-panel__voicings{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}.composer-chords-panel__voicing{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px 2px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .12s}.composer-chords-panel__voicing:hover{border-color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 10%,var(--bg-elevated))}.composer-chords-panel__voicing svg{display:block;width:60px;height:auto;color:var(--text-primary);color:#cbd5e1}.composer-chords-panel__voicing--open{border-color:#22c55e;box-shadow:0 0 0 1px #22c55e40}.composer-chords-panel__voicing--open:hover{border-color:#16a34a;background:color-mix(in srgb,#22c55e 12%,var(--bg-elevated))}.composer-chords-panel__open-badge{position:absolute;top:2px;right:4px;font-size:11px;font-weight:700;color:#16a34a;line-height:1;pointer-events:none}.composer-chords-panel__voicing{position:relative}.composer-chords-panel__voicing-label{font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:lowercase;color:var(--text-secondary)}.composer-chords-panel__empty{margin:0;padding:14px;font-size:var(--fs-sm);color:var(--text-tertiary);font-style:italic}.composer-chords-panel__power-insert{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:1.5px solid var(--accent-primary, #2563eb);border-radius:10px;background:color-mix(in srgb,var(--accent-primary, #2563eb) 14%,var(--bg-elevated));color:var(--text-primary);font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:all .12s;align-self:flex-start}.composer-chords-panel__power-insert:hover{background:var(--accent-primary, #2563eb);color:var(--text-primary)}.composer-chords-panel__power-insert strong{font-size:var(--fs-lg)}.neck-legend__toggle{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;transition:all .12s;box-shadow:0 2px 6px #0003}.neck-legend__toggle:hover{background:var(--bg-surface);border-color:var(--text-tertiary);transform:scale(1.05)}.neck-legend--open .neck-legend__toggle{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.neck-legend__oos-toggle{position:absolute;top:36px;right:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-tertiary);cursor:pointer;font-size:16px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:all .12s;box-shadow:0 2px 6px #0003}.neck-legend__oos-toggle:hover{background:var(--bg-surface);border-color:var(--text-tertiary);transform:scale(1.05)}.neck-legend__oos-toggle.is-active{background:#f97316;color:#1c1917;border-color:#7c2d12;box-shadow:0 2px 8px #f9731673}.neck-legend__scope-toggle{position:absolute;top:70px;right:0;width:28px;height:28px;border-radius:50%;border:1px solid #7c2d12;background:var(--bg-elevated);color:#f97316;cursor:pointer;font-size:13px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:all .12s;box-shadow:0 2px 6px #0003}.neck-legend__scope-toggle:hover{background:var(--bg-surface);border-color:#f97316;transform:scale(1.05)}.neck-legend__section-picker{position:absolute;top:102px;right:0}.neck-legend__section-toggle{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-size:9px;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:all .12s;box-shadow:0 2px 6px #0003}.neck-legend__section-toggle:hover{background:var(--bg-surface);border-color:var(--text-tertiary);transform:scale(1.05)}.neck-legend__section-toggle.is-open{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.neck-legend__section-menu{position:absolute;top:36px;right:0;list-style:none;margin:0;padding:6px;min-width:200px;max-height:280px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 12px 32px #00000073;display:flex;flex-direction:column;gap:2px;animation:neckLegendIn .18s ease-out}.neck-legend__section-menu li{list-style:none}.neck-legend__section-item{width:100%;display:flex;align-items:center;gap:10px;padding:6px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-primary);text-align:left;transition:all .12s}.neck-legend__section-item:hover{background:var(--bg-elevated);border-color:var(--border-subtle)}.neck-legend__section-item.is-active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb)}.neck-legend__section-marker{flex-shrink:0;font-weight:var(--fw-bold);font-size:11px;width:36px;text-transform:uppercase;letter-spacing:.04em}.neck-legend__section-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;opacity:.9}.neck-legend__panel{position:absolute;top:36px;right:0;width:360px;max-height:520px;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 16px 40px #00000073;padding:14px;animation:neckLegendIn .18s ease-out}@keyframes neckLegendIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.neck-legend__title{margin:0 0 12px;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text-primary)}.neck-legend__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.neck-legend__item{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px}.neck-legend__preview{flex-shrink:0}.neck-legend__copy{display:flex;flex-direction:column;gap:1px;min-width:0}.neck-legend__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.neck-legend__desc{font-size:11px;color:var(--text-secondary);line-height:1.4}.fretboard__visible-layer{transition:opacity .18s ease-out}.fretboard__visible-layer--player-on{opacity:.25}.fretboard-out-of-scale circle{filter:drop-shadow(0 0 3px rgba(249,115,22,.5))}.fretboard-loop-note{animation:fretboardLoopPulse 2.4s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes fretboardLoopPulse{0%,to{opacity:.85}50%{opacity:1}}.fretboard-trail{fill:none;stroke-width:3;animation:fretboardTrailFade 1s ease-out forwards}.fretboard-trail--slide{stroke:#4338ca;filter:drop-shadow(0 0 5px rgba(99,102,241,.95))}.fretboard-trail--bend{stroke:#f97316;filter:drop-shadow(0 0 5px rgba(249,115,22,.9))}.fretboard-trail--hp{stroke:#f8fafc;stroke-dasharray:6 4;filter:drop-shadow(0 0 3px rgba(248,250,252,.6))}@keyframes fretboardTrailFade{0%{opacity:0;stroke-width:5}20%{opacity:1;stroke-width:4}to{opacity:0;stroke-width:2}}.fretboard-flash-note{animation:neckPlayerFlash 1s ease-out forwards;transform-origin:center;transform-box:fill-box}.fretboard-flash-note--normal .fretboard-flash__ripple{transform-origin:center;transform-box:fill-box;animation:neckRipple .7s ease-out forwards}.fretboard-flash-note--normal .fretboard-flash__core{transform-origin:center;transform-box:fill-box;animation:neckCorePunch .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes neckRipple{0%{transform:scale(.6);opacity:.9;stroke-width:3}to{transform:scale(2.2);opacity:0;stroke-width:1}}@keyframes neckCorePunch{0%{transform:scale(.4)}60%{transform:scale(1.18)}to{transform:scale(1)}}.fretboard-flash-note--bend .fretboard-flash__core{transform-origin:center;transform-box:fill-box;animation:neckBendBurst .5s cubic-bezier(.16,1,.3,1) forwards;filter:drop-shadow(0 0 8px rgba(239,68,68,.85))}@keyframes neckBendBurst{0%{transform:scale(.3);opacity:0}35%{transform:scale(1.6);opacity:1}to{transform:scale(1);opacity:1}}.fretboard-flash-note--repeat .fretboard-flash__core{transform-origin:center;transform-box:fill-box;animation:neckCorePunch .4s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 0 5px rgba(250,204,21,.7))}.fretboard-flash-note--repeat .fretboard-flash__sparkle{transform-origin:center;transform-box:fill-box;animation:neckSparkle .6s ease-out .1s forwards}@keyframes neckSparkle{0%,to{transform:scale(.5);opacity:0}40%{transform:scale(1.4);opacity:1}70%{transform:scale(1);opacity:.7}}.fretboard-flash-note--ghost{animation:neckPlayerFlash .8s ease-out forwards}.fretboard-flash-note--ghost .fretboard-flash__core{transform-origin:center;transform-box:fill-box;animation:neckGhostDrift .8s ease-out forwards}@keyframes neckGhostDrift{0%{transform:scale(.7);opacity:0}30%{transform:scale(1);opacity:.7}to{transform:scale(1.05);opacity:0}}.fretboard-flash-note--dead{animation:neckPlayerFlash .55s ease-out forwards}.fretboard-flash-note--dead .fretboard-flash__core{transform-origin:center;transform-box:fill-box;animation:neckDeadStab .45s cubic-bezier(.6,-.28,.735,.045) forwards}@keyframes neckDeadStab{0%{transform:scale(2.2) rotate(-12deg);opacity:0}40%{transform:scale(.85) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.fretboard-flash-note--tremolo{animation:neckPlayerFlash 1.3s ease-out forwards}.fretboard-flash-note--tremolo .fretboard-flash__tremolo{transform-origin:center;transform-box:fill-box;animation:neckTremoloPulse .125s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(239,68,68,.5))}@keyframes neckTremoloPulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.fretboard-flash-note--harmonic{animation:neckPlayerFlash 1.4s ease-out forwards}.fretboard-flash-note--harmonic .fretboard-flash__halo{transform-origin:center;transform-box:fill-box;animation:neckHarmonicHalo 1.2s ease-in-out infinite}.fretboard-flash-note--harmonic .fretboard-flash__core{filter:drop-shadow(0 0 6px rgba(34,211,238,.85));transform-origin:center;transform-box:fill-box;animation:neckCorePunch .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes neckHarmonicHalo{0%,to{transform:scale(1);opacity:.6;stroke-width:2}50%{transform:scale(1.35);opacity:0;stroke-width:1}}.fretboard-flash-note--accent{animation:neckPlayerFlash 1s ease-out forwards}.fretboard-flash-note--accent .fretboard-flash__accent-ring{transform-origin:center;transform-box:fill-box;animation:neckAccentBurst .55s ease-out forwards}.fretboard-flash-note--accent .fretboard-flash__core--accent{transform-origin:center;transform-box:fill-box;animation:neckAccentCore .5s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 0 8px rgba(251,191,36,.9))}@keyframes neckAccentBurst{0%{transform:scale(.5);opacity:0}20%{transform:scale(1);opacity:.85}to{transform:scale(2.6);opacity:0}}@keyframes neckAccentCore{0%{transform:scale(.5)}60%{transform:scale(1.3)}to{transform:scale(1)}}.fretboard-flash-note--whammy{animation:neckPlayerFlash 1.4s ease-out forwards}.fretboard-flash-note--whammy .fretboard-flash__core--whammy{transform-origin:center;transform-box:fill-box;animation:neckWhammyShake .18s ease-in-out infinite;filter:drop-shadow(0 0 5px rgba(168,85,247,.7))}.fretboard-flash-note--whammy .fretboard-flash__whammy-wave{transform-origin:center;transform-box:fill-box;animation:neckWhammyWave .5s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(168,85,247,.5))}@keyframes neckWhammyShake{0%,to{transform:translateY(0)}25%{transform:translateY(2px)}75%{transform:translateY(-2px)}}@keyframes neckWhammyWave{0%,to{transform:translate(0) scaleY(1);opacity:.85}50%{transform:translate(-4px) scaleY(1.4);opacity:1}}.fretboard-flash-note--tied{animation:neckPlayerFlash 1.6s ease-out forwards}.fretboard-flash-note--tied .fretboard-flash__tied-glow{transform-origin:center;transform-box:fill-box;animation:neckTiedPulse 1.6s ease-in-out infinite}.fretboard-flash-note--tied .fretboard-flash__core--tied{transform-origin:center;transform-box:fill-box;animation:neckTiedGentle .4s ease-out forwards;filter:drop-shadow(0 0 4px rgba(22,163,74,.6))}@keyframes neckTiedPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.25);opacity:.15}}@keyframes neckTiedGentle{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.fretboard-flash-note--tapping{animation:neckPlayerFlash .8s ease-out forwards}.fretboard-flash-note--tapping .fretboard-flash__tap-halo{transform-origin:center;transform-box:fill-box;animation:neckTapHalo .5s ease-out forwards}.fretboard-flash-note--tapping .fretboard-flash__core--tapping{transform-origin:center;transform-box:fill-box;animation:neckTapBounce .5s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 0 7px rgba(236,72,153,.85))}@keyframes neckTapHalo{0%{transform:scale(.6);opacity:0}20%{transform:scale(1);opacity:.85}to{transform:scale(2.4);opacity:0}}@keyframes neckTapBounce{0%{transform:scale(.4)}40%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}.fretboard-hand-position{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;background:#000000c7;border:1px solid #facc15;border-radius:11px;color:#facc15;font-size:11px;font-weight:700;letter-spacing:.04em;font-family:var(--font-mono, ui-monospace, monospace);white-space:nowrap;animation:neckHandPosIn .25s ease-out}@keyframes neckHandPosIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes neckPlayerFlash{0%{opacity:1}20%{opacity:.95}to{opacity:0}}.voicing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}.voicing{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.voicing__label{font-size:var(--fs-xs);font-weight:var(--fw-bold);font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.chord-box{width:100%;max-width:130px;height:auto}.admin-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-6)}.admin-header__actions{display:flex;gap:var(--space-3)}.admin-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px;border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-decoration:none;transition:border-color .15s,transform .15s}.admin-btn:hover{border-color:var(--border-strong);transform:translateY(-1px)}.admin-btn--primary{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.admin-btn--primary:hover{opacity:.9;border-color:var(--text-primary)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,min(200px,100%));justify-content:start;gap:var(--space-4);margin-bottom:var(--space-4)}.stat-grid:last-of-type{margin-bottom:var(--space-8)}.stat-grid--compact{grid-template-columns:repeat(auto-fit,min(160px,100%));gap:var(--space-3)}.stat-grid--compact .stat-card{padding:var(--space-3)}.stat-grid--compact .stat-card__value{font-size:var(--fs-xl, 22px)}.section-subtitle{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary);margin:var(--space-5) 0 var(--space-3)}.section-subtitle:first-child{margin-top:0}.admin-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5);border-radius:var(--radius-md, 8px);text-decoration:none;border:1px solid transparent;transition:transform .12s ease,border-color .12s ease}.admin-alert:hover{transform:translateY(-1px)}.admin-alert--reports{background:#ef44441a;border-color:#ef44444d;color:var(--status-failed, #ef4444)}.admin-alert--reports:hover{border-color:var(--status-failed, #ef4444)}.admin-alert__icon{font-size:24px;line-height:1}.admin-alert__body{display:flex;flex-direction:column;gap:2px}.admin-alert__hint{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-regular, 400)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-2) var(--space-1);font-size:var(--fs-sm);color:var(--text-secondary)}.pagination__count{font-variant-numeric:tabular-nums}.pagination--full{padding-left:var(--space-6);padding-right:var(--space-6);padding-bottom:var(--space-6)}.pagination__controls{display:flex;align-items:center;gap:var(--space-2)}.pagination__btn{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-sm);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--fs-md);line-height:1}.pagination__btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--text-tertiary)}.pagination__btn:disabled{opacity:.45;cursor:default}.pagination__page{font-variant-numeric:tabular-nums;min-width:50px;text-align:center}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.stat-card__label{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.stat-card__value{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);font-feature-settings:"tnum";line-height:1}.stat-card__sub{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:4px}.stat-card--ready .stat-card__value{color:var(--status-ready)}.stat-card--processing .stat-card__value{color:var(--status-processing)}.stat-card--queued .stat-card__value{color:var(--status-queued)}.stat-card--review .stat-card__value{color:#ca8a04}.stat-card--failed .stat-card__value{color:var(--status-failed)}.stat-card--link{display:block;text-decoration:none;color:inherit;transition:border-color .12s,transform .1s}.stat-card--link:hover{border-color:var(--border-strong);transform:translateY(-1px)}.admin-cards{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-5);margin-top:var(--space-8)}@media (max-width: 1100px){.admin-cards{grid-template-columns:1fr}}.admin-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.admin-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--border-subtle)}.admin-card__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.admin-card__sub{font-size:var(--fs-sm);color:var(--text-secondary)}.admin-card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.admin-card__body--loading{color:var(--text-tertiary);font-size:var(--fs-sm);padding:var(--space-5)}.sync-card__bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sync-card__bar{display:grid;grid-template-columns:140px 1fr 80px;align-items:center;gap:var(--space-3)}.sync-card__bar-label{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary)}.sync-card__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sync-card__dot--algo{background:var(--accent-primary)}.sync-card__dot--songsterr{background:#ff8a3d}.sync-card__dot--manual{background:#a855f7}.sync-card__bar-track{height:8px;background:var(--bg-elevated);border-radius:var(--radius-pill, 999px);overflow:hidden}.sync-card__bar-fill{height:100%;border-radius:var(--radius-pill, 999px);transition:width .25s ease}.sync-card__bar--algo .sync-card__bar-fill{background:var(--accent-primary)}.sync-card__bar--songsterr .sync-card__bar-fill{background:#ff8a3d}.sync-card__bar--manual .sync-card__bar-fill{background:#a855f7}.sync-card__bar-count{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;font-feature-settings:"tnum"}.sync-card__bar-count strong{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.sync-card__bar-pct{font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.sync-card__matrix{border-top:1px dashed var(--border-subtle);padding-top:var(--space-3)}.sync-card__matrix table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-feature-settings:"tnum"}.sync-card__matrix th,.sync-card__matrix td{padding:8px var(--space-3);text-align:center;border-bottom:1px solid var(--border-subtle)}.sync-card__matrix tbody tr:last-child td,.sync-card__matrix tbody tr:last-child th{border-bottom:0}.sync-card__matrix thead th{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.4px;color:var(--text-tertiary);text-align:center}.sync-card__matrix thead th:first-child{text-align:left;width:130px}.sync-card__matrix tbody th{text-align:left;font-weight:var(--fw-medium);color:var(--text-secondary)}.sync-card__cell{color:var(--text-primary);font-weight:var(--fw-medium);border-radius:4px}.sync-card__cell-zero{color:var(--text-tertiary)}.sync-card__matrix-total{font-weight:var(--fw-semibold);color:var(--text-primary);border-left:1px solid var(--border-subtle)}.to-validate-card__empty{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.to-validate-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:480px;overflow-y:auto}.to-validate-card__item{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);transition:border-color .12s ease,transform 80ms ease}.to-validate-card__item:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.to-validate-card__link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px var(--space-3);text-decoration:none;color:inherit}.to-validate-card__main{display:flex;flex-direction:column;gap:2px;min-width:0}.to-validate-card__title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.to-validate-card__artist{font-size:var(--fs-xs);color:var(--text-secondary)}.to-validate-card__meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.to-validate-card__age{font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono, monospace);white-space:nowrap}.table-scroll{overflow-x:auto;min-width:0}.admin-table{width:100%;border-collapse:collapse;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;font-size:var(--fs-sm)}.admin-table th,.admin-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.admin-table th{font-weight:var(--fw-semibold);color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elevated)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table tbody tr{transition:background .1s}.admin-table tbody tr:hover{background:var(--bg-elevated)}.admin-table a{color:var(--text-primary);text-decoration:none;font-weight:var(--fw-medium)}.admin-table a:hover{text-decoration:underline}.admin-table__error{color:var(--status-failed);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap}.status-pill{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.04em}.status-pill--ready{background:#22c55e24;color:var(--status-ready)}.status-pill--processing{background:#3b82f624;color:var(--status-processing)}.status-pill--queued{background:#9ca3af24;color:var(--status-queued)}.status-pill--review{background:#eab30833;color:#ca8a04}.status-pill--failed{background:#ef444424;color:var(--status-failed)}.status-pill--select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;cursor:pointer;padding-right:22px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 4l3 3 3-3' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 6px center;font-family:inherit}.status-pill--select:hover{filter:brightness(1.05)}.status-pill--select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-btn--validate{background:#22c55e2e;color:var(--ok);border-color:#22c55e66}.row-btn--validate:hover{background:#22c55e47;border-color:#22c55e99}.main--admin{padding:0;max-width:none}.admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - var(--header-height, 64px))}.admin-sidebar{background:var(--bg-surface);border-right:1px solid var(--border-subtle);padding:var(--space-5) var(--space-3);position:sticky;top:var(--sticky-top);height:calc(100vh - var(--header-height, 64px));overflow-y:auto}.admin-sidebar__nav{display:flex;flex-direction:column;gap:2px;min-height:100%}.admin-sidebar__group{display:flex;flex-direction:column;gap:2px}.admin-sidebar__heading{margin:0 0 var(--space-2);padding:0 14px;font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.6px;text-transform:uppercase;color:var(--text-tertiary)}.admin-sidebar__heading--bottom{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.admin-sidebar__sep{margin:var(--space-3) 14px;border:0;border-top:1px solid var(--border-subtle)}.admin-sidebar__item{display:flex;align-items:center;gap:var(--space-3);padding:10px 14px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-decoration:none;transition:background .12s,color .12s}.admin-sidebar__item:hover,.admin-sidebar__item--active{color:var(--text-primary);background:var(--bg-elevated)}.admin-sidebar__item--active:before{content:"";position:absolute;margin-left:-14px;width:3px;height:18px;background:var(--text-primary);border-radius:2px}.admin-sidebar__item--disabled{opacity:.45;cursor:default}.admin-sidebar__item--disabled:hover{background:transparent;color:var(--text-secondary)}.admin-sidebar__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;flex-shrink:0;opacity:.7;transition:opacity .12s}.admin-sidebar__item:hover .admin-sidebar__icon,.admin-sidebar__item--active .admin-sidebar__icon{opacity:1}@media (max-width: 1100px){.admin-layout{grid-template-columns:minmax(0,1fr)}.admin-sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border-subtle);padding:var(--space-2) var(--space-3)}.admin-sidebar__nav{flex-direction:row;align-items:center;gap:var(--space-1);overflow-x:auto;scrollbar-width:none}.admin-sidebar__nav::-webkit-scrollbar{display:none}.admin-sidebar__group{flex-direction:row;gap:var(--space-1)}.admin-sidebar__heading,.admin-sidebar__sep{display:none}.admin-sidebar__item{white-space:nowrap}.admin-sidebar__item--active:before{margin-left:0;bottom:0;left:14px;right:14px;width:auto;height:2px}}.admin-content{padding:var(--space-6) var(--space-8);min-width:0}.wizard{max-width:1100px;margin:0 auto}.import-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);padding-bottom:calc(var(--player-height) + var(--space-6));animation:composerOverlayIn .18s ease-out}.import-modal{width:min(880px,100%);max-height:100%;overflow-y:auto;background:var(--bg-base, var(--bg-surface));border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 24px 64px #00000080;padding:var(--space-5) var(--space-6) var(--space-6)}.import-modal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.import-modal__title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.import-modal__close{background:none;border:none;color:var(--text-tertiary);font-size:24px;line-height:1;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.import-modal__close:hover{color:var(--text-primary);background:var(--bg-elevated)}.import-modal__wizard .wizard__panel{margin-top:var(--space-4);margin-bottom:var(--space-4)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0009;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:composerOverlayIn .18s ease-out}.confirm-dialog{width:min(440px,100%);padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000073}.confirm-dialog__title{margin:0 0 var(--space-3);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.confirm-dialog__message{margin:0 0 var(--space-6);font-size:var(--fs-sm);line-height:1.55;color:var(--text-secondary)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.import-details__art{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}@media (max-width: 720px){.import-details__art{grid-template-columns:1fr}}.import-art__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.import-art__clear{background:none;border:none;padding:0;font-size:var(--fs-xs);color:var(--text-tertiary);cursor:pointer;border-bottom:1px solid transparent}.import-art__clear:hover{color:var(--text-secondary);border-bottom-color:var(--border-strong)}.import-art .artwork-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--space-2);max-height:220px;overflow-y:auto;padding-right:2px}.import-art .artwork-upload{display:none}.import-details__styles{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.import-details__styles-count{margin-left:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:400;color:var(--text-tertiary)}.style-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.style-chips .chip--active{border-color:var(--accent);color:var(--text-primary);background:color-mix(in srgb,var(--accent) 16%,transparent)}.style-chips .chip:disabled{opacity:.35;cursor:not-allowed}.style-chips .chip:disabled:hover{border-color:var(--border-subtle);color:var(--text-secondary)}.wizard__panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);margin-top:var(--space-6);margin-bottom:var(--space-5)}.wizard__actions{display:flex;justify-content:flex-end;gap:var(--space-3);align-items:center}.wizard__actions .admin-btn:first-child:not(:only-child){margin-right:auto}.wizard__error{background:#ef44441a;color:var(--status-failed);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);font-size:var(--fs-sm);font-family:var(--font-mono);white-space:pre-wrap;line-height:1.5}.stepper{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:4px}.stepper__item{display:flex;align-items:center}.stepper__chip{display:flex;align-items:center;gap:var(--space-2);padding:8px 14px 8px 8px;border-radius:var(--radius-pill);background:transparent;border:1px solid transparent;color:var(--text-tertiary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:default}.stepper__chip:not(:disabled){cursor:pointer}.stepper__chip:not(:disabled):hover{color:var(--text-primary)}.stepper__num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bg-elevated);color:var(--text-secondary);font-weight:var(--fw-bold);font-size:var(--fs-xs)}.stepper__item--current .stepper__chip{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-strong)}.stepper__item--current .stepper__num{background:var(--text-primary);color:var(--bg-base)}.stepper__item--done .stepper__chip{color:var(--status-ready)}.stepper__item--done .stepper__num{background:#22c55e2e;color:var(--status-ready)}.stepper__rail{flex:1;height:2px;background:var(--border-subtle);border-radius:1px;min-width:16px}.stepper__rail--done{background:var(--status-ready)}@media (max-width: 480px){.stepper__item:not(.stepper__item--current) .stepper__label{display:none}.stepper__chip{padding:8px}.stepper__item--current .stepper__chip{padding:8px 12px 8px 8px}}.step-pane{display:flex;flex-direction:column;gap:var(--space-4)}.step-pane--centered{align-items:center;text-align:center;padding:var(--space-8) 0}.step-pane__lead{color:var(--text-secondary);font-size:var(--fs-base);line-height:1.5;margin:0}.step-pane__hint{color:var(--text-tertiary);font-size:var(--fs-sm)}.step-pane__warn{color:var(--warn);font-size:var(--fs-sm)}.step-pane__sub{margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.step-pane__subtitle{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);margin:0 0 var(--space-3)}.step-pane__big-icon{font-size:64px;line-height:1}.step-pane__cta{margin-top:var(--space-5)}.dropzone-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 768px){.dropzone-grid{grid-template-columns:1fr}}.dropzone-wrap{display:flex;flex-direction:column;gap:6px;height:100%}.dropzone-wrap>.dropzone{flex:1}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);cursor:pointer;transition:border-color .15s,background .15s,transform .15s;position:relative;min-height:140px}.dropzone:hover{border-color:var(--border-strong)}.dropzone--over{border-color:var(--text-primary);background:#ffffff05;transform:scale(1.005)}.dropzone--filled{border-style:solid;background:var(--bg-surface);cursor:default}.dropzone__icon{font-size:28px;color:var(--text-tertiary)}.dropzone__title{font-weight:var(--fw-semibold);color:var(--text-primary)}.dropzone__hint{color:var(--text-tertiary);font-size:var(--fs-sm)}.dropzone__file{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--fs-sm);text-align:center}.dropzone__size{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-xs)}.dropzone__remove{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer}.dropzone__remove:hover{color:var(--status-failed);border-color:var(--status-failed)}.dropzone__error{color:var(--status-failed);font-size:var(--fs-xs)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.form-grid--2col{grid-template-columns:1fr 1fr}@media (max-width: 768px){.form-grid--2col{grid-template-columns:1fr}}.form-row{display:flex;flex-direction:column;gap:6px}.form-row__label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}.form-input{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 12px;color:var(--text-primary);font-size:var(--fs-sm);font-family:inherit;outline:none;transition:border-color .15s,background .15s}.form-input:focus{border-color:var(--sect);background:var(--bg-surface)}.form-input:disabled{opacity:.45;cursor:default}.form-slider{width:100%;accent-color:var(--text-primary)}.link-button{background:none;border:none;color:var(--text-secondary);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.link-button:hover{color:var(--text-primary)}.autocomplete{position:relative}.autocomplete__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:4px;z-index:10;max-height:320px;overflow-y:auto}.autocomplete__menu li{margin:0}.autocomplete__item{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:none;padding:8px 10px;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--text-primary)}.autocomplete__item:hover{background:var(--bg-elevated)}.autocomplete__item--new{border-top:1px solid var(--border-subtle);margin-top:4px}.autocomplete__thumb{width:32px;height:32px;border-radius:var(--radius-sm);-o-object-fit:cover;object-fit:cover}.autocomplete__plus{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-elevated);border-radius:var(--radius-sm);font-weight:var(--fw-bold);color:var(--text-secondary)}.autocomplete__label{display:flex;flex-direction:column;gap:2px}.autocomplete__meta{color:var(--text-tertiary);font-size:var(--fs-xs)}.artwork-picker{display:flex;flex-direction:column;gap:var(--space-3)}.artwork-picker--readonly{align-items:flex-start}.artwork-picker__hint{color:var(--text-tertiary);font-size:var(--fs-sm)}.artwork-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.artwork-thumb{position:relative;aspect-ratio:1 / 1;background:var(--bg-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;padding:0;cursor:pointer;transition:border-color .15s,transform .15s}.artwork-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.artwork-thumb:hover{transform:translateY(-2px);border-color:var(--border-strong)}.artwork-thumb--selected{border-color:var(--status-ready)}.artwork-thumb--lg{width:160px;max-width:100%}.artwork-thumb__source{position:absolute;bottom:4px;right:4px;background:#0009;color:var(--text-primary);font-size:var(--fs-xs);padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.artwork-upload{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.artwork-upload__file{font-size:var(--fs-sm);color:var(--text-secondary)}.pipeline-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);counter-reset:pipeline}.pipeline-step{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pipeline-step__head{display:flex;align-items:center;gap:var(--space-3)}.pipeline-step__index{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);font-family:var(--font-mono)}.pipeline-step__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:var(--fs-base);font-weight:var(--fw-bold);flex-shrink:0}.pipeline-step__label{color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex:1}.pipeline-step__cost{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.5px;text-transform:uppercase;padding:1px 6px;border-radius:3px;border:1px solid transparent}.pipeline-step__cost--cheap{background:#22c55e1f;color:var(--status-ready, #22c55e);border-color:#22c55e4d}.pipeline-step__cost--medium{background:#3b82f61f;color:var(--status-processing, #3b82f6);border-color:#3b82f64d}.pipeline-step__cost--heavy{background:#f59e0b24;color:var(--warn);border-color:#f59e0b66}.pipeline-step__duration{color:var(--text-tertiary);font-size:var(--fs-xs);font-family:var(--font-mono)}.pipeline-step__desc{margin:0;padding-left:56px;color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.4}.pipeline-step__meta{margin:0;padding-left:56px;display:grid;grid-template-columns:max-content 1fr;gap:4px var(--space-3);font-size:var(--fs-xs)}.pipeline-step__meta>div{display:contents}.pipeline-step__meta dt{color:var(--text-tertiary);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.4px}.pipeline-step__meta dd{margin:0;color:var(--text-primary);font-family:var(--font-mono, monospace);word-break:break-word}.pipeline-step__sep{color:var(--text-tertiary);margin:0 6px}.pipeline-step__error{margin:0;padding:var(--space-2) var(--space-3);background:#ef444414;border-left:3px solid var(--status-failed, #ef4444);color:var(--status-failed);font-size:var(--fs-xs);font-family:var(--font-mono);white-space:pre-wrap;border-radius:0 4px 4px 0}.pipeline-step--ok .pipeline-step__icon{background:#22c55e2e;color:var(--status-ready)}.pipeline-step--running .pipeline-step__icon{background:#3b82f62e;color:var(--status-processing);animation:spin 1s linear infinite}.pipeline-step--failed .pipeline-step__icon{background:#ef44442e;color:var(--status-failed)}.pipeline-step--pending .pipeline-step__icon{background:var(--bg-base);color:var(--text-tertiary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mixer{display:flex;flex-direction:column;gap:var(--space-4)}.mixer__transport{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3);background:var(--bg-elevated);border-radius:var(--radius-md)}.mixer__hint{color:var(--text-secondary);font-size:var(--fs-sm)}.mixer__orphans{background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--fs-sm);color:var(--warn)}.chip--warn{background:#f59e0b2e;color:var(--warn);border-color:#f59e0b66}.bus-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.bus{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.bus__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.bus__name{flex:1;background:transparent;border:1px solid transparent;color:var(--text-primary);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:6px 10px;border-radius:var(--radius-sm);outline:none}.bus__name:focus,.bus__name:hover{border-color:var(--border-subtle);background:var(--bg-surface)}.bus__controls{display:flex;gap:4px}.bus__btn{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;font-weight:var(--fw-bold);font-size:var(--fs-xs)}.bus__btn:hover{border-color:var(--border-strong)}.bus__btn--active{background:var(--status-failed);color:var(--text-primary);border-color:var(--status-failed)}.bus__btn--solo{background:var(--warn);color:var(--text-primary);border-color:var(--warn)}.bus__btn--danger:hover{background:var(--status-failed);color:var(--text-primary);border-color:var(--status-failed)}.bus__btn:disabled{opacity:.45;cursor:default}.bus__stems{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bus__empty{color:var(--text-tertiary);font-size:var(--fs-sm);font-style:italic}.stem-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 6px 4px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);font-size:var(--fs-sm);color:var(--text-primary)}.stem-chip__move{background:transparent;border:none;color:var(--text-tertiary);font-size:var(--fs-xs);cursor:pointer;padding:2px 4px}.instruments-editor{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:var(--space-4);height:calc(100vh - 280px);min-height:520px}@media (max-width: 1400px){.instruments-editor{grid-template-columns:minmax(0,1fr) 440px}}@media (max-width: 1100px){.instruments-editor{grid-template-columns:1fr;height:auto}}.instruments-editor__viewer{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-width:0;overflow:hidden;position:relative}.instruments-editor__toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-shrink:0;z-index:1}.instruments-editor__hint{color:var(--text-tertiary);font-size:var(--fs-xs);flex:1}.instruments-editor__alphatab{flex:1;min-height:0;overflow:auto;padding:var(--space-4);background:var(--alphatab-bg, var(--bg-surface))}.instruments-editor__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--fs-sm);pointer-events:none}.instruments-editor__panel{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);overflow-y:auto;min-height:0}.inst-list{list-style:none;margin:0 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.inst{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:6px;transition:border-color .15s,box-shadow .15s}.inst--preview{border-color:var(--text-primary);box-shadow:0 0 0 2px #ffffff0d}.inst__header{display:flex;align-items:center;gap:4px}.inst__label{flex:1;background:transparent;border:1px solid transparent;color:var(--text-primary);font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:4px 8px;border-radius:var(--radius-sm);outline:none;min-width:0}.inst__label:hover,.inst__label:focus{border-color:var(--border-subtle);background:var(--bg-elevated)}.inst__btn{width:26px;height:26px;border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;font-weight:var(--fw-bold);font-size:var(--fs-xs)}.inst__btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.inst__btn--active{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.inst__btn--mute{background:var(--status-failed);color:var(--text-primary);border-color:var(--status-failed)}.inst__btn--solo{background:var(--warn);color:var(--text-primary);border-color:var(--warn)}.inst__btn--danger:hover{background:var(--status-failed);color:var(--text-primary);border-color:var(--status-failed)}.inst__row{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:var(--space-2);padding:0 4px}.inst__field-label{color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.inst__chips{display:flex;flex-wrap:wrap;gap:4px}.inst__chips-empty{color:var(--text-tertiary);font-size:var(--fs-xs);font-style:italic}.chip--mono{font-family:var(--font-mono);font-size:var(--fs-xs)}.form-input--compact{padding:4px 8px;font-size:var(--fs-sm)}.track-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.track-list__item{display:grid;grid-template-columns:1fr 140px;align-items:center;gap:var(--space-2);padding:6px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.track-list__name{font-size:var(--fs-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-list__name--mono{font-family:var(--font-mono)}.inst-orphans{color:var(--warn);font-weight:var(--fw-medium);font-size:var(--fs-xs)}.track-rows{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.track-row{display:grid;grid-template-columns:auto minmax(0,1fr) 160px auto;align-items:center;gap:var(--space-2);padding:8px var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid transparent;border-radius:var(--radius-sm, 4px);transition:border-color .12s ease,background .12s ease,opacity .12s ease}.track-row:hover{border-color:var(--border-strong)}.track-row--hidden{opacity:.55;border-left-color:var(--text-tertiary);background:color-mix(in srgb,var(--text-tertiary) 6%,var(--bg-surface))}.track-row--preview{border-color:var(--accent-primary);border-left-color:var(--accent-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.track-row__eye{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all .12s ease;color:var(--text-primary)}.track-row__eye:hover{border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.track-row__eye--off{background:color-mix(in srgb,var(--text-tertiary) 12%,transparent);color:var(--text-tertiary);border-color:var(--border-subtle)}.track-row__main{display:flex;flex-direction:column;gap:4px;min-width:0}.track-row__gp-name{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono, monospace);overflow:hidden}.track-row__index{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 5px;font-weight:var(--fw-semibold);background:var(--bg-elevated);border-radius:3px;color:var(--text-secondary)}.track-row__gp-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-row__tuning{flex-shrink:0;display:inline-flex;align-items:center;padding:1px 6px;font-family:var(--font-mono, monospace);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 35%,transparent);border-radius:3px}.track-row__label{width:100%;padding:6px 8px;font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);font:inherit}.track-row__label:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.track-row__type{padding:6px 8px;font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);cursor:pointer}.track-row__zoom{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all .12s ease}.track-row__zoom:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 10%,transparent)}.track-row__zoom--active{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--text-on-accent)}.admin-btn--small{padding:4px 10px;font-size:var(--fs-xs)}.menu__label--clickable{background:none;border:none;text-align:left;cursor:pointer;flex:1;display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-primary);font:inherit}.menu__label-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu__tuning-tag{flex-shrink:0;display:inline-flex;align-items:center;padding:1px 6px;font-family:var(--font-mono, monospace);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.04em;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent-primary) 35%,transparent);border-radius:3px}.menu__label--clickable:hover{background:var(--bg-elevated)}.menu__label--selected{color:var(--text-primary);font-weight:var(--fw-semibold)}.admin-songs-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.admin-songs-count{color:var(--text-tertiary);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.admin-songs-controls{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-bottom:var(--space-5)}.admin-table__link{color:var(--text-primary);text-decoration:none;font-weight:var(--fw-medium)}.admin-table__link:hover{text-decoration:underline}.admin-table__title-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-primary);text-decoration:none;font-weight:var(--fw-medium);min-width:0}.admin-table__title-link:hover .admin-table__entity-name{text-decoration:underline}.admin-table__tempo--mismatch{color:var(--warn);font-weight:var(--fw-bold)}.admin-row-actions{display:flex;gap:4px;white-space:nowrap}.row-btn{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-base);line-height:1}.row-btn:hover{background:var(--bg-elevated);border-color:var(--border-subtle);color:var(--text-primary)}.row-btn--danger:hover{background:#ef444426;color:var(--status-failed);border-color:var(--status-failed)}.song-edit{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-6);align-items:start}@media (max-width: 1100px){.song-edit{grid-template-columns:1fr}}.song-edit__summary{position:sticky;top:calc(var(--header-height) + var(--space-4));display:flex;flex-direction:column;gap:var(--space-2);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.song-edit__cover{width:100%;aspect-ratio:1 / 1;border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover;background:var(--bg-elevated)}.song-edit__cover--placeholder{display:flex;align-items:center;justify-content:center;font-size:60px;color:var(--text-tertiary)}.song-edit__title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:var(--space-2) 0 0;color:var(--text-primary)}.song-edit__artist{margin:0;color:var(--text-secondary);font-weight:var(--fw-medium)}.song-edit__album{margin:0;color:var(--text-tertiary);font-size:var(--fs-sm)}.song-edit__pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--space-2)}.song-edit__pills .status-pill{display:inline-flex;align-items:center}.song-edit__pills .chip{line-height:1}.song-edit__error{background:#ef44441a;color:var(--status-failed);border-radius:var(--radius-sm);padding:var(--space-2);margin-top:var(--space-2);font-size:var(--fs-xs);white-space:pre-wrap;font-family:var(--font-mono);max-height:120px;overflow-y:auto}.song-edit__main{min-width:0}.song-edit__tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.song-edit__tab{padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:color .12s,border-color .12s;margin-bottom:-1px}.song-edit__tab:hover{color:var(--text-primary)}.song-edit__tab--active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.song-edit__tab--danger{color:var(--status-failed)}.song-edit__tab--danger.song-edit__tab--active{border-bottom-color:var(--status-failed)}.song-edit__breadcrumb{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);font-size:var(--fs-sm)}.song-edit__breadcrumb-link{color:var(--text-secondary);text-decoration:none;padding:4px 8px;border-radius:4px;border:1px solid transparent;transition:color .12s ease,background .12s ease,border-color .12s ease}.song-edit__breadcrumb-link:hover{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-subtle)}.song-edit__breadcrumb-link--accent{color:var(--text-primary)}.song-edit__breadcrumb-link--accent:hover{border-color:var(--text-primary)}.song-edit__sections{display:flex;align-items:stretch;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:0;position:relative}.song-edit__section{padding:12px 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.song-edit__section:hover{color:var(--text-primary)}.song-edit__section--active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.song-edit__section--overflow{font-size:var(--fs-md);font-weight:var(--fw-bold);letter-spacing:2px;padding:12px 14px}.song-edit__overflow{position:relative;margin-left:auto}.song-edit__overflow-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:240px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-md);padding:4px;z-index:5;display:flex;flex-direction:column;gap:2px}.song-edit__overflow-item{text-align:left;background:transparent;border:none;padding:8px 12px;border-radius:4px;color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer}.song-edit__overflow-item:hover{background:var(--bg-elevated)}.song-edit__overflow-item--danger{color:var(--status-failed)}.song-edit__overflow-item--danger:hover{background:#ef44441a;color:var(--status-failed)}.song-edit__subtabs{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) 0 var(--space-3);margin-bottom:var(--space-2)}.song-edit__subtab{padding:4px 10px;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.song-edit__subtab:hover{color:var(--text-primary);background:var(--bg-elevated)}.song-edit__subtab--active{color:var(--text-primary);background:var(--bg-elevated);border-color:var(--border-subtle)}.import-source__group{display:flex;flex-direction:column;gap:var(--space-2)}.import-source__row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);cursor:pointer;transition:border-color .12s ease,background .12s ease}.import-source__row:hover{border-color:var(--border-strong)}.import-source__row input[type=radio]{margin-top:4px;accent-color:var(--status-ready, #22c55e)}.import-source__url{display:flex;flex-direction:column;gap:var(--space-1);margin-left:38px}.import-source__url input{width:100%;padding:6px 10px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:var(--fs-sm)}.import-source__url input:focus{outline:none;border-color:var(--text-primary)}.song-edit__split{display:flex;flex-direction:column;gap:var(--space-6)}.song-edit__split-rule{border:none;border-top:1px solid var(--border-subtle);margin:0}.song-edit__panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);min-height:300px}.song-edit__actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);justify-content:flex-end}.tempo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.tempo-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4)}.tempo-card__label{font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.tempo-card__value{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text-primary);font-feature-settings:"tnum"}.tempo-card__hint{color:var(--text-tertiary);font-size:var(--fs-xs);margin-top:6px}.danger-box{background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--space-4)}.admin-btn--danger{background:var(--status-failed);color:var(--text-primary);border-color:var(--status-failed)}.admin-btn--danger:hover{opacity:.9;border-color:var(--status-failed)}.admin-table__entity{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.admin-table__entity-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-table__avatar{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;background:var(--bg-elevated)}.admin-table__avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:var(--fw-bold);border:1px solid var(--border-subtle)}.admin-table__cover{width:32px;height:32px;border-radius:var(--radius-sm);-o-object-fit:cover;object-fit:cover;flex-shrink:0}.admin-table__cover--placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px dashed var(--border-subtle);color:var(--text-tertiary);font-size:var(--fs-sm)}.tempo-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.tempo-actions__custom{gap:6px}.tempo-actions__custom-inline{display:flex;align-items:center;gap:var(--space-2)}.tempo-actions__shortcuts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.profile{max-width:720px;margin:0 auto}.profile__stack{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-5)}.profile__columns{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin-bottom:var(--space-5)}.profile__col{display:flex;flex-direction:column;gap:var(--space-5)}.profile__check{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);cursor:pointer}.profile__a11y-toggles{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);margin-bottom:var(--space-4)}.profile__toggle{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);background:var(--bg-elevated);cursor:pointer;transition:border-color .12s ease,background .12s ease}.profile__toggle:hover{border-color:var(--border-strong)}.profile__toggle:has(input:checked){border-color:color-mix(in srgb,var(--accent-primary) 50%,transparent);background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-elevated))}.profile__toggle input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:var(--accent-primary);flex-shrink:0}.profile__toggle-label{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);color:var(--text-primary);line-height:1.4}.profile__toggle-sub{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-regular);line-height:1.45}.profile__toggle-sub code{font-family:var(--font-mono, monospace);font-size:.95em;background:var(--bg-base);padding:1px 4px;border-radius:3px;color:var(--text-primary)}.profile__a11y-preview{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);border:1px dashed var(--border-subtle);border-radius:var(--radius-md, 6px);background:var(--bg-base)}.profile__a11y-preview-row{display:flex;flex-direction:column;gap:6px}.profile__a11y-preview-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.6px}.profile__a11y-fretboard{width:100%}.profile__a11y-preview-row--chord{align-items:flex-start}.profile__a11y-chord{width:140px;color:var(--text-primary)}.theme-picker{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.theme-card{width:100%;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);cursor:pointer;transition:border-color .12s ease,background .12s ease,transform 80ms ease;text-align:left;font:inherit}.theme-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.theme-card--active{border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 30%,transparent);background:color-mix(in srgb,var(--accent-primary) 6%,var(--bg-elevated))}.theme-card__meta{display:flex;flex-direction:column;gap:2px;padding:0 var(--space-1) var(--space-1)}.theme-card__name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.theme-card__badge{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.5px;padding:1px 6px;border-radius:3px;background:var(--accent-primary);color:var(--text-on-accent);text-transform:uppercase}.theme-card__hint{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4}.tab-mode__hint{margin:var(--space-2) 0 0;font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.4}.tab-preview-frame{margin-top:var(--space-3);padding:var(--space-2);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);overflow:hidden}.tab-preview{min-height:140px}.theme-swatch{position:relative;display:flex;align-items:flex-end;padding:8px;border-radius:6px;height:72px;overflow:hidden}.theme-swatch__card{display:flex;flex-direction:column;gap:4px;width:100%;height:56px;padding:6px 7px;border:1px solid;border-radius:4px;box-shadow:0 2px 6px #00000014}.theme-swatch__line{height:4px;border-radius:2px;width:80%;opacity:.55}.theme-swatch__line--strong{opacity:.85;width:60%}.theme-swatch__chips{margin-top:auto;display:flex;gap:4px}.theme-swatch__chip{width:10px;height:10px;border-radius:50%;flex-shrink:0}@media (max-width: 768px){.theme-picker{grid-template-columns:1fr}}.profile__hint{margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}.profile__hint code{font-family:var(--font-mono, ui-monospace, monospace);font-size:.92em;color:var(--text-primary);background:var(--bg-elevated);padding:1px 4px;border-radius:3px}.profile__field{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-3)}.profile__field-label{font-size:11px;font-weight:var(--fw-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.profile__select{padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:6px;font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.profile__select:focus{outline:none;border-color:var(--accent-primary, #2563eb)}.profile__account{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3)}.profile__photo-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:0 0 auto}.profile__photo{width:96px;height:96px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--border-subtle)}.profile__photo--placeholder{background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fffffff2;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);font-weight:var(--fw-bold);border:none}.profile__photo-edit{white-space:nowrap}.profile__identity{min-width:0}.profile__name{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.profile__email{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:4px}.profile__role{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:4px;font-family:var(--font-mono)}.profile__learned-count{color:var(--text-tertiary);font-weight:var(--fw-regular)}.profile__learned-empty{color:var(--text-tertiary);font-size:var(--fs-sm);margin-top:var(--space-3)}.profile__learned-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.profile__learned-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.profile__learned-cover{width:40px;height:40px;border-radius:var(--radius-sm);-o-object-fit:cover;object-fit:cover;flex:0 0 auto}.profile__learned-cover--placeholder{background:linear-gradient(135deg,#ff6b35,#ee2c41 70%,#6e1c47)}.profile__learned-meta{flex:1 1 auto;min-width:0}.profile__learned-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile__learned-artist{font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bulk-import__drop{border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;background:var(--bg-surface);transition:border-color .15s,background .15s}.bulk-import__drop:hover,.bulk-import__drop--over{border-color:var(--accent-primary);background:var(--bg-elevated)}.bulk-import__drop-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.bulk-import__drop-sub{color:var(--text-secondary);font-size:var(--fs-sm)}.bulk-import__preview{margin-top:var(--space-5)}.bulk-import__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.bulk-import__row{display:grid;grid-template-columns:24px 240px 1fr;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);font-size:var(--fs-sm)}.bulk-import__row--ok{border-color:#22c55e66}.bulk-import__row--err{border-color:#ef444480;background:#ef444414}.bulk-import__row--warn{border-color:#eab30873;background:#eab30814}.bulk-import__row--ok .bulk-import__status{color:var(--ok);font-weight:var(--fw-bold)}.bulk-import__row--err .bulk-import__status{color:var(--err);font-weight:var(--fw-bold)}.bulk-import__row>.bulk-import__pair:first-child{grid-column:1 / 3}.bulk-import__pair{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-import__files,.bulk-import__reason{color:var(--text-secondary);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-import__row--err .bulk-import__reason{color:#fca5a5}.bulk-import__edit-link{color:var(--accent-primary);text-decoration:underline;margin-left:var(--space-2)}.bulk-import__archive-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.bulk-import__archive-name{font-weight:var(--fw-semibold);font-family:var(--font-mono);font-size:var(--fs-sm)}.bulk-import__archive-size{color:var(--text-secondary);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.bulk-import__processing{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-top:var(--space-4)}.bulk-import__spinner{width:28px;height:28px;border:3px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:50%;animation:bulk-import-spin .9s linear infinite;flex:0 0 auto}@keyframes bulk-import-spin{to{transform:rotate(360deg)}}.bulk-import__processing-title{font-weight:var(--fw-semibold);margin-bottom:4px}.bulk-import__processing-sub{color:var(--text-secondary);font-size:var(--fs-sm)}.artwork-tab__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}@media (max-width: 1100px){.artwork-tab__grid{grid-template-columns:1fr}}.artwork-panel{display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.artwork-panel--empty{align-items:flex-start;justify-content:center}.artwork-panel__header{display:flex;flex-direction:column;gap:2px}.artwork-panel__title{font-size:var(--fs-md);font-weight:var(--fw-bold);margin:0}.artwork-panel__subject{color:var(--text-secondary);font-size:var(--fs-sm)}.artwork-panel__current{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.artwork-panel__current-img{width:96px;height:96px;border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover;flex:0 0 auto;background:linear-gradient(135deg,#ff6b35,#f7931e,#ee2c41 60%,#6e1c47)}.artwork-panel__current-img--placeholder{background:var(--bg-base);border:1px dashed var(--border-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--fs-2xl)}.artwork-panel__current-meta{display:flex;flex-direction:column;gap:2px}.artwork-panel__current-status{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary)}.artwork-panel__query{width:100%}.artwork-panel__hint{font-size:var(--fs-xs);color:var(--text-tertiary);margin:0;line-height:1.4}.artwork-panel__picker{max-height:340px;overflow-y:auto;padding-right:4px}.artwork-panel__actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);margin-top:auto;justify-content:flex-end}.catalogue-filterbar{position:sticky;top:var(--sticky-top);z-index:30;background:var(--bg-surface);padding:var(--space-3) var(--space-6);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.catalogue-filterbar__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.catalogue-filterbar__search{position:relative;flex:1 1 220px;min-width:200px;max-width:320px}.catalogue-filterbar__search input{width:100%;padding:8px 12px 8px 32px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm)}.catalogue-filterbar__search input:focus{outline:none;border-color:var(--accent-primary)}.catalogue-filterbar__search-icon{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none;font-size:var(--fs-sm)}.catalogue-filterbar__pill{display:inline-flex;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-elevated);padding:2px}.pill-option{padding:4px 12px;border-radius:var(--radius-pill);font-size:var(--fs-sm);color:var(--text-secondary);background:transparent;border:none;cursor:pointer;white-space:nowrap}.pill-option:hover{color:var(--text-primary)}.pill-option--active{background:var(--bg-elevated);color:var(--text-primary);font-weight:var(--fw-semibold)}.catalogue-filterbar__chips{display:inline-flex;flex-wrap:wrap;gap:4px}.catalogue-filterbar__sort{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:var(--fs-sm);margin-left:auto}.catalogue-filterbar__sort select{padding:6px 8px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer}.catalogue-filterbar__clear{white-space:nowrap}.btn--ghost{background:transparent;border:1px solid transparent;color:var(--text-secondary)}.btn--ghost:hover{color:var(--text-primary);border-color:var(--border-subtle)}.btn--xs{padding:4px 8px;font-size:var(--fs-xs)}.dropdown-wrap{position:relative}.dropdown--active{border-color:var(--accent-primary);color:var(--text-primary);font-weight:var(--fw-semibold)}.menu--down{position:absolute;top:calc(100% + var(--space-1));bottom:auto;left:0;right:auto}.menu--multiselect,.menu--autocomplete{min-width:220px;max-height:360px;overflow-y:auto}.menu__item--checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm)}.menu__item--checkbox:hover{background:var(--bg-elevated)}.menu__item--checkbox input{margin:0}.menu__item--clear{width:100%;text-align:left;background:transparent;border:none;color:var(--text-tertiary);font-size:var(--fs-xs);padding:6px 8px;cursor:pointer;border-bottom:1px solid var(--border-subtle);margin-bottom:4px}.menu__item--clear:hover{color:var(--text-primary)}.menu__item--selected{background:var(--bg-elevated);font-weight:var(--fw-semibold)}.menu__item--empty{padding:var(--space-3);color:var(--text-tertiary);font-size:var(--fs-sm);text-align:center}.menu__autocomplete-input{width:calc(100% - 12px);margin:6px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-sm)}.song-card__corner{position:absolute;top:var(--space-2);right:var(--space-4);display:flex;flex-direction:column;gap:4px;z-index:2}.song-card__mark{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-tertiary);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,border-color .15s,background .15s,color .15s}.song-card__mark:hover{transform:scale(1.1);border-color:var(--border-strong);color:var(--text-primary)}.song-card__mark--on{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.song-card__mark--favori.song-card__mark--on{color:#f59e0b}.song-card__mark--appris.song-card__mark--on{color:#22c55e}.song-card__bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4) var(--space-4)}.song-card__tags{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}.song-card__settings{position:relative;flex:0 0 auto}.song-card__settings-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .1s,border-color .15s,color .15s}.song-card__settings-btn:hover{transform:rotate(30deg);color:var(--text-primary);border-color:var(--border-strong)}.song-card__settings-tick{width:28px;height:28px;border-radius:50%;background:#22c55e52;color:#22c55e;border:1px solid rgba(34,197,94,.55);font-size:16px;font-weight:var(--fw-bold);line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.std-chords{display:flex;align-items:flex-end;gap:2px;padding:var(--space-3);background:var(--bg-elevated)}.std-chords i{flex:1;min-width:1px;border-radius:2px 2px 0 0;background:var(--genre-jazz, #b06cf0);opacity:.5}.std-chords i:nth-child(4n+1){opacity:.85}.song-card--standard:hover .std-chords i{opacity:.75}.song-card--standard:hover .std-chords i:nth-child(4n+1){opacity:1}.song-card--standard{text-decoration:none;color:inherit}.song-card--standard .song-card__cover-wrap{cursor:inherit}.song-card__form{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;color:var(--text-tertiary);white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}.catalogue-filterbar__count{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);white-space:nowrap}.song-card__state{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);font-size:var(--fs-xs);line-height:1.45}.song-card__state--failed{color:var(--status-failed)}.song-card__state--todo{color:var(--accent)}.song-card__state-why{color:var(--text-tertiary);font-weight:400}.song-card__settings-item--danger{color:var(--status-failed)}.song-card__settings-item--danger:hover{background:color-mix(in srgb,var(--status-failed) 14%,transparent)}.menu.song-card__settings-menu{min-width:160px;right:0;left:auto}.song-card__settings-item{display:flex;align-items:center;gap:var(--space-2)}.song-card__settings-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#22c55e52;color:#22c55e;font-size:11px;font-weight:var(--fw-bold);flex:0 0 auto}.song-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-medium);border:1px solid transparent;white-space:nowrap}.song-tag--style{background:#7d7d7d38;color:var(--text-primary);border-color:#7d7d7d66}.song-tag--key{background:#a855f752;color:var(--text-primary);border-color:#a855f780}.song-tag--time{background:#7d7d7d24;color:var(--text-secondary);border-color:#7d7d7d52;font-family:var(--font-mono)}.song-tag--diff-easy{background:#22c55e52;color:var(--text-primary);border-color:#22c55e80}.song-tag--diff-medium{background:#eab30852;color:var(--text-primary);border-color:#eab3088c}.song-tag--diff-hard{background:#f9731657;color:var(--text-primary);border-color:#f973168c}.song-tag--diff-expert{background:#ef44445c;color:var(--text-primary);border-color:#ef444499}.landing{min-height:100vh;background:var(--bg-surface);color:var(--text-primary);display:flex;flex-direction:column;align-items:center;padding:clamp(32px,6vh,80px) clamp(24px,5vw,80px) 64px;box-sizing:border-box}.landing__logo{display:block;height:clamp(120px,22vh,220px);width:auto;margin:0 auto clamp(40px,8vh,88px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.landing__body{width:100%;max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.landing__cta{display:flex;flex-direction:column;gap:16px;max-width:360px;margin:0 auto;width:100%}.landing__sso-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;border-radius:8px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid rgba(255,255,255,.18);transition:background .15s,border-color .15s,transform .1s}.landing__sso-btn:hover{border-color:#fff6;transform:translateY(-1px)}.landing__sso-btn:active{transform:translateY(0)}.landing__sso-btn--google{background:#fff;color:#1f1f1f;border-color:transparent}.landing__sso-btn--google:hover{background:#f3f4f6}.landing__sso-btn--github{background:#1f2937;color:var(--text-primary)}.landing__sso-btn--github:hover{background:#374151}.landing__visual{display:flex;align-items:center;justify-content:center}.landing__hero{width:100%;max-width:480px;height:auto;border-radius:12px;-o-object-fit:cover;object-fit:cover;box-shadow:0 20px 60px #0009}@media (max-width: 768px){.landing__body{grid-template-columns:1fr;gap:40px}.landing__visual{order:-1}}.admin-sidebar__item{position:relative}.admin-sidebar__badge{margin-left:auto;min-width:20px;padding:1px 6px;border-radius:10px;background:#ef4444;color:var(--text-primary);font-size:11px;font-weight:700;text-align:center;line-height:16px}.report-fab{bottom:calc(var(--player-bar-height, 100px) + 16px)}.report-fab__badge{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 5px;background:var(--status-failed, #ef4444);color:var(--text-primary);font-size:10px;font-weight:var(--fw-bold);line-height:18px;text-align:center;border-radius:9px;border:2px solid var(--bg-surface)}.report-fab:hover,.annot-fab:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000059;background:var(--bg-base)}.report-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:200}.report-drawer{width:min(560px,92vw);max-height:88vh;overflow:auto;background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-lg, 12px);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 80px #00000080}.report-drawer__header{display:flex;justify-content:space-between;align-items:baseline}.report-drawer__header h2{margin:0;font-size:var(--fs-lg, 18px)}.report-drawer__close{font-size:24px;line-height:1;color:var(--text-secondary);background:none;border:none;cursor:pointer}.report-drawer__song{color:var(--text-secondary);font-size:var(--fs-sm)}.report-drawer__song span{opacity:.7}.report-drawer__form{display:flex;flex-direction:column;gap:14px}.report-drawer__cats{border:1px solid var(--border-subtle);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:6px}.report-drawer__cats legend{padding:0 6px;color:var(--text-secondary);font-size:var(--fs-sm)}.report-drawer__cat{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);cursor:pointer}.report-drawer__desc{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);color:var(--text-secondary)}.report-drawer__desc textarea,.report-drawer__error,.report-drawer__done{color:var(--ok);font-weight:600}.report-drawer__actions,.report-drawer__actions button,.report-detail__actions button,.report-detail__diag-actions button{padding:8px 14px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);border-radius:6px;font-size:var(--fs-sm);cursor:pointer}.report-drawer__actions button:hover,.report-detail__actions button:hover,.report-detail__diag-actions button:hover{border-color:var(--border-strong)}.report-drawer__submit{background:var(--text-primary)!important;color:var(--bg-base)!important;border-color:var(--text-primary)!important}.admin-reports__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;flex-wrap:wrap;gap:12px}.admin-reports__filters{display:flex;gap:6px;flex-wrap:wrap}.admin-reports__filter{padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:16px;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer}.admin-reports__filter--active{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.admin-reports__error{color:var(--err);margin-bottom:12px}.admin-reports__empty{color:var(--text-secondary);margin-top:16px}.admin-reports__table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.admin-reports__table th,.admin-reports__table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}.admin-reports__table th{font-weight:var(--fw-semibold);color:var(--text-secondary)}.admin-reports__songlink{color:var(--text-primary);text-decoration:underline;text-underline-offset:2px}.admin-reports__artist{color:var(--text-secondary)}.admin-reports__pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--bg-elevated);color:var(--text-secondary)}.admin-reports__pill--open{background:#fef3c7;color:#92400e}.admin-reports__pill--investigating{background:#dbeafe;color:#1e3a8a}.admin-reports__pill--resolved{background:#dcfce7;color:#14532d}.admin-reports__pill--wontfix{background:#f3f4f6;color:#374151}.admin-reports__desc-cell{max-width:380px;color:var(--text-secondary)}.admin-reports__slug-filter{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;margin-bottom:12px;font-size:var(--fs-sm);color:var(--text-secondary);display:flex;align-items:center;gap:12px}.admin-reports__slug-filter code{background:var(--bg-base);padding:1px 6px;border-radius:4px;font-family:var(--font-mono, monospace);color:var(--text-primary)}.admin-reports__slug-filter button{margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-sm)}.admin-reports__slug-filter button:hover{color:var(--text-primary)}.admin-btn--report{background:#f59e0b1f;border-color:#f59e0b73;color:#b45309;background:#f59e0b2e;color:#fcd34d}.admin-btn--report:hover{background:#f59e0b38;border-color:#f59e0bb3}.report-detail{display:flex;flex-direction:column;gap:24px}.report-detail__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px}.report-detail__head h1{margin:0;font-size:var(--fs-lg)}.report-detail__artist{color:var(--text-secondary);font-weight:400}.report-detail__back{color:var(--text-secondary);font-size:var(--fs-sm)}.report-detail__head-actions .btn{padding:6px 12px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-elevated)}.report-detail__meta dl{display:grid;grid-template-columns:140px 1fr;gap:6px 16px;font-size:var(--fs-sm)}.report-detail__meta dt{color:var(--text-secondary)}.report-detail__email{color:var(--text-secondary);font-size:var(--fs-xs, 12px)}.report-detail__section h2{font-size:var(--fs-md, 14px);margin:0 0 8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.report-detail__desc{white-space:pre-wrap;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:12px 14px}.report-detail__json{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:12px;font-family:var(--font-mono, monospace);font-size:12px;white-space:pre-wrap;max-height:320px;overflow:auto}.report-detail__hint{color:var(--text-secondary);font-size:var(--fs-sm)}.report-detail__section textarea{width:100%;display:block;font:inherit;padding:12px 14px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);resize:vertical;min-height:140px;margin-bottom:8px}.report-detail__section textarea:focus{outline:none;border-color:var(--border-strong)}.report-detail__diag-actions{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.report-detail__diag-list{display:flex;flex-direction:column;gap:8px}.report-detail__diag{border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated)}.report-detail__diag header{display:flex;align-items:center;gap:12px;padding:8px 12px;cursor:pointer;font-size:var(--fs-sm)}.report-detail__diag-kind{font-weight:600}.report-detail__diag-trigger{font-size:11px;background:var(--bg-base);padding:1px 6px;border-radius:4px;color:var(--text-secondary)}.report-detail__diag-date{color:var(--text-secondary);font-size:12px}.report-detail__diag-toggle{margin-left:auto;color:var(--text-secondary)}.report-detail__diag-err{color:var(--err);font-size:12px}.standards-page{max-width:1200px;margin:0 auto;padding:var(--space-6) var(--space-6) var(--space-12)}.standards-page__credit{margin-top:var(--space-8);color:var(--text-tertiary);font-size:var(--fs-xs);text-align:center}.standards-page__credit a{color:inherit;text-decoration:underline}.standard-detail__head{margin-bottom:var(--space-4)}.standard-detail__back{display:inline-block;color:var(--text-tertiary);font-size:var(--fs-sm);text-decoration:none;margin-bottom:var(--space-2)}.standard-detail__back:hover{color:var(--text-primary)}.standard-detail__title-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3)}.standard-detail__title{font-size:var(--fs-2xl);margin:0;color:var(--text-primary)}.standard-detail__composer{font-size:var(--fs-base);color:var(--text-secondary);font-weight:400}.standard-detail__tags{display:inline-flex;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.standard-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-pill, 12px);font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;font-family:var(--font-mono, monospace);border:1px solid}.standard-tag--key{background:#a855f729;border-color:#a855f78c;color:#a855f7}.standard-tag--rhythm{background:#38bdf824;border-color:#38bdf880;color:#0284c7}.standard-tag--time{background:#73737324;border-color:#73737380;color:var(--text-secondary)}.standard-tag--form{background:#22c55e24;border-color:#22c55e80;color:#16a34a}.standard-tag--key{color:#d8b4fe}.standard-tag--rhythm{color:#7dd3fc}.standard-tag--form{color:#86efac}.standard-detail__controls{display:flex;gap:var(--space-4);align-items:center;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border-radius:8px}.standard-detail__bpm{display:flex;gap:var(--space-2);align-items:center;color:var(--text-secondary);font-size:var(--fs-sm)}.standard-detail__bpm>span:first-child{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}.standard-detail__bpm input[type=range]{width:180px;accent-color:var(--accent-primary)}.standard-detail__bpm-input{width:56px;background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border-default);border-radius:4px;padding:4px 6px;font-size:var(--fs-sm);font-family:inherit;font-variant-numeric:tabular-nums;text-align:center}.standard-detail__instrument{display:inline-flex;border:1px solid var(--border-default);border-radius:6px;overflow:hidden;background:var(--bg-base)}.standard-detail__instr-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;font-size:var(--fs-sm);font-family:inherit;cursor:pointer;transition:background .1s ease,color .1s ease}.standard-detail__instr-btn:hover{color:var(--text-primary)}.standard-detail__instr-btn--active{background:var(--accent-primary);color:var(--text-primary)}.standard-detail__instr-btn--active:hover{color:var(--text-primary)}.standard-detail__instr-btn+.standard-detail__instr-btn{border-left:1px solid var(--border-default)}.standard-detail__loop{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-base);border:1px solid var(--border-default);color:var(--text-secondary);padding:6px 12px;font-size:var(--fs-sm);font-family:inherit;border-radius:6px;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.standard-detail__loop:hover{color:var(--text-primary);border-color:var(--border-strong)}.standard-detail__loop--on{background:#22c55e29;border-color:#22c55e8c;color:#16a34a;color:#86efac}.standard-detail__voicings-row-name{text-decoration:none;cursor:pointer;transition:color .1s ease}.standard-detail__voicings-row-name:hover{text-decoration:underline;text-underline-offset:4px}.voicing-page{display:flex;flex-direction:column;gap:var(--space-4)}.voicing-page__head{display:flex;align-items:baseline;gap:var(--space-4);position:sticky;top:calc(var(--header-height, 56px) + var(--space-3));z-index:5;background:var(--bg-base);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-2);box-shadow:0 calc(-1 * var(--space-3)) 0 var(--bg-base)}.voicing-page__title{font-size:var(--fs-3xl, 32px);margin:0;font-family:var(--font-mono, monospace);color:var(--text-primary)}.analysis-block__count{color:var(--text-tertiary);font-weight:400;font-size:var(--fs-sm);text-transform:none;letter-spacing:0}.voicing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-3);max-width:calc(400px * 3 + var(--space-3) * 2)}.drop-voicing-row{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.drop-voicing-row__head{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:var(--space-2)}.drop-voicing-row__count{font-weight:var(--fw-regular);color:var(--text-tertiary);text-transform:none;letter-spacing:0;font-family:var(--font-mono, monospace)}.drop-voicing-row__count strong{color:var(--text-primary)}.drop-voicing-row__symbol{margin-left:auto;font-family:var(--font-mono, monospace);font-weight:700;font-size:var(--fs-md);color:var(--text-primary);text-decoration:none;text-transform:none;letter-spacing:0}.drop-voicing-row__symbol:hover{text-decoration:underline;text-underline-offset:4px}.analysis__toc h3{margin:0 0 8px}.analysis__toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.analysis__toc-link{display:block;padding:6px 10px;border-radius:6px;font-size:var(--fs-xs, 12px);color:var(--text-secondary);text-decoration:none;border-left:2px solid transparent;transition:background .12s,color .12s,border-color .12s}.analysis__toc-link:hover{background:var(--bg-elevated);color:var(--text-primary);border-left-color:var(--text-primary)}.voicing-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3)}.voicing-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 14px 10px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;transition:color .12s,border-color .12s}.voicing-tab:hover{color:var(--text-primary)}.voicing-tab--active{color:var(--text-primary);border-bottom-color:var(--text-primary)}.scale-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2)}.scale-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:6px 12px;font-size:var(--fs-sm);font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.scale-tab:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.scale-tab--active{background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.scale-tab--primary{border-color:var(--harmony-tonic, #facc15)}.scale-tab__star{margin-right:4px;color:var(--harmony-tonic, #facc15)}.scale-tab--active .scale-tab__star{color:var(--bg-base)}.scale-tab--partial{border-style:dashed;opacity:.85}.scale-tab__approx{margin-right:4px;color:var(--text-tertiary);font-style:italic}.scale-tab--active .scale-tab__approx{color:var(--bg-base)}.scale-role-hint--partial{border-left-color:var(--text-tertiary)}.scale-role-hint{margin-top:var(--space-2);margin-bottom:0;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border-left:3px solid var(--harmony-tonic, #facc15);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.45}.parent-tonality-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin-top:var(--space-2)}.parent-tonality-table th,.parent-tonality-table td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--border-subtle)}.parent-tonality-table th{color:var(--text-tertiary);font-weight:var(--fw-semibold);text-transform:uppercase;font-size:var(--fs-xs);letter-spacing:.04em}.parent-tonality-table tr:last-child td{border-bottom:none}.parent-tonality-table__roman{font-family:var(--font-mono);color:var(--text-primary);font-weight:var(--fw-semibold)}.parent-tonality-table__link{color:var(--text-primary);text-decoration:none}.parent-tonality-table__link:hover{text-decoration:underline}.active-scale{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.active-scale__notes{display:flex;flex-wrap:wrap;gap:var(--space-3)}.active-scale__sub{font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin:var(--space-2) 0 0;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.voicing-standards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.voicing-standards__item{display:grid;grid-template-columns:40px 1fr 200px 60px;gap:var(--space-3);align-items:baseline;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.voicing-standards__item:last-child{border-bottom:none}.voicing-standards__item:hover{background:var(--bg-elevated)}.voicing-standards__rank{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:var(--fs-xs)}.voicing-standards__title{color:var(--text-primary);text-decoration:none;font-weight:var(--fw-semibold)}.voicing-standards__title:hover{text-decoration:underline;text-underline-offset:4px}.voicing-standards__composer{color:var(--text-tertiary);font-size:var(--fs-sm);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voicing-standards__count{color:var(--text-secondary);font-variant-numeric:tabular-nums;text-align:right;font-size:var(--fs-sm)}@media (max-width: 768px){.voicing-standards__item{grid-template-columns:30px 1fr 50px}.voicing-standards__composer{display:none}}.standard-detail__sections{display:flex;flex-direction:column;gap:var(--space-6)}.chord-grid{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;padding:var(--space-4);transition:border-color .2s ease,box-shadow .2s ease}.chord-grid--current{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary),0 4px 16px #00000014}.chord-grid__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.chord-grid__label{font-size:var(--fs-lg);margin:0;color:var(--accent-primary);font-weight:700;flex-shrink:0}.chord-grid__meta{color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;flex:1}.chord-grid__play{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent-primary);color:var(--text-primary);border:none;border-radius:50%;cursor:pointer;font-size:var(--fs-sm);transition:transform .1s ease,background .1s ease}.chord-grid__play:hover:not(:disabled){background:var(--accent-primary-hover, var(--accent-primary));transform:scale(1.05)}.chord-grid__play:disabled{opacity:.45;cursor:default}.chord-grid__measures{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.chord-grid__measure{border:1px solid var(--border-subtle);border-radius:4px;padding:var(--space-2) var(--space-3);background:var(--bg-base);min-height:56px;display:flex;align-items:center}.chord-grid__cells{display:grid;width:100%;gap:var(--space-1)}.chord-grid__cell{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Courier New,Menlo,monospace;font-weight:700;color:var(--text-primary);text-align:center;padding:2px;border-radius:3px;transition:background .12s ease}.chord-grid__cell--empty{color:var(--text-tertiary);font-weight:400}.chord-grid__cell--optional{color:var(--text-tertiary);font-style:italic;font-weight:500}.chord-grid__cell--playing{background:var(--accent-primary);color:var(--text-primary)}.chord-grid__cell-main{font-size:var(--fs-base)}.chord-grid__cell-alt{font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:500}.chord-grid__cell--playing .chord-grid__cell-alt{color:#ffffffd9}.chord-grid__ending{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border-subtle);display:flex;gap:var(--space-3);align-items:flex-start}.chord-grid__ending-label{color:var(--accent-primary);font-weight:700;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-2);background:var(--bg-base);border-radius:4px;flex-shrink:0;white-space:nowrap}.chord-grid__ending .chord-grid__measures{flex:1}@media (max-width: 768px){.chord-grid__measures{grid-template-columns:repeat(2,1fr)}}.progression-examples__tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3)}.progression-examples__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--text-tertiary);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s}.progression-examples__tab:hover{color:var(--text-secondary)}.progression-examples__tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.progression-examples__tab-count{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-tertiary);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}.progression-examples__tab--active .progression-examples__tab-count{color:var(--accent-primary)}.progression-examples__panel{display:flex;flex-direction:column;gap:var(--space-3)}.analysis-arp-tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin:var(--space-3) 0 var(--space-3)}.analysis-arp-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--text-tertiary);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s}.analysis-arp-tab:hover{color:var(--text-secondary)}.analysis-arp-tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.progression-example__count{margin-left:auto;margin-right:var(--space-3);color:var(--text-tertiary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.scale-position__title-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;margin:0;cursor:pointer;text-align:left;color:inherit;transition:color .12s}.scale-position__title-button:hover h3{color:var(--accent-primary);text-decoration:underline}.scale-position__title-button h3{margin:0;display:inline}.sweep-tab__selector{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle)}.sweep-tab__pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:999px;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;transition:all .15s}.sweep-tab__pill:hover{color:var(--text-primary);border-color:var(--border-strong)}.sweep-tab__pill--active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-base)}.sweep-tab__pill-id{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.sweep-tab__pill-count{font-size:var(--fs-xs);background:#ffffff26;padding:0 var(--space-2);border-radius:999px;font-variant-numeric:tabular-nums}.sweep-tab__pill:not(.sweep-tab__pill--active) .sweep-tab__pill-count{background:var(--bg-base);color:var(--text-tertiary)}.standard-detail__voicings{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-default)}.standard-detail__voicings h2{font-size:var(--fs-xl);margin:0 0 var(--space-2);color:var(--text-primary)}.standard-detail__voicings-list{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-4)}.standard-detail__voicings-row{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;padding:var(--space-4)}.standard-detail__voicings-row-head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.standard-detail__voicings-row-name{font-family:Courier New,Menlo,monospace;font-size:var(--fs-lg);font-weight:700;color:var(--accent-primary)}.standard-detail__voicings-row-alt{font-size:var(--fs-xs);color:var(--text-tertiary);font-style:italic}.arcanium-suggestions{margin-top:16px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.arcanium-suggestions__summary{list-style:none;cursor:pointer;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.arcanium-suggestions__summary::-webkit-details-marker{display:none}.arcanium-suggestions__summary:before{content:"▸";font-size:12px;color:var(--text-tertiary);transition:transform .15s ease}.arcanium-suggestions[open] .arcanium-suggestions__summary:before{transform:rotate(90deg)}.arcanium-suggestions__title{flex:0 0 auto}.arcanium-suggestions__chord{flex:0 0 auto;font-size:var(--fs-xs);color:var(--text-secondary);font-weight:var(--fw-normal)}.arcanium-suggestions__count{flex:0 0 auto;margin-left:auto;font-size:var(--fs-xs);color:var(--text-tertiary);background:var(--bg-base);padding:2px 8px;border-radius:999px;border:1px solid var(--border-subtle)}.arcanium-suggestions__body{padding:8px 16px 16px;border-top:1px solid var(--border-subtle)}.arcanium-suggestions__hint{margin:8px 0;font-size:var(--fs-sm);color:var(--text-secondary)}.arcanium-suggestions__error{margin:8px 0;padding:8px 12px;font-size:var(--fs-sm);color:#f87171;background:#dc26261f;border:1px solid rgba(220,38,38,.4);border-radius:6px}.arcanium-suggestions__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.arcanium-suggestion{margin:0;padding:0}.arcanium-suggestion__inner{display:block;width:100%;text-align:left;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;font:inherit;color:inherit}.arcanium-suggestion__inner--interactive{cursor:pointer;transition:border-color .12s ease,transform .12s ease}.arcanium-suggestion__inner--interactive:hover{border-color:var(--accent-primary, #2563eb);transform:translateY(-1px)}.arcanium-suggestion__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.arcanium-suggestion__title{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.3}.arcanium-suggestion__score{flex:0 0 auto;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 15%,transparent);padding:1px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.arcanium-suggestion__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:var(--fs-xs);color:var(--text-secondary)}.arcanium-suggestion__transposed{color:var(--accent-warning, #f59e0b)}.arcanium-suggestion__chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.arcanium-suggestion__chip{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.arcanium-suggestion__chip--fit{background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent);border-color:color-mix(in srgb,var(--accent-primary, #2563eb) 30%,transparent);color:var(--accent-primary, #2563eb);font-weight:var(--fw-semibold)}.composer-import-catalog-modal{width:min(680px,92vw)}.composer-import-catalog__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-height:0;overflow-y:auto}.composer-import-catalog__item{margin:0;padding:0}.composer-import-catalog__btn{display:block;width:100%;text-align:left;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 14px;cursor:pointer;color:inherit;font:inherit;position:relative;transition:border-color .12s ease,transform .12s ease}.composer-import-catalog__btn:hover:not(:disabled){border-color:var(--accent-primary, #2563eb);transform:translateY(-1px)}.composer-import-catalog__btn:disabled{cursor:default;opacity:.45}.composer-import-catalog__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:2px}.composer-import-catalog__sub{font-size:var(--fs-xs);color:var(--text-secondary)}.composer-import-catalog__loading{position:absolute;top:10px;right:14px;font-size:var(--fs-xs);color:var(--accent-primary, #2563eb);font-weight:var(--fw-semibold)}.report-fab.composer-import-catalog-fab{bottom:calc(var(--player-bar-height, 100px) + var(--composer-feature-bar-height, 0px) + 196px);font-size:20px}.report-fab.composer-import-catalog-fab--active{background:var(--accent-primary, #2563eb);color:var(--text-primary);border-color:var(--accent-primary, #2563eb);box-shadow:0 4px 12px #2563eb73}.sync-tab{display:flex;flex-direction:column;gap:24px}.sync-tab__status{padding:12px 16px;border-radius:8px;border:1px solid var(--border-secondary);font-size:14px}.sync-tab__status--active{border-color:var(--status-ready, #22c55e);background:color-mix(in srgb,var(--status-ready, #22c55e) 10%,transparent)}.sync-tab__status--inactive{color:var(--text-secondary)}.sync-tab__status-meta{margin-top:6px;font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-secondary)}.sync-tab__remove{margin-top:8px;background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary);padding:4px 10px;border-radius:4px;cursor:pointer}.sync-tab__remove:hover{color:var(--status-failed, #ef4444)}.sync-tab__section{border-top:1px solid var(--border-tertiary, var(--border-secondary));padding-top:16px}.sync-tab__section h3{margin:0 0 8px;font-size:14px;font-weight:var(--fw-semibold)}.sync-tab__url-row{display:flex;gap:8px;align-items:stretch}.sync-tab__url-row input{flex:1}.sync-tab__url-row button{padding:0 16px;background:var(--accent-primary, #2563eb);color:var(--text-primary);border:none;border-radius:4px;cursor:pointer;font-weight:var(--fw-semibold)}.sync-tab__url-row button:disabled{opacity:.45;cursor:default}.beat-position{gap:var(--space-4)}.beat-position__header{display:flex;align-items:center;gap:var(--space-4)}.beat-position__header h1{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.beat-position__header h1 em{color:var(--text-secondary);font-style:normal}.beat-position__toolbar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px)}.beat-position__toolbar-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.beat-position__transport{display:flex;align-items:center;gap:var(--space-2)}.beat-position__time-block{display:flex;flex-direction:column;gap:2px;min-width:130px}.beat-position__time-current{font-family:var(--font-mono, monospace);font-size:var(--fs-base);color:var(--text-primary);font-feature-settings:"tnum"}.beat-position__time-meta{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--text-tertiary);display:flex;gap:6px}.beat-position__time-dirty{color:var(--warn);font-weight:var(--fw-semibold)}.beat-position__baseline{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 10px;border-radius:var(--radius-sm, 4px);border:1px solid var(--border-subtle);background:var(--bg-base);cursor:help}.beat-position__baseline-label{font-size:9px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.beat-position__baseline-value{font-size:var(--fs-sm);font-weight:var(--fw-medium);font-family:var(--font-mono, monospace)}.beat-position__baseline--algo .beat-position__baseline-value{color:var(--accent-primary)}.beat-position__baseline--algo{border-color:color-mix(in srgb,var(--accent-primary) 35%,transparent)}.beat-position__baseline--songsterr .beat-position__baseline-value{color:#ff8a3d}.beat-position__baseline--songsterr{border-color:color-mix(in srgb,#ff8a3d 35%,transparent)}.beat-position__divider{width:1px;height:28px;background:var(--border-subtle);flex-shrink:0}.beat-position__spacer{flex:1}.beat-position__field{display:flex;flex-direction:column;gap:4px}.beat-position__field-label{font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-tertiary);font-weight:var(--fw-semibold)}.beat-position__seg{display:inline-flex;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);padding:2px;gap:2px}.beat-position__seg-btn{padding:5px 10px;font-size:var(--fs-xs);font-weight:var(--fw-medium);background:transparent;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-mono, monospace);transition:background .1s ease,color .1s ease}.beat-position__seg-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.beat-position__seg-btn--active{background:var(--accent-primary);color:var(--text-on-accent);font-weight:var(--fw-semibold)}.beat-position__seg-btn--readonly{cursor:default;color:var(--text-primary);font-weight:var(--fw-semibold);pointer-events:none}.beat-position__seg-btn:disabled{opacity:.45;cursor:default}.beat-position__pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-pill, 999px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s ease}.beat-position__pill:hover{border-color:var(--border-strong);color:var(--text-primary)}.beat-position__pill:has(input:checked){border-color:var(--accent-primary);color:var(--text-primary);background:color-mix(in srgb,var(--accent-primary) 10%,var(--bg-base))}.beat-position__pill input{width:13px;height:13px;accent-color:var(--accent-primary);cursor:pointer;margin:0}.beat-position__action{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all .12s ease}.beat-position__action:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.beat-position__action--active{background:#f59e0b;color:#1f1408;border-color:#d97706}.beat-position__action--active:hover{background:#f59e0b;color:#1f1408}.beat-position__action--ghost{color:var(--text-secondary)}.beat-position__action:disabled{opacity:.45;cursor:default}.beat-position__field--stepper{flex-wrap:nowrap;min-width:0}.beat-position__stepper{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0}.beat-position__step{display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 4px;font-size:var(--fs-xs);font-family:var(--font-mono, monospace);color:var(--text-secondary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:999px;cursor:pointer;transition:background .1s ease,color .1s ease,border-color .1s ease}.beat-position__step:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong, var(--text-tertiary))}.beat-position__step-num{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-weight:var(--fw-bold);font-size:10px;color:var(--text-on-accent);background:var(--text-tertiary);border-radius:999px}.beat-position__step-label{white-space:nowrap}.beat-position__step--current{background:color-mix(in srgb,#f59e0b 15%,var(--bg-base));border-color:#f59e0b;color:#1f1408}.beat-position__step--current .beat-position__step-num{background:#f59e0b;color:#1f1408}.beat-position__step--done{background:color-mix(in srgb,var(--accent-primary) 15%,var(--bg-base));border-color:var(--accent-primary);color:var(--accent-primary)}.beat-position__step--done .beat-position__step-num{background:var(--accent-primary);color:var(--text-on-accent)}.beat-position__step--reset{padding:4px 9px;color:var(--text-tertiary);font-size:var(--fs-sm)}.beat-position__step--reset:disabled{opacity:.45;cursor:default}.beat-position__wave-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);background:var(--bg-elevated);padding:var(--space-2);margin-bottom:var(--space-3)}.beat-position__wave-wrap--tab{margin-bottom:0;padding:var(--space-2) var(--space-3)}.beat-position__save-bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px)}.beat-position__save-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-3)}.beat-position__save-count{font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono, monospace)}.beat-position__save-notice{font-size:var(--fs-sm);color:var(--accent-primary);font-weight:var(--fw-semibold)}.beat-position__save-error{font-size:var(--fs-sm);color:var(--status-failed, #ef4444);font-weight:var(--fw-semibold)}.beat-position__intro-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;transition:all .12s ease}.beat-position__intro-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.beat-position__intro-btn--active{background:#f59e0b;color:#1f1408;border-color:#d97706}.beat-position__intro-btn--active:hover{background:#f59e0b;color:#1f1408}.beat-position__loop-cancel{margin-left:auto;padding:4px 10px;font-size:var(--fs-xs);background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);cursor:pointer}.beat-position__loop-cancel:hover{color:var(--text-primary);border-color:var(--border-strong, var(--text-tertiary))}.beat-position__wave-scroll--calibrating{cursor:crosshair;outline:2px solid #f59e0b;outline-offset:-2px}.beat-position__loop-band{position:absolute;top:var(--section-lane, 0px);background:#2dd75e21;border-left:2px solid rgba(45,215,94,.6);border-right:2px solid rgba(45,215,94,.6);pointer-events:none;z-index:0}.beat-position__loop-banner{display:flex;align-items:center;gap:var(--space-3);padding:8px var(--space-3);margin-bottom:var(--space-2);background:#2dd75e1a;border:1px solid var(--accent-primary, #2dd75e);border-radius:var(--radius-sm, 4px);font-size:var(--fs-sm);color:var(--text-primary);line-height:1.45}.beat-position__loop-icon{font-size:18px;flex-shrink:0;color:var(--accent-primary)}.beat-position__loop-banner strong{color:var(--accent-primary)}.beat-position__loop-banner kbd{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);padding:1px 5px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:3px}.beat-position__marker--in-loop{background:#2dd75e8c;width:1.5px}.beat-position__marker--loop-center{background:var(--accent-primary, #2dd75e);width:2px}.beat-position__marker--loop-center .beat-position__marker-label{color:var(--text-on-accent, #06160c);background:var(--accent-primary, #2dd75e);border-color:var(--accent-primary, #2dd75e)}.beat-position__onsets{position:absolute;top:var(--section-lane, 0px);left:0;pointer-events:none;z-index:1}.beat-position__tempo{position:absolute;top:var(--section-lane, 0px);width:0;border-left:1px dashed #a855f7;pointer-events:none;z-index:2}.beat-position__tempo-label{position:absolute;top:22px;left:0;transform:translate(-50%);padding:2px 7px;font-size:10px;font-family:var(--font-mono, monospace);font-weight:var(--fw-bold);letter-spacing:.3px;color:var(--text-primary);background:#a855f7;border:1px solid #7e22ce;border-radius:3px;pointer-events:auto;box-shadow:0 1px 4px #a855f74d;white-space:nowrap}.beat-position__tempo:hover{border-left-color:#7e22ce;border-left-width:2px}.beat-position__section{position:absolute;top:2px;z-index:5;transform:translate(-50%);padding:2px 8px;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.3px;color:var(--text-primary);background:#14b8a6;border:1px solid #0f766e;border-radius:3px;cursor:pointer;box-shadow:0 1px 4px #14b8a64d;white-space:nowrap;font-family:var(--font-sans)}.beat-position__section:hover{background:#0d9488;transform:translate(-50%) translateY(-1px)}.beat-position__section--active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 35%,transparent)}.bar-preview-frame{margin-top:var(--space-3);padding:var(--space-2);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px)}.bar-preview{display:flex;flex-direction:column;gap:var(--space-2)}.bar-preview__toolbar{display:flex;align-items:center;gap:var(--space-3)}.bar-preview__field{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs)}.bar-preview__field-label{font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.bar-preview__select{padding:4px 8px;font:inherit;font-size:var(--fs-xs);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);color:var(--text-primary);cursor:pointer}.bar-preview__bpm{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:var(--fs-xs);font-family:var(--font-mono, monospace);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px)}.bar-preview__viewport{height:200px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.bar-preview__viewport::-webkit-scrollbar{display:none}.beat-position__now-section{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border-subtle);background:color-mix(in srgb,var(--accent-primary) 10%,transparent);border-radius:999px;font-size:var(--fs-xs)}.beat-position__now-section-label{font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.beat-position__now-section-value{font-weight:var(--fw-bold);color:var(--accent-primary)}.beat-position__wave-scroll{position:relative;overflow-x:auto;overflow-y:hidden;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px)}.beat-position__wave-scroll--with-sections{--section-lane: 22px}.beat-position__wave-scroll--with-sections .beat-position__canvas{margin-top:var(--section-lane)}.beat-position__wave-inner{position:relative}.beat-position__canvas{display:block;width:100%}.beat-position__wave-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:var(--fs-sm);pointer-events:none}.beat-position__cursor{position:absolute;top:var(--section-lane, 0px);width:2px;background:#2dd75ee6;box-shadow:0 0 8px #2dd75e8c;pointer-events:none;z-index:2}.beat-position__marker{position:absolute;top:var(--section-lane, 0px);width:1px;background:#fff3;cursor:ew-resize;z-index:3}.beat-position__marker:before{content:"";position:absolute;top:0;right:-6px;bottom:0;left:-6px}.beat-position__marker:hover{background:var(--text-secondary)}.beat-position__marker--locked{cursor:not-allowed;background:var(--text-tertiary)}.beat-position__marker--dirty{background:var(--warn);width:2px;box-shadow:0 0 6px #f59e0b8c}.beat-position__marker--drag{background:var(--accent-primary);width:2px;box-shadow:0 0 8px var(--accent-primary)}.beat-position__marker-label{position:absolute;top:4px;left:50%;transform:translate(-50%);padding:1px 6px;font-size:var(--fs-xs);font-family:var(--font-mono, monospace);font-weight:var(--fw-semibold);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:3px;pointer-events:none;white-space:nowrap}.beat-position__marker--dirty .beat-position__marker-label{color:#1f1408;background:var(--warn);border-color:#d97706}.beat-position__marker--drag .beat-position__marker-label{color:var(--text-on-accent);background:var(--accent-primary);border-color:var(--accent-primary)}.beat-position__dirty{padding:var(--space-3);border:1px solid var(--warn);border-radius:var(--radius-md, 6px);background:#f59e0b14}.beat-position__dirty h3{margin:0 0 var(--space-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.beat-position__dirty-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.beat-position__dirty-list li{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-surface);font-size:var(--fs-xs);font-family:var(--font-mono, monospace)}.beat-position__seek-btn,.beat-position__reset-btn{background:transparent;border:none;color:var(--text-primary);cursor:pointer;font:inherit;padding:0}.beat-position__seek-btn:hover{color:var(--accent-primary)}.beat-position__delta{color:#b45309;font-weight:var(--fw-semibold)}.beat-position__reset-btn{width:18px;height:18px;border:1px solid var(--border-subtle);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;margin-left:4px;color:var(--text-tertiary)}.beat-position__reset-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.beat-position__dirty-overflow{color:var(--text-tertiary);font-style:italic}.sync-tab__manual-link{border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);padding:var(--space-3);margin-bottom:var(--space-4);background:#2563eb0a}.sync-tab__priority{border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);padding:var(--space-4);background:var(--surface-2, rgba(255, 255, 255, .03));margin-bottom:var(--space-5)}.sync-tab__priority-title{margin:0 0 var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sync-tab__priority-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sync-tab__priority-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm, 4px);border-left:3px solid transparent;cursor:pointer;transition:background .12s ease}.sync-tab__priority-row:hover:not(.sync-tab__priority-row--active):not(.sync-tab__priority-row--disabled){background:var(--bg-elevated)}.sync-tab__priority-row--active{background:#22c55e14;border-left-color:var(--status-ready, #22c55e)}.sync-tab__priority-row--off{background:#ffffff05}.sync-tab__priority-row--off .sync-tab__priority-meta{color:var(--text-tertiary)}.sync-tab__priority-rank{font-family:var(--font-mono, monospace);font-weight:var(--fw-bold);color:var(--text-tertiary)}.sync-tab__priority-radio{display:inline-flex;align-items:center;cursor:pointer}.sync-tab__priority-radio input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--status-ready, #22c55e)}.sync-tab__priority-row--disabled,.sync-tab__priority-row--disabled .sync-tab__priority-radio,.sync-tab__priority-row--disabled .sync-tab__priority-radio input{cursor:default}.sync-tab__priority-row--disabled .sync-tab__priority-label{color:var(--text-tertiary)}.tempo-row__meta{display:flex;flex-direction:column;gap:2px;align-items:flex-end;text-align:right}.tempo-row__meta strong{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);font-feature-settings:"tnum"}.tempo-row__sub{font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.45}.tempo-row__manual-actions{display:flex;align-items:center;gap:var(--space-2)}.tempo-row__manual-actions input[type=number]{width:90px;padding:4px 8px;font-size:var(--fs-sm);font-family:var(--font-mono, monospace);text-align:right;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);color:var(--text-primary)}.tempo-row__manual-actions input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 25%,transparent)}.tempo-row__manual-actions button{padding:5px 12px;font-size:var(--fs-xs);font-weight:var(--fw-medium);background:var(--accent-primary);color:var(--text-on-accent, #fff);border:1px solid var(--accent-primary);border-radius:var(--radius-sm, 4px);cursor:pointer}.tempo-row__manual-actions button:hover:not(:disabled){filter:brightness(1.08)}.tempo-row__manual-actions button:disabled{opacity:.45;cursor:default}.tempo-row__manual-actions .tempo-row__halfdouble{padding:5px 8px;background:transparent;color:var(--text-secondary);border-color:var(--border-subtle);font-family:var(--font-mono, monospace)}.tempo-row__manual-actions .tempo-row__halfdouble:hover:not(:disabled){filter:none;color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-elevated)}.sync-tab__history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.sync-tab__history-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 6px);transition:border-color .12s ease,background .12s ease}.sync-tab__history-row--active{border-color:#22c55e66;background:#22c55e0f}.sync-tab__history-radio input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--status-ready, #22c55e)}.sync-tab__history-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.sync-tab__history-meta code{font-family:var(--font-mono, monospace);font-size:var(--fs-sm);color:var(--text-primary);font-weight:var(--fw-semibold)}.sync-tab__history-sub{font-size:var(--fs-xs);color:var(--text-tertiary)}.sync-tab__history-actions{display:flex;align-items:center;gap:var(--space-2)}.sync-tab__history-actions a{padding:4px 10px;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);text-decoration:none;font-size:var(--fs-xs)}.sync-tab__history-actions a:hover{color:var(--text-primary);border-color:var(--border-strong)}.sync-tab__history-actions button{background:transparent;border:1px solid var(--border-subtle);border-radius:4px;padding:4px 8px;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-sm)}.sync-tab__history-actions button:hover{border-color:var(--status-failed, #ef4444);color:var(--status-failed, #ef4444);background:#ef44440f}.sync-tab__history-actions button:disabled{opacity:.45;cursor:wait}.sync-tab__priority-label{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-medium)}.sync-tab__priority-meta{font-size:var(--fs-sm);color:var(--text-secondary);font-family:var(--font-mono, monospace)}.sync-tab__priority-actions{display:flex;gap:var(--space-2);flex-shrink:0}.sync-tab__priority-actions button,.sync-tab__priority-actions a{padding:4px 10px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:var(--fs-xs);text-decoration:none;cursor:pointer;white-space:nowrap;line-height:1.4}.sync-tab__priority-actions button:hover,.sync-tab__priority-actions a:hover{background:var(--surface-2, rgba(255, 255, 255, .05))}.sync-tab__priority-badge{display:inline-block;padding:1px 6px;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.5px;background:var(--status-ready, #22c55e);color:#0d1117;border-radius:3px}.sync-tab__priority-badge--shadowed{background:var(--status-review, #f59e0b)}.manual-menu{position:relative;display:inline-block}.manual-menu__trigger{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;line-height:1.4;font:inherit}.manual-menu__trigger:hover{background:var(--surface-2, rgba(255, 255, 255, .05))}.manual-menu__caret{font-size:9px;color:var(--text-tertiary);margin-left:2px}.manual-menu__list{position:absolute;top:calc(100% + 4px);right:0;min-width:280px;list-style:none;margin:0;padding:4px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md, 6px);box-shadow:var(--shadow-md);z-index:100}.manual-menu__sep{height:1px;margin:4px 8px;background:var(--border-subtle)}.manual-menu__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 12px;text-align:left;background:transparent;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;font:inherit;transition:background .1s ease}.manual-menu__item:hover:not(:disabled){background:var(--bg-elevated)}.manual-menu__item-title{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.manual-menu__item-sub{font-size:var(--fs-xs);color:var(--text-tertiary)}.manual-menu__item--primary .manual-menu__item-title{font-weight:var(--fw-semibold);color:var(--accent-primary)}.manual-menu__item--primary:hover{background:color-mix(in srgb,var(--accent-primary) 8%,transparent)}.manual-menu__item--warn .manual-menu__item-title{color:var(--warn)}.manual-menu__item--warn:hover{background:#f59e0b14}.manual-menu__item--danger .manual-menu__item-title{color:var(--status-failed, #ef4444)}.manual-menu__item--danger:hover{background:#ef444414}.manual-menu__item--disabled{cursor:default;opacity:.45}.manual-menu__item--disabled:hover{background:transparent}.songsterr-panel{--songsterr-orange: #ff8a3d;--songsterr-orange-deep: #d65a00;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-surface);overflow:hidden;box-shadow:var(--shadow-sm)}.songsterr-panel__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(180deg,color-mix(in srgb,var(--songsterr-orange) 12%,transparent),transparent);border-bottom:1px solid var(--border-subtle)}.songsterr-panel__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--songsterr-orange),var(--songsterr-orange-deep));color:var(--text-primary);font-weight:var(--fw-bold);font-size:18px;font-family:var(--font-mono, monospace);letter-spacing:-.5px;box-shadow:0 4px 12px color-mix(in srgb,var(--songsterr-orange) 35%,transparent),inset 0 1px #ffffff2e}.songsterr-panel__head-text{min-width:0}.songsterr-panel__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.songsterr-panel__sub{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.45}.songsterr-panel__count{align-self:start;margin-top:4px;padding:3px 8px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--songsterr-orange);border:1px solid color-mix(in srgb,var(--songsterr-orange) 35%,transparent);border-radius:var(--radius-pill, 999px);background:color-mix(in srgb,var(--songsterr-orange) 8%,transparent);letter-spacing:.3px;white-space:nowrap}.songsterr-panel__body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.songsterr-panel__empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:var(--space-5) var(--space-4);border:1px dashed var(--border-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-elevated)}.songsterr-panel__empty-icon{font-size:28px;color:var(--songsterr-orange);opacity:.7;line-height:1;margin-bottom:var(--space-1)}.songsterr-panel__empty-title{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text-primary)}.songsterr-panel__empty-sub{margin:0;font-size:var(--fs-sm);color:var(--text-secondary);max-width:42ch}.songsterr-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.songsterr-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-left:3px solid transparent;border-radius:var(--radius-md, 6px);transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.songsterr-row:hover{border-color:var(--border-strong)}.songsterr-row--active{border-color:color-mix(in srgb,var(--songsterr-orange) 45%,transparent);border-left-color:var(--songsterr-orange);background:color-mix(in srgb,var(--songsterr-orange) 6%,var(--bg-elevated));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--songsterr-orange) 18%,transparent)}.songsterr-row__radio{display:inline-flex;align-items:center;cursor:pointer}.songsterr-row__radio input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--songsterr-orange)}.songsterr-row__main{min-width:0;display:flex;flex-direction:column;gap:4px}.songsterr-row__title-line{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.songsterr-row__vid{font-family:var(--font-mono, monospace);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);background:#ffffff0a;padding:1px 6px;border-radius:3px;border:1px solid var(--border-subtle)}.songsterr-row__pill{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.5px;padding:2px 7px;border-radius:3px;background:var(--songsterr-orange);color:#1a0d00}.songsterr-row__feature{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.songsterr-row__meta{display:flex;flex-wrap:wrap;gap:6px;font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.songsterr-row__meta span[aria-hidden]{color:var(--border-strong)}.songsterr-row__actions{display:flex;align-items:center;gap:var(--space-2)}.songsterr-row__yt{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;transition:all .12s ease}.songsterr-row__yt:hover{color:var(--text-primary);background:#c00;border-color:#c00}.songsterr-row__yt span{font-size:9px}.songsterr-row__delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-tertiary);cursor:pointer;font-size:13px;line-height:1;transition:all .12s ease}.songsterr-row__delete:hover:not(:disabled){color:var(--status-failed, #ef4444);border-color:var(--status-failed, #ef4444);background:color-mix(in srgb,var(--status-failed, #ef4444) 10%,transparent)}.songsterr-row__delete:disabled{opacity:.45;cursor:wait}.songsterr-panel__form{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px dashed var(--border-subtle)}.songsterr-panel__form-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px}.songsterr-panel__form-row{display:flex;gap:var(--space-2);align-items:stretch}.songsterr-panel__input{flex:1;min-width:0;padding:8px 12px;font-family:var(--font-mono, monospace);font-size:var(--fs-sm);color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);transition:border-color .12s ease,box-shadow .12s ease}.songsterr-panel__input::-moz-placeholder{color:var(--text-tertiary)}.songsterr-panel__input::placeholder{color:var(--text-tertiary)}.songsterr-panel__input:focus{outline:none;border-color:var(--songsterr-orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--songsterr-orange) 25%,transparent)}.songsterr-panel__submit{padding:0 var(--space-4);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:#1a0d00;background:linear-gradient(180deg,var(--songsterr-orange),var(--songsterr-orange-deep));border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;transition:filter .12s ease,transform 60ms ease;white-space:nowrap}.songsterr-panel__submit:hover:not(:disabled){filter:brightness(1.08)}.songsterr-panel__submit:active:not(:disabled){transform:translateY(1px)}.songsterr-panel__submit:disabled{opacity:.45;cursor:default;filter:saturate(.6)}.songsterr-panel__notice{display:flex;align-items:flex-start;gap:var(--space-2);padding:8px 12px;border-radius:var(--radius-sm, 4px);font-size:var(--fs-sm);line-height:1.4}.songsterr-panel__notice--ok{background:#22c55e1a;color:var(--status-ready, #22c55e);border:1px solid rgba(34,197,94,.25)}.songsterr-panel__notice--err{background:#ef44441a;color:var(--status-failed, #ef4444);border:1px solid rgba(239,68,68,.3)}.songsterr-panel__notice span[aria-hidden]{font-weight:var(--fw-bold);flex-shrink:0}.algo-panel{--algo-green: var(--accent-playback, #2dd75e);--algo-green-deep: #16692e;border:1px solid var(--border-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-surface);overflow:hidden;box-shadow:var(--shadow-sm)}.algo-panel__header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(180deg,color-mix(in srgb,var(--algo-green) 12%,transparent),transparent);border-bottom:1px solid var(--border-subtle)}.algo-panel__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--algo-green),var(--algo-green-deep));color:#06160c;font-weight:var(--fw-bold);font-size:18px;line-height:1;box-shadow:0 4px 12px color-mix(in srgb,var(--algo-green) 35%,transparent),inset 0 1px #ffffff2e}.algo-panel__head-text{min-width:0}.algo-panel__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.algo-panel__sub{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.45}.algo-panel__count{align-self:start;margin-top:4px;padding:3px 8px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-pill, 999px);background:var(--bg-elevated);letter-spacing:.3px;white-space:nowrap}.algo-panel__count--ok{color:var(--algo-green);border-color:color-mix(in srgb,var(--algo-green) 35%,transparent);background:color-mix(in srgb,var(--algo-green) 8%,transparent)}.algo-panel__count--run{color:var(--status-processing, #3b82f6);border-color:color-mix(in srgb,var(--status-processing, #3b82f6) 40%,transparent);background:color-mix(in srgb,var(--status-processing, #3b82f6) 10%,transparent)}.algo-panel__count--err{color:var(--status-failed, #ef4444);border-color:color-mix(in srgb,var(--status-failed, #ef4444) 40%,transparent);background:color-mix(in srgb,var(--status-failed, #ef4444) 10%,transparent)}.algo-panel__body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.algo-panel__actions{display:flex;justify-content:flex-end;padding-top:var(--space-3);border-top:1px dashed var(--border-subtle)}.algo-panel__regen{padding:8px 18px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-on-accent, #06160c);background:linear-gradient(180deg,var(--algo-green),var(--algo-green-deep));border:none;border-radius:var(--radius-sm, 4px);cursor:pointer;transition:filter .12s ease,transform 60ms ease}.algo-panel__regen:hover:not(:disabled){filter:brightness(1.08)}.algo-panel__regen:active:not(:disabled){transform:translateY(1px)}.algo-panel__regen:disabled{opacity:.45;cursor:default;filter:saturate(.6)}.song-edit__success{background:#22c55e1a;color:var(--status-ready, #22c55e);border-radius:var(--radius-sm);padding:var(--space-2);margin-top:var(--space-2);font-size:var(--fs-sm)}kbd{background:#ffffff14;border:1px solid var(--border-subtle);border-radius:3px;padding:1px 6px;font-family:var(--font-mono, monospace);font-size:.9em}.kbd-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.kbd-modal__dialog{width:100%;max-width:560px;max-height:80vh;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.kbd-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border-subtle)}.kbd-modal__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.kbd-modal__close{background:transparent;border:none;color:var(--text-secondary);font-size:24px;line-height:1;cursor:pointer;padding:0 8px;border-radius:4px}.kbd-modal__close:hover{color:var(--text-primary);background:var(--bg-elevated)}.kbd-modal__body{padding:var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-5);color:var(--text-primary)}.kbd-modal__section-title{margin:0 0 var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary)}.kbd-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.kbd-modal__row{display:grid;grid-template-columns:130px 1fr;gap:var(--space-3);align-items:baseline;font-size:var(--fs-sm);color:var(--text-primary)}.kbd-modal__keys{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.kbd-modal__plus{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0 2px}.kbd-modal__label{color:var(--text-primary)}.kbd-modal__hint{color:var(--text-tertiary);font-size:var(--fs-xs)}.kbd-modal__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--bg-elevated);font-size:var(--fs-xs);color:var(--text-secondary)}.kbd-modal__footer kbd{margin:0 1px}.kbd-modal__keys kbd{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:4px;padding:2px 8px;min-width:24px;text-align:center;font-family:var(--font-mono, monospace);font-size:12px;font-weight:var(--fw-semibold);box-shadow:0 1px 0 var(--border-subtle)}.kbd-modal__role-badge{display:inline-block;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.5px;border-radius:3px;background:#22c55e26;color:var(--status-ready, #22c55e);border:1px solid rgba(34,197,94,.3);vertical-align:middle}[data-admin-mode=on] body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;box-shadow:inset 0 0 0 2px #ef44448c;border-radius:0}.admin-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:linear-gradient(to right,rgba(239,68,68,.18),rgba(239,68,68,.04) 60%,transparent);border-bottom:1px solid rgba(239,68,68,.3);font-size:var(--fs-sm);flex-wrap:wrap}.admin-bar__chip{display:inline-block;padding:2px 8px;background:var(--status-failed, #ef4444);color:var(--text-primary);border-radius:3px;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.5px}.admin-bar__slug{color:var(--text-secondary);font-family:var(--font-mono, monospace);font-size:var(--fs-xs)}.admin-bar__actions{display:flex;gap:var(--space-2);margin-left:auto;flex-wrap:wrap}.admin-bar__action{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-subtle);border-radius:4px;background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-xs);text-decoration:none;cursor:pointer;position:relative}.admin-bar__action:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.admin-bar__action--accent{background:var(--status-ready, #22c55e);border-color:var(--status-ready, #22c55e);color:#06160c;font-weight:var(--fw-semibold)}.admin-bar__action--accent:hover{filter:brightness(1.1);background:var(--status-ready, #22c55e)}.admin-bar__action--accent:disabled{opacity:.45;cursor:wait}.admin-bar__badge{display:inline-block;margin-left:4px;min-width:16px;height:16px;padding:0 4px;background:var(--status-failed, #ef4444);color:var(--text-primary);border-radius:8px;font-size:10px;font-weight:var(--fw-bold);line-height:16px;text-align:center}.composer-fab--admin:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--status-failed, #ef4444);pointer-events:none}.palette__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:10vh var(--space-4) var(--space-4)}.palette__dialog{width:100%;max-width:640px;max-height:70vh;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.palette__input-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.palette__icon{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-tertiary);font-family:var(--font-mono, monospace);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 6px;background:var(--bg-elevated);flex-shrink:0}.palette__input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--fs-md);padding:4px 0;font-family:inherit}.palette__input::-moz-placeholder{color:var(--text-tertiary)}.palette__input::placeholder{color:var(--text-tertiary)}.palette__list{list-style:none;margin:0;padding:var(--space-2);overflow-y:auto;flex:1}.palette__group{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.5px;text-transform:uppercase;color:var(--text-tertiary);padding:var(--space-3) var(--space-2) var(--space-1);border-top:1px solid var(--border-subtle);margin-top:var(--space-2)}.palette__list>.palette__group:first-child{border-top:none;margin-top:0;padding-top:var(--space-1)}.palette__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.palette__item--active{background:var(--bg-elevated)}.palette__item-icon{flex:0 0 24px;font-size:16px;text-align:center;color:var(--text-secondary)}.palette__item--active .palette__item-icon{color:var(--text-primary)}.palette__item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.palette__item-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__item-sub{font-size:var(--fs-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__item-hint{font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.palette__empty{padding:var(--space-6) var(--space-4);color:var(--text-tertiary);text-align:center;font-size:var(--fs-sm)}.palette__footer{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--bg-elevated);font-size:var(--fs-xs);color:var(--text-secondary)}.palette__footer kbd{background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:3px;padding:1px 5px;margin:0 2px;font-family:var(--font-mono, monospace);font-size:11px}.menu__sep{height:1px;background:var(--border-subtle);margin:5px 4px}.menu__count-badge{margin-left:auto;min-width:18px;padding:1px 5px;border-radius:var(--radius-pill);background:var(--accent-danger, #ef4444);color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:10px;font-weight:var(--fw-bold);text-align:center}.header__avatar-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-pill);background:var(--accent-danger, #ef4444);border:2px solid #000;color:var(--text-primary);font-family:var(--font-mono, monospace);font-size:9px;font-weight:var(--fw-bold);line-height:14px;text-align:center;pointer-events:none}.menu__kbd-hint{margin-left:auto;padding:1px 6px;background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:3px;font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-tertiary)}.suggestion-carousel{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:stretch;gap:var(--space-2);margin-top:var(--space-2)}.suggestion-carousel__viewport{position:relative;overflow:hidden;border-radius:8px}.suggestion-carousel__slide{display:block;width:100%}.suggestion-carousel__slide--pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);min-width:0}.suggestion-carousel__slide--pair>*{min-width:0}.suggestion-carousel__slide--pair .suggestion-card__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-carousel__slide--pair .suggestion-card__tab{overflow:hidden}.suggestion-card--clickable{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-subtle);background:var(--bg-base);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.suggestion-card--clickable:hover{border-color:var(--border-strong);transform:translateY(-1px)}.suggestion-card--active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--text-primary)}.suggestion-carousel__nav{width:36px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-size:24px;font-weight:var(--fw-medium);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s,transform .15s}.suggestion-carousel__nav:hover:not(:disabled){background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary);transform:scale(1.05)}.suggestion-carousel__nav:active:not(:disabled){transform:scale(.97)}.suggestion-carousel__nav:disabled{opacity:.45;cursor:default}.suggestion-carousel__dots{grid-column:1 / -1;display:flex;justify-content:center;gap:6px;margin-top:var(--space-2)}.suggestion-carousel__dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:8px;height:8px;padding:0;border-radius:50%;border:none;background:var(--border-subtle);cursor:pointer;transition:background .15s,transform .15s,width .15s}.suggestion-carousel__dot:hover{background:var(--text-secondary)}.suggestion-carousel__dot--active{background:var(--text-primary);width:22px;border-radius:4px}.suggestion-card{flex:1 1 auto;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:var(--space-2)}.suggestion-card__head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.suggestion-card__title{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.3}.suggestion-card__score{flex:0 0 auto;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 15%,transparent);padding:1px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.suggestion-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.suggestion-card__transposed{font-style:italic;color:var(--text-secondary)}.suggestion-card__chips{display:flex;flex-wrap:wrap;gap:4px}.suggestion-card__chip{font-size:10px;font-weight:var(--fw-medium);font-family:var(--font-mono, monospace);padding:2px 6px;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary)}.suggestion-card__chip--fit{color:var(--text-primary);border-color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 10%,transparent)}.suggestion-card__tab{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;padding:6px 8px;overflow-x:auto}.vextab-partition{padding:4px 0;text-align:center}.vextab-partition svg{display:inline-block}.vextab-partition svg>text:last-of-type{display:none}.vextab-partition__error{margin:0;padding:8px;font-size:var(--fs-xs);color:var(--text-tertiary);font-style:italic}.suggestion-card__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.suggestion-card__btn{padding:6px 14px;border-radius:6px;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);transition:background .12s,border-color .12s,color .12s}.suggestion-card__btn:hover{border-color:var(--border-strong)}.suggestion-card__btn--play{min-width:90px}.suggestion-card__btn--playground{margin-left:auto;background:var(--text-primary);color:var(--bg-base);border-color:var(--text-primary)}.suggestion-card__btn--playground:hover{opacity:.9}.playground{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0 calc(var(--player-height, 80px) + var(--player-progress, 4px) + var(--space-4))}.playground-viewer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px}.playground-viewer__head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.playground-viewer__title{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.playground-viewer__meta{font-size:var(--fs-xs);color:var(--text-tertiary);font-family:var(--font-mono, monospace)}.playground-viewer__alphatab-wrap{max-width:min(900px,100%);width:100%;margin:0 auto;position:relative;z-index:0;isolation:isolate}.playground-viewer__alphatab-wrap div.at-cursor-bar,.alphatab-wrap div.at-cursor-bar,.composer-score div.at-cursor-bar{display:none!important}.playground-viewer__alphatab{background:var(--alphatab-bg, var(--bg-base));border:1px solid var(--border-subtle);border-radius:8px;min-height:360px;overflow-x:hidden}.playground-carousel__slide{display:block;width:100%;min-width:0}.playground-card{display:flex;flex-direction:column;gap:var(--space-2);padding:10px 14px;background:linear-gradient(180deg,var(--bg-base) 0%,color-mix(in srgb,var(--bg-elevated) 40%,var(--bg-base)) 100%);border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.playground-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.playground-card--active{border-color:var(--accent-primary, #2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary, #2563eb) 35%,transparent),0 2px 8px #0000000a}.playground-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-width:0}.playground-card__title{margin:0;display:flex;align-items:baseline;gap:8px;min-width:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:1.25}.playground-card__kind{flex:0 0 auto;padding:2px 7px;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px}.playground-card__title-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.playground-card__score{flex:0 0 auto;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent);padding:3px 9px;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap}.playground-card__body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--space-3)}@media (max-width: 768px){.playground-card__body{grid-template-columns:minmax(0,1fr)}}.playground-card__fretboard{display:flex;flex-direction:column;gap:6px;min-width:0}.playground-card__fb-legend{display:flex;align-items:baseline;gap:8px;font-size:10px;font-family:var(--font-mono, monospace);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.playground-card__fb-legend strong{color:var(--text-primary);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0}.playground-card__info{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.playground-card__stats{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:var(--space-3) var(--space-4);padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px}.playground-card__stats--vertical{grid-template-columns:1fr;gap:var(--space-2)}.playground-card__stat{display:flex;flex-direction:column;gap:2px;min-width:0}.playground-card__stats--vertical .playground-card__stat{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3)}.playground-card__diff-row{display:inline-flex;align-items:center;gap:var(--space-2)}.playground-card__stat--difficulty{flex-direction:row;align-items:center;gap:var(--space-2);grid-column:span 1;justify-self:end}.playground-card__stat-label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.playground-card__stat-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.playground-card__stat-unit{margin-left:3px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-tertiary)}.playground-card__diff-bar{display:inline-flex;gap:3px;align-items:center}.playground-card__diff-dot{width:8px;height:8px;border-radius:50%;background:var(--border-subtle)}.playground-card__diff-dot--on{background:var(--accent-primary, #2563eb)}.playground-card__diff-num{font-size:var(--fs-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-family:var(--font-mono, monospace)}.playground-card__chip-groups{display:flex;flex-direction:column;gap:var(--space-2)}.playground-card__chip-group{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.playground-card__chip-label{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);min-width:150px}.playground-card__chips{display:flex;gap:4px;flex-wrap:wrap;flex:1;min-width:0}.playground-card__chip{font-size:11px;font-weight:var(--fw-medium);font-family:var(--font-mono, monospace);padding:3px 8px;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-secondary);background:var(--bg-base)}.playground-card__chip--fit{color:var(--text-primary);border-color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 10%,transparent)}.playground-card__transposed{margin:0;font-size:var(--fs-xs);font-style:italic;color:var(--text-secondary)}.playground-player{z-index:50}.app:has(.playground-player)>.player:not(.playground-player){display:none}.extended-tensions{display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:color-mix(in srgb,var(--text-primary) 3%,transparent);border:1px solid var(--border-subtle);border-radius:8px;margin-top:16px}.extended-tensions--empty{color:var(--text-tertiary);font-size:13px;font-style:italic}.extended-tensions__title{font-size:14px;font-weight:600;margin:0;color:var(--text-primary)}.extended-tensions__hint{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5}.extended-tensions__group{display:flex;flex-direction:column;gap:6px}.extended-tensions__group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.extended-tensions__chips{display:flex;flex-wrap:wrap;gap:8px}.extended-tensions__chip{display:inline-grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-elevated);min-width:280px;max-width:380px}.extended-tensions__chip-label{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:700}.extended-tensions__chip-note{font-family:var(--font-mono, monospace);font-size:13px;font-weight:700;color:var(--text-primary)}.extended-tensions__chip-hint{font-size:11px;color:var(--text-secondary);line-height:1.4}.context-page{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3) var(--space-6) var(--space-5);max-width:1560px;margin:0 auto}.context-page__back-link{margin-left:auto;font-size:var(--fs-xs);color:var(--text-tertiary);text-decoration:none}.context-page__back-link:hover{color:var(--accent-primary, #2563eb)}.context-remarkable-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.context-remarkable-item{display:grid;grid-template-columns:50px auto auto auto 1fr;align-items:center;gap:10px;padding:6px 10px;border-left:3px solid var(--border-strong);background:color-mix(in srgb,var(--text-primary) 3%,transparent);border-radius:0 6px 6px 0;font-size:var(--fs-sm)}.context-remarkable-item--quality{border-left-color:#a855f7}.context-remarkable-item--secondary-dominant{border-left-color:#2563eb}.context-remarkable-item--non-diatonic{border-left-color:#f59e0b}.context-remarkable-item__bar{font-family:var(--font-mono, monospace);font-size:10px;font-weight:700;color:var(--text-tertiary);letter-spacing:.06em}.context-remarkable-item__chord{font-family:var(--font-mono, monospace);font-weight:700;color:var(--text-primary);text-decoration:none;padding:2px 8px;background:var(--bg-elevated);border-radius:4px;border:1px solid var(--border-subtle)}.context-remarkable-item__chord:hover{border-color:var(--accent-primary, #2563eb)}.context-remarkable-item__roman{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-secondary);font-style:italic}.context-remarkable-item__roman--secondary{color:#2563eb}.context-remarkable-item__hint{font-size:12px;color:var(--text-tertiary);line-height:1.4}.quicknav-btn__glyph{font-size:22px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.arcanium-stub{max-width:720px;margin:80px auto;padding:0 24px;display:flex;flex-direction:column;gap:16px;text-align:center}.arcanium-stub__badge{align-self:center;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:color-mix(in srgb,var(--accent-primary, #2563eb) 14%,transparent);color:var(--accent-primary, #2563eb)}.arcanium-stub__title{font-size:36px;font-weight:700;margin:0;color:var(--text-primary);letter-spacing:-.02em}.arcanium-stub__subtitle{font-size:16px;margin:0;color:var(--text-secondary);font-weight:500}.arcanium-stub__description{font-size:14px;line-height:1.6;color:var(--text-tertiary);margin:16px auto 0;max-width:560px}.devices{display:flex;flex-direction:column;gap:16px;max-width:720px}.devices__list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.devices__row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-secondary)}.devices__row--highlight{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.devices__row--revoked{opacity:.55}.devices__code{font-family:var(--font-mono, monospace);font-size:var(--fs-sm);padding:2px 8px;border-radius:6px;background:var(--bg-tertiary);letter-spacing:.08em}.devices__name{font-weight:600}.devices__muted{color:var(--text-tertiary);font-size:var(--fs-xs)}.devices__error{color:var(--danger, #e5484d)}.devices__revoke{margin-left:auto}.devices__fresh-token{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px dashed var(--accent);border-radius:8px;overflow-x:auto}.devices__fresh-token code{font-family:var(--font-mono, monospace);font-size:var(--fs-sm);word-break:break-all}.follow-pilot{position:fixed;right:var(--page-margin);bottom:calc(var(--player-height) + var(--space-5));z-index:101;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:border-color .12s ease-out,color .12s ease-out}.follow-pilot:hover{border-color:var(--sect-rack, #b06cf0);color:var(--text-primary)}.follow-pilot--on{color:var(--sect-rack, #b06cf0);border-color:color-mix(in srgb,var(--sect-rack, #b06cf0) 50%,var(--border-subtle));background:color-mix(in srgb,var(--sect-rack, #b06cf0) 15%,var(--bg-elevated))}.follow-pilot--on:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sect-rack, #b06cf0);box-shadow:0 0 8px var(--sect-rack, #b06cf0)}.follow-pilot__banner{position:fixed;right:var(--page-margin);bottom:calc(var(--player-height) + var(--space-5) + 34px + var(--space-3) + 40px);z-index:120;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid var(--accent);background:var(--bg-secondary);font-size:var(--fs-sm);box-shadow:0 2px 12px #0000004d}.follow-pilot__loop{position:fixed;right:var(--page-margin);bottom:calc(var(--player-height) + var(--space-5) + 34px + var(--space-3));z-index:120;display:flex;gap:6px}.follow-pilot__loop-btn{min-width:44px;padding:6px 10px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-secondary);font-size:var(--fs-sm);cursor:pointer;box-shadow:0 2px 8px #00000040}.follow-pilot__loop-btn:disabled{opacity:.45;cursor:default}.follow-pilot__loop-btn--armed{border-color:var(--accent)}.follow-pilot__loop-btn--on{background:var(--accent);border-color:var(--accent);color:#101014;font-weight:600}.golem-now-playing{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;margin-right:8px;border-radius:999px;border:1px solid var(--accent);background:transparent;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.golem-now-playing:hover{background:var(--accent);color:#101014}.golem-now-playing__cta{font-weight:600}.golem-song-info{margin-top:6px;font-size:var(--fs-xs);color:var(--text-tertiary)}.golem-lib__stats{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px;color:var(--text-secondary);font-size:var(--fs-base)}.golem-lib__stats strong{color:var(--text-primary)}.golem-lib__rig-stamp{margin-left:auto;font-style:italic}.golem-lib__search{margin-left:auto;min-width:220px;padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary)}.golem-lib__kind{flex:none;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);color:var(--text-secondary)}.golem-lib__kind--amp,.golem-lib__kind--amp-cab{border-color:#d97706;color:#d97706}.golem-lib__kind--cab{border-color:#0891b2;color:#0891b2}.golem-lib__kind--pedal{border-color:#7c3aed;color:#7c3aed}.golem-lib__kind--synth{border-color:#db2777;color:#db2777}.golem-lib__onrig{flex:none;color:var(--accent-primary);font-size:var(--fs-xs);white-space:nowrap}.golem-lib__tags{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 4px}.golem-lib__tag{font-size:var(--fs-xs);padding:1px 8px;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-secondary)}.golem-lib__assets{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.golem-lib__asset{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:var(--fs-sm)}.golem-lib__asset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golem-lib__asset-meta{margin-left:auto;flex:none;color:var(--text-tertiary);font-size:var(--fs-xs)}.golem-lib__srclink{display:inline-block;margin-top:10px;font-size:var(--fs-sm);color:var(--accent-primary)}.golem-lib__empty{color:var(--text-secondary);padding:8px 2px}.golem-lib__upload{border:1px dashed var(--border-strong)}.golem-lib__upload--over{border-color:var(--accent-primary);background:var(--bg-elevated)}.golem-lib__upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.golem-lib__upload-hint{color:var(--text-secondary);font-size:var(--fs-sm)}.golem-lib__upload-kind{max-width:240px}.golem-lib__upload-msg{margin:8px 0 0;color:var(--text-secondary);font-size:var(--fs-sm)}.golem-lib__tag--m{border:1px solid var(--accent-primary);background:none;color:var(--accent-primary);display:inline-flex;align-items:center;gap:4px}.golem-lib__tag-x{border:none;background:none;color:inherit;cursor:pointer;font-size:inherit;padding:0 2px;line-height:1}.golem-lib__curation{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-elevated)}.golem-lib__curation-label{color:var(--text-tertiary);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.golem-lib__mtags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.golem-lib__tag-input{border:none;background:none;color:var(--text-primary);font-size:var(--fs-sm);min-width:70px;outline:none}.golem-lib__note{width:100%;resize:vertical;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-sm);padding:6px 8px;font-family:var(--font-sans)}.golem-lib__trash-btn{margin-left:auto}.golem-lib__a2{flex:none;font-size:10px;font-weight:800;color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:5px;padding:0 4px;line-height:1.4}.golem-lib__a2--sm{margin-left:6px;font-size:9px}.golem-lib__queued{flex:none;color:var(--text-secondary);font-size:var(--fs-xs);white-space:nowrap;font-style:italic}.golem-dash__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.golem-dash__facts{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}.golem-dash__facts>div{display:flex;justify-content:space-between;gap:12px}.golem-dash__facts dt{color:var(--text-secondary);font-size:var(--fs-sm)}.golem-dash__facts dd{margin:0;font-size:var(--fs-sm);font-weight:600}.golem-dash__muted{color:var(--text-secondary);font-weight:400;font-size:var(--fs-xs)}.golem-dash__note{color:var(--text-secondary);font-size:var(--fs-xs);font-style:italic;margin:8px 0 0}.golem-dash__kinds{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.golem-dash__backups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.golem-dash__backups li{display:flex;align-items:center;gap:10px;min-width:0}.golem-dash__backup-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.golem-dash__errors{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.golem-dash__errors li{display:flex;align-items:baseline;gap:8px}.golem-dash__content{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.golem-dash__content li{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.golem-dash__content a{color:var(--text-primary);text-decoration:none}.golem-dash__content a:hover{color:var(--accent-primary)}.golem-dash__content-sub{padding-left:14px;font-size:var(--fs-sm);color:var(--text-tertiary)}.golem-metric--wide{grid-column:span 2}@media (max-width: 720px){.golem-metric--wide{grid-column:auto}}.golem-dash__feed{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}.golem-dash__feed-row{display:flex;align-items:center;gap:8px;min-width:0}.golem-dash__feed-status{display:inline-flex;color:var(--text-tertiary)}.golem-dash__feed-row--done .golem-dash__feed-status{color:var(--status-ready, #16a34a)}.golem-dash__feed-row--error .golem-dash__feed-status{color:var(--status-failed, #dc2626)}.golem-dash__feed-row--pending .golem-dash__feed-status{color:var(--accent-primary)}.golem-dash__feed-what{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);color:var(--text-secondary)}.golem-dash__feed-row--error .golem-dash__feed-what{color:var(--status-failed, #dc2626)}.golem-dash__err-tag{border-color:var(--danger, #e5534b);color:var(--danger, #e5534b);display:inline-flex;align-items:center;gap:4px}.golem-dash{display:flex;flex-direction:column;gap:16px}.golem-hero{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:radial-gradient(120% 160% at 0% 0%,color-mix(in srgb,var(--accent-primary) 16%,transparent),transparent 60%),linear-gradient(180deg,var(--bg-elevated),var(--bg-surface));box-shadow:var(--shadow-md);position:relative;overflow:hidden}.golem-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-primary) 8%,transparent));opacity:.5}.golem-hero__badge{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:14px;color:var(--text-on-accent);background:linear-gradient(135deg,var(--accent-primary),color-mix(in srgb,var(--accent-primary) 55%,#000));box-shadow:var(--shadow-sm);z-index:1}.golem-hero__id{flex:1;min-width:0;z-index:1}.golem-hero__name{font-size:var(--fs-lg);font-weight:700;letter-spacing:.2px}.golem-hero__meta{color:var(--text-secondary);font-size:var(--fs-sm);margin-top:2px}.golem-hero__pulse{display:inline-flex;align-items:center;gap:7px;z-index:1;padding:6px 12px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:600;border:1px solid transparent}.golem-hero__pulse--online{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.golem-hero__pulse--idle{color:#d97706;background:color-mix(in srgb,#d97706 14%,transparent);border-color:color-mix(in srgb,#d97706 40%,transparent)}.golem-hero__pulse--offline{color:var(--text-secondary);background:color-mix(in srgb,var(--text-secondary) 12%,transparent);border-color:var(--border-subtle)}.golem-hero__pulse--online svg{animation:golem-blink 1.6s ease-in-out infinite}@keyframes golem-blink{0%,to{opacity:1}50%{opacity:.35}}.golem-metric{display:flex;flex-direction:column;gap:10px}.golem-metric__title{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--fs-sm);font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.golem-metric__title svg{color:var(--accent-primary)}.golem-metric__big{font-size:1.7rem;font-weight:700;line-height:1;letter-spacing:-.5px}.golem-metric__slash{font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary)}.golem-metric__foot{color:var(--text-secondary);font-size:var(--fs-xs);margin:0}.golem-metric__cta{align-self:flex-start;margin-top:auto}.golem-metric--soon{opacity:.82}.golem-gauge{height:10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--text-secondary) 12%,transparent);overflow:hidden}.golem-gauge__fill{display:block;height:100%;border-radius:inherit;transition:width .4s ease}.golem-gauge--ok .golem-gauge__fill{background:linear-gradient(90deg,var(--ok),var(--ok))}.golem-gauge--warn .golem-gauge__fill{background:linear-gradient(90deg,var(--warn),var(--warn))}.golem-gauge--crit .golem-gauge__fill{background:linear-gradient(90deg,#dc2626,#ef4444)}.golem-stack{display:flex;height:12px;border-radius:var(--radius-pill);overflow:hidden;background:color-mix(in srgb,var(--text-secondary) 12%,transparent)}.golem-stack__seg{height:100%;min-width:3px}.golem-stack__seg+.golem-stack__seg{box-shadow:-1px 0 0 var(--bg-surface)}.golem-legend{display:flex;flex-wrap:wrap;gap:6px 12px}.golem-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-secondary)}.golem-legend__item b{color:var(--text-primary)}.golem-legend__dot{width:9px;height:9px;border-radius:3px;flex:none}.golem-perf{display:flex;gap:12px}.golem-perf__cell{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--text-secondary) 12%,transparent)}.golem-perf__icon{color:var(--text-secondary)}.golem-perf__label{font-size:var(--fs-xs);color:var(--text-secondary);font-weight:600}.golem-ring{width:34px;height:34px;border-radius:50%;border:3px solid var(--border-subtle);border-top-color:color-mix(in srgb,var(--text-secondary) 40%,transparent)}.golem-ring--idle{opacity:.6}.golem-update{display:flex;align-items:center;gap:12px}.golem-update__dot{width:10px;height:10px;border-radius:50%;background:var(--text-secondary);flex:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--text-secondary) 12%,transparent)}.golem-update__version{font-weight:700;font-size:var(--fs-md)}.golem-activity{display:flex;flex-wrap:wrap;gap:8px}.golem-activity__stat{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:600}.golem-activity__stat--pending{color:#d97706;background:color-mix(in srgb,#d97706 12%,transparent)}.golem-activity__stat--ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent)}.golem-activity__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.golem-jobs__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.golem-jobs__row{display:flex;align-items:center;gap:10px;min-width:0;padding:6px 0;border-bottom:1px solid var(--border-subtle)}.golem-jobs__row:last-child{border-bottom:none}.golem-jobs__subject{font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golem-jobs__meta{margin-left:auto;color:var(--text-secondary);font-size:var(--fs-xs);white-space:nowrap}.golem-jobs__status{flex:none;width:18px;text-align:center;font-weight:700}.golem-jobs__status--done{color:var(--accent-primary)}.golem-jobs__status--error{color:var(--danger, #e5534b)}.golem-jobs__error{color:var(--danger, #e5534b);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.golem-rig__presets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.golem-rig__preset{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px}.golem-rig__preset-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.golem-rig__preset-name{font-weight:700;font-size:var(--fs-sm)}.golem-rig__scenes{margin-left:auto;display:flex;gap:4px}.golem-rig__scene{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:5px;font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary)}.golem-rig__blocks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.golem-rig__block{font-size:var(--fs-xs);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:6px;padding:2px 7px;display:inline-flex;align-items:center;gap:4px}.golem-rig__banks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;counter-reset:none}.golem-rig__bank{display:flex;align-items:center;gap:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:7px 10px;min-width:0}.golem-rig__bank--empty{opacity:.4}.golem-rig__bank-num{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--text-secondary);flex:none}.golem-rig__bank-name{font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golem-song-info__prepare{border:1px solid var(--border-subtle);background:transparent;color:var(--accent-primary);border-radius:5px;font-size:10px;line-height:1;padding:2px 5px;margin-left:5px;cursor:pointer;vertical-align:1px}.golem-song-info__prepare:hover{border-color:var(--accent-primary)}.golem-song-info__queued{opacity:.8}.golem-preview__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.golem-preview__panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md, 12px);padding:18px;width:min(720px,94vw);max-height:90vh;overflow-y:auto}.golem-preview__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.golem-preview__head h3{margin:0;font-size:var(--fs-md, 16px)}.golem-lib__t3k-input{flex:1;min-width:220px}.landing__pitch{max-width:960px;margin:48px auto 64px;padding:0 24px;text-align:center}.landing__tagline{font-size:clamp(22px,3.4vw,34px);margin:0 0 32px}.landing__tagline em{font-style:normal;color:var(--accent-primary, #7aa2ff)}.landing__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:40px}.landing__card{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:22px 18px;text-align:left;background:#ffffff08}.landing__card-icon{font-size:26px}.landing__card h3{margin:10px 0 6px;font-size:17px}.landing__card p{margin:0;font-size:14px;line-height:1.5;opacity:.8}.landing__waitlist{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.landing__waitlist-label{opacity:.8}.landing__waitlist input{min-width:240px;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff0f;color:inherit;font-size:15px}.landing__waitlist button{padding:12px 20px;border-radius:10px;border:none;background:var(--accent-primary, #7aa2ff);color:#0b0d12;font-weight:700;cursor:pointer}.landing__waitlist button:disabled{opacity:.45;cursor:default}.landing__waitlist-err{color:#ff8a7a;font-size:13px}.landing__waitlist-done{font-size:17px;font-weight:600;color:#6fe3a1}.mysongs{max-width:860px;margin:0 auto;padding:24px 16px 64px;display:flex;flex-direction:column;gap:24px}.mysongs__wizard{background:var(--surface-1, #191c22);border:1px solid var(--border, #2a2f3a);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.mysongs__wizard-title,.mysongs__list-title{margin:0;font-size:1.05rem;font-weight:600}.mysongs__wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}@media (max-width: 768px){.mysongs__wizard-grid{grid-template-columns:minmax(0,1fr)}}.mysongs__field{display:flex;flex-direction:column;gap:5px;font-size:.85rem}.mysongs__field-label{font-weight:600}.mysongs__field-label em{font-weight:400;font-style:normal;opacity:.55;margin-left:4px}.mysongs__field-hint{font-size:.75rem;opacity:.6;line-height:1.35}.mysongs__field input[type=text],.mysongs__field select{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);padding:8px 10px;font-size:.85rem}.mysongs__error{margin:0;color:#ff7b72;font-size:.85rem}.mysongs__empty{opacity:.65;font-size:.9rem;line-height:1.5;max-width:52ch}.mysongs__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.mysongs__row{background:var(--surface-1, #191c22);border:1px solid var(--border, #2a2f3a);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.mysongs__row-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mysongs__row-title{font-weight:600}.mysongs__tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border, #2a2f3a);border-radius:999px;padding:2px 8px;opacity:.7}.mysongs__chip{font-size:.75rem;border-radius:999px;padding:3px 10px;margin-left:auto}.mysongs__chip--ready{background:#3fb95026;color:#3fb950}.mysongs__chip--failed{background:#f8514926;color:var(--err)}.mysongs__chip--active{background:#58a6ff1f;color:#58a6ff}.mysongs__row-error{margin:0;font-size:.82rem;line-height:1.4;color:#ffb3ad}.mysongs__row-actions{display:flex;gap:8px;align-items:center}.mysongs__delete{margin-left:auto;opacity:.6}.mysongs__delete:hover{opacity:1;color:var(--err);border-color:var(--err)}.mysongs__confirm{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:.82rem}.btn--danger{color:var(--err);border-color:#f8514980}.btn--danger:hover{background:#f851491f;border-color:var(--err)}.profile__plan-card{margin-top:var(--space-4, 16px)}.profile__plan-current{margin:0 0 12px;font-size:.9rem}.profile__plan-offers{display:flex;gap:10px;flex-wrap:wrap}.profile__plan-note{margin:0 0 10px;font-size:.85rem}.profile__plan-note--ok{color:#3fb950}.profile__plan-error{margin:10px 0 0;color:var(--err);font-size:.85rem}.mysongs__upsell{margin:0;font-size:.85rem;line-height:1.45;padding:10px 12px;border:1px solid rgba(88,166,255,.4);border-radius:8px;background:#58a6ff14}.mysongs__upsell a{color:#58a6ff;font-weight:600}.profile__privacy-card{margin-top:var(--space-4, 16px)}.profile__privacy-text{margin:0 0 12px;font-size:.88rem;line-height:1.45;max-width:60ch}.profile__privacy-text--danger{color:#ffb3ad}.profile__privacy-sep{border:none;border-top:1px solid var(--border, #2a2f3a);margin:18px 0}.profile__privacy-confirm{display:flex;flex-direction:column;gap:10px;font-size:.88rem}.profile__privacy-confirm input{margin-left:8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);padding:6px 10px}.profile__privacy-confirm-actions{display:flex;gap:10px}.landing__legal{margin-top:28px;font-size:.78rem;opacity:.55}.landing__legal a{color:inherit;text-decoration:underline}.legal{max-width:720px;margin:0 auto;padding:40px 20px 80px;line-height:1.6;font-size:.95rem}.legal h1{font-size:1.5rem;margin:0 0 24px}.legal h2{font-size:1.15rem;margin:32px 0 12px;padding-top:16px;border-top:1px solid var(--border, #2a2f3a)}.legal h3{font-size:.95rem;margin:18px 0 6px}.legal p,.legal ul{margin:0 0 10px}.legal a{color:#58a6ff}.legal__footer{margin-top:36px;font-size:.8rem;opacity:.55}.profile__lang-row{display:flex;gap:10px;margin-bottom:10px}.song-card--add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:100%;padding:24px 16px;border:2px dashed var(--border-strong, #3a4150);background:transparent;color:inherit;font:inherit;text-align:center}.song-card--add:hover{border-color:var(--accent-primary, #58a6ff);background:#58a6ff0d}.song-card--add__plus{font-size:2.6rem;line-height:1;opacity:.7}.song-card--add__title{font-weight:600}.song-card--add__hint{font-size:.78rem;opacity:.6;line-height:1.35;max-width:24ch}.mysongs__head{display:flex;align-items:center;justify-content:space-between}.import-details{display:flex;flex-direction:column}.import-details__form{flex:1}.small-screen-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-4);min-height:60vh;padding:var(--space-6);margin:0 auto;max-width:34rem}.small-screen-gate__icon{color:var(--text-secondary);opacity:.7}.small-screen-gate__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0}.small-screen-gate__body{color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.6;margin:0}.small-screen-gate__cta{margin-top:var(--space-2)}.golem-status{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px 10px;border-radius:var(--radius-pill);background:#ffffff0f;border:1px solid rgba(255,255,255,.12);font-size:var(--fs-xs);font-family:var(--font-mono);color:#fff9;white-space:nowrap;flex-shrink:0}.golem-status__dot{width:7px;height:7px;border-radius:50%;background:#ffffff4d;flex:0 0 auto}.golem-status--fresh{color:#bbf7d0;border-color:#22c55e66;background:#22c55e1f}.golem-status--fresh .golem-status__dot{background:#22c55e;box-shadow:0 0 6px #22c55ee6}.golem-status--warm .golem-status__dot{background:#ffffff8c}.golem-status--cold .golem-status__dot{background:#ffffff40}.golem-status__ago{opacity:.7}@media (max-width: 1100px){.golem-status{padding:4px 6px}.golem-status__label{display:none}}.golem-store__empty{text-align:center;padding:var(--space-8) var(--space-6)}.golem-lib__ask-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:3px 12px;font-size:var(--fs-xs);font-family:inherit;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:color .14s ease,border-color .14s ease,background .14s ease}.golem-lib__ask-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-elevated)}.golem-lib__ask-btn:disabled{opacity:.45;cursor:default}.golem-lib__ask{font-size:var(--fs-xs);color:var(--text-secondary);font-style:italic}.golem-lib__ask--err{color:var(--accent-danger, #ef4444);font-style:normal}@media (max-width: 768px){.lib-filters__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.lib-filters__right{justify-content:space-between}.lib-filters__search input{width:100%}}.main--no-player{padding-bottom:var(--space-8)}.pack-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:var(--space-5)}.pack-grid>li{display:flex}.pack-card{flex:1;display:flex;flex-direction:column;text-decoration:none;color:inherit}.pack-card__art{overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--kind-color) 45%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--kind-color) 24%,#0b0908),#0b0908);cursor:pointer}.pack-card__mono{font-family:var(--font-mono);font-size:26px;font-weight:var(--fw-bold);letter-spacing:.03em;color:color-mix(in srgb,var(--kind-color) 85%,#fff);text-shadow:0 2px 6px rgba(0,0,0,.5)}.pack-card__onrig{position:absolute;bottom:4px;right:4px;color:#22c55e;font-size:10px;text-shadow:0 0 6px rgba(34,197,94,.9)}.pack-card__kind-tag{border-color:color-mix(in srgb,var(--kind-color) 45%,transparent);color:color-mix(in srgb,var(--kind-color) 80%,#fff);background:color-mix(in srgb,var(--kind-color) 14%,transparent)}.pack-card__size-tag{font-family:var(--font-mono);color:var(--text-tertiary, var(--text-secondary))}.pack-card__queued{font-size:var(--fs-xs);color:#fbbf24;white-space:nowrap}.pack-detail{max-width:56rem;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-5)}.pack-detail__back{align-self:start;color:var(--text-secondary);text-decoration:none;font-size:var(--fs-sm)}.pack-detail__back:hover{color:var(--text-primary)}.pack-detail__head{display:flex;gap:var(--space-5);align-items:center}.pack-detail__art{flex:0 0 auto;width:160px;aspect-ratio:16 / 10;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--kind-color) 40%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--kind-color) 22%,#0b0908),#0b0908)}.pack-detail__mono{font-family:var(--font-mono);font-size:40px;font-weight:var(--fw-bold);color:color-mix(in srgb,var(--kind-color) 85%,#fff)}.pack-detail__id{min-width:0}.pack-detail__kind{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.08em;text-transform:uppercase}.pack-detail__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:2px 0}.pack-detail__brand{color:var(--text-secondary);margin:0 0 var(--space-2)}.pack-detail__badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pack-detail__meta{color:var(--text-secondary);font-size:var(--fs-sm)}.pack-detail__actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.pack-detail__actions .golem-lib__srclink{margin-right:auto;margin-top:0}.pack-detail__section{display:flex;flex-direction:column;gap:var(--space-3)}.pack-detail__section-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:0}@media (max-width: 768px){.pack-detail__head{flex-direction:column;align-items:flex-start}.pack-detail__art{width:100%}}.golem-lib__import{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.golem-lib__import .card{margin:0}.golem-lib{padding-bottom:var(--space-8)}.golem-lib .pack-grid{padding:0 var(--space-6)}.golem-lib__import{padding-left:var(--space-6);padding-right:var(--space-6)}.golem-lib>.card{margin-left:var(--space-6);margin-right:var(--space-6)}.golem-filterbar__statsrow{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-sm);flex-wrap:wrap}.golem-filterbar__statsrow strong{color:var(--text-primary)}.golem-filterbar__sync{font-style:italic;color:var(--text-tertiary, var(--text-secondary));margin-right:auto}.golem-filterbar__count{margin-left:auto;padding-left:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary, var(--text-secondary))}.pack-card--add{flex:1;cursor:pointer}.pack-card--add-on{border-style:solid;border-color:var(--accent-primary);color:var(--text-primary)}.pack-card .song-card__cover-wrap{cursor:pointer}.scroll-top-fab{position:fixed;right:20px;bottom:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 4px 12px #00000040;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:60;animation:scroll-top-in .16s ease;transition:transform .1s,box-shadow .15s,background .15s}.scroll-top-fab:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000059;background:var(--bg-surface)}.scroll-top-fab--above-player{bottom:calc(var(--player-bar-height, 100px) + 16px)}@keyframes scroll-top-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.golem-rig{display:flex;flex-direction:column;gap:var(--space-6)}.golem-rig__device{display:flex;flex-direction:column;gap:var(--space-4)}.golem-rig__device-head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.golem-rig__device-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0}.golem-rig__device-meta{color:var(--text-secondary);font-size:var(--fs-sm)}.golem-rig__muted{color:var(--text-secondary);font-weight:var(--fw-medium)}.golem-rig__setlist{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) var(--space-6) 0}.golem-rig__setlist-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0}.preset-card-li{position:relative}.preset-card__add{position:absolute;top:10px;right:10px;z-index:2;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-size:18px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm)}.preset-card__add:hover{background:var(--accent-primary, #5a7cff);color:var(--text-primary);border-color:transparent}.golem-setlist-builder__head{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left}.golem-setlist-builder__head .card__title{margin:0}.golem-setlist-builder__chevron{color:var(--text-secondary);font-size:var(--fs-sm);flex:none}.golem-setlist-builder__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent-primary, #5a7cff);color:var(--text-primary);font-size:var(--fs-xs);font-weight:700}.golem-setlist-builder__body{display:flex;flex-direction:column;gap:14px;margin-top:14px}.golem-setlist-builder__hint{color:var(--text-secondary);font-size:var(--fs-sm);margin:0}.golem-setlist-builder__row{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.golem-setlist-builder__name,.golem-setlist-builder__load{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);font-weight:600}.golem-setlist-builder__name input,.golem-setlist-builder__load select{min-width:220px;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm)}.golem-setlist-builder__fcb{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);padding-bottom:8px}.golem-setlist-builder__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.golem-setlist-builder__entry{display:flex;align-items:center;gap:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:7px 10px}.golem-setlist-builder__entry-num{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--text-secondary);flex:none}.golem-setlist-builder__entry-name{flex:1;font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golem-setlist-builder__entry-ctl{display:flex;gap:4px;flex:none}.golem-setlist-builder__entry-ctl button{width:26px;height:26px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;font-size:var(--fs-xs)}.golem-setlist-builder__entry-ctl button:disabled{opacity:.45;cursor:default}.golem-setlist-builder__entry-ctl button:not(:disabled):hover{color:var(--text-primary)}.golem-setlist-builder__actions{display:flex;align-items:center;gap:10px}.golem-setlist-builder__status{font-size:var(--fs-sm);font-weight:500;margin:0}.golem-setlist-builder__status--ok{color:var(--ok)}.golem-setlist-builder__status--err{color:var(--err)}.blockchain{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding:2px 0}.blockchain__io{flex:none;display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);font-size:9px;font-weight:var(--fw-bold);letter-spacing:.05em;color:var(--text-secondary)}.blockchain__io--in{color:var(--accent-playback, #22c55e)}.blockchain__io--out{color:var(--accent-primary)}.blockchain__blk{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;min-width:40px;padding:4px 7px;border:1.5px solid var(--tc);border-radius:9px;background:var(--bg-elevated)}.blockchain__blk i{font-style:normal;font-size:15px;line-height:1;color:var(--tc)}.blockchain__blk em{font-style:normal;font-size:8.5px;color:var(--text-secondary);line-height:1;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blockchain__a2{position:absolute;top:-6px;right:-6px;font-size:7px;font-weight:var(--fw-bold);color:var(--accent-primary);background:var(--bg-surface);border:1px solid var(--accent-primary);border-radius:4px;padding:0 2px;line-height:1.3}.blockchain--sm{gap:4px}.blockchain--sm .blockchain__blk{min-width:0;padding:4px 6px}.blockchain--sm .blockchain__io{padding:4px 6px}.preset-detail__art{flex-direction:column;gap:2px;border-right:3px solid var(--kind-color)}.preset-detail__count{font-family:var(--font-mono);font-size:34px;font-weight:var(--fw-bold);color:color-mix(in srgb,var(--kind-color) 85%,#fff);line-height:1}.preset-detail__count-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.preset-detail__pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.preset-detail__flow{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);overflow-x:auto}.preset-card__art{flex-direction:column;gap:0;border-right:3px solid var(--kind-color);background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--kind-color) 32%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--kind-color) 18%,#0b0908),#0b0908)}.preset-card__count{font-family:var(--font-mono);font-size:26px;font-weight:var(--fw-bold);line-height:1;color:color-mix(in srgb,var(--kind-color) 88%,#fff)}.preset-card__count-label{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-top:2px}.preset-card__scenes-tag,.preset-card__bank-tag{border-color:color-mix(in srgb,var(--kind-color) 40%,transparent);color:color-mix(in srgb,var(--kind-color) 80%,#fff)}.pack-card--add-soon{cursor:default;opacity:.7}.pack-card--add-soon:hover{border-color:var(--border-strong)}.golem-lib__grouptabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 var(--space-6) var(--space-4);padding:4px;border-radius:var(--radius-lg);background:var(--bg-elevated);width:-moz-fit-content;width:fit-content}.golem-lib__grouptab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium, 500);padding:7px 16px;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.golem-lib__grouptab:hover{color:var(--text-primary)}.golem-lib__grouptab--active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.golem-lib__grouptab--link{color:var(--text-tertiary, var(--text-secondary));margin-left:4px;border-left:1px solid var(--border-subtle);border-radius:0;padding-left:16px}.golem-lib__grouptab--link:hover{color:var(--accent-primary)}.golem-lib__drums{display:flex;flex-direction:column;gap:var(--space-6);padding-bottom:var(--space-6)}.golem-lib__shelf{display:flex;flex-direction:column;gap:var(--space-3)}.golem-lib__shelf-title{margin:0 var(--space-6);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary)}.golem-lib__shelf .pack-grid{padding:0 var(--space-6)}.golem-lib__shelf .golem-lib__empty{margin:0 var(--space-6)}.golem-lib__registry-card{cursor:default}.golem-lib__registry-card:hover{transform:none;box-shadow:var(--shadow-sm)}.golem-lib__registry-name{display:flex;align-items:center;gap:6px;cursor:default}.golem-lib__registry-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-tertiary, var(--text-secondary));cursor:pointer;padding:2px;display:inline-flex;opacity:0;transition:opacity .15s}.golem-lib__registry-name:hover .golem-lib__registry-edit,.golem-lib__registry-edit:focus-visible{opacity:1}.golem-lib__registry-edit:hover{color:var(--text-primary)}.golem-lib__registry-nameinput{width:100%;font:inherit;font-weight:var(--fw-semibold);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:2px 6px}.golem-lib__registry-status{flex:none;font-size:var(--fs-xs);white-space:nowrap;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);color:var(--text-tertiary, var(--text-secondary))}.golem-lib__registry-status--pushed{border-color:#d97706;color:#d97706}.golem-lib__registry-status--onrack{border-color:#16a34a;color:#16a34a}.golem-lib__registry-actions{display:flex;align-items:center;gap:8px;padding:0 var(--space-4) var(--space-4);margin-top:-4px}.golem-lib__registry-actions .golem-lib__trash-btn{margin-left:auto}.golem-lib__origin-badge{color:var(--text-tertiary, var(--text-secondary));font-style:italic}.subtabs{display:flex;align-items:center;gap:var(--space-4);padding:0 var(--page-margin);height:var(--subtab-h);background:var(--bg-base);border-bottom:1px solid var(--border-subtle);position:sticky;top:var(--header-height);z-index:40}.subtabs__row{display:flex;align-items:center;gap:var(--space-1);min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.subtabs__row::-webkit-scrollbar{display:none}.subtabs__tools{margin-left:auto;flex-shrink:0}.subtabs__tab{position:relative;display:inline-flex;align-items:center;height:var(--subtab-h);padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-decoration:none;white-space:nowrap;transition:color var(--t-fast)}.subtabs__tab:hover{color:var(--text-primary)}.subtabs__tab:focus-visible{outline:2px solid var(--sect);outline-offset:-2px;border-radius:var(--radius-sm)}.subtabs__tab--active{color:var(--text-primary)}.subtabs__tab--active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:0;height:2px;border-radius:var(--radius-pill);background:var(--sect)}.seg{display:inline-flex;align-items:center;padding:2px;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.seg__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0 var(--space-3);height:26px;display:inline-flex;align-items:center;border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.seg__btn:hover{color:var(--text-primary)}.seg__btn:focus-visible{outline:2px solid var(--sect);outline-offset:2px}.seg__btn--on{background:var(--sect);color:var(--text-on-accent)}@media (max-width: 768px){.subtabs{padding:0 var(--space-3);gap:var(--space-2)}}.home{max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--page-margin) var(--space-12)}.home__hello{font-size:var(--fs-2xl);line-height:var(--lh-tight);font-weight:var(--fw-bold);margin-bottom:var(--space-6)}.home__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,420px));justify-content:start;gap:var(--space-4);align-items:start}.home-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color var(--t-base)}.home-card:hover{border-color:var(--sect)}.home-card__title{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--fs-lg);line-height:var(--lh-title);font-weight:var(--fw-bold)}.home-card__sub{margin-top:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;color:var(--text-secondary);text-transform:uppercase}.home-card__cta{align-self:flex-start}.home-resume{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}.home-resume__song{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.home-resume__artist{color:var(--text-secondary);font-size:var(--fs-sm)}.home-resume__meta{margin-top:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary)}.home-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.home-list a{color:var(--text-secondary);text-decoration:none;font-size:var(--fs-sm);transition:color var(--t-fast)}.home-list a:hover{color:var(--text-primary)}.home-rack__name{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold)}.home-rack__state{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-regular)}.home-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--text-tertiary);flex-shrink:0}.home-dot--on{background:var(--ok)}.home-stats{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-4);font-size:var(--fs-sm)}.home-stats dt{color:var(--text-secondary)}.home-stats dd{font-family:var(--font-mono);text-align:right}.home-strip{margin-top:var(--space-8)}.home-strip__hint{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-secondary)}.home-strip__row{display:flex;gap:var(--space-2);margin-top:var(--space-3);list-style:none;overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:none}.home-strip__row::-webkit-scrollbar{display:none}.home-chip{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);min-width:150px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:border-color var(--t-fast)}.home-chip:hover{border-color:var(--sect)}.home-chip__kind{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;color:var(--sect);text-transform:uppercase}.home-chip__name{font-size:var(--fs-sm)}.home-empty{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.home-empty p{color:var(--text-secondary);font-size:var(--fs-sm)}.home-card--skeleton{gap:var(--space-4)}.home-skel{display:block;border-radius:var(--radius-sm);background:var(--bg-elevated);animation:home-pulse 1.4s ease-in-out infinite}.home-skel--title{height:22px;width:62%}.home-skel--line{height:14px;width:90%}.home-skel--cta{height:34px;width:120px;border-radius:var(--radius-md)}@keyframes home-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.home-skel{animation:none}}@media (max-width: 768px){.home{padding:var(--space-5) var(--space-3) var(--space-8)}}.std-panel__head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.std-panel__head h2{margin:0}.std-panel__sub{color:var(--text-tertiary);font-size:var(--fs-sm)}.std-seg{margin-left:auto;display:flex;gap:3px;padding:3px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:9px}.std-seg__btn{font:600 var(--fs-xs) / 1 var(--font-mono, monospace);color:var(--text-tertiary);background:none;border:0;cursor:pointer;padding:5px 10px;border-radius:6px}.std-seg__btn--on{background:var(--sect);color:#0c0c0c}.std-pager{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);font-size:var(--fs-sm);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.std-pager button{background:var(--bg-base);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:7px;padding:3px 11px;cursor:pointer;margin-left:5px}.std-pager button:disabled{opacity:.4;cursor:default}.standard-detail__scales{margin-top:var(--space-8)}.std-oneline{background:var(--bg-surface);border:1px dashed var(--border-subtle);border-radius:10px;padding:var(--space-3) var(--space-4);color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.6;margin-bottom:var(--space-4)}.std-oneline b{color:var(--text-primary)}.std-zone{border:1px solid var(--border-subtle);border-radius:11px;overflow:hidden;margin-bottom:var(--space-3)}.std-zone__head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-surface)}.std-zone__prog{font-family:var(--font-mono, monospace);font-size:var(--fs-sm);color:var(--sect)}.std-opt{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.std-opt__role{flex:none;font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:#0c0c0c;background:var(--text-tertiary);border-radius:5px;padding:1px 7px;margin-top:3px}.std-opt--safe .std-opt__role{background:var(--genre-funk, #2ecc71)}.std-opt--color .std-opt__role{background:var(--genre-blues, #3d9be9)}.std-opt--outside .std-opt__role{background:var(--accent-warm, #ff5a3c)}.std-opt__main{min-width:0}.std-opt__name{font-weight:600}.std-opt__why{color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.55}.std-opt__notes{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--sect);margin-top:3px}.std-sheet{margin-bottom:var(--space-6)}.std-sect{margin-bottom:var(--space-5)}.std-sect__lbl{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-2)}.std-bars{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}@media (max-width: 720px){.std-bars{grid-template-columns:repeat(2,1fr)}}.std-cell{position:relative;min-height:76px;padding:14px 13px 11px;display:flex;align-items:center;justify-content:center;gap:var(--space-4);background:none;border:0;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;font:inherit;text-align:center}.std-bars .std-cell:nth-child(4n){border-right:0}.std-cell__n{position:absolute;top:4px;left:7px;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-tertiary);opacity:.7}.std-cell__chords{display:flex;gap:var(--space-4);align-items:baseline}.std-cell__ch{font-size:var(--fs-xl, 21px);font-weight:600;letter-spacing:-.01em}.std-cell__rest{color:var(--text-tertiary);font-size:var(--fs-lg)}.std-cell--done{color:var(--text-tertiary)}.std-cell--on{background:color-mix(in srgb,var(--sect) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sect) 55%,transparent)}.std-cell--loop{box-shadow:inset 0 0 0 2px var(--accent-loop, #1ab7b0)}.std-cell--on.std-cell--loop{box-shadow:inset 0 0 0 2px var(--accent-loop, #1ab7b0),inset 0 0 0 4px color-mix(in srgb,var(--sect) 55%,transparent)}.std-cell__cursor{position:absolute;top:0;bottom:0;left:2%;width:2px;background:var(--sect);box-shadow:0 0 10px var(--sect)}.std-cell__cursor--sweep{animation-name:std-sweep;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes std-sweep{0%{left:2%}to{left:98%}}.std-transport{display:flex;align-items:center;gap:var(--space-2)}.player__cover.std-chords{width:56px;height:56px;padding:6px 7px;gap:1px;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-subtle)}.std-vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--space-4)}.std-v{text-align:center}.std-v__name{display:block;font-weight:600;font-size:var(--fs-sm);margin-bottom:var(--space-1);color:var(--text-primary);text-decoration:none}.std-v__name:hover{color:var(--sect)}.std-rank{margin-bottom:var(--space-5)}.std-rank__head,.std-zones__head{font-size:var(--fs-sm);color:var(--text-tertiary);margin-bottom:var(--space-2)}.std-zones__head{margin-top:var(--space-6)}.std-rank__row{display:grid;grid-template-columns:90px 44px minmax(150px,1fr) auto;grid-template-areas:"bar pct name cov" ". . notes notes";align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.std-rank__bar{grid-area:bar;height:6px;border-radius:3px;background:var(--bg-base);overflow:hidden}.std-rank__bar i{display:block;height:100%;background:var(--sect)}.std-rank__pct{grid-area:pct;font-family:var(--font-mono, monospace);font-size:var(--fs-sm);text-align:right;font-variant-numeric:tabular-nums}.std-rank__name{grid-area:name;font-weight:600}.std-rank__cov{grid-area:cov;font-size:var(--fs-xs);color:var(--text-tertiary)}.std-rank__notes{grid-area:notes;font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--sect)}.stdh{display:grid;grid-template-columns:250px minmax(0,1fr);gap:var(--space-6);align-items:start}@media (max-width: 860px){.stdh{grid-template-columns:1fr}}.stdh__side{position:sticky;top:calc(var(--sticky-top, 0px) + var(--space-4));display:flex;flex-direction:column;gap:var(--space-3)}.stdh__tonic{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:11px}.stdh__tonic-label{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.stdh__tonic-value{font-size:var(--fs-lg);font-weight:700}.stdh__tonic-lock{margin-left:auto;font-size:var(--fs-sm);opacity:.6}.stdh__scales{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:11px;overflow:hidden}.stdh__scales-head{padding:var(--space-2) var(--space-4);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle)}.stdh__scale{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name pct" "bar bar" "cov cov";gap:2px var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-4);background:none;border:0;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;font:inherit}.stdh__scale:last-child{border-bottom:0}.stdh__scale:hover{background:var(--bg-elevated)}.stdh__scale--on{background:color-mix(in srgb,var(--sect) 14%,transparent);box-shadow:inset 2px 0 0 var(--sect)}.stdh__scale-name{grid-area:name;font-weight:600;font-size:var(--fs-sm)}.stdh__scale-pct{grid-area:pct;font-family:var(--font-mono, monospace);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--sect)}.stdh__scale-bar{grid-area:bar;height:4px;border-radius:2px;background:var(--bg-base);overflow:hidden}.stdh__scale-bar i{display:block;height:100%;background:var(--sect)}.stdh__scale-cov{grid-area:cov;font-size:var(--fs-xs);color:var(--text-tertiary)}.stdh__main{min-width:0}.stdh__header{margin-bottom:var(--space-4)}.gtr{border:1px solid color-mix(in srgb,var(--sect) 35%,transparent);border-radius:11px;overflow:hidden;margin-bottom:var(--space-5)}.gtr__head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-surface)}.gtr__head b{font-size:var(--fs-sm)}.gtr__head span{color:var(--text-tertiary);font-size:var(--fs-xs)}.gtr__play{margin-left:auto;font-size:var(--fs-xs);background:color-mix(in srgb,var(--sect) 24%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--sect) 45%,transparent);color:var(--text-primary);border-radius:8px;padding:4px 12px;cursor:pointer}.gtr__scroll{overflow-x:auto}.gtr__table{border-collapse:collapse;font-family:var(--font-mono, monospace);font-size:var(--fs-sm);width:100%}.gtr__table th,.gtr__table td{border-top:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);padding:5px 8px;text-align:center;white-space:nowrap}.gtr__table th{font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:500;border-top:0}.gtr__table td:first-child,.gtr__table th:first-child{text-align:right;color:var(--text-tertiary);font-size:10.5px;background:var(--bg-surface);position:sticky;left:0}.gtr__table td{font-weight:700}.gtr__table td small{color:var(--text-tertiary);font-weight:400;font-size:9.5px;margin-left:2px}.gtr--hold{color:var(--genre-funk, #2ecc71)}.gtr--mv{color:var(--sect)}.svp__tuning{font-family:var(--font-mono, monospace);font-size:var(--fs-sm);margin-left:auto}.svp__warn{color:var(--accent-warm, #f0a832);font-size:var(--fs-xs)}.svp__rail{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);margin-bottom:var(--space-3)}.svp__cell{flex:none;min-height:46px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:9px;padding:6px 12px;text-align:center;color:var(--text-primary);cursor:pointer;font:inherit}.svp__cell b{font-size:var(--fs-sm)}.svp__cell small{display:block;font-family:var(--font-mono, monospace);font-size:10px;color:var(--text-tertiary)}.svp__cell-label{display:block;font-family:var(--font-mono, monospace);font-size:9.5px;color:var(--sect)}.svp__cell--gap{opacity:.55;background:repeating-linear-gradient(45deg,var(--bg-surface) 0 6px,var(--bg-elevated) 6px 8px)}.svp__hero{border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;margin-bottom:var(--space-4)}.svp__hero-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-surface)}.svp__hero-count{font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--text-tertiary)}.svp__hero-nav{margin-left:auto;display:flex;gap:6px}.svp__hero-nav button{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:8px;padding:4px 12px;cursor:pointer;font:inherit;font-size:var(--fs-sm)}.svp__loopbtn{background:color-mix(in srgb,var(--accent-loop, #1ab7b0) 20%,var(--bg-elevated))!important;border-color:color-mix(in srgb,var(--accent-loop, #1ab7b0) 45%,transparent)!important}.svp__hero-body{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:var(--space-5);align-items:center;padding:var(--space-4) var(--space-5)}@media (max-width: 900px){.svp__hero-body{grid-template-columns:1fr}}.svp__hbox{text-align:center}.svp__hname{display:block;font-size:var(--fs-lg);font-weight:700;color:var(--text-primary);text-decoration:none;margin-bottom:var(--space-2)}.svp__hname:hover{color:var(--sect)}.svp__flag{display:inline-block;font-size:10px;color:var(--accent-warm, #f0a832);border:1px dashed color-mix(in srgb,var(--accent-warm, #f0a832) 50%,transparent);border-radius:6px;padding:1px 7px;margin-top:var(--space-1)}.svp__ledger{font-family:var(--font-mono, monospace);font-size:var(--fs-sm)}.svp__lrow{display:grid;grid-template-columns:minmax(64px,auto) 1fr minmax(64px,auto) 56px;gap:var(--space-2);align-items:center;padding:4px 0;border-bottom:1px dashed color-mix(in srgb,var(--border-subtle) 70%,transparent)}.svp__lrow:last-of-type{border-bottom:0}.svp__lnote{text-align:right}.svp__lnote:last-of-type{text-align:left}.svp__lnote em{font-style:normal;font-size:9.5px;color:var(--text-tertiary)}.svp__lline{height:0;border-top:2px solid var(--genre-funk, #2ecc71);position:relative}.svp__lline--mv{border-top:1px solid var(--sect)}.svp__lline--mv:after{content:"▶";position:absolute;right:-2px;top:-7px;font-size:9px;color:var(--sect)}.svp__ldelta{text-align:right;font-variant-numeric:tabular-nums}.svp__l--hold{color:var(--genre-funk, #2ecc71)}.svp__l--mv{color:var(--sect)}.svp__lsum{padding-top:var(--space-2);text-align:center;color:var(--text-tertiary);font-size:var(--fs-xs)}.svp__lsum b{color:var(--text-primary)}.svp__drawer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);overflow-x:auto}.svp__drawer-lbl{font-size:var(--fs-xs);color:var(--text-tertiary);white-space:nowrap}.svp__alt{flex:none;background:none;border:0;cursor:pointer;text-align:center;padding:0}.svp__alt-cost{display:block;font-family:var(--font-mono, monospace);font-size:9.5px;color:var(--sect)}.svp__seq{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-3)}.svp__sq{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:9px;padding:var(--space-2) 4px;text-align:center;cursor:pointer;color:var(--text-primary);font:inherit}.svp__sq--on{border-color:color-mix(in srgb,var(--sect) 55%,transparent);background:color-mix(in srgb,var(--sect) 12%,var(--bg-surface))}.svp__sq b{display:block;font-size:var(--fs-sm);margin-bottom:3px}.svp__sq-cost{display:block;font-family:var(--font-mono, monospace);font-size:9.5px;color:var(--text-tertiary)}.svp__total{color:var(--text-tertiary);font-size:var(--fs-sm);margin-top:var(--space-3)}.header__std-cover{width:34px;height:34px;border-radius:var(--radius-sm, 6px);padding:4px 5px;gap:1px;overflow:hidden;border:1px solid var(--border-subtle)}.header__std-composer{color:var(--text-tertiary);font-size:var(--fs-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.std-grid-hint{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0 0 var(--space-2)}.std-opt__name--btn{background:none;border:0;padding:0;cursor:pointer;color:var(--text-primary);font:inherit;font-weight:600}.std-opt__name--btn:hover{color:var(--sect)}.lp{--stage-black: #0e0c0a;--stage-raise: #17130f;--stage-line: #2a231c;--tube-amber: #ffa028;--tube-deep: #c2571b;--smoke: #b8afa4;--bone: #f2ede4;--led-green: #39d98a;--lp-display: var(--font-sans);--lp-display-tracking: -.02em;--lp-mono: var(--font-mono);background:var(--stage-black);color:var(--bone);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden}.lp *,.lp *:before,.lp *:after{box-sizing:border-box}.lp__wrap{max-width:1120px;margin:0 auto;padding:0 24px}.lp__nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:color-mix(in srgb,var(--stage-black) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s}.lp__nav--scrolled{border-bottom-color:var(--stage-line)}.lp__wordmark{font-family:var(--lp-mono);font-weight:700;font-size:1.05rem;letter-spacing:.02em;color:var(--bone);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lp__wordmark-s{color:var(--tube-amber);text-shadow:0 0 10px color-mix(in srgb,var(--tube-amber) 45%,transparent)}.lp__nav-actions{display:flex;align-items:center;gap:20px}.lp__nav-link{color:var(--smoke);text-decoration:none;font-size:.9rem;font-weight:500}.lp__nav-link:hover{color:var(--bone)}.lp__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;font-family:var(--lp-display);letter-spacing:var(--lp-display-tracking);font-weight:600;font-size:.98rem;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .12s,box-shadow .2s,background .2s;white-space:nowrap}.lp__btn--primary{background:linear-gradient(180deg,var(--tube-amber),var(--tube-deep));color:#1a0f03;box-shadow:0 0 0 1px #ffa0284d,0 8px 30px -8px #ffa02880}.lp__btn--primary:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #ffa02880,0 12px 36px -8px #ffa028a6}.lp__btn--ghost{background:transparent;color:var(--bone);border-color:var(--stage-line)}.lp__btn--ghost:hover{border-color:var(--tube-amber);color:var(--tube-amber)}.lp__btn--sm{padding:8px 16px;font-size:.88rem}.lp__hero{position:relative;padding:72px 0 40px;text-align:center}.lp__hero:before{content:"";position:absolute;top:32%;left:50%;width:900px;height:500px;max-width:120vw;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(255,160,40,.14),transparent 62%);pointer-events:none;z-index:0}.lp__hero>*{position:relative;z-index:1}.lp__eyebrow{font-family:var(--lp-mono);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tube-amber);margin:0 0 20px}.lp__h1{font-family:var(--lp-display);font-weight:800;font-size:clamp(2.6rem,7vw,5rem);line-height:.98;letter-spacing:-.02em;margin:0 0 18px}.lp__h1 em{font-style:normal;color:var(--tube-amber)}.lp__sub{font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--smoke);max-width:42ch;margin:0 auto 36px;line-height:1.5}.lp__player{position:relative;background:var(--stage-raise);border:1px solid var(--stage-line);border-radius:16px;box-shadow:0 40px 120px -40px #000000e6,inset 0 1px #ffffff08;overflow:hidden;margin:0 auto;max-width:940px;text-align:left}.lp__player-bar{display:flex;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid var(--stage-line);background:color-mix(in srgb,var(--stage-black) 40%,transparent)}.lp__player-play{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;background:linear-gradient(180deg,var(--tube-amber),var(--tube-deep));color:#1a0f03;box-shadow:0 0 24px -4px #ffa02899;transition:transform .12s}.lp__player-play:hover{transform:scale(1.06)}.lp__player-play--pulse{animation:lp-pulse 2s ease-in-out infinite}@keyframes lp-pulse{0%,to{box-shadow:0 0 24px -4px #ffa02899}50%{box-shadow:0 0 34px 2px #ffa028d9}}.lp__player-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.lp__player-title{font-family:var(--lp-display);letter-spacing:var(--lp-display-tracking);font-weight:700;font-size:1rem}.lp__player-tags{font-family:var(--lp-mono);font-size:.74rem;color:var(--smoke);letter-spacing:.02em}.lp__player-stems{margin-left:auto;display:flex;gap:6px}.lp__stem{font-family:var(--lp-mono);font-size:.72rem;padding:5px 10px;border-radius:7px;border:1px solid var(--stage-line);background:transparent;color:var(--smoke);cursor:pointer;transition:all .15s}.lp__stem--on{color:var(--tube-amber);border-color:var(--tube-amber);background:#ffa02814}.lp__stem--muted{opacity:.4;text-decoration:line-through}.lp__player-render{padding:8px 12px;max-height:240px;overflow:hidden;background:#fff}.lp__player-hint{text-align:center;font-size:.82rem;color:var(--smoke);margin:14px 0 0}.lp__hero-cta{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.lp__section{padding:84px 0}.lp__section--tint{background:linear-gradient(180deg,transparent,rgba(255,160,40,.02),transparent)}.lp__kicker{font-family:var(--lp-mono);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tube-amber);margin:0 0 14px}.lp__h2{font-family:var(--lp-display);font-weight:700;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.04;letter-spacing:-.015em;margin:0 0 16px;max-width:20ch}.lp__lead{color:var(--smoke);font-size:1.08rem;line-height:1.6;max-width:54ch;margin:0}.lp__usecase{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:40px 0}.lp__usecase:nth-child(2n) .lp__usecase-media{order:2}.lp__usecase-q{font-family:var(--lp-display);letter-spacing:var(--lp-display-tracking);font-weight:700;font-size:1.5rem;color:var(--bone);margin:0 0 12px}.lp__usecase-q:before{content:"“";color:var(--tube-amber);margin-right:2px}.lp__usecase-q:after{content:"”";color:var(--tube-amber)}.lp__usecase-a{color:var(--smoke);line-height:1.6;font-size:1.02rem;margin:0}.lp__usecase-a strong{color:var(--bone);font-weight:600}.lp__shot{border-radius:12px;border:1px solid var(--stage-line);overflow:hidden;background:var(--stage-raise);box-shadow:0 30px 80px -40px #000000e6}.lp__shot img{display:block;width:100%;height:auto}.lp__shot--empty{aspect-ratio:16 / 10;display:flex;align-items:center;justify-content:center;color:var(--stage-line);font-family:var(--lp-mono);font-size:.8rem}.lp__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;counter-reset:lp-step}.lp__step{background:var(--stage-raise);border:1px solid var(--stage-line);border-radius:12px;padding:26px 22px;position:relative}.lp__step:before{counter-increment:lp-step;content:counter(lp-step);font-family:var(--lp-mono);font-size:.9rem;color:var(--tube-amber);border:1px solid var(--tube-amber);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.lp__step h3{font-family:var(--lp-display);letter-spacing:var(--lp-display-tracking);font-weight:600;font-size:1.1rem;margin:0 0 8px}.lp__step p{color:var(--smoke);font-size:.94rem;line-height:1.5;margin:0}.lp__band{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--stage-line);padding:64px 48px;background:radial-gradient(120% 140% at 100% 0%,rgba(194,87,27,.22),transparent 55%),var(--stage-raise)}.lp__band-soon{display:inline-block;font-family:var(--lp-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tube-amber);border:1px solid var(--tube-amber);border-radius:999px;padding:4px 12px;margin-bottom:20px}.lp__golem{background:linear-gradient(180deg,var(--stage-black),#12100d);border-top:1px solid var(--stage-line);border-bottom:1px solid var(--stage-line)}.lp__golem-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.lp__golem-led{width:9px;height:9px;border-radius:50%;background:var(--led-green);box-shadow:0 0 10px 1px var(--led-green);animation:lp-blink 3s steps(1) infinite}@keyframes lp-blink{0%,70%{opacity:1}71%,to{opacity:.3}}.lp__golem-badge{font-family:var(--lp-mono);font-size:.78rem;color:var(--led-green);letter-spacing:.06em}.lp__carousel{margin-top:36px}.lp__carousel-stage{border-radius:12px;border:1px solid var(--stage-line);overflow:hidden;background:#0a0908;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.lp__carousel-stage img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lp__carousel-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;justify-content:center;color:var(--smoke);font-family:var(--lp-mono);font-size:.82rem;background:repeating-linear-gradient(-45deg,transparent 0 10px,color-mix(in srgb,var(--stage-line) 55%,transparent) 10px 11px)}.lp__carousel-empty:after{content:attr(data-hint);color:var(--smoke);opacity:.75;font-size:.72rem}.lp__carousel-tabs{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.lp__carousel-tab{font-family:var(--lp-mono);font-size:.82rem;padding:8px 14px;border-radius:8px;border:1px solid var(--stage-line);background:transparent;color:var(--smoke);cursor:pointer;transition:all .15s}.lp__carousel-tab--on{color:var(--led-green);border-color:var(--led-green);background:#39d98a14}.lp__golem-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}.lp__prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.lp__price{background:var(--stage-raise);border:1px solid var(--stage-line);border-radius:14px;padding:30px 26px;display:flex;flex-direction:column}.lp__price--feature{border-color:var(--tube-amber);box-shadow:0 0 0 1px #ffa02833,0 30px 80px -50px #ffa02880}.lp__price-name{font-family:var(--lp-display);letter-spacing:var(--lp-display-tracking);font-weight:700;font-size:1.2rem;margin:0 0 6px}.lp__price-tag{font-family:var(--lp-display);letter-spacing:var(--lp-display-tracking);font-weight:800;font-size:2.4rem;line-height:1;margin:8px 0 4px}.lp__price-tag span{font-size:.9rem;font-weight:500;color:var(--smoke);font-family:var(--font-sans)}.lp__price-note{font-size:.82rem;color:var(--smoke);margin:0 0 20px}.lp__price-feats{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}.lp__price-feats li{font-size:.92rem;color:var(--smoke);padding-left:24px;position:relative;line-height:1.4}.lp__price-feats li:before{content:"✓";position:absolute;left:0;color:var(--tube-amber);font-weight:700}.lp__price .lp__btn{margin-top:auto;justify-content:center}.lp__manifesto{text-align:center;padding:90px 0}.lp__manifesto-line{font-family:var(--lp-display);font-weight:700;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.15;letter-spacing:-.015em;max-width:20ch;margin:0 auto 12px}.lp__manifesto-line em{font-style:normal;color:var(--tube-amber)}.lp__manifesto-sub{color:var(--smoke);max-width:50ch;margin:0 auto 36px;line-height:1.6}.lp__waitlist{display:flex;gap:10px;max-width:440px;margin:0 auto}.lp__waitlist input{flex:1;background:var(--stage-raise);border:1px solid var(--stage-line);border-radius:10px;padding:13px 16px;color:var(--bone);font-size:.95rem;font-family:var(--font-sans)}.lp__waitlist input:focus{outline:none;border-color:var(--tube-amber)}.lp__waitlist-done{color:var(--led-green);font-family:var(--lp-mono);font-size:.95rem}.lp__footer{border-top:1px solid var(--stage-line);padding:40px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--smoke);font-size:.85rem}.lp__footer a{color:var(--smoke);text-decoration:underline}.lp__footer a:hover{color:var(--bone)}.lp__reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.lp__reveal--in{opacity:1;transform:none}@media (max-width: 768px){.lp__usecase{grid-template-columns:1fr;gap:24px}.lp__usecase:nth-child(2n) .lp__usecase-media{order:0}.lp__steps,.lp__prices{grid-template-columns:1fr}.lp__player-stems,.lp__nav-link{display:none}}@media (prefers-reduced-motion: reduce){.lp__reveal{opacity:1;transform:none;transition:none}.lp__player-play--pulse,.lp__golem-led{animation:none}}.calibration__stage{position:relative;width:100%;height:160px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;cursor:crosshair}.calibration__wave{display:block;width:100%;height:100%}.calibration__marker{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent-primary);z-index:3;cursor:ew-resize}.calibration__marker:after{content:"";position:absolute;top:0;right:-7px;bottom:0;left:-7px}.calibration__marker--drag{box-shadow:0 0 0 1px var(--accent-primary)}.calibration__marker-label{position:absolute;top:2px;left:6px;font:var(--fw-semibold) var(--fs-xs) / 1 var(--font-mono);color:var(--accent-primary)}.calibration__bar{position:absolute;top:0;bottom:0;width:1px;background:var(--border-strong);opacity:.55;pointer-events:none;z-index:1}.calibration__bar--confirmed{background:var(--ok);opacity:.8}.calibration__bar-label{position:absolute;top:2px;left:3px;font:var(--fw-regular) var(--fs-xs) / 1 var(--font-mono);color:var(--text-tertiary)}.calibration__playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--accent-playback);z-index:4;pointer-events:none}.calibration__marker:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--accent-primary)}.calibration__decoding{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:var(--fs-sm);color:var(--text-secondary);background:color-mix(in srgb,var(--bg-elevated) 80%,transparent)}@media (max-width: 640px){.calibration__stage{height:120px}}.calibration__steps{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.calibration__step-wrap{position:relative;display:inline-flex}.calibration__step{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer}.calibration__step:hover{border-color:var(--border-strong);color:var(--text-primary)}.calibration__step--current{border-color:var(--accent-primary);color:var(--accent-primary);font-weight:var(--fw-semibold)}.calibration__step--done{border-color:var(--ok);color:var(--ok)}.calibration__step-num{font-family:var(--font-mono);opacity:.65}.calibration__step-drop{position:absolute;top:-6px;right:-6px;width:16px;height:16px;display:none;place-items:center;border:1px solid var(--border-strong);border-radius:50%;background:var(--bg-surface);color:var(--text-secondary);font-size:11px;line-height:1;cursor:pointer;padding:0}.calibration__step-wrap:hover .calibration__step-drop,.calibration__step-drop:focus-visible{display:grid}.calibration__step-add{display:inline-flex;gap:4px;align-items:center}.calibration__step-input{width:64px;padding:4px 8px;border:1px solid var(--border-subtle);border-radius:999px;background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-xs)}.calibration__step-delta{font-family:var(--font-mono);font-size:10px;opacity:.7}.calibration__strain-link{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;min-height:24px;margin-inline:8px;padding:0;border:0;background:none;color:var(--warn);cursor:pointer}.calibration__strain-link:before{content:"";position:absolute;inset:50% 0 auto;border-top:1px dashed var(--warn);opacity:.7}.calibration__strain-link:after{content:"";position:absolute;top:-8px;right:-4px;bottom:-8px;left:-4px}.calibration__strain-link>*{position:relative;background:var(--bg-surface);padding:0 3px}.calibration__strain-value{font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);line-height:1;font-variant-numeric:tabular-nums}.calibration__strain-link:hover>*{background:color-mix(in srgb,var(--warn) 16%,var(--bg-surface));transition:background-color .12s ease-out}.calibration__strain-link:focus-visible{outline:2px solid var(--warn);outline-offset:3px;border-radius:4px}.calibration__strain-link--pending{color:var(--text-secondary)}.calibration__strain-link--pending:before{opacity:.35}.calibration-bar__hint--explain{color:var(--warn)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.calibration__bar-gp{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--warn);opacity:.5;pointer-events:none;z-index:1}.calibration-bar{position:fixed;inset:auto 0 0 0;z-index:40;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border-top:1px solid var(--border-strong)}.calibration-bar__row{display:flex;align-items:center;gap:var(--space-2)}.calibration-bar__row--message{min-height:48px;flex-wrap:wrap}.calibration-bar__finish{flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);text-align:center}.calibration-finish__lead{margin:0;font-size:var(--fs-base);color:var(--text-secondary)}.calibration-finish__cta{min-height:52px;padding:0 var(--space-10);font-size:var(--fs-lg);font-weight:var(--fw-semibold);border-radius:var(--radius-lg)}.calibration-finish__secondary{background:none;border:none;padding:4px 8px;font-size:var(--fs-sm);color:var(--text-tertiary);cursor:pointer;border-bottom:1px solid transparent}.calibration-finish__secondary:hover{color:var(--text-secondary);border-bottom-color:var(--border-strong)}.calibration-bar__badge{padding:2px 10px;border-radius:999px;background:var(--accent-primary);color:var(--bg-base);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap}.calibration-bar__steps{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}.calibration-bar__exit{margin-left:auto;white-space:nowrap}.calibration-bar__stage{height:110px}.calibration-bar__hint{color:var(--text-secondary);font-size:var(--fs-sm);margin-left:var(--space-2);flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rdmp{max-width:1000px;margin:0 auto;padding:var(--space-10) var(--page-margin) var(--space-16);color:var(--text-primary)}.rdmp__head{margin-bottom:var(--space-10)}.rdmp__wordmark{display:inline-block;margin-bottom:var(--space-8);text-decoration:none}.rdmp__title{font-size:var(--fs-2xl);font-weight:700;line-height:1.2;margin:0 0 var(--space-4);letter-spacing:-.01em}.rdmp__lead{font-size:var(--fs-base);line-height:1.6;color:var(--text-secondary);max-width:68ch;margin:0}.rdmp__legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-10);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.rdmp__legend-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap}.rdmp__legend-note{flex-basis:100%;font-size:var(--fs-sm);color:var(--text-tertiary);line-height:1.5}.rdmp-dot{width:9px;height:9px;border-radius:var(--radius-pill);flex:0 0 auto;background:var(--text-tertiary)}.rdmp-dot--done{background:#2ecc71}.rdmp-dot--built{background:linear-gradient(to right,#2ecc71 50%,transparent 50%);border:1px solid #2ecc71}.rdmp-dot--wip{background:#ff851b}.rdmp-dot--planned{background:transparent;border:1px solid var(--border-strong)}.rdmp-dot--idea{background:transparent;border:1px dashed var(--text-tertiary)}.rdmp-product{margin-bottom:var(--space-12);padding-top:var(--space-6);border-top:2px solid var(--sect, var(--accent))}.rdmp-product__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-5)}.rdmp-product__name{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:700;letter-spacing:.01em;margin:0 0 var(--space-2);color:var(--sect, var(--accent))}.rdmp-product__tagline{font-size:var(--fs-base);color:var(--text-secondary);line-height:1.55;max-width:62ch;margin:0}.rdmp-product__score{font-family:var(--font-mono);text-align:right;line-height:1;flex:0 0 auto}.rdmp-product__score-num{font-size:34px;font-weight:700;color:var(--text-primary)}.rdmp-product__score-sep{font-size:22px;color:var(--text-tertiary);margin:0 2px}.rdmp-product__score-tot{font-size:22px;color:var(--text-secondary)}.rdmp-product__score-label{display:block;max-width:15ch;margin-top:var(--space-2);margin-left:auto;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.35;color:var(--text-tertiary)}.rdmp-jump{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) 0;margin-bottom:var(--space-8);background:var(--bg-base);border-bottom:1px solid var(--border-subtle)}.rdmp-jump__link{font-size:var(--fs-sm);color:var(--text-secondary);text-decoration:none;padding:4px var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);transition:border-color .12s ease-out,color .12s ease-out;white-space:nowrap}.rdmp-jump__link:hover{color:var(--text-primary);border-color:var(--accent)}.rdmp-product__anchors{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.rdmp-product__anchors a{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--text-tertiary);text-decoration:none;border-bottom:1px solid transparent;transition:color .12s ease-out,border-color .12s ease-out}.rdmp-product__anchors a:hover{color:var(--sect, var(--accent));border-bottom-color:var(--sect, var(--accent))}.rdmp-product__anchors-sep{color:var(--border-strong);margin:0 var(--space-2)}.rdmp-group,.rdmp-product{scroll-margin-top:64px}.rdmp-bar{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border-subtle)}.rdmp-bar__done{background:var(--sect, var(--accent));transition:width .22s ease-out}.rdmp-bar__built{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--sect, var(--accent)) 55%,transparent) 0 3px,transparent 3px 6px);transition:width .22s ease-out}.rdmp-bar__caption{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary);margin:var(--space-2) 0 var(--space-8)}.rdmp-group{margin-bottom:var(--space-8)}.rdmp-group__title{font-size:var(--fs-lg);font-weight:700;margin:0 0 var(--space-2)}.rdmp-group__lead{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.55;max-width:68ch;margin:0 0 var(--space-4)}.rdmp-group__items{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.rdmp-item{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:border-color .12s ease-out}.rdmp-item:hover{border-color:var(--sect, var(--accent))}.rdmp-item .rdmp-dot{margin-top:7px}.rdmp-item--planned,.rdmp-item--idea{background:transparent}.rdmp-item__body{min-width:0}.rdmp-item__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-3);font-size:var(--fs-base);font-weight:600;margin:0 0 var(--space-1)}.rdmp-item__status{font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-tertiary)}.rdmp-item__detail{font-size:var(--fs-sm);line-height:1.55;color:var(--text-secondary);margin:0}.rdmp-item__note{font-size:var(--fs-sm);line-height:1.5;color:var(--text-tertiary);margin:var(--space-2) 0 0;padding-left:var(--space-3);border-left:2px solid var(--border-strong)}.rdmp-product--explore{border-top-color:var(--border-strong)}.rdmp-product--explore .rdmp-product__name{color:var(--text-secondary)}.rdmp-explore__intro{font-size:var(--fs-sm);line-height:1.6;color:var(--text-secondary);max-width:72ch;margin:0 0 var(--space-6)}.rdmp-explore__scale{font-size:var(--fs-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 var(--space-4)}.rdmp-explore__scale .rdmp-explore__diff{font-size:9px;letter-spacing:1px}.rdmp-explore__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.rdmp-explore__card{padding:var(--space-4);background:var(--bg-surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.rdmp-explore__card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.rdmp-explore__name{font-family:var(--font-mono);font-size:var(--fs-base);font-weight:700;margin:0}.rdmp-explore__diff{font-size:9px;letter-spacing:1px;white-space:nowrap;flex:0 0 auto}.rdmp-explore__diff--1{color:#2ecc71}.rdmp-explore__diff--2{color:#ff851b}.rdmp-explore__diff--3{color:#ff4136}.rdmp-explore__diff-dim{color:var(--border-strong)}.rdmp-explore__against{font-size:var(--fs-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--text-tertiary);margin:var(--space-2) 0 var(--space-3)}.rdmp-explore__against strong{color:var(--text-secondary);font-weight:600}.rdmp-explore__detail{font-size:var(--fs-sm);line-height:1.55;color:var(--text-secondary);margin:0}.rdmp__foot{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--border-subtle);font-size:var(--fs-sm);color:var(--text-tertiary);line-height:1.6}.rdmp__foot p{margin:0 0 var(--space-3);max-width:72ch}.rdmp__foot-links a{color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-strong)}.rdmp__foot-links a:hover{color:var(--accent);border-bottom-color:var(--accent)}@media (max-width: 640px){.rdmp{padding:var(--space-6) var(--space-4) var(--space-12)}.rdmp-product__head{flex-direction:column}.rdmp-product__score{text-align:left}}@media (prefers-reduced-motion: reduce){.rdmp-bar__done,.rdmp-bar__built,.rdmp-item{transition:none}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-width:1px}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hc-card{display:inline-flex;flex-direction:column;align-items:center;gap:6px;padding:10px 12px;background:var(--bg-elevated, #ffffff);border:1px solid var(--border-subtle, #e5e7eb);border-radius:8px;box-shadow:0 1px 2px #0000000a,0 2px 6px #0000000a;color:var(--text-primary, #111111);position:relative;transition:all .16s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hc-card--sm{padding:6px 8px;gap:4px;border-radius:6px}.hc-card--lg{padding:14px 16px;gap:8px;border-radius:10px}.hc-card--clickable{cursor:pointer}.hc-card--clickable:hover{border-color:var(--accent-primary, #2563eb);box-shadow:0 2px 4px #0000000f,0 8px 24px #2563eb14;transform:translateY(-1px)}.hc-card--clickable:active{transform:translateY(0);box-shadow:0 1px 2px #0000000f}.hc-card--clickable:focus-visible{outline:2px solid var(--accent-primary, #2563eb);outline-offset:2px}.hc-card__header{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%}.hc-card__header-actions{display:inline-flex;align-items:center;gap:6px}.hc-card__label{font-weight:600;font-size:14px;letter-spacing:.01em;color:var(--text-primary)}.hc-card--sm .hc-card__label{font-size:12px}.hc-card--lg .hc-card__label{font-size:16px}.hc-card__badge{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 5px;border-radius:3px;white-space:nowrap}.hc-card--lg .hc-card__badge{font-size:10px;padding:2px 6px}.hc-card--sm .hc-card__badge{font-size:8px;padding:1px 4px}.hc-card__badge--open{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.hc-card__badge--barre{background:color-mix(in srgb,#2563eb 14%,transparent);color:#1d4ed8}.hc-card__badge--drop{background:color-mix(in srgb,#9333ea 14%,transparent);color:#7c2d9e}.hc-card__badge--caged{background:color-mix(in srgb,#db2777 14%,transparent);color:#be185d}.hc-card__badge--power{background:color-mix(in srgb,#ea580c 14%,transparent);color:#c2410c}.hc-card__badge--spread{background:color-mix(in srgb,#0891b2 14%,transparent);color:#0e7490}.hc-card__visual{display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.hc-card__split{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--text-primary);width:100%}.hc-card__play{width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong, #c5c9d2);background:var(--bg-elevated, #ffffff);color:var(--accent-primary, #2563eb);font-size:9px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:.85;transition:all .12s;padding:0 0 0 1px;flex-shrink:0}.hc-card__play:hover{opacity:1;border-color:var(--accent-primary, #2563eb);background:color-mix(in srgb,var(--accent-primary, #2563eb) 10%,transparent);transform:scale(1.08)}.hc-card__play:active{transform:scale(.95)}.hc-card--sm .hc-card__play{width:18px;height:18px;font-size:8px}.hc-card--lg .hc-card__play{width:26px;height:26px;font-size:11px}.hc-card__play--floating{position:absolute;top:6px;right:6px}[data-theme=dark] .hc-card{background:var(--bg-elevated, #1c2030);border-color:var(--border-subtle, #2e3340);box-shadow:0 1px 2px #0006,0 2px 6px #0000004d}[data-theme=dark] .hc-card--clickable:hover{box-shadow:0 2px 4px #00000080,0 8px 24px #2563eb2e}[data-theme=dark] .hc-card__play{background:var(--bg-elevated, #1c2030);border-color:var(--border-strong, #424a5a)}.groove-page{display:flex;flex-direction:column;gap:var(--space-4)}.groove-page__head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.groove-page__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0;flex:none}.groove-page__subtitle{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.groove-machine{--gm-bg2: #10131a;--gm-panel: #171b23;--gm-panel2: #1d222c;--gm-edge: #2a303c;--gm-edge2: #373f4d;--gm-ink: #e7ecf3;--gm-ink-dim: #97a1b2;--gm-ink-faint: #5f6a7c;--gm-screw: #0a0c10;--gm-led: #ff8a3d;--gm-led-glow: #ffb454;--gm-lcd: #ffbf69;--gm-lcd-dim: #7a5a34;--gm-lcd-bg: #0a0d0a;--gm-lcd-edge: #23301f;position:relative;background:linear-gradient(180deg,var(--gm-panel2),var(--gm-panel));border:1px solid var(--gm-edge);border-radius:var(--radius-xl);box-shadow:0 18px 40px -18px #000c;padding:var(--space-4);transition:box-shadow .15s ease,border-color .15s ease}.groove-machine--drag-over{border-color:var(--gm-led);box-shadow:0 0 0 2px var(--gm-led),0 18px 40px -18px #000c}.groove-screws{position:absolute;top:10px;right:10px;bottom:10px;left:10px;pointer-events:none}.groove-screws i{position:absolute;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gm-edge2),var(--gm-screw));box-shadow:inset 0 1px 1px #ffffff1f}.groove-screws i:nth-child(1){top:0;left:0}.groove-screws i:nth-child(2){top:0;right:0}.groove-screws i:nth-child(3){bottom:0;left:0}.groove-screws i:nth-child(4){bottom:0;right:0}.groove-lcd{font-family:var(--font-mono);background:var(--gm-lcd-bg);border:1px solid var(--gm-lcd-edge);border-radius:var(--radius-md);padding:8px 14px;color:var(--gm-lcd);text-shadow:0 0 8px rgba(255,180,84,.45);display:flex;align-items:center;gap:14px;letter-spacing:.06em;margin-bottom:var(--space-3);flex-wrap:wrap}.groove-lcd__name-input{background:transparent;border:none;color:var(--gm-lcd);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 0;min-width:140px;max-width:320px}.groove-lcd__name-input::-moz-placeholder{color:var(--gm-lcd-dim);opacity:1}.groove-lcd__name-input::placeholder{color:var(--gm-lcd-dim);opacity:1}.groove-lcd__name-input:focus{outline:none}.groove-lcd__sep{color:var(--gm-lcd-dim)}.groove-lcd__dim{color:var(--gm-lcd-dim);font-size:var(--fs-xs)}.groove-lcd__blink{width:7px;height:7px;border-radius:50%;background:var(--gm-led);box-shadow:0 0 8px var(--gm-led-glow);margin-left:auto;animation:groove-lcd-pulse 1.6s ease-in-out infinite}@keyframes groove-lcd-pulse{0%,to{opacity:1}50%{opacity:.25}}.groove-transport{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.groove-transport__play{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid var(--gm-edge2);background:radial-gradient(circle at 40% 35%,var(--gm-panel2),#0a0d12);color:var(--gm-ink);display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 2px 6px #00000080,0 0 0 1px var(--gm-edge);transition:box-shadow .15s ease,color .15s ease,background .15s ease}.groove-transport__play:hover{color:var(--gm-led)}.groove-transport__play--on{color:#0a0d12;background:var(--gm-led);box-shadow:0 0 0 1px var(--gm-led),0 0 22px -2px var(--gm-led-glow)}.groove-transport__field{display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gm-ink-faint)}.groove-transport__field input[type=number]{width:72px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);background:var(--gm-bg2);border:1px solid var(--gm-edge);border-radius:var(--radius-sm);color:var(--gm-ink);padding:6px 8px}.groove-transport__field input[type=number]:focus{outline:none;border-color:var(--gm-edge2)}.groove-transport__field--swing{min-width:150px}.groove-transport__field--swing input[type=range]{width:100%;accent-color:var(--gm-led)}.groove-transport__steps{display:inline-flex;background:var(--gm-bg2);border:1px solid var(--gm-edge);border-radius:var(--radius-md);padding:3px;gap:3px}.groove-transport__steps button{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--gm-ink-faint);background:transparent;border:0;padding:6px 12px;border-radius:6px;cursor:pointer}.groove-transport__steps button.on{background:linear-gradient(180deg,var(--gm-panel2),var(--gm-panel));color:var(--gm-ink);box-shadow:0 0 0 1px var(--gm-edge2),0 0 12px -4px var(--gm-led)}.groove-transport__kit{display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--gm-ink-faint)}.groove-transport__kit select{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--gm-bg2);border:1px solid var(--gm-edge);border-radius:var(--radius-sm);color:var(--gm-ink);padding:6px 8px;max-width:220px}.groove-transport__clear{margin-left:auto}.groove-machine__error{display:flex;align-items:center;gap:6px;color:var(--status-failed);font-size:var(--fs-xs);margin:0 0 var(--space-3)}.groove-lanes{display:flex;flex-direction:column;gap:6px}.groove-lane{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:var(--space-3);padding:4px 0}.groove-lane--muted{opacity:.4}.groove-lane__strip{display:flex;align-items:center;gap:6px;min-width:0}.groove-lane__dot{width:7px;height:7px;border-radius:50%;background:var(--lc);box-shadow:0 0 6px var(--lc);flex:none}.groove-lane__label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gm-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.groove-lane__label--uncovered{color:var(--gm-ink-faint);text-decoration:line-through}.groove-lane__sample-btn,.groove-lane__mute{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--gm-edge);background:var(--gm-bg2);color:var(--gm-ink-faint);cursor:pointer;font-family:var(--font-mono);font-size:10px;transition:color .15s ease,border-color .15s ease}.groove-lane__sample-btn:hover,.groove-lane__mute:hover{color:var(--gm-ink);border-color:var(--gm-edge2)}.groove-lane__sample-btn--on{color:var(--gm-led);border-color:var(--gm-led);box-shadow:0 0 8px -2px var(--gm-led)}.groove-lane__sample-clear{flex:none;width:16px;height:16px;display:grid;place-items:center;border:none;border-radius:50%;background:var(--gm-edge2);color:var(--gm-ink);cursor:pointer;margin-left:-4px}.groove-lane__mute--on{color:#0a0d12;background:var(--status-failed);border-color:var(--status-failed)}.groove-lane__cells{display:grid;grid-template-columns:repeat(var(--step-count, 16),1fr);gap:3px;min-width:0}.groove-cell{height:22px;border-radius:3px;border:1px solid transparent;background:var(--gm-bg2);cursor:pointer;padding:0;transition:background .08s ease,box-shadow .08s ease}.groove-cell:hover{border-color:var(--gm-edge2)}.groove-cell--band{background:color-mix(in srgb,var(--gm-edge2) 38%,var(--gm-bg2));border-color:color-mix(in srgb,var(--gm-edge) 60%,transparent)}.groove-cell--beat{box-shadow:inset 1px 0 0 var(--gm-edge2)}.groove-cell--hit{background:color-mix(in srgb,var(--lc, var(--gm-led)) 45%,var(--gm-bg2))}.groove-cell--accent{background:var(--lc, var(--gm-led));box-shadow:0 0 10px -1px var(--lc, var(--gm-led))}.groove-cell--head{border-color:var(--gm-ink);box-shadow:0 0 0 1px var(--gm-ink)}@media (max-width: 760px){.groove-lane{grid-template-columns:1fr;gap:4px}.groove-transport{gap:var(--space-2)}.groove-cell{height:18px}}.groove-tray{display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.groove-tray__head{display:flex;align-items:end;gap:var(--space-3);flex-wrap:wrap}.groove-tray__name{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-tertiary)}.groove-tray__name input{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);padding:7px 10px;min-width:220px}.groove-tray__name input:focus{outline:none;border-color:var(--accent-primary)}.groove-tray__push{margin-left:auto}.groove-tray__status{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);margin:0}.groove-tray__status--ok{color:var(--accent-primary)}.groove-tray__status--err{color:var(--status-failed)}.groove-tray__status code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary)}.groove-tray__empty{color:var(--text-tertiary);font-size:var(--fs-sm);text-align:center;padding:var(--space-3) 0;margin:0}.groove-tray__recap{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0}.groove-tray__list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.groove-cart{display:grid;grid-template-columns:minmax(0,1.3fr) 110px 90px 90px auto;align-items:center;gap:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-left:3px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.groove-cart--pushed{border-left-color:var(--accent-primary)}.groove-cart--error{border-left-color:var(--status-failed)}@media (max-width: 900px){.groove-cart{grid-template-columns:1fr 1fr;grid-template-areas:"name name" "genre tempo" "bars actions"}}.groove-cart__name{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:4px 6px;margin:-4px 0 -4px -6px;min-width:0;width:100%}.groove-cart__name:hover{border-color:var(--border-subtle)}.groove-cart__name:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-surface)}.groove-cart__genre{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gc, var(--text-secondary));background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:5px 6px}.groove-cart__field{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-xs);color:var(--text-tertiary)}.groove-cart__field input{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);padding:5px 7px;width:100%}.groove-cart__field input:focus{outline:none;border-color:var(--accent-primary)}.groove-cart__actions{display:flex;align-items:center;gap:var(--space-2);justify-self:end}.groove-cart__push{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.groove-cart__err{display:inline-flex;align-items:center;color:var(--status-failed)}.groove-cart__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer}.groove-cart__btn:hover:not(:disabled){border-color:var(--status-failed);color:var(--status-failed)}.groove-cart__btn:disabled{opacity:.5;cursor:default}.groove-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:groove-spin .8s linear infinite}@keyframes groove-spin{to{transform:rotate(360deg)}}.groove-tray__warn{color:var(--status-failed, #dc2626);font-size:var(--fs-sm)}.groove-tray__suggest-kit{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-tertiary);cursor:pointer;white-space:nowrap}.groove-tray__suggest-kit input{accent-color:var(--accent-primary)}.groove-song{display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.groove-song__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.groove-song__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin:0;flex:none}.groove-song__play{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.groove-song__play--on{border-color:var(--accent-primary);color:var(--accent-primary)}.groove-song__recap{color:var(--text-tertiary);font-size:var(--fs-xs);margin-left:auto}.groove-song__recap-warn{display:inline-flex;align-items:center;gap:2px;color:var(--status-failed)}.groove-song__empty{color:var(--text-tertiary);font-size:var(--fs-sm);text-align:center;padding:var(--space-3) 0;margin:0}.groove-song__timeline{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.song-chip{display:flex;flex-direction:column;gap:6px;width:148px;flex:none;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-top:3px solid var(--sc, var(--border-subtle));border-radius:var(--radius-md);padding:var(--space-2);transition:box-shadow .15s ease,border-color .15s ease}.song-chip--active{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary),0 0 14px -4px var(--accent-primary)}.song-chip--unreachable{opacity:.55}.song-chip__head{display:flex;align-items:baseline;gap:6px;min-width:0}.song-chip__index{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);flex:none}.song-chip__name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.song-chip__meta{font-size:var(--fs-xs);color:var(--text-tertiary)}.song-chip__mode{display:inline-flex;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px;gap:2px}.song-chip__mode button{flex:1 1 0;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);background:transparent;border:0;border-radius:4px;padding:4px 0;cursor:pointer}.song-chip__mode button.on{background:var(--bg-elevated);color:var(--text-primary);box-shadow:0 0 0 1px var(--sc, var(--accent-primary))}.song-chip__times{display:flex;align-items:center;gap:4px}.song-chip__times button{flex:none;width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;padding:0;line-height:1}.song-chip__times button:disabled{opacity:.4;cursor:default}.song-chip__times input{width:0;flex:1 1 auto;text-align:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-sm);padding:3px 0}.song-chip__warn{display:flex;align-items:center;gap:4px;color:var(--status-failed);font-size:10px;margin:0}.song-chip__actions{display:flex;align-items:center;gap:4px;margin-top:2px}.song-chip__actions button{flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;font-size:11px;padding:0}.song-chip__actions button:disabled{opacity:.35;cursor:default}.song-chip__actions button:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.song-chip__remove{margin-left:auto}.song-chip__remove:hover:not(:disabled){border-color:var(--status-failed)!important;color:var(--status-failed)!important}.kit-creator{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:96px}.kit-creator__head{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.kit-creator__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0;flex:none}.kit-creator__subtitle{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;min-width:0}.kit-machine{--kit-bg2: #10131a;--kit-panel: #171b23;--kit-panel2: #1d222c;--kit-edge: #2a303c;--kit-edge2: #373f4d;--kit-ink: #e7ecf3;--kit-ink-dim: #97a1b2;--kit-ink-faint: #5f6a7c;--kit-screw: #0a0c10;--kit-led: #ff8a3d;--kit-led-glow: #ffb454;--kit-lcd: #ffbf69;--kit-lcd-dim: #7a5a34;--kit-lcd-bg: #0a0d0a;--kit-lcd-edge: #23301f;position:relative;background:linear-gradient(180deg,var(--kit-panel2),var(--kit-panel));border:1px solid var(--kit-edge);border-radius:var(--radius-xl);box-shadow:0 18px 40px -18px #000c;padding:var(--space-4)}.kit-screws{position:absolute;top:10px;right:10px;bottom:10px;left:10px;pointer-events:none}.kit-screws i{position:absolute;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--kit-edge2),var(--kit-screw));box-shadow:inset 0 1px 1px #ffffff1f}.kit-screws i:nth-child(1){top:0;left:0}.kit-screws i:nth-child(2){top:0;right:0}.kit-screws i:nth-child(3){bottom:0;left:0}.kit-screws i:nth-child(4){bottom:0;right:0}.kit-lcd{font-family:var(--font-mono);background:var(--kit-lcd-bg);border:1px solid var(--kit-lcd-edge);border-radius:var(--radius-md);padding:8px 14px;color:var(--kit-lcd);text-shadow:0 0 8px rgba(255,180,84,.45);display:flex;align-items:center;gap:14px;letter-spacing:.06em;margin-bottom:var(--space-3);flex-wrap:wrap}.kit-lcd__big{font-size:var(--fs-sm);font-weight:600;color:var(--kit-lcd)}.kit-lcd__sep{color:var(--kit-lcd-dim)}.kit-lcd__dim{color:var(--kit-lcd-dim);font-size:var(--fs-xs)}.kit-lcd__blink{width:7px;height:7px;border-radius:50%;background:var(--kit-led);box-shadow:0 0 8px var(--kit-led-glow);margin-left:auto;animation:kit-lcd-pulse 1.6s ease-in-out infinite}@keyframes kit-lcd-pulse{0%,to{opacity:1}50%{opacity:.25}}.kit-top{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.kit-name-input{font-family:var(--font-mono);font-size:var(--fs-sm);width:240px;max-width:280px;background:var(--kit-bg2);border:1px solid var(--kit-edge);border-radius:var(--radius-md);color:var(--kit-ink);padding:8px 12px}.kit-name-input::-moz-placeholder{color:var(--kit-ink-faint)}.kit-name-input::placeholder{color:var(--kit-ink-faint)}.kit-name-input:focus{outline:none;border-color:var(--kit-edge2);box-shadow:0 0 0 1px var(--kit-edge2)}.kit-name-input:disabled{opacity:.5}.kit-bank-rocker{display:inline-flex;background:var(--kit-bg2);border:1px solid var(--kit-edge);border-radius:var(--radius-md);padding:4px;gap:4px}.kit-bank-rocker button{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.12em;color:var(--kit-ink-faint);background:transparent;border:0;padding:8px 16px;border-radius:7px;cursor:pointer;transition:.15s}.kit-bank-rocker button .n{color:var(--kit-ink-dim)}.kit-bank-rocker button.on{background:linear-gradient(180deg,var(--kit-panel2),var(--kit-panel));color:var(--kit-ink);box-shadow:0 0 0 1px var(--kit-edge2),0 0 14px -4px var(--kit-led)}.kit-bank-rocker button.on .n{color:var(--kit-led)}.kit-bank-rocker button:disabled{opacity:.5;cursor:default}.kit-hint{color:var(--kit-ink-faint);font-size:var(--fs-xs);margin-left:auto}.kit-pad-machine{display:grid;grid-template-columns:1.35fr .85fr;gap:var(--space-4)}@media (max-width: 760px){.kit-pad-machine{grid-template-columns:1fr}}.kit-pad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);list-style:none;margin:0;padding:0}@media (max-width: 480px){.kit-pad-grid{grid-template-columns:repeat(2,1fr)}}.kit-pad{position:relative;min-height:108px;max-height:132px;border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(160deg,var(--kit-panel2),#0c0f15);border:1px solid var(--kit-edge);padding:8px 10px;display:flex;flex-direction:column;gap:4px;transition:transform .06s,box-shadow .15s,border-color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:inset 0 1px #ffffff0a,inset 0 -10px 20px -12px #000000b3}.kit-pad__dot{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--acc);opacity:.35;box-shadow:0 0 0 1px #0000004d;transition:.15s}.kit-pad__fut{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600;color:var(--kit-ink)}.kit-pad__gm{font-family:var(--font-mono);font-size:10px;color:var(--kit-ink-faint);letter-spacing:.08em}.kit-pad__lvlbar{margin-top:auto;height:4px;border-radius:3px;background:var(--kit-edge);overflow:hidden;display:block}.kit-pad__lvlbar i{display:block;height:100%;background:var(--acc);width:var(--lvl, 70%);opacity:.8}.kit-pad__empty{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--kit-ink-faint);margin-top:auto}.kit-pad--filled .kit-pad__dot{opacity:1;box-shadow:0 0 10px var(--acc)}.kit-pad--empty{border-style:dashed;border-color:var(--kit-edge2);background:var(--kit-bg2)}.kit-pad--sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 0 26px -6px var(--acc)}.kit-pad--drag-over{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}.kit-pad:active{transform:translateY(2px) scale(.985)}.kit-pad--hit{animation:kit-pad-hit .4s ease}@keyframes kit-pad-hit{0%{box-shadow:0 0 0 2px var(--acc),0 0 40px -2px var(--acc)}}.kit-inspector{background:var(--kit-bg2);border:1px solid var(--kit-edge);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.kit-field-lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--kit-ink-faint);margin-bottom:6px}.kit-insp-name{font-family:var(--font-mono);font-size:var(--fs-base);font-weight:700;color:var(--kit-ink);display:flex;align-items:center;gap:10px}.kit-insp-swatch{width:12px;height:12px;border-radius:3px;background:var(--acc);box-shadow:0 0 10px var(--acc);flex:none}.kit-insp-gm{color:var(--kit-ink-faint);font-size:var(--fs-xs);font-weight:400}.kit-insp-sample{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--kit-ink-dim);background:var(--kit-panel);border:1px dashed var(--kit-edge2);border-radius:var(--radius-sm);padding:8px 12px;word-break:break-all}.kit-insp-sample--empty{color:var(--kit-ink-faint)}.kit-knobrow{display:flex;align-items:center;gap:var(--space-3)}.kit-knob-wrap{text-align:center;flex:none}.kit-knob{--deg: -50deg;width:44px;height:44px;border-radius:50%;position:relative;margin:0 auto;background:radial-gradient(circle at 50% 40%,var(--kit-panel2),#0a0d12);border:1px solid var(--kit-edge2);box-shadow:inset 0 2px 6px #00000080,0 2px 4px #0006;cursor:ns-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.kit-knob:focus-visible{outline:none;box-shadow:inset 0 2px 6px #00000080,0 2px 4px #0006,0 0 0 2px var(--acc, var(--kit-led))}.kit-knob--disabled{cursor:default;opacity:.5}.kit-knob:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:14px;border-radius:2px;background:var(--acc, var(--kit-led));transform-origin:50% 16px;transform:translate(-50%) rotate(var(--deg));box-shadow:0 0 8px var(--acc, var(--kit-led))}.kit-knob-cap{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--kit-ink-faint);text-transform:uppercase;margin-top:6px}.kit-knob-side{flex:1;min-width:0}.kit-knob-val{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--kit-ink)}.kit-mode-block{margin-top:8px}.kit-seg{display:inline-flex;background:var(--kit-panel);border:1px solid var(--kit-edge);border-radius:var(--radius-sm);padding:3px}.kit-seg button{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--kit-ink-faint);background:transparent;border:0;padding:6px 12px;border-radius:6px;cursor:pointer}.kit-seg button.on{background:var(--kit-panel2);color:var(--kit-ink);box-shadow:inset 0 0 0 1px var(--kit-edge2)}.kit-seg button:disabled{opacity:.5;cursor:default}.kit-level-slider{display:flex;flex-direction:column;gap:2px}.kit-level-slider input[type=range]{width:100%;accent-color:var(--kit-led)}.kit-insp-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.kit-btn{display:inline-flex;align-items:center;gap:6px}.kit-creator__bar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.kit-creator__recap{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--text-secondary)}.kit-creator__recap-warn{color:var(--status-failed);display:inline-flex;align-items:center;gap:4px}.kit-creator__recap-warn--strong{font-weight:var(--fw-medium)}.kit-creator__status{flex:1;min-width:200px}.kit-creator__status-msg{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm)}.kit-creator__status-msg--ok{color:var(--accent-primary)}.kit-creator__status-msg--err{color:var(--status-failed)}.kit-creator__status-msg code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary)}.kit-creator__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.kit-creator__push,.kit-creator__testkit,.kit-creator__save{display:inline-flex;align-items:center;gap:var(--space-2)}.kit-creator__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:kit-creator-spin .8s linear infinite}@keyframes kit-creator-spin{to{transform:rotate(360deg)}}.kit-list{display:flex;flex-direction:column;gap:var(--space-3)}.kit-list__head{display:flex;align-items:center;gap:var(--space-3)}.kit-list__title{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin:0;color:var(--text-primary)}.kit-list__new{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.kit-list__empty{color:var(--text-tertiary);font-size:var(--fs-sm);margin:0;padding:var(--space-4);text-align:center;border:1px dashed var(--border-subtle);border-radius:var(--radius-md)}.kit-list__grid{display:flex;flex-wrap:wrap;gap:var(--space-3);list-style:none;margin:0;padding:0}.kit-list-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:180px;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.kit-list-card:hover{border-color:var(--border-strong, var(--border-subtle));box-shadow:var(--shadow-sm)}.kit-list-card:active{transform:translateY(1px)}.kit-list-card--current{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.kit-list-card__name{font-weight:var(--fw-medium);font-size:var(--fs-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.kit-list-card__meta{font-size:var(--fs-xs);color:var(--text-tertiary)}.kit-list-card__status{font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:2px 8px;border-radius:999px;border:1px solid var(--border-subtle);color:var(--text-tertiary)}.kit-list-card__status--pushed{border-color:#d97706;color:#d97706}.kit-list-card__status--onrack{border-color:#16a34a;color:#16a34a}.kit-list-card__date{font-size:var(--fs-xs);color:var(--text-tertiary);opacity:.75}.tablet-stage{--dsn-bg: #0d0f12;--dsn-panel: #15191f;--dsn-panel2: #1c2129;--dsn-line: #262d37;--dsn-text: #e7ecf2;--dsn-muted: #8a94a3;--dsn-accent: #ff5a3c;--dsn-funk: #2ecc71;--dsn-sect: #ff5a3c;--tablet-img: url(/golem/tablette-white.png);--scr-top: 4.99%;--scr-left: 3.06%;--scr-right: 3.2%;--scr-bottom: 4.83%;--scr-radius: 14px;display:flex;justify-content:center;padding:12px 4px 24px;background:transparent}[data-theme=light] .tablet-stage,[data-theme=paper] .tablet-stage,[data-theme=solar] .tablet-stage{--tablet-img: url(/golem/tablette-black.png)}.tablet{position:relative;width:min(1120px,100%);aspect-ratio:1265 / 839;background:var(--tablet-img) center / 100% 100% no-repeat}.tablet__cam{display:none}.tablet__screen{position:absolute;top:var(--scr-top);left:var(--scr-left);right:var(--scr-right);bottom:var(--scr-bottom);border-radius:var(--scr-radius);overflow:hidden;background:var(--dsn-bg);color:var(--dsn-text);display:flex;flex-direction:column;font-size:14px}.tablet__glare{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.06) 0%,transparent 22%,transparent 100%);z-index:50}.tablet__statusbar{flex:none;display:flex;align-items:center;gap:10px;height:30px;padding:0 14px;background:#0a0c10;border-bottom:1px solid var(--dsn-line);font-size:12px;color:var(--dsn-muted)}.tablet__brand{font-weight:800;letter-spacing:.5px;color:var(--dsn-text);background:linear-gradient(90deg,#ff8a3c,#ff5a3c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tablet__title{color:var(--dsn-muted)}.tablet__sys{margin-left:auto;display:inline-flex;align-items:center;gap:8px;color:var(--dsn-muted)}.tablet__content{flex:1;min-height:0;overflow:auto}.dsn{padding:14px 18px 18px;display:flex;flex-direction:column;gap:14px}.dsn-tabs{display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--dsn-line)}.dsn-tab{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--dsn-muted);cursor:pointer;font-weight:600;font-size:15px}.dsn-tab.on{color:var(--dsn-text);border-bottom-color:var(--dsn-sect)}.dsn-tab small{font-size:10px;color:var(--dsn-muted);font-weight:400}.dsn-tab.dis{opacity:.4;pointer-events:none}.dsn-tabs__meta{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.dsn-bpm,.dsn-style{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--dsn-muted);border:1px solid var(--dsn-line);border-radius:8px;padding:4px 9px}.dsn-style{text-transform:capitalize}.dsn-sec{background:var(--dsn-panel);border:1px solid var(--dsn-line);border-radius:14px;padding:10px 14px 6px}.dsn-sec__lbl{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.dsn-sec__name{font-size:14px;font-weight:700;letter-spacing:.4px}.dsn-empty{color:var(--dsn-muted);font-size:13px;padding:18px 4px}.dsn-stomps{display:inline-flex;flex-wrap:wrap;gap:6px}.dsn-ss{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--dsn-muted);background:var(--dsn-panel2);border:1px solid var(--dsn-line);border-radius:7px;padding:2px 8px;white-space:nowrap}.dsn-ss b{color:var(--dsn-text);font-family:ui-monospace,monospace;font-size:10px}.dsn-gc{display:flex;flex-direction:column;padding:8px 2px 2px}.dsn-gc__row{position:relative;display:grid;grid-template-columns:repeat(12,1fr);-moz-column-gap:8px;column-gap:8px;min-height:82px;align-items:center}.dsn-gc__row:not(.tall) .dsn-gc__cell{grid-row:1}.dsn-gc__row.tall{grid-template-rows:76px 76px;row-gap:10px}.dsn-gc__row.tall .dsn-gc__cell.ln-a{grid-row:1}.dsn-gc__row.tall .dsn-gc__cell.ln-b{grid-row:2}.dsn-gc__row.tall .dsn-gc__cell.ln-c{grid-row:1 / 3;align-self:center}.dsn-gc__cell{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0}.dsn-gc__cell.ghost{display:none}.dsn-gc__cell.lane-muted .dsn-tile{border-color:color-mix(in srgb,var(--tc) 22%,var(--dsn-line))}.dsn-gc__cell.lane-muted .dsn-tile__ic,.dsn-gc__cell.lane-muted .dsn-tile__nm,.dsn-gc__cell.lane-muted .dsn-tile__foot{opacity:.4}.dsn-wire{position:absolute;top:50%;height:2px;margin-top:-1px;background:var(--dsn-line);z-index:0;border-radius:2px}.dsn-gc__row.tall .dsn-wire.w-a{top:38px}.dsn-gc__row.tall .dsn-wire.w-b{top:auto;bottom:38px;margin-top:0;margin-bottom:-1px}.dsn-gc__cell.fork,.dsn-gc__cell.join{grid-row:1 / 3;align-self:stretch;z-index:0}.dsn-conn{position:absolute;left:-8px;top:0;width:calc(100% + 16px);height:100%;pointer-events:none}.dsn-gc__chip{position:absolute;left:50%;transform:translate(-50%);z-index:2;font-size:10px;font-weight:800;color:var(--dsn-accent);background:var(--dsn-panel);border:1px solid var(--dsn-line);border-radius:8px;padding:1px 6px}.dsn-gc__chip.chip-a{top:14px}.dsn-gc__chip.chip-b{bottom:14px}.dsn-gc__chip.mute{opacity:.4;color:var(--dsn-muted)}.dsn-gc__cell.wr-out .dsn-gc__half,.dsn-gc__cell.wr-in .dsn-gc__half{width:100%;max-width:74px;height:32px;border:2px solid var(--dsn-line);border-radius:10px;background:var(--dsn-panel2);display:flex;align-items:center;justify-content:center;color:var(--dsn-muted);font-size:15px}.dsn-gc__ret{position:relative;height:26px;margin:0;z-index:0;pointer-events:none}.dsn-gc__ret:before{content:"";position:absolute;left:calc((100% - 88px) / 24 + 12px);right:calc((100% - 88px) / 24 - 1px);top:-41px;height:54px;border-right:2px solid var(--dsn-line);border-bottom:2px solid var(--dsn-line);border-bottom-right-radius:16px}.dsn-gc__ret:after{content:"";position:absolute;left:calc((100% - 88px) / 24 - 1px);top:13px;width:22px;height:38px;border-left:2px solid var(--dsn-line);border-top:2px solid var(--dsn-line);border-top-left-radius:14px}.dsn-gc__ret.from-tall:before{top:-81px;height:94px}.dsn-gc__ret.to-tall:after{height:78px}.dsn-io{display:inline-flex;align-items:center;gap:4px;background:var(--dsn-panel2);border:1px solid var(--dsn-line);border-radius:9px;padding:8px 9px;font-size:11px;letter-spacing:.5px;white-space:nowrap}.dsn-io b{color:var(--dsn-text);font-size:14px}.dsn-io--in{color:var(--dsn-funk)}.dsn-io--out{color:var(--dsn-accent)}.dsn-sum{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;width:100%;max-width:74px;height:34px;background:var(--dsn-panel2);border:2px solid var(--dsn-line);border-radius:11px;font-size:12px;color:var(--dsn-muted)}.dsn-sum b{color:var(--dsn-accent);font-size:14px}.dsn-tile{position:relative;width:100%;max-width:78px;height:64px;border-radius:14px;border:2px solid var(--tc);background:var(--dsn-panel2);color:var(--dsn-text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px;transition:box-shadow .12s}.dsn-tile:hover{box-shadow:0 0 10px -2px var(--tc)}.dsn-tile.sel{outline:2px solid var(--dsn-accent);outline-offset:2px}.dsn-tile.byp,.dsn-tile.scene-off{border-color:color-mix(in srgb,var(--tc) 22%,var(--dsn-line))}.dsn-tile.scene-off{border-style:dashed}.dsn-tile.byp .dsn-tile__ic,.dsn-tile.scene-off .dsn-tile__ic,.dsn-tile.byp .dsn-tile__nm,.dsn-tile.scene-off .dsn-tile__nm,.dsn-tile.byp .dsn-tile__foot,.dsn-tile.scene-off .dsn-tile__foot{opacity:.4}.dsn-tile__ic{font-size:24px;line-height:1;color:var(--tc)}.dsn-tile__piano{display:block;width:30px;height:19px}.dsn-tile__nm{font-size:9.5px;color:var(--dsn-muted);text-align:center;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsn-tile__badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:var(--tc);color:#111;font-size:8.5px;font-weight:800;padding:1px 5px;border-radius:6px;white-space:nowrap}.dsn-tile__foot{position:absolute;bottom:-7px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:2px;background:var(--dsn-panel);border:1px solid var(--dsn-line);color:var(--dsn-muted);font-size:9px;font-weight:700;padding:1px 4px;border-radius:6px}.dsn-tile__dot{position:absolute;top:5px;right:5px;width:9px;height:9px;border-radius:50%;background:var(--dsn-funk);box-shadow:0 0 4px var(--dsn-funk)}.dsn-tile__dot.ko{background:var(--dsn-muted);box-shadow:none}.dsn-scenes{display:flex;align-items:center;gap:6px}.dsn-sctab{min-width:34px;height:32px;border-radius:8px;background:var(--dsn-panel2);border:1px solid var(--dsn-line);color:var(--dsn-muted);font-weight:700;cursor:pointer}.dsn-sctab.on{background:var(--dsn-sect);border-color:var(--dsn-sect);color:#111}.dsn-scenes__name{margin-left:6px;font-size:12px;color:var(--dsn-muted)}.dsn-sheet__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-end;z-index:40}.dsn-sheet{position:relative;width:100%;max-height:min(60%,420px);background:var(--dsn-panel);border-top:1px solid var(--dsn-line);border-radius:18px 18px 0 0;padding:14px 20px 16px;display:flex;flex-direction:column;box-shadow:0 -10px 30px #00000080}.dsn-sheet__tab{position:absolute;top:-34px;left:16px;display:flex;align-items:center;gap:8px;background:var(--dsn-panel);border:1px solid var(--dsn-line);border-bottom:none;border-top:2px solid var(--tc);border-radius:12px 12px 0 0;padding:7px 16px 9px;color:var(--dsn-text);cursor:pointer;font-size:13px}.dsn-sheet__ic{color:var(--tc);font-size:16px}.dsn-sheet__tab em{color:var(--dsn-muted);font-style:normal;font-size:11px}.dsn-sheet__x{color:var(--dsn-muted)}.dsn-sheet__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--dsn-line);font-size:12px;color:var(--dsn-muted)}.dsn-sheet__scene b{color:var(--dsn-text)}.dsn-sheet__model{font-family:ui-monospace,monospace;font-size:11px}.dsn-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid var(--dsn-line);font-weight:600;font-size:11px}.dsn-pill.on{color:var(--dsn-funk);border-color:color-mix(in srgb,var(--dsn-funk) 45%,transparent)}.dsn-pill.off{color:var(--dsn-muted)}.dsn-sheet__body{display:flex;flex-wrap:wrap;gap:14px 18px;padding:14px 2px;overflow-y:auto;align-items:flex-start}.dsn-sheet__empty{color:var(--dsn-muted);font-size:13px}.dsn-ctl{display:flex;flex-direction:column;align-items:center;gap:5px}.dsn-ctl__lbl{font-size:11px;color:var(--dsn-muted)}.dsn-chip{min-height:30px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;background:var(--dsn-panel2);border:1px solid var(--dsn-line);color:var(--dsn-muted);font-weight:700;font-size:12px}.dsn-chip.on{color:var(--dsn-text);border-color:var(--dsn-accent)}.dsn-knob{display:flex;flex-direction:column;align-items:center;gap:3px;width:68px}.dsn-knob__dial{position:relative;width:50px;height:50px;border-radius:50%}.dsn-knob__dial:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:var(--dsn-panel2);border:1px solid var(--dsn-line)}.dsn-knob__pin{position:absolute;left:calc(50% - 1.5px);bottom:50%;width:3px;height:38%;background:var(--dsn-text);border-radius:2px;transform-origin:bottom center;z-index:1}.dsn-knob.ovr .dsn-knob__dial{box-shadow:0 0 0 2px var(--dsn-accent)}.dsn-knob__val{font-size:12px;font-weight:700;color:var(--dsn-text)}.dsn-knob__val i{color:var(--dsn-muted);font-style:normal;font-size:10px;margin-left:1px}.dsn-knob__lbl{font-size:10px;color:var(--dsn-muted)}@media (max-width: 820px){.dsn-gc{min-width:680px}.tablet__content{overflow-x:auto}}.preset-native__title{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:4px 0 14px}.preset-native__deps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.preset-native__dep{display:flex;align-items:center;gap:10px;min-width:0}.preset-native__dep-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.dsn-tile.unknown{border-style:dashed;border-color:var(--dsn-muted)}.dsn-tile__unknown{position:absolute;top:-8px;left:-6px;width:16px;height:16px;border-radius:50%;background:var(--dsn-muted);color:#0d0f12;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}.preset-native__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:4px 0 14px}.preset-native__head .preset-native__title{margin:0}.dsn-compat-box{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px;width:100%}.dsn-compat{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:600;border:1px solid transparent}.dsn-compat--ok{color:#16a34a;background:color-mix(in srgb,#16a34a 12%,transparent);border-color:color-mix(in srgb,#16a34a 35%,transparent)}.dsn-compat--warn{color:#d97706;background:color-mix(in srgb,#d97706 12%,transparent);border-color:color-mix(in srgb,#d97706 35%,transparent);font-weight:500}.dsn-compat--warn b{font-weight:700}.dsn-compat--info{color:var(--text-secondary);background:var(--bg-elevated);border-color:var(--border-subtle);font-weight:500}.preset-native__push{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.preset-native__push-note{font-size:var(--fs-sm);font-weight:500}.preset-native__push-note--ok{color:#16a34a}.preset-native__push-note--err{color:#dc2626}.fx-breakdown{display:flex;flex-direction:column;gap:22px;margin-top:6px}.fx-group__weight{margin-left:8px;font-weight:400;font-size:var(--fs-sm);color:var(--text-secondary)}.fx-nat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.fx-nat-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--c)}.fx-nat-card__ic{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;font-size:17px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.fx-nat-card__nm{font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-dl-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.fx-dl-card{position:relative;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);border-top:3px solid var(--c);transition:transform .12s,box-shadow .15s,border-color .15s}.fx-dl-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--c) 50%,var(--border-subtle))}.fx-dl-card__link{display:block;padding:12px 14px;color:inherit;text-decoration:none}.fx-dl-card>:not(.fx-dl-card__link){padding:12px 14px;display:block}.fx-dl-card__top{display:flex;align-items:center;gap:8px;margin-bottom:8px}.fx-dl-card__kind{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent);padding:2px 8px;border-radius:var(--radius-pill)}.fx-dl-card__src{margin-left:auto;font-size:var(--fs-xs);font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);color:var(--text-secondary)}.fx-dl-card__src--t3k{color:#ff7a1a;border-color:color-mix(in srgb,#ff7a1a 45%,transparent)}.fx-dl-card__name{font-size:var(--fs-sm);font-weight:600;line-height:1.35;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fx-dl-card__foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.fx-dl-card__by{font-size:var(--fs-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-dl-card__by b{color:var(--text-primary);font-weight:700}.fx-dl-card__size{flex:none;font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary)}.fx-dl-card__ext{position:absolute;top:10px;right:12px;color:var(--text-secondary);font-size:13px}.dsn-cfg{display:flex;flex-direction:column;gap:16px;padding:8px 2px 2px}.dsn-cfg__title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--dsn-muted);margin-bottom:10px}.dsn-cfg__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dsn-cfg__tiles{display:flex;flex-wrap:wrap;gap:10px;flex:1;min-width:0}.dsn-cfg__tiles .dsn-tile{width:78px;flex:none}.dsn-tab--icon{font-size:18px;padding:0 16px}.dsn-cfg__empty{color:var(--dsn-muted);font-size:12px;font-style:italic;padding:6px 2px}.dsn-topbar{margin:-14px -18px 14px;flex:none;display:flex;align-items:center;gap:12px;height:46px;padding:0 16px;background:#0a0c10;border-bottom:1px solid var(--dsn-line)}.dsn-topbar__id{flex:none;display:flex;align-items:baseline;gap:8px;min-width:0}.dsn-topbar__brand{font-weight:800;letter-spacing:.5px;font-size:14px;background:linear-gradient(90deg,#ff8a3c,#ff5a3c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.dsn-topbar__name{font-size:13px;color:var(--dsn-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.dsn-topbar__scenes{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}.dsn-topbar__scenes .dsn-sctab{min-width:30px;height:28px;font-size:12px}.dsn-topbar__scene{margin-left:6px;font-size:12px;color:var(--dsn-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.dsn-topbar__sys{flex:none;display:inline-flex;align-items:center;gap:8px;color:var(--dsn-muted)}.fx-group__h{display:flex;align-items:baseline;gap:10px;font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0 0 12px}.fx-group__n{font-size:var(--fs-xs);font-weight:700;color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius-pill);padding:2px 9px}.fx-backing-grid{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.fx-backing-card{position:relative;display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-subtle)}.fx-backing-card__photo{flex:none;width:64px;height:64px;border-radius:12px;-o-object-fit:cover;object-fit:cover;background:var(--bg-elevated)}.fx-backing-card__photo--ph{display:grid;place-items:center;font-weight:800;color:var(--text-secondary)}.fx-backing-card__body{min-width:0;flex:1}.fx-backing-card__title{font-size:var(--fs-md);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-backing-card__artist{font-size:var(--fs-sm);color:var(--text-secondary)}.fx-backing-card__base{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:5px}.fx-backing-card__tag{position:absolute;top:10px;right:12px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 14%,transparent);padding:2px 8px;border-radius:var(--radius-pill)}.fx-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:4px 0 18px}.fx-title__h{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0}.fx-title__see{font-size:var(--fs-sm);color:var(--text-secondary)}.fx-title__link{background:none;border:none;cursor:pointer;padding:2px 6px;font-size:var(--fs-sm);font-weight:700;color:var(--accent-primary);border-radius:var(--radius-sm);transition:background .12s}.fx-title__link:hover{background:color-mix(in srgb,var(--accent-primary) 12%,transparent)}.fx-title__sep{color:var(--text-secondary)}.fx-empty{color:var(--text-secondary);font-size:var(--fs-sm);font-style:italic;padding:8px 2px}.fx-nat-card{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.fx-nat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-left-color:var(--c);border-color:color-mix(in srgb,var(--c) 45%,var(--border-subtle))}.fx-nat-card:hover .fx-nat-card__ic{transform:scale(1.08);transition:transform .14s ease}.dsn-bank{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--dsn-muted);border:1px solid var(--dsn-line);border-radius:8px;padding:4px 9px}.dsn-bank.on{color:var(--dsn-accent);border-color:color-mix(in srgb,var(--dsn-accent) 45%,var(--dsn-line))}.scene-rec-grid{list-style:none;margin:6px 0 22px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.scene-rec{position:relative;display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-subtle);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.scene-rec:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.scene-rec.on{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.scene-rec__body{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px 8px;background:none;border:none;cursor:pointer;text-align:left;color:inherit}.scene-rec__id{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-weight:800;font-size:var(--fs-md);background:var(--bg-elevated);color:var(--text-secondary)}.scene-rec.on .scene-rec__id{background:var(--accent-primary);color:var(--text-on-accent)}.scene-rec__name{min-width:0;font-size:var(--fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-rec__play{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;display:grid;place-items:center;font-size:12px;transition:color .12s,border-color .12s}.scene-rec__play:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.scene-rec__play.playing{color:var(--accent-primary);border-color:var(--accent-primary)}.scene-rec__empty{display:flex;align-items:center;gap:7px;padding:0 14px 12px;font-size:var(--fs-xs);color:var(--text-secondary);font-style:italic}.scene-rec__empty-ic{flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--border-subtle);font-size:9px;font-style:normal}.fx-lanes{display:flex;flex-direction:column;gap:14px;margin-top:6px}.fx-lane{position:relative;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);overflow:hidden;transition:border-color .15s,box-shadow .15s,background .15s}.fx-lane.on{border-color:color-mix(in srgb,var(--accent-primary) 40%,var(--border-subtle));box-shadow:var(--shadow-sm)}.fx-lane.on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent-primary);z-index:1}.fx-lane--config{opacity:.95}.fx-lane__head{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;color:inherit}.fx-lane__head--static{cursor:default}.fx-lane.on .fx-lane__head{background:color-mix(in srgb,var(--accent-primary) 6%,transparent)}.fx-lane__ic{font-size:17px;line-height:1}.fx-lane__name{font-size:var(--fs-md);font-weight:700}.fx-lane.on .fx-lane__name{color:var(--accent-primary)}.fx-lane__meta{margin-left:auto;font-size:var(--fs-xs);font-weight:600;color:var(--text-secondary)}.fx-lane__body{padding:14px 16px;display:flex;flex-direction:column;gap:16px}.fx-zone{display:flex;flex-direction:column;gap:9px}.fx-zone__label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.fx-zone .fx-dl-grid{margin:0}.fx-chipbar{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}.fx-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:var(--radius-pill);background:var(--bg-elevated);border:1px solid var(--border-subtle);font-size:var(--fs-xs);border-left:3px solid var(--c)}.fx-chip__ic{color:var(--c);font-size:13px;line-height:1}.fx-chip__nm{font-weight:600}.fx-amp-card .fx-dl-card__link,.fx-amp-card{min-width:0}.fx-amp-kind{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.fx-amp-brand{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-top:4px}.fx-amp-model{font-size:var(--fs-md);font-weight:700;line-height:1.25;margin:1px 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-amp-capshead{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin-bottom:4px}.fx-amp-caps{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:5px}.fx-amp-cap{display:flex;align-items:center;gap:6px;min-width:0;font-size:var(--fs-xs);color:var(--text-secondary)}.fx-amp-cap__dot{flex:none;width:6px;height:6px;border-radius:50%}.fx-amp-cap__nm{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-amp-cap__a2{flex:none;font-size:9px;font-weight:800;letter-spacing:.02em;color:var(--accent-primary);border:1px solid color-mix(in srgb,var(--accent-primary) 40%,transparent);border-radius:4px;padding:0 3px;line-height:1.4}.fx-amp-cap__sz{flex:none;font-variant-numeric:tabular-nums}.fx-howto{margin-top:6px;border:1px dashed color-mix(in srgb,var(--accent-primary) 30%,var(--border-subtle));border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent-primary) 4%,var(--bg-elevated));padding:14px 16px}.fx-howto__h{font-size:var(--fs-sm);font-weight:700;margin-bottom:12px}.fx-howto__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.fx-howto__step{display:flex;align-items:flex-start;gap:12px;font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.45}.fx-howto__step b{color:var(--text-primary);font-weight:700}.fx-howto__step em{font-style:normal;font-weight:600;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:5px;padding:0 5px;white-space:nowrap}.fx-howto__ic{flex:none;font-size:18px;line-height:1.3}.scene-rec-wrap{margin:6px 0 22px}.scene-rec-wrap .scene-rec-grid{margin:0}.scene-rec-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}.scene-rec-head__t{font-size:var(--fs-md);font-weight:700}.scene-rec-head__gen{flex:none}.scene-rec-head__hint{font-size:var(--fs-xs);color:var(--text-secondary);font-style:italic}.scene-rec__play{flex-direction:column;gap:0;width:auto;min-width:30px;height:auto;min-height:30px;padding:4px 6px}.scene-rec__dur{font-style:normal;font-size:8.5px;font-weight:700;color:var(--text-secondary);line-height:1;margin-top:1px}.pb-editor{margin-top:22px}.pb-editor__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.pb-editor__title{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0}.pb-editor__sub{font-size:var(--fs-sm);color:var(--text-secondary);margin:3px 0 0;max-width:62ch}.pb-editor__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pb-editor__note{font-size:var(--fs-xs);font-weight:600}.pb-editor__note--ok{color:var(--dsn-funk)}.pb-editor__note--err{color:var(--dsn-accent)}.pb-editor__foot{font-size:var(--fs-xs);color:var(--text-secondary);font-style:italic;margin:10px 2px 0;max-width:82ch}.pb-board{background:var(--dsn-bg);border:1px solid var(--dsn-line);border-radius:var(--radius-lg);padding:14px 14px 16px;overflow-x:auto}.pb-board__line{display:flex;align-items:stretch;gap:9px}.pb-board__line+.pb-board__line{margin-top:11px}.pb-board__lbl{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--dsn-muted);flex:0 0 16px}.pb-row{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;flex:1;min-width:0}.pb-cell{display:flex;flex-direction:column;gap:7px;min-width:0}.pb-cell--void{visibility:hidden}.pb-face{--pc: #3f7fd6;--vu: 0;position:relative;overflow:hidden;height:90px;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;padding:9px 11px;text-align:left;width:100%;border:none;border-radius:9px;background:var(--pc);color:#fff;cursor:default;transition:box-shadow .18s ease,filter .18s ease}.pb-face:not(:disabled){cursor:pointer}.pb-face:not(:disabled):hover{filter:brightness(1.08)}.pb-face--empty{opacity:.5}.pb-face.on{outline:3px solid #fff;outline-offset:-3px}.pb-face>*{position:relative;z-index:1}.pb-face__k{font-size:15px;font-weight:800;color:#fff;opacity:.95;text-shadow:0 1px 3px rgba(0,0,0,.55)}.pb-face__ic{font-size:13px;letter-spacing:1px;text-shadow:0 1px 3px rgba(0,0,0,.6)}.pb-face__nm{font-size:11px;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px rgba(0,0,0,.6);margin-top:auto}.pb-cell__ctl{display:flex;flex-direction:column;gap:6px}.pb-cell__color{position:relative;display:block;height:22px;border-radius:6px;overflow:hidden;border:1px solid var(--dsn-line);cursor:pointer}.pb-cell__color input[type=color]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:none;padding:0;background:none;cursor:pointer;opacity:0}.pb-cell__swatch{display:block;width:100%;height:100%}.pb-cell__fx{width:100%;font-size:11px;padding:5px 7px;background:#0e1116b8;border:1px solid var(--dsn-line);border-radius:6px;color:var(--dsn-text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:4px}.pb-cell__fx:hover{border-color:var(--dsn-accent)}.pb-cell__cr{color:var(--dsn-muted);font-size:9px}.pb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#04060aa8;display:flex;align-items:center;justify-content:center;padding:20px}.pb-modal__card{position:relative;width:min(880px,94vw);max-height:90vh;overflow-y:auto;background:var(--dsn-panel);border:1px solid var(--dsn-line);border-radius:var(--radius-lg);padding:22px 22px 24px;box-shadow:var(--shadow-md)}.pb-modal__close{position:absolute;top:12px;right:14px;width:32px;height:32px;border-radius:8px;border:1px solid var(--dsn-line);background:var(--dsn-panel2);color:var(--dsn-text);font-size:20px;line-height:1;cursor:pointer}.pb-modal__title{margin:0;font-size:var(--fs-lg);color:var(--dsn-text)}.pb-modal__sub{margin:4px 0 0;font-size:var(--fs-sm);color:var(--dsn-muted)}.pb-fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin-top:16px}.pb-fx-opt{--pc: #3f7fd6;--vu: 0;position:relative;overflow:hidden;height:84px;border-radius:10px;cursor:pointer;border:none;background:var(--pc);display:flex;align-items:flex-end;padding:9px 11px;color:#fff;transition:transform .1s ease,filter .12s ease}.pb-fx-opt:hover{transform:translateY(-2px);filter:brightness(1.08)}.pb-fx-opt.on{outline:2px solid var(--dsn-accent);outline-offset:-2px}.pb-fx-opt>*{position:relative;z-index:1}.pb-fx-opt__nm{font-size:13px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.7)}.pb-face.anim-pulse,.pb-fx-opt.anim-pulse{animation:lp-pulse 1.6s ease-in-out infinite}@keyframes lp-pulse{0%,to{box-shadow:0 0 4px -2px var(--pc)}50%{box-shadow:0 0 30px 1px var(--pc)}}.pb-face.anim-wave,.pb-fx-opt.anim-wave{animation:lp-wave 1.4s ease-in-out infinite}@keyframes lp-wave{0%,to{filter:brightness(1)}50%{filter:brightness(1.3) saturate(1.15)}}.pb-face.anim-vu,.pb-fx-opt.anim-vu{box-shadow:0 0 calc(5px + var(--vu,0)*36px) calc(var(--vu,0)*4px) var(--pc)}.pb-face.anim-sheen:after,.pb-fx-opt.anim-sheen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 32%,rgba(255,255,255,.3) 46%,transparent 60%);background-size:250% 100%;animation:lp-sheen 2.4s linear infinite}@keyframes lp-sheen{0%{background-position:180% 0}to{background-position:-90% 0}}.pb-face.anim-ember:before,.pb-fx-opt.anim-ember:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(120% 85% at 50% 118%,rgba(255,190,70,.6),rgba(255,90,25,.28) 42%,transparent 72%);animation:lp-ember 1.05s ease-in-out infinite alternate}@keyframes lp-ember{0%{opacity:.5;transform:translateY(0) scaleY(1)}to{opacity:.95;transform:translateY(-3%) scaleY(1.07)}}.pb-face.anim-ripple:before,.pb-face.anim-ripple:after,.pb-fx-opt.anim-ripple:before,.pb-fx-opt.anim-ripple:after{content:"";position:absolute;left:50%;top:50%;width:36%;aspect-ratio:1;margin:-18% 0 0 -18%;border-radius:50%;pointer-events:none;opacity:0;transform:scale(.2);border:2px solid color-mix(in srgb,var(--pc) 72%,#eaf6ff);animation:lp-ripple 2.4s ease-out infinite}.pb-face.anim-ripple:after,.pb-fx-opt.anim-ripple:after{animation-delay:1.2s}@keyframes lp-ripple{0%{transform:scale(.2);opacity:.85}70%{opacity:.3}to{transform:scale(2.6);opacity:0}}.pb-face.anim-rain:before,.pb-face.anim-rain:after,.pb-fx-opt.anim-rain:before,.pb-fx-opt.anim-rain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background-image:repeating-linear-gradient(105deg,transparent 0 6px,rgba(190,220,255,.55) 6px 7px,transparent 7px 13px);background-size:26px 26px;animation:lp-rain .55s linear infinite}.pb-face.anim-rain:after,.pb-fx-opt.anim-rain:after{opacity:.5;background-size:44px 44px;animation-duration:.85s}@keyframes lp-rain{0%{background-position:0 0}to{background-position:-7px 26px}}.pb-face.anim-lightning:before,.pb-fx-opt.anim-lightning:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#dcebffe6,#78aaff40);opacity:0;animation:lp-flash 4.5s steps(1,end) infinite}@keyframes lp-flash{0%,to{opacity:0}3%{opacity:.95}5%{opacity:.05}7%{opacity:.8}10%{opacity:0}55%{opacity:0}57%{opacity:.6}59%{opacity:0}}.pb-face.anim-lightning:after,.pb-fx-opt.anim-lightning:after{content:"";position:absolute;left:46%;top:-2%;width:20%;height:104%;pointer-events:none;background:linear-gradient(180deg,#fff,#bcd8ff);opacity:0;filter:drop-shadow(0 0 4px #cfe4ff);clip-path:polygon(60% 0,30% 46%,52% 46%,22% 100%,48% 54%,30% 54%,60% 0);animation:lp-bolt 4.5s steps(1,end) infinite}@keyframes lp-bolt{0%,to{opacity:0}3%{opacity:1}6%{opacity:0}7%{opacity:.9}10%{opacity:0}57%{opacity:.85}59%{opacity:0}}.pb-face.anim-monster:before,.pb-fx-opt.anim-monster:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:#0200069e}.pb-face.anim-monster:after,.pb-fx-opt.anim-monster:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle 4px at 40% 50%,#ff2a2a 0,rgba(255,20,20,.5) 55%,transparent 72%),radial-gradient(circle 4px at 60% 50%,#ff2a2a 0,rgba(255,20,20,.5) 55%,transparent 72%);filter:drop-shadow(0 0 5px #ff0d0d);animation:lp-eyes 3.6s ease-in-out infinite}@keyframes lp-eyes{0%,40%,52%,68%,80%,to{opacity:1;transform:scaleY(1)}46%{opacity:.15;transform:scaleY(.1)}74%{opacity:.15;transform:scaleY(.1)}}.pb-face.anim-stars:before,.pb-fx-opt.anim-stars:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(1px 1px at 18% 28%,#fff,transparent),radial-gradient(1px 1px at 68% 22%,#fff,transparent),radial-gradient(1.4px 1.4px at 42% 62%,#fff,transparent),radial-gradient(1px 1px at 82% 58%,#cfe0ff,transparent),radial-gradient(1px 1px at 54% 40%,#fff,transparent),radial-gradient(1px 1px at 30% 82%,#fff,transparent),radial-gradient(1.2px 1.2px at 88% 82%,#fff,transparent),linear-gradient(180deg,#06091cd1,#0c102cd1);animation:lp-twinkle 2.8s ease-in-out infinite}@keyframes lp-twinkle{0%,to{opacity:.6}50%{opacity:1}}.pb-face.anim-stars:after,.pb-fx-opt.anim-stars:after{content:"";position:absolute;top:16%;left:8%;width:34%;height:2px;pointer-events:none;background:linear-gradient(90deg,transparent,#fff);border-radius:2px;box-shadow:0 0 6px #fff;opacity:0;transform:rotate(20deg);animation:lp-shoot 5.5s ease-in infinite}@keyframes lp-shoot{0%,72%{opacity:0;transform:translate(0) rotate(20deg)}78%{opacity:1}88%{opacity:.9}94%,to{opacity:0;transform:translate(150%,80%) rotate(20deg)}}.pb-face.anim-fire:before,.pb-fx-opt.anim-fire:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;transform-origin:50% 100%;background:radial-gradient(50% 62% at 35% 100%,rgba(255,180,40,.9),rgba(255,80,0,.32) 46%,transparent 72%),radial-gradient(46% 66% at 66% 100%,rgba(255,140,20,.85),rgba(220,40,0,.28) 50%,transparent 74%),radial-gradient(64% 56% at 50% 100%,rgba(255,225,130,.9),transparent 60%);animation:lp-fire .5s ease-in-out infinite alternate}@keyframes lp-fire{0%{transform:scaleY(1) translateY(0);opacity:.85}to{transform:scaleY(1.14) translateY(-5%);opacity:1}}.pb-face.anim-fire:after,.pb-fx-opt.anim-fire:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;mix-blend-mode:screen;transform-origin:50% 100%;background:radial-gradient(38% 52% at 50% 100%,rgba(255,240,180,.85),transparent 56%);animation:lp-fire2 .32s ease-in-out infinite alternate}@keyframes lp-fire2{0%{transform:translate(-5%) scaleY(.95)}to{transform:translate(5%) scaleY(1.1)}}@media (prefers-reduced-motion: reduce){.pb-face[class*=anim-],.pb-fx-opt[class*=anim-]{animation:none}.pb-face[class*=anim-]:before,.pb-face[class*=anim-]:after,.pb-fx-opt[class*=anim-]:before,.pb-fx-opt[class*=anim-]:after{animation:none}}.scene-rec-head__stale{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);font-weight:600;color:#b26a00;background:color-mix(in srgb,#ffb03a 22%,transparent);border:1px solid color-mix(in srgb,#ffb03a 55%,transparent);border-radius:var(--radius-pill);padding:3px 10px;cursor:pointer}.scene-rec-head__stale:hover{background:color-mix(in srgb,#ffb03a 32%,transparent)}@media (prefers-color-scheme: dark){.scene-rec-head__stale{color:#ffc266}}:root[data-theme=dark] .scene-rec-head__stale{color:#ffc266}.samples-page{display:flex;flex-direction:column;gap:var(--space-4)}.samples-page--drag-over{outline:2px dashed var(--accent-primary);outline-offset:6px;border-radius:var(--radius-lg)}.samples-page__head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.samples-page__head-text{display:flex;align-items:baseline;gap:var(--space-3);flex:1 1 auto;min-width:0}.samples-page__title{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:0;flex:none}.samples-page__subtitle{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.samples-page__search{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:4px 10px;flex:0 1 260px;min-width:140px}.samples-page__search-icon{display:flex;color:var(--text-tertiary)}.samples-page__search input{border:none;background:none;outline:none;color:var(--text-primary);font-size:var(--fs-sm);width:100%}.samples-page__add{flex:none;white-space:nowrap}.samples-page__status{color:var(--text-secondary);font-size:var(--fs-sm);margin:0}.samples-page__status--error{color:var(--status-failed, #dc2626)}.samples-page__empty{color:var(--text-secondary);padding:8px 2px;margin:0}.samples-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:var(--space-3)}.sample-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.sample-card__play{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer}.sample-card__play:hover{border-color:var(--border-strong)}.sample-card__play--on{border-color:var(--accent-primary);color:var(--accent-primary)}.sample-card__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.sample-card__name{display:flex;align-items:center;gap:4px;font-weight:var(--fw-medium);color:var(--text-primary);min-width:0}.sample-card__name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sample-card__edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-tertiary);cursor:pointer;padding:2px;flex:none;opacity:0;transition:opacity .15s ease}.sample-card:hover .sample-card__edit,.sample-card__edit:focus-visible{opacity:1}.sample-card__edit:hover{color:var(--text-primary)}.sample-card__nameinput{width:100%;font:inherit;font-weight:var(--fw-medium);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm, 4px);padding:2px 6px}.sample-card__meta{color:var(--text-tertiary);font-size:var(--fs-xs)}.sample-card__actions{flex:none;display:flex;align-items:center;gap:6px}.sample-card__download,.sample-card__delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--radius-sm, 4px)}.sample-card__download:hover,.sample-card__delete:hover{color:var(--text-primary);background:var(--bg-elevated)}.sample-card__delete--armed{color:#fff;background:var(--status-failed, #dc2626);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:4px 8px;white-space:nowrap}.sample-card__delete--armed:hover{color:#fff;background:var(--status-failed, #dc2626)}.sample-card__addset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--radius-sm, 4px)}.sample-card__addset:hover{color:var(--accent-primary);background:var(--bg-elevated)}.sample-card--draggable{cursor:grab}.sample-card--draggable:active{cursor:grabbing}.samples-page__body{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--space-4);align-items:start}@media (max-width: 860px){.samples-page__body{grid-template-columns:1fr}}.samples-page__library{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.samples-page__library--drag-over{outline:2px dashed var(--accent-primary);outline-offset:6px;border-radius:var(--radius-lg)}.samples-sets{display:flex;flex-direction:column;gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);position:sticky;top:var(--space-4)}@media (max-width: 860px){.samples-sets{position:static}}.samples-sets__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.samples-sets__title{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin:0}.samples-sets__empty{color:var(--text-secondary);font-size:var(--fs-sm);margin:0;padding:8px 2px}.samples-sets__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);max-height:320px;overflow-y:auto}.set-card{display:flex;align-items:stretch;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.set-card--current{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.set-card__open{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1 1 auto;min-width:0;text-align:left;cursor:pointer;padding:0}.set-card__name{font-weight:var(--fw-medium);color:var(--text-primary);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.set-card__meta{font-size:var(--fs-xs);color:var(--text-tertiary)}.set-card__status{font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:1px 8px;border-radius:999px;border:1px solid var(--border-subtle);color:var(--text-tertiary)}.set-card__status--pushed{border-color:#d97706;color:#d97706}.set-card__status--onrack{border-color:#16a34a;color:#16a34a}.set-card__actions{flex:none;display:flex;align-items:center;gap:4px}.set-card__dup,.set-card__delete{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:var(--radius-sm, 4px);font-size:var(--fs-sm)}.set-card__dup:hover,.set-card__delete:hover{color:var(--text-primary);background:var(--bg-elevated)}.set-card__delete--armed{color:#fff;background:var(--status-failed, #dc2626);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:4px 8px;white-space:nowrap}.set-card__delete--armed:hover{color:#fff;background:var(--status-failed, #dc2626)}.set-editor{display:flex;flex-direction:column;gap:var(--space-3);border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}.set-editor__head{display:flex;align-items:center;gap:var(--space-2)}.set-editor__name{flex:1 1 auto;min-width:0;font:inherit;font-weight:var(--fw-medium);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);padding:6px 10px}.set-editor__close{flex:none}.set-editor__dropzone{border-radius:var(--radius-md);transition:outline-color .15s ease;outline:2px dashed transparent;outline-offset:4px}.set-editor__dropzone--over{outline-color:var(--accent-primary)}.set-editor__empty{color:var(--text-secondary);font-size:var(--fs-sm);margin:0;padding:var(--space-3);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);text-align:center}.set-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto}.set-entry{display:flex;align-items:center;gap:6px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm, 4px);padding:4px 6px}.set-entry--missing{opacity:.55;border-style:dashed}.set-entry__handle{flex:none;color:var(--text-tertiary);cursor:grab;font-size:var(--fs-sm);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.set-entry__handle:active{cursor:grabbing}.set-entry__index{flex:none;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-primary);color:#fff;font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.set-entry__play{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer}.set-entry__play:hover{border-color:var(--border-strong)}.set-entry__play--on{border-color:var(--accent-primary);color:var(--accent-primary)}.set-entry__play:disabled{opacity:.4;cursor:not-allowed}.set-entry__name{flex:1 1 auto;min-width:0;font:inherit;font-size:var(--fs-sm);color:var(--text-primary);background:none;border:1px solid transparent;border-radius:var(--radius-sm, 4px);padding:2px 6px}.set-entry__name:hover,.set-entry__name:focus{border-color:var(--border-subtle);background:var(--bg-elevated);outline:none}.set-entry__missing{flex:none;font-size:var(--fs-xs);color:var(--status-failed, #dc2626);white-space:nowrap}.set-entry__actions{flex:none;display:flex;align-items:center;gap:2px}.set-entry__actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:3px 5px;border-radius:var(--radius-sm, 4px);font-size:11px}.set-entry__actions button:hover{color:var(--text-primary);background:var(--bg-elevated)}.set-entry__actions button:disabled{opacity:.35;cursor:not-allowed}.set-entry__remove:hover{color:var(--status-failed, #dc2626)}.set-editor__hint{color:var(--text-tertiary);font-size:var(--fs-xs);margin:0;font-style:italic}.set-editor__actions{display:flex;flex-direction:column;gap:var(--space-2)}.set-editor__actions-buttons{display:flex;gap:var(--space-2)}.set-editor__actions-buttons .btn{flex:1 1 auto;justify-content:center}.set-editor__status{font-size:var(--fs-xs);margin:0;display:flex;align-items:center;gap:4px}.set-editor__status--ok{color:#16a34a}.set-editor__status--err{color:var(--status-failed, #dc2626)}.set-editor__spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:set-editor-spin .8s linear infinite}@keyframes set-editor-spin{to{transform:rotate(360deg)}}.anim-page{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-6)}.anim-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.anim-page__title{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.anim-page__sub{margin:4px 0 0;max-width:62ch;color:var(--text-secondary);font-size:var(--fs-sm)}.anim-page__actions{display:flex;gap:var(--space-2)}.anim-page__body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:var(--space-4);align-items:start}@media (max-width: 900px){.anim-page__body{grid-template-columns:minmax(0,1fr)}}.anim-panel{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:11px;position:sticky;top:var(--space-3)}.anim-panel__block{display:flex;flex-direction:column;gap:var(--space-2)}.anim-panel__legend{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.anim-panel__hint{margin:0;font-size:var(--fs-xs);color:var(--text-secondary)}.anim-panel__hint code,.anim-field code{font-family:var(--font-mono);font-size:11px;color:var(--text-primary)}.anim-amb{display:grid;grid-template-columns:1fr 1fr;gap:6px}.anim-amb__opt{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;transition:border-color .12s,color .12s}.anim-amb__opt:hover{color:var(--text-primary);border-color:var(--border-strong)}.anim-amb__opt.is-on{border-color:var(--sect, var(--accent-primary));color:var(--text-primary)}.anim-amb__chip{width:14px;height:14px;border-radius:999px;flex:none}.anim-amb__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anim-field{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-secondary)}.anim-field input[type=text],.anim-field input:not([type]){padding:6px 8px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-sm)}.anim-field--range span{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.anim-field input[type=range]{width:100%;accent-color:var(--sect, var(--accent-primary))}.anim-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer;transition:border-color .12s,color .12s}.anim-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.anim-btn.is-on{border-color:var(--sect, var(--accent-primary));color:var(--text-primary)}.anim-btn:disabled{opacity:.45;cursor:not-allowed}.anim-btn--primary{background:var(--sect, var(--accent-primary));border-color:transparent;color:var(--bg-base);font-weight:var(--fw-semibold);font-size:var(--fs-sm);padding:8px 14px}.anim-swatches{display:flex;gap:6px}.anim-swatch{width:22px;height:22px;border-radius:999px;border:2px solid transparent;cursor:pointer;padding:0}.anim-swatch.is-on{border-color:var(--text-primary)}.anim-sizes{display:flex;gap:6px;flex-wrap:wrap}.anim-ok{display:flex;align-items:center;gap:6px;margin:0;color:var(--ok);font-size:var(--fs-xs)}.anim-warn{display:flex;align-items:flex-start;gap:6px;margin:0;padding:8px;border:1px solid var(--warn);border-left-width:3px;border-radius:8px;color:var(--text-secondary);font-size:var(--fs-xs);line-height:1.4}.anim-warn svg{flex:none;color:var(--warn)}.anim-errors{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-secondary)}.anim-errors li{padding:6px 8px;border:1px solid var(--danger, var(--warn));border-left-width:3px;border-radius:8px;line-height:1.4}.anim-errors__line{font-family:var(--font-mono);color:var(--text-tertiary);margin-right:4px}.anim-grid-wrap{min-width:0}.anim-grid{display:flex;flex-wrap:wrap;gap:var(--space-3)}.anim-cell{margin:0;display:flex;flex-direction:column;gap:4px}.anim-tile{position:relative;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-elevated);padding:0;cursor:pointer;overflow:hidden}.anim-cell.is-focused .anim-tile{border-color:var(--sect, var(--accent-primary))}.anim-cell__cap{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.anim-cell__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.anim-cell__flag{padding:0 5px;border-radius:999px;background:var(--warn);color:var(--bg-base);font-size:9px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em}.anim-colors{display:flex;gap:var(--space-3)}.anim-color{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-secondary)}.anim-color input[type=color]{width:30px;height:24px;padding:0;border:1px solid var(--border-subtle);border-radius:6px;background:none;cursor:pointer}.anim-field select{padding:6px 8px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);color:var(--text-primary);font-size:var(--fs-xs)}.band-list__row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:border-color .12s}.band-list__row:hover{border-color:var(--border-strong)}.band-list__row+.band-list__row{margin-top:8px}.band-cover{width:52px;height:52px;border-radius:var(--radius-md);flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-lg);color:#0b0d10;background:linear-gradient(140deg,#25d6c8,#0e7a72)}.band-cover--lg{width:68px;height:68px;font-size:var(--fs-xl)}.band-hub__head{display:flex;align-items:center;gap:16px;margin-bottom:16px}.band-hub__head h1{margin:0 0 2px;font-size:var(--fs-xl)}.band-hub__meta{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:var(--fs-sm);flex-wrap:wrap}.band-pill{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 9px;border:1px solid var(--border-default);color:var(--text-secondary)}.band-member{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border-default)}.band-member:first-of-type{border-top:none}.band-member__who{flex:1;min-width:0}.band-member__who b{display:block}.band-member__who i{font-style:normal;font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono, monospace)}.band-member__insts{display:flex;gap:4px;flex-wrap:wrap}.band-member__insts span{font-size:10.5px;font-family:var(--font-mono, monospace);color:var(--text-secondary);border:1px solid var(--border-default);border-radius:5px;padding:1px 5px}.band-linkrow{display:flex;gap:8px;align-items:center;background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:7px 8px 7px 12px;font-family:var(--font-mono, monospace);font-size:var(--fs-sm);color:var(--text-secondary)}.band-linkrow span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.band-chips{display:flex;gap:6px;flex-wrap:wrap}.band-form{display:flex;flex-direction:column;gap:12px;max-width:460px}.band-form input[type=text],.band-form input[type=email]{padding:9px 12px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-base);color:var(--text-primary);font:inherit}.band-form label{font-size:var(--fs-sm);color:var(--text-secondary);display:flex;flex-direction:column;gap:6px}.join-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;background:var(--bg-base);color:var(--text-primary)}.join-card{width:min(480px,100%);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:26px 26px 22px;text-align:center}.join-card h1{margin:4px 0 2px;font-size:var(--fs-xl)}.join-card .join-who{color:var(--text-secondary);font-size:var(--fs-sm);margin-top:14px}.join-card .band-chips{justify-content:center;margin:14px 0 18px}.band-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid color-mix(in srgb,#ff5a3c 45%,var(--border-default));background:color-mix(in srgb,#ff5a3c 9%,var(--bg-surface));border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-sm)}.band-banner span{flex:1}.band-sl__grid{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:start}@media (max-width: 900px){.band-sl__grid{grid-template-columns:1fr}}.band-sl__row{padding:9px 11px;border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:7px;cursor:pointer;background:var(--bg-elevated)}.band-sl__row.on{border-color:var(--border-strong)}.band-sl__row b{display:block;font-size:var(--fs-sm)}.band-sl__row i{font-style:normal;font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono, monospace)}.band-sl__item{display:flex;align-items:center;gap:8px;padding:7px 4px;border-top:1px solid var(--border-default)}.band-sl__item:first-of-type{border-top:none}.band-sl__item.pause{background:var(--bg-base);border-radius:7px}.band-sl__no{width:20px;text-align:right;font-family:var(--font-mono, monospace);font-size:var(--fs-xs);color:var(--text-secondary);flex:none}.band-sl__meta{font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono, monospace)}.band-sl__warn{font-style:normal;color:#ffb020}.daw-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.daw-track{margin-bottom:10px}.daw-track__head{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-size:var(--fs-sm)}.daw-track__head b{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daw-wave{--daw-wave: color-mix(in srgb, var(--text-secondary) 55%, transparent);--daw-played: #3d9be9;display:block;width:100%;height:64px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-base);cursor:crosshair;touch-action:none}.daw-wave--loading{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--fs-xs);cursor:default}.daw-marker{display:inline-flex;align-items:center;border:1px solid var(--border-default);border-radius:999px;overflow:hidden;font-size:var(--fs-xs)}.daw-marker__jump{border:none;background:var(--bg-elevated);color:var(--text-primary);padding:3px 8px;cursor:pointer;font:inherit}.daw-marker__del{border:none;border-left:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-secondary);padding:3px 7px;cursor:pointer;font:inherit}.daw-marker__del:hover{color:#ff5a3c}.hc-page{display:flex;flex-direction:column;gap:16px;padding:20px 24px;max-width:1600px;margin:0 auto;color:var(--text-primary)}.hc-page__tuning{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px}.hc-page__tuning-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.hc-page__confidence{margin-left:auto;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;cursor:help}.hc-page__confidence--validated{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.hc-page__confidence--algorithmic{background:color-mix(in srgb,#d97706 14%,transparent);color:#b45309}.hc-page__filters{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;transition:border-color .18s,box-shadow .18s}.hc-page__filters--active{border-color:color-mix(in srgb,var(--accent-primary, #2563eb) 50%,var(--border-subtle));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary, #2563eb) 8%,transparent)}.hc-page__search-row{display:flex;align-items:center;gap:12px}.hc-page__search-wrap{position:relative;flex:1;display:flex;align-items:center}.hc-page__search-icon{position:absolute;left:10px;font-size:13px;opacity:.55;pointer-events:none}.hc-page__search{flex:1;padding:8px 32px;border:1px solid var(--border-strong);border-radius:6px;background:var(--bg-base, var(--bg-elevated));color:var(--text-primary);font-size:14px;width:100%}.hc-page__search:focus{outline:2px solid var(--accent-primary, #2563eb);outline-offset:1px;border-color:var(--accent-primary, #2563eb)}.hc-page__search-clear{position:absolute;right:6px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-secondary);font-size:16px;line-height:1;cursor:pointer;padding:0 0 2px}.hc-page__search-clear:hover{background:color-mix(in srgb,var(--text-primary) 18%,transparent);color:var(--text-primary)}.hc-page__reset{padding:6px 12px;border:1px solid color-mix(in srgb,var(--accent-primary, #2563eb) 40%,transparent);border-radius:6px;background:color-mix(in srgb,var(--accent-primary, #2563eb) 8%,transparent);color:var(--accent-primary, #2563eb);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.hc-page__reset:hover{background:color-mix(in srgb,var(--accent-primary, #2563eb) 14%,transparent)}.hc-page__count{font-variant-numeric:tabular-nums;font-size:13px;color:var(--text-tertiary);white-space:nowrap}.hc-page__count strong{font-size:15px;font-weight:700;color:var(--text-primary)}.hc-page__count-unit{margin-left:4px;font-size:12px}.hc-page__chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.hc-page__chip-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);width:56px;flex-shrink:0}.hc-page__chip-bulk{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border-subtle);border-radius:6px;background:color-mix(in srgb,var(--text-primary) 3%,transparent);flex-shrink:0}.hc-page__chip-bulk-btn{padding:3px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .12s}.hc-page__chip-bulk-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-primary, #2563eb) 12%,transparent);color:var(--accent-primary, #2563eb)}.hc-page__chip-bulk-btn:disabled{opacity:.4;cursor:default}.hc-page__chip-list{display:inline-flex;flex-wrap:wrap;gap:4px;flex:1}.hc-page__chip{padding:4px 10px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;font-variant-numeric:tabular-nums;min-width:32px}.hc-page__chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.hc-page__chip--active{background:color-mix(in srgb,var(--accent-primary, #2563eb) 14%,transparent);border-color:var(--accent-primary, #2563eb);color:var(--accent-primary, #2563eb);font-weight:600}.hc-page__display{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background:color-mix(in srgb,var(--text-primary) 3%,transparent);border:1px solid var(--border-subtle);border-radius:8px;flex-wrap:wrap}.hc-page__display-group,.hc-page__display-toggles{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.hc-page__display-group label{display:inline-flex;flex-direction:column;gap:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.hc-page__display-group select,.hc-page__display-group input[type=number]{padding:4px 8px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-base, var(--bg-elevated));color:var(--text-primary);font-size:13px}.hc-page__toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.hc-page__list{display:flex;flex-direction:column;gap:12px}.hc-page__empty{padding:40px;text-align:center;color:var(--text-tertiary);font-size:14px}.hc-page__empty-reset{background:none;border:none;color:var(--accent-primary, #2563eb);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.hc-chord-row{display:flex;flex-direction:column;gap:8px;padding:10px 14px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-elevated);transition:border-color .12s}.hc-chord-row:hover{border-color:var(--border-strong)}.hc-chord-row--empty{flex-direction:row;align-items:center;gap:12px;opacity:.6}.hc-chord-row__head{display:flex;align-items:baseline;gap:10px}.hc-chord-row__title{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);min-width:60px}.hc-chord-row__count{font-size:11px;color:var(--text-tertiary);text-transform:lowercase;font-variant-numeric:tabular-nums}.hc-chord-row__empty{font-size:12px;color:var(--text-tertiary);font-style:italic}.hc-chord-row__cards{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
