:root{--bg-base:#0a0a0a;--bg-surface:#161616;--bg-card:#1a1a1a;--bg-elevated:#222;--bg-block:#141414;--border:#333;--border-hover:#555;--border-subtle:#ffffff0f;--text-primary:#e0e0e0;--text-secondary:#aaa;--text-muted:#999;--text-faint:#666;--text-disabled:#555;--color-source:#3a8a55;--color-effect:#4a6abf;--color-shaper:#7a5aaf;--color-trigger:#8a6a30;--color-modulation:#b04a70;--color-visual:#2a7a6a;--radius-sm:3px;--radius:4px;--radius-md:6px;--text-xs:9px;--text-sm:10px;--text-base:11px;--text-md:12px;--text-lg:13px;--text-xl:14px;--input-bg:transparent;--input-border:var(--border);--input-border-hover:var(--border-hover);--input-color:var(--text-primary);--input-radius:var(--radius-sm);--input-font-size:var(--text-base)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}:focus{outline:none}input,textarea{-webkit-user-select:text;user-select:text}body{background:var(--bg-base);color:var(--text-secondary);min-height:100dvh;font-family:SF Mono,Fira Code,JetBrains Mono,monospace;font-size:var(--text-lg);-webkit-font-smoothing:antialiased}.workspace,.stack-blocks,.palette-sidebar,.guide-dialog{-ms-overflow-style:none;scrollbar-width:none}.workspace::-webkit-scrollbar{display:none}.stack-blocks::-webkit-scrollbar{display:none}.palette-sidebar::-webkit-scrollbar{display:none}.guide-dialog::-webkit-scrollbar{display:none}.app{flex-direction:column;display:flex;position:fixed;inset:0}.app-header{border-bottom:1px solid var(--bg-card);flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;height:40px;padding:6px 16px;display:grid}.app-header-left{align-items:center;display:flex}.app-header-center{justify-content:center;align-items:center;display:flex}.app-header-right{justify-content:flex-end;align-items:center;gap:2px;display:flex}.patch-name-display{color:var(--text-secondary);cursor:text;font-size:var(--text-md);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);border:1px solid #0000;max-width:200px;padding:2px 6px;font-weight:500;transition:border-color .12s,color .12s;overflow:hidden}.patch-name-display:hover{color:var(--text-primary);border-color:var(--border)}.patch-name-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);color:var(--input-color);font:inherit;font-size:var(--text-md);letter-spacing:.08em;outline:none;width:140px;padding:2px 6px;font-weight:500}.patch-name-input:focus{border-color:var(--border-hover)}.header-icon-btn{appearance:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:28px;transition:color .12s,background .12s;display:flex}.header-icon-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.header-icon-btn--active{color:var(--text-primary)}.app-menu{position:relative}.app-menu-dropdown{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);z-index:100;min-width:160px;padding:4px 0;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000080}.app-menu-item{appearance:none;color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 12px;font-size:12px;display:flex}.app-menu-item:hover{background:#ffffff0f}.app-menu-divider{background:var(--border);height:1px;margin:4px 0}.transport{align-items:center;gap:8px;display:flex}.transport-play{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;transition:border-color .15s;display:flex}.transport-play:hover{border-color:var(--border-hover)}.transport-rec{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.transport-rec:hover{color:#e24b4a;border-color:var(--border-hover)}.transport-rec--active{color:#e24b4a;border-color:#e24b4a;animation:1s ease-in-out infinite rec-pulse}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.5}}.transport-rec-time{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:#e24b4a;min-width:28px}.transport-tap{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--text-xs);letter-spacing:.05em;background:0 0;padding:2px 6px;transition:color .12s,border-color .12s}.transport-tap:hover{color:var(--text-primary);border-color:var(--border-hover)}.workspace-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.workspace-body{flex:1;min-height:0;display:flex;overflow:hidden}.workspace{flex:1;align-items:stretch;gap:12px;min-height:0;padding:16px 20px;display:flex;overflow-x:auto}.workspace-add-zone{border-radius:var(--radius-md);cursor:pointer;border:1px dashed #2a2a2a;justify-content:center;align-self:stretch;align-items:center;width:220px;min-width:220px;min-height:60px;transition:border-color .15s,color .15s,background .15s;display:flex}.workspace-add-zone-label{color:var(--text-disabled);font-size:12px}.workspace-add-zone:hover{border-color:#444}.workspace-add-zone:hover .workspace-add-zone-label{color:#888}.workspace-add-zone--over{background:#6ab04c0f;border-color:#6ab04c}.workspace-add-zone--over .workspace-add-zone-label{color:#6ab04c}.palette-spacer{border-radius:var(--radius);border:1px dashed #0000;justify-content:center;align-items:center;margin:0;transition:height .2s,opacity .15s;display:flex;overflow:hidden}.palette-spacer[data-category]{border-color:var(--border);background:#ffffff05}.palette-spacer-label{color:var(--text-muted);white-space:nowrap;font-size:10px}.palette-spacer[data-category=source]{border-color:#6ab04c4d}.palette-spacer[data-category=effect]{border-color:#00a8ff4d}.palette-spacer[data-category=trigger]{border-color:#ffb1424d}.palette-spacer[data-category=modulation]{border-color:#be2edd4d}.palette-spacer[data-category=visual]{border-color:#ff47574d}.palette-spacer[data-category=shaper]{border-color:#7b7b7b4d}.sortable-stack{width:220px;min-width:220px;max-height:100%}.stack{border-radius:var(--radius-md);background:#111;border:1px solid #1e1e1e;flex-direction:column;width:100%;max-height:100%;transition:opacity .2s;display:flex}.stack--muted{opacity:.6}.stack--dimmed{opacity:.5}.stack-header{border-bottom:1px solid #1e1e1e;align-items:center;gap:8px;padding:8px;display:flex}.stack-name{color:var(--text-primary);letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;white-space:nowrap;gap:6px;width:100%;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.stack-controls{gap:4px;display:flex}.stack-btn{appearance:none;border:1px solid var(--border);color:var(--text-muted);font:inherit;border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;transition:all .15s;display:flex}.stack-btn:hover{color:var(--text-secondary);border-color:#444}.stack-btn--active{color:var(--text-primary);background:#2a2a2a;border-color:#444}.stack-btn--danger{color:#f55;background:#ff55551a;border-color:#633}.stack-btn--delete{color:#444;margin-left:auto}.stack-btn--delete:hover{color:#c66}.stack-delete-modal{color:var(--text-muted);background:#ff55550d;border-bottom:1px solid #1e1e1e;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex}.stack-delete-actions{gap:4px;display:flex}.stack-blocks{flex-direction:column;flex:1;gap:8px;min-height:0;padding:8px;display:flex;overflow-y:auto}.block{--block-accent:#4a9;--block-bg:#2d5a3e;background:var(--block-bg);border:1px solid var(--border-subtle);border-radius:var(--radius);width:100%;overflow:hidden}.block[data-category=source]{--block-accent:#fff;--block-bg:var(--color-source)}.block[data-category=effect]{--block-accent:#fff;--block-bg:var(--color-effect)}.block[data-category=shaper]{--block-accent:#fff;--block-bg:var(--color-shaper)}.block[data-category=trigger]{--block-accent:#fff;--block-bg:var(--color-trigger)}.block[data-category=modulation]{--block-accent:#fff;--block-bg:var(--color-modulation)}.block[data-category=visual]{--block-accent:#fff;--block-bg:var(--color-visual)}.block-header{background:var(--block-bg);align-items:center;gap:6px;padding:5px 8px;display:flex}.block-params{background:var(--bg-card)}.block-drag-handle{cursor:grab;color:var(--block-accent);opacity:.4;-webkit-user-select:none;user-select:none;touch-action:none;font-size:10px;line-height:1;transition:color .15s}.block-drag-handle:hover{opacity:.8}.block-drag-handle:active{cursor:grabbing}.block-type{color:var(--block-accent);letter-spacing:.05em;flex:1;font-size:11px;font-weight:600}.block-remove{appearance:none;color:var(--block-accent);opacity:.5;font:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1;transition:color .15s}.block-remove:hover{opacity:1}.block-params{flex-direction:column;gap:4px;padding:6px 8px;display:flex}.param-row{align-items:center;gap:4px;display:flex}.param-row>.number-drag,.param-row>.dropdown,.param-row>.text-param{flex:1}.param-row--pick-target{cursor:pointer;border-radius:var(--radius);border:1px solid #6ab04c4d;margin:-1px;animation:1s ease-in-out infinite pulse-target}.param-row--pick-target:hover{background:#6ab04c1a;border-color:#6ab04c;animation:none}@keyframes pulse-target{0%,to{border-color:#6ab04c33}50%{border-color:#6ab04c80}}.block-target-btn{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-faint);font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;max-width:120px;margin-left:auto;margin-right:2px;padding:1px 6px;font-size:10px;transition:all .15s;overflow:hidden}.block-target-btn:hover{color:#6ab04c;border-color:#4a6}.block-target-btn--active{color:#6ab04c;background:#6ab04c26;border-color:#6ab04c}.block-target-btn--connected{color:#6ab04c;border-color:#3a6a2c}.block-disconnect-btn{appearance:none;color:var(--text-disabled);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.block-disconnect-btn:hover{color:#f55}.block--pick-target{outline-offset:-1px;cursor:pointer;outline:1px dashed #6ab04c}.number-drag{justify-content:space-between;align-items:center;gap:8px;display:flex}.number-drag-label{color:var(--text-muted);font-size:11px}.number-drag-value{font-size:var(--input-font-size);color:var(--input-color);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);cursor:ns-resize;-webkit-user-select:none;user-select:none;text-align:right;min-width:40px;padding:1px 4px;transition:background .1s}.number-drag-value:hover{border-color:var(--input-border-hover)}.number-drag-value--live{cursor:default;color:#4fc3f7;font-variant-numeric:tabular-nums}.number-drag--readonly .number-drag-label{color:#4fc3f7;opacity:.7}.number-drag-input{font:inherit;font-size:var(--input-font-size);color:var(--input-color);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);text-align:right;outline:none;width:60px;padding:1px 4px}.dropdown{justify-content:space-between;align-items:center;gap:8px;display:flex}.dropdown-label{color:var(--text-muted);font-size:11px}.dropdown-select{font:inherit;font-size:var(--input-font-size);color:var(--input-color);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);cursor:pointer;outline:none;padding:2px 4px}.dropdown-select:hover{border-color:var(--input-border-hover)}.text-param{flex-direction:column;gap:3px;width:100%;display:flex}.text-param-label{color:var(--text-muted);font-size:11px}.text-param-input{font:inherit;font-size:var(--input-font-size);color:var(--input-color);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-radius);outline:none;width:100%;padding:3px 6px}.text-param-input:focus{border-color:var(--input-border-hover)}.text-param-input::placeholder{color:#444}.local-mod-badge{color:#c8f;white-space:nowrap;background:#64328c26;border:1px solid #64328c4d;border-radius:8px;flex-shrink:0;padding:1px 5px;font-size:9px}.palette-sidebar{border-left:1px solid var(--bg-card);background:#0e0e0e;flex-shrink:0;width:140px;min-width:140px;overflow-y:auto}.palette-sidebar-inner{flex-direction:column;gap:2px;padding:12px 10px;display:flex}.palette-group{flex-direction:column;gap:3px;display:flex}.palette-group-label{font-size:var(--text-xs);color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;padding:6px 4px 2px}.palette-group-chips{flex-direction:column;gap:2px;display:flex}.palette-chip{cursor:grab;-webkit-user-select:none;user-select:none}.palette-chip:active{cursor:grabbing}.stack-empty{color:#444;text-align:center;border-radius:var(--radius);border:1px dashed #2a2a2a;margin:6px;padding:20px 10px;font-size:11px}.viz-block{flex-direction:column;gap:4px;min-height:20px;padding:4px;display:flex}.viz-empty{color:#444;text-align:center;padding:6px;font-size:10px}.viz-canvas{border-radius:var(--radius-sm);width:100%;display:block}.viz-step-grid{gap:2px;display:flex}.viz-cell{background:var(--bg-card);border-radius:2px;flex:1;height:12px;transition:background 50ms}.viz-cell--hit,.viz-cell--note{background:var(--color-source)}.viz-cell--rest{background:var(--bg-card)}.viz-cell--hold{opacity:.6;background:#2a5a3a}.viz-cell--active{background:#666!important}.viz-cell--fired{background:#5cd67a!important}.viz-keyboard{border-radius:var(--radius-sm);gap:1px;height:32px;display:flex;overflow:hidden}.viz-key{border-radius:2px;flex:1;transition:background 50ms}.viz-key--white{background:#2a2a2a}.viz-key--black{background:#151515;flex:.7}.viz-key--active{background:#5cd67a!important}.stack-footer{border-top:1px solid var(--bg-card);border-radius:0 0 var(--radius-md) var(--radius-md);background:#111;flex-direction:column;gap:8px;padding:8px;display:flex}.stack-footer .stack-output{gap:8px;display:flex}.stack-footer .stack-output .number-drag{flex:1}.stack-footer .stack-controls{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stack-footer .stack-controls .stack-btn{text-align:center;letter-spacing:.05em;text-transform:lowercase;width:100%;padding:4px 0;font-size:10px}.stack-footer .stack-controls .stack-btn--mute.stack-btn--active{color:#f55;background:#ff555526;border-color:#633}.stack-footer .stack-controls .stack-btn--solo.stack-btn--active{color:#fc3;background:#ffc83226;border-color:#654}.stack-drag-handle{cursor:grab;color:var(--border);-webkit-user-select:none;user-select:none;touch-action:none;flex-shrink:0;font-size:10px;line-height:1;transition:color .15s}.stack-drag-handle:hover{color:var(--text-faint)}.stack-drag-handle:active{cursor:grabbing}.stack-name-input{font:inherit;color:var(--text-primary);background:var(--bg-elevated);border:1px solid #444;border-radius:2px;outline:none;width:100%;padding:1px 4px;font-size:12px;font-weight:500}.block-overlay{opacity:.85;pointer-events:none;border-radius:var(--radius);width:200px;box-shadow:0 4px 20px #00000080}.palette-chip-overlay{pointer-events:none;width:200px;box-shadow:0 4px 20px #00000080}.guide-dialog{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:calc(100vw - 40px);max-width:900px;height:fit-content;max-height:calc(100dvh - 80px);margin:auto;padding:0;position:fixed;inset:0;overflow-y:auto}.guide-dialog::backdrop{background:#000000bf}.guide-container{padding:24px 20px 60px;position:relative}.guide-close-container{float:right;z-index:10;position:sticky;top:0}.guide-close{font:inherit;font-size:var(--text-md);color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);cursor:pointer;z-index:10;justify-content:center;align-items:center;width:28px;height:28px;margin:8px 8px 0 0;display:flex}.guide-close:hover{color:var(--text-primary);border-color:var(--border)}.guide-hero{text-align:center;margin-bottom:40px;padding-top:8px}.guide-hero h1{letter-spacing:.15em;color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500}.guide-subtitle{color:var(--text-muted);margin:0 auto 20px;font-size:12px}.guide-stack-diagram{flex-direction:column;align-items:center;gap:2px;max-width:220px;margin:0 auto;display:flex}.guide-layer{border-radius:var(--radius);text-align:center;letter-spacing:.03em;width:100%;padding:6px 10px;font-size:10px;font-weight:600}.guide-layer--trigger{background:var(--color-trigger);color:#fff}.guide-layer--source{background:var(--color-source);color:#fff}.guide-layer--effect{background:var(--color-effect);color:#fff}.guide-layer--output{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-subtle)}.guide-section{margin-bottom:32px}.guide-section-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:6px;display:flex}.guide-section-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.guide-section-dot[data-category=source]{background:var(--color-source)}.guide-section-dot[data-category=effect]{background:var(--color-effect)}.guide-section-dot[data-category=shaper]{background:var(--color-shaper)}.guide-section-dot[data-category=trigger]{background:var(--color-trigger)}.guide-section-dot[data-category=modulation]{background:var(--color-modulation)}.guide-section-dot[data-category=visual]{background:var(--color-visual)}.guide-section-dot[data-category=neutral]{background:var(--text-secondary)}.guide-range-hint{color:var(--text-faint);font-weight:400}.guide-section-header h2{letter-spacing:.02em;font-size:13px;font-weight:600}.guide-section-desc{color:var(--text-faint);margin-left:auto;font-size:11px}.guide-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.guide-card{background:var(--bg-card);border:1px solid var(--gc-bg,var(--border-subtle));border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.guide-card--source{--gc-bg:var(--color-source)}.guide-card--effect{--gc-bg:var(--color-effect)}.guide-card--shaper{--gc-bg:var(--color-shaper)}.guide-card--trigger{--gc-bg:var(--color-trigger)}.guide-card--modulation{--gc-bg:var(--color-modulation)}.guide-card--visual{--gc-bg:var(--color-visual)}.guide-card-header{background:var(--gc-bg);flex-direction:column;gap:4px;padding:8px;display:flex}.guide-card-name{color:#fff;font-size:11px;font-weight:600}.guide-card-oneliner{color:#fff9;font-size:10px}.guide-card-body{color:var(--text-secondary);padding:8px 10px;font-size:11px;line-height:1.6}.guide-params{flex-direction:column;gap:2px;margin-top:auto;padding:0 10px 8px;display:flex}.guide-param{align-items:center;gap:6px;padding:3px 0;font-size:11px;display:flex}.guide-param-name{color:var(--text-secondary);min-width:50px;font-weight:600}.guide-param-range{color:var(--text-disabled);flex:1;font-size:10px}.guide-param-type{text-transform:uppercase;letter-spacing:.5px;color:var(--text-disabled);background:#ffffff0a;border-radius:2px;padding:1px 4px;font-size:9px;font-weight:600}.guide-keyboard-intro{color:var(--text-secondary);text-align:center;margin:0 auto 12px;font-size:11px}.guide-keyboard{flex-wrap:wrap;justify-content:center;gap:3px;margin:12px 0;display:flex}.guide-key{border-radius:var(--radius);background:var(--bg-card);border:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:flex}.guide-key:hover{background:#2a2a2a}.guide-key-label{color:var(--text-disabled);margin-top:1px;font-size:8px;font-weight:400}.guide-key--black{background:#111;border-color:#ffffff0d;height:32px}.guide-shortcuts-grid{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.guide-shortcut{color:var(--text-faint);align-items:center;gap:4px;font-size:11px;display:flex}.guide-shortcut kbd{background:var(--bg-card);border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid #ffffff14;padding:2px 5px;font-family:inherit;font-size:10px}.guide-wiring-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.guide-wiring-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:10px 12px}.guide-wiring-card h3{margin-bottom:4px;font-size:11px;font-weight:600}.guide-wiring-card p{color:var(--text-secondary);font-size:11px;line-height:1.5}.guide-wiring-example{border-radius:var(--radius-sm);color:var(--text-faint);background:#ffffff08;margin-top:8px;padding:6px 8px;font-size:11px;line-height:1.6}.guide-wiring-example strong{color:var(--text-primary)}.guide-tips{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.guide-tip{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-secondary);flex-direction:column;padding:10px 12px;font-size:11px;line-height:1.5;display:flex}.guide-tip strong{color:var(--text-primary);margin-bottom:4px;font-size:11px;display:block}.guide-tip-desc{flex:1}.guide-tip-chain{flex-wrap:wrap;gap:3px;margin-top:8px;display:flex}.guide-tip-block{border-radius:var(--radius-sm);color:#fff;padding:2px 6px;font-size:9px;font-weight:600}.guide-tip-block[data-category=source]{background:var(--color-source)}.guide-tip-block[data-category=effect]{background:var(--color-effect)}.guide-tip-block[data-category=shaper]{background:var(--color-shaper)}.guide-tip-block[data-category=trigger]{background:var(--color-trigger)}.guide-tip-block[data-category=modulation]{background:var(--color-modulation)}.guide-tip-block[data-category=visual]{background:var(--color-visual)}.guide-tip-add{font:inherit;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;align-self:flex-start;margin-top:8px;padding:3px 8px;font-size:10px}.guide-tip-add:hover{color:var(--text-primary);border-color:var(--border-hover)}@media (width<=768px){.guide-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.guide-cards,.guide-wiring-grid{grid-template-columns:1fr}.guide-container{padding:16px 12px 40px}.guide-section-desc{display:none}}.tuner-block{flex-direction:column;gap:4px;padding:6px 8px;display:flex}.tuner-note{justify-content:center;align-items:baseline;gap:8px;display:flex}.tuner-note-name{color:var(--text-primary);font-size:20px;font-weight:700;font-family:var(--font-mono);letter-spacing:1px}.tuner-note-name.tuner-in-tune{color:#5cd67a}.tuner-note-name.tuner-silent{color:var(--text-muted);font-size:16px}.tuner-freq{color:var(--text-muted);font-size:10px;font-family:var(--font-mono)}.tuner-gauge{background:var(--bg-block);border-radius:var(--radius-sm);height:12px;position:relative;overflow:hidden}.tuner-gauge-center{background:var(--text-muted);opacity:.4;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.tuner-gauge-needle{background:var(--accent-primary);border-radius:2px;width:4px;margin-left:-2px;transition:left 80ms ease-out;position:absolute;top:1px;bottom:1px}.tuner-gauge-needle.tuner-in-tune{background:#5cd67a}.tuner-cents{color:var(--text-muted);font-size:8px;font-family:var(--font-mono);position:absolute;top:50%;right:4px;transform:translateY(-50%)}
