/*! 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}}}@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-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{.absolute{position:absolute}.start{inset-inline-start:var(--spacing)}.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,)}}:root{--ink:#171816;--paper:#f2f0eb;--surface:#faf9f6;--white:#fff;--line:#d4d1ca;--muted:#65655f;--accent:#c94028;--accent-hover:#a93420;--accent-soft:#f6ded7;--focus:#1769d2;--radius:4px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}button,a,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:disabled{cursor:not-allowed}main{min-height:100vh}.topbar{border-bottom:1px solid var(--line);z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f2f0ebf5;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:0 clamp(18px,4vw,64px);display:flex;position:sticky;top:0}.brand{color:var(--ink);flex:none;align-items:center;gap:11px;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);letter-spacing:-.08em;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:12px;font-weight:800;display:grid}.brand b{letter-spacing:.13em;font-size:12px;display:block}.brand small{color:var(--muted);letter-spacing:.14em;margin-top:3px;font-size:7px;display:block}.topbar nav{justify-content:flex-end;align-items:center;gap:clamp(14px,2vw,26px);display:flex}.topbar nav>a{color:#383934;letter-spacing:.09em;white-space:nowrap;align-items:center;min-height:44px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.topbar nav>a:hover,.topbar nav>a.active{color:var(--accent)}.language-switch{border:1px solid #bdbbb4;padding:2px;display:inline-flex}.language-switch button{cursor:pointer;background:0 0;border:0;min-width:32px;min-height:30px;font-size:9px;font-weight:800}.language-switch button.active{background:var(--ink);color:var(--white)}.mobile-language,.menu-button{display:none}.page-shell{width:min(1180px,100% - 32px);margin:0 auto}.narrow-shell{width:min(980px,100% - 32px)}.tool-page-shell{width:min(920px,100% - 32px)}.breadcrumbs{border-bottom:1px solid var(--line);align-items:center;min-height:42px;display:flex}.breadcrumbs ol{flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:9px 0;list-style:none;display:flex}.breadcrumbs li{color:var(--muted);align-items:center;font-size:10px;display:flex}.breadcrumbs li+li:before{content:"›";color:#9a9993;padding:0 9px}.breadcrumbs a{color:#444540;align-items:center;min-height:28px;text-decoration:none;display:inline-flex}.breadcrumbs a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.eyebrow{color:var(--accent);letter-spacing:.16em;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.home-hero{max-width:820px;padding:clamp(46px,7vw,86px) 0 38px}.home-hero h1{letter-spacing:-.045em;max-width:760px;margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(40px,6vw,76px);line-height:1.05}.home-hero p{max-width:650px;color:var(--muted);margin:22px 0 0;font-size:15px;line-height:1.9}.tool-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tool-card{border:1px solid var(--line);background:var(--surface);min-height:185px;color:var(--ink);grid-template-columns:38px 48px 1fr 30px;align-items:center;gap:18px;padding:24px 26px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.tool-card:hover{border-color:#aaa8a0;transform:translateY(-2px);box-shadow:0 16px 32px #17181614}.tool-card>span{color:var(--accent);letter-spacing:.1em;align-self:start;font-size:9px;font-weight:800}.tool-card>i{text-align:center;font-family:Georgia,serif;font-size:34px;font-style:normal}.tool-card h2{margin:0 0 8px;font-family:Georgia,Yu Mincho,serif;font-size:24px}.tool-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.tool-card>em{color:var(--accent);font-size:22px;font-style:normal}.tool-card.dark{background:var(--ink);border-color:var(--ink);color:var(--white)}.tool-card.dark p{color:#b9bab4}.tool-card.accent{border-top:4px solid var(--accent)}.home-contact-link{border:1px solid var(--line);background:var(--surface);grid-template-columns:.7fr 1.4fr auto;align-items:center;gap:28px;margin:18px 0 8px;padding:24px 28px;display:grid}.home-contact-link h2{margin:0;font-family:Georgia,Yu Mincho,serif;font-size:22px}.home-contact-link p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.home-contact-link a,.related-link{min-height:44px;color:var(--accent);border:1px solid;justify-content:center;align-items:center;gap:20px;padding:0 16px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.tool-topline{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;min-height:126px;padding:22px 0;display:grid}.tool-topline h1,.simple-page-heading h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Yu Mincho,serif;font-size:clamp(32px,4vw,48px);line-height:1.08}.tool-topline p,.simple-page-heading p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.7}.instrument-switch.compact{background:var(--ink);grid-template-columns:repeat(3,1fr);gap:4px;min-width:470px;padding:4px;display:grid}.instrument-switch.compact button{color:#c4c5be;text-align:left;cursor:pointer;background:#292a27;border:0;grid-template-rows:auto auto;grid-template-columns:24px 1fr;align-items:center;min-height:68px;padding:7px 10px;display:grid}.instrument-switch.compact button>span{text-align:center;grid-row:1/3;font-family:Georgia,serif;font-size:20px}.instrument-switch.compact button b{letter-spacing:.11em;font-size:10px}.instrument-switch.compact button small{color:#a9aaa4;font-size:8px}.instrument-switch.compact button.active{background:var(--accent);color:var(--white)}.instrument-switch.compact button.active small{color:#ffffffd1}.selector-panel,.scale-selectors{border:1px solid var(--line);background:var(--surface);grid-template-columns:43% 57%;margin-bottom:14px;display:grid}.selector-panel .step-block+.step-block,.scale-selectors .step-block+.step-block{border-left:1px solid var(--line)}.step-block{min-width:0;padding:15px}.section-label{align-items:center;gap:10px;min-height:34px;margin-bottom:10px;display:flex}.section-label>span{background:var(--ink);width:28px;height:28px;color:var(--white);border-radius:50%;place-items:center;font-size:8px;font-weight:800;display:grid}.section-label b{letter-spacing:.14em;font-size:9px;display:block}.section-label small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.accidental-toggle{border:1px solid var(--line);margin-left:auto;padding:2px;display:flex}.accidental-toggle button{cursor:pointer;background:0 0;border:0;width:34px;min-height:30px}.accidental-toggle button.active{background:var(--ink);color:var(--white)}.root-grid,.type-grid,.scale-type-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);display:grid}.root-grid{grid-template-columns:repeat(6,1fr)}.type-grid{grid-template-columns:repeat(5,1fr)}.scale-type-grid{grid-template-columns:repeat(3,1fr)}.root-grid button,.type-grid button,.scale-type-grid button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);cursor:pointer;min-height:46px;padding:5px 3px}.root-grid button:hover,.type-grid button:hover,.scale-type-grid button:hover{background:#f4f2ed}.root-grid button.active,.type-grid button.active,.scale-type-grid button.active{background:var(--accent);color:var(--white)}.root-grid b{font-family:Georgia,serif;font-size:16px}.type-grid b,.scale-type-grid b{font-size:9px;display:block}.root-grid small,.type-grid small,.scale-type-grid small{opacity:.78;margin-top:2px;font-size:7px;display:block}.result-card,.scale-result{background:var(--ink);color:var(--white);margin-bottom:14px;padding:26px 30px 24px;position:relative;overflow:hidden}.result-card:before,.scale-result:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 89px,#ffffff06 90px);position:absolute;inset:0}.result-heading{justify-content:space-between;align-items:flex-start;gap:22px;display:flex;position:relative}.result-heading h2,.chord-title h2{letter-spacing:-.04em;margin:0;font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1}.chord-title{align-items:center;gap:12px;display:flex}.star{width:42px;height:42px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #666760;border-radius:50%;font-size:20px}.star.active{border-color:var(--accent);background:var(--accent)}.result-card .related-link,.scale-result .related-link{color:var(--white);border-color:#686963;position:relative}.result-card .related-link:hover,.scale-result .related-link:hover{border-color:var(--accent);background:var(--accent)}.visual-area{place-items:center;min-height:300px;padding:24px 0 16px;display:grid;position:relative}.neck-wrap{width:min(100%,920px)}.neck-meta{color:#a5a69f;justify-content:space-between;align-items:center;margin:0 74px 7px 92px;font-size:8px;display:flex}.neck-meta b{color:var(--white);letter-spacing:.1em;font-size:9px}.neck-scroll{scrollbar-color:#64655f transparent;padding:0 0 5px;overflow-x:auto}.neck-layout{grid-template-rows:24px 220px;grid-template-columns:34px 50px 1fr;min-width:680px;display:grid}.neck-wrap.ukulele .neck-layout{grid-template-rows:24px 170px}.fret-numbers.horizontal{color:#8e8f88;text-align:center;grid-area:1/3;grid-template-columns:repeat(5,1fr);font-size:8px;display:grid}.fret-numbers.horizontal b{font-weight:700}.string-labels,.open-status{grid-row:2;grid-template-rows:repeat(var(--string-count), 1fr);display:grid}.string-labels{grid-column:1}.open-status{grid-column:2}.string-labels b{color:#c9cac4;place-items:center;font-family:Georgia,serif;font-size:11px;display:grid}.open-status>span{color:#a3a49e;justify-content:center;align-items:center;gap:3px;font-size:18px;display:flex}.open-status>span.muted{color:#ff775f}.open-status .open-string i{color:var(--tone-color);font-style:normal}.open-status .open-string em{color:#c5c6bf;font-size:8px;font-style:normal}.horizontal-neck{grid-area:2/3;position:relative}.horizontal-neck.has-nut{border-left:8px solid var(--white)}.horizontal-neck.shifted{border-left:2px solid #777872}.vertical-fret{background:#696a65;width:2px;position:absolute;top:0;bottom:0}.horizontal-string{background:#9c9d97;height:1px;position:absolute;left:0;right:0}.horizontal-string:nth-of-type(7),.horizontal-string:nth-of-type(8){height:2px}.neck-note{border:3px solid var(--tone-color);width:42px;height:42px;color:var(--white);z-index:3;background:#22231f;border-radius:50%;grid-template-columns:14px 1fr;align-items:center;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #171816cc}.neck-note b{border-right:1px solid #ffffff38;place-items:center;height:100%;font-size:9px;display:grid}.neck-note em{text-align:center;font-family:Georgia,serif;font-size:11px;font-style:normal}.horizontal-barre{z-index:2;background:#ffffff1f;border:2px solid #d4d5ce;border-radius:14px;width:20px;position:absolute;transform:translate(-50%)}.horizontal-barre b{color:#b7b8b2;letter-spacing:.08em;white-space:nowrap;font-size:7px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.interval-legend{border-top:1px solid #3c3d39;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:14px;padding-top:13px;display:flex}.interval-legend span{color:#d0d1ca;align-items:center;gap:6px;font-size:9px;display:inline-flex}.interval-legend i{border-radius:50%;width:10px;height:10px}.diagram-note{color:#92938d;text-align:center;margin:9px 0 0;font-size:8px}.form-tabs{border-top:1px solid #3b3c38;border-bottom:1px solid #3b3c38;justify-content:center;display:flex;position:relative;overflow-x:auto}.form-tabs button{color:#b1b2ab;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-left:1px solid #3b3c38;min-width:126px;min-height:46px;padding:9px 14px;font-size:9px}.form-tabs button:last-child{border-right:1px solid #3b3c38}.form-tabs button span{color:#858680;margin-right:8px;font-size:8px}.form-tabs button.active{border-bottom:3px solid var(--accent);color:var(--white);background:#292a27}.audio-row{justify-content:center;align-items:center;gap:22px;padding-top:18px;display:flex;position:relative}.play-button{background:var(--accent);min-width:210px;min-height:46px;color:var(--white);letter-spacing:.05em;cursor:pointer;border:0;padding:0 18px;font-size:10px;font-weight:800}.play-button:hover{background:var(--accent-hover)}.play-button span{margin-right:9px}.play-button.playing{background:#4a4b47}.volume{color:#b1b2ac;align-items:center;gap:10px;min-height:44px;font-size:9px;display:flex}.volume input{width:110px;accent-color:var(--accent)}.piano-wrap{width:min(100%,880px)}.keyboard{background:#111;height:210px;display:flex;position:relative}.white-key{background:#ecebe6;border:1px solid #171816;border-radius:0 0 3px 3px;width:6.66667%;height:100%;position:relative}.white-key span,.black-key span{color:var(--ink);font-family:Georgia,serif;font-size:10px;font-weight:800;position:absolute;bottom:11px;left:50%;transform:translate(-50%)}.white-key.active{background:var(--tone-color)}@supports (color:color-mix(in lab, red, red)){.white-key.active{background:color-mix(in srgb, var(--tone-color) 28%, white)}}.white-key.active:after{content:"";background:var(--tone-color);border-radius:50%;width:17px;height:17px;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.white-key.root:after{box-shadow:0 0 0 4px var(--white)}.black-key{z-index:2;background:#171816;border:1px solid #050505;border-radius:0 0 3px 3px;width:3.33333%;height:62%;position:absolute;top:0}.black-key.active{background:var(--tone-color)}.black-key span{color:var(--white);font-size:8px;bottom:8px}.black-key.root{box-shadow:inset 0 -4px 0 var(--white)}.info-grid{border:1px solid var(--line);background:var(--surface);grid-template-columns:1fr 1fr;margin-bottom:14px;display:grid}.info-grid article{min-width:0;padding:24px 26px}.info-grid article+article{border-left:1px solid var(--line)}.info-grid h3{margin:0 0 14px;font-family:Georgia,Yu Mincho,serif;font-size:21px}.note-list{flex-wrap:wrap;gap:7px;display:flex}.note-list>div{border:1px solid var(--line);border-top:4px solid var(--tone-color);background:var(--white);flex-direction:column;justify-content:center;align-items:center;min-width:82px;min-height:65px;padding:8px;display:flex}.note-list b{font-family:Georgia,serif;font-size:20px}.note-list span{color:var(--muted);text-align:center;margin-top:4px;font-size:8px}.info-grid dl{margin:0}.info-grid dl div{border-bottom:1px solid var(--line);grid-template-columns:84px 1fr;gap:8px;padding:7px 0;font-size:10px;line-height:1.5;display:grid}.info-grid dt{color:var(--muted)}.info-grid dd{margin:0;font-weight:700}.description{color:#55564f;margin:12px 0 0;font-size:11px;line-height:1.8}.utility-panel{border:1px solid var(--line);background:var(--surface);margin-bottom:9px}.utility-panel summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:54px;padding:0 20px;list-style:none;display:flex}.utility-panel summary::-webkit-details-marker{display:none}.utility-panel summary span{align-items:center;gap:9px;display:flex}.utility-panel summary b{letter-spacing:.04em;font-size:11px}.utility-panel summary small{background:#e4e2dc;border-radius:50%;place-items:center;min-width:22px;min-height:22px;font-size:8px;display:grid}.utility-panel summary em{font-size:18px;font-style:normal;transition:transform .2s}.utility-panel[open] summary em{transform:rotate(45deg)}.utility-content{border-top:1px solid var(--line);padding:16px 20px 20px}.utility-actions{gap:8px;display:flex}.outline-button,.sequence-button{border:1px solid var(--ink);cursor:pointer;background:0 0;min-height:42px;padding:0 15px;font-size:9px;font-weight:800}.sequence-button{background:var(--ink);color:var(--white)}.sequence-button:disabled{opacity:.38}.progression-row{align-items:center;gap:8px;min-height:72px;padding-top:12px;display:flex;overflow-x:auto}.progression-item{position:relative}.progression-item>button:first-child{border:1px solid var(--line);background:var(--white);cursor:pointer;min-width:92px;min-height:58px}.progression-item small{color:var(--accent);font-size:7px;display:block}.progression-item b{font-family:Georgia,serif;font-size:18px}.progression-item .remove{color:#777;cursor:pointer;background:0 0;border:0;width:28px;height:28px;position:absolute;top:0;right:0}.empty{color:var(--muted);font-size:10px}.library-tabs{border-bottom:1px solid var(--line);align-items:center;gap:4px;display:flex}.library-tabs button{cursor:pointer;background:0 0;border:0;min-height:42px;padding:0 12px;font-size:9px;font-weight:800}.library-tabs button.active{border-bottom:3px solid var(--accent);color:var(--accent)}.library-tabs button span{margin-left:5px}.library-tabs .clear{color:var(--muted);margin-left:auto;font-weight:500}.saved-grid{grid-template-columns:repeat(4,1fr);gap:7px;padding-top:10px;display:grid}.saved-grid>button{border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;min-height:62px;padding:10px 14px;position:relative}.saved-grid b{font-family:Georgia,serif;font-size:18px}.saved-grid span{color:var(--muted);margin-top:3px;font-size:7px;display:block}.saved-grid em{color:var(--accent);font-style:normal;position:absolute;top:21px;right:12px}.scale-result h2{font-family:Georgia,serif}.scale-visual{place-items:center;min-height:310px;padding:24px 0;display:grid;position:relative}.scale-fretboard-scroll{width:100%;padding-bottom:8px;overflow-x:auto}.scale-fretboard{min-width:930px}.fret-numbers,.scale-string-row{grid-template-columns:40px repeat(13,1fr);display:grid}.fret-numbers>*{color:#888983;place-items:center;height:23px;font-size:7px;display:grid}.scale-string-row>b{color:#d0d1ca;place-items:center;font-family:Georgia,serif;font-size:11px;display:grid}.scale-position{border-top:1px solid #4d4e49;border-left:1px solid #666761;height:43px;position:relative}.scale-string-row:last-child .scale-position{border-bottom:1px solid #4d4e49}.scale-position:nth-child(2){border-left:7px solid var(--white)}.scale-position i{background:var(--accent);width:29px;height:29px;color:var(--white);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:8px;font-style:normal;font-weight:800;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scale-position.root i{box-shadow:0 0 0 4px var(--white)}.scale-result-actions{border-top:1px solid #3b3c38;justify-content:space-between;align-items:center;gap:18px;padding-top:16px;display:flex}.scale-notes{flex-wrap:wrap;gap:6px;display:flex}.scale-notes>div{border:1px solid #555650;flex-direction:column;justify-content:center;align-items:center;width:53px;height:55px;display:flex}.scale-notes>div.root{border-color:var(--accent);background:var(--accent)}.scale-notes b{font-family:Georgia,serif;font-size:17px}.scale-notes span{color:#aaa;margin-top:3px;font-size:7px}.scale-notes .root span{color:var(--white)}.scale-play{flex:none;min-width:180px}.simple-page-heading{max-width:720px;padding:32px 0 24px}.contact-section{border:1px solid var(--line);background:var(--surface);grid-template-columns:34% 1fr;margin-bottom:16px;display:grid}.narrow-shell>.contact-section{margin-top:24px}.contact-intro{background:var(--ink);color:var(--white);padding:30px}.contact-intro h2{margin:0 0 14px;font-family:Georgia,Yu Mincho,serif;font-size:27px}.contact-intro p{color:#c6c7c0;margin:0 0 18px;font-size:11px;line-height:1.8}.contact-intro small{color:#a0a19b;font-size:9px;line-height:1.7}.contact-form{gap:16px;padding:28px;display:grid}.contact-fields{gap:14px;display:grid}.contact-fields.two-columns{grid-template-columns:1fr 1fr}.contact-form label>span{margin-bottom:7px;font-size:10px;font-weight:800;display:block}.contact-form label em{color:var(--accent);margin-left:5px;font-size:8px;font-style:normal}.contact-form input,.contact-form textarea{background:var(--white);width:100%;min-height:44px;color:var(--ink);border:1px solid #bdbbb4;border-radius:0;padding:11px 12px}.contact-form textarea{resize:vertical;min-height:130px;line-height:1.7}.contact-trap{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.contact-submit{align-items:center;gap:16px;display:flex}.contact-submit button{background:var(--accent);min-width:210px;min-height:46px;color:var(--white);cursor:pointer;border:0;padding:0 18px;font-size:10px;font-weight:800}.form-status{min-height:16px;margin:0;font-size:10px;line-height:1.5}.form-status.success{color:#176f3d}.form-status.error{color:#a51e16}.metronome-card,.tuner-card{border:1px solid var(--line);background:var(--surface);margin-bottom:16px;padding:clamp(26px,5vw,50px)}.beat-stage{justify-content:center;align-items:center;gap:clamp(12px,3vw,28px);min-height:90px;display:flex}.beat-stage i{width:48px;height:48px;color:var(--muted);border:2px solid #c4c2bb;border-radius:50%;place-items:center;font-style:normal;transition:transform 80ms,background 80ms,border-color 80ms;display:grid}.beat-stage i span{font-size:10px;font-weight:800}.beat-stage i.active{border-color:var(--accent);background:var(--accent);color:var(--white);transform:scale(1.18)}.tempo-display{justify-content:center;align-items:center;gap:20px;margin:14px auto 0;display:flex}.tempo-display>button{border:1px solid var(--line);background:var(--white);cursor:pointer;width:48px;height:48px;font-size:20px}.tempo-display label{text-align:center}.tempo-display input{width:190px;color:var(--ink);text-align:center;appearance:textfield;background:0 0;border:0;font-family:Georgia,serif;font-size:clamp(72px,12vw,116px);font-weight:700;line-height:1}.tempo-display input::-webkit-inner-spin-button{appearance:none}.tempo-display label span{color:var(--muted);letter-spacing:.18em;margin-top:-2px;font-size:10px;font-weight:800;display:block}.tempo-slider{width:min(100%,620px);height:32px;accent-color:var(--accent);margin:24px auto 8px;display:block}.beat-options{justify-content:center;align-items:center;gap:5px;min-height:48px;display:flex}.beat-options>span{color:var(--muted);margin-right:10px;font-size:10px}.beat-options button{border:1px solid var(--line);background:var(--white);cursor:pointer;min-width:44px;min-height:40px}.beat-options button.active{border-color:var(--ink);background:var(--ink);color:var(--white)}.metronome-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;display:grid}.primary-action,.tap-button{cursor:pointer;border:0;min-height:60px;padding:10px 20px}.primary-action{background:var(--accent);color:var(--white);letter-spacing:.06em;font-size:11px;font-weight:800}.primary-action.stop{background:var(--ink)}.primary-action span{margin-right:10px}.tap-button{border:1px solid var(--ink);background:var(--white);font-size:10px;font-weight:800}.tap-button>span{letter-spacing:3px;margin-right:9px}.tap-button small{color:var(--muted);margin-top:4px;font-size:8px;font-weight:500;display:block}.tuner-card{background:var(--ink);color:var(--white);text-align:center}.tuner-readout>span{color:#999a94;letter-spacing:.16em;font-size:9px;font-weight:800}.tuner-readout strong{margin:8px 0 0;font-family:Georgia,serif;font-size:clamp(82px,16vw,140px);line-height:1;display:block}.tuner-readout p{color:#d0d1ca;min-height:27px;margin:8px 0 0;font-size:18px}.tuner-readout b{color:#9b9c96;margin-top:3px;font-size:12px;display:block}.tuner-card.in-tune .tuner-readout strong,.tuner-card.in-tune .tuner-readout p{color:#64d58b}.tuner-meter{width:min(100%,620px);height:76px;margin:28px auto 18px;position:relative;overflow:hidden}.meter-scale{border-bottom:1px solid #575853;grid-template-columns:34px repeat(9,1fr) 34px;align-items:end;height:44px;display:grid}.meter-scale span{color:#858680;font-size:8px}.meter-scale i{background:#686963;justify-self:center;width:1px;height:13px}.meter-scale i.center{background:var(--white);height:26px}.tuner-meter>b{background:var(--accent);transform-origin:50% 100%;border-radius:2px;width:3px;height:42px;transition:transform .12s;position:absolute;bottom:4px;left:50%}.tuner-card.in-tune .tuner-meter>b{background:#64d58b}.tuner-button{min-width:240px}.tuner-error{color:#ff9b89;margin:14px 0 0;font-size:10px}.tuning-reference{border-top:1px solid #3c3d39;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:28px;padding-top:18px;display:flex}.tuning-reference span{color:#9c9d97;margin-right:8px;font-size:9px}.tuning-reference b{border:1px solid #555650;place-items:center;min-width:44px;min-height:38px;font-family:Georgia,serif;font-size:13px;display:grid}.privacy-note{color:var(--muted);text-align:center;margin:0 0 20px;font-size:9px;line-height:1.7}.progression-heading{padding-bottom:18px}.key-controller{border:1px solid var(--line);background:var(--surface);margin-bottom:12px;padding:15px}.key-controller .section-label>span{border-radius:20px;width:38px}.progression-library{grid-template-columns:1fr 1fr;gap:9px;display:grid}.progression-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:270px;padding:22px;display:flex}.progression-card>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.progression-card>header span{color:var(--accent);letter-spacing:.14em;font-size:8px;font-weight:800}.progression-card h2{margin:5px 0 0;font-family:Georgia,Yu Mincho,serif;font-size:23px}.difficulty{border:1px solid var(--line);color:var(--ink);white-space:nowrap;margin:0;padding:7px 9px;font-size:9px;font-weight:800}.difficulty span{margin-bottom:3px;display:block;color:var(--muted)!important;letter-spacing:.05em!important;font-size:7px!important}.difficulty.level-1{border-top:3px solid #26834f}.difficulty.level-2{border-top:3px solid #b66a00}.difficulty.level-3{border-top:3px solid var(--accent)}.progression-chords{background:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;min-height:72px;margin:20px 0 14px;padding:12px;display:flex}.progression-chords>span{align-items:center;gap:6px;display:inline-flex}.progression-chords a{min-width:46px;min-height:42px;color:var(--white);border:1px solid #555650;justify-content:center;align-items:center;padding:0 8px;font-family:Georgia,serif;font-size:16px;text-decoration:none;display:inline-flex}.progression-chords a:hover{border-color:var(--accent);background:var(--accent)}.progression-chords i{color:#858680;font-style:normal}.progression-card>p{color:var(--muted);margin:0;font-size:11px;line-height:1.75}.progression-card-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;display:flex}.progression-card-footer>span{color:var(--muted);letter-spacing:.1em;font-size:8px;font-weight:800}.progression-card-footer a{border:1px solid var(--ink);min-height:44px;color:var(--ink);align-items:center;gap:15px;padding:0 13px;font-size:9px;font-weight:800;text-decoration:none;display:inline-flex}.progression-card-footer a:hover{background:var(--ink);color:var(--white)}.practice-shell{width:min(1060px,100% - 32px)}.practice-heading{justify-content:space-between;align-items:center;gap:20px;min-height:92px;padding:17px 0;display:flex}.practice-heading h1{margin:0;font-family:Georgia,Yu Mincho,serif;font-size:32px}.practice-mini-status{gap:5px;display:flex}.practice-mini-status span{border:1px solid var(--line);background:var(--surface);align-items:center;min-height:38px;padding:0 12px;font-size:9px;font-weight:800;display:inline-flex}.practice-stage{background:var(--ink);min-height:490px;color:var(--white);grid-template-rows:4px auto auto 1fr auto auto;grid-template-columns:1fr auto;gap:8px 28px;margin-bottom:10px;padding:22px 28px 24px;display:grid;position:relative;overflow:hidden}.practice-stage.switching{box-shadow:inset 0 0 0 3px #e8a23a}.practice-progress{background:#3b3c38;grid-column:1/-1;height:4px}.practice-progress i{background:var(--accent);height:100%;transition:width .18s linear;display:block}.current-chord{grid-area:2/1/4;padding:16px 0}.current-chord>span,.next-chord>span{color:#9fa09a;letter-spacing:.14em;font-size:9px;font-weight:800;display:block}.current-chord strong{letter-spacing:-.05em;margin-top:2px;font-family:Georgia,serif;font-size:clamp(78px,13vw,130px);line-height:.96;display:block}.current-chord em{color:#f3bd64;letter-spacing:.1em;border:1px solid #e8a23a;margin-top:9px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.next-chord{text-align:right;grid-area:2/2;min-width:150px;padding:16px 0}.next-chord b{color:#c4c5be;margin-top:5px;font-family:Georgia,serif;font-size:38px;display:block}.count-in{background:var(--accent);z-index:5;text-align:center;padding:12px 18px;position:absolute;top:42px;right:24px}.count-in span{letter-spacing:.12em;font-size:7px;font-weight:800;display:block}.count-in b{font-family:Georgia,serif;font-size:36px;display:block}.practice-diagram{grid-area:4/1/auto/-1;place-items:center;min-height:210px;padding:4px 0;display:grid}.practice-diagram .neck-layout{grid-template-rows:20px 150px}.practice-diagram .neck-wrap.ukulele .neck-layout{grid-template-rows:20px 120px}.practice-diagram .keyboard{height:160px}.practice-diagram .diagram-note{display:none}.practice-beats{grid-area:5/1/auto/-1;justify-content:center;gap:9px;display:flex}.practice-beats i{color:#aaa;border:1px solid #5e5f59;border-radius:50%;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.practice-beats i span{font-size:8px;font-weight:800}.practice-beats i.active{border-color:var(--accent);background:var(--accent);color:var(--white);transform:scale(1.12)}.practice-controls{grid-area:6/1/auto/-1;grid-template-columns:1.4fr 1fr 1fr;gap:6px;display:grid}.practice-controls button{min-height:52px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #5a5b55;font-size:9px;font-weight:800}.practice-controls button.primary-action{background:var(--accent);border:0}.practice-controls button:disabled{opacity:.4}.practice-controls button span{margin-right:8px}.practice-settings{border:1px solid var(--line);background:var(--surface);margin-bottom:12px}.practice-settings summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:56px;padding:0 18px;list-style:none;display:flex}.practice-settings summary::-webkit-details-marker{display:none}.practice-settings summary>span{align-items:center;gap:12px;display:flex}.practice-settings summary b{font-size:11px}.practice-settings summary small{color:var(--muted);font-size:9px}.practice-settings summary em{font-size:18px;font-style:normal;transition:transform .2s}.practice-settings[open] summary em{transform:rotate(45deg)}.practice-settings-body{border-top:1px solid var(--line);padding:18px}.setting-grid{grid-template-columns:2fr repeat(5,1fr);gap:7px;display:grid}.setting-grid label>span{color:var(--muted);margin-bottom:6px;font-size:8px;font-weight:800;display:block}.setting-grid select,.setting-grid input,.add-chord select{background:var(--white);border:1px solid #bdbbb4;width:100%;min-height:44px;padding:0 9px}.setting-row{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.setting-row>div{align-items:center;gap:4px;display:flex}.setting-row>div>span{color:var(--muted);margin-right:5px;font-size:8px;font-weight:800}.setting-row button,.sound-settings button{border:1px solid var(--line);background:var(--white);cursor:pointer;min-height:40px;padding:0 11px;font-size:8px;font-weight:800}.setting-row button.active,.sound-settings button.active{border-color:var(--ink);background:var(--ink);color:var(--white)}.check-setting{align-items:center;gap:7px;min-height:40px;margin-left:auto;font-size:9px;font-weight:800;display:flex}.check-setting input{width:18px;height:18px;accent-color:var(--accent)}.sound-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-top:10px;padding:10px 0;display:flex}.sound-settings label{min-height:40px;color:var(--muted);align-items:center;gap:10px;font-size:8px;font-weight:800;display:flex}.sound-settings input{width:180px;accent-color:var(--accent)}.custom-progression{margin-top:12px}.custom-chord-list{flex-wrap:wrap;gap:5px;display:flex}.custom-chord-list>div{border:1px solid var(--line);background:var(--white);align-items:center;min-height:42px;padding-left:11px;display:flex}.custom-chord-list b{min-width:45px;font-family:Georgia,serif;font-size:15px}.custom-chord-list button{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;width:36px;min-height:40px}.custom-chord-list button:disabled{opacity:.25}.add-chord{grid-template-columns:110px 160px auto;gap:5px;margin-top:9px;display:grid}.add-chord button{background:var(--accent);min-height:44px;color:var(--white);cursor:pointer;border:0;padding:0 14px;font-size:9px;font-weight:800}.coming-soon-card{border:1px solid var(--line);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;margin:28px 0 16px;padding:54px;display:flex}.coming-soon-card>i{border:2px solid var(--ink);border-radius:50%;place-items:center;width:82px;height:82px;margin-bottom:24px;font-family:Georgia,serif;font-size:25px;font-style:normal;display:grid}.coming-soon-card h1{margin:0;font-family:Georgia,serif;font-size:clamp(44px,8vw,76px)}.coming-soon-card>b{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-top:8px;font-size:10px}.coming-soon-card p{max-width:540px;color:var(--muted);margin:22px 0;font-size:13px;line-height:1.8}.coming-soon-card a{border:1px solid var(--ink);min-height:44px;color:var(--ink);align-items:center;gap:20px;padding:0 18px;font-size:9px;font-weight:800;text-decoration:none;display:inline-flex}footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;width:min(1180px,100% - 32px);min-height:104px;margin:34px auto 0;padding:22px 0 30px;display:flex}footer p{color:var(--muted);font-size:10px}footer>span{color:#797a74;letter-spacing:.14em;font-size:8px}@media (width<=1180px){.topbar{min-height:64px;padding:0 16px}.topbar nav{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:1fr 1fr;gap:3px;width:100%;padding:8px 16px 16px;display:none;position:absolute;top:64px;left:0;box-shadow:0 14px 30px #1718161f}.topbar nav.open{display:grid}.topbar nav>a{background:var(--surface);border:1px solid #0000;min-height:46px;padding:0 12px}.topbar nav>a.active{border-color:var(--accent)}.topbar nav .language-switch{display:none}.menu-button{cursor:pointer;background:0 0;border:0;place-content:center;gap:6px;width:44px;height:44px;margin-left:auto;display:grid}.menu-button i{background:var(--ink);width:21px;height:2px}.mobile-language{display:inline-flex}.tool-topline{grid-template-columns:1fr;gap:16px}.instrument-switch.compact{width:100%;min-width:0}.selector-panel,.scale-selectors{grid-template-columns:1fr}.selector-panel .step-block+.step-block,.scale-selectors .step-block+.step-block{border-left:0;border-top:1px solid var(--line)}.info-grid{grid-template-columns:1fr}.info-grid article+article{border-top:1px solid var(--line);border-left:0}.saved-grid{grid-template-columns:repeat(2,1fr)}.contact-section{grid-template-columns:1fr}.contact-intro{padding:24px}.setting-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.page-shell,.narrow-shell,.tool-page-shell{width:min(100% - 20px,1180px)}.brand small{font-size:6px}.brand-mark{width:34px;height:34px}.mobile-language button{min-width:30px}.home-hero h1{font-size:40px}.home-hero p{margin-top:16px;font-size:13px}.tool-cards{grid-template-columns:1fr}.tool-card h2{font-size:20px}.home-contact-link{grid-template-columns:1fr;gap:10px;padding:20px}.home-contact-link a{width:100%}.tool-topline{padding:17px 0}.tool-topline h1,.simple-page-heading h1{font-size:32px}.root-grid{grid-template-columns:repeat(4,1fr)}.type-grid{grid-template-columns:repeat(3,1fr)}.scale-type-grid{grid-template-columns:repeat(2,1fr)}.root-grid button,.type-grid button,.scale-type-grid button{min-height:48px}.result-card,.scale-result{margin-left:-10px;margin-right:-10px;padding:22px 14px 20px}.result-heading{flex-direction:column;gap:12px}.result-card .related-link,.scale-result .related-link{width:100%}.neck-meta{margin-left:78px;margin-right:20px}.neck-layout{grid-template-rows:22px 190px;min-width:620px}.neck-note{width:38px;height:38px}.form-tabs{justify-content:flex-start;margin:0 -14px}.form-tabs button{min-width:118px;min-height:48px}.audio-row{flex-direction:column;gap:8px}.play-button{width:100%;min-height:48px}.volume{justify-content:center;width:100%}.note-list>div{min-width:calc(25% - 6px)}.utility-content{padding:14px}.utility-actions{flex-direction:column}.outline-button,.sequence-button{width:100%;min-height:44px}.saved-grid{grid-template-columns:1fr}.scale-result-actions{flex-direction:column;align-items:stretch}.scale-play{width:100%}.scale-notes{justify-content:center}.contact-section{border-left:0;border-right:0;margin-left:-10px;margin-right:-10px}.contact-form{padding:22px 16px}.contact-fields.two-columns{grid-template-columns:1fr}.contact-submit{flex-direction:column;align-items:stretch}.contact-submit button{width:100%;min-height:48px}.metronome-card,.tuner-card{border-left:0;border-right:0;margin-left:-10px;margin-right:-10px;padding:24px 16px}.tempo-display{gap:9px}.metronome-actions{grid-template-columns:1fr}.primary-action,.tap-button{min-height:56px}.tuner-readout strong{font-size:90px}.tuner-readout p{font-size:16px}.progression-library{grid-template-columns:1fr}.progression-chords{margin-top:16px}.progression-card-footer{flex-direction:column;align-items:stretch}.progression-card-footer a{justify-content:space-between;width:100%}.practice-shell{width:calc(100% - 20px)}.practice-heading{flex-direction:column;align-items:flex-start;gap:9px;min-height:80px}.practice-heading h1{font-size:27px}.practice-mini-status span{min-height:34px;padding:0 9px}.practice-stage{grid-template-columns:1fr auto;gap:6px 12px;min-height:470px;margin-left:-10px;margin-right:-10px;padding:18px 14px}.current-chord strong{font-size:78px}.next-chord{min-width:90px}.next-chord b{font-size:28px}.count-in{top:35px;right:14px}.practice-diagram{justify-content:start;min-height:180px;overflow-x:auto}.practice-diagram .neck-wrap,.practice-diagram .piano-wrap{min-width:620px}.practice-controls{grid-template-columns:1fr 1fr}.practice-controls button:first-child{grid-column:1/-1;min-height:56px}.practice-settings summary{min-height:52px;padding:0 14px}.practice-settings-body{padding:14px}.setting-grid{grid-template-columns:1fr 1fr}.setting-row{flex-direction:column;align-items:stretch}.setting-row>div{flex-wrap:wrap}.setting-row button{min-height:44px}.check-setting{margin-left:0}.sound-settings{flex-direction:column;align-items:stretch}.sound-settings label{justify-content:space-between}.sound-settings input{width:min(70%,220px)}.add-chord{grid-template-columns:1fr 1fr}.add-chord button{grid-column:1/-1;min-height:48px}.coming-soon-card{min-height:430px;margin-left:-10px;margin-right:-10px;padding:34px 20px}footer{flex-wrap:wrap;width:calc(100% - 20px);margin-top:24px;padding-bottom:26px}footer p{order:3;width:100%;margin:0}main{min-height:100svh}.topbar{gap:6px;min-height:52px;padding:0 8px}.topbar nav{top:52px}.brand{gap:7px}.brand-mark{width:30px;height:30px;font-size:10px}.brand b{font-size:9px}.brand small{display:none}.menu-button{width:40px;height:44px}.mobile-language{padding:1px}.mobile-language button{min-width:29px;min-height:32px}.page-shell,.narrow-shell,.tool-page-shell,.practice-shell{width:calc(100% - 12px)}.breadcrumbs{min-height:28px}.breadcrumbs ol{padding:2px 0}.breadcrumbs li{font-size:8px}.breadcrumbs li+li:before{padding:0 5px}.breadcrumbs a{min-height:24px}.home-hero{padding:17px 2px 13px}.home-hero .eyebrow{margin-bottom:5px}.home-hero h1{font-size:31px;line-height:1.02}.home-hero p{margin-top:8px;font-size:10px;line-height:1.5}.tool-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tool-card{grid-template-columns:22px minmax(0,1fr) 16px;gap:7px;min-height:86px;padding:10px}.tool-card>span{display:none}.tool-card>i{font-size:21px}.tool-card h2{margin:0;font-size:14px;line-height:1.2}.tool-card p{display:none}.tool-card>em{font-size:16px}.home-contact-link{grid-template-columns:1fr auto;gap:10px;margin:8px 0 4px;padding:11px 12px}.home-contact-link .eyebrow{margin-bottom:3px}.home-contact-link h2{font-size:16px}.home-contact-link>p{display:none}.home-contact-link a{width:auto;min-height:42px;padding:0 11px}.tool-topline{gap:6px;min-height:0;padding:6px 0}.tool-topline>div:first-child{min-width:0}.tool-topline>div:first-child .eyebrow,.tool-topline>div:first-child p{display:none}.tool-topline h1,.simple-page-heading h1{text-overflow:ellipsis;white-space:nowrap;font-size:26px;line-height:1.05;overflow:hidden}.instrument-switch.compact{gap:2px;padding:2px}.instrument-switch.compact button{text-align:left;grid-template-rows:1fr;grid-template-columns:18px 1fr;min-height:42px;padding:4px 7px}.instrument-switch.compact button>span{grid-row:auto;font-size:15px}.instrument-switch.compact button b{font-size:8px}.instrument-switch.compact button small{display:none}.selector-panel,.scale-selectors{margin-bottom:6px}.compact-selectors .step-block{padding:6px}.section-label{gap:7px;min-height:24px;margin-bottom:4px}.section-label>span{width:22px;height:22px;font-size:7px}.section-label b{font-size:8px}.section-label small{display:none}.accidental-toggle{padding:1px}.accidental-toggle button{width:34px;min-height:30px}.root-grid,.type-grid,.scale-type-grid{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:x proximity;border:0;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.root-grid::-webkit-scrollbar{display:none}.type-grid::-webkit-scrollbar{display:none}.scale-type-grid::-webkit-scrollbar{display:none}.root-grid button,.type-grid button,.scale-type-grid button{border:1px solid var(--line);scroll-snap-align:start;flex:none;min-height:44px;padding:4px}.root-grid button{width:48px}.type-grid button{width:72px}.scale-type-grid button{width:104px}.root-grid b{font-size:14px}.type-grid b,.scale-type-grid b{font-size:8px}.root-grid small,.type-grid small,.scale-type-grid small{margin-top:1px;font-size:6px}.result-card,.scale-result{margin:0 -6px 6px;padding:10px 10px 12px}.result-heading{flex-flow:row;align-items:center;gap:8px}.result-heading>div{min-width:0}.result-heading .eyebrow{display:none}.result-heading h2,.chord-title h2{text-overflow:ellipsis;white-space:nowrap;font-size:32px;overflow:hidden}.chord-title{gap:6px}.star{flex:0 0 36px;width:36px;height:36px;font-size:17px}.result-card .related-link,.scale-result .related-link{text-align:center;flex:0 auto;gap:8px;width:auto;min-height:36px;padding:0 9px;font-size:7px;line-height:1.25}.visual-area,.scale-visual{min-height:0;padding:7px 0 5px}.neck-wrap{width:100%}.neck-meta{margin:0 8px 3px 48px;font-size:6px}.neck-meta b{font-size:7px}.neck-scroll{padding:0;overflow-x:visible}.neck-layout{grid-template-rows:14px 156px;grid-template-columns:18px 30px minmax(0,1fr);width:100%;min-width:0}.neck-wrap.ukulele .neck-layout{grid-template-rows:14px 116px}.fret-numbers.horizontal{font-size:6px}.string-labels b{font-size:8px}.open-status>span{gap:1px;font-size:14px}.open-status .open-string em{display:none}.horizontal-neck.has-nut{border-left-width:5px}.neck-note{border-width:2px;grid-template-columns:9px 1fr;width:28px;height:28px;box-shadow:0 0 0 2px #171816cc}.neck-note b{font-size:6px}.neck-note em{font-size:8px}.horizontal-barre{width:14px}.horizontal-barre b{font-size:5px;top:-12px}.interval-legend{gap:4px 9px;margin-top:6px;padding-top:6px}.interval-legend span{gap:4px;font-size:7px}.interval-legend i{width:7px;height:7px}.diagram-note{display:none}.piano-wrap{overflow-x:visible}.keyboard{min-width:0;height:142px}.white-key span{font-size:7px;bottom:7px}.black-key span{font-size:6px;bottom:5px}.white-key.active:after{width:11px;height:11px;bottom:24px}.white-key.root:after{box-shadow:0 0 0 2px var(--white)}.form-tabs{scroll-snap-type:x proximity;justify-content:flex-start;margin:0 -10px}.form-tabs button{scroll-snap-align:start;flex:0 0 33.333%;min-width:96px;min-height:40px;padding:5px 4px;font-size:8px}.form-tabs button span{display:none}.audio-row{flex-direction:row;gap:7px;padding-top:7px}.play-button{flex:auto;width:auto;min-width:0;min-height:44px;padding:0 11px;font-size:9px}.volume{flex:0 0 92px;justify-content:center;width:92px;min-height:44px}.volume span{display:none}.volume input{width:88px}.info-grid{margin-bottom:6px}.info-grid article{padding:12px}.info-grid h3{margin-bottom:8px;font-size:17px}.note-list{gap:4px}.note-list>div{border-top-width:3px;min-width:calc(25% - 3px);min-height:50px;padding:5px}.note-list b{font-size:16px}.description{margin-top:8px;font-size:9px;line-height:1.55}.utility-panel{margin-bottom:5px}.utility-panel summary{min-height:44px;padding:0 10px}.scale-fretboard-scroll{padding-bottom:3px}.scale-fretboard{min-width:720px}.fret-numbers>*{height:17px}.scale-position{height:30px}.scale-position i{width:23px;height:23px;font-size:7px}.scale-result-actions{gap:7px;padding-top:7px}.scale-notes{scrollbar-width:none;flex-wrap:nowrap;flex:auto;justify-content:flex-start;overflow-x:auto}.scale-notes::-webkit-scrollbar{display:none}.scale-notes>div{flex:0 0 42px;width:42px;height:44px}.scale-notes b{font-size:14px}.scale-play{flex:0 0 108px;width:auto;min-width:108px}.simple-page-heading{padding:10px 2px 8px}.simple-page-heading .eyebrow{margin-bottom:4px}.simple-page-heading p{margin-top:4px;font-size:10px;line-height:1.45}.metronome-card,.tuner-card{margin:0 -6px 6px;padding:14px}.beat-stage{gap:9px;min-height:56px}.beat-stage i{width:38px;height:38px}.tempo-display{gap:8px;margin-top:5px}.tempo-display>button{width:44px;height:44px}.tempo-display input{width:142px;font-size:64px}.tempo-slider{height:26px;margin:8px auto 2px}.beat-options{min-height:44px}.metronome-actions{grid-template-columns:1fr 1fr;margin-top:8px}.primary-action,.tap-button{min-height:48px;padding:7px 10px}.tap-button small{display:none}.tuner-readout strong{margin-top:3px;font-size:72px}.tuner-readout p{min-height:23px;margin-top:3px;font-size:14px}.tuner-meter{height:56px;margin:12px auto 8px}.tuner-button{min-width:190px}.tuning-reference{gap:4px;margin-top:12px;padding-top:9px}.tuning-reference span{width:100%;margin:0}.tuning-reference b{min-width:38px;min-height:32px;font-size:11px}.privacy-note{margin:0 0 8px;font-size:8px}.key-controller{margin-bottom:6px;padding:8px}.progression-heading{padding-bottom:8px}.progression-card{min-height:0;padding:13px}.progression-card h2{font-size:18px}.progression-chords{min-height:54px;margin:10px 0 8px;padding:7px}.progression-card>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.5;display:-webkit-box;overflow:hidden}.progression-card-footer{padding-top:9px}.progression-card-footer a{min-height:42px}.practice-heading{min-height:60px;padding:8px 0}.practice-stage{min-height:430px;padding:12px 10px}.practice-diagram{justify-content:center;align-items:center;width:100%;min-width:0;min-height:150px;display:flex;overflow-x:hidden}.practice-diagram .neck-wrap,.practice-diagram .piano-wrap{flex:100%;width:100%;min-width:0;max-width:none}.practice-diagram .neck-scroll,.practice-diagram .neck-layout{width:100%;min-width:0}.practice-controls button{min-height:46px}.practice-controls button:first-child{min-height:48px}.practice-settings summary{min-height:44px}footer{gap:8px;min-height:66px;margin-top:12px;padding:12px 0 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@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}
