@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/autocomp/assets/fraunces-vietnamese-500-normal-B-KbxExq.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/autocomp/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/autocomp/assets/fraunces-latin-500-normal-BTR4KCeb.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/autocomp/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(/autocomp/assets/fraunces-vietnamese-700-normal-DxawQjq2.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/autocomp/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(/autocomp/assets/fraunces-latin-ext-700-normal-DuBstVeD.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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/autocomp/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/autocomp/assets/fraunces-latin-700-normal-DTjk5d1Q.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/autocomp/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/autocomp/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/autocomp/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/autocomp/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/autocomp/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/autocomp/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/autocomp/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/autocomp/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/autocomp/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/autocomp/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/autocomp/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/autocomp/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/autocomp/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/autocomp/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.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(/autocomp/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/autocomp/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(/autocomp/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/autocomp/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(/autocomp/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/autocomp/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(/autocomp/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/autocomp/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(/autocomp/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/autocomp/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-deep: #071015;--bg: #0b1c24;--bg-elevated: #122a34;--bg-chart: #e8e0d0;--bg-chart-ink: #1a2428;--bg-bar: rgba(18, 42, 52, .72);--text: #e7f0f3;--text-muted: #8aa3ad;--text-chart: #1a2428;--text-chart-muted: #5a6870;--accent: #c9852a;--accent-soft: #e0a84a;--accent-glow: rgba(201, 133, 42, .35);--teal: #2f8f8a;--danger: #c45c5c;--ok: #4a9b6d;--border: rgba(231, 240, 243, .08);--border-strong: rgba(231, 240, 243, .16);--shadow: 0 18px 48px rgba(0, 0, 0, .45);--font-display: "Fraunces", "Palatino Linotype", Palatino, serif;--font-ui: "IBM Plex Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius-sm: 6px;--radius: 12px;--radius-lg: 20px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--transport-h: 4.5rem;--header-h: 3.5rem;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,rgba(47,143,138,.18),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(201,133,42,.12),transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);color:var(--text);font-family:var(--font-ui);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app{display:grid;grid-template-rows:var(--header-h) 1fr var(--transport-h);min-height:100dvh;max-width:1100px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:baseline;gap:var(--space-3);min-width:0}.brand__name{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1}.brand__tag{color:var(--text-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__meta{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem}.main{display:grid;gap:var(--space-5);padding:var(--space-5);align-content:start}.panel{background:var(--bg-bar);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow);animation:rise-in .48s cubic-bezier(.22,1,.36,1) both}.panel:nth-child(2){animation-delay:80ms}.panel:nth-child(3){animation-delay:.14s}.library-shelves{display:flex;flex-wrap:wrap;gap:.4rem;margin:var(--space-4) 0 0}.library-shelf{min-height:2.25rem;padding:.35rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.library-shelf:hover{border-color:var(--accent);color:var(--text)}.library-shelf--active{border-color:var(--teal);background:#2f8f8a24;color:var(--text);box-shadow:inset 0 0 0 1px var(--teal)}.library-controls{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--space-3);margin:var(--space-3) 0 var(--space-3);align-items:end}.library-shuffle{min-height:2.5rem;padding:0 .95rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#2f8f8a1f;color:var(--text);font-family:var(--font-mono);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.library-shuffle:hover{border-color:var(--teal);background:#2f8f8a38}.library-field{display:grid;gap:.35rem;min-width:0}.library-field__label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.library-search,.library-tag{min-height:2.5rem;width:100%;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);font-family:var(--font-ui);font-size:.95rem}.library-search:focus,.library-tag:focus{outline:2px solid var(--teal);outline-offset:2px}.library-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.library-item{width:100%;display:grid;gap:.2rem;text-align:left;padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:inherit;min-height:3.25rem}.library-item:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.library-item--active{border-color:var(--teal);background:#2f8f8a1f;box-shadow:inset 0 0 0 1px var(--teal)}.library-item__title{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.library-item__meta{color:var(--text-muted);font-size:.82rem}.library-empty{margin:var(--space-3) 0 0;color:var(--text-muted);font-family:var(--font-mono);font-size:.85rem}.panel__subtitle{margin:var(--space-5) 0 var(--space-3);font-family:var(--font-display);font-size:1.05rem;font-weight:500}.saved-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:stretch}.saved-item__delete{min-height:3.25rem;align-self:stretch}.chart-toolbar__file{cursor:pointer;margin:0}.chart-toolbar__file:focus-within{outline:2px solid var(--teal);outline-offset:2px}.panel__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:1.25rem;font-weight:500}.panel__copy{margin:0;color:var(--text-muted);max-width:42rem}.chart-stage{background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 40%),var(--bg-chart);color:var(--text-chart);border-radius:var(--radius);padding:var(--space-5);min-height:14rem;position:relative;overflow:hidden}.chart-stage:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(26,36,40,.06) 28px);pointer-events:none}.chart-stage__label{position:relative;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-chart-muted);margin-bottom:var(--space-3)}.chart-stage__title{position:relative;font-family:var(--font-display);font-size:1.5rem;margin:0 0 var(--space-3)}.chart-stage__title-input{position:relative;width:100%;max-width:28rem;margin:0 0 var(--space-4);padding:.15rem .35rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-chart);font-family:var(--font-display);font-size:1.5rem;font-weight:700}.chart-stage__title-input:hover,.chart-stage__title-input:focus{border-color:#1a242840;background:#ffffff59}.chart-toolbar{position:relative;display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.chart-toolbar .btn,.chart-toolbar__file{min-height:2.25rem;padding:0 var(--space-3);background:#ffffff73;color:var(--text-chart);border:1px solid rgba(26,36,40,.2);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.chart-toolbar .btn:hover,.chart-toolbar__file:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.style-picker{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:auto;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-chart-muted, rgba(26, 36, 40, .65))}.variation-toggles{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-chart-muted, rgba(26, 36, 40, .65))}.generate-controls{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.transpose-key{min-width:2rem;font-family:var(--font-mono, var(--font-ui));font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-chart)}.variation-toggle{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:.2rem 0;cursor:pointer;-webkit-user-select:none;user-select:none}.variation-toggle input{width:.95rem;height:.95rem;accent-color:var(--teal);cursor:pointer}.style-picker__select{min-height:2.25rem;padding:0 var(--space-3);border:1.5px solid rgba(26,36,40,.2);border-radius:0;background:#ffffff8c;color:var(--text-chart);font-family:var(--font-ui);font-size:.95rem;text-transform:none;letter-spacing:0;cursor:pointer}.style-picker__select:focus{outline:2px solid var(--teal);outline-offset:2px}.style-picker--swing{margin-left:0;gap:var(--space-2)}.style-picker__range{width:6.5rem;min-height:2.25rem;accent-color:var(--teal);cursor:pointer}.style-picker__value{min-width:1.75rem;font-family:var(--font-mono, var(--font-ui));font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;color:var(--text-chart)}.voice-mix{gap:var(--space-2) var(--space-3)}.voice-mix__row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.voice-mix__level{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;cursor:pointer}.voice-mix__range{width:5rem}.chart-error{position:relative;min-height:1.25rem;margin:0 0 var(--space-3);color:#8a2f2f;font-family:var(--font-mono);font-size:.8rem}.form-editor__input{min-width:6.5rem;max-width:12rem;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.bar--section-start{position:relative}.bar__section{position:absolute;top:.2rem;right:.35rem;z-index:1;font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.06em;color:var(--text-chart);pointer-events:none}.bars{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1.5px solid var(--bg-chart-ink)}.bar{min-height:4.5rem;border-right:1.5px solid var(--bg-chart-ink);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;text-align:left;color:inherit;background:transparent;border-radius:0;transition:background .14s ease,box-shadow .14s ease}button.bar:not(.bar--selected):hover{background:#c9852a1a;border-color:inherit;box-shadow:none}button.bar.bar--selected:hover{background:#2f8f8a33;border-color:inherit;box-shadow:inset 0 0 0 2px var(--teal)}.bar--selected{background:#2f8f8a24;box-shadow:inset 0 0 0 2px var(--teal)}.bar--editing{background:#ffffff8c}.bar--play-from{position:relative}.bar--play-from:before{content:"";position:absolute;top:.35rem;left:.2rem;width:0;height:0;border-style:solid;border-width:.4rem 0 .4rem .65rem;border-color:transparent transparent transparent var(--accent, #c9852a);opacity:.9;pointer-events:none;animation:play-from-pulse 1.6s ease-in-out infinite}.bar--playhead{position:relative;background:#c9852a2e;box-shadow:inset 0 0 0 2px var(--accent, #c9852a)}.bar--playhead:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, #c9852a);pointer-events:none}.bar--playhead.bar--selected{background:#2f8f8a29;box-shadow:inset 0 0 0 2px var(--teal),inset 0 -3px 0 0 var(--accent, #c9852a)}button.bar.bar--playhead:not(.bar--selected):hover{background:#c9852a42;box-shadow:inset 0 0 0 2px var(--accent, #c9852a)}button.bar.bar--playhead.bar--selected:hover{background:#2f8f8a38;box-shadow:inset 0 0 0 2px var(--teal),inset 0 -3px 0 0 var(--accent, #c9852a)}@keyframes play-from-pulse{0%,to{opacity:.55;transform:translate(0)}50%{opacity:1;transform:translate(2px)}}@media(prefers-reduced-motion:reduce){.bar{transition:none}.bar--play-from:before{animation:none}}.bar:nth-child(4n){border-right:none}.bar__chord{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.01em}.bar__input{width:100%;border:none;background:transparent;color:var(--text-chart);font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.01em;padding:0}.bar__input:focus{outline:none}.bar__beat{font-family:var(--font-mono);font-size:.7rem;color:var(--text-chart-muted)}.transport{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);border-top:1px solid var(--border);background:#071015b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.transport__controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);max-width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elevated);transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(180deg,var(--accent-soft),var(--accent));color:#1a1208;border-color:transparent;font-weight:600;min-width:6.5rem}.btn--primary[aria-pressed=true]{background:linear-gradient(180deg,#d96b6b,var(--danger));color:#1a1208}.transport__readout{display:flex;gap:var(--space-5);font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted)}.transport__readout strong{color:var(--text);font-weight:500}.status-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--text-muted);display:inline-block;margin-right:.4rem;vertical-align:middle;transition:background .2s ease,box-shadow .2s ease}.status-dot--live{background:var(--ok);box-shadow:0 0 0 4px #4a9b6d40;animation:pulse 1.2s ease-in-out infinite}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.panel,.status-dot--live{animation:none}}@media(max-width:720px){.app{grid-template-rows:var(--header-h) 1fr calc(var(--transport-h) + 1.5rem)}.brand__tag{display:none}.main{padding:var(--space-4)}.library-controls{grid-template-columns:1fr}.bars{grid-template-columns:repeat(2,minmax(0,1fr))}.bar:nth-child(4n){border-right:1.5px solid var(--bg-chart-ink)}.bar:nth-child(2n){border-right:none}.transport{flex-direction:column;justify-content:center;padding:var(--space-3) var(--space-4);min-height:calc(var(--transport-h) + 1.5rem)}.transport__controls{justify-content:center}.transport__controls .btn{min-height:2.5rem;padding:0 var(--space-3)}.transport__controls .btn--primary{min-width:5.25rem}.transport__readout{gap:var(--space-3);font-size:.75rem}}
