.tuner-widget{--t-in-tune: #059669;--t-sharp: var(--accent);--t-flat: color-mix(in srgb, var(--accent) 60%, #2563eb);font-family:var(--font-google-sans-code, "Google Sans Code", monospace);width:100%;max-width:460px;padding-top:8px;color:var(--foreground)}html[data-theme=dark] .tuner-widget{--t-in-tune: #34d399}.tuner-widget *,.tuner-widget *:before,.tuner-widget *:after{margin:0;padding:0;box-sizing:border-box}.tuner-widget h1{text-align:center;font-size:1.4rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--accent);margin-bottom:2px;font-family:inherit}.tuner-widget .subtitle{text-align:center;color:var(--foreground);opacity:.55;font-size:.75rem;letter-spacing:1px;margin-bottom:20px;font-family:inherit}.tuner-widget .tuning-toggle{display:flex;border:1px dashed var(--border);padding:3px;gap:3px;margin-bottom:18px}.tuner-widget .tuning-btn{flex:1;padding:8px 6px;border:none;background:transparent;color:var(--foreground);opacity:.5;cursor:pointer;font-size:.8rem;font-weight:600;font-family:inherit;letter-spacing:.5px;transition:background .15s,color .15s,opacity .15s}.tuner-widget .tuning-btn.active{background:var(--accent);color:var(--background);opacity:1}.tuner-widget .display{border:1px dashed var(--border);background:color-mix(in srgb,var(--muted) 35%,var(--background));padding:24px 20px 16px;margin-bottom:14px;text-align:center}.tuner-widget .note-big{font-size:5rem;font-weight:700;line-height:1;letter-spacing:-2px;color:var(--foreground);opacity:.35;transition:color .15s,opacity .15s;font-family:inherit}.tuner-widget .note-big sup{font-size:1.8rem;font-weight:600;vertical-align:super;letter-spacing:0}.tuner-widget .note-big.in-tune{color:var(--t-in-tune);opacity:1}.tuner-widget .note-big.sharp{color:var(--t-sharp);opacity:1}.tuner-widget .note-big.flat{color:var(--t-flat);opacity:1}.tuner-widget .freq-label{font-size:.8rem;color:var(--foreground);opacity:.45;margin:4px 0 18px;min-height:18px;font-family:inherit}.tuner-widget .meter-wrap{position:relative;height:48px;margin-bottom:4px}.tuner-widget .meter-rail{position:absolute;top:50%;left:0;right:0;height:2px;background:color-mix(in srgb,var(--foreground) 20%,transparent);transform:translateY(-50%)}.tuner-widget .meter-ok{position:absolute;top:50%;left:44%;width:12%;height:4px;background:var(--t-in-tune);transform:translateY(-50%);opacity:.5}.tuner-widget .meter-center-line{position:absolute;top:8px;bottom:8px;left:50%;width:1px;background:var(--border);transform:translate(-50%)}.tuner-widget .needle{position:absolute;top:6px;bottom:6px;left:50%;width:2px;background:var(--accent);transform:translate(-50%);transition:left .08s ease-out,background .15s}.tuner-widget .needle.in-tune{background:var(--t-in-tune)}.tuner-widget .meter-row{display:flex;justify-content:space-between;color:var(--foreground);opacity:.3;font-size:.68rem;margin-bottom:6px;padding:0 2px;font-family:inherit}.tuner-widget .cents-label{font-size:.78rem;color:var(--foreground);opacity:.55;min-height:18px;font-family:inherit}.tuner-widget .strings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.tuner-widget .string-card{border:1px dashed var(--border);padding:12px 4px 10px;text-align:center;transition:border-color .15s,background .15s}.tuner-widget .string-card.nearest{border-color:var(--accent);border-style:solid;background:color-mix(in srgb,var(--accent) 8%,transparent)}.tuner-widget .string-card.in-tune{border-color:var(--t-in-tune);border-style:solid;background:color-mix(in srgb,var(--t-in-tune) 8%,transparent)}.tuner-widget .s-note{font-size:1.6rem;font-weight:700;color:var(--foreground);line-height:1.1;font-family:inherit}.tuner-widget .s-note sup{font-size:.8rem;font-weight:500;vertical-align:super}.tuner-widget .s-freq{font-size:.65rem;color:var(--foreground);opacity:.45;margin-top:3px;font-family:inherit}.tuner-widget .mic-btn{width:100%;padding:12px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:.9rem;font-weight:700;font-family:inherit;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}.tuner-widget .mic-btn:hover{background:var(--accent);color:var(--background)}.tuner-widget .mic-btn.on{background:var(--accent);color:var(--background);border-style:dashed}.tuner-widget .mic-btn.on:hover{opacity:.85}.tuner-widget .status-line{text-align:center;font-size:.72rem;color:var(--foreground);opacity:.5;margin-top:8px;min-height:18px;font-family:inherit}.tuner-widget .status-line.err{color:var(--accent);opacity:1}
