:root{--text: #6b6375;--text-h: #08060d;--bg: #fff;--border: #e5e4e7;--code-bg: #f4f3ec;--accent: #aa3bff;--accent-bg: rgba(170, 59, 255, .1);--accent-border: rgba(170, 59, 255, .5);--social-bg: rgba(244, 243, 236, .5);--shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:1024px){:root{font-size:16px}}@media(prefers-color-scheme:dark){:root{--text: #9ca3af;--text-h: #f3f4f6;--bg: #16171d;--border: #2e303a;--code-bg: #1f2028;--accent: #c084fc;--accent-bg: rgba(192, 132, 252, .15);--accent-border: rgba(192, 132, 252, .5);--social-bg: rgba(47, 48, 58, .5);--shadow: rgba(0, 0, 0, .4) 0 10px 15px -3px, rgba(0, 0, 0, .25) 0 4px 6px -2px}#social .button-icon{filter:invert(1) brightness(2)}}body{margin:0}#root{width:1126px;max-width:100%;margin:0 auto;text-align:center;min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media(max-width:1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media(max-width:1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}:root{--primary-color: #1a1a2e;--secondary-color: #16213e;--accent-color: #e94560;--accent-light: #ff6b6b;--text-light: #f5f5f5;--text-muted: #a8a8a8;--bg-gradient-start: #0f3460;--bg-gradient-end: #1a1a2e;--card-bg: rgba(255, 255, 255, .05);--border-color: rgba(255, 255, 255, .1);--success-color: #4caf50;--danger-color: #f44336;--warning-color: #ff9800}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,var(--bg-gradient-start),var(--bg-gradient-end));color:var(--text-light);min-height:100vh;line-height:1.6}.app{max-width:1500px;padding:20px;min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:40px;padding:20px;background:var(--card-bg);border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.header h1{font-size:3rem;font-weight:700;background:linear-gradient(45deg,var(--accent-color),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;text-shadow:0 0 30px rgba(233,69,96,.3)}.subtitle{font-size:1.2rem;color:var(--text-muted);font-style:italic}.author-link{color:var(--accent-light);text-decoration:none;font-weight:600;font-style:normal;transition:all .3s ease;position:relative}.author-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light));transition:width .3s ease}.author-link:hover{color:var(--accent-color);text-shadow:0 0 10px rgba(233,69,96,.5)}.author-link:hover:after{width:100%}.main{flex:1;display:flex;flex-direction:column;gap:30px}.chord-display{text-align:center;padding:28px 32px 22px;background:var(--card-bg);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);position:relative;overflow:hidden}.chord-display:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light),var(--accent-color));animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.current-chord{font-size:4rem;font-weight:700;color:var(--text-light);text-shadow:0 0 20px rgba(255,255,255,.3);margin-bottom:6px;line-height:1.1;min-height:80px;display:flex;align-items:center;justify-content:center}.countdown{font-size:1.5rem;color:var(--accent-light);font-weight:500;animation:countdown-pulse 1s ease-in-out infinite}@keyframes countdown-pulse{0%,to{opacity:.7}50%{opacity:1}}.auto-key-indicator{font-size:.78rem;color:var(--text-muted);font-style:italic;margin-top:8px;opacity:.6}.controls{background:var(--card-bg);border-radius:15px;padding:30px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.button-group{display:flex;gap:15px;margin-bottom:30px;justify-content:center;flex-wrap:wrap}.stats-section{margin:25px 0;padding:20px;background:#ffffff05;border-radius:10px;border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:15px;justify-items:center}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:6px;background:transparent;border:none;transition:all .2s ease;min-width:80px}.stat-item:hover{background:#ffffff08}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500;opacity:.7}.stat-value{font-size:1.3rem;font-weight:600;color:var(--text-light);transition:all .2s ease}.stat-unit{font-size:.65rem;color:var(--text-muted);font-weight:400;opacity:.6}@keyframes statGlow{0%,to{opacity:1}50%{opacity:.7}}.stat-value.updated{animation:statGlow .2s ease}@keyframes sessionPulse{0%,to{opacity:1}50%{opacity:.85}}.stat-item:nth-last-child(1) .stat-value,.stat-item:nth-last-child(2) .stat-value{animation:sessionPulse 3s ease-in-out infinite}.btn{padding:15px 30px;font-size:1.1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn.primary{background:linear-gradient(45deg,var(--accent-color),var(--accent-light));color:#fff}.btn.success{background:linear-gradient(45deg,var(--success-color),#66bb6a);color:#fff}.btn.danger{background:linear-gradient(45deg,var(--danger-color),#ef5350);color:#fff}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #0000004d}.timing-controls{margin-bottom:30px;padding:20px;background:#0003;border-radius:10px;border:1px solid var(--border-color)}.timing-controls h3{margin-bottom:15px;color:var(--accent-light);font-size:1.3rem}.interval-display{text-align:center;font-size:1.2rem;margin-bottom:20px;color:var(--text-light);font-weight:500}.slider-container{margin-bottom:20px}.slider{width:100%;height:8px;border-radius:5px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light));outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:25px;height:25px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 10px #e9456080;transition:all .3s ease}.slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 20px #e94560cc}.slider::-moz-range-thumb{width:25px;height:25px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 0 10px #e9456080;transition:all .3s ease}.slider:disabled{opacity:.5;cursor:not-allowed}.slider-labels{display:flex;justify-content:space-between;margin-top:5px;color:var(--text-muted);font-size:.9rem}.numeric-input-container{display:flex;align-items:center;gap:10px;justify-content:center}.numeric-input-container label{color:var(--text-light);font-weight:500}.numeric-input{padding:10px;border:2px solid var(--border-color);border-radius:8px;background:#0000004d;color:var(--text-light);font-size:1rem;width:80px;text-align:center;transition:all .3s ease}.numeric-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 10px #e945604d}.numeric-input:disabled{opacity:.5;cursor:not-allowed}.practice-controls{margin-bottom:30px;padding:20px;background:#0003;border-radius:10px;border:1px solid var(--border-color)}.practice-mode-switcher{display:flex;background:#ffffff0d;border-radius:25px;padding:4px;margin-bottom:25px;border:1px solid rgba(255,255,255,.1)}.mode-tab{flex:1;padding:12px 20px;border:none;background:transparent;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.mode-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.mode-tab:hover:before{left:100%}.mode-tab.inactive:hover{color:var(--text-light);background:#ffffff0d}.mode-tab.active{background:linear-gradient(135deg,var(--accent-color),var(--accent-light));color:#fff;font-weight:600;box-shadow:0 4px 15px #e945604d;text-shadow:0 1px 2px rgba(0,0,0,.3)}.mode-tab.active:hover{box-shadow:0 6px 20px #e9456066;transform:translateY(-1px)}.category-filters{margin-top:20px}.category-filters h3{margin-bottom:15px;color:var(--accent-light);font-size:1.3rem}.custom-chords-filters{margin-top:20px}.custom-chords-filters h3{margin-bottom:15px;color:var(--accent-light);font-size:1.3rem}.custom-chords-header{display:flex;gap:15px;margin-bottom:15px;align-items:center;flex-wrap:wrap}.search-container{flex:1;min-width:200px}.search-input{width:100%;padding:10px 15px;border:2px solid rgba(255,255,255,.1);border-radius:20px;background:#0000004d;color:var(--text-light);font-size:.9rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 10px #e945604d}.search-input::placeholder{color:var(--text-muted)}.quick-actions{display:flex;gap:10px}.quick-action-btn{padding:8px 16px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:#ffffff0d;color:var(--text-light);font-size:.8rem;cursor:pointer;transition:all .3s ease}.quick-action-btn:hover{background:#ffffff1a;border-color:var(--accent-color);color:var(--accent-light)}.selected-count{margin-bottom:15px;color:var(--text-muted);font-size:.9rem;font-style:italic}.custom-chords-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:300px;overflow-y:auto;padding:10px;background:#0000001a;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.chord-pill{padding:8px 12px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:#ffffff0d;color:var(--text-light);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center}.chord-pill.inactive:hover{background:#ffffff1a;border-color:#fff6;transform:scale(1.05)}.chord-pill.active{background:linear-gradient(135deg,#e945604d,#ff6b6b33);border-color:var(--accent-color);color:var(--accent-light);box-shadow:0 2px 8px #e945604d}.chord-pill.active:hover{transform:scale(1.05);box-shadow:0 4px 12px #e9456066}.category-warning{background:#f4433633;border:1px solid rgba(244,67,54,.5);border-radius:8px;padding:12px;margin-bottom:15px;color:var(--danger-color);font-size:.9rem;text-align:center;animation:warning-pulse 2s ease-in-out infinite}@keyframes warning-pulse{0%,to{opacity:.8}50%{opacity:1}}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.category-pill{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:25px;padding:15px 20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:5px;min-height:80px;position:relative;overflow:hidden}.category-pill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.category-pill:hover:before{left:100%}.category-pill.inactive{opacity:.4;transform:scale(.95)}.category-pill.inactive:hover{opacity:.7;transform:scale(1.02);border-color:#ffffff4d;background:#ffffff14}.category-pill.active{opacity:1;transform:scale(1);border-color:var(--accent-color);background:linear-gradient(135deg,#e9456033,#ff6b6b1a);box-shadow:0 4px 15px #e945604d,inset 0 1px #ffffff1a}.category-pill.active:hover{transform:scale(1.05);border-color:var(--accent-light);box-shadow:0 6px 20px #e9456066,inset 0 1px #fff3}.category-pill.active:after{content:"";position:absolute;top:2px;right:2px;width:8px;height:8px;background:var(--accent-light);border-radius:50%;animation:glow 2s ease-in-out infinite;display:none}@keyframes glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.category-name{color:var(--text-light);font-weight:600;font-size:1.1rem;text-transform:capitalize;letter-spacing:.5px}.category-description{color:var(--text-muted);font-size:.75rem;font-style:italic;text-align:center;line-height:1.2}.category-pill.active .category-name{color:var(--accent-light);text-shadow:0 0 10px rgba(233,69,96,.5)}.category-pill.active .category-description{color:#ffffffe6}.category-checkbox{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:25px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.category-checkbox:hover{background:#ffffff14;border-color:#ffffff4d;transform:scale(1.02)}.category-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-color);cursor:pointer}.category-checkbox .category-name{color:var(--text-light);font-weight:600;font-size:14px;line-height:1.2;-webkit-user-select:none;user-select:none}.footer{margin-top:40px;padding:30px 20px 20px;background:var(--card-bg);border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.footer-links{display:flex;justify-content:center;gap:25px;margin-bottom:25px;flex-wrap:wrap}.footer-link{color:var(--text-light);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;padding:12px 24px;border-radius:12px;background:linear-gradient(135deg,#e945601a,#ff6b6b0d);border:1px solid rgba(233,69,96,.3);box-shadow:0 4px 15px #e9456033;text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.footer-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .6s ease}.footer-link:hover{color:var(--accent-light);background:linear-gradient(135deg,#e9456033,#ff6b6b1a);border-color:var(--accent-light);transform:translateY(-3px);box-shadow:0 6px 20px #e9456066}.footer-link:hover:before{left:100%}.page-container{max-width:800px;margin:0 auto;padding:40px 20px;min-height:calc(100vh - 200px)}.page-content{background:var(--card-bg);border-radius:15px;padding:40px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color)}.page-container h1{color:var(--accent-light);font-size:2.5rem;margin-bottom:20px;text-align:center}.policy-date{text-align:center;color:var(--text-muted);font-style:italic;margin-bottom:30px}.page-section{margin-bottom:30px}.page-section h2{color:var(--accent-light);font-size:1.5rem;margin-bottom:15px;border-bottom:2px solid var(--accent-color);padding-bottom:8px}.page-section p,.page-section li{color:var(--text-light);line-height:1.6;margin-bottom:10px}.page-section ul{margin-left:20px}.page-section strong{color:var(--accent-color)}.page-section a{color:var(--accent-color);text-decoration:none;transition:color .3s ease}.page-section a:hover{color:var(--accent-light);text-decoration:none}.contact-info p{margin-bottom:10px}.page-navigation{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid var(--border-color)}.back-link{display:inline-block;color:var(--accent-color);text-decoration:none;font-weight:500;padding:10px 20px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.back-link:hover{color:var(--accent-light);background:#ffffff1a;border-color:var(--accent-color);transform:translateY(-2px)}.footer-section h4{color:var(--accent-light);font-size:1.1rem;margin-bottom:12px;font-weight:600}.footer-section p{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:8px}.footer-section strong{color:var(--text-light);font-weight:600}.footer-section a{color:var(--accent-color);text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:var(--accent-light);text-decoration:underline}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid var(--border-color);margin-top:20px}.footer-bottom p{color:var(--text-muted);font-size:.85rem;margin:0}.shortcuts{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;font-size:.9rem}.shortcuts strong{color:var(--accent-light)}.shortcuts span{color:var(--text-muted);padding:5px 10px;background:#0003;border-radius:5px;border:1px solid var(--border-color)}@media(max-width:768px){.app{padding:10px}.header h1{font-size:2rem}.current-chord{font-size:2.5rem;min-height:80px}.countdown{font-size:1.2rem}.button-group{flex-direction:column;align-items:center}.stats-section{margin:20px 0;padding:20px 15px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:15px}.stat-item{padding:10px 12px;min-width:70px}.stat-label{font-size:.65rem}.stat-value{font-size:1.2rem}.stat-unit{font-size:.6rem}.btn{width:100%;max-width:250px}.practice-mode-switcher{flex-direction:column;gap:8px}.mode-tab{padding:10px 15px;font-size:.8rem}.custom-chords-header{flex-direction:column;align-items:stretch}.quick-actions{justify-content:center}.custom-chords-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px}.category-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.category-pill{padding:12px 15px;min-height:70px}.category-name{font-size:1rem}.category-description{font-size:.7rem}.shortcuts{flex-direction:column;gap:10px;text-align:center}.footer-links{flex-direction:column;align-items:center;gap:15px}.footer-link{width:100%;text-align:center;max-width:200px}.page-container{padding:20px 15px}.page-content{padding:25px}.page-container h1{font-size:2rem}.page-section h2{font-size:1.3rem}}@media(max-width:480px){.controls{padding:20px}.timing-controls,.category-filters{padding:15px}.current-chord{font-size:2rem}}.presets-section{margin:1.5rem 0;padding:1.25rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px}.presets-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.presets-header h3{margin:0;font-size:1.05rem;letter-spacing:.02em;color:var(--text-light)}.preset-save-btn{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));color:#fff;border:none;padding:.5rem .95rem;border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,opacity .2s ease;box-shadow:0 2px 8px #e9456040}.preset-save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #e9456066}.preset-save-btn:active{transform:translateY(0)}.preset-save-btn.pulse{animation:preset-pulse .8s ease}@keyframes preset-pulse{0%{transform:scale(1);box-shadow:0 0 #e945608c}50%{transform:scale(1.06);box-shadow:0 0 0 10px #e9456000}to{transform:scale(1);box-shadow:0 0 #e9456000}}.preset-save-plus{font-size:1.05rem;line-height:1;margin-top:-2px}.preset-save-input{flex:1;min-width:0;max-width:240px;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--accent-color);background:#00000040;color:var(--text-light);font-size:.9rem;outline:none;transition:box-shadow .2s}.preset-save-input:focus{box-shadow:0 0 0 3px #e9456040}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem}.preset-card{position:relative;display:flex;align-items:stretch;background:#ffffff0a;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:transform .15s ease,border-color .2s ease,box-shadow .25s ease,background .2s ease}.preset-card:hover{border-color:var(--accent-color);background:#e945600f;box-shadow:0 0 0 1px #e9456026,0 6px 18px #00000040;transform:translateY(-1px)}.preset-load-btn{flex:1;min-width:0;text-align:left;background:transparent;border:none;color:var(--text-light);padding:.6rem .75rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;font-family:inherit}.preset-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-summary{font-size:.72rem;color:var(--text-muted);letter-spacing:.02em}.preset-actions{display:flex;align-items:center;gap:.15rem;padding-right:.35rem;opacity:0;transition:opacity .2s ease}.preset-card:hover .preset-actions,.preset-card:focus-within .preset-actions{opacity:1}.preset-icon-btn{background:transparent;border:none;color:var(--text-muted);width:22px;height:22px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;line-height:1;transition:color .15s ease,background .15s ease}.preset-icon-btn:hover{background:#ffffff14;color:var(--text-light)}.preset-icon-btn.danger:hover{background:#e945602e;color:var(--accent-light)}.preset-rename-input{width:100%;padding:.55rem .75rem;border-radius:12px;border:1px solid var(--accent-color);background:#00000040;color:var(--text-light);font-size:.9rem;font-family:inherit;outline:none}@media(max-width:600px){.presets-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.preset-actions{opacity:1}}.layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.main-column{display:flex;flex-direction:column;gap:30px;min-width:0}.sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:20px}.sidebar .presets-section,.sidebar .stats-section{margin:0}.sidebar .presets-grid{grid-template-columns:1fr}.sidebar .stats-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:1100px){.layout-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}}@media(max-width:820px){.layout-grid{grid-template-columns:1fr;gap:22px}.sidebar{position:static;order:2}.sidebar .presets-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.sidebar .stats-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}}.preset-card.active{border-color:var(--accent-color);background:linear-gradient(135deg,#e945602e,#ff6b6b14);box-shadow:0 0 0 1px #e9456059,0 6px 18px #e945601f}.preset-card.active .preset-name{color:var(--accent-light)}.preset-card.active .preset-load-btn:before{content:"●";position:absolute;top:8px;right:10px;font-size:.55rem;color:var(--accent-light);text-shadow:0 0 8px var(--accent-light);animation:preset-active-pulse 2s ease-in-out infinite}@keyframes preset-active-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.preset-load-btn{position:relative}.preset-card.user .preset-load-btn,.preset-card.builtin .preset-load-btn{outline:none}.preset-card:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px #e945604d}.preset-card.user .preset-actions{opacity:.55}.preset-card.user:hover .preset-actions,.preset-card.user:focus-within .preset-actions{opacity:1}.countdown-slot{height:22px;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem;color:var(--text-muted);opacity:0;transform:translateY(-4px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}.countdown-slot.visible{opacity:1;transform:translateY(0)}.countdown-label{letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;opacity:.7}.countdown-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent-light);min-width:3.4ch;text-align:left}.countdown{display:none}.current-chord{animation:chord-enter .25s ease-out}@keyframes chord-enter{0%{opacity:0;transform:translateY(8px) scale(.96)}60%{opacity:1}to{transform:translateY(0) scale(1)}}.share-session-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;background:transparent;color:var(--text-light);border:1px solid var(--border-color);border-radius:12px;font-size:.88rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease,box-shadow .25s ease}.share-session-btn:hover{border-color:var(--accent-color);background:#e945600d;box-shadow:0 0 0 1px #e9456033,0 4px 14px #e945601a}.share-session-btn:active{transform:scale(.98)}.share-session-icon{font-size:1rem;color:var(--accent-light);transition:transform .2s ease;display:inline-block}.share-session-btn:hover .share-session-icon{transform:translate(2px,-2px)}.share-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#050814c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 24px;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:share-modal-fade .25s ease-out}@keyframes share-modal-fade{0%{opacity:0}to{opacity:1}}.share-modal-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:520px;animation:share-modal-rise .3s ease-out}@keyframes share-modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.share-modal-close{position:fixed;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#ffffff14;color:var(--text-light);border:1px solid var(--border-color);font-size:1.2rem;line-height:1;cursor:pointer;z-index:1001;transition:background .2s ease,border-color .2s ease}.share-modal-close:hover{background:#ffffff1f;border-color:var(--accent-color)}.share-card-wrapper{display:flex;justify-content:center;max-width:100%}.share-modal-actions{display:flex;flex-direction:column;align-items:center;gap:6px}.share-primary-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.share-action-btn{min-width:150px}.share-social-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.share-social-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--border-color);background:#ffffff0a;color:var(--text-light);font-size:.82rem;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.share-social-btn:hover{transform:translateY(-1px);background:#ffffff14}.share-social-btn.fb:hover{border-color:#4267b2;box-shadow:0 0 0 1px #4267b266}.share-social-btn.x:hover{border-color:#fff;box-shadow:0 0 0 1px #ffffff4d}.share-social-btn.wa:hover{border-color:#25d366;box-shadow:0 0 0 1px #25d36666}.share-social-btn.tg:hover{border-color:#2aabee;box-shadow:0 0 0 1px #2aabee66}.share-modal-hint{margin:0;font-size:.78rem;color:var(--text-muted);letter-spacing:.02em;text-align:center;max-width:320px}.share-modal-feedback{margin:0;font-size:.82rem;color:var(--accent-light);letter-spacing:.02em;animation:share-feedback-fade .3s ease-out}@keyframes share-feedback-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.share-card{width:1080px;height:1350px;background:radial-gradient(circle at 20% 0%,#1f2348,#0d0f24 55%,#08091a);color:#f3f4ff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden;transform-origin:top center;transform:scale(.42);margin-bottom:calc(-1350px * (1 - .42))}.share-card-inner{position:relative;width:100%;height:100%;padding:90px 90px 80px;display:flex;flex-direction:column;box-sizing:border-box}.share-card-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px 600px at 90% 110%,rgba(233,69,96,.16),transparent 60%),radial-gradient(700px 500px at -10% -10%,rgba(110,130,255,.1),transparent 60%);pointer-events:none}.share-card-header{position:relative;display:flex;align-items:center;justify-content:space-between}.share-card-brand{display:inline-flex;align-items:center;gap:14px}.share-card-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,#e94560,#ff6b6b);box-shadow:0 0 18px #e945608c}.share-card-brand-name{font-size:30px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.share-card-date{font-size:22px;color:#f3f4ff8c;letter-spacing:.06em}.share-card-body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;gap:56px}.share-card-title{margin:0;font-size:48px;font-weight:600;letter-spacing:-.01em;line-height:1.1;color:#f3f4ffeb}.share-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:42px 60px}.share-card-stat{display:flex;flex-direction:column;gap:10px}.share-card-stat-value{font-size:68px;font-weight:700;line-height:1;letter-spacing:-.02em;color:#f3f4ff;text-shadow:0 0 24px rgba(200,206,255,.18)}.share-card-stat-label{font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:#f3f4ff80}.share-card-footer{position:relative;display:flex;flex-direction:column;gap:18px;border-top:1px solid rgba(243,244,255,.08);padding-top:36px}.share-card-quote{margin:0;font-size:32px;font-style:italic;color:#f3f4ffc7;letter-spacing:.005em}.share-card-url{margin:0;font-size:22px;color:#e94560bf;letter-spacing:.12em;text-transform:uppercase}@media(max-width:700px){.share-card{transform:scale(.34);margin-bottom:calc(-1350px * (1 - .34))}.share-modal{padding:56px 12px 20px}}@media(max-width:480px){.share-card{transform:scale(.26);margin-bottom:-999px}}@media(max-width:380px){.share-card{transform:scale(.22);margin-bottom:-1053px}}.chord-display,.controls,.stats-section,.presets-section,.site-footer{background:#ffffff08;border:1px solid var(--border-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chord-display:before{display:none}.current-chord{text-shadow:0 0 24px rgba(255,255,255,.18);animation:chord-enter .25s ease-out}.controls{padding:22px;border-radius:16px}.header{background:#ffffff08;border-radius:16px;border:1px solid var(--border-color);padding:18px 22px;margin-bottom:24px}.header h1{font-size:1.8rem;text-shadow:none;margin-bottom:4px;letter-spacing:-.01em}.site-footer{margin-top:40px;padding:18px 22px 14px;display:flex;flex-direction:column;gap:12px}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.site-footer-brand{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light)}.site-footer-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));box-shadow:0 0 10px #e9456073}.site-footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.site-footer-link{color:var(--text-muted);text-decoration:none;font-size:.85rem;padding:6px 12px;border-radius:999px;border:1px solid transparent;transition:color .2s ease,border-color .2s ease,background .2s ease}.site-footer-link:hover{color:var(--text-light);border-color:var(--border-color);background:#ffffff0a}.site-footer-hint{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-muted)}.site-footer-hint kbd{display:inline-block;padding:2px 8px;font-family:inherit;font-size:.72rem;color:var(--text-light);background:#ffffff0f;border:1px solid var(--border-color);border-radius:6px;letter-spacing:.04em}.site-footer-bottom{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid var(--border-color);font-size:.75rem;color:var(--text-muted);letter-spacing:.02em}.site-footer-sep{opacity:.5}.site-footer-author{color:var(--accent-light);text-decoration:none;font-weight:500;transition:color .2s ease}.site-footer-author:hover{color:var(--accent-color)}@media(max-width:600px){.site-footer-inner{flex-direction:column;align-items:flex-start}.site-footer-nav{width:100%;justify-content:flex-start}}.stats-section{margin:0;padding:18px 20px}.stat-item{background:#ffffff06;border:1px solid var(--border-color);border-radius:12px;padding:12px 14px;transition:border-color .2s ease,background .2s ease}.stat-item:hover{border-color:var(--accent-color);background:#e945600a}.btn{border-radius:12px;padding:10px 18px;font-size:.9rem;font-weight:600;letter-spacing:.02em;transition:transform .15s ease,box-shadow .25s ease,background .2s ease,border-color .2s ease}.btn.primary{background:linear-gradient(135deg,var(--accent-color),var(--accent-light));border:none;box-shadow:0 2px 10px #e9456040}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #e9456066}.btn.success,.btn.danger{border-radius:12px}.presets-header h3,.timing-controls h3,.category-filters h3,.custom-chords-filters h3{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .85rem;font-weight:600}.presets-header h3{margin:0}.slider{accent-color:var(--accent-color)}.controls .timing-controls,.controls .category-filters,.controls .custom-chords-filters{padding:16px 18px;margin-bottom:16px;background:#ffffff06;border:1px solid var(--border-color);border-radius:12px}.controls .timing-controls:last-child,.controls .category-filters:last-child,.controls .custom-chords-filters:last-child,.controls .practice-controls:last-child{margin-bottom:0}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.category-checkbox{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff06;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .15s ease}.category-checkbox:hover{background:#e945600d;border-color:var(--accent-color);transform:none}.category-checkbox:has(input:checked){background:#e945601f;border-color:var(--accent-color);box-shadow:0 0 0 1px #e9456040}.category-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer;flex-shrink:0}.category-checkbox .category-name{color:var(--text-light);font-weight:500;font-size:.88rem;letter-spacing:.01em}.category-checkbox:has(input:checked) .category-name{color:var(--accent-light)}.custom-chords-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px}.chord-pill{padding:8px 10px;background:#ffffff06;border:1px solid var(--border-color);border-radius:8px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background .15s ease,color .15s ease,transform .12s ease}.chord-pill:hover{border-color:var(--accent-color);background:#e945600d;color:var(--text-light);transform:translateY(-1px)}.chord-pill.active{border-color:var(--accent-color);background:#e945602e;color:var(--accent-light);box-shadow:0 0 0 1px #e9456033}.search-input{padding:10px 14px;border:1px solid var(--border-color);background:#00000040;border-radius:10px;color:var(--text-light);font-size:.9rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #e945602e}.quick-action-btn{padding:8px 14px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;color:var(--text-light);font-size:.82rem;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .2s ease,background .2s ease}.quick-action-btn:hover{border-color:var(--accent-color);background:#e945600f}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.custom-chords-header{display:flex;gap:12px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.search-container{flex:1;min-width:180px}.selected-count{font-size:.78rem;color:var(--text-muted);letter-spacing:.04em;margin-bottom:12px}.category-warning{background:#f4433614;border:1px solid rgba(244,67,54,.4);border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:.82rem;color:#ffb3b3;animation:none}.btn.success{background:linear-gradient(135deg,#4caf50,#66bb6a);border:none;color:#fff;box-shadow:0 2px 10px #4caf5038}.btn.success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #4caf5066}.btn.danger{background:linear-gradient(135deg,#ff5252,#ff7575);border:none;color:#fff;box-shadow:0 2px 10px #ff525238}.btn.danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #ff525266}.btn:disabled{opacity:.5;cursor:not-allowed}.button-group{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.button-group .btn{flex:1;min-width:140px}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:#ffffff1a;outline:none;cursor:pointer;margin:6px 0}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));cursor:pointer;box-shadow:0 2px 8px #e9456066;transition:transform .15s ease,box-shadow .2s ease;border:2px solid #1a1a2e}.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 0 0 6px #e9456026,0 2px 12px #e9456080}.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));cursor:pointer;box-shadow:0 2px 8px #e9456066;border:2px solid #1a1a2e}.slider-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-muted);letter-spacing:.04em;margin-top:2px}.slider-container{margin-bottom:10px}.timing-display{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:8px;color:var(--text-light)}.timing-display .timing-value{font-size:1.4rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--accent-light)}.timing-display .timing-unit{font-size:.78rem;color:var(--text-muted);letter-spacing:.04em}.stat-item{text-align:center;padding:14px 12px}.stat-value{font-size:1.6rem;font-weight:700;color:var(--text-light);display:block;letter-spacing:-.01em;margin-bottom:2px;font-variant-numeric:tabular-nums}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.stat-item.animated .stat-value{color:var(--accent-light);transition:color .3s ease}.mode-toggle{display:flex;gap:6px;padding:4px;background:#0003;border:1px solid var(--border-color);border-radius:12px;margin-bottom:14px}.mode-toggle button{flex:1;padding:8px 12px;background:transparent;border:none;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;border-radius:8px;transition:background .2s ease,color .2s ease}.mode-toggle button.active{background:linear-gradient(135deg,var(--accent-color),var(--accent-light));color:#fff;box-shadow:0 2px 8px #e945604d}.mode-toggle button:hover:not(.active){color:var(--text-light);background:#ffffff0a}.chord-focus-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:8px;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-muted);font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s ease,border-color .2s ease,background .2s ease;z-index:5}.chord-focus-btn:hover{color:var(--accent-light);border-color:var(--accent-color);background:#e945600f}.chord-display{position:relative}.focus-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:radial-gradient(circle at 50% 0%,#1a1d3a,#0a0b1f,#050610);color:var(--text-light);display:flex;flex-direction:column;align-items:center;padding:40px 24px;overflow:hidden;animation:focus-fade-in .5s ease-out}@keyframes focus-fade-in{0%{opacity:0}to{opacity:1}}.focus-mode:before{content:"";position:absolute;inset:-20% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,rgba(233,69,96,.1),transparent 70%);pointer-events:none;filter:blur(40px)}.focus-mode:after{content:"";position:absolute;inset:auto auto -20% -20%;width:60%;height:60%;background:radial-gradient(circle,rgba(80,110,240,.08),transparent 70%);pointer-events:none;filter:blur(40px)}.focus-exit{position:absolute;top:24px;right:24px;width:44px;height:44px;border-radius:50%;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease;z-index:2}.focus-exit:hover{color:var(--text-light);border-color:var(--accent-color);background:#e9456014}.focus-stats{position:relative;display:flex;gap:36px;align-items:baseline;padding-top:8px;z-index:2}.focus-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.focus-stat-value{font-size:1.1rem;font-weight:600;color:var(--text-light);font-variant-numeric:tabular-nums;letter-spacing:.01em}.focus-stat-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.focus-chord-area{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;z-index:2}.focus-chord{font-size:clamp(6rem,22vw,16rem);font-weight:700;line-height:1;letter-spacing:-.02em;color:var(--text-light);text-shadow:0 0 60px rgba(255,255,255,.15);animation:focus-chord-enter .4s cubic-bezier(.2,.9,.3,1)}@keyframes focus-chord-enter{0%{opacity:0;transform:translateY(20px) scale(.96);filter:blur(8px)}60%{opacity:1;filter:blur(0)}to{transform:translateY(0) scale(1)}}.focus-countdown{height:32px;margin-top:24px;font-size:1.1rem;font-weight:500;color:var(--accent-light);letter-spacing:.06em;font-variant-numeric:tabular-nums;opacity:0;transform:translateY(-4px);transition:opacity .3s ease,transform .3s ease}.focus-countdown.visible{opacity:1;transform:translateY(0);animation:focus-pulse 1.6s ease-in-out infinite}@keyframes focus-pulse{0%,to{opacity:.7}50%{opacity:1}}.focus-actions{position:relative;display:flex;gap:12px;margin-bottom:14px;z-index:2}.focus-btn{padding:14px 28px;border-radius:14px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;letter-spacing:.02em;transition:transform .15s ease,box-shadow .25s ease,background .2s ease,border-color .2s ease;min-width:140px}.focus-btn.ghost{background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-light)}.focus-btn.ghost:hover:not(:disabled){border-color:var(--accent-color);background:#e945600f}.focus-btn.ghost:disabled{opacity:.4;cursor:not-allowed}.focus-btn.primary{background:linear-gradient(135deg,var(--accent-color),var(--accent-light));border:none;color:#fff;box-shadow:0 4px 18px #e9456059}.focus-btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px #e945608c}.focus-btn.primary.stop{background:linear-gradient(135deg,#ff5252,#ff7575);box-shadow:0 4px 18px #ff525259}.focus-hint{position:relative;margin:0;font-size:.78rem;color:var(--text-muted);letter-spacing:.04em;z-index:2}.focus-hint kbd{display:inline-block;padding:2px 8px;margin:0 2px;background:#ffffff0d;border:1px solid var(--border-color);border-radius:6px;font-family:inherit;font-size:.72rem;color:var(--text-light)}@media(orientation:landscape)and (max-height:600px){.focus-stats{padding-top:0;gap:24px}.focus-chord{font-size:clamp(4rem,18vh,12rem)}.focus-mode{padding:20px 24px}}@media(max-width:600px){.focus-stats{gap:24px}.focus-actions{flex-direction:column;width:100%;max-width:280px}.focus-btn{width:100%}.focus-exit{top:16px;right:16px;width:38px;height:38px}}.main-nav{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#ffffff05;border-bottom:1px solid var(--border-color);margin:-20px -20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.main-nav-brand{display:flex;align-items:center;gap:10px}.main-nav-logo{font-size:1.5rem;color:var(--accent-light)}.main-nav-title{font-size:1.25rem;font-weight:700;color:var(--text-light);letter-spacing:-.02em}.main-nav-sections{display:flex;align-items:center;gap:4px;margin-left:32px}.main-nav-section{padding:10px 20px;text-decoration:none;color:var(--text-muted);font-size:.95rem;font-weight:500;letter-spacing:.02em;border-radius:8px;transition:all .2s ease;position:relative}.main-nav-section:hover{color:var(--text-light);background:#ffffff0a}.main-nav-section.active{color:var(--text-light);background:#e945601a}.main-nav-section.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light));border-radius:2px}.main-nav-spacer{flex:1}.sub-nav{display:flex;justify-content:center;padding:16px 24px;margin:0 -20px 24px}.sub-nav-items{display:flex;gap:4px;padding:4px;background:#ffffff08;border-radius:12px;border:1px solid var(--border-color)}.sub-nav-item{display:flex;align-items:center;gap:6px;padding:10px 20px;text-decoration:none;color:var(--text-muted);font-size:.9rem;font-weight:500;border-radius:8px;transition:all .2s ease;position:relative}.sub-nav-item:hover:not(.coming-soon){color:var(--text-light);background:#ffffff0a}.sub-nav-item.active{color:var(--text-light);background:#e945601f;box-shadow:0 0 0 1px #e9456033}.sub-nav-item.coming-soon{opacity:.5;cursor:not-allowed}.sub-nav-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;background:#ffffff14;border-radius:4px;color:var(--text-muted)}@media(max-width:768px){.main-nav{flex-wrap:wrap;gap:12px;padding:12px 16px}.main-nav-brand{flex:1}.main-nav-sections{order:3;width:100%;margin-left:0;justify-content:center;gap:2px}.main-nav-section{padding:8px 14px;font-size:.88rem}.sub-nav{padding:12px 16px;margin:0 -20px 20px}.sub-nav-items{flex-wrap:wrap;justify-content:center;gap:2px}.sub-nav-item{padding:8px 14px;font-size:.85rem}}@media(max-width:480px){.main-nav{padding:10px 12px}.main-nav-title{font-size:1.1rem}.main-nav-section{padding:6px 10px;font-size:.82rem}.sub-nav{padding:10px 12px;margin:0 -20px 16px}.sub-nav-item{padding:6px 12px;font-size:.8rem}.sub-nav-badge{display:none}}.staff-section .staff-display{width:100%;display:flex;flex-direction:column;align-items:center}.staff-canvas{width:100%;max-width:520px;margin:0 auto;padding:16px 8px 8px;background:#fffffff5;border-radius:12px;box-shadow:0 4px 24px #00000059,inset 0 0 0 1px #ffffff80;animation:staff-fade-in .35s ease-out}@keyframes staff-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.staff-note-label{margin-top:14px;font-size:1.2rem;font-weight:600;color:var(--accent-light);letter-spacing:.08em;font-variant-numeric:tabular-nums;animation:staff-fade-in .35s ease-out}.note-options,.note-ranges{margin-top:14px}.note-options h3,.note-ranges h3{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .85rem;font-weight:600}.note-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:#ffffff06;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;font-size:.9rem;color:var(--text-light);transition:border-color .2s ease,background .2s ease}.note-toggle:hover{border-color:var(--accent-color);background:#e945600d}.note-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.note-toggle:has(input:checked){background:#e945601f;border-color:var(--accent-color);box-shadow:0 0 0 1px #e9456040}.note-range-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.note-range-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;background:#ffffff06;border:1px solid var(--border-color);border-radius:12px;color:var(--text-light);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .2s ease,background .2s ease,transform .15s ease}.note-range-card:hover{border-color:var(--accent-color);background:#e945600d;transform:translateY(-1px)}.note-range-card.active{border-color:var(--accent-color);background:linear-gradient(135deg,#e9456029,#ff6b6b0f);box-shadow:0 0 0 1px #e945604d,0 4px 14px #e945601f}.note-range-label{font-size:.95rem;font-weight:600;letter-spacing:.01em}.note-range-card.active .note-range-label{color:var(--accent-light)}.note-range-desc{font-size:.74rem;color:var(--text-muted);letter-spacing:.02em}.staff-section{padding:22px 24px 18px}.route-fallback{display:flex;align-items:center;justify-content:center;min-height:60vh}.route-fallback-spinner{width:32px;height:32px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent-color);border-radius:50%;animation:route-fallback-spin .8s linear infinite}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}.focus-staff-area{width:100%}.focus-staff-frame{width:min(900px,90vw);margin:0 auto;padding:32px 28px;background:#fffffff5;border-radius:18px;box-shadow:0 24px 80px #00000073,0 0 0 1px #ffffff80 inset;animation:focus-chord-enter .4s cubic-bezier(.2,.9,.3,1)}.focus-staff-frame .staff-display{align-items:center}.focus-staff-frame .staff-canvas{background:transparent;box-shadow:none;padding:8px;max-width:100%}.focus-staff-frame .staff-note-label{margin-top:18px;font-size:1.6rem;color:var(--accent-color)}@media(max-width:600px){.focus-staff-frame{padding:18px 12px;width:96vw}}.playback-controls{margin-bottom:16px;padding:14px 16px;background:#ffffff06;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:10px}.playback-row{display:flex;align-items:center;gap:10px}.playback-toggle{flex:1;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;background:#ffffff08;border:1px solid var(--border-color);border-radius:10px;color:var(--text-light);font-size:.88rem;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .2s ease,background .2s ease,color .2s ease}.playback-toggle.off{color:var(--text-muted)}.playback-toggle:hover{border-color:var(--accent-color);background:#e945600d}.playback-toggle.on{border-color:var(--accent-color);background:#e945601a;color:var(--accent-light);box-shadow:0 0 0 1px #e9456033}.playback-toggle-icon{font-size:1rem;font-weight:600;line-height:1;width:18px;text-align:center}.playback-toggle.on .playback-toggle-icon{color:var(--accent-light);text-shadow:0 0 12px rgba(233,69,96,.55)}.playback-play-btn{width:38px;height:38px;border-radius:50%;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-light);font-size:1rem;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;padding-left:2px;transition:border-color .2s ease,background .2s ease,transform .15s ease;flex-shrink:0}.playback-play-btn:hover:not(:disabled){border-color:var(--accent-color);background:#e9456014;transform:scale(1.06)}.playback-play-btn:disabled{opacity:.35;cursor:not-allowed}.playback-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text-muted);cursor:pointer}.playback-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-color);cursor:pointer}.playback-checkbox:hover{color:var(--text-light)}.playback-volume-row{align-items:center}.playback-volume-icon{font-size:.9rem;color:var(--text-muted);width:20px;text-align:center;flex-shrink:0}.playback-volume-slider{flex:1;height:4px}.playback-volume-value{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:28px;text-align:right;letter-spacing:.02em}.ear-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:32px 32px 28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:22px;transition:border-color .4s ease,box-shadow .5s ease,background .4s ease;position:relative;overflow:hidden}.ear-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light),var(--accent-color));opacity:.55}.ear-card-correct{border-color:#4caf5073;box-shadow:0 0 0 1px #4caf502e,0 0 32px #4caf501f;background:linear-gradient(180deg,rgba(76,175,80,.05),var(--card-bg) 70%)}.ear-card-wrong{border-color:var(--border-color);box-shadow:none}.ear-card-revealed{border-color:#4caf504d;box-shadow:0 0 0 1px #4caf501f}.ear-mode-switcher{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border-radius:999px;background:#ffffff0a;border:1px solid var(--border-color)}.ear-mode-tab{border:none;background:transparent;color:var(--text-muted);padding:8px 18px;border-radius:999px;font-size:.85rem;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:color .2s ease,background .2s ease;font-family:inherit}.ear-mode-tab:hover{color:var(--text-light)}.ear-mode-tab.active{color:#fff;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));box-shadow:0 2px 10px #e9456040}.ear-prompt{font-size:.85rem;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;text-align:center}.ear-play-row{display:flex;justify-content:center;padding:6px 0 4px}.ear-play-btn{width:120px;height:120px;border-radius:50%;border:1px solid rgba(233,69,96,.45);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.08),transparent 55%),linear-gradient(135deg,#e9456038,#ff6b6b1a);color:var(--text-light);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-family:inherit;transition:transform .2s ease,box-shadow .3s ease,border-color .3s ease;box-shadow:0 4px 24px #e9456026}.ear-play-btn:hover{transform:translateY(-2px) scale(1.02);border-color:var(--accent-light);box-shadow:0 8px 32px #e945604d}.ear-play-btn:active{transform:translateY(0) scale(.98)}.ear-play-icon{font-size:2.2rem;color:var(--accent-light);margin-left:6px;line-height:1}.ear-play-label{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.ear-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.ear-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;background:#ffffff06;border:1px solid var(--border-color);border-radius:12px;color:var(--text-light);cursor:pointer;font-family:inherit;transition:border-color .2s ease,background .2s ease,transform .15s ease,opacity .3s ease;min-height:64px;text-align:left}.ear-option:hover:not(:disabled){border-color:var(--accent-color);background:#e945600f;transform:translateY(-1px)}.ear-option-label{font-size:.98rem;font-weight:600;letter-spacing:.01em}.ear-option-hint{font-size:.72rem;color:var(--text-muted);letter-spacing:.02em}.ear-option.is-correct{border-color:#4caf50b3;background:#4caf501f;box-shadow:0 0 0 1px #4caf504d,0 0 24px #4caf502e;animation:earCorrectPulse .7s ease}.ear-option.is-correct .ear-option-label{color:#a5d6a7}.ear-option.is-wrong{border-color:#ff98008c;background:#ff98000f;animation:earShake .35s ease}.ear-option.is-wrong .ear-option-label{color:#ffcc80}.ear-option.is-reveal{border-color:#4caf5073;background:#4caf500f}.ear-option.is-reveal .ear-option-label{color:#a5d6a7}.ear-option.is-dim{opacity:.45}.ear-option.is-eliminated{opacity:.28;text-decoration:line-through;text-decoration-color:#ffffff40;filter:grayscale(.4);cursor:not-allowed}.ear-option.is-eliminated:hover{border-color:var(--border-color);background:#ffffff06;transform:none}.ear-option:disabled{cursor:default}@keyframes earCorrectPulse{0%{box-shadow:0 0 #4caf5080}60%{box-shadow:0 0 0 14px #4caf5000}to{box-shadow:0 0 0 1px #4caf504d,0 0 24px #4caf502e}}@keyframes earShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.ear-feedback{min-height:22px;text-align:center;font-size:.92rem;letter-spacing:.01em;transition:color .3s ease,opacity .3s ease}.ear-feedback.correct .ear-feedback-text{color:#a5d6a7}.ear-feedback.wrong .ear-feedback-text{color:#ffcc80}.ear-feedback.revealed .ear-feedback-text{color:#a5d6a7}.ear-feedback .muted{color:var(--text-muted);font-style:italic}.ear-feedback-mark{display:inline-block;margin-right:8px;font-size:1.05rem;color:#66bb6a}.ear-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:4px}.ear-actions .btn{min-width:140px}.ear-secondary-btn{padding:10px 18px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-light);border-radius:12px;font-size:.88rem;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .2s ease,background .2s ease}.ear-secondary-btn:hover:not(:disabled){border-color:var(--accent-color);background:#e945600f}.ear-secondary-btn:disabled{opacity:.4;cursor:not-allowed}.ear-hint-btn{border-color:#ff980059;color:#ffcc80}.ear-hint-btn:hover:not(:disabled){border-color:#ffb74d;background:#ff980012;color:#ffd699}.ear-text-btn{background:none;border:none;color:var(--text-muted);font-size:.84rem;font-family:inherit;font-weight:500;letter-spacing:.02em;cursor:pointer;padding:6px 8px;border-radius:6px;transition:color .2s ease,background .2s ease}.ear-text-btn:hover{color:var(--text-light);background:#ffffff0a}.ear-settings{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:18px 20px}.ear-settings h3{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .6rem;font-weight:600}.ear-settings-hint{font-size:.78rem;color:var(--text-muted);margin-bottom:12px;line-height:1.5}.ear-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ear-setting-pill{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-color);border-radius:10px;background:#ffffff05;color:var(--text-muted);font-size:.82rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease;-webkit-user-select:none;user-select:none}.ear-setting-pill:hover{border-color:var(--accent-color);background:#e945600d;color:var(--text-light)}.ear-setting-pill.active{border-color:var(--accent-color);background:#e945601f;color:var(--accent-light)}.ear-setting-pill input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-color);cursor:pointer;flex-shrink:0}@media(max-width:820px){.ear-card{padding:22px 18px}.ear-play-btn{width:100px;height:100px}.ear-play-icon{font-size:1.8rem}.ear-options{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.ear-option{padding:12px 14px;min-height:58px}.ear-actions{flex-direction:column;width:100%}.ear-actions .btn,.ear-actions .ear-secondary-btn,.ear-actions .ear-text-btn{width:100%}}@media(max-width:480px){.ear-settings-grid{grid-template-columns:1fr}}.live-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:32px 32px 28px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:26px;position:relative;overflow:hidden}.live-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light),var(--accent-color));opacity:.55}.live-source-switcher{display:inline-flex;align-self:flex-start;gap:4px;padding:4px;border-radius:999px;background:#ffffff0a;border:1px solid var(--border-color)}.live-source-tab{border:none;background:transparent;color:var(--text-muted);padding:8px 18px;border-radius:999px;font-size:.85rem;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:color .2s ease,background .2s ease;font-family:inherit}.live-source-tab:hover{color:var(--text-light);background:#ffffff0a}.live-source-tab.active{color:#fff;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));box-shadow:0 2px 10px #e9456040}.live-surface{display:flex;flex-direction:column;align-items:center;gap:20px;min-height:240px;justify-content:center}.live-start{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.live-start-hint{color:var(--text-muted);font-size:.9rem;max-width:320px;line-height:1.5}.live-error{color:#ffb3b3;font-size:.85rem}.live-banner{padding:12px 16px;border-radius:12px;font-size:.85rem;text-align:center}.live-banner-warn{background:#ff980014;border:1px solid rgba(255,152,0,.35);color:#ffcc80}.live-note{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:120px;justify-content:center}.live-note-name{font-size:5rem;font-weight:700;color:var(--text-light);line-height:1;letter-spacing:-.02em;transition:color .2s ease,opacity .15s ease}.live-note:not(.live-note-active) .live-note-name{color:var(--text-muted);opacity:.5}.live-note-active .live-note-name{color:var(--text-light)}.live-note-freq{font-size:.85rem;color:var(--text-muted);letter-spacing:.04em}.live-cents-track{position:relative;width:220px;height:4px;border-radius:2px;background:#ffffff14}.live-cents-track:before{content:"";position:absolute;left:50%;top:-3px;width:2px;height:10px;background:#4caf5080;border-radius:1px;transform:translate(-50%)}.live-cents-marker{position:absolute;top:-5px;left:50%;width:10px;height:14px;border-radius:50%;background:var(--accent-light);box-shadow:0 0 8px #e9456059;transition:transform .08s cubic-bezier(.25,.46,.45,.94)}.live-cents-labels{display:flex;justify-content:space-between;width:220px;font-size:.72rem;color:var(--text-muted);letter-spacing:.04em}.live-cents-labels .live-in-tune{color:#a5d6a7;font-weight:600}.live-level-row{display:flex;align-items:center;gap:10px;font-size:.78rem;color:var(--text-muted)}.live-level-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-light);display:inline-block;transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.live-level-dot[style*="opacity: 0.8"],.live-level-dot[style*="opacity: 0.9"],.live-level-dot[style*="opacity: 1"]{box-shadow:0 0 8px #e9456080}.live-active-notes{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:320px}.live-active-note-pill{padding:6px 12px;border-radius:999px;background:#ffffff0d;border:1px solid var(--border-color);font-size:.85rem;font-weight:600;color:var(--text-light)}.live-device-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;font-size:.78rem;color:var(--text-muted);max-width:320px}.live-device-label{opacity:.7}.live-device-name{padding:3px 8px;border-radius:6px;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-light);font-size:.72rem}.live-practice{border-top:1px solid var(--border-color);padding-top:24px;display:flex;flex-direction:column;gap:16px;align-items:center;transition:border-color .4s ease}.live-practice-matched{border-color:#4caf5059}.live-practice-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:320px}.live-practice-label{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.live-text-action{background:none;border:1px solid transparent;color:var(--text-muted);font-size:.82rem;font-family:inherit;font-weight:500;cursor:pointer;padding:5px 10px;border-radius:8px;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .15s ease}.live-text-action:hover{color:var(--accent-light);background:#e945600f;border-color:#e945604d}.live-text-action:active{transform:scale(.97)}.live-target-display{display:flex;align-items:center;gap:10px;min-height:56px;justify-content:center}.live-target-name{font-size:2.6rem;font-weight:700;color:var(--text-light);line-height:1}.live-target-check{font-size:1.6rem;color:#66bb6a;animation:earCorrectPulse .7s ease}.live-match-feedback{min-height:22px;text-align:center;font-size:.92rem;transition:color .3s ease}.live-match-ok{color:#a5d6a7}.live-match-close{color:#ffcc80}.live-match-feedback .muted{color:var(--text-muted);font-style:italic}.live-tips{margin:0;padding-left:16px;color:var(--text-muted);font-size:.82rem;line-height:1.7}.live-tips li{margin-bottom:6px}.midi-debug-panel{width:100%;max-width:320px;padding:12px 16px;background:#0000004d;border:1px solid var(--border-color);border-radius:10px;font-size:.82rem;font-family:monospace}.midi-debug-title{margin:0 0 8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.midi-debug-content{display:flex;flex-direction:column;gap:4px}.midi-debug-row{display:flex;justify-content:space-between;gap:12px}.midi-debug-label{color:var(--text-muted);font-size:.75rem;min-width:80px}.midi-debug-value{color:var(--text-light);font-size:.8rem;text-align:right}.midi-debug-raw{font-family:monospace;letter-spacing:.08em}.midi-debug-source{color:#a5d6a7}.midi-debug-placeholder{color:var(--text-muted);font-size:.8rem;text-align:center;margin:8px 0;font-style:italic}.midi-debug-hint{color:var(--text-muted);font-size:.7rem;text-align:center;margin:6px 0 0;opacity:.6}@media(max-width:820px){.live-card{padding:22px 18px}.live-note-name{font-size:3.8rem}.live-target-name{font-size:2rem}.live-cents-track,.live-cents-labels{width:180px}.live-surface{gap:16px;min-height:200px}.live-practice{gap:12px;padding-top:20px}}@media(max-width:480px){.live-card{padding:18px 14px;gap:20px}.live-note-name{font-size:3rem}.live-note{min-height:90px}.live-target-name{font-size:1.7rem}.live-cents-track,.live-cents-labels{width:160px}.live-source-tab{padding:7px 14px;font-size:.82rem}.live-practice-header,.live-active-notes,.live-device-list{max-width:100%}}.prog-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}@media(max-width:1024px){.prog-layout{grid-template-columns:1fr}}.prog-main{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:500px;display:flex;flex-direction:column;position:relative;overflow:hidden}.prog-main:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light),var(--accent-color));opacity:.55}.prog-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;padding:40px 20px}.prog-welcome-icon{font-size:4rem;opacity:.6;animation:prog-float 3s ease-in-out infinite}@keyframes prog-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.prog-welcome-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text-light)}.prog-welcome-text{font-size:1rem;color:var(--text-muted);max-width:400px;line-height:1.6}.prog-welcome-btn{margin-top:12px;padding:14px 32px;font-size:1rem}.prog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.prog-header-info{display:flex;flex-direction:column;gap:6px}.prog-category-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:#e945601f;border:1px solid rgba(233,69,96,.3);border-radius:999px;font-size:.75rem;font-weight:500;color:var(--accent-light);letter-spacing:.04em;text-transform:uppercase;width:fit-content}.prog-title{font-size:1.6rem;font-weight:700;color:var(--text-light);letter-spacing:-.01em}.prog-description{font-size:.9rem;color:var(--text-muted)}.prog-key-display{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 20px;background:#ffffff08;border:1px solid var(--border-color);border-radius:12px;min-width:80px}.prog-key-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.prog-key-value{font-size:1.4rem;font-weight:700;color:var(--accent-light)}.prog-chord-display{flex:1;display:flex;align-items:center;justify-content:center;min-height:180px;padding:20px}.prog-chord-current{display:flex;flex-direction:column;align-items:center;gap:8px;animation:prog-chord-enter .35s cubic-bezier(.2,.9,.3,1)}@keyframes prog-chord-enter{0%{opacity:0;transform:translateY(16px) scale(.95);filter:blur(4px)}60%{opacity:1;filter:blur(0)}to{transform:translateY(0) scale(1)}}.prog-chord-symbol{font-size:clamp(4rem,12vw,7rem);font-weight:700;color:var(--text-light);line-height:1;letter-spacing:-.02em;text-shadow:0 0 60px rgba(255,255,255,.12)}.prog-chord-numeral{font-size:1.2rem;font-weight:500;color:var(--text-muted);letter-spacing:.08em}.prog-timeline{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:20px 0;margin-bottom:16px}.prog-timeline-chord{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;background:#ffffff08;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;font-family:inherit;transition:all .2s ease;min-width:60px}.prog-timeline-chord:hover:not(:disabled){border-color:var(--accent-color);background:#e945600f;transform:translateY(-2px)}.prog-timeline-chord.active{background:linear-gradient(135deg,#e9456033,#ff6b6b1a);border-color:var(--accent-color);box-shadow:0 0 0 1px #e945604d,0 4px 20px #e9456033;transform:translateY(-2px) scale(1.05)}.prog-timeline-chord.past{opacity:.5}.prog-timeline-chord:disabled{cursor:default}.prog-timeline-symbol{font-size:.95rem;font-weight:600;color:var(--text-light)}.prog-timeline-chord.active .prog-timeline-symbol{color:var(--accent-light)}.prog-timeline-numeral{font-size:.7rem;color:var(--text-muted);letter-spacing:.04em}.prog-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.prog-nav-btn{width:48px;height:48px;border-radius:50%;background:#ffffff0a;border:1px solid var(--border-color);color:var(--text-light);font-size:1.2rem;cursor:pointer;font-family:inherit;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.prog-nav-btn:hover:not(:disabled){border-color:var(--accent-color);background:#e9456014}.prog-nav-btn:disabled{opacity:.35;cursor:not-allowed}.prog-play-btn{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),var(--accent-light));border:none;color:#fff;font-size:1.6rem;cursor:pointer;font-family:inherit;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #e9456059}.prog-play-btn:hover{transform:scale(1.05);box-shadow:0 6px 32px #e9456080}.prog-play-btn.playing{background:linear-gradient(135deg,#ff5252,#ff7575);animation:prog-pulse 1.5s ease-in-out infinite}@keyframes prog-pulse{0%,to{box-shadow:0 4px 24px #ff525259}50%{box-shadow:0 4px 32px #ff52528c}}.prog-play-icon{display:flex;align-items:center;justify-content:center;padding-left:2px}.prog-play-btn.playing .prog-play-icon{padding-left:0}.prog-tempo{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:#ffffff05;border-radius:12px;margin-bottom:16px}.prog-tempo-value{font-size:1.1rem;font-weight:600;color:var(--accent-light);font-variant-numeric:tabular-nums}.prog-tempo-slider{width:200px}.prog-tempo-labels{display:flex;justify-content:space-between;width:200px;font-size:.72rem;color:var(--text-muted)}.prog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.prog-action-btn{padding:8px 16px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease}.prog-action-btn:hover:not(:disabled){color:var(--text-light);border-color:var(--accent-color);background:#e945600f}.prog-action-btn.active{color:var(--accent-light);border-color:var(--accent-color);background:#e945601f}.prog-action-btn:disabled{opacity:.4;cursor:not-allowed}.prog-sidebar{display:flex;flex-direction:column;gap:16px}.prog-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prog-panel-title{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-weight:600}.prog-key-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.prog-key-btn{padding:10px 8px;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--text-light);font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.prog-key-btn:hover:not(:disabled){border-color:var(--accent-color);background:#e945600f}.prog-key-btn.active{background:linear-gradient(135deg,#e9456033,#ff6b6b1a);border-color:var(--accent-color);color:var(--accent-light);box-shadow:0 0 0 1px #e9456033}.prog-key-btn:disabled{opacity:.4;cursor:not-allowed}.prog-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff05;border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:color .2s ease;margin-top:8px}.prog-toggle:hover{color:var(--text-light)}.prog-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.prog-category-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.prog-category-btn{padding:6px 12px;background:#ffffff08;border:1px solid var(--border-color);border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s ease}.prog-category-btn:hover{color:var(--text-light);border-color:#fff3}.prog-category-btn.active{color:var(--accent-light);border-color:var(--accent-color);background:#e945601a}.prog-browser{max-height:400px;display:flex;flex-direction:column}.prog-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;padding-right:4px}.prog-list::-webkit-scrollbar{width:4px}.prog-list::-webkit-scrollbar-track{background:transparent}.prog-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.prog-list-item{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:#ffffff05;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.prog-list-item:hover{border-color:var(--accent-color);background:#e945600a}.prog-list-item.active{border-color:var(--accent-color);background:#e945601a;box-shadow:0 0 0 1px #e9456033}.prog-list-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.prog-list-item-name{font-size:.9rem;font-weight:600;color:var(--text-light)}.prog-list-item.active .prog-list-item-name{color:var(--accent-light)}.prog-list-item-fav{color:var(--accent-light);font-size:.85rem}.prog-list-item-numerals{font-size:.75rem;color:var(--text-muted);letter-spacing:.02em}.prog-list-item-diff{font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;width:fit-content}.prog-list-item-diff.diff-beginner{color:#4caf50;background:#4caf501a}.prog-list-item-diff.diff-intermediate{color:#ff9800;background:#ff98001a}.prog-list-item-diff.diff-advanced{color:#e94560;background:#e945601a}@media(max-width:820px){.prog-main{padding:22px 18px}.prog-chord-symbol{font-size:clamp(3rem,15vw,5rem)}.prog-header{flex-direction:column;gap:12px}.prog-key-display{align-self:flex-start}.prog-tempo-slider,.prog-tempo-labels{width:160px}}@media(max-width:480px){.prog-main{padding:16px 14px;min-height:400px}.prog-chord-display{min-height:140px}.prog-play-btn{width:60px;height:60px;font-size:1.3rem}.prog-nav-btn{width:40px;height:40px;font-size:1rem}.prog-timeline-chord{padding:8px 10px;min-width:50px}.prog-timeline-symbol{font-size:.85rem}.prog-actions{gap:6px}.prog-action-btn{padding:6px 12px;font-size:.8rem}}.fret-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}@media(max-width:1024px){.fret-layout{grid-template-columns:1fr}}.fret-main{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.fret-main:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#8bc34a,#4caf50);opacity:.55}.fret-mode-tabs{display:flex;gap:8px;flex-wrap:wrap}.fret-mode-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#ffffff08;border:1px solid var(--border-color);border-radius:10px;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease}.fret-mode-tab:hover{border-color:#4caf5080;color:var(--text-light);background:#4caf500f}.fret-mode-tab.active{background:linear-gradient(135deg,#4caf5026,#8bc34a1a);border-color:#4caf50;color:#8bc34a;box-shadow:0 0 0 1px #4caf5033}.fret-mode-icon{font-size:1.1rem}.fret-mode-name{font-weight:600}.fret-challenge{display:flex;justify-content:center;padding:16px}.fret-challenge-content{display:flex;align-items:baseline;gap:12px;font-size:1.1rem}.fret-challenge-label{color:var(--text-muted)}.fret-challenge-target{font-size:2.5rem;font-weight:700;color:#8bc34a;letter-spacing:-.02em;text-shadow:0 0 40px rgba(139,195,74,.3)}.fret-board-wrapper{overflow-x:auto;padding:10px 0;margin:0 -10px}.fretboard-container{min-width:800px;padding:10px 20px}.fretboard-svg{width:100%;height:auto;display:block}.fretboard-wood{fill:linear-gradient(180deg,#2a1f1a 0%,#1a1410 100%);fill:#1e1610}.fretboard-nut{fill:#d4c4a8}.fretboard-fret{stroke:#8a7a6a;stroke-width:3}.fretboard-string{stroke:#c0b0a0;stroke-linecap:round}.fret-marker{fill:#ffffff14}.fret-marker.double{fill:#ffffff1a}.fret-number{fill:var(--text-muted);font-size:11px;text-anchor:middle;dominant-baseline:middle;font-weight:500}.string-label{fill:var(--text-muted);font-size:12px;text-anchor:start;dominant-baseline:middle;font-weight:600}.fret-position{cursor:pointer}.fret-position-bg{fill:#ffffff0a;stroke:#ffffff14;stroke-width:1;transition:all .15s ease}.fret-position:hover .fret-position-bg{fill:#ffffff1f;stroke:#ffffff40}.fret-position-label{fill:var(--text-muted);font-size:10px;text-anchor:middle;dominant-baseline:central;font-weight:600;pointer-events:none;transition:fill .15s ease}.fret-position:hover .fret-position-label{fill:var(--text-light)}.fret-position.target .fret-position-bg{fill:#4caf5033;stroke:#4caf50;stroke-width:2}.fret-position.target .fret-position-label{fill:#8bc34a}.fret-position.root .fret-position-bg{fill:#e9456040;stroke:var(--accent-color);stroke-width:2}.fret-position.root .fret-position-label{fill:var(--accent-light);font-weight:700}.fret-position.correct .fret-position-bg{fill:#4caf5059;stroke:#4caf50;stroke-width:2;animation:fret-correct-pulse .4s ease}.fret-position.correct .fret-position-label{fill:#8bc34a}@keyframes fret-correct-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.fret-position.incorrect .fret-position-bg{fill:#f443364d;stroke:#f44336;stroke-width:2}.fret-position.incorrect .fret-position-label{fill:#ff5252}.fret-position.revealed .fret-position-bg{fill:#ffc10733;stroke:#ffc107;stroke-width:2}.fret-position.revealed .fret-position-label{fill:#ffc107}.fret-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.fret-action-btn{padding:10px 20px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease}.fret-action-btn:hover{color:var(--text-light);border-color:#4caf5080;background:#4caf500f}.fret-action-btn.active{color:#8bc34a;border-color:#4caf50;background:#4caf501f}.fret-score{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;background:#ffffff05;border-radius:10px}.fret-score-value{font-size:1.3rem;font-weight:700;color:#8bc34a}.fret-score-label{color:var(--text-muted);font-size:.9rem}.fret-score-reset{padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .15s ease;margin-left:10px}.fret-score-reset:hover{color:var(--text-light);border-color:#fff3}.fret-sidebar{display:flex;flex-direction:column;gap:16px}.fret-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fret-panel-title{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-weight:600}.fret-note-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.fret-note-btn{padding:10px 8px;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--text-light);font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.fret-note-btn:hover{border-color:#4caf50;background:#4caf500f}.fret-note-btn.active{background:linear-gradient(135deg,#4caf5033,#8bc34a1a);border-color:#4caf50;color:#8bc34a;box-shadow:0 0 0 1px #4caf5033}.fret-interval-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.fret-interval-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.fret-interval-btn:hover{border-color:#4caf50;background:#4caf500a}.fret-interval-btn.active{border-color:#4caf50;background:#4caf501a}.fret-interval-short{width:32px;font-size:.85rem;font-weight:700;color:#8bc34a}.fret-interval-name{font-size:.85rem;color:var(--text-light)}.fret-interval-btn.active .fret-interval-name{color:#8bc34a}.fret-chord-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.fret-chord-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.fret-chord-btn:hover{border-color:#4caf50;background:#4caf500a}.fret-chord-btn.active{border-color:#4caf50;background:#4caf501a}.fret-chord-symbol{width:40px;font-size:.9rem;font-weight:700;color:#8bc34a}.fret-chord-name{font-size:.85rem;color:var(--text-light)}.fret-chord-btn.active .fret-chord-name{color:#8bc34a}.fret-scale-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.fret-scale-btn{padding:10px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;font-size:.85rem;color:var(--text-light);transition:all .15s ease}.fret-scale-btn:hover{border-color:#4caf50;background:#4caf500a}.fret-scale-btn.active{border-color:#4caf50;background:#4caf501a;color:#8bc34a}.fret-tuning-list{display:flex;flex-direction:column;gap:4px}.fret-tuning-btn{padding:10px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;font-size:.85rem;color:var(--text-light);transition:all .15s ease}.fret-tuning-btn:hover{border-color:#4caf50;background:#4caf500a}.fret-tuning-btn.active{border-color:#4caf50;background:#4caf501a;color:#8bc34a}.fret-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff05;border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:color .2s ease;margin-bottom:6px}.fret-toggle:hover{color:var(--text-light)}.fret-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#4caf50;cursor:pointer}.fret-fret-count{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#ffffff05;border-radius:8px}.fret-fret-count label{font-size:.85rem;color:var(--text-muted)}@media(max-width:820px){.fret-main{padding:18px 14px}.fret-mode-tabs{gap:6px}.fret-mode-tab{padding:8px 14px;font-size:.85rem}.fret-challenge-target{font-size:2rem}.fretboard-container{min-width:700px}}@media(max-width:480px){.fret-main{padding:14px 10px}.fret-mode-tab{padding:6px 10px;font-size:.8rem}.fret-mode-icon{font-size:1rem}.fret-challenge-target{font-size:1.8rem}.fret-actions{gap:6px}.fret-action-btn{padding:8px 14px;font-size:.85rem}.fretboard-container{min-width:600px}}.real-fret-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}@media(max-width:1024px){.real-fret-layout{grid-template-columns:1fr}}.real-fret-main{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;overflow:hidden;min-height:500px}.real-fret-main:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-light),var(--accent-color));opacity:.55}.real-fret-header{text-align:center}.real-fret-title{font-size:1.5rem;font-weight:700;color:var(--text-light);margin:0 0 6px;letter-spacing:-.02em}.real-fret-subtitle{font-size:.95rem;color:var(--text-muted);margin:0}.real-fret-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:40px 20px;max-width:480px}.real-fret-welcome-icon{font-size:4rem;line-height:1}.real-fret-welcome-title{font-size:1.8rem;font-weight:700;color:var(--text-light);margin:0}.real-fret-welcome-text{font-size:1rem;color:var(--text-muted);line-height:1.6;margin:0}.real-fret-start-btn{padding:14px 32px;font-size:1.1rem;margin-top:8px}.real-fret-hint{font-size:.85rem;color:var(--text-muted);opacity:.7;margin:0}.real-fret-warning,.real-fret-error{padding:12px 20px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:10px;color:#ff5252;font-size:.9rem}.real-fret-challenge{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 40px;background:#ffffff05;border:2px solid var(--border-color);border-radius:20px;transition:all .3s ease;min-width:320px}.real-fret-challenge-neutral{border-color:var(--border-color)}.real-fret-challenge-active{border-color:#64b5f666;background:#64b5f60d}.real-fret-challenge-success{border-color:#4caf5080;background:#4caf5014;box-shadow:0 0 40px #4caf5026}.real-fret-challenge-warning{border-color:#ffc10766;background:#ffc1070d}.real-fret-challenge-error{border-color:#f443364d;background:#f443360d}.real-fret-challenge-prompt{font-size:1.1rem;color:var(--text-muted);letter-spacing:.02em}.real-fret-target-note{font-size:5rem;font-weight:800;color:var(--text-light);letter-spacing:-.03em;line-height:1;text-shadow:0 0 60px rgba(233,69,96,.3)}.real-fret-challenge-success .real-fret-target-note{color:#8bc34a;text-shadow:0 0 60px rgba(139,195,74,.4)}.real-fret-string-indicator{display:flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text-muted)}.real-fret-string-number{font-size:1.3rem;font-weight:700;color:var(--accent-light)}.real-fret-string-name{opacity:.7}.real-fret-feedback{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 24px;min-width:280px}.real-fret-feedback-state{font-size:1.2rem;font-weight:600;letter-spacing:.02em;transition:color .2s ease}.real-fret-feedback-neutral .real-fret-feedback-state{color:var(--text-muted)}.real-fret-feedback-active .real-fret-feedback-state{color:#64b5f6}.real-fret-feedback-success .real-fret-feedback-state{color:#8bc34a}.real-fret-feedback-warning .real-fret-feedback-state{color:#ffc107}.real-fret-feedback-error .real-fret-feedback-state{color:#ff5252}.real-fret-detected{display:flex;align-items:center;gap:10px;font-size:.95rem}.real-fret-detected-label{color:var(--text-muted)}.real-fret-detected-note{font-size:1.3rem;font-weight:700;color:var(--text-light);min-width:3ch;text-align:center}.real-fret-detected-note.real-fret-detected-empty{color:var(--text-muted);opacity:.5}.real-fret-cents{font-size:.85rem;padding:2px 8px;border-radius:6px;font-weight:600}.real-fret-cents.in-tune{background:#4caf5026;color:#8bc34a}.real-fret-cents.sharp{background:#ffc10726;color:#ffc107}.real-fret-cents.flat{background:#64b5f626;color:#64b5f6}.real-fret-level{width:200px;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.real-fret-level-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:2px;transition:width .1s ease}.real-fret-stats{display:flex;gap:32px;padding:16px 24px;background:#ffffff05;border-radius:12px}.real-fret-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.real-fret-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-light)}.real-fret-stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.real-fret-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.real-fret-control-btn{padding:10px 20px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease}.real-fret-control-btn:hover{color:var(--text-light);border-color:#fff3;background:#ffffff0f}.real-fret-control-btn.danger:hover{border-color:#f4433666;color:#ff5252}.real-fret-sidebar{display:flex;flex-direction:column;gap:16px}.real-fret-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.real-fret-panel-title{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-weight:600}.real-fret-difficulty-list{display:flex;flex-direction:column;gap:6px}.real-fret-difficulty-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff05;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.real-fret-difficulty-btn:hover:not(:disabled){border-color:var(--accent-color);background:#e945600a}.real-fret-difficulty-btn.active{border-color:var(--accent-color);background:#e945601a}.real-fret-difficulty-btn:disabled{opacity:.5;cursor:not-allowed}.real-fret-difficulty-icon{font-size:1.3rem}.real-fret-difficulty-info{display:flex;flex-direction:column;gap:2px}.real-fret-difficulty-name{font-size:.95rem;font-weight:600;color:var(--text-light)}.real-fret-difficulty-desc{font-size:.8rem;color:var(--text-muted)}.real-fret-string-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.real-fret-string-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s ease}.real-fret-string-btn:hover:not(:disabled){border-color:var(--accent-color)}.real-fret-string-btn.active{border-color:var(--accent-color);background:#e945601f}.real-fret-string-btn:disabled{opacity:.5;cursor:not-allowed}.real-fret-string-num{font-size:1.1rem;font-weight:700;color:var(--text-light)}.real-fret-string-note{font-size:.75rem;color:var(--text-muted)}.real-fret-string-btn.active .real-fret-string-num{color:var(--accent-light)}.real-fret-string-presets{display:flex;gap:6px}.real-fret-preset-btn{flex:1;padding:8px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s ease}.real-fret-preset-btn:hover:not(:disabled){color:var(--text-light);border-color:#fff3}.real-fret-preset-btn:disabled{opacity:.5;cursor:not-allowed}.real-fret-position-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:10px}.real-fret-position-btn{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.real-fret-position-btn:hover:not(:disabled){border-color:var(--accent-color)}.real-fret-position-btn.active{border-color:var(--accent-color);background:#e945601a}.real-fret-position-btn:disabled{opacity:.5;cursor:not-allowed}.real-fret-position-name{font-size:.85rem;font-weight:600;color:var(--text-light)}.real-fret-position-range{font-size:.75rem;color:var(--text-muted)}.real-fret-clear-btn{width:100%;padding:8px 12px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .15s ease}.real-fret-clear-btn:hover:not(:disabled){color:var(--text-light);border-color:#fff3}.real-fret-clear-btn:disabled{opacity:.5;cursor:not-allowed}.real-fret-setting{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.real-fret-setting label{font-size:.85rem;color:var(--text-muted)}.real-fret-select{padding:10px 12px;background:#ffffff08;border:1px solid var(--border-color);border-radius:8px;color:var(--text-light);font-size:.9rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease}.real-fret-select:hover:not(:disabled){border-color:#fff3}.real-fret-select:disabled{opacity:.5;cursor:not-allowed}.real-fret-toggle{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff05;border-radius:8px;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:color .2s ease}.real-fret-toggle:hover{color:var(--text-light)}.real-fret-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer}.real-fret-tips ul{margin:0;padding:0 0 0 18px;list-style:disc}.real-fret-tips li{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:4px}@media(max-width:820px){.real-fret-main{padding:24px 18px;min-height:420px}.real-fret-target-note{font-size:4rem}.real-fret-challenge{padding:24px 28px;min-width:280px}.real-fret-stats{gap:20px;padding:14px 18px}.real-fret-stat-value{font-size:1.3rem}}@media(max-width:480px){.real-fret-main{padding:18px 14px;min-height:380px}.real-fret-title{font-size:1.3rem}.real-fret-target-note{font-size:3.5rem}.real-fret-challenge{padding:20px 24px;min-width:240px}.real-fret-challenge-prompt{font-size:1rem}.real-fret-stats{gap:16px;flex-wrap:wrap;justify-content:center}.real-fret-stat-value{font-size:1.2rem}.real-fret-controls{gap:8px}.real-fret-control-btn{padding:8px 14px;font-size:.85rem}.real-fret-position-list{grid-template-columns:1fr}}.tuner-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}@media(max-width:1024px){.tuner-layout{grid-template-columns:1fr}}.tuner-main{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:32px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;overflow:hidden;min-height:520px}.tuner-main:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4caf50,#8bc34a,#4caf50);opacity:.6}.tuner-header{text-align:center}.tuner-title{font-size:1.5rem;font-weight:700;color:var(--text-light);margin:0 0 4px;letter-spacing:-.02em}.tuner-subtitle{font-size:.9rem;color:var(--text-muted);margin:0}.tuner-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:40px 20px;max-width:420px}.tuner-welcome-icon{font-size:4rem;line-height:1}.tuner-welcome-title{font-size:1.8rem;font-weight:700;color:var(--text-light);margin:0}.tuner-welcome-text{font-size:1rem;color:var(--text-muted);line-height:1.6;margin:0}.tuner-start-btn{padding:14px 32px;font-size:1.1rem;margin-top:8px}.tuner-warning,.tuner-error{padding:12px 20px;background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:10px;color:#ff5252;font-size:.9rem}.tuner-active{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:400px}.tuner-meter{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:#ffffff05;border:2px solid var(--border-color);border-radius:20px;transition:all .3s ease}.tuner-meter-success{border-color:#4caf5080;background:#4caf500d}.tuner-meter-close{border-color:#8bc34a66;background:#8bc34a08}.tuner-meter-warning{border-color:#ffc10766;background:#ffc10708}.tuner-meter-error{border-color:#f443364d;background:#f4433608}.tuner-scale{display:flex;justify-content:space-between;width:100%;padding:0 10px}.tuner-scale-mark{font-size:1.2rem;color:var(--text-muted);opacity:.6}.tuner-scale-mark-left span{color:#64b5f6}.tuner-scale-mark-right span{color:#ffc107}.tuner-scale-mark-center{width:2px;height:12px;background:var(--text-muted);opacity:.4}.tuner-cents-bar{width:100%;padding:0 10px}.tuner-cents-track{position:relative;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.tuner-cents-fill{position:absolute;top:0;height:100%;max-width:50%;border-radius:4px;transition:width .15s ease,background .3s ease}.tuner-cents-fill-success{background:linear-gradient(90deg,#4caf50,#8bc34a)}.tuner-cents-fill-close{background:linear-gradient(90deg,#8bc34a,#cddc39)}.tuner-cents-fill-warning{background:linear-gradient(90deg,#ffc107,#ff9800)}.tuner-cents-fill-error{background:linear-gradient(90deg,#ff5252,#f44336)}.tuner-cents-fill-neutral{background:#fff3}.tuner-cents-center{position:absolute;left:50%;top:-4px;width:2px;height:16px;background:var(--text-light);transform:translate(-50%);border-radius:1px}.tuner-note-display{display:flex;align-items:baseline;gap:4px;margin:8px 0}.tuner-detected-note{font-size:5rem;font-weight:800;color:var(--text-light);letter-spacing:-.03em;line-height:1;transition:color .3s ease}.tuner-detected-note-success{color:#8bc34a}.tuner-detected-note-close{color:#cddc39}.tuner-detected-note-warning{color:#ffc107}.tuner-detected-note-error{color:#ff5252}.tuner-detected-note-waiting{color:var(--text-muted);opacity:.4}.tuner-octave{font-size:1.5rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}.tuner-string-indicator{display:flex;align-items:center;gap:6px;font-size:.95rem;color:var(--text-muted)}.tuner-string-number{font-weight:700;color:var(--text-light)}.tuner-string-waiting{font-style:italic;opacity:.6}.tuner-cents-display{display:flex;align-items:baseline;gap:6px}.tuner-cents-value{font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;transition:color .3s ease}.tuner-cents-value-success{color:#8bc34a}.tuner-cents-value-close{color:#cddc39}.tuner-cents-value-warning{color:#ffc107}.tuner-cents-value-error{color:#ff5252}.tuner-cents-value-neutral{color:var(--text-muted)}.tuner-cents-unit{font-size:.85rem;color:var(--text-muted)}.tuner-cents-placeholder{font-size:1.8rem;color:var(--text-muted);opacity:.4}.tuner-status{font-size:1.1rem;font-weight:600;letter-spacing:.02em;display:flex;align-items:center;gap:8px;transition:color .3s ease}.tuner-status-success{color:#8bc34a}.tuner-status-close{color:#cddc39}.tuner-status-warning{color:#ffc107}.tuner-status-error{color:#ff5252}.tuner-status-neutral{color:var(--text-muted)}.tuner-status-check{font-size:1.2rem;animation:tuner-check-pop .3s ease}@keyframes tuner-check-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.tuner-level{width:100%;display:flex;flex-direction:column;gap:6px}.tuner-level-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.tuner-level-track{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.tuner-level-bar{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:2px;transition:width .1s ease}.tuner-strings-ref{display:flex;gap:8px;padding:12px 16px;background:#ffffff05;border-radius:12px}.tuner-string-ref{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:8px;transition:all .2s ease;min-width:44px}.tuner-string-ref.active{background:#8bc34a26}.tuner-string-ref-num{font-size:.7rem;color:var(--text-muted)}.tuner-string-ref-note{font-size:1rem;font-weight:700;color:var(--text-light)}.tuner-string-ref.active .tuner-string-ref-note{color:#8bc34a}.tuner-stop-btn{padding:10px 24px;background:#ffffff0a;border:1px solid var(--border-color);border-radius:10px;color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .2s ease}.tuner-stop-btn:hover{color:var(--text-light);border-color:#fff3}.tuner-sidebar{display:flex;flex-direction:column;gap:16px}.tuner-panel{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:18px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tuner-panel-title{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-weight:600}.tuner-instrument-list{display:flex;gap:8px}.tuner-instrument-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:10px;cursor:pointer;font-family:inherit;transition:all .15s ease}.tuner-instrument-btn:hover:not(:disabled){border-color:#8bc34a66}.tuner-instrument-btn.active{border-color:#8bc34a99;background:#8bc34a1a}.tuner-instrument-btn:disabled{opacity:.5;cursor:not-allowed}.tuner-instrument-icon{font-size:1.5rem}.tuner-instrument-name{font-size:.85rem;font-weight:600;color:var(--text-light)}.tuner-tuning-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.tuner-tuning-btn{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease}.tuner-tuning-btn:hover:not(:disabled){border-color:#8bc34a66}.tuner-tuning-btn.active{border-color:#8bc34a99;background:#8bc34a1a}.tuner-tuning-btn:disabled{opacity:.5;cursor:not-allowed}.tuner-tuning-name{font-size:.9rem;font-weight:600;color:var(--text-light)}.tuner-tuning-desc{font-size:.75rem;color:var(--text-muted);font-family:monospace}.tuner-reference{display:flex;flex-direction:column;gap:8px}.tuner-reference-label{font-size:1rem;font-weight:600;color:var(--text-light);text-align:center}.tuner-reference-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:3px;outline:none;cursor:pointer}.tuner-reference-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#8bc34a;border-radius:50%;cursor:pointer;transition:transform .15s ease}.tuner-reference-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.tuner-reference-slider:disabled{opacity:.5;cursor:not-allowed}.tuner-reference-marks{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted)}.tuner-reference-reset{padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);font-size:.8rem;cursor:pointer;font-family:inherit;transition:all .15s ease;margin-top:4px}.tuner-reference-reset:hover:not(:disabled){color:var(--text-light);border-color:#fff3}.tuner-reference-reset:disabled{opacity:.5;cursor:not-allowed}.tuner-tips ul{margin:0;padding:0 0 0 18px;list-style:disc}.tuner-tips li{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:4px}@media(max-width:820px){.tuner-main{padding:24px 18px;min-height:480px}.tuner-detected-note{font-size:4rem}.tuner-meter{padding:20px}.tuner-strings-ref{gap:4px;padding:10px 12px}.tuner-string-ref{padding:6px 8px;min-width:36px}}@media(max-width:480px){.tuner-main{padding:18px 14px;min-height:420px}.tuner-title{font-size:1.3rem}.tuner-detected-note{font-size:3.5rem}.tuner-cents-value{font-size:1.5rem}.tuner-status{font-size:1rem}.tuner-strings-ref{flex-wrap:wrap;justify-content:center}.tuner-string-ref{min-width:32px;padding:5px 6px}.tuner-string-ref-note{font-size:.9rem}}
