:root{--bg-app:#08090b;--bg-surface:#0f1114;--bg-elevated:#16181d;--bg-grouped:#0b0d10;--bg-input:#101216;--bg-hover:#1b1e24;--bg-glass:#0f1114;--accent:#1687ff;--accent-dim:#1687ff24;--accent-strong:#5aabff;--accent-2:#30d158;--warn:#ffd60a;--danger:#ff453a;--orange:#ff9f0a;--text-primary:#f7f8fa;--text-secondary:#969aa5;--text-tertiary:#626773;--text-quarternary:#3f444f;--separator:#ffffff12;--separator-opaque:#23262c;--separator-strong:#2f333a;--panel:#111318;--panel-2:#191c22;--line:#282b32;--muted:#969aa5;--text:#f7f8fa;--accent-old:#0a84ff;--fretboard-bg:linear-gradient(180deg, #2d2119, #36281e);--fretboard-border:#3a3a3c;--touch-min:44px;--nav-height:76px;--top-bar-height:48px;--rail-width:216px;--content-max:1480px;--content-pad:14px;--radius-xs:2px;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--font-ui:"Barlow", "Segoe UI", system-ui, sans-serif;--font-display:"Barlow Condensed", "Barlow", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-app);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{background:var(--bg-app);min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}input[type=range]{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--accent-dim)}h1,h2,h3,h4{letter-spacing:-.02em;margin:0;font-weight:700}h1{letter-spacing:-.04em;font-size:28px}h2{letter-spacing:-.03em;font-size:22px}h3{font-size:17px}h4{font-size:15px}p{margin:0}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.muted{color:var(--text-secondary)}.error{color:var(--danger)}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:700}.app-shell{flex-direction:column;min-height:100vh;display:flex}.content{padding:0 var(--space-md) var(--space-md);padding-bottom:calc(var(--nav-height) + var(--space-md));flex:1;width:100%;max-width:1200px;margin:0 auto}.tab-bar{z-index:100;height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg-surface);border-top:1px solid var(--separator-opaque);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar-item{color:var(--text-tertiary);letter-spacing:.04em;border-right:1px solid var(--separator);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:600;text-decoration:none;transition:color .12s,background .12s;display:flex}.tab-bar-item:last-child{border-right:0}.tab-bar-item.active{color:var(--accent-strong);background:var(--bg-elevated);box-shadow:inset 0 -2px 0 var(--accent)}.tab-bar-item:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-bar-icon{place-items:center;height:20px;display:grid}@media (min-width:900px){.content{padding:var(--space-lg) var(--space-xl) var(--space-xl);padding-bottom:calc(var(--nav-height) + var(--space-xl))}.tab-bar{height:52px;padding:0 var(--space-lg);border-top:none;border-bottom:.5px solid #54545880;justify-content:flex-start;gap:4px;top:0;bottom:auto}.tab-bar-item{min-width:unset;border-radius:var(--radius-sm);flex-direction:row;gap:6px;padding:14px;font-size:13px;font-weight:600}.tab-bar-icon{height:auto;font-size:18px}.content{padding-top:calc(52px + var(--space-lg));padding-bottom:var(--space-xl)}:root{--nav-height:0px}}.sidebar{display:none}.page{min-height:calc(100dvh - var(--nav-height));min-height:calc(100vh - var(--nav-height));gap:var(--space-md);flex-direction:column;display:flex}@media (min-width:900px){.page{min-height:calc(100vh - 52px)}}.page-top-bar{z-index:50;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;min-height:var(--top-bar-height);background:#000000d9;display:flex;position:sticky;top:0}@media (min-width:900px){.page-top-bar{padding-top:var(--space-sm);background:0 0;position:relative}}.page-top-bar h1{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:17px;font-weight:700;overflow:hidden}@media (min-width:900px){.page-top-bar h1{letter-spacing:-.04em;font-size:28px}}.back-button{width:var(--touch-min);height:var(--touch-min);color:var(--accent);border-radius:var(--radius-md);place-items:center;font-size:20px;display:grid}.back-button:hover{background:var(--accent-dim)}.settings-trigger{width:var(--touch-min);height:var(--touch-min);color:var(--text-secondary);border-radius:var(--radius-md);place-items:center;font-size:20px;transition:color .15s,background .15s;display:grid}.settings-trigger:hover{color:var(--text-primary);background:var(--bg-elevated)}.page-actions{gap:var(--space-sm);align-items:center;display:flex}.page-hero{gap:var(--space-md);flex-direction:column;flex:1;display:flex}.page-actions-bar{bottom:calc(var(--nav-height) + 8px);z-index:40;left:var(--content-pad);right:var(--content-pad);max-width:calc(var(--content-max) - var(--content-pad) * 2);justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);background:#000000d1;margin-inline-start:auto;margin-inline-end:auto;display:flex;position:fixed}@media (min-width:900px){.page-actions-bar{left:calc(var(--sidebar-width) + var(--content-pad));bottom:16px}}body:has(.page-actions-bar) .content{padding-bottom:calc(var(--nav-height) + var(--actions-bar-height,0px) + 32px)}.page-header{justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-md);align-items:start;display:flex}.page-header h1{letter-spacing:-.04em;margin:0 0 4px;font-size:28px}.page-header p{color:var(--text-secondary);max-width:780px;margin:0;font-size:15px;line-height:1.5}.page-title-line{align-items:center;gap:10px;display:flex}.page-title-line h1{margin-bottom:0}.button{justify-content:center;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);border:1px solid var(--separator-opaque);background:var(--bg-elevated);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;padding:10px 16px;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.button:hover{background:#3a3a3c}.button:active{transform:scale(.97)}.button:disabled{opacity:.35;cursor:default;pointer-events:none}.button.primary{background:var(--accent);color:#fff;border-color:#0000;font-weight:700}.button.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent-strong)}.button.big{border-radius:var(--radius-md);min-height:52px;padding:14px 24px;font-size:17px}.button.danger{color:var(--danger);border-color:#ff453a4d}.button.danger:hover{background:#ff453a1f}.action-primary{background:var(--accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;min-width:140px;min-height:50px;padding:12px 28px;font-size:17px;font-weight:700;transition:all .2s}.action-primary:hover{background:var(--accent-strong);transform:scale(1.02)}.action-primary:active{transform:scale(.96)}.action-primary:disabled{opacity:.35;cursor:default;transform:none}.action-primary.playing{background:var(--danger)}.action-primary.playing:hover{background:#ff6961}.action-secondary{min-height:var(--touch-min);border:1px solid var(--separator-opaque);background:var(--bg-glass);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s}.action-secondary:hover{background:var(--bg-elevated)}.action-secondary:active{transform:scale(.96)}.action-secondary.active{border-color:var(--accent);color:var(--accent)}.button-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.compact-buttons{gap:6px}.compact-buttons .button{min-height:36px;padding:7px 10px;font-size:13px}.icon-button{border:1px solid var(--separator-opaque);border-radius:var(--radius-xs);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;place-items:center;padding:0;transition:all .15s;display:grid}.icon-button:hover:not(:disabled){color:var(--text-primary);border-color:var(--text-tertiary);background:var(--bg-elevated)}.icon-button.danger:hover:not(:disabled){color:var(--danger);border-color:#ff453a4d}.icon-button:disabled{opacity:.3;cursor:default}.small-button{min-height:32px;padding:6px 10px;font-size:11px}.primary-button{border-color:var(--accent)!important;background:var(--accent-dim)!important;color:var(--accent-strong)!important}.danger-button{color:var(--danger)!important;border-color:#ff453a4d!important}.field{flex-direction:column;gap:6px;display:flex}.field>span,.field>label{color:var(--text-secondary);font-size:13px;font-weight:600}.field select,.field input[type=number]{width:100%;min-height:var(--touch-min);border:1px solid var(--separator-opaque);background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-sm);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:10px 32px 10px 12px;font-size:15px}.field select:focus,.field input:focus{border-color:var(--accent);outline:none}.field.field-compact>span{font-size:11px}.field input[type=range]{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;width:100%;height:36px}.field input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-xs);background:var(--separator-opaque);height:4px}.field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:none;border-radius:50%;width:28px;height:28px;margin-top:-12px;box-shadow:0 2px 8px #00000059,0 0 0 1px #00000014}.field input[type=range]::-moz-range-track{border-radius:var(--radius-xs);background:var(--separator-opaque);border:none;height:4px}.field input[type=range]::-moz-range-thumb{background:#fff;border:none;border-radius:50%;width:28px;height:28px;box-shadow:0 2px 8px #00000059}.chip-select{flex-direction:column;gap:6px;display:flex}.chip-select>span{color:var(--text-secondary);font-size:13px;font-weight:600}.chip-group{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:wrap;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chip-group::-webkit-scrollbar{display:none}.chip{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);min-height:36px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;flex:none;padding:7px 14px;font-size:14px;font-weight:600;transition:all .15s}.chip:hover{background:var(--bg-elevated);color:var(--text-primary)}.chip:active{transform:scale(.95)}.chip.active{background:var(--accent);color:#fff;border-color:#0000}.toggle-switch{flex:none;width:51px;height:31px;position:relative}.toggle-switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.toggle-switch-track{background:var(--separator-opaque);border-radius:var(--radius-lg);transition:background .25s;position:absolute;top:0;bottom:0;left:0;right:0}.toggle-switch input:checked+.toggle-switch-track{background:var(--accent-2)}.toggle-switch-thumb{background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .25s cubic-bezier(.32,.72,0,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-switch input:checked~.toggle-switch-thumb{transform:translate(20px)}.toggle-row{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:var(--touch-min);display:flex}.toggle-row-label{color:var(--text-primary);font-size:15px;font-weight:500}.stat-chip span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.stat-chip strong{color:var(--text-primary);font-size:16px}.stat{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;min-height:48px;padding:8px 12px;display:flex}.stat span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.stat strong{margin-top:2px}.stats-row{flex-wrap:wrap;gap:8px;display:flex}.stats-row .stat{flex:1;min-width:100px}.control-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-items:end;gap:12px 16px;display:grid}.panel,.hero-card,.challenge-card,.tip,.content-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.hero-card{padding:var(--space-lg)}.hero-card h2,.panel h2,.panel h3{margin-top:0}.hero-card p{color:var(--text-secondary);max-width:820px}.tip{border-left:3px solid var(--warn)}.content-card{margin-bottom:0}.challenge-card{text-align:center;padding:var(--space-lg) var(--space-md)}.challenge-card>span{text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);font-size:11px;font-weight:700;display:block}.challenge-card>strong{letter-spacing:-.02em;margin:8px 0 4px;font-size:42px;display:block}.challenge-card p{color:var(--text-secondary);margin-bottom:0}.challenge-display{text-align:center;letter-spacing:-.03em;font-size:clamp(32px,8vw,56px);font-weight:900}.empty-state{color:var(--text-secondary);text-align:center;padding:var(--space-2xl);font-size:15px}.panel-title-row{justify-content:space-between;align-items:center;display:flex}.panel-title-row h2{margin:0 0 14px}.panel-title-row span{color:var(--text-secondary);font-size:12px}.category-page h1{letter-spacing:-.04em;margin-bottom:var(--space-xs);font-size:34px}.category-page>p{color:var(--text-secondary);margin-bottom:var(--space-lg);font-size:15px}.tool-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.tool-card{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);cursor:pointer;min-height:88px;text-decoration:none;transition:all .2s;display:flex}.tool-card:hover{border-color:var(--accent);background:var(--bg-elevated);transform:translateY(-2px);box-shadow:0 8px 30px #00000040}.tool-card:active{transform:scale(.98)}.tool-card-icon{flex:none;padding-top:2px;font-size:32px}.tool-card-info{flex-direction:column;gap:4px;min-width:0;display:flex}.tool-card-info h3{margin:0;font-size:16px;font-weight:700}.tool-card-info p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.fretboard-panel{border-radius:var(--radius-md);overflow:hidden}.fretboard-wrap{-webkit-overflow-scrolling:touch;padding-bottom:4px;overflow-x:auto}.fretboard{border:1px solid var(--fretboard-border);background:var(--fretboard-bg);border-radius:var(--radius-sm);min-width:800px;overflow:hidden}.fret-number-row,.fret-string-row{grid-template-columns:50px repeat(var(--cols), minmax(46px, 1fr));display:grid}.fret-number{height:24px;color:var(--text-tertiary);background:var(--bg-surface);border-right:1px solid var(--separator-opaque);justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.string-label-spacer{background:var(--bg-surface);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;place-items:center;font-size:9px;display:grid}.string-label{background:var(--bg-surface);min-height:48px;color:var(--text-secondary);border-top:1px solid var(--separator-opaque);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex;position:relative}.string-name{color:var(--text-primary);font-weight:800;line-height:1}.fret-cell{background:0 0;border-top:1px solid #ebe1cb38;border-bottom:0;border-left:0;border-right:2px solid #77808c;justify-content:center;align-items:center;height:48px;padding:0;display:flex;position:relative}.fret-cell:after{content:"";z-index:0;background:#ebebebbf;height:1px;position:absolute;top:50%;left:0;right:0}.fret-cell span,.open-note-marker span{z-index:1;width:26px;height:26px;color:var(--text-primary);background:#48484a;border:1.5px solid #636366;border-radius:50%;place-items:center;font-size:9px;font-weight:800;transition:all .15s;display:grid;position:relative}.fret-cell.scale-note span,.open-note-marker.scale-note span{background:#1a4b7a;border-color:#4a9eed}.fret-cell.root-note span,.open-note-marker.root-note span{background:#1a5fb0;border-color:#7cc2ff;box-shadow:inset 0 0 0 1px #fff3}.fret-cell.highlight-ring span,.open-note-marker.highlight-ring span{border-color:#f0f6ff;box-shadow:0 0 0 3px #ffffffb3,0 0 14px #0a84ff4d}.fret-cell.highlight-fill span,.open-note-marker.highlight-fill span{background:#2468ad;border-color:#9dcfff}.fret-cell.special-note span,.open-note-marker.special-note span{background:#1d6b3a;border-color:#6dd892}.fret-cell.special-blue span,.open-note-marker.special-blue span{background:#1a4b7a;border-color:#7cc2ff;box-shadow:0 0 0 2px #0a84ff33,0 0 18px #0a84ff4d}.fret-cell.special-chord-current span,.open-note-marker.special-chord-current span{background:#1d6b3a;border-color:#6dd892;box-shadow:0 0 0 2px #30d1581f}.fret-cell.special-connection span,.open-note-marker.special-connection span{color:#fff;background:#7a5a1a;border-color:#ffd60a;box-shadow:0 0 0 2px #ffd60a24,0 0 14px #ffd60a33}.fret-cell.special-connection-shared span,.open-note-marker.special-connection-shared span{color:#fff;background:#4a6a2a;border-color:#c5e060;box-shadow:0 0 0 3px #ffd60a2e,0 0 15px #30d1582e}.fret-cell.disallowed-note span,.open-note-marker.disallowed-note span{opacity:.16}.fret-cell.unfocused-note span,.open-note-marker.unfocused-note span{opacity:.28}.fret-cell:not(.visible-note) span{display:none}.fret-cell.clickable{cursor:crosshair}.fret-cell.clickable:hover{background:#ffffff0d}.open-note-marker{background:0 0;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid}.open-note-marker.clickable{cursor:crosshair}.open-note-marker.clickable:hover span{transform:scale(1.08)}.open-note-marker.empty-note.clickable{border:1px solid #0000}.open-note-marker.empty-note.clickable:hover{background:#ffffff0a;border-color:#636366}.string-label>.open-note-marker.empty-note{border-radius:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.fret-cell.empty-note.clickable:hover:before{content:"";z-index:2;opacity:.75;border:1px solid #636366;border-radius:50%;width:9px;height:9px;position:relative}.fret-number-button{border:0;border-right:1px solid var(--separator-opaque);cursor:pointer;background:var(--bg-surface);width:100%;color:var(--text-tertiary);justify-content:center;align-items:center;height:24px;padding:0;font-size:10px;font-weight:600;display:flex}.fret-number-button:hover{background:var(--bg-elevated);color:var(--text-primary)}@keyframes fretboard-update-flash{0%{border-color:var(--accent);box-shadow:0 0 #0a84ff66}38%{border-color:var(--accent);box-shadow:0 0 0 5px #0a84ff1a,0 0 34px #0a84ff26}to{border-color:var(--separator-opaque);box-shadow:none}}.fretboard-update-flash{animation:.78s ease-out fretboard-update-flash}.fretboard-update-flash .special-blue span{animation:.7s ease-out chord-note-pop}@keyframes chord-note-pop{0%{filter:brightness(1.8);transform:scale(.76)}45%{filter:brightness(1.35);transform:scale(1.17)}to{filter:brightness();transform:scale(1)}}.string-label.combined-open-label{gap:0}.string-label.combined-open-label .open-note-marker{width:30px;height:30px}.string-label.combined-open-label .open-note-marker span{width:28px;height:28px;font-size:10px}.guitar-tab-wrap{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);-webkit-overflow-scrolling:touch;padding:6px 0 2px;overflow-x:auto}.guitar-tab{width:100%;min-width:800px;height:auto;display:block}.tab-caption{fill:var(--text-secondary);letter-spacing:.08em;font-size:11px;font-weight:700}.tab-string-label{fill:var(--text-primary);font-size:13px;font-weight:800}.tab-string-line{stroke:#636366;stroke-width:1px}.tab-bar-line{stroke:#48484a;stroke-width:1.3px}.tab-index{fill:var(--text-tertiary);font-size:9px}.tab-number-bg{fill:var(--bg-surface)}.tab-fret-number{fill:var(--text-primary);font-size:14px;font-weight:800}.tab-right-hand{fill:var(--accent);font-size:12px;font-weight:700}.tab-annotation{fill:var(--text-secondary);letter-spacing:.05em;font-size:10px;font-weight:800}.tab-playhead{stroke:var(--accent);stroke-width:2px;opacity:.6;filter:drop-shadow(0 0 4px #0a84ffb3);pointer-events:none}.tab-active-note .tab-number-bg{fill:#1a3f6e;stroke:#7cc2ff;stroke-width:2.5px}.tab-active-note .tab-fret-number{fill:#fff}.tab-active-note .tab-number-bg{stroke-width:3px}.tab-left-finger{fill:var(--accent-2);font-size:8px;font-weight:900}.tab-sustain-line{stroke:#3d8a5a;stroke-width:2.2px;stroke-linecap:round;opacity:.8;pointer-events:none}.tab-accent-note .tab-number-bg{fill:#1a3f6e}.tab-accent-note .tab-fret-number{fill:#fff}.tab-active-note .tab-left-finger{fill:#80ffb0}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.tab-studio-page{gap:12px}.tab-header-actions{align-items:center;gap:7px;display:flex}.tab-error{color:#ff9e98;border-radius:var(--radius-sm);background:#ff453a17;border:1px solid #ff453a3d;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;font-size:13px;display:flex}.tab-error button{color:var(--text-primary);font-weight:700}.tab-score-panel{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid #ffffff16;overflow:hidden;box-shadow:0 24px 70px #00000038,inset 0 1px #ffffff06}.tab-song-heading{border-bottom:1px solid #fff1;justify-content:space-between;align-items:flex-end;gap:18px;min-height:112px;padding:22px 24px 17px;display:flex}.tab-title-fields{flex-direction:column;gap:4px;min-width:0;display:flex}.tab-title-fields input{width:min(520px,68vw);color:var(--text-primary);background:0 0;border:0;outline:0;padding:0}.tab-title-fields input:first-child{letter-spacing:-.045em;font-size:clamp(24px,5vw,38px);font-weight:800;line-height:1.05}.tab-title-fields input:last-child{color:var(--text-secondary);font-size:13px}.tab-title-fields input::placeholder{color:var(--text-tertiary)}.tab-score-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.tab-score-meta span{color:#8b909b;border-radius:var(--radius-md);letter-spacing:.04em;text-transform:uppercase;background:#ffffff09;border:1px solid #ffffff12;padding:5px 8px;font-size:9px;font-weight:750}.tab-score-panel .guitar-tab-wrap{background:#0405076b;border:0;border-radius:0;padding:8px 10px 4px}.tab-score-panel .guitar-tab{min-width:920px}.tab-score-panel .tab-number-bg{fill:#090b0f}.tab-score-panel .tab-active-note .tab-number-bg{fill:#1687ff;stroke:#9cd0ff}.tab-score-panel .tab-string-line{stroke:#555b65}.tab-empty-score{min-height:260px;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.tab-empty-score strong{color:var(--text-primary);font-size:15px}.tab-empty-score span{font-size:12px}.tab-transport{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid #ffffff14;align-items:center;gap:10px;min-height:72px;padding:11px 14px;display:flex}.tab-play-button{color:#fff;background:var(--accent);border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;transition:transform .15s,background .15s;display:grid;box-shadow:0 8px 26px #1687ff47}.tab-play-button:hover{transform:scale(1.04)}.tab-play-button.playing{background:var(--danger)}.tab-loop-button{height:40px;color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid #ffffff14;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.tab-loop-button:hover,.tab-loop-button.active{color:var(--accent-strong);background:var(--accent-dim);border-color:#1687ff73}.tab-tempo-control{flex:1;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:11px;max-width:390px;padding:0 10px;display:grid}.tab-tempo-control>span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:800}.tab-tempo-control input{min-width:90px;accent-color:var(--accent)}.tab-tempo-control strong{min-width:74px;font-size:15px}.tab-tempo-control small{color:var(--text-tertiary);letter-spacing:.05em;font-size:8px}.tab-save-status{color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:7px;margin-left:auto;font-size:10px;display:flex}.tab-save-status i{background:var(--accent-2);border-radius:50%;width:6px;height:6px;box-shadow:0 0 9px #30d1588c}.tab-creator-panel{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid #ffffff13;overflow:hidden}.tab-creator-heading{text-align:left;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:70px;padding:13px 17px;display:flex}.tab-creator-heading>span:first-child{color:#75b9ff;align-items:center;gap:11px;display:flex}.tab-creator-heading>span:first-child>span{flex-direction:column;gap:3px;display:flex}.tab-creator-heading strong{color:var(--text-primary);font-size:15px}.tab-creator-heading small{color:var(--text-tertiary);font-size:10px}.tab-creator-heading>span:last-child{color:var(--accent-strong);font-size:11px;font-weight:700}.tab-creator-body{border-top:1px solid #ffffff0f;padding:0 17px 17px}.tab-grid-toolbar{justify-content:space-between;align-items:flex-end;gap:16px;padding:16px 0 12px;display:flex}.tab-bar-nav{align-items:center;gap:6px;display:flex}.tab-bar-nav>button:not(.tab-add-bar){width:34px;height:34px;color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid #ffffff14;place-items:center;display:grid}.tab-bar-nav>button:disabled{opacity:.25;cursor:default}.tab-bar-nav strong{text-align:center;min-width:84px;font-size:13px}.tab-bar-nav strong span{color:var(--text-tertiary);font-size:10px;font-weight:600}.tab-add-bar{height:34px;color:var(--accent-strong);background:var(--accent-dim);border-radius:var(--radius-md);border:1px solid #1687ff40;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:750;display:inline-flex}.tab-fret-picker{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.tab-fret-picker>span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.tab-fret-picker>div{gap:3px;display:flex}.tab-fret-picker button,.tab-fret-picker input{width:28px;height:30px;color:var(--text-secondary);border-radius:var(--radius-md);text-align:center;background:#0c0e12;border:1px solid #ffffff14;place-items:center;padding:0;font-size:10px;font-weight:750;display:grid}.tab-fret-picker button:hover,.tab-fret-picker button.active{color:#fff;background:var(--accent);border-color:var(--accent)}.tab-fret-picker input{color:#fff;border-color:#1687ff61;width:38px}.tab-click-editor-wrap{-webkit-overflow-scrolling:touch;padding-bottom:5px;overflow-x:auto}.tab-click-editor-wrap,.tab-score-panel .guitar-tab-wrap,.tab-fret-picker{scrollbar-width:thin;scrollbar-color:#303641 transparent}.tab-click-editor-wrap::-webkit-scrollbar{width:5px;height:5px}.tab-score-panel .guitar-tab-wrap::-webkit-scrollbar{width:5px;height:5px}.tab-fret-picker::-webkit-scrollbar{width:5px;height:5px}.tab-click-editor-wrap::-webkit-scrollbar-track{background:0 0}.tab-score-panel .guitar-tab-wrap::-webkit-scrollbar-track{background:0 0}.tab-fret-picker::-webkit-scrollbar-track{background:0 0}.tab-click-editor-wrap::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#303641}.tab-score-panel .guitar-tab-wrap::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#303641}.tab-fret-picker::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#303641}.tab-click-editor{grid-template-columns:96px repeat(var(--tab-steps), minmax(36px, 1fr));border-radius:var(--radius-lg);background:#090b0e;border:1px solid #ffffff16;min-width:760px;display:grid;overflow:hidden}.tab-grid-corner,.tab-grid-count,.tab-grid-string,.tab-grid-cell{border-bottom:1px solid #ffffff0e;border-right:1px solid #ffffff0e}.tab-grid-corner{color:var(--text-tertiary);align-items:center;padding:0 10px;font-size:8px;font-weight:700;line-height:1.2;display:flex}.tab-grid-count{color:#555b65;background:#0e1014;place-items:center;height:28px;font-size:8px;font-weight:750;display:grid}.tab-grid-count.downbeat{color:#a9adb6;background:#12151a}.tab-grid-string{color:#d7d9df;background:#0e1014;justify-content:space-between;align-items:center;height:42px;padding:0 11px;font-size:12px;font-weight:800;display:flex}.tab-grid-string small{color:#4f5560;font-size:8px}.tab-grid-cell{height:42px;color:var(--text-primary);background:0 0;font-size:11px;font-weight:850;position:relative}.tab-grid-cell:after{content:"";background:#3d424b;height:1px;position:absolute;top:50%;left:0;right:0}.tab-grid-cell.downbeat{background:#ffffff05;border-left:1px solid #ffffff1c}.tab-grid-cell:hover{background:#1687ff14}.tab-grid-cell.filled{z-index:1;color:#fff}.tab-grid-cell.filled:before{content:"";z-index:-1;border-radius:var(--radius-md);background:#1687ff;border:1px solid #82c0ff;width:25px;height:25px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 12px #1687ff3d}.tab-grid-cell.filled:after{display:none}.tab-grid-hint{color:var(--text-tertiary);padding:7px 1px 14px;font-size:10px}.tab-advanced-toggle{width:100%;min-height:41px;color:var(--text-secondary);border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:0 2px;font-size:11px;font-weight:700;display:flex}.tab-advanced-toggle span:last-child{color:var(--accent-strong);font-size:10px}.tab-note-form{grid-template-columns:repeat(7,minmax(72px,1fr)) auto;align-items:end;gap:8px;padding:16px 0;display:grid}.tab-note-form label{flex-direction:column;gap:6px;min-width:0;display:flex}.tab-note-form label>span,.tab-note-list-head{color:var(--text-tertiary);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800}.tab-note-form input,.tab-note-form select{width:100%;height:40px;color:var(--text-primary);border-radius:var(--radius-md);background:#0d0f13;border:1px solid #ffffff17;outline:0;padding:0 9px}.tab-note-form input:focus,.tab-note-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1687ff1a}.tab-add-note{white-space:nowrap;height:40px;min-height:40px;padding:8px 13px}.tab-note-list-head{border-top:1px solid #ffffff0f;justify-content:space-between;gap:20px;padding:10px 2px;display:flex}.tab-note-list-head span:last-child{letter-spacing:0;text-transform:none;font-weight:600}.tab-note-list{border-radius:var(--radius-lg);border:1px solid #fff1;max-height:252px;overflow-y:auto}.tab-note-event{border-bottom:1px solid #ffffff0e;grid-template-columns:55px minmax(110px,.8fr) minmax(140px,1fr) 32px;align-items:center;gap:9px;min-height:45px;padding:7px 10px;font-size:11px;display:grid}.tab-note-event:last-child{border-bottom:0}.tab-note-event:hover{background:#ffffff06}.tab-note-event>span{color:var(--text-tertiary)}.tab-note-event .tab-event-beat{color:#79bcff;font-variant-numeric:tabular-nums;font-weight:800}.tab-note-event button{width:30px;height:30px;color:var(--text-tertiary);border-radius:var(--radius-md);place-items:center;display:grid}.tab-note-event button:hover{color:var(--danger);background:#ff453a17}.tab-creator-footer{align-items:center;gap:8px;padding-top:13px;display:flex}.tab-creator-footer p{color:var(--text-tertiary);flex:1;font-size:10px;line-height:1.45}.tab-creator-footer p strong{color:var(--text-secondary)}@media (max-width:980px){.tab-grid-toolbar{flex-direction:column;align-items:stretch}.tab-fret-picker{align-items:flex-start;overflow-x:auto}.tab-fret-picker>div{min-width:max-content}.tab-note-form{grid-template-columns:repeat(4,minmax(90px,1fr))}.tab-add-note{width:100%}}@media (max-width:640px){.tab-header-actions .button{width:38px;padding:0;font-size:0}.tab-song-heading{flex-direction:column;align-items:flex-start;min-height:100px;padding:18px}.tab-title-fields input{width:100%}.tab-score-meta{justify-content:flex-start}.tab-transport{flex-wrap:wrap}.tab-tempo-control{flex-basis:100%;order:3;max-width:none;padding:7px 2px 0}.tab-save-status{margin-left:auto}.tab-note-form{grid-template-columns:repeat(2,minmax(110px,1fr))}.tab-bar-nav{flex-wrap:wrap}.tab-add-note{grid-column:1/-1}.tab-note-event{grid-template-columns:46px 1fr 30px}.tab-note-event>span:nth-child(3){display:none}.tab-creator-footer{flex-wrap:wrap;align-items:stretch}.tab-creator-footer p{flex-basis:100%}.tab-creator-footer .button{flex:1}}.tab-score-line.playing-line{border-color:#30d1585c;box-shadow:0 0 0 1px #30d15814,0 18px 46px #0003}.tab-score-line-label{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tab-score-line-label small{color:#3e8d59;font-size:8px}.tab-playhead{stroke:#30d158;stroke-width:5px;opacity:.82;filter:drop-shadow(0 0 5px #30d158b8)}.tab-playhead-head{fill:#ecfff1;stroke:#30d158;stroke-width:3px;filter:drop-shadow(0 0 5px #30d158b3)}.tab-playhead-tail{fill:#30d158;opacity:.9}.guitar-tab-wrap.seekable{cursor:crosshair}.tab-technique-range-label{fill:#949aa5;font-size:10px}.tab-technique-range-line{stroke:#717782;stroke-width:1px;stroke-dasharray:5 4}.tab-technique-range-cap{stroke:#717782;stroke-width:1px}.tab-technique-connector{fill:none;stroke:#c5c9d0;stroke-width:1.25px}.tab-technique-connector-label{fill:#d9dce2;font-size:8px;font-weight:750}.tab-technique-vibrato{fill:none;stroke:#c5c9d0;stroke-width:1.4px}.tab-rhythm-stem{stroke:#aaaeb5;stroke-width:1.1px}.tab-rhythm-beam{stroke:#aaaeb5;stroke-width:3.4px}.tab-writer-page{gap:11px}.tab-writer-toolbar{border-radius:var(--radius-lg);background:#101318;border:1px solid #ffffff14;grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) 105px 115px 105px auto;align-items:end;gap:8px;padding:12px;display:grid}.tab-writer-toolbar>input,.tab-writer-toolbar label input,.tab-writer-toolbar label select{width:100%;height:40px;color:var(--text-primary);border-radius:var(--radius-md);background:#090b0e;border:1px solid #ffffff17;outline:0;padding:0 10px}.tab-writer-toolbar>input:focus,.tab-writer-toolbar label input:focus,.tab-writer-toolbar label select:focus{border-color:var(--accent)}.tab-writer-title{font-size:14px;font-weight:800}.tab-writer-artist{font-size:12px}.tab-writer-toolbar label{flex-direction:column;gap:5px;display:flex;position:relative}.tab-writer-toolbar label>span{color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:800}.tab-writer-toolbar label small{color:var(--text-tertiary);font-size:7px;position:absolute;bottom:13px;right:8px}.tab-paste-panel{border-radius:var(--radius-lg);background:#11141a;border:1px solid #1687ff47;flex-direction:column;gap:10px;padding:16px;display:flex}.tab-paste-panel h2{font-size:16px}.tab-paste-panel p{color:var(--text-secondary);margin-top:4px;font-size:11px}.tab-paste-panel textarea{resize:vertical;color:#e7ebf1;border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);background:#080a0d;outline:0;min-height:170px;padding:12px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.tab-paste-panel textarea:focus{border-color:var(--accent)}.tab-paste-detect{color:var(--text-secondary);font-size:11px;line-height:1.5}.tab-paste-detect strong{color:var(--accent-strong)}.tab-paste-actions{justify-content:flex-end;gap:8px;display:flex}.tab-paste-actions>.button{flex:none;min-height:34px}.direct-tab-panel,.tab-writer-insert{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid #ffffff16;padding:17px}.direct-tab-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.direct-tab-head h2{margin-top:4px;font-size:18px}.direct-tab-actions{gap:5px;display:flex}.direct-tab-actions button{min-width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-md);background:#0c0e12;border:1px solid #ffffff16;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:9px;font-weight:750;display:inline-flex}.direct-tab-actions button:last-child{color:var(--accent-strong);background:var(--accent-dim);border-color:#1687ff40}.direct-tab-actions button:disabled{opacity:.25;cursor:default}.direct-tab-help{color:var(--text-secondary);margin:10px 0 12px;font-size:10px}.direct-tab-wrap{scrollbar-width:thin;scrollbar-color:#303641 transparent;padding-bottom:5px;overflow-x:auto}.direct-tab-grid{min-width:max(760px, calc(58px + var(--writer-columns) * 54px));grid-template-columns:58px repeat(var(--writer-columns), minmax(54px, 1fr));border-radius:var(--radius-lg);background:#080a0d;border:1px solid #ffffff17;display:grid;overflow:hidden}.direct-tab-corner,.direct-tab-count{color:#555c67;background:#0e1115;border-bottom:1px solid #ffffff12;border-right:1px solid #ffffff0f;place-items:center;height:28px;font-size:8px;font-weight:800;display:grid}.direct-tab-count.beat{color:#9da2ad;background:#12151a}.direct-tab-string{color:#eff1f5;background:#0d1014;border-bottom:1px solid #ffffff0f;border-right:1px solid #ffffff14;justify-content:space-between;align-items:center;height:47px;padding:0 10px;display:flex}.direct-tab-string strong{font-size:12px}.direct-tab-string small{color:#515762;font-size:8px}.direct-tab-cell{color:#f4f6f9;cursor:text;background:0 0;border-bottom:1px solid #ffffff0e;border-right:1px solid #ffffff0d;outline:0;place-items:center;height:47px;font-size:12px;font-weight:850;display:grid;position:relative}.direct-tab-cell:after{content:"";background:#464b54;height:1px;position:absolute;top:50%;left:0;right:0}.direct-tab-cell:hover{background:#1687ff11}.direct-tab-cell.filled:before{content:"";z-index:1;border-radius:var(--radius-sm);background:#101318;width:28px;height:23px;position:absolute}.direct-tab-cell.filled{z-index:1}.direct-tab-cell.filled:not(.selected){color:#fff}.direct-tab-cell.filled:not(.selected):after{display:none}.direct-tab-cell.filled:not(.selected){isolation:isolate;text-shadow:0 0 8px #ffffff2e}.direct-tab-cell.filled:not(.selected):before{z-index:-1}.direct-tab-cell.selected{z-index:2;box-shadow:inset 0 0 0 2px var(--accent);background:#1687ff26}.direct-tab-cell.selected:after{display:none}.direct-tab-cell input{z-index:3;color:#fff;border-radius:var(--radius-md);text-align:center;background:#1687ff;border:1px solid #9fd3ff;outline:0;width:38px;height:31px;padding:0;font-size:13px;font-weight:850;position:relative;box-shadow:0 5px 16px #1687ff47}.direct-bar-strip{scrollbar-width:thin;gap:4px;padding:10px 1px 4px;display:flex;overflow-x:auto}.direct-bar-strip button{color:#666d78;border-radius:var(--radius-md);background:#0b0d11;border:1px solid #ffffff12;flex:0 0 31px;height:27px;font-size:9px;font-weight:750}.direct-bar-strip button:hover,.direct-bar-strip button.active{color:#fff;background:#176fca;border-color:#55a8f8}.direct-cursor-status{border-top:1px solid #ffffff0f;align-items:center;gap:10px;min-height:39px;margin-top:7px;padding-top:9px;display:flex}.direct-cursor-status>span{color:var(--text-tertiary);text-transform:uppercase;font-size:8px;font-weight:800}.direct-cursor-status strong{font-size:10px}.direct-cursor-status em{color:#8fc7ff;background:var(--accent-dim);border-radius:99px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:750}.direct-cursor-status button{min-height:31px;color:var(--danger);border-radius:var(--radius-md);border:1px solid #ff453a33;align-items:center;gap:5px;margin-left:auto;padding:0 8px;font-size:9px;font-weight:700;display:inline-flex}.direct-cursor-status button:disabled{opacity:.2;cursor:default}.tab-writer-insert .composer-section-head{margin-bottom:11px}@media (max-width:1050px){.tab-writer-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.tab-writer-toolbar>input{grid-column:span 1}}@media (max-width:640px){.tab-writer-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-writer-toolbar>input,.tab-writer-toolbar>button{grid-column:1/-1}.direct-tab-panel,.tab-writer-insert{padding:13px}.direct-tab-head{align-items:flex-start}.direct-tab-actions{flex-wrap:wrap;justify-content:flex-end}.direct-tab-help{line-height:1.45}.direct-cursor-status{flex-wrap:wrap}.direct-cursor-status button{margin-left:0}.tab-writer-insert .composer-section-head{flex-direction:column}}.direct-tab-editor-page{gap:10px;padding-bottom:94px}.direct-tab-editor-head{grid-template-columns:minmax(220px,1.35fr) minmax(160px,.8fr) 118px;gap:8px;display:grid}.direct-tab-editor-head input{width:100%;height:42px;color:var(--text-primary);border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);background:#090b0e;outline:0;padding:0 12px}.direct-tab-editor-head input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #0a84ff1a}.direct-tab-song-title{font-size:15px;font-weight:820}.direct-tab-artist{font-size:12px}.direct-tab-tempo{position:relative}.direct-tab-tempo input{padding-right:40px;font-weight:800}.direct-tab-tempo span{color:var(--text-tertiary);font-size:8px;font-weight:800;position:absolute;top:17px;right:10px}.tab-editor-filebar{border-radius:var(--radius-lg);background:#0b0d11;border:1px solid #ffffff12;align-items:center;gap:5px;min-height:38px;padding:4px;display:flex}.tab-editor-filebar>span{flex:1}.tab-editor-filebar button{height:29px;color:var(--text-secondary);border-radius:var(--radius-md);background:0 0;border:0;align-items:center;gap:5px;padding:0 8px;font-size:9px;font-weight:720;display:inline-flex}.tab-editor-filebar button:hover{color:#fff;background:#fff1}.tab-section-editor{border-radius:var(--radius-lg);background:#11141a;border:1px solid #bf7eff40;align-items:flex-end;gap:7px;padding:10px;display:flex}.tab-section-editor label{color:var(--text-tertiary);text-transform:uppercase;flex-direction:column;flex:1;gap:5px;font-size:8px;font-weight:800;display:flex}.tab-section-editor input{color:#fff;border:1px solid var(--separator-opaque);border-radius:var(--radius-md);background:#090b0e;outline:0;height:35px;padding:0 9px}.tab-edit-document{border-radius:var(--radius-md);background:#07090c;border:1px solid #ffffff13;overflow:visible}.tab-edit-row{aspect-ratio:1000/248;-webkit-user-select:none;user-select:none;touch-action:none;border-bottom:1px solid #ffffff0e;width:100%;min-height:224px;position:relative}.tab-edit-row:last-of-type{border-bottom:0}.tab-edit-row:hover{background:#ffffff02}.tab-edit-row-svg{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.tab-edit-string-label{fill:#c9cdd4;font-size:13px;font-weight:820}.tab-edit-string-line{stroke:#666b73;stroke-width:1.15px}.tab-edit-barline{stroke:#4e535b;stroke-width:1.1px}.tab-edit-measure{fill:#666d78;font-size:9px;font-weight:760}.tab-edit-range-label{fill:#949aa5;font-size:10px}.tab-edit-range-line{stroke:#707680;stroke-width:1px;stroke-dasharray:5 4}.tab-edit-range-cap{stroke:#777d87;stroke-width:1px}.tab-edit-sustain-line{stroke:#3d8a5a;stroke-width:2.6px;stroke-linecap:round;opacity:.9;pointer-events:none}.tab-edit-connector{fill:none;stroke:#c2c6cd;stroke-width:1.3px}.tab-edit-connector-label,.tab-edit-bend-label{fill:#d9dce2;font-size:9px;font-weight:750}.tab-edit-bend{fill:none;stroke:#d4d7dd;stroke-width:1.25px}.tab-edit-vibrato{fill:none;stroke:#bfc4cd;stroke-width:1.5px}.tab-edit-rhythm{stroke:#aaaeb5;stroke-width:1.15px}.tab-edit-rhythm-beam{stroke:#aaaeb5;stroke-width:3.6px}.tab-edit-cursor{stroke:#1687ff;stroke-width:1.6px;opacity:.78}.tab-edit-cursor-head{fill:#8dc8ff;stroke:#1687ff;stroke-width:2px}.tab-edit-playhead{stroke:#30d158;stroke-width:3.4px;filter:drop-shadow(0 0 4px #30d158b3)}.tab-edit-playhead-head{fill:#eaffef;stroke:#30d158;stroke-width:2.4px}.tab-section-label{color:#555c67;border-radius:var(--radius-sm);background:0 0;border:0;padding:2px 5px;font:750 10px/1.2 Georgia,serif;position:absolute;top:4px;left:5.8%}.tab-section-label:hover{color:#bd86ff;background:#bf7eff14}.tab-section-label.has-section{color:#bd86ff;font-size:13px;font-style:italic}.tab-direct-note{z-index:4;color:#f2f4f7;cursor:grab;touch-action:none;background:#07090c;border:1px solid #0000;border-radius:99px;place-items:center;min-width:26px;height:24px;padding:0 5px;font:850 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid;position:absolute;transform:translate(-50%,-50%)}.tab-direct-note:hover{color:#fff;border-color:#fff3}.tab-direct-note.selected{color:#fff;background:#167fe7;border-color:#9ed1ff;box-shadow:0 0 0 3px #167fe72e}.tab-auto-chord{z-index:3;color:#b77cff;border-radius:var(--radius-sm);cursor:grab;background:#07090cf0;border:0;padding:2px 5px;font-size:10px;font-weight:820;position:absolute;top:16.5%;transform:translate(-50%)}.tab-auto-chord:hover,.tab-auto-chord.selected{color:#d6b2ff;background:#964de129}.tab-inline-fret{z-index:12;color:#fff;border-radius:var(--radius-md);text-align:center;background:#1687ff;border:1px solid #b3dcff;outline:0;width:39px;height:31px;padding:0;font:850 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;position:absolute;transform:translate(-50%,-50%);box-shadow:0 7px 22px #1687ff57}.tab-technique-popover{z-index:20;color:#e8ebf0;background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-md);gap:8px;width:min(430px,88vw);padding:10px;display:grid;position:absolute;box-shadow:0 12px 28px #0000008c}.tab-technique-head{justify-content:space-between;align-items:baseline;padding:0 2px 2px;display:flex}.tab-technique-head strong{font-size:11px}.tab-technique-head span{color:#777e89;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:750}.tab-technique-group{grid-template-columns:82px 1fr;align-items:center;gap:7px;display:grid}.tab-technique-group-label{color:#7f8793;text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:800;line-height:1.25}.tab-technique-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.tab-technique-options button{color:#d9dde4;border-radius:var(--radius-md);text-align:left;background:#0e1116;border:1px solid #ffffff13;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:43px;padding:5px 7px;display:grid}.tab-technique-options button>b{color:#9fa7b3;border-radius:var(--radius-md);background:#ffffff0b;place-items:center;width:25px;height:25px;font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.tab-technique-options button>span{gap:2px;min-width:0;display:grid}.tab-technique-options button strong{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.tab-technique-options button small{color:#717986;white-space:nowrap;text-overflow:ellipsis;font-size:7px;line-height:1.1;overflow:hidden}.tab-technique-options button:hover{color:#fff;background:#172536;border-color:#387fc0}.tab-technique-options button.active{color:#fff;background:#0f5da9;border-color:#63b2fb;box-shadow:inset 0 0 0 1px #ffffff14}.tab-technique-options button.active>b{color:#fff;background:#ffffff24}.tab-technique-options button.active small{color:#cae7ff}.tab-add-row{color:#6a9ed1;border-radius:var(--radius-lg);background:#1687ff06;border:1px solid #1687ff26;justify-content:center;align-items:center;gap:8px;width:calc(100% - 24px);min-height:49px;margin:12px;font-size:11px;font-weight:760;display:flex}.tab-add-row:hover{color:#b8dcff;background:#1687ff14;border-color:#1687ff52}.direct-tab-transport{z-index:40;background:var(--bg-elevated);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);min-height:68px;box-shadow:0 -1px 0 var(--separator-opaque);grid-template-columns:48px 150px 1fr auto;align-items:center;gap:10px;margin-top:2px;padding:9px 12px;display:grid;position:sticky;bottom:10px}.direct-tab-transport .tab-play-button{width:46px;height:46px}.direct-tab-transport>div{flex-direction:column;gap:3px;display:flex}.direct-tab-transport span,.direct-tab-transport small{color:var(--text-tertiary);text-transform:uppercase;font-size:8px;font-weight:750}.direct-tab-transport strong{font-size:11px}.direct-tab-transport p{color:var(--text-secondary);text-align:center;font-size:9px}.direct-tab-transport>small{text-align:right}@media (max-width:850px){.direct-tab-editor-head{grid-template-columns:1fr 1fr 105px}.tab-edit-row{min-height:205px}.direct-tab-transport{grid-template-columns:48px 1fr auto}.direct-tab-transport p{display:none}}@media (max-width:600px){.direct-tab-editor-head{grid-template-columns:1fr 105px}.direct-tab-artist{grid-area:2/1/auto/-1}.tab-editor-filebar{flex-wrap:wrap}.tab-editor-filebar>span{display:none}.tab-edit-row{min-height:190px}.tab-technique-popover{width:min(390px,92vw)}.tab-technique-group{grid-template-columns:1fr;gap:3px}.tab-technique-options button{grid-template-columns:21px minmax(0,1fr);padding:4px}.tab-technique-options button>b{width:21px;height:23px}.tab-technique-options button small{display:none}.direct-tab-transport{bottom:calc(var(--nav-height) + 8px)}.direct-tab-transport>small{display:none}}.mini-chord-row{-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:6px;display:flex;overflow-x:auto}.mini-chord-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);text-align:center;flex:0 0 154px;padding:10px 8px 8px}.mini-chord-card>strong{color:var(--text-primary);min-height:18px;font-size:14px;display:block}.mini-chord-card>span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;font-size:9px;display:block}.mini-chord-diagram{width:100%;height:116px;display:block}.mini-string,.mini-fret{stroke:#636366;stroke-width:1px}.mini-nut{stroke:var(--text-secondary);stroke-width:3.5px}.mini-note-dot{fill:var(--text-primary);stroke:var(--text-primary)}.mini-open-circle{fill:none;stroke:var(--text-primary);stroke-width:1.5px}.mini-open-mark{fill:var(--text-secondary);font-size:10px}.mini-fret-label{fill:var(--text-secondary);font-size:9px}.mini-note-label{fill:var(--bg-surface);pointer-events:none;font-size:6px;font-weight:900}.mini-open-circle{fill:var(--bg-surface)}.mini-open-circle+.mini-note-label{fill:var(--text-primary)}.mini-string-hit{cursor:pointer;outline:none}.mini-string-hitbox{fill:#0000;pointer-events:all}.mini-string-hit:hover .mini-string,.mini-string-hit:focus .mini-string{stroke:var(--accent-strong)}.mini-note-dot.mini-string-active{fill:#c0e0ff;stroke:#fff;filter:drop-shadow(0 0 3px #0a84ffb3)}.mini-open-circle.mini-string-active{stroke:var(--accent);stroke-width:2.2px;filter:drop-shadow(0 0 3px #0a84ffb3)}.mini-string-feedback{border-radius:var(--radius-md);background:var(--bg-app);min-height:28px;color:var(--text-secondary);justify-content:center;align-items:center;padding:4px 5px;font-size:9px;line-height:1.25;display:flex}.mini-chord-formula{color:var(--text-tertiary);letter-spacing:.04em;margin:5px 0 3px;font-size:9px;font-weight:800}.mini-card-subtitle{min-height:15px;color:var(--text-tertiary);margin-top:2px;font-size:9px;display:block}.mini-card-actions{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.mini-hear-button{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;cursor:pointer;background:0 0;border:0;padding:3px 6px 1px;font-size:10px}.mini-hear-button:hover{color:var(--accent-strong)}.mini-scale-diagram{width:100%;max-width:250px;height:116px;margin:4px auto;display:block}.mini-string-horizontal,.mini-fret-vertical{stroke:#636366;stroke-width:1px}.mini-scale-note{fill:#2a6aa0;stroke:#5aabee;stroke-width:1px}.mini-scale-root{fill:#d0e8ff;stroke:#fff;stroke-width:1.5px}.mini-scale-wrap{flex-direction:column;align-items:stretch;display:flex}.suggestion-stack{flex-direction:column;flex:0 0 154px;gap:5px;display:flex}.suggestion-stack .mini-chord-card{box-sizing:border-box;flex-basis:auto;width:100%}.scale-suggestion-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.scale-suggestion-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);padding:12px}.scale-suggestion-card>strong{margin-bottom:5px;display:block}.scale-suggestion-card p{color:var(--text-secondary);margin:6px 0;font-size:12px;line-height:1.45}.scale-suggestion-card small{color:var(--text-tertiary)}.transport{align-items:center;gap:12px;display:flex}.transport-readout{flex-direction:column;display:flex}.transport-readout strong{font-size:20px}.transport-readout span{color:var(--text-secondary);font-size:12px}.progression-strip{-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.chord-chip{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);text-align:center;min-width:64px;color:var(--text-secondary);padding:10px 14px;font-weight:600;transition:all .15s}.chord-chip.active{color:#fff;border-color:var(--accent);background:var(--accent-dim)}.chord-chip strong{font-size:12px;display:block}.chord-chip small{color:var(--text-tertiary);font-size:8px;display:block}.chord-chip.active small{color:#ffffffa6}.transport-panel .progression-strip{padding-bottom:3px;overflow-x:auto}.transport-panel .chord-chip{flex-direction:column;gap:3px;display:flex}.help-button{border-radius:var(--radius-full);border:1px solid var(--separator-opaque);background:var(--bg-surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;place-items:center;padding:0;font-size:14px;font-weight:700;display:grid}.help-button:hover{background:var(--bg-elevated);color:var(--text-primary)}.help-overlay{z-index:1000;padding:var(--space-lg);background:#0009;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.help-modal{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);width:min(680px,92vw);max-height:82vh;padding:var(--space-lg);overflow-y:auto;box-shadow:0 24px 80px #00000080}.help-modal-head{justify-content:space-between;align-items:start;gap:var(--space-lg);border-bottom:.5px solid var(--separator);padding-bottom:14px;display:flex}.help-modal-head h2{margin:2px 0 0;font-size:22px}.help-kicker{color:var(--text-tertiary);letter-spacing:.12em;font-size:10px;font-weight:800}.help-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1}.help-section{padding-top:15px}.help-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 10px;font-size:13px}.help-section ol{margin:0;padding-left:22px}.help-section li{margin:7px 0;line-height:1.45}.help-details p{color:var(--text-secondary);margin:8px 0;line-height:1.55}.practice-timer-pill{right:16px;bottom:calc(var(--nav-height) + var(--actions-bar-height,0px) + 20px);z-index:150;min-width:150px;min-height:var(--touch-min);text-align:left;border:1px solid var(--separator-opaque);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:#1c1c1ef2;grid-template-rows:1fr 1fr;grid-template-columns:22px 1fr;align-items:center;column-gap:8px;padding:8px 12px;display:grid;position:fixed;box-shadow:0 8px 32px #0006}.practice-timer-pill>span{grid-row:1/3;font-size:17px}.practice-timer-pill small{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.practice-timer-pill.running{border-color:#0a84ff66;box-shadow:0 8px 32px #0006,0 0 0 1px #0a84ff1a}.practice-timer-pill.running>span{animation:1.4s ease-in-out infinite practice-timer-pulse}.practice-timer-pill.done{border-color:#30d15866}.practice-timer-overlay{right:16px;bottom:calc(var(--nav-height) + var(--actions-bar-height,0px) + 20px);z-index:150;border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);background:#1c1c1ef7;width:min(330px,100vw - 32px);padding:16px;position:fixed;box-shadow:0 18px 58px #00000080}.practice-timer-overlay.running{border-color:#0a84ff4d}.practice-timer-overlay.done{border-color:#30d1584d;animation:.6s ease-out practice-timer-done}.practice-timer-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.practice-timer-head>div{flex-direction:column;gap:4px;display:flex}.practice-timer-head strong{color:var(--text-primary);font-size:13px}.practice-timer-clock{color:var(--text-primary);letter-spacing:-.04em;margin:14px 0 8px;font:900 36px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.practice-timer-progress{background:var(--separator-opaque);border-radius:99px;height:4px;overflow:hidden}.practice-timer-progress>div{background:var(--accent);border-radius:99px;height:100%;transition:width .35s linear}.practice-timer-overlay.done .practice-timer-progress>div{background:var(--accent-2)}.practice-timer-meta{color:var(--text-tertiary);justify-content:space-between;gap:10px;margin:6px 0 12px;font-size:9px;display:flex}.practice-timer-presets{grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:10px;display:grid}.practice-timer-presets .seg-button{min-width:0;padding-left:5px;padding-right:5px}.practice-timer-note{color:var(--text-tertiary);margin-top:10px;font-size:9px;line-height:1.45;display:block}@keyframes practice-timer-pulse{50%{filter:brightness(1.35);transform:scale(1.12)}}@keyframes practice-timer-done{0%{transform:scale(.96);box-shadow:0 0 #30d15800}55%{transform:scale(1.015);box-shadow:0 0 30px #30d15833}to{transform:scale(1)}}@media (min-width:900px){.practice-timer-pill,.practice-timer-overlay{bottom:calc(var(--actions-bar-height,0px) + 28px)}}.seg-button{border:1px solid var(--separator-opaque);background:var(--bg-surface);min-height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;padding:7px 12px;font-size:13px;font-weight:600;transition:all .15s}.seg-button:hover{background:var(--bg-elevated)}.seg-button.active{background:var(--accent);color:#fff;border-color:#0000}.caged-tabs{gap:6px;display:flex}.shape-button{border:1px solid var(--separator-opaque);background:var(--bg-surface);width:48px;height:40px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-weight:800;transition:all .15s}.shape-button:active{transform:scale(.95)}.shape-button.active{background:var(--accent);color:#fff;border-color:#0000}.jam-main-controls{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.composition-panel{padding-bottom:16px}.composition-row{grid-template-columns:1fr;align-items:end;gap:12px;display:grid}.composition-description{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:3px;min-height:48px;padding:10px 12px;display:flex}.composition-description strong{color:var(--text-primary);font-size:12px}.composition-description span{color:var(--text-secondary);font-size:10px}.composition-select-stack{grid-template-columns:1fr 1fr;gap:9px;display:grid}.arranger-panel{padding-bottom:var(--space-md)}.song-timeline{-webkit-overflow-scrolling:touch;gap:5px;min-height:50px;margin:8px 0 14px;padding-bottom:2px;display:flex;overflow-x:auto}.timeline-section{border:1px solid var(--separator-opaque);background:var(--bg-surface);min-width:110px;color:var(--text-primary);border-radius:var(--radius-sm);text-align:left;cursor:pointer;padding:9px 11px;transition:all .15s}.timeline-section:hover{border-color:var(--text-tertiary)}.timeline-section.active{border-color:var(--accent);background:var(--accent-dim);box-shadow:inset 0 -2px 0 var(--accent)}.timeline-section strong,.timeline-section span{display:block}.timeline-section strong{font-size:12px}.timeline-section span{color:var(--text-secondary);text-transform:capitalize;margin-top:4px;font-size:10px}.timeline-section.active span{color:var(--accent-strong)}.arranger-list{flex-direction:column;gap:8px;display:flex}.arranger-section{border:1px solid var(--separator-opaque);border-radius:var(--radius-md);background:var(--bg-surface);padding:14px;transition:all .15s}.arranger-section.active{border-color:var(--accent);box-shadow:0 0 0 1px #0a84ff1a}.arranger-section-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.arranger-section-name{align-items:center;gap:9px;min-width:200px;display:flex}.section-number{border-radius:var(--radius-full);background:var(--accent-dim);width:26px;height:26px;color:var(--accent-strong);flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.section-name-input{width:min(230px,45vw);color:var(--text-primary);background:0 0;border:0;border-bottom:1px solid #0000;outline:none;padding:4px 2px;font-size:14px;font-weight:700}.section-name-input:focus{border-bottom-color:var(--accent)}.section-actions{gap:5px;display:flex}.arranger-fields,.arranger-fields-v2,.arranger-fields-v3{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));align-items:end;gap:10px;display:grid}.arranger-fields .field>span{font-size:10px}.arranger-fields .field select{min-height:38px;padding:8px;font-size:12px}.section-footer{border-top:.5px solid var(--separator);justify-content:space-between;align-items:center;gap:14px;margin-top:11px;padding-top:10px;display:flex}.section-chords{flex-wrap:wrap;gap:5px;display:flex}.section-chords span{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--separator-opaque);color:var(--text-secondary);padding:4px 7px;font-size:10px;font-weight:700}.section-footer-actions{color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:10px;font-size:10px;display:flex}.chord-sequence-editor{margin-top:10px}.chord-duration-editor{margin-top:13px}.chord-duration-track{-webkit-overflow-scrolling:touch;align-items:stretch;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.duration-chord-block{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);min-width:96px;padding:9px;transition:all .15s}.duration-chord-block:hover{border-color:var(--text-tertiary)}.duration-chord-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px;display:flex}.duration-chord-head strong{font-size:13px}.duration-chord-head span{color:var(--text-secondary);white-space:nowrap;font-size:9px}.duration-snap-slider{width:100%;accent-color:var(--accent);margin:0}.duration-snap-slider:disabled{opacity:.45}.duration-ticks{color:var(--text-tertiary);grid-template-columns:repeat(4,1fr);margin-top:1px;font-size:8px;display:grid}.duration-ticks span:nth-child(2),.duration-ticks span:nth-child(3){text-align:center}.duration-ticks span:last-child{text-align:right}.tiny-note{color:var(--text-tertiary);margin-top:5px;font-size:9px}.section-duration-total{color:var(--text-secondary);font-size:10px;font-weight:700}.editable-chord{cursor:pointer;position:relative}.editable-chord.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px #0a84ff1a}.add-chord-card{border:1px dashed var(--separator);background:var(--bg-surface);min-width:48px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;place-items:center;font-size:22px;display:grid}.add-chord-card:hover{color:var(--text-primary);border-color:var(--text-tertiary);background:var(--bg-elevated)}.chord-edit-drawer{border:1px solid var(--separator-opaque);background:var(--bg-app);border-radius:var(--radius-sm);margin-top:8px;padding:10px}.chord-edit-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.chord-edit-title b{font-size:11px}.chord-edit-title span{color:var(--text-tertiary);font-size:9px}.chord-edit-fields{grid-template-columns:minmax(130px,.7fr) minmax(160px,1fr);gap:9px;max-width:520px;display:grid}.chord-edit-actions{margin-top:9px}.band-panel{padding-bottom:16px}.band-panel-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:14px;display:flex}.band-panel-header h2{margin:3px 0 0}.band-master-controls{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px;margin-bottom:10px;padding:12px;display:grid}.band-accordion-list{flex-direction:column;gap:6px;display:flex}.band-accordion{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);overflow:hidden}.band-accordion.muted-track{opacity:.6}.band-accordion summary{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:var(--touch-min);justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;list-style:none;display:flex}.band-accordion summary::-webkit-details-marker{display:none}.band-accordion summary:after{content:"▾";color:var(--text-tertiary);font-size:12px;transition:transform .2s;transform:rotate(-90deg)}.band-accordion[open] summary:after{transform:rotate(0)}.band-summary-name{align-items:center;gap:9px;font-weight:700;display:flex}.band-summary-name b{text-align:center;width:24px;font-size:16px}.band-summary-meta{color:var(--text-tertiary);margin-left:auto;font-size:11px;font-weight:700}.band-accordion-body{border-top:.5px solid var(--separator);padding:14px}.band-track-head,.compact-track-head{margin-bottom:10px;display:flex}.band-track-controls{grid-template-columns:repeat(2,minmax(160px,1fr));gap:14px;display:grid}.track-toggle{color:var(--text-secondary);align-items:center;gap:8px;min-height:36px;font-size:12px;font-weight:700;display:flex}.track-toggle input{accent-color:var(--accent);width:16px;height:16px}.mixer-panel{padding-bottom:var(--space-md)}.master-strip{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);max-width:430px;margin-bottom:10px;padding:12px}.mixer-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;display:grid}.mixer-strip{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);padding:12px;transition:all .15s}.mixer-strip.disabled{opacity:.4}.mixer-strip.soloed{background:#ffd60a0d;border-color:#ffd60a66}.mixer-strip-title{align-items:center;gap:8px;margin-bottom:9px;display:flex}.mixer-strip-title span{font-size:17px}.mixer-strip-title strong{font-size:12px}.mixer-buttons{gap:5px;margin-bottom:10px;display:flex}.mixer-button{border:1px solid var(--separator-opaque);background:var(--bg-elevated);width:32px;height:28px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:10px;font-weight:900;transition:all .12s}.mixer-button.mute.active{color:#ffaaa5;background:#ff453a33;border-color:#ff453a4d}.mixer-button.solo.active{color:#ffe580;background:#ffd60a26;border-color:#ffd60a4d}.mixer-control{color:var(--text-secondary);flex-direction:column;gap:5px;margin-top:8px;font-size:9px;font-weight:700;display:flex}.mixer-control span{justify-content:space-between;gap:8px;display:flex}.mixer-control b{color:var(--text-primary);font-weight:800}.mixer-control input[type=range]{width:100%;accent-color:var(--accent)}.playback-panel{padding-top:14px;padding-bottom:14px}.playback-controls{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-items:end;gap:14px;display:grid}.jam-share-status{border-radius:var(--radius-sm);color:var(--accent-strong);background:#0a84ff0d;border:1px solid #0a84ff4d;margin:-3px 0 10px;padding:8px 10px;font-size:11px}.saved-song-list{gap:6px;display:grid}.saved-song-row{grid-template-columns:minmax(140px,1fr) auto auto;align-items:center;gap:6px;display:grid}.saved-song-row>.button:first-child{text-align:left}.jam-explainer,.fretboard-help{color:var(--text-secondary);margin:14px 0 0;font-size:13px;line-height:1.5}.jam-explainer strong{color:var(--text-primary)}.beginner-guide{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-left:3px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:16px;padding:16px}.beginner-guide>strong{margin-bottom:10px;font-size:15px;display:block}.guide-steps{color:var(--text-secondary);grid-template-columns:1fr;gap:12px;font-size:13px;line-height:1.45;display:grid}.guide-steps b{color:#fff;margin-right:3px}.target-readout{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;font-size:13px;display:flex}.target-readout strong{color:#fff;margin-right:12px}.centered{justify-content:center}.technique-library-summary{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.technique-library-summary>div{flex-direction:column;gap:4px;display:flex}.technique-library-summary strong{font-size:17px}.technique-library-summary span{color:var(--text-secondary);font-size:12px;line-height:1.45}.technique-library-controls{align-items:end}.technique-exercise-guide{flex-direction:column;gap:14px;display:flex}.technique-guide-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.technique-guide-heading h2{margin:4px 0 0;font-size:22px}.technique-level{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;align-items:flex-end;gap:3px;font-size:10px;font-weight:700;display:flex}.technique-level strong{color:var(--accent-strong);letter-spacing:.14em;font-size:12px}.technique-rule-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.technique-rule-card{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:88px;padding:14px}.technique-rule-card span{letter-spacing:.1em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.technique-rule-card strong{color:var(--text-primary);font-size:13px;line-height:1.55;display:block}.technique-rule-card.focus{border-left:3px solid var(--accent)}.technique-rule-card.rule{border-left:3px solid var(--accent-2)}.technique-rule-card.mistake{border-left:3px solid var(--orange)}.technique-legend{color:var(--text-secondary);flex-wrap:wrap;gap:14px 24px;padding-top:2px;font-size:10px;display:flex}.technique-legend b{color:var(--text-primary)}.technique-playback-panel{flex-direction:column;gap:14px;display:flex}.technique-transport-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.technique-status{color:var(--text-secondary);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.status-dot{background:var(--separator-opaque);border-radius:50%;width:8px;height:8px}.technique-practice-controls{grid-template-columns:1fr;align-items:end;gap:14px;max-width:680px;display:grid}.control-mini-label{color:var(--text-secondary);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.speed-buttons{gap:6px;display:flex}.speed-buttons .seg-button{min-width:60px;font-weight:800}.technique-ladder{border:1px solid var(--separator-opaque);border-radius:var(--radius-md);background:var(--bg-surface);flex-direction:column;gap:10px;padding:14px;display:flex}.technique-ladder.goal-held{border-color:#30d1584d;box-shadow:inset 0 0 0 1px #30d15814}.technique-ladder-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.technique-ladder-head>div{flex-direction:column;gap:4px;display:flex}.technique-ladder-head strong{font-size:15px}.technique-ladder p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.5}.technique-rating-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.technique-rating-row>span{color:var(--text-tertiary);margin-left:4px;font-size:10px}.technique-clean-button{color:var(--accent-2);border-color:#30d1584d}.technique-clean-button:hover{background:#30d1581a;border-color:#30d15880}.technique-messy-button{color:#ffaaa5;border-color:#ff453a4d}.technique-messy-button:hover{background:#ff453a1a;border-color:#ff453a66}.technique-result-strip{flex-wrap:wrap;gap:5px;display:flex}.technique-result-pill{border-radius:var(--radius-full);border:1px solid var(--separator-opaque);background:var(--bg-surface);color:var(--text-secondary);align-items:center;gap:4px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.technique-result-pill.clean{color:var(--accent-2);border-color:#30d1584d}.technique-result-pill.messy{color:#ffaaa5;border-color:#ff453a4d}.beginner-role-card{align-items:stretch}.beginner-role-card .role-copy{display:flex;flex-direction:column!important;align-items:flex-start!important;gap:4px!important}.beginner-role-card .role-copy>span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.beginner-role-card .role-copy>strong{max-width:720px;line-height:1.42;color:var(--text-primary)!important;font-size:14px!important}.beginner-role-card .role-copy>small{color:var(--text-tertiary);font-size:10px}.beginner-role-card .role-copy>small b{color:var(--accent-strong)}.rhythm-grid{grid-template-columns:repeat(var(--steps), minmax(24px, 1fr));gap:5px;max-width:980px;margin:26px auto 10px;display:grid}.rhythm-step{border:1px solid var(--separator-opaque);border-radius:var(--radius-md);height:42px;color:var(--text-tertiary);place-items:center;display:grid}.rhythm-step.beat{border-color:var(--text-tertiary);color:var(--text-secondary)}.rhythm-step.active{background:var(--accent);color:#fff;transform:translateY(-2px)}.rhythm-pattern-grid{grid-template-columns:repeat(var(--steps), minmax(44px, 1fr));-webkit-overflow-scrolling:touch;gap:5px;width:100%;margin:28px auto 12px;display:grid;overflow-x:auto}.rhythm-pattern-step{border:1px solid var(--separator-opaque);border-radius:var(--radius-xs);background:var(--bg-surface);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:44px;height:88px;transition:all .1s;display:flex}.rhythm-pattern-step small{color:var(--text-tertiary);font-size:11px;font-weight:800}.rhythm-pattern-step strong{font-size:26px;line-height:1}.rhythm-pattern-step span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:9px}.rhythm-pattern-step.beat{border-color:var(--text-tertiary)}.rhythm-pattern-step.active{background:var(--accent-dim);border-color:var(--accent);transform:translateY(-2px)}.rhythm-pattern-step.active span,.rhythm-pattern-step.active small{color:var(--accent-strong)}.rhythm-rule-panel{border-left:3px solid var(--accent);padding-left:var(--space-md);flex-direction:column;gap:6px;display:flex}.rhythm-rule-panel strong{color:var(--text-primary);font-size:14px;line-height:1.45}.rhythm-rule-panel strong em{color:var(--accent-strong);font-style:normal}.rhythm-rule-panel p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.5}.rhythm-practice-panel{gap:18px}.rhythm-count-callout{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px;display:flex;overflow-x:auto}.rhythm-count-callout span{color:var(--text-tertiary);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:800}.rhythm-count-callout strong{color:var(--text-primary);white-space:pre;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.rhythm-notation{grid-template-columns:56px minmax(0,1fr);align-items:stretch;gap:6px 8px;width:100%;display:grid}.rhythm-notation-label{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;align-items:center;font-size:9px;font-weight:800;display:flex}.rhythm-notation-track{grid-template-columns:repeat(var(--steps), minmax(40px, 1fr));gap:4px;display:grid;overflow-x:auto}.rhythm-notation-cell{border:1px solid var(--separator-opaque);border-radius:var(--radius-xs);background:var(--bg-surface);flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:40px;min-height:44px;transition:all .1s;display:flex}.rhythm-notation-cell.beat{border-left-color:var(--text-tertiary);border-left-width:2px}.rhythm-notation-cell.active{background:var(--accent-dim);border-color:var(--accent);transform:translateY(-2px)}.rhythm-notation-cell.count{color:var(--text-secondary);font-size:12px;font-weight:800}.rhythm-notation-cell.hand strong{color:var(--text-primary);font-size:24px;line-height:1}.rhythm-notation-cell.hand small,.rhythm-notation-cell.strings small{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:800}.rhythm-notation-cell.hand.silent-motion strong{color:#0000;-webkit-text-stroke:1px #ebebf54d;opacity:.78}.rhythm-notation-cell.strings strong{color:var(--text-primary);font-size:18px;line-height:1}.rhythm-notation-cell.strings.rest strong{color:var(--text-tertiary)}.rhythm-notation-cell.strings.mute strong{color:var(--orange)}.rhythm-notation-cell.strings.accent strong{color:var(--accent-strong)}.rhythm-legend-row{width:100%;color:var(--text-secondary);flex-wrap:wrap;justify-content:center;gap:9px 18px;font-size:9px;display:flex}.rhythm-legend-row b{color:var(--text-primary)}.groove-compare-panel h2{margin:3px 0 0}.groove-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:14px;display:grid}.groove-card{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);padding:12px;transition:all .15s}.groove-card.playing{border-color:var(--accent);box-shadow:0 0 0 1px #0a84ff1a}.groove-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.groove-card-head>div{min-width:0}.groove-card-head strong{font-size:14px;display:block}.groove-card-head span{color:var(--text-secondary);margin-top:2px;font-size:11px;display:block}.groove-grid{grid-template-columns:repeat(var(--groove-steps), minmax(24px, 1fr));gap:3px;margin:12px 0 8px;padding-bottom:3px;display:grid;overflow-x:auto}.groove-cell{border:1px solid var(--separator-opaque);border-radius:var(--radius-md);background:var(--bg-app);min-width:24px;min-height:44px;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.groove-cell span{font-size:9px;font-weight:800}.groove-cell strong{font-size:18px;line-height:1}.groove-cell.hit{color:var(--text-primary);border-color:var(--text-tertiary)}.groove-cell.muted{color:var(--orange)}.groove-cell.active{background:var(--accent-dim);border-color:var(--accent);transform:translateY(-1px)}.groove-card p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.45}.ear-call-card .ear-stage-hint{max-width:680px;margin:3px auto 8px}.ear-answer-buttons,.chord-ear-options{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.ear-response-dots{justify-content:center;gap:7px;margin-top:15px;display:flex}.ear-response-dots span{border-radius:var(--radius-full);border:1px solid var(--separator-opaque);width:32px;height:32px;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.ear-response-dots span.done{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-strong)}.ear-clean-streak{color:var(--text-tertiary);margin-top:9px;font-size:10px;display:block}.chord-ear-options{max-width:760px;margin-left:auto;margin-right:auto}.chord-ear-choice.correct{border-color:var(--accent-2);background:#30d1581a}.ear-theory-reveal{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);max-width:700px;color:var(--text-secondary);margin:14px auto 0;padding:10px 12px;font-size:12px}.fretboard-trainer-card>strong{font-size:clamp(28px,6vw,48px)}.fretboard-trainer-meta{flex-wrap:wrap;justify-content:center;gap:10px;min-height:24px;margin-top:12px;display:flex}.fretboard-trainer-meta b{border-radius:var(--radius-full);border:1px solid var(--separator-opaque);background:var(--bg-surface);min-height:24px;color:var(--text-secondary);letter-spacing:.03em;align-items:center;padding:4px 8px;font-size:10px;display:inline-flex}.trainer-feedback{min-height:20px}.trainer-reveal{color:var(--text-secondary);margin-top:8px;display:block}.interval-learning-panel{flex-direction:column;gap:14px;display:flex}.scale-note-pills{margin:0}.note-pills{flex-wrap:wrap;gap:6px;display:flex}.note-pills span{border:1px solid var(--separator-opaque);border-radius:var(--radius-full);color:var(--text-secondary);padding:7px 12px;font-size:13px}.note-pills strong{color:#fff;margin-right:7px}.interval-meaning-block{margin-top:12px}.interval-meaning-block.compact{margin-top:10px}.interval-meaning-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.interval-meaning-strip{flex-wrap:wrap;gap:6px;display:flex}.interval-meaning-chip{border:1px solid var(--separator-opaque);border-radius:var(--radius-full);background:var(--bg-surface);min-height:32px;color:var(--text-secondary);align-items:center;gap:6px;padding:5px 8px 5px 5px;font-size:10px;display:flex}.interval-meaning-chip strong{border-radius:var(--radius-full);color:#d0e8ff;background:#1a4b7a;place-items:center;min-width:24px;height:24px;padding:0 5px;font-size:10px;display:grid}.interval-meaning-chip span{white-space:nowrap}.theory-why{border-top:.5px solid var(--separator);margin-top:12px;padding-top:10px}.theory-why-toggle{color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:2px 0;font-size:11px;font-weight:700;display:inline-flex}.theory-why-toggle:hover{color:var(--accent-strong)}.theory-why-toggle b{width:22px;height:22px;color:var(--accent);border:1px solid #0a84ff4d;border-radius:50%;place-items:center;font-size:9px;display:grid}.theory-why-body{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);max-width:900px;margin-top:9px;padding:12px}.theory-why-body p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.theory-why-body ul{color:var(--text-secondary);margin:8px 0 0;padding-left:19px;font-size:12px;line-height:1.5}.theory-why-body li+li{margin-top:4px}.note-button-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;margin-bottom:16px;display:grid}.two-col{grid-template-columns:1fr;gap:24px;display:grid}.two-col p{color:var(--text-secondary);margin-bottom:0}.compact-title-row h2{margin-bottom:10px}.caged-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.caged-toolbar .caged-tabs{margin:0}.caged-view-tabs{flex-wrap:wrap;gap:6px;display:flex}.caged-free-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.caged-overlay-toggle{padding:7px 9px;font-size:11px}.caged-overlay-explainer{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;padding:10px;font-size:10px;display:flex}.caged-overlay-explainer b{color:var(--text-primary);margin-right:7px}.caged-overlay-explainer .muted{margin-left:auto}.legend-dot{border-radius:50%;width:11px;height:11px;display:inline-block}.legend-dot.scale{background:#1a4b7a;border:1px solid #4a9eed}.legend-dot.chord{background:#1d6b3a;border:1px solid #6dd892}.legend-dot.connection{background:#7a5a1a;border:1px solid #ffd60a;box-shadow:0 0 8px #ffd60a33}.caged-toolbar-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.caged-guide-panel{background:var(--bg-surface);border-color:#0a84ff4d}.caged-guide-progress{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:15px;display:grid}.caged-guide-step{border:1px solid var(--separator-opaque);background:var(--bg-surface);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;text-align:left;align-items:center;gap:9px;min-height:48px;padding:8px 10px;transition:all .15s;display:flex}.caged-guide-step span{border:1px solid var(--separator-opaque);border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:800;display:grid}.caged-guide-step b{font-size:11px}.caged-guide-step.done{color:var(--accent-2);border-color:#30d1584d}.caged-guide-step.done span{border-color:var(--accent-2);color:#d0ffd8;background:#30d15826}.caged-guide-step.active{color:var(--text-primary);border-color:var(--accent);background:var(--accent-dim)}.caged-guide-step.active span{background:var(--accent);border-color:var(--accent-strong);color:#fff}.caged-guide-copy{justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;align-items:flex-end;display:flex}.caged-guide-copy h2{margin:3px 0 7px}.caged-guide-copy p{max-width:820px;color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.caged-guide-copy small{color:var(--text-tertiary);margin-top:8px;display:block}.caged-guide-copy small b{color:var(--text-secondary)}.caged-guide-actions{flex:none;align-items:center;gap:8px;display:flex}.caged-next-connection{letter-spacing:.02em;min-width:200px;font-weight:800}.analysis-grid{grid-template-columns:1fr;gap:16px;display:grid}.chord-result-card{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.chord-result-name{letter-spacing:-.04em;font-size:clamp(28px,6vw,46px);font-weight:900;line-height:1}.compact-pills span{padding:5px 9px}.candidate-list{flex-direction:column;gap:7px;display:flex}.candidate-row{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);justify-content:space-between;gap:18px;padding:9px 10px;display:flex}.candidate-row span{color:var(--text-secondary);font-size:12px}.context-chips{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.context-chips strong{color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-full);padding:5px 9px}.key-context-hero{justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);flex-wrap:wrap;margin-bottom:16px;padding:12px;display:flex}.key-context-hero>div:first-child{color:var(--text-secondary);align-items:baseline;gap:9px;font-size:12px;display:flex}.key-context-hero>div:first-child strong{color:var(--text-primary);font-size:24px}.key-context-hero .context-chips{justify-content:flex-end;margin-top:0}.context-neighbor-group+.context-neighbor-group{margin-top:17px}.context-neighbor-group h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;margin:0 0 8px;font-size:11px}.compact-empty{padding:18px}.chord-facts{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;display:flex}.chord-facts b{color:var(--text-primary)}.difference-callout{color:var(--warn);border-radius:var(--radius-sm);background:#ffd60a0d;border:1px solid #ffd60a4d;padding:8px 10px;font-size:11px}.tiny-action{border:1px solid var(--separator-opaque);background:var(--bg-surface);color:var(--text-secondary);border-radius:var(--radius-xs);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;padding:6px 7px;font-size:9px;transition:all .15s}.tiny-action:hover{border-color:var(--accent);color:var(--accent-strong)}.progression-workspace{border-color:#0a84ff4d}.progression-workspace .panel-title-row>div:first-child h2{margin-top:3px}.progression-chord-strip{-webkit-overflow-scrolling:touch;gap:7px;padding-bottom:7px;display:flex;overflow-x:auto}.progression-work-card{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-width:150px;padding:9px;display:grid}.progression-work-card>div:nth-child(2){flex-direction:column;gap:2px;display:flex}.progression-work-card strong{font-size:13px}.progression-work-card span{color:var(--accent);font-size:10px;font-weight:800}.progression-play{background:var(--accent-dim);width:30px;height:30px;color:var(--accent-strong);cursor:pointer;border:1px solid #0a84ff4d;border-radius:50%;place-items:center;display:grid}.progression-card-actions{flex-direction:column;gap:2px;display:flex}.progression-card-actions button{border:1px solid var(--separator-opaque);background:var(--bg-surface);width:22px;height:19px;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;padding:0;font-size:9px}.progression-card-actions button:disabled{opacity:.25;cursor:default}.progression-key-summary{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 12px;padding:12px;font-size:11px;display:flex}.progression-key-summary>strong{color:var(--text-primary);font-size:17px}.progression-key-summary>span:nth-of-type(2){color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:800}.progression-key-summary .context-chips{margin:0 0 0 auto}.voice-leading-list{flex-direction:column;gap:7px;display:flex}.voice-leading-row{border:1px solid var(--separator-opaque);background:var(--bg-surface);border-radius:var(--radius-sm);grid-template-columns:1fr;gap:10px;padding:10px;display:grid}.voice-leading-route{color:var(--text-secondary);align-items:center;gap:7px;display:flex}.voice-leading-route strong{color:var(--text-primary);font-size:12px}.voice-leading-score{flex-direction:column;gap:2px;display:flex}.voice-leading-score b{color:var(--accent);font-size:11px}.voice-leading-score span{color:var(--text-tertiary);font-size:9px}.voice-leading-row p{color:var(--text-secondary);margin:0;font-size:11px;line-height:1.35}.chord-lab-toast{left:50%;bottom:calc(var(--nav-height) + var(--actions-bar-height,0px) + 24px);z-index:300;background:var(--accent-dim);color:var(--accent-strong);border-radius:var(--radius-full);border:1px solid #0a84ff4d;padding:10px 18px;font-size:13px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 14px 42px #0006}.draw-mode-modal{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);width:min(520px,92vw);padding:var(--space-lg);box-shadow:0 24px 80px #00000080}.draw-mode-modal h2{margin:5px 0 8px}.draw-mode-modal p{color:var(--text-secondary);margin:0 0 17px;line-height:1.5}.daily-generator-controls{align-items:end}.daily-generator-controls>.button{align-self:end;min-height:38px}.daily-adaptive-summary{gap:var(--space-md);border-color:#0a84ff4d;grid-template-columns:1fr;align-items:center;display:grid}.daily-adaptive-summary>div:first-child{flex-direction:column;gap:5px;display:flex}.daily-adaptive-summary>div:first-child>strong{font-size:19px}.daily-adaptive-summary p{max-width:660px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.5}.daily-weak-skills{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:7px;display:grid}.daily-skill-chip{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);flex-direction:column;gap:3px;min-width:0;padding:10px;display:flex}.daily-skill-chip span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:800;overflow:hidden}.daily-skill-chip strong{font-size:14px}.daily-skill-chip small{color:var(--text-tertiary);font-size:9px}.daily-progress-copy{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.daily-progress-copy p{margin:5px 0 0}.daily-progress-copy>strong{color:var(--accent-2);font-size:11px}.routine-list{flex-direction:column;gap:8px;display:flex}.routine-item{border:1px solid var(--separator-opaque);border-radius:var(--radius-md);background:var(--bg-surface);grid-template-columns:40px 1fr auto auto;align-items:center;gap:12px;padding:14px;display:grid}.routine-item.done{opacity:.5}.routine-index{background:var(--accent-dim);width:34px;height:34px;color:var(--accent-strong);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.routine-copy{flex-direction:column;display:flex}.routine-copy span{color:var(--text-secondary);margin-top:3px;font-size:13px}.routine-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.routine-title-row>span{border-radius:var(--radius-full);border:1px solid var(--separator-opaque);text-transform:uppercase;letter-spacing:.05em;padding:3px 6px;font-weight:800;color:var(--accent)!important;font-size:8px!important}.adaptive-routine-list .routine-item{align-items:center}.adaptive-routine-list .routine-copy>small{max-width:760px;color:var(--text-tertiary);margin-top:5px;font-size:9px;line-height:1.4;display:block}.progress-line{background:var(--separator-opaque);border-radius:var(--radius-full);height:5px;overflow:hidden}.progress-line div{background:var(--accent-2);border-radius:var(--radius-full);height:100%;transition:width .25s}.home-command-grid{grid-template-columns:1fr;gap:12px;margin-bottom:12px;display:grid}.home-continue-card,.home-today-card{flex-direction:column;justify-content:center;align-items:flex-start;min-height:140px;display:flex}.home-continue-card p,.home-today-card p{color:var(--text-secondary);max-width:660px;font-size:12px;line-height:1.5}.home-continue-card .button,.home-today-card .button-row{margin-top:8px}.home-snapshot-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px;display:grid}.home-stat-card{flex-direction:column;justify-content:center;gap:6px;min-height:100px;display:flex}.home-stat-card>strong{font-size:24px}.home-stat-card>small{color:var(--text-tertiary);font-size:9px;line-height:1.4}.home-chip-row{flex-wrap:wrap;gap:5px;display:flex}.home-chip-row b{border:1px solid var(--separator-opaque);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--accent);padding:4px 8px;font-size:9px;font-weight:800}.home-routine-preview{margin-bottom:12px}.home-routine-strip{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:7px;margin-top:12px;display:grid}.home-routine-step{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);min-width:0;color:inherit;align-items:center;gap:9px;padding:10px;text-decoration:none;transition:all .15s;display:flex}.home-routine-step:hover{border-color:var(--accent);background:var(--bg-elevated)}.home-routine-step>span{background:var(--accent-dim);height:26px;color:var(--accent-strong);border-radius:50%;flex:0 0 26px;place-items:center;font-size:10px;font-weight:800;display:grid}.home-routine-step div{flex-direction:column;gap:2px;min-width:0;display:flex}.home-routine-step strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.home-routine-step small{color:var(--text-tertiary);font-size:9px}.center-panel{text-align:center}.tuner-panel{text-align:center;max-width:700px;padding:var(--space-xl);margin:0 auto}.tuner-note{font-size:clamp(56px,12vw,82px);font-weight:900;line-height:1}.tuner-frequency{color:var(--text-secondary);margin-top:7px}.tuner-meter{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);height:50px;margin:25px 0 8px;position:relative;overflow:hidden}.tuner-center{background:var(--accent-2);width:2px;position:absolute;top:0;bottom:0;left:50%}.tuner-needle{background:var(--warn);width:3px;transition:left 80ms linear;position:absolute;top:7px;bottom:7px;transform:translate(-50%)}.tuner-cents{color:var(--text-secondary);margin-bottom:22px}.bpm-display{letter-spacing:-.04em;margin:15px 0 20px;font-size:clamp(56px,12vw,82px);font-weight:900;line-height:1}.bpm-display small{color:var(--text-tertiary);letter-spacing:.15em;text-transform:uppercase;margin-top:8px;font-size:11px;font-weight:700;display:block}.beat-lights{justify-content:center;gap:8px;margin-top:24px;display:flex}.beat-light{border:1px solid var(--separator-opaque);width:40px;height:40px;color:var(--text-secondary);border-radius:50%;place-items:center;transition:all .1s;display:grid}.beat-light.active{background:var(--accent);color:#fff;box-shadow:0 0 12px #0a84ff66}.tap-button{border-radius:var(--radius-lg);background:var(--accent);color:#fff;cursor:pointer;border:none;width:200px;height:120px;margin:4px 0 14px;font-size:32px;font-weight:900;transition:all .15s}.tap-button:active{background:var(--accent-strong);transform:scale(.95)}.lab-presets-panel{padding:10px 12px}.lab-presets-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lab-presets-head>div{flex-direction:column;gap:2px;display:flex}.lab-presets-head strong{font-size:12px}.lab-presets-head small{color:var(--text-tertiary);font-size:9px}.lab-preset-list{gap:5px;margin-top:9px;display:grid}.lab-preset-row{grid-template-columns:minmax(120px,1fr) 30px 30px 30px;align-items:stretch;gap:5px;display:grid}.lab-preset-load{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-surface);min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;padding:7px 9px;transition:all .12s}.lab-preset-load:hover{border-color:var(--accent);background:var(--bg-elevated)}.lab-preset-load strong,.lab-preset-load small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lab-preset-load strong{font-size:11px}.lab-preset-load small{color:var(--text-tertiary);margin-top:2px;font-size:9px}.lab-preset-empty{color:var(--text-tertiary);margin:8px 0 0;font-size:9px}.lab-preset-message{color:var(--accent);margin-top:7px;font-size:9px;display:block}.riff-chord-guide{background:var(--separator-opaque);border:1px solid var(--separator-opaque);gap:1px;margin-bottom:10px;display:flex}.riff-chord{background:var(--bg-surface);flex:1;gap:2px;min-width:0;padding:7px 10px;display:grid}.riff-chord small{color:var(--text-tertiary);font:700 8.5px var(--font-mono);letter-spacing:.12em}.riff-chord strong{font:650 14px/1 var(--font-display)}.saved-riff-list{gap:5px;display:grid}.saved-riff-row{grid-template-columns:minmax(140px,1fr) 30px 30px;align-items:stretch;gap:5px;display:grid}.saved-riff-row .lab-preset-form{grid-column:1/-1;margin-top:0}.saved-riff-load{text-align:left;min-width:0;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);cursor:pointer;padding:8px 10px;transition:all .12s}.saved-riff-load:hover{border-color:var(--accent);background:var(--bg-elevated)}.saved-riff-row.active .saved-riff-load{border-color:var(--accent);background:var(--accent-dim)}.saved-riff-load strong,.saved-riff-load small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.saved-riff-load strong{font-size:12px}.saved-riff-load small{color:var(--text-tertiary);font:500 9.5px var(--font-mono);margin-top:2px}.riff-name-form{gap:8px;margin:12px 0 0;display:flex}.riff-name-form input{min-width:0;height:40px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator);border-radius:var(--radius-sm);flex:1;padding:0 12px}.riff-name-form input:focus{border-color:var(--accent)}.riff-notice{color:var(--accent-strong);margin:10px 0 0;font-size:11.5px}.jam-riff-card{gap:10px;display:grid}.jam-riff-head{flex-wrap:wrap;align-items:baseline;gap:8px 14px;display:flex}.jam-riff-head h2{margin:0;font-size:17px}.jam-riff-head small{color:var(--text-tertiary);font:500 10px var(--font-mono);letter-spacing:.06em}.jam-riff-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}@media (min-width:900px){.two-col{grid-template-columns:1fr 1fr}.analysis-grid{grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr)}.voice-leading-row{grid-template-columns:minmax(140px,.65fr) minmax(160px,.75fr) minmax(200px,1.3fr) auto}.composition-row{grid-template-columns:minmax(380px,520px) 1fr}.daily-adaptive-summary{grid-template-columns:minmax(240px,1fr) minmax(320px,1.2fr)}.home-command-grid{grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr)}.guide-steps{grid-template-columns:repeat(3,1fr)}.home-continue-card,.home-today-card{min-height:180px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-in{animation:.3s ease-out slideUp}html{background:var(--bg-app)}body{background:var(--bg-app);color:var(--text-primary)}.app-shell{background:0 0;display:block;position:relative}.shell-stage{min-width:0;min-height:100dvh}.app-sidebar{display:none}.shell-topbar{z-index:90;min-height:var(--top-bar-height);background:var(--bg-surface);border-bottom:1px solid var(--separator-opaque);align-items:center;gap:10px;padding:0 12px;display:flex;position:sticky;top:0}.mobile-brand{border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--separator-opaque);flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.mobile-brand img{object-fit:contain;width:24px;height:24px}.i18n-surface{min-height:100dvh}.mobile-nav-control{flex:none;display:none;position:relative}.mobile-nav-toggle{width:34px;height:34px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-sm);place-items:center;display:grid}.mobile-nav-toggle:hover,.mobile-nav-toggle[aria-expanded=true]{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-dim)}.mobile-nav-popover{z-index:140;background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-md);gap:2px;width:min(280px,100vw - 24px);padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 34px #0009}.mobile-nav-popover .tab-bar-item{min-height:44px;color:var(--text-secondary);border-radius:var(--radius-sm);letter-spacing:0;border:0;flex-direction:row;justify-content:flex-start;gap:11px;padding:0 11px;font-size:13px;font-weight:600;display:flex}.mobile-nav-popover .tab-bar-item:hover{color:var(--text-primary);background:var(--bg-hover)}.mobile-nav-popover .tab-bar-item.active{color:var(--text-primary);background:var(--accent-dim);box-shadow:inset 2px 0 0 var(--accent)}.mobile-nav-popover .tab-bar-icon{width:20px;height:20px;color:var(--text-tertiary)}.mobile-nav-popover .tab-bar-item.active .tab-bar-icon{color:var(--accent-strong)}.mobile-nav-account{min-height:44px;color:var(--text-secondary);border-top:1px solid var(--separator);border-radius:var(--radius-sm);align-items:center;gap:9px;margin-top:5px;padding:6px 11px;font-size:12px;font-weight:600;display:flex}.mobile-nav-account:hover,.mobile-nav-account.active{color:var(--text-primary);background:var(--bg-hover)}.mobile-nav-account-avatar{width:26px;height:26px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--separator-strong);border-radius:var(--radius-sm);flex:none;place-items:center;display:grid}.mobile-nav-account:hover .mobile-nav-account-avatar,.mobile-nav-account.active .mobile-nav-account-avatar{color:var(--accent-strong);border-color:var(--accent)}.mobile-nav-account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mobile-nav-account>svg{color:var(--text-tertiary);flex:none}.content{width:100%;max-width:1480px;padding:14px 14px calc(var(--nav-height) + 24px);margin:0 auto;overflow-x:clip}.tab-bar{height:76px;padding:8px max(4px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px, env(safe-area-inset-left));background:#08090ceb;border-top:1px solid #ffffff13;align-items:flex-start;box-shadow:0 -12px 36px #00000047}.tab-bar-item{color:#6f7480;gap:4px;min-width:56px;padding:4px 8px;font-size:10px;font-weight:650}.tab-bar-icon{border-radius:var(--radius-lg);place-items:center;width:29px;height:28px;transition:background .18s,box-shadow .18s;display:grid}.tab-bar-item.active .tab-bar-icon{background:var(--accent-dim);box-shadow:inset 0 0 0 1px #1687ff1f}.page{gap:18px}.page-top-bar{background:#050608e0;border-bottom:1px solid #ffffff0b;min-height:58px;padding:9px 0;top:66px}.page-heading-copy{flex:1;min-width:0}.page-heading-copy p{max-width:720px;color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.45;display:none}.back-button,.settings-trigger,.help-button,.icon-button{color:var(--text-secondary);background:#121419e0;border:1px solid #ffffff14}.button{border-radius:var(--radius-lg);background:#181b21;border-color:#ffffff16;font-size:14px;box-shadow:inset 0 1px #ffffff06}.button.primary{background:var(--accent);border-color:#5baeff52;box-shadow:0 10px 26px #0070eb2e,inset 0 1px #ffffff2e}.button.primary:hover{background:#1178e6}.button-quiet{color:#c3c6ce;background:#ffffff0b}.action-secondary{justify-content:center;align-items:center;gap:7px;display:inline-flex}input,select,textarea,.seg-button,.pill-button,.toggle-button{border-color:#ffffff16}.panel,.hero-card,.challenge-card,.tip,.content-card,.draw-mode-modal,.help-modal,.practice-timer-overlay{background:var(--bg-surface);border-color:#ffffff13;box-shadow:inset 0 1px #ffffff05,0 18px 55px #0000001f}.brand-tag,.category-count,.home-live-tag{color:#8fc7ff;border-radius:var(--radius-sm);letter-spacing:.02em;background:#1687ff17;border:1px solid #3c9dff38;align-items:center;gap:6px;width:max-content;min-height:27px;padding:5px 10px;font-size:10px;font-weight:700;display:inline-flex}.muted-tag{color:var(--text-secondary);background:#ffffff09;border-color:#ffffff13}.category-page{padding-top:4px}.category-hero{border-radius:var(--radius-md);border:1px solid var(--separator-opaque);background:var(--bg-surface);justify-content:space-between;align-items:flex-end;gap:24px;min-height:190px;padding:28px;display:flex;position:relative;overflow:hidden}.category-hero:after{content:"";width:280px;height:280px;box-shadow:none;border:0;position:absolute;top:-100px;right:-75px}.category-hero>*{z-index:1;position:relative}.category-hero h1{letter-spacing:-.02em;margin:12px 0 5px;font-size:clamp(24px,3.6vw,34px);line-height:1.08}.category-hero p{color:var(--text-secondary);font-size:14px}.category-count{color:var(--text-secondary);white-space:nowrap;background:#ffffff0b;border-color:#ffffff14}.tool-grid{grid-template-columns:1fr;gap:10px}.tool-card{background:var(--bg-surface);border-color:var(--separator-opaque);border-radius:var(--radius-md);min-height:104px;box-shadow:none;align-items:center;padding:16px}.tool-card:hover{background:var(--bg-elevated);border-color:var(--separator-strong);box-shadow:none}.tool-card-icon{color:#75b9ff;border-radius:var(--radius-md);background:#1687ff1a;border:1px solid #1687ff29;place-items:center;width:46px;height:46px;padding:0;display:grid}.tool-card-info{flex:1;gap:5px}.tool-card-info h3{font-size:15px}.tool-card-info p{color:#7f8490}.tool-card-arrow{color:#555b67;flex:none;transition:transform .2s,color .2s}.tool-card:hover .tool-card-arrow{color:var(--accent-strong);transform:translate(3px)}.home-page{isolation:isolate;padding-top:2px;position:relative}.home-page:before{content:"";z-index:-1;pointer-events:none;opacity:.09;filter:saturate(.8);background:linear-gradient(#0506081f,#050608 92%),url(/guitar-os-icon.png) 92% 25%/min(620px,78vw) no-repeat;height:720px;position:absolute;top:-100px;bottom:auto;left:-14px;right:-14px}.home-hero{border-radius:var(--radius-xl);background:var(--bg-surface);border:1px solid #ffffff16;align-items:end;gap:28px;min-height:520px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff09,0 32px 90px #0000004d}.home-hero:before{content:"";pointer-events:none;opacity:.55;background-color:#0000;background-image:linear-gradient(90deg,#ffffff06 1px,#0000 1px),linear-gradient(#ffffff06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:46px 46px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(135deg,#0000 5%,#000 70%);mask-image:linear-gradient(135deg,#0000 5%,#000 70%)}.home-hero:after{content:"";aspect-ratio:1;border:1px solid #4eaaff2e;border-radius:50%;width:420px;position:absolute;top:-180px;right:-170px;box-shadow:0 0 0 54px #1687ff06,0 0 0 108px #1687ff04}.home-hero>*{z-index:1;position:relative}.home-hero-copy{align-self:center}.home-tag-row{flex-wrap:wrap;gap:7px;display:flex}.home-overline{color:var(--accent-strong);letter-spacing:.13em;text-transform:uppercase;margin-top:38px;font-size:11px;font-weight:800}.home-hero h1{letter-spacing:-.065em;max-width:780px;margin-top:10px;font-size:clamp(40px,8vw,76px);font-weight:720;line-height:.96}.home-hero h1 span{color:#777c87}.home-intro{color:#9a9eaa;max-width:610px;margin-top:20px;font-size:clamp(14px,2vw,17px);line-height:1.55}.home-hero-actions{flex-wrap:wrap;gap:9px;margin-top:26px;display:flex}.home-hero-actions .button{min-height:49px;padding:12px 18px;font-size:13px}.home-session-card{border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);background:#0e1015b8;align-self:end;padding:18px;box-shadow:inset 0 1px #ffffff09,0 22px 50px #00000040}.session-card-head{color:#6e7480;justify-content:space-between;align-items:center;display:flex}.session-card-head>span{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.home-session-card>strong{letter-spacing:-.03em;margin-top:25px;font-size:24px;display:block}.home-session-card>p{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.45}.home-session-card>a,.home-card-topline>a,.home-text-link{color:var(--accent-strong);align-items:center;gap:6px;margin-top:18px;font-size:12px;font-weight:700;display:inline-flex}.home-section{margin-top:6px}.home-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.home-section-heading h2{margin-top:4px;font-size:24px}.home-live-tag{color:var(--text-secondary);background:#ffffff09;border-color:#ffffff12}.home-snapshot-grid{grid-template-columns:1fr;gap:10px;margin:0}.home-stat-card{border-radius:var(--radius-lg);background:linear-gradient(145deg,#12141aeb,#0a0c10f5);border:1px solid #ffffff12;flex-direction:column;justify-content:center;gap:5px;min-height:132px;margin:0;padding:20px;display:flex}.home-stat-card>span{color:#6d727e;letter-spacing:.075em;text-transform:uppercase;font-size:10px;font-weight:750}.home-stat-card>strong{letter-spacing:-.04em;margin-top:6px;font-size:28px;line-height:1}.home-stat-card>small{color:var(--text-secondary);margin-top:4px;font-size:10px}.home-workspace-grid{gap:12px;display:grid}.home-routine-card,.home-focus-card{border-radius:var(--radius-xl);background:linear-gradient(145deg,#12141aeb,#0a0c10f7);border:1px solid #ffffff13;margin:0;padding:22px;box-shadow:inset 0 1px #ffffff05}.home-card-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.home-card-topline>a{white-space:nowrap;margin:0}.home-routine-card>h2,.home-focus-card>h2{margin-top:22px;font-size:23px}.home-routine-card>p,.home-focus-card>p{max-width:660px;color:var(--text-secondary);margin-top:7px;font-size:12px;line-height:1.55}.home-routine-strip{grid-template-columns:1fr;gap:7px;margin-top:20px}.home-routine-step{border-radius:var(--radius-md);background:#ffffff06;border-color:#ffffff12;min-height:59px;margin:0}.home-routine-step:hover{background:#1687ff12}.home-routine-step>span{border-radius:var(--radius-lg);flex-basis:30px;width:30px;height:30px;font-size:9px}.home-routine-step strong{font-size:11px}.home-routine-step small{font-size:9px}.home-start-routine{margin-top:16px}.home-focus-card{background:var(--bg-surface)}.home-focus-card>.eyebrow{color:var(--accent-strong)}.home-focus-group{margin-top:20px}.home-focus-group>span{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:9px;font-weight:750;display:block}.home-chip-row{gap:6px}.home-chip-row b{color:#b7bbc4;background:#ffffff09;border-color:#ffffff14;padding:6px 10px;font-size:10px;font-weight:650}@media (min-width:640px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-routine-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){:root{--nav-height:0px;--sidebar-width:var(--rail-width)}.app-shell{flex-direction:row;display:flex}.app-sidebar{z-index:120;width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--separator-opaque);flex-direction:column;padding:0;display:flex;position:fixed;top:0;bottom:0;left:0;right:auto}.app-brand{height:var(--top-bar-height);border-bottom:1px solid var(--separator-opaque);align-items:center;padding:0 14px;display:flex}.app-brand img{object-fit:contain;object-position:left center;width:116px;height:26px}.app-nav-caption{color:var(--text-tertiary);letter-spacing:.14em;text-transform:uppercase;margin:0;padding:14px 14px 8px;font-size:9px;font-weight:700}.sidebar-nav{border-top:1px solid var(--separator);flex-direction:column;display:flex}.sidebar-nav .tab-bar-item{border-right:0;border-bottom:1px solid var(--separator);width:100%;min-height:40px;color:var(--text-secondary);letter-spacing:0;border-radius:0;flex-direction:row;justify-content:flex-start;gap:11px;padding:0 14px;font-size:13px;font-weight:500;position:relative}.sidebar-nav .tab-bar-item:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-nav .tab-bar-item.active{color:var(--text-primary);background:var(--bg-elevated);box-shadow:inset 2px 0 0 var(--accent)}.sidebar-nav .tab-bar-icon{width:18px;height:18px;color:var(--text-tertiary)}.sidebar-nav .active .tab-bar-icon{color:var(--accent-strong)}.shell-stage{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width)}.shell-topbar{min-height:var(--top-bar-height);background:var(--bg-surface);padding:0 20px}.mobile-brand,.tab-bar{display:none}.content{padding:24px 30px 46px}.page{min-height:calc(100vh - 72px)}.page-top-bar{background:0 0;border:0;min-height:66px;padding:4px 0 14px;position:relative;top:auto}.page-heading-copy h1{font-size:30px}.page-heading-copy p{display:block}.practice-timer-pill,.practice-timer-overlay{right:22px}.category-page{padding-top:0}.category-hero{min-height:225px;padding:34px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool-card{min-height:112px;padding:18px}.home-hero{grid-template-columns:minmax(0,1.5fr) minmax(250px,.58fr);min-height:500px;padding:clamp(36px,5vw,64px)}.home-session-card{max-width:330px}.home-workspace-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)}}@media (min-width:1220px){:root{--sidebar-width:244px;--content-pad:38px}.app-sidebar{padding-left:19px;padding-right:19px}.content{padding-left:38px;padding-right:38px}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-routine-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.animate-in{animation:none}*,:before,:after{scroll-behavior:auto!important}}.tab-library-page,.tab-composer-page,.tab-viewer-page{gap:14px}.tab-library-hero{border-radius:var(--radius-xl);background:linear-gradient(90deg,#0a0c1033,#0a0c10b8 34%,#0000 70%),linear-gradient(145deg,#151922,#080a0e);border:1px solid #ffffff16;justify-content:space-between;align-items:flex-end;gap:28px;min-height:245px;padding:30px;display:flex;position:relative;overflow:hidden}.tab-library-hero:after{content:"";opacity:.28;background:repeating-linear-gradient(#0000 0 22px,#84beff42 23px 24px);width:480px;height:220px;position:absolute;top:-34px;right:-65px;transform:rotate(-7deg)}.tab-library-hero>*{z-index:1;position:relative}.tab-library-hero h1{letter-spacing:-.05em;max-width:590px;margin:20px 0 8px;font-size:clamp(34px,6vw,58px);line-height:.98}.tab-library-hero p{color:var(--text-secondary);font-size:14px}.tab-library-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tab-library-heading{justify-content:space-between;align-items:center;padding:9px 2px 0;display:flex}.tab-library-heading h2{font-size:17px}.tab-library-heading span{color:var(--text-tertiary);font-size:11px}.tab-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.tab-library-card{border-radius:var(--radius-xl);background:linear-gradient(145deg,#13161dfa,#0a0c10fa);border:1px solid #ffffff14;grid-template-columns:150px minmax(0,1fr) 24px;align-items:center;gap:18px;min-height:176px;padding:17px;transition:border-color .18s,transform .18s,background .18s;display:grid;overflow:hidden}.tab-library-card:hover{background:linear-gradient(145deg,#171d27,#0c1016);border-color:#1687ff7a;transform:translateY(-2px)}.tab-card-art{border-radius:var(--radius-lg);background:#080a0d;border:1px solid #ffffff12;height:136px;position:relative;overflow:hidden}.tab-card-art i{background:#414750;height:1px;position:absolute;left:10px;right:10px}.tab-card-art b{color:#0000;border-radius:var(--radius-sm);background:#65b2ff;width:7px;height:13px;position:absolute;box-shadow:0 0 10px #1687ff80}.tab-card-copy{min-width:0}.tab-card-type{color:#65b2ff;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.tab-card-copy h2{white-space:nowrap;text-overflow:ellipsis;margin:8px 0 4px;font-size:19px;overflow:hidden}.tab-card-copy>p{color:var(--text-secondary);font-size:12px}.tab-card-meta{flex-wrap:wrap;gap:5px;margin-top:17px;display:flex}.tab-card-meta span{color:#777d89;text-transform:uppercase;background:#ffffff09;border:1px solid #fff1;border-radius:99px;padding:4px 7px;font-size:8px;font-weight:750}.tab-card-arrow{color:#545b67}.tab-library-card:hover .tab-card-arrow{color:var(--accent-strong);transform:translate(2px)}.tab-library-empty{min-height:240px;color:var(--text-tertiary);border-radius:var(--radius-lg);background:#0d0f13;border:1px dashed #ffffff1a;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.tab-library-empty strong{color:var(--text-primary)}.tab-library-empty span{font-size:12px}.tab-viewer-page{max-width:100%}.tab-view-actions{gap:7px;display:flex}.tab-viewer-title{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid #ffffff14;justify-content:space-between;align-items:flex-end;gap:24px;min-height:150px;padding:25px 28px;display:flex}.tab-viewer-title h1{margin:10px 0 3px;font-size:clamp(30px,5vw,46px)}.tab-viewer-title p{color:var(--text-secondary)}.tab-viewer-stats{align-items:stretch;gap:7px;display:flex}.tab-viewer-stats span{min-width:74px;color:var(--text-tertiary);border-radius:var(--radius-lg);text-transform:uppercase;background:#ffffff09;border:1px solid #ffffff12;flex-direction:column;gap:3px;padding:10px;font-size:8px;display:flex}.tab-viewer-stats strong{color:var(--text-primary);text-transform:none;font-size:13px}.tab-score-sheet{flex-direction:column;gap:10px;display:flex}.tab-score-line{border-radius:var(--radius-lg);background:#0a0c0f;border:1px solid #ffffff14;overflow:hidden}.tab-score-line-label{color:#5f6672;letter-spacing:.06em;text-transform:uppercase;padding:10px 15px 5px;font-size:9px;font-weight:800}.tab-score-line .guitar-tab-wrap{background:0 0;border:0;border-radius:0}.tab-score-line .guitar-tab{min-width:920px}.tab-score-line .tab-number-bg{fill:#0a0c0f}.tab-score-line .tab-active-note .tab-number-bg{fill:var(--accent);stroke:#9cd1ff}.tab-score-line .tab-string-line{stroke:#4b5059}.tab-viewer-spacer{height:76px}.tab-viewer-transport{z-index:95;left:14px;right:14px;bottom:calc(var(--nav-height) + 10px);background:var(--bg-elevated);border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);align-items:center;gap:11px;min-height:72px;padding:10px 14px;display:flex;position:fixed;box-shadow:0 10px 30px #00000080}.tab-now-playing{flex-direction:column;gap:2px;min-width:92px;display:flex}.tab-now-playing span{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.tab-now-playing strong{font-size:12px}.tab-library-return{min-height:38px;color:var(--text-secondary);border:1px solid #ffffff14;border-radius:99px;align-items:center;gap:6px;margin-left:auto;padding:0 12px;font-size:11px;font-weight:700;display:inline-flex}.tab-composer-meta{border-radius:var(--radius-xl);background:#101318;border:1px solid #ffffff14;grid-template-columns:1.2fr 1fr 160px;gap:9px;padding:15px;display:grid}.tab-composer-meta label{flex-direction:column;gap:6px;display:flex;position:relative}.tab-composer-meta label>span,.composer-event-controls label>span,.composer-event-controls>div>span{color:var(--text-tertiary);letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:800}.tab-composer-meta input,.composer-event-controls select{height:40px;color:var(--text-primary);border-radius:var(--radius-md);background:#090b0e;border:1px solid #ffffff17;outline:0;padding:0 10px}.tab-composer-meta input:focus{border-color:var(--accent)}.composer-tempo small{color:var(--text-tertiary);font-size:8px;position:absolute;bottom:13px;right:11px}.tab-composer-timeline,.tab-input-studio{border-radius:var(--radius-xl);background:linear-gradient(145deg,#12151b,#0b0d11);border:1px solid #ffffff14;padding:18px}.composer-section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.composer-section-head h2{margin-top:5px;font-size:18px}.composer-bars{flex-direction:column;gap:6px;display:flex}.composer-bar{scrollbar-width:thin;scrollbar-color:#303641 transparent;grid-template-columns:55px minmax(720px,1fr);align-items:stretch;display:grid;overflow-x:auto}.composer-bar>span{z-index:2;color:#777e89;background:#0d0f13;border:1px solid #ffffff12;border-right:0;border-radius:8px 0 0 8px;align-items:center;padding-left:8px;font-size:9px;font-weight:800;display:flex;position:sticky;left:0}.composer-bar>div{grid-template-columns:repeat(16,minmax(44px,1fr));display:grid}.composer-bar button{color:#6b717c;background:#090b0e;border:1px solid #ffffff0e;border-left:0;justify-content:center;align-items:center;min-height:48px;display:flex;position:relative}.composer-bar button.downbeat{border-left:1px solid #ffffff2b}.composer-bar button small{color:#4c525c;font-size:7px;position:absolute;top:4px;left:5px}.composer-bar button:hover{background:#1687ff12}.composer-bar button.selected{z-index:1;outline:2px solid var(--accent);outline-offset:-2px;background:#1687ff1c}.composer-bar button.has-event strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:42px;font-size:8px;overflow:hidden}.composer-bar button.has-event:after{content:"";border-radius:var(--radius-sm);background:#4da6ff;width:16px;height:3px;position:absolute;bottom:5px}.composer-event-controls{border-top:1px solid #ffffff0f;align-items:flex-end;gap:8px;margin-top:13px;padding-top:13px;display:flex}.composer-event-controls>div{flex-direction:column;gap:6px;min-width:132px;display:flex}.composer-event-controls>div strong{font-size:11px}.composer-event-controls label{flex-direction:column;gap:6px;min-width:120px;display:flex}.composer-event-controls>button{min-height:40px;color:var(--text-secondary);border-radius:var(--radius-md);background:#0c0e12;border:1px solid #ffffff14;align-items:center;gap:5px;padding:0 11px;font-size:10px;font-weight:700;display:inline-flex}.composer-event-controls>button:disabled{opacity:.25;cursor:default}.composer-event-controls>button.danger:not(:disabled){color:var(--danger)}.composer-mode-switch{border-radius:var(--radius-lg);background:#090b0e;border:1px solid #ffffff13;gap:3px;padding:3px;display:flex}.composer-mode-switch button{min-height:34px;color:var(--text-tertiary);border-radius:var(--radius-md);padding:0 14px;font-size:11px;font-weight:750}.composer-mode-switch button.active{color:#fff;background:#1b70c9}.composer-instruction{color:var(--text-secondary);margin:-3px 0 13px;font-size:11px}.tab-input-neck-wrap{scrollbar-width:thin;scrollbar-color:#554438 transparent;overflow-x:auto}.tab-input-neck{grid-template-columns:64px repeat(var(--neck-frets), minmax(54px, 1fr));border-radius:var(--radius-md);background:linear-gradient(#2b2019,#211711);border:1px solid #49382d;min-width:1000px;display:grid;overflow:hidden}.neck-corner,.neck-fret-number{color:#75695f;background:#12100f;border-right:1px solid #342b25;place-items:center;height:27px;font-size:8px;font-weight:750;display:grid}.neck-string-name{color:#eee8e2;background:#17120f;border-top:1px solid #44352c;justify-content:space-between;align-items:center;height:48px;padding:0 10px;display:flex}.neck-string-name strong{font-size:12px}.neck-string-name span{color:#75695f;font-size:8px}.tab-input-neck>button{border-top:1px solid #45362d;border-right:2px solid #65564c;place-items:center;height:48px;display:grid;position:relative}.tab-input-neck>button:after{content:"";background:#e6ded4a6;height:1px;position:absolute;left:0;right:0;box-shadow:0 1px 1px #00000080}.tab-input-neck>button span{z-index:1;color:#b8aea6;opacity:0;background:#110d0bdb;border:1px solid #6c5d53;border-radius:50%;place-items:center;width:26px;height:26px;font-size:9px;font-weight:800;transition:opacity .12s,transform .12s,background .12s;display:grid;position:relative}.tab-input-neck>button:hover span,.tab-input-neck>button.active span{opacity:1;transform:scale(1.05)}.tab-input-neck>button.active span{color:#fff;background:var(--accent);border-color:#9bd0ff;box-shadow:0 0 15px #1687ff73}.tab-chord-search{min-height:48px;color:var(--text-tertiary);border-radius:var(--radius-lg);background:#090b0e;border:1px solid #ffffff14;align-items:center;gap:10px;padding:0 13px;display:flex}.tab-chord-search:focus-within{color:var(--accent-strong);border-color:var(--accent)}.tab-chord-search input{min-width:0;height:46px;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;padding:0}.tab-chord-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.tab-chord-result{border-radius:var(--radius-lg);background:#0c0e12;border:1px solid #ffffff13;flex-direction:column;gap:11px;min-height:135px;padding:13px;display:flex}.tab-chord-result>div:first-child{flex-direction:column;gap:3px;display:flex}.tab-chord-result strong{font-size:13px}.tab-chord-result>div:first-child span{color:var(--text-tertiary);font-size:9px}.tab-chord-frets{grid-template-columns:repeat(6,1fr);gap:3px;display:grid}.tab-chord-frets span{color:#fff;border-radius:var(--radius-md);background:#1a68b5;border:1px solid #4799e8;place-items:center;height:29px;font-size:9px;font-weight:800;display:grid}.tab-chord-frets span.muted{color:#5b616b;background:#101216;border-color:#292d34}.tab-chord-result .button{width:100%;margin-top:auto}@media (min-width:900px){.tab-viewer-transport{left:calc(var(--sidebar-width,244px) + 30px);bottom:18px;right:30px}}@media (max-width:900px){.tab-library-grid{grid-template-columns:1fr}.tab-chord-results{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-composer-meta{grid-template-columns:1fr 1fr}.composer-tempo{grid-column:span 2}}@media (max-width:640px){.tab-library-hero{flex-direction:column;align-items:flex-start;min-height:300px;padding:22px}.tab-library-actions{justify-content:flex-start;width:100%}.tab-library-actions .button{flex:1}.tab-library-card{grid-template-columns:105px minmax(0,1fr) 18px;gap:12px;min-height:142px;padding:12px}.tab-card-art{height:112px}.tab-card-copy h2{font-size:16px}.tab-card-meta{margin-top:10px}.tab-viewer-title{flex-direction:column;align-items:flex-start;min-height:200px;padding:21px}.tab-viewer-stats{width:100%}.tab-viewer-stats span{flex:1;min-width:0}.tab-viewer-transport{bottom:calc(var(--nav-height) + 7px);flex-wrap:wrap}.tab-viewer-transport .tab-tempo-control{flex-basis:100%;order:5;max-width:none}.tab-library-return{display:none}.tab-now-playing{flex:1}.tab-composer-meta{grid-template-columns:1fr}.composer-tempo{grid-column:auto}.tab-composer-timeline,.tab-input-studio{padding:14px}.composer-event-controls{flex-wrap:wrap}.composer-event-controls>div{flex-basis:100%}.composer-event-controls label{flex:1;min-width:120px}.composer-event-controls>button{flex:1;justify-content:center}.tab-chord-results{grid-template-columns:1fr}.composer-section-head{align-items:flex-start}}.crash-screen{background:var(--bg-app,#000);min-height:100vh;color:var(--text-primary,#f7f8fa);place-items:center;padding:24px;font:15px/1.6 DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;display:grid}.crash-panel{background:var(--bg-surface,#111318);border:1px solid var(--separator,#ffffff14);border-radius:var(--radius-lg,20px);width:100%;max-width:560px;padding:28px}.crash-kicker{color:var(--danger,#ff453a);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.crash-panel h1{letter-spacing:-.02em;margin:10px 0 0;font-size:24px;line-height:1.2}.crash-panel>p{color:var(--text-secondary,#969aa5);margin:12px 0 0}.crash-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.crash-note{color:var(--accent-2,#30d158);margin:14px 0 0;font-size:13px}.crash-note-warn{color:var(--warn,#ffd60a)}.crash-note code{border-radius:var(--radius-sm);background:#ffffff12;padding:2px 5px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.crash-details{margin-top:20px}.crash-details summary{color:var(--text-tertiary,#626773);cursor:pointer;font-size:12px}.crash-details pre{max-height:220px;color:var(--text-secondary,#969aa5);background:var(--bg-grouped,#0c0e12);border-radius:var(--radius-sm,10px);white-space:pre-wrap;word-break:break-word;margin:12px 0 0;padding:12px;font:11.5px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.title-select{vertical-align:middle;display:inline-flex;position:relative}.title-select-trigger{min-height:32px;color:inherit;background:var(--bg-grouped);border:1px solid var(--separator-strong);font:inherit;letter-spacing:inherit;cursor:pointer;border-radius:0;align-items:center;gap:0;padding:0 9px;transition:color .16s,background .16s,border-color .16s;display:inline-flex}.title-select-value{border:0;transition:color .16s}.title-select-trigger:hover,.title-select.open .title-select-trigger{color:var(--accent-strong);background:var(--accent-dim);border-color:var(--accent)}.title-select-trigger:hover .title-select-value,.title-select.open .title-select-value{color:var(--accent-strong)}.title-select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:0}.title-select-menu{z-index:60;background:var(--bg-elevated);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);min-width:196px;max-width:min(340px,100vw - 32px);padding:7px;position:absolute;top:calc(100% + 9px);left:0;box-shadow:0 18px 44px #00000080}.title-select-menu-label{color:var(--text-tertiary);letter-spacing:.13em;text-transform:uppercase;padding:5px 9px 7px;font-size:9.5px;font-weight:700;display:block}.title-select-list{outline:0;max-height:min(322px,52vh);margin:0;padding:0;list-style:none;overflow-y:auto}.title-select-option{width:100%;min-height:40px;color:var(--text-primary);text-align:left;border-radius:var(--radius-xs);font-family:var(--font-body,sans-serif);letter-spacing:0;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 11px;font-size:14px;font-weight:500;line-height:1.35;display:flex}.title-select-option small{color:var(--text-tertiary);font-size:11px;font-weight:400}.title-select-option[data-active=true]{background:var(--bg-input)}.title-select-option.selected{color:var(--accent-strong)}.title-select-option.selected:after{content:"✓";color:var(--accent);font-size:12px}.title-select-option.selected small{color:var(--accent-strong);opacity:.7}.lab-controls{background:var(--bg-grouped);border:1px solid var(--separator);border-radius:var(--radius-md);flex-wrap:wrap;gap:14px 22px;padding:14px 16px;display:flex}.lab-controls>*{min-width:0}.lab-controls .chip-select{flex:auto}.content>.page{animation:.22s both page-in}@keyframes page-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.content>.page{animation:none}}.lab-preset-form{gap:8px;margin-top:12px;display:flex}.lab-preset-form input{min-width:0;height:40px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator);border-radius:var(--radius-sm);font:inherit;outline:0;flex:1;padding:0 12px}.lab-preset-form input:focus{border-color:var(--accent)}.lab-preset-confirm{align-items:center;gap:7px;display:flex}.lab-preset-confirm>span{color:var(--text-secondary);white-space:nowrap;font-size:12px}.button.danger{color:#fff;background:var(--danger);border-color:#0000}.tap-handoff{margin-top:14px}.tap-handoff-row{flex-wrap:wrap;gap:9px;margin-top:12px;display:flex}.lab-presets-panel{border:0;border-radius:0}.panel,.content-card,.tool-card,.challenge-card,.center-panel,.fretboard-panel{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);box-shadow:none}.chip-group{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);flex-wrap:wrap;gap:0;display:flex;overflow:hidden}.chip-group>.chip{border:0;border-right:1px solid var(--separator);background:var(--bg-grouped);min-height:34px;color:var(--text-secondary);border-radius:0;flex:1 0 auto;padding:0 13px;font-size:12px;font-weight:500;transition:background .12s,color .12s}.chip-group>.chip:last-child{border-right:0}.chip-group>.chip:hover{background:var(--bg-hover);color:var(--text-primary)}.chip-group>.chip.active{color:#fff;background:var(--accent);border-right-color:var(--accent)}.chip-select>span{color:var(--text-tertiary);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:700;display:block}.button{min-height:34px;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);box-shadow:none;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:12.5px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.button:hover{background:var(--bg-hover);border-color:var(--separator-strong)}.button.primary{color:#fff;background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:#1178e6;border-color:#1178e6}.button.big{min-height:42px;padding:0 18px;font-size:13.5px}.action-primary,.action-secondary{border-radius:var(--radius-sm);box-shadow:none;letter-spacing:.01em;font-weight:600}.icon-button,.back-button,.settings-trigger,.icon-button:hover,.back-button:hover,.settings-trigger:hover,.back-button,.settings-trigger{width:34px;height:34px;min-height:0}.eyebrow,.brand-tag,.muted-tag{border-radius:var(--radius-xs);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:700}.brand-tag,.muted-tag{background:var(--bg-elevated);border:1px solid var(--separator-opaque);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.stat-chips{flex-wrap:wrap;gap:6px;display:flex}.stat-chip{background:var(--bg-grouped);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);flex-direction:column;gap:3px;min-width:74px;padding:7px 10px;display:flex}.stat-chip>span{color:var(--text-tertiary);letter-spacing:.12em;text-transform:uppercase;font-size:8.5px;font-weight:700}.stat-chip>strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.tool-card{border-radius:var(--radius-md);transition:background .12s,border-color .12s;transform:none!important}.tool-card-icon{border-radius:var(--radius-sm);background:var(--bg-grouped);border:1px solid var(--separator-opaque)}.field select,.field input[type=number],.field input[type=text]{border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--separator-opaque);min-height:34px;padding:0 30px 0 11px;font-size:12.5px}.field>span,.field>label{color:var(--text-tertiary);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:700}.lab-controls{border-radius:var(--radius-md);background:var(--bg-surface);gap:0;padding:0;overflow:hidden}.lab-controls>*{border-right:1px solid var(--separator);flex:190px;padding:12px 14px}.lab-controls>:last-child{border-right:0}.page-top-bar{border-bottom:1px solid var(--separator-opaque);background:0 0;gap:10px;padding:12px 0}.page-heading-copy p{color:var(--text-secondary);margin-top:3px;font-size:12.5px}.title-select-heading{letter-spacing:-.015em;font-size:22px;font-weight:600}.title-select-menu{border-radius:var(--radius-md);box-shadow:0 10px 26px #0000008c}.title-select-option{border-radius:var(--radius-xs)}.title-select-value{border-bottom-width:0}.panel-title-row>span{color:var(--text-tertiary);font-size:11px}.tech-family .title-select-trigger{min-height:28px;color:var(--text-tertiary);letter-spacing:.14em;text-transform:uppercase;font-size:9px;font-weight:700}.technique-tempo{align-items:center}.technique-tempo .field{width:100%}.help-exercise{flex-direction:column;gap:10px;display:flex}.help-exercise p{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.55}.help-exercise p b{color:var(--text-tertiary);letter-spacing:.13em;text-transform:uppercase;margin-bottom:2px;font-size:8.5px;font-weight:700;display:block}.tech-legend{flex-wrap:wrap;gap:4px 14px;display:flex;font-size:11px!important}.tech-legend b{margin:0 5px 0 0!important;display:inline!important}.tech-legend>span{flex-basis:100%;height:0}.page-top-bar{order:0}.page-hero{order:2}.page-actions-bar{order:4}.settings-group{border-right:1px solid var(--separator);border-bottom:1px solid var(--separator);padding:14px}.settings-group-label{color:var(--text-tertiary);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:9px;font-weight:700;display:block}.settings-group-content{flex-direction:column;gap:12px;display:flex}.settings-group-collapsible{border-top:1px solid var(--separator);grid-column:1/-1}.settings-group-collapsible>summary{color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:12px 14px;font-size:9.5px;font-weight:700;list-style:none}.settings-group-collapsible>summary::-webkit-details-marker{display:none}.settings-group-collapsible>summary:after{content:" +";color:var(--text-tertiary)}.settings-group-collapsible[open]>summary:after{content:" –"}.settings-group-collapsible .settings-group-content{padding:0 14px 14px}@media (min-width:900px){.sidebar-nav{border-top:0;gap:1px;padding:4px 8px}.sidebar-nav .tab-bar-item{border-radius:var(--radius-sm);border-bottom:0;min-height:34px;padding:0 10px;font-size:13px}.sidebar-nav .tab-bar-item.active{background:var(--accent-dim);color:#fff;box-shadow:none;font-weight:600}.sidebar-nav .tab-bar-item.active .tab-bar-icon{color:var(--accent-strong)}.sidebar-nav .tab-bar-item:hover:not(.active){background:var(--bg-hover)}.app-nav-caption{padding:16px 18px 7px}.rail-account{border-top:1px solid var(--separator-opaque);color:var(--text-secondary);align-items:center;gap:9px;margin-top:auto;padding:10px 14px;text-decoration:none;transition:background .12s,color .12s;display:flex}.rail-account:hover{background:var(--bg-hover);color:var(--text-primary)}.rail-account.active{background:var(--bg-elevated);color:var(--text-primary)}.rail-account-avatar{background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-secondary);flex:none;place-items:center;display:grid}.rail-account.active .rail-account-avatar,.rail-account:hover .rail-account-avatar{color:var(--accent-strong);border-color:var(--accent)}.rail-account-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.rail-account-cog{color:var(--text-tertiary);flex:none}}@media (max-width:899px){.rail-account{display:none}}.page-heading-copy h1{letter-spacing:-.005em;font-size:17px;font-weight:600}.title-select-heading{letter-spacing:-.02em;font-size:26px;font-weight:650;line-height:1.12}.panel-title-row h2,.content-card h2{letter-spacing:.002em;font-size:13.5px;font-weight:600}.panel-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.compact-title-row{border-bottom:1px solid var(--separator);margin-bottom:11px;padding-bottom:9px}.panel,.content-card{padding:14px}.fretboard-panel{padding:14px 14px 10px}.fretboard-panel,.guitar-tab-wrap{background:var(--bg-grouped);border-color:var(--separator-strong)}.action-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.action-primary:hover{background:#1178e6}.action-secondary{background:var(--bg-elevated);border:1px solid var(--separator-opaque);color:var(--text-primary)}.action-secondary:hover{background:var(--bg-hover);border-color:var(--separator-strong)}.action-secondary.active{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-dim)}.page-actions-bar{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-md)}.cfg-block{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);overflow:hidden}.cfg-head{border-bottom:1px solid var(--separator);color:var(--text-tertiary);align-items:flex-start;gap:11px;padding:14px;display:flex}.cfg-head>div{min-width:0}.cfg-head h2{color:var(--text-primary);margin:0;font-size:13.5px;font-weight:600}.cfg-head p{color:var(--text-secondary);margin:3px 0 0;font-size:12px}.cfg-body{flex-direction:column;gap:11px;padding:14px;display:flex}.cfg-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;display:grid}.cfg-stats>div{border-right:1px solid var(--separator);flex-direction:column;gap:4px;padding:13px 14px;display:flex}.cfg-stats>div:last-child{border-right:0}.cfg-stats span{color:var(--text-tertiary);letter-spacing:.13em;text-transform:uppercase;font-size:8.5px;font-weight:700}.cfg-stats strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.cfg-actions{flex-wrap:wrap;gap:8px;display:flex}.cfg-note{color:var(--text-tertiary);margin:0;font-size:11.5px;line-height:1.5}.cfg-status{margin:0;font-size:12px}:root{--signal-live:#34d07a;--signal-warn:#e8a33d;--signal-stop:#f2564b;--inlay:#ffffff29}.eyebrow,.settings-group-label,.settings-pop-head>span,.stat-chip>span,.field>span,.field>label,.chip-select>span,.cfg-stats span,.app-nav-caption{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:9px;font-weight:500}.stat-chip>strong,.cfg-stats strong,.bpm-display,.tuner-note,.tuner-frequency,.tuner-cents,.beat-light,.gsearch kbd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.bpm-display{letter-spacing:-.03em;font-weight:700}.tuner-note{letter-spacing:-.02em;font-weight:700}.title-select-heading,.category-hero h1,.page-heading-copy h1{font-family:var(--font-display);letter-spacing:.002em;font-weight:600}.title-select-heading{font-size:30px;line-height:1.06}.category-hero h1{font-size:clamp(30px,4.4vw,42px)}.page-heading-copy h1{font-size:19px}.app-nav-caption{color:var(--text-quarternary);align-items:center;gap:8px;display:flex}.app-nav-caption:after{content:"";background-image:radial-gradient(circle, var(--inlay) 1.6px, transparent 1.7px);background-position:0;background-repeat:repeat-x;background-size:11px 5px;flex:1;height:5px}.page-top-bar{border-bottom:0;padding-bottom:14px;position:relative;top:auto}.page-top-bar:after{content:"";background:linear-gradient(var(--separator-strong) 1.6px, transparent 1.6px) 0 0/100% 1.6px, linear-gradient(var(--separator-opaque) 1.3px, transparent 1.3px) 0 2px/100% 1.3px, linear-gradient(var(--separator) 1px, transparent 1px) 0 4px/100% 1px, linear-gradient(var(--separator) .8px, transparent .8px) 0 6px/100% .8px;opacity:.9;background-repeat:no-repeat;height:7px;position:absolute;bottom:0;left:0;right:0}.action-primary.playing{background:var(--signal-stop);border-color:var(--signal-stop)}.action-secondary.active{color:var(--signal-live);background:#34d07a17;border-color:#34d07a73}.status-dot.live{background:var(--signal-live);box-shadow:0 0 8px #34d07a99}.cfg-status.ok{color:var(--signal-live)}.cfg-status.warn{color:var(--signal-warn)}.button.danger{color:var(--signal-stop)}@media (min-width:900px){.sidebar-nav{gap:0;padding:2px 0}.sidebar-nav .tab-bar-item{min-height:36px;font-family:var(--font-ui);color:var(--text-secondary);background:0 0;border-radius:0;padding:0 14px 0 16px;font-size:13.5px;font-weight:500;position:relative}.sidebar-nav .tab-bar-item:before{content:"";background:0 0;width:2px;position:absolute;top:0;bottom:0;left:0}.sidebar-nav .tab-bar-item:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.sidebar-nav .tab-bar-item.active{background:var(--bg-app);color:#fff;box-shadow:none;font-weight:600}.sidebar-nav .tab-bar-item.active:before{background:var(--accent)}.sidebar-nav .tab-bar-item.active .tab-bar-icon{color:var(--accent-strong)}}.tab-bar-item.active{box-shadow:inset 0 -2px 0 var(--accent)}.gsearch{flex:1;min-width:0;max-width:460px;margin-left:6px;position:relative}.gsearch-field{height:30px;color:var(--text-tertiary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:0 8px 0 10px;transition:border-color .12s;display:flex}.gsearch.open .gsearch-field,.gsearch-field:focus-within{border-color:var(--accent)}.gsearch-field input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:12.5px}.gsearch-field input::placeholder{color:var(--text-tertiary)}.gsearch kbd{color:var(--text-quarternary);background:var(--bg-grouped);border:1px solid var(--separator-opaque);border-radius:var(--radius-xs);flex:none;padding:2px 5px;font-size:9px}.gsearch-panel{z-index:130;background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-md);max-height:60vh;padding:4px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px #0009}.gsearch-row{border-radius:var(--radius-xs);width:100%;min-height:36px;color:var(--text-primary);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 9px;font-size:12.5px;display:flex}.gsearch-row.active{background:var(--bg-hover)}.gsearch-row-icon{color:var(--text-tertiary);flex:none;place-items:center;display:grid}.gsearch-row.active .gsearch-row-icon{color:var(--accent-strong)}.gsearch-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.gsearch-row-section{color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;flex:none;font-size:9px}.gsearch-empty{color:var(--text-tertiary);margin:0;padding:14px 10px;font-size:12px}@media (max-width:700px){.gsearch kbd{display:none}}@media (max-width:899px){:root{--nav-height:0px}.tab-bar{display:none}.content{padding-bottom:24px}.mobile-nav-control{display:block}}.settings-pop{z-index:140;background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-md);outline:0;flex-direction:column;width:min(560px,100vw - 20px);display:flex;position:fixed;overflow:hidden;box-shadow:0 18px 44px #0000009e}.settings-pop-head{min-height:36px;color:var(--text-tertiary);border-bottom:1px solid var(--separator-opaque);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 7px 0 12px;display:flex}.settings-pop-head .icon-button{width:26px;height:26px}.settings-pop-body{grid-template-columns:repeat(auto-fit,minmax(228px,1fr));display:grid;overflow-y:auto}.settings-pop-body .lab-presets-panel{border-top:1px solid var(--separator);grid-column:1/-1;padding:13px}.lang-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.lang-option{text-align:left;background:var(--bg-grouped);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;padding:11px 12px;transition:border-color .12s,background .12s,color .12s;display:flex}.lang-option:hover{background:var(--bg-hover);color:var(--text-primary)}.lang-option.active{border-color:var(--accent);background:var(--accent-dim);color:#fff}.lang-code{text-align:center;background:var(--bg-app);border:1px solid var(--separator-opaque);border-radius:var(--radius-xs);min-width:42px;font-family:var(--font-mono);letter-spacing:.08em;flex:none;padding:3px 0;font-size:9.5px;font-weight:700}.lang-option.active .lang-code{border-color:var(--accent);color:var(--accent-strong)}.lang-name{flex:1;min-width:0;font-size:13px;font-weight:500}.category-hero{display:none}.cat-head{align-items:baseline;gap:12px;padding:2px 0 0;display:flex}.cat-head h1{font-family:var(--font-display);letter-spacing:.004em;margin:0;font-size:clamp(26px,3.4vw,34px);font-weight:600;line-height:1}.cat-head p{min-width:0;color:var(--text-secondary);flex:1;margin:0;font-size:13px}.cat-head .cat-count{color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;padding:3px 9px;font-size:11px;font-weight:500}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:12px;display:grid}.tool-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:0;text-decoration:none;transition:border-color .13s,background .13s;display:flex;position:relative;overflow:hidden}.tool-card:hover{background:var(--bg-elevated);border-color:var(--separator-strong)}.tool-card-thumb{aspect-ratio:220/96;background:var(--bg-app);border-bottom:1px solid var(--separator);display:block;overflow:hidden}.tool-thumb{--thumb-string:#33383f;--thumb-fret:#23272d;--thumb-inlay:#2c3138;--thumb-off:#2a2f36;--thumb-on:var(--accent);--thumb-on-edge:transparent;--thumb-ring:var(--text-secondary);--thumb-label-on:var(--bg-app);width:100%;height:100%;display:block}.tool-card:hover .tool-thumb{--thumb-string:#3d434b;--thumb-on:var(--accent-strong);--thumb-inlay:#363c44}.tool-card-body{flex-direction:column;flex:1;gap:5px;padding:12px 13px 14px;display:flex}.tool-card-title{color:var(--text-tertiary);align-items:center;gap:8px;display:flex}.tool-card:hover .tool-card-title{color:var(--accent-strong)}.tool-card-title h3{color:var(--text-primary);letter-spacing:-.005em;margin:0;font-size:14px;font-weight:600}.tool-card-body p{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.45}.tool-card-go{width:24px;height:24px;color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-xs);opacity:0;place-items:center;transition:opacity .13s;display:grid;position:absolute;top:10px;right:10px}.tool-card:hover .tool-card-go{opacity:1;color:var(--accent-strong);border-color:var(--accent)}.settings-pop-tabs{border-bottom:1px solid var(--separator-opaque);background:var(--bg-surface);flex:none;display:flex}.settings-pop-tab{border:0;border-right:1px solid var(--separator);min-height:32px;color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:0 0;flex:1;padding:0 10px;font-size:9.5px;font-weight:500;transition:color .12s,background .12s}.settings-pop-tab:last-child{border-right:0}.settings-pop-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.settings-pop-tab.active{color:var(--accent-strong);background:var(--bg-elevated);box-shadow:inset 0 -2px 0 var(--accent)}.sidebar-legal{color:var(--text-tertiary);gap:12px;margin:auto 8px 10px;font-size:10px;display:flex}.sidebar-legal a:hover{color:var(--text-primary)}.route-loading{min-height:100dvh;color:var(--text-secondary);background:var(--bg-app);justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.route-loading>span{border:2px solid var(--separator-strong);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite route-spin}@keyframes route-spin{to{transform:rotate(360deg)}}.auth-page{background:var(--bg-app);grid-template-columns:minmax(340px,.8fr) minmax(480px,1.2fr);min-height:100dvh;display:grid}.auth-brand-panel{border-right:1px solid var(--separator-opaque);background:radial-gradient(circle at 90% 12%,#1687ff29,#0000 34%),#0c0e12;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(32px,5vw,72px);display:flex;position:relative;overflow:hidden}.auth-brand-panel:after{content:"";opacity:.25;pointer-events:none;background:repeating-linear-gradient(#0000 0 27px,#5aabff47 28px 29px);width:700px;height:380px;position:absolute;bottom:-180px;left:-260px;transform:rotate(12deg)}.auth-logo{z-index:1;width:min(190px,65%);position:relative}.auth-logo img{width:100%;height:auto;display:block}.auth-brand-panel>div{z-index:1;max-width:510px;position:relative}.auth-brand-panel h1{max-width:480px;font-family:var(--font-display);letter-spacing:-.045em;margin:24px 0 14px;font-size:clamp(48px,6vw,82px);line-height:.9}.auth-brand-panel p{max-width:470px;color:var(--text-secondary);font-size:16px;line-height:1.65}.auth-form-panel{place-items:center;padding:36px 22px;display:grid}.auth-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);flex-direction:column;width:min(100%,440px);padding:clamp(26px,4vw,42px);display:flex;box-shadow:0 30px 80px #00000040}.auth-card h2{margin:8px 0;font-size:29px}.auth-subtitle{color:var(--text-secondary);margin-bottom:27px;font-size:13px;line-height:1.55}.auth-mobile-logo{display:none}.auth-field{gap:7px;margin-bottom:16px;display:grid}.auth-field>span{color:#d8dbe2;font-size:12px;font-weight:650}.auth-field input{width:100%;min-height:48px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);border-radius:var(--radius-md);outline:none;padding:0 13px}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.auth-field small{color:var(--text-tertiary);font-size:10px}.auth-submit{justify-content:space-between;min-height:48px;margin-top:7px}.auth-divider{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:21px 0 15px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--separator);flex:1;height:1px}.auth-google{width:100%;min-height:48px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);border-radius:var(--radius-md);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:14px;font-weight:650;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.auth-google:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.auth-google:active:not(:disabled){transform:translateY(1px)}.auth-google:disabled{opacity:.6;cursor:wait}.auth-google-mark{flex:none}.auth-google-hint{color:var(--text-tertiary);margin:0 0 9px;font-size:11px;line-height:1.45}.auth-forgot{color:var(--accent-strong);align-self:flex-end;margin-top:12px;font-size:12px}.auth-switch{color:var(--text-secondary);text-align:center;margin-top:24px;font-size:12px}.auth-switch a,.auth-legal a{color:var(--accent-strong)}.auth-legal{color:var(--text-tertiary);border-top:1px solid var(--separator);text-align:center;margin-top:18px;padding-top:18px;font-size:10px;line-height:1.55}.auth-alert{border:1px solid;margin:0 0 15px;padding:11px 12px;font-size:11px;line-height:1.45}.auth-alert.error{color:#ffb4af;background:#ff453a14;border-color:#ff453a47}.auth-alert.success{color:#aaf1bb;background:#30d15814;border-color:#30d15847}.library-section-tabs{background:var(--bg-surface);border:1px solid var(--separator-opaque);grid-template-columns:repeat(3,1fr);display:grid}.library-section-tabs button{min-width:0;min-height:72px;color:var(--text-tertiary);border-right:1px solid var(--separator-opaque);text-align:left;align-items:center;gap:11px;padding:12px 15px;display:flex}.library-section-tabs button:last-child{border-right:0}.library-section-tabs button:hover{color:var(--text-primary);background:var(--bg-hover)}.library-section-tabs button.active{color:var(--accent-strong);background:var(--bg-elevated);box-shadow:inset 0 -2px 0 var(--accent)}.library-section-tabs button>span{gap:3px;min-width:0;display:grid}.library-section-tabs strong{color:currentColor;font-size:13px}.library-section-tabs small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.tab-library-hero>div:first-child{width:100%;min-width:0;max-width:100%}.tab-library-hero p{overflow-wrap:anywhere}.library-document-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;display:grid}.library-document-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);grid-template-rows:140px 1fr auto;min-width:0;display:grid}.library-document-art{color:var(--accent-strong);border-bottom:1px solid var(--separator-opaque);background:linear-gradient(145deg,#141922,#090b0f);place-items:center;display:grid;position:relative;overflow:hidden}.library-document-art:after{content:"";border:1px solid #ffffff0d;position:absolute;top:18px;bottom:18px;left:18px;right:18px}.library-document-art.chord_chart{place-items:stretch stretch;padding:16px}.library-document-art.chord_chart>svg{z-index:1;position:absolute;top:15px;right:15px}.library-document-art pre{color:#9aa4b5;max-height:110px;font:8px/1.45 var(--font-mono);white-space:pre-wrap;opacity:.72;margin:0;overflow:hidden}.library-document-copy{min-width:0;padding:16px}.library-document-copy>span{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:700}.library-document-copy h2{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 2px;font-size:17px;overflow:hidden}.library-document-copy p,.library-document-copy small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:block;overflow:hidden}.library-document-copy small{font-family:var(--font-mono);margin-top:11px;font-size:8px}.library-document-actions{align-items:center;gap:7px;padding:0 16px 16px;display:flex}.library-document-actions .button{flex:1}.library-upload-meta{grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px;width:min(420px,100%);display:grid}.library-upload-meta input{min-width:0;min-height:38px;color:var(--text-primary);border:1px solid var(--separator-strong);background:#08090bd1;outline:none;padding:0 11px}.library-upload-meta input:focus{border-color:var(--accent)}.account-actions{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:8px;padding-top:0;display:flex}.account-actions>.button{flex:none;min-height:34px;padding:0 13px;font-size:12.5px}.legal-page{padding-bottom:50px}.legal-document a{color:var(--accent-strong)}@media (max-width:760px){.auth-page{display:block}.auth-brand-panel{display:none}.auth-form-panel{min-height:100dvh;padding:18px}.auth-card{padding:24px 20px}.auth-mobile-logo{align-items:center;gap:9px;margin-bottom:36px;font-weight:700;display:flex}.auth-mobile-logo img{width:28px;height:28px}.library-section-tabs{grid-template-columns:1fr}.library-section-tabs button{border-right:0;border-bottom:1px solid var(--separator-opaque);min-height:58px}.library-section-tabs button:last-child{border-bottom:0}.library-section-tabs button.active{box-shadow:inset 2px 0 0 var(--accent)}}.marketing-page{--shell:min(100% - 40px, 1320px);--stage:#0b0d11;--panel:#0e1116;--hairline:#22262e;--hairline-soft:#1a1d23;--ink-2:#aab0bb;--ink-3:#7d838f;color:#f7f8fa;background:#08090b;min-height:100dvh;overflow-x:clip}.marketing-page :-webkit-any(section,header,footer,div,article,li){min-width:0}.marketing-page :is(section,header,footer,div,article,li){min-width:0}.marketing-page :-webkit-any(a,button,summary):focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.marketing-page :is(a,button,summary):focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.marketing-page :-webkit-any(section,article)[id]{scroll-margin-top:96px}.marketing-page :is(section,article)[id]{scroll-margin-top:96px}.marketing-header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08090bd1;border-bottom:1px solid #ffffff1a;align-items:center;gap:clamp(20px,3vw,40px);width:100%;min-height:76px;padding-inline-start:max(20px,50% - 660px);padding-inline-end:max(20px,50% - 660px);display:flex;position:sticky;top:0;box-shadow:0 8px 24px #0000001f}.marketing-logo{flex:0 0 112px;width:112px}.marketing-logo img{width:100%;height:auto;display:block}.marketing-nav{color:var(--ink-3);align-items:center;gap:clamp(16px,2vw,28px);font-size:13px;font-weight:600;display:flex}.marketing-nav a{border-bottom:1px solid #0000;padding:6px 0;transition:color .15s,border-color .15s}.marketing-nav a:hover{color:#fff}.marketing-nav a.is-current{color:#fff;border-bottom-color:var(--accent)}.marketing-account{align-items:center;gap:14px;margin-left:auto;font-size:13px;font-weight:650;display:flex}.marketing-login{color:var(--ink-2);transition:color .15s}.marketing-login:hover{color:#fff}.marketing-pill{background:var(--accent);border:1px solid #3c9cff;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:13px;transition:background .15s;display:inline-flex;color:#fff!important}.marketing-menu-toggle{width:40px;height:40px;color:var(--ink-2);border:1px solid var(--hairline);cursor:pointer;background:#101318;place-items:center;display:none}.marketing-mobile-nav{display:none}.marketing-hero{width:var(--shell);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(40px,5vw,80px);margin:0 auto;padding:clamp(56px,7vw,92px) 0 clamp(60px,7vw,96px);display:grid}.marketing-kicker{color:#68b4ff;font:700 11px/1 var(--font-mono);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:9px;display:inline-flex}.marketing-kicker>i{background:var(--accent);flex:none;width:6px;height:6px;display:block;box-shadow:0 0 12px #1687ffcc}.marketing-hero h1{max-width:17ch;font-family:var(--font-display);letter-spacing:-.035em;margin:20px 0 22px;font-size:clamp(46px,5vw,72px);line-height:.92}.marketing-hero h1 em{color:#8d94a1;letter-spacing:-.02em;margin-top:6px;font-size:.62em;font-style:normal;display:block}.marketing-hero-copy>p{max-width:54ch;color:var(--ink-2);font-size:clamp(15px,1.15vw,17px);line-height:1.65}.marketing-hero-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;display:flex}.marketing-primary,.marketing-secondary{justify-content:center;align-items:center;gap:12px;min-height:52px;padding:0 22px;font-size:14px;font-weight:700;display:inline-flex}.marketing-primary{color:#fff;background:var(--accent);border:1px solid #3c9cff;transition:background .15s,transform .15s;box-shadow:0 12px 32px #1687ff33}.marketing-primary:hover,.marketing-pill:hover,.marketing-final-cta>a:hover{background:#3094ff}.marketing-secondary{color:#d8dbe2;background:#111319;border:1px solid #2a2e37;transition:background .15s}.marketing-secondary:hover{background:#181b22}.marketing-trust{color:var(--ink-3);flex-wrap:wrap;gap:10px 20px;margin:26px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.marketing-trust li{align-items:center;gap:6px;display:flex}.marketing-trust svg{color:var(--accent-2);flex:none}.hero{isolation:isolate;align-items:center;min-height:min(80vh,780px);display:grid;position:relative;overflow:hidden}.hero-wash{z-index:0;background:radial-gradient(48% 55% at 12% 22%,#1687ff2b,#0000 68%),radial-gradient(52% 60% at 88% 78%,#ff7a4021,#0000 70%);position:absolute;top:-20%;bottom:-20%;left:-10%;right:-10%}.hero-rule{z-index:0;opacity:.5;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-size:88px 88px;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask-image:radial-gradient(70% 70% at 30% 40%,#000,#0000 78%);mask-image:radial-gradient(70% 70% at 30% 40%,#000,#0000 78%)}.hero-stage{z-index:1;width:92%;transform-style:preserve-3d;filter:drop-shadow(0 50px 80px #000000b3);pointer-events:none;position:absolute;top:50%;right:-20%;transform:translateY(-52%)perspective(1500px)rotateY(-28deg)rotateX(10deg)rotate(-6.5deg)}.hero-neck-svg{width:100%;height:auto;display:block}.hero-neck-num{fill:#565d68;font:13px var(--font-mono)}.hero-neck-note,.hero-neck-halo{transform-box:fill-box;transform-origin:50%}.hero-neck-note{opacity:.2;animation:5.6s cubic-bezier(.2,.7,.3,1) infinite heroNote;animation-delay:calc(var(--note-index) * .28s)}.hero-neck-halo{opacity:0;animation:5.6s ease-out infinite heroHalo;animation-delay:calc(var(--note-index) * .28s)}.hero-neck-sweep{animation:9s linear infinite heroSweep}@keyframes heroNote{0%,to{opacity:.17;transform:scale(.8)}5%{opacity:1;transform:scale(1.14)}20%{opacity:.9;transform:scale(1)}52%{opacity:.2;transform:scale(.82)}}@keyframes heroHalo{0%{opacity:0;transform:scale(.55)}6%{opacity:.55}34%,to{opacity:0;transform:scale(2.3)}}@keyframes heroSweep{0%{transform:translate(-46%)}to{transform:translate(224%)}}.hero-inner{width:var(--shell);z-index:3;margin:0 auto;padding:clamp(56px,6vw,86px) 0 clamp(50px,5vw,72px);position:relative}.hero-inner>.marketing-kicker{white-space:nowrap;max-width:none}.hero h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.045em;margin:22px 0 20px;font-size:clamp(54px,6.4vw,104px);line-height:.87}.hero h1 em{color:#939aa7;letter-spacing:-.02em;max-width:none;margin-top:10px;font-size:.385em;font-style:normal;font-weight:600;line-height:1.04;display:block}.hero-inner>p{color:#c3c8d2;max-width:42ch;font-size:clamp(16px,1.3vw,19px);line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:10px;max-width:none;margin-top:32px;display:flex}.hero .marketing-trust{max-width:none;margin-top:24px}@media (prefers-reduced-motion:reduce){.hero-neck-note{opacity:.92;animation:none}.hero-neck-halo,.hero-neck-sweep{animation:none}}@media (max-width:1180px){.hero-stage{opacity:.5;width:104%;right:-30%}.hero-inner>*,.hero-inner>p{max-width:34ch}}@media (max-width:760px){.hero{min-height:auto}.hero-stage{opacity:.3;width:130%;top:auto;bottom:-4%;right:-34%;transform:perspective(1200px)rotateY(-20deg)rotateX(12deg)rotate(-8deg)}.hero-inner{padding-bottom:clamp(120px,26vw,200px)}.hero h1{font-size:clamp(44px,12.5vw,66px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .marketing-primary,.hero-actions .marketing-secondary{width:100%}}.marketing-product-frame{background:var(--panel);border:1px solid #2b3039;margin:0;box-shadow:0 35px 100px #00000080,0 0 0 8px #ffffff05}.product-frame-bar{min-height:42px;color:var(--ink-3);font:11px var(--font-mono);background:#14171c;border-bottom:1px solid #292d34;align-items:center;gap:13px;padding:0 14px;display:flex}.product-frame-bar>span{gap:5px;display:flex}.product-frame-bar>span i{background:#343943;border-radius:50%;width:7px;height:7px}.product-frame-bar b{font-weight:500}.product-frame-bar small{color:var(--accent-2);text-transform:uppercase;letter-spacing:.1em;margin-left:auto;font-size:11px}.product-frame-body{grid-template-columns:132px minmax(0,1fr);display:grid}.product-frame-body aside{border-right:1px solid var(--hairline);background:#0a0c0f;flex-direction:column;gap:4px;padding:18px 11px;display:flex}.product-frame-body aside img{width:25px;height:25px;margin:0 8px 22px}.product-frame-body aside span{min-height:36px;color:var(--ink-3);align-items:center;gap:9px;padding:0 9px;font-size:12px;display:flex}.product-frame-body aside span.active{color:#fff;box-shadow:inset 2px 0 var(--accent);background:#151922}.product-frame-content{background:radial-gradient(circle at 92% 0,#1687ff17,#0000 45%);flex-direction:column;padding:clamp(22px,2.6vw,34px);display:flex}.product-frame-content .eyebrow{color:var(--ink-3);font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.product-frame-content h2{font-family:var(--font-display);margin:9px 0 20px;font-size:clamp(26px,2.5vw,36px);line-height:.95}.product-session{border-top:1px solid #262a31;gap:3px;padding:12px 0;display:grid}.product-session strong{font-size:13px}.product-session small{color:var(--ink-3);font-size:11px}.product-session i{background:var(--accent);height:3px;margin-top:8px;box-shadow:0 0 12px #1687ff59}.product-shape{border-top:1px solid #262a31;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:auto;padding-top:18px;display:grid}.product-shape strong{margin-top:7px;font-size:13px;display:block}.product-shape small{color:var(--ink-3);font-size:11px}.hero-fretboard{width:min(300px,100%);height:auto}.hero-fretboard .fb-string{stroke:#3d434d;stroke-width:1px}.hero-fretboard .fb-fret{stroke:#2a2f38;stroke-width:1px}.hero-fretboard .fb-nut{stroke:#7d848f;stroke-width:3px}.hero-fretboard .fb-dot{fill:#2b323d}.hero-fretboard .fb-dot-root{fill:var(--accent)}.hero-fretboard .fb-dot-third{fill:#1c4f88}.hero-fretboard .fb-label{fill:#5b626d;font:10px var(--font-mono)}.marketing-signal{color:var(--ink-2);background:var(--stage);border-block:1px solid var(--hairline);font:600 12px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(16px,3vw,44px);padding:24px 20px;display:flex}.marketing-signal span{align-items:baseline;gap:8px;display:inline-flex}.marketing-signal b{color:#fff;font:700 17px var(--font-mono)}.marketing-signal>i{background:var(--accent);width:3px;height:3px}.preview{width:var(--shell);margin:0 auto;padding:clamp(66px,8vw,104px) 0 clamp(50px,6vw,80px)}.preview-head{margin-bottom:34px}.preview-head h2{max-width:20ch;font-family:var(--font-display);letter-spacing:-.03em;margin-top:16px;font-size:clamp(36px,4.2vw,60px);line-height:.94}.preview-window{background:var(--panel);border:1px solid #2b3039;position:relative;box-shadow:0 40px 110px #0009,0 0 0 8px #ffffff04}.preview-window:before{content:"";background:var(--accent);opacity:.9;height:2px;position:absolute;top:-1px;bottom:auto;left:-1px;right:-1px}.preview-bar{min-height:46px;color:var(--ink-3);font:12px var(--font-mono);background:#14171c;border-bottom:1px solid #292d34;align-items:center;gap:14px;padding:0 16px;display:flex}.preview-bar>span{gap:6px;display:flex}.preview-bar>span i{background:#343943;border-radius:50%;width:8px;height:8px}.preview-bar small{color:var(--accent-2);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;font-size:11px}.preview-body{grid-template-columns:178px minmax(0,1fr);height:596px;display:grid}.preview-rail{border-right:1px solid var(--hairline);background:#0a0c0f;flex-direction:column;gap:3px;padding:18px 11px;display:flex}.preview-rail img{margin:0 8px 18px}.preview-rail button{min-height:42px;color:var(--ink-3);font:600 14px var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0 11px;transition:color .15s,background .15s;display:flex;position:relative;overflow:hidden}.preview-rail button svg{flex:none}.preview-rail button:hover{color:#fff;background:#12161d}.preview-rail button.is-active{color:#fff;box-shadow:inset 2px 0 var(--accent);background:#151922}.preview-rail button.is-active svg{color:var(--accent-strong)}.preview-hold{transform-origin:0;background:var(--accent);width:100%;height:2px;animation:3s linear forwards previewHold;position:absolute;bottom:0;left:0}@keyframes previewHold{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.preview-screen{background:radial-gradient(circle at 94% 0,#1687ff14,#0000 46%);padding:clamp(22px,2.4vw,32px);position:relative;overflow:hidden}.preview-screen:after{content:"";background:linear-gradient(transparent, var(--panel));pointer-events:none;height:74px;position:absolute;top:auto;bottom:0;left:0;right:0}.preview-screen-inner{height:100%;animation:.38s both previewIn}@keyframes previewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.pv-eyebrow{color:var(--ink-3);font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;display:block}.pv-cta{color:var(--accent-strong);align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:700;display:inline-flex}.pv-cta-solid{color:#fff;background:var(--accent);border:1px solid #3c9cff;min-height:40px;margin:0;padding:0 16px}.pv-panel{border:1px solid var(--hairline);background:#0b0e13;flex-direction:column;display:flex}.pv-panel>header{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.pv-panel h4{font-size:13px;font-weight:700}.pv-panel>header span{color:var(--accent-strong);font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:6px;display:inline-flex}.pv-row{border-bottom:1px solid var(--hairline-soft);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 15px;display:grid}.pv-row:last-child{border-bottom:0}.pv-row-icon{width:30px;height:30px;color:var(--accent-strong);background:#111923;border:1px solid #22303f;place-items:center;display:grid}.pv-row strong{font-size:13px;display:block}.pv-row small{color:var(--ink-3);font-size:11.5px}.pv-row b{color:#fff;font:700 12px var(--font-mono)}.pv-row em{color:var(--ink-3);font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-style:normal}.pv-row svg{color:#4c535e}.pv-today{gap:12px;display:grid}.pv-focus{grid-template-columns:minmax(0,1.9fr) minmax(0,1.1fr);gap:12px;display:grid}.pv-resume{background:linear-gradient(110deg,#111722,#0d1117);border:1px solid #2a3038;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);display:grid;position:relative;overflow:hidden}.pv-resume>div:first-child{z-index:2;padding:22px;position:relative}.pv-resume h3{font:650 clamp(24px, 2.4vw, 34px)/.98 var(--font-display);letter-spacing:-.025em;margin:8px 0 7px}.pv-resume p{color:var(--ink-3);font-size:12.5px}.pv-resume-art{opacity:.85;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(90deg,#0000,#000 45%)}.pv-start>div{border-bottom:1px solid var(--hairline-soft);grid-template-columns:18px minmax(0,1fr) 12px;align-items:center;gap:11px;padding:11px 15px;display:grid}.pv-start>div:last-child{border-bottom:0}.pv-start svg{color:var(--accent-strong)}.pv-start strong{font-size:13px;display:block}.pv-start small{color:var(--ink-3);font-size:11.5px}.pv-start>div>svg:last-child{color:#4c535e}.pv-triple{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pv-practice{gap:12px;display:grid}.pv-plan{background:radial-gradient(circle at 8% 0,#1687ff24,#0000 52%),#0b0e13;border:1px solid #2a3038;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.pv-plan h3{font:650 clamp(24px, 2.4vw, 34px)/.98 var(--font-display);letter-spacing:-.025em;margin-top:8px}.pv-pair{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px;display:grid}.pv-history{align-items:flex-end;gap:7px;height:150px;padding:18px 15px 0;display:flex}.pv-history i{background:linear-gradient(var(--accent), #1687ff2e);flex:1}.pv-history i[data-empty]{background:#1e232b}.pv-note{color:var(--ink-3);padding:14px 15px;font-size:11.5px}.pv-theory>header{margin-bottom:18px}.pv-theory h3{font:650 clamp(24px, 2.4vw, 34px)/.98 var(--font-display);letter-spacing:-.025em;margin-top:8px}.pv-grades{gap:8px;display:grid}.pv-grades article{border:1px solid var(--hairline);background:#0b0e13;grid-template-columns:38px minmax(0,1fr) auto 14px;align-items:center;gap:15px;padding:15px;display:grid}.pv-grades article[data-status=locked]{opacity:.5}.pv-rung{width:38px;height:38px;color:var(--accent-strong);font:700 15px var(--font-mono);background:#111923;border:1px solid #22303f;place-items:center;display:grid}.pv-grades article[data-status=cleared] .pv-rung{color:#fff;background:var(--accent);border-color:#3c9cff}.pv-grades strong{font-size:14px;display:block}.pv-grades small{color:var(--ink-3);font-size:12px}.pv-status{color:var(--ink-3);font:600 11px var(--font-mono);text-transform:uppercase;letter-spacing:.07em}.pv-grades article[data-status=cleared] .pv-status{color:var(--accent-2)}.pv-grades svg{color:#4c535e}.pv-library>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.pv-tabs{border:1px solid var(--hairline);display:flex}.pv-tabs span{color:var(--ink-3);border-right:1px solid var(--hairline);padding:9px 14px;font-size:12.5px;font-weight:600}.pv-tabs span:last-child{border-right:0}.pv-tabs span.is-on{color:#fff;box-shadow:inset 0 -2px var(--accent);background:#151922}.pv-library .pv-cta{margin:0}.pv-table{border:1px solid var(--hairline)}.pv-table-head,.pv-table-row{grid-template-columns:minmax(0,2.2fr) minmax(0,.9fr) minmax(0,.9fr) 76px;align-items:center;gap:14px;padding:12px 15px;display:grid}.pv-table-head{color:var(--ink-3);border-bottom:1px solid var(--hairline);font:600 10.5px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:#0a0c0f}.pv-table-row{border-bottom:1px solid var(--hairline-soft);color:var(--ink-2);background:#0b0e13;font-size:13px}.pv-table-row:last-child{border-bottom:0}.pv-table-title{align-items:baseline;gap:9px;min-width:0;display:flex}.pv-table-title svg{color:var(--accent-strong);flex:none;align-self:center}.pv-table-title b{color:#fff;font-size:13.5px}.pv-table-title small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.pv-author{color:var(--accent-strong);font:600 12px var(--font-mono)}.pv-score{color:var(--accent-2);font:700 12px var(--font-mono);text-align:right}.pv-score[data-draft]{color:var(--ink-3)}.pv-explore{gap:22px;display:grid}.pv-explore section>header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.pv-explore h4{font:700 17px var(--font-display)}.pv-explore section>header span{color:var(--ink-3);font:11px var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.pv-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pv-tool-grid article{border:1px solid var(--hairline);background:#0b0e13;padding:10px}.pv-tool-art{aspect-ratio:220/96;background:#080a0d;border:1px solid #191d24;margin-bottom:10px;display:block}.pv-tool-grid strong{font-size:13px;display:block}.pv-tool-grid small{color:var(--ink-3);margin-top:4px;font-size:11.5px;line-height:1.4;display:block}.pv-toolkit{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pv-toolkit article{border:1px solid var(--hairline);background:#0b0e13;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;display:flex}.pv-tool-icon{width:42px;height:42px;color:var(--accent-strong);background:#111923;border:1px solid #22303f;place-items:center;display:grid}.pv-toolkit strong{font-size:14px}.pv-readout{align-items:baseline;gap:8px;display:flex}.pv-readout b{color:#fff;font:700 clamp(30px, 3.2vw, 44px) var(--font-mono);letter-spacing:-.03em}.pv-readout i{color:var(--accent-strong);font:600 13px var(--font-mono);font-style:normal}.pv-toolkit small{color:var(--ink-3);font-size:11.5px}@media (prefers-reduced-motion:reduce){.preview-hold,.preview-screen-inner{animation:none}}@media (max-width:980px){.preview-body{height:auto;min-height:0}.preview-screen:after{display:none}.pv-focus,.pv-pair{grid-template-columns:minmax(0,1fr)}.pv-triple,.pv-tool-grid,.pv-toolkit{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-resume{grid-template-columns:minmax(0,1fr)}.pv-resume-art{display:none}}@media (max-width:620px){.preview-body{grid-template-columns:minmax(0,1fr)}.preview-rail{border-right:0;border-bottom:1px solid var(--hairline);flex-direction:row;gap:2px;padding:10px;overflow-x:auto}.preview-rail img{display:none}.preview-rail button{flex:none;min-height:38px;font-size:13px}.preview-rail button.is-active{box-shadow:inset 0 -2px var(--accent)}.pv-triple,.pv-tool-grid,.pv-toolkit{grid-template-columns:minmax(0,1fr)}.pv-table-head{display:none}.pv-table-row{grid-template-columns:minmax(0,1fr) 62px;row-gap:4px}.pv-table-row>span:nth-child(2){display:none}}.viz-tabs{grid-template-columns:minmax(0,1fr) auto minmax(0,.85fr);align-items:center;gap:clamp(14px,2vw,30px);display:grid}.viz-tabs-pile{height:216px;position:relative}.viz-tabs-pile span{transform:translate(var(--x), var(--y)) rotate(var(--tilt));animation:8s ease-in-out infinite vizDrift;animation-delay:calc(var(--i) * .6s);background:#101319;border:1px solid #2a3039;align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 10px 24px #00000073}.viz-tabs-pile span i{background:#2f343d;border-radius:50%;flex:none;width:11px;height:11px}.viz-tabs-pile b{color:#767d89;font:500 12px var(--font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@keyframes vizDrift{0%,to{transform:translate(var(--x), var(--y)) rotate(var(--tilt))}50%{transform:translate(calc(var(--x) * -.55), var(--y)) rotate(calc(var(--tilt) * -.7))}}.viz-tabs-arrow{width:40px;height:40px;color:var(--accent-strong);background:#111923;border:1px solid #22303f;place-items:center;display:grid}.viz-tabs-one{background:var(--panel);border:1px solid #2f3b49;box-shadow:0 24px 60px #0000008c,0 0 0 1px #1687ff2e}.viz-tabs-one>span{background:#14171c;border-bottom:1px solid #292d34;align-items:center;gap:6px;padding:10px 12px;display:flex}.viz-tabs-one>span i{background:#343943;border-radius:50%;width:7px;height:7px}.viz-tabs-one>span b{color:var(--ink-3);font:11.5px var(--font-mono);margin-left:6px}.viz-tabs-one>div{flex-direction:column;align-items:flex-start;gap:12px;padding:26px 20px;display:flex}.viz-tabs-one img{width:30px;height:30px}.viz-tabs-one strong{font:650 19px var(--font-display);letter-spacing:-.02em}.problem{width:var(--shell);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(36px,5vw,78px);margin:0 auto;padding:clamp(66px,8vw,104px) 0;display:grid}.problem h2{font-family:var(--font-display);letter-spacing:-.03em;margin-top:18px;font-size:clamp(38px,4.4vw,62px);line-height:.94}.problem h2 em{color:#8d94a1;font-style:normal;display:block}.problem-copy p{max-width:46ch;color:var(--ink-2);margin-top:20px;font-size:clamp(15px,1.15vw,17px);line-height:1.7}.loop{background:var(--stage);border-block:1px solid var(--hairline);padding:clamp(66px,8vw,104px) 0}.loop-head,.loop-body{width:var(--shell);margin:0 auto}.loop-head h2{max-width:19ch;font-family:var(--font-display);letter-spacing:-.03em;margin-top:16px;font-size:clamp(38px,4.4vw,62px);line-height:.94}.loop-body{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(36px,5vw,80px);margin-top:44px;display:grid}.viz-loop{width:min(360px,100%);height:auto;margin:0 auto;display:block;overflow:visible}.viz-loop-run{animation:8s linear infinite vizLoopRun}@keyframes vizLoopRun{to{stroke-dashoffset:-653px}}.viz-loop-node{cursor:pointer}.viz-loop-node circle,.viz-loop-node text{transform-box:fill-box;transform-origin:50%}.viz-loop-ring{animation:8s linear infinite loopFlare;animation-delay:calc(var(--turn) * 8s)}.viz-loop-halo{opacity:0;animation:8s linear infinite loopHalo;animation-delay:calc(var(--turn) * 8s)}.viz-loop-glow{opacity:0;animation:8s linear infinite loopGlow;animation-delay:calc(var(--turn) * 8s)}.viz-loop-label{fill:#e2e5ea;font:600 13px var(--font-ui);animation:8s linear infinite loopLabel;animation-delay:calc(var(--turn) * 8s)}@keyframes loopFlare{0%,6%{stroke:#8cc5ff;stroke-width:2.6px;fill:#143656}11%{stroke:var(--accent);stroke-width:2px;fill:#0f2338}15%,to{stroke:#2b323c;stroke-width:1.5px;fill:#0b0e13}}@keyframes loopGlow{0%,6%{opacity:1}15%,to{opacity:0}}@keyframes loopHalo{0%{opacity:.75;transform:scale(1)}11%{opacity:0;transform:scale(1.45)}to{opacity:0;transform:scale(1.45)}}@keyframes loopLabel{0%,8%{fill:#fff}15%,to{fill:#e2e5ea}}.viz-loop-node:hover .viz-loop-ring{stroke:#8cc5ff;stroke-width:2.6px;fill:#143656;animation:none}.viz-loop-node:hover .viz-loop-glow{opacity:1;animation:none}.viz-loop-node:hover .viz-loop-label{fill:#fff;animation:none}.viz-loop-centre{fill:#fff;font:700 26px var(--font-display)}.viz-loop-centre-sub{fill:var(--ink-3);font:11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.loop-steps{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.loop-steps li{background:var(--panel);grid-template-columns:40px minmax(0,1fr);gap:15px;padding:24px 22px;display:grid}.loop-mark{width:40px;height:40px;color:var(--accent-strong);background:#111923;border:1px solid #22303f;place-items:center;display:grid}.loop-steps h3{font:700 20px var(--font-display);margin-bottom:8px}.loop-steps p{color:var(--ink-2);font-size:13.5px;line-height:1.6}.music{width:var(--shell);margin:0 auto;padding:clamp(66px,8vw,104px) 0}.music-head{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:clamp(30px,5vw,70px);margin-bottom:44px;display:grid}.music-head h2{max-width:17ch;font-family:var(--font-display);letter-spacing:-.03em;margin-top:16px;font-size:clamp(38px,4.4vw,62px);line-height:.94}.music-head>p{max-width:44ch;color:var(--ink-2);font-size:15px;line-height:1.7}.viz-publish{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,40px);max-width:760px;margin:0 auto 44px;display:grid}.viz-card{background:var(--panel);border:1px solid var(--hairline);flex-direction:column;gap:6px;padding:20px;display:flex}.viz-card header{color:var(--ink-3);font:600 10.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;display:flex}.viz-card strong{font:650 22px var(--font-display);letter-spacing:-.02em}.viz-card small{color:var(--ink-3);font-size:12.5px}.viz-card footer{border-top:1px solid var(--hairline-soft);color:var(--ink-3);margin-top:12px;padding-top:12px;font-size:12px}.viz-card-draft{border-style:dashed}.viz-card-live{border-color:#2f3b49;box-shadow:0 20px 50px #00000080,0 0 0 1px #1687ff29}.viz-card-live header{color:var(--accent-strong)}.viz-card-live footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.viz-author{color:var(--accent-strong);font:600 12px var(--font-mono)}.viz-votes{align-items:center;gap:7px;display:inline-flex}.viz-votes i{color:#4c535e;font-style:normal}.viz-votes b{color:var(--accent-2);font:700 13px var(--font-mono)}.viz-publish-arrow{color:var(--accent-strong);justify-items:center;gap:7px;display:grid}.viz-publish-arrow b{font:600 10.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.music-formats{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.music-formats article{background:var(--panel);grid-template-columns:44px minmax(0,1fr);gap:15px;padding:24px 22px;display:grid}.music-formats article>span{color:#64b0fb;background:#111923;border:1px solid #263b51;place-items:center;width:44px;height:44px;display:grid}.music-formats small{color:var(--ink-3);font:11px var(--font-mono);letter-spacing:.1em}.music-formats h3{margin:6px 0;font-size:18px}.music-formats p{color:var(--ink-2);font-size:13px;line-height:1.55}@media (prefers-reduced-motion:reduce){.viz-tabs-pile span,.viz-loop-run,.viz-loop-ring,.viz-loop-halo,.viz-loop-glow,.viz-loop-label{animation:none}}@media (max-width:980px){.problem,.loop-body,.music-head{grid-template-columns:minmax(0,1fr)}.music-head{align-items:start;gap:20px}.viz-tabs{grid-template-columns:minmax(0,1fr);justify-items:stretch}.viz-tabs-arrow{justify-self:center;transform:rotate(90deg)}.music-formats{grid-template-columns:minmax(0,1fr)}}@media (max-width:620px){.loop-steps,.viz-publish{grid-template-columns:minmax(0,1fr)}.viz-publish-arrow{transform:rotate(90deg)}.viz-tabs-pile{height:190px}}.marketing-practice{width:var(--shell);border-top:1px solid var(--hairline-soft);grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;gap:clamp(40px,6vw,90px);margin:0 auto;padding:clamp(72px,8vw,110px) 0;display:grid}.marketing-practice h2{font-family:var(--font-display);letter-spacing:-.03em;margin:16px 0 18px;font-size:clamp(38px,4.4vw,62px);line-height:.94}.marketing-practice>div:last-child>p{max-width:46ch;color:var(--ink-2);font-size:15px;line-height:1.7}.marketing-practice ul{gap:12px;margin:26px 0 0;padding:0;list-style:none;display:grid}.marketing-practice li{color:#c7cad1;align-items:center;gap:10px;font-size:14px;display:flex}.marketing-practice li svg{color:var(--accent-2);flex:none}.viz-plan{background:var(--panel);border:1px solid var(--hairline);margin:0;padding:26px}.viz-plan figcaption{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px;display:flex}.viz-plan figcaption b{color:#fff;font:700 22px var(--font-mono);letter-spacing:-.02em}.viz-plan-bar{gap:3px;height:54px;display:flex}.viz-plan-bar span{flex:var(--span);background:color-mix(in srgb, var(--accent) calc(92% - var(--i) * 17%), #10141b);place-items:center;display:grid}.viz-plan-bar b{color:#fff;font:700 12px var(--font-mono);mix-blend-mode:luminosity}.viz-plan-list{margin:20px 0 0;padding:0;list-style:none}.viz-plan-list li{border-top:1px solid var(--hairline-soft);grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;display:grid}.viz-plan-list i{background:color-mix(in srgb, var(--accent) calc(92% - var(--i) * 17%), #10141b);align-self:stretch}.viz-plan-list strong{font-size:14px;display:block}.viz-plan-list small{color:var(--ink-3);font-size:12px}.viz-plan-list>li>b{color:#fff;font:700 13px var(--font-mono)}.viz-plan footer{border-top:1px solid var(--hairline);color:var(--accent-strong);margin-top:18px;padding-top:16px;font-size:12.5px;font-weight:600}.marketing-price{width:var(--shell);background:radial-gradient(circle at 12% 0, #1687ff24, transparent 46%), var(--panel);border:1px solid #2a3039;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(36px,5vw,80px);margin:0 auto;padding:clamp(66px,8vw,100px) clamp(28px,4vw,58px);display:grid}.marketing-price h2{font-family:var(--font-display);letter-spacing:-.04em;margin-top:16px;font-size:clamp(46px,5.6vw,82px);line-height:.9}.marketing-price p{max-width:54ch;color:var(--ink-2);font-size:clamp(15px,1.15vw,17px);line-height:1.72}.marketing-price .marketing-primary{margin-top:26px}.marketing-security{width:var(--shell);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(36px,5vw,80px);margin:clamp(72px,8vw,110px) auto;display:grid}.marketing-security h2{font-family:var(--font-display);letter-spacing:-.03em;margin-top:16px;font-size:clamp(38px,4.4vw,62px);line-height:.94}.community-lead{color:#f7f8fa;max-width:60ch;margin:0 0 26px;font-size:clamp(15px,1.15vw,17px);line-height:1.7}.privacy-facts{gap:14px;margin:0;padding:0;list-style:none;display:grid}.privacy-facts li{color:var(--ink-2);align-items:flex-start;gap:11px;font-size:15px;line-height:1.6;display:flex}.privacy-facts svg{color:var(--accent-2);flex:none;margin-top:3px}.security-badges{border-top:1px solid var(--hairline);flex-wrap:wrap;gap:8px;margin-top:26px;padding-top:24px;display:flex}.security-badges span{color:var(--ink-3);font:11px var(--font-mono);letter-spacing:.07em;text-transform:uppercase;background:#12161c;border:1px solid #2b313a;padding:9px 12px}.marketing-faq{width:var(--shell);border-top:1px solid var(--hairline-soft);grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(30px,5vw,70px);margin:0 auto;padding:clamp(66px,8vw,100px) 0;display:grid}.marketing-faq h2{max-width:15ch;font-family:var(--font-display);letter-spacing:-.03em;margin-top:16px;font-size:clamp(38px,4.4vw,58px);line-height:.94}.marketing-faq>div{border-top:1px solid var(--hairline)}.marketing-faq details{border-bottom:1px solid var(--hairline)}.marketing-faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:16px;font-weight:650;list-style:none;transition:color .15s;display:flex}.marketing-faq summary::-webkit-details-marker{display:none}.marketing-faq summary:hover{color:var(--accent-strong)}.marketing-faq summary svg{color:#5c636f;flex:none;transition:transform .2s,color .2s}.marketing-faq details[open] summary svg{color:var(--accent-strong);transform:rotate(45deg)}.marketing-faq details p{max-width:74ch;color:var(--ink-2);margin:0;padding:0 0 22px;font-size:14.5px;line-height:1.7}.marketing-final-cta{text-align:center;border-top:1px solid var(--hairline);background:radial-gradient(circle at 50% 100%,#1687ff33,#0000 45%),#0c0f14;padding:clamp(80px,10vw,128px) 20px}.marketing-final-cta h2{max-width:16ch;font-family:var(--font-display);letter-spacing:-.04em;text-wrap:balance;margin:18px auto 14px;font-size:clamp(46px,6.2vw,88px);line-height:.89}.marketing-final-cta>p{color:var(--ink-2);font-size:16px}.marketing-final-cta>a{color:#fff;background:var(--accent);border:1px solid #3c9cff;align-items:center;gap:15px;min-height:54px;margin-top:28px;padding:0 26px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 12px 32px #1687ff33}.marketing-final-cta>small{color:var(--ink-3);margin-top:16px;font-size:12px;display:block}.marketing-footer{width:var(--shell);grid-template-columns:minmax(240px,1fr) auto;align-items:start;gap:clamp(40px,5vw,70px);margin:0 auto;padding-top:56px;display:grid}.marketing-footer img{width:105px;height:auto}.marketing-footer p{max-width:36ch;color:var(--ink-3);margin-top:12px;font-size:13px;line-height:1.55}.marketing-footer .marketing-developed{margin-top:8px}.marketing-developed a{color:var(--accent-2);font-weight:700;transition:color .15s}.marketing-developed a:hover{color:#72e79b}.marketing-footer-links{color:var(--ink-2);grid-template-columns:repeat(3,minmax(120px,auto));gap:clamp(30px,5vw,70px);font-size:13px;display:grid}.marketing-footer-links section{flex-direction:column;align-items:flex-start;gap:11px;display:flex}.marketing-footer-links strong{color:#e2e5ea;font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.marketing-footer-links a{transition:color .15s}.marketing-footer-links a:hover{color:#fff}.marketing-footer-bottom{border-top:1px solid var(--hairline-soft);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:12px 20px;margin-top:16px;padding:18px 0;display:flex}.marketing-footer-bottom small{color:var(--ink-3);font:11px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.legal-site-page{background:#08090b;min-height:100dvh;padding-bottom:70px}.legal-site-page>.marketing-header{margin-bottom:48px}.seo-hero{isolation:isolate;padding:clamp(50px,6vw,82px) 0 clamp(56px,6vw,84px);position:relative;overflow:hidden}.seo-hero-copy,.seo-hero-visual{width:var(--shell);z-index:3;margin:0 auto;position:relative}.seo-hero h1{max-width:17ch;font:700 clamp(42px, 5vw, 72px)/.92 var(--font-display);letter-spacing:-.04em;margin:0 0 20px}.seo-hero-copy>p{color:#c3c8d2;max-width:50ch;font-size:clamp(15px,1.25vw,18px);line-height:1.65}.seo-hero-visual{margin-top:clamp(38px,5vw,58px)}.seo-landing-page[data-page=features] .seo-hero-copy,.seo-landing-page[data-page=tools] .seo-hero-copy{max-width:none}.seo-landing-page[data-page=scores] .seo-hero,.seo-landing-page[data-page=charts] .seo-hero{display:grid}.seo-landing-page[data-page=scores] .seo-hero-copy,.seo-landing-page[data-page=charts] .seo-hero-copy{grid-column:1}.viz-mosaic{background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;display:grid;position:relative}.viz-mosaic span{aspect-ratio:220/96;background:var(--panel);padding:6px;display:block}.viz-mosaic span:nth-child(7n+3){background:#101923}.viz-mosaic .tool-thumb{--thumb-on:var(--accent);opacity:.92}.viz-mosaic b{color:#fff;background:var(--accent);font:700 30px var(--font-mono);letter-spacing:-.03em;border:1px solid #3c9cff;padding:12px 18px;position:absolute;bottom:-22px;right:-14px;box-shadow:0 16px 40px #1687ff52}.viz-scores{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,18px);display:grid}.viz-scores article{background:var(--panel);border:1px solid var(--hairline);transform:rotate(calc((var(--i) - 1) * 1.4deg)) translateY(calc(var(--i) * -6px));flex-direction:column;gap:9px;padding:20px;display:flex;box-shadow:0 22px 50px #00000073}.viz-scores header{color:var(--accent-strong);font:600 10.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;display:flex}.viz-score-lines{gap:7px;margin:6px 0 10px;display:grid}.viz-score-lines i{height:3px;width:var(--w);background:#262c35}.viz-scores strong{font:650 18px var(--font-display)}.viz-scores small{color:var(--ink-3);font-size:12px}.viz-chart{background:var(--panel);border:1px solid var(--hairline);grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:0;display:grid}.viz-chart header{color:var(--ink-3);font:12px var(--font-mono);background:#14171c;border-bottom:1px solid #292d34;grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;display:flex}.viz-chart header b{color:var(--accent-strong)}.viz-chart pre{color:var(--ink-2);font:14px/1.5 var(--font-mono);white-space:pre-wrap;gap:14px;margin:0;padding:26px 22px;display:grid}.viz-chart pre b{color:var(--accent-strong);font-weight:700}.viz-chart-shapes{border-left:1px solid var(--hairline);justify-content:space-around;align-items:center;gap:10px;padding:22px 16px;display:flex}.viz-chart-shapes figure{justify-items:center;gap:7px;margin:0;display:grid}.viz-chart-shapes svg{width:54px;height:58px}.viz-chart-string{stroke:#3a414b;stroke-width:1px}.viz-chart-fret{stroke:#2a3039;stroke-width:1px}.viz-chart-nut{stroke:#8a919c;stroke-width:2.4px}.viz-chart-dot{fill:var(--accent)}.viz-chart-shapes figcaption{color:#dfe3e9;font:700 12px var(--font-mono)}.viz-readouts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.viz-readouts article{background:var(--panel);border:1px solid var(--hairline);flex-direction:column;align-items:flex-start;gap:10px;padding:24px;display:flex}.viz-readouts header{color:var(--ink-3);font:600 10.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;display:flex}.viz-readouts header svg{color:var(--accent-strong)}.viz-readouts strong{color:#fff;font:700 clamp(32px, 3.4vw, 46px) var(--font-mono);letter-spacing:-.03em}.viz-readouts small{color:var(--ink-3);font-size:12px}.viz-needle{border-bottom:1px solid var(--hairline);width:100%;height:34px;margin:4px 0;position:relative}.viz-needle:before{content:"";background:#39424f;width:1px;position:absolute;top:4px;bottom:0;left:50%}.viz-needle i{background:var(--accent-2);width:2px;animation:3.6s ease-in-out infinite alternate needleDrift;position:absolute;top:2px;bottom:0;left:50%;box-shadow:0 0 12px #30d158b3}@keyframes needleDrift{0%{transform:translate(-16px)}to{transform:translate(13px)}}.viz-beats{gap:8px;margin:6px 0;display:flex}.viz-beats i{width:15px;height:15px;animation:2s step-end infinite beatPulse;animation-delay:calc(var(--i) * .5s);background:#222831;border-radius:50%}@keyframes beatPulse{0%,24%{background:var(--accent);box-shadow:0 0 12px #1687ffb3}25%,to{box-shadow:none;background:#222831}}.viz-beats i[data-on]{background:var(--accent-strong)}.viz-taps{align-items:flex-end;gap:5px;height:34px;margin:6px 0;display:flex}.viz-taps i{height:calc(38% + var(--i) * 8%);background:linear-gradient(var(--accent), #1687ff33);flex:1}.viz-week{background:var(--panel);border:1px solid var(--hairline);padding:24px}.viz-week header{color:var(--ink-3);font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:20px;display:flex}.viz-week header b{color:#fff;font:700 20px var(--font-mono);letter-spacing:-.02em;text-transform:none}.viz-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1vw,12px);display:grid}.viz-week-day{gap:10px;display:grid}.viz-week-stack{flex-direction:column-reverse;gap:2px;height:150px;display:flex}.viz-week-stack i{flex:var(--span);background:color-mix(in srgb, var(--accent) calc(92% - var(--i) * 17%), #10141b)}.viz-week-rest{background:repeating-linear-gradient(135deg,#1e242e 0 5px,#12161d 5px 10px);border:1px solid #262c36;flex:1}.viz-week-day small{color:var(--ink-3);font:11px var(--font-mono);text-align:center;text-transform:uppercase}.viz-week footer{border-top:1px solid var(--hairline);color:var(--ink-3);flex-wrap:wrap;gap:8px 18px;margin-top:20px;padding-top:16px;font-size:12px;display:flex}.viz-week footer span{align-items:center;gap:7px;display:inline-flex}.viz-week footer i{background:color-mix(in srgb, var(--accent) calc(92% - var(--i) * 17%), #10141b);width:10px;height:10px}.seo-points{width:var(--shell);background:var(--hairline);border:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:clamp(60px,7vw,92px) auto 0;display:grid}.seo-points article{background:var(--panel);flex-direction:column;gap:11px;padding:30px 28px 34px;display:flex}.seo-points small{color:#5b6270;font:11px var(--font-mono);letter-spacing:.1em}.seo-points h2{font:700 24px var(--font-display)}.seo-points p{max-width:58ch;color:var(--ink-2);font-size:14px;line-height:1.65}.seo-rows{width:var(--shell);margin:clamp(60px,7vw,92px) auto 0}.seo-rows article{border-top:1px solid var(--hairline);grid-template-columns:84px minmax(0,20ch) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,46px);padding:30px 0;display:grid}.seo-rows article:last-child{border-bottom:1px solid var(--hairline)}.seo-rows small{color:var(--accent-strong);font:700 30px var(--font-mono);letter-spacing:-.03em}.seo-rows h2{font:700 clamp(22px, 2.3vw, 30px)/1.05 var(--font-display);letter-spacing:-.02em}.seo-rows p{max-width:62ch;color:var(--ink-2);font-size:15px;line-height:1.7}.seo-prose{width:var(--shell);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,70px);margin:0 auto;padding:clamp(56px,6vw,82px) 0 0;display:grid}.seo-prose h2{max-width:16ch;font:700 clamp(30px, 3.4vw, 46px)/.96 var(--font-display);letter-spacing:-.03em}.seo-prose p{max-width:68ch;color:var(--ink-2);font-size:clamp(15px,1.15vw,16.5px);line-height:1.78}.seo-prose p+p{margin-top:18px}.seo-landing-page .marketing-faq{margin-top:clamp(66px,8vw,100px)}.seo-landing-page .marketing-faq header h2{max-width:14ch;margin-top:0}.seo-related{width:var(--shell);border-top:1px solid var(--hairline-soft);margin:0 auto clamp(70px,8vw,100px);padding-top:clamp(50px,6vw,76px)}.seo-related strong{color:var(--ink-3);font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;display:block}.seo-related div{flex-wrap:wrap;gap:8px;display:flex}.seo-related a{color:var(--ink-2);background:var(--panel);border:1px solid var(--hairline);align-items:center;gap:10px;padding:13px 17px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.seo-related a:hover{color:#fff;border-color:#39424f}.seo-related a svg{color:var(--accent-strong)}@media (prefers-reduced-motion:reduce){.viz-needle i,.viz-beats i{animation:none}}@media (max-width:980px){.viz-mosaic{grid-template-columns:repeat(4,minmax(0,1fr))}.viz-mosaic b{font-size:24px;bottom:-18px;right:0}.viz-chart{grid-template-columns:minmax(0,1fr)}.viz-chart-shapes{border-left:0;border-top:1px solid var(--hairline)}.viz-readouts{grid-template-columns:minmax(0,1fr)}.seo-prose{grid-template-columns:minmax(0,1fr);gap:18px}.seo-rows article{grid-template-columns:56px minmax(0,1fr)}.seo-rows article>p{grid-column:2}.seo-rows small{font-size:22px}}@media (max-width:620px){.seo-points{grid-template-columns:minmax(0,1fr)}.seo-hero h1{font-size:clamp(36px,11vw,52px)}.seo-hero .hero-actions .marketing-primary{width:100%}.viz-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.viz-scores{grid-template-columns:minmax(0,1fr)}.viz-scores article{transform:none}.viz-week-stack{height:110px}}@media (max-width:1080px){.marketing-nav{display:none}.marketing-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marketing-capability-grid article:nth-child(2n){border-right:0}.marketing-capability-grid article:nth-child(-n+2){border-bottom:1px solid var(--hairline)}}@media (max-width:980px){.marketing-hero,.marketing-problem,.marketing-library,.marketing-practice,.marketing-price,.marketing-security,.marketing-faq,.marketing-section-head,.seo-hero,.seo-faq{grid-template-columns:minmax(0,1fr)}.marketing-hero{gap:46px}.marketing-section-head{align-items:start;gap:22px}.marketing-steps ol{grid-template-columns:minmax(0,1fr)}.marketing-library-stack article{transform:none}.marketing-practice>div{order:2}.marketing-practice>.viz-plan{order:1}.seo-hero-mark{min-height:260px}.seo-points{grid-template-columns:minmax(0,1fr)}.seo-points article{border-right:0;border-bottom:1px solid var(--hairline)}.seo-points article:last-child{border-bottom:0}}@media (max-width:620px){.marketing-page{--shell:calc(100% - 28px)}.marketing-header{flex-wrap:wrap;gap:12px;min-height:64px;padding-inline-start:14px;padding-inline-end:14px}.marketing-logo{flex-basis:94px;width:94px}.marketing-login{display:none}.marketing-pill{min-height:38px;padding:0 12px;font-size:12px}.marketing-menu-toggle{display:grid}.marketing-mobile-nav{border-top:1px solid var(--hairline);flex-direction:column;width:100%;padding-bottom:10px;display:flex}.marketing-mobile-nav a{color:var(--ink-2);border-bottom:1px solid var(--hairline-soft);padding:13px 2px;font-size:15px;font-weight:600}.marketing-hero h1{font-size:clamp(40px,12.5vw,58px)}.marketing-hero-actions{flex-direction:column;align-items:stretch}.marketing-primary,.marketing-secondary{width:100%}.product-frame-body{grid-template-columns:54px minmax(0,1fr)}.product-frame-body aside{padding:13px 6px}.product-frame-body aside img{margin:0 auto 16px}.product-frame-body aside span{justify-content:center;padding:0;font-size:0}.product-shape{grid-template-columns:minmax(0,1fr)}.marketing-signal{justify-content:flex-start}.marketing-steps li{padding:24px 20px 26px}.marketing-library-stack article{grid-template-columns:42px minmax(0,1fr);padding:18px}.marketing-library-stack article>svg{display:none}.marketing-price{padding:52px 22px}.marketing-footer{grid-template-columns:minmax(0,1fr);gap:40px;padding:48px 0 16px}.marketing-footer-links{grid-template-columns:1fr 1fr;gap:32px 26px}.marketing-footer-links section:last-child{grid-column:1/-1}.marketing-footer-bottom{flex-direction:column;align-items:flex-start}.legal-site-page>.marketing-header{margin-bottom:28px}.legal-site-page .legal-document{width:calc(100% - 28px)}}.home-launcher{gap:14px;min-height:0}.home-focus-grid,.home-bottom-grid,.home-list-panel{min-width:0}.home-focus-grid{grid-template-columns:minmax(0,2fr) minmax(290px,1fr);gap:8px;display:grid}.home-resume-card{background:linear-gradient(110deg,#111722,#0d1117);border:1px solid #2a3038;grid-template-columns:minmax(240px,.78fr) minmax(260px,1.22fr);min-width:0;min-height:216px;display:grid;position:relative;overflow:hidden}.home-resume-copy{z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;padding:26px;display:flex;position:relative}.home-resume-copy>span{color:#68b4ff;font:700 8px var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.home-resume-copy h1{font:650 clamp(30px, 3.5vw, 48px)/.95 var(--font-display);letter-spacing:-.03em;margin-top:8px}.home-resume-copy p{color:#7d8590;max-width:350px;margin-top:9px;font-size:11px;line-height:1.5}.home-resume-copy a{color:#fff;background:var(--accent);border:1px solid #50a8ff;align-items:center;gap:14px;min-height:38px;margin-top:17px;padding:0 13px;font-size:10px;font-weight:700;display:inline-flex}.home-resume-art{opacity:.88;align-items:stretch;min-width:0;display:grid;position:relative}.home-resume-art .tool-thumb{width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 46%);mask-image:linear-gradient(90deg,#0000 0%,#000 46%)}.home-start-panel{border-left:1px solid var(--separator-opaque);flex-direction:column;min-width:0;min-height:216px;padding-left:16px;display:flex}.home-start-panel>header{align-items:flex-start;min-height:34px;display:flex}.home-start-panel h2,.home-list-panel h2{font:600 18px/1.2 var(--font-display);letter-spacing:-.01em}.home-start-grid{flex:1;grid-template-columns:1fr 1fr;gap:6px;min-height:0;display:grid}.home-start-grid>a{color:#ccd1d8;background:#0e1115;border:1px solid #282d34;grid-template-columns:34px minmax(0,1fr) 14px;align-items:center;gap:11px;min-width:0;padding:14px;display:grid}.home-start-grid>a:hover{color:#fff;background:#121821;border-color:#419df780}.home-start-grid>a>svg:first-child{color:#63b0fc;width:22px;height:22px}.home-start-grid>a>svg:last-child{color:#49525e}.home-start-grid span{gap:3px;min-width:0;display:grid}.home-start-grid strong{font-size:13px;line-height:1.25}.home-start-grid small{color:#6f7885;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.home-bottom-grid{border-top:1px solid var(--separator-opaque);flex:1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;min-height:0;padding-top:14px;display:grid}.home-list-panel{flex-direction:column;min-height:0;display:flex}.home-list-panel+.home-list-panel{border-left:1px solid var(--separator-opaque);padding-left:14px}.home-list-panel>header{justify-content:space-between;align-items:flex-start;gap:14px;min-height:40px;display:flex}.home-list-panel>header>svg{color:#4f5966;margin-top:2px}.home-list-panel>header>a{color:#66b2ff;align-items:center;gap:5px;margin-top:3px;font-size:10px;display:flex}.home-data-list{align-content:start;gap:3px;min-height:0;display:grid;overflow:auto}.home-data-list>a{color:#c8cdd5;background:#0e1115;border:1px solid #252b32;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;min-height:64px;padding:10px;display:grid}.home-data-list>a:hover{color:#fff;background:#121821;border-color:#419df76b}.home-data-icon{color:#5baeff;background:#1687ff12;place-items:center;width:38px;height:38px;display:grid}.home-data-list>a>div{gap:4px;min-width:0;display:grid}.home-data-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.home-data-list small{color:#6d7682;font:9px var(--font-mono);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-data-list>a>b{color:#8d96a2;font:700 11px var(--font-mono)}.home-data-list>a>svg{color:#454e59}.home-panel-empty{color:#727b87;text-align:center;background:#0e111559;border:1px dashed #2a3038;flex:1;place-content:center;justify-items:center;gap:8px;min-height:0;padding:20px;font-size:12px;display:grid}.home-panel-empty a{color:#66b2ff;font-size:11px;font-weight:600}@media (min-width:900px){.home-launcher{height:calc(100dvh - var(--top-bar-height) - 70px);overflow:hidden}}@media (max-width:1120px) and (min-width:900px){.home-focus-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr)}.home-resume-card{grid-template-columns:minmax(230px,1fr) minmax(180px,.8fr)}.home-data-list>a{grid-template-columns:34px minmax(0,1fr) auto;gap:8px;padding:8px}.home-data-icon{width:34px;height:34px}}@media (max-width:899px){.home-focus-grid,.home-bottom-grid{grid-template-columns:1fr}.home-start-panel{border-top:1px solid var(--separator-opaque);border-left:0;min-height:190px;padding:18px 0 0}.home-list-panel{min-height:280px}.home-list-panel+.home-list-panel{border-top:1px solid var(--separator-opaque);border-left:0;padding:18px 0 0}}@media (max-width:620px){.home-resume-card{grid-template-columns:1fr}.home-resume-art{opacity:.32;position:absolute;top:0;bottom:0;left:42%;right:0}.home-resume-copy{padding:22px}.home-start-grid{grid-template-columns:1fr}}.auth-consent{color:#8e949f;cursor:pointer;grid-template-columns:18px 1fr;align-items:start;gap:9px;font-size:11px;line-height:1.5;display:grid}.auth-consent input{width:16px;height:16px;accent-color:var(--accent);margin:1px 0 0}.auth-consent a,.account-legal-links a{color:var(--accent-strong)}.auth-consent a:hover,.account-legal-links a:hover{color:#fff}.account-legal-links{gap:16px;padding:0 14px 14px;font-size:11px;display:flex}.practice-timer-pill{background:#0d1014;border-radius:2px;align-items:center;gap:8px;min-width:0;min-height:40px;padding:0 11px;display:inline-flex;box-shadow:0 8px 24px #00000057}.practice-timer-pill>span{color:#68717d;place-items:center;display:grid}.practice-timer-pill strong{font:700 11px var(--font-mono)}.practice-timer-overlay{background:#0d1014;border-radius:2px;width:min(280px,100vw - 28px);padding:13px}.practice-timer-clock{font:700 29px/1 var(--font-mono);margin:11px 0 8px}.practice-timer-presets{margin:11px 0 9px}.practice-timer-overlay .button-row{gap:6px}.practice-timer-overlay .button{min-height:35px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.page-context{color:var(--accent-strong);font:700 9px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;display:block}.sync-warning{min-height:30px;color:var(--signal-warn,var(--warn));font:700 10px var(--font-mono);letter-spacing:.03em;white-space:nowrap;background:#e8a33d14;border:1px solid #e8a33d3d;align-items:center;gap:6px;padding:0 9px;display:inline-flex}.session-bar{top:var(--top-bar-height);z-index:86;border-bottom:1px solid var(--separator-strong);background:#0d1117;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:62px;padding:9px 14px 9px 16px;display:grid;position:sticky;box-shadow:0 10px 24px #0000003d}.session-bar-progress{background:#ffffff0b;height:2px;position:absolute;top:auto;bottom:-1px;left:0;right:0;overflow:hidden}.session-bar-progress span{background:var(--accent);height:100%;transition:width .35s;display:block}.session-bar-main{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;display:grid}.session-bar-index{width:30px;height:30px;color:var(--accent-strong);background:var(--accent-dim);font:700 10px var(--font-mono);border:1px solid #1687ff38;place-items:center;display:grid}.session-bar-copy{gap:2px;min-width:0;display:grid}.session-bar-copy strong,.session-bar-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-bar-copy strong{color:var(--text-primary);font-size:14px;font-weight:650}.session-bar-copy small{color:var(--text-tertiary);font-size:11px}.session-bar time{min-width:54px;color:var(--text-primary);font:700 13px var(--font-mono);text-align:right}.session-bar time.overtime{color:var(--signal-warn,var(--orange))}.session-bar-actions{align-items:center;gap:6px;display:flex}.session-bar-actions .button{border-radius:var(--radius-sm);min-height:36px;padding:0 11px;font-size:12px}.session-bar .session-complete{color:#fff;background:#176b3b;border-color:#34d07a52}.session-bar .session-complete:hover{background:#1a7d45}.session-more{position:relative}.session-more summary{width:36px;height:36px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--separator-opaque);cursor:pointer;font:700 13px var(--font-mono);letter-spacing:.08em;place-items:center;list-style:none;display:grid}.session-more summary::-webkit-details-marker{display:none}.session-more[open] summary{color:#fff;border-color:var(--separator-strong)}.session-more>div{z-index:5;background:var(--bg-elevated);border:1px solid var(--separator-strong);width:164px;padding:5px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 16px 36px #0000007a}.session-more button{width:100%;min-height:38px;color:var(--text-secondary);text-align:left;padding:0 9px;font-size:12px}.session-more button:hover{color:#fff;background:var(--bg-hover)}.session-more button.danger{color:var(--signal-stop,var(--danger))}.session-mobile-only{display:none}.practice-hub{width:100%;max-width:1180px;margin-inline-start:auto;margin-inline-end:auto}.practice-outcome,.practice-resume,.practice-plan-card{background:var(--bg-surface);border:1px solid var(--separator-opaque);align-items:center;gap:22px;min-height:166px;padding:24px;display:grid}.practice-outcome{grid-template-columns:48px minmax(0,1fr) auto}.practice-outcome-icon{width:48px;height:48px;color:var(--signal-live,var(--accent-2));background:#34d07a14;border:1px solid #34d07a38;place-items:center;display:grid}.practice-outcome h2,.practice-resume h2,.practice-plan-card h2{font:650 clamp(25px, 3vw, 36px)/1 var(--font-display);letter-spacing:-.025em;margin-top:6px}.practice-outcome p,.practice-resume p,.practice-plan-card p{max-width:620px;color:var(--text-secondary);margin-top:8px;font-size:14px;line-height:1.5}.practice-resume{grid-template-columns:minmax(0,1fr) auto auto}.practice-resume-meta{background:var(--bg-grouped);border-left:2px solid var(--accent);gap:3px;min-width:94px;padding:11px 15px;display:grid}.practice-resume-meta strong{font:700 17px var(--font-mono)}.practice-resume-meta span{color:var(--text-tertiary);text-transform:uppercase;font-size:10px}.practice-plan-card{background:linear-gradient(110deg,#111722,#0d1117 65%);border-color:#2a3038;grid-template-columns:minmax(0,1fr) auto}.practice-plan-card .action-primary{align-items:center;gap:12px;display:inline-flex}.practice-hub-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:10px;display:grid}.practice-focus-panel,.practice-history-panel{background:var(--bg-surface);border:1px solid var(--separator-opaque);min-width:0}.practice-focus-panel>header,.practice-history-panel>header{border-bottom:1px solid var(--separator-opaque);justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px 16px;display:flex}.practice-focus-panel h2,.practice-history-panel h2{margin-top:3px;font-size:17px;font-weight:600}.practice-focus-panel>header>span,.practice-history-panel>header>strong{color:var(--text-tertiary);font:700 10px var(--font-mono);text-transform:uppercase}.practice-skill-list,.practice-history-list{display:grid}.practice-skill-list>a{border-bottom:1px solid var(--separator);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:72px;padding:11px 14px;display:grid}.practice-skill-list>a:last-child,.practice-history-list>a:last-child{border-bottom:0}.practice-skill-list>a:hover,.practice-history-list>a:hover{background:var(--bg-hover)}.practice-skill-icon{width:38px;height:38px;color:var(--accent-strong);background:var(--accent-dim);place-items:center;display:grid}.practice-skill-list a>div{gap:4px;min-width:0;display:grid}.practice-skill-list strong{font-size:14px;font-weight:600}.practice-skill-list small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.practice-skill-reason{color:var(--accent-strong);font:700 9px var(--font-mono);text-transform:uppercase}.practice-history-list>a{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 15px;display:flex}.practice-history-list a>div{gap:3px;display:grid}.practice-history-list strong{font-size:13px;font-weight:600}.practice-history-list small{color:var(--text-tertiary);font-size:10px}.practice-history-list a>span{color:var(--text-secondary);font:700 11px var(--font-mono)}.practice-empty{text-align:center;place-content:center;gap:6px;min-height:186px;padding:20px;display:grid}.practice-empty strong{font-size:14px}.practice-empty span{max-width:270px;color:var(--text-tertiary);font-size:12px;line-height:1.45}.explore-page{width:100%;max-width:1180px;margin-inline-start:auto;margin-inline-end:auto}.explore-jump{top:calc(var(--top-bar-height) + 1px);z-index:42;background:var(--bg-surface);border:1px solid var(--separator-opaque);align-items:center;gap:0;display:flex;position:sticky}.explore-jump a{min-width:92px;min-height:42px;color:var(--text-secondary);border-right:1px solid var(--separator);place-items:center;padding:0 18px;font-size:13px;font-weight:650;display:grid}.explore-jump a:hover{color:#fff;background:var(--bg-hover)}.explore-jump a:focus-visible{color:#fff;background:var(--bg-hover)}.explore-sections{gap:18px;display:grid}.explore-section{background:var(--bg-surface);border:1px solid var(--separator-opaque);scroll-margin-top:110px}.explore-section>header{border-bottom:1px solid var(--separator-opaque);grid-template-columns:minmax(180px,.55fr) minmax(260px,1fr);align-items:center;gap:24px;min-height:92px;padding:18px 20px;display:grid}.explore-section h2{font:650 28px/1 var(--font-display);margin-top:3px}.explore-section>header p{max-width:540px;color:var(--text-secondary);font-size:14px;line-height:1.45}.explore-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.explore-tool-row{border-right:1px solid var(--separator);border-bottom:1px solid var(--separator);grid-template-columns:124px minmax(0,1fr) 18px;align-items:center;gap:14px;min-width:0;min-height:94px;padding:14px;display:grid}.explore-tool-row:nth-child(2n){border-right:0}.explore-tool-row:hover{background:var(--bg-hover)}.explore-tool-thumb{aspect-ratio:220/96;background:var(--bg-app);border:1px solid var(--separator);width:124px;overflow:hidden}.explore-tool-thumb .tool-thumb{width:100%;height:100%}.explore-tool-row>span:nth-child(2){gap:5px;min-width:0;display:grid}.explore-tool-row strong{font-size:15px;font-weight:600}.explore-tool-row small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.explore-tool-row>svg{color:var(--text-quarternary);transition:color .14s,transform .14s}.explore-tool-row:hover>svg{color:var(--accent-strong);transform:translate(2px)}.routine-item.active{box-shadow:inset 2px 0 0 var(--accent);border-color:#1687ff80}.routine-item.completed{background:#34d07a09}.routine-item.completed .routine-index{color:var(--signal-live,var(--accent-2));border-color:#34d07a40}.routine-item.skipped{opacity:.58}.routine-status{min-width:72px;color:var(--text-tertiary);font:700 10px var(--font-mono);text-transform:uppercase;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.routine-item.completed .routine-status{color:var(--signal-live,var(--accent-2))}.account-sync-state{color:var(--signal-live,var(--accent-2));background:#34d07a0e;border:1px solid #34d07a2b;align-items:center;gap:7px;padding:11px 12px;font-size:12px;display:flex}.account-sync-state.warn{color:var(--signal-warn,var(--orange));background:#e8a33d0f;border-color:#e8a33d33}@media (min-width:900px){.session-bar{padding-left:30px;padding-right:30px}.explore-jump{top:0}}@media (max-width:899px){.session-bar{top:var(--top-bar-height);grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:58px;padding:7px 9px}.session-bar-main{grid-template-columns:28px minmax(0,1fr) auto;gap:8px}.session-bar-index{width:28px;height:28px}.session-bar-copy small,.session-bar-actions .button:not(.session-complete){display:none}.session-bar .session-complete{width:38px;min-width:38px;padding:0;font-size:0}.session-bar .session-complete svg{width:16px;height:16px}.session-more summary{width:38px}.session-more .session-mobile-only{display:block}.practice-outcome,.practice-resume,.practice-plan-card{grid-template-columns:1fr;gap:15px;padding:19px}.practice-outcome-icon{width:40px;height:40px}.practice-resume-meta{width:-moz-fit-content;width:fit-content}.practice-hub-grid{grid-template-columns:1fr}.practice-plan-card .action-primary,.practice-outcome .button,.practice-resume .button{width:100%}.explore-jump{top:var(--top-bar-height);overflow-x:auto}.explore-jump a{flex:1 0 33.333%;min-width:94px}.explore-section{scroll-margin-top:168px}.explore-section>header{grid-template-columns:1fr;gap:7px;min-height:0;padding:17px}.explore-tool-grid{grid-template-columns:1fr}.explore-tool-row,.explore-tool-row:nth-child(2n){border-right:0}}@media (max-width:560px){.sync-warning{justify-content:center;width:30px;padding:0;font-size:0}.session-bar-copy strong{font-size:12px}.session-bar time{min-width:48px;font-size:11px}.practice-skill-list>a{grid-template-columns:36px minmax(0,1fr)}.practice-skill-reason{grid-column:2}.explore-tool-row{grid-template-columns:96px minmax(0,1fr) 15px;min-height:82px;padding:11px}.explore-tool-thumb{width:96px}.adaptive-routine-list .routine-item{grid-template-columns:32px minmax(0,1fr)}.adaptive-routine-list .routine-status,.adaptive-routine-list .button{grid-column:2;justify-self:start}}.lab-command-bar{background:var(--bg-surface);border:1px solid var(--separator-opaque);align-items:stretch;gap:0;min-height:64px;display:flex}.lab-command-group{border-right:1px solid var(--separator);align-items:center;gap:10px;min-width:0;padding:9px 12px;display:flex}.lab-command-group>span,.lab-command-value>span{color:var(--text-tertiary);font:700 9px var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.lab-command-value{min-width:126px;color:var(--text-primary);text-align:left;border-left:1px solid var(--separator);align-content:center;gap:4px;margin-left:auto;padding:8px 14px;display:grid}.lab-command-value:hover{background:var(--bg-hover)}.lab-command-value strong{font-size:14px;font-weight:650}.lab-command-identity{flex:auto;align-content:center;gap:5px;min-width:240px;padding:9px 13px;display:grid}.lab-command-identity .title-select-heading{flex-wrap:wrap;gap:5px;display:flex}.lab-command-note{max-width:62ch;color:var(--text-secondary);margin:2px 0 0;font-size:12.5px;line-height:1.45}.lab-command-identity .title-select-trigger{min-height:34px}.lab-command-control{border-left:1px solid var(--separator);align-items:center;min-width:380px;padding:7px;display:flex}.lab-command-control .control-group{width:100%}.lab-command-control .control-label{margin:0 0 5px}.lab-command-control .chip-select{gap:0}.lab-command-control .chip-select button{border-radius:0;min-height:34px}.lab-command-readout{border-left:1px solid var(--separator);text-align:right;align-content:center;gap:4px;min-width:94px;padding:8px 13px;display:grid}.lab-command-readout span{color:var(--text-tertiary);font:700 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.lab-command-readout strong{font:700 14px var(--font-mono)}.lab-command-metrics{border-left:1px solid var(--separator);align-items:stretch;margin-left:auto;display:flex}.lab-command-metrics>span{border-right:1px solid var(--separator);align-content:center;gap:4px;min-width:86px;padding:8px 12px;display:grid}.lab-command-metrics>span:last-child{border-right:0}.lab-command-metrics small{color:var(--text-tertiary);font:700 9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.lab-command-metrics strong{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:13px;font-weight:650;overflow:hidden}.compact-segments{border:1px solid var(--separator-opaque);display:flex}.compact-segments button{min-height:34px;color:var(--text-secondary);border-right:1px solid var(--separator);padding:0 13px;font-size:12px;font-weight:650}.compact-segments button:last-child{border-right:0}.compact-segments button:hover{color:#fff;background:var(--bg-hover)}.compact-segments button.active{color:#fff;background:var(--accent)}.lab-workbench{grid-template-columns:minmax(0,1fr) minmax(250px,300px);align-items:start;gap:10px;display:grid}.lab-inspector{background:var(--bg-surface);border-color:var(--separator-opaque);flex-direction:column;gap:14px;min-width:0;display:flex}.lab-inspector-empty{align-content:center;gap:7px;min-height:180px;display:grid}.lab-inspector-empty strong{font:650 24px/1 var(--font-display)}.lab-inspector-empty p{max-width:240px;color:var(--text-secondary);font-size:12px;line-height:1.45}.chord-lab-workbench{grid-template-columns:minmax(560px,1fr) minmax(250px,300px)}.chord-lab-inspector .chord-result-card{padding:0}.chord-lab-inspector .chord-result-name{font-size:clamp(34px,4vw,52px)}.chord-lab-inspector .chord-facts{border-top:1px solid var(--separator);gap:0;display:grid}.chord-lab-inspector .chord-facts span{border-bottom:1px solid var(--separator);grid-template-columns:58px minmax(0,1fr);gap:8px;padding:8px 0;display:grid}.chord-lab-inspector .chord-facts b{color:var(--text-tertiary);font:700 9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.lab-detail-deck{padding:0;overflow:hidden}.lab-detail-tabs{border-bottom:1px solid var(--separator-opaque);min-height:42px;display:flex}.lab-detail-tabs button{min-width:112px;color:var(--text-tertiary);border-right:1px solid var(--separator);padding:0 14px;font-size:12px;font-weight:650}.lab-detail-tabs button:hover:not(:disabled){color:#fff;background:var(--bg-hover)}.lab-detail-tabs button.active{color:var(--accent-strong);background:var(--accent-dim);box-shadow:inset 0 -2px 0 var(--accent)}.lab-detail-tabs button:disabled{opacity:.32}.lab-detail-body{padding:14px}.lab-detail-body .candidate-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.lab-detail-body .candidate-row{border-radius:0}.lab-disclosure{background:var(--bg-surface);border:1px solid var(--separator-opaque)}.lab-disclosure>summary{min-height:44px;color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:0 13px;font-size:12px;font-weight:650;list-style:none;display:flex}.lab-disclosure>summary::-webkit-details-marker{display:none}.lab-disclosure>summary:after{content:"+";color:var(--accent-strong);font:700 14px var(--font-mono);margin-left:2px}.lab-disclosure[open]>summary:after{content:"−"}.lab-disclosure>summary strong{color:var(--text-tertiary);font:700 10px var(--font-mono);margin-left:auto}.lab-disclosure-body{border-top:1px solid var(--separator-opaque);padding:14px}.caged-command-bar .caged-shape-command{flex:1}.caged-command-bar .shape-button{border-radius:0;width:38px;height:34px}.caged-workbench{grid-template-columns:minmax(560px,1fr) 280px}.caged-guide-panel{border-color:var(--separator-opaque);min-height:0}.caged-guide-panel .caged-guide-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0}.caged-guide-panel .caged-guide-step{border-radius:0;min-width:0;min-height:40px;padding:6px 7px}.caged-guide-panel .caged-guide-step span{border-radius:0;flex-basis:22px;width:22px;height:22px}.caged-guide-panel .caged-guide-copy{gap:6px;display:grid}.caged-guide-panel .caged-guide-copy h2{margin:0;font-size:19px}.caged-guide-panel .caged-guide-copy p{font-size:12px}.caged-guide-panel .caged-guide-actions{margin-top:auto}.caged-next-connection{min-width:0}.caged-explore-panel .caged-view-tabs{gap:5px;display:grid}.caged-explore-panel .seg-button{border-radius:0;justify-content:flex-start;width:100%}.caged-explore-panel .caged-overlay-explainer{grid-template-columns:12px 1fr;gap:7px;margin-top:auto;display:grid}@media (max-width:1040px){.lab-workbench,.chord-lab-workbench,.caged-workbench{grid-template-columns:1fr}.lab-inspector-empty{min-height:110px}.caged-guide-panel .caged-guide-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.lab-command-control{min-width:330px}.triad-command-bar .lab-command-identity{min-width:210px}.triad-command-bar .lab-command-control{min-width:280px}.triad-command-bar .lab-command-readout{min-width:72px;padding-inline-start:9px;padding-inline-end:9px}}@media (max-width:720px){.lab-command-bar{flex-wrap:wrap}.lab-command-group{border-right:0;border-bottom:1px solid var(--separator);flex:100%}.lab-command-value{border-left:0;width:100%;margin-left:0}.lab-command-identity,.lab-command-control,.lab-command-readout{border-left:0;border-bottom:1px solid var(--separator);width:100%;min-width:0}.lab-command-readout{text-align:left}.lab-command-metrics{border-left:0;border-top:1px solid var(--separator);width:100%;margin-left:0}.lab-command-metrics>span{flex:1;min-width:0}.lab-detail-tabs{overflow-x:auto}.lab-detail-tabs button{flex:1 0 auto;min-width:104px}.lab-detail-body .candidate-list{grid-template-columns:1fr}.caged-guide-panel .caged-guide-progress{grid-template-columns:repeat(2,minmax(0,1fr))}}.task-workbench{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.task-surface{min-width:0}.task-workbench-stacked{grid-template-columns:minmax(0,1fr)}.task-context-below,.task-context-below .lab-command-identity{min-width:0}.task-context{padding:18px}.task-context>*,.task-context .lab-command-identity,.task-context .lab-command-control,.task-context .lab-command-readout,.task-context .lab-command-metrics,.task-context .lab-command-metrics>span{width:auto;min-width:0;box-shadow:none;background:0 0;border:0;margin:0;padding:0}.task-context .lab-command-bar,.task-context .rhythm-pattern-head{flex-direction:column;align-items:stretch;gap:22px;display:flex}.task-context .lab-command-identity{gap:10px;display:grid}.task-context .lab-command-control{display:block}.task-context .lab-command-readout{text-align:left}.task-context .lab-command-metrics{gap:14px;display:grid}.task-context .lab-command-metrics>span{grid-template-columns:76px 1fr;gap:10px;display:grid}.task-context .lab-command-metrics strong{white-space:normal;max-width:none}.task-context .title-select-heading{font-size:24px;line-height:1.25}.task-context .chip-group{flex-wrap:wrap}.task-context .chip{background:0 0;border-color:#0000}.task-context .chip.active{background:var(--accent-dim);color:var(--accent-strong)}.task-context .content-card{box-shadow:none;border:0;padding:0}.task-surface>.panel{margin:0}.task-surface .guitar-tab{box-shadow:none;border:0}.task-surface>.panel .guitar-tab-wrap{background:0 0;border:0}.task-context .ear-call-card{text-align:left;gap:12px;display:grid}.task-context .ear-call-card .panel-title-row{gap:10px}.task-context .ear-call-card .ear-stage-hint{max-width:none;color:var(--text-secondary);margin:4px 0 0;font-size:12.5px;line-height:1.5}.task-context .ear-call-card .stat-chips{gap:20px}.task-context .ear-call-card .challenge-display{text-align:left}.task-context .ear-call-card .ear-response-dots{justify-content:flex-start;margin:0}.task-context .ear-call-card .ear-feedback{color:var(--text-secondary);margin:0;font-size:12.5px;line-height:1.5}.task-context .ear-call-card .ear-clean-streak{margin:0}.ear-direction-panel .ear-answer-buttons{justify-content:flex-start}.task-context .chip-group{box-shadow:none;background:0 0;border:0}.task-context .panel-title-row{flex-direction:column;align-items:flex-start;gap:14px}.task-context .stat-chip{background:0 0;border:0;padding:0}.task-context .challenge-display{font-size:28px;line-height:1.2}.task-context .daily-plan-brief{gap:16px;display:grid}.task-context .daily-progress-copy{gap:8px;display:grid}.task-context .daily-plan-reason{border:0;width:auto;padding:12px 0;position:static}.task-context .transport{flex-wrap:wrap}.task-context .progression-strip{flex-wrap:wrap;gap:8px}.task-context .chord-chip{background:0 0;border:0;min-width:0}.task-context .chord-chip.active{color:var(--accent-strong);background:var(--accent-dim)}.task-workspace .routine-item{background:0 0;border-width:0 0 1px;border-radius:0}.task-workspace .rhythm-notation{padding:18px 0}.task-workspace .rhythm-notation-cell{border:0;border-bottom:1px solid var(--separator);background:0 0}.task-workspace .rhythm-notation-cell.active{background:var(--accent-dim)}.task-workspace .lab-disclosure,.task-workspace .rhythm-guide,.task-workspace .rhythm-grooves{box-shadow:none;background:0 0;border-width:1px 0 0}.task-workspace .groove-compare-panel{background:0 0;border:0;padding-inline-start:0;padding-inline-end:0}.lab-detail-body .candidate-row{background:0 0;border-width:0 0 1px}.lab-detail-tabs button{border-right:0}.page .title-select-trigger{border:0;border-bottom:1px solid var(--separator-strong);white-space:normal;text-align:left;background:0 0;gap:8px;min-height:32px;padding:2px 0}.page .title-select-trigger:hover,.page .title-select.open .title-select-trigger{border-color:var(--accent);background:0 0}.title-select-edit{font:500 10px/1.2 var(--font-mono);color:var(--text-tertiary);letter-spacing:0;align-self:center}.task-context .title-select-heading{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.task-context .title-select,.task-context .title-select-trigger{max-width:100%}.task-context .title-select-value{overflow-wrap:anywhere;min-width:0}.page .task-context .rhythm-pattern-head,.page .task-context .daily-plan-brief{background:0 0;border:0;padding:0}.page .task-context .challenge-card{text-align:left}.page .task-context .title-select-trigger{border:0;border-bottom:1px solid var(--separator-strong);background:0 0;padding:2px 0}@media (max-width:1200px){.task-workbench{grid-template-columns:minmax(0,1fr) 250px}}@media (max-width:1040px){.task-workbench{grid-template-columns:1fr}.task-context{grid-row:1}.task-context .lab-command-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.task-context .title-select-heading{flex-flow:wrap}}@media (max-width:600px){.task-context .lab-command-bar{grid-template-columns:1fr}.task-workspace~.page-actions-bar{flex-wrap:wrap;gap:6px;padding:8px}.task-workspace~.page-actions-bar>button{white-space:normal;flex:42%;min-width:0;min-height:40px;padding:8px}}.library-section-tabs{align-items:stretch;min-height:42px;display:flex}.library-section-tabs button,.library-section-tabs button:last-child{border-right:1px solid var(--separator-opaque);text-align:center;border-bottom:0;justify-content:center;width:auto;min-width:116px;min-height:42px;padding:0 16px}.library-section-tabs button.active{box-shadow:inset 0 -2px 0 var(--accent)}.library-toolbar{background:var(--bg-surface);border:1px solid var(--separator-opaque);justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:7px;display:flex}.library-filter-row{align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.library-filter-row button{min-height:36px;color:var(--text-tertiary);white-space:nowrap;border:1px solid #0000;padding:0 12px;font-size:12px;font-weight:600}.library-filter-row button:hover{color:#fff;background:var(--bg-hover)}.library-filter-row button.active{color:var(--accent-strong);background:var(--accent-dim);border-color:#1687ff2e}.library-toolbar .tab-library-actions{flex:none}.library-toolbar .button{min-height:36px;padding:0 12px;font-size:12px}.library-upload-panel{background:var(--bg-grouped);border:1px solid var(--separator-opaque);align-items:center;gap:7px;padding:10px;display:flex}.tab-library-heading{padding-top:2px}.daily-plan-brief{background:var(--bg-surface);border:1px solid var(--separator-opaque);justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:11px 14px;display:flex}.daily-plan-brief>div{gap:4px;display:grid}.daily-plan-brief>div>strong{font-size:16px;font-weight:600}.daily-plan-brief details{flex:none;position:relative}.daily-plan-brief summary,.rhythm-guide summary,.rhythm-grooves summary{min-height:36px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--separator-opaque);cursor:pointer;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:600;list-style:none;display:flex}.daily-plan-brief summary::-webkit-details-marker{display:none}.rhythm-guide summary::-webkit-details-marker{display:none}.rhythm-grooves summary::-webkit-details-marker{display:none}.daily-plan-brief summary:after,.rhythm-guide summary:after,.rhythm-grooves summary:after{content:"+";color:var(--accent-strong);font:700 13px var(--font-mono)}.daily-plan-brief details[open] summary:after,.rhythm-guide[open] summary:after,.rhythm-grooves[open] summary:after{content:"−"}.daily-plan-reason{z-index:12;width:min(420px,100vw - 28px);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--separator-strong);padding:13px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 16px 36px #00000080}.daily-plan-reason p{font-size:13px;line-height:1.45}.daily-plan-reason .daily-weak-skills{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.daily-plan-reason .daily-weak-skills span{color:var(--text-tertiary);background:var(--bg-input);border:1px solid var(--separator);font:700 9px var(--font-mono);text-transform:uppercase;padding:5px 7px}.daily-quick-controls{border-top:1px solid var(--separator);border-bottom:1px solid var(--separator);gap:12px;padding:12px 0;display:grid}.daily-quick-controls .chip-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid;overflow:visible}.daily-quick-controls .chip{justify-content:center;min-width:0;padding:7px 4px}.routine-explanation{color:var(--text-tertiary);margin-top:8px;font-size:11px;line-height:1.5}.routine-explanation summary{cursor:pointer;width:-moz-fit-content;width:fit-content;color:var(--accent-strong);font-weight:600}.routine-explanation p{margin:6px 0 0}.routine-explanation a,.session-task-card a,.help-theory-connection a{color:var(--accent-strong);font-size:11px;font-weight:650;text-decoration:none}.routine-explanation a{margin-top:7px;display:inline-block}.routine-swap{border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;padding:6px 9px;font-size:11px}.routine-swap:hover{border-color:var(--accent);color:var(--text-primary)}.adaptive-routine-list .routine-item{grid-template-columns:40px minmax(0,1fr) auto auto}@media (max-width:560px){.adaptive-routine-list .routine-item{grid-template-columns:32px minmax(0,1fr) auto}.adaptive-routine-list .routine-swap{grid-area:1/3;align-self:start}.adaptive-routine-list .routine-status{grid-column:2}}.session-task-card{border:1px solid #1687ff4d;border-left:3px solid var(--accent);background:var(--bg-surface);gap:5px;margin:0 0 14px;padding:12px 16px;display:grid}.session-task-card strong{font-size:13px;line-height:1.45}.session-task-card small{color:var(--text-secondary);font-size:11px;line-height:1.45}.session-task-card a{width:-moz-fit-content;width:fit-content;margin-top:3px}.practice-recap{gap:10px;margin-bottom:18px;display:grid}.practice-recap header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.practice-recap header strong{color:var(--text-tertiary);font-size:11px}.practice-recap-list{display:grid}.practice-recap-row{border-top:1px solid var(--separator);grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 0;display:grid}.practice-recap-row>div{gap:3px;display:grid}.practice-recap-row strong{font-size:12px}.practice-recap-row small{color:var(--text-tertiary);font-size:11px;line-height:1.4}.practice-recap-row>span:last-child{color:var(--text-secondary);font:700 11px var(--font-mono);white-space:nowrap}.practice-recap-number{color:var(--accent-strong);font:700 11px var(--font-mono)}.daily-progress-copy{justify-content:space-between;align-items:center;min-height:22px;display:flex}.daily-progress-copy p{font-size:12px}.adaptive-routine-list .routine-copy>span{color:var(--text-secondary);font-size:12px;line-height:1.35}.explore-section>header{justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 16px;display:flex}.explore-section>header h2{font:650 20px/1 var(--font-display);margin:0}.explore-section>header span{color:var(--text-quarternary);font:700 9px var(--font-mono);text-transform:uppercase}.lab-identity-card{justify-content:space-between;align-items:center;gap:18px;min-height:88px;padding:14px;display:flex}.lab-identity-copy{gap:6px;min-width:0;display:grid}.lab-identity-copy .title-select-heading{flex-wrap:wrap;gap:6px;display:flex}.lab-identity-card .title-select-trigger{background:var(--bg-grouped);border:1px solid var(--separator-strong);min-height:38px;padding:0 10px}.lab-identity-card .title-select-trigger:hover,.lab-identity-card .title-select.open .title-select-trigger{border-color:var(--accent);background:var(--accent-dim)}.lab-identity-card .title-select-value{border-bottom:0}.lab-identity-card .note-pills{justify-content:flex-end;margin:0!important}.lab-identity-copy>p{font:600 11px var(--font-mono)}.rhythm-pattern-head{background:var(--bg-surface);border:1px solid var(--separator-opaque);justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:12px 14px;display:flex}.rhythm-pattern-head>div:first-child{gap:5px;min-width:0;display:grid}.rhythm-pattern-head .title-select-trigger{background:var(--bg-grouped);border:1px solid var(--separator-strong);min-height:36px;padding:0 9px}.rhythm-pattern-head .title-select-value{border-bottom:0}.rhythm-pattern-meta{flex:none;grid-template-columns:auto auto 1px auto auto;align-items:baseline;gap:6px;display:grid}.rhythm-pattern-meta strong{font:700 14px var(--font-mono)}.rhythm-pattern-meta span{color:var(--text-tertiary);text-transform:uppercase;font-size:9px}.rhythm-pattern-meta i{background:var(--separator-opaque);align-self:stretch}.rhythm-guide,.rhythm-grooves{background:var(--bg-surface);border:1px solid var(--separator-opaque)}.rhythm-guide>summary,.rhythm-grooves>summary{background:0 0;border:0}.rhythm-guide>div{color:var(--text-secondary);padding:0 12px 12px;font-size:12px}.rhythm-guide>div>p{margin-bottom:10px}.rhythm-guide .rhythm-legend-row{margin:0}.rhythm-grooves>.groove-compare-panel{border-width:1px 0 0;margin:0}@media (max-width:720px){.library-section-tabs{overflow:hidden}.library-section-tabs button,.library-section-tabs button:last-child{border-right:1px solid var(--separator-opaque);border-bottom:0;flex:33.333%;gap:7px;min-width:0;min-height:42px;padding:0 7px}.library-section-tabs button.active{box-shadow:inset 0 -2px 0 var(--accent)}.library-toolbar{flex-direction:column;align-items:stretch}.library-toolbar .tab-library-actions{grid-template-columns:1fr 1fr;display:grid}.library-toolbar .tab-library-actions .button{width:100%}.library-upload-panel{flex-direction:column;align-items:stretch}.library-upload-meta{grid-template-columns:1fr;width:100%}.daily-plan-brief{align-items:stretch}.daily-plan-reason{right:-1px}.lab-identity-card{flex-direction:column;align-items:flex-start}.lab-identity-card .note-pills{justify-content:flex-start}.rhythm-pattern-head{flex-direction:column;align-items:flex-start}.explore-section>header{min-height:46px;padding:0 13px}}@media (max-width:560px){.library-filter-row{scrollbar-width:none}.library-filter-row::-webkit-scrollbar{display:none}.rhythm-notation-track::-webkit-scrollbar{display:none}.rhythm-notation{grid-template-columns:44px minmax(0,1fr);gap:5px 6px}.rhythm-notation-track{scrollbar-width:none;gap:2px}.rhythm-notation-cell{min-width:34px}}.consistency{background:var(--bg-surface);border:1px solid var(--separator-opaque);margin-top:8px;padding:22px}.consistency>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.consistency h2{font:650 22px var(--font-display);letter-spacing:-.02em;margin-top:6px}.consistency-range{border:1px solid var(--separator-opaque);display:flex}.consistency-range button{min-height:34px;color:var(--text-tertiary);border:0;border-right:1px solid var(--separator-opaque);font:600 12px var(--font-ui);cursor:pointer;background:0 0;padding:0 14px;transition:color .15s,background .15s}.consistency-range button:last-child{border-right:0}.consistency-range button:hover{color:var(--text-primary)}.consistency-range button[aria-pressed=true]{color:#fff;background:var(--bg-elevated);box-shadow:inset 0 -2px var(--accent)}.consistency-stats{background:var(--separator-opaque);border:1px solid var(--separator-opaque);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:20px;display:grid}.consistency-stats div{background:var(--bg-grouped);gap:3px;padding:13px 15px;display:grid}.consistency-stats b{color:var(--text-primary);font:700 20px var(--font-mono);letter-spacing:-.02em}.consistency-stats small{color:var(--text-tertiary);font-size:11px}.consistency-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.consistency-day{gap:9px;display:grid}.consistency-stack{flex-direction:column-reverse;gap:2px;height:132px;display:flex}.consistency-stack i{flex:var(--span);background:color-mix(in srgb, var(--accent) calc(92% - var(--i) * 17%), #10141b);min-height:3px}.consistency-rest{border:1px solid var(--separator-opaque);background:repeating-linear-gradient(135deg,#1e242e 0 5px,#12161d 5px 10px);flex:1}.consistency-day small{color:var(--text-tertiary);font:11px var(--font-mono);text-align:center;text-transform:uppercase}.consistency-month{grid-template-columns:repeat(auto-fit,minmax(26px,1fr));gap:5px;display:grid}.consistency-cell{aspect-ratio:1;border:1px solid var(--separator-opaque);background:#12161d;place-items:center;display:grid}.consistency-cell i{color:#3d4450;font:10px var(--font-mono);font-style:normal}.consistency-cell[data-level="1"]{background:#1687ff42}.consistency-cell[data-level="2"]{background:#1687ff7a}.consistency-cell[data-level="3"]{background:#1687ffb8}.consistency-cell[data-level="4"]{background:var(--accent)}.consistency-cell[data-level="1"] i,.consistency-cell[data-level="2"] i{color:#cfe2f7}.consistency-cell[data-level="3"] i,.consistency-cell[data-level="4"] i{color:#fff}.consistency-cell[data-today]{outline:1px solid var(--accent-strong);outline-offset:1px}.consistency>footer{border-top:1px solid var(--separator-opaque);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.consistency-scale{align-items:center;gap:5px;display:inline-flex}.consistency-scale em{color:var(--text-tertiary);font-size:11px;font-style:normal}.consistency-scale i{border:1px solid var(--separator-opaque);background:#12161d;width:12px;height:12px}.consistency-scale i[data-level="1"]{background:#1687ff42}.consistency-scale i[data-level="2"]{background:#1687ff7a}.consistency-scale i[data-level="3"]{background:#1687ffb8}.consistency-scale i[data-level="4"]{background:var(--accent)}.consistency-best{color:var(--text-secondary);font-size:12px}.consistency-best b{color:var(--text-primary);font:700 12px var(--font-mono)}.consistency-empty{color:var(--text-tertiary);align-items:center;gap:14px;padding:26px 0 8px;display:flex}.consistency-empty svg{color:var(--accent-strong);flex:none}.consistency-empty p{font-size:13px}@media (max-width:620px){.consistency{padding:16px}.consistency-stats{grid-template-columns:minmax(0,1fr)}.consistency-stack{height:104px}.consistency-week{gap:5px}}.cfg-rights{background:var(--separator-opaque);border:1px solid var(--separator-opaque);gap:1px;margin:0;padding:0;list-style:none;display:grid}.cfg-rights li{background:var(--bg-grouped);grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px;padding:13px 15px;display:grid}.cfg-rights strong{font-size:13px}.cfg-rights span{color:var(--text-secondary);font-size:13px}.cfg-danger{border-color:#4a2626}.cfg-danger .cfg-head svg{color:var(--danger)}.cfg-confirm{gap:12px;display:grid}.cfg-confirm p{color:var(--text-secondary);font-size:13px;line-height:1.6}.cfg-confirm input{min-height:42px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);font:600 14px var(--font-mono);letter-spacing:.08em;padding:0 12px}.cfg-confirm input:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.button.danger{color:#fff;background:#7a2020;border:1px solid #a33}.button.danger:hover:not(:disabled){background:#983030}.button.danger:disabled{opacity:.45;cursor:not-allowed}.legal-document{width:min(100% - 40px,860px);color:var(--text-primary);margin:0 auto;padding-bottom:60px}.legal-head{border-bottom:1px solid var(--separator-opaque);padding-bottom:28px}.legal-head h1{font:700 clamp(38px, 5vw, 62px)/.94 var(--font-display);letter-spacing:-.035em}.legal-meta{color:var(--text-tertiary);font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:12px}.legal-lede{max-width:58ch;color:var(--text-secondary);font:400 16px/1.65 var(--font-ui);letter-spacing:normal;text-transform:none;margin-top:16px}.legal-toc{background:var(--bg-surface);border:1px solid var(--separator-opaque);margin:30px 0 44px;padding:20px 22px}.legal-toc strong{color:var(--text-tertiary);font:600 11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;display:block}.legal-toc ol{counter-reset:toc;gap:7px;margin:0;padding:0;list-style:none;display:grid}.legal-toc a{color:var(--text-secondary);font-size:14px}.legal-toc a:hover{color:var(--accent-strong)}.legal-body section{border-top:1px solid var(--separator);padding:30px 0}.legal-body section:first-child{border-top:0;padding-top:0}.legal-body h2{font:650 24px var(--font-display);letter-spacing:-.02em;margin-bottom:14px}.legal-body p{max-width:72ch;color:var(--text-secondary);font-size:15px;line-height:1.75}.legal-body p+p{margin-top:14px}.legal-intro{margin-bottom:18px;color:var(--text-primary)!important}.legal-table-wrap{margin:4px 0 18px;overflow-x:auto}.legal-table{border-collapse:collapse;border:1px solid var(--separator-opaque);width:100%;font-size:13.5px}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--separator);padding:12px 14px}.legal-table thead th{color:var(--text-tertiary);background:var(--bg-grouped);font:600 10.5px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.legal-table tbody th{color:var(--text-primary);font-weight:650}.legal-table td{color:var(--text-secondary);line-height:1.6}.legal-table tbody tr:last-child th,.legal-table tbody tr:last-child td{border-bottom:0}.legal-foot{border-top:1px solid var(--separator-opaque);color:var(--text-tertiary);margin-top:36px;padding-top:24px;font-size:13px}.legal-foot p+p{margin-top:8px}.legal-foot a{color:var(--accent-strong)}@media (max-width:620px){.cfg-rights li{grid-template-columns:minmax(0,1fr);gap:4px}.legal-body h2{font-size:21px}.legal-table{font-size:12.5px}}.author-profile-settings{border:1px solid var(--separator-opaque);background:var(--bg-grouped);margin-top:14px}.author-profile-settings>summary{min-height:46px;color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;padding:0 15px;font-size:13px;font-weight:650;list-style:none;display:flex}.author-profile-settings>summary::-webkit-details-marker{display:none}.author-profile-settings>summary:before{content:"";border-left:5px solid var(--text-tertiary);border-block-start:4px solid #0000;border-block-end:4px solid #0000;width:0;height:0;transition:transform .15s}.author-profile-settings[open]>summary{border-bottom:1px solid var(--separator-opaque)}.author-profile-settings[open]>summary:before{transform:rotate(90deg)}.author-profile-settings>summary:hover{color:var(--accent-strong)}.author-profile-settings form{gap:16px;padding:18px 15px;display:grid}.author-profile-settings label{color:var(--text-secondary);gap:6px;font-size:12px;display:grid}.author-profile-settings label>small{color:var(--text-tertiary);font-size:11px}.author-profile-settings input,.author-profile-settings textarea{min-height:40px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);font:400 14px var(--font-ui);padding:9px 11px}.author-profile-settings .author-profile-visibility{flex-direction:row;align-items:center;gap:9px;display:flex}.author-profile-settings .author-profile-visibility input{width:16px;height:16px;min-height:0;padding:0}.author-profile-settings textarea{resize:vertical;min-height:76px}.author-profile-settings .profile-slug-field{border:1px solid var(--separator-strong);background:var(--bg-input);align-items:stretch;display:flex}.author-profile-settings .profile-slug-field>span{color:var(--text-tertiary);font:13px var(--font-mono);align-items:center;padding:0 2px 0 11px;display:flex}.author-profile-settings .profile-slug-field input{min-width:0;font-family:var(--font-mono);background:0 0;border:0;flex:1}.author-profile-settings form>div{flex-wrap:wrap;gap:8px;display:flex}.settings-page{width:min(100%,1040px);margin:0 auto}.cfg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cfg-block{flex-direction:column;display:flex}.cfg-body{flex:1;align-content:start}.cfg-grid>.cfg-block:first-child,.cfg-grid>.cfg-danger{grid-column:1/-1}.account-sync-state,.author-profile-settings{margin:0 14px 14px}.account-actions+.author-profile-settings{margin-top:0}.cfg-block>.cfg-body:last-child{padding-bottom:14px}.account-legal-links{gap:16px;margin:0 14px 14px;display:flex}.cfg-stats>div{padding:12px 14px}.author-profile-settings form{gap:14px;padding:14px}.author-profile-settings label{gap:5px}@media (max-width:900px){.cfg-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.marketing-page{--shell:calc(100% - 32px)}.marketing-header{flex-wrap:wrap;align-content:flex-start;gap:10px;min-height:64px;padding:10px 16px;display:flex}.marketing-logo{flex-basis:88px;width:88px}.marketing-account{gap:8px}.marketing-login{display:none}.marketing-pill{white-space:nowrap;min-height:42px;padding:0 13px;font-size:13px}.marketing-menu-toggle{width:42px;height:42px;padding:0;display:grid}.marketing-mobile-nav{border-top:1px solid var(--hairline);background:#0c0f14;flex-direction:column;width:calc(100% + 32px);margin:0 -16px -10px;padding:4px 16px 14px;display:flex}.marketing-mobile-nav a{border-bottom:1px solid var(--hairline-soft);align-items:center;width:100%;min-height:48px;padding:13px 2px;font-size:15px;display:flex}.marketing-mobile-nav a:hover{color:#fff;background:linear-gradient(90deg,#1687ff2e,#1687ff00);border-bottom-color:#1687ff8c}.marketing-mobile-nav a:focus-visible{color:#fff;background:linear-gradient(90deg,#1687ff2e,#1687ff00);border-bottom-color:#1687ff8c}.hero{min-height:0;display:block}.hero-inner{padding-top:52px;padding-bottom:150px}.hero h1{max-width:none;margin-bottom:18px;font-size:clamp(48px,14vw,64px);line-height:.9}.hero-title{max-width:8.5ch;display:block}.hero h1 em{max-width:none;margin-top:12px;font-size:.42em;line-height:1.05}.hero h1 em span{white-space:nowrap;display:block}.hero-inner>p{max-width:31ch;font-size:16px;line-height:1.55}.hero-actions{margin-top:26px}.hero-actions .marketing-primary{min-height:54px}.hero .marketing-trust{grid-template-columns:1fr;gap:10px;margin-top:20px;font-size:13px;display:grid}.hero-stage{opacity:.38;width:146%;top:auto;bottom:8px;right:-36%}.marketing-signal{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid}.marketing-signal span{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);align-items:center;gap:7px;min-height:64px;padding:14px 12px;line-height:1.35}.marketing-signal span:nth-of-type(2n){border-right:0}.marketing-signal span:nth-last-of-type(-n+2){border-bottom:0}.marketing-signal>i{display:none}.marketing-signal b{font-size:20px}.preview{padding:54px 0 46px}.preview-head{margin-bottom:20px}.preview-head h2{max-width:14ch;font-size:clamp(34px,10vw,46px)}.preview-bar{min-height:40px;padding:0 12px;font-size:10px}.preview-body{height:auto;display:block}.preview-rail{border-right:0;border-bottom:1px solid var(--hairline);scrollbar-width:none;flex-direction:row;gap:4px;padding:8px;display:flex;overflow-x:auto}.preview-rail::-webkit-scrollbar{display:none}.preview-rail img{flex:0 0 26px;margin:6px 8px 6px 2px}.preview-rail button{flex:none;min-height:40px;padding:0 10px;font-size:12px}.preview-rail button.is-active{box-shadow:inset 0 -2px var(--accent)}.preview-hold{width:100%;height:2px;bottom:0;left:0}.preview-screen{min-height:0;padding:14px}.preview-screen:after{display:none}.preview-screen-inner{height:auto}.pv-focus,.pv-pair,.pv-triple,.pv-resume{grid-template-columns:1fr}.pv-resume-art{display:none}.pv-resume>div:first-child,.pv-plan{padding:18px}.pv-grades article{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"rung copy chevron""rung status.";align-items:start;gap:8px 11px;padding:12px}.pv-grades article>.pv-rung{grid-area:rung}.pv-grades article>div{grid-area:copy;min-width:0}.pv-status{grid-area:status;align-self:start}.pv-grades article>svg{grid-area:chevron;justify-self:end}.pv-library>header{flex-direction:column;align-items:stretch}.pv-tabs{scrollbar-width:none;display:flex;overflow-x:auto}.pv-tabs::-webkit-scrollbar{display:none}.pv-tabs span{text-align:center;white-space:nowrap;flex:1 0 auto}.pv-table{overflow:hidden}.pv-table-head,.pv-table-row{grid-template-columns:minmax(0,1fr) 70px;gap:8px;padding:11px 10px}.pv-table-head span:nth-child(3),.pv-table-head span:nth-child(4),.pv-table-row>span:nth-child(3),.pv-table-row>span:nth-child(4){display:none}.pv-table-title{grid-template-columns:16px minmax(0,1fr);gap:6px;display:grid}.pv-table-title small{grid-column:2}.pv-tool-grid{grid-template-columns:1fr 1fr}.pv-toolkit{grid-template-columns:1fr}.pv-toolkit article{padding:16px}.problem{padding:58px 0;display:block}.problem h2,.loop-head h2,.music-head h2,.marketing-practice h2,.marketing-faq h2{max-width:14ch;margin:0;font-size:clamp(36px,10.5vw,50px)}.problem-copy p,.music-head>p,.marketing-practice>div:last-child>p{margin-top:16px;font-size:16px;line-height:1.6}.viz-tabs{grid-template-columns:1fr;gap:14px;margin-top:28px}.viz-tabs-pile{height:180px}.viz-tabs-arrow{justify-self:center;transform:none}.viz-tabs-arrow svg{transform:rotate(90deg)}.viz-tabs-one>div{padding:20px}.loop{padding:58px 0}.loop-body{grid-template-columns:1fr;gap:28px;margin-top:30px}.viz-loop{width:min(300px,100%)}.loop-steps{grid-template-columns:1fr}.loop-steps li{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:18px 16px}.loop-steps h3{font-size:19px}.loop-steps p{font-size:14px;line-height:1.55}.music{padding:58px 0}.music-head{grid-template-columns:1fr;gap:16px;margin-bottom:28px}.viz-publish{grid-template-columns:1fr;gap:12px;margin-bottom:28px}.viz-publish-arrow{grid-template-columns:auto;justify-items:center;transform:none}.viz-publish-arrow svg{transform:rotate(90deg)}.music-formats{grid-template-columns:1fr}.music-formats article{grid-template-columns:40px minmax(0,1fr);padding:18px 16px}.marketing-practice{grid-template-columns:1fr;gap:28px;padding:58px 0}.marketing-practice>.viz-plan{order:1}.marketing-practice>div:last-child{order:2}.marketing-practice li{align-items:flex-start;font-size:14px;line-height:1.45}.viz-plan{padding:18px}.viz-plan-bar{height:42px}.marketing-price{width:var(--shell);padding:46px 18px;display:block}.marketing-price h2{margin:14px 0 0;font-size:clamp(46px,14vw,64px)}.marketing-price p{font-size:16px;line-height:1.6}.marketing-price .marketing-primary{width:100%;margin-top:24px}.marketing-faq{grid-template-columns:1fr;gap:22px;padding:58px 0}.marketing-faq summary{min-height:60px;padding:18px 0;font-size:16px}.marketing-faq details p{padding-bottom:18px;font-size:15px;line-height:1.6}.marketing-final-cta{padding:72px 16px 84px}.marketing-final-cta h2{font-size:clamp(42px,12vw,60px)}.marketing-final-cta>p{font-size:16px;line-height:1.55}.marketing-final-cta>a{justify-content:center;width:100%;min-height:54px}.seo-landing-page .seo-hero{padding-top:52px;padding-bottom:54px;display:block}.seo-landing-page .seo-hero-copy,.seo-landing-page .seo-hero-visual{width:var(--shell)}.seo-landing-page .seo-hero-copy>p{font-size:16px;line-height:1.6}.seo-points{margin-top:44px}.seo-points article{padding:22px 18px 24px}.seo-rows{margin-top:44px}.seo-rows article{grid-template-columns:1fr;gap:10px;padding:24px 0}.seo-rows article>p{grid-column:auto}.seo-rows small{font-size:20px}.seo-prose{padding-top:48px}.viz-mosaic b{font-size:20px;bottom:-16px;right:8px}.viz-chart pre{padding:20px 16px;font-size:12px}.viz-chart-shapes{padding:18px 12px}.viz-week{padding:18px}.seo-related{margin-bottom:58px}.seo-related a{justify-content:space-between;width:100%}.marketing-footer{width:var(--shell);grid-template-columns:1fr;gap:32px;padding:40px 0 16px}.marketing-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.marketing-footer-links section{gap:12px}.marketing-footer-links a{font-size:14px}.legal-site-page>.marketing-header{margin-bottom:28px}.legal-site-page .legal-document{width:var(--shell)}.legal-head{padding-bottom:22px}.legal-head h1{font-size:clamp(42px,12vw,58px)}.legal-lede{font-size:16px;line-height:1.6}.legal-toc{margin:20px 0 30px;padding:16px}.legal-body section{padding:24px 0}.legal-body h2{font-size:23px;line-height:1.05}.legal-body p{font-size:16px;line-height:1.7}.legal-table-wrap{margin-inline-start:-16px;margin-inline-end:-16px;padding-inline-start:16px;padding-inline-end:16px;overflow-x:auto}.legal-table{min-width:640px;font-size:13px}}@media (max-width:390px){.marketing-page{--shell:calc(100% - 24px)}.marketing-header{padding-inline-start:12px;padding-inline-end:12px}.marketing-logo{flex-basis:82px;width:82px}.marketing-pill{padding-inline-start:10px;padding-inline-end:10px;font-size:12px}.marketing-mobile-nav{width:calc(100% + 24px);margin-inline-start:-12px;margin-inline-end:-12px}.hero-inner{padding-top:44px;padding-bottom:132px}.hero h1{font-size:clamp(44px,13.2vw,54px)}.marketing-signal span{padding-inline-start:10px;padding-inline-end:10px;font-size:10px}.preview-screen{padding:10px}.preview-bar b{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.seo-hero{padding-top:44px}.seo-hero h1{font-size:clamp(38px,12.6vw,50px)}.seo-related a{justify-content:space-between;width:100%}}.music-library .library-toolbar{background:0 0;border:0;padding:4px 0}.music-library .library-section-tabs{background:0 0;border-width:0 0 1px}.library-results-heading{color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.library-results-heading select{color:var(--text-secondary);background:0 0;border:0;padding:8px}.music-library-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px;display:grid}.music-library-card{border:1px solid var(--separator-opaque);background:var(--bg-surface);min-width:0;position:relative}.music-library-card:hover{border-color:var(--accent)}.music-library-card>a{color:inherit;height:100%;display:block}.music-card-preview{pointer-events:none;border-bottom:1px solid var(--separator-opaque);background:#0000002e;height:145px;padding:12px;overflow:hidden}.music-card-preview>svg{width:100%;height:100%}.music-card-preview>svg line{stroke:#4b515a;stroke-width:.7px}.music-card-preview>svg text{fill:var(--text-secondary);font:11px monospace}.music-card-preview>svg rect{fill:#0c0e11}.music-card-preview .staff-score svg{width:100%;min-width:0;height:130px}.music-card-preview .chord-chart-document{min-height:0;padding:0;font-size:10px}.music-card-preview .chord-chart-document h2{margin:0 0 6px;font-size:10px}.music-card-preview .chart-lyric-line{min-height:29px}.music-card-preview .chart-syllable button{padding:0;font-size:11px}.music-card-info{padding:16px 18px 18px}.music-card-kind{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.music-card-info h2{overflow-wrap:anywhere;margin:7px 0 3px;font-size:21px;line-height:1.2}.music-card-info p{color:var(--text-secondary);font-size:12px}.music-card-meta{color:var(--text-tertiary);gap:13px;margin-top:15px;font-size:11px;display:flex}.music-card-delete{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--separator-opaque);cursor:pointer;padding:7px;position:absolute;top:9px;right:9px}.music-file-preview{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;gap:12px;display:flex}.library-delete-confirm{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex}.library-delete-confirm span{flex:1}.music-library-table{border-top:1px solid var(--separator-strong);width:100%}.music-library-table-head,.music-library-row{grid-template-columns:minmax(260px,2fr) minmax(120px,1fr) minmax(125px,.8fr) 86px 105px 112px;align-items:center;column-gap:16px;display:grid}.music-library-table.show-format .music-library-table-head,.music-library-table.show-format .music-library-row{grid-template-columns:minmax(240px,2fr) minmax(115px,1fr) 95px minmax(120px,.85fr) 86px 105px 112px}.music-library-table-head{min-height:38px;color:var(--text-tertiary);border-bottom:1px solid var(--separator-opaque);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.music-library-row{border-bottom:1px solid var(--separator-opaque);min-height:70px;transition:background .15s}.music-library-row:hover{background:var(--bg-hover)}.library-row-title{align-items:center;gap:12px;min-width:0;display:flex}.library-format-mark{width:34px;height:34px;color:var(--text-tertiary);border:1px solid var(--separator-opaque);flex:0 0 34px;place-items:center;display:grid}.music-library-row:hover .library-format-mark{color:var(--accent-strong);border-color:#1687ff59}.library-row-title>div{align-items:baseline;gap:8px;min-width:0;display:flex}.library-row-title a{min-width:0;color:var(--text-primary)}.library-row-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.library-status{color:var(--text-tertiary);font:8px/1 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;flex:none}.library-status.published{color:#71c695}.library-status.draft{color:#d6aa62}.library-row-author,.library-row-details,.library-row-date,.library-row-format{min-width:0;color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.library-row-author a{color:var(--text-secondary)}.library-row-author a:hover{color:var(--accent-strong)}.library-row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.library-row-actions .button{gap:5px;min-height:30px;padding:0 8px;font-size:10px}.library-row-actions>button,.library-open-button{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.library-row-actions>button:hover,.library-open-button:hover{color:var(--text-primary);background:var(--bg-elevated)}.library-vote{align-items:center;gap:4px;display:flex}.library-vote button{width:30px;height:30px;color:var(--text-tertiary);border:1px solid var(--separator-opaque);cursor:pointer;background:0 0}.library-vote button[aria-pressed=true]{color:var(--accent-strong);border-color:var(--accent);background:var(--accent-dim)}.library-vote output{min-width:28px;color:var(--text-secondary);font:11px var(--font-mono);text-align:center}.library-vote>span{color:#dc8585;font-size:10px}.library-vote.compact{gap:0}.library-vote.compact button{border:0;width:24px;height:26px}.library-vote.compact output{min-width:25px}.library-vote-static{color:var(--text-tertiary)}.score-details{color:var(--text-tertiary);flex-wrap:wrap;gap:18px;font-size:12px;display:flex}.help-modal .score-details{color:var(--text-secondary);line-height:1.5}.score-transport{border-block:1px solid var(--separator-opaque);background:var(--bg-base,#0a0b0d);z-index:20;flex-wrap:wrap;align-items:center;gap:9px;padding:10px 0;display:flex;position:sticky;top:0}.score-transport .button{min-height:36px;padding:7px 12px;font-size:12px}.score-transport [aria-pressed=true]{color:var(--accent);background:#1687ff1a}.score-tempo{color:var(--text-tertiary);align-items:center;gap:5px;font-size:11px;display:flex}.score-tempo input{width:59px;color:var(--text-primary);border:0;border-bottom:1px solid var(--separator-opaque);font-variant-numeric:tabular-nums;background:0 0;padding:7px 4px}.score-save-status{color:var(--text-tertiary);margin-left:auto;font-size:11px}.compact-score{gap:0;padding-bottom:35px}.compact-score .tab-score-line{border:0;border-bottom:1px solid var(--separator-opaque);background:0 0;border-radius:0;scroll-margin:100px 0 130px}.compact-score .tab-score-line-label{padding:16px 0 0}.compact-score .guitar-tab-wrap{padding:0;overflow-x:auto}.compact-score .guitar-tab{width:100%;min-width:560px;max-width:1100px;height:auto;display:block}.compact-score .tab-number-bg{fill:var(--bg-base,#0a0b0d)}.compact-score .tab-playhead{filter:none;stroke-width:1.5px}.music-reader .page-header{margin-bottom:0}.file-menu{position:relative}.file-menu summary{cursor:pointer;list-style:none}.file-menu summary::-webkit-details-marker{display:none}.file-menu>div{z-index:50;border:1px solid var(--separator-opaque);background:var(--bg-elevated);min-width:190px;padding:6px;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 8px 25px #0006}.file-menu>div button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:0;padding:10px;display:block}.file-menu>div button:hover{background:var(--bg-surface)}.direct-tab-editor-head{background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:18px;padding-inline-start:0;padding-inline-end:0;display:flex}.direct-tab-editor-head .direct-tab-song-title{border:0;border-bottom:1px solid var(--separator-opaque);background:0 0;flex:1;min-width:160px;padding:8px 0;font-size:25px}.direct-tab-editor-head .direct-tab-tempo{display:none}.tab-metadata-details{color:var(--text-secondary);font-size:12px;position:relative}.tab-metadata-details summary{cursor:pointer}.tab-metadata-details label{z-index:30;background:var(--bg-elevated);border:1px solid var(--separator-opaque);width:240px;padding:14px;position:absolute;right:0}.tab-editor-filebar{background:0 0;border:0;padding:0}.direct-tab-editor-page .tab-edit-document{background:0 0;border:0}.editor-help{color:var(--text-tertiary);font-size:11px}.editor-help p{padding:10px 0}.music-document-meta{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.music-document-meta>input{min-width:150px;color:var(--text-primary);border:0;border-bottom:1px solid var(--separator-opaque);background:0 0;flex:1;padding:8px 0;font-size:25px}.music-document-meta>span{color:var(--text-tertiary);font-size:11px}.music-document-meta details{font-size:12px}.music-document-meta details input{background:var(--bg-surface);border:1px solid var(--separator-opaque);color:var(--text-primary);padding:8px;display:block}.chart-workspace.editing{grid-template-columns:minmax(230px,.8fr) minmax(280px,1.2fr);gap:28px;display:grid}.chart-source{flex-direction:column;gap:12px;padding-block-start:12px;padding-block-end:12px;display:flex}.chart-source>label{color:var(--text-secondary);font-size:12px}.chart-source textarea{resize:vertical;width:100%;min-height:380px;color:var(--text-primary);border:1px solid var(--separator-opaque);background:var(--bg-surface);padding:14px;font:13px/1.8 monospace}.chart-source input{width:60px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--separator-opaque);margin-left:10px;padding:6px}.chart-source details{color:var(--text-tertiary);font-size:12px;line-height:1.6}.chord-chart-document{min-height:260px;padding:15px 8px 35px;font:15px/1.6 ui-monospace,Consolas,monospace}.chord-chart-document h2{font:600 13px/1.4 var(--font-body,sans-serif);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 20px}.chart-lyric-line{flex-wrap:wrap;min-height:54px;display:flex}.chart-line-chords-only{min-height:30px}.chart-line-lyrics-only{min-height:28px}.chart-line-chords-only .chart-syllable>span:last-child,.chart-line-lyrics-only .chart-chord-spacer{display:none}.chart-syllable{white-space:pre-wrap;flex-direction:column;display:inline-flex}.chart-syllable button,.chart-chord-label{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;min-height:24px;padding:0 10px 0 0;font:700 15px/1.5 monospace}.music-card-preview .chart-chord-label{min-height:15px;font-size:11px}.chart-syllable button:disabled{opacity:1;cursor:default}.chart-syllable .current-chord{color:#0a0c10;background:var(--accent)}.chart-chord-spacer{height:24px}.score-transpose{align-items:center;gap:10px;margin-left:auto;font-size:11px;display:flex}.score-transpose button{color:var(--text-primary);border:1px solid var(--separator-opaque);cursor:pointer;background:0 0;width:30px;height:30px}.staff-score{overflow-x:auto}.staff-score svg{width:100%;min-width:590px;color:var(--text-primary);fill:currentColor;border-bottom:1px solid var(--separator-opaque);display:block}.staff-line{stroke:var(--text-tertiary);stroke-width:.8px}.staff-bar-label{fill:var(--text-tertiary);font:10px monospace}.staff-note[role=button]{cursor:pointer}.staff-note.active{color:var(--accent)}.staff-note:focus-visible{outline:1px solid var(--accent)}.staff-chord-symbol{fill:var(--accent-strong);font:700 13px var(--font-mono)}.staff-chord-symbol[role=button]{cursor:pointer}.staff-chord-symbol.active{fill:#fff;text-decoration:underline}.score-note-tools{flex-direction:column;gap:12px;display:flex}.note-pitches,.score-note-options{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.score-note-tools button,.score-note-tools select{border:1px solid var(--separator-opaque);min-height:36px;color:var(--text-primary);background:var(--bg-surface);cursor:pointer;padding:8px 11px}.score-note-tools button:disabled{opacity:.4;cursor:default}.score-note-options label{color:var(--text-secondary);margin-right:10px;font-size:12px}.score-note-options select{margin-left:8px}.score-chord-entry{border-top:1px solid var(--separator-opaque);flex-wrap:wrap;align-items:end;gap:7px;padding-top:10px;display:flex}.score-chord-entry label{color:var(--text-tertiary);gap:4px;font-size:10px;display:grid}.score-chord-entry input{width:110px;min-height:36px;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--separator-opaque);padding:0 9px}.score-chord-entry label:nth-child(2) input{width:72px}.page-heading-copy p a{color:var(--text-secondary)}.page-heading-copy p a:hover{color:var(--accent-strong)}.author-bio{max-width:650px;color:var(--text-secondary);margin-top:-8px;line-height:1.6}.author-stats{border-block:1px solid var(--separator-opaque);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.author-stats>div{gap:5px;padding:17px 0;display:grid}.author-stats span{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.author-stats strong{font-size:16px}.author-library-heading{justify-content:space-between;align-items:baseline;margin-top:10px;display:flex}.author-library-heading h2{font-size:18px}.author-library-heading span{color:var(--text-tertiary);font-size:11px}.profile-slug-field{border:1px solid var(--separator-opaque);background:var(--bg-base);align-items:center;min-height:38px;display:flex}.profile-slug-field>span{color:var(--text-tertiary);padding-left:9px;font-size:11px}.profile-slug-field input{border:0;flex:1;min-width:0}.score-caption{color:var(--text-tertiary);font-size:12px}.attachment-reader iframe{border:0;width:100%;min-height:75vh}.attachment-reader img{max-width:100%}.attachment-reader p{color:var(--text-secondary);padding:10px 0;font-size:12px}@media (max-width:700px){.compact-score .guitar-tab,.staff-score svg{min-width:300px}.music-library-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.music-library-table-head{display:none}.music-library-row,.music-library-table.show-format .music-library-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;min-height:94px;padding:12px 0}.library-row-title{grid-area:1/1}.library-row-actions{grid-area:1/2/4}.library-row-author{grid-area:2/1;padding-left:46px}.library-row-details{grid-area:3/1;padding-left:46px}.library-row-date,.library-row-format{display:none}.music-library-row>[role=cell]:has(.library-vote){display:none}.library-row-title>div{flex-direction:column;align-items:flex-start;gap:3px}.library-row-actions .button span{display:none}.author-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-workspace.editing{grid-template-columns:1fr;gap:8px}.chart-source textarea{min-height:220px}.score-transport{gap:6px}.score-transpose{margin-left:0}.score-save-status{width:100%;margin:0}.score-details{gap:12px;font-size:11px}.music-reader .tab-view-actions{flex-wrap:wrap}}.direct-tab-editor-page{gap:10px}.tab-editor-bar{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:6px;padding:5px;display:flex}.tab-editor-bar input{height:34px;color:var(--text-primary);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;outline:0;padding:0 10px;transition:border-color .15s,background .15s}.tab-editor-bar input:hover{background:var(--bg-input)}.tab-editor-bar input:focus{background:var(--bg-input);border-color:var(--accent)}.tab-editor-bar .direct-tab-song-title{flex:220px;min-width:0;font-size:15px;font-weight:700}.tab-editor-bar .direct-tab-artist{min-width:0;color:var(--text-secondary);flex:0 180px;font-size:12.5px}.tab-editor-bar .direct-tab-artist::placeholder{color:var(--text-quarternary)}.tab-editor-bar-action{cursor:pointer;white-space:nowrap;height:34px;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:600;list-style:none;display:inline-flex}.tab-editor-bar-action::-webkit-details-marker{display:none}.tab-editor-bar-action:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--separator-strong)}.tab-editor-bar .file-menu{position:relative}@media (max-width:600px){.tab-editor-bar .direct-tab-song-title,.tab-editor-bar .direct-tab-artist{flex:100%}}.home-theory-foot{color:var(--text-tertiary);border-top:1px solid var(--separator);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:auto;padding-top:9px;font-size:11.5px;display:flex}.home-theory-foot b{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-weight:700}.library-count{color:var(--text-tertiary);white-space:nowrap;font-size:12px}.library-sort{color:var(--text-tertiary);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.library-sort select{color:var(--text-secondary);background:0 0;border:0;outline:0;padding:6px 4px;font-size:12px}.library-sort select:focus{color:var(--text-primary)}@media (max-width:700px){.library-count{order:3}.library-sort{order:4;margin-left:auto}}.music-library .library-toolbar{flex-wrap:wrap;justify-content:flex-start}.music-library .library-toolbar .tab-library-actions{margin-left:auto}.button-danger{color:var(--danger);background:0 0;border:1px solid #ff453a59}.button-danger:hover:not(:disabled){color:#fff;background:var(--danger);border-color:var(--danger)}.button-danger:disabled{opacity:.45;cursor:default}.tab-technique-options button.blocked{opacity:.32;cursor:not-allowed}.tab-technique-options button.blocked small{color:var(--danger)}.confirm-pop{z-index:120;background:var(--bg-elevated);border:1px solid var(--separator-strong);border-radius:var(--radius-lg);width:min(300px,100vw - 24px);padding:13px 14px 11px;animation:.13s confirm-pop-in;position:fixed;box-shadow:0 16px 40px #00000080}@keyframes confirm-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.confirm-pop-arrow{background:var(--bg-elevated);border-left:1px solid var(--separator-strong);border-top:1px solid var(--separator-strong);width:11px;height:11px;position:absolute;top:-6px;transform:rotate(45deg)}.confirm-pop p{color:var(--text-secondary);margin:0 0 11px;font-size:12.5px;line-height:1.5}.confirm-pop p b{color:var(--text-primary);font-weight:600}.confirm-pop-actions{justify-content:flex-end;gap:7px;display:flex}.confirm-pop-actions .button{min-height:32px;padding:0 12px;font-size:12px}.theory-hub{gap:20px}.theory-dialog-scrim{z-index:90;background:#040507b8;place-items:center;padding:20px;animation:.16s theory-fade;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.theory-dialog{background:var(--bg-surface);border:1px solid var(--separator-strong);border-radius:var(--radius-lg);width:min(520px,100%);max-height:calc(100vh - 40px);padding:24px;animation:.18s theory-rise;position:relative;overflow-y:auto;box-shadow:0 24px 64px #00000080}@keyframes theory-fade{0%{opacity:0}to{opacity:1}}@keyframes theory-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.theory-dialog h2{letter-spacing:-.025em;margin:0 0 6px;font-size:19px;font-weight:650}.theory-dialog>p{color:var(--text-secondary);margin:0 0 16px;font-size:13.5px;line-height:1.55}.theory-dialog-close{cursor:pointer;width:30px;height:30px;color:var(--text-tertiary);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;place-items:center;display:grid;position:absolute;top:12px;right:12px}.theory-dialog-close:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--separator-opaque)}.theory-dialog-options{flex-direction:column;gap:8px;display:flex}.theory-dialog-option{text-align:left;cursor:pointer;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-direction:column;gap:3px;padding:13px 15px;transition:border-color .15s,background .15s;display:flex}.theory-dialog-option:hover{background:var(--bg-hover);border-color:var(--accent)}.theory-dialog-option.active{border-color:var(--accent);background:var(--accent-dim)}.theory-dialog-option strong{font-size:14px;font-weight:600}.theory-dialog-option small{color:var(--text-tertiary);font-size:12px;line-height:1.45}.theory-dialog-option em{color:var(--accent-strong);border-top:1px solid var(--separator);margin-top:5px;padding-top:6px;font-size:11.5px;font-style:normal}.theory-dialog-skip{cursor:pointer;color:var(--text-tertiary);background:0 0;border:0;margin:14px auto 0;padding:7px 14px;font-size:12.5px;display:block}.theory-dialog-skip:hover{color:var(--text-primary);text-decoration:underline}.theory-level-link{cursor:pointer;color:var(--accent-strong);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);white-space:nowrap;background:0 0;padding:5px 10px;font-size:11.5px}.theory-level-link:hover{background:var(--bg-hover);border-color:var(--accent)}.theory-grades{flex-direction:column;gap:8px;display:flex}.theory-grade{background:var(--bg-surface);border:1px solid var(--separator-opaque);border-radius:var(--radius-lg);overflow:hidden}.theory-grade.cleared{border-color:#30d1583d}.theory-grade.locked{background:var(--bg-grouped)}.theory-grade h2{font-size:inherit;font-weight:inherit;margin:0}.theory-grade-head{width:100%;min-height:var(--touch-min);text-align:left;cursor:pointer;color:inherit;background:0 0;border:0;align-items:center;gap:12px;padding:12px 15px;transition:background .13s;display:flex}.theory-grade-head:hover{background:var(--bg-hover)}.theory-grade-rung{width:28px;height:28px;color:var(--accent-strong);font-variant-numeric:tabular-nums;background:var(--accent-dim);border-radius:var(--radius-md);border:1px solid #0000;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.theory-grade.cleared .theory-grade-rung{color:var(--accent-2);background:#30d1581f}.theory-grade.locked .theory-grade-rung{color:var(--text-quarternary);background:var(--bg-input);border-color:var(--separator-opaque)}.theory-grade-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.theory-grade-copy strong{letter-spacing:-.01em;font-size:14px;font-weight:600}.theory-grade-copy small{color:var(--text-tertiary);font-size:12px;line-height:1.4}.theory-grade.locked .theory-grade-copy strong{color:var(--text-secondary)}.theory-grade-status{color:var(--text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);flex:none;padding:3px 8px;font-size:11px}.theory-grade.cleared .theory-grade-status{color:var(--accent-2);border-color:#30d1583d}.theory-grade-chevron{color:var(--text-quarternary);flex:none;place-items:center;transition:transform .18s;display:grid}.theory-grade-head[aria-expanded=true] .theory-grade-chevron{transform:rotate(180deg)}.theory-grade-body{border-top:1px solid var(--separator)}.theory-grade-capability{color:var(--text-primary);background:var(--bg-grouped);border-bottom:1px solid var(--separator);flex-direction:column;gap:3px;margin:0;padding:12px 15px;font-size:13.5px;line-height:1.5;display:flex}.theory-grade-capability span{color:var(--accent-strong);letter-spacing:.1em;font-size:10px;font-weight:700}.theory-grade-gate{color:var(--text-secondary);background:var(--bg-grouped);border-bottom:1px solid var(--separator);margin:0;padding:12px 15px;font-size:12.5px;line-height:1.5}.theory-grade-gate strong{color:var(--text-primary);font-weight:600}.theory-grade-foot{border-top:1px solid var(--separator);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 15px;display:flex}.theory-grade-payoff{color:var(--accent-strong);align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex}.theory-grade-payoff:hover{text-decoration:underline}.theory-grade-skip{cursor:pointer;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);padding:6px 11px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.theory-grade-skip:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--accent)}.theory-grade-skip-note{color:var(--accent-2);font-size:12px}.theory-builds{color:var(--text-tertiary);align-items:center;gap:8px;margin:0;font-size:12.5px;display:flex}.theory-builds svg{flex:none;transform:rotate(180deg)}.theory-builds a{color:var(--accent-strong);text-decoration:none}.theory-builds a:hover{text-decoration:underline}.theory-lesson-list{flex-direction:column;display:flex}.theory-lesson-row{min-height:var(--touch-min);color:inherit;border-bottom:1px solid var(--separator);align-items:center;gap:11px;padding:11px 15px;text-decoration:none;transition:background .13s;display:flex}.theory-lesson-row:last-child{border-bottom:0}a.theory-lesson-row:hover{background:var(--bg-hover)}.theory-lesson-mark{width:22px;height:22px;color:var(--text-quarternary);border:1px solid var(--separator-opaque);border-radius:50%;flex:none;place-items:center;display:grid}a.theory-lesson-row .theory-lesson-mark{color:var(--accent);border-color:var(--separator-strong)}.theory-lesson-row.complete .theory-lesson-mark{color:var(--accent-2);border-color:var(--accent-2)}.theory-lesson-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.theory-lesson-copy strong{font-size:13.5px;font-weight:550}.theory-lesson-copy small{color:var(--text-tertiary);font-size:12px;line-height:1.4}.theory-lesson-row.planned .theory-lesson-copy strong{color:var(--text-secondary);font-weight:450}.theory-lesson-row.checkpoint{background:var(--bg-grouped)}.theory-lesson-row.checkpoint .theory-lesson-mark{color:var(--warn);border-color:#ffd60a59}.theory-lesson-row.checkpoint.complete .theory-lesson-mark{color:var(--accent-2);border-color:var(--accent-2)}.theory-lesson-row.checkpoint .theory-lesson-copy strong{color:var(--text-primary);font-weight:650}a.theory-lesson-row.checkpoint:hover{background:var(--bg-hover)}.theory-lesson-tag{color:var(--text-quarternary);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.theory-lesson{gap:14px}.theory-progress{align-items:center;gap:12px;display:flex}.theory-progress-track{flex:1;gap:4px;display:flex}.theory-progress-pip{background:var(--separator-opaque);border-radius:2px;flex:1;height:3px;transition:background .2s}.theory-progress-pip.done{background:var(--accent-dim)}.theory-progress-pip.current{background:var(--accent)}.theory-progress-label{color:var(--text-quarternary);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.theory-step-panel{min-height:340px;padding:24px;display:flex}.theory-step-body{grid-template-columns:[bleed-start]minmax(0,1fr)[text-start]minmax(0,62ch)[text-end]minmax(0,1fr)[bleed-end];gap:13px 0;width:100%;display:grid}.theory-step-body>*{grid-column:text;min-width:0}.theory-step-body>.theory-bleed{grid-column:bleed}.theory-step-kicker{color:var(--accent-strong);letter-spacing:.1em;font-size:10.5px;font-weight:700}.theory-step-body h2{letter-spacing:-.025em;margin:0;font-size:20px;font-weight:650;line-height:1.25}.theory-step-body p{color:var(--text-secondary);margin:0;font-size:14.5px;line-height:1.62}.theory-aside{color:var(--text-tertiary);background:var(--bg-grouped);border-left:2px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;align-items:flex-start;gap:9px;padding:11px 13px;font-size:13px;display:flex}.theory-step-body p.theory-aside{color:var(--text-tertiary);font-size:13px}.theory-aside svg{color:var(--accent-strong);flex:none;margin-top:2px}.theory-step-body p.theory-notice{color:var(--text-tertiary);font-size:13px}.theory-play-row{flex-wrap:wrap;gap:8px;display:flex}.theory-play{min-height:var(--touch-min);cursor:pointer;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);border-radius:var(--radius-md);align-items:center;gap:8px;padding:9px 15px;font-size:13.5px;font-weight:550;transition:border-color .15s,background .15s;display:inline-flex}.theory-play:hover{background:var(--bg-hover);border-color:var(--accent)}.theory-play svg{color:var(--accent)}.theory-play.active{border-color:var(--accent);background:var(--accent-dim)}.theory-compare{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.theory-compare-option{cursor:pointer;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:24px 16px;transition:border-color .15s,background .15s,transform .1s;display:flex}.theory-compare-option:hover{background:var(--bg-hover);border-color:var(--accent)}.theory-compare-option:active{transform:scale(.98)}.theory-compare-option.active{border-color:var(--accent);background:var(--accent-dim)}.theory-compare-option svg{color:var(--accent)}.theory-compare-option strong{font-size:14px;font-weight:600}.theory-choices{flex-direction:column;gap:8px;display:flex}.theory-choice{min-height:var(--touch-min);text-align:left;cursor:pointer;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);align-items:center;gap:11px;padding:12px 14px;font-size:14px;transition:border-color .15s,background .15s,opacity .15s;display:flex}.theory-choice:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.theory-choice:disabled{cursor:default}.theory-choice-mark{border:1px solid var(--separator-strong);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.theory-choice.correct{border-color:var(--accent-2);background:#30d15817}.theory-choice.correct .theory-choice-mark{color:var(--accent-2);border-color:var(--accent-2)}.theory-choice.wrong{border-color:var(--danger);background:#ff453a14}.theory-choice.wrong .theory-choice-mark{color:var(--danger);border-color:var(--danger)}.theory-choice.dim{opacity:.42}.theory-feedback{background:var(--bg-grouped);border-left:2px solid var(--separator-strong);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;gap:5px;padding:13px 15px;font-size:13.5px;line-height:1.55;display:flex}.theory-feedback.correct{border-left-color:var(--accent-2)}.theory-feedback.wrong{border-left-color:var(--danger)}.theory-feedback strong{font-size:13.5px;font-weight:650}.theory-feedback span{color:var(--text-secondary)}.theory-feedback .theory-feedback-answer{color:var(--text-tertiary);font-size:12.5px}.theory-takeaways{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.theory-takeaways li{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;display:flex}.theory-takeaways svg{color:var(--accent-2);flex:none;margin-top:4px}.theory-next{flex-direction:column;gap:8px;margin-top:6px;display:flex}.theory-next-link{min-height:var(--touch-min);color:inherit;background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.theory-next-link:hover{background:var(--bg-hover);border-color:var(--accent)}.theory-next-link strong{font-size:13.5px;font-weight:600;display:block}.theory-next-link small{color:var(--text-tertiary);margin-top:2px;font-size:12px;display:block}.theory-next-link svg{color:var(--text-quarternary);flex:none}.theory-next-link:hover svg{color:var(--accent-strong)}.theory-nav-arrow{z-index:40;cursor:pointer;border-radius:50%;place-items:center;width:52px;height:52px;transition:background .16s,border-color .16s,color .16s,opacity .16s,transform .12s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.theory-nav-arrow:active{transform:translateY(-50%)scale(.93)}.theory-nav-arrow.prev{left:calc(var(--sidebar-width,0px) + 18px);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--separator-strong)}.theory-nav-arrow.prev:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover);border-color:var(--separator-strong)}.theory-nav-arrow.next{color:#fff;background:var(--accent);border:1px solid var(--accent);right:18px;box-shadow:0 6px 22px #1687ff47}.theory-nav-arrow.next:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.theory-nav-arrow.next.finish{background:var(--accent-2);border-color:var(--accent-2);box-shadow:0 6px 22px #30d15842}.theory-nav-arrow:disabled{cursor:default;opacity:.22;box-shadow:none}.theory-nav-arrow.prev:disabled{opacity:.16}.theory-done{text-align:center;flex-direction:column;align-items:center;gap:11px;padding:44px 24px;display:flex}.theory-done-icon{width:52px;height:52px;color:var(--accent-2);border:1px solid var(--accent-2);background:#30d1581c;border-radius:50%;place-items:center;display:grid}.theory-done h2{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:650}.theory-done p{max-width:46ch;color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.55}.theory-done p.theory-done-score{color:var(--accent-2);font-size:13.5px;font-weight:600}.theory-done-actions{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:8px;display:flex}.theory-done-actions a{text-decoration:none}.theory-empty{flex-direction:column;align-items:flex-start;gap:11px;padding:30px 24px;display:flex}.theory-empty-badge{color:var(--warn);letter-spacing:.08em;border-radius:var(--radius-sm);background:#ffd60a1a;border:1px solid #ffd60a4d;padding:3px 9px;font-size:10.5px;font-weight:700}.theory-empty p{max-width:58ch;color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.55}.theory-empty p.theory-empty-hook{color:var(--text-primary);font-size:16px;font-weight:550;line-height:1.45}.theory-empty .action-primary{margin-top:5px;text-decoration:none}@media (max-width:760px){.theory-step-panel{min-height:0;padding:17px}.theory-step-body h2{font-size:17px}.theory-step-body p{font-size:14px}.theory-dialog{padding:18px}.theory-nav-arrow{width:44px;height:44px}.theory-nav-arrow.prev{left:8px}.theory-nav-arrow.next{right:8px}}.theory-done.failed .theory-done-icon{color:var(--warn);background:#ffd60a1a;border-color:#ffd60a73}.theory-done.failed p.theory-done-score{color:var(--warn)}a.theory-grade-skip{text-decoration:none;display:inline-block}.theory-table-wrap{margin:0 -2px;overflow-x:auto}.theory-table{border-collapse:collapse;width:100%;font-size:13.5px}.theory-table th{text-align:left;white-space:nowrap;color:var(--text-tertiary);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--separator-strong);padding:8px 12px;font-size:10.5px;font-weight:700}.theory-table td{color:var(--text-secondary);border-bottom:1px solid var(--separator);vertical-align:top;padding:9px 12px}.theory-table td:first-child{color:var(--text-primary);white-space:nowrap;font-weight:600}.theory-table tr:last-child td{border-bottom:0}.theory-table tr.accent td{background:var(--accent-dim)}.theory-table tr.accent td:first-child{color:var(--accent-strong)}.theory-myths{flex-direction:column;gap:10px;display:flex}.theory-myth{background:var(--bg-grouped);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-direction:column;gap:7px;padding:13px 15px;display:flex}.theory-myth p{align-items:flex-start;gap:9px;margin:0;font-size:13.5px;line-height:1.5;display:flex}.theory-myth svg{flex:none;margin-top:3px}.theory-myth-claim{color:var(--text-tertiary)}.theory-myth-claim svg{color:var(--danger)}.theory-myth-claim span{-webkit-text-decoration:line-through #ff453a73;text-decoration:line-through #ff453a73}.theory-myth-truth{color:var(--text-primary)}.theory-myth-truth svg{color:var(--accent-2)}.theory-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:9px;display:grid}.theory-stat{text-align:center;background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-direction:column;gap:3px;padding:15px 13px;display:flex}.theory-stat strong{color:var(--accent-strong);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:650;line-height:1}.theory-stat span{color:var(--text-tertiary);font-size:11.5px;line-height:1.35}.theory-diagram{flex-wrap:wrap;align-items:stretch;gap:0;padding:4px 0;display:flex;overflow-x:auto}.theory-diagram-cell{background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;min-width:46px;padding:10px 8px;display:flex}.theory-diagram-cell strong{font-size:14px;font-weight:650}.theory-diagram-cell small{color:var(--text-tertiary);font-size:10.5px}.theory-diagram-cell.accent{background:var(--accent-dim);border-color:var(--accent)}.theory-diagram-cell.accent strong{color:var(--accent-strong)}.theory-diagram-cell.dim{opacity:.45}.theory-diagram-link{flex:none;place-items:center;min-width:26px;display:grid;position:relative}.theory-diagram-link:before{content:"";background:var(--separator-strong);height:1px;position:absolute;top:50%;left:0;right:0}.theory-diagram-link span{color:var(--text-tertiary);letter-spacing:.04em;background:var(--bg-surface);border-radius:var(--radius-xs);padding:1px 5px;font-size:10px;font-weight:700;position:relative}.theory-diagram-link.half span{color:var(--warn)}.theory-choice.picked{border-color:var(--accent);background:var(--accent-dim)}.theory-choice-box{border-radius:var(--radius-xs)}.theory-choice.picked .theory-choice-box{color:var(--accent-strong);border-color:var(--accent)}.theory-submit{align-self:flex-start;margin-top:2px}.theory-order-slots{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.theory-order-slot{background:var(--bg-grouped);border:1px dashed var(--separator-strong);border-radius:var(--radius-md);align-items:center;gap:11px;min-height:44px;padding:9px 13px;display:flex}.theory-order-slot.filled{background:var(--bg-input);border-style:solid}.theory-order-slot.correct{border-color:var(--accent-2);background:#30d15814}.theory-order-slot.wrong{border-color:var(--danger);background:#ff453a12}.theory-order-number{width:22px;height:22px;color:var(--text-tertiary);font-variant-numeric:tabular-nums;background:var(--bg-surface);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.theory-order-label{flex:1;font-size:13.5px}.theory-order-slot:not(.filled) .theory-order-label{color:var(--text-quarternary);font-style:italic}.theory-order-slot.correct svg{color:var(--accent-2)}.theory-order-slot.wrong svg{color:var(--danger)}.theory-order-pool{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.theory-order-chip{cursor:pointer;min-height:38px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-strong);border-radius:var(--radius-md);padding:8px 14px;font-size:13.5px;transition:border-color .15s,background .15s,transform .1s}.theory-order-chip:hover{border-color:var(--accent);background:var(--bg-hover)}.theory-order-chip:active{transform:scale(.97)}.theory-order-undo{cursor:pointer;color:var(--text-tertiary);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);background:0 0;align-items:center;gap:5px;margin-left:auto;padding:7px 11px;font-size:12px;display:inline-flex}.theory-order-undo:hover{color:var(--text-primary);border-color:var(--separator-strong)}.theory-match{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}.theory-match-column{flex-direction:column;gap:6px;display:flex}.theory-match-item{text-align:left;cursor:pointer;min-height:44px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:9px 12px;font-size:13.5px;transition:border-color .15s,background .15s,opacity .15s;display:flex}.theory-match-item:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.theory-match-item.active{border-color:var(--accent);background:var(--accent-dim)}.theory-match-item.linked small{color:var(--accent-strong);font-size:11.5px}.theory-match-item.right{justify-content:center}.theory-match-item.used{opacity:.3}.theory-match-item.correct{border-color:var(--accent-2);background:#30d15814}.theory-match-item.correct small{color:var(--accent-2)}.theory-match-item.wrong{border-color:var(--danger);background:#ff453a12}.theory-match-item.wrong small{color:var(--danger)}.theory-match-item:disabled{cursor:default}.theory-build-status{color:var(--text-secondary);background:var(--bg-grouped);border:1px solid var(--separator-opaque);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 13px;font-size:12.5px;display:flex}.theory-build-status strong{color:var(--accent-strong);font-variant-numeric:tabular-nums}.theory-build-misses{color:var(--danger)}.theory-build-chips{gap:5px;margin-left:auto;display:flex}.theory-build-chips b{color:var(--text-quarternary);background:var(--bg-input);border:1px solid var(--separator-opaque);border-radius:var(--radius-sm);padding:2px 8px;font-size:12px;font-weight:600}.theory-build-chips b.found{color:var(--accent-2);border-color:var(--accent-2);background:#30d1581a}@media (max-width:640px){.theory-match{grid-template-columns:1fr;gap:14px}.theory-stats{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.theory-stat strong{font-size:22px}.theory-build-chips{margin-left:0}}
