@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-grotesque-DLoelf7F.woff2) format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Figtree;src:url(./figtree-D_ZTVpCC.woff2) format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(./jetbrains-mono-B9CIFXIH.woff2) format("woff2");font-weight:100 800;font-display:swap}:root{--lf-teal: #1e4e5c;--lf-orange: #d96d2c;--lf-cream: #f4efe6;--lf-night: #0b1a20;--lf-nickel: #8a9aa0;--lf-font-display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;--lf-font-body: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lf-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--lf-radius: 12px;--lf-radius-small: 6px;--lf-bg: var(--lf-cream);--lf-surface: #fffdf9;--lf-sunken: #eae3d7;--lf-line: #d9d1c3;--lf-text: #1a2b30;--lf-muted: #5c6e73;--lf-heading: var(--lf-teal);--lf-primary: var(--lf-teal);--lf-on-primary: #ffffff;--lf-primary-soft: #2f6b7a;--lf-primary-tint: rgba(30, 78, 92, .08);--lf-accent: var(--lf-orange);--lf-accent-text: #a44a18;--lf-on-accent: #ffffff;--lf-on-accent-small: var(--lf-night);--lf-accent-soft: rgba(217, 109, 44, .12);--lf-focus: var(--lf-accent-text);--lf-lamp-core: #ffdfae;--lf-lamp-mid: #f6e7cf;--lf-lamp-edge: var(--lf-sunken);--lf-right: #2a7f6c;--lf-on-right: #ffffff;--lf-close: #e0a43a;--lf-on-close: var(--lf-night);--lf-off: #cfc6b6;--lf-on-off: var(--lf-text);--lf-right-text: #236b5b;--lf-close-text: #8a5e0e;--lf-hard: #a8431f;--lf-on-hard: #ffffff;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--lf-bg: var(--lf-night);--lf-surface: #11252d;--lf-sunken: #08141a;--lf-line: #2a4651;--lf-text: #e9eeec;--lf-muted: #8fa4a9;--lf-heading: var(--lf-cream);--lf-primary: #5fa8ba;--lf-on-primary: var(--lf-night);--lf-primary-soft: #8cc3d1;--lf-primary-tint: rgba(95, 168, 186, .1);--lf-accent: #e57a3a;--lf-accent-text: #e57a3a;--lf-on-accent: var(--lf-night);--lf-accent-soft: rgba(229, 122, 58, .12);--lf-focus: #e57a3a;--lf-lamp-core: #8a5526;--lf-lamp-mid: #3a2c20;--lf-lamp-edge: var(--lf-night);--lf-off: #34474e;--lf-on-off: #e9eeec;--lf-right-text: #4fb39b;--lf-close-text: var(--lf-close);color-scheme:dark}}:root[data-theme=dark]{--lf-bg: var(--lf-night);--lf-surface: #11252d;--lf-sunken: #08141a;--lf-line: #2a4651;--lf-text: #e9eeec;--lf-muted: #8fa4a9;--lf-heading: var(--lf-cream);--lf-primary: #5fa8ba;--lf-on-primary: var(--lf-night);--lf-primary-soft: #8cc3d1;--lf-primary-tint: rgba(95, 168, 186, .1);--lf-accent: #e57a3a;--lf-accent-text: #e57a3a;--lf-on-accent: var(--lf-night);--lf-accent-soft: rgba(229, 122, 58, .12);--lf-focus: #e57a3a;--lf-lamp-core: #8a5526;--lf-lamp-mid: #3a2c20;--lf-lamp-edge: var(--lf-night);--lf-off: #34474e;--lf-on-off: #e9eeec;--lf-right-text: #4fb39b;--lf-close-text: var(--lf-close);color-scheme:dark}.lf-wordmark{font-family:var(--lf-font-display);font-weight:400;letter-spacing:-.02em;color:var(--lf-heading);white-space:nowrap}.lf-wordmark b{font-weight:800}.lf-mark{display:inline-grid;place-items:center;width:1.6em;height:1.6em;border-radius:22%;background:var(--lf-teal);color:var(--lf-cream);font-family:var(--lf-font-display);font-weight:800;font-size:1em;letter-spacing:-.04em;line-height:1;flex:none;box-shadow:inset 0 -.12em 0 var(--lf-orange)}.lf-home{display:inline-flex;flex:none;border-radius:22%;text-decoration:none;transition:transform .12s ease}.lf-home:hover{transform:translateY(-1px)}.lf-home:focus-visible{outline:3px solid var(--lf-focus);outline-offset:2px}.lf-endorsement{font-family:var(--lf-font-body);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lf-muted)}.lf-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-bottom:6px;font-family:var(--lf-font-body);font-size:12px}.lf-legal a{color:var(--lf-muted)}.lf-legal a:hover{color:var(--lf-text)}button,input,select,textarea{font-family:inherit}.lf-free [data-pro]:not([data-pro=quiet]){opacity:.7}.lf-free [data-pro]:not([data-pro=quiet]):not(input):after{content:"Pro";margin-left:.4em;padding:.05em .35em;border:1px solid currentColor;border-radius:4px;font-family:var(--lf-font-mono);font-size:.65em;font-weight:600;vertical-align:.1em}.lf-locked-dialog{max-width:min(22rem,calc(100vw - 2rem));padding:1.25rem;border:1px solid var(--lf-line);border-radius:12px;background:var(--lf-surface);color:var(--lf-text)}.lf-locked-dialog::backdrop{background:#00000080}.lf-locked-dialog h2{margin:0 0 .4rem;font-size:1.2rem}.lf-locked-dialog p{margin:0 0 1rem}.lf-locked-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between}.lf-locked-actions a{color:inherit}.lf-locked-actions button{padding:.45rem .9rem;border:1px solid var(--lf-line);border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.lf-menu{position:relative;flex:none;font-family:var(--lf-font-body)}.lf-menu summary{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--lf-text);font-size:20px;font-weight:700;line-height:1;cursor:pointer;list-style:none}.lf-menu summary::-webkit-details-marker{display:none}.lf-menu summary:hover,.lf-menu[open] summary{background:var(--lf-accent-soft)}.lf-menu nav{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:flex;flex-direction:column;min-width:170px;padding:6px;border:1px solid var(--lf-line);border-radius:10px;background:var(--lf-surface);box-shadow:0 10px 28px #00000040}.lf-menu a{padding:10px 12px;border-radius:6px;color:var(--lf-text);font-size:15px;font-weight:600;text-align:left;text-decoration:none}.lf-menu a:hover{background:var(--lf-accent-soft)}.lf-menu a[aria-current]{color:var(--lf-accent-text)}.lf-menu-choice{display:grid;gap:6px;padding:10px 6px 6px}.lf-menu-choice:first-of-type{margin-top:6px;border-top:1px solid var(--lf-line)}.lf-menu-choice span{font-size:12px;font-weight:700;color:var(--lf-muted)}.lf-menu-choice div{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:8px;background:var(--lf-sunken)}.lf-menu-two div{grid-template-columns:repeat(2,1fr)}.lf-menu-choice button{padding:7px 4px;border:0;border-radius:6px;background:none;color:var(--lf-text);font:700 13px var(--lf-font-body);cursor:pointer}.lf-menu-choice button[aria-pressed=true]{background:var(--lf-primary);color:var(--lf-on-primary)}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;background:var(--lf-bg);color:var(--lf-text);font-family:var(--lf-font-body);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}.top,main{max-width:520px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:max(14px,env(safe-area-inset-top,0px));padding-bottom:6px}.top h1{display:flex;align-items:center;gap:10px;margin:0;font-family:var(--lf-font-display);font-weight:800;font-size:24px;letter-spacing:-.02em;color:var(--lf-heading)}.back{min-height:44px;display:inline-flex;align-items:center;color:var(--lf-accent-text);font-weight:700;text-decoration:none}.back:hover{text-decoration:underline}main{display:flex;flex-direction:column;gap:16px;padding-top:8px;padding-bottom:32px}.tunings{display:flex;flex-wrap:wrap;gap:6px}.tunings button{min-height:40px;padding:6px 12px;border:1px solid var(--lf-line);border-radius:999px;background:var(--lf-surface);color:var(--lf-text);font:inherit;font-size:14px;font-weight:700;cursor:pointer}.tunings button[aria-checked=true]{background:var(--lf-primary);border-color:var(--lf-primary);color:var(--lf-on-primary)}.dial{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;border:1px solid var(--lf-line);border-radius:var(--lf-radius);background:var(--lf-surface)}.target{margin:0;color:var(--lf-muted);font-size:15px;font-weight:600;text-align:center}.note{margin:0;font-family:var(--lf-font-display);font-weight:800;font-size:72px;line-height:1;color:var(--lf-heading);font-variant-numeric:tabular-nums}.meter{width:100%}.scale{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--lf-muted);text-transform:uppercase;letter-spacing:.08em}.track{position:relative;height:28px;margin-top:4px;border-radius:14px;background:var(--lf-sunken)}.track .zone{position:absolute;left:45%;width:10%;top:0;bottom:0;background:var(--lf-right);opacity:.4}.track .needle{position:absolute;top:-4px;bottom:-4px;left:50%;width:6px;margin-left:-3px;border-radius:3px;background:var(--lf-muted);transition:left .08s linear,background .15s}.dial[data-state=flat] .needle,.dial[data-state=sharp] .needle{background:var(--lf-accent)}.dial[data-state=in] .needle{background:var(--lf-right)}.dial[data-state=in] .note{color:var(--lf-right-text)}.advice{min-height:1.5em;margin:0;font-size:18px;font-weight:700;color:var(--lf-heading);text-align:center}.strings{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.strings button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:64px;padding:8px 2px;border:1px solid var(--lf-line);border-radius:12px;background:var(--lf-surface);color:var(--lf-heading);font:inherit;cursor:pointer}.strings b{font-family:var(--lf-font-display);font-size:22px;font-weight:800;line-height:1}.strings small{font-size:11px;font-weight:700;color:var(--lf-muted)}.strings button.on{border-color:var(--lf-accent);box-shadow:0 0 0 2px var(--lf-accent)}.strings button.done small{color:var(--lf-right-text)}.row{display:flex;gap:8px}.row .btn{flex:1}.btn{min-height:48px;padding:10px 14px;border:1px solid var(--lf-line);border-radius:10px;background:var(--lf-surface);color:var(--lf-text);font:inherit;font-weight:700;cursor:pointer}.btn.primary{background:var(--lf-primary);border-color:var(--lf-primary);color:var(--lf-on-primary)}.btn[aria-pressed=true]:not(.primary){border-color:var(--lf-primary);background:var(--lf-accent-soft);color:var(--lf-heading)}:is(.btn,.tunings button,.strings button,.back):focus-visible{outline:3px solid var(--lf-focus);outline-offset:2px}.hint{margin:0;font-size:14px;color:var(--lf-muted);text-align:center}.foot{padding:0 16px 32px;text-align:center}@media (prefers-reduced-motion: reduce){.track .needle{transition:none}}
