@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) 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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-greek-wght-normal-DL7QRZyv.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-vietnamese-wght-normal-usUDDRr7.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-ext-wght-normal-Ch3YOpNY.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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-vietnamese-wght-normal-BKsN3ITN.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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-ext-wght-normal-B5dZ8C4S.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:Work Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/work-sans-latin-wght-normal-Bl-S9Xys.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.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,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) 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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0f1012;--panel: #17181b;--panel-alt: #202125;--inset: #0b0c0d;--border: #2a2b30;--border-strong: #3c3e45;--text: #ebe7df;--text-muted: #a19d95;--text-faint: #6a6760;--primary: #e3a043;--on-primary: #1c1306;--secondary: #7fb0a6;--on-secondary: #0d1715;--highlight: #e3a043;--danger: #e5534b;--success: #6dbb8a;--radius: 6px;--radius-sm: 4px;--radius-lg: 9px;--font-ui: "Instrument Sans Variable", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, monospace;--heading-weight: 600;--pad: 12px;--gap: 8px;--control-h: 30px;--shadow-1: 0 1px 0 rgb(255 255 255 / .03) inset, 0 1px 2px rgb(0 0 0 / .25);--ease: cubic-bezier(.2, .7, .2, 1)}:root[data-scheme=light]{--shadow-1: 0 1px 0 rgb(255 255 255 / .8) inset, 0 1px 2px rgb(40 30 10 / .08)}:root[data-density=compact]{--pad: 9px;--gap: 6px;--control-h: 26px}:root[data-density=comfortable]{--pad: 16px;--gap: 10px;--control-h: 34px}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{transition:none!important;animation:none!important}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:1rem;line-height:1.4;-webkit-font-smoothing:antialiased;overflow:hidden}:root[data-texture=grain] body{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}:root[data-texture=weave] body{background-image:linear-gradient(45deg,rgb(var(--text-rgb) / .025) 25%,transparent 25%,transparent 75%,rgb(var(--text-rgb) / .025) 75%),linear-gradient(-45deg,rgb(var(--text-rgb) / .025) 25%,transparent 25%,transparent 75%,rgb(var(--text-rgb) / .025) 75%);background-size:9px 9px}:root[data-texture=lines] body{background-image:repeating-linear-gradient(0deg,rgb(var(--text-rgb) / .025) 0 1px,transparent 1px 4px)}h1,h2,h3,h4{margin:0;font-weight:var(--heading-weight);letter-spacing:-.01em}h1{font-size:1.55rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}::selection{background:rgb(var(--primary-rgb) / .35)}:focus-visible{outline:2px solid var(--primary);outline-offset:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:padding-box;border-radius:10px}::-webkit-scrollbar-corner{background:transparent}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.row{display:flex;align-items:center;gap:var(--gap)}.col{display:flex;flex-direction:column;gap:var(--gap)}.grow{flex:1 1 auto;min-width:0}.spacer{flex:1}.divider-v{width:1px;align-self:stretch;background:var(--border);margin:0 2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-alt);color:var(--text);font-size:.9rem;font-weight:500;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-1);transition:border-color .12s,background-color .12s,color .12s;-webkit-user-select:none;user-select:none}.btn:hover{border-color:var(--border-strong)}.btn:active{background:var(--inset);box-shadow:none}.btn:disabled{opacity:.45;cursor:default}.btn svg{width:15px;height:15px;flex:none}.btn.icon{width:var(--control-h);padding:0}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover{background:var(--panel-alt);border-color:var(--border)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{filter:brightness(1.06)}.btn.on{background:rgb(var(--primary-rgb) / .14);border-color:rgb(var(--primary-rgb) / .55);color:var(--primary)}.btn.danger.on,.btn.rec.on{background:var(--danger);border-color:var(--danger);color:#fff}.btn.rec svg{color:var(--danger)}.btn.rec.on svg{color:#fff}.btn.sm{height:calc(var(--control-h) - 6px);padding:0 8px;font-size:.8rem}.btn.sm.icon{width:calc(var(--control-h) - 6px);padding:0}.seg{display:inline-flex;padding:2px;gap:2px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius)}.seg button{height:calc(var(--control-h) - 6px);padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.seg button:hover{color:var(--text)}.seg button.on{background:var(--panel-alt);color:var(--text);box-shadow:var(--shadow-1),0 0 0 1px var(--border)}.seg button svg{width:14px;height:14px}.input,.select{height:var(--control-h);padding:0 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--inset);color:var(--text);font-size:.9rem;min-width:0}.select{padding-right:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 13px) 50%,calc(100% - 9px) 50%;background-size:4px 4px;background-repeat:no-repeat;cursor:pointer}.select option,.select optgroup{background:var(--panel);color:var(--text)}.input:focus,.select:focus{outline:none;border-color:var(--primary)}.field{display:flex;flex-direction:column;gap:5px}.field>label,.field-label{font-size:.78rem;color:var(--text-muted);font-weight:500}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;background:transparent;cursor:pointer;--fill: 50%}.range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--primary) var(--fill),var(--border-strong) var(--fill))}.range::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(to right,var(--primary) var(--fill),var(--border-strong) var(--fill))}.range::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5px;border-radius:50%;background:var(--text);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--border-strong)}.range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text);border:2px solid var(--panel)}.toggle{position:relative;width:32px;height:18px;flex:none;border-radius:18px;background:var(--border-strong);border:0;cursor:pointer;transition:background .15s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:transform .15s var(--ease)}.toggle.on{background:var(--primary)}.toggle.on:after{transform:translate(14px);background:var(--on-primary)}.knob{display:inline-flex;flex-direction:column;align-items:center;gap:2px;-webkit-user-select:none;user-select:none;touch-action:none}.knob svg{cursor:ns-resize;display:block}.knob .knob-label{font-size:.68rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.knob .knob-value{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:20px;border:1px solid var(--border);font-size:.72rem;color:var(--text-muted);white-space:nowrap}.meter{position:relative;background:var(--inset);border:1px solid var(--border);border-radius:2px;overflow:hidden}.meter>i{position:absolute;left:0;bottom:0;background:linear-gradient(to top,var(--success) 0%,var(--success) 70%,var(--primary) 86%,var(--danger) 100%)}kbd{font-family:var(--font-mono);font-size:.72rem;padding:1px 5px;border-radius:3px;border:1px solid var(--border-strong);border-bottom-width:2px;background:var(--panel-alt);color:var(--text-muted)}.empty{display:grid;place-items:center;gap:6px;padding:28px;color:var(--text-faint);text-align:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{display:grid;grid-template-columns:76px minmax(0,1fr);height:100vh;height:100dvh}.rail{display:flex;flex-direction:column;align-items:center;gap:18px;padding:14px 0 12px;background:var(--panel);border-right:1px solid var(--border);min-height:0}.wordmark{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rail-nav{display:flex;flex-direction:column;gap:4px}.rail-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;width:60px;padding:9px 0 7px;border:1px solid transparent;border-radius:var(--radius);background:none;color:var(--text-muted);font-size:.72rem;font-weight:500;cursor:pointer;transition:color .12s,background-color .12s}.rail-item svg{width:19px;height:19px}.rail-item:hover{color:var(--text)}.rail-item.on{color:var(--text);background:var(--panel-alt);border-color:var(--border)}.rail-item.on:before{content:"";position:absolute;left:-9px;top:10px;bottom:10px;width:3px;border-radius:0 2px 2px 0;background:var(--primary)}.rail-foot{display:flex;flex-direction:column;align-items:center;gap:8px}.rail-meter{height:96px}.rail-db{display:flex;align-items:center;gap:3px;font-size:.66rem;color:var(--text-faint)}.rail-loading{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}.content{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.audio-gate{position:absolute;top:10px;left:50%;translate:-50% 0;z-index:60;display:flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--border-strong);border-radius:999px;background:var(--panel-alt);color:var(--text-muted);font-size:.82rem;cursor:pointer;box-shadow:0 8px 24px -10px #00000080}.levels{display:flex;gap:2px}.levels.v .meter{width:5px;height:100%}.levels.h{flex-direction:column}.levels.h .meter{height:5px;width:100%}.menu-wrap{position:relative}.menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:210px;padding:4px;background:var(--panel-alt);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 14px 30px -12px #0000008c}.menu.right{left:auto;right:0}.menu.ctx{position:fixed;top:auto}.menu button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 9px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-size:.86rem;text-align:left;cursor:pointer}.menu button:hover{background:var(--panel)}.menu button svg{width:14px;height:14px;color:var(--text-muted)}.menu button kbd{margin-left:auto}.menu button.danger,.menu button.danger svg{color:var(--danger)}.err{color:var(--danger)}.wrap{flex-wrap:wrap}.play{display:grid;grid-template-columns:252px minmax(0,1fr);height:100%;min-height:0}.browser{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border);background:rgb(var(--panel-rgb) / .55)}.browser-search{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border);color:var(--text-faint)}.browser-search .input{flex:1}.browser-list{flex:1;overflow:auto;padding:4px 8px 24px}.browser-list section{margin-top:14px}.browser-list h4{padding:0 8px 5px}.browser-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:5px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:.88rem;text-align:left;cursor:pointer}.browser-item:hover{color:var(--text);background:rgb(var(--text-rgb) / .04)}.browser-item.on{color:var(--text);background:rgb(var(--primary-rgb) / .12);box-shadow:inset 2px 0 0 var(--primary)}.play-main{display:flex;flex-direction:column;gap:14px;min-width:0;padding:18px 22px 14px;overflow:auto}.play-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.play-title h1{margin-top:2px}.recent{display:flex;gap:4px;flex-wrap:wrap}.recent .btn{color:var(--text-muted)}.controls{display:flex;align-items:center;gap:18px;padding:10px 16px;flex-wrap:wrap}.stepper,.ctl-vel,.ctl-sustain,.take{display:flex;flex-direction:column;gap:5px}.stepper-box{display:flex;align-items:center;height:var(--control-h);padding:0 2px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius)}.stepper-box .mono{min-width:30px;text-align:center;font-size:.9rem}.ctl-vel{width:150px}.ctl-meter{height:46px}.take-count{font-size:.78rem;min-width:70px}.stage-panel{flex:1;display:flex;flex-direction:column;min-height:360px;padding:14px}.play-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-faint);font-size:.8rem}.play-foot kbd{margin:0 1px}.rail-fs{color:var(--text-muted)}.stage{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0}.stage.compact{gap:8px;padding:10px 14px}.stage-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stage-range{min-width:64px;text-align:center;font-size:.8rem}.stage-hint{font-size:.78rem}.stage-hint kbd{margin:0 2px 0 6px}.stage-body{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.chord-strip{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.chord-strip .btn{min-width:40px}.kb-wrap{display:flex;flex-direction:column;gap:10px}.kb{position:relative;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:var(--radius-lg)}.kb-case{padding:18px 14px 12px;background:var(--case);box-shadow:inset 0 1px #ffffff1a,inset 0 -2px #0000004d,0 18px 30px -18px #000000b3}.kb-case.finish-gloss{background:linear-gradient(180deg,color-mix(in srgb,var(--case) 70%,white) 0%,var(--case) 8%,color-mix(in srgb,var(--case) 92%,white) 40%,var(--case) 62%,color-mix(in srgb,var(--case) 75%,black) 100%)}.kb-case.finish-wood{background:repeating-linear-gradient(91deg,rgb(0 0 0 / .09) 0 2px,transparent 2px 9px),repeating-linear-gradient(89deg,rgb(255 255 255 / .05) 0 1px,transparent 1px 17px),linear-gradient(180deg,color-mix(in srgb,var(--case) 82%,white),var(--case) 30%,color-mix(in srgb,var(--case) 78%,black))}.kb-case.finish-metal{background:repeating-linear-gradient(90deg,rgb(255 255 255 / .06) 0 1px,rgb(0 0 0 / .05) 1px 2px,transparent 2px 3px),linear-gradient(180deg,color-mix(in srgb,var(--case) 75%,white),var(--case) 45%,color-mix(in srgb,var(--case) 80%,black))}.kb-felt{height:4px;margin:0 -2px;background:var(--felt);border-radius:1px;box-shadow:0 1px #0006}.kb-keys{position:relative;flex:1;cursor:pointer}.wk{position:absolute;top:0;bottom:0;background:linear-gradient(180deg,color-mix(in srgb,var(--wk) 82%,black) 0%,var(--wk) 5%,var(--wk) 86%,color-mix(in srgb,var(--wk) 93%,black) 100%);border-left:1px solid rgb(0 0 0 / .2);border-radius:0 0 4px 4px;box-shadow:inset 0 calc(-7px * var(--depth)) 0 color-mix(in srgb,var(--wk) 82%,black),inset -1px 0 #ffffff40;transition:background .04s,box-shadow .04s}.wk:first-child{border-left:0}.wk.down{background:linear-gradient(180deg,color-mix(in srgb,var(--wk) 72%,black),color-mix(in srgb,var(--wk) 80%,var(--pressed)) 14%,color-mix(in srgb,var(--wk) 64%,var(--pressed)));box-shadow:inset 0 calc(-2px * var(--depth)) 0 color-mix(in srgb,var(--wk) 60%,black)}.wk .k-name,.wk .k-hint{position:absolute;left:0;right:0;bottom:calc(8px + 7px * var(--depth));text-align:center;font-size:.66rem;font-weight:600;color:var(--klabel);pointer-events:none}.wk .k-hint,.bk .k-hint{font-family:var(--font-mono)}.bk{position:absolute;top:0;height:62%;z-index:2;background:linear-gradient(180deg,color-mix(in srgb,var(--bk) 85%,white) 0%,var(--bk) 10%,var(--bk) 100%);border-radius:0 0 3px 3px;box-shadow:inset 0 calc(-9px * var(--depth)) 0 color-mix(in srgb,var(--bk) 84%,white),inset 1px 0 #ffffff12,inset -1px 0 #0006,1px 3px 4px #00000073;transition:box-shadow .04s}.bk.down{box-shadow:inset 0 calc(-3px * var(--depth)) 0 color-mix(in srgb,var(--bk) 84%,white),inset 0 0 0 100px color-mix(in srgb,var(--pressed) 42%,transparent),1px 1px 2px #0006}.bk .k-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:.6rem;color:color-mix(in srgb,var(--bk) 40%,white)}.kb-mini{position:relative;height:30px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;cursor:grab;touch-action:none}.kb-mini .mw{position:absolute;top:3px;bottom:3px;background:color-mix(in srgb,var(--text) 78%,var(--bg));border-right:1px solid var(--inset)}.kb-mini .mb{position:absolute;top:3px;height:55%;z-index:1;background:var(--inset)}.kb-mini .down{background:var(--highlight)!important}.kb-mini-window{position:absolute;top:0;bottom:0;z-index:2;border:2px solid var(--primary);border-radius:3px;background:rgb(var(--primary-rgb) / .1);pointer-events:none}.kb-mini-mapped{position:absolute;bottom:0;z-index:3;height:3px;background:var(--secondary);pointer-events:none}.fb-wrap{max-width:1500px;width:100%;margin:0 auto}.fretboard{display:block;width:100%;height:auto;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;filter:drop-shadow(0 14px 16px rgb(0 0 0 / .35))}.fb-num{font:600 13px var(--font-mono);fill:var(--text-faint)}.fb-label{font:700 12px var(--font-ui);fill:#111;pointer-events:none}.fb-open{font:600 13px var(--font-ui);fill:var(--text-muted)}.dk-wrap{width:100%;max-width:1100px;margin:0 auto}.drumkit{display:block;width:100%;max-height:56vh;touch-action:none;-webkit-user-select:none;user-select:none}.dk-hit{cursor:pointer}.dk-hit .dk-head,.dk-hit .dk-cym,.dk-hit .dk-pedal{transition:filter .06s}.dk-hit.down .dk-head{filter:brightness(.82)}.dk-hit.down .dk-cym{filter:brightness(1.35)}.dk-hit.down .dk-pedal{filter:brightness(.7)}.dk-key rect{fill:#0000008c;stroke:#ffffff40}.dk-key text{font:600 11px var(--font-mono);fill:#fff}.pads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:820px;width:100%;margin:0 auto}.pad{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:1.45;padding:10px 12px;border:1px solid rgb(0 0 0 / .5);border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in srgb,var(--pad) 85%,white),var(--pad) 40%,color-mix(in srgb,var(--pad) 82%,black));color:#ffffffe0;text-align:left;cursor:pointer;touch-action:none;box-shadow:inset 0 1px #ffffff1f,0 3px #00000059;transition:transform .04s,box-shadow .04s}.pad.wide{grid-column:span 2;aspect-ratio:auto}.pad.down{transform:translateY(2px);box-shadow:inset 0 0 0 2px var(--highlight),0 1px #00000059;background:linear-gradient(180deg,color-mix(in srgb,var(--pad) 70%,var(--highlight)),color-mix(in srgb,var(--pad) 80%,var(--highlight)))}.pad-name{font-weight:600;font-size:.92rem}.pad-meta{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;opacity:.75}.wind{display:flex;flex-direction:column;gap:18px;width:100%;max-width:1300px;margin:0 auto}.flute,.panflute{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;touch-action:none}.panflute{max-height:46vh}.wind-readout{font:500 15px var(--font-ui);fill:var(--text-muted)}.pan-tube{cursor:pointer}.pan-label{font:600 13px var(--font-ui);fill:#ffffffe6;paint-order:stroke;stroke:#00000059;stroke-width:3px;pointer-events:none}.pan-key{font:500 11px var(--font-mono);fill:#ffffffa6;pointer-events:none}.wind-notes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:5px}.wind-note{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:70px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-alt);color:var(--text);cursor:pointer;touch-action:none;box-shadow:var(--shadow-1)}.wind-note span{font-weight:600;font-size:1rem}.wind-note small{color:var(--text-faint);font-size:.7rem}.wind-note kbd{position:absolute;top:4px;right:4px;font-size:.6rem;padding:0 3px}.wind-note.down{background:var(--highlight);border-color:var(--highlight);color:var(--on-primary)}.wind-note.down small{color:inherit}.ml-wrap{width:100%;max-width:1400px;margin:0 auto}.mallets{display:block;width:100%;height:auto;max-height:58vh;-webkit-user-select:none;user-select:none;touch-action:none}.mbar{cursor:pointer;transition:transform .05s}.mbar.down{transform:translateY(3px)}.mbar-label{font:600 14px var(--font-ui);fill:#ffffffeb;paint-order:stroke;stroke:#0006;stroke-width:3px;pointer-events:none}.mbar-label.c{font-weight:800}.mbar-key{font:500 11px var(--font-mono);fill:#ffffffb3;paint-order:stroke;stroke:#0006;stroke-width:2px;pointer-events:none}.studio{display:flex;flex-direction:column;height:100%;min-height:0}.transport{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.tp-group{gap:4px}.tp-zoom{width:84px}.tp-name{width:150px}.lcd{display:flex;padding:3px 2px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 1px 3px #0000004d}.lcd-cell{display:flex;flex-direction:column;padding:0 9px;border-right:1px solid var(--border)}.lcd-cell:last-child{border-right:0}.lcd-label{font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.lcd-value{font-size:1.05rem;line-height:1.25;color:var(--primary);white-space:pre}.lcd-value.dim{color:var(--text-muted)}.lcd-input{width:46px;padding:0;border:0;background:none;color:var(--text);font-size:1.05rem;line-height:1.25;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:text}select.lcd-input{cursor:pointer}.lcd-input:focus{outline:none;color:var(--primary)}.studio-main{flex:1;min-height:0;display:flex}.arr{position:relative;flex:1;overflow:auto;background:var(--inset)}.arr-inner{position:relative;min-height:100%}.arr-top{position:sticky;top:0;z-index:6;display:flex;background:var(--panel);border-bottom:1px solid var(--border)}.arr-corner{position:sticky;left:0;z-index:7;display:flex;align-items:center;gap:8px;flex:none;padding:0 10px;background:var(--panel);border-right:1px solid var(--border)}.arr-count{font-size:.74rem}.ruler{position:relative;flex:none;cursor:text;-webkit-user-select:none;user-select:none;touch-action:none}.ruler-loopband{position:absolute;left:0;right:0;top:0;height:42%;border-bottom:1px solid var(--border);cursor:ew-resize}.ruler-loop{position:absolute;top:0;height:42%;background:rgb(var(--text-rgb) / .1);border-left:2px solid var(--text-faint);border-right:2px solid var(--text-faint);pointer-events:none}.ruler-loop.on{background:rgb(var(--primary-rgb) / .4);border-color:var(--primary)}.ruler-bar{position:absolute;top:42%;bottom:0;padding:2px 0 0 4px;border-left:1px solid var(--border-strong);font-size:.68rem;color:var(--text-muted);background:repeating-linear-gradient(90deg,transparent 0 calc(var(--ppb) - 1px),var(--border-strong) calc(var(--ppb) - 1px) var(--ppb)) bottom left / 100% 5px no-repeat;pointer-events:none}.arr-row{display:flex;border-bottom:1px solid var(--border)}.track-head{position:sticky;left:0;z-index:5;display:flex;flex:none;background:var(--panel);border-right:1px solid var(--border)}.track-head.sel{background:var(--panel-alt)}.th-color{width:5px;flex:none;padding:0;border:0;background:var(--clip);cursor:pointer}.th-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:4px 8px}.th-top,.th-bottom{display:flex;align-items:center;gap:4px}.th-name{flex:1;min-width:0;padding:1px 3px;border:0;border-radius:3px;background:none;color:var(--text);font-size:.86rem;font-weight:600}.th-name:focus{outline:1px solid var(--primary);background:var(--inset)}.th-bottom .select{flex:1;min-width:0;height:22px;padding-left:6px;font-size:.76rem}.th-bottom .btn.sm.icon{width:22px;height:22px;font-size:.72rem;font-weight:700}.th-audio{flex:1;font-size:.76rem}.th-vol{height:12px}.btn.solo.on{background:var(--secondary);border-color:var(--secondary);color:var(--on-secondary)}.lane{position:relative;flex:none;background-image:repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .08) 0 1px,transparent 1px var(--bar)),repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .03) 0 1px,transparent 1px var(--ppb))}.arr-row.sel .lane{background-color:rgb(var(--text-rgb) / .025)}.lane-hint{position:absolute;left:14px;top:50%;translate:0 -50%;display:flex;align-items:center;gap:6px;color:var(--text-faint);font-size:.78rem;pointer-events:none;white-space:nowrap}.clip{position:absolute;top:3px;bottom:3px;display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--clip) 60%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--clip) 20%,var(--panel));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.clip:active{cursor:grabbing}.clip:before,.clip:after{content:"";position:absolute;top:0;bottom:0;width:7px;z-index:2;cursor:ew-resize}.clip:before{left:0}.clip:after{right:0}.clip.sel{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.clip-head{flex:none;height:16px;padding:0 6px;overflow:hidden;background:color-mix(in srgb,var(--clip) 50%,var(--panel));color:var(--text);font-size:.68rem;font-weight:600;line-height:16px;white-space:nowrap;text-overflow:ellipsis}.clip-body{position:relative;flex:1;min-height:0}.clip-notes{position:absolute;left:0;top:4px;width:100%;height:calc(100% - 8px)}.clip-wave{display:block;opacity:.9}.playhead{position:absolute;top:0;bottom:0;left:0;width:1px;z-index:4;background:var(--primary);pointer-events:none}.arr-add-head{position:sticky;left:0;display:flex;align-items:center;gap:2px;padding:0 8px;background:var(--panel);border-right:1px solid var(--border)}.dock{position:relative;flex:none;display:flex;flex-direction:column;min-height:0;background:var(--panel);border-top:1px solid var(--border-strong)}.dock-resize{position:absolute;top:-4px;left:0;right:0;height:8px;z-index:8;cursor:ns-resize}.dock-bar{display:flex;align-items:center;gap:12px;padding:6px 10px;border-bottom:1px solid var(--border)}.dock-hint{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto}.editor-empty{flex:1}.pr{display:flex;flex-direction:column;flex:1;min-height:0}.pr-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-bottom:1px solid var(--border)}.pr-name{width:140px;height:calc(var(--control-h) - 4px)}.pr-help{font-size:.74rem}.pr-main{position:relative;flex:1;min-height:0;overflow:auto;background:var(--inset)}.pr-main:focus{outline:none}.pr-inner{position:relative}.pr-keys{position:sticky;left:0;z-index:3;background:var(--panel);border-right:1px solid var(--border-strong)}.pr-key{display:flex;align-items:center;justify-content:flex-end;padding-right:6px;border-bottom:1px solid var(--border);color:var(--text-faint);font-size:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.pr-key.white{background:color-mix(in srgb,var(--text) 7%,var(--panel))}.pr-key.black{background:var(--inset)}.pr-key.c{color:var(--text-muted);border-bottom-color:var(--border-strong)}.pr-key.drum{justify-content:flex-start;white-space:nowrap;padding-left:8px;color:var(--text-muted);font-size:.72rem}.pr-grid{position:absolute;top:0;cursor:crosshair;touch-action:none;background-image:repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .17) 0 1px,transparent 1px var(--barw)),repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .08) 0 1px,transparent 1px var(--ppb)),repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .035) 0 1px,transparent 1px var(--snap)),repeating-linear-gradient(180deg,transparent 0 calc(var(--row) - 1px),rgb(var(--text-rgb) / .05) calc(var(--row) - 1px) var(--row))}.pr-rowbg{position:absolute;left:0;right:0;background:rgb(var(--bg-rgb) / .55);pointer-events:none}.pr-note{position:absolute;overflow:hidden;padding-left:3px;border:1px solid color-mix(in srgb,var(--clip) 55%,black);border-radius:2px;background:var(--clip);opacity:var(--vel);color:#000000b8;font-size:.6rem;font-weight:600;line-height:1.1;white-space:nowrap;cursor:move}.pr-note:after{content:"";position:absolute;top:0;right:0;bottom:0;width:6px;cursor:ew-resize}.pr-note.sel{z-index:2;opacity:1;outline:2px solid var(--text)}.pr-grid.drum .pr-note{border-radius:3px}.pr-marquee{position:absolute;border:1px dashed var(--primary);background:rgb(var(--primary-rgb) / .08);pointer-events:none}.pr-playhead{position:absolute;top:0;bottom:0;left:0;width:1px;z-index:2;background:var(--primary);pointer-events:none}.pr-vel{position:relative;flex:none;height:64px;overflow:hidden;background:var(--panel);border-top:1px solid var(--border)}.vel-inner{position:relative;cursor:ns-resize;touch-action:none}.vel-inner i{position:absolute;bottom:0;width:4px;border-radius:2px 2px 0 0;background:var(--clip)}.vel-inner i.sel{background:var(--text)}.vel-label{position:absolute;top:6px;left:8px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);pointer-events:none}.audio-editor{display:flex;flex-direction:column}.mixer{display:flex;flex:1;min-height:0;overflow:auto}.mx-strips{display:flex}.mx-strip,.mx-master,.mx-input{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;flex:none;width:108px;padding:10px 6px;border-right:1px solid var(--border)}.mx-strip.sel{background:var(--panel-alt)}.mx-color{position:absolute;top:0;left:0;right:0;height:3px;background:var(--clip)}.mx-name{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;overflow:hidden;font-size:.78rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.mx-section{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%}.mx-label{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.mx-knobs{display:flex;flex-wrap:wrap;justify-content:center;gap:2px}.mx-row{display:flex;align-items:center;gap:6px}.mx-fader{display:flex;align-items:stretch;justify-content:center;gap:8px;flex:1;min-height:110px;max-height:220px}.fader{-webkit-appearance:none;-moz-appearance:none;appearance:none;writing-mode:vertical-lr;direction:rtl;width:26px;margin:0;background:transparent;cursor:ns-resize}.fader::-webkit-slider-runnable-track{width:6px;margin:0 auto;background:var(--inset);border:1px solid var(--border);border-radius:3px}.fader::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:14px;margin-left:-11px;border:1px solid rgb(0 0 0 / .5);border-radius:3px;background:linear-gradient(180deg,color-mix(in srgb,var(--text) 90%,white),color-mix(in srgb,var(--text) 70%,black) 48%,var(--text-faint) 52%,color-mix(in srgb,var(--text) 75%,black));box-shadow:0 2px 3px #0006}.fader::-moz-range-track{width:6px;background:var(--inset);border:1px solid var(--border);border-radius:3px}.fader::-moz-range-thumb{width:24px;height:12px;border-radius:3px;background:var(--text)}.mx-meter.wide .meter{width:10px}.mx-db{font-size:.74rem;color:var(--text-muted)}.mx-buttons{display:flex;gap:3px}.mx-buttons .btn{font-size:.72rem;font-weight:700}.mx-master{background:rgb(var(--panel-alt-rgb) / .6);border-left:1px solid var(--border)}.mx-note{font-size:.7rem;text-align:center}@media(max-width:1420px){.tp-name{display:none}}.mx-strip>*,.mx-master>*,.mx-input>*{flex-shrink:0}.mx-strip>.mx-fader,.mx-master>.mx-fader,.mx-input>.mx-fader{flex:1 0 110px}.studio.fl{display:flex;flex-direction:column;height:100%;min-height:0}.fl-body{flex:1;min-height:0;display:flex}.fl-main{flex:1;min-width:0;display:flex;flex-direction:column}.fl-playlist{flex:1;min-height:0;display:flex}.fl-toolbar{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.fl-menubar{display:flex;align-items:center}.fl-menu-btn{height:28px;padding:0 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.fl-menu-btn:hover,.fl-menu-btn.on{background:var(--panel-alt);color:var(--text)}.fl-menu{min-width:240px;max-height:70vh;overflow:auto}.menu-sep{height:1px;margin:4px 6px;background:var(--border)}.menu-heading{padding:6px 10px 3px;font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.menu-check{width:12px;color:var(--primary)}.menu button:disabled{opacity:.4;cursor:default}.menu-field{display:flex;flex-direction:column;gap:4px;padding:6px 9px;font-size:.78rem}.fl-mode{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm)}.fl-mode button{height:16px;padding:0 8px;border:0;background:var(--inset);color:var(--text-faint);font:700 .62rem var(--font-mono);letter-spacing:.06em;cursor:pointer}.fl-mode button.on{background:var(--primary);color:var(--on-primary)}.lcd-big .lcd-value{font-size:1.25rem;letter-spacing:.02em}.fl-pattern{display:flex;align-items:center;gap:4px;padding:2px 4px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius)}.fl-pattern>i,.cr-pattern>i{width:10px;height:10px;flex:none;border-radius:2px}.fl-pattern .select{width:140px;height:26px;border-color:transparent;background-color:transparent}.fl-views{display:flex;gap:2px;padding:2px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius)}.fl-view{display:grid;place-items:center;width:32px;height:28px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer}.fl-view svg{width:16px;height:16px}.fl-view:hover{color:var(--text)}.fl-view.on{background:var(--panel-alt);color:var(--primary);box-shadow:0 0 0 1px var(--border)}.fl-snap,.fl-zoom{display:flex;align-items:center;gap:4px}.fl-snap .select{width:84px}.fl-hint{flex:1;min-width:160px;display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;overflow:hidden;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.76rem;white-space:nowrap}.fl-hint span{overflow:hidden;text-overflow:ellipsis}.fl-hint svg{flex:none;color:var(--text-faint)}.fl-toolbar .tp-name{width:150px}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:16px;background:#00000080}.modal{width:min(640px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 30px 60px -20px #0009}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 18px;border-bottom:1px solid var(--border)}.modal-body{display:flex;flex-direction:column;gap:16px;padding:16px 18px 18px;overflow:auto}.modal-body .row{flex-wrap:wrap}.guide{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.guide li{display:flex;gap:12px}.guide-num{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgb(var(--primary-rgb) / .15);color:var(--primary);font-size:.8rem}.guide p{margin-top:2px;font-size:.86rem}.br{width:248px;flex:none;display:flex;flex-direction:column;min-height:0;background:color-mix(in srgb,var(--panel) 80%,var(--bg));border-right:1px solid var(--border)}.sheet .br{width:100%;flex:1;border:0;background:none}.sheet .br-head{display:none}.br-head,.pl-bar,.cr-bar{display:flex;align-items:center;gap:8px;min-height:38px;padding:4px 10px;border-bottom:1px solid var(--border)}.pl-title{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.br-search{display:flex;align-items:center;gap:6px;padding:8px 10px;color:var(--text-faint)}.br-search .input{flex:1;height:28px}.br-tree{flex:1;overflow:auto;padding:0 6px 20px}.br-folder-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-size:.84rem;font-weight:600;text-align:left;cursor:pointer}.br-folder-head:hover{background:var(--panel-alt)}.br-folder-head svg{color:var(--text-muted)}.br-count{margin-left:auto;font-size:.7rem;color:var(--text-faint)}.br-folder-body{display:flex;flex-direction:column;gap:1px;margin:0 0 6px 13px;padding-left:6px;border-left:1px solid var(--border)}.br-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:5px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-size:.82rem;text-align:left;cursor:grab}.br-item span{display:flex;align-items:center;gap:6px}.br-item small{font-size:.7rem;color:var(--text-faint)}.br-item.compact{padding:3px 8px;color:var(--text-muted)}.br-item:hover{background:var(--panel-alt);color:var(--text)}.br-sub-label{padding:6px 8px 2px;font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.pl{flex:1;min-width:0;display:flex;flex-direction:column}.pl-sub{font-size:.74rem}.pl-tools button{height:24px}.pl-brush{display:inline-flex;align-items:center;gap:6px;padding:0 8px;height:24px;border:1px solid var(--border);border-radius:20px;font-size:.78rem;color:var(--text-muted)}.pl-brush i{width:8px;height:8px;border-radius:2px}.pl-help{font-size:.74rem}.pl-scroll{position:relative;flex:1;min-height:0;overflow:auto;background:var(--inset)}.pl-inner{position:relative;min-height:100%}.pl-top{position:sticky;top:0;z-index:6;display:flex;background:var(--panel);border-bottom:1px solid var(--border)}.pl-corner{position:sticky;left:0;z-index:7;display:flex;align-items:center;flex:none;padding:0 6px;background:var(--panel);border-right:1px solid var(--border)}.pl-row{display:flex;border-bottom:1px solid var(--border)}.pl-head{position:sticky;left:0;z-index:5;flex:none;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--panel);border-right:1px solid var(--border)}.pl-head.muted .pl-name{color:var(--text-faint)}.pl-name{flex:1;min-width:0;overflow:hidden;font-size:.8rem;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;cursor:default}.pl-name-input{flex:1;min-width:0;height:24px;padding:0 4px;border:1px solid var(--primary);border-radius:3px;background:var(--inset);color:var(--text);font-size:.8rem}.pl-lane{position:relative;flex:none;cursor:crosshair;background-image:repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .08) 0 1px,transparent 1px var(--bar)),repeating-linear-gradient(90deg,rgb(var(--text-rgb) / .03) 0 1px,transparent 1px var(--ppb))}.pl-row:nth-child(2n) .pl-lane{background-color:rgb(var(--text-rgb) / .012)}.pl-lane.muted{opacity:.45}.pl-lane .clip{cursor:grab}.pl-empty{position:absolute;top:70px;z-index:3;display:flex;gap:10px;max-width:460px;padding:14px 16px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);font-size:.84rem;color:var(--text-muted);pointer-events:none}.pl-empty svg{flex:none;color:var(--primary)}.pl-empty ol{margin:6px 0 0;padding-left:18px}.pl-empty li{margin:3px 0}.led{flex:none;width:12px;height:12px;padding:0;border:1px solid rgb(0 0 0 / .5);border-radius:50%;background:var(--inset);cursor:pointer}.led.on{background:var(--success);box-shadow:inset 0 1px #fff6}.cr{flex:1;min-height:0;display:flex;flex-direction:column}.cr.drop{box-shadow:inset 0 0 0 2px var(--primary)}.cr-bar{flex-wrap:wrap}.cr-pattern{display:flex;align-items:center;gap:4px}.cr-pattern .select{width:150px;height:26px}.cr-bar .select{height:26px}.cr-swing{display:flex;align-items:center;gap:6px}.cr-swing-label{font-size:.72rem;color:var(--text-muted)}.cr-add{left:auto;right:0;width:320px;padding:4px}.cr-add-list{height:360px;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--border);margin-top:4px}.cr-scroll{flex:1;min-height:0;overflow:auto;background:var(--inset)}.cr-grid{position:relative;display:inline-block;min-width:100%;padding:6px 0 10px}.cr-steps-wrap{position:relative;display:flex;flex-direction:column;gap:3px;touch-action:none;-webkit-user-select:none;user-select:none}.cr-row{display:flex;align-items:center;height:30px}.cr-row.piece{height:26px}.cr-head{position:sticky;left:0;z-index:3;flex:none;display:flex;align-items:center;gap:6px;height:100%;padding:0 6px 0 10px;background:var(--inset)}.cr-head.piece{justify-content:flex-end;padding-right:8px}.cr-knobs{display:flex;gap:2px}.cr-knobs .knob .knob-label,.cr-swing .knob .knob-label{display:none}.cr-name{flex:1;min-width:0;display:flex;align-items:center;gap:5px;height:24px;padding:0 8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--clip) 55%,black);border-left:4px solid var(--clip);border-radius:var(--radius-sm);background:linear-gradient(180deg,color-mix(in srgb,var(--clip) 22%,var(--panel-alt)),color-mix(in srgb,var(--clip) 12%,var(--panel)));color:var(--text);font-size:.8rem;font-weight:600;white-space:nowrap;cursor:pointer}.cr-name span{overflow:hidden;text-overflow:ellipsis}.cr-head.sel .cr-name{box-shadow:0 0 0 1px var(--text)}.cr-selbox{flex:none;width:8px;height:18px;border-radius:2px;background:var(--border)}.cr-selbox.on{background:var(--success)}.cr-expand{flex:none}.cr-piece{max-width:100%;padding:0 4px;border:0;background:none;color:var(--text-muted);font-size:.74rem;cursor:pointer}.cr-piece:hover{color:var(--text)}.cr-cells{display:flex;height:100%;flex:none}.cr-step{flex:none;height:100%;padding:2px 1.5px;cursor:pointer}.cr-step:before{content:"";display:block;height:100%;border-radius:3px;background:color-mix(in srgb,var(--text) 13%,var(--panel));box-shadow:inset 0 -2px #00000040}.cr-step.alt:before{background:color-mix(in srgb,var(--danger) 22%,var(--panel))}.cr-step:hover:before{filter:brightness(1.25)}.cr-step.on:before{background:linear-gradient(180deg,color-mix(in srgb,var(--clip) 70%,white),var(--clip));box-shadow:inset 0 -2px #0000004d,0 0 0 1px color-mix(in srgb,var(--clip) 60%,black)}.cr-roll{flex:none;height:100%;padding:2px 1.5px;border:0;background:none;cursor:pointer}.cr-roll svg{display:block;width:100%;height:100%;border-radius:3px;background:color-mix(in srgb,var(--clip) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--clip) 45%,transparent)}.cr-group-label{flex:none;padding-left:8px;font-size:.74rem;white-space:nowrap}.cr-row.group{margin-top:4px}.cr-play{position:absolute;top:0;bottom:0;z-index:2;border-radius:3px;background:rgb(var(--primary-rgb) / .18);box-shadow:inset 0 0 0 1px rgb(var(--primary-rgb) / .6);pointer-events:none}.cr-foot{padding-top:10px;font-size:.74rem}.pr-swatch{width:12px;height:12px;flex:none;border-radius:3px}:root[data-mobile] .fl-toolbar{flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none}:root[data-mobile] .fl-toolbar>*{flex:none}:root[data-mobile] .fl-toolbar::-webkit-scrollbar{display:none}:root[data-mobile] .fl-toolbar .tp-name,:root[data-mobile] .fl-toolbar .lbl{display:none}:root[data-mobile] .fl-toolbar .btn.primary{width:var(--control-h);padding:0}:root[data-mobile] .fl-pattern .select{width:110px}:root[data-mobile] .pl-bar,:root[data-mobile] .cr-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}:root[data-mobile] .pl-bar>*,:root[data-mobile] .cr-bar>*{flex:none}:root[data-mobile] .pl-sub{display:none}:root[data-mobile] .cr-head{padding-left:6px}:root[data-mobile] .cr-row{height:34px}:root[data-mobile] .cr-row.piece{height:30px}:root[data-mobile] .cr-add{width:auto}:root[data-mobile] .cr-selbox{display:none}:root[data-mobile] .cr-head{gap:4px;padding-right:4px}:root[data-mobile] .cr-expand{width:20px;height:20px}:root[data-mobile] .cr-name{padding:0 5px;font-size:.74rem}.fl-save{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--border);border-radius:20px;background:none;color:var(--text-muted);font-size:.74rem;cursor:pointer}.fl-save svg{width:13px;height:13px}.fl-save.saved svg{color:var(--success)}.fl-save.error{color:var(--danger);border-color:var(--danger)}.fl-save:hover{border-color:var(--border-strong);color:var(--text)}.proj{display:flex;flex-direction:column;gap:14px}.proj-list{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}.proj-list li{display:flex;align-items:center;gap:4px;padding:4px 6px 4px 4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-alt)}.proj-list li.on{border-color:rgb(var(--primary-rgb) / .6)}.proj-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);text-align:left;cursor:pointer}.proj-main:hover{background:var(--panel)}.proj-main b{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.proj-main small{font-size:.74rem}.proj-rename{flex:1;margin:4px}.proj-open{color:var(--primary);border-color:rgb(var(--primary-rgb) / .5)}.btn.danger-ghost:hover{color:var(--danger)}.proj-note{font-size:.78rem}.clip,.cr-name,.pl-name{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}:root[data-mobile] .fl-save .lbl{display:none}.cr-step.on:before{background:linear-gradient(to top,color-mix(in srgb,var(--clip) 80%,white) 0,var(--clip) var(--v),color-mix(in srgb,var(--clip) 28%,var(--panel)) var(--v))}.cr-steps-wrap.vel-mode .cr-step{cursor:ns-resize}.cr-steps-wrap.vel-mode .cr-step:not(.on):before{opacity:.55}.pr-scale{display:flex;align-items:center;gap:4px}.pr-scale .select:first-child{width:64px}.pr-rowbg.off-scale{background:rgb(var(--bg-rgb) / .7)}.pr-rowbg.root{background:rgb(var(--primary-rgb) / .08)}.pr-key.in-scale:after{content:"";width:4px;height:4px;margin-left:4px;border-radius:50%;background:var(--primary);opacity:.6}.pr-key.root{color:var(--primary)}.pr-ghost{position:absolute;border:1px solid color-mix(in srgb,var(--clip) 70%,transparent);border-radius:2px;background:color-mix(in srgb,var(--clip) 14%,transparent);pointer-events:none}.mx-fx{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--inset);color:var(--text);font-size:.66rem;cursor:pointer}.mx-fx span{padding:2px 4px;overflow:hidden;border-radius:3px;background:color-mix(in srgb,var(--clip) 22%,var(--panel));white-space:nowrap;text-overflow:ellipsis}.mx-fx span.off{opacity:.45;text-decoration:line-through}.mx-fx span.faint{display:flex;align-items:center;justify-content:center;gap:3px;background:none}.mx-fx.on,.mx-fx:hover{border-color:var(--primary)}.fx-rack{flex:none;display:flex;flex-direction:column;gap:8px;width:340px;padding:10px;overflow:auto;background:var(--panel-alt);border-left:1px solid var(--border-strong)}.fx-head{display:flex;align-items:center;gap:6px}.fx-head svg{color:var(--primary)}.fx-list{display:flex;flex-direction:column;gap:8px}.fx-slot{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-left:3px solid var(--clip);border-radius:var(--radius);background:var(--panel)}.fx-slot.off{opacity:.6}.fx-slot-head{display:flex;align-items:center;gap:6px;font-size:.84rem}.fx-knobs{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.fx-choice{display:flex;flex-direction:column;gap:3px}.fx-choice .select{height:26px;font-size:.76rem}.ae{display:flex;flex-direction:column;flex:1;min-height:0}.ae-title{font-size:.84rem}.ae-readout{min-width:150px;font-size:.76rem}.ae-scroll{flex:1;min-height:0;overflow:auto;padding:10px 14px;background:var(--inset)}.ae-graph{display:block;touch-action:none;cursor:crosshair;background:color-mix(in srgb,var(--panel) 60%,var(--inset));border:1px solid var(--border);border-radius:var(--radius-sm)}.ae-bar{stroke:rgb(var(--text-rgb) / .16)}.ae-beat{stroke:rgb(var(--text-rgb) / .06)}.ae-fill{fill:var(--clip);opacity:.12}.ae-line{fill:none;stroke:var(--clip);stroke-width:2}.ae-point{fill:var(--panel);stroke:var(--clip);stroke-width:2;cursor:grab}.ae-point.on{fill:var(--clip)}.ae-play{stroke:var(--primary);stroke-width:1}.clip.automation{background:color-mix(in srgb,var(--clip) 10%,var(--panel))}.menu-chips{display:flex;flex-wrap:wrap;gap:4px;padding:2px 8px 8px}.menu .menu-chips .btn{width:auto;padding:0 8px;font-size:.76rem}.export{display:flex;flex-direction:column;gap:14px}.export-row{display:flex;flex-direction:column;gap:6px}.export-row .seg{flex-wrap:wrap;align-self:flex-start}.export-note{font-size:.82rem}.export-progress{display:flex;flex-direction:column;gap:6px;font-size:.8rem}.export-bar{height:6px;overflow:hidden;border-radius:6px;background:var(--inset)}.export-bar i{display:block;height:100%;background:var(--primary);transition:width .2s}:root[data-mobile] .fx-rack{position:fixed;inset:auto 0 calc(var(--nav-h) + var(--safe-b)) 0;z-index:70;width:auto;max-height:60dvh;border-left:0;border-top:1px solid var(--border-strong);border-radius:14px 14px 0 0;box-shadow:0 -12px 40px -16px #0009}:root[data-mobile] .pr-scale .select{width:96px}.fl-phone .fl-main{min-height:0}.fl-phone.phone-dock .fl-playlist{display:none}.fl-phone.phone-dock .dock{flex:1;border-top:0}.fl-phone .dock.closed,.fl-phone .dock-resize,.fl-phone .dock-bar{display:none}.fl-phone .dock-bar.has-picker{display:flex}.fl-phone .dock-bar.has-picker .seg,.fl-phone .dock-bar.has-picker>.btn{display:none}.fl-phone-tabs{flex:none;display:flex;background:var(--panel);border-top:1px solid var(--border-strong)}.fl-phone-tabs button{flex:1;height:auto;border:0;border-radius:0;background:none;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;min-width:0;font-size:.68rem;font-weight:600;color:var(--text-muted)}.fl-phone-tabs button svg{width:18px;height:18px}.fl-phone-tabs button.on{color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent)}:root[data-mobile=portrait] .fl-phone .fl-toolbar{flex-wrap:wrap;overflow:visible;gap:6px;padding:6px 8px}:root[data-mobile=portrait] .fl-phone .fl-views,:root[data-mobile=portrait] .fl-phone .fl-snap,:root[data-mobile=portrait] .fl-phone .fl-zoom,:root[data-mobile=portrait] .fl-phone .fl-toolbar>.btn.icon:not(.fl-menu-toggle),:root[data-mobile=portrait] .fl-phone .fl-toolbar>.btn.primary,:root[data-mobile=portrait] .fl-phone .fl-toolbar .tp-group .btn:has(.lucide-timer),:root[data-mobile=portrait] .fl-phone .fl-toolbar .tp-group .btn:has(.lucide-repeat),:root[data-mobile=portrait] .fl-phone .fl-pattern>.btn.ghost{display:none}:root[data-mobile=portrait] .fl-phone .fl-pattern{flex:1;min-width:0}:root[data-mobile=portrait] .fl-phone .fl-pattern .select{flex:1;width:auto;min-width:96px}.m-menus{display:flex;flex-direction:column;gap:18px}.m-menus section{display:flex;flex-direction:column}.m-menus h4{margin:0 0 4px;padding:0 10px;font-size:.78rem;color:var(--text-muted)}.m-menu-heading{padding:8px 10px 2px 34px;font-size:.74rem}.m-menu-item{display:flex;align-items:flex-start;gap:6px;padding:10px;border-radius:var(--radius);text-align:left;color:var(--text);font-size:.95rem}.m-menu-item:active{background:color-mix(in srgb,var(--text) 8%,transparent)}.m-menu-item:disabled{opacity:.4}.m-menu-item .menu-check{width:18px;flex:none;color:var(--primary)}.m-menu-label{display:flex;flex-direction:column;gap:2px}.m-menu-label small{font-size:.74rem;line-height:1.35}.m-menu-item{background:none;border:0}:root[data-mobile=portrait] .fl-phone .fl-pattern>.btn{display:none}.settings{display:grid;grid-template-columns:240px minmax(0,1fr);height:100%;min-height:0}.set-nav{display:flex;flex-direction:column;gap:3px;padding:20px 12px;border-right:1px solid var(--border)}.set-nav h1{padding:0 10px 14px}.set-nav-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border:0;border-radius:var(--radius);background:none;color:var(--text-muted);text-align:left;cursor:pointer}.set-nav-item small{font-size:.74rem;color:var(--text-faint)}.set-nav-item:hover{color:var(--text)}.set-nav-item.on{background:var(--panel-alt);color:var(--text);box-shadow:inset 2px 0 0 var(--primary)}.set-body{display:flex;flex-direction:column;gap:30px;max-width:1180px;padding:24px 32px 80px;overflow:auto}.set-body>*{flex-shrink:0}.set-section{display:flex;flex-direction:column;gap:14px}.set-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--border)}.set-section-head p{margin-top:3px;font-size:.86rem}.set-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid rgb(var(--border-rgb) / .6)}.set-row-label{display:flex;flex-direction:column}.set-row-label small{font-size:.76rem}.set-row-control{display:flex;justify-content:flex-end;min-width:260px}.set-note{font-size:.8rem}.presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}.preset{position:relative;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.preset:hover{border-color:var(--border-strong)}.preset.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.preset-swatch{height:88px;padding:12px;border-bottom:1px solid var(--border)}.ps-panel{display:flex;flex-direction:column;gap:5px;height:100%;padding:8px;border:1px solid;border-radius:5px}.ps-panel i{display:block;height:5px;border-radius:3px}.ps-chips{display:flex;gap:4px;margin-top:auto}.ps-chips b{width:20px;height:10px;border-radius:3px}.preset-meta{display:flex;flex-direction:column;padding:8px 10px}.preset-meta span{font-weight:600;font-size:.9rem}.preset-meta small{font-size:.74rem}.preset-check{position:absolute;top:8px;right:8px;color:var(--primary)}.color-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.color-group{display:flex;flex-direction:column;gap:6px}.color-field{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.swatch{position:relative;flex:none;width:30px;height:30px;overflow:hidden;border:1px solid rgb(var(--text-rgb) / .22);border-radius:var(--radius-sm)}.swatch input{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;width:calc(100% + 16px);height:calc(100% + 16px);opacity:0;cursor:pointer}.color-meta{display:flex;flex-direction:column;flex:1;min-width:0}.color-label{font-size:.86rem;font-weight:500}.color-hint{font-size:.72rem;color:var(--text-faint)}.color-hex{width:86px;height:28px;font-size:.8rem}.contrast{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:20px;font-size:.74rem}.contrast.ok{color:var(--success)}.contrast.bad{color:var(--danger);border-color:var(--danger)}.ui-preview{display:flex;flex-direction:column;gap:12px;padding:14px}.ui-preview p{font-size:.85rem}.ui-preview-well{position:relative;height:34px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-sm)}.ui-preview-well i{position:absolute;top:6px;bottom:6px;border-radius:3px;opacity:.85}.font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.font-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.font-card:hover{border-color:var(--border-strong)}.font-card.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.font-sample{font-size:2rem;line-height:1.1}.font-name{font-weight:600}.font-line{font-size:.8rem;color:var(--text-muted)}.skin-tabs{align-self:flex-start;flex-wrap:wrap}.skin-presets{display:flex;flex-wrap:wrap;gap:8px}.skin-preset{display:flex;align-items:center;gap:10px;padding:6px 11px 6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);font-size:.86rem;cursor:pointer}.skin-preset:hover{border-color:var(--border-strong)}.skin-preset.on{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.skin-dots{display:flex;padding-left:4px}.skin-dots i{width:15px;height:15px;margin-left:-4px;border:1px solid rgb(0 0 0 / .35);border-radius:50%}.skin-preview{padding:20px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-lg)}.skin-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.shortcuts{border-collapse:collapse}.shortcuts td{padding:6px 14px 6px 0;font-size:.88rem}.bp{display:flex;flex-direction:column;height:100%;min-height:0}.bp-top{position:relative;z-index:20;display:flex;align-items:center;gap:18px;padding:10px 18px;background:var(--panel);border-bottom:1px solid var(--border)}.bp-brand{display:flex;flex-direction:column;min-width:118px}.bp-brand-name{font-size:1.1rem;font-weight:var(--heading-weight);letter-spacing:-.01em}.bp-vol{display:flex;align-items:center;height:64px}.fader.bp-fader{height:64px}.bp-scroller{display:flex;align-items:stretch;gap:2px;width:262px;padding:4px 4px 4px 6px;background:var(--inset);border:1px solid var(--border);border-radius:var(--radius-lg)}.bp-scroller-list{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.bp-scroller-row{display:flex;align-items:center;gap:8px;padding:1px 6px;overflow:hidden;border:0;border-radius:4px;background:none;color:var(--text-faint);font-size:.74rem;text-align:left;white-space:nowrap;cursor:pointer}.bp-scroller-row .mono{font-size:.7rem;color:var(--text-faint)}.bp-scroller-row.cur{padding:3px 6px;color:var(--text);font-size:.9rem;font-weight:600}.bp-scroller-row.cur .mono{color:var(--primary)}.bp-scroller-row:hover{background:var(--panel-alt);color:var(--text)}.bp-scroller-name{overflow:hidden;text-overflow:ellipsis}.bp-scroller-arrows{display:flex;flex-direction:column;justify-content:center;gap:2px}.bp-scroller-arrows button{display:grid;place-items:center;width:24px;height:22px;border:0;border-radius:4px;background:none;color:var(--text-muted);cursor:pointer}.bp-scroller-arrows button:hover{background:var(--panel-alt);color:var(--text)}.bp-tiles{display:flex;align-items:center;gap:4px;margin-left:auto}.bp-tile{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:66px;padding:0 2px;border:0;background:none;color:var(--text-muted);cursor:pointer}.bp-tile-icon{position:relative;display:grid;place-items:center;width:44px;height:40px;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-1);transition:border-color .12s,color .12s}.bp-tile-icon svg{width:19px;height:19px}.bp-tile-label{font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bp-tile:hover .bp-tile-icon{border-color:var(--border-strong)}.bp-tile:hover{color:var(--text)}.bp-tile.on .bp-tile-icon{border-color:rgb(var(--primary-rgb) / .6);color:var(--primary)}.bp-tile.on{color:var(--text)}.bp-tile.active .bp-tile-icon{color:var(--primary)}.bp-tile.active .bp-tile-icon:after{content:"";position:absolute;left:32%;right:32%;bottom:4px;height:2px;border-radius:2px;background:var(--primary)}.bp-pop{position:absolute;top:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--panel-alt);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 18px 40px -16px #0009}.bp-pop h4{font-size:.92rem}.bp-pop p{font-size:.8rem}.bp-pop-sounds{left:18px;width:360px;height:min(540px,70vh);padding:0;overflow:hidden}.bp-pop-right{right:18px;width:340px}.bp-metro{display:flex;flex-direction:column;gap:12px}.bp-metro-dots{display:flex;gap:8px}.bp-metro-dots i{width:14px;height:14px;border-radius:50%;background:var(--inset);border:1px solid var(--border-strong)}.bp-metro-dots i.first{border-color:var(--text-muted)}.bp-metro-dots i.on{background:var(--primary);border-color:var(--primary)}.bp-fx{display:flex;gap:24px}.bp-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 22px;padding:10px 18px 12px;background:color-mix(in srgb,var(--panel) 65%,var(--bg));border-bottom:1px solid var(--border)}.bp-group{display:flex;flex-direction:column;gap:6px}.bp-group-label{display:flex;align-items:center;gap:6px;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.bp-group-label svg{width:13px;height:13px}.bp-seg-row{display:flex;gap:4px}.bp-stepper{display:flex;align-items:center;height:var(--control-h);background:var(--inset);border:1px solid var(--border);border-radius:var(--radius)}.bp-stepper button{width:30px;height:100%;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);font-size:1.05rem;cursor:pointer}.bp-stepper button:hover{background:var(--panel-alt)}.bp-stepper .mono{min-width:36px;text-align:center;font-size:.9rem}.bp-vel{display:flex;align-items:center;width:140px;height:var(--control-h)}.bp-small{font-size:.8rem}.bp-bindbar{display:flex;align-items:center;gap:10px;padding:8px 18px;background:rgb(var(--primary-rgb) / .12);border-bottom:1px solid rgb(var(--primary-rgb) / .35);font-size:.86rem}.bp-bindmsg{color:var(--primary);font-size:.8rem}.bp-stage{flex:1;min-height:110px;display:grid;place-items:center;padding:16px;overflow:hidden}.bp-now{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.bp-now-main{font-size:clamp(2.4rem,6vw,4.6rem);font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--text);transition:color .3s}.bp-now:not(.live) .bp-now-main{color:var(--text-faint)}.bp-now-notes{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.bp-idle{display:flex;flex-direction:column;align-items:center;gap:8px}.bp-idle-title{font-size:1.6rem;font-weight:var(--heading-weight)}.bp-idle-line{color:var(--text-muted);font-size:.92rem}.bp-idle-line kbd{margin:0 1px}.bp-status{display:flex;gap:14px;margin-top:6px;font-size:.74rem;color:var(--text-faint)}.bp-status .hot{color:var(--primary)}.bp-keys{position:relative;flex:none;height:clamp(220px,42vh,460px);background:#000}.bp-keys.is-kit{height:auto;padding:18px;background:none}.kb.kb-flat{border-radius:0;border-top:4px solid var(--felt)}.kb-flat .wk{border-radius:0 0 5px 5px}.kb-flat .keycap{position:absolute;left:50%;bottom:44px;translate:-50% 0;display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;font:600 .74rem var(--font-mono);color:#333;background:linear-gradient(#f4f4f4,#dadada);border:1px solid #b7b7b7;border-bottom-width:2px;border-radius:4px;pointer-events:none}.kb-flat .keycap.on-black{bottom:14px;color:#e4e4e4;background:linear-gradient(#4a4a4a,#2b2b2b);border-color:#111}.kb-flat .wk-name{position:absolute;left:0;right:0;bottom:16px;font-size:.7rem;text-align:center;color:var(--klabel);pointer-events:none}.kb-flat .bk-name{position:absolute;top:10px;left:0;right:0;font-size:.56rem;text-align:center;color:#ffffff73;pointer-events:none}.kb-flat .mid-c{position:absolute;left:50%;bottom:5px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--danger)}.kb .wk.marked,.kb .bk.marked{z-index:3;outline:3px solid var(--primary);outline-offset:-3px}.bp-keys.is-kit .pads{max-width:760px}.kb .wk.hint-R,.kb .wk.hint-L{background:linear-gradient(180deg,color-mix(in srgb,var(--wk) 80%,black),color-mix(in srgb,var(--wk) 55%,var(--hand)) 10%,color-mix(in srgb,var(--wk) 40%,var(--hand)))}.kb .bk.hint-R,.kb .bk.hint-L{box-shadow:inset 0 0 0 100px color-mix(in srgb,var(--hand) 70%,transparent),1px 3px 4px #00000073}.kb .hint-R{--hand: var(--primary)}.kb .hint-L{--hand: var(--secondary)}.kb .wk.down.hint-R,.kb .wk.down.hint-L{background:color-mix(in srgb,var(--wk) 30%,var(--hand))}.falling{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.bp-stage.bp-fall{position:relative;display:block;padding:0;background:color-mix(in srgb,var(--bg) 70%,black)}.bp-pop-songs{left:50%;transform:translate(-50%);width:min(460px,calc(100vw - 32px));max-height:min(600px,74vh);overflow-y:auto}.song-picker{display:flex;flex-direction:column;gap:14px}.song-picker section{display:flex;flex-direction:column;gap:2px}.song-picker h5{margin:0 0 4px;padding:0 10px}.song-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:var(--radius);text-align:left;color:var(--text)}.song-row:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.song-row.on{background:color-mix(in srgb,var(--primary) 14%,transparent)}.song-row-main{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.song-title{font-weight:600;font-size:.9rem}.song-meta{font-size:.74rem}.song-best{display:inline-flex;align-items:center;gap:3px;font-size:.74rem;color:var(--success)}.song-note{font-size:.72rem;margin:0;padding:0 10px}.lesson-bar{display:flex;align-items:center;gap:10px;padding:8px 18px;border-bottom:1px solid var(--border);background:var(--panel);flex-wrap:wrap}.lesson-song{max-width:240px;font-weight:600}.lesson-song-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-speed{display:flex;align-items:center;gap:8px}.lesson-speed .range{width:90px}.lesson-speed .mono{font-size:.76rem;min-width:3.2em;color:var(--text-muted)}.lesson-progress{position:relative;flex:1;min-width:100px;height:6px;border-radius:3px;background:var(--inset);cursor:pointer;touch-action:none}.lesson-progress:before{content:"";position:absolute;top:-9px;right:0;bottom:-9px;left:0}.lesson-progress-fill{height:100%;border-radius:3px;background:var(--primary)}.lesson-score{font-size:.8rem;min-width:4.5em;text-align:right}.lesson-actions{display:flex;gap:6px;align-items:center}.lesson-play{min-width:92px}.lesson-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 45%,transparent);pointer-events:none}.lesson-card{pointer-events:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:380px;padding:18px 20px;background:var(--panel-alt);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 18px 40px -16px #0009}.lesson-card h3{font-size:1.25rem;margin:0}.lesson-card p{margin:0 0 6px;font-size:.86rem}.lesson-result b{font-size:1.4rem;color:var(--primary)}.lesson-stage{display:flex;flex-direction:column;height:100%;min-height:0}.lesson-stage .lesson-bar{padding:8px;gap:8px}.lesson-fall{position:relative;flex:1;min-height:120px;background:color-mix(in srgb,var(--bg) 70%,black)}.lesson-keys{flex:none;background:#000}.song-row{background:none;border:0;cursor:pointer}.lesson-stage .lesson-song{flex:1;max-width:none;min-width:0}.lesson-stage .lesson-speed{flex:1}.lesson-stage .lesson-speed .range{flex:1;width:auto}.lesson-stage .lesson-progress{flex:1 0 100%;order:10}.lesson-stage .lesson-actions{margin-left:auto}.bp-keys.with-song{height:clamp(170px,30vh,300px)}.wordmark{color:inherit;text-decoration:none}.home{--wrap: 1180px;--m: clamp(16px, 3vw, 40px);--gap-section: clamp(96px, 11vw, 150px);height:100%;overflow-y:auto;overflow-x:hidden;background:var(--bg);color:var(--text);font-size:16px;line-height:1.6}.home>*{width:min(var(--wrap),100% - 2 * var(--m));margin-inline:auto}.home h1,.home h2,.home h3{margin:0;font-weight:600;color:var(--text)}.home h2{font-size:clamp(28px,3.1vw,42px);line-height:1.1;letter-spacing:-.025em}.home p{margin:0}.home a:not(.btn){color:var(--primary);text-underline-offset:3px}.home .btn.lg{height:44px;padding:0 18px;font-size:15px;font-weight:600;gap:8px;text-decoration:none}.home .btn.lg svg{width:17px;height:17px;transition:translate .2s var(--ease)}.home .btn.lg:hover svg:last-child{translate:3px 0}.home.js .rv{opacity:0;translate:0 20px;transition:opacity .6s var(--ease),translate .6s var(--ease)}.home.js .rv.in{opacity:1;translate:0 0}.home.js .rv.in+.rv.in{transition-delay:90ms}.h-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,4vw,64px);min-height:min(100%,820px);padding:clamp(40px,6vh,72px) 0}.h-hero-copy{display:flex;flex-direction:column;gap:24px}.h-hero h1{font-size:clamp(38px,3.9vw,56px);line-height:1.02;letter-spacing:-.035em}.h-lede{font-size:clamp(17px,1.35vw,19px);line-height:1.55;color:var(--text-muted);max-width:44ch}.h-actions{display:flex;flex-wrap:wrap;gap:10px}.h-facts{font-size:14px;color:var(--text-faint)}.h-window{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.h-window-bar{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--border);font-size:13px}.h-window-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.h-window-song{padding:2px 8px;border-radius:20px;background:rgb(var(--primary-rgb) / .14);color:var(--primary);font-size:12px;font-weight:600;white-space:nowrap}.h-window-fall{display:block;width:100%;height:clamp(180px,26vh,260px);background:var(--inset)}.h-window-keys{background:#000}.h-window-keys .kb{border-radius:0}.h-window-foot{padding:9px 14px;font-size:13px;color:var(--text-muted);border-top:1px solid var(--border)}.h-section{margin-top:var(--gap-section)}.h-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(32px,5vw,80px)}.h-split-rev{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.h-split-top{align-items:start}.h-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.h-copy>p{font-size:17px;color:var(--text-muted);max-width:46ch}.h-copy-wide>p{max-width:64ch}.h-panel-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.h-families{list-style:none;margin:0;padding:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 6px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.h-families li{min-width:0;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 10px;border-radius:var(--radius)}.h-families li:hover{background:var(--panel-alt)}.h-family-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:var(--text)}.h-family-name b{font-size:14px;font-weight:600}.h-family-name span{max-width:100%;font-size:12.5px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h-family-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.h-songs{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.h-song{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);text-align:left;cursor:pointer}.h-song:last-child{border-bottom:0}.h-song:hover{background:var(--panel-alt)}.h-song-main{flex:1;min-width:0;display:flex;flex-direction:column}.h-song-main b{font-size:14.5px;font-weight:600}.h-song-main span{font-size:12.5px;color:var(--text-faint)}.h-level{padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600;background:var(--panel-alt);color:var(--text-muted)}.h-level.l1{color:var(--success)}.h-level.l2{color:var(--primary)}.h-level.l3{color:var(--danger)}.h-song-best{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--success)}.h-modes{display:flex;flex-direction:column;gap:12px;margin:4px 0 6px}.h-modes div{display:grid;grid-template-columns:64px 1fr;gap:12px}.h-modes dt{font-weight:600;color:var(--primary)}.h-modes dd{margin:0;color:var(--text-muted)}.h-rack{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.h-lcd{padding:3px 8px;border-radius:var(--radius-sm);background:var(--inset);color:var(--primary);font-family:var(--font-mono);font-size:12px}.h-rack-rows{display:flex;flex-direction:column;gap:6px;padding:14px}.h-rack-row{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:10px}.h-rack-name{font-size:12.5px;color:var(--text-muted);text-align:right;white-space:nowrap}.h-steps{display:grid;grid-template-columns:repeat(16,1fr);gap:3px}.h-step{aspect-ratio:1 / 1.25;padding:0;border:0;border-radius:3px;background:var(--panel-alt);cursor:pointer;transition:background .08s}.h-step.alt{background:color-mix(in srgb,var(--panel-alt) 70%,var(--border-strong))}.h-step.on{background:var(--primary)}.h-step.now{box-shadow:inset 0 0 0 2px var(--text)}.h-step:hover:not(.on){background:var(--border-strong)}.h-features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px clamp(24px,3vw,48px);margin-top:clamp(48px,6vw,72px)}.h-features h3{font-size:16px;margin-bottom:4px}.h-features p{font-size:15px;color:var(--text-muted)}.h-themes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.h-theme{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 8px 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s}.h-theme:hover{border-color:var(--border-strong)}.h-theme.on{border-color:var(--primary)}.h-theme-swatch{display:flex;align-items:flex-end;gap:5px;width:100%;height:64px;margin-bottom:8px;padding:10px;border-radius:var(--radius);border:1px solid rgb(128 128 128 / .25)}.h-theme-swatch i{width:22px;height:22px;border-radius:50%}.h-theme-swatch i:first-child{width:40px;border-radius:6px}.h-theme-name{font-size:14px;font-weight:600;padding-left:2px}.h-theme-note{font-size:12.5px;color:var(--text-faint);padding-left:2px}.h-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:clamp(32px,5vw,80px);padding:clamp(32px,4vw,56px);background:var(--panel);border-radius:calc(var(--radius-lg) * 1.5)}.h-install:empty{display:none}.h-dialog{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--panel-alt);border:1px solid var(--border-strong);border-radius:var(--radius-lg);line-height:1.4}.h-dialog h3{font-size:16px}.h-dialog .field{display:flex;flex-direction:column;gap:6px}.h-dialog .input{height:40px;font-size:15px}.h-dialog .seg button{flex:1}.h-dialog-go{height:44px;justify-content:center;font-weight:600}@media(max-width:980px){.h-hero,.h-split,.h-split-rev,.h-start{grid-template-columns:minmax(0,1fr)}.h-hero{min-height:0;padding-top:32px}.h-split-rev .h-copy{order:-1}.h-features{grid-template-columns:1fr 1fr}}@media(max-width:640px){.home{--gap-section: 80px}.h-hero{gap:28px;padding:24px 0 8px}.h-hero h1{font-size:clamp(34px,10vw,44px)}.h-actions .btn{flex:1;justify-content:center}.h-window-song{display:none}.h-window-fall{height:150px}.h-families{grid-template-columns:1fr}.h-rack-rows{padding:10px}.h-rack-row{grid-template-columns:1fr;gap:4px}.h-rack-name{text-align:left}.h-steps{gap:2px}.h-panel-bar .faint{display:none}.h-features{grid-template-columns:1fr;gap:20px}.h-themes{grid-template-columns:1fr 1fr}.h-start{padding:20px}.h-copy .btn.lg{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.home.js .rv{translate:none;transition:opacity .3s}}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-size:18px;font-weight:650;letter-spacing:-.01em;text-decoration:none}.home a.logo{color:var(--text)}.site-foot{margin-top:clamp(96px,10vw,140px);padding:40px 0 28px;background:var(--bg);box-shadow:0 -1px 0 var(--border)}.site-foot-top{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px}.site-foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.site-foot-brand p{max-width:36ch;font-size:14.5px;color:var(--text-muted)}.site-foot-brand p.site-foot-by{margin-top:-6px;font-size:13.5px;color:var(--text-faint)}.home .site-foot-by a{color:var(--text-muted);text-decoration:none}.home .site-foot-by a:hover{color:var(--primary)}.site-foot-brand .btn:empty{display:none}.site-foot-col{display:flex;flex-direction:column;gap:10px}.home .site-foot-col h2{margin:0 0 4px;font-size:14px;font-weight:600;letter-spacing:0;color:var(--text)}.home .site-foot-col a{width:fit-content;font-size:14px;color:var(--text-muted);text-decoration:none;transition:color .15s}.home .site-foot-col a:hover{color:var(--text)}.site-foot-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:40px;font-size:13px;color:var(--text-faint)}.doc-head{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(40px,7vh,72px) 0 clamp(32px,4vw,48px)}.home .doc-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted);text-decoration:none}.home .doc-back:hover{color:var(--text)}.doc-head h1{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.03em}.doc-updated{font-size:14px;color:var(--text-faint)}.doc-summary{max-width:68ch;margin-top:12px;padding:16px 20px;background:var(--panel);border-left:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;font-size:16.5px}.doc-summary b{color:var(--text)}.doc-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}.doc-toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:2px}.doc-toc-title{margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-faint)}.doc-toc button{padding:6px 10px;border:0;border-left:2px solid var(--border);background:none;color:var(--text-muted);font-size:14px;text-align:left;cursor:pointer;transition:color .15s,border-color .15s}.doc-toc button:hover{color:var(--text)}.doc-toc button.on{border-left-color:var(--primary);color:var(--text)}.doc-text{max-width:68ch}.doc-section{padding-bottom:36px;scroll-margin-top:24px}.home .doc-section h2{margin-bottom:12px;font-size:22px;letter-spacing:-.015em}.doc-section p,.doc-section li{font-size:16.5px;line-height:1.7;color:var(--text)}.doc-section p+p,.doc-section ul+p,.doc-section p+ul{margin-top:12px}.doc-section ul{margin:0;padding-left:22px}.doc-section li+li{margin-top:6px}.doc-section li::marker{color:var(--primary)}.nf{display:flex;flex-direction:column;align-items:center;gap:16px;padding:clamp(56px,12vh,120px) 0 0;text-align:center}.nf-code{margin-top:8px;font-size:clamp(64px,9vw,112px);font-weight:700;line-height:.9;letter-spacing:-.05em;color:var(--primary)}.nf h1{font-size:clamp(26px,3vw,38px);letter-spacing:-.025em}.nf-text{max-width:46ch;font-size:17px;color:var(--text-muted)}.nf-text code{padding:1px 6px;border-radius:var(--radius-sm);background:var(--panel);color:var(--text);font-family:var(--font-mono);font-size:.9em;word-break:break-all}.nf-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.nf-keys{width:min(520px,100%);margin-top:32px;background:#000;border-radius:var(--radius);overflow:hidden}.nf-hint{font-size:13.5px;color:var(--text-faint)}@media(max-width:860px){.site-foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}.site-foot-brand{grid-column:1 / -1}.doc-body{grid-template-columns:minmax(0,1fr)}.doc-toc{display:none}}@media(max-width:520px){.site-foot-bottom{flex-direction:column;gap:6px}.nf-actions .btn{flex:1 1 100%;justify-content:center}}.page-loading{flex:1;background:var(--bg)}:root[data-mobile]{--control-h: 34px;--nav-h: 58px;--safe-b: env(safe-area-inset-bottom, 0px)}:root[data-mobile] body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}:root[data-mobile] button{touch-action:manipulation}:root[data-mobile] .input,:root[data-mobile] .select{font-size:16px}:root[data-mobile=portrait] .app{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) calc(var(--nav-h) + var(--safe-b))}:root[data-mobile=portrait] .rail{grid-row:2;flex-direction:row;justify-content:center;gap:0;padding:0 8px var(--safe-b);border-right:0;border-top:1px solid var(--border)}:root[data-mobile=portrait] .wordmark,:root[data-mobile=portrait] .rail>.spacer,:root[data-mobile] .rail-foot{display:none}:root[data-mobile=portrait] .rail-nav{flex:1;flex-direction:row;justify-content:space-around;max-width:440px}:root[data-mobile=portrait] .rail-item{flex:1;width:auto;padding:9px 0 6px}:root[data-mobile] .rail-item.on{background:none;border-color:transparent;color:var(--primary)}:root[data-mobile=portrait] .rail-item.on:before{top:-1px;bottom:auto;left:32%;right:32%;width:auto;height:2px;border-radius:0 0 2px 2px}:root[data-mobile=landscape] .app{grid-template-columns:calc(54px + env(safe-area-inset-left,0px)) minmax(0,1fr)}:root[data-mobile=landscape] .rail{gap:8px;padding:8px 0 8px env(safe-area-inset-left,0px)}:root[data-mobile=landscape] .wordmark span,:root[data-mobile=landscape] .rail-item span{display:none}:root[data-mobile=landscape] .rail-item{width:42px;padding:9px 0}:root[data-mobile=landscape] .rail-item.on:before{left:-6px}:root[data-mobile] .audio-gate{max-width:calc(100% - 24px);font-size:.76rem;text-align:left}.sheet-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;justify-content:flex-end}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;animation:sheet-fade .18s ease}.sheet{position:relative;display:flex;flex-direction:column;width:100%;max-height:84dvh;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--panel);border-top:1px solid var(--border-strong);border-radius:14px 14px 0 0;box-shadow:0 -12px 40px -16px #0009;animation:sheet-up .22s var(--ease)}.sheet.tall{height:88dvh}:root[data-mobile=landscape] .sheet{max-width:560px;max-height:94dvh;margin:0 auto}:root[data-mobile=landscape] .sheet.tall{height:94dvh}.sheet-grip{width:36px;height:4px;margin:8px auto 2px;border-radius:4px;background:var(--border-strong)}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:2px 8px 8px 16px;border-bottom:1px solid var(--border)}.sheet-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}@keyframes sheet-up{0%{transform:translateY(28px);opacity:.6}}@keyframes sheet-fade{0%{opacity:0}}:root[data-mobile] .play.play-m{display:flex;flex-direction:column}:root[data-mobile] .play-m .play-main{flex:1;min-height:0;gap:8px;padding:10px 10px 8px;overflow:hidden}.m-head{display:flex;align-items:stretch;gap:6px}.m-head>.btn,.m-head>.stepper-box{height:auto;min-height:46px}.m-picker{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);color:var(--text);text-align:left;cursor:pointer}.m-picker .eyebrow{font-size:.6rem}.m-picker-name{display:flex;align-items:center;gap:6px;max-width:100%;overflow:hidden;font-size:1rem;font-weight:var(--heading-weight);white-space:nowrap}.m-picker-name svg{flex:none}.m-oct .mono{display:flex;flex-direction:column;align-items:center;min-width:30px;line-height:1.1}.m-oct small{font-family:var(--font-ui);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.m-sus{padding:0 10px}:root[data-mobile] .play-m .stage-panel{flex:1;min-height:0;padding:8px}.browser.in-sheet{flex:1;min-height:0;border:0;background:none}.browser.in-sheet .browser-item{padding:10px;font-size:.95rem}.m-recent{display:flex;gap:6px;padding:10px 12px 0;overflow-x:auto;scrollbar-width:none}.m-recent .btn{flex:none}.m-controls{display:flex;flex-direction:column;gap:18px;padding:14px 16px 20px}.m-controls .ctl-vel{width:auto}.m-knobs{display:flex;align-items:center;gap:24px}.m-controls .take .row{flex-wrap:wrap}.stage.is-mobile{gap:8px;min-height:0}.stage.is-mobile.compact{padding:8px}.stage.is-mobile .stage-bar,.stage.is-mobile .chord-strip{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.stage.is-mobile .stage-bar>*,.stage.is-mobile .chord-strip>*{flex:none}.stage.is-mobile .stage-bar::-webkit-scrollbar,.stage.is-mobile .chord-strip::-webkit-scrollbar,:root[data-mobile] .transport::-webkit-scrollbar,:root[data-mobile] .pr-toolbar::-webkit-scrollbar,:root[data-mobile] .set-nav::-webkit-scrollbar{display:none}.stage.is-mobile .stage-hint{display:none}.stage.is-mobile .chord-strip .btn{min-width:46px;height:34px}.stage.is-mobile .stage-body{justify-content:center;overflow:hidden}.stage.is-mobile .kb-wrap{gap:8px}.stage.is-mobile .kb-mini{height:34px}.stage.is-mobile .kb-case{padding:10px 6px 6px;border-radius:var(--radius)}.stage.is-mobile .wk .k-name{font-size:.72rem}.stage.is-mobile .fretboard{filter:drop-shadow(0 8px 10px rgb(0 0 0 / .3))}.stage.is-mobile .pads{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:none}.stage.is-mobile .pad{aspect-ratio:1;padding:8px 10px}.stage.is-mobile .pad.wide{aspect-ratio:auto}:root[data-mobile=landscape] .stage.is-mobile .pads{grid-template-columns:repeat(6,minmax(0,1fr))}:root[data-mobile=landscape] .stage.is-mobile .pad{aspect-ratio:1.25}.stage.is-mobile .drumkit{max-height:100%}.stage.is-mobile .wind{gap:12px}.stage.is-mobile .wind-notes{grid-auto-flow:row;grid-template-columns:repeat(5,minmax(0,1fr))}:root[data-mobile=landscape] .stage.is-mobile .wind-notes{grid-template-columns:repeat(8,minmax(0,1fr))}.stage.is-mobile .wind-note{height:56px}.stage.is-mobile .wind-note kbd,.stage.is-mobile .pad-meta kbd,.stage.is-mobile .dk-key,.stage.is-mobile .mbar-key,.stage.is-mobile .pan-key{display:none}:root[data-mobile] .transport{flex-wrap:nowrap;gap:8px;padding:6px 8px;overflow-x:auto;scrollbar-width:none}:root[data-mobile] .transport>*{flex:none}:root[data-mobile] .transport>.spacer,:root[data-mobile] .transport .lbl,:root[data-mobile] .transport .lcd-time,:root[data-mobile] .tp-name{display:none}:root[data-mobile] .transport>.menu-wrap>.btn,:root[data-mobile] .transport>.btn.primary{width:var(--control-h);padding:0}:root[data-mobile] .tp-zoom{width:64px}:root[data-mobile] .lcd-cell{padding:0 8px}:root[data-mobile] .arr-count,:root[data-mobile] .th-bottom .select,:root[data-mobile] .th-audio,:root[data-mobile] .th-vol{display:none}:root[data-mobile] .arr-corner{padding:0 6px}:root[data-mobile] .th-main{gap:6px;padding:4px 6px}:root[data-mobile] .th-bottom .btn.sm.icon{width:26px;height:26px}:root[data-mobile] .arr-add-head{padding:0 4px}:root[data-mobile] .arr-add-head .btn{width:32px;padding:0;gap:0;font-size:0}:root[data-mobile] .arr-add-head .btn svg{width:16px;height:16px}:root[data-mobile] .lane-hint{font-size:.72rem}:root[data-mobile] .clip:before,:root[data-mobile] .clip:after{width:12px}:root[data-mobile] .dock-resize{top:-10px;height:20px}:root[data-mobile] .dock-bar{gap:8px;padding:6px 8px}:root[data-mobile] .dock-bar .select{max-width:170px}:root[data-mobile] .dock-hint,:root[data-mobile] .pr-help{display:none}:root[data-mobile] .pr-toolbar{flex-wrap:nowrap;padding:6px 8px;overflow-x:auto;scrollbar-width:none}:root[data-mobile] .pr-toolbar>*{flex:none}:root[data-mobile] .mx-strip,:root[data-mobile] .mx-master,:root[data-mobile] .mx-input{width:96px}:root[data-mobile] .menu:not(.ctx){position:fixed;top:auto;left:10px;right:10px;bottom:calc(var(--nav-h) + var(--safe-b) + 10px);z-index:80}:root[data-mobile=landscape] .menu:not(.ctx){left:auto;bottom:10px;min-width:280px}:root[data-mobile] .menu button{padding:11px 12px;font-size:.95rem}:root[data-mobile] .settings{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}:root[data-mobile] .set-nav{flex-direction:row;gap:6px;padding:8px 10px;overflow-x:auto;scrollbar-width:none;border-right:0;border-bottom:1px solid var(--border)}:root[data-mobile] .set-nav h1,:root[data-mobile] .set-nav-item small{display:none}:root[data-mobile] .set-nav-item{flex:none;padding:7px 13px;border:1px solid var(--border);border-radius:999px;white-space:nowrap}:root[data-mobile] .set-nav-item.on{border-color:var(--primary);background:rgb(var(--primary-rgb) / .12);box-shadow:none}:root[data-mobile] .set-body{gap:24px;padding:16px 14px calc(40px + var(--safe-b))}:root[data-mobile] .set-row{flex-direction:column;align-items:stretch;gap:8px}:root[data-mobile] .set-row-control{min-width:0;justify-content:flex-start;overflow-x:auto}:root[data-mobile] .presets,:root[data-mobile] .font-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-mobile] .color-groups,:root[data-mobile] .skin-fields{grid-template-columns:minmax(0,1fr)}:root[data-mobile] .skin-tabs,:root[data-mobile] .seg{max-width:100%;overflow-x:auto;flex-wrap:nowrap}:root[data-mobile] .seg button{flex:none}:root[data-mobile] .seg.skin-tabs{flex-wrap:wrap;overflow:visible}:root[data-mobile] .skin-preview{padding:10px;overflow:hidden}.m-picker-text{min-width:0;overflow:hidden;text-overflow:ellipsis}.flute-strip{display:block;width:100%;height:auto;max-height:150px}.stage.is-mobile .wind-note span{font-size:1.05rem}:root[data-mobile=portrait] .stage.is-mobile .wind-note{height:64px}.ml-stack{display:flex;flex-direction:column;gap:12px}.m-controls>.stepper,.m-controls>.btn{align-self:flex-start}.m-controls .stepper-box{align-self:flex-start}:root[data-mobile] .dock-bar.has-picker .seg button{gap:0;padding:0 11px;font-size:0}:root[data-mobile] .dock-bar.has-picker .seg button svg{width:16px;height:16px}:root[data-mobile] .dock-bar .select{flex:1;min-width:0}:root[data-mobile] .dock-bar.has-picker .spacer{display:none}
