/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#fcfaf5;--ink:#2d3031;--muted:#676a68;--timber:#79563f;--timber-dark:#513b29;--accent:#b94f3d;--line:#ded8ce;--cream:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif}button,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #b94f3d59}.seo-guide{width:min(1100px,100% - 64px);color:var(--ink);margin:-34px auto 110px}.seo-guide-intro{max-width:790px}.seo-guide h2{letter-spacing:-.025em;margin:14px 0 18px;font:500 clamp(32px,4.5vw,50px)/1.08 Georgia,Times New Roman,serif}.seo-guide p,.seo-guide li{color:var(--muted);font-size:15px;line-height:1.72}.seo-guide-columns{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:70px;margin-top:48px;padding:38px 0;display:grid}.seo-guide h3{margin:0 0 18px;font:500 24px/1.2 Georgia,serif}.seo-guide ul,.seo-guide ol{margin:0;padding-left:22px}.seo-guide li+li{margin-top:9px}.seo-faq{padding-top:42px}.seo-faq details{border-bottom:1px solid var(--line)}.seo-faq summary{cursor:pointer;padding:18px 36px 18px 0;font-weight:650;line-height:1.45}.seo-faq details p{max-width:820px;margin:-3px 0 20px}.related-tools{margin-top:48px}.related-tools>div{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.related-tools a{min-height:112px;color:var(--ink);border:1px solid var(--line);background:#fff;flex-direction:column;gap:8px;padding:20px;text-decoration:none;transition:border-color .18s,transform .18s;display:flex}.related-tools a:hover{border-color:var(--timber);transform:translateY(-2px)}.related-tools a span{color:var(--muted);font-size:13px;line-height:1.5}@media (width<=760px){.seo-guide{width:min(100% - 32px,1100px);margin-bottom:78px}.seo-guide-columns{grid-template-columns:1fr;gap:38px}.related-tools>div{grid-template-columns:1fr}}main{min-height:100vh;overflow-x:clip}.brand-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);background:#fcfaf5f5;width:100%;position:sticky;top:0}.brand-header-inner{justify-content:space-between;align-items:center;width:min(1380px,100% - 64px);min-height:86px;margin:0 auto;display:flex}.brand-mark{color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.brand-mark img{object-fit:contain;width:62px;height:62px;display:block}.brand-navigation{align-items:center;gap:clamp(20px,2.4vw,36px);display:flex}.brand-navigation a{color:var(--ink);padding:32px 0 30px;font-size:15px;font-weight:500;text-decoration:none;position:relative}.brand-navigation a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:24px;left:0;right:0;transform:scaleX(0)}.brand-navigation a:hover:after,.brand-navigation a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.hero{width:min(1380px,100% - 64px);margin:0 auto;padding:84px 0 58px}.hero-kicker,.eyebrow{color:var(--timber);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700}.hero-kicker{align-items:center;gap:12px;display:flex}.hero-kicker span{background:var(--accent);width:42px;height:1px;display:block}.hero h1{letter-spacing:-.052em;max-width:940px;margin:22px 0 26px;font:500 clamp(48px,7vw,92px)/.98 Georgia,Times New Roman,serif}.hero h1 em{color:var(--timber);font-weight:400}.hero>p{max-width:730px;color:var(--muted);margin:0;font-size:17px;line-height:1.75}.explorer-shell{background:var(--cream);border:1px solid var(--line);grid-template-columns:210px minmax(0,1fr) 300px;width:min(1380px,100% - 64px);margin:0 auto 110px;display:grid;box-shadow:0 24px 70px #3f301f17}.control-rail{border-right:1px solid var(--line);background:#f5f2eb;padding:32px 24px}.control-group+.control-group,.fretboard-preference+.control-group{margin-top:32px}.control-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:10px;font-weight:800;display:block}.root-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.tonality-switch{margin-bottom:8px}.root-grid button,.family-grid button,.scale-family-grid button,.segmented button,.pattern-grid button,.triad-option-grid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;min-height:35px;transition:all .18s}.root-grid button:hover,.family-grid button:hover,.scale-family-grid button:hover,.segmented button:hover,.pattern-grid button:hover,.triad-option-grid button:hover{border-color:var(--timber)}.root-grid button.is-active,.family-grid button.is-active,.scale-family-grid button.is-active,.segmented button.is-active,.pattern-grid button.is-active,.triad-option-grid button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.tool-control-grid{gap:5px}.tool-choice-button{border:1px solid var(--line);min-height:35px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;padding:7px 8px;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif;font-size:10px;transition:border-color .18s,background-color .18s,color .18s}.tool-choice-button:hover{border-color:var(--timber)}.tool-choice-button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.tool-primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:5px;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif;font-size:12px;font-weight:800}.family-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.family-grid button{font-weight:700}.scale-family-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.scale-family-grid button{align-content:center;place-items:center;gap:2px;min-width:0;padding:7px 3px;font-size:9px;line-height:1;display:grid}.scale-family-grid button strong{font-size:9px}.scale-family-grid button span{opacity:.72;font-size:8px}.mode-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.mode-grid button,.position-grid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;min-height:35px;transition:all .18s}.mode-grid button{padding:7px 5px;font-size:10px;font-weight:700}.mode-grid button:last-child{grid-column:1/-1}.mode-grid button:hover,.position-grid button:hover{border-color:var(--timber)}.mode-grid button.is-active,.position-grid button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.position-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.position-grid button{align-content:center;place-items:center;gap:1px;min-height:45px;display:grid}.position-grid button strong{font-size:12px;line-height:1}.position-grid button span{opacity:.75;font-size:9px;line-height:1}.pattern-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.pattern-grid button{min-height:38px;padding:6px 7px;font-size:10px;font-weight:700;line-height:1.2}.pattern-grid button:last-child{grid-column:1/-1}.subcontrol-label{color:var(--timber);letter-spacing:.1em;text-transform:uppercase;margin:14px 0 7px;font-size:9px;font-weight:800;display:block}.triad-option-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.triad-option-grid button{min-height:32px;padding:5px;font-size:10px;font-weight:700}.inversion-grid{grid-template-columns:repeat(3,1fr)}.triad-all-note{color:var(--muted);margin:12px 0 0;font-size:10px;line-height:1.45}.segmented{grid-template-columns:repeat(3,1fr);display:grid}.segmented.tonality-switch{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.segmented button{border-right:0;border-radius:0;padding:0 8px;font-size:11px}.segmented button:first-child{border-radius:5px 0 0 5px}.segmented button:last-child{border-right:1px solid var(--line);border-radius:0 5px 5px 0}.chord-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.chord-view-grid button,.chord-view-grid button:first-child,.chord-view-grid button:last-child{border:1px solid var(--line);border-radius:6px;min-height:54px;font-size:12px}.instrument-panel{min-width:0;padding:34px 34px 28px}.instrument-topline{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.instrument-topline h2{margin:8px 0 0;font:500 30px/1.1 Georgia,serif}.legend{color:var(--muted);white-space:nowrap;gap:14px;font-size:10px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.root-dot{background:var(--accent)}.tone-dot{border:1px solid var(--timber-dark);background:#f1e8d7}.start-dot{border:2px solid var(--accent);background:#f1e8d7}.ghost-dot{border:1px dashed var(--cream);box-shadow:0 0 0 1px var(--timber)}.voicing-switch{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;justify-content:flex-end;align-items:center;gap:10px;margin:26px 0 12px;font-size:10px;display:flex}.segmented.compact{display:flex}.segmented.compact button{min-height:29px}.fretboard-wrap{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#ad9c8c transparent;grid-template-columns:22px 1fr;align-items:start;gap:8px;padding:15px 0 16px;display:grid;overflow:auto hidden}.fretboard-wrap::-webkit-scrollbar{height:6px}.fretboard-wrap::-webkit-scrollbar-track{background:0 0;margin-inline:30px}.fretboard-wrap::-webkit-scrollbar-thumb{background:#ad9c8c;border-radius:999px}.fretboard-wrap.is-left-handed{grid-template-columns:1fr 22px}.fretboard-wrap.is-left-handed .string-labels{order:2}.string-labels{height:170px;color:var(--muted);grid-template-rows:21px repeat(4,32px) 21px;align-items:center;font:600 11px/1 Georgia,serif;display:grid}.fretboard{background:radial-gradient(at 18% 28%,#e0a36821,#0000 24%),radial-gradient(at 76% 68%,#1d0a043b,#0000 32%),repeating-linear-gradient(2deg,#220c052e 0 1px,#0000 1px 7px,#e5a6670b 7px 8px,#0000 8px 19px),linear-gradient(3deg,#3e2014,#69412b 20%,#452419 45%,#754a31 69%,#3b1e13);min-width:650px;position:relative;overflow:visible}.string-row{grid-template-columns:28px repeat(var(--fret-count), 1fr);height:32px;display:grid;position:relative}.string-row:first-child,.string-row:nth-child(6){height:21px}.string-row:after{content:"";height:var(--string-width);z-index:4;background:linear-gradient(#6e6e6b,#f8f5ed 48%,#666);position:absolute;top:50%;left:28px;right:0;transform:translateY(-50%);box-shadow:0 1px 2px #120803bf,0 -1px 1px #ffebc72e}.string-row-0:after,.string-row-1:after,.string-row-2:after{filter:drop-shadow(0 2px 2px #0c0502bf);background:repeating-linear-gradient(102deg,#432817 0 .35px,#e4b978 .35px 2.35px,#704722 2.35px 2.75px)}.string-row:first-child:after{top:5px}.string-row:nth-child(6):after{top:auto;bottom:5px;transform:translateY(50%)}.string-status{z-index:4;color:var(--muted);background:var(--cream);place-items:center;font-size:14px;display:grid}.string-status.muted{color:var(--accent)}.fret-cell{background:linear-gradient(90deg,#ffffff06,#00000009);place-items:center;display:grid;position:relative}.fret-cell:after{content:"";z-index:3;pointer-events:none;background:linear-gradient(90deg,#5d5954,#f7f4eb 25%,#aaa7a1 50%,#55524e 76%,#d8d4ca);width:4px;position:absolute;top:0;bottom:0;right:-2px;box-shadow:1px 0 2px #1209048c}.fret-cell.marker-fret{background:linear-gradient(90deg,#ffffff0b,#00000006)}.fret-cell.nut-cell{background:var(--cream)}.fret-cell.nut-cell:after{background:linear-gradient(90deg,#d8cfbd,#fffdf6 38%,#e4dccd 72%,#8f8372);width:7px;right:-3px;box-shadow:2px 0 3px #2d1d1257}.landscape-markers{z-index:2;grid-template-columns:28px repeat(var(--fret-count), 1fr);pointer-events:none;grid-auto-flow:dense;height:170px;display:grid;position:absolute;top:0;left:0;right:0}.landscape-markers span{grid-column:calc(var(--marker-fret) + 2);height:100%;position:relative}.landscape-markers i{background:radial-gradient(circle at 31% 27%,#fff 0 16%,#fff9e9 30%,#eadbc0 57%,#b9a58a 82%,#786752);border-radius:50%;width:14px;height:14px;position:absolute;top:85px;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #180e08c7,inset 0 0 4px #fff}.landscape-markers i:last-child{display:none}.landscape-markers .is-double i:first-child{top:53px}.landscape-markers .is-double i:last-child{display:block;top:117px}.note-dot{z-index:6;border:1px solid var(--timber-dark);width:27px;height:27px;color:var(--ink);background:#f5eddd;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid;position:relative;box-shadow:0 2px 5px #1f140c4d}.note-dot.root{background:var(--accent);color:#fff;border-color:#903728}.note-dot.position-start{box-shadow:0 0 0 3px #b94f3d47,0 2px 5px #1f140c4d}.note-dot.ghost{box-shadow:none;background:#f5eddd24;border:2px dashed #ffffffc7}.note-dot.is-practice-active{z-index:8;border-color:#fff8e8;transition:transform 90ms,box-shadow 90ms;transform:scale(1.2);box-shadow:0 0 0 4px #b94f3d57,0 0 18px #ffefc1e6,0 3px 7px #1f140c6b}.string-row:first-child .note-dot{--note-edge-y:-5px;transform:translateY(-5px)}.string-row:first-child .note-dot.is-practice-active{transform:translateY(-5px)scale(1.2)}.string-row:nth-child(6) .note-dot{z-index:9;--note-edge-y:5px;transform:translateY(5px)}.string-row:nth-child(6) .note-dot.is-practice-active{transform:translateY(5px)scale(1.2)}.fret-numbers{z-index:7;grid-template-columns:28px repeat(var(--fret-count), 1fr);color:var(--muted);background:var(--cream);text-align:center;padding-top:8px;font-size:9px;display:grid;position:relative}.fret-numbers .marker-number{color:var(--ink);font-weight:800}.fretboard.is-left-handed .string-row,.fretboard.is-left-handed .landscape-markers,.fretboard.is-left-handed .fret-numbers{grid-template-columns:repeat(var(--fret-count), 1fr) 28px}.fretboard.is-left-handed .string-status,.fretboard.is-left-handed .fret-numbers>span:first-child{order:2}.fretboard.is-left-handed .string-row:after{left:0;right:28px}.fretboard.is-left-handed .fret-cell:after{left:-2px;right:auto;transform:scaleX(-1)}.fretboard.is-left-handed .fret-cell.nut-cell:after{left:-3px;right:auto;transform:scaleX(-1)}.fretboard.is-left-handed .landscape-markers span{grid-column:calc(var(--marker-fret) + 1)}.shape-travel{margin-top:20px}.shape-travel-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px;font-size:9px;font-weight:800;display:block}.shape-nav{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:12px;display:grid}.shape-nav button{border:1px solid var(--line);cursor:pointer;min-height:54px;color:var(--muted);background:0 0;border-radius:5px;padding:8px 14px;font-size:10px}.shape-nav button:first-child{text-align:left}.shape-nav button:last-child{text-align:right}.shape-nav button strong{color:var(--ink);margin-top:3px;font-size:12px;display:block}.shape-nav .play-button{border-color:var(--accent);background:var(--accent);color:#fff;padding-inline:24px;font-size:12px;font-weight:700}.shape-nav .play-button.is-playing{border-color:var(--ink);background:var(--ink)}.play-icon{margin-right:6px;font-size:9px}.practice-bar{border:1px solid var(--line);background:#fcfaf5;border-radius:6px;margin-top:12px;overflow:hidden}.practice-toggle{width:100%;min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:20px;padding:10px 16px;display:flex}.practice-toggle span{gap:3px;display:grid}.practice-toggle strong{color:var(--timber);text-transform:uppercase;letter-spacing:.12em;font-size:10px}.practice-toggle small{color:var(--muted);font-size:10px}.practice-toggle b{color:var(--accent);font:400 23px/1 Georgia,serif}.practice-bar.is-open .practice-toggle{border-bottom:1px solid var(--line)}.practice-controls{grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto auto;align-items:center;gap:13px 16px;padding:16px;display:grid}.tempo-control{grid-column:1/3;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.tempo-control>span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;font-size:9px}.tempo-control>span strong{color:var(--ink)}.tempo-control small{width:92px;color:var(--muted);text-align:right;white-space:nowrap;font-size:9px}.tempo-control input[type=range]{width:100%;accent-color:var(--accent)}.rhythm-control{grid-column:3/5;justify-content:flex-end;align-items:center;gap:9px;display:flex}.rhythm-control>span,.sequence-control>span{color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-size:9px}.sequence-control{grid-column:1/5;align-items:center;gap:9px;display:flex}.sequence-options{flex-wrap:wrap}.rhythm-options{display:inline-flex}.rhythm-options button{border:1px solid var(--line);background:var(--paper);min-height:29px;color:var(--muted);cursor:pointer;border-right:0;padding:6px 10px;font-size:9px}.rhythm-options button:first-child{border-radius:4px 0 0 4px}.rhythm-options button:last-child{border-right:1px solid var(--line);border-radius:0 4px 4px 0}.rhythm-options button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.rhythm-options button:disabled{cursor:default;opacity:.62}.division-options button{place-items:center;gap:2px;min-width:54px;min-height:56px;padding:5px 8px 6px;display:grid}.division-options button small{color:inherit;font-size:8px;line-height:1}.rhythm-symbol{color:currentColor;fill:currentColor;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:27px;overflow:visible}.rhythm-symbol text{fill:currentColor;stroke:none;font:700 8px/1 Arial,sans-serif}.practice-check{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:10px;display:inline-flex}.practice-check input{accent-color:var(--accent)}.practice-start{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:4px;grid-column:3/5;min-height:38px;padding:8px 15px;font-size:10px;font-weight:800}.practice-start.is-playing{background:var(--ink);border-color:var(--ink)}.practice-status{min-height:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;grid-column:1/-1;font-size:9px}.position-summary{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;justify-content:flex-end;align-items:center;gap:10px;margin:26px 0 12px;font-size:10px;display:flex}.position-summary strong{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:4px;padding:8px 11px;font-size:10px}.education-panel{border-left:1px solid var(--line);background:#fcfaf5;padding:34px 28px}.education-panel h3{margin:9px 0 14px;font:500 30px/1.15 Georgia,serif}.pattern-alias{border:1px solid var(--line);color:var(--timber);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin:-5px 0 12px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-block}.education-panel .lead{color:var(--muted);font-size:12px;line-height:1.7}.education-panel dl{margin:26px 0}.education-panel dl>div{border-top:1px solid var(--line);padding:14px 0}.education-panel dt{color:var(--timber);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:9px;font-weight:800}.education-panel dd{margin:0;font-size:12px;line-height:1.55}.education-panel dd strong{font-size:14px}.education-panel dd span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.education-panel dd .guide-information-grid{gap:4px;display:grid}.education-panel dd .guide-information-row{grid-template-columns:68px minmax(0,1fr);align-items:baseline;column-gap:8px;display:grid}.education-panel dd .guide-information-label{color:var(--muted);text-align:left;white-space:nowrap;margin:0;font-size:10px;display:block}.education-panel dd .guide-token-row{display:block}.education-panel dd .guide-playback-token{color:inherit;border-radius:3px;margin:0;padding:1px 2px 2px;transition:color 90ms,background-color 90ms;display:inline-block}.education-panel dd .guide-playback-token>span{color:inherit;font:inherit;margin:0;display:inline}.education-panel dd .guide-playback-token.is-active{color:var(--accent);background:#f4dfd2}.chord-mode-switch{border:1px solid var(--line);background:#eee9df;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;margin:0 auto 22px;padding:5px;display:grid}.circle-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-difficulty{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:760px;margin:4px auto 24px;display:grid}.practice-difficulty button{border:1px solid var(--line);width:100%;min-width:0;min-height:72px;color:var(--muted);cursor:pointer;background:#fff;padding:12px 10px}.practice-difficulty button strong{color:var(--ink);text-transform:capitalize;margin-bottom:4px;font:600 12px Georgia,serif;display:block}.practice-difficulty button span{font-size:8px;line-height:1.4;display:block}.practice-difficulty button.is-active{border-color:var(--ink);background:var(--ink);color:#ffffffb3}.practice-difficulty button.is-active strong{color:#fff}.practice-mode-intro,.practice-mode-shell,.practice-review{border:1px solid var(--line);background:var(--cream);max-width:1180px;margin:0 auto 64px}.practice-mode-intro{text-align:center;padding:48px}.practice-mode-intro h2{margin:8px 0 12px;font:500 34px/1.1 Georgia,serif}.practice-mode-intro p{max-width:720px;color:var(--muted);margin:0 auto 22px;line-height:1.7}.practice-mode-shell{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);align-items:start;gap:34px;padding:36px 46px 52px;display:grid}.practice-mode-shell>aside{gap:15px;display:grid;position:sticky;top:18px}.practice-mode-shell h2{margin:0;font:500 29px/1.15 Georgia,serif}.practice-mode-shell aside>p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.practice-mode-shell .guided-progress{grid-template-columns:1fr}.practice-real-diagram{margin-top:0}.practice-real-diagram .portrait-chord-title{color:var(--muted)}.practice-shape-note{cursor:pointer;color:#0000;padding:0}.practice-shape-note:disabled{opacity:1;cursor:default}.practice-shape-note.is-selected{background:var(--accent);border-color:#8d3528;box-shadow:0 0 0 4px #b94f3d40,0 2px 5px #1f140c4d}.practice-position-label{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;margin-top:10px;font-size:9px}.practice-review{padding:34px}.practice-review-heading{gap:8px;margin-bottom:20px;display:grid}.practice-review-heading h2,.practice-review-heading h3{margin:0;font:500 29px/1.15 Georgia,serif}.practice-review-heading p{color:var(--muted);margin:0}.practice-review-heading button{color:#fff;cursor:pointer;background:#9f4939;border:1px solid #813f32;width:fit-content;min-height:40px;padding:8px 15px;font-weight:800}.practice-review-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.practice-review-list article{border:1px solid var(--line);background:#fff;gap:5px;padding:14px 42px 14px 14px;display:grid;position:relative}.practice-review-list article.is-correct{background:#eef8f0;border-color:#78a982 #78a982 #78a982 #4f7b58;border-left-style:solid;border-left-width:4px}.practice-review-list article.has-retry{background:#fff0ed;border-color:#d48b7e #d48b7e #d48b7e #b64b3d;border-left-style:solid;border-left-width:4px}.review-status{color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font:900 16px/1 Arial,sans-serif;display:grid;position:absolute;top:12px;right:13px}.is-correct .review-status{background:#4f7b58}.has-retry .review-status{background:#b64b3d}.practice-review-list span{color:#456a4d;font-size:10px;font-weight:750}.practice-review-list small{color:var(--muted);font-size:9px}.practice-review-list p{color:var(--muted);margin:3px 0 0;font-size:9px;line-height:1.5}.circle-practice-inline{background:#fffaf1;border:1px solid #cfc3b3;gap:12px;margin:0 28px 18px;padding:20px;display:grid;position:relative}.circle-practice-inline h3{margin:0;font:500 23px/1.2 Georgia,serif}.circle-practice-inline>p{max-width:760px;color:var(--muted);margin:0;font-size:11px;line-height:1.6}.circle-practice-inline .guided-primary{width:fit-content}.practice-collapse{border:1px solid var(--line);min-height:30px;color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#fff;padding:5px 8px;font-size:8px;position:absolute;top:10px;right:10px}.circle-practice-inline.practice-review{max-width:none}.circle-practice-inline .practice-review-list{max-height:420px;overflow:auto}.circle-practice-mode{grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)}.practice-circle-panel{border:1px solid var(--line);background:#fff;gap:18px;min-width:0;padding:22px;display:grid}.practice-circle-wheel{width:min(100%,520px);height:auto;margin:0 auto;display:block}.practice-wheel-ring{stroke:#cfc3b3;stroke-width:1.2px}.practice-wheel-ring.major{fill:#e5dbcf}.practice-wheel-ring.minor{fill:#f0eadf}.practice-wheel-ring.diminished{fill:#deddd6}.practice-wheel-family{fill:#b94f3d1c;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.practice-wheel-wedge{stroke:#513b292e;stroke-width:1px}.practice-wheel-wedge.major,.practice-wheel-wedge.minor,.practice-wheel-wedge.diminished{fill:#0000}.practice-wheel-wedge.major.is-in-key{fill:#dcecff;stroke:#204f80;stroke-width:2.4px}.practice-wheel-wedge.minor.is-in-key{fill:#f5ddd5;stroke:#873d2f;stroke-width:2.4px}.practice-wheel-wedge.diminished.is-in-key{fill:#e8ddf2;stroke:#5e487a;stroke-width:2.4px}.practice-wheel-key{cursor:pointer;outline:none}.practice-wheel-key>circle{fill:#0000;stroke:#0000;stroke-width:2px;transition:fill .15s,stroke .15s}.practice-wheel-key:hover>circle,.practice-wheel-key:focus>circle{fill:#ffffffa6;stroke:#9d8d7b}.practice-wheel-key>circle.is-selected{fill:var(--accent);stroke:#813f32}.practice-wheel-key text{fill:var(--ink);text-anchor:middle;pointer-events:none;font:600 12px Georgia,serif}.practice-wheel-key text.is-answer{fill:#fff;paint-order:stroke;stroke:#813f32;stroke-width:5px;stroke-linejoin:round;font-weight:900}.practice-wheel-centre{fill:#fffaf1;stroke:#9d8d7b;stroke-width:1.2px}.practice-wheel-centre-major,.practice-wheel-centre-minor{text-anchor:middle;fill:var(--ink);font-family:Georgia,serif}.practice-wheel-centre-major{font-size:24px;font-weight:700}.practice-wheel-centre-minor{font-size:12px}.practice-circle-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.practice-circle-facts div{border:1px solid var(--line);background:var(--cream);min-width:0;padding:10px}.practice-circle-facts span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:7px;font-weight:800;display:block}.practice-circle-facts strong{overflow-wrap:anywhere;font:600 11px/1.35 Georgia,serif;display:block}.practice-circle-legend{text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;justify-content:center;gap:8px 16px;font-size:8px;font-weight:800;display:flex}.practice-circle-legend span:before{content:"";vertical-align:-2px;border:2px solid;border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.practice-circle-legend .major{color:#204f80}.practice-circle-legend .minor{color:#873d2f}.practice-circle-legend .diminished{color:#5e487a}.practice-shape-note.show-correct,.practice-shape-note.show-incorrect{color:#fff;font:900 18px/1 Arial,sans-serif}.practice-shape-note.show-correct{background:#4f8b5c;border-color:#32643c;box-shadow:0 0 0 5px #4f8b5c3d}.practice-shape-note.show-incorrect{background:#bd493b;border-color:#8c2d24;box-shadow:0 0 0 5px #bd493b3d}.practice-shape-note.is-demonstrated-root{color:#fff;background:#4f8b5c;border-color:#32643c;font:900 11px/1 Arial,sans-serif}.chord-review-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px;display:grid}.chord-review-layout .practice-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.chord-review-layout article{cursor:pointer}.chord-review-layout article.is-inspected{outline:3px solid var(--ink);outline-offset:2px}.chord-review-inspector{border:1px solid var(--line);background:#fff;gap:8px;padding:16px;display:grid;position:sticky;top:18px}.practice-real-diagram.is-compact{width:100%;transform:none}.practice-real-diagram.is-compact .portrait-chord-title{font-size:28px}.circle-review-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:22px;display:grid}.circle-review-layout .practice-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.circle-review-layout article{cursor:pointer}.circle-review-layout article.is-inspected{outline:3px solid var(--ink);outline-offset:2px}.circle-review-inspector{border:1px solid var(--line);background:#fff;padding:16px;position:sticky;top:18px}.circle-review-inspector .practice-circle-panel{border:0;padding:8px}.circle-review-inspector .practice-circle-facts{grid-template-columns:1fr}.practice-review-heading .practice-difficulty button:not(.is-active){color:#fffc;background:#b94f3d;border-color:#813f32}.practice-review-heading .practice-difficulty button:not(.is-active) strong{color:#fff}.chord-mode-switch button{min-height:66px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:10px 18px;font-size:9px;line-height:1.4}.chord-mode-switch button span{color:var(--ink);margin-bottom:3px;font:500 16px Georgia,serif;display:block}.chord-mode-switch button.is-active{background:var(--ink);color:#ffffffad;box-shadow:0 2px 8px #1f140c2e}.chord-mode-switch button.is-active span{color:#fff}.chord-explorer-shell,.chord-identifier-shell{border:1px solid var(--line);background:var(--cream);grid-template-columns:235px minmax(0,1fr) 290px;max-width:1380px;margin:0 auto 72px;display:grid}.chord-identifier-help{border-right:1px solid var(--line);background:#f5f2eb;padding:30px 23px}.chord-identifier-help h2{margin:10px 0 20px;font:500 25px/1.15 Georgia,serif}.chord-identifier-help ol{color:var(--ink);margin:0;padding-left:20px;font-size:11px;line-height:1.7}.chord-identifier-help p{color:var(--muted);margin:16px 0 22px;font-size:10px;line-height:1.55}.identifier-clear,.identifier-explore{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:5px;padding:8px 14px;font-size:10px;font-weight:800}.identifier-clear:disabled{cursor:default;opacity:.36}.chord-identifier-workspace{min-width:0;padding:34px 30px 38px}.identifier-result-heading{justify-content:space-between;align-items:flex-start;gap:24px;min-height:92px;margin-bottom:24px;display:flex}.identifier-result-heading h2{margin:8px 0 5px;font:500 42px/1 Georgia,serif}.identifier-result-heading p{color:var(--muted);margin:0;font-size:11px}.identifier-fretboard-wrap{background:radial-gradient(at 20% 24%,#d9975d29,#0000 24%),radial-gradient(at 71% 72%,#1e0a0440,#0000 30%),repeating-linear-gradient(88deg,#240c053d 0 1px,#0000 1px 6px,#e5a6670d 6px 7px,#0000 7px 16px),linear-gradient(93deg,#3d1e12,#69402a 19%,#432217 43%,#754a31 68%,#3b1d12);border:1px solid #3a2015;margin:10px 0 0;padding:18px 16px 14px;overflow-x:auto;box-shadow:inset 8px 0 14px #14070240,inset -8px 0 14px #14070240}.identifier-fret-numbers{color:#ffffffb8;text-align:center;grid-template-columns:34px repeat(13,minmax(38px,1fr));min-width:570px;padding-bottom:7px;font-size:8px;font-weight:800;display:grid}.identifier-fret-numbers span:first-child{grid-column:2}.identifier-fretboard{border-top:3px solid #eee9da;border-bottom:1px solid #ffffff3d;min-width:570px}.identifier-string-row{grid-template-columns:34px repeat(13,minmax(38px,1fr));display:grid;position:relative}.identifier-string-row:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#f7f4ec,#696969);height:2px;position:absolute;top:50%;left:34px;right:0;box-shadow:0 1px 2px #140803d9}.identifier-string-row b{z-index:3;color:#fff;place-items:center;font:500 12px Georgia,serif;display:grid;position:relative}.identifier-string-row button{z-index:2;color:#0000;cursor:pointer;background:0 0;border:0;border-right:2px solid #e7e5ddd1;height:49px;font-size:10px;font-weight:800;position:relative}.identifier-string-row button:first-of-type{background:#ffffff0f;border-right:4px solid #eee9da}.identifier-string-row button:hover{background:#ffffff1c}.identifier-string-row button.is-selected:after{content:"";z-index:-1;background:var(--accent);border:1px solid #903728;border-radius:50%;width:31px;height:31px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #1f140c80}.identifier-string-row button.is-selected{color:#fff}.identifier-string-row button.is-playing:after{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 0 0 4px #ffefc159,0 0 18px #ffefc1f2}.identifier-fret-hint{color:#ffffff9e;justify-content:space-between;min-width:570px;padding:9px 4px 0 38px;font-size:8px;display:flex}.identifier-actions{justify-content:center;gap:8px;margin:24px 0 0;display:flex}.identifier-neck-stage>.identifier-actions{grid-column:1;justify-self:center;width:max-content;max-width:none}.identifier-share-actions{flex-wrap:wrap;grid-column:1;justify-content:center;align-items:center;gap:8px;min-height:34px;margin-top:10px;display:flex}.identifier-share-actions button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:4px;padding:7px 12px;font-size:9px;font-weight:800}.identifier-share-actions button:disabled{cursor:default;opacity:.35}.identifier-share-actions button.is-primary,.tool-share-actions button.is-primary{border-color:var(--ink);background:var(--ink);color:#fff}.identifier-share-actions span{color:var(--accent);font-size:9px;font-weight:800}.library-share-actions{margin:-10px auto 28px}.tool-share-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-height:38px;margin:18px auto 22px;display:flex}.tool-share-actions button{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:4px;padding:8px 14px;font-size:10px;font-weight:800}.tool-share-actions span{min-width:72px;color:var(--accent);font-size:10px;font-weight:800}.fretboard-hero{padding-bottom:48px}.fretboard-explorer-shell{background:var(--cream);border:1px solid var(--line);grid-template-columns:245px minmax(0,1fr);width:min(1380px,100% - 64px);margin:0 auto 110px;display:grid;box-shadow:0 24px 70px #3f301f17}.fretboard-control-rail{border-right:1px solid var(--line);background:#f5f2eb;padding:30px 22px}.lesson-mode-grid{gap:5px;display:grid}.lesson-mode-grid button,.interval-grid button,.string-choice-grid button,.string-choice-actions button,.connection-toggle{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;transition:all .18s}.lesson-mode-grid button:hover,.interval-grid button:hover,.string-choice-grid button:hover,.string-choice-actions button:hover,.connection-toggle:hover{border-color:var(--timber)}.lesson-mode-grid button.is-active,.interval-grid button.is-active,.string-choice-grid button.is-active,.connection-toggle.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.interval-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.interval-grid button{place-items:center;gap:2px;min-width:0;min-height:48px;padding:6px 3px;display:grid}.interval-grid button.is-root-lock{cursor:default;opacity:1}.interval-grid strong{font-size:12px}.interval-grid span{text-align:center;text-overflow:ellipsis;max-width:100%;font-size:8px;overflow:hidden}.string-choice-actions{grid-template-columns:1fr 1fr;gap:5px;margin-bottom:5px;display:grid}.string-choice-actions button{min-height:25px;color:var(--muted);font-size:8px;font-weight:800}.string-choice-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.string-choice-grid button{place-items:center;min-height:34px;padding:2px;display:grid}.string-choice-grid strong{font:700 13px/1 Georgia,serif}.fretboard-segmented{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-bottom:6px}.fretboard-segmented button{flex:50%;min-width:0;min-height:36px;font-size:10px}.connection-toggle{justify-content:center;align-items:center;gap:7px;width:100%;font-size:10px;font-weight:750;display:flex}.connection-toggle span{border:1px solid;border-radius:3px;place-items:center;width:15px;height:15px;font-size:9px;display:grid}.fretboard-learning-panel{min-width:0;padding:34px 30px 30px}.fretboard-learning-panel .instrument-topline{margin-bottom:20px}.full-fretboard-scroll{overscroll-behavior-x:contain;scrollbar-gutter:stable;grid-template-columns:22px 1fr;align-items:start;gap:8px;padding:15px 0 20px;display:grid;overflow-x:auto}.full-fretboard-scroll.is-left-handed{grid-template-columns:1fr 22px}.full-fretboard-scroll.is-left-handed .full-string-labels{order:2}.full-string-labels{height:170px;color:var(--muted);grid-template-rows:21px repeat(4,32px) 21px;align-items:center;font:600 11px/1 Georgia,serif;display:grid}.full-fretboard{min-width:1080px}.full-fretboard .string-row,.full-fretboard .landscape-markers,.full-fretboard .fret-numbers{grid-template-columns:18px repeat(var(--fret-count), 1fr)}.full-fretboard .string-row:after{left:18px}.full-fretboard .fret-cell.nut-cell:after{width:5px;right:-2px}.full-fretboard .landscape-markers i{width:12px;height:12px}.full-fretboard .note-dot{width:25px;height:25px;font-size:9px}.full-fretboard .fret-numbers{z-index:5;background:var(--cream);margin-top:0;padding-top:20px;padding-bottom:2px}.full-fretboard .fret-numbers span{min-width:0}.full-fretboard.is-left-handed .string-row,.full-fretboard.is-left-handed .landscape-markers,.full-fretboard.is-left-handed .fret-numbers{grid-template-columns:repeat(var(--fret-count), 1fr) 18px}.full-fretboard.is-left-handed .string-row:after{left:0;right:18px}.full-fretboard.is-left-handed .fret-cell.nut-cell:after{left:-2px;right:auto;transform:scaleX(-1)}.fretboard-note.interval-target{border:2px solid var(--accent);color:var(--ink);background:#f1e8d7}.practice-question-note{border:2px solid var(--accent);color:var(--accent);background:#fff8e8;font-size:13px!important}.practice-clickable-cell{cursor:crosshair}.practice-clickable-cell:hover{background:#fff8e821}.practice-wrong-marker{z-index:8;color:#fff;background:#b83f35;border-radius:50%;place-items:center;width:28px;height:28px;font:800 26px/1 Arial,sans-serif;animation:.65s both practice-wrong-pop;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #5b140e5c}@keyframes practice-wrong-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.55)}18%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.86)}}.fretboard-connection-lines{z-index:5;pointer-events:none;width:calc(100% - 18px);height:170px;position:absolute;top:0;left:18px;right:0;overflow:visible}.full-fretboard.is-left-handed .fretboard-connection-lines{left:0;right:18px}.fretboard-connection-lines line{vector-effect:non-scaling-stroke;stroke:#fff7e2c7;stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 1px 2px #231007cc)}.fretboard-connection-lines line.interval{stroke:#e1755ae6;stroke-dasharray:7 5}.fretboard-insight{border-left:3px solid var(--accent);background:#f5f2eb;margin-top:8px;padding:18px 20px}.fretboard-insight p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.65}.fretboard-guided-practice{margin-top:8px}.fretboard-practice-body{padding:16px}.fretboard-practice-setup{grid-template-columns:minmax(300px,1.5fr) minmax(190px,.8fr) auto;align-items:end;gap:14px;display:grid}.practice-field-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.practice-levels{grid-template-columns:repeat(3,1fr);display:grid}.practice-levels button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--muted);cursor:pointer;border-right:0;place-items:center;gap:2px;padding:5px 8px;display:grid}.practice-levels button:first-child{border-radius:4px 0 0 4px}.practice-levels button:last-child{border-right:1px solid var(--line);border-radius:0 4px 4px 0}.practice-levels button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.practice-levels strong{font-size:9px}.practice-levels small{color:inherit;font-size:7px}.practice-string-row{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.practice-string-row button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);cursor:pointer;border-radius:4px;font:700 13px/1 Georgia,serif;position:relative}.practice-string-row button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.practice-string-row button.is-mastered{box-shadow:inset 0 -3px var(--accent)}.practice-string-row button span{color:var(--accent);font:800 8px/1 Arial,sans-serif;position:absolute;top:2px;right:3px}.fretboard-practice-setup>.practice-start{grid-column:auto;min-width:145px}.practice-privacy-note{color:var(--muted);margin:10px 0 0;font-size:8px;line-height:1.5}.note-recall-practice,.map-completion-practice{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.practice-prompt{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.practice-prompt span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.practice-prompt strong{font:500 18px/1.2 Georgia,serif}.note-answer-grid{grid-template-columns:repeat(12,minmax(34px,1fr));gap:4px;display:grid}.note-answer-grid button{border:1px solid var(--line);background:var(--paper);min-height:36px;color:var(--ink);cursor:pointer;border-radius:4px;font-size:9px;font-weight:800}.note-answer-grid button:disabled{cursor:default;opacity:.56}.note-answer-grid button.is-correct{color:#fff;opacity:1;background:#477c54;border-color:#477c54}.note-answer-grid button.is-wrong{color:#fff;opacity:1;background:#a94438;border-color:#a94438}.practice-result{min-height:34px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:10px;display:flex}.practice-result strong.is-correct{color:#477c54}.practice-result strong.is-wrong{color:#a94438}.practice-result button,.practice-mastery button,.map-completion-practice button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.mastery-progress{background:var(--line);border-radius:999px;height:4px;overflow:hidden}.mastery-progress span{background:var(--accent);height:100%;transition:width .2s;display:block}.practice-mastery{color:#315a3b;background:#edf4ec;border-left:3px solid #477c54;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 14px;font-size:11px;display:flex}.map-completion-practice{justify-content:space-between;align-items:center;gap:16px;display:flex}.map-completion-practice>div{gap:4px;display:grid}.map-completion-practice strong{color:var(--ink);font-size:11px}.map-completion-practice span{color:var(--muted);font-size:9px}.map-completion-practice em{font-size:9px;font-style:normal}.map-completion-practice em.is-correct{color:#477c54}.map-completion-practice em.is-wrong{color:#a94438}.practice-completion-summary{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.practice-summary-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.practice-summary-heading>div{gap:5px;display:grid}.practice-summary-heading>div>strong{font:500 20px/1.2 Georgia,serif}.practice-summary-heading>span{color:var(--accent);font:500 34px/1 Georgia,serif}.practice-timing-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.practice-timing-grid>div{border:1px solid var(--line);background:#fff;border-radius:5px;gap:3px;padding:12px;display:grid}.practice-timing-grid span,.practice-timing-grid small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:8px}.practice-timing-grid strong{font:600 20px/1.1 Georgia,serif}.practice-review-list{gap:5px;margin-top:16px;display:grid}.practice-review-list>div{border:1px solid var(--line);color:var(--muted);border-radius:4px;grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(150px,.9fr);gap:12px;padding:8px 10px;font-size:9px;display:grid}.practice-review-list b{color:#a94438}.practice-review-list strong{color:#477c54}.perfect-practice-score{color:#477c54;margin:16px 0 0;font-size:11px}.observatory-page{min-height:100vh;color:var(--ink);background:#f4f1e9}.observatory-hero{max-width:1180px;margin:0 auto;padding:70px 36px 34px}.observatory-hero h1{margin:9px 0 12px;font:500 clamp(36px,5vw,62px)/1.03 Georgia,serif}.observatory-hero p{max-width:760px;color:var(--muted);margin:0;font-size:16px;line-height:1.65}.observatory-dashboard{max-width:1180px;margin:0 auto;padding:0 36px 80px}.observatory-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px;display:grid}.observatory-metrics article,.observatory-card{border:1px solid var(--line);background:#fff}.observatory-metrics article{gap:6px;padding:22px;display:grid}.observatory-metrics span,.observatory-metrics small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.observatory-metrics strong{font:500 34px/1 Georgia,serif}.observatory-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.observatory-wide-card,.observatory-suite-grid{margin-bottom:12px}.observatory-card{padding:22px}.observatory-card-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.observatory-card-heading h2{margin:0;font:500 20px/1.15 Georgia,serif}.observatory-card-heading span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.observatory-table{display:grid}.observatory-table>div{border-top:1px solid var(--line);grid-template-columns:minmax(90px,1fr) 54px 54px 58px;align-items:center;gap:8px;padding:9px 0;font-size:10px;display:grid}.observatory-table>div>span{font-weight:700}.observatory-table small{color:var(--muted);text-align:right}.confusion-list{display:grid}.confusion-list>div{border-top:1px solid var(--line);grid-template-columns:36px 1fr 32px;gap:8px;padding:9px 0;font-size:10px;display:grid}.confusion-list>div>strong{color:#a94438;font-size:14px}.confusion-list>div>b{text-align:right}.observatory-empty,.observatory-insight-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.tool-metrics-table{overflow-x:auto}.tool-metrics-table>div{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1.5fr) repeat(8,minmax(64px,.65fr));align-items:center;min-width:850px;display:grid}.tool-metrics-table>div>*{padding:10px 8px;font-size:10px}.tool-metrics-table>div>span{text-align:right}.tool-metrics-table .is-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;border-top:0}.tool-metrics-table .is-heading span{font-size:8px;font-weight:700}.guided-metrics-table>div{grid-template-columns:minmax(150px,1.25fr) minmax(150px,1.25fr) repeat(4,minmax(72px,.6fr));min-width:720px}.outcome-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.outcome-grid>div{border:1px solid var(--line);background:#fbfaf7;grid-template-columns:1fr auto;gap:4px 10px;padding:13px;display:grid}.outcome-grid strong{font-size:11px}.outcome-grid span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-column:1;font-size:8px;overflow:hidden}.outcome-grid b{grid-area:1/2/span 2;align-self:center;font:500 24px/1 Georgia,serif}.outcome-grid small{color:var(--muted);grid-column:1/-1;font-size:8px}@media (width<=760px){.outcome-grid{grid-template-columns:1fr}}.observatory-footnote{color:var(--muted);margin:14px 0 0;font-size:8px;line-height:1.55}.guided-practice-card{border:1px solid var(--line);background:linear-gradient(135deg,#fff 0%,#f7f1e6 100%);grid-template-columns:minmax(260px,.85fr) minmax(400px,1.5fr);align-items:center;gap:28px;max-width:1180px;margin:0 auto 18px;padding:24px 28px;display:grid}.guided-practice-card h2{margin:7px 0 8px;font:500 27px/1.1 Georgia,serif}.guided-practice-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.guided-primary,.guided-result button{color:#fff;cursor:pointer;background:#9f4939;border:1px solid #813f32;min-height:44px;padding:10px 18px;font-weight:800}.guided-workspace{border:1px solid var(--line);background:#fff;gap:14px;padding:18px;display:grid}.guided-workspace h3{margin:0;font:500 20px/1.25 Georgia,serif}.guided-progress{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;grid-template-columns:auto 1fr;align-items:center;gap:12px;font-size:9px;display:grid}.guided-progress i{background:#e7ded0;height:4px;overflow:hidden}.guided-progress b{background:#a64f3e;height:100%;display:block}.guided-options{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.guided-options button{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:#fbfaf7;font-weight:750}.guided-options button:hover,.guided-options button:focus-visible{background:#f7ece6;border-color:#a64f3e}.guided-feedback{min-height:18px;font-weight:700;color:#924434!important}.guided-result{border:1px solid var(--line);background:#fff;place-items:center;gap:8px;min-height:150px;display:grid}.guided-result strong{font:500 38px/1 Georgia,serif}.guided-result span{color:var(--muted);text-transform:uppercase;font-size:10px}.guided-key{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#322b25;width:fit-content;padding:5px 8px;font-size:9px;font-weight:800}.practice-chord-shape{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.practice-chord-shape button{cursor:pointer;background:repeating-linear-gradient(#f7f0e4 0 13px,#cfc4b4 14px);border:1px solid #cfc4b4;place-items:center;gap:3px;min-height:72px;display:grid}.practice-chord-shape button span{color:#fff;background:#37302a;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.practice-chord-shape button small{color:var(--muted);font-size:7px}.practice-chord-shape button.is-muted span{color:#8a7d70;background:0 0}.practice-chord-shape button.is-chosen{border-color:#9f4939;box-shadow:inset 0 0 0 2px #9f4939}.practice-chord-shape button.is-chosen span{background:#9f4939}@media (width<=760px){.guided-practice-card{grid-template-columns:1fr;gap:16px;margin:0 14px 16px;padding:20px}.guided-options{grid-template-columns:1fr}.practice-chord-shape{gap:3px}.practice-chord-shape button{min-height:61px}.practice-chord-shape button span{width:24px;height:24px}}.daily-visitors-list{display:grid}.daily-visitors-list>div{border-top:1px solid var(--line);grid-template-columns:36px 1fr 30px minmax(90px,auto);align-items:center;gap:9px;min-height:29px;font-size:9px;display:grid}.daily-visitors-list i{background:#ece8df;border-radius:4px;height:6px;overflow:hidden}.daily-visitors-list i b{border-radius:inherit;background:var(--accent);min-width:0;height:100%;display:block}.daily-visitors-list small{color:var(--muted);text-align:right}.bailout-list{display:grid}.bailout-list>div{border-top:1px solid var(--line);grid-template-columns:minmax(105px,1fr) minmax(130px,1.25fr) minmax(115px,1fr) 26px;align-items:center;gap:9px;padding:9px 0;font-size:9px;display:grid}.bailout-list span,.bailout-list small{color:var(--muted)}.bailout-list b{color:#a94438;text-align:right}.observatory-ranking-strip{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;display:grid}.observatory-ranking-strip article{border:1px solid var(--line);background:#fff;gap:6px;min-height:112px;padding:17px;display:grid}.observatory-ranking-strip span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:8px}.observatory-ranking-strip strong{font:500 18px/1.15 Georgia,serif}.observatory-ranking-strip small{color:var(--muted);align-self:end;font-size:8px;line-height:1.4}.observatory-opportunities{margin:0 0 12px}.opportunity-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.opportunity-grid>div{border:1px solid var(--line);background:#faf8f3;gap:7px;padding:14px;display:grid}.opportunity-grid strong{font:500 16px/1.15 Georgia,serif}.opportunity-grid span{color:#8a4d35;font-size:9px;font-weight:700;line-height:1.45}.opportunity-grid p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.observatory-intelligence{gap:18px;display:grid}.observatory-signal-strip{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.observatory-signal-strip>div{border:1px solid var(--line);background:#fbfaf7;gap:5px;min-width:0;padding:16px;display:grid}.observatory-signal-strip span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.observatory-signal-strip strong{text-overflow:ellipsis;white-space:nowrap;font:500 18px/1.15 Georgia,serif;overflow:hidden}.observatory-signal-strip small{color:var(--muted);font-size:9px}.observatory-programme-intro{color:var(--muted);max-width:980px;font-size:11px;line-height:1.6}.intelligence-catalog{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.intelligence-catalog section{border:1px solid var(--line);background:#fbfaf7;padding:14px}.intelligence-catalog h3{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;font-size:10px}.intelligence-catalog div{border-top:1px solid #e9e4db;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;font-size:10px;display:flex}.intelligence-catalog b{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;padding:3px 6px;font-size:8px}.status-measured{color:#285b31;background:#dcebdd}.status-collecting{color:#765719;background:#f2e6c8}.status-emerging{color:#5a526d;background:#e8e6ee}.mini-fretboard-map .mini-note{width:25px;height:25px;margin:-12px 0 0 -12px;font-size:8px}@media (width<=1050px){.observatory-signal-strip,.intelligence-catalog{grid-template-columns:1fr 1fr}.observatory-ranking-strip{grid-template-columns:repeat(3,1fr)}.opportunity-grid{grid-template-columns:repeat(2,1fr)}.fretboard-explorer-shell{grid-template-columns:1fr}.fretboard-control-rail{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.fretboard-control-rail .control-group+.control-group{margin-top:0}.fretboard-control-rail .control-group{margin-bottom:24px}.fretboard-practice-setup{grid-template-columns:1fr;align-items:stretch}.fretboard-practice-setup>.practice-start{grid-column:1}.note-answer-grid{grid-template-columns:repeat(6,1fr)}}@media (width<=700px){.observatory-signal-strip,.intelligence-catalog,.practice-timing-grid,.observatory-metrics,.observatory-grid,.observatory-ranking-strip,.opportunity-grid{grid-template-columns:1fr}.observatory-hero{padding:46px 20px 28px}.observatory-dashboard{padding:0 20px 54px}.fretboard-explorer-shell{width:calc(100% - 24px);margin-bottom:78px}.fretboard-control-rail{grid-template-columns:1fr;padding:24px 18px 4px}.fretboard-learning-panel{padding:26px 18px 22px}.fretboard-learning-panel .instrument-topline{display:block}.fretboard-learning-panel .legend{white-space:normal;flex-wrap:wrap;margin-top:14px}.fretboard-learning-panel .instrument-topline h2{font-size:25px}.practice-levels{grid-template-columns:1fr;gap:4px}.practice-levels button,.practice-levels button:first-child,.practice-levels button:last-child{border:1px solid var(--line);border-radius:4px}.note-answer-grid{grid-template-columns:repeat(4,1fr)}.practice-prompt,.practice-mastery,.map-completion-practice{flex-direction:column;align-items:flex-start}}.identifier-capo-result{flex-wrap:wrap;gap:5px 16px;margin-top:9px;display:flex;color:var(--ink)!important;font-size:10px!important}.identifier-capo-result span{display:inline-block}.reference-setup-card{margin:0 0 24px}.identifier-near-note{border-left:3px solid var(--accent);color:var(--ink);background:#f5f2eb;margin:-10px 0 18px;padding:10px 12px;font-size:11px;line-height:1.5}.identifier-explore{border-color:var(--ink);background:var(--ink);color:#fff;white-space:nowrap;flex:none;min-width:max-content;padding-inline:18px;font-size:14px;font-weight:800}.identifier-actions .chord-play-button,.identifier-actions .identifier-explore{width:auto;max-width:none;min-height:52px;padding-inline:22px;font-size:15px}.identifier-alternatives{border-top:1px solid var(--line);padding:18px 0}.identifier-alternatives>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.identifier-alternatives button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:5px;padding:7px 11px;font:500 12px Georgia,serif}.identifier-alternatives p{color:var(--muted);margin:9px 0 0;font-size:9px}.identifier-guide{border-left:1px solid var(--line)}.identifier-steps{gap:8px;margin:22px 0 16px;display:grid}.identifier-steps>div{border:1px solid var(--line);background:#fcfaf5;border-radius:5px;grid-template-columns:27px 1fr;align-items:start;gap:9px;padding:10px;display:grid}.identifier-steps b{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:27px;height:27px;font-size:9px;display:grid}.identifier-steps span{color:var(--ink);font-size:10px;line-height:1.45}.identifier-view-control{margin:24px 0}.identifier-setup{border:1px solid var(--line);background:#ffffff73;border-radius:6px;gap:14px;margin:24px 0;padding:16px;display:grid}.identifier-setup label,.identifier-setup label>span{display:block}.identifier-setup select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fcfaf5;border-radius:4px;margin-top:7px;padding:8px 10px;font:600 10px/1.3 inherit}.identifier-tuning-preview{grid-template-columns:repeat(6,1fr);gap:4px;margin-top:7px;display:grid!important}.identifier-tuning-preview i{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:center;background:#f5f2eb;border-radius:3px;padding:6px 2px;font-family:Georgia,serif;font-size:10px;font-style:normal;font-weight:600}.handedness-toggle{grid-template-columns:1fr 1fr;margin-top:7px;display:grid}.identifier-view-control .segmented{border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;display:grid;overflow:visible}.identifier-view-control .segmented button{border:1px solid var(--line);border-radius:6px;min-width:0;min-height:44px}.identifier-view-control .segmented button:last-child{border-right:1px solid var(--line)}.identifier-neck-heading{border-top:1px solid var(--line);padding-top:13px}.identifier-neck-heading strong{margin-top:4px;font:500 13px Georgia,serif;display:block}.identifier-neck-stage{grid-template-columns:minmax(0,380px) 48px;justify-content:center;align-items:center;gap:20px;display:grid}.identifier-portrait{margin-top:18px}.identifier-portrait .portrait-chord-neck{margin-top:64px}.identifier-vertical-nav{align-content:center;justify-items:center;gap:10px;min-height:360px;display:grid}.identifier-vertical-nav button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:50%;font-size:18px}.identifier-vertical-nav button:disabled{cursor:default;opacity:.3}.identifier-vertical-nav input{width:34px;height:250px;accent-color:var(--accent);writing-mode:vertical-lr}.identifier-vertical-nav span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.portrait-chord-neck.is-editable{cursor:crosshair}.identifier-fret-target{z-index:8;left:calc(2% + (var(--note-string) * 19.2%));top:calc((var(--note-row) * 20%) + 10%);color:#0000;cursor:pointer;background:0 0;border:0;border-radius:50%;width:64px;height:64px;font-size:16px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.identifier-fret-target:hover{background:#fff8ea38;box-shadow:inset 0 0 0 1px #ffffff57}.identifier-fret-target.is-selected{border:1px solid var(--timber-dark);width:58px;height:58px;color:var(--ink);background:#f5eddd;box-shadow:0 2px 5px #1f140c4d}.identifier-fret-target.is-selected.root{background:var(--accent);color:#fff;border-color:#903728}.identifier-fret-target.is-playing{transform:translate(-50%,-50%)scale(1.12);box-shadow:0 0 0 4px #b94f3d4d,0 0 18px #ffefc1e6}.identifier-nut-status{z-index:10;left:calc(2% + (var(--string-index) * 19.2%));border:1px solid var(--timber-dark);width:58px;height:58px;color:var(--ink);cursor:pointer;background:#f5eddd;border-radius:50%;place-items:center;font-family:inherit;font-size:16px;font-weight:800;line-height:1;display:grid;position:absolute;top:-56px;transform:translate(-50%);box-shadow:0 2px 5px #1f140c4d}.identifier-nut-status:hover{border-color:var(--accent)}.identifier-nut-status.is-open.root{background:var(--accent);color:#fff;border-color:#903728}.identifier-nut-status.is-muted{box-shadow:none;color:var(--ink);background:0 0;border-color:#0000;font:900 28px/1 Arial,sans-serif}.identifier-nut-status.is-blank{box-shadow:none;color:#0000;background:0 0;border-color:#0000}.identifier-string-labels{color:var(--muted);text-align:center;grid-template-columns:repeat(6,1fr);margin-top:10px;padding:0 1%;font:500 12px Georgia,serif;display:grid}.chord-controls{border-right:1px solid var(--line);background:#f5f2eb;padding:28px 22px}.chord-controls .control-group+.control-group,.chord-controls .fretboard-preference+.identifier-setup{margin-top:28px}.chord-category-grid{gap:6px;display:grid}.chord-category-grid button,.chord-type-grid button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:5px}.chord-category-grid button{text-align:left;min-height:38px;padding:8px 10px;font-size:10px;font-weight:700}.chord-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.chord-type-grid button{min-height:54px;padding:7px 5px}.chord-type-grid strong,.chord-type-grid span{display:block}.chord-type-grid strong{font:500 13px Georgia,serif}.chord-type-grid span{color:var(--muted);margin-top:3px;font-size:8px}.chord-category-grid button.is-active,.chord-type-grid button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.chord-type-grid button.is-active span{color:#ffffffad}.chord-workspace{min-width:0;padding:34px 36px 38px}.chord-workspace-heading{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.chord-workspace-heading h2{margin:8px 0 2px;font:500 52px/1 Georgia,serif}.chord-workspace-heading p{color:var(--muted);margin:6px 0 0;font-size:12px}.preserved-shape-strip{border:1px solid var(--line);border-left:3px solid var(--accent);background:#f8f5ee;border-radius:4px;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:18px;margin:-10px 0 20px;padding:13px 15px;display:grid}.preserved-shape-strip strong,.preserved-shape-strip small{display:block}.preserved-shape-strip strong{margin-top:3px;font:600 15px Georgia,serif}.preserved-shape-strip small{color:var(--muted);margin-top:3px;font-size:9px}.preserved-shape-frets{grid-template-columns:repeat(6,30px);gap:3px;display:grid}.preserved-shape-frets span{border:1px solid var(--line);width:30px;height:30px;color:var(--ink);background:#fcfaf5;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.preserved-shape-strip>button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:4px;min-height:36px;padding:8px 12px;font-size:9px;font-weight:800}.chord-formula-summary{align-items:stretch;gap:5px;display:flex}.chord-formula-summary>span{border:1px solid var(--line);background:#fcfaf5;border-radius:5px;align-content:center;place-items:center;width:42px;min-height:48px;display:grid}.chord-formula-summary strong,.chord-formula-summary small{text-align:center;display:block}.chord-formula-summary strong{font-size:11px}.chord-formula-summary small{color:var(--muted);margin-top:3px;font:500 12px Georgia,serif}.chord-formula-summary>span.is-root{border-color:var(--accent);background:var(--accent);color:#fff}.chord-formula-summary>span.is-root small{color:#fff}.voicing-toolbar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:13px 0;display:flex}.voicing-toolbar>div:first-child strong{margin-top:4px;font:500 13px Georgia,serif;display:block}.voicing-count{gap:4px;display:flex}.voicing-count button{border:1px solid var(--line);width:27px;height:27px;color:var(--muted);cursor:pointer;background:#fcfaf5;border-radius:50%;font-size:9px}.voicing-count button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.neck-position-control{border-top:1px solid var(--line);padding:13px 0 4px}.neck-position-control strong{margin-top:4px;font:500 13px Georgia,serif;display:block}.neck-position-inputs{align-items:center;gap:9px;width:min(310px,48%);display:flex}.neck-position-inputs button{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fcfaf5;border-radius:50%;flex:0 0 36px;font-size:18px}.neck-position-inputs button:disabled{cursor:default;opacity:.32}.neck-position-inputs input{width:100%;accent-color:var(--accent)}.explorer-neck-stage{grid-template-columns:minmax(0,380px) 48px;justify-content:center;align-items:center;gap:20px;display:grid}.explorer-vertical-nav{margin-top:72px}.portrait-chord-diagram{overscroll-behavior:contain;width:min(380px,100vw - 56px);margin:24px auto 0}.portrait-chord-title{color:var(--ink);letter-spacing:-.03em;text-align:center;margin:0 0 16px;font:500 52px/1 Georgia,serif}.portrait-chord-diagram.has-capo .portrait-chord-title{margin-bottom:72px}.portrait-chord-neck{aspect-ratio:5/6.2;background:radial-gradient(at 20% 24%,#d9975d29,#0000 24%),radial-gradient(at 71% 72%,#1e0a0440,#0000 30%),repeating-linear-gradient(88deg,#240c053d 0 1px,#0000 1px 6px,#e5a6670d 6px 7px,#0000 7px 16px),repeating-linear-gradient(92deg,#0000 0 22px,#1b080326 22px 24px,#0000 24px 41px),linear-gradient(93deg,#3d1e12,#69402a 19%,#432217 43%,#754a31 68%,#3b1d12);border:1px solid #3a2015;width:100%;position:relative;overflow:visible;box-shadow:inset 8px 0 14px #14070240,inset -8px 0 14px #14070240}.portrait-chord-neck.has-nut{border-top:18px solid #eee9da;box-shadow:inset 8px 0 14px #14070240,inset -8px 0 14px #14070240,0 -4px #fbf8ed,0 -7px 7px #2d1d1247}.portrait-chord-neck.has-capo{box-shadow:inset 8px 0 14px #14070240,inset -8px 0 14px #14070240}.portrait-chord-neck.has-capo:before{content:"";z-index:0;background:repeating-linear-gradient(88deg,#240c053d 0 1px,#0000 1px 6px,#e5a6670d 6px 7px,#0000 7px 16px),linear-gradient(93deg,#3d1e12,#69402a 19%,#432217 43%,#754a31 68%,#3b1d12);border-left:1px solid #3a2015;border-right:1px solid #3a2015;width:100%;height:18px;position:absolute;top:-18px;left:0;transform:translate(-1px)}.portrait-chord-neck.has-capo:after{content:"";z-index:8;background:linear-gradient(#6e6b67,#f7f4eb 24%,#aaa7a1 49%,#55524e 76%,#d8d4ca);height:8px;position:absolute;top:-4px;left:-2px;right:-2px;box-shadow:0 2px 3px #12090499}.identifier-capo-clamp{z-index:11;color:#ffffffb3;pointer-events:none;background:linear-gradient(#4f5351 0%,#242726 35%,#101111 72%,#343735 100%);border:1px solid #111;border-radius:8px 8px 5px 5px;place-items:center;width:108%;height:30px;display:grid;position:absolute;top:-48px;left:-4%;box-shadow:0 4px 7px #140c086b,inset 0 1px 1px #ffffff38,inset 0 -2px 2px #000000a6}.identifier-capo-clamp:after{content:"";background:linear-gradient(90deg,#171918,#454947);border-radius:3px 8px 9px 3px;width:13px;height:42px;position:absolute;top:5px;right:-11px;box-shadow:2px 3px 5px #140c0861}.identifier-capo-clamp.is-left-handed:after{background:linear-gradient(270deg,#171918,#454947);border-radius:8px 3px 3px 9px;left:-11px;right:auto;box-shadow:-2px 3px 5px #140c0861}.identifier-capo-clamp i{letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-style:normal;font-weight:800}.portrait-fret-lines,.portrait-strings,.portrait-markers{pointer-events:none;position:absolute;inset:0}.portrait-fret-lines{grid-template-rows:repeat(5,1fr);display:grid}.portrait-fret-lines span{position:relative}.portrait-fret-lines span:after{content:"";z-index:3;background:linear-gradient(#6e6b67,#f7f4eb 24%,#aaa7a1 49%,#55524e 76%,#d8d4ca);height:8px;position:absolute;bottom:-4px;left:-2px;right:-2px;box-shadow:0 2px 3px #12090499}.portrait-fret-lines span:last-child:after{display:none}.portrait-strings{position:absolute}.portrait-string{top:0;bottom:0;left:calc(2% + (var(--string-index) * 19.2%));position:absolute}.portrait-string:after{content:"";z-index:4;background:linear-gradient(90deg,#555,#f7f4ec 48%,#6f6f6f);width:2px;position:absolute;top:0;bottom:0;left:0;transform:translate(-50%);box-shadow:1px 0 2px #140803d9,-1px 0 2px #ffebc738}.portrait-string-0:after,.portrait-string-1:after,.portrait-string-2:after{filter:drop-shadow(2px 0 2px #0c0502bf);background:repeating-linear-gradient(12deg,#432817 0 .35px,#e4b978 .35px 2.35px,#704722 2.35px 2.75px)}.portrait-string-0:after{width:7px}.portrait-string-1:after{width:5.5px}.portrait-string-2:after{width:4px}.portrait-string-3:after{width:2.6px}.portrait-string-4:after{width:2px}.portrait-string-5:after{width:1.4px}.portrait-string.is-muted:after{opacity:.18}.portrait-chord-neck.has-nut .portrait-string{top:-18px}.portrait-chord-neck.has-capo .portrait-string{top:-48px}.portrait-chord-neck.has-capo .identifier-nut-status{z-index:12;top:-31px}.portrait-nut-mute{z-index:9;left:calc(2% + (var(--string-index) * 19.2%));color:#171717;text-align:center;width:34px;height:18px;font:900 28px/16px Arial,sans-serif;position:absolute;top:-18px;transform:translate(-50%)}.portrait-markers span{--row-height:20%;top:calc((var(--marker-row) * var(--row-height)) + (var(--row-height) / 2));z-index:1;width:100%;position:absolute;left:0;transform:translateY(-50%)}.portrait-markers i{color:#4a382b;background:radial-gradient(circle at 34% 28%,#fffdf5 0 13%,#f2e7d2 34%,#c9b89c 78%,#8e7c63);border-radius:50%;place-items:center;width:27px;height:27px;font:800 10px/1 Arial,sans-serif;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 3px #1f140c9e,inset 0 0 3px #fffffff2}.portrait-markers i:last-child{display:none}.portrait-markers i:first-child{left:50%}.portrait-markers .is-double i:first-child{display:grid;left:30.8%;transform:translate(-50%,-50%)}.portrait-markers .is-double i:last-child{display:grid;left:69.2%;transform:translate(-50%,-50%)}.portrait-chord-note{left:calc(2% + (var(--note-string) * 19.2%));top:calc((var(--note-row) * 20%) + 10%);transform:translate(-50%,-50%);z-index:6!important;position:absolute!important}.portrait-open-note{left:calc(2% + (var(--note-string) * 19.2%));top:0;transform:translate(-50%,-50%);z-index:12!important;position:absolute!important}.portrait-chord-note.is-playing{transform:translate(-50%,-50%)scale(1.16)}.portrait-barre{z-index:5;left:calc(2% + (var(--barre-from) * 19.2%) - 29px);top:calc((var(--barre-row) * 20%) + 10%);width:calc(((var(--barre-to) - var(--barre-from)) * 19.2%) + 58px);border:1px solid var(--timber-dark);background:#f5eddd;border-radius:30px;height:58px;position:absolute;transform:translateY(-50%);box-shadow:0 2px 5px #1f140c4d}.chord-note-dot{z-index:5;border:1px solid var(--timber-dark);width:58px;height:58px;color:var(--ink);background:#f5eddd;border-radius:50%;place-items:center;font-size:18px;font-style:normal;font-weight:800;display:grid;position:relative;box-shadow:0 2px 5px #1f140c4d}.chord-note-dot.shows-finger{font-size:25px}.chord-note-dot.root{background:var(--accent);color:#fff;border-color:#903728}.chord-note-dot.is-barred{box-shadow:none;color:var(--ink);background:0 0;border-color:#0000;z-index:7!important}.chord-note-dot.is-barred.root{color:#9a382b;background:0 0;border-color:#0000}.chord-note-dot.is-barred.is-playing{border-color:var(--accent);background:#fff8ea;box-shadow:0 0 0 4px #b94f3d4d,0 0 18px #ffefc1e6}.chord-note-dot.is-playing{box-shadow:0 0 0 4px #b94f3d4d,0 0 18px #ffefc1e6}.portrait-string-legend{min-height:55px;margin-top:10px;position:relative}.portrait-string-legend>span{left:calc(2% + (var(--string-index,0) * 19.2%));width:54px;color:var(--ink);text-align:center;position:absolute;transform:translate(-50%)}.portrait-string-legend>span:first-child{--string-index:0}.portrait-string-legend>span:nth-child(2){--string-index:1}.portrait-string-legend>span:nth-child(3){--string-index:2}.portrait-string-legend>span:nth-child(4){--string-index:3}.portrait-string-legend>span:nth-child(5){--string-index:4}.portrait-string-legend>span:nth-child(6){--string-index:5}.portrait-string-legend b,.portrait-string-legend i{display:block}.portrait-string-legend b{font:600 15px/1.15 Georgia,serif}.portrait-string-legend i{color:var(--muted);margin-top:4px;font-size:12px;font-style:normal;font-weight:700}.portrait-string-legend .is-root b,.portrait-string-legend .is-root i{color:var(--accent)}.trusted-voicing-empty{max-width:430px;color:var(--muted);text-align:center;margin:18px auto 0;font-size:12px;line-height:1.55}.portrait-chord-diagram.is-scrollable{cursor:ns-resize}.chord-actions{justify-content:center;margin:34px 0 22px;display:flex}.chord-play-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:5px;min-width:150px;min-height:48px;font-weight:800}.chord-play-button span{margin-right:7px}.chord-play-button.is-playing{border-color:var(--ink);background:var(--ink)}.chord-play-button:disabled{cursor:default;opacity:.35}.chord-fingering-coach{border:1px solid var(--line);border-top:3px solid var(--accent);background:#faf7f1;grid-template-columns:minmax(190px,.78fr) minmax(300px,1.45fr);gap:28px;margin:8px 0 28px;padding:24px;display:grid}.chord-fingering-coach.is-compact{grid-template-columns:minmax(170px,.68fr) minmax(320px,1.5fr);max-width:780px;margin-left:auto;margin-right:auto}.chord-fingering-copy h3{margin:7px 0 10px;font:500 21px/1.2 Georgia,serif}.chord-fingering-copy p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.chord-transition-coach{min-width:0}.chord-destination-options{flex-wrap:wrap;gap:5px;margin:8px 0 12px;display:flex}.chord-destination-options button,.chord-fingering-options button{border:1px solid var(--line);background:var(--cream);min-height:34px;color:var(--ink);cursor:pointer;border-radius:5px;padding:7px 12px;font-size:10px;font-weight:700}.chord-destination-options button:hover,.chord-fingering-options button:hover{border-color:var(--accent)}.chord-destination-options button.is-active,.chord-fingering-options button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.chord-fingering-recommendation{border-left:3px solid var(--accent);background:var(--cream);min-height:78px;padding:14px 15px}.chord-fingering-recommendation strong,.chord-fingering-recommendation span,.chord-fingering-recommendation em{display:block}.chord-fingering-recommendation strong{font:500 15px Georgia,serif}.chord-fingering-recommendation span{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.5}.chord-fingering-recommendation em{color:var(--accent);margin-top:7px;font-size:9px;font-style:normal;font-weight:800}.chord-fingering-recommendation.is-general{align-self:center}.chord-fingering-options{gap:5px;margin-top:9px;display:flex}.chord-transformations{border-top:1px solid var(--line);grid-template-columns:180px 1fr;gap:24px;padding-top:22px;display:grid}.chord-transformations h3{margin:7px 0 0;font:500 18px/1.25 Georgia,serif}.chord-related-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.chord-related-grid button{border:1px solid var(--line);cursor:pointer;min-height:55px;color:var(--ink);background:#fcfaf5;border-radius:5px}.chord-related-grid strong,.chord-related-grid span{display:block}.chord-related-grid strong{font:500 13px Georgia,serif}.chord-related-grid span{color:var(--muted);margin-top:5px;font-size:8px}.chord-related-grid button:hover{border-color:var(--accent)}.chord-guide{border-left:1px solid var(--line)}.chord-card-visual{background:#f3ece1}.mini-chord-card{width:180px;color:var(--ink);text-align:center;background:#fcfaf5;border:1px solid #68483838;padding:22px 18px}.mini-chord-card b{font:500 29px Georgia,serif;display:block}.mini-chord-card>span{justify-content:center;gap:6px;margin:14px 0 10px;display:flex}.mini-chord-card i{width:25px;height:25px;color:var(--timber);background:#eee4d5;border-radius:50%;place-items:center;font-size:9px;font-style:normal;font-weight:800;display:grid}.mini-chord-card i:first-child{background:var(--accent);color:#fff}.mini-chord-card em{color:var(--muted);font:500 10px Georgia,serif}@media (width<=1120px){.chord-explorer-shell,.chord-identifier-shell{grid-template-columns:220px minmax(0,1fr)}.chord-guide{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}}@media (width<=760px){.rhythm-trainer-shell{width:calc(100% - 28px);margin-bottom:72px}.rhythm-tabs button{text-align:center;min-height:72px;padding:13px 9px}.rhythm-tabs button strong{font-size:18px}.rhythm-tabs button span{display:none}.rhythm-learn,.rhythm-workspace{display:block}.rhythm-lesson-list{border-right:0;border-bottom:1px solid var(--line);gap:7px;padding:14px;display:flex;overflow-x:auto}.rhythm-lesson-list>.control-label{display:none}.rhythm-lesson-list>button{grid-template-columns:28px 1fr;min-width:135px;padding:9px}.rhythm-lesson-list>button small{display:none}.rhythm-lesson{padding:34px 18px 40px}.rhythm-lesson h2,.rhythm-stage h2{font-size:34px}.rhythm-grid{grid-template-columns:repeat(8,58px);overflow-x:auto}.rhythm-cell{min-height:104px}.rhythm-action-row{flex-direction:column;align-items:flex-start}.learn-playback-options{grid-template-columns:1fr;gap:18px;padding:16px}.rhythm-controls{border-right:0;border-bottom:1px solid var(--line)}.rhythm-stage{padding:34px 18px 42px}.rhythm-stage-heading{display:block}.rhythm-status{margin-top:14px;display:inline-block}.input-heading{flex-direction:column;align-items:flex-start}.microphone-calibration,.rhythm-result{grid-template-columns:1fr}.rhythm-foundations{padding:34px 18px}.rhythm-foundations>div{grid-template-columns:1fr}.rhythm-foundations article{min-height:0}.song-pathway{display:block}.song-stage-list{border-right:0;border-bottom:1px solid var(--line);gap:7px;padding:14px;display:flex;overflow-x:auto}.song-stage-list>.control-label{display:none}.song-stage-list>button{grid-template-columns:28px 1fr;min-width:148px;padding:9px}.song-stage-list>button small{display:none}.song-stage{padding:34px 18px 42px}.song-stage-heading{display:block}.song-form{grid-template-columns:repeat(4,minmax(66px,1fr))}.song-now-playing{display:block}.song-now-playing>div:first-child{min-height:88px}.song-now-playing .rhythm-grid{margin-top:10px}.song-controls{grid-template-columns:1fr}.mini-rhythm i{min-height:70px}.chord-mode-switch{grid-template-columns:1fr;width:calc(100% - 28px)}.chord-mode-switch button{padding-inline:8px}.chord-mode-switch button span{font-size:14px}.practice-mode-shell{border-inline:0;grid-template-columns:1fr;padding:24px 14px 38px}.practice-mode-shell>aside{position:static}.practice-difficulty{grid-template-columns:1fr}.practice-circle-panel{padding:10px}.practice-circle-facts,.chord-review-layout,.chord-review-layout .practice-review-list{grid-template-columns:1fr}.chord-review-inspector{position:static}.practice-mode-intro,.practice-review{border-inline:0;margin-bottom:48px;padding:24px 18px}.practice-review-list{grid-template-columns:1fr}.circle-practice-inline{margin-inline:12px;padding:42px 14px 16px}.chord-explorer-shell,.chord-identifier-shell{border-inline:0;margin-bottom:48px;display:block}.chord-identifier-help{border-right:0;border-bottom:1px solid var(--line)}.chord-identifier-help ol{columns:3;padding-left:18px}.chord-identifier-workspace{padding:28px 14px 34px;overflow:hidden}.identifier-result-heading{display:block}.identifier-result-heading h2{font-size:35px}.identifier-result-heading .chord-formula-summary{overflow-x:auto}.identifier-fretboard-wrap{margin-inline:-4px}.identifier-actions{flex-wrap:wrap}.identifier-neck-stage,.explorer-neck-stage{grid-template-columns:minmax(0,1fr) 42px;gap:8px}.identifier-vertical-nav{min-height:280px}.identifier-vertical-nav input{height:190px}.chord-controls{border-right:0;border-bottom:1px solid var(--line)}.chord-workspace{padding:28px 20px 34px;overflow:hidden}.chord-workspace-heading{display:block}.chord-formula-summary{margin-top:20px}.preserved-shape-strip{grid-template-columns:1fr;gap:12px}.preserved-shape-frets{grid-template-columns:repeat(6,minmax(26px,1fr))}.preserved-shape-frets span{width:100%}.voicing-toolbar{align-items:flex-start}.voicing-count{flex-wrap:wrap;justify-content:flex-end;max-width:124px}.neck-position-control{align-items:flex-start}.neck-position-inputs{width:52%}.chord-transformations{display:block}.chord-fingering-coach{padding:20px;display:block}.chord-transition-coach,.chord-fingering-recommendation.is-general{margin-top:18px}.chord-related-grid{grid-template-columns:repeat(3,1fr);margin-top:18px}}.tip{border-left:3px solid var(--accent);background:#f5f2eb;padding:15px 16px}.tip span{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:9px;font-weight:800}.tip p{margin:7px 0 0;font:italic 13px/1.55 Georgia,serif}.cta-section{text-align:center;background:var(--ink);color:var(--paper);padding:110px 24px 120px}.cta-section .eyebrow{color:#d5a77f}.cta-section h2{letter-spacing:-.04em;margin:20px auto;font:500 clamp(42px,6vw,76px)/1 Georgia,serif}.cta-section p{color:#bdbdb5;max-width:600px;margin:0 auto 34px;line-height:1.75}.cta-section a{background:var(--accent);color:#fff;border-radius:4px;align-items:center;gap:24px;padding:17px 21px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.cta-section a:hover{background:#a54131}.brand-footer{color:#999b93;background:#191b18;padding:0 max(32px,50% - 690px);font-size:11px}.brand-footer-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;min-height:108px;display:grid}.footer-brand{color:#e6e2da;justify-self:start;align-items:center;gap:11px;font-weight:700;text-decoration:none;display:inline-flex}.footer-brand img{object-fit:contain;filter:grayscale()brightness(1.45);width:44px;height:44px}.footer-navigation{align-items:center;gap:24px;display:flex}.footer-navigation a{color:#c7c4bd;text-decoration:none}.footer-navigation a:hover{color:#fff}.brand-footer p{justify-self:end;margin:0}.embed-page{background:0 0;min-height:100vh;padding:18px}.embed-toolbar{justify-content:space-between;align-items:center;gap:20px;width:min(1380px,100%);min-height:62px;margin:0 auto;padding:10px 4px 14px;display:flex}.embed-brand{gap:4px;display:grid}.embed-brand-link{color:var(--ink);font:500 25px/1.1 Georgia,Times New Roman,serif;text-decoration:none}.embed-links{align-items:center;gap:22px;display:flex}.embed-links a,.embed-attribution a{color:var(--ink);border-bottom:1px solid var(--line);flex:none;padding:4px 0;font-size:12px;font-weight:700;text-decoration:none}.embed-links a:first-child{color:var(--accent)}.embed-links a:hover,.embed-attribution a:hover,.embed-brand-link:hover{color:var(--accent);border-color:var(--accent)}.embed-page .explorer-shell{background:var(--cream);width:min(1380px,100%);margin-bottom:18px;box-shadow:0 12px 34px #2d303112}.embed-page .control-rail{background:#f5f2eb}.embed-page .education-panel{background:#fcfaf5}.embed-attribution{width:min(1380px,100%);min-height:48px;color:var(--muted);border-top:1px solid var(--line);background:0 0;justify-content:space-between;gap:18px;margin:-18px auto 0;padding:14px 4px 0;font-size:11px;display:flex}.embed-attribution span{color:var(--muted);font-weight:600}.tools-hero{width:min(1180px,100% - 64px);margin:0 auto;padding:112px 0 96px}.tools-hero h1{letter-spacing:-.055em;max-width:1000px;margin:22px 0 28px;font:500 clamp(52px,7.4vw,100px)/.96 Georgia,Times New Roman,serif}.tools-hero h1 em{color:var(--timber);font-weight:400}.tools-hero>p{max-width:650px;color:var(--muted);margin:0;font-size:18px;line-height:1.75}.tools-directory{background:#f5f2eb;padding:100px max(32px,50% - 590px) 120px}.directory-heading{max-width:650px;margin-bottom:48px}.directory-heading h2{letter-spacing:-.035em;margin:12px 0 16px;font:500 clamp(38px,5vw,62px)/1 Georgia,serif}.directory-heading p{color:var(--muted);margin:0;line-height:1.7}.tool-card{background:var(--cream);border:1px solid var(--line);border-radius:7px;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);max-width:1080px;display:grid;overflow:hidden;box-shadow:0 18px 52px #2d303114}.tool-card+.tool-card{margin-top:38px}.tool-card-visual{background:#684838;place-items:center;min-height:390px;padding:clamp(34px,4.5vw,52px);text-decoration:none;display:grid;overflow:hidden}.tool-card-preview{object-fit:contain;object-position:center;border-radius:4px;width:100%;max-width:500px;height:auto;max-height:300px;transition:transform .22s;display:block;box-shadow:0 14px 34px #1a0f0a3d}.tool-card-visual:hover .tool-card-preview,.tool-card-visual:focus-visible .tool-card-preview{transform:scale(1.015)}.mini-neck{background:repeating-linear-gradient(90deg,#0000 0 calc(12.5% - 2px),#e1d8c9a6 calc(12.5% - 2px) 12.5%),linear-gradient(90deg,#ffffff0a,#0000001f);border-block:4px solid #e3dbcd;grid-template-rows:repeat(6,1fr);width:min(100%,570px);height:174px;display:grid;position:relative}.mini-neck i{background:#ddd6cb;align-self:center;height:2px;box-shadow:0 1px 1px #140c08b3}.mini-note{border:1px solid var(--timber-dark);width:38px;height:38px;color:var(--ink);background:#f5eddd;border-radius:50%;place-items:center;font-size:12px;font-style:normal;display:grid;position:absolute}.mini-note.root-note{background:var(--accent);color:#fff;border-color:#903728;top:39%;left:23%}.mini-note.third-note{top:7%;left:48%}.mini-note.fifth-note{top:70%;left:61%}.three-nps-visual{background:#513b29}.mini-three-nps .mini-note{width:24px;height:24px;transform:translate(-50%,-50%)}.mini-three-nps .root-note{background:var(--accent);color:#fff;border-color:#903728;top:70%}.scale-card-visual{background:#4e3428}.mini-scale-line{justify-content:space-between;align-items:center;width:min(100%,600px);display:flex;position:relative}.mini-scale-line:before{content:"";background:#d9c9af;height:3px;position:absolute;left:0;right:0}.mini-scale-line i{z-index:1;width:30px;height:30px;color:var(--ink);background:#f5eddd;border-radius:50%;place-items:center;font-style:normal;display:grid}.mini-scale-line i.is-root{background:var(--accent);color:#fff}.mini-scale-line i.is-half{transform:scale(.78)}.mini-scale-line b{font-size:9px}.scale-hero{padding-bottom:52px}.scale-tool-shell{border:1px solid var(--line);background:var(--cream);grid-template-columns:300px minmax(0,1fr);width:min(1380px,100% - 48px);margin:0 auto 18px;display:grid;box-shadow:0 18px 52px #2d303114}.scale-controls{border-right:1px solid var(--line);background:#f5f2eb;padding:28px 24px}.scale-controls>div+div{margin-top:28px}.scale-picker-group{grid-template-columns:1fr 1fr;gap:5px;margin-top:10px;display:grid}.scale-picker-group small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;grid-column:1/-1;margin:7px 0 1px;font-size:8px;font-weight:800}.scale-picker-group button,.scale-string-grid button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;font-size:9px}.scale-picker-group button.is-active,.scale-string-grid button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.scale-string-grid{grid-template-columns:repeat(2,1fr);gap:5px;margin-top:10px;display:grid}.scale-controls input{width:100%;accent-color:var(--accent);margin:15px 0 7px}.start-fret-readout{color:var(--timber);font-size:11px;display:block}.scale-stage{min-width:0;padding:34px}.scale-purpose{max-width:750px;color:var(--muted);margin:11px 0 20px;font-size:12px;line-height:1.65}.scale-formula{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.scale-formula span{border:1px solid var(--line);text-align:center;background:#fbfaf7;gap:2px;min-width:68px;padding:8px 10px;display:grid}.scale-formula b{color:var(--accent);font:500 18px/1 Georgia,serif}.scale-formula small{color:var(--muted);text-transform:uppercase;font-size:7px}.single-string-wrap{padding:20px 0 7px;overflow-x:auto}.single-string-fretboard{background:repeating-linear-gradient(2deg,#220c052e 0 1px,#0000 1px 7px),linear-gradient(3deg,#3e2014,#70482f 45%,#3b1e13);min-width:930px;height:132px;position:relative}.single-guitar-string{z-index:4;background:linear-gradient(#777,#faf7ef 48%,#555);height:3px;position:absolute;top:54px;left:0;right:0;box-shadow:0 1px 2px #180b06}.single-fret-cells,.single-fret-numbers,.single-markers{grid-template-columns:repeat(var(--fret-count),1fr);display:grid}.single-fret-cells{height:108px}.single-fret{border-right:3px ridge #d7d1c7;place-items:center;display:grid;position:relative}.single-fret .note-dot{z-index:6}.single-markers{pointer-events:none;position:absolute;inset:0 0 24px}.single-markers span{grid-column:calc(var(--marker-fret) + 1);position:relative}.single-markers i{background:#dfceb0;border-radius:50%;width:9px;height:9px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.single-markers .is-double i:first-child{left:35%}.single-markers .is-double i:last-child{left:65%}.single-markers span:not(.is-double) i:last-child{display:none}.single-fret-numbers{background:var(--cream);height:24px;color:var(--muted);text-align:center;align-items:center;font-size:8px}.scale-actions{grid-template-columns:auto 1fr;align-items:center;gap:16px;margin:18px 0 6px;display:grid}.scale-actions .play-button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-height:48px;padding:0 24px;font-weight:800}.scale-actions .play-button.is-playing{background:var(--ink)}.scale-actions p{gap:4px;margin:0;display:grid}.scale-actions strong{font:500 18px/1.1 Georgia,serif}.scale-actions span{color:var(--muted);font-size:9px}.step-concepts{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.step-concepts article{border:1px solid var(--line);background:#fbfaf7;grid-template-columns:auto 1fr;gap:3px 10px;padding:14px;display:grid}.step-concepts b{color:#fff;background:#513b29;border-radius:50%;grid-row:1/3;place-items:center;width:38px;height:38px;display:grid}.step-concepts h3{margin:2px 0 0;font-size:11px}.step-concepts p{color:var(--muted);margin:0;font-size:8px}.scale-guided{border:1px solid var(--line);background:linear-gradient(135deg,#fff,#f7f1e6);width:min(1180px,100% - 48px);margin:0 auto 78px;padding:28px}.scale-guided h2{margin:8px 0 9px;font:500 28px/1.1 Georgia,serif}.scale-guided>p{max-width:760px;color:var(--muted);font-size:11px;line-height:1.65}.scale-guided .guided-primary{margin-top:14px}.scale-question{grid-template-columns:minmax(250px,.8fr) minmax(300px,1.3fr);gap:14px 28px;display:grid}.scale-question>div:first-child{grid-row:1/5}.scale-question .guided-progress{margin-top:18px}.scale-question .guided-progress i{width:100%}.step-answer{background:#fff;border:1px dashed #cbbdac;flex-wrap:wrap;align-items:center;gap:6px;min-height:58px;padding:9px;display:flex}.step-answer>span{color:var(--muted);font-size:9px}.step-answer button{color:#fff;background:#513b29;border:0;border-radius:50%;width:39px;height:39px;font-weight:800}.step-keypad{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.step-keypad button{border:1px solid var(--line);background:#fbfaf7;place-items:center;min-height:58px;display:grid}.step-keypad strong{font:500 18px Georgia,serif}.step-keypad span{color:var(--muted);font-size:8px}.scale-result{text-align:center}.scale-result>p{margin-inline:auto}@media (width<=900px){.scale-tool-shell{grid-template-columns:1fr}.scale-controls{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.scale-controls>div+div{margin-top:0}.step-concepts,.scale-question{grid-template-columns:1fr}.scale-question>div:first-child{grid-row:auto}}@media (width<=600px){.scale-tool-shell,.scale-guided{width:calc(100% - 24px)}.scale-controls{grid-template-columns:1fr}.scale-picker-group{grid-template-columns:1fr 1fr}.scale-stage{padding:25px 17px}.scale-actions,.step-keypad{grid-template-columns:1fr}.scale-question{padding:21px}}.circle-card-visual{background:#eee8de}.mini-circle{aspect-ratio:1;width:min(100%,360px);color:var(--ink);place-items:center;display:grid;position:relative}.mini-circle i,.mini-circle b,.mini-circle>span{position:absolute}.mini-circle i{border:1px solid #513b293d;border-radius:50%;display:block}.mini-circle-outer{background:#dfd3c5;inset:0}.mini-circle-middle{background:#f2ede4;inset:19%}.mini-circle-inner{background:#d6d4cc;inset:38%}.mini-circle .mini-circle-triangle{border:2px solid var(--accent);clip-path:polygon(50% 0,100% 100%,0 100%);background:#b94f3d14;border-radius:0;inset:10% 17% 42%}.mini-circle b{z-index:2;font:500 32px Georgia,serif}.mini-circle-c{top:8%;left:47%}.mini-circle-f{top:23%;left:18%}.mini-circle-g{top:23%;right:18%}.mini-circle>span{z-index:2;font-size:18px;font-weight:700;top:49%;left:50%;transform:translate(-50%,-50%)}.tool-card-copy{align-self:center;padding:58px 54px}.tuner-card-visual{background:radial-gradient(circle at 50% 36%,#785946,#3a2921 68%,#241b17)}.mini-tuner{aspect-ratio:1.45;color:#fff;border:1px solid #ffffff2e;align-content:center;place-items:center;gap:5px;width:min(330px,82%);padding:25px;display:grid}.mini-tuner-scale{border-top:1px solid #ffffff59;justify-content:space-between;width:100%;padding-top:10px;font-style:normal;display:flex}.mini-tuner-scale b{opacity:.7;font-size:8px;font-weight:500}.mini-tuner>strong{font:500 68px/.95 Georgia,serif}.mini-tuner>em{opacity:.7;font-size:9px;font-style:normal}.mini-tuner>span{color:#bce2bd;text-transform:uppercase;letter-spacing:.12em;margin-top:7px;font-size:8px;font-weight:800}.tool-card-copy h3{letter-spacing:-.035em;margin:12px 0 20px;font:500 43px/1.05 Georgia,serif}.tool-card-copy p{color:var(--muted);margin:0 0 30px;line-height:1.75}.rhythm-hero h1{max-width:1120px}.rhythm-trainer-shell{border:1px solid var(--line);background:#fff;width:min(1380px,100% - 64px);margin:0 auto 110px;box-shadow:0 24px 70px #3f301f17}.rhythm-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.rhythm-tabs button{border:0;border-right:1px solid var(--line);min-height:92px;color:var(--muted);cursor:pointer;text-align:left;background:#f5f2eb;padding:20px 28px}.rhythm-tabs button:last-child{border-right:0}.rhythm-tabs button strong{color:var(--ink);text-transform:capitalize;font:500 24px Georgia,serif;display:block}.rhythm-tabs button span{letter-spacing:.04em;margin-top:4px;font-size:11px;display:block}.rhythm-tabs button.is-active{background:var(--ink);color:#ffffffb3}.rhythm-tabs button.is-active strong{color:#fff}.rhythm-learn{grid-template-columns:330px minmax(0,1fr);display:grid}.rhythm-lesson-list{border-right:1px solid var(--line);background:#f5f2eb;padding:28px 22px}.rhythm-lesson-list>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:13px 10px;display:grid}.rhythm-lesson-list>button>b{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.rhythm-lesson-list>button strong,.rhythm-lesson-list>button small{display:block}.rhythm-lesson-list>button strong{font-size:13px}.rhythm-lesson-list>button small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.35}.rhythm-lesson-list>button.is-active{border-color:var(--line);background:#fff}.rhythm-lesson-list>button.is-active>b{background:var(--accent);border-color:var(--accent);color:#fff}.rhythm-lesson{padding:54px clamp(28px,5vw,76px) 60px}.rhythm-lesson h2,.rhythm-stage h2{letter-spacing:-.035em;margin:10px 0 8px;font:500 clamp(34px,4vw,54px)/1 Georgia,serif}.rhythm-purpose{color:var(--muted);margin:0 0 28px}.lesson-instruction{border-left:3px solid var(--accent);background:var(--paper);margin:0 0 32px;padding:17px 20px}.lesson-instruction b{color:var(--timber);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.lesson-instruction p{margin:6px 0 0;line-height:1.55}.rhythm-grid{border:1px solid var(--line);grid-template-columns:repeat(8,minmax(54px,1fr));display:grid;overflow:hidden}.rhythm-cell{border-right:1px solid var(--line);background:#fff;grid-template-rows:30px 1fr 28px;place-items:center;min-height:128px;transition:all 80ms;display:grid;position:relative}.rhythm-cell:last-child{border-right:0}.rhythm-cell:nth-child(odd){box-shadow:inset 2px 0 #79563f38}.rhythm-cell span{color:var(--timber);font-size:11px;font-weight:700}.rhythm-cell.is-beat span{color:var(--timber);font:700 22px Georgia,serif}.rhythm-cell strong{font:600 25px Georgia,serif}.rhythm-cell small{color:var(--timber);font-size:18px}.rhythm-cell.is-rest{background:#faf9f6}.rhythm-cell.is-rest strong,.rhythm-cell.is-rest small{color:#b9b5ae}.rhythm-cell.is-current{background:var(--accent);color:#fff;transform:scaleY(1.02)}.rhythm-cell.is-current span,.rhythm-cell.is-current small,.rhythm-cell.is-current strong{color:#fff}.rhythm-action-row{align-items:center;gap:20px;margin-top:28px;display:flex}.rhythm-action-row>span{color:var(--muted);font-size:11px}.learn-playback-options{border:1px solid var(--line);background:#f5f2eb;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;margin-top:26px;padding:20px;display:grid}.learn-playback-options .rhythm-segments button{align-content:center;place-items:center;gap:2px;min-height:44px;font-size:11px;display:grid}.learn-playback-options .rhythm-segments button small{opacity:.68;font-size:8px}.rhythm-primary{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:4px;min-height:48px;padding:0 25px;font-weight:700;box-shadow:0 8px 20px #b94f3d2e}.rhythm-workspace{grid-template-columns:250px minmax(0,1fr);display:grid}.rhythm-controls{border-right:1px solid var(--line);background:#f5f2eb;padding:30px 23px}.rhythm-controls>*{margin-bottom:30px;display:block}.rhythm-controls select{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;min-height:40px;padding:0 8px}.rhythm-controls input[type=range]{width:100%;accent-color:var(--accent)}.rhythm-segments{grid-template-columns:repeat(3,1fr);display:grid}.rhythm-segments button,.input-switch button{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border-right:0;font-size:10px}.rhythm-segments button:last-child,.input-switch button:last-child{border-right:1px solid var(--line)}.rhythm-segments button.is-active,.input-switch button.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.rhythm-segments.vertical{grid-template-columns:1fr;display:grid}.rhythm-segments.vertical button{border-right:1px solid var(--line);text-align:left;border-bottom:0;padding:0 10px}.rhythm-segments.vertical button:last-child{border-bottom:1px solid var(--line)}.rhythm-stage{min-width:0;padding:48px clamp(24px,4vw,60px) 58px}.rhythm-stage-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.rhythm-stage>p{color:var(--muted);margin:10px 0 30px;line-height:1.6}.rhythm-status{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;border-radius:99px;padding:8px 12px;font-size:10px}.rhythm-status.count{border-color:var(--timber);color:var(--timber)}.rhythm-status.play{background:var(--accent);border-color:var(--accent);color:#fff}.input-panel{border:1px solid var(--line);background:var(--paper);margin-top:26px;padding:20px}.input-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.input-heading strong{font-size:13px;display:block}.input-switch{display:flex}.input-switch button{padding:0 13px}.microphone-calibration{color:var(--muted);grid-template-columns:minmax(140px,1fr) 170px auto auto;align-items:center;gap:14px;margin-top:18px;font-size:10px;display:grid}.mic-meter{background:#dedbd4;border-radius:10px;height:13px;position:relative;overflow:hidden}.mic-meter i{background:linear-gradient(90deg,var(--timber),var(--accent));height:100%;transition:width 50ms;display:block}.mic-meter b{background:var(--ink);width:2px;position:absolute;top:0;bottom:0}.microphone-calibration label{align-items:center;gap:7px;display:flex}.microphone-calibration input{width:95px;accent-color:var(--accent)}.microphone-calibration button{color:var(--accent);cursor:pointer;background:0 0;border:0;font-size:10px}.mic-note{color:var(--accent);margin:14px 0 0;font-size:11px}.rhythm-tap-pad{border:1px solid var(--timber);width:100%;min-height:72px;color:var(--timber);cursor:pointer;letter-spacing:.15em;background:#fff;border-radius:5px;margin-top:16px;font-weight:800}.rhythm-tap-pad:active{background:var(--timber);color:#fff;transform:translateY(1px)}.rhythm-tap-pad small{letter-spacing:normal;margin-top:4px;font-size:9px;font-weight:500;display:block}.rhythm-result{border:1px solid var(--line);background:#f5f2eb;grid-template-columns:112px 1fr;align-items:center;gap:24px;margin-top:28px;padding:22px;display:grid}.score-ring{border:5px solid var(--accent);border-radius:50%;align-content:center;place-items:center;width:96px;height:96px;display:grid}.score-ring strong{font:500 34px Georgia,serif}.score-ring span{color:var(--muted);text-transform:uppercase;font-size:8px}.rhythm-result h3{margin:0 0 7px;font:500 22px Georgia,serif}.rhythm-result p{color:var(--muted);margin:0 0 4px;font-size:12px}.rhythm-result small{color:var(--timber)}.rhythm-foundations{border-top:1px solid var(--line);background:#f8f6f1;padding:48px}.rhythm-foundations>div{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:24px;display:grid}.rhythm-foundations article{background:#fff;min-height:170px;padding:24px}.rhythm-foundations article>b{color:var(--accent);font:500 22px Georgia,serif}.rhythm-foundations h3{margin:18px 0 8px;font:500 20px Georgia,serif}.rhythm-foundations p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.song-pathway{grid-template-columns:300px minmax(0,1fr);display:grid}.song-stage-list{border-right:1px solid var(--line);background:#f5f2eb;padding:28px 22px}.song-stage-list>button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:13px 10px;display:grid}.song-stage-list>button>b{border:1px solid var(--line);border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.song-stage-list>button strong,.song-stage-list>button small{display:block}.song-stage-list>button strong{font-size:13px}.song-stage-list>button small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.35}.song-stage-list>button.is-active{border-color:var(--line);background:#fff}.song-stage-list>button.is-active>b{background:var(--accent);border-color:var(--accent);color:#fff}.song-stage{min-width:0;padding:48px clamp(24px,4vw,60px) 58px}.song-stage-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.song-stage h2{letter-spacing:-.035em;margin:10px 0 8px;font:500 clamp(34px,4vw,54px)/1 Georgia,serif}.song-stage-description{max-width:760px;color:var(--muted);margin:10px 0 28px;line-height:1.6}.song-form{grid-template-columns:repeat(8,minmax(68px,1fr));gap:6px;margin-bottom:22px;display:grid}.song-bar{border:1px solid var(--line);background:#faf9f6;min-height:94px;transition:all .1s}.song-bar>span{border-bottom:1px solid var(--line);min-height:24px;color:var(--timber);letter-spacing:.07em;text-transform:uppercase;padding:6px 7px;font-size:8px;font-weight:800;display:block}.song-bar>div{place-items:center;min-height:68px;display:grid}.song-bar>div.has-change{grid-template-columns:1fr 1fr}.song-bar strong{width:100%;height:100%;color:var(--ink);align-content:center;place-items:center;font:600 25px Georgia,serif;display:grid}.song-bar strong+strong{border-left:1px dashed var(--line)}.song-bar strong small{color:var(--muted);margin-top:4px;font:500 7px/1.1 Arial,sans-serif;display:block}.song-bar.is-current{border-color:var(--accent);background:var(--accent);transform:translateY(-2px);box-shadow:0 7px 18px #b94f3d33}.song-bar.is-current>span{color:#fff;border-bottom-color:#ffffff40}.song-bar.is-current strong,.song-bar.is-current strong small{color:#fff}.song-now-playing{grid-template-columns:130px minmax(0,1fr);align-items:stretch;gap:16px;margin-bottom:22px;display:grid}.song-now-playing>div:first-child{background:var(--ink);color:#fff;align-content:center;place-items:center;padding:14px;display:grid}.song-now-playing>div:first-child span{color:#ffffff9e;letter-spacing:.1em;text-transform:uppercase;font-size:8px}.song-now-playing>div:first-child strong{margin-top:4px;font:500 38px Georgia,serif}.song-now-playing .rhythm-cell{min-height:100px}.song-controls{border:1px solid var(--line);background:#f5f2eb;grid-template-columns:1.35fr .8fr 1fr;gap:16px;padding:18px;display:grid}.song-controls select{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;min-height:36px;padding:0 8px}.click-reduction-note{border-left:2px solid var(--accent);background:var(--paper);color:var(--muted);margin:12px 0 0;padding:11px 14px;font-size:10px;line-height:1.5}.rhythm-card-visual{background:linear-gradient(135deg,#301b14,#79563f)}.mini-rhythm{border:1px solid #ffffff40;grid-template-columns:repeat(8,1fr);width:min(520px,90%);display:grid}.mini-rhythm i{color:#fff;border-right:1px solid #fff3;align-content:center;place-items:center;gap:13px;min-height:105px;font-style:normal;display:grid}.mini-rhythm i:last-child{border-right:0}.mini-rhythm i b{opacity:.7;font-size:10px}.mini-rhythm i em{font:400 25px Georgia,serif}.mini-rhythm i.is-rest{opacity:.28}.tool-link,.tools-footer-cta>a{background:var(--accent);color:#fff;border-radius:6px;align-items:center;gap:22px;padding:15px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.tool-link:hover,.tools-footer-cta>a:hover{background:#a54131}.tools-footer-cta{text-align:center;padding:105px 32px 115px}.tools-footer-cta h2{letter-spacing:-.04em;max-width:800px;margin:18px auto 30px;font:500 clamp(38px,5vw,64px)/1.05 Georgia,serif}.circle-introduction{border:1px solid var(--line);background:#faf8f3;grid-template-columns:1.25fr 1fr;gap:70px;width:min(1120px,100% - 64px);margin:0 auto 28px;padding:34px 38px;display:grid}.circle-introduction h2{margin:9px 0 10px;font:500 30px/1.14 Georgia,serif}.circle-introduction p{color:var(--muted);margin:0;font-size:12px;line-height:1.72}.circle-introduction button{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.04em;border-radius:5px;margin-top:18px;padding:11px 16px;font-size:10px;font-weight:800}.circle-introduction button:hover{background:#a54131}.circle-introduction button span{margin-left:8px}.circle-reading-strip{border:1px solid var(--line);width:min(1440px,100% - 64px);color:var(--muted);background:#f5f2eb;flex-wrap:wrap;align-items:center;gap:10px 22px;margin:0 auto 10px;padding:12px 18px;font-size:9px;display:flex}.circle-reading-strip strong{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.circle-reading-strip span{align-items:center;gap:6px;display:inline-flex}.circle-reading-strip i{background:#dfd3c5;border-radius:50%;width:8px;height:8px}.circle-reading-strip span:nth-of-type(2) i{background:#ece5d8}.circle-reading-strip span:nth-of-type(3) i{background:#d6d4cc}.circle-explorer-shell{background:var(--cream);border:1px solid var(--line);grid-template-columns:210px minmax(520px,1fr) 320px;width:min(1440px,100% - 64px);margin:0 auto 110px;display:grid;box-shadow:0 24px 70px #3f301f17}.circle-control-rail{border-right:1px solid var(--line);background:#f5f2eb;padding:32px 24px}.circle-key-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.circle-key-grid button,.circle-layer-grid button{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;padding:6px 4px;transition:all .18s}.circle-key-grid button{font-size:11px;font-weight:700}.circle-key-grid button:hover,.circle-layer-grid button:hover{border-color:var(--timber)}.circle-key-grid button.is-active,.circle-layer-grid button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.circle-layer-grid{gap:5px;display:grid}.circle-layer-grid button{text-align:left;padding-inline:10px;font-size:11px;font-weight:700}.circle-quiet-guide{border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.circle-quiet-guide p{color:var(--muted);margin:0;font-size:10px;line-height:1.75}.circle-instrument-panel{min-width:0;padding:34px 28px 30px}.circle-topline h2{margin:8px 0 0}.circle-top-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:9px;display:flex}.circle-top-legend span{align-items:center;gap:5px;display:inline-flex}.circle-top-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.major-swatch{background:#dfd3c5}.minor-swatch{background:#ece5d8}.seven-swatch{background:#d6d4cc}.circle-visual-wrap{margin-top:16px}.circle-walkthrough{border:1px solid #d7b8a8;border-left:3px solid var(--accent);background:#f8eee8;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:16px;padding:16px 18px;display:grid}.circle-walkthrough strong{margin-top:5px;font:500 18px Georgia,serif;display:block}.circle-walkthrough p{max-width:620px;color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.55}.circle-walkthrough-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.circle-walkthrough-actions button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:4px;padding:7px 10px;font-size:9px;font-weight:700}.circle-walkthrough-actions button:first-child:not(:disabled){border-color:var(--accent)}.circle-walkthrough-actions button:disabled{cursor:default;opacity:.38}.circle-explorer-shell.is-walkthrough .circle-transpose-bar,.circle-explorer-shell.is-walkthrough .circle-control-rail .control-group{opacity:.38;transition:opacity .2s}.circle-direction-row{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid}.circle-direction-row button{min-width:110px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 0}.circle-direction-row button:first-child{text-align:left}.circle-direction-row button:last-child{text-align:right}.circle-direction-row button span{color:var(--timber);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.circle-direction-row button strong{color:var(--ink);margin-top:3px;font-size:12px;display:block}.circle-direction-rule{background:var(--line);height:1px}.circle-diagram{width:min(100%,680px);height:auto;margin:2px auto 0;display:block;overflow:visible}.circle-major-ring{fill:#e5dbcf;stroke:var(--line);stroke-width:1.4px}.circle-minor-ring{fill:#f0eadf;stroke:var(--line);stroke-width:1.2px}.circle-seven-ring{fill:#deddd6;stroke:var(--line);stroke-width:1.2px}.circle-divider{stroke:#513b292e;stroke-width:1px}.circle-primary-family{fill:#b94f3d1c;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.circle-key-sector{cursor:pointer;outline:none}.circle-key-hit-area{fill:#fff0;stroke:#0000}.circle-key-sector:hover .circle-key-hit-area,.circle-key-sector:focus-visible .circle-key-hit-area{fill:#fff3;stroke:#513b293d;stroke-width:1.5px}.circle-selection-halo{fill:#0000;stroke:#0000;stroke-width:1.5px}.circle-playback-halo{fill:#0000;stroke:#0000;stroke-width:1.5px;pointer-events:none}.circle-selection-halo.is-active{fill:var(--accent);stroke:#903728}.circle-selection-halo.is-playing,.circle-playback-halo.is-playing{fill:#f0d9c7;stroke:var(--accent);stroke-width:3px;filter:drop-shadow(0 0 5px #b94f3d59)}.circle-selection-halo.is-active.is-playing{fill:var(--accent);stroke:#f0d9c7;stroke-width:6px}.circle-major-label{fill:var(--ink);font:500 23px Georgia,serif}.circle-major-label.is-active{fill:#fff}.circle-major-label.is-playing{fill:var(--ink)}.circle-major-label.is-active.is-playing{fill:#fff}.circle-minor-label{fill:var(--ink);font-size:14px;font-weight:700}.circle-minor-label.is-active{fill:var(--accent)}.circle-minor-label.is-playing,.circle-seven-label.is-playing{fill:var(--ink);font-weight:900}.circle-seven-label{fill:var(--muted);font-size:10px;font-weight:700}.circle-seven-label.is-active{fill:var(--accent)}.circle-centre{fill:var(--cream);stroke:var(--line);stroke-width:1.5px}.circle-centre-key{fill:var(--ink);font:500 18px Georgia,serif}.circle-centre-minor{fill:var(--muted);font-size:11px;font-weight:700}.circle-education-panel{border-left:1px solid var(--line);background:#faf8f3;padding:34px 28px}.circle-education-panel h3{margin:10px 0 12px;font:500 30px/1.15 Georgia,serif}.circle-guide-copy{min-height:86px;color:var(--muted);margin:0;font-size:12px;line-height:1.65}.circle-guide-section{border-top:1px solid var(--line);margin-top:21px;padding-top:19px}.signature-guide strong,.signature-guide small{display:block}.signature-guide strong{font-size:12px}.signature-guide small{color:var(--muted);margin-top:4px;font-size:10px}.signature-staff{width:100%;height:auto;margin:6px 0 4px;display:block}.staff-lines line{stroke:var(--ink);stroke-width:1px}.treble-clef{fill:var(--ink);font:400 54px Georgia,serif}.signature-accidental{fill:var(--ink);font:500 25px Georgia,serif}.circle-scale-notes{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.circle-scale-notes span{border-radius:3px;place-items:center;min-width:0;min-height:28px;font:500 12px Georgia,serif;display:grid}.circle-scale-notes span.is-playing{color:var(--accent);background:#f4dfd2}.circle-chord-family div.is-playing{border-color:var(--accent);color:var(--accent);background:#f4dfd2;box-shadow:0 0 0 2px #b94f3d1a}.circle-chord-family{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.circle-chord-family div{text-align:center;border:1px solid var(--line);background:#ffffff80;border-radius:4px;min-width:0;padding:5px 2px}.circle-chord-family strong,.circle-chord-family span{display:block}.circle-chord-family strong{font:500 12px Georgia,serif}.circle-chord-family span{color:var(--muted);margin-top:2px;font-size:8px}.circle-relationship-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin-top:21px;padding-top:19px;display:grid}.circle-relationship-grid strong,.circle-relationship-grid small{display:block}.circle-relationship-grid strong{font-size:11px}.circle-relationship-grid small{color:var(--muted);margin-top:3px;font-size:9px}.circle-listen-bar,.circle-transpose-bar{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:16px;padding-top:16px;display:grid}.circle-listen-bar>div:first-child strong{font:500 14px Georgia,serif;display:block}.circle-audio-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.circle-audio-actions button,.circle-progression-switch button,.circle-enharmonic-switch button{border:1px solid var(--line);min-height:35px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;padding:6px 8px;font-size:9px;font-weight:700;transition:all .18s}.circle-audio-actions button:hover,.circle-progression-switch button:hover,.circle-enharmonic-switch button:hover{border-color:var(--timber)}.circle-transpose-bar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.circle-progression-switch{gap:5px;margin-top:7px;display:flex}.circle-progression-switch button.is-active,.circle-enharmonic-switch button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.circle-progression-result{text-align:right}.circle-progression-result span,.circle-progression-result strong{display:block}.circle-progression-result span{color:var(--muted);font-size:9px}.circle-progression-result strong{margin-top:3px;font:500 15px Georgia,serif}.circle-enharmonic-switch{grid-template-columns:1fr 1fr;gap:5px;margin-top:15px;display:grid}.circle-progression-builder{border:1px solid var(--line);border-top:3px solid var(--accent);background:#faf8f3;margin-top:22px;padding:22px}.circle-builder-heading{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:22px;display:grid}.circle-builder-heading h3{margin:6px 0 5px;font:500 23px/1.1 Georgia,serif}.circle-builder-heading p{max-width:600px;color:var(--muted);margin:0;font-size:10px;line-height:1.55}.circle-builder-actions{gap:5px;display:flex}.circle-builder-actions button,.circle-builder-templates button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:4px;padding:7px 11px;font-size:9px;font-weight:750}.circle-builder-actions .circle-builder-play{border-color:var(--accent);background:var(--accent);color:#fff}.circle-builder-actions button:disabled,.circle-builder-picker button:disabled,.circle-builder-chord button:disabled{cursor:default;opacity:.35}.circle-builder-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:18px;display:grid}.circle-builder-picker button{border:1px solid var(--line);min-width:0;min-height:56px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:4px;padding:8px 18px 8px 8px;position:relative}.circle-builder-picker button:hover{border-color:var(--accent);background:#f8eee8}.circle-builder-picker span,.circle-builder-picker strong{display:block}.circle-builder-picker span{color:var(--muted);font-size:8px;font-weight:750}.circle-builder-picker strong{text-overflow:ellipsis;margin-top:3px;font:500 13px Georgia,serif;overflow:hidden}.circle-builder-picker i{color:var(--accent);font-size:13px;font-style:normal;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.circle-builder-sequence{background:#ffffff6b;border:1px dashed #cfc7ba;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;min-height:84px;margin-top:12px;padding:11px;display:grid}.circle-builder-chord{border:1px solid var(--line);text-align:center;background:#fff;border-radius:4px;flex-direction:column;justify-content:flex-start;min-width:0;min-height:60px;padding:5px;transition:all .16s;display:flex;position:relative}:is(.circle-builder-chord:has(.circle-builder-drag-handle:hover),.circle-builder-chord:has(.circle-builder-drag-handle:focus-visible)){border-color:var(--accent);background:#f8eee8;box-shadow:0 0 0 2px #b94f3d14}.circle-builder-chord.is-dragging{z-index:2;border-color:var(--accent);opacity:.82;transform:scale(1.035);box-shadow:0 5px 16px #2d303129}.circle-builder-chord.is-playing{border-color:var(--accent);background:#f4dfd2;box-shadow:0 0 0 2px #b94f3d1f}.circle-builder-chord>span{color:var(--muted);margin-top:3px;font-size:8px;font-weight:750}.circle-builder-chord>strong{text-overflow:ellipsis;margin:2px 0 4px;font:500 14px Georgia,serif;overflow:hidden}.circle-builder-chord .circle-builder-drag-handle{color:#aaa398;cursor:grab;touch-action:none;width:24px;height:20px;font-size:12px;line-height:20px}.circle-builder-chord .circle-builder-drag-handle:active{cursor:grabbing}.circle-builder-chord .circle-builder-drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.circle-builder-chord .circle-builder-card-actions{justify-content:space-between;align-items:center;width:100%;display:flex}.circle-builder-chord button{width:22px;height:20px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.circle-builder-chord button:hover:not(:disabled){color:var(--accent)}.circle-builder-chord .circle-builder-remove{color:#8b8780;width:24px;font-size:14px}.circle-builder-empty{color:var(--muted);text-align:center;grid-column:1/-1;align-self:center;margin:0;font-size:10px}.circle-builder-templates{flex-wrap:wrap;align-items:center;gap:5px;margin-top:10px;display:flex}.circle-builder-templates>span{color:var(--muted);margin-right:3px;font-size:9px;font-weight:700}.circle-builder-templates button{min-height:28px;padding:5px 9px}.circle-builder-templates button.is-active{border-color:var(--accent);color:var(--accent-dark);background:#f8eee8}.circle-builder-template-note{min-height:17px;color:var(--muted);margin:8px 0 0 89px;font-size:9px;line-height:1.45}.circle-builder-template-note strong{color:var(--ink);font-weight:750}@media (width<=1180px){.circle-explorer-shell{grid-template-columns:210px minmax(0,1fr)}.circle-education-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}.circle-guide-copy{min-height:0}}@media (width<=760px){.circle-introduction,.circle-reading-strip{width:calc(100% - 28px)}.circle-introduction{grid-template-columns:1fr;gap:24px;padding:26px 22px}.circle-reading-strip{gap:9px 16px}.circle-explorer-shell{grid-template-columns:1fr;width:calc(100% - 28px);margin-bottom:70px}.circle-control-rail{border-right:0;border-bottom:1px solid var(--line)}.circle-key-grid{grid-template-columns:repeat(4,1fr)}.circle-layer-grid{grid-template-columns:1fr 1fr}.circle-quiet-guide{display:none}.circle-instrument-panel{padding:28px 14px 18px}.circle-topline{display:block}.circle-top-legend{justify-content:flex-start;margin-top:14px}.circle-direction-row{gap:8px}.circle-direction-row button{min-width:90px}.circle-direction-row button strong{font-size:10px}.circle-education-panel{padding:28px 20px}.circle-listen-bar,.circle-transpose-bar{grid-template-columns:1fr}.circle-audio-actions{grid-template-columns:1fr 1fr}.circle-progression-result{text-align:left}.circle-progression-switch{flex-wrap:wrap}.circle-walkthrough{grid-template-columns:1fr;align-items:start}.circle-walkthrough-actions{justify-content:flex-start}.circle-builder-heading{grid-template-columns:1fr}.circle-builder-actions{justify-content:flex-start}.circle-builder-picker{grid-template-columns:repeat(4,1fr)}.circle-builder-sequence{grid-template-columns:repeat(4,minmax(0,1fr))}.circle-builder-template-note{margin-left:0}}@media (width<=430px){.circle-major-label{font-size:19px}.circle-minor-label{font-size:12px}.circle-seven-label{font-size:9px}.circle-direction-row button strong{display:none}.circle-chord-family{grid-template-columns:repeat(4,1fr)}.circle-progression-builder{padding:18px 14px}.circle-builder-actions{grid-template-columns:1fr 1fr;display:grid}.circle-builder-picker{grid-template-columns:repeat(2,1fr)}.circle-builder-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.explorer-shell{grid-template-columns:200px 1fr}.education-panel{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:1fr 2fr;gap:28px;display:grid}.education-panel .lead{grid-column:1}.education-panel dl{grid-area:1/2/span 3;margin:0}.education-panel .tip{grid-column:1}}@media (width<=760px){.brand-header-inner,.hero,.explorer-shell{width:min(100% - 28px,1380px)}.brand-header-inner{min-height:70px}.brand-mark img{width:48px;height:48px}.brand-navigation{gap:16px}.brand-navigation a{padding:26px 0 24px;font-size:12px}.brand-navigation a:after{bottom:19px}.hero{padding:58px 0 38px}.hero h1{font-size:clamp(43px,13vw,65px)}.hero>p{font-size:15px}.explorer-shell{margin-bottom:70px;display:block}.control-rail{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;padding:22px;display:grid}.control-group+.control-group{margin-top:0}.control-group:last-child{grid-column:1/-1}.instrument-panel{padding:26px 20px 22px}.fretboard{min-width:760px}.instrument-topline{display:block}.legend{flex-wrap:wrap;margin-top:14px}.position-summary{flex-wrap:wrap;justify-content:flex-start}.shape-nav{grid-template-columns:1fr 1fr}.shape-nav .play-button{grid-area:1/1/auto/-1}.practice-controls{grid-template-columns:1fr 1fr}.tempo-control{grid-column:1/-1}.rhythm-control{grid-column:1/-1;justify-content:flex-start}.sequence-control,.practice-start{grid-column:1/-1}.education-panel{border-left:0;padding:28px 22px;display:block}.education-panel dl{margin:24px 0}.cta-section{padding:82px 22px 90px}.brand-footer{text-align:center;padding:30px 20px}.brand-footer-inner{flex-direction:column;gap:20px;min-height:0;display:flex}.footer-brand{justify-self:auto}.footer-navigation{flex-wrap:wrap;justify-content:center;gap:12px 20px}.brand-footer p{justify-self:auto}.tools-hero{width:min(100% - 28px,1180px);padding:72px 0 60px}.tools-hero h1{font-size:clamp(44px,13vw,66px)}.tools-hero>p{font-size:15px}.tools-directory{padding:72px 14px 82px}.tool-card{display:block}.tool-card-visual{min-height:260px;padding:24px}.tool-card-preview{max-height:212px}.mini-neck{height:146px}.tool-card-copy{padding:36px 28px 40px}.tool-card-copy h3{font-size:35px}.tools-footer-cta{padding:78px 22px 86px}.embed-page{padding:10px}.embed-toolbar{gap:12px;min-height:68px;padding-inline:2px}.embed-brand-link{font-size:20px}.embed-toolbar .eyebrow{display:none}.embed-links{gap:10px}.embed-links a{font-size:10px}.embed-links a:first-child{display:none}.embed-page .explorer-shell{width:100%;margin-bottom:10px}.embed-attribution{flex-direction:column;gap:6px;margin-top:-10px;padding-top:12px}}@media (width<=430px){.brand-navigation{gap:11px}.brand-navigation a{font-size:11px}.brand-navigation a:first-child{display:none}.control-rail{display:block}.control-group+.control-group{margin-top:24px}.instrument-panel{padding-inline:14px}.instrument-topline h2{font-size:26px}.practice-controls{flex-direction:column;align-items:stretch;display:flex}.rhythm-control{justify-content:space-between}.sequence-control{flex-direction:column;align-items:stretch}.sequence-options{display:flex}.sequence-options button,.rhythm-options button{flex:1}.division-options button{min-width:0;padding-inline:4px}.practice-check{min-height:28px}.practice-status{min-height:12px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.chord-review-inspector .practice-real-diagram.is-compact{width:min(260px,100%);margin:8px auto 0}.chord-review-inspector .practice-real-diagram.is-compact .portrait-chord-title{margin-bottom:30px;font-size:32px;line-height:1}.chord-review-inspector .practice-real-diagram.is-compact .practice-position-label{margin-top:14px}@media (width<=760px){.circle-review-layout,.circle-review-layout .practice-review-list{grid-template-columns:1fr}.circle-review-inspector{position:static}}.scale-full-fretboard-wrap{grid-template-columns:22px minmax(0,1fr);padding-bottom:24px;overflow:visible}.scale-full-fretboard-wrap .fretboard{width:100%;min-width:0}.scale-full-fretboard-wrap::-webkit-scrollbar{display:none}.answer-comparison{grid-template-columns:1fr 1fr;gap:8px;display:grid}.answer-comparison>div{border:1px solid var(--line);background:#fff;gap:5px;padding:12px;display:grid}.answer-comparison span,.scale-review-list span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:8px}.answer-comparison code,.scale-review-list code{color:var(--accent);font-weight:800}.scale-review-list{grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;display:grid}.scale-review-list article{border:1px solid var(--line);background:#fff;grid-template-columns:30px 1fr;gap:10px;padding:14px;display:grid}.scale-review-list article>b{color:#285b31;background:#dcebdd;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.scale-review-list article.has-error>b{color:#8f382d;background:#f2ded8}.scale-review-list h3{margin:2px 0 8px;font:500 16px Georgia,serif}.scale-review-list p{grid-template-columns:100px 1fr;gap:8px;margin:4px 0;display:grid}.scale-review-list small{color:#8f382d;margin-top:8px;line-height:1.5;display:block}.scale-lesson{border-top:1px solid var(--line);max-width:1000px;margin:0 auto 100px;padding:72px 48px}.scale-lesson header{max-width:820px;margin-bottom:48px}.scale-lesson h2{letter-spacing:-.035em;margin:10px 0 18px;font:500 clamp(36px,5vw,58px)/1.03 Georgia,serif}.scale-lesson header p{color:var(--muted);font-size:16px;line-height:1.75}.scale-lesson section{border-top:1px solid var(--line);grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:10px 50px;padding:34px 0;display:grid}.scale-lesson section h3{grid-row:1/3;margin:0;font:500 24px/1.15 Georgia,serif}.scale-lesson section>p,.scale-lesson li,.scale-lesson footer p{color:var(--muted);font-size:13px;line-height:1.75}.lesson-exercise{border-left:3px solid var(--accent);background:#f5f2eb;padding:16px 18px}.lesson-exercise b{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.lesson-exercise p{margin:5px 0 0;font-size:12px;line-height:1.65}.scale-lesson ol{margin:0;padding-left:20px}.scale-lesson footer{border-top:1px solid var(--line);padding-top:34px}.scale-lesson footer h3{font:500 24px Georgia,serif}.scale-lesson a{color:var(--accent);font-weight:800}@media (width<=760px){.answer-comparison,.scale-review-list{grid-template-columns:1fr}.scale-lesson{padding:50px 22px}.scale-lesson section{grid-template-columns:1fr}.scale-lesson section h3{grid-row:auto}.scale-full-fretboard-wrap{grid-template-columns:18px minmax(0,1fr)}.scale-full-fretboard-wrap .note-dot{width:21px;height:21px;font-size:8px}}.scale-full-fretboard-wrap{grid-template-columns:22px minmax(0,1fr);align-items:start;padding:8px 0 10px;overflow:visible}.scale-full-fretboard-wrap .string-labels{margin-top:8px}.scale-fretboard-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a79280 #eee9e0;min-width:0;padding:8px 0 18px;overflow:auto hidden}.scale-fretboard-scroll::-webkit-scrollbar{height:8px}.scale-fretboard-scroll::-webkit-scrollbar-track{background:#eee9e0;border-radius:999px}.scale-fretboard-scroll::-webkit-scrollbar-thumb{background:#a79280;border:2px solid #eee9e0;border-radius:999px}.scale-fretboard-scroll:focus-visible{outline-offset:3px;outline:3px solid #b94f3d40}.scale-full-fretboard-wrap .fretboard{min-width:760px;margin-bottom:2px}.scale-full-fretboard-wrap .is-inactive-string{opacity:1;background:0 0}.scale-full-fretboard-wrap .is-scale-string{background:#fff4d612}.scale-reference{border:1px solid var(--line);background:#fff;width:min(1180px,100% - 48px);margin:0 auto 90px;padding:36px}.scale-reference .directory-heading{margin-bottom:24px}.scale-reference-table{scrollbar-width:thin;scrollbar-color:#a79280 #eee9e0;display:grid;overflow-x:auto}.scale-reference-table>div{border-top:1px solid var(--line);grid-template-columns:160px 180px 1.15fr 1fr;align-items:center;gap:14px;min-width:860px;padding:11px 8px;font-size:10px;display:grid}.scale-reference-table .is-heading{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f5f2eb;border-top:0;font-size:8px;font-weight:800}.scale-reference-table>div>span:first-child{color:var(--muted)}.scale-reference-table code{color:var(--accent);font-family:var(--font-geist-mono);white-space:nowrap;font-weight:800}.scale-reference-table strong{font-family:Georgia,serif;font-size:13px}.scale-controls .root-grid{margin-top:10px}.practice-pattern-strip{background:#fff;border:1px dashed #cbbdac;flex-wrap:wrap;align-items:center;gap:7px;min-height:64px;padding:10px;display:flex}.practice-pattern-strip span,.practice-pattern-strip button{border:1px solid var(--line);min-width:46px;height:44px;color:var(--ink);background:#fbfaf7;place-items:center;font-weight:800;display:grid}.practice-pattern-strip .is-missing{border-color:var(--accent);color:var(--accent);background:#fff7f4}.practice-pattern-strip button{cursor:pointer;position:relative}.practice-pattern-strip button small{color:var(--muted);font-size:7px;position:absolute;top:2px;left:5px}.practice-pattern-strip button.is-selected,.step-keypad button.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:#fff7f4}.scale-review-list em{color:var(--timber);text-transform:uppercase;letter-spacing:.07em;margin:-4px 0 8px;font-size:8px;font-style:normal;display:block}.scale-review-list small{color:var(--muted)}.scale-review-list article.has-error small{color:#8f382d}@media (width<=600px){.scale-reference{width:calc(100% - 24px);padding:22px 16px}.scale-full-fretboard-wrap{grid-template-columns:18px minmax(0,1fr)}.scale-fretboard-scroll{padding-bottom:15px}.scale-full-fretboard-wrap .fretboard{min-width:900px}.scale-full-fretboard-wrap .note-dot{width:27px;height:27px;font-size:10px}}.scale-full-fretboard-wrap .string-row-0 .note-dot{z-index:9;transform:translateY(5px)}.scale-full-fretboard-wrap .string-row-0 .note-dot.is-practice-active{transform:translateY(5px)scale(1.2)}.scale-full-fretboard-wrap .fret-numbers{background:var(--cream);margin-top:0;padding-top:20px}.scale-question .guided-feedback,.scale-question .answer-comparison{grid-column:2}.guided-feedback.is-correct{color:#35633e;align-items:center;gap:8px;display:flex}.guided-feedback.has-error{color:#963c30;align-items:center;gap:8px;display:flex}.guided-feedback.is-correct>b,.guided-feedback.has-error>b,.answer-comparison>div>b{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.guided-feedback.is-correct>b,.answer-comparison .correct-answer>b,.answer-comparison.is-correct .learner-answer>b{color:#285b31;background:#dcebdd}.guided-feedback.has-error>b,.answer-comparison.has-error .learner-answer>b{color:#8f382d;background:#f2ded8}.answer-comparison>div{border-left-width:4px;grid-template-columns:28px 1fr;align-items:center;position:relative}.answer-comparison>div span,.answer-comparison>div code{grid-column:2}.answer-comparison .correct-answer,.answer-comparison.is-correct .learner-answer{background:#eef8f0;border-color:#78a982}.answer-comparison .correct-answer code,.answer-comparison.is-correct .learner-answer code{color:#35633e}.answer-comparison.has-error .learner-answer{background:#fff3f0;border-color:#c77b70}.answer-comparison.has-error .learner-answer code{color:#963c30}.scale-review-list article.is-correct{background:#eef8f0;border-color:#78a982 #78a982 #78a982 #4f7b58;border-left-style:solid;border-left-width:4px}.scale-review-list article.has-error{background:#fff3f0;border-color:#c77b70 #c77b70 #c77b70 #a94b3e;border-left-style:solid;border-left-width:4px}@media (width<=900px){.scale-question .guided-feedback,.scale-question .answer-comparison{grid-column:1}}.three-nps-fretboard-wrap .note-dot.low-e-overhang{z-index:9;transform:translateY(5px)!important}.three-nps-fretboard-wrap .note-dot.low-e-overhang.is-practice-active{transform:translateY(5px)scale(1.2)!important}.three-nps-fretboard-wrap .fret-numbers{z-index:5;background:var(--cream);margin-top:0;padding-top:20px}.harmonic-mode-grid,.harmonic-detail-grid{grid-template-columns:repeat(2,1fr)}.harmonic-mode-grid button,.harmonic-detail-grid button{min-height:38px;font-size:10px;font-weight:700}.harmonic-chord-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.harmonic-chord-grid button,.harmonic-touch-grid button{border:1px solid var(--line);min-height:35px;color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:5px;font-size:10px;font-weight:700;transition:all .18s}.harmonic-chord-grid button:hover,.harmonic-touch-grid button:hover{border-color:var(--timber)}.harmonic-chord-grid button.is-active,.harmonic-touch-grid button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.harmonic-shape-editor{grid-template-columns:repeat(6,1fr);gap:4px;margin-top:12px;display:grid}.harmonic-shape-editor label{color:var(--muted);text-align:center;gap:4px;font-size:9px;display:grid}.harmonic-shape-editor select{border:1px solid var(--line);background:var(--cream);width:100%;height:32px;color:var(--ink);text-align:center;border-radius:4px}.harmonic-touch-grid{gap:5px;display:grid}.harmonic-touch-grid button{text-align:left;grid-template-columns:34px 1fr;align-items:center;gap:8px;padding:7px 9px;display:grid}.harmonic-touch-grid strong{font:500 16px/1 Georgia,serif}.harmonic-touch-grid span{font-size:9px}.harmonics-fretboard-wrap .fretboard{min-width:760px;margin-right:18px}.harmonics-fretboard-wrap .fret-cell{overflow:visible}.harmonics-fretboard-wrap .string-row .harmonic-note-dot{appearance:none;cursor:pointer;width:23px;height:23px;transform:translate(50%,calc(-50% + var(--note-edge-y,0px))) rotate(45deg);border-radius:4px;padding:0;line-height:1;position:absolute;top:50%;right:-2px}.harmonic-note-dot>span{place-items:center;display:grid;transform:rotate(-45deg)}.harmonics-fretboard-wrap .string-row .harmonic-note-dot:hover{transform:translate(50%,calc(-50% + var(--note-edge-y,0px))) rotate(45deg) scale(1.08)}.harmonics-fretboard-wrap .string-row .harmonic-note-dot.is-practice-active{transform:translate(50%,calc(-50% + var(--note-edge-y,0px))) rotate(45deg) scale(1.2)}.harmonic-note-dot:not(.root){background:#f1e8d7}.harmonic-base-dot{width:18px;height:18px;box-shadow:none;background:#f5eddd24;border:2px dashed #ffffffc7}.harmonics-fretboard-wrap .fret-numbers{z-index:5;background:var(--cream);min-height:42px;margin-top:0;padding-top:25px;padding-bottom:4px}.harmonic-legend-diamond{border-radius:2px;transform:rotate(45deg)}.harmonic-empty-state{border-left:3px solid var(--accent);color:var(--muted);background:#f5f2eb;margin:8px 0 0;padding:12px 14px;font-size:11px;line-height:1.55}.harmonics-play-row{grid-template-columns:minmax(180px,260px);justify-content:center}.shape-nav.harmonics-play-row .play-button{text-align:center;min-height:54px}.harmonics-play-row .play-button:disabled{cursor:default;opacity:.35}.harmonics-practice-body{gap:16px;padding:18px;display:grid}.harmonics-drill-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.harmonics-drill-picker button{border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;border-radius:4px;gap:4px;padding:13px 15px;display:grid}.harmonics-drill-picker button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.harmonics-drill-picker button:disabled,.harmonics-string-picker button:disabled,.harmonics-pace button:disabled{cursor:default;opacity:.62}.harmonics-drill-picker strong{font-size:11px}.harmonics-drill-picker span{color:inherit;opacity:.72;font-size:9px}.harmonics-drill-intro{border-left:3px solid var(--accent);background:#f5f2eb;padding:14px 16px}.harmonics-drill-intro p{color:var(--ink);margin:6px 0;font-size:11px;line-height:1.55}.harmonics-drill-intro small{color:var(--muted);font-size:9px;line-height:1.55}.harmonics-string-picker{gap:7px;display:grid}.harmonics-string-picker>span,.harmonics-pace>span{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:800}.harmonics-string-picker>div{flex-wrap:wrap;gap:5px;display:flex}.harmonics-string-picker button,.harmonics-pace button{border:1px solid var(--line);background:var(--paper);min-height:32px;color:var(--ink);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:9px}.harmonics-string-picker button.is-active,.harmonics-pace button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.scale-picker-group .tool-choice-button,.scale-string-grid .tool-choice-button{min-height:35px;color:var(--ink);background:#ffffff8c;border-radius:5px;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif;font-size:10px}.scale-picker-group .tool-choice-button:hover,.scale-string-grid .tool-choice-button:hover{border-color:var(--timber)}.scale-picker-group .tool-choice-button.is-active,.scale-string-grid .tool-choice-button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.harmonics-practice-action{justify-content:space-between;align-items:end;gap:16px;display:flex}.harmonics-pace{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.harmonics-pace>span{margin-right:3px}.harmonics-practice-action .practice-start{min-width:180px;min-height:44px}.harmonics-practice-status{border-top:1px solid var(--line);color:var(--timber);margin:0;padding-top:12px;font-size:10px;font-weight:700;line-height:1.5}@media (width<=700px){.harmonics-drill-picker{grid-template-columns:1fr}.harmonics-practice-action{flex-direction:column;align-items:stretch}.harmonics-practice-action .practice-start{width:100%}}.tuner-hero{padding-bottom:46px}.tuner-shell{background:var(--cream);border:1px solid var(--line);grid-template-columns:280px minmax(0,1fr);width:min(1380px,100% - 64px);margin:0 auto 100px;display:grid;box-shadow:0 24px 70px #3f301f17}.tuner-controls{border-right:1px solid var(--line);background:#f5f2eb;padding:30px 24px}.tuner-controls select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;border-radius:5px;padding:8px 34px 8px 10px;font-size:12px}.tuner-controls .control-group+.control-group{margin-top:27px}.tuner-mode{grid-template-columns:1fr 1fr;display:grid}.tuning-picker-button{border:1px solid var(--line);width:100%;min-height:64px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:5px;gap:5px;padding:11px 12px;display:grid}.tuning-picker-button:hover{border-color:var(--timber)}.tuning-picker-button span{font:500 18px/1.1 Georgia,serif}.tuning-picker-button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;line-height:1.4;overflow:hidden}.tuner-calibration>div{grid-template-columns:34px 1fr 34px;align-items:center;display:grid}.tuner-calibration button{border:1px solid var(--line);cursor:pointer;background:#fff;height:34px}.tuner-calibration output{text-align:center;color:var(--timber);font-size:12px;font-weight:800}.tuner-calibration input{width:100%;accent-color:var(--accent);margin-top:9px}.tuner-sound-option{color:var(--muted);align-items:flex-start;gap:8px;margin:24px 0 18px;font-size:10px;line-height:1.5;display:flex}.tuner-sound-option input{accent-color:var(--accent);margin:2px 0 0}.tuner-start{width:100%;min-height:48px}.tuner-start.is-listening{border-color:var(--ink);background:var(--ink)}.tuner-privacy{color:var(--muted);margin:13px 0 0;font-size:8px;line-height:1.55}.tuner-stage{min-width:0;padding:34px}.tuner-display{color:#fff;background:radial-gradient(circle at 50% 28%,#694b39 0,#4a3025 42%,#2c211c 100%);border:1px solid #44352a;grid-template-rows:auto 1fr auto auto;min-height:410px;padding:28px 34px 24px;transition:border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.tuner-display.is-in-tune{border-color:#6b9c70;box-shadow:inset 0 0 0 3px #75b77b6b,0 10px 40px #407a482e}.tuner-display.is-in-tune:after{content:"";pointer-events:none;background:radial-gradient(circle,#5da6653d,#0000 64%);position:absolute;inset:0}.tuner-readout{z-index:2;justify-items:center;display:grid;position:relative}.tuner-readout>span{letter-spacing:.12em;text-transform:uppercase;opacity:.72;font-size:9px;font-weight:800}.tuner-readout strong{margin-top:2px;font:500 clamp(64px,8vw,100px)/.9 Georgia,serif}.tuner-readout small{opacity:.7;margin-top:8px;font-size:10px}.tuner-meter{z-index:2;min-height:205px;margin-top:9px;position:relative}.tuner-scale{border-top:1px solid #fff3;height:64px;position:absolute;top:22px;left:3%;right:3%}.tuner-scale i{background:#ffffff8c;width:1px;height:15px;position:absolute;top:-1px;transform:translate(-50%)}.tuner-scale i.is-zero{background:#fff;width:2px;height:25px}.tuner-scale b{color:#ffffffa6;font-size:8px;font-style:normal;font-weight:500;position:absolute;top:20px;left:50%;transform:translate(-50%)}.tuner-scale .is-zero b{color:#fff;font-weight:800}.tuner-needle{width:2px;height:136px;transform:translateX(-50%) rotate(calc(var(--cents) * .65deg));transform-origin:50% 100%;background:linear-gradient(#0000,#e6d3bd 22%);transition:transform 80ms linear;position:absolute;bottom:12px;left:50%}.tuner-needle span{background:#e6d3bd;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%);box-shadow:0 0 0 5px #00000038}.tuner-cent-readout{text-align:right;display:grid;position:absolute;bottom:0;right:0}.tuner-cent-readout b{font:500 22px Georgia,serif}.tuner-cent-readout span{text-transform:uppercase;letter-spacing:.12em;opacity:.6;font-size:7px}.tuner-direction{z-index:2;justify-content:center;align-items:center;gap:9px;min-height:36px;display:flex;position:relative}.tuner-direction span{font-size:25px;line-height:1}.tuner-direction b{font-size:11px}.tuner-direction.is-flat span,.tuner-direction.is-sharp span{color:#f0c168}.tuner-direction.is-centred{color:#c9f0ca}.tuner-direction.is-waiting{opacity:.65}.tuner-stability{z-index:2;background:#ffffff1f;height:3px;margin-top:10px;position:relative}.tuner-stability i{background:#8bd08e;height:100%;transition:width 80ms;display:block}.tuner-strings{gap:7px;margin-top:12px;padding:2px 0 9px;display:flex;overflow-x:auto}.tuner-strings button{border:1px solid var(--line);min-width:72px;min-height:92px;color:var(--ink);cursor:pointer;background:#fbfaf7;align-content:center;place-items:center;gap:2px;display:grid;position:relative}.tuner-strings button:hover{border-color:var(--timber)}.tuner-strings small{color:var(--muted);font-size:7px;position:absolute;top:7px;left:8px}.tuner-strings strong{font:500 25px Georgia,serif}.tuner-strings span{color:var(--muted);font-size:8px}.tuner-strings i{color:var(--timber);text-transform:uppercase;margin-top:4px;font-size:7px;font-style:normal;font-weight:800}.tuner-strings .is-detected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tuner-strings .is-complete{background:#eff7ef;border-color:#89ad8d}.tuner-strings .is-complete i{color:#34703c}.tuner-stage-footer{grid-template-columns:1fr auto;align-items:end;gap:20px;padding-top:22px;display:grid}.tuner-stage-footer h2{margin:7px 0 5px;font:500 27px/1.1 Georgia,serif}.tuner-stage-footer p{max-width:660px;color:var(--muted);margin:0;font-size:10px;line-height:1.6}.tuning-dialog-backdrop{z-index:1000;background:#201d1aad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.tuning-dialog{background:var(--paper);border:1px solid var(--line);grid-template-rows:auto auto auto 1fr;width:min(900px,100%);max-height:min(820px,100vh - 48px);display:grid;box-shadow:0 30px 90px #00000047}.tuning-dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:26px 28px 18px;display:flex}.tuning-dialog h2{margin:5px 0 0;font:500 30px Georgia,serif}.tuning-dialog>header>button{border:1px solid var(--line);cursor:pointer;background:#fff;min-height:36px;padding:0 13px}.tuning-search{padding:16px 28px 8px}.tuning-search input{border:1px solid var(--line);background:#fff;width:100%;min-height:44px;padding:10px 13px;font-size:12px}.tuning-families{gap:5px;padding:5px 28px 14px;display:flex;overflow-x:auto}.tuning-families button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;padding:0 13px;font-size:9px}.tuning-families button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.tuning-list{border-top:1px solid var(--line);overflow-y:auto}.tuning-list article{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:1fr 52px;display:grid}.tuning-list article.is-selected{box-shadow:inset 4px 0 var(--accent)}.tuning-list-main{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 20px 15px 28px;display:grid}.tuning-list-main>span{gap:4px;min-width:0;display:grid}.tuning-list-main strong{font:500 18px Georgia,serif}.tuning-list-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.tuning-list-main code{color:var(--timber);font-family:var(--font-geist-mono);white-space:nowrap;font-size:9px;font-weight:800}.tuning-pin{border:0;border-left:1px solid var(--line);color:#b18b54;cursor:pointer;background:#fbfaf7;font-size:25px}.tuning-empty{text-align:center;color:var(--muted);padding:40px}.tuner-reference{width:min(1100px,100% - 64px);margin:0 auto 100px}.tuner-reference>header{max-width:790px}.tuner-reference h2{letter-spacing:-.035em;margin:12px 0 18px;font:500 clamp(36px,5vw,58px)/1.04 Georgia,serif}.tuner-reference header p{color:var(--muted);font-size:15px;line-height:1.75}.tuner-method-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:44px;display:grid}.tuner-method-grid article{padding:28px 25px;position:relative}.tuner-method-grid article+article{border-left:1px solid var(--line)}.tuner-method-grid b{background:var(--timber-dark);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.tuner-method-grid h3{margin:17px 0 9px;font:500 18px Georgia,serif}.tuner-method-grid p{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.tuner-safety-note{border-left:3px solid var(--accent);background:#f5f2eb;grid-template-columns:220px 1fr;gap:30px;margin-top:32px;padding:24px 26px;display:grid}.tuner-safety-note strong{font:500 18px Georgia,serif}.tuner-safety-note p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}@media (width<=980px){.tuner-shell{grid-template-columns:1fr}.tuner-controls{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.tuner-controls .control-group+.control-group{margin-top:0}.tuner-controls>.control-group:nth-child(3){grid-column:span 1}.tuner-sound-option,.tuner-privacy{align-self:center;margin:0}.tuner-method-grid{grid-template-columns:1fr 1fr}.tuner-method-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.tuner-method-grid article:nth-child(4){border-top:1px solid var(--line)}}@media (width<=700px){.tuner-shell{width:calc(100% - 24px);margin-bottom:72px}.tuner-controls{grid-template-columns:1fr;padding:24px 18px}.tuner-controls>.control-group:nth-child(3){grid-column:auto}.tuner-stage{padding:18px 12px 24px}.tuner-display{min-height:360px;padding:22px 15px 19px}.tuner-scale{left:1%;right:1%}.tuner-scale b{font-size:7px}.tuner-scale i:nth-child(2n) b{display:none}.tuner-stage-footer{grid-template-columns:1fr}.tuner-strings button{min-width:66px}.tuning-dialog-backdrop{padding:0}.tuning-dialog{border:0;width:100%;height:100vh;max-height:100vh}.tuning-dialog>header{padding:22px 16px}.tuning-search,.tuning-families{padding-inline:16px}.tuning-list-main{grid-template-columns:1fr;padding-left:16px}.tuning-list-main code{font-size:8px}.tuning-list-main small{white-space:normal}.tuner-reference{width:calc(100% - 32px);margin-bottom:72px}.tuner-method-grid{grid-template-columns:1fr}.tuner-method-grid article+article{border-left:0;border-top:1px solid var(--line)}.tuner-safety-note{grid-template-columns:1fr;gap:8px}.tuner-cent-readout{right:4px}}.education-panel .guide-token-row{flex-wrap:wrap;gap:5px;display:flex}.education-panel .guide-token-row .guide-playback-token{border:1px solid var(--line);background:var(--cream);text-align:center;min-width:27px;padding:4px 6px}.education-panel .guide-token-row .guide-playback-token.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.education-panel dd .guide-information-row .guide-token-row.is-seven-token-row{flex-wrap:nowrap;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.education-panel dd .guide-information-row .guide-token-row.is-seven-token-row .guide-playback-token{min-width:0;padding:4px 2px}.harmonics-reference{width:min(1180px,100% - 64px);margin:0 auto 95px}.harmonics-reference>header{max-width:840px;margin-bottom:42px}.harmonics-reference h2{letter-spacing:-.035em;margin:12px 0 18px;font:500 clamp(38px,5vw,58px)/1.03 Georgia,Times New Roman,serif}.harmonics-reference>header p{max-width:720px;color:var(--muted);margin:0;font-size:15px;line-height:1.75}.harmonics-landmark-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.harmonics-landmark-grid article{border-bottom:1px solid var(--line);grid-template-columns:90px 1fr;gap:20px;padding:28px 24px 30px 0;display:grid}.harmonics-landmark-grid article:nth-child(2n){border-left:1px solid var(--line);padding-left:28px}.harmonics-landmark-grid article>strong{color:var(--accent);font:italic 22px/1 Georgia,serif}.harmonics-landmark-grid h3{margin:0 0 7px;font:500 21px/1.1 Georgia,serif}.harmonics-landmark-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.harmonics-melody-workflow{background:var(--ink);color:#fff;grid-template-columns:.75fr 1.25fr;gap:50px;margin-top:64px;padding:44px 48px;display:grid}.harmonics-melody-workflow h3{margin:12px 0 0;font:500 34px/1.08 Georgia,serif}.harmonics-melody-workflow ol{margin:0;padding:0;list-style:none}.harmonics-melody-workflow li{border-bottom:1px solid #ffffff21;grid-template-columns:180px 1fr;gap:15px;padding:10px 0;display:grid}.harmonics-melody-workflow li:last-child{border-bottom:0}.harmonics-melody-workflow li b{color:#e0a28e;font-size:11px}.harmonics-melody-workflow li span{color:#d7dcde;font-size:11px;line-height:1.6}.tuner-display{background:radial-gradient(circle at 50% 28%,#4b4f50 0,#2d3031 48%,#1d1f20 100%);border-color:#252728}.tuner-display.is-in-tune{background:radial-gradient(circle at 50% 28%,#4d8f62 0,#2f6c48 48%,#1d4932 100%);border-color:#76b987;box-shadow:inset 0 0 0 3px #b8ebbe47,0 10px 40px #2369393d}.tuner-mode button:last-child{grid-column:1/-1}.tuner-mode button:disabled{cursor:not-allowed;opacity:.42}.tuner-compact-toggle{grid-template-columns:1fr 1fr;display:grid}.tuner-compact-toggle.is-three-way{grid-template-columns:repeat(3,1fr)}.tuner-compact-toggle button{border:1px solid var(--line);min-height:36px;color:var(--muted);cursor:pointer;background:#fff;font-size:9px}.tuner-compact-toggle button+button{border-left:0}.tuner-compact-toggle button.is-active{border-color:var(--ink);background:var(--ink);color:#fff}.tuner-meter .tuner-needle{transform:translateX(-50%) rotate(var(--needle-rotation))}.tuner-meter .tuner-needle,.tuner-meter .tuner-cent-readout{transition:transform 80ms linear,opacity .2s}.tuner-meter.is-waiting .tuner-needle{opacity:0}.tuner-meter.is-waiting .tuner-cent-readout{opacity:.58}.tuner-meter.is-arrows{min-height:218px;margin-top:0}.tuner-arrow-meter{background:linear-gradient(#0000006b,#0003);border:1px solid #ffffff38;align-content:center;gap:15px;height:118px;padding:18px 20px;display:grid;position:absolute;top:40px;left:2%;right:2%;box-shadow:inset 0 0 28px #0000006b}.tuner-arrow-row{grid-template-columns:repeat(21,minmax(0,1fr));align-items:center;gap:2px;display:grid}.tuner-arrow-row i{color:#ffffff21;min-width:0;text-shadow:none;place-items:center;font:500 clamp(25px,3.4vw,45px)/.8 Arial,sans-serif;transition:color 90ms,opacity 90ms,text-shadow 90ms,transform 90ms;display:grid}.tuner-arrow-row i.is-centre{color:#73d28447;font-size:clamp(16px,2vw,25px)}.tuner-arrow-row i.is-trail{color:#de775b7a;text-shadow:0 0 10px #de775b59}.tuner-arrow-row i.is-active{color:#ef8063;text-shadow:0 0 8px #ef8063f2,0 0 20px #ef8063a6;transform:scale(1.12)}.tuner-arrow-row i.is-centre.is-active{color:#7be58e;text-shadow:0 0 8px #7be58ef2,0 0 22px #7be58eb3}.tuner-arrow-labels{color:#ffffff7a;letter-spacing:.09em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;font-size:7px;display:grid}.tuner-arrow-labels b{font-weight:600}.tuner-arrow-labels b:nth-child(2){color:#99e1a5b3;text-align:center}.tuner-arrow-labels b:last-child{text-align:right}.tuner-meter.is-waiting .tuner-arrow-row i{color:#ffffff1a;text-shadow:none;transform:none}.tuner-meter.is-arrows .tuner-cent-readout{bottom:3px}.tuner-meter.is-led{min-height:218px;margin-top:0}.tuner-led-meter{background:linear-gradient(#00000080,#00000038);border:1px solid #ffffff57;height:68px;position:absolute;top:55px;left:3%;right:3%;box-shadow:inset 0 0 22px #0000007a}.tuner-led-meter:after{content:"";background:#ffffff94;width:1px;position:absolute;top:0;bottom:0;left:50%}.tuner-led-segments{grid-template-columns:repeat(21,1fr);gap:4px;display:grid;position:absolute;inset:10px 9px}.tuner-led-segments i{background:#ffffff1a;border-radius:1px;box-shadow:inset 0 0 0 1px #ffffff0a}.tuner-led-segments i:nth-child(10),.tuner-led-segments i:nth-child(11),.tuner-led-segments i:nth-child(12){background:#58bc6c29}.tuner-led-marker{z-index:2;background:#efb14f;border-radius:2px;width:12px;transition:left 80ms linear,background .18s,box-shadow .18s;position:absolute;top:7px;bottom:7px;transform:translate(-50%);box-shadow:0 0 8px #f2b146e6,0 0 22px #f2b1468c}.tuner-display.is-in-tune .tuner-led-marker{background:#7be58e;box-shadow:0 0 8px #7be58ef2,0 0 24px #7be58ea6}.tuner-meter.is-waiting .tuner-led-marker{opacity:0}.tuner-led-labels{color:#ffffff9e;justify-content:space-between;display:flex;position:absolute;top:76px;left:0;right:0}.tuner-led-labels b{font-size:8px;font-weight:500}.tuner-meter.is-led .tuner-cent-readout{bottom:3px}.tuner-display.is-ear-hidden .tuner-led-marker{opacity:0}.tuner-display.is-ear-hidden .tuner-arrow-row i.is-active,.tuner-display.is-ear-hidden .tuner-arrow-row i.is-trail{color:#ffffff1a;text-shadow:none;transform:none}.strobe-meter{z-index:2;align-content:center;gap:22px;min-height:218px;display:grid;position:relative;overflow:hidden}.strobe-bands{gap:11px;padding:8px 0;display:grid;overflow:hidden}.strobe-bands i{will-change:transform;background:repeating-linear-gradient(90deg,#ffffff1f 0 13px,#ffffffd1 13px 17px,#fff3 17px 31px,#0000 31px 42px);width:calc(100% + 320px);height:36px;transition:transform 55ms linear;position:relative;left:-160px}.strobe-bands i:nth-child(2){opacity:.82}.strobe-bands i:nth-child(3){opacity:.64}.strobe-bands i span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.strobe-meter.is-waiting .strobe-bands{opacity:.28}.strobe-cent-readout{justify-items:center;display:grid}.strobe-cent-readout b{font:500 30px Georgia,serif}.strobe-cent-readout span{letter-spacing:.12em;text-transform:uppercase;opacity:.68;font-size:8px}.polyphonic-display{z-index:2;align-content:center;gap:30px;min-height:350px;display:grid;position:relative}.polyphonic-display header{text-align:center;justify-items:center;gap:7px;display:grid}.polyphonic-display header>span{letter-spacing:.14em;text-transform:uppercase;opacity:.72;font-size:8px;font-weight:800}.polyphonic-display header strong{font:500 clamp(28px,4vw,46px)/1 Georgia,serif}.polyphonic-display header small{opacity:.7;max-width:620px;font-size:9px;line-height:1.5}.polyphonic-strings{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.poly-string{text-align:center;background:#0000001f;border:1px solid #ffffff2e;justify-items:center;gap:7px;min-width:0;padding:17px 8px 14px;display:grid}.poly-string>small{text-transform:uppercase;opacity:.55;font-size:7px}.poly-string>strong{font:500 34px Georgia,serif}.poly-string>span{font-size:10px}.poly-string>b{text-transform:uppercase;letter-spacing:.08em;font-size:8px}.poly-track{background:linear-gradient(90deg,#d6a05f 0 46%,#8ed097 46% 54%,#d6a05f 54%);width:100%;height:3px;margin:4px 0;position:relative}.poly-track:after{content:"";opacity:.65;background:#fff;width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.poly-track i{background:#fff;width:2px;height:11px;transition:left .12s;position:absolute;top:-4px;transform:translate(-50%)}.poly-string.is-centred{background:#5a9d6340;border-color:#98d1a0}.poly-string.is-centred>b{color:#c9f0ca}.poly-string.is-flat>b,.poly-string.is-sharp>b{color:#f0c168}.poly-string.is-uncertain{opacity:.48}.tuner-types{width:min(1100px,100% - 64px);margin:0 auto 100px}.tuner-types>header{max-width:790px}.tuner-types h2{letter-spacing:-.035em;margin:12px 0 18px;font:500 clamp(36px,5vw,58px)/1.04 Georgia,serif}.tuner-types>header p{color:var(--muted);font-size:15px;line-height:1.75}.tuner-type-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin-top:40px;display:grid}.tuner-type-grid article{border-bottom:1px solid var(--line);padding:28px 28px 31px 0}.tuner-type-grid article:nth-child(2n){border-left:1px solid var(--line);padding-left:28px}.tuner-type-grid span{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:800}.tuner-type-grid h3{margin:10px 0 9px;font:500 24px Georgia,serif}.tuner-type-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.tuner-display.is-ear-hidden .tuner-needle{opacity:0}.tuner-display.is-ear-hidden .tuner-direction span{opacity:.35}.tuner-strings .is-playing{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:none}.tuner-strings .is-playing span,.tuner-strings .is-playing i,.tuner-strings .is-playing small{color:#fff}.ear-coach{border:1px solid var(--line);background:#f5f2eb;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:20px 34px;margin-top:16px;padding:24px;display:grid}.ear-coach h2{margin:7px 0 8px;font:500 24px/1.1 Georgia,serif}.ear-coach p{max-width:700px;color:var(--muted);margin:0;font-size:10px;line-height:1.7}.ear-coach p b{color:var(--accent)}.ear-coach-actions{gap:5px;display:flex}.ear-coach-actions button{border:1px solid var(--line);min-width:86px;min-height:44px;color:var(--ink);cursor:pointer;background:#fff;font-size:10px;font-weight:800}.ear-coach-actions button:hover:not(:disabled){border-color:var(--timber)}.ear-coach-actions button:disabled{cursor:not-allowed;opacity:.45}.ear-coach-feedback{border-left:3px solid var(--accent);background:#fff;grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px 17px;display:grid}.ear-coach-feedback.is-correct{border-left-color:#4f8a58}.ear-coach-feedback strong{font:500 17px Georgia,serif}.ear-coach-feedback span{color:var(--muted);font-size:10px;line-height:1.55}.ear-coach-feedback button{border:1px solid var(--line);cursor:pointer;background:#fff;min-height:34px;padding:0 12px;font-size:9px;font-weight:800}@media (width<=760px){.ear-coach{grid-template-columns:1fr;padding:20px 17px}.ear-coach-actions{grid-template-columns:repeat(3,1fr);display:grid}.ear-coach-actions button{min-width:0}.ear-coach-feedback{grid-template-columns:1fr}.tuner-mode{grid-template-columns:1fr 1fr}.tuner-mode button:last-child{grid-column:1/-1}.polyphonic-strings{grid-template-columns:repeat(3,1fr)}.poly-string{padding-block:12px}.tuner-types{width:calc(100% - 32px)}.tuner-type-grid{grid-template-columns:1fr}.tuner-type-grid article:nth-child(2n){border-left:0;padding-left:0}}@media (width<=900px){.harmonics-reference{width:min(100% - 28px,1180px)}.harmonics-melody-workflow{grid-template-columns:1fr;gap:24px}}@media (width<=600px){.harmonic-chord-grid{grid-template-columns:repeat(4,1fr)}.harmonics-fretboard-wrap .fretboard{min-width:900px}.harmonics-landmark-grid{grid-template-columns:1fr}.harmonics-landmark-grid article,.harmonics-landmark-grid article:nth-child(2n){border-left:0;padding:24px 0}.harmonics-melody-workflow{margin-inline:-2px;padding:30px 22px}.harmonics-melody-workflow li{grid-template-columns:1fr;gap:4px}}.family-selection-help{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
