.tg-card{--tg-color:#38bdf8;--tg-glow:#38bdf859}.tg-card[data-tune=low],.tg-card[data-tune=high]{--tg-color:#f59e0b;--tg-glow:#f59e0b59}.tg-card[data-tune=far]{--tg-color:#fb7185;--tg-glow:#fb718559}.tg-card[data-tune=ok]{--tg-color:#34d399;--tg-glow:#34d39980}.tg-card[data-instrument=chromatic] #tuning-field,.tg-card[data-instrument=chromatic] .tg-head,.tg-card[data-instrument=chromatic] #auto-row,.tg-card[data-instrument=chromatic] #listen-btn{display:none}.tg-stage{justify-items:center;margin-top:8px;display:grid;position:relative}.tg-glow{aspect-ratio:1;background:radial-gradient(circle, var(--tg-glow) 0%, transparent 65%);opacity:.25;width:min(80vw,320px);transition:opacity .4s var(--ease);pointer-events:none;border-radius:50%;margin-left:calc(min(80vw,320px)/-2);position:absolute;bottom:0;left:50%;transform:translateY(35%)scale(.9)}.tg-card[data-state=on] .tg-glow{opacity:.6}.tg-gauge{width:min(100%,420px);height:auto;position:relative;overflow:visible}.tg-arc{fill:none;stroke:url(#tg-arc);stroke-width:6px;stroke-linecap:round;opacity:.45}.tg-zone{fill:none;stroke:#34d399;stroke-width:12px;stroke-linecap:round;opacity:.5}.tg-card[data-tune=ok] .tg-zone{opacity:1}.tg-tick{stroke:#ffffff38;stroke-width:1.6px;stroke-linecap:round}.tg-tick.major{stroke:#ffffff80;stroke-width:2.4px}.tg-tick-label{fill:var(--fg-subtle);text-anchor:middle;font-family:inherit;font-size:10px;font-weight:700}.tg-side{fill:var(--fg-subtle);font-family:inherit;font-size:10px;font-weight:700}.tg-side.end{text-anchor:end}.tg-needle{transform-box:view-box;transform-origin:150px 158px;will-change:transform}.tg-needle path{fill:var(--tg-color);transition:fill .25s}.tg-needle circle{fill:#e2e8f0;stroke:#0f172ae6;stroke-width:3px}.tg-card[data-state=off] .tg-needle{opacity:.45}.tg-readout{pointer-events:none;justify-items:center;gap:6px;margin-top:6px;display:grid;position:relative}.tg-note-ring{border:3px solid var(--tg-color);width:104px;height:104px;box-shadow:0 0 0 6px #ffffff08, 0 10px 30px -10px var(--tg-glow);background:radial-gradient(circle at 50% 35%,#ffffff14,#ffffff05 70%),#0b1222;border-radius:50%;justify-content:center;align-items:center;transition:border-color .25s;display:flex;position:relative}.tg-note{letter-spacing:-.03em;color:var(--fg);font-size:2.6rem;font-weight:800;line-height:1}.tg-octave{color:var(--fg-muted);align-self:flex-end;margin:0 0 24px 1px;font-size:1rem;font-weight:800}.tg-card[data-tune=none] .tg-note{color:var(--fg-subtle)}.tg-freq{color:var(--fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:.8rem;font-weight:700}.tg-status{text-align:center;min-height:1.5em;color:var(--tg-color);margin:10px 0 4px;font-size:1.02rem;font-weight:800;transition:color .25s}.tg-card[data-state=off] .tg-status{color:var(--fg-muted)}.tg-head{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:10px;max-width:360px;margin:8px auto 4px;display:grid}.tg-pegs{flex-direction:column;justify-content:center;gap:10px;padding:6px 0 22px;display:flex}.tg-pegs.left{align-items:flex-end}.tg-pegs.right{align-items:flex-start}.tg-peg{border:1.5px solid var(--card-border);min-width:64px;height:48px;color:var(--fg);cursor:pointer;transition:border-color .2s, background .2s, transform .3s var(--spring);background:#ffffff0a;border-radius:100px;justify-content:center;align-items:center;gap:2px;padding:0 12px;font-family:inherit;font-size:1.05rem;font-weight:800;display:inline-flex;position:relative}.tg-peg small{color:var(--fg-subtle);font-size:.7rem;font-weight:700;position:relative;top:5px}.tg-peg:hover{border-color:var(--accent)}.tg-peg:active{transform:scale(.92)}.tg-peg.is-target{border-color:var(--tg-color);box-shadow:0 0 22px -6px var(--tg-glow);background:#ffffff14}.tg-peg.is-tuned:after{content:"✓";color:#052e1c;background:#34d399;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.7rem;font-weight:900;display:grid;position:absolute;top:-7px;right:-7px}.tg-neck{width:120px;min-height:120px;position:relative}.tg-headstock{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tg-headstock .shape{fill:#ffffff0d;stroke:#ffffff1f;stroke-width:1.5px}.tg-headstock .nut{fill:#e2e8f0b3}.tg-headstock .post{fill:#cbd5e1}.tg-headstock .string{stroke:#cbd5e173;stroke-linecap:round}.tg-headstock .string.is-target{stroke:var(--tg-color)}.tg-history{border-radius:var(--r-md);border:1px solid var(--card-border);background:#ffffff06;width:100%;height:64px;margin-top:12px;display:block}.tg-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.tg-main{min-width:190px}.tg-card[data-state=on] .tg-main{background:linear-gradient(120deg,#fb7185,#e879f9)}.tg-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;margin-top:12px;display:flex}.tg-ref{align-items:center;gap:8px;display:inline-flex}.tg-ref .field-label{margin:0}.tg-ref strong{text-align:center;font-variant-numeric:tabular-nums;min-width:62px}.tg-ref-btn{border:1.5px solid var(--card-border);width:34px;height:34px;color:var(--fg);cursor:pointer;transition:border-color .15s, transform .3s var(--spring);background:#ffffff0a;border-radius:50%;font-size:1.1rem;font-weight:800}.tg-ref-btn:hover{border-color:var(--accent)}.tg-ref-btn:active{transform:scale(.88)}.tg-table td:first-child{color:var(--fg)}@media (prefers-reduced-motion:no-preference){.tg-card[data-tune=ok] .tg-note-ring{animation:tg-lock 1.2s var(--ease) infinite}.tg-peg.just-tuned{animation:tg-pop .6s var(--spring)}.tg-headstock .string.is-ringing{animation:90ms linear infinite alternate tg-ring}.tg-card[data-state=on][data-tune=none] .tg-note-ring{animation:2.4s ease-in-out infinite tg-wait}}@keyframes tg-lock{0%{transform:scale(1)}30%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes tg-pop{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes tg-ring{0%{transform:translate(-.7px)}to{transform:translate(.7px)}}@keyframes tg-wait{0%,to{opacity:1}50%{opacity:.6}}
