@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8d0a1832fd3be0c8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d7df244fe7b07b95-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_d02b1f{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_d02b1f{--font-dm-mono:"DM Mono","DM Mono Fallback"}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-instrument-serif:"Instrument Serif","Instrument Serif Fallback"}*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0a0b;--surface:#131315;--border:#1e1e22;--text:#e8e6e1;--text-dim:#6b6a66;--accent:#d4a853;--accent-glow:#d4a85340}body{background:var(--bg);color:var(--text);font-family:var(--font-dm-mono),"DM Mono",monospace;height:100vh;overflow:hidden;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;user-select:none}body,header{display:flex;align-items:center}header{width:100%;padding:24px 32px;justify-content:space-between;border-bottom:1px solid var(--border);z-index:10}.header-controls{display:flex;align-items:center;gap:24px}.volume-control{display:flex;align-items:center;gap:8px}.volume-label{font-size:.6rem;color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:2px;background:var(--border);border-radius:1px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--text-dim);border:none;-webkit-transition:background .2s ease;transition:background .2s ease}.volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text-dim);border:none;-moz-transition:background .2s ease;transition:background .2s ease}.volume-slider:hover::-webkit-slider-thumb{background:var(--accent)}.volume-slider:hover::-moz-range-thumb{background:var(--accent)}header h1{font-family:var(--font-instrument-serif),"Instrument Serif",serif;font-weight:400;font-size:1.6rem;letter-spacing:.02em}header h1 span{color:var(--text-dim);font-style:italic;font-size:.85rem;margin-left:12px}.freq-display{font-size:.75rem;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.freq-display .hz{color:var(--accent);font-size:1rem;margin-left:6px}#canvas-container{flex:1 1;width:100%;display:flex;align-items:center;justify-content:center;position:relative}canvas#chladni{border-radius:50%;box-shadow:0 0 0 1px var(--border),0 0 60px rgba(0,0,0,.6),0 0 120px rgba(0,0,0,.3),inset 0 0 80px rgba(0,0,0,.2)}.plate-ring{position:absolute;border-radius:50%;border:1px solid #2a2a2e;pointer-events:none}.plate-ring.outer{width:calc(min(55vw, 55vh) + 24px);height:calc(min(55vw, 55vh) + 24px);border-color:#1a1a1e}.plate-ring.inner{width:calc(min(55vw, 55vh) + 8px);height:calc(min(55vw, 55vh) + 8px);border-color:#252528}footer{width:100%;padding:28px 32px 32px;border-top:1px solid var(--border);z-index:10}.chord-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);margin-bottom:14px;text-align:center}.chord-grid{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.chord-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-dm-mono),"DM Mono",monospace;font-size:.8rem;padding:12px 20px;border-radius:6px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;min-width:88px;text-align:center}.chord-btn:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,var(--accent-glow),transparent 70%);opacity:0;transition:opacity .3s}.chord-btn:hover{border-color:#333338;transform:translateY(-1px)}.chord-btn:hover:before{opacity:.5}.chord-btn.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.chord-btn.active:before{opacity:1}.chord-btn .chord-name{display:block;font-family:var(--font-instrument-serif),"Instrument Serif",serif;font-size:1.2rem;margin-bottom:2px}.chord-btn .chord-notes{display:block;font-size:.5rem;color:var(--text-dim);letter-spacing:.04em}.start-overlay{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;cursor:pointer;transition:opacity .6s ease}.start-overlay.hidden{opacity:0;pointer-events:none}.start-overlay h2{font-family:var(--font-instrument-serif),"Instrument Serif",serif;font-size:3rem;font-weight:400;margin-bottom:12px}.start-overlay p{color:var(--text-dim);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}