html{height:100%;width:100%}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f5f2;background:var(--color-page,#f4f5f2);color:#202420;color:var(--color-text,#202420);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;margin:0;min-height:100%;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100%;width:100%}:root{--color-page:#f4f5f2;--color-panel:#fff;--color-panel-muted:#f8faf8;--color-text:#202420;--color-text-muted:#667069;--color-border:#d8ded9;--color-border-strong:#aeb7b0;--color-accent:#2563eb;--color-accent-dark:#1d4ed8;--color-accent-soft:#eff6ff;--color-accent-hover:rgba(37,99,235,.08);--color-on-accent:#fff;--color-control-track:#edf0ed;--color-control-text:#526059;--color-control-hover:hsla(0,0%,100%,.7);--color-panel-shadow:rgba(32,36,32,.04);--color-swatch-border:rgba(32,36,32,.55);--color-status-border:#bfdbfe;--color-status-text:#1e3a8a;--color-board:#f8faf8;--color-string:#69736b;--color-position-marker:#99a39c;--color-marker-neutral:#fff;--color-focus-halo:#fff;--color-ghost-hover:#dbeafe;--focus-ring:0 0 0 3px rgba(37,99,235,.2);color-scheme:light}:root[data-theme=dark]{--color-page:#111512;--color-panel:#1b211d;--color-panel-muted:#151a17;--color-text:#edf2ee;--color-text-muted:#a8b2ab;--color-border:#323b35;--color-border-strong:#56635a;--color-accent:#7da7ff;--color-accent-dark:#a9c5ff;--color-accent-soft:#1e2a3c;--color-accent-hover:rgba(125,167,255,.12);--color-on-accent:#10182a;--color-control-track:#242b26;--color-control-text:#c0cbc3;--color-control-hover:hsla(0,0%,100%,.06);--color-panel-shadow:rgba(0,0,0,.25);--color-swatch-border:rgba(237,242,238,.62);--color-status-border:#3c5275;--color-status-text:#c4d5ff;--color-board:#202722;--color-string:#8b998f;--color-position-marker:#77847a;--color-marker-neutral:#1b211d;--color-focus-halo:#111512;--color-ghost-hover:#273954;--focus-ring:0 0 0 3px rgba(125,167,255,.25);color-scheme:dark}.App{background:#f4f5f2;background:var(--color-page);color:#202420;color:var(--color-text);min-height:100vh}.FormLabel{color:#667069;color:var(--color-text-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;line-height:1.3;text-transform:uppercase}.Dropdown select,.FretCountPicker input{-webkit-appearance:none;appearance:none;background-color:#fff;background-color:var(--color-panel);border:1px solid #aeb7b0;border:1px solid var(--color-border-strong);border-radius:8px;box-sizing:border-box;color:#202420;color:var(--color-text);display:block;font:inherit;font-size:.9rem;height:40px;margin-top:5px;min-width:0;padding:0 34px 0 11px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.Dropdown select{background-image:linear-gradient(45deg,transparent 50%,#667069 0),linear-gradient(135deg,#667069 50%,transparent 0);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-muted) 50%),linear-gradient(135deg,var(--color-text-muted) 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-repeat:no-repeat;background-size:5px 5px,5px 5px}.Dropdown select:hover,.FretCountPicker input:hover{border-color:#667069;border-color:var(--color-text-muted)}.Dropdown select:focus,.FretCountPicker input:focus{border-color:#2563eb;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(37,99,235,.2);box-shadow:var(--focus-ring);outline:none}.FretCountPicker input{-webkit-appearance:auto;appearance:auto;padding-right:4px}.ToolModePicker{grid-gap:3px;background:#edf0ed;background:var(--color-control-track);border:1px solid #d8ded9;border:1px solid var(--color-border);border-radius:10px;display:grid;gap:3px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:20px;padding:3px}.ToolModeButton{background:transparent;border:1px solid transparent;border-radius:7px;color:#526059;color:var(--color-control-text);cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;min-height:36px;padding:7px 12px;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.ToolModeButton:hover:not(.is-active){background:hsla(0,0%,100%,.7);background:var(--color-control-hover);color:#202420;color:var(--color-text)}.ToolModeButton.is-active{background:#2563eb;background:var(--color-accent);border-color:#2563eb;border-color:var(--color-accent);color:#fff;color:var(--color-on-accent)}.IdentifierCompletionNote:focus-visible,.IdentifierPositionChip:focus-visible,.IdentifierResetButton:focus-visible,.ToolModeButton:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.2);box-shadow:var(--focus-ring);outline:2px solid #2563eb;outline:2px solid var(--color-accent);outline-offset:2px}.Content{box-sizing:border-box;margin:0 auto;max-width:1120px;min-height:100%;padding:28px 24px 16px;width:100%}.Main{grid-gap:28px;align-items:start;display:grid;gap:28px;grid-template-areas:"chart controls";grid-template-columns:minmax(260px,340px) minmax(320px,400px);justify-content:center;position:relative}.Main--horizontal{grid-template-areas:"chart" "controls";grid-template-columns:minmax(0,1fr)}.About,.ControlPanel,.FretboardStage{background:#fff;background:var(--color-panel);border:1px solid #d8ded9;border:1px solid var(--color-border);border-radius:14px;box-shadow:0 1px 2px rgba(32,36,32,.04);box-shadow:0 1px 2px var(--color-panel-shadow)}.FretboardStage{box-sizing:border-box;grid-area:chart;overflow:hidden;padding:16px}.FretboardStage--vertical{align-items:center;display:flex;flex-direction:column;justify-content:center}.FretboardStage--horizontal{overflow-x:auto;padding:16px 12px 22px}.FretboardChart--vertical{height:min(76vh,760px);min-height:560px;width:min(100%,300px)}.FretboardChart--horizontal{height:300px;min-width:720px;width:100%}.ControlPanel{box-sizing:border-box;grid-area:controls;padding:24px}.ControlPanelHeader{border-bottom:1px solid #d8ded9;border-bottom:1px solid var(--color-border);margin-bottom:18px;padding-bottom:18px}.ControlPanelHeader h1{color:#202420;color:var(--color-text);font-size:clamp(1.55rem,3vw,2.05rem);letter-spacing:-.035em;line-height:1.08;margin:3px 0 8px}.ControlPanelHeader>p:last-child,.IdentifierPanelHeader>p:last-child{color:#667069;color:var(--color-text-muted);font-size:.9rem;line-height:1.5;margin:0}.ControlPanelKicker{color:#2563eb;color:var(--color-accent);font-size:.7rem;font-weight:800;letter-spacing:.13em;margin:0;text-transform:uppercase}.ControlGrid{grid-gap:16px 12px;display:grid;gap:16px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.ControlGrid>.OrientationPicker,.ControlGrid>.PalettePicker,.ControlGrid>.SequencePicker,.ControlGrid>.ThemePicker{grid-column:1/-1}.PitchClassPicker,.ScaleChordPicker{display:flex;gap:6px}.PitchClassPicker>.Dropdown:first-child,.PitchClassPicker>.Dropdown:last-child{min-width:58px}.ScaleChordPicker>.Dropdown:last-child{flex:1 1}.DisplayPicker>.Dropdown,.OrientationPicker>.Dropdown,.PalettePicker>.Dropdown,.ThemePicker>.Dropdown{width:100%}.PaletteSwatches{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.PaletteSwatch{align-items:center;border:1px solid rgba(32,36,32,.55);border:1px solid var(--color-swatch-border);border-radius:50%;display:inline-flex;font-size:.62rem;font-weight:800;height:22px;justify-content:center;line-height:1;width:22px}.LegendPanel{border-top:1px solid #d8ded9;border-top:1px solid var(--color-border);margin-top:22px;padding-top:20px}.IdentifierCompletion h3,.IdentifierSectionHeading h2,.LegendPanel h2{color:#202420;color:var(--color-text);font-size:.75rem;letter-spacing:.075em;margin:0;text-transform:uppercase}.LegendPanel h2{margin-bottom:10px}.NoteList{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));list-style:none;margin:0;padding:0}.NoteListButton{align-items:center;background:transparent;border:0;border-radius:8px;color:#202420;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:.82rem;min-width:0;padding:3px 5px 3px 0;text-align:left;transition:background-color .16s ease;width:100%}.NoteListButton:hover{background:#f8faf8;background:var(--color-panel-muted)}.NoteListButton:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.2);box-shadow:var(--focus-ring);outline:2px solid #2563eb;outline:2px solid var(--color-accent);outline-offset:1px}.NoteListMarker{flex:0 0 auto;overflow:visible;vertical-align:middle}.NoteListDegree{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";color:#667069;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.IdentifierPanel{grid-gap:18px;border-top:1px solid #d8ded9;border-top:1px solid var(--color-border);display:grid;gap:18px;margin-top:22px;padding-top:20px}.IdentifierPanelHeader h2{color:#202420;color:var(--color-text);font-size:1.12rem;letter-spacing:-.015em;line-height:1.25;margin:3px 0 5px}.IdentifierFilters{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.IdentifierResults,.IdentifierSelection{background:#f8faf8;background:var(--color-panel-muted);border:1px solid #d8ded9;border:1px solid var(--color-border);border-radius:10px;padding:14px}.IdentifierSectionHeading{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;margin-bottom:11px}.IdentifierSectionHeading p{color:#667069;color:var(--color-text-muted);font-size:.75rem;line-height:1.4;margin:0}.IdentifierSelectionMeta{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:flex-end}.IdentifierResetButton{background:transparent;border:0;border-radius:5px;color:#2563eb;color:var(--color-accent);cursor:pointer;font:inherit;font-size:.75rem;font-weight:700;line-height:1.4;padding:2px 4px}.IdentifierResetButton:hover:not(:disabled){background:rgba(37,99,235,.08);background:var(--color-accent-hover)}.IdentifierResetButton:disabled{color:#667069;color:var(--color-text-muted);cursor:default;opacity:.5}.IdentifierEmptyState{color:#667069;color:var(--color-text-muted);font-size:.85rem;line-height:1.5;margin:0}.IdentifierPositionList{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.IdentifierPositionChip{align-items:center;background:#fff;background:var(--color-panel);border:1.5px solid #2563eb;border:1.5px solid var(--color-accent);border-radius:999px;color:#202420;color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.75rem;gap:6px;line-height:1;min-height:34px;padding:4px 9px 4px 5px;transition:background-color .16s ease,border-color .16s ease}.IdentifierPositionChip:hover{background:#eff6ff;background:var(--color-accent-soft);border-color:#1d4ed8;border-color:var(--color-accent-dark)}.IdentifierPositionNote{align-items:center;background:#2563eb;background:var(--color-accent);border-radius:999px;color:#fff;color:var(--color-on-accent);display:inline-flex;font-weight:800;height:24px;justify-content:center;min-width:24px;padding:0 6px}.IdentifierResults>.Dropdown{margin-top:2px}.IdentifierCompletion{border-top:1px solid #d8ded9;border-top:1px solid var(--color-border);margin-top:14px;padding-top:13px}.IdentifierCompletion h3{margin-bottom:9px}.IdentifierCompletionNotes{display:flex;flex-wrap:wrap;gap:7px}.IdentifierCompletionNote{align-items:center;border-radius:999px;display:inline-flex;font:inherit;font-size:.78rem;font-weight:750;justify-content:center;min-height:32px;min-width:32px;padding:5px 9px}.IdentifierCompletionNote--matched{background:#2563eb;background:var(--color-accent);border:1.5px solid #2563eb;border:1.5px solid var(--color-accent);color:#fff;color:var(--color-on-accent)}.IdentifierCompletionNote--missing{background:#fff;background:var(--color-panel);border:1.5px dashed #2563eb;border:1.5px dashed var(--color-accent);color:#1d4ed8;color:var(--color-accent-dark);cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.IdentifierCompletionNote--missing:hover{background:#eff6ff;background:var(--color-accent-soft);border-color:#1d4ed8;border-color:var(--color-accent-dark)}.IdentifierBoardStatus{align-items:center;align-self:stretch;background:#eff6ff;background:var(--color-accent-soft);border:1px solid #bfdbfe;border:1px solid var(--color-status-border);border-radius:9px;color:#1e3a8a;color:var(--color-status-text);display:flex;flex-wrap:wrap;font-size:.8rem;gap:5px 10px;justify-content:space-between;line-height:1.4;margin:0 0 12px;min-height:38px;padding:8px 10px}.IdentifierBoardStatus p{margin:0}.IdentifierBoardStatus strong{color:#202420;color:var(--color-text)}.Footer{color:#667069;color:var(--color-text-muted);font-size:.8rem;margin-top:16px;text-align:center;width:100%}.About a,.Footer a{color:#1d4ed8;color:var(--color-accent-dark);text-underline-offset:3px}.About{color:#202420;color:var(--color-text);line-height:1.65;margin:32px auto;max-width:640px;padding:24px 28px}.FretboardSvg{display:block;overflow:visible}.FretboardSurface{fill:#f8faf8;fill:var(--color-board);stroke:#aeb7b0;stroke:var(--color-border-strong);stroke-width:1.5}.FretboardNut{fill:#202420;fill:var(--color-text);stroke:#202420;stroke:var(--color-text);stroke-width:1}.FretboardFret{fill:#d8ded9;fill:var(--color-border)}.FretboardString{stroke:#69736b;stroke:var(--color-string);stroke-linecap:round}.FretboardPositionMarker{fill:#99a39c;fill:var(--color-position-marker);opacity:.55}.FretNumber{fill:#667069;fill:var(--color-text-muted);-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums;font-weight:700}.FretMarkerButton{cursor:pointer;outline:none}.FretMarkerHitArea{fill:transparent;stroke:transparent;stroke-width:0;pointer-events:all}.FretMarker{stroke:#202420;stroke:var(--color-text);transform-box:fill-box;-webkit-transform-origin:center;transform-origin:center;transition:fill .16s ease,opacity .16s ease,stroke .16s ease,stroke-width .16s ease,-webkit-transform .16s ease;transition:fill .16s ease,opacity .16s ease,stroke .16s ease,stroke-width .16s ease,transform .16s ease;transition:fill .16s ease,opacity .16s ease,stroke .16s ease,stroke-width .16s ease,transform .16s ease,-webkit-transform .16s ease}.FretMarkerHighlight{fill:#fff;fill:var(--color-focus-halo);stroke:#2563eb;stroke:var(--color-accent);stroke-width:3}.FretMarkerFocusHalo,.FretMarkerFocusRing{fill:none;opacity:0;pointer-events:none}.FretMarkerFocusHalo{stroke:#fff;stroke:var(--color-focus-halo);stroke-width:8}.FretMarkerFocusRing{stroke:#2563eb;stroke:var(--color-accent);stroke-width:3}.FretMarkerButton:focus-visible .FretMarkerFocusHalo,.FretMarkerButton:focus-visible .FretMarkerFocusRing{opacity:1}.FretMarkerLabel{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:750;transition:opacity .16s ease}.FretMarkerLabel--revealable{opacity:0}.FretMarkerButton--identifier .FretMarker--available{fill:#fff;fill:var(--color-marker-neutral);stroke:#667069;stroke:var(--color-text-muted);stroke-width:2;opacity:1;-webkit-transform:scale(.36);transform:scale(.36)}.FretMarkerButton--identifier:focus-visible .FretMarker--available,.FretMarkerButton--identifier:hover .FretMarker--available{fill:#eff6ff;fill:var(--color-accent-soft);stroke:#2563eb;stroke:var(--color-accent);opacity:1;-webkit-transform:scale(.78);transform:scale(.78)}.FretMarkerButton--identifier:focus-visible .FretMarkerLabel--revealable,.FretMarkerButton--identifier:hover .FretMarkerLabel--revealable{fill:#1d4ed8;fill:var(--color-accent-dark);opacity:1}.FretMarkerButton--identifier.FretMarkerButton--selected .FretMarker--selected{fill:#2563eb;fill:var(--color-accent);stroke:#1d4ed8;stroke:var(--color-accent-dark);stroke-width:2;opacity:1}.FretMarkerButton--identifier.FretMarkerButton--selected .FretMarkerLabel{fill:#fff;fill:var(--color-on-accent)}.FretMarkerButton--identifier.FretMarkerButton--ghost .FretMarker--ghost{fill:#eff6ff;fill:var(--color-accent-soft);stroke:#2563eb;stroke:var(--color-accent);stroke-dasharray:3 2;stroke-width:2;opacity:.9;-webkit-transform:scale(.86);transform:scale(.86)}.FretMarkerButton--identifier.FretMarkerButton--ghost .FretMarkerLabel{fill:#1d4ed8;fill:var(--color-accent-dark)}.FretMarkerButton--identifier.FretMarkerButton--ghost:focus-visible .FretMarker--ghost,.FretMarkerButton--identifier.FretMarkerButton--ghost:hover .FretMarker--ghost{fill:#dbeafe;fill:var(--color-ghost-hover);opacity:1;-webkit-transform:scale(1);transform:scale(1)}.Main--horizontal .ControlPanel{grid-gap:0 28px;display:grid;gap:0 28px;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.Main--horizontal .ControlPanelHeader,.Main--horizontal .ToolModePicker{grid-column:1/-1}.Main--horizontal .IdentifierPanel,.Main--horizontal .LegendPanel{border-left:1px solid #d8ded9;border-left:1px solid var(--color-border);border-top:0;margin-top:0;padding-left:28px;padding-top:0}.Main--horizontal .IdentifierPanel{gap:16px}@media (max-width:760px){.Content{padding:14px 12px 10px}.Main,.Main--horizontal{gap:16px;grid-template-areas:"controls" "chart";grid-template-columns:minmax(0,1fr)}.ControlPanel,.FretboardStage{border-radius:12px}.FretboardChart--vertical{height:clamp(500px,72vh,650px);min-height:0;width:min(100%,300px)}.ControlPanel,.Main--horizontal .ControlPanel{display:block;padding:20px}.Main--horizontal .IdentifierPanel,.Main--horizontal .LegendPanel{border-left:0;border-top:1px solid #d8ded9;border-top:1px solid var(--color-border);margin-top:22px;padding-left:0;padding-top:20px}}@media (max-width:420px){.FretboardStage{padding-left:8px;padding-right:8px}.ControlGrid,.IdentifierFilters{grid-template-columns:minmax(0,1fr)}.ControlGrid>*{grid-column:1}.ScaleChordPicker{grid-gap:6px;display:grid;gap:6px}.NoteList{grid-template-columns:repeat(2,minmax(0,1fr))}.IdentifierResults,.IdentifierSelection{padding:12px}.IdentifierPositionChip{min-height:38px}.IdentifierCompletionNote{min-height:38px;min-width:38px}.IdentifierSelectionMeta{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.Dropdown select,.FretCountPicker input,.FretMarker,.IdentifierCompletionNote,.IdentifierPositionChip,.IdentifierResetButton,.NoteListButton,.ToolModeButton{transition:none}}
/*# sourceMappingURL=main.201b3ec5.css.map*/