:root{--font:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--bg:#fafaf8;--surface:#fff;--surface-2:#f3f1ec;--border:#e2ded5;--text:#1c1b1a;--muted:#5d5a54;--accent:#3a2e8f;--accent-ink:#fff;--focus:#2d6fd6;--error:#b3261e;--board:#f1eee7;--board-edge:#d6d2c8;--fret:#c2bdb2;--string:#6e6a63;--nut:#2a2826;--inlay:#dcd7cc;--fret-num:#9a968d;--key-white:var(--surface);--deg-1:#3a2e8f;--deg-1-ink:#fff;--deg-1-edge:#1f175c;--deg-2:#0e7c7e;--deg-2-ink:#fff;--deg-2-edge:#075253;--deg-3:#cf2440;--deg-3-ink:#fff;--deg-3-edge:#8e1226;--deg-4:#f2a516;--deg-4-ink:#2a1a00;--deg-4-edge:#a86a04;--deg-5:#2f8a3e;--deg-5-ink:#fff;--deg-5-edge:#1b5e27;--deg-6:#2d62c8;--deg-6-ink:#fff;--deg-6-edge:#1a3f87;--deg-7:#c2187f;--deg-7-ink:#fff;--deg-7-edge:#7e0c52;--cof-major:#f3f1ec;--cof-minor:#e9e6de;--cof-dim:#dfdbd2;--cof-key:#e4e0f7;--cof-key-strong:#cfc8f2;--play:#c6f01c;--play-ink:#141a05;--radius:12px;--shadow:0 1px 2px #0000000d, 0 2px 8px #0000000a}:root[data-theme=dark]{--play:#d4ff2e;--play-ink:#141a05;--bg:#121214;--surface:#1a191d;--surface-2:#232227;--border:#33313a;--text:#eeebe6;--muted:#a9a4ad;--accent:#8f83f5;--accent-ink:#121214;--focus:#7fb0ff;--error:#ff8a80;--board:#1f1e22;--board-edge:#34323a;--fret:#4a4750;--string:#a29da6;--nut:#e6e1d6;--inlay:#2f2d34;--fret-num:#7d7883;--key-white:#e3dccb;--deg-1:#7d6ff2;--deg-1-ink:#fff;--deg-1-edge:#b4aafa;--deg-2:#2bb3b5;--deg-2-ink:#062425;--deg-2-edge:#86dcdd;--deg-3:#e5435a;--deg-3-ink:#fff;--deg-3-edge:#f58a99;--deg-4:#f5b23a;--deg-4-ink:#2a1a00;--deg-4-edge:#fad08a;--deg-5:#43b95a;--deg-5-ink:#08230e;--deg-5-edge:#8bdb9a;--deg-6:#5b8df0;--deg-6-ink:#0b1a38;--deg-6-edge:#a6c2f8;--deg-7:#de4aa6;--deg-7-ink:#fff;--deg-7-edge:#f094cc;--cof-major:#232227;--cof-minor:#1d1c21;--cof-dim:#18171b;--cof-key:#2e2a4d;--cof-key-strong:#3e3870;--shadow:none}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(1.75rem,3vw + 1rem,2.75rem)}h2{font-size:1.15rem}h3{margin-top:18px;font-size:.95rem}p{margin:0}a{color:var(--accent)}code{font-family:var(--mono);font-size:.9em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.85rem}.tabular{font-variant-numeric:tabular-nums;font-family:var(--mono)}.splash{min-height:100vh;color:var(--muted);place-items:center;display:grid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{font:inherit;color:inherit}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}.btn-ghost{background:0 0;border-color:#0000}.btn-small{min-height:36px;padding:0 12px;font-size:.9rem}.btn-google{background:var(--surface);width:100%}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.link-btn{color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:10px;min-height:44px;padding:0 12px}input[type=range]{min-height:auto;accent-color:var(--accent);padding:0}select{padding-right:32px}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;min-width:40px;min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.segmented button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}:root[data-theme=dark] .segmented button[aria-checked=true]{background:var(--border)}.topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px clamp(16px,3vw,32px);display:flex}.topbar-spacer{flex:1 1 0;min-width:0}.topbar-right{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.brand{color:var(--text);align-items:center;gap:10px;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.key-picker{flex-wrap:wrap}.key-picker button{min-width:38px;min-height:40px;color:var(--text);padding:0 6px;font-weight:600}.key-picker button[aria-checked=true],:root[data-theme=dark] .key-picker button[aria-checked=true]{background:var(--accent);color:var(--accent-ink);box-shadow:none}.scale-picker{max-width:210px;min-height:40px}.view-switch button{min-height:40px;color:var(--text);gap:6px;padding:0 10px}.tuner-link{min-height:40px;color:var(--text);text-decoration:none}.topbar.phone .tuner-link{background:0 0;border-color:#0000;width:44px;min-height:44px;padding:0}.topbar.phone .tuner-link span{display:none}.view-switch button[aria-checked=false]{color:var(--muted)}@media (width<=900px){.topbar:not(.phone) .brand span{display:none}}.dev-banner{white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb, var(--deg-4) 18%, var(--surface));border-bottom:1px solid var(--border);padding:3px clamp(16px,3vw,32px);font-size:.8rem;overflow:hidden}.main{flex-direction:column;gap:16px;padding:16px clamp(16px,3vw,32px) 48px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.menu-pop{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;min-width:220px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #0000002e}.user-menu,.jam-settings{position:relative}.user-menu summary,.jam-settings summary{cursor:pointer;list-style:none}.user-menu summary::-webkit-details-marker{display:none}.jam-settings summary::-webkit-details-marker{display:none}.user-menu summary{min-height:44px;color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.user-menu summary:hover,.user-menu[open] summary{background:var(--surface-2);color:var(--text)}.avatar{background:var(--deg-1);width:32px;height:32px;color:var(--deg-1-ink);object-fit:cover;border-radius:50%;place-items:center;font-size:.9rem;font-weight:700;display:grid}.user-name{overflow-wrap:anywhere;font-weight:600}.user-email{overflow-wrap:anywhere;margin-top:-6px}.scale-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 32px;display:grid}.scale-head-main{min-width:0}.scale-head h1{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.5rem,1.5vw + 1rem,2.25rem);overflow:hidden}.scale-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:64ch;min-height:2.9em;margin-top:4px;line-height:1.45;display:-webkit-box;overflow:hidden}.jump-row{align-items:center;gap:8px;min-width:0;min-height:32px;margin-top:6px;display:flex}.jump-row>.small{white-space:nowrap;flex:none}.pill{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:0 auto;min-width:0;min-height:32px;padding:0 12px;font-size:.85rem;font-weight:500;overflow:hidden}.pill:hover{background:var(--surface-2)}.neck-card{flex-direction:column;gap:6px;padding:10px 8px 6px;display:flex}.neck-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:0 8px;display:flex}.neck-status{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:220px;overflow:hidden}.neck-status strong{color:var(--text)}.neck-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.neck-tools .segmented button{min-height:34px;padding:0 10px;font-size:.85rem}.neck-tools .btn,.neck-tools select,.neck-tools .palette-picker summary{min-height:40px;font-size:.9rem}.neck-tools .palette-menu{left:auto;right:0}@media (width<=480px){.neck-tools,.neck-tools .palette-picker{min-width:0}.neck-tools .palette-picker{flex:100%}.neck-tools .palette-picker summary{width:100%}.neck-tools .palette-menu{width:auto;left:0;right:0}}.strings-toggle{width:9.5rem}.neck-select{max-width:240px}.player-bar{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 16px;display:flex}.play-btn{background:var(--accent);width:48px;height:48px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.play-btn.playing{background:var(--play);color:var(--play-ink);box-shadow:inset 0 0 0 2px var(--text)}.play-btn:disabled{opacity:.5;cursor:not-allowed}.np-wrap{flex:200px;align-items:center;gap:12px;min-width:0;display:flex}.now-playing{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.np-source{flex:none}.player-bar .np-source button{min-height:30px;padding:0 8px;font-size:.78rem}.np-title,.np-detail{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.np-error{color:var(--error)}.player-bar .segmented button{min-height:34px;padding:0 10px;font-size:.85rem}.pb-tempo{align-items:center;gap:8px;display:inline-flex}.pb-tempo input[type=range]{width:104px}.pb-tempo .tabular{width:4.6em}.loop-btn[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.pb-sound{align-items:center;gap:8px;display:inline-flex}.pb-sound select{max-width:170px;min-height:36px}.pb-jam{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.switch{cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 8px;font-weight:500;display:inline-flex}.switch:hover{background:var(--surface-2)}.switch-track{background:var(--border);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s;position:relative}.switch-track:after{content:"";background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch[aria-checked=true] .switch-track{background:var(--accent)}.switch[aria-checked=true] .switch-track:after{transform:translate(16px)}:root[data-theme=dark] .switch-track:after{background:var(--muted)}@media (prefers-reduced-motion:reduce){.switch-track,.switch-track:after{transition:none}}.switch.large{text-align:left;align-self:flex-start;gap:12px;min-height:44px;margin:0 -8px}.switch.large .switch-track{border:1px solid var(--border);background:var(--surface-2);width:46px;height:28px}.switch.large .switch-track:after{width:20px;height:20px;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.large[aria-checked=true] .switch-track{background:var(--accent);border-color:#0000}.switch.large[aria-checked=true] .switch-track:after{background:var(--accent-ink);transform:translate(18px)}.jam-settings summary{width:40px;height:40px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.jam-settings summary:hover,.jam-settings[open] summary{background:var(--surface-2);color:var(--text)}.jam-pop{min-width:240px}.jam-pop .control-label{margin:0}.jam-pop input{width:18px;height:18px;min-height:0;margin:0}.workspace{padding:0}.ws-tabs{border-bottom:1px solid var(--border);gap:4px;padding:4px 10px 0;display:flex;overflow-x:auto}.ws-tabs [role=tab]{min-height:46px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 16px;font-weight:600}.ws-tabs [role=tab]:hover{color:var(--text)}.ws-tabs [role=tab][aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.ws-panel{padding:18px}.ws-panel[hidden]{display:none}.chords-tab{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:28px;display:grid}@media (width<=960px){.chords-tab{grid-template-columns:minmax(0,1fr)}}.chords-circle .cof{max-width:360px}.chords-circle p{margin-top:8px}.chords-side{flex-direction:column;gap:22px;min-width:0;display:flex}.chord-panel{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:14px 16px}.over-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.over-card{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:12px 14px;display:flex}.over-card:hover{border-color:var(--accent);background:var(--surface-2)}:root{--tabbar-h:68px;--mini-h:60px}@property --chrome-h{syntax:"<length>";inherits:true;initial-value:0}:root{--chrome-h:calc(var(--tabbar-h) + var(--mini-h) + 8px + env(safe-area-inset-bottom))}.app.phone .main{padding:8px 12px var(--chrome-h);gap:8px}.app.phone:not(.view-neck) .neck-card,.app.phone:not(.view-neck) .legend-chips,.workspace[hidden],.app[hidden],.app.phone .ws-tabs{display:none}.app.phone .ws-panel{padding:12px}.topbar.phone{flex-wrap:nowrap;gap:6px;padding:6px 10px}.topbar.phone .brand span{display:none}.context-pill{border:1px solid var(--border);background:var(--surface-2);min-width:0;min-height:44px;color:var(--text);cursor:pointer;border-radius:999px;flex:auto;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.context-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.legend-chips{gap:4px;margin:0;padding:0;list-style:none;display:flex}.legend-chips li{border:1px solid var(--border);background:var(--surface);min-width:0;min-height:30px;font-family:var(--mono);border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;gap:4px;font-size:.8rem;font-weight:600;display:flex}.legend-chips .legend-dot{border-width:2px;width:14px;height:14px}.app.phone .neck-card{padding:4px 2px}.board-scroll.compact{overflow:visible}.board-stack.compact,.fretboard.vertical{min-width:0}.chords-neck{margin:-4px -4px 4px}.player-bar.mini{z-index:25;left:0;right:0;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));height:var(--mini-h);border-width:1px 0 0;border-radius:0;flex-wrap:nowrap;gap:10px;padding:6px 12px;position:fixed;box-shadow:0 -4px 16px #00000014}.player-bar.mini .play-btn{width:44px;height:44px}.player-bar.mini .np-wrap{flex:auto}.pb-bpm{color:var(--muted);flex:none}.tabbar{z-index:25;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:flex}.tabbar button[aria-current=page]{color:var(--accent)}.tabbar button[aria-current=page] svg{stroke-width:2.6px}.sheet{border:1px solid var(--border);background:var(--surface);width:100%;max-width:100%;max-height:88dvh;color:var(--text);border-bottom:0;border-radius:18px 18px 0 0;margin:auto 0 0;padding:0;box-shadow:0 -12px 40px #0000004d}.sheet::backdrop{background:#00000073}.sheet-body{max-height:88dvh;padding:12px 16px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:14px;display:flex;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{font-size:1.05rem}.sheet .key-grid{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.sheet .scale-picker{width:100%;max-width:none}.jump-row.wrap{flex-wrap:wrap;overflow:visible}.sheet-section{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:10px;padding-top:12px;display:flex}.sheet-section>select,.sheet-section .palette-picker,.sheet-section .palette-picker summary,.sheet-section .palette-menu{width:100%}.pb-controls{flex-direction:column;align-items:flex-start;gap:12px;width:100%;display:flex}.pb-controls .pb-tempo{width:100%}.pb-controls .pb-tempo input[type=range]{flex:1;width:auto}.pb-controls .pb-jam{flex-direction:column;align-items:flex-start;gap:0;margin-left:0}.pb-controls .pb-jam label{min-height:44px;padding:0 8px}.pb-controls .pb-jam input{width:22px;height:22px;min-height:0;margin:0}.sheet-row{align-items:center;gap:12px;display:flex}.account-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.btn-block{width:100%}.app.phone .segmented button,.app.phone .btn-small,.app.phone .chat-composer .btn,.app.phone select,.app.phone input[type=search],.app.phone .ex-filters .segmented button{min-height:44px}.app.phone .brand{justify-content:center;min-width:44px;min-height:44px}.app.phone .icon-btn{width:44px;height:44px}.app.phone .switch,.app.phone .pill,.app.phone .ex-filters label{min-height:44px}.app.phone input[type=range]{appearance:none;cursor:pointer;background:0 0;height:44px;margin:0}.app.phone input[type=range]::-webkit-slider-runnable-track{background:var(--border);border-radius:2px;height:4px}.app.phone input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:0;border-radius:50%;width:28px;height:28px;margin-top:-12px}.app.phone input[type=range]::-moz-range-track{background:var(--border);border-radius:2px;height:4px}.app.phone input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:28px;height:28px}.app.phone .chip{min-height:48px}.app.phone .chip.ex-style{min-height:44px}.app.phone .chip-x:before{content:"";position:absolute;inset:-10px}.app.phone .ex-levels{display:none}.app.phone .ex-level-select{display:inline-flex}.app.phone .ex-filters .segmented{flex-wrap:wrap}.app.phone .chords-circle .cof{max-width:280px}.app.phone .ws-panel .ex-list{max-height:none}.app.phone.view-neck .chord-note{display:none}.control{flex-direction:column;gap:6px;display:flex}.control-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600}.inline-control{align-items:center;gap:8px;display:inline-flex}.inline-control select{min-height:36px}.legend{grid-template-rows:repeat(2,42px);grid-template-columns:repeat(4,140px);gap:8px 12px;margin:0;padding:0;list-style:none;display:grid}.legend li{align-items:center;gap:8px;min-width:0;display:flex}.legend-dot{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.legend-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.legend-text strong{font-family:var(--mono)}.legend-text span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=960px){.scale-head{grid-template-columns:minmax(0,1fr)}.legend{grid-template-columns:repeat(4,minmax(0,1fr))}}.deg-1{--c:var(--note-1,var(--deg-1));--ink:var(--note-1-ink,var(--deg-1-ink));--edge:var(--note-1-edge,var(--deg-1-edge))}.deg-2{--c:var(--note-2,var(--deg-2));--ink:var(--note-2-ink,var(--deg-2-ink));--edge:var(--note-2-edge,var(--deg-2-edge))}.deg-3{--c:var(--note-3,var(--deg-3));--ink:var(--note-3-ink,var(--deg-3-ink));--edge:var(--note-3-edge,var(--deg-3-edge))}.deg-4{--c:var(--note-4,var(--deg-4));--ink:var(--note-4-ink,var(--deg-4-ink));--edge:var(--note-4-edge,var(--deg-4-edge))}.deg-5{--c:var(--note-5,var(--deg-5));--ink:var(--note-5-ink,var(--deg-5-ink));--edge:var(--note-5-edge,var(--deg-5-edge))}.deg-6{--c:var(--note-6,var(--deg-6));--ink:var(--note-6-ink,var(--deg-6-ink));--edge:var(--note-6-edge,var(--deg-6-edge))}.deg-7{--c:var(--note-7,var(--deg-7));--ink:var(--note-7-ink,var(--deg-7-ink));--edge:var(--note-7-edge,var(--deg-7-edge))}.legend-dot{background:var(--c);color:var(--ink);border:2px solid var(--edge)}.palette-picker{position:relative}.palette-picker summary{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:10px;width:15rem;min-height:44px;padding:0 12px;font-weight:500;list-style:none;display:inline-flex}.palette-picker summary::-webkit-details-marker{display:none}.palette-picker summary:after{content:"▾";color:var(--muted);font-size:.8rem}.palette-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.palette-picker summary:hover{background:var(--surface-2)}.palette-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;width:min(380px,100vw - 32px);max-height:min(70vh,560px);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 10px 30px #0000002e}.palette-option{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.palette-option:hover{background:var(--surface-2)}.palette-option[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.palette-text{flex-direction:column;gap:2px;line-height:1.25;display:flex}.pal-swatches{flex:none;gap:3px;display:inline-flex}.pal-dot{background:var(--c);border:2px solid var(--edge);border-radius:50%;width:16px;height:16px}.board-scroll{overflow-x:auto}.fretboard{width:100%;min-width:960px;height:auto;font-family:var(--font);display:block}.board-note{min-height:1.4em;padding:0 12px;line-height:1.4}.fb-board{fill:var(--board);stroke:var(--board-edge)}.fb-fret{stroke:var(--fret);stroke-width:2px}.fb-nut{fill:var(--nut)}.fb-string{stroke:var(--string)}.fb-inlay{fill:var(--inlay)}.fb-num text{fill:var(--fret-num);font-family:var(--mono);font-size:13px}.fb-num.strong text{fill:var(--text);font-weight:600}.fb-string-label{fill:var(--text);font-size:17px;font-weight:700}.fb-dot circle{fill:var(--c);stroke:var(--edge);stroke-width:2px}.fb-dot text{fill:var(--ink);pointer-events:none;font-weight:700}.fb-dot .ring{fill:none;stroke:var(--c);stroke-width:2.5px}.fb-dot.dim{opacity:.2}.fb-dot.chord circle:not(.ring){stroke:var(--text);stroke-width:3px}.fb-dot.outside circle{fill:var(--surface);stroke:var(--text);stroke-width:2px;stroke-dasharray:4 3}.fb-dot.outside text{fill:var(--text)}.cof{width:100%;max-width:calc(100vh - 32px);height:auto;font-family:var(--font);margin:0 auto;display:block}.cof-seg{cursor:pointer;outline:none}.cof-seg path{stroke:var(--surface);stroke-width:2px;transition:fill .12s}.cof-seg.major path{fill:var(--cof-major)}.cof-seg.minor path{fill:var(--cof-minor)}.cof-seg.diminished path{fill:var(--cof-dim)}.cof-seg.in-key path{fill:var(--cof-key)}.cof-seg.tonic path{fill:var(--cof-key-strong)}.cof-seg:hover path{fill:color-mix(in srgb, var(--accent) 22%, var(--surface))}.cof-seg.selected path{fill:var(--accent)}.cof-seg:focus-visible path{stroke:var(--focus);stroke-width:3px}.cof-seg text{fill:var(--text);pointer-events:none;font-weight:600}.cof-seg .numeral{fill:var(--muted);font-family:var(--mono);font-weight:500}.cof-seg .alt{fill:var(--muted);font-weight:500}.cof-seg.selected text{fill:var(--accent-ink)}.cof-seg .in-prog{fill:var(--deg-7)}.cof-wedge{fill:none;stroke:var(--accent);stroke-width:2.5px;pointer-events:none}.cof-center circle{fill:var(--surface);stroke:var(--border)}.cof-center text{fill:var(--text)}.cof-center text+text{fill:var(--muted)}.chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:56px;min-height:52px;padding:4px 10px;line-height:1.2;display:inline-flex}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.chip[aria-pressed=true] .numeral{color:inherit}.chip .numeral{font-family:var(--mono);color:var(--muted);font-size:.8rem}.chip span:last-child{font-weight:600}.diatonic-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chord-panel h2{font-size:1.5rem}.chord-panel .panel-head{flex-wrap:nowrap}.tones{gap:16px;margin:12px 0;padding:0;list-style:none;display:flex}.tones li{flex-direction:column;align-items:center;gap:4px;display:flex}.tone-dot{border:3px solid var(--text);background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.suggestions{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.prog-chips{flex-wrap:wrap;gap:8px;margin:8px 0 12px;padding:0;list-style:none;display:flex}.prog-chips li{position:relative}.prog-chips li.playing .chip{background:var(--play);color:var(--play-ink);border-color:#0000}.prog-chips li.playing .numeral{color:inherit}.chip-progress{pointer-events:none;background:var(--play-ink);opacity:.55;transform-origin:0;border-radius:2px;height:3px;animation:linear forwards chip-progress;position:absolute;bottom:4px;left:6px;right:6px}@keyframes chip-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.chip-progress{opacity:.3;animation:none;transform:scaleX(1)}}.prog-preset select{max-width:min(100%,280px)}.chip-x{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;top:-8px;right:-8px}.chip-x:hover{color:var(--text)}.add-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.chat-card{flex-direction:column;gap:12px;display:flex}.chat-nokey{border:1px dashed var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.chat-card .panel-head{margin-bottom:0}.chat-status{margin:-4px 0 0}.chat-status .tabular{font-size:.8rem}.chat-settings .chat-key{flex-direction:column;grid-column:1/-1;gap:6px;min-width:0;display:flex}.chat-key-saved{flex-wrap:wrap;align-items:center;gap:4px;min-height:44px;display:flex}.chat-key-saved code{font-family:var(--mono);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.chat-settings{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;padding:12px;display:grid}.chat-settings label{flex-direction:column;gap:6px;min-width:0;display:flex}.chat-settings .control-label a{text-transform:none;letter-spacing:0}.chat-settings-foot{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 12px;display:flex}.chat-settings-foot .inline-control{flex-direction:row}.chat-settings-foot input[type=checkbox]{width:18px;height:18px;min-height:0}.chat-settings-foot .hint{flex-basis:100%;margin:0}.chat-thread{overscroll-behavior:contain;flex-direction:column;gap:10px;min-height:72px;max-height:min(40vh,420px);padding:4px 2px;display:flex;overflow-y:auto}.chat-starters{flex-wrap:wrap;gap:8px;margin:auto 0;display:flex}.chat-starter{text-align:left;height:auto;color:var(--muted);padding:8px 12px}.chat-msg{overflow-wrap:anywhere;border-radius:14px;max-width:min(78ch,92%);padding:10px 14px;line-height:1.5}.chat-msg.user{background:var(--accent);color:var(--accent-ink);white-space:pre-wrap;border-bottom-right-radius:4px;align-self:flex-end}.chat-msg.assistant{background:var(--surface-2);border-bottom-left-radius:4px;align-self:flex-start}.md p,.md ul,.md ol{margin:0}.md>*+*{margin-top:8px}.md ul,.md ol{padding-left:20px}.md code{font-family:var(--mono);background:var(--surface);border-radius:4px;padding:1px 4px;font-size:.9em}.chat-typing{background:radial-gradient(circle, var(--muted) 2px, transparent 2.5px) 0 50% / 9px 100% repeat-x;width:28px;height:10px;animation:1s steps(3,end) infinite chat-typing;display:inline-block}@keyframes chat-typing{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.chat-typing{animation:none}}.chat-error{color:var(--error);align-self:flex-start;margin:0;font-size:.9rem}.chat-notice{align-self:flex-start;margin:0;font-style:italic}.chat-action{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:8px 12px;max-width:100%;padding:10px 14px;display:flex}.chat-progression{flex-direction:column;align-items:stretch}.chat-progression-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.chat-progression .prog-chips,.chat-progression p{margin:0}.chat-composer{gap:8px;display:flex}.chat-composer input{flex:1;min-width:0}@media (width<=760px){.chat-settings{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.chat-thread{max-height:50vh}.chat-msg{max-width:100%}}input[type=range]{min-height:0;accent-color:var(--accent);background:0 0;border:0;padding:0}.tempo input[type=range]{width:170px}.amp-dialog{border:1px solid var(--border);background:var(--surface);width:min(540px,100% - 32px);max-height:calc(100vh - 32px);color:var(--text);border-radius:16px;padding:0;box-shadow:0 12px 48px #00000047}.amp-dialog::backdrop{background:#00000073}.amp-body{flex-direction:column;gap:14px;padding:20px;display:flex}.amp-body .panel-head{flex-wrap:nowrap;margin-bottom:0}.amp-group{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;margin:0;padding:10px 14px 14px;display:flex}.amp-group legend{padding:0 6px}.amp-row{grid-template-columns:7.5rem minmax(0,1fr) 6rem;align-items:center;gap:12px;display:grid}.amp-row output{text-align:right;color:var(--muted);font-size:.85rem}.amp-done{margin-left:auto}@media (width<=480px){.amp-row{grid-template-columns:minmax(0,1fr) 5rem;gap:4px 10px}.amp-row>span{grid-column:1/-1}}.ex-dialog{border:1px solid var(--border);background:var(--bg);width:min(1000px,100% - 32px);height:min(820px,100vh - 32px);max-height:none;color:var(--text);border-radius:16px;margin:16px auto auto;padding:0;box-shadow:0 12px 48px #00000047}.ex-dialog::backdrop{background:#00000073}.ex-body{flex-direction:column;gap:12px;min-height:0;display:flex}.ex-dialog .ex-body{height:100%;padding:20px}.ws-panel .ex-list{flex:none;max-height:min(70vh,760px)}.ex-level-select{display:none}@media (width<=640px){.ex-levels{display:none}.ex-level-select{display:inline-flex}}.ex-body .panel-head{flex-wrap:nowrap;margin-bottom:0}.ex-filters{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.ex-filters .segmented button{min-height:36px;padding:0 12px;font-size:.85rem}.ex-filters input[type=search]{flex:1;min-width:160px;min-height:36px}.ex-styles{flex-wrap:wrap;gap:6px;display:flex}.chip.ex-style{flex-direction:row;min-width:0;min-height:32px;padding:4px 12px;font-weight:600}.chip.ex-style[aria-checked=true]{background:var(--accent);color:var(--accent-ink);border-color:#0000}.ex-list{flex-direction:column;flex:auto;gap:14px;min-height:120px;padding-right:4px;display:flex;overflow-y:auto}.ex-pack{align-items:center;gap:8px;margin:0 0 8px;font-size:.95rem;display:flex}.ex-access{text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb, var(--deg-5) 20%, var(--surface));border-radius:999px;padding:2px 8px;font-size:.7rem}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ex-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.ex-card h3{margin:0;font-size:1rem}.ex-card p{margin:0}.ex-card .btn-row{margin-top:auto;padding-top:4px}.ex-tags{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.72rem;font-weight:600;display:flex}.ex-kind{color:var(--accent)}.ex-kind.lick{color:var(--deg-7)}.ex-meta{color:var(--muted)}.ex-why{color:var(--text)}.ex-level{align-items:center;gap:6px;display:inline-flex}.ex-dots{gap:3px;display:inline-flex}.ex-dots i{border:1.5px solid;border-radius:50%;width:7px;height:7px}.ex-dots i.on{background:currentColor}.ex-key{margin-top:auto;padding-top:4px}.ex-key select{min-height:32px;padding:0 6px}.ex-key+.btn-row{margin-top:0}.ex-filters input[type=checkbox]{width:18px;height:18px;min-height:0;margin:0}.ex-scale{border-top:1px solid var(--border);padding-top:8px}.ex-scale input{width:18px;height:18px;min-height:0}.board-stack{min-width:960px;position:relative}.board-stack .fretboard{min-width:0}.fb-marks{pointer-events:none;width:100%;height:100%;font-family:var(--font);position:absolute;inset:0}.fb-mark.shape{fill:none;stroke:var(--play);stroke-width:3px;opacity:.8}.fb-mark.next{fill:none;stroke:var(--text);stroke-width:3.5px;stroke-dasharray:7 5;opacity:.85}.fb-mark.now .body{fill:var(--play);stroke:var(--text);stroke-width:4px}.fb-mark.now .glow{fill:var(--play);stroke:none;opacity:.45}.fb-mark.now text{fill:var(--play-ink);font-weight:800}.fb-mark.now .pulse{fill:none;stroke:var(--play);stroke-width:5px;transform-box:fill-box;transform-origin:50%;animation:.55s ease-out forwards fb-pulse}@keyframes fb-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.fb-mark-arrow{stroke:var(--text);stroke-width:3px;stroke-dasharray:8 6;stroke-linecap:round;opacity:.75}.fb-arrow-head{fill:var(--text);opacity:.75}@media (prefers-reduced-motion:reduce){.fb-mark.now .pulse{opacity:0;animation:none}}.fb-mark .bend path{fill:none;stroke:var(--text);stroke-width:2.5px}.fb-mark .bend path.head{fill:var(--text);stroke:none}.fb-mark .bend text{fill:var(--text);font-size:15px;font-weight:600}.fb-tone{fill:none;stroke:var(--text);stroke-width:2.5px;opacity:.7}.fb-tone.root{stroke-width:5px;opacity:.9}.tab-card{flex-direction:column;gap:10px;min-width:0;display:flex}.tab-card .panel-head{flex-wrap:nowrap;margin-bottom:0}.tab-why{margin:0}.tab-toolbar{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.tab-toolbar .segmented button{min-height:36px;padding:0 10px;font-size:.85rem}.tab-toolbar select{min-height:36px;padding:0 8px}.tab-examples{margin-left:auto}.tab-scroll{overscroll-behavior:contain;max-height:min(60vh,560px);overflow:auto}.tab-empty{flex-direction:column;gap:10px;display:flex}.tab-svg{font-family:var(--mono);display:block}.tab-svg text{fill:var(--text)}.tab-line{stroke:var(--string);stroke-width:1px;opacity:.55}.tab-bar{stroke:var(--text);stroke-width:1.2px}.tab-bar.end{stroke-width:3px}.tab-barnum{font-size:9px;fill:var(--muted)!important}.tab-clef{font-size:11px;font-weight:700;fill:var(--muted)!important}.tab-note{cursor:pointer;outline:none}.tab-note rect{fill:var(--surface)}.tab-note text{font-size:12px;font-weight:600}.tab-note.tied text{fill:var(--muted);font-weight:500}.tab-note:hover rect,.tab-note:focus-visible rect{fill:var(--surface-2);stroke:var(--focus)}.tab-note.now rect{fill:var(--play);stroke:var(--text);stroke-width:1.5px}.tab-note.now text{fill:var(--play-ink)}.tab-cursor{fill:var(--play);opacity:.3}.tab-stem,.tab-flag,.tab-beam{stroke:var(--text);fill:none}.tab-stem{stroke-width:1.2px}.tab-flag{stroke-width:1.4px}.tab-beam{stroke-width:3px}.tab-dot,.tab-rest rect,.tab-rest circle{fill:var(--text)}.tab-rest path{fill:none;stroke:var(--text);stroke-width:1.5px;stroke-linejoin:round}.tab-tuplet,.tab-tech{font-size:9px;fill:var(--muted)!important}.tab-tech.ring{font-style:italic}.tab-pm-line{stroke:var(--muted);stroke-dasharray:3 3}.tab-slur path,.tab-slide,.tab-vibrato,.tab-bend path{fill:none;stroke:var(--text);stroke-width:1.3px}.tab-slur text{font-size:8px;fill:var(--muted)!important}.tab-bend path.head{fill:var(--text);stroke:none}.tab-bend text{font-size:9px;font-weight:600}.tab-accent{font-size:11px;font-weight:700}.tab-chord{font-family:var(--font);font-size:12px;font-weight:700;fill:var(--accent)!important}@media (prefers-reduced-motion:reduce){.tab-scroll{scroll-behavior:auto}}.add-row .btn{font-family:var(--mono)}.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-top{justify-content:space-between;align-items:center;padding:16px clamp(16px,3vw,32px);display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(440px,100% - 32px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:16px;margin:4vh auto 48px;padding:28px;display:flex}.auth-card h1{font-size:1.75rem}.form{flex-direction:column;gap:14px;display:flex}.form label{flex-direction:column;gap:6px;font-size:.95rem;font-weight:500;display:flex}.label-row{justify-content:space-between;align-items:baseline;display:flex}.label-row a{font-size:.85rem;font-weight:400}.hint{color:var(--muted);font-size:.8rem;font-weight:400}.error{color:var(--error);font-size:.9rem}.notice{background:color-mix(in srgb, var(--deg-4) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--deg-4) 40%, var(--border));border-radius:10px;padding:10px 12px;font-size:.85rem}.divider{color:var(--muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-footer{text-align:center;color:var(--muted);font-size:.95rem}@media (width<=640px){.auth-page .segmented button{min-width:44px;min-height:44px}.auth-top .brand{min-height:44px}.label-row a,.auth-footer a{align-items:center;min-height:44px;margin:-12px 0;display:inline-flex}.label-row{margin-bottom:8px}}.kb-scroll{contain:inline-size;overflow-x:auto}.kb-stack{max-width:calc(var(--kb-whites,21) * 52px);min-width:calc(var(--kb-whites,21) * 30px);--kb-black:var(--text);margin:0 auto;position:relative}:root[data-theme=dark] .kb-stack{--kb-black:var(--bg)}.keyboard{width:100%;height:auto;font-family:var(--font);display:block}.kb-key.white{fill:var(--key-white);stroke:var(--board-edge);stroke-width:1.5px}.kb-key.black{fill:var(--kb-black)}.kb-octave{fill:var(--text);opacity:.55;font-family:var(--mono);font-size:11px}:root[data-theme=dark] .kb-octave{fill:var(--bg);opacity:.65}.kb-on-white{--kb-face:var(--key-white);--kb-ink:var(--text)}.kb-on-black{--kb-face:var(--kb-black);--kb-ink:var(--surface)}:root[data-theme=dark] .kb-on-white{--kb-ink:var(--bg)}:root[data-theme=dark] .kb-on-black{--kb-ink:var(--text)}.kb-stack .fb-dot.chord circle:not(.ring){stroke:var(--kb-ink)}.kb-stack .fb-dot.outside circle{fill:var(--kb-face);stroke:var(--kb-ink)}.kb-stack .fb-dot.outside text{fill:var(--kb-ink)}.kb-marks .fb-tone,.kb-marks .fb-mark.next{stroke:var(--kb-ink)}.kb-marks .fb-mark.now .body{stroke:var(--kb-ink);stroke-width:3px}.kb-lit{fill:var(--play);stroke:var(--kb-ink);stroke-width:2px}.stage-both{flex-direction:column;gap:16px;display:flex}.tuner-back{width:44px;height:44px;color:var(--text);display:none}.tuner-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.tuner-intro{margin-top:6px}.tuner-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);grid-template-areas:"side stage";align-items:start;gap:20px;display:grid}@media (width<=900px){.tuner-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""side"}}.tuner-stage{flex-direction:column;grid-area:stage;align-items:center;gap:14px;min-width:0;display:flex}.tuner-side{flex-direction:column;grid-area:side;gap:20px;min-width:0;display:flex}@media (width>=641px) and (width<=900px){.tuner-side{grid-template-rows:auto auto 1fr;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px 24px;display:grid}.tuner-group{grid-row:span 3}}.tuner-mic{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-self:stretch;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.tuner-mic p{flex:240px}.tuner-mic.problem{background:color-mix(in srgb, var(--deg-4) 16%, var(--surface));border-color:color-mix(in srgb, var(--deg-4) 40%, var(--border))}.tuner-mic.listening{background:0 0;border-color:#0000;padding:0 0 0 4px}.tuner-live{color:var(--muted);align-items:center;gap:10px;font-weight:500;display:inline-flex}.tuner-live:before{content:"";background:var(--deg-5);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--deg-5) 25%, transparent);border-radius:50%}.tuner-meter{width:100%;max-width:460px;height:auto;font-family:var(--mono);display:block}.tm-track{fill:none;stroke:var(--surface-2);stroke-width:12px}.tm-zone{fill:none;stroke:var(--deg-5);stroke-width:12px}.tm-tick{stroke:var(--muted);stroke-width:1.5px}.tm-tick.major{stroke:var(--text);stroke-width:2.5px}.tm-label{fill:var(--muted);text-anchor:middle;font-size:12px}.tm-side{fill:var(--muted);font-family:var(--font);text-anchor:middle;font-size:18px;font-weight:600}.tm-needle line{stroke:var(--text);stroke-width:3.5px;stroke-linecap:round}.tm-needle circle{fill:var(--text)}.tuner-meter.in-tune .tm-needle line{stroke:var(--deg-5)}.tuner-meter.in-tune .tm-needle circle{fill:var(--deg-5)}.tuner-meter.idle .tm-needle{opacity:.3}.tuner-readout{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:-8px;display:flex}.tuner-note{letter-spacing:-.02em;font-size:clamp(3.25rem,6vw + 1rem,4.75rem);font-weight:700;line-height:1}.tuner-octave{color:var(--muted);margin-left:2px;font-size:.45em;font-weight:600}.tuner-readout.idle .tuner-note{color:var(--muted)}.tuner-readout.in-tune .tuner-note{color:var(--deg-5-edge)}.tuner-pill{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;min-height:34px;padding:4px 16px;font-weight:600;display:inline-flex}.tuner-pill.in-tune{background:color-mix(in srgb, var(--deg-5) 18%, var(--surface));border-color:var(--deg-5);color:var(--deg-5-edge)}.tuner-hz{gap:28px;margin:4px 0 0;display:flex}.tuner-hz div{flex-direction:column;align-items:center;display:flex}.tuner-hz dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.tuner-hz dd{font-family:var(--mono);font-variant-numeric:tabular-nums;margin:0}.tuner-strings{grid-template-columns:repeat(auto-fit,minmax(68px,1fr));align-self:stretch;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.tuner-string{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:92px;padding:8px 4px;display:flex}.tuner-string:hover{background:var(--surface-2)}.tuner-string[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.tuner-string.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tuner-string-note{font-size:1.35rem;font-weight:700;line-height:1.1}.tuner-string-note sub{color:var(--muted);vertical-align:baseline;margin-left:1px;font-size:.6em;font-weight:600}.tuner-string-hz{font-family:var(--mono);color:var(--muted);font-size:.75rem}.tuner-string-state{color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:600}.tuner-string.active .tuner-string-state{color:var(--accent)}.tuner-string.tuned .tuner-string-state{color:var(--deg-5-edge)}.tuner-group{border:0;min-width:0;margin:0;padding:0}.tuner-group legend{margin-bottom:8px;padding:0}.tuner-tunings{flex-direction:column;gap:6px;display:flex}.tuner-tuning{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:6px 12px;display:flex}.tuner-tuning:hover{background:var(--surface-2)}.tuner-tuning:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.tuner-tuning:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.tuner-tuning input{width:18px;height:18px;min-height:0;accent-color:var(--accent);flex:none;margin:0}.tuner-tuning-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.tuner-tuning-text>span:first-child{font-weight:600}.tuner-tuning-notes{font-family:var(--mono);color:var(--muted);font-size:.8rem}.tuner-tuning.locked{cursor:not-allowed;color:var(--muted);border-style:dashed}.tuner-tuning.locked:hover{background:0 0}.tuner-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.tuner-mode{display:flex}.tuner-mode button{flex:1;min-height:44px}.tuner-stepper{align-items:center;gap:8px;display:flex}.tuner-stepper .btn{width:44px;padding:0;font-size:1.25rem}.tuner-stepper output{text-align:center;min-width:6ch;font-family:var(--mono);font-size:1.05rem;font-weight:600}.tuner-stepper .link-btn{min-height:44px;margin-left:4px}@media (width<=640px){.tuner-topbar{flex-wrap:nowrap;justify-content:flex-start;gap:4px;padding-top:6px;padding-bottom:6px;padding-left:8px}.tuner-back{display:grid}.tuner-topbar .topbar-right,.tuner-neck-link,.tuner-intro{display:none}.tuner-main{gap:12px;padding-top:12px}.tuner-head h1{font-size:1.5rem}.tuner-stage{padding:14px 12px}.tuner-strings{grid-template-columns:repeat(3,minmax(0,1fr))}.tuner-string{min-height:80px}}
