body{margin:0}.tuning-studio{--tuning-art:url(/player-art/franken-frame.png);--tuning-gold:#f4cf88;background:#10191f;border:1px solid #50616c;border-radius:16px;overflow:hidden;padding:0!important}.tuning-studio[data-skin=sg]{--tuning-art:url(/player-art/sg-frame.png)}.tuning-studio .tuning-hero{border:20px solid #0000;border-image:var(--tuning-art) 100 stretch;background:radial-gradient(at 100% 0,#35434c,#10191f 70%);justify-content:space-between;align-items:center;gap:24px;padding:32px;display:flex}.tuning-eyebrow{letter-spacing:.17em;color:var(--tuning-gold);font-size:12px;font-weight:800}.tuning-studio .tuning-hero h2{letter-spacing:-.035em;color:#fff2df;margin:14px 0;font-size:clamp(30px,4vw,46px);line-height:1.12}.tuning-studio .tuning-hero p{color:#c6d7e0;max-width:540px;font-size:17px}.tuning-studio .player-skins{flex-wrap:wrap;gap:8px;display:flex}.tuning-studio .player-skins button{color:#e5eff5;background:#26333c;border:1px solid #627582;min-height:44px;padding:10px 14px;font-size:14px}.tuning-studio .player-skins button[aria-pressed=true]{color:#f4cf88;border-color:#f4cf88;box-shadow:inset 0 -2px #f4cf88}.tuning-studio>.prompt-box{color:#cbdce5;background:#1a272f;border-left:3px solid #8acde5;margin:24px 28px;font-size:16px;line-height:1.7}.tuning-studio>.box-picker{background:#202d36;border:1px solid #526873;gap:20px;margin:24px 28px;padding:20px}.tuning-studio>.box-picker label{color:#c8dce7;flex-direction:column;gap:9px;font-size:15px;display:flex}.tuning-studio select{color:#edf4f8;background:#10191f;border:1px solid #69818e;border-radius:6px;min-width:170px;min-height:44px;padding:8px 12px;font-size:17px}.tuning-studio>.section-label{color:var(--tuning-gold);letter-spacing:0;text-transform:none;margin:32px 28px 18px;font-size:23px}.tuning-string-display{background:linear-gradient(120deg,#293a45,#121d24);border:1px solid #71828b;border-radius:8px;margin:26px 28px;padding:26px;box-shadow:0 12px 28px #0005}.tuning-string-display h3{color:#fff3dd;margin:10px 0;font-size:24px}.tuning-string-display p{color:#b4cbd8;font-size:14px}.tuning-note-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.tuning-note{text-align:center;background:radial-gradient(at top,#2e4553,#101b24);border:1px solid #607b8a;border-top:3px solid #a43238;border-radius:6px;padding:18px 8px;box-shadow:0 6px 12px #0004}.tuning-note span{letter-spacing:.12em;color:#c0d5df;font-size:11px;display:block}.tuning-note strong{color:#daf4ff;text-shadow:0 0 14px #66c9ff66;margin-top:10px;font:800 36px Consolas,monospace;display:block}.tuning-studio .chord-library-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin:0 28px 30px;display:grid}.tuning-studio .chord-library-tile{background:linear-gradient(135deg,#26343d,#131e26);border:1px solid #526873;border-radius:8px;padding:22px 14px;box-shadow:0 7px 18px #0004}.tuning-studio .chord-library-tile svg{width:170px;max-width:100%}.tuning-studio .chord-library-sublabel{color:#bed0db;margin:12px 0;font-size:14px}.tuning-studio .chord-library-tile button{color:#f4cf88;background:#26343d;border:1px solid #b79961;border-radius:6px;min-height:44px;padding:10px 18px;font-size:15px;text-decoration:none}.tuning-studio button:focus-visible{outline-offset:3px;outline:3px solid #a5e2ff}@media (width<=650px){.tuning-studio .tuning-hero{border-width:13px;flex-direction:column;align-items:flex-start;padding:22px 16px}.tuning-studio>.prompt-box,.tuning-studio>.box-picker,.tuning-string-display{margin:18px 14px}.tuning-string-display{padding:18px}.tuning-note-row{gap:7px}.tuning-note{padding:14px 3px}.tuning-note span{letter-spacing:0;font-size:8px}.tuning-note strong{font-size:26px}.tuning-studio .chord-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 14px 24px}.tuning-studio .chord-library-tile{padding:16px 8px}}.tuning-studio{--accent:#e54b43;--text:#f4f1e9;--bg:#101416;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:15px/1.5 Segoe UI,sans-serif}.tuning-studio[data-skin=sg]{--accent:#dc575e}.tuning-studio .chord-library-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.tuning-studio .chord-library-tile svg.chord-diagram{width:220px;max-width:100%;height:auto;margin-inline:auto;display:block}@media (width<=650px){.tuning-studio .chord-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.key-studio .key-chords-section,.key-studio .triads-section{padding:26px}.key-studio>.mode-picker{gap:12px;margin:24px 26px;display:flex}.key-studio button{color:#e8f2f8;background:#25353f;border:1px solid #607580;border-radius:6px;min-height:44px;padding:11px 16px;font-size:16px}.key-studio button.active,.key-studio .choice-btn.selected{color:#17212a;background:#f4cf88;border-color:#f4cf88}.key-studio .key-picker,.key-studio .box-picker{background:#1e2d36;border:1px solid #526b79;border-radius:8px;gap:20px;padding:20px}.key-studio label{color:#d2e0e8;font-size:16px}.key-studio .key-notes-line{flex-wrap:wrap;gap:14px;margin:26px 0;display:flex}.key-studio .key-note-chip{color:#e5f6ff;text-shadow:0 0 14px #8ed7ff33;background:radial-gradient(at top,#344956,#111d26);border:1px solid #607784;border-top:3px solid #bd4546;border-radius:7px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-width:90px;min-height:110px;padding:18px 12px;font-size:27px;font-weight:800;display:flex;box-shadow:0 7px 16px #0004}.key-studio .key-note-chip .degree{color:#f4cf88;letter-spacing:.1em;font-size:15px}.key-studio .prompt-box{color:#c7dae5;background:#192a34;border-left:3px solid #83c6df;font-size:16px;line-height:1.7}.key-studio .section-label{color:#f4cf88;font-size:22px}.key-studio .correct{border-color:#53c68d!important}.key-studio .wrong{border-color:#ed7676!important}@media (width<=650px){.key-studio .key-chords-section,.key-studio .triads-section{padding:16px}.key-studio>.mode-picker{margin:18px 16px}.key-studio .key-note-chip{min-width:65px;padding:12px 8px;font-size:24px}}.drill.key-studio .mode-picker button.active{color:#17212a;text-shadow:none;background:#f4cf88;border-color:#f4cf88}.key-studio .triad-inversion-picker{color:#d2e0e8;flex-basis:100%;font-size:16px}.key-studio .triad-inversion-buttons{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.key-studio .triad-inversion-buttons button{flex:1;min-width:150px;font-weight:700}.key-studio .triad-inversion-buttons small{margin-top:5px;font-size:13px;font-weight:400;display:block}.drill.key-studio .triad-inversion-buttons button.active{color:#17212a;text-shadow:none;background:#f4cf88}.key-chords-drill .composer-rendered-neck{background:#0c1011;border:1px solid #657882;border-radius:7px;margin:20px 0;padding:9px 0 5px;position:relative;top:auto;overflow:hidden}.key-chords-drill .composer-neck-image{aspect-ratio:1600/480;position:relative}.key-chords-drill .composer-neck-image img{width:100%;height:100%;display:block}.key-chords-drill .composer-neck-image .fretboard-svg{width:100%;height:100%;box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible}.key-chords-drill .composer-neck-numbers{color:#c4d1d8;height:26px;font-size:12px;position:relative}.key-chords-drill .composer-neck-numbers span{position:absolute;transform:translate(-50%)}.key-chords-drill .composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;display:flex}.neck-wood-picker{flex-wrap:wrap;gap:6px;padding:5px 10px 10px;display:flex}.neck-wood-picker button{font:inherit;color:#dfebef;cursor:pointer;background:#14212b;border:1px solid #576975;border-radius:5px;padding:5px 12px;font-size:12px}.neck-wood-picker button[aria-pressed=true]{color:#fff1c7;background:#51402a;border-color:#ffe08a}.composer-rendered-neck[data-wood] .composer-neck-image{aspect-ratio:1600/480;width:calc(100% - 40px);margin-left:40px;position:relative}.composer-rendered-neck[data-wood] .composer-neck-image img{width:100%;height:100%;display:block}.composer-rendered-neck[data-wood] .composer-neck-image .fretboard-svg{background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.composer-rendered-neck[data-wood=ebony] .composer-neck-image img{filter:grayscale(.92)brightness(.57)contrast(1.18)}.composer-rendered-neck[data-wood=cherry] .composer-neck-image img{filter:sepia(.35)saturate(1.8)hue-rotate(335deg)brightness(.68)contrast(1.22)}.composer-rendered-neck[data-wood] .composer-neck-numbers{margin-left:40px}.neck-string-labels{color:#fff4d8;width:36px;height:100%;font-size:13px;font-weight:800;position:absolute;top:0;left:-39px}.neck-string-labels span{text-align:center;width:36px;line-height:1;position:absolute;left:0;transform:translateY(-50%)}.neck-string-labels small{color:#97b3c1;margin-left:3px;font-size:8px}.composer-rendered-neck .composer-fret-range{filter:drop-shadow(0 0 3px #000);stroke-dasharray:14 5}@media (width<=500px){.neck-string-labels{font-size:10px}.neck-string-labels small{font-size:7px}}.composer-rendered-neck[data-wood=cherry] .composer-neck-image:after{content:"";pointer-events:none;clip-path:polygon(2% 22%,99% 15%,99% 85%,2% 78%);mix-blend-mode:screen;background:linear-gradient(174deg,#0000 24%,#ffe2cf0d 33%,#ffeee03b 38%,#ffe6d612 42%,#0000 48% 67%,#ffcaab1a 72%,#0000 76%);position:absolute;inset:0}.composer-rendered-neck[data-wood=ebony] .composer-neck-image:after{content:"";pointer-events:none;clip-path:polygon(2% 22%,99% 15%,99% 85%,2% 78%);mix-blend-mode:screen;background:linear-gradient(176deg,#0000 22%,#c6d7e60a 30%,#e2ebf430 36%,#aabed20f 42%,#0000 49% 67%,#c5d0da12 73%,#0000 80%);position:absolute;inset:0}.shapes-studio .open-chords-section,.shapes-studio .caged-section,.shapes-studio .capo-reference-section{padding:26px}.shapes-studio>.mode-picker{flex-wrap:wrap}.shapes-studio>.mode-picker button{flex:1;min-width:150px}.shapes-studio .chord-spelling{background:#14232c;border:1px solid #526b79;border-radius:8px;margin-top:24px;padding:24px}.shapes-studio select{min-height:44px;font-size:16px}@media (width<=650px){.shapes-studio .open-chords-section,.shapes-studio .caged-section,.shapes-studio .capo-reference-section{padding:16px}}.shapes-studio .composer-rendered-neck{background:#0c1011;border:1px solid #657882;border-radius:7px;margin:20px 0;padding:9px 0 5px;position:relative;top:auto;overflow:hidden}.shapes-studio .composer-neck-image{aspect-ratio:1600/480;position:relative}.shapes-studio .composer-neck-image img{width:100%;height:100%;display:block}.shapes-studio .composer-neck-image .fretboard-svg{width:100%;height:100%;box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible}.shapes-studio .composer-neck-numbers{color:#c4d1d8;height:26px;font-size:12px;position:relative}.shapes-studio .composer-neck-numbers span{position:absolute;transform:translate(-50%)}.shapes-studio .composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;display:flex}.tab-studio{--player-bg:#101416;--player-panel:#1b2226;--player-line:#3b474c;--player-ink:#f4f1e9;--player-muted:#b3bec3;--player-hot:#e54b43;--player-gold:#f4cc82;--accent:var(--player-hot);--text:var(--player-ink);color:var(--player-ink);background:var(--player-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:15px/1.5 Segoe UI,sans-serif}.tab-studio[data-skin=sg]{--player-bg:#180e10;--player-panel:#29181b;--player-line:#684045;--player-hot:#dc575e;--player-gold:#f2d6a3;--player-muted:#c8b8b7}.tab-studio *,.tab-studio :before,.tab-studio :after{box-sizing:border-box}.tab-studio [hidden]{display:none!important}.tab-player-drill.tab-studio{border:1px solid var(--player-line);border-radius:16px;padding:0;overflow:hidden;box-shadow:0 22px 70px #0005}.tab-studio button{font:inherit;min-height:42px;color:var(--player-ink);background:linear-gradient(#303b40,#20292d);border:1px solid #536167;border-radius:7px;padding:9px 14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform .15s}.tab-studio button:hover{border-color:var(--player-gold);filter:brightness(1.12)}.tab-studio button:disabled{opacity:.45;cursor:not-allowed}.tab-studio button:focus-visible,.tab-studio summary:focus-visible,.tab-studio input:focus-visible,.tab-studio select:focus-visible,.tab-studio textarea:focus-visible{outline:3px solid var(--player-gold);outline-offset:3px}.tab-studio button.active,.tab-studio button[aria-pressed=true],.tab-studio .player-ready{background:var(--player-hot);color:#fff;border-color:#f38b80}.tab-studio input,.tab-studio select,.tab-studio textarea{font:inherit;min-height:40px;color:var(--player-ink);border:1px solid var(--player-line);background:#0c1013;border-radius:6px;max-width:100%;padding:8px}.tab-studio textarea{resize:vertical;width:100%;font:12px/1.65 ui-monospace,Consolas,monospace}.tab-studio label{color:var(--player-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.tab-studio input[type=range]{accent-color:var(--player-hot);padding:0}.tab-studio .bpm-input,.tab-studio .beats-input{width:76px;font:600 16px ui-monospace,monospace}.tab-studio input[type=file]{width:100%;font-size:12px}.tab-studio .prompt-box{border:0;border-left:2px solid var(--player-line);color:var(--player-muted);overflow-wrap:anywhere;background:0 0;margin:10px 0;padding:10px;font-size:12px;line-height:1.65}.tab-studio .tab-warnings{border-color:var(--player-gold);color:var(--player-gold)}.tab-studio .box-picker{background:var(--player-panel);border:1px solid var(--player-line);border-radius:9px;flex-wrap:wrap;gap:12px;margin:12px 0;padding:14px;display:flex}.tab-studio .section-label{letter-spacing:1.5px;color:var(--player-muted);margin:15px 0 8px;font-size:11px}.tab-studio .player-hero{border-bottom:1px solid var(--player-line);background:radial-gradient(at 100% 0,#76312b44,#0000 65%),#13191c;flex-wrap:wrap;align-items:center;gap:32px;padding:38px 28px 26px;display:flex;position:relative}.tab-studio .player-hero:before,.tab-studio .player-practice-header:before{content:"";background:linear-gradient(27deg,#0000 47%,#f0ebdf 47% 49%,#0000 49%),repeating-linear-gradient(145deg,#d83432 0 65px,#eee9dd 66px 76px,#131619 77px 110px,#eee9dd 111px 115px,#d83432 116px 145px);height:12px;position:absolute;inset:0 0 auto}.tab-studio[data-skin=sg] .player-hero,.tab-studio[data-skin=sg] .player-practice-header{background:repeating-linear-gradient(94deg,#16060622 0,#0000 2px 7px,#f8cdb010 8px,#0000 10px),radial-gradient(at 50% 0,#af303d,#591322 65%,#2a1017)}.tab-studio[data-skin=sg] .player-hero:before,.tab-studio[data-skin=sg] .player-practice-header:before{background:linear-gradient(#e3e3df,#7e7c7b,#f0ece4,#474344);height:7px}.tab-studio[data-skin=sg] button:not([aria-pressed=true]):not(.active):not(.player-ready){background:linear-gradient(#322b2c,#161415);border-color:#766469}.tab-studio .player-brand{letter-spacing:-1px;font-size:23px;font-weight:900;line-height:1;transform:skew(-7deg)}.tab-studio .player-brand small{letter-spacing:2px;color:var(--player-muted);margin-top:10px;font-size:9px;font-weight:600;display:block}.tab-studio .player-title{flex:1;min-width:200px}.tab-studio .player-eyebrow{letter-spacing:2px;color:var(--player-gold);font-size:10px;font-weight:700}.tab-studio .player-title h2{letter-spacing:-1px;color:var(--player-ink);overflow-wrap:anywhere;margin:10px 0;font-size:clamp(25px,3vw,38px);line-height:1.1}.tab-studio .player-title p{color:var(--player-muted);margin:0;font-size:13px}.tab-studio .player-header-actions{flex-direction:column;gap:10px;display:flex}.tab-studio .player-skins{flex-wrap:wrap;gap:6px;display:flex}.tab-studio .player-skins button{border-color:var(--player-line);background:#13181b;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.tab-studio .player-skins button[aria-pressed=true]{border-color:var(--player-gold);box-shadow:inset 0 -2px var(--player-gold);background:#22292b}.tab-studio .skin-swatch{border:1px solid #b5b5b5;border-radius:50%;flex-shrink:0;width:22px;height:22px;display:inline-block}.tab-studio .skin-franken{background:repeating-linear-gradient(135deg,#d73533 0 7px,#e8e4df 7px 10px,#141516 10px 15px)}.tab-studio .skin-sg{background:repeating-linear-gradient(90deg,#af344533 0 2px,#0000 3px 5px),linear-gradient(110deg,#551321,#b63c44,#3d0d16)}.tab-studio .player-workspace{grid-template-columns:minmax(0,1fr) 310px;align-items:start;display:grid}.tab-studio .player-sidebar{background:var(--player-panel);border-left:1px solid var(--player-line);grid-area:1/2;min-width:0;padding:22px}.tab-studio .player-main{grid-area:1/1;min-width:0;padding:24px}.tab-studio .player-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.tab-studio .player-section-heading span{letter-spacing:2px;color:var(--player-muted);font-size:10px;font-weight:700}.tab-studio .player-section-heading small{color:var(--player-gold);font-size:11px}.tab-studio .player-sidebar .player-section-heading{display:block}.tab-studio .player-sidebar .player-section-heading small{margin-top:5px;display:block}.tab-studio .player-details,.tab-studio .chord-sheet-details{border:1px solid var(--player-line);background:#080b0d22;border-radius:8px;margin:12px 0;padding:12px}.tab-studio summary{cursor:pointer;min-height:32px;color:var(--player-ink);align-content:center;font-size:14px;font-weight:600}.tab-studio .tab-upload-row{flex-wrap:wrap;gap:8px;display:flex}.tab-studio .player-sidebar .box-picker{gap:12px;padding:10px}.tab-studio .player-sidebar label,.tab-studio .player-sidebar label select,.tab-studio .player-sidebar label input{width:100%}.tab-studio .player-sidebar-note{color:#a4b0b6;letter-spacing:-.5px;margin:32px 0 12px;font-size:25px;line-height:1.35}.tab-studio .player-sidebar-note strong{color:var(--player-ink)}.tab-studio .player-ready{width:100%;margin-top:12px}.tab-studio .transport-row{background:var(--player-panel);border:1px solid var(--player-line);border-radius:10px;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:12px;display:flex}.tab-studio .transport-row button:nth-child(2){background:var(--player-hot);border-color:#f18578;min-width:140px}.tab-studio .player-score{border:1px solid var(--player-line);background:linear-gradient(140deg,#192126,#0c1114);border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0003}.tab-studio .current-chord-banner{border:0;border-bottom:1px solid var(--player-line);border-left:3px solid var(--player-gold);color:var(--player-ink);background:#202b30;margin:0;padding:13px 16px;font-size:13px}.tab-studio .tab-output{color:#f3eee1;scrollbar-color:#52636b #101719;background:0 0;max-height:420px;margin:0;padding:24px;font:600 17px/1.9 ui-monospace,Consolas,monospace;overflow:auto}.tab-studio .player-chord-preview{border-top:1px solid var(--player-line);flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;padding:20px;display:flex}.tab-studio .player-empty{text-align:center;align-content:center;justify-items:center;min-height:330px;padding:60px 24px;display:grid}.tab-studio .player-empty-mark{color:var(--player-hot);letter-spacing:8px;font-size:64px;font-weight:900;line-height:1}.tab-studio .player-empty h3{letter-spacing:-.7px;color:var(--player-ink);margin:20px 0 5px;font-size:24px}.tab-studio .player-empty p{color:var(--player-muted);margin:8px 0 22px}.tab-studio .tab-measure-strip{gap:6px;max-height:200px;padding:12px 0;overflow:auto}.tab-studio .tab-measure-chip{background:#192125;border-color:#526167;min-width:42px}.tab-studio .tab-measure-chip.in-loop{border-color:var(--player-gold);color:var(--player-gold)}.tab-studio .tab-measure-chip.current{background:var(--player-gold);color:#171b1e}.tab-studio .current-bpm-box{border:1px solid var(--player-line);color:var(--player-ink);background:#0d1215;border-radius:6px;padding:12px;font:12px ui-monospace,monospace}.tab-studio.player-practice{background:radial-gradient(ellipse at top,#24303555,transparent 70%),var(--player-bg);isolation:isolate;height:100dvh;padding:0;overflow:auto}.tab-studio .player-practice-header{border-bottom:1px solid var(--player-line);background:#161d21;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:26px 28px 14px;display:flex;position:relative}.tab-studio .player-practice-header h2{color:var(--player-ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:24px;line-height:1.2}.tab-studio .tab-practice-toolbar{background:var(--player-panel);border-bottom:1px solid var(--player-line);z-index:4;flex-wrap:wrap;flex-shrink:0;gap:10px;padding:12px 24px;position:sticky;top:0;overflow:visible}.tab-studio .player-timing-note{color:var(--player-muted);flex-basis:100%;margin:0;font-size:12px}.tab-studio .player-next-chord{color:var(--player-gold);margin-top:12px;font-size:15px;line-height:1.4;display:block}.tab-studio .tab-practice-toolbar>button:first-child{background:var(--player-hot);border-color:#f18578;min-width:112px;font-size:17px}.tab-studio .player-view-modes{background:#0a1013;border-radius:9px;gap:4px;padding:4px;display:flex}.tab-studio .player-practice-settings{border-bottom:1px solid var(--player-line);background:#141b1e;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;max-height:35dvh;padding:18px 24px;display:flex;overflow:auto}.tab-studio .player-practice-status{color:var(--player-muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;font-size:12px;display:flex}.tab-studio .player-practice-status strong{letter-spacing:1px;color:var(--player-gold);font:600 12px ui-monospace,monospace}.tab-studio .player-practice-status span{max-width:680px}.tab-studio .tab-practice-strip{scrollbar-color:var(--player-line) #0b1013;overscroll-behavior:contain;flex:1 0 auto;align-items:center;gap:18px;min-height:280px;max-height:460px;padding:16px 28px 24px}.tab-studio .tab-practice-bar{border:1px solid var(--player-line);opacity:.8;background:linear-gradient(155deg,#202a2f,#101719);border-radius:12px;padding:16px;box-shadow:0 12px 25px #0005}.tab-studio .tab-practice-bar.in-loop{opacity:1;border-color:#807359}.tab-studio .tab-practice-bar.is-current{border-color:var(--player-gold);box-shadow:0 0 0 1px #f4cc8222,0 15px 30px #0005}.tab-studio .tab-practice-bar-label-btn{min-height:30px;color:var(--player-muted);text-align:left;border:0;width:100%;padding:0 0 8px;font-size:13px;background:0 0!important}.tab-studio .tab-practice-notename{color:var(--player-gold);overflow-wrap:anywhere;padding:8px 0;font:600 12px ui-monospace,monospace}.tab-studio .tab-practice-string-row{border-color:#93a6af44;height:38px}.tab-studio .tab-practice-cell{justify-content:center;align-items:center;height:38px;font:700 24px ui-monospace,Consolas,monospace;display:flex}.tab-studio .tab-practice-cell.active-beat{color:var(--player-gold);text-shadow:0 0 14px #ffba5488;background:#f4cc8222}.tab-studio .tab-practice-playhead{background:var(--player-gold);animation:none;box-shadow:0 0 12px #ffbe69}.tab-studio .tab-practice-chord-panel{border:1px solid var(--player-line);background:linear-gradient(130deg,var(--player-panel),#101518);border-radius:14px;flex:none;gap:24px;margin:0 28px 24px;padding:20px 28px;box-shadow:0 12px 30px #0004}.tab-studio .tab-practice-chord-panel svg.chord-diagram{flex-shrink:0;width:170px;height:auto;max-height:230px}.tab-studio .tab-practice-chord-panel .strum-scroll-viewport{flex:1;min-width:140px;max-width:660px}.tab-studio .strum-row{border:1px solid var(--player-line);background:#0c1215;border-radius:10px;gap:4px;padding:16px 10px}.tab-studio .strum-arrow{color:#c6d0d1;font-size:34px}.tab-studio .strum-slot.active{background:var(--player-gold);border-radius:8px}.tab-studio .strum-slot.active .strum-arrow{color:#13191c}.tab-studio .strum-focus-bpm{color:var(--player-muted);max-width:200px;font:12px ui-monospace,monospace}.tab-studio .chord-sheet-practice-body{scrollbar-color:var(--player-line) #101719;flex:1 0 240px;max-width:1000px;min-height:160px;max-height:55dvh;padding:24px 32px;font-size:22px}.tab-studio .chord-sheet-lyric-line{color:var(--player-ink);font-size:22px;line-height:1.8}.tab-studio .chord-sheet-chord-chip{color:var(--player-gold);font-size:23px}.tab-studio .chord-sheet-chord-line.active .chord-sheet-chord-chip{background:var(--player-gold);color:#161719}.tab-studio .tab-legend{flex-shrink:0;max-height:35dvh;overflow:auto}@media (width>=1200px){.tab-studio .tab-practice-toolbar>.link-btn{margin-left:auto}}@media (width<=900px){.tab-studio .player-workspace{grid-template-columns:minmax(0,1fr) 270px}.tab-studio .player-main,.tab-studio .player-sidebar{padding:16px}.tab-studio .player-hero{gap:20px;padding:30px 20px 22px}.tab-studio .player-brand,.tab-studio .player-practice-status span{display:none}.tab-studio .tab-practice-chord-panel{gap:16px}}@media (width<=680px){.tab-studio .player-workspace{flex-direction:column;display:flex}.tab-studio .player-main,.tab-studio .player-sidebar{border-left:0;width:100%}.tab-studio .player-sidebar-note{display:none}.tab-studio .player-sidebar{border-bottom:1px solid var(--player-line)}.tab-studio .player-header-actions{flex-flow:wrap;width:100%}.tab-studio .player-title h2{font-size:29px}.tab-studio .player-practice-header{flex-wrap:wrap;padding:23px 14px 12px}.tab-studio .player-practice-header h2{font-size:21px}.tab-studio .tab-practice-toolbar{gap:8px;padding:10px 12px}.tab-studio .tab-practice-toolbar button,.tab-studio .tab-practice-toolbar input,.tab-studio .tab-practice-toolbar select{min-height:42px;font-size:14px}.tab-studio .tab-practice-toolbar .current-bpm-box{display:none}.tab-studio .player-practice-status{padding:12px 16px}.tab-studio .tab-practice-toolbar .link-btn{min-height:42px;font-size:12px}.tab-studio .tab-practice-strip{min-height:310px;padding:12px 14px 18px}.tab-studio .tab-practice-bar{padding:12px}.tab-studio .tab-practice-chord-panel{flex-wrap:wrap;gap:12px;margin:0 12px 16px;padding:14px}.tab-studio .tab-practice-chord-panel svg.chord-diagram{width:125px}.tab-studio .tab-practice-chord-panel .strum-scroll-viewport{min-width:130px}.tab-studio .strum-arrow{font-size:24px}.tab-studio .strum-row{padding:12px 4px}.tab-studio .chord-sheet-practice-body{flex-basis:260px;padding:18px}.tab-studio .chord-sheet-lyric-line{font-size:20px}.tab-studio .player-practice-settings{max-height:40dvh;padding:14px}.tab-studio .player-score .tab-output{padding:16px;font-size:15px}}@media (height<=550px) and (orientation:landscape){.tab-studio .player-practice-header{padding:14px 16px 6px}.tab-studio .player-practice-header h2{margin-left:12px;font-size:16px;display:inline}.tab-studio .player-practice-header .player-eyebrow{font-size:9px}.tab-studio .tab-practice-toolbar{gap:7px;padding:7px 12px}.tab-studio .player-practice-status{padding:8px 16px}.tab-studio .tab-practice-strip{min-height:270px;max-height:none;padding:10px 16px}.tab-studio .tab-practice-string-row,.tab-studio .tab-practice-cell{height:30px}.tab-studio .tab-practice-cell{font-size:22px}.tab-studio .tab-practice-chord-panel svg.chord-diagram{width:110px}.tab-studio .tab-practice-chord-panel{padding:12px}}@media (prefers-reduced-motion:reduce){.tab-studio button,.tab-studio .tab-practice-cell{transition:none;animation:none}}.tab-studio .player-library-load{border-color:var(--player-gold);width:100%;color:var(--player-gold);margin:12px 0 6px}.tab-studio.player-practice{--player-frame:url(/player-art/franken-frame.png);background:#0e1418}.tab-studio.player-practice[data-skin=sg]{--player-frame:url(/player-art/sg-frame.png)}.tab-studio .tab-practice-strip{border:28px solid #0000;border-image:var(--player-frame) 100 stretch;background:radial-gradient(at top,#24343f,#0b141c);flex-shrink:0;align-items:stretch;gap:0;min-height:380px;max-height:530px;margin:18px 24px;padding:24px 16px}.tab-studio .tab-practice-bar,.tab-studio .tab-practice-bar.in-loop,.tab-studio .tab-practice-bar.is-current{box-shadow:none;opacity:1;background:0 0;border:0;border-right:1px solid #77929f66;border-radius:0;padding:12px 20px}.tab-studio .tab-practice-bar:not(.in-loop){opacity:.55}.tab-studio .tab-practice-bar.is-current{background:linear-gradient(#e8c78c14,#0000);box-shadow:inset 0 2px #edc78c}.tab-studio .tab-practice-cell{color:#fff2da;text-shadow:0 2px #000;font:800 26px Consolas,monospace}.tab-studio .tab-practice-cell.active-beat.has-note{color:#241b0d;text-shadow:none;background:#ffd18a;border-radius:4px;box-shadow:0 0 20px #ffbb5377}.tab-studio .tab-practice-string-label{color:#d3efff;text-shadow:0 0 7px #71caffbb,0 0 16px #71caff66;background:#111b22;font:800 19px Consolas,monospace}.tab-studio .player-beat-labels{text-align:center;color:#d3efff;text-shadow:0 0 10px #71caff99;gap:0;margin-left:26px;padding-top:14px;font:800 16px Consolas;display:grid}.tab-studio .tab-practice-chord-panel{border:24px solid #0000;border-image:var(--player-frame) 100 stretch;min-height:300px;box-shadow:none;background:radial-gradient(at top,#24343f,#0b141c);border-radius:0;padding:25px}.tab-studio .tab-practice-chord-panel svg.chord-diagram{width:210px;max-height:280px}.tab-studio .strum-arrow{color:#d3efff;text-shadow:0 0 12px #71caff66;font-size:50px}.tab-studio .strum-slot.active{box-shadow:0 0 18px #ffbc5466}.tab-studio .player-voice{border:1px solid #455a66;margin:8px 24px;padding:8px 12px}.tab-studio .player-voice p,.tab-studio .player-voice span{color:#b8c9d4;font-size:12px}.tab-studio .player-voice span{margin-left:12px}@media (width<=680px){.tab-studio .tab-practice-strip{border-width:15px;margin:10px;padding:18px 10px}.tab-studio .tab-practice-chord-panel{border-width:14px;min-height:240px;padding:14px}.tab-studio .tab-practice-chord-panel svg.chord-diagram{width:145px}.tab-studio .strum-arrow{font-size:30px}}.tab-studio .tab-practice-playhead{z-index:0;opacity:.65;width:2px}.tab-studio .tab-practice-cell{z-index:1;position:relative}.tab-studio .tab-practice-cell.active-beat{transform:none}.tab-studio .player-beat-labels{margin-left:1.4rem}.tab-player-drill.tab-studio{max-width:1500px;margin:20px auto}.tab-studio .player-hero{background:linear-gradient(90deg,#080d10e8,#080d10c9),url(/player-art/franken-frame.png) 50% 15%/cover;padding:32px}.tab-studio[data-skin=sg] .player-hero{background:linear-gradient(90deg,#160a0ce8,#160a0cb9),url(/player-art/sg-frame.png) 50% 15%/cover}.tab-studio .player-workspace{grid-template-columns:minmax(0,1fr) 350px}.tab-studio .player-score{border:1px solid #82929b;border-radius:3px;margin:8px 6px 24px;box-shadow:0 0 0 5px #11181c,0 0 0 6px #52616a,0 15px 35px #0006}.tab-studio .tab-output{color:#e0f0f7;text-shadow:0 0 9px #76c9ff22;background:radial-gradient(at top,#23313a,#0c141a);max-height:380px;font:600 17px/2 Consolas,monospace}.tab-studio .tab-measure-strip{flex-wrap:wrap;gap:8px;max-height:240px;display:flex}.tab-studio .tab-measure-chip{min-width:50px;font:700 15px Consolas}.tab-studio .tab-measure-chip.bar-switch{color:#c0efff;border-color:#87d8f4;box-shadow:inset 0 -3px #67bdd9}.tab-studio .tab-measure-chip.current{color:#151a1e}.tab-studio .player-session-settings>.player-details{background:#172128;border-color:#52616a}.tab-studio .player-sidebar-note{display:none}@media (width<=1000px){.tab-studio .player-workspace{grid-template-columns:minmax(0,1fr) 300px}.tab-studio .tab-output{font-size:15px}}@media (width<=680px){.tab-studio .player-workspace{display:flex}.tab-studio .player-hero{padding:26px 18px}.tab-player-drill.tab-studio{margin:8px}.tab-studio .tab-output{font-size:14px}}.tab-studio .player-chord-editor{background:#172128;border-color:#52616a;margin:22px 0;padding:20px}.tab-studio .player-chord-editor summary{color:#e9c990;font-size:18px}.tab-studio .player-chord-editor textarea{min-height:210px;font-size:15px;line-height:1.7}.tab-studio .player-chord-editor .box-picker{gap:18px}.tab-studio .player-workspace{background:#0e1418;grid-template-columns:1fr 1fr;gap:24px;padding:28px;display:grid}.tab-studio .player-sidebar{background:linear-gradient(#141d24f2,#141d24f2),url(/player-art/franken-frame.png) 50%/cover;border:0;border-top:8px solid #bd3338;grid-area:1/1;min-height:0;padding:28px;box-shadow:0 8px 24px #0005}.tab-studio .player-workspace>.player-chord-editor{background:#172128;border:0;border-top:8px solid #bd3338;border-radius:0;grid-area:1/2;align-self:stretch;margin:0;padding:28px;box-shadow:0 8px 24px #0005}.tab-studio .player-main{background:#111a20;border:16px solid #0000;border-image:url(/player-art/franken-frame.png) 100;grid-area:2/1/auto/-1;padding:30px 5%}.tab-studio[data-skin=sg] .player-main{border-image-source:url(/player-art/sg-frame.png)}.tab-studio[data-skin=sg] .player-sidebar,.tab-studio[data-skin=sg] .player-workspace>.player-chord-editor{border-top-color:#872e39}.tab-studio .player-hero{background:linear-gradient(90deg,#0a1013ed 10%,#0a1013c0 60%,#0a101322),url(/player-art/franken-frame.png) 50%/cover;min-height:200px}.tab-studio .player-sidebar .player-load{border:0;padding:0}.tab-studio .player-sidebar textarea{min-height:200px;font-size:14px}.tab-studio .player-workspace>.player-chord-editor textarea{min-height:300px}.tab-studio .player-section-heading span{color:#d3efff;text-shadow:0 0 12px #71caff55;font-size:13px}.tab-studio .player-send-controls{background:linear-gradient(120deg,#29333b,#11191f);border-color:#c39f61;padding:22px}.tab-studio .player-send-controls button{border-color:#c39f61}.tab-studio .player-rhythm-destinations{border-top:1px solid #50606b;flex-wrap:wrap;gap:10px;width:100%;padding-top:12px;display:flex}.tab-studio .player-rhythm-destinations span{color:#b9c6cc;width:100%;font-size:12px}.destination-review{z-index:20;color:#e0f1f8;background:#24343d;border:2px solid #d4b178;margin:12px;padding:20px;font:15px Segoe UI,sans-serif;position:sticky;top:0}@media (width<=850px){.tab-studio .player-workspace{grid-template-columns:minmax(0,1fr);gap:18px;padding:14px}.tab-studio .player-sidebar{grid-area:1/1}.tab-studio .player-workspace>.player-chord-editor{grid-area:2/1}.tab-studio .player-main{border-width:8px;grid-area:3/1;padding:20px 12px}}.tab-studio .workshop-tab-frame{background:url(/player-art/franken-frame.png) 50%/100% 100%;padding:36px 4%}.tab-studio[data-skin=sg] .workshop-tab-frame{background-image:url(/player-art/sg-frame.png)}.tab-studio .workshop-tab-frame .tab-output{color:#647d8b;text-shadow:none;background:radial-gradient(at top,#243540,#0b141c);border:1px solid #7d909c;max-height:440px;padding:24px 20px;font:700 21px/2.15 Consolas,monospace}.tab-studio .workshop-fret{color:#faf0d9;text-shadow:0 0 10px #ffcc7440}.tab-studio .workshop-string{color:#d3efff;text-shadow:0 0 7px #71caffbb,0 0 16px #71caff66}.tab-studio .workshop-technique{color:#a5dcf0;text-shadow:0 0 8px #71caff88}.tab-studio .player-sidebar textarea.workshop-source-tab{white-space:pre;color:#d3efff;text-shadow:0 0 8px #71caff44;background:radial-gradient(at top,#243540,#0b141c);border:3px solid #657680;border-radius:2px;min-height:300px;margin:14px 0;padding:18px;font:700 17px/2 Consolas,monospace;overflow:auto;box-shadow:0 0 0 4px #101820,0 10px 24px #0005}.workshop-chord-range{background:#0f1920;border:1px solid #617785;margin:20px 0;padding:16px}.workshop-chord-range>strong{color:#e9c990}.workshop-chord-range p{color:#bbccd7;font-size:12px}.workshop-chord-chips{flex-wrap:wrap;gap:8px;display:flex}.workshop-chord-chips span{color:#87929a;border:1px solid #45505b;padding:8px 12px}.workshop-chord-chips .selected{color:#d3efff;background:#203442;border-color:#8acde7;box-shadow:inset 0 -2px #8acde7}@media (width<=680px){.tab-studio .workshop-tab-frame{padding:24px 4%}.tab-studio .workshop-tab-frame .tab-output{font-size:18px}}.tab-studio .workshop-measure{display:inline-block}.tab-studio .workshop-measure.is-selected{background:#f4cc8226;box-shadow:inset 2px 0 #f4cc82,inset -1px 0 #f4cc8266}.tab-studio .workshop-measure.is-selected .workshop-fret{color:#ffe0a3;text-shadow:0 0 10px #ffc66b88}.composer-drill{--studio-panel:#191f22;--studio-line:#465257;--studio-ink:#edf1ed;--studio-gold:#d8ba7e;color:var(--studio-ink)}.composer-drill .composer-studio-header{background:#13191c;border-top:6px solid #d74942;border-radius:12px 12px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:20px;display:flex}.composer-studio-header h2{margin:5px 0 0}.composer-studio-header small{letter-spacing:1.5px;color:#bdc8c9}.composer-header-actions{gap:8px;display:flex}.composer-drill button{color:#edf1ed;background:#263238;border:1px solid #54656c;border-radius:6px}.composer-drill button:hover{background:#3a4a51}.composer-drill button:disabled{opacity:.45}.composer-drill .composer-header-actions button:first-child{background:#c4433d;border-color:#e95c51}.composer-drill input,.composer-drill select{color:#edf1ed;background:#121b1f;border:1px solid #52636b;border-radius:5px;max-width:100%;padding:7px}.composer-drill .composer-studio{border:1px solid var(--studio-line);background:#111719;border-radius:10px;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:0;display:grid}.composer-main-surface{grid-area:1/1;min-width:0;padding:18px}.composer-ingredients{background:var(--studio-panel);border-left:1px solid var(--studio-line);grid-area:1/2;min-width:0;padding:15px;position:sticky;top:12px}.composer-ingredients h3{margin:0;font-size:15px}.composer-ingredients small{color:#b8c6c8;font-size:12px}.composer-book-tabs{gap:5px;margin:12px 0 18px;display:flex}.composer-book-tabs button{flex:1;min-width:0;padding:8px 4px;font-size:13px}.composer-drill button[aria-pressed=true]{color:#fff;background:#bd3f3b;border-color:#e25a51}.composer-basket-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.composer-basket-heading button{padding:5px 8px;font-size:12px}.composer-basket-content>.chord-basket-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:7px;margin:0;display:grid}.composer-basket-content .chord-basket-slot{background:linear-gradient(140deg,#354147,#1a2327);border:1px solid #56666b;border-radius:8px;flex-wrap:wrap;align-content:start;gap:4px;min-width:0;padding:8px;display:flex}.composer-basket-content .chord-basket-slot>.choice-btn{overflow-wrap:anywhere;text-align:left;flex-basis:100%;order:-2;max-width:100%;padding:7px 4px;font-size:14px}.composer-basket-content .composer-tile-info{background:0 0;flex-basis:100%;order:-1;padding:3px;font-size:11px}.composer-basket-content .basket-pattern-select{width:100%;min-width:0;font-size:12px}.composer-empty-slot{color:#abbfc4;background:#121b1f;border:1px dashed #4d6269;border-radius:7px;justify-content:center;align-items:center;min-height:64px;display:flex;position:relative}.composer-empty-slot span{font-size:23px}.composer-empty-slot small{position:absolute;top:4px;right:6px}.composer-basket-content .chord-basket-empty{grid-column:1/-1;padding:7px;font-size:12px}.composer-basket-content.is-collapsed .basket-fill-btn,.composer-basket-content.is-collapsed .basket-remove-btn,.composer-basket-content.is-collapsed .basket-pattern-select,.composer-basket-content.is-collapsed .composer-tile-info{display:none}.composer-basket-content.is-collapsed .composer-empty-slot{min-height:38px}.composer-saved-licks{border-top:1px solid var(--studio-line);margin-top:18px;padding-top:12px}.composer-saved-licks summary{cursor:pointer}.composer-saved-licks .chord-basket-row{flex-wrap:wrap}.composer-generator-link{margin-top:14px}.composer-drill .composer-library-book{background:#232b2e;border:1px solid #706c5e;border-radius:9px;padding:18px;box-shadow:inset 6px 0 #393d38}.composer-book-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.composer-book-heading h2{margin:4px 0;font-size:21px}.composer-book-heading small{letter-spacing:1.4px;color:#bfcccc;font-size:11px}.composer-library-book .chord-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.composer-library-book .chord-library-tile{background:linear-gradient(140deg,#384449,#1a2326);border:1px solid #697b7e;border-radius:9px;min-width:0;padding:14px;position:relative;box-shadow:inset 0 2px #d8ba7e}.composer-library-book .chord-library-tile-actions{flex-wrap:wrap;gap:6px;display:flex}.composer-library-book .chord-library-tile-actions button{font-size:12px}.composer-library-book .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-library-book .technique-card-face{color:#a9e0d3;background:#101a1e;border:1px solid #455c62;border-radius:7px}.composer-library-book .strum-genre-tag{display:block}.composer-pattern-strokes{color:var(--studio-gold);background:#101719;justify-content:space-around;gap:8px;margin-top:8px;padding:12px 0;display:flex}.composer-beat-navigation{border-block:1px solid var(--studio-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0;padding:12px 0;display:flex}.composer-main-surface .fretboard-svg{width:100%;max-width:none;height:auto;margin:16px 0;display:block}.composer-main-surface .scale-guide-controls .box-picker{flex-wrap:wrap}.composer-chord-guidance{border-left:3px solid var(--studio-gold);background:#202d30;margin:14px 0;padding:13px;font-size:14px;line-height:1.5}.composer-chord-guidance p{margin:8px 0}.composer-chord-guidance details{font-size:12px}.composer-book-guidance summary{cursor:pointer;font-size:13px}.composer-drill [hidden]{display:none!important}@media (width<=1100px){.composer-library-book .chord-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.composer-drill .composer-studio{grid-template-columns:minmax(0,1fr) 260px}.composer-main-surface{padding:12px}}@media (width<=720px){.composer-drill .composer-studio{flex-direction:column;display:flex}.composer-main-surface,.composer-ingredients{width:100%}.composer-ingredients{border-left:0;border-bottom:1px solid var(--studio-line);order:-1;position:static}.composer-library-book .chord-library-grid{grid-template-columns:1fr}.composer-book-heading{flex-wrap:wrap}}.composer-book-pages{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.composer-lane{background:#152024;border:1px solid #48595e;border-radius:8px;margin:12px 0;overflow:hidden}.composer-lane.is-active{border-color:#d8ba7e}.composer-lane-heading{background:#253136;align-items:center;gap:8px;padding:8px;display:flex}.composer-lane-heading span{color:#d8ba7e;flex:1;font-size:12px}.composer-lane-heading button{padding:5px 9px}.composer-lane-beats{gap:14px;padding:10px;display:flex;overflow-x:auto}.composer-lane-bar{flex-shrink:0}.composer-lane-bar>small{color:#b5c5cb;margin-bottom:5px;display:block}.composer-lane-bar>div{gap:4px;display:flex}.composer-beat-drop{overflow-wrap:anywhere;flex-direction:column;min-width:48px;max-width:140px;padding:6px;display:flex}.composer-beat-drop small{color:#c5d0d3;font-size:10px}.composer-beat-drop span{font-size:13px}.composer-book-destinations{background:#111b20;border:1px dashed #bca46f;border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;padding:10px;display:flex}.composer-book-destinations small{color:#c4d0d0;flex-basis:100%}.composer-placement-notice{color:#d8ba7e;min-height:18px;font-size:13px}.composer-drill [draggable=true]{cursor:grab}.composer-drill [draggable=true]:active{cursor:grabbing}.composer-book-destinations{z-index:2;position:sticky;top:10px;box-shadow:0 4px 12px #0008}.composer-lane .live-tab-sheet-scroll{padding:8px 10px}.composer-lane .tab-row{font-size:15px;line-height:1.25}.composer-lane .tab-bar-chunk{min-width:110px}.composer-main-surface>.composer-placement-notice:empty{display:none}.composer-inline-clear{white-space:nowrap;align-self:center;margin-left:8px;padding:8px 10px}.composer-drill{color:#eff1ed;--accent:#e44743;background:#101416;border-radius:12px;font:14px/1.4 Segoe UI,sans-serif;overflow:hidden;padding:0!important}.composer-drill *{box-sizing:border-box}.composer-drill .composer-studio-header{background:#101416;border:0;border-bottom:1px solid #354044;border-radius:0;flex-wrap:wrap;gap:18px;margin:0;padding:22px 18px 15px;position:relative}.composer-studio-header:before{content:"";background:repeating-linear-gradient(145deg,#d83432 0 65px,#eee9dd 66px 76px,#131619 77px 110px,#eee9dd 111px 115px,#d83432 116px 145px);height:8px;position:absolute;inset:0 0 auto}.composer-brand{letter-spacing:-1px;font-size:20px;font-weight:900;line-height:1.1}.composer-brand small{margin-top:6px;font-weight:500;display:block;letter-spacing:1.4px!important;font-size:9px!important}.composer-song-title{flex:1}.composer-song-title input{width:100%;min-width:140px;font-size:17px;font-weight:600;background:0 0!important;border:0!important;padding:0!important}.composer-song-title small{margin-top:3px;display:block;letter-spacing:0!important;font-size:11px!important}.composer-drill button{font:inherit;min-height:30px;box-shadow:none;background:#252d31;border-color:#465054;padding:6px 10px;font-size:12px;font-weight:400}.composer-drill .composer-header-actions{align-items:center}.composer-drill .composer-header-actions button{min-height:36px}.composer-tempo{align-items:center;gap:3px;font-size:12px;display:flex}.composer-tempo input{width:60px;padding:5px!important}.composer-drill .composer-studio{background:#101416;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) 290px}.composer-main-surface{padding:16px}.composer-ingredients{background:#191e21;border-color:#354044;padding:15px;top:0}.composer-sectionbar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.composer-sectionbar small{letter-spacing:1.5px;color:#a7b0b3;font-size:10px;display:block}.composer-sectionbar strong{margin-top:3px;font-size:13px;display:block}.composer-sectionbar strong span{color:#a7b0b3;font-weight:400}.composer-sectionbar>span{color:#b4bfc2}.composer-sectionbar button{min-height:24px;margin-left:6px;padding:0 8px}.composer-score{background:#111719;border:1px solid #3b474c;border-radius:8px;overflow:hidden;box-shadow:0 5px 18px #0004}.composer-lane,.composer-lane.is-active{background:#111719;border:0;border-radius:0;margin:0;overflow:visible}.composer-lane-heading{background:linear-gradient(#232c30,#1b2327);gap:8px;padding:8px 12px}.composer-drill .composer-lane-heading button{min-height:25px;padding:2px 7px;font-size:11px}.composer-drill .composer-lane-heading .composer-lane-name{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#eff1ed;background:0 0;border:0;flex:1;font-size:12px;font-weight:650}.composer-drill .composer-lane-heading .composer-lane-name[aria-pressed=true]{color:#ffb4a7}.composer-drill .composer-lane-heading .composer-collapse-lane{color:#b7c2c5;background:0 0;border:0}.composer-staff-scroll{padding:8px 8px 22px 0;display:flex;overflow-x:auto}.composer-string-labels{z-index:1;color:#a9b4b7;text-align:center;background:#111719;flex-direction:column;flex:0 0 29px;padding-top:28px;font-size:10px;display:flex;position:sticky;left:0}.composer-measures{flex:1;min-width:0;display:grid}.composer-measure{border-right:1px solid #697174;min-width:0}.composer-measure:last-child{border:0}.composer-measure-label{align-items:baseline;gap:8px;height:28px;padding:0 7px;display:flex}.composer-measure-label small{color:#a9b4b7;font-size:10px}.composer-measure-label strong{font-size:13px;font-weight:600}.composer-staff-beats{background:repeating-linear-gradient(#0000 0 8px,#596267 8px 9px,#0000 9px 17px);height:102px;display:grid}.composer-drill .composer-beat-drop{background:0 0;border:0;border-right:1px solid #ffffff08;border-radius:0;min-width:0;max-width:none;height:102px;min-height:102px;padding:0;display:block;position:relative;overflow:visible}.composer-drill .composer-beat-drop:hover{background:#ffffff09}.composer-drill .composer-beat-drop[aria-pressed=true]{background:#e447431b;box-shadow:inset 0 0 0 1px #e44743}.composer-drill .composer-beat-drop.is-playing{background:#83dcc53b;box-shadow:inset 2px 0 #83dcc5}.composer-beat-drop .composer-staff-fret{white-space:nowrap;color:#f6f0db;background:#111719;min-width:14px;height:17px;padding:0 2px;font-size:12px;line-height:17px;position:absolute;left:50%;transform:translate(-50%)}.composer-beat-drop .composer-beat-count{color:#849296;width:100%;font-size:10px;position:absolute;top:105px;left:0}.composer-beat-drop .composer-staff-stroke{color:#b8e4d7;font-size:11px;position:absolute;top:-16px;right:3px}.composer-score-inspector{background:#1c282b;border-top:1px solid #3c5157;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.composer-score-inspector small{color:#b7c2c5;margin-top:2px;display:block}.composer-score-inspector button{font-size:11px}.composer-beat-navigation{border-top:0;margin:0 0 10px;padding:10px 0;font-size:12px}.composer-beat-navigation button{font-size:11px}.composer-neck-heading{justify-content:space-between;align-items:center;gap:8px;margin:12px 0 8px;display:flex}.composer-neck-heading h3{margin:0;font-size:14px}.composer-neck-heading label{color:#b5bec1;font-size:11px}.composer-entry-hint{color:#a7b0b3;margin:4px 0;font-size:11px}.composer-main-surface .fretboard-svg{background:#0c1011;border:1px solid #3d4546;border-radius:7px;margin:8px 0 12px;padding:8px 0;box-shadow:0 8px 15px #0005}.composer-neck-tools{background:#1c282b;border:1px solid #3c5157;border-radius:8px;margin:10px 0;padding:12px}.composer-neck-tools .prompt-box{background:0 0;border:0;margin:6px 0;padding:8px;font-size:12px}.composer-neck-tools .note-choices{margin:8px 0}.composer-neck-tools button{font-size:12px}.composer-basket-heading{border-top:1px solid #354044;margin-top:10px;padding-top:10px}.composer-book-tabs{margin:12px 0}.composer-basket-content .chord-basket-row{gap:6px}.composer-drill .composer-basket-content .composer-basket-tile{text-align:left;cursor:grab;background:linear-gradient(140deg,#2b353a,#192126);border:1px solid #48555b;border-radius:7px;min-height:65px;padding:9px 6px;display:block;position:relative}.composer-drill .composer-basket-content .composer-basket-tile[aria-pressed=true]{background:#e44743;border-color:#e44743}.composer-basket-tile strong{overflow-wrap:anywhere;margin-top:7px;font-size:14px;font-weight:600;display:block}.composer-basket-tile small{color:#b9c3c5;font-size:10px;display:block}.composer-basket-tile[aria-pressed=true] small{color:#fff2ee}.composer-tile-number{color:#a4adb0;font-size:9px;position:absolute;top:4px;right:6px}.composer-drill .composer-empty-slot{background:#141b1e;border-style:dashed;min-height:65px}.composer-empty-slot small{font-size:9px}.composer-empty-slot span{font-size:20px;font-weight:400}.composer-basket-content.is-collapsed .composer-basket-tile{min-height:40px}.composer-basket-content.is-collapsed .composer-basket-tile small{display:none}.composer-basket-content.is-collapsed .composer-basket-tile strong{margin:0}.composer-basket-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.composer-basket-actions button{min-height:28px;padding:4px 7px;font-size:11px}.composer-basket-actions small{color:#b7c1c3;flex-basis:100%;font-size:11px}.composer-basket-help{color:#aab9bd;border-top:1px solid #354044;margin:16px 0;padding-top:13px;font-size:11px}.composer-tile-options{margin-top:12px;font-size:12px}.composer-tile-options button{margin:6px 4px 0 0}.composer-tile-options select{width:100%;margin-top:6px}.composer-placement-notice{color:#a9d5cc;min-height:0;margin:4px 0;font-size:11px}.composer-placement-notice:empty{display:none}.composer-chord-guidance{background:#1c282b;border-left:3px solid #d9b66b;margin:12px 0;padding:12px;font-size:13px}.composer-drill>.collapsible-section,.composer-drill>[data-tutorial=composer-song-info],.composer-secondary-links{margin:0 16px}.composer-secondary-links{gap:8px;padding:10px 0;display:flex}.composer-drill .composer-book-chords .chord-library-tile{color:#242c2f;box-shadow:none;background:#e8dfc9;border-color:#a99f89;border-radius:5px;padding:9px}.composer-book-chords .chord-library-sublabel{color:#525b58}.composer-book-chords .chord-library-tile svg{background:#252d30;border-radius:5px}.composer-book-chords .composer-book-guidance{color:#242c2f}.composer-book-chords .chord-library-tile .composer-chord-guidance{color:#242c2f;background:#d9d1be}.composer-book-chords .composer-book-guidance summary{color:#242c2f}@media (width<=850px){.composer-drill .composer-studio{grid-template-columns:minmax(0,1fr) 250px}.composer-main-surface,.composer-ingredients{padding:11px}}@media (width<=620px){.composer-drill .composer-studio{flex-direction:column;display:flex}.composer-drill .composer-ingredients{order:-1;position:static}.composer-header-actions,.composer-sectionbar{flex-wrap:wrap}}.composer-basket-content>.chord-basket-row{background:0 0;border:0;padding:0}.composer-rendered-neck{background:#0c1011;border:1px solid #3d4546;border-radius:7px;padding:9px 0 5px;overflow:hidden}.composer-neck-image{aspect-ratio:1600/480;position:relative}.composer-neck-image img{width:100%;height:100%;display:block}.composer-main-surface .composer-neck-image .fretboard-svg{width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible}.composer-neck-numbers{color:#abb5b9;height:26px;font-size:12px;position:relative}.composer-neck-numbers span{position:absolute;transform:translate(-50%)}.composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;font-size:11px;display:flex}.composer-rhythm-legend{color:#d5dddc;border-bottom:1px solid #435052;padding:12px 0;font-size:12px}.composer-strum-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0;display:grid}.composer-rhythm-tile{background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 4px),linear-gradient(145deg,#394348,#1b2327 65%,#11191c);border:1px solid #697577;border-radius:10px;min-width:0;padding:16px;position:relative;box-shadow:inset 0 1px #ffffff30,0 6px 12px #0005}.composer-rhythm-tile:before{content:"";background:#e3be7c;height:3px;position:absolute;top:0;left:16px;right:16px}.composer-rhythm-heading{justify-content:space-between;align-items:center;gap:8px;margin:4px 0 14px;display:flex}.composer-rhythm-heading h3{margin:0;font-size:15px}.composer-rhythm-heading>span{color:#e3be7c;border:1px solid #7b705a;border-radius:4px;padding:4px 6px;font-size:12px}.composer-rhythm-window{background:linear-gradient(#0b1114,#172126);border:1px solid #485356;border-radius:7px;padding:14px 8px 10px;box-shadow:inset 0 3px 9px #000a}.composer-rhythm-hits{text-align:center;display:grid}.composer-rhythm-hits>div:nth-child(2n){border-right:1px solid #425050}.composer-rhythm-hits>div:last-child{border:0}.composer-rhythm-hits b{color:#f5d698;height:48px;font-size:29px;line-height:48px;display:block}.composer-rhythm-hits .muted b{color:#a9dfd0}.composer-rhythm-hits .rest b{color:#7f9297;font-size:21px}.composer-rhythm-hits small{color:#c5ced0;border-top:1px solid #354145;padding-top:7px;font-size:12px;display:block}.composer-rhythm-caption{color:#bdc9cc;letter-spacing:.8px;justify-content:space-between;gap:8px;margin-top:10px;font-size:9px;display:flex}.composer-rhythm-tile p{color:#d3ddde;min-height:28px;font-size:12px}.composer-rhythm-actions{gap:6px;display:flex}.composer-rhythm-actions button{flex:1;padding:6px 3px;font-size:11px}.composer-strum-chord-picker{margin-top:16px}@media (width<=850px){.composer-strum-book-grid{grid-template-columns:1fr}}.composer-drill .composer-lane-heading{padding:6px 12px}.composer-string-labels span{height:14px;line-height:14px}.composer-staff-beats{background:repeating-linear-gradient(#0000 0 6px,#596267 6px 7px,#0000 7px 14px);height:84px}.composer-drill .composer-beat-drop{height:84px;min-height:84px}.composer-beat-drop .composer-staff-fret{height:14px;line-height:14px}.composer-beat-drop .composer-beat-count{top:87px}.composer-book-techniques .technique-card-face{background:0 0;border:0;height:auto;padding:0;display:block}.composer-technique-heading{justify-content:space-between;align-items:center;gap:8px;margin:5px 0 10px;display:flex}.composer-technique-heading strong{color:#eff1ed;font-size:15px}.composer-technique-heading .technique-card-symbol{color:#9ddbcc;border:1px solid #768582;border-radius:4px;padding:3px 6px;font-size:12px}.composer-technique-art{background:linear-gradient(#0c1215,#162024);border:1px solid #435154;border-radius:6px;width:100%;height:105px;box-shadow:inset 0 2px 7px #0009}.composer-book-techniques .chord-library-tile{box-shadow:inset 0 3px #9ddbcc}.composer-book-techniques .chord-library-sublabel{color:#d0d9d9;min-height:42px;margin:10px 0;font-size:12px;line-height:1.5}.composer-song-title input::placeholder{color:#eff1ed;opacity:1}.composer-key-buttons{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:10px 0 14px;display:grid}.composer-key-buttons button{padding:6px 2px;font-size:12px}.composer-chord-book-controls>small{letter-spacing:1.3px;color:#c2cbcc;font-size:10px}.composer-chapter-tabs{flex-wrap:wrap;gap:5px;margin:12px 0;display:flex}.composer-chapter-tabs small{color:#bcc7c9;font-size:10px}.composer-chapter-tabs button[aria-pressed=true] small{color:#fff}.composer-book-filters{grid-template-columns:1fr 1fr 1fr;align-items:center;gap:8px;font-size:11px;display:grid}.composer-book-filters select{width:100%;margin-top:4px;font-size:12px;display:block}.composer-chord-book-controls p{color:#c2cbcc;margin:12px 0;font-size:11px}.composer-book-chords .chord-library-tile svg{width:132px;height:156px;margin:0 auto;display:block}.composer-book-chords .chord-library-sublabel{font-size:11px}.composer-book-chords .chord-library-sublabel small{margin-top:3px;font-size:10px;display:block}.composer-book-chords .chord-library-tile-actions button{padding:4px 6px;font-size:10px}.composer-book-chords .composer-book-guidance{font-size:11px}@media (width<=620px){.composer-book-filters{grid-template-columns:1fr 1fr}.composer-book-filters>small{grid-column:1/-1}}.composer-book-chords .chord-library-tile-actions{flex-direction:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;display:grid}.composer-book-chords .chord-library-tile-actions button{width:100%;margin:0}.composer-book-chords .chord-library-tile{justify-content:flex-start;gap:6px}.composer-book-chords .chord-library-sublabel{text-transform:none;letter-spacing:0;text-align:left;width:100%}.composer-song-chords .composer-chord-name{color:#101719;border-radius:4px;margin-right:10px;padding:5px 9px;font-size:1.05rem;display:inline-block}.composer-song-chords .composer-chord-note-list{color:#f0eee6;font-weight:400}.composer-song-chords button[aria-pressed=true]{background:#344248;box-shadow:inset 0 0 0 1px}.composer-fretboard-guides{align-items:end;gap:14px}.composer-fretboard-guides label{flex-direction:column;gap:5px;display:flex}.composer-removable-chord{align-items:stretch;gap:3px;display:inline-flex}.composer-remove-chord{padding:4px 9px;font-size:1.2rem}.composer-box-selection{border:1px solid #52666b;border-radius:6px;flex-basis:100%;min-width:0;padding:10px}.composer-box-selection .technique-row{margin-top:10px}.composer-box-selection .technique-row label{border:1px solid;border-radius:5px;flex-direction:row;align-items:center;padding:7px;font-size:12px}.composer-drill{overflow:clip}.composer-rendered-neck{z-index:5;position:sticky;top:8px;box-shadow:0 5px 16px #0006}.composer-neck-tools{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:40vh;overflow-y:auto}.composer-sound-fit-panel{margin:10px 0}.composer-sound-fit-panel .composer-chord-guidance{margin:0}@media (height<=600px){.composer-neck-tools{max-height:45vh}}.composer-library-book .chord-diagram{width:220px;max-width:100%;height:auto;margin-inline:auto;display:block}.composer-library-book .chord-library-sublabel small{margin-top:5px;font-size:13px;display:block}.composer-drill .composer-book-chords .chord-library-tile svg.chord-diagram{width:100%;max-width:260px;height:auto}.composer-drill .composer-diagram-pick{background:0 0;border:0;width:100%;padding:0;display:block}.composer-drill .composer-diagram-pick:disabled{opacity:1}.composer-diagram-pick:focus-visible{outline-offset:3px;outline:3px solid #e44743}.composer-collect-hint{margin:0 0 10px;font-size:12px}.composer-bend-dialog{color:#f4f2e9;background:#1c2a2e;border:1px solid #71868b;border-radius:12px;width:min(380px,100vw - 48px);padding:24px}.composer-bend-dialog::backdrop{background:#0009}.composer-bend-dialog h3{margin:0;font-size:22px}.composer-bend-choices{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.composer-bend-choices button{padding:16px 10px;font-size:16px}.library-studio{--library-gold:#f4cf88;--library-art:url(/player-art/franken-frame.png);background:#10171c;border:1px solid #53616a;border-radius:16px;overflow:hidden;padding:0!important}.library-studio[data-skin=sg]{--library-art:url(/player-art/sg-frame.png)}.library-studio .library-hero{background:linear-gradient(90deg,#091015f5,#0b1117bd 65%,#0b111745),var(--library-art) center/cover;border-bottom:5px solid #a33035;justify-content:space-between;align-items:center;gap:24px;padding:40px 32px;display:flex}.library-studio .library-eyebrow{letter-spacing:.18em;color:var(--library-gold);font-size:12px;font-weight:800}.library-studio .library-hero h2{letter-spacing:-.035em;color:#fff2db;margin:10px 0;font-size:clamp(32px,4vw,46px)}.library-studio .library-hero p{color:#d0dce3;margin:0;font-size:17px}.library-studio .library-filters{background:#1b252c;border:1px solid #465962;align-items:end;gap:18px;margin:24px;padding:22px}.library-studio .library-filters label{color:#d6e4eb;gap:8px;font-size:15px}.library-studio .library-filters label:first-child{flex:1;min-width:210px}.library-studio .library-filters input,.library-studio .library-filters select{box-sizing:border-box;width:100%;min-height:44px;font-size:16px}.library-studio .library-group{margin:28px 24px}.library-studio .library-group>.section-label{color:var(--library-gold);letter-spacing:.02em;font-size:22px}.library-studio .library-subgroup{border:0;margin:16px 0;padding:0}.library-studio .library-subgroup summary{text-transform:capitalize;color:#d9e9f0;padding:12px 4px;font-size:18px;font-weight:700}.library-studio .saved-songs-list{gap:16px;display:grid}.library-studio .library-song-card{background:linear-gradient(115deg,#26333c,#131c23);border:1px solid #55646d;border-left:5px solid #bc343a;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:20px;margin:0;padding:24px;display:grid;box-shadow:0 7px 18px #0004}.library-studio[data-skin=sg] .library-song-card{border-left-color:#9d3a45}.library-studio .library-song-card:hover,.library-studio .library-song-card:focus-within{border-color:#d2b77f}.library-studio .library-song-info{min-width:0}.library-studio .library-song-info h3{color:#fff4df;overflow-wrap:anywhere;margin:10px 0 14px;font-size:24px;line-height:1.35}.library-studio .library-song-meta{color:#b8cbd7;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.library-studio .library-song-meta>span{color:var(--library-gold);letter-spacing:.03em;font-weight:700}.library-studio .library-progress-line{color:#bfced7;gap:16px;font-size:14px;line-height:1.6}.library-studio .library-song-actions{border-top:1px solid #46555f;flex-wrap:wrap;gap:12px;padding-top:18px;display:flex}.library-studio .library-song-actions button,.library-studio .library-delete-confirm button{color:#e6f1f7;background:#23323b;border:1px solid #62737c;border-radius:6px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:700}.library-studio .library-song-actions .library-open{background:var(--library-gold);color:#1c2226;border-color:var(--library-gold)}.library-studio .library-song-actions .library-delete{margin-left:auto}.library-studio button.library-delete{color:#ffc2bc;background:#392327;border-color:#975552}.library-studio .library-delete-confirm{background:#311f23;border:1px solid #a26560;border-radius:6px;padding:16px}.library-studio .library-delete-confirm p{overflow-wrap:anywhere;margin:0 0 12px;font-size:16px}.library-studio .library-delete-confirm button{margin-right:12px}.library-studio>p,.library-studio>.prompt-box{margin:24px;font-size:17px}.library-studio button:focus-visible{outline-offset:3px;outline:3px solid #97dcff}@media (width<=700px){.library-studio .library-hero{flex-direction:column;align-items:flex-start;padding:28px 20px}.library-studio .library-filters,.library-studio .library-group{margin:18px 12px}.library-studio .library-filters{padding:16px}.library-studio .library-filters label{flex:160px}.library-studio .library-song-card{gap:12px;padding:18px}.library-studio .library-song-info h3{font-size:22px}.library-studio .library-song-actions button{flex:180px}.library-studio .library-song-actions .library-delete{flex:0 auto;margin-left:0}}.library-studio .library-hero{border:18px solid #0000;border-image:var(--library-art) 100 stretch;background:radial-gradient(at 100% 0,#35434c,#10191f 70%)}.library-studio .library-filters label{flex-direction:column;align-items:stretch;display:flex}.library-studio .library-filters input{color:#edf3f6;background:#10191f;border:1px solid #60727e;border-radius:6px;padding:10px 12px}.library-studio .player-skins{flex-wrap:wrap;gap:8px;display:flex}.library-studio .player-skins button{color:#e4edf3;background:#202c34;border:1px solid #61717b;min-height:44px;padding:12px;font-size:14px}.library-studio .player-skins button[aria-pressed=true]{color:#f4cf88;border-color:#f4cf88;box-shadow:inset 0 -2px #f4cf88}.shatter-game{--st-gold:#ffbc54;--st-cyan:#83ecfa;--st-ink:#071018;color:#f6eee0;width:100%;max-width:1500px;margin:auto}.shatter-game button{color:#eaf4f5;font:inherit;cursor:pointer;background:#101c25;border:1px solid #50616a;border-radius:7px;padding:11px 17px;transition:background .15s,border-color .15s}.shatter-game button:hover:not(:disabled){border-color:var(--st-gold);background:#25333c}.shatter-game button:focus-visible{outline:3px solid var(--st-cyan);outline-offset:3px}.shatter-game button:disabled{opacity:.45;cursor:default}.shatter-game button[aria-pressed=true]{border-color:var(--st-gold);color:#ffcf88;background:#392b19}.shatter-toolbar,.shatter-tabs,.shatter-controls,.shatter-input,.shatter-self{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.shatter-toolbar{margin:15px 0}.shatter-tabs{margin-right:auto}.shatter-stage{isolation:isolate;background:#08121a;border:1px solid #665039;border-radius:13px;min-height:740px;position:relative;overflow:hidden;box-shadow:0 20px 60px #0005}.shatter-backdrop{z-index:-2;background:url(/shatter-tower/studio.png) center calc(85% + var(--climb)) / cover no-repeat;transition:background-position 1.4s;position:absolute;inset:-12% 0 -3%}.shatter-stage:after{content:"";z-index:-1;background:linear-gradient(90deg,#040b13e8 0%,#040b1366 35%,#040b1310 65%),linear-gradient(#040b13b3,#040b1344 20%,#0000 70%,#040b13 100%);position:absolute;inset:0}.shatter-heading{justify-content:space-between;gap:15px;padding:32px 36px 0;display:flex}.shatter-eyebrow{letter-spacing:3px;color:var(--st-cyan);font:700 11px/1.5 system-ui}.shatter-heading h1{letter-spacing:1px;color:#f4e9d6;text-shadow:0 3px #0009;margin:8px 0;font:900 clamp(28px,4.7vw,64px)/1.04 Impact,Arial Narrow,sans-serif}.shatter-heading h1 em{color:var(--st-gold);font-style:normal}.shatter-heading p{color:#a6c1ce;letter-spacing:1px;margin:8px 0;font-size:15px}.shatter-score{text-align:center;letter-spacing:2px;background:#08131bd9;border:1px solid #44616e;border-radius:6px;align-self:flex-start;gap:2px;padding:12px 20px;font-size:10px;display:grid}.shatter-score strong{color:var(--st-gold);font-size:34px;line-height:1.2}.shatter-score small{color:#9fb4bd;font-size:18px}.shatter-score span:last-child{color:#b5c9d1;margin-top:7px}.shatter-route{gap:11px;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:190px;left:35px}.shatter-route li{opacity:.45;align-items:center;gap:13px;display:flex;position:relative}.shatter-route li:not(:last-child):after{content:"";background:#a6c1ce;width:1px;height:12px;position:absolute;top:35px;left:17px}.shatter-route li>span{background:#0a1823;border:1px solid #66808a;border-radius:50%;place-items:center;width:35px;height:35px;font-size:12px;display:grid}.shatter-route li div{font-size:13px;font-weight:700}.shatter-route small{letter-spacing:2px;margin-top:2px;font-size:9px;display:block}.shatter-route .current,.shatter-route .cleared{opacity:1}.shatter-route .current>span{border-color:var(--st-gold);color:var(--st-gold);box-shadow:0 0 18px #ffb94366}.shatter-route .cleared>span{color:var(--st-cyan);border-color:var(--st-cyan)}.shatter-target-area{text-align:center;width:52%;margin:7px 9% 25px auto;animation:.8s ease-out shatter-arrive;position:relative}.shatter-next{letter-spacing:2px;color:#cee2e7;text-transform:uppercase;margin:12px 0;font:600 10px system-ui}.shatter-capsule{filter:drop-shadow(0 0 20px #ffae2333);width:260px;height:310px;margin:auto;position:relative}.shatter-capsule>img{object-fit:contain;z-index:2;width:100%;height:100%;transition:filter .15s;position:relative}.shatter-charge{z-index:3;background:conic-gradient(from 180deg,#ffc355 var(--charge),transparent 0);border:2px solid #ffbd5830;border-radius:50%;transition:background .1s;position:absolute;inset:45px 14px 25px;transform:rotate(-20deg);-webkit-mask:radial-gradient(#0000 66%,#000 67%);mask:radial-gradient(#0000 66%,#000 67%)}.shatter-energy{filter:blur(40px);mix-blend-mode:screen;background:#ffa800;border-radius:50%;transition:opacity .1s;position:absolute;inset:85px 60px 70px}.on-target{filter:drop-shadow(0 0 28px #7af2c866)}.on-target .shatter-charge{background:conic-gradient(from 180deg,#8affd8 var(--charge),transparent 0)}.shatter-target-plaque{background:linear-gradient(#25313a,#0b121a);border:1px solid #95703b;border-radius:4px;max-width:330px;margin:-7px auto 0;padding:13px;position:relative;box-shadow:0 8px 18px #000a}.shatter-target-plaque span{text-transform:uppercase;color:var(--st-gold);letter-spacing:2px;font:800 25px/1.2 system-ui;display:block}.shatter-target-plaque strong{letter-spacing:3px;color:#d7e8f0;font:700 12px/2 system-ui}.shatter-status{letter-spacing:1.5px;min-height:24px;color:var(--st-cyan);text-shadow:0 2px 8px #000;margin-top:19px;font:800 15px system-ui}.shatter-pitch{letter-spacing:1px;color:#bdcdd4;align-items:center;gap:8px;max-width:280px;margin:15px auto;font-size:8px;display:flex}.shatter-pitch>div{background:#54606b;border-radius:3px;flex:1;height:5px;position:relative}.shatter-pitch b{background:var(--st-gold);width:4px;height:13px;position:absolute;top:-4px;left:85%}.shatter-pitch i{background:var(--st-cyan);width:11px;height:11px;box-shadow:0 0 10px var(--st-cyan);border-radius:50%;transition:left 70ms linear;position:absolute;top:-3px}.shatter-console{background:#07111bea;border:1px solid #3e5965;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin:20px 22px 22px;padding:18px 22px;display:flex;position:relative}.shatter-position{letter-spacing:1px;color:var(--st-cyan);font-size:18px;font-weight:800}.shatter-position b{color:#fff}.shatter-console p{color:#c3d1d6;max-width:460px;margin:7px 0 0;font-size:13px}.shatter-hear{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:6px;display:flex}.shatter-hear button{padding:10px;font-size:12px}.shatter-controls{padding:20px 0}.shatter-controls .shatter-start{background:var(--st-gold);color:#201406;border-color:#ffe0a5;min-width:140px;font-weight:800}.shatter-controls label{color:#c7d2da;align-items:center;gap:7px;font-size:12px;display:flex}.shatter-controls input{accent-color:var(--st-gold);width:16px;height:16px}.shatter-self{border:1px solid #405564;border-radius:8px;padding:16px}.shatter-self span{color:#c7d2da;flex:1;font-size:13px}.shatter-notes{align-items:center;gap:20px;padding:16px 0;display:flex}.shatter-notes p{color:#b0c0ca;flex:1;margin:0;font-size:13px;line-height:1.65}.shatter-notes strong{color:#f6eee0}.shatter-notes button{flex-shrink:0;font-size:12px}.shatter-technique{text-align:center;max-width:260px;margin:15px auto}.shatter-technique img{border-radius:8px;width:100%}.shatter-technique figcaption{color:#c5d2da;margin-top:12px;font-size:13px;line-height:1.5}.shatter-error{color:#ffe0d0;background:#4a241b;border:1px solid #9d6455;border-radius:6px;padding:15px}.shatter-fragments{z-index:5;pointer-events:none;position:absolute;inset:0}.shatter-fragments i{clip-path:polygon(0 0,100% 28%,30% 100%);width:17px;height:33px;animation:shatter-fly 1.3s var(--delay) ease-out both;background:linear-gradient(35deg,#c1faff99,#fff,#52dbff66);position:absolute;top:45%;left:50%}.is-shattering .shatter-capsule>img{animation:1.4s both shatter-vanish}.is-shattering .shatter-energy{animation:1.2s both shatter-flash}.is-shattering .shatter-charge{opacity:0}.is-shattering .shatter-status{color:#fff;font-size:24px}.is-complete .shatter-capsule{filter:drop-shadow(0 0 45px #80f0e7)}.shatter-finish{color:#dcf9f5;text-shadow:0 2px 5px #000;font-size:15px}.is-complete .shatter-status{color:var(--st-gold);font-size:22px}@keyframes shatter-fly{0%{opacity:1;transform:translate(0)rotate(0)}85%{opacity:.9}to{transform:translate(var(--x),var(--y)) rotate(var(--spin));opacity:0}}@keyframes shatter-vanish{0%{filter:brightness(3);opacity:1;transform:scale(1.03)}12%,to{opacity:0;transform:scale(1.15)}}@keyframes shatter-flash{0%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(2.4)}to{opacity:0;transform:scale(3)}}@keyframes shatter-arrive{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@media (width>=1200px){.shatter-stage{min-height:790px}.shatter-target-area{margin-top:25px}.shatter-capsule{width:290px;height:340px}.shatter-route{gap:15px}}@media (width<=760px){.shatter-heading{padding:22px 20px 0}.shatter-heading p{font-size:12px}.shatter-score{padding:8px 10px}.shatter-score strong{font-size:25px}.shatter-route{gap:13px;top:165px;left:18px}.shatter-route li div{display:none}.shatter-target-area{width:70%;margin:25px 5% 20px auto}.shatter-capsule{width:230px;max-width:100%;height:285px}.shatter-target-plaque span{font-size:20px}.shatter-console{flex-direction:column;align-items:stretch;margin:12px;padding:15px}.shatter-hear{justify-content:flex-start}.shatter-stage{min-height:0}.shatter-heading h1{font-size:clamp(23px,6vw,38px)}.shatter-eyebrow{letter-spacing:2px;font-size:8px}.shatter-next{font-size:8px}.shatter-notes{flex-direction:column;align-items:flex-start}.shatter-toolbar button{padding:9px 11px;font-size:12px}.shatter-controls{gap:9px}.shatter-controls label{width:100%}.shatter-status{font-size:12px}.shatter-score span{font-size:8px}}@media (prefers-reduced-motion:reduce){.shatter-game *,.shatter-game :before,.shatter-game :after{transition:none!important;animation:none!important}.is-shattering .shatter-capsule>img{opacity:.15}.shatter-fragments{display:none}}.shatter-backdrop{transform:translateY(var(--climb)) scale(1.1);background-position:50%;transition:transform 1.4s;inset:-180px -5%}.shatter-score{flex-shrink:0}.shatter-score strong,.shatter-score span{white-space:nowrap}@media (width<=760px){.shatter-score{padding:8px}.shatter-score strong{font-size:23px}.shatter-score small{font-size:14px}.shatter-capsule{height:245px}.shatter-route{gap:8px}.shatter-route li>span{width:30px;height:30px}.shatter-route li:not(:last-child):after{height:9px;top:30px;left:14px}}.tower-multilevel .shatter-target-area{z-index:3;width:42%;margin:150px 27% 28px auto}.tower-multilevel .shatter-capsule{width:230px;height:295px}.tower-multilevel .shatter-target-plaque{box-shadow:0 12px #080e15,0 14px #6a7680,0 22px 22px #000b}.tower-multilevel .shatter-next{display:none}.tower-landings{pointer-events:none;z-index:2;position:absolute;inset:0}.tower-landing{text-align:center;filter:drop-shadow(0 0 13px #6abfff33);position:absolute}.tower-landing-1{width:155px;top:220px;right:14%}.tower-landing-2{width:115px;top:135px;right:5%}.tower-landing img{width:100%;height:auto;margin-bottom:-16px;display:block}.tower-platform{background:linear-gradient(#37404a,#111a24);border:1px solid #6c7c86;border-bottom:7px solid #0a0f17;border-radius:4px;padding:11px 6px;position:relative;box-shadow:0 4px #47515d,0 12px 15px #000b}.tower-platform:after{content:"";z-index:-1;border-left:5px solid #323d48;border-right:5px solid #323d48;height:25px;position:absolute;top:100%;left:14%;right:14%;transform:skew(-18deg)}.tower-platform span{letter-spacing:1px;color:#cde7f7;text-transform:uppercase;font-size:10px;font-weight:800;line-height:1.4}.tower-landing-2 .tower-platform span{color:#d7b9ff;font-size:8px}.tower-cleared-platform{color:#90e9f3;text-align:center;background:#101e29aa;border-bottom:7px solid #465966;width:110px;padding:16px 0 8px;font-size:9px;position:absolute;bottom:160px;left:29%}.tower-cleared-platform i{clip-path:polygon(0 0,100% 25%,40% 100%);background:linear-gradient(45deg,#b5f8ff55,#c2faff);width:12px;height:22px;position:absolute;bottom:26px;left:28%;transform:rotate(-30deg)}.tower-cleared-platform i:nth-child(2){height:15px;left:50%;transform:rotate(40deg)}.tower-cleared-platform i:nth-child(3){height:25px;left:70%;transform:rotate(18deg)}.tower-multilevel .shatter-energy{filter:blur(48px);background:#ffb648;opacity:.22!important}.tower-multilevel .shatter-fragments i:nth-child(3n){clip-path:polygon(15% 0,100% 10%,75% 85%,0 100%);width:28px;height:42px}.tower-multilevel.is-shattering .shatter-capsule:after{content:"";border:4px solid #c6f8ff;border-radius:50%;animation:.7s ease-out both shatter-shockwave;position:absolute;inset:45px 15px}.bend-studio-scene.tower-multilevel .shatter-target-area{margin-top:150px;margin-bottom:55px;margin-right:27%}.bend-studio-scene.tower-multilevel{min-height:740px!important}.bend-studio-scene .tower-cleared-platform{bottom:60px;left:24%}@keyframes shatter-shockwave{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2.4)}}@media (width<=760px){.tower-multilevel .shatter-target-area{width:60%;margin:185px 22% 28px auto}.tower-multilevel .shatter-capsule{width:180px;height:235px}.tower-landing-1{width:100px;top:240px;right:7%}.tower-landing-2{width:75px;top:140px;right:2%}.tower-platform{padding:6px 3px}.tower-platform span{font-size:8px}.tower-landing-2 .tower-platform span{font-size:7px}.tower-multilevel .shatter-target-plaque span{font-size:17px}.tower-multilevel .shatter-target-plaque strong{letter-spacing:1px;font-size:9px}.tower-cleared-platform{width:72px;font-size:7px;bottom:205px;left:20%}.bend-studio-scene.tower-multilevel .shatter-target-area{margin-top:205px;margin-bottom:75px;margin-right:22%}.bend-studio-scene .tower-landing-1{top:315px}.bend-studio-scene .tower-landing-2{top:235px}.bend-studio-scene .tower-cleared-platform{bottom:36px;left:55%}}@media (prefers-reduced-motion:reduce){.tower-multilevel.is-shattering .shatter-capsule:after{animation:none;display:none}}.shatter-target-plaque .tower-target-position{color:#bceff5;letter-spacing:1px;text-transform:uppercase;margin:5px 0;font-size:16px;line-height:1.5;display:block}.tower-platform .tower-target-position{letter-spacing:0;color:#e1f4fa;margin:4px 0;font-size:10px;line-height:1.5;display:block}.tower-platform small{letter-spacing:1px;font-size:8px;display:block}.tower-landing-2 .tower-platform .tower-target-position{font-size:9px}@media (width<=760px){.shatter-target-plaque .tower-target-position{font-size:12px}.tower-platform .tower-target-position,.tower-landing-2 .tower-platform .tower-target-position{font-size:8px}}.tower-landing img,.tower-platform{transform-origin:0 0}.tower-landings.is-advancing{z-index:5}.tower-multilevel .shatter-target-area{animation:none}.tower-multilevel.is-shattering .shatter-target-plaque{animation:.35s .3s both tower-plaque-out}.tower-multilevel.is-complete .shatter-capsule>img{opacity:0}@keyframes tower-plaque-out{to{opacity:0;transform:translateY(18px)}}@media (prefers-reduced-motion:reduce){.tower-multilevel.is-shattering .shatter-target-plaque{animation:none}}.tower-multilevel .shatter-capsule{--pitch-glow:0;filter:drop-shadow(0 0 calc(6px + var(--pitch-glow)*32px) #ffe3a080);transition:filter .12s linear}.tower-multilevel .shatter-capsule>img{filter:brightness(calc(.8 + var(--pitch-glow)*1.15)) saturate(calc(1 + var(--pitch-glow)*.45));transition:filter .12s linear}.tower-multilevel .shatter-energy{transform:scale(calc(.8 + var(--pitch-glow)*.65));transition:opacity .12s linear,transform .12s linear;opacity:calc(.06 + var(--pitch-glow)*.85)!important}.tower-multilevel.is-shattering .shatter-energy{opacity:1!important}.bend-game-drill.bend-studio{color:#e7eef1;width:100%;max-width:1500px;padding:0}.bend-studio .section-label{letter-spacing:3px;color:#83ecfa;margin:20px 0;font-size:15px}.bend-studio .bend-mode-picker{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.bend-studio .choice-btn{color:#dce8ed;background:#111e28;border:1px solid #425663;border-radius:8px;padding:12px 9px}.bend-studio .choice-btn.selected{color:#ffcf88;background:#392b19;border-color:#ffbc54}.bend-studio-settings{background:#101923;border:1px solid #364e5e;border-radius:9px;margin:14px 0;padding:15px 20px}.bend-studio-settings summary{cursor:pointer;color:#dfc69e;font-weight:700}.bend-studio-settings .box-picker{justify-content:flex-start}.bend-studio .bend-game-stage{margin-top:18px;display:block}.bend-studio-scene{min-height:630px!important}.bend-studio-scene .shatter-heading h1{text-transform:uppercase;color:var(--st-gold);font-size:clamp(28px,4vw,55px)}.bend-studio-scene .shatter-target-area{margin-top:0;margin-bottom:35px}.bend-studio-phases{gap:22px;max-width:29%;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:210px;left:36px}.bend-studio-phases li{color:#97abb6;align-items:center;gap:12px;font-size:14px;display:flex}.bend-studio-phases li>span{border:1px solid #506779;border-radius:50%;flex-shrink:0;place-items:center;width:33px;height:33px;display:grid}.bend-studio-phases .active{color:var(--st-gold)}.bend-studio-phases .active>span{border-color:var(--st-gold);box-shadow:0 0 20px #ffc35544}.bend-studio-phases .done{color:#83ecfa}.studio-charge-track{background:#162c3a;border-radius:5px;max-width:270px;height:6px;margin:15px auto;overflow:hidden}.studio-charge-track>div{background:var(--st-gold);height:100%;transition:width 80ms linear}.studio-technique{color:#cfb892;z-index:6;background:#06111cdd;border-radius:6px;max-width:150px;padding:10px;font-size:12px;position:absolute;bottom:30px;left:36px}.studio-technique summary{cursor:pointer}.studio-technique img{border-radius:5px;width:130px;margin-top:10px;display:block}.bend-studio .bend-game-info{box-sizing:border-box;background:linear-gradient(135deg,#14222c,#0b121b);border:1px solid #415866;border-radius:10px;width:100%;min-width:0;max-width:none;margin-top:20px;padding:24px}.bend-studio .bend-target-line{color:#ffe0ad;font-size:20px}.bend-studio .bend-meta-line{color:#a3bac7;margin-bottom:16px}.bend-studio .bend-hear-row{margin-top:18px}.bend-studio .bend-hear-row button,.bend-studio>.box-picker button{color:#e5f4fa;background:#142735;border:1px solid #516575;border-radius:6px;padding:10px 16px}.bend-studio .bend-hold-bar{background:#061019;max-width:none;height:12px}.bend-studio .bend-hold-fill{background:#ffbc54}.bend-studio .tuner-meter{border:1px solid #3e5361;max-width:none}.bend-studio .bend-session-hud{background:#101e29;border:1px solid #334b59;border-radius:7px;padding:12px}.studio-vibrato .shatter-energy{animation:.6s ease-in-out infinite alternate studio-pulse}@keyframes studio-pulse{to{filter:blur(28px);transform:scale(1.2)}}@media (width<=760px){.bend-studio .bend-mode-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.bend-studio-scene{min-height:600px!important}.bend-studio-scene .shatter-heading{padding:22px 16px 0}.bend-studio-phases{flex-wrap:wrap;gap:12px;max-width:none;margin:18px 16px;display:flex;position:relative;top:auto;left:auto}.bend-studio-phases li{gap:6px;font-size:11px}.bend-studio-phases li>span{width:24px;height:24px}.bend-studio-scene .shatter-target-area{width:85%;margin:15px auto 65px}.studio-technique{bottom:15px;left:16px}.bend-studio .bend-game-info{padding:15px}.bend-studio .bend-target-line{font-size:17px}.bend-studio-scene .shatter-status{font-size:11px}}@media (prefers-reduced-motion:reduce){.bend-studio *{transition:none!important;animation:none!important}}.bend-studio .composer-rendered-neck{background:#0c1011;border:1px solid #657882;border-radius:7px;margin:20px 0;padding:9px 0 5px;position:relative;top:auto;overflow:hidden}.bend-studio .composer-neck-image{aspect-ratio:1600/480;position:relative}.bend-studio .composer-neck-image img{width:100%;height:100%;display:block}.bend-studio .composer-neck-image .fretboard-svg{width:100%;height:100%;box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible}.bend-studio .composer-neck-numbers{color:#c4d1d8;height:26px;font-size:12px;position:relative}.bend-studio .composer-neck-numbers span{position:absolute;transform:translate(-50%)}.bend-studio .composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;display:flex}.vibe-stage{color:#e9f8fa;background:linear-gradient(#07121ed9,#0000 50%,#040d17 85%),url(/monster-jam/arena.png) 50%/cover;border:1px solid #526b77;border-radius:15px;margin:15px 0 24px;padding:28px;position:relative;overflow:hidden}.vibe-stage header small{letter-spacing:3px;color:#70e9fc;font-size:11px;font-weight:800}.vibe-stage h1{color:#ffe3ae;letter-spacing:1px;margin:10px 0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(32px,6vw,60px)}.vibe-stage header p{color:#bbd5df;margin:0}.vibe-note{color:#ffdf9b;background:#08121de8;border:1px solid #927c51;margin-top:25px;padding:12px 18px;font-weight:800;display:inline-block}.vibe-note span{letter-spacing:2px;color:#97e7ef;margin-top:7px;font-size:11px;display:block}.vibe-floor{justify-content:center;align-items:end;height:270px;display:flex;position:relative}.vibe-floor img{object-fit:contain;z-index:1;transform-origin:50% 90%;filter:drop-shadow(0 10px 8px #000a);will-change:transform;max-width:80%;height:265px}.vibe-floor-glow{background:radial-gradient(#64edfa88,#0000 70%);width:270px;height:50px;position:absolute;bottom:-6px}.vibe-status{text-align:center;letter-spacing:2px;color:#8efbdf;margin:15px 0;font-size:15px;font-weight:900}.vibe-amp{background:linear-gradient(135deg,#151b21,#02080e);border:5px solid #26343e;border-radius:12px;padding:14px;box-shadow:inset 0 0 0 1px #64727a,0 9px 20px #0009}.vibe-amp-title{letter-spacing:2px;color:#a2bcc9;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:11px;display:flex}.vibe-amp-title b{color:#f4d397}.vibe-amp canvas{background:#07141c;border:1px solid #385360;border-radius:4px;width:100%;height:150px;display:block}.vibe-legend{color:#adc4cb;justify-content:space-between;gap:10px;margin-top:8px;font-size:9px;display:flex}.vibe-stage>button{color:#aaf4ff;cursor:pointer;background:#132c38;border:1px solid #5790a0;border-radius:6px;margin:18px auto 0;padding:10px 18px;display:block}.vibrato-drill .composer-rendered-neck{background:#0c1011;border:1px solid #526775;border-radius:8px;margin:20px 0;padding:9px 0;position:relative;top:auto;overflow:hidden}.vibrato-drill .composer-neck-numbers{color:#c4d1d8;height:26px;font-size:11px;position:relative}.vibrato-drill .composer-neck-numbers span{position:absolute;transform:translate(-50%)}.vibrato-drill .composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;padding:8px 10px;font-size:12px;display:flex}@media (width<=550px){.vibe-stage{padding:16px}.vibe-legend{font-size:8px}.vibe-amp-title{letter-spacing:0}}@media (prefers-reduced-motion:reduce){.vibe-floor img{transform:none!important}}.vibe-floor img{clip-path:none;object-fit:contain;height:310px;transform:none}.vibe-floor{height:310px}.vibrato-drill{--vibe-gold:#f3cd8e;--vibe-cyan:#83e3ed;color:#dce9ef}.vibrato-drill>.section-label{color:var(--vibe-cyan);letter-spacing:2.5px;margin:26px 0 12px;font-size:12px;font-weight:800}.vibrato-drill>.prompt-box{color:#bdcfd9;background:linear-gradient(120deg,#142635,#101a25);border:1px solid #344e60;border-left:3px solid #71cfdc;border-radius:8px;padding:17px 20px;font-size:14px;line-height:1.7;box-shadow:inset 0 1px #ffffff08}.vibrato-drill>.box-picker{background:linear-gradient(145deg,#25313c,#111a24 58%,#19222b);border:1px solid #3e505d;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin:14px 0;padding:18px 20px;display:flex;box-shadow:inset 0 1px #ffffff12,0 5px 15px #0003}.vibrato-drill>.box-picker label{color:#c0d2dd;letter-spacing:.3px;align-items:center;gap:10px;font-size:13px;display:flex}.vibrato-drill>.box-picker button,.vibrato-drill .drill-library-link button{color:#d6f6fa;background:linear-gradient(#203c49,#122631);border:1px solid #527481;border-radius:6px;padding:11px 17px;font-weight:700;transition:background .15s,border-color .15s;box-shadow:inset 0 1px #ffffff10,0 3px #07121b}.vibrato-drill>.box-picker button:hover{background:linear-gradient(#315263,#203a49);border-color:#98e4eb}.vibrato-drill>.box-picker button.selected,.vibrato-drill>.box-picker button.active{color:#ffe3b3;background:linear-gradient(#694b2b,#3d3023);border-color:#e7bd76}.vibrato-drill>.box-picker button:disabled{opacity:.5;cursor:not-allowed}.vibrato-drill :is(button,input,select):focus-visible{outline-offset:3px;outline:2px solid #9af5fa}.vibrato-drill>.box-picker :is(input,select){color:#e2f0f5;background:#081721;border:1px solid #52697b;border-radius:5px;max-width:100%;min-height:38px;padding:9px}.vibrato-drill .current-bpm-box{color:#9cb8c8;background:#091823;border:1px solid #456071;border-radius:5px;margin-left:auto;padding:9px 13px;font-size:12px}.vibrato-drill .current-bpm-box strong{color:#8ff4e8;font-variant-numeric:tabular-nums;font-size:17px}.vibrato-drill>.bend-session-hud{flex-wrap:wrap;gap:12px;margin:22px 0;display:flex}.vibrato-drill .bend-hud-item{color:#cde5ee;text-align:center;background:linear-gradient(#142b38,#0b1723);border:1px solid #455b6c;border-radius:7px;flex:1;min-width:120px;padding:15px 18px;font-size:14px;box-shadow:inset 0 2px #78bac322}.vibrato-drill .bend-hud-best{color:#ffe0a4;border-color:#756046}.vibrato-drill>.bend-target-line{color:#f5d393;text-transform:uppercase;letter-spacing:2px;background:#101f2b;border:1px solid #66583e;border-radius:7px;padding:14px 18px;font-size:14px}.vibrato-drill>.composer-rendered-neck{background:linear-gradient(125deg,#1c2932,#09131c);border-color:#64747a;padding-top:13px;box-shadow:inset 0 1px #ffffff17,0 12px 25px #0004}.vibrato-drill .composer-neck-caption{color:#abc2cf;border-top:1px solid #324451;margin-top:5px;padding:12px 14px}.vibrato-drill .strum-genre-tag{color:#a6bfce;line-height:1.5}@media (width<=550px){.vibrato-drill>.box-picker{gap:12px;padding:14px}.vibrato-drill>.box-picker label{flex-wrap:wrap}.vibrato-drill .current-bpm-box{margin-left:0}.vibrato-drill .bend-hud-item{min-width:90px;padding:12px 8px;font-size:12px}}.chord-collection-tabs{border-bottom:1px solid #526873;gap:12px;padding:24px 28px;display:flex}.chord-collection-tabs button{color:#e5eff5;background:#26343d;border:1px solid #607582;border-radius:6px;padding:14px 22px;font-size:17px}.chord-collection-tabs button[aria-pressed=true]{color:#161e24;background:#f4cf88;border-color:#f4cf88}.chord-collection .drill{background:0 0;border:0;margin:0;padding:24px}.chord-collection .prompt-box{color:#cbdce5;background:#1a272f;font-size:16px;line-height:1.7}.chord-collection .section-label{color:#f4cf88;font-size:22px}.chord-collection .box-picker{background:#202d36;border:1px solid #526873;padding:20px}.chord-collection .box-picker label{font-size:15px}.chord-collection input:not([type=checkbox]):not([type=range]){color:#edf4f8;background:#10191f;border:1px solid #69818e;border-radius:6px;padding:10px;font-size:17px}.chord-collection .chord-library-jumpnav{background:#17252d;border:1px solid #526873;border-radius:6px;gap:12px;padding:12px}.chord-collection .chord-library-jumpnav button{color:#f4cf88;padding:10px;font-size:16px}.chord-collection .chord-library-grid{margin:20px 0 30px}@media (width<=650px){.chord-collection-tabs{padding:18px 14px}.chord-collection-tabs button{padding:12px;font-size:15px}.chord-collection .drill{padding:14px}}.chord-maker-drill .composer-rendered-neck{background:#0c1011;border:1px solid #657882;border-radius:7px;margin:20px 0;padding:9px 0 5px;position:relative;top:auto;overflow:hidden}.chord-maker-drill .composer-neck-image{aspect-ratio:1600/480;position:relative}.chord-maker-drill .composer-neck-image img{width:100%;height:100%;display:block}.chord-maker-drill .composer-neck-image .fretboard-svg{width:100%;height:100%;box-shadow:none;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible}.chord-maker-drill .composer-neck-numbers{color:#c4d1d8;height:26px;font-size:12px;position:relative}.chord-maker-drill .composer-neck-numbers span{position:absolute;transform:translate(-50%)}.chord-maker-drill .composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;display:flex}.chord-maker-drill .tuner-readout h2{font-size:26px;line-height:1.3}.maker-note-toggle{align-items:center;gap:10px;font-size:16px;display:flex}.maker-diagram-editor{background:#1b2932;border:1px solid #617580;border-radius:8px;grid-template-columns:minmax(200px,1fr) 260px;gap:24px;padding:24px;display:grid}.maker-diagram-editor h3{margin-top:0;font-size:24px}.maker-diagram-editor label{align-items:center;gap:12px;margin:12px 0;display:flex}.maker-diagram-editor p{color:#c3d5df;font-size:15px;line-height:1.6}.maker-finger-list{flex-wrap:wrap;grid-column:1/-1;gap:16px;display:flex}.maker-finger-list label{flex-direction:column;align-items:flex-start;font-size:14px}.maker-diagram-editor svg [role=button]{cursor:pointer}.maker-diagram-editor svg [role=button]:focus{stroke:#9bdeff;stroke-width:2px;outline:none}.maker-diagram-editor .chord-diagram{width:260px;max-width:100%}@media (width<=650px){.maker-diagram-editor{grid-template-columns:1fr;padding:16px}.maker-diagram-editor .chord-diagram{justify-self:center}}.monster-jam{isolation:isolate;color:#f7edd5;background:#08111b url(/monster-jam/arena.png) 50%/cover;border:1px solid #77654b;border-radius:16px;min-height:680px;margin:20px 0;font-family:inherit;position:relative;overflow:hidden;box-shadow:0 20px 65px #0007}.monster-jam:before{content:"";z-index:-1;background:linear-gradient(#04101be8,#0000 48%,#030b13 100%);position:absolute;inset:0}.mj-header{justify-content:space-between;align-items:start;gap:12px;padding:30px;display:flex}.mj-header small{color:#69e8ff;letter-spacing:3px;font-size:10px;font-weight:800}.mj-header h1{letter-spacing:1px;color:#ffedc7;text-shadow:3px 4px #332414;margin:8px 0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(32px,6vw,64px)}.mj-header p{color:#adc8d4;margin:0}.mj-score{text-align:center;background:#07121ccc;border:1px solid #56707a;border-radius:6px;padding:12px;display:grid}.mj-score strong{color:#ffbe58;font-size:35px}.mj-score span{letter-spacing:1px;white-space:nowrap;font-size:9px}.mj-plaque{text-transform:uppercase;z-index:3;background:linear-gradient(125deg,#0a1828f5,#101a20e8);border:1px solid #ad9163;width:fit-content;max-width:calc(100% - 60px);margin:0 30px;padding:12px 22px;position:relative;box-shadow:0 4px #030608}.mj-plaque b{color:#ffcd75;letter-spacing:2px;font-size:24px;display:block}.mj-plaque div{margin:8px 0;font-weight:800;line-height:1.7}.mj-plaque small{letter-spacing:3px;color:#9bbbc8;font-size:9px}.mj-next{color:#77f0ff}.mj-scene{height:285px;position:relative}.mj-monster{transform-origin:bottom;filter:drop-shadow(0 14px 8px #000a);width:220px;height:250px;animation:2.6s ease-in-out infinite mj-breathe;position:absolute;bottom:0;right:18%}.mj-monster img{object-fit:contain;width:100%;height:100%}.mj-extra{filter:hue-rotate(80deg)brightness(.75);opacity:.85;width:85px;position:absolute;bottom:100px}.mj-extra-one{left:10%}.mj-extra-two{filter:hue-rotate(210deg)brightness(.7);width:65px;bottom:160px;right:3%}.mj-charged .mj-monster{filter:drop-shadow(0 0 20px #63d8ea)}.mj-feedback{z-index:3;text-align:center;letter-spacing:3px;color:#86eaff;min-height:25px;margin-top:8px;font-size:18px;font-weight:900;position:relative}.mj-footer{background:#06111de8;border:1px solid #35505a;border-radius:6px;align-items:center;gap:16px;margin:15px 24px 0;padding:12px 16px;display:flex}.mj-footer p{flex:1;margin:0;font-size:14px}.mj-footer button{white-space:nowrap}.mj-demo{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:15px;display:flex}.mj-demo span{color:#8fabb6;margin-right:8px;font-size:11px}.monster-jam button{color:#d8f7ff;cursor:pointer;background:#112331;border:1px solid #416574;border-radius:5px;padding:8px 12px}.monster-jam button:hover{border-color:#7be8ff}.monster-jam button:disabled{opacity:.5}.mj-shot,.mj-hammer,.mj-shock,.mj-particles{pointer-events:none;opacity:0;position:absolute}.mj-shot{color:#fff;transform-origin:0;background:#e1ffff;width:60%;height:5px;font-size:55px;bottom:120px;left:0;box-shadow:0 0 9px #7bffff,0 0 25px #00bfff}.mj-hammer{z-index:2;background:linear-gradient(90deg,#55351a,#d9a653 35%,#8f6029 65%,#3f2818);border:4px solid #c19550;border-radius:25px;width:150px;height:120px;bottom:75px;right:21%;box-shadow:inset 0 -15px #513518,0 6px 20px #0009}.mj-hammer i{background:linear-gradient(90deg,#352115,#b78745,#51321a);width:28px;height:180px;position:absolute;bottom:100%;left:55px}.mj-hammer b{text-align:center;color:#ffe39d;font-size:80px;display:block}.mj-shock{border:4px solid #ffdb9b;border-radius:50%;width:220px;height:50px;bottom:15px;right:17%;box-shadow:0 0 25px #ff9a37}.mj-particles{bottom:120px;right:calc(18% + 110px)}.mj-particles i{width:8px;height:8px;transform:rotate(var(--angle));background:#ffd28a;border-radius:2px;position:absolute;box-shadow:0 0 12px #ff9f48}.mj-particles i:nth-child(2n){background:#72eeff;box-shadow:0 0 13px #0ff}.mj-hit .mj-particles{opacity:1}.mj-hit .mj-particles i{animation:mj-burst 1s var(--delay) ease-out both}.mj-hit .mj-shock{animation:.8s ease-out .22s both mj-ring}.mj-hit.attack-slide .mj-shot,.mj-hit.attack-bend .mj-shot,.mj-hit.attack-release .mj-shot{animation:.55s both mj-fire}.mj-hit.attack-slide .mj-monster,.mj-hit.attack-bend .mj-monster,.mj-hit.attack-release .mj-monster{animation:1s .18s both mj-fly}.mj-hit.attack-hammer .mj-monster{animation:1.3s both mj-squash}.mj-hit.attack-pulloff .mj-monster{animation:.8s both mj-explode}.mj-hit .mj-feedback{color:#ffd078;text-shadow:0 0 20px #ff8c44}@keyframes mj-breathe{50%{transform:translateY(-7px)rotate(2deg)}}@keyframes mj-fire{0%{opacity:1;transform:scaleX(0)}45%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes mj-fly{to{opacity:0;transform:translate(110px,-90px)rotate(65deg)scale(.3)}}@keyframes mj-smash{0%{opacity:1;transform:translateY(-340px)}25%,65%{opacity:1;transform:translateY(50px)}to{opacity:0;transform:translateY(-180px)}}@keyframes mj-squash{0%,20%{transform:scale(1)}35%,to{transform:scale(1.5,.13)}}@keyframes mj-explode{25%{filter:brightness(2);transform:scale(1.18)}to{opacity:0;transform:scale(.1)}}@keyframes mj-burst{0%,18%{opacity:0;transform:rotate(var(--angle)) translateX(0)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateX(var(--travel)) rotate(160deg)}}@keyframes mj-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(2)}}@media (width<=600px){.mj-header{padding:20px}.mj-header small{letter-spacing:1px;font-size:8px}.mj-score{padding:8px}.mj-plaque{max-width:calc(100% - 40px);margin:0 20px;padding:10px}.mj-plaque div{font-size:12px}.mj-monster{width:180px;height:220px;right:10%}.mj-hammer{right:13%}.mj-scene{height:270px}.mj-footer{flex-wrap:wrap;margin:12px}.mj-feedback{font-size:13px}.mj-particles{right:calc(10% + 90px)}}@media (prefers-reduced-motion:reduce){.monster-jam *{animation-duration:.01ms!important;animation-iteration-count:1!important}.mj-hit .mj-monster{opacity:.3}}.mj-hammer{width:240px;height:370px;box-shadow:none;filter:drop-shadow(0 8px 8px #000a);transform-origin:50% 10%;background:0 0;border:0;border-radius:0;bottom:24px;right:17%}.mj-hammer img{object-fit:contain;width:100%;height:100%}.mj-shot{z-index:2;background:linear-gradient(90deg,#0000,#18bafc 20%,#d7ffff 85%,#fff);border-radius:50%;height:9px;bottom:120px;box-shadow:0 0 5px #fff,0 0 16px #41eaff,0 0 40px #00b7ff}.mj-shot:before,.mj-shot:after{content:"";filter:drop-shadow(0 0 6px #0ff);border-top:2px solid #99fbff;border-bottom:1px solid #00cfff;border-radius:50%;position:absolute;inset:-12px 0;transform:rotate(-2deg)}.mj-shot:after{opacity:.6;inset:-22px 15%;transform:rotate(3deg)}.mj-shot i{background:radial-gradient(circle,#fff 10%,#d0ffff 25%,#40e9ff88 45%,#0000 70%);border-radius:50%;width:50px;height:50px;position:absolute;top:-22px;right:-15px;box-shadow:0 0 35px #14dcff}.mj-shot b{border:2px solid #d3ffff;border-radius:50%;width:65px;height:65px;position:absolute;top:-32px;right:5%;transform:scaleX(.25);box-shadow:0 0 20px #0ff}.mj-fireball,.mj-flash,.mj-smoke{pointer-events:none;opacity:0;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-10px;right:calc(18% - 15px)}.mj-fireball{z-index:3;filter:contrast(1.5);background:radial-gradient(at 40% 40%,#fffde2 0 5%,#ffe995 12%,#ffb52b 24%,#fc612be0 38%,#a7290750 54%,#0000 70%);box-shadow:inset 0 0 40px #ffb52b00}.mj-fireball:before,.mj-fireball:after{content:"";filter:blur(3px);border:9px dotted #ffdc62;border-radius:43% 57% 34% 66%;position:absolute;inset:15%;transform:rotate(35deg)}.mj-fireball:after{border-width:14px;border-color:#ff6819;inset:4%;transform:rotate(-25deg)}.mj-flash{z-index:4;mix-blend-mode:screen;background:radial-gradient(circle,#fff 2%,#ffefaf 6%,#ffbd3a66 20%,#0000 60%)}.attack-slide .mj-flash{background:radial-gradient(circle,#fff 3%,#9ffbff 10%,#00cfff77 25%,#0000 65%)}.mj-smoke{filter:blur(9px);z-index:2;background:radial-gradient(at 25% 40%,#677383a0,#0000 45%),radial-gradient(at 70% 55%,#817566a0,#0000 50%),radial-gradient(at 50% 40%,#454856a0,#0000 60%)}.mj-hit .mj-flash{animation:.6s .23s both mj-impact-flash}.mj-hit .mj-smoke{animation:1.3s .3s both mj-smoke-drift}.mj-hit.attack-pulloff .mj-fireball{animation:1.1s .12s both mj-fire-bloom}.mj-hit .mj-particles i{border-radius:50%;width:4px;height:15px;animation-duration:1.3s}.mj-hit .mj-particles i:nth-child(3n){background:linear-gradient(45deg,#573719,#ffd797);border-radius:1px;width:11px;height:8px;box-shadow:0 0 5px #ffb542}.mj-hit.attack-hammer .mj-hammer{animation:1.45s both mj-heavy-smash}.mj-hit.attack-hammer .mj-scene{animation:.35s .28s mj-camera-kick}.mj-hit.attack-pulloff .mj-scene{animation:.35s .22s mj-camera-kick}.mj-hit .mj-shock{border-width:3px;animation-duration:1.1s;box-shadow:0 0 10px #fff0c1,0 0 25px #ffac3b,inset 0 0 12px #ffb14e}.mj-hit.attack-slide .mj-shock{border-color:#b2fcff;box-shadow:0 0 25px #00e1ff}@keyframes mj-heavy-smash{0%{opacity:0;transform:translateY(-300px)rotate(-25deg)}12%{opacity:1;transform:translateY(-200px)rotate(-15deg)}24%{opacity:1;transform:translateY(35px)rotate(4deg)}31%{transform:translateY(12px)rotate(-2deg)}40%,70%{opacity:1;transform:translateY(35px)}to{opacity:0;transform:translateY(-120px)rotate(8deg)}}@keyframes mj-fire-bloom{0%{opacity:0;transform:scale(.15)rotate(-20deg)}18%{opacity:1;transform:scale(.9)}40%{opacity:1;transform:scale(1.2)rotate(18deg)}to{opacity:0;transform:scale(1.6)rotate(35deg)}}@keyframes mj-impact-flash{0%{opacity:0;transform:scale(.2)}12%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(1.8)}}@keyframes mj-smoke-drift{0%{opacity:0;transform:scale(.5)}25%{opacity:.8}to{opacity:0;transform:translateY(-100px)scale(1.7)}}@keyframes mj-camera-kick{0%,to{transform:translate(0)}20%{transform:translate(-5px,5px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}@media (width<=600px){.mj-hammer{width:210px;height:330px;right:6%}.mj-fireball,.mj-flash,.mj-smoke{width:220px;height:220px;right:4%}}@media (prefers-reduced-motion:reduce){.monster-jam *{animation-duration:.01ms!important;animation-iteration-count:1!important}.mj-hit .mj-scene{animation:none!important}}.mj-beats{background:#0b1923;border:1px solid #35505a;border-radius:8px;justify-content:center;align-items:center;gap:16px;padding:14px;display:flex}.mj-beats strong{color:#77eaff;letter-spacing:2px;font-size:12px}.mj-beats span{color:#a6bdc5;border:1px solid #637380;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.mj-beats span.target{border:2px solid #e6ac4a}.mj-beats span.lit{color:#04131f;background:#6eeaff;box-shadow:0 0 22px #59e6ff}.mj-beats span.lit.target{background:#ffcb6b;box-shadow:0 0 25px #ffc254}.mj-custom{background:#0a1720;border:1px solid #38515c;border-radius:8px;margin:16px 0;padding:14px}.mj-custom summary{cursor:pointer;color:#81e5f1;font-weight:700}.mj-custom fieldset{border:1px solid #344752;flex-wrap:wrap;gap:16px;margin-top:14px;padding:14px;display:flex}.mj-custom label{align-items:center;gap:7px;display:flex}.mj-custom input[type=number]{width:65px}.mj-custom legend{color:#ffcb78;font-size:13px}:is(.legato-drill,.monster-jam-session) .composer-rendered-neck{z-index:auto;background:#0c1011;border:1px solid #526775;border-radius:8px;max-width:100%;margin:20px 0;padding:9px 0 5px;position:relative;top:auto;overflow:hidden}:is(.legato-drill,.monster-jam-session) .composer-neck-image{aspect-ratio:1600/480;width:100%;position:relative}:is(.legato-drill,.monster-jam-session) .composer-neck-image img{width:100%;height:100%;display:block}:is(.legato-drill,.monster-jam-session) .composer-neck-image .fretboard-svg{width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:absolute;inset:0;overflow:visible}:is(.legato-drill,.monster-jam-session) .composer-neck-numbers{color:#c4d1d8;height:26px;font-size:11px;position:relative}:is(.legato-drill,.monster-jam-session) .composer-neck-numbers span{position:absolute;transform:translate(-50%)}:is(.legato-drill,.monster-jam-session) .composer-neck-caption{color:#b7c1c3;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;display:flex}.rhythm-arcade{color:#e1f4f7;background:linear-gradient(#061421bb,#061421ee),url(/monster-jam/arena.png) 50%/cover;border:1px solid #576775;border-radius:16px;margin:18px 0;padding:28px}.rhythm-arcade header small{letter-spacing:3px;color:#77e7f0;font-weight:800}.rhythm-arcade h1{color:#ffdf9d;margin:10px 0;font-family:Impact,Arial Black,sans-serif;font-size:clamp(36px,7vw,64px)}.rhythm-arcade header p{color:#b1cedb}.ra-track{gap:8px;padding:22px 0;display:flex;overflow:auto}.ra-note{text-align:center;background:linear-gradient(#243b4d,#0c1a29);border:1px solid #385b70;border-radius:9px;flex:1;min-width:36px;padding:12px 4px;box-shadow:0 6px #030a12}.ra-note b{color:#82dfe9;font-size:32px;display:block}.ra-note small{color:#abc0cd;font-size:10px}.ra-note.current{background:#51402b;border-color:#ffd080;box-shadow:0 0 22px #ffb34766}.ra-note.hit b{color:#79ffc0}.ra-note.miss b{color:#ff887e}.ra-pad{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:radial-gradient(#25495a99,#071522 75%);border:2px solid #588ba0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:210px;display:flex;box-shadow:inset 0 0 40px #53daf511}.ra-pad span{color:#ffd696;font-size:48px;font-weight:900}.ra-pad strong{letter-spacing:3px;color:#97eaf4;margin:10px;font-size:12px}.ra-pad p{text-align:center;color:#afc6d1;font-size:12px;line-height:1.8}.ra-buttons{justify-content:center;gap:12px;margin:18px;display:flex}.ra-buttons button{color:#c9f6fa;background:#1b3544;border:1px solid #6a9aa8;border-radius:6px;min-width:80px;padding:12px}.ra-note-help{text-align:center;color:#a6bdca;font-size:11px;display:block}.rhythm-trainer-drill .box-picker,.rhythm-trainer-drill .prompt-box{color:#bed0db;background:linear-gradient(130deg,#1c2d3b,#0c1925);border:1px solid #3e586a;border-radius:9px;padding:16px}.rhythm-trainer-drill .choice-btn{color:#c8e5ef;background:#122532;border:1px solid #456478;border-radius:6px}.rhythm-trainer-drill .choice-btn.selected{color:#ffe3ad;background:#4d3a25;border-color:#e3ba73}.rhythm-trainer-drill .section-label{color:#85e2ec;letter-spacing:2px}.rhythm-trainer-drill .strum-row{background:#091723;border:1px solid #375165;border-radius:9px;padding:14px}@media (width<=550px){.rhythm-arcade{padding:16px}.ra-track{gap:4px}.ra-note{min-width:24px}.ra-note b{font-size:24px}.ra-buttons{margin:14px 0}}.lyric-align{color:#d5e8ef;background:#102331;border:1px solid #577887;border-radius:12px;margin:18px 0;padding:20px}.lyric-align input{max-width:90px}.lyric-words{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.lyric-words button{color:#e8f3f7;background:#0b1721;border:1px solid #39596b;flex-direction:column;align-items:start;padding:8px;display:flex}.lyric-words b{color:#ffd184;min-height:24px}.rhythm-trainer-drill.focus-mode .strum-flash-arrow{font-size:clamp(110px,22vh,240px)}.rhythm-trainer-drill.focus-mode .ra-note b{font-size:clamp(38px,6vw,72px)}.rhythm-workspace{color:#d5e6ec;--studio-brass:#d9b37b;--studio-cyan:#80e4ed}.rhythm-workspace-tabs{gap:10px;margin:12px 0 18px;display:flex}.rhythm-workspace-tabs button{color:#b9d8e5;background:#102532;border:1px solid #4c6877;border-radius:6px;padding:12px 24px;font-weight:750}.rhythm-workspace-tabs button[aria-pressed=true]{color:#ffe4b1;background:linear-gradient(#57432d,#30281f);border-color:#deb577;box-shadow:inset 0 1px #ffdfae22}.rhythm-studio-header{background:linear-gradient(90deg,#061421f5,#07121b66),url(/monster-jam/arena.png) 50% 48%/cover;border:1px solid #766348;border-radius:14px;min-height:215px;margin-bottom:24px;padding:34px;position:relative;box-shadow:0 12px 30px #0005}.rhythm-studio-header small{letter-spacing:3px;color:#7ae4ee;font-size:11px;font-weight:800}.rhythm-studio-header h1{color:#ffe0a8;letter-spacing:1px;margin:18px 0 10px;font-family:Impact,Arial Black,sans-serif;font-size:clamp(32px,5vw,54px)}.rhythm-studio-header p{color:#b1d0df;font-size:15px}.rhythm-studio-header>span{letter-spacing:2px;color:#9cebf1;background:#081621bb;border:1px solid #697679;border-radius:4px;padding:7px 12px;font-size:10px;display:inline-block}.rhythm-workspace .strum-drill .section-label{letter-spacing:2px;color:#80e4ed;margin:22px 0 12px;font-size:12px}.rhythm-workspace .strum-drill :is(.box-picker,.prompt-box){color:#bbcfda;background:linear-gradient(130deg,#223341,#0c1925);border:1px solid #415867;border-radius:9px;padding:16px;box-shadow:inset 0 1px #ffffff0a}.rhythm-workspace .strum-drill button{color:#d6edf3;cursor:pointer;background:linear-gradient(#233c4d,#102531);border:1px solid #527589;border-radius:6px;padding:10px 14px;box-shadow:0 3px #061019}.rhythm-workspace .strum-drill button.selected,.rhythm-workspace .strum-drill button.active,.rhythm-workspace .strum-drill button[aria-pressed=true]{color:#ffe1a8;background:linear-gradient(#654b2a,#342a20);border-color:#dfb372}.rhythm-workspace .strum-drill button:hover{border-color:#85d9e5}.rhythm-workspace .strum-drill button:disabled{opacity:.45;cursor:not-allowed}.rhythm-workspace .strum-drill :is(input,select,textarea){color:#dceaf0;background:#081620;border:1px solid #486577;border-radius:5px;padding:9px}.rhythm-workspace .strum-drill textarea{box-sizing:border-box;width:100%;line-height:1.8}.rhythm-workspace .strum-drill details{background:#0e1f2c;border:1px solid #425565;border-radius:9px;margin:16px 0;padding:16px}.rhythm-workspace .strum-drill summary{color:#f0d29e;cursor:pointer;font-weight:700}.rhythm-workspace .strum-drill .strum-genre-tag{color:#94b4c7;font-size:11px}.rhythm-workspace .strum-drill .strum-row{background:#071622;border:1px solid #54717e;border-radius:10px;padding:14px}.rhythm-workspace .strum-drill .strum-slot{color:#91eaf1;background:linear-gradient(#203b4d,#0d1d2a);border:1px solid #3d6176;border-radius:7px}.rhythm-workspace .strum-drill .strum-slot.active{border-color:#ffd18b;box-shadow:0 0 18px #dfa34555}.rhythm-workspace .strum-drill .strum-arrow{color:#8ce9f0}.rhythm-workspace .lyric-align{background:linear-gradient(130deg,#26323b,#111c26);border:1px solid #a18b67;border-radius:12px;padding:24px;box-shadow:inset 0 0 0 5px #09131b,0 12px 25px #0004}.rhythm-workspace .lyric-align h3{letter-spacing:1.5px;color:#ffe1ae;margin:0 0 12px;font-family:Impact,Arial Black,sans-serif;font-size:27px}.rhythm-workspace .lyric-align>p{color:#abc4d2;font-size:13px;line-height:1.7}.rhythm-workspace .lyric-words{background:repeating-linear-gradient(0deg,#0000,#0000 35px,#76bbcd0b 36px),#091924;border:1px solid #3a596a;border-radius:6px;min-height:90px;padding:22px 16px}.rhythm-workspace .lyric-words button{box-shadow:none;background:0 0;border:0;border-bottom:1px solid #466473;font-size:16px}.rhythm-workspace .lyric-words b{color:#ffd38a}.rhythm-workspace :is(button,select,input,textarea):focus-visible{outline-offset:3px;outline:2px solid #8debf1}@media (width<=550px){.rhythm-studio-header{padding:22px}.rhythm-workspace .lyric-align{padding:16px}.rhythm-workspace .strum-drill .box-picker{gap:10px}.rhythm-workspace-tabs button{flex:1;padding:12px}}.rhythm-workspace :is(.strum-drill,.rhythm-trainer-drill).focus-mode{color:#d8edf3;box-sizing:border-box;background:linear-gradient(#061321d9,#07121cf5),url(/monster-jam/arena.png) 50%/cover fixed;min-height:100vh;padding:20px;overflow-y:auto}.rhythm-workspace .focus-mode .focus-toggle-btn{z-index:5;color:#c9f5fa;background:#102b39;border:1px solid #68909c;border-radius:6px;padding:12px 20px;position:relative}.rhythm-focus-heading small{color:#80e4ed;letter-spacing:3px;font-size:10px}.rhythm-focus-heading h2{color:#ffe0a8;letter-spacing:1px;margin:10px 0 16px;font-family:Impact,Arial Black,sans-serif;font-size:clamp(24px,4vw,40px)}.rhythm-focus-console{max-width:1100px;margin:22px auto}.rhythm-workspace .focus-mode .box-picker{background:linear-gradient(130deg,#223441,#0b1b28);border:1px solid #4b6574;border-radius:9px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;max-width:1100px;margin:12px auto;padding:14px;display:flex}.rhythm-workspace .focus-mode label{color:#c0d7e2;align-items:center;gap:8px;font-size:12px;display:flex}.rhythm-workspace .focus-mode input{color:#c8f5fa;background:#071621;border:1px solid #537388;border-radius:4px;width:68px;padding:8px}.rhythm-workspace .focus-mode button{color:#e1f5fa;background:linear-gradient(#29414f,#102631);border:1px solid #537c8c;border-radius:6px;padding:10px 16px}.rhythm-workspace .focus-mode button.active{color:#ffe3ad;background:#55412a;border-color:#f2c47a}.rhythm-workspace .focus-mode .strum-focus-stage{box-sizing:border-box;background:radial-gradient(#28445388,#07121ce8);border:1px solid #6d6554;border-radius:16px;gap:20px;width:100%;max-width:1100px;min-height:0;margin:16px auto;padding:22px;box-shadow:inset 0 0 40px #75d5e611,0 12px 30px #0006}.rhythm-workspace .focus-mode .strum-flash-arrow{color:#8deff2;text-shadow:0 0 30px #48cdda66;min-height:180px;font-size:clamp(130px,26vh,280px);font-weight:900;line-height:1.1}.rhythm-workspace .focus-mode .strum-flash-arrow.sym-X{color:#ffcf89}.rhythm-workspace .focus-mode .strum-flash-arrow.sym-rest{color:#dbe9ef}.rhythm-workspace .focus-mode .strum-scroll-slot .strum-arrow{color:#91eff2;font-size:72px}.rhythm-workspace .focus-mode .strum-scroll-viewport{background:#081623;border:1px solid #4b6b7c;border-radius:12px}.rhythm-workspace .focus-mode .strum-focus-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;display:flex}.rhythm-workspace .focus-mode .strum-focus-bpm{color:#f1d39b;font-size:15px}.rhythm-workspace .rhythm-trainer-drill.focus-mode .rhythm-arcade header{display:none}.rhythm-workspace .rhythm-trainer-drill.focus-mode .rhythm-arcade{margin-top:12px;padding:15px}.rhythm-workspace .rhythm-trainer-drill.focus-mode .ra-pad{min-height:140px}@media (width<=550px){.rhythm-workspace :is(.strum-drill,.rhythm-trainer-drill).focus-mode{padding:12px}.rhythm-workspace .focus-mode .strum-focus-stage{padding:14px}.rhythm-workspace .focus-mode .box-picker{gap:8px}.rhythm-workspace .focus-mode button{padding:10px 12px}}.rhythm-workspace :is(.strum-drill,.rhythm-trainer-drill).focus-mode{z-index:1000;width:100vw;max-width:none;height:100dvh;margin:0;position:fixed;inset:0}.rhythm-workspace .focus-mode .focus-toggle-btn{width:auto;margin:0 0 8px;color:#c9f5fa!important;background:#102b39!important}.rhythm-workspace .focus-mode .rhythm-focus-console{margin:8px auto}.rhythm-workspace .focus-mode .rhythm-focus-heading h2{margin:5px 0;font-size:24px}.rhythm-workspace .focus-mode .strum-focus-stage{margin:10px auto}:root{--bg:#09090b;--card-bg:#18181b;--card-border:#ffffff1a;--accent:#f59e0b;--correct:#10b981;--wrong:#f43f5e;--text:#f4f4f5;--text-muted:#a1a1aa;--string-color:#a1a1aa;--fret-color:#71717a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#root{max-width:1500px;margin:0 auto;padding:20px 16px 60px}.loading-screen{text-align:center;color:var(--text-muted);padding:40px}.credits-page{min-height:100vh}.credits-wrap{max-width:760px;margin:0 auto;padding:20px 16px 80px}.credits-back{color:var(--text-muted);margin-bottom:24px;font-size:.9rem;text-decoration:none;display:inline-block}.credits-back:hover{color:var(--accent)}.credits-page h1{margin:6px 0 16px;font-size:1.9rem}.credits-page h2{color:var(--accent);margin:36px 0 14px;font-size:1.1rem}.credits-intro{color:var(--text-muted);max-width:60ch;line-height:1.6}.credits-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.credits-card{background:var(--card-bg);color:var(--text);border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:6px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.credits-card:hover{border-color:var(--accent);transform:translateY(-1px)}.credits-card-featured{border-color:var(--accent);background:linear-gradient(135deg, var(--card-bg), #f59e0b14);grid-column:1/-1}.credits-name{font-size:1.02rem;font-weight:700}.credits-role{color:var(--text-muted);font-size:.88rem}.credits-link{color:var(--accent);font-size:.85rem}.credits-footer{color:var(--text-muted);border-top:1px solid #ffffff14;margin-top:48px;padding-top:20px;font-size:.88rem;line-height:1.6}.gate-screen{text-align:center;max-width:620px;margin:30px auto 0}.gate-screen h1{margin-bottom:4px}.gate-attempts{justify-content:center;gap:8px;margin:14px 0 20px;display:flex}.gate-attempt-dot{background:var(--accent);border-radius:50%;width:12px;height:12px}.gate-attempt-dot.used{background:#3f3f46}.choice-btn.wrong-pick{color:#fff;background:var(--wrong)!important}.auth-screen{text-align:center;max-width:380px;margin:60px auto 0}.auth-screen h1{margin-bottom:4px}.subtitle{color:var(--text-muted);margin-top:0}.auth-form{text-align:left;flex-direction:column;gap:14px;margin-top:24px;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.85rem;display:flex}.auth-form input{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:6px;padding:10px 12px;font-size:1rem}.auth-error{color:var(--wrong);font-size:.85rem}.auth-info{color:var(--correct);font-size:.85rem}.auth-mode-toggle{color:var(--accent);background:0 0;margin-top:16px;padding:0;font-size:.85rem;text-decoration:underline}button{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:8px;padding:12px 20px;font-size:1rem;font-weight:700;transition:transform 60ms,filter 60ms}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){filter:brightness(.9);transform:scale(.96)}button:disabled{opacity:.5;cursor:default}.link-btn{color:var(--accent);background:0 0;padding:8px;font-weight:500}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.dashboard-header h1{margin-bottom:2px}.dashboard-header-actions{align-items:center;gap:4px;display:flex}.drill-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px}.drill-section h2{margin-top:0}.category-tabs{background:var(--card-bg);border-radius:10px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.category-tab{color:var(--text-muted);letter-spacing:.02em;background:0 0;border:none;border-radius:8px;flex:1;padding:12px 6px;font-size:.95rem;font-weight:700}.category-tab.active{background:var(--accent);color:#12151f}.drill-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.drill-tab{background:var(--card-bg);color:var(--text-muted);border:2px solid #0000;border-radius:8px;flex:100px;padding:10px 6px;font-size:.85rem;font-weight:600}.drill-tab.active{border-color:var(--accent);color:#fff}.bpm-stepper{border:1px solid var(--card-border);border-radius:6px;align-items:stretch;display:inline-flex;overflow:hidden}.bpm-stepper-btn{background:var(--card-bg);color:var(--text);border-radius:0;width:30px;padding:0;font-size:1rem;font-weight:700}.bpm-stepper-input{background:var(--card-bg);border:none;border-left:1px solid var(--card-border);border-right:1px solid var(--card-border);width:54px;color:var(--text);text-align:center;font-size:.9rem}.bpm-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bpm-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.basket-pattern-select{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:6px;max-width:140px;padding:4px 6px;font-size:.75rem}.composer-bar-strip{gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.composer-bar-card{flex:none}.composer-bar-card-collapsed{background:var(--card-bg);border:1px solid var(--card-border);min-width:90px;color:var(--text);border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;display:flex}.composer-bar-card-collapsed:hover{filter:brightness(1.15)}.composer-bar-card-chord{font-weight:700}.composer-bar-card-timesig{color:var(--text-muted);font-size:.7rem}.composer-bar-card.expanded{background:var(--card-bg);border:1px solid var(--accent);border-radius:10px;flex-direction:column;gap:8px;min-width:280px;padding:12px;display:flex}.composer-bar-card-header{justify-content:space-between;align-items:center;display:flex}.composer-bar-card-actions{flex-wrap:wrap;gap:6px;display:flex}.composer-bar-card-add{background:var(--card-bg);border:1px dashed var(--card-border);min-width:90px;color:var(--accent);border-radius:10px;padding:10px 16px;font-weight:700}.composer-bar-card-beatgroup.expanded{min-width:320px}.scale-guide-panel{margin-bottom:10px}.scale-guide-controls{margin-top:8px}.lick-templates-panel{margin-top:10px}.lick-template-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.lick-template-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex}.lick-template-card-title{font-size:.9rem;font-weight:700}.lick-template-card-tags{text-transform:uppercase;letter-spacing:.03em;color:var(--accent);font-size:.72rem}.lick-template-card-desc{color:var(--text-muted);flex:1;font-size:.8rem}.composer-workspace{align-items:flex-start;gap:20px;margin-top:12px;display:flex}.composer-workspace-col{flex:50%;min-width:0}.composer-workspace-fretboard{overflow-x:auto}.palette-tabs{background:var(--card-bg);border-radius:10px;gap:4px;margin-bottom:12px;padding:4px;display:flex}.palette-tab{color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;padding:10px 4px;font-size:.8rem;font-weight:600}.palette-tab.active{background:var(--accent);color:#12151f}@media (width<=900px){.composer-workspace{flex-direction:column}.composer-workspace-col{flex:auto;width:100%}}.progression-quick-entry{align-items:flex-end}.progression-quick-entry-input{flex:1;min-width:200px}.progression-quick-entry-input input{background:var(--card-bg);border:1px solid var(--card-border);width:100%;color:var(--text);border-radius:6px;padding:8px 10px;font-size:.9rem}.drill-library-link{justify-content:flex-end;margin-bottom:10px;display:flex}.drill-library-link .link-btn{padding:4px 8px;font-size:.85rem}.progression-builder{margin-bottom:16px}.section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:.75rem}.preset-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.preset-btn{background:var(--card-bg);color:var(--text-muted);border-radius:6px;padding:6px 10px;font-size:.78rem}.preset-btn.custom{border:1px solid var(--card-border);align-items:center;gap:6px;padding:0 6px 0 0;display:inline-flex}.preset-btn-inner{color:var(--text-muted);background:0 0;padding:6px 4px 6px 10px;font-size:.78rem}.preset-remove{color:var(--text-muted);cursor:pointer;padding:0 4px;font-weight:700}.preset-remove:hover{color:var(--wrong)}.save-preset-row{gap:8px;margin-bottom:14px;display:flex}.save-preset-row input{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:6px;flex:1;padding:8px 10px;font-size:.85rem}.chord-add-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.chord-add-row input[type=text]{background:var(--card-bg);border:1px solid var(--card-border);min-width:120px;color:var(--text);border-radius:6px;flex:1;padding:8px 10px;font-size:.9rem}.beats-field{flex-direction:column;align-items:center;gap:2px;display:flex}.beats-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.65rem}.beats-input{background:var(--card-bg);border:1px solid var(--card-border);width:56px;color:var(--text);text-align:center;border-radius:6px;padding:8px;font-family:ui-monospace,SF Mono,Consolas,monospace;transition:border-color .12s,transform 80ms}.beats-input:focus{border-color:var(--accent);outline:none}.beats-input:active{transform:scale(.96)}.time-sig-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.time-sig-btn{background:var(--card-bg);color:var(--text-muted);border:1px solid var(--card-border);border-radius:6px;padding:5px 9px;font-size:.75rem}.time-sig-btn.active{border-color:var(--accent);color:var(--accent)}.progression-bars{flex-wrap:wrap;gap:6px;display:flex}.bar-chip{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:14px;align-items:center;gap:6px;padding:5px 8px 5px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.bar-chip.current{border-color:var(--accent);color:var(--accent)}.bar-remove{color:var(--text-muted);padding:0 2px;font-weight:700}.bar-remove:hover{color:var(--wrong)}.section-label-row{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.section-label-row .section-label{margin-bottom:0}.randomize-btn{background:var(--card-bg);color:var(--accent);border:1px solid var(--card-border);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:.72rem}.bar-position-select{color:var(--accent);background:#3f3f46;border:none;border-radius:4px;padding:2px 3px;font-size:.72rem}.banner-position{color:var(--text-muted);font-size:.9rem;font-weight:500}.transport-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.transport-row button{color:#fff;background:#3f3f46;padding:8px 14px;font-size:.85rem}.transport-row button.active{background:var(--accent);color:#000}.bpm-label{color:var(--text-muted);align-items:center;gap:6px;margin-left:auto;font-size:.82rem;display:flex}.bpm-input{background:var(--card-bg);border:1px solid var(--card-border);width:56px;color:var(--text);text-align:center;border-radius:6px;padding:6px;font-family:ui-monospace,SF Mono,Consolas,monospace;transition:border-color .12s,transform 80ms}.bpm-input:focus{border-color:var(--accent);outline:none}.bpm-input:active{transform:scale(.96)}.focus-toggle-btn{background:var(--card-bg);width:100%;color:var(--accent);border:1px dashed var(--card-border);border-radius:8px;margin-bottom:14px;padding:8px;font-size:.8rem;display:block}.progression-drill.focus-mode,.key-context-drill.focus-mode,.strum-drill.focus-mode,.rhythm-trainer-drill.focus-mode{background:var(--bg)}.progression-drill.focus-mode .focus-toggle-btn,.key-context-drill.focus-mode .focus-toggle-btn,.strum-drill.focus-mode .focus-toggle-btn,.rhythm-trainer-drill.focus-mode .focus-toggle-btn{background:var(--accent);color:#000;border:none;font-weight:700}.tap-button{background:var(--accent);color:#000;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:12px;width:100%;padding:28px;font-size:1.3rem;font-weight:700}.tap-button:active{filter:brightness(.85)}body:has(.focus-mode) #root{max-width:100%;padding:10px 10px 40px}.dashboard:has(.focus-mode) .drill-section{padding:10px}.focus-mode .fretboard-svg{min-width:100%}.landscape-hint{display:none}@media (width<=900px) and (orientation:portrait){.focus-mode .landscape-hint{background:var(--card-bg);border:1px solid var(--accent);color:var(--accent);border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;display:flex}}.focus-key-label{color:var(--text);font-weight:700}.tab-upload-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.tab-textarea{background:var(--card-bg);border:1px solid var(--card-border);width:100%;color:var(--text);resize:vertical;border-radius:8px;margin-bottom:10px;padding:10px;font-family:Courier New,monospace;font-size:.8rem}.tab-warnings{border-left-color:var(--wrong);font-size:.82rem}.tab-measure-strip{flex-wrap:wrap;gap:5px;max-height:100px;margin-bottom:14px;display:flex;overflow-y:auto}.tab-measure-chip-wrap{display:inline-flex;position:relative}.tab-measure-chip{background:var(--card-bg);color:var(--text-muted);border:1px solid var(--card-border);border-radius:5px;padding:5px 9px;font-size:.75rem}.tab-measure-chip-clear{color:#ff8a8a;background:#3a2020;border:1px solid #5a2a2a;border-radius:50%;width:16px;height:16px;padding:0;font-size:.7rem;font-weight:700;line-height:14px;position:absolute;top:-7px;right:-7px}.tab-measure-chip-clear:hover{color:#fff;background:#5a2020}.tab-measure-chip.in-loop{border-color:var(--accent);color:var(--accent)}.tab-measure-chip.current{background:var(--accent);color:#000;font-weight:700}.tab-measure-chip.bar-done{color:#6fd996;border-color:#3b8f5c}.tab-measure-chip.bar-done.current{color:#fff;background:#3b8f5c}.tab-measure-chip.bar-switch{box-shadow:inset 0 0 0 2px #b98a2e}.progress-bar-track{background:var(--card-bg);border-radius:5px;height:10px;overflow:hidden}.progress-bar-fill{background:#3b8f5c;height:100%;transition:width .2s}.drone-slide-table{flex-direction:column;gap:4px;max-height:320px;margin-bottom:14px;display:flex;overflow-y:auto}.drone-slide-row{background:var(--card-bg);border:1px solid var(--card-border);cursor:pointer;border-radius:6px;grid-template-columns:40px 1fr 1.4fr;align-items:center;gap:10px;padding:8px 10px;font-size:.82rem;display:grid}.drone-slide-row.is-match{border-color:var(--correct)}.drone-slide-row.is-match .slide-result{color:var(--correct);font-weight:700}.drone-slide-row:not(.is-match) .slide-result{color:var(--text-muted);font-style:italic}.drone-slide-row.active{outline:2px solid var(--accent)}.slide-shift{color:var(--accent);font-weight:700}.slide-notes{color:var(--text-muted);font-variant-numeric:tabular-nums}.near-nut-note{color:var(--text-muted);border-top:1px solid #ffffff1a;margin-top:8px;padding-top:8px;font-size:.82rem;font-style:italic}.transport-hint{color:var(--text-muted);margin-bottom:14px;font-size:.78rem;line-height:1.4}.current-chord-banner{background:var(--card-bg);border-left:4px solid var(--accent);border-radius:6px;margin-bottom:14px;padding:10px 16px;font-size:1rem}.progression-chord-row{align-items:flex-start;gap:20px;margin-bottom:4px;padding:10px 2px 16px;display:flex;overflow-x:auto}.progression-chord-row-item{opacity:.55;text-align:center;flex:none;transition:opacity .15s}.progression-chord-row-item.current{opacity:1}.strum-row.strum-row-compact{gap:4px;margin-top:8px;padding:6px}.strum-row.strum-row-compact .strum-arrow{font-size:1.1rem}.progression-strum-caption{text-align:center;margin-top:4px;font-size:.7rem;font-weight:400}.progression-strum-row-empty{color:var(--text-muted);opacity:.6;text-transform:uppercase;letter-spacing:.03em;margin-top:8px;font-size:.75rem;font-weight:400}.anchor-picker,.mode-picker{gap:8px;margin-bottom:12px;display:flex}.anchor-picker button,.mode-picker button{background:var(--card-bg);color:var(--text-muted);border:2px solid #0000;border-radius:8px;flex:1;padding:8px 6px;font-size:.82rem}.anchor-picker button.active,.mode-picker button.active{border-color:var(--accent);color:#fff}.box-picker{-webkit-backdrop-filter:blur(6px);border:1px solid var(--card-border);background:#ffffff0a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;padding:10px 14px;display:flex}.box-picker label{color:var(--text-muted);align-items:center;gap:6px;font-size:.82rem;display:flex}.box-picker select{color:#fff;border:1px solid var(--card-border);background:#3f3f46;border-radius:6px;padding:5px 8px}.quiz-progress-row{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.qpb-label{color:var(--text-muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.qpb-input{background:var(--card-bg);border:1px solid var(--card-border);width:44px;color:var(--text);text-align:center;border-radius:6px;padding:4px}.bar-progress-dots{gap:5px;margin-left:auto;display:flex}.bar-progress-dots .dot{background:#3f3f46;border-radius:50%;width:9px;height:9px}.bar-progress-dots .dot.filled{background:var(--accent)}.transition-tip{background:var(--card-bg);border:2px solid var(--accent);border-radius:10px;padding:20px}.transition-tip h3{color:var(--accent);margin-top:0}.transition-tip p{color:var(--text-muted);line-height:1.5}.bridge-note-list{margin:12px 0;padding-left:20px}.bridge-note-list li{margin-bottom:10px;line-height:1.4}.bridge-note-character{color:var(--text-muted);font-style:italic}.session-footer{background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;justify-content:space-between;align-items:center;margin-top:20px;padding:14px 18px;display:flex}.drill-hud{color:var(--text-muted);font-size:.85rem}.hud-stats{align-items:center;gap:12px;display:flex}.stopwatch{font-variant-numeric:tabular-nums;color:var(--accent);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.9rem;font-weight:700}.stopwatch.slow{color:var(--wrong)}.points{color:var(--accent);font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.9rem;font-weight:700}.streak{color:#fb923c;background:#fb923c1f;border:1px solid #fb923c59;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .65rem;font-size:.82rem;font-weight:800;display:inline-flex}.level-picker{gap:8px;margin-bottom:14px;display:flex}.level-btn{background:var(--card-bg);color:var(--text-muted);border:2px solid #0000;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 4px;font-size:.85rem;font-weight:600;display:flex}.level-btn.active{border-color:var(--accent);color:#fff}.level-btn.slow.active{border-color:#10b981}.level-btn.medium.active{border-color:#f59e0b}.level-btn.fast.active{border-color:var(--wrong)}.level-time{color:var(--text-muted);font-size:.7rem}.countdown-bar-track{background:var(--card-bg);border-radius:3px;height:6px;margin-bottom:14px;overflow:hidden}.countdown-bar-fill{background:var(--accent);height:100%;transition:width .1s linear}.countdown-bar-fill.urgent{background:var(--wrong)}.speedrun-hud{color:var(--text-muted);align-items:center;gap:14px;margin-bottom:14px;font-size:.9rem;display:flex}.stopwatch-run{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700}.stop-btn{color:#fff;background:#3f3f46;margin-left:auto;padding:6px 14px;font-size:.85rem}.speedrun-idle{background:var(--card-bg);text-align:center;border-radius:10px;padding:20px}.speedrun-idle p{color:var(--text-muted);margin-top:0}.speedrun-summary{background:var(--card-bg);text-align:center;border-radius:10px;padding:24px 20px}.speedrun-summary h3{margin-top:0}.summary-grid{justify-content:center;gap:28px;margin:18px 0;display:flex}.summary-grid>div{flex-direction:column;gap:4px;display:flex}.summary-value{color:var(--accent);font-size:1.4rem;font-weight:700}.summary-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.prompt-box{background:var(--card-bg);border-left:4px solid var(--accent);border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:.92rem;line-height:1.4}.technique-tips{border-left-color:#d97706;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.technique-tips-list{flex-direction:column;gap:6px;display:flex}.technique-tip strong{color:#fbbf24}.technique-tips .link-btn{white-space:nowrap;flex-shrink:0}.fret-diagram,.fretboard-svg{--headstock:#3a2a1c;--wood-edge:#1c1410;--peg:#d1d5db;--wood:#4a3626;--inlay:#e5d9c3;--nut:#e5e7eb;--fret-wire:#a8a29e;width:100%;height:auto;margin-bottom:20px}.key-picker{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.key-picker label{color:var(--text-muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.key-picker select{color:#fff;border:1px solid var(--card-border);background:#3f3f46;border-radius:6px;padding:6px 10px;font-size:.95rem}.key-notes-line{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.key-note-chip{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:.9rem;font-weight:600;display:inline-flex}.key-note-chip .degree{color:var(--text-muted);background:#3f3f46;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:.65rem;font-weight:700;display:inline-flex}.context-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin-bottom:16px;font-size:.85rem;display:flex}.context-toggle input{width:16px;height:16px}.answer-row{flex-direction:column;gap:18px;display:flex}.choice-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.8rem}.choice-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.choice-btn{color:#fff;background:#3f3f46;padding:12px 4px;font-size:1rem}.choice-btn.selected{outline:2px solid var(--accent)}.choice-btn.correct{color:#fff;background:var(--correct)!important}.feedback-line{margin-top:14px;font-weight:600}.feedback-line.correct{color:var(--correct)}.feedback-line.wrong{color:var(--wrong)}@media (width<=420px){.choice-grid{grid-template-columns:repeat(2,1fr)}}.progression-bars{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.progression-bar-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.progression-bar-row .bar-index{opacity:.7;min-width:3.5rem;font-size:.85rem}.chord-input{width:5rem;padding:.3rem .5rem}.beats-input{width:3.5rem;margin-left:.3rem;padding:.3rem .5rem}.melody-note-picker{margin:.8rem 0}.note-choices{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.choice-btn.chord-tone-choice{border-color:var(--accent)}.voice-leading-tip{opacity:.85;margin-top:.4rem;font-style:italic}.tab-output{white-space:pre;background:#00000040;border-radius:6px;padding:.8rem;font-family:monospace;font-size:.85rem;overflow-x:auto}.live-tab-sheet-scroll{background:#00000040;border-radius:6px;margin-bottom:.8rem;padding:.8rem;overflow-x:auto}.live-tab-sheet{white-space:pre;width:max-content;font-family:monospace;font-size:.85rem}.tab-row{display:flex}.tab-row-label{color:var(--text-muted)}.tab-bar-chunk{transition:background-color .15s}.tab-bar-chunk.active-bar{background:#f5a62340;border-radius:3px;box-shadow:0 0 0 1px #f5a62380}.saved-songs-list{flex-direction:column;gap:.3rem;margin-top:.5rem;display:flex}.saved-song-row{align-items:center;gap:.6rem;display:flex}.library-progress-line{color:var(--text-muted);align-items:center;gap:.75rem;margin-top:.2rem;font-size:.75rem;display:flex}.library-group{margin-bottom:1.2rem}.library-group>summary{cursor:pointer}.library-group>summary.section-label{margin-bottom:6px}.library-subgroup{border-left:2px solid #2a3548;margin:.5rem 0 .5rem .75rem;padding-left:.75rem}.library-subgroup summary{cursor:pointer;color:var(--text-muted);font-size:.85rem}.library-subgroup .saved-songs-list{margin-top:.4rem}.picker-slot-banner{margin-bottom:.4rem;font-weight:600}.technique-row{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0;display:flex}.technique-row span{opacity:.7;margin-right:.2rem;font-size:.85rem}.technique-btn{padding:.25rem .5rem;font-size:.8rem}.bar-beat-groups{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.bar-beat-group{border:1px solid #ffffff1f;border-radius:8px;padding:.5rem .6rem}.collapsible-section{margin:1.2rem 0}.collapsible-section-header{width:100%;color:var(--text,#fff);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .8rem;font-size:1rem;font-weight:700;display:flex}.collapsible-section-caret{color:var(--accent);font-size:.85rem}.collapsible-section-body{padding:.6rem .2rem 0}.bar-beat-group-label{opacity:.8;margin-bottom:.35rem;font-size:.85rem;font-weight:600}.bar-beat-group-label-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.bar-beat-group-label-row .bar-beat-group-label{margin-bottom:.35rem}.bar-beat-strum-preview{gap:4px;display:flex}.bar-beat-strum-preview .strum-arrow{color:var(--text-muted);font-size:.95rem;font-weight:700}.bar-beat-strum-preview .strum-arrow.active{color:var(--accent)}.bar-beat-group .tab-measure-strip{margin-bottom:0}.chord-diagram-wrap{justify-content:center;margin:.6rem 0;display:flex}.chord-diagram-wrap-compact{justify-content:flex-start;margin:0 0 .4rem}.chord-diagram{max-width:100%}.chord-library-jumpnav{z-index:5;background:var(--bg,#09090b);border-bottom:1px solid #ffffff1f;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;padding:.5rem 0;display:flex;position:sticky;top:0}.chord-library-jumpnav .link-btn{border:1px solid #ffffff1f;border-radius:999px;padding:4px 12px}.chord-picker-panel{background:#ffffff05;border:1px solid #ffffff1f;border-radius:8px;margin:.6rem 0;padding:.6rem .8rem}.arpeggiate-panel{flex-direction:column;gap:.3rem;display:flex}.technique-card-face{background:#f5a6230f;border:1px dashed #fff3;border-radius:6px;justify-content:center;align-items:center;width:100%;height:64px;display:flex}.technique-card-symbol{color:var(--accent);font-size:1.4rem;font-weight:700}.chord-library-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem;margin:.8rem 0;display:grid}.chord-library-tile{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .4rem;display:flex}.chord-library-tile-actions{flex-direction:column;align-items:center;gap:.2rem;width:100%;display:flex}.chord-basket-row{background:#ffffff05;border:1px dashed #fff3;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.5rem .6rem;display:flex}.chord-basket-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem}.chord-basket-slot{align-items:center;gap:.15rem;display:flex}.basket-remove-btn{color:var(--text-muted);background:0 0;border:none;padding:0 .2rem;font-size:.9rem;line-height:1}.basket-remove-btn:hover{color:#ff6b6b}.basket-fill-btn{color:var(--text-muted);background:0 0;border:1px solid #ffffff26;border-radius:4px;padding:.15rem .35rem;font-size:.85rem;line-height:1}.basket-fill-btn:hover:not(:disabled){color:var(--accent,#d9a441);border-color:var(--accent,#d9a441)}.basket-fill-btn:disabled{opacity:.35;cursor:default}.chord-basket-empty{color:var(--text-muted);font-size:.8rem;font-style:italic}.ds-steps-list{flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.4rem;display:flex}.ds-step-arrow{color:var(--text-muted);margin-right:.3rem}.ds-step-chip{background:#ffffff08;border:1px solid #ffffff26;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-size:.85rem;display:inline-flex}.ds-step-remove{color:var(--text-muted);background:0 0;border:none;padding:0 .1rem;font-size:.9rem;line-height:1}.ds-step-remove:hover{color:#ff6b6b}.chord-library-sublabel{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.fretboard-click-target{transition:fill .12s}.fretboard-click-target:hover{fill:#f5a62347}.fretboard-press{transform-box:fill-box;transform-origin:50%;animation:.22s cubic-bezier(.34,1.56,.64,1) fretboard-press-pop}@keyframes fretboard-press-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.fretboard-press{animation:none}}.tab-practice-view{background:var(--bg,#09090b);z-index:500;color:var(--text,#fff);flex-direction:column;display:flex;position:fixed;inset:0}.tab-practice-toolbar{border-bottom:1px solid #ffffff26;flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.2rem;display:flex}.tab-practice-bpm{font-size:1.1rem;font-weight:700}@media (width<=480px){.tab-practice-toolbar{gap:.5rem;padding:.5rem .6rem;font-size:.85rem}.tab-practice-toolbar input,.tab-practice-toolbar select,.tab-practice-toolbar button{padding:.3rem .5rem;font-size:.85rem}.tab-practice-bpm{font-size:.95rem}}@media (orientation:landscape) and (height<=500px){.tab-practice-toolbar{-webkit-overflow-scrolling:touch;white-space:nowrap;flex-wrap:nowrap;flex-shrink:0;gap:.5rem;padding:.35rem .6rem;font-size:.8rem;overflow-x:auto}.tab-practice-toolbar>*{flex:none}.tab-practice-toolbar input,.tab-practice-toolbar select,.tab-practice-toolbar button{padding:.25rem .4rem;font-size:.8rem}.tab-practice-bpm{font-size:.85rem}.tab-practice-strip{padding:.75rem 1rem}.tab-practice-chord-panel{-webkit-overflow-scrolling:touch;flex-flow:row;flex-shrink:0;justify-content:flex-start;align-items:center;gap:.75rem;padding:.4rem .8rem;overflow-x:auto}.tab-practice-chord-panel svg.chord-diagram{flex-shrink:0;width:auto;height:130px}.tab-practice-chord-panel .strum-scroll-viewport{flex:none;width:min(45vw,320px);height:90px}.tab-practice-chord-panel .strum-scroll-slot .strum-arrow{font-size:1.7rem}.tab-practice-chord-panel .strum-focus-bpm{white-space:normal;max-width:110px;font-size:.72rem}.tab-practice-view>.prompt-box{display:none}}.metronome-light{background:#f5a62326;border:2px solid #f5a62366;border-radius:50%;width:22px;height:22px;transition:background 50ms,box-shadow 50ms;display:inline-block}.metronome-light.lit{background:var(--accent,#f5a623);box-shadow:0 0 16px 4px var(--accent,#f5a623)}.tab-practice-strip{flex:1;align-items:flex-start;gap:1.5rem;min-height:0;padding:2rem 3rem;display:flex;overflow:auto hidden}.tab-practice-chord-panel{border-top:1px solid #ffffff1a;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:2rem;padding:1rem 2rem;display:flex}.chord-sheet-practice-body{flex:1;width:100%;max-width:900px;margin:0 auto;padding:2rem 3rem 3rem;overflow-y:auto}.chord-sheet-chord-line{gap:1.2rem;min-height:1.6em;margin-top:.6em;display:flex}.chord-sheet-chord-chip{color:var(--accent,#f5a623);font-size:1.15rem;font-weight:700}.chord-sheet-chord-line.active .chord-sheet-chord-chip{background:var(--accent,#f5a623);color:#1a1200;border-radius:6px;padding:.05em .4em}.chord-sheet-lyric-line{white-space:pre-wrap;color:var(--text,#fff);font-size:1.15rem;line-height:1.5}.chord-sheet-blank-line{height:.8em}.tab-practice-bar{min-width:calc(var(--beats) * var(--beat-width));border:1px solid #ffffff1a;border-radius:10px;flex:none;padding:.6rem}.tab-practice-bar.in-loop{border-color:var(--accent,#f5a623)}.tab-practice-bar.bar-switch{box-shadow:inset 0 0 0 2px #b98a2e}.switch-badge{opacity:.85;font-size:.7rem;font-weight:500}.switch-badge-strum{color:#6fa8dc}.switch-badge-lick{color:#e69138}.tab-practice-bar-label{opacity:.85;margin-bottom:.4rem;font-size:1.1rem;font-weight:700}.tab-practice-diagrams{grid-template-columns:repeat(var(--beats), var(--beat-width));min-height:1px;display:grid}.tab-practice-diagram-slot{justify-content:center;display:flex}.tab-practice-notenames{grid-template-columns:repeat(var(--beats), var(--beat-width));margin:.3rem 0;display:grid}.tab-practice-notename{text-align:center;color:var(--accent,#f5a623);font-size:1.1rem;font-weight:700}.tab-practice-notename.simplified-beat{color:#ff8a3d;-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.tab-practice-staff{flex-direction:column;display:flex;position:relative}.tab-practice-string-row{border-top:1px solid #ffffff40;align-items:center;display:flex}.tab-practice-string-row:last-child{border-bottom:1px solid #ffffff40}.tab-practice-playhead{width:4px;top:0;bottom:0;left:calc(1.4rem + (var(--active-bi) + .5) * var(--beat-width) - 2px);z-index:3;pointer-events:none;background:#ffb329;border-radius:2px;animation:1s ease-in-out infinite playhead-pulse;position:absolute;box-shadow:0 0 14px 3px #ffb329cc,0 0 28px 6px #ffb32959}@keyframes playhead-pulse{0%,to{box-shadow:0 0 14px 3px #ffb329cc,0 0 28px 6px #ffb32959}50%{box-shadow:0 0 20px 5px #ffb329,0 0 40px 10px #ffb3298c}}@keyframes hit-pulse-good{0%{transform:scale(1)}35%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes hit-shake-bad{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){.flash-good,.flash-off{animation:none!important}}.tab-practice-slurs{z-index:2;pointer-events:none;width:calc(100% - 1.4rem);height:100%;position:absolute;top:0;left:1.4rem;right:0}.tab-slur{stroke:#ffb329f2;stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 0 3px #ffb329b3)}.tab-slur-slide{stroke-dasharray:5 4}.tab-practice-string-label{opacity:.9;text-align:center;z-index:2;background:var(--bg,#09090b);flex:none;width:1.4rem;font-size:.85rem;position:sticky;left:0}.tab-legend-intro{margin-bottom:.75rem}.tab-legend-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem;margin-bottom:.75rem;display:grid}.tab-legend-item{background:#ffffff0a;border-radius:8px;grid-template-columns:2.2rem 1fr;gap:.2rem .6rem;padding:.5rem .7rem;display:grid}.tab-legend-symbol{color:#ffb329;text-shadow:0 0 8px #ffb32999;grid-row:1/span 2;justify-content:center;align-items:center;font-size:1.3rem;font-weight:800;display:flex}.tab-legend-label{font-weight:700}.tab-legend-desc{color:var(--text-muted);grid-column:2;font-size:.82rem}.tab-practice-cell{flex:0 0 var(--beat-width);text-align:center;padding:.35rem 0;font-family:monospace;font-size:1.4rem;font-weight:700;transition:transform .1s,color .1s}.tab-practice-cell.has-note{color:#fff}.tab-practice-cell.active-beat{color:#fff9ec;text-shadow:0 0 10px #ffb329e6,0 0 20px #ffb32980;background:#ffb32959;border-radius:4px;transform:scale(1.22)}.metronome-light.downbeat.lit{background:#fff;border-color:#fff;box-shadow:0 0 22px 8px #fff}.tab-practice-bar-label-btn{color:inherit;font:inherit;cursor:pointer;text-align:center;background:0 0;width:100%;padding:0;font-weight:700}.tab-practice-bar-label-btn:hover{color:var(--accent,#f5a623)}.tuner-readout{background:var(--card-bg);text-align:center;border-radius:12px;margin:16px 0;padding:24px}.tuner-note{color:var(--text);font-size:3rem;font-weight:800}.tuner-note.in-tune{color:var(--correct)}.tuner-hz{color:var(--text-muted);margin-bottom:20px}.tuner-meter{background:linear-gradient(to right, var(--wrong), var(--correct) 45%, var(--correct) 55%, var(--wrong));border-radius:6px;max-width:400px;height:10px;margin:0 auto;position:relative}.tuner-meter-center{background:var(--text-muted);width:2px;height:18px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.tuner-meter-needle{background:var(--text);border-radius:2px;width:4px;height:26px;transition:left 50ms linear;position:absolute;top:-8px;transform:translate(-50%)}.tuner-meter-needle.in-tune{background:var(--correct)}.tuner-meter-labels{max-width:400px;color:var(--text-muted);letter-spacing:.03em;justify-content:space-between;margin:6px auto 0;font-size:.8rem;font-weight:700;display:flex}.tuner-meter-labels span:nth-child(2){color:var(--correct)}.lesson1-lock-ring{border:6px solid var(--text-muted);border-radius:50%;align-items:flex-end;width:120px;height:120px;margin:16px auto;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.lesson1-lock-fill{width:100%;transition:height 80ms linear,background .15s}.lesson1-complete{text-align:center;padding:24px 0}.lesson1-xp-float{color:var(--correct);margin-bottom:8px;font-size:1.6rem;font-weight:800;animation:.6s ease-out lesson1-xp-rise}@keyframes lesson1-xp-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spider-fretboard-diagram{max-width:100%;margin:16px auto;display:block}.spider-drill .section-label,.spider-recall-drill .section-label{font-size:1rem}.spider-drill .prompt-box,.spider-recall-drill .prompt-box{font-size:1.15rem;line-height:1.5}.spider-drill .tuner-note,.spider-recall-drill .tuner-note{font-size:2.2rem}.spider-drill .tuner-hz,.spider-recall-drill .tuner-hz{font-size:1rem}.spider-drill .choice-btn,.spider-recall-drill .choice-btn{padding:14px 22px;font-size:1.2rem}.spider-pulse-ring{transform-origin:50%;animation:.6s ease-out infinite spider-pulse}@keyframes spider-pulse{0%{r:27;opacity:1}to{r:40;opacity:0}}.tuner-level-row{align-items:center;gap:10px;max-width:400px;margin:0 auto 20px;display:flex}.tuner-level-label{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.tuner-level-bar{background:#000;border-radius:4px;flex:1;height:8px;overflow:hidden}.tuner-level-fill{background:var(--accent);height:100%;transition:width 50ms linear}.bend-game-stage{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:32px;margin-top:16px;display:flex}.balloon-wrap{flex-shrink:0;width:140px;position:relative}.balloon-svg{width:100%;height:auto}.doorknob-wrap{text-align:center;flex-shrink:0;width:140px;position:relative}.doorknob-svg{width:100%;height:auto}.doorknob-grip{transform-origin:60px 84px;animation:2.6s cubic-bezier(.45,0,.2,1) infinite doorknobTurn}@keyframes doorknobTurn{0%{transform:rotate(0)}18%{transform:rotate(0)}62%{transform:rotate(190deg)}78%{transform:rotate(190deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.doorknob-grip,.tab-practice-playhead{animation:none}}.doorknob-caption{color:var(--text-muted);margin-top:6px;font-size:.8rem;font-weight:600}.balloon-pop-label{color:#fff;text-shadow:0 1px 4px #0009;white-space:nowrap;font-size:1.1rem;font-weight:800;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.bend-game-info{flex:1;min-width:260px;max-width:420px}.bend-target-line{color:var(--text);margin-bottom:8px;font-size:1.1rem}.bend-target-line.flash-good{color:var(--correct);animation:.3s hit-pulse-good}.bend-target-line.flash-off{color:var(--wrong);animation:.3s hit-shake-bad}.bend-hold-bar{background:#000;border-radius:6px;max-width:400px;height:10px;margin:14px auto 0;overflow:hidden}.bend-hold-fill{background:var(--accent);height:100%;transition:width 60ms linear,background .15s}.bend-hold-fill.in-tune{background:var(--correct)}.bend-hear-row{gap:8px;margin-bottom:10px;display:flex}.bend-round-count{color:var(--text-muted);margin-top:14px;font-size:.9rem}.bend-game-over{color:var(--correct);margin-top:10px;font-size:1.2rem;font-weight:700}.capo-active-note{color:var(--accent);margin-top:-6px;margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.bend-level-picker{margin-bottom:16px}.bend-level-picker .choice-btn{padding:10px 6px;font-size:.82rem}.bend-meta-line{color:var(--text-muted);margin-bottom:10px;font-size:.85rem}.bend-mode-picker{margin-bottom:10px}.bend-mode-picker .choice-btn{padding:10px 6px;font-size:.82rem}.bend-tutorial{background:var(--card-bg);border-left:4px solid var(--accent);border-radius:6px;margin-bottom:14px;padding:14px 18px}.bend-tutorial h3{color:var(--text);margin:14px 0 4px;font-size:.95rem}.bend-tutorial h3:first-child{margin-top:0}.bend-tutorial p{color:var(--text-muted);margin:0 0 4px;font-size:.9rem;line-height:1.5}.bend-session-hud{align-items:center;gap:14px;margin-bottom:10px;display:flex}.bend-hud-item{border:1px solid var(--card-border);color:var(--text);font-variant-numeric:tabular-nums;background:#ffffff0f;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:700}.bend-hud-best{color:var(--accent)}.bend-vibrato-prompt{border-left-color:#8e44ad;margin:10px 0}.bend-new-best-flash{color:#1a1200;text-align:center;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:8px;margin-bottom:10px;padding:10px 16px;font-weight:800;animation:.3s ease-out bendNewBestPop}@keyframes bendNewBestPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.vibrato-meter{background:linear-gradient(to right, var(--wrong), var(--correct) 45%, var(--correct) 55%, var(--wrong));border-radius:6px;max-width:400px;height:10px;margin:12px auto 0;transition:background-color .15s;position:relative}.vibrato-meter-center{background:var(--text-muted);width:2px;height:18px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.vibrato-meter.flash-good{box-shadow:0 0 0 3px var(--correct);animation:.3s hit-pulse-good}.vibrato-meter.flash-off{box-shadow:0 0 0 3px var(--wrong);animation:.3s hit-shake-bad}.strum-pattern-picker{margin-bottom:14px}.strum-pattern-picker .choice-btn{flex-direction:column;gap:2px;width:100%;padding:10px 6px;font-size:.82rem;display:flex}.strum-pattern-btn-wrap{display:block;position:relative}.strum-pattern-btn-wrap.is-custom .choice-btn{padding-right:22px}.strum-pattern-delete{color:var(--wrong);cursor:pointer;font-size:1rem;font-weight:800;line-height:1;position:absolute;top:4px;right:8px}.strum-genre-tag{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:500}.current-bpm-box{-webkit-backdrop-filter:blur(8px);border:1px solid var(--card-border);color:var(--text-muted);background:#ffffff0f;border-radius:8px;align-items:center;gap:.3rem;margin-left:.3rem;padding:.3rem .7rem;font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:.85rem;display:inline-flex}.current-bpm-box strong{color:var(--text)}.strum-row{border-radius:8px;gap:6px;margin-top:16px;padding:10px;transition:box-shadow .1s;display:grid}.strum-row.flash-good{box-shadow:0 0 0 3px var(--correct);animation:.3s hit-pulse-good}.strum-row.flash-off{box-shadow:0 0 0 3px var(--wrong);animation:.3s hit-shake-bad}.strum-slot{aspect-ratio:1;background:var(--card-bg);border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;display:flex}.strum-slot.downbeat{background:#27272a}.strum-slot.active{border-color:var(--accent)}.strum-slot.builder-slot{cursor:pointer}.strum-slot.builder-slot:hover{border-color:var(--text-muted)}.strum-arrow{color:var(--text-muted);font-size:2.4rem;font-weight:800}.strum-slot.active .strum-arrow{color:var(--accent)}.strum-beat-labels{gap:6px;margin-top:4px;display:grid}.strum-beat-labels span{text-align:center;color:var(--text-muted);font-size:.75rem}.strum-builder{background:var(--card-bg);border-left:4px solid var(--accent);border-radius:6px;margin-bottom:14px;padding:14px 16px}.strum-focus-stage{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:80vh;display:flex}.strum-focus-chord :is(svg){max-width:260px;height:auto}.strum-flash-arrow{color:var(--text-muted);font-size:min(40vw,220px);font-weight:900;line-height:1;transition:color 80ms,transform 80ms}.strum-flash-arrow.sym-D,.strum-flash-arrow.sym-U{color:var(--accent);transform:scale(1.08)}.strum-flash-arrow.sym-X{color:var(--wrong);transform:scale(1.08)}.strum-flash-arrow.sym-rest{color:var(--text-muted);opacity:.4;transform:scale(1)}.strum-scroll-viewport{background:var(--card-bg);border-radius:12px;width:min(90vw,700px);height:140px;position:relative;overflow:hidden}.strum-scroll-playhead{background:var(--accent);z-index:2;border-radius:2px;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.strum-scroll-strip{height:100%;display:grid;position:absolute;top:0;left:calc(50% - 42px)}.strum-scroll-slot{justify-content:center;align-items:center;display:flex}.strum-scroll-slot .strum-arrow{color:var(--text-muted);font-size:3rem;font-weight:800}.strum-scroll-slot.active .strum-arrow{color:var(--accent)}.strum-focus-controls{align-items:center;gap:14px;display:flex}.strum-focus-bpm{color:var(--text-muted);font-weight:600}.melody-transcribe-drill{flex-direction:column;gap:16px;display:flex}.melody-transcribe-drill .drill-blurb{color:var(--text-muted);max-width:640px}.method-steps{background:var(--card-bg);border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.method-step strong{color:var(--accent)}.method-step p{color:var(--text-muted);margin:4px 0 0}.song-picker{flex-direction:column;gap:10px;display:flex}.song-list,.new-song-form{flex-wrap:wrap;gap:8px;display:flex}.new-song-form input{flex:1;min-width:200px}.song-detail{background:var(--card-bg);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.chord-progression{color:var(--text-muted)}.badge{background:var(--accent);color:#1c1410;border-radius:6px;margin-left:8px;padding:2px 8px;font-size:.85rem;font-weight:700}.phrase-list{flex-direction:column;gap:6px;display:flex}.phrase-row{background:#ffffff08;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.phrase-row.active{outline:2px solid var(--accent)}.phrase-select{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;flex:1;font-size:.95rem}.phrase-score{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.secondary-btn{background:var(--card-bg);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:8px;align-self:flex-start;padding:8px 14px}.author-panel,.practice-panel{flex-direction:column;gap:10px;display:flex}.note-chip-row{flex-wrap:wrap;gap:8px;display:flex}.note-chip{background:#ffffff0a;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:.82rem;display:flex}.note-chip select{padding:1px 3px;font-size:.8rem}.checkbox-row{color:var(--text-muted);align-items:center;gap:8px;width:fit-content;font-size:.9rem;display:flex}.author-panel input{max-width:360px}.fretboard-actions{flex-wrap:wrap;gap:8px;display:flex}.practice-panel .hint{color:var(--text-muted);font-size:.9rem}.result-line{font-size:1.05rem;font-weight:600}.tutorial-click-blocker{z-index:1000;background:#00000073;position:fixed;inset:0}.tutorial-spotlight{z-index:1001;box-shadow:0 0 0 9999px #00000073, 0 0 0 3px var(--accent), 0 0 24px 4px #f59e0b99;pointer-events:none;border-radius:8px;transition:top .25s,left .25s,width .25s,height .25s;position:fixed}.tutorial-overlay-floating{z-index:1002;width:min(480px,92vw);position:fixed;left:50%;transform:translate(-50%)}.tutorial-panel-bottom{bottom:24px}.tutorial-panel-top{top:24px}.tutorial-panel{background:var(--card-bg);border:1px solid var(--accent);border-radius:12px;width:100%;max-width:480px;padding:24px}.tutorial-panel h3{margin:0 0 4px}.tutorial-step-count{color:var(--text-muted);margin:0 0 14px;font-size:.85rem}.tutorial-panel h4{color:var(--accent);margin:0 0 8px}.tutorial-panel p{margin:0 0 16px;line-height:1.5}.tutorial-panel-actions{justify-content:space-between;gap:10px;display:flex}.tutorial-offer-banner{border:1px solid var(--accent);background:#f59e0b1f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;padding:10px 16px;display:flex}.tutorial-offer-actions{flex-shrink:0;gap:8px;display:flex}.warmup-prompt{border:1px solid var(--correct);background:#10b9811f;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 18px;display:flex}.warmup-prompt p{color:var(--text-muted);margin:2px 0 0;font-size:.88rem}.warmup-links{flex-wrap:wrap;gap:14px;display:flex}.warmup-links a{color:var(--correct);font-weight:600;text-decoration:none}.warmup-links a:hover{text-decoration:underline}.tutorials-page{flex-direction:column;gap:16px;display:flex}.tutorials-list{flex-direction:column;gap:8px;display:flex}.tutorial-row{background:var(--card-bg);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.tutorial-row-ready{border-left:3px solid var(--correct)}.tutorial-row-missing{border-left:3px solid var(--text-muted);opacity:.6}.tutorial-status{color:var(--text-muted);text-align:right;flex:1;margin-right:8px;font-size:.85rem}
