@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-normal-DN8azYTI.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-400-normal-Cj1kF6KR.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-normal-72Io3whm.woff2)format("woff2"),url(/assets/alegreya-cyrillic-400-normal-VT77nruV.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-normal-ueNFnE5s.woff2)format("woff2"),url(/assets/alegreya-greek-ext-400-normal-UcF-MPys.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-normal-BI7tMDVB.woff2)format("woff2"),url(/assets/alegreya-greek-400-normal-BTnTTGc4.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-normal-D8CgJdBg.woff2)format("woff2"),url(/assets/alegreya-vietnamese-400-normal-D-Jsyxvv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-normal-BJ1luULk.woff2)format("woff2"),url(/assets/alegreya-latin-ext-400-normal-I24-Fo_X.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Alegreya;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-normal-BLlBRtDv.woff2)format("woff2"),url(/assets/alegreya-latin-400-normal-BuQWlRPA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-cyrillic-ext-500-normal-BIfGEemn.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-500-normal-BMQ-IlQd.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-cyrillic-500-normal-uJUgykjJ.woff2)format("woff2"),url(/assets/alegreya-cyrillic-500-normal-h-VttLAG.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-greek-ext-500-normal-CpSZDjmq.woff2)format("woff2"),url(/assets/alegreya-greek-ext-500-normal-DzZMWm6Q.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-greek-500-normal-Cs_YSU_p.woff2)format("woff2"),url(/assets/alegreya-greek-500-normal-DSAlufuP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-vietnamese-500-normal-1pKrKpC8.woff2)format("woff2"),url(/assets/alegreya-vietnamese-500-normal-Bulx4Dj7.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-ext-500-normal-B_6HdrEK.woff2)format("woff2"),url(/assets/alegreya-latin-ext-500-normal-BXZj8mwG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Alegreya;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-latin-500-normal-C25lLdV_.woff2)format("woff2"),url(/assets/alegreya-latin-500-normal-B7TqNLeg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-cyrillic-ext-800-normal-NAvnb1cP.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-800-normal-B_J1akGT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-cyrillic-800-normal-TM6to0H1.woff2)format("woff2"),url(/assets/alegreya-cyrillic-800-normal-BgJWiuWK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-greek-ext-800-normal-DvP9ppwE.woff2)format("woff2"),url(/assets/alegreya-greek-ext-800-normal-0h2SvCJs.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-greek-800-normal-CdnvfvV-.woff2)format("woff2"),url(/assets/alegreya-greek-800-normal-BVt059E1.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-vietnamese-800-normal-omuMHNvS.woff2)format("woff2"),url(/assets/alegreya-vietnamese-800-normal-BdE69900.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-latin-ext-800-normal-BjVZYKz5.woff2)format("woff2"),url(/assets/alegreya-latin-ext-800-normal-oEt9nZ3Z.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Alegreya;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/alegreya-latin-800-normal-BcufLBxY.woff2)format("woff2"),url(/assets/alegreya-latin-800-normal-C-QiqklE.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-ext-400-italic-CJ53xJ73.woff2)format("woff2"),url(/assets/alegreya-cyrillic-ext-400-italic-281qz-PX.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-cyrillic-400-italic-CzOFVsaV.woff2)format("woff2"),url(/assets/alegreya-cyrillic-400-italic-DSxbt1-2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-ext-400-italic-BqZ1xVE4.woff2)format("woff2"),url(/assets/alegreya-greek-ext-400-italic-EKR1I7m6.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-greek-400-italic-DpcfyKEk.woff2)format("woff2"),url(/assets/alegreya-greek-400-italic-D9g29fJh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-vietnamese-400-italic-CJsk7YCA.woff2)format("woff2"),url(/assets/alegreya-vietnamese-400-italic-DD2hiUnx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-ext-400-italic-Cf8WgXZg.woff2)format("woff2"),url(/assets/alegreya-latin-ext-400-italic-BQgzjtbe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Alegreya;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/alegreya-latin-400-italic-BXpar-rJ.woff2)format("woff2"),url(/assets/alegreya-latin-400-italic-CJvUQvZT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--patina:#0f3b3a;--patina-deep:#0a2b2b;--verdigris:#7fb8a8;--brass:#d9b45b;--brass-bright:#f6d77a;--paper:#f3ebd3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%;font-family:Alegreya,Georgia,serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--patina);color:var(--paper);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;touch-action:manipulation;cursor:pointer;background:0 0;border:0}button:disabled{opacity:.35;cursor:default}:focus-visible{outline:3px solid var(--brass-bright);outline-offset:3px}.metronome{max-width:480px;height:100dvh;padding:max(12px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto auto auto auto;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 auto;display:grid}.readout{align-items:baseline;gap:14px;display:flex}.bpm{font-variant-numeric:lining-nums tabular-nums;color:var(--brass-bright);font-size:clamp(4.5rem,24vw,6.5rem);font-weight:800;line-height:.95}.tempo-name{color:var(--verdigris);font-size:clamp(1.6rem,7vw,2.1rem);font-style:italic}.stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:ns-resize;border-radius:8px;min-height:0}#pendulum{width:100%;height:100%;display:block;overflow:visible}.scale line{stroke:var(--verdigris)}.scale .major{stroke-width:1.5px}.scale .minor{stroke-width:1px;opacity:.45}.scale text{fill:var(--verdigris);font-variant-numeric:lining-nums;font-size:15px}.rod-line{stroke:var(--paper);stroke-width:4px;stroke-linecap:round}.weight{fill:var(--brass);stroke:var(--patina-deep);stroke-width:2px;stroke-linejoin:round}.pivot{fill:var(--brass);stroke:var(--patina-deep);stroke-width:2px}.beats{flex-wrap:wrap;justify-content:center;gap:10px;min-height:22px;display:flex}.dot{border:2px solid var(--verdigris);border-radius:50%;width:18px;height:18px}.dot.first{border-color:var(--brass);border-width:4px}.dot.lit{background:var(--brass-bright);border-color:var(--brass-bright)}.message{text-align:center;color:var(--brass-bright);margin:0;font-size:1.05rem}.message:empty{display:none}.transport{grid-template-columns:72px 1fr 72px;gap:8px;display:grid}.start,.nudge{border-radius:8px;min-height:68px;font-size:1.6rem;font-weight:500}.start{background:var(--brass);color:var(--patina-deep);font-weight:800}.start.running{background:var(--paper)}.nudge{background:var(--patina-deep);font-size:2.2rem;line-height:1}.options{justify-content:space-between;align-items:center;gap:8px;font-size:1.1rem;display:flex}.tap{border:1.5px solid var(--verdigris);white-space:nowrap;border-radius:8px;min-height:48px;padding:0 14px}.meter{white-space:nowrap;align-items:center;gap:4px;display:flex}.meter button{width:44px;height:48px;font-size:1.6rem;line-height:1}@media (width<=359px){.options{font-size:1rem}.tap{padding:0 8px}.meter{gap:0}.meter button{width:32px}}@media (height<=560px) and (orientation:landscape){.metronome{grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(280px,1fr);column-gap:24px;max-width:none}.stage{grid-area:1/1/-1}.readout,.beats,.message,.transport,.options{grid-column:2}.beats{justify-content:flex-start}}
