.tools-grid{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.tool-card{gap:var(--space-sm);padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);color:inherit;flex-direction:column;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.tool-card:hover,.tool-card:focus-visible{box-shadow:var(--shadow-md);border-color:var(--color-accent-light);color:inherit;transform:translateY(-2px)}.tool-card__icon{background:var(--color-paper-deep);width:2.75rem;height:2.75rem;color:var(--color-accent);border-radius:50%;place-items:center;display:grid}.tool-card__icon svg{width:1.5rem;height:1.5rem}.tool-card h2{margin:0;font-size:1.25rem}.tool-card p{color:var(--color-ink-soft);flex:1;margin:0;font-size:.9375rem}.tool-card__cta{color:var(--color-accent-deep);font-size:.875rem;font-weight:650}.tool-page{padding-bottom:var(--space-2xl)}.tool-page .breadcrumbs{padding-top:var(--space-md)}.tool-page .page-header{padding-top:var(--space-md);margin-bottom:var(--space-lg)}.tool-page .page-header h1{max-width:24ch}.tool-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-md);padding:var(--space-lg);margin-bottom:var(--space-xl)}.tool-toolbar{justify-content:space-between;align-items:center;gap:var(--space-sm) var(--space-md);padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.tool-toolbar__group{align-items:flex-end;gap:var(--space-xs) var(--space-sm);flex-wrap:wrap;display:flex}.tool-panel{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--space-md)}.tool-panel+.tool-panel{margin-top:var(--space-md)}.tool-panel h3{margin:0 0 var(--space-sm);font-size:1.0625rem}.tool-panel h3:not(:first-child){margin-top:var(--space-lg)}.tool-panel>.tool-note+.tool-controls{margin-top:var(--space-sm)}.tool-grid-2{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-grid-3{gap:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tool-controls{gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.tool-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.tool-field+.tool-controls{margin-top:var(--space-sm)}.tool-panel>.tool-controls:last-child,.tool-panel>.tool-field:last-child{margin-bottom:0}.tool-field>.tool-btn,.tool-field>.tool-seg{align-self:flex-start}.tool-label--spacer{user-select:none}.tool-field--wide{grid-column:span 2}.tool-field>label,.tool-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.6875rem;font-weight:650}.tool-select,.tool-input{font:inherit;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);width:100%;min-height:2.5rem;padding:.5rem .7rem;font-size:.9375rem;line-height:1.4}.tool-input{font-variant-numeric:tabular-nums}.tool-select:focus-visible,.tool-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.tool-range{width:100%;accent-color:var(--color-accent)}.tool-field>.tool-range{box-sizing:border-box;height:2.5rem;margin:0}.tool-btn{font:inherit;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;min-height:2.5rem;padding:.5rem .9rem;font-size:.9rem;font-weight:600;line-height:1.4;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.tool-btn:hover{border-color:var(--color-accent-light);color:var(--color-accent-deep)}.tool-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tool-btn[aria-pressed=true],.tool-btn.is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.tool-btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper);padding:.7rem 1.4rem;font-size:1rem}.tool-btn--primary:hover{color:var(--color-paper);background:#c9563e;border-color:#c9563e}.tool-btn--ghost{background:0 0}.tool-btn--sm{min-height:2rem;padding:.3rem .6rem;font-size:.8125rem}.tool-btn:disabled{opacity:.5;cursor:not-allowed}.tool-seg{background:var(--color-paper-deep);border-radius:var(--border-radius-sm);flex-wrap:wrap;gap:.25rem;padding:.25rem;display:inline-flex}.tool-seg .tool-btn{background:0 0;border:0;min-height:2rem;padding:.3rem .7rem;font-size:.85rem}.tool-seg .tool-btn[aria-pressed=true]{background:var(--color-accent);color:var(--color-paper)}.tool-notes{grid-template-columns:repeat(12,minmax(0,1fr));gap:.25rem;display:grid}.tool-notes .tool-btn{min-height:2.5rem;font-size:.9rem;font-family:var(--font-display);padding:.3rem .2rem}.tool-readout{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--color-ink);text-align:center;line-height:1}.tool-readout__value{letter-spacing:-.02em;font-size:3.5rem;font-weight:640}.tool-readout__unit{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);margin-top:.4rem;font-size:.75rem;font-weight:650}.tool-note{color:var(--color-ink-soft);margin:var(--space-sm) 0 0;font-size:.875rem}.tool-status{border-radius:var(--border-radius-sm);background:var(--color-paper-deep);border-left:4px solid var(--color-sage);margin-top:var(--space-sm);padding:.6rem .9rem;font-size:.9rem}.tool-status--error{border-left-color:var(--color-rust)}.tool-status:empty{display:none}.is-in-tune{color:var(--color-sage-deep)}.is-flat,.is-sharp{color:var(--color-rust)}.tool-svg svg{width:100%;height:auto;display:block}.tool-svg--scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tool-svg--scroll svg{min-width:calc((var(--fret-count,12) * 44px + 56px) * 1.15)}.tool-controls>.tool-field:has(.tool-notes){grid-column:1/-1}.tool-chord-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));display:grid}.tool-chord{text-align:center}.tool-chord figcaption{color:var(--color-ink-soft);margin-top:.3rem;font-size:.8125rem}.tool-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:var(--space-sm);font-size:.9375rem}.tool-table:last-child{margin-bottom:0}.tool-table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:var(--space-sm);overflow-x:auto}.tool-table-wrap .tool-table{margin-bottom:0}.tool-table .tool-seg{flex-wrap:nowrap}.tool-table .tool-btn{white-space:nowrap}.tool-table .tool-input{min-width:4.5rem}.tool-table th,.tool-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.5rem .6rem}.tool-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.75rem;font-weight:650}.tool-table td.num,.tool-table th.num{text-align:right}.tool-chips{flex-wrap:wrap;gap:.4rem;display:flex}.tool-chip{background:var(--color-paper-deep);color:var(--color-ink);border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .65rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}button.tool-chip{font:inherit;cursor:pointer;border:0;font-size:.875rem;font-weight:600}a.tool-chip:hover,button.tool-chip:hover,button.tool-chip:focus-visible{background:var(--color-accent);color:var(--color-paper)}button.tool-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tool-chip[aria-pressed=true],.tool-chip--root{background:var(--color-accent);color:var(--color-paper)}.tool-subnav{margin-bottom:var(--space-md);top:var(--header-height);z-index:1;background:var(--color-surface);flex-wrap:wrap;gap:.4rem;padding:.5rem 0;display:flex;position:sticky}.tool-subnav~.tool-panel{scroll-margin-top:calc(var(--header-height) + 4rem)}.tool-shell .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tool-dial{aspect-ratio:1;width:min(100%,260px);margin:0 auto;position:relative}.tool-dial svg{width:100%;height:100%;display:block}.tool-prose{max-width:72ch}.tool-prose h2{margin:var(--space-xl) 0 var(--space-sm);padding-bottom:var(--space-xs);border-bottom:2px solid var(--color-accent);font-size:1.5rem}.tool-prose h3{margin:var(--space-lg) 0 var(--space-xs);font-size:1.125rem}.tool-prose p,.tool-prose li{color:var(--color-ink);font-size:1.0625rem;line-height:1.7}.tool-prose p{margin:0 0 var(--space-sm)}.tool-prose ul,.tool-prose ol{margin:0 0 var(--space-sm);padding-left:1.4rem}.tool-prose li{margin-bottom:.3rem}.tool-prose table{border-collapse:collapse;width:100%;margin:var(--space-sm) 0 var(--space-md);font-size:.9375rem}.tool-prose th,.tool-prose td{border-bottom:1px solid var(--color-border);text-align:left;padding:.5rem .6rem}.tool-prose th{background:var(--color-paper-deep)}.tool-prose blockquote{border-left:4px solid var(--color-accent);padding:var(--space-xs) var(--space-md);margin:var(--space-sm) 0 var(--space-md);color:var(--color-ink-soft);background:var(--color-surface)}.tool-faq details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-xs)}.tool-faq summary{cursor:pointer;font-weight:650;font-family:var(--font-display);font-size:1.0625rem}.tool-faq summary:hover{color:var(--color-accent-deep)}.tool-faq details p{margin:var(--space-sm) 0 0;line-height:1.65}.tool-related{margin-top:var(--space-xl)}.tool-related .section-header p{color:var(--color-ink-soft);margin:0;font-size:.9375rem}.tool-updated{margin-top:var(--space-lg);color:var(--color-ink-soft);font-size:.875rem}@media (width<=768px){.tool-shell{padding:var(--space-md);border-radius:var(--border-radius-sm)}.tool-grid-2,.tool-grid-3{grid-template-columns:1fr}.tool-notes{grid-template-columns:repeat(6,minmax(0,1fr))}.tool-readout__value{font-size:2.75rem}.tool-toolbar{flex-direction:column;align-items:stretch}.tool-label--spacer{display:none}.tool-chord-grid{gap:var(--space-sm)}.tool-seg .tool-btn{padding:.3rem .55rem}.tool-field--wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){.tool-card,.tool-btn{transition:none}}
