@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root,[data-theme=dark]{--font-main: "Noto Sans Mono", monospace;--font-display: "Noto Sans Mono", monospace;--bg-sidebar: linear-gradient(180deg, #2a2a32, #1e1e24);--bg-main: #a1a1a1;--bg-fretboard: #222;--bg-fretboard-card: transparent;--bg-highlight: #111;--accent: #3b82f6;--text-primary: #ffffff;--text-secondary: #9ca3af;--text-muted: #c3d1ec;--border-color: rgba(255, 255, 255, .1);--string-color: rgba(255, 255, 255, .1);--fret-color: #444444;--nut-color: black;--note-inactive-bg: #2e2d2d;--note-inactive-color: #AAA;--note-active-bg: #1a1a1a;--shadow-color: rgba(0, 0, 0, .4);--color-C: #ff4444;--color-A: #ff8800;--color-G: #ffff00;--color-E: #00ff00;--color-D: #00ffff;--cell-width-base: 75px;--cell-height-base: 65px;--note-size-base: 48px;--note-size-secondary-base: 34px;--note-size-inactive-base: 22px;--fret-marker-width-base: 48px;--string-label-size-base: 45px;--note-font-base: 22px;--note-font-secondary-base: 19px;--note-font-inactive-base: 19px;--num-strings: 6;--radius: 8px;--glow: none}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-main);background:radial-gradient(ellipse at bottom right,#b8b8b8 25%,#9a9a9a 50%,#606060);background-attachment:fixed;color:var(--text-primary);-webkit-font-smoothing:antialiased}.grid-container{display:flex;flex-direction:column;min-height:100vh;width:100%;background:transparent;--ui-scale: 1;--cell-width: calc(var(--cell-width-base) * var(--ui-scale));--cell-height: calc(var(--cell-height-base) * var(--ui-scale));--note-size: calc(var(--note-size-base) * var(--ui-scale));--note-size-secondary: calc(var(--note-size-secondary-base) * var(--ui-scale));--note-size-inactive: calc(var(--note-size-inactive-base) * var(--ui-scale));--fret-marker-width: calc(var(--fret-marker-width-base) * var(--ui-scale));--string-label-size: calc(var(--string-label-size-base) * var(--ui-scale));--note-font: calc(var(--note-font-base) * var(--ui-scale));--note-font-secondary: calc(var(--note-font-secondary-base) * var(--ui-scale));--note-font-inactive: calc(var(--note-font-inactive-base) * var(--ui-scale))}.site-logo{position:absolute;top:8px;left:8px;font-size:12px;font-weight:700;letter-spacing:1px;color:#333;text-transform:uppercase;z-index:0}.grid-toolbar{position:fixed;top:8px;right:0;z-index:100}.grid-content{display:flex;flex-direction:column;gap:32px;padding:32px 8px}.scale-control-tray{display:flex;align-items:center;background:#060d5d99;border-radius:var(--radius) 0 0 var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.scale-control-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .15s ease;flex-shrink:0}.scale-control-toggle:hover,.scale-control-tray.open .scale-control-toggle{color:var(--accent)}.scale-control-buttons{display:flex;gap:2px;padding:4px 0 4px 4px;max-width:0;opacity:0;overflow:hidden;transition:max-width .25s ease,opacity .2s ease,padding .25s ease}.scale-control-tray.open .scale-control-buttons{max-width:200px;opacity:1;padding:4px}.scale-btn{padding:0 10px;font-size:10px;font-weight:700;font-family:inherit;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:all .15s ease;white-space:nowrap}.scale-btn:hover{border-color:var(--accent);color:var(--accent)}.scale-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.row-wrapper{display:flex;flex-direction:column;gap:16px;position:relative}.grid-row{display:flex;align-items:flex-start;gap:24px;position:relative}.grid-row.single-column{justify-content:center}.grid-row.multi-column{justify-content:flex-start}.add-board-btn{width:48px;height:48px;border-radius:50%;background:var(--bg-fretboard);border:2px dashed var(--border-color);color:var(--text-muted);font-size:24px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center}.add-board-btn:hover{border-color:#222;color:#fff;background:#333}.row-divider{display:flex;align-items:center;gap:16px;padding:8px 0}.row-divider.hidden{visibility:hidden}.row-divider-line{flex:1;height:1px;background:#0000004d}.add-row-btn{padding:8px 16px;font-size:12px;font-weight:600;background:transparent;border:1px dashed rgba(0,0,0,.4);border-radius:20px;color:#444;cursor:pointer;transition:all .15s ease;white-space:nowrap;font-family:inherit}.add-row-btn:hover{border-color:#222;color:#fff;background:#333}.delete-row-btn{position:absolute;left:-40px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;opacity:0;transition:all .15s ease}.row-wrapper:hover .delete-row-btn{opacity:.6}.delete-row-btn:hover{opacity:1;color:#ef4444;background:#ef444426}.board-controls{display:flex;flex-direction:column;gap:calc(6px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));background:var(--bg-fretboard);border-radius:var(--radius);border-bottom:1px solid var(--border-color);font-size:calc(12px * var(--ui-scale));max-width:calc(var(--fret-marker-width) + (var(--num-strings) * var(--cell-width)));margin-left:var(--fret-marker-width)}.board-controls-row{display:flex;align-items:center;gap:calc(8px * var(--ui-scale))}.board-controls-row:first-child{justify-content:flex-start}.board-controls-row:first-child .board-delete-btn{margin-left:auto}.board-control-dropdown{min-width:calc(70px * var(--ui-scale))}.board-control-dropdown.key-dropdown{min-width:calc(60px * var(--ui-scale))}.board-control-dropdown.shape-dropdown{min-width:calc(70px * var(--ui-scale))}.board-control-dropdown.scale-dropdown{min-width:calc(100px * var(--ui-scale))}.board-ghost-toggle{padding:calc(6px * var(--ui-scale)) calc(10px * var(--ui-scale));font-size:calc(11px * var(--ui-scale));font-weight:500;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:all .15s ease;white-space:nowrap;font-family:inherit}.board-ghost-toggle:hover{border-color:var(--accent);color:var(--accent)}.board-ghost-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.board-delete-btn{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);font-size:14px;cursor:pointer;border-radius:4px;opacity:.5;transition:all .15s ease}.board-wrapper:hover .board-delete-btn{opacity:1}.board-delete-btn:hover{background:#ef444426;color:#ef4444}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--text-muted)}.fretboard-container{display:flex;flex-direction:column;gap:8px}.string-labels{display:grid;grid-template-columns:repeat(var(--num-strings),var(--cell-width));margin-left:var(--fret-marker-width);height:calc(56px * var(--ui-scale));align-items:center}.string-label{font-size:var(--note-font);font-weight:600;color:#444;transition:all .15s ease;display:flex;align-items:center;justify-content:center;height:var(--string-label-size);width:var(--string-label-size);margin:0 auto}.string-label.open-active{background:currentColor;border-radius:50%}.string-label.open-active .string-label-text{color:#1a1a1a}.fretboard-wrapper,.fretboard-wrapper-inner{display:flex}.fretboard{display:flex;flex-direction:column;background:var(--bg-fretboard);border-radius:var(--radius);overflow:hidden}.fret-markers{display:flex;flex-direction:column;width:var(--fret-marker-width);padding-right:calc(10px * var(--ui-scale));text-align:right}.fret-row{display:grid;grid-template-columns:repeat(var(--num-strings),var(--cell-width));height:calc(var(--cell-height) * var(--fret-scale, 1));border-bottom:1px solid var(--fret-color);position:relative}.fret-row:first-child{border-top:4px solid var(--nut-color)}.fret-row:last-child{border-bottom:none}.fret-row.fret-marker-row{background:var(--bg-highlight)}.fret-cell{position:relative;display:flex;align-items:center;justify-content:center}.fret-cell:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--string-color);transform:translate(-50%)}.fret-marker-label{height:calc(var(--cell-height) * var(--fret-scale, 1));display:flex;align-items:center;justify-content:flex-end;font-size:var(--note-font);font-weight:900;color:#333}.fret-marker-label.fret-minor{color:#8e8e8e}.note-marker{width:var(--note-size-inactive);height:var(--note-size-inactive);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--note-font-inactive);font-weight:600;z-index:1;background:var(--note-inactive-bg);color:var(--note-inactive-color);transition:all .15s ease}.note-marker.active{width:var(--note-size);height:var(--note-size);background:currentColor;border:1px solid currentColor;font-size:var(--note-font);box-shadow:var(--glow)}.note-marker.active .note-text{color:#1a1a1a}.note-marker.active.root{background:#1a1a1a;border:2px solid currentColor}.note-marker.active.root .note-text{color:#fff}.note-marker.secondary{width:var(--note-size-secondary);height:var(--note-size-secondary);background:currentColor;border:1px solid currentColor;opacity:.5;font-size:var(--note-font-secondary)}.note-marker.secondary .note-text{color:#1a1a1a}.note-marker.secondary.root{background:#1a1a1a;font-size:var(--note-font);border:1px solid currentColor}.note-marker.secondary.root .note-text{color:#fff}.note-marker.ghosted{width:var(--note-size-secondary);height:var(--note-size-secondary);background:currentColor;border:1px dashed currentColor;opacity:.2;font-size:calc(var(--note-font-secondary) * .9)}.note-marker.ghosted .note-text{color:#1a1a1a}.shape-C{color:var(--color-C)}.shape-A{color:var(--color-A)}.shape-G{color:var(--color-G)}.shape-E{color:var(--color-E)}.shape-D{color:var(--color-D)}.custom-dropdown-item.shape-C,.custom-dropdown-item.selected.shape-C{color:var(--color-C)}.custom-dropdown-item.shape-A,.custom-dropdown-item.selected.shape-A{color:var(--color-A)}.custom-dropdown-item.shape-G,.custom-dropdown-item.selected.shape-G{color:var(--color-G)}.custom-dropdown-item.shape-E,.custom-dropdown-item.selected.shape-E{color:var(--color-E)}.custom-dropdown-item.shape-D,.custom-dropdown-item.selected.shape-D{color:var(--color-D)}.fretboard-grid{display:flex;gap:24px;padding:24px;align-items:start;overflow-x:auto;overflow-y:hidden;max-width:100%}.board-wrapper{display:flex;flex-direction:column;gap:8px;cursor:pointer;padding:8px;border-radius:var(--radius);transition:all .15s ease}.board-wrapper:hover{background:#ffffff0d}.board-wrapper.active{outline:2px solid var(--accent);background:#3b82f61a}.board-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--bg-fretboard);border-radius:var(--radius);gap:12px}.board-key-scale{font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.5px}.board-shape-badge{font-size:14px;font-weight:700;padding:4px 12px;border-radius:20px;color:#1a1a1a}.board-shape-badge.shape-C{background:var(--color-C)}.board-shape-badge.shape-A{background:var(--color-A)}.board-shape-badge.shape-G{background:var(--color-G)}.board-shape-badge.shape-E{background:var(--color-E)}.board-shape-badge.shape-D{background:var(--color-D)}.progression-select{width:100%;padding:8px 12px;font-family:inherit;font-size:12px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);color:var(--text-primary);cursor:pointer}.progression-select:hover{border-color:var(--accent)}.progression-select:focus{outline:none;border-color:var(--accent)}.progression-select optgroup{font-weight:600;color:var(--text-muted)}.progression-select option{background:var(--bg-fretboard);color:var(--text-primary);padding:4px}.custom-progression-input-group{display:flex;gap:6px}.custom-progression-input{flex:1;padding:8px 12px;font-family:inherit;font-size:12px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);color:var(--text-primary)}.custom-progression-input:focus{outline:none;border-color:var(--accent)}.custom-progression-input::placeholder{color:var(--text-muted)}.apply-custom-btn{padding:8px 12px;font-family:inherit;font-size:12px;font-weight:500;background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;transition:opacity .15s ease}.apply-custom-btn:hover{opacity:.8}.progression-nav{display:flex;align-items:center;gap:8px}.progression-nav-btn{padding:6px 10px;font-family:inherit;font-size:12px;font-weight:500;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.progression-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.progression-nav-btn:disabled{opacity:.4;cursor:not-allowed}.progression-page-info{font-size:12px;color:var(--text-muted);min-width:50px;text-align:center}@media(max-width:700px){:root{--cell-width-base: 55px;--cell-height-base: 48px;--note-size-base: 36px;--note-size-secondary-base: 26px;--note-size-inactive-base: 18px;--fret-marker-width-base: 36px;--string-label-size-base: 34px;--note-font-base: 18px;--note-font-secondary-base: 15px;--note-font-inactive-base: 15px}.grid-content{padding:16px}.board-controls{flex-wrap:wrap}}@media(max-width:540px){:root{--cell-width-base: 44px;--cell-height-base: 38px;--note-size-base: 28px;--note-size-secondary-base: 20px;--note-size-inactive-base: 16px;--fret-marker-width-base: 28px;--string-label-size-base: 26px;--note-font-base: 14px;--note-font-secondary-base: 12px;--note-font-inactive-base: 12px}.grid-content{padding:12px}}.sections-container{display:flex;flex-direction:column;gap:40px;padding:32px;overflow-y:auto;height:100vh;width:100%;align-items:stretch;align-self:flex-start}.section{display:flex;flex-direction:column;gap:16px}.section.active .section-header{color:var(--text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px}.section-title{font-size:13px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:1.5px}.section.active .section-title{color:var(--text-primary)}.section-delete-btn{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);font-size:16px;cursor:pointer;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;opacity:.5}.section:hover .section-delete-btn{opacity:1}.section-delete-btn:hover{background:#ef444426;color:#ef4444}.section:only-of-type .section-delete-btn{display:none}.section-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.custom-dropdown{position:relative;min-width:180px}.custom-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:500;background:var(--bg-fretboard);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.custom-dropdown-trigger:hover{border-color:#ffffff4d}.custom-dropdown.open .custom-dropdown-trigger{border-color:var(--accent)}.custom-dropdown-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-right:6px}.custom-dropdown-value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-dropdown-arrow{font-size:10px;color:var(--text-muted);transition:transform .15s ease}.custom-dropdown.open .custom-dropdown-arrow{transform:rotate(180deg)}.custom-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;max-height:320px;overflow-y:auto;background:var(--bg-fretboard);border:1px solid rgba(255,255,255,.15);border-radius:6px;box-shadow:0 8px 24px #0006;z-index:100;display:none}.custom-dropdown.open .custom-dropdown-menu{display:block}.custom-dropdown-group{padding:4px 0}.custom-dropdown-group:not(:last-child){border-bottom:1px solid rgba(255,255,255,.08)}.custom-dropdown-group-label{padding:8px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted)}.custom-dropdown-item{padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background .1s ease}.custom-dropdown-item:hover{background:#ffffff14}.custom-dropdown-item.selected{background:#3b82f633;color:var(--accent)}.custom-dropdown-divider{padding:4px 12px;font-size:11px;color:#ffffff4d;cursor:default;border-top:1px solid rgba(255,255,255,.08);margin-top:4px}.section-custom-input-group{display:none;gap:8px}.section-custom-input-group.visible{display:flex}.section-custom-input{width:160px;padding:10px 14px;font-size:13px;background:var(--bg-fretboard);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary)}.section-custom-input:focus{outline:none;border-color:var(--accent)}.section-custom-input::placeholder{color:var(--text-muted);opacity:.6}.section-apply-btn{padding:10px 16px;font-size:13px;font-weight:600;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .15s ease}.section-apply-btn:hover{filter:brightness(1.1)}.section-pagination{display:none;align-items:center;gap:8px;margin-left:auto}.section-pagination.visible{display:flex}.section-prev-btn,.section-next-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;background:var(--bg-fretboard);border:1px solid rgba(255,255,255,.15);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .15s ease}.section-prev-btn:hover:not(:disabled),.section-next-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.section-prev-btn:disabled,.section-next-btn:disabled{opacity:.3;cursor:not-allowed}.section-page-info{font-size:12px;font-weight:500;color:var(--text-muted);min-width:50px;text-align:center}.section-fretboards{overflow-x:auto;overflow-y:hidden;margin:0 -8px;padding:0 8px}.section-fretboards .fretboard-grid{display:flex;gap:24px;padding:8px 0;align-items:start}.sections-actions{display:flex;gap:12px;align-items:center}.add-section-btn,.clear-all-btn{padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;background:var(--bg-fretboard);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.add-section-btn:hover{border-color:var(--accent);color:var(--accent);background:#3b82f614}.clear-all-btn:hover{border-color:#ef4444;color:#ef4444;background:#ef444414}
