@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Lato-Bold.woff2) format("woff2"),url(fonts/Lato-Bold.woff) format("woff");unicode-range:U+0000-00FF,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:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Lato-Bold-latin-ext.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}:root{--bfom-ease: cubic-bezier(.23, 1, .32, 1);--bfom-dur: .3s;--bfom-radius: 8px;--bfom-radius-pill: 999px;--bfom-surface: #ccd0d4;--bfom-surface-mid: #c4c8cc;--bfom-surface-input: #dfe2e6;--bfom-page-bg-top: #b9bec4;--bfom-page-bg-bot: #dce0e4;--bfom-text: rgba(0, 0, 0, .52);--bfom-text-strong: rgba(0, 0, 0, .62);--bfom-emboss: 1px 1px 0 rgba(255, 255, 255, .65), 0 -1px 0 rgba(0, 0, 0, .14), 0 1px 1px rgba(255, 255, 255, .35);--bfom-emboss-soft: .5px .5px 0 rgba(255, 255, 255, .45), 0 -.5px 0 rgba(0, 0, 0, .12);--bfom-inset-ambient: inset 0 0 28px 4px rgba(0, 0, 0, .14);--bfom-inset-top: inset 0 2px 2px 1px rgba(255, 255, 255, .9);--bfom-inset-bottom: inset 0 -2px 3px 0 rgba(0, 0, 0, .2);--bfom-outer: 0 10px 22px rgba(0, 0, 0, .18);--bfom-outer-sm: 0 6px 14px rgba(0, 0, 0, .16);--bfom-raised: var(--bfom-inset-ambient), var(--bfom-inset-top), var(--bfom-inset-bottom), var(--bfom-outer-sm);--bfom-pressed: 0 4px 10px rgba(0, 0, 0, .12), inset 0 3px 12px rgba(0, 0, 0, .22), inset 0 -2px 10px rgba(255, 255, 255, .55), inset 0 1px 2px rgba(255, 255, 255, .25);--bfom-card-raised: var(--bfom-inset-ambient), var(--bfom-inset-top), var(--bfom-inset-bottom), 0 12px 28px rgba(0, 0, 0, .2);--bfom-green: #3d9a42;--bfom-green-deep: #2e7d32;--bfom-red: #d93b30;--bfom-red-deep: #b71c1c;--bfom-accent: #e65100;--bfom-accent-top: #ff9800}body.dark-mode{--bfom-surface: #8b9096;--bfom-surface-mid: #7a8086;--bfom-surface-input: #5f646a;--bfom-page-bg-top: #141618;--bfom-page-bg-bot: #23272b;--bfom-text: rgba(255, 255, 255, .88);--bfom-text-strong: rgba(255, 255, 255, .95);--bfom-emboss: 1px 1px 0 rgba(255, 255, 255, .22), 0 -1px 0 rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .35);--bfom-emboss-soft: .5px .5px 0 rgba(255, 255, 255, .15), 0 -.5px 0 rgba(0, 0, 0, .35);--bfom-inset-ambient: inset 0 0 32px 5px rgba(0, 0, 0, .35);--bfom-inset-top: inset 0 2px 2px 1px rgba(255, 255, 255, .28);--bfom-inset-bottom: inset 0 -2px 3px 0 rgba(0, 0, 0, .45);--bfom-outer: 0 12px 26px rgba(0, 0, 0, .45);--bfom-outer-sm: 0 8px 18px rgba(0, 0, 0, .4);--bfom-raised: var(--bfom-inset-ambient), var(--bfom-inset-top), var(--bfom-inset-bottom), var(--bfom-outer-sm);--bfom-pressed: 0 3px 8px rgba(0, 0, 0, .35), inset 0 4px 14px rgba(0, 0, 0, .45), inset 0 -2px 10px rgba(255, 255, 255, .12), inset 0 1px 1px rgba(255, 255, 255, .08);--bfom-card-raised: var(--bfom-inset-ambient), var(--bfom-inset-top), var(--bfom-inset-bottom), 0 14px 32px rgba(0, 0, 0, .5);--bfom-green: #43a047;--bfom-green-deep: #2e7d32;--bfom-red: #e53935;--bfom-red-deep: #c62828;--bfom-accent: #f57c00;--bfom-accent-top: #ffb74d;background-image:linear-gradient(165deg,var(--bfom-page-bg-top) 0%,var(--bfom-page-bg-bot) 60%,#2a2e32 100%);background-attachment:fixed;color:#e8e8e8}body{font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;background-image:linear-gradient(165deg,var(--bfom-page-bg-top) 0%,var(--bfom-page-bg-bot) 55%,#cfd3d7 100%);background-attachment:fixed;color:var(--bfom-text-strong);transition:background-color var(--bfom-dur) var(--bfom-ease),color var(--bfom-dur) var(--bfom-ease)}.app-header h1,.app-header h1.app-title-lead{font-family:Lato,sans-serif;font-weight:700;color:var(--bfom-text-strong);text-shadow:var(--bfom-emboss-soft)}body.dark-mode .app-header h1,body.dark-mode .app-header h1.app-title-lead{color:#f0f0f0;text-shadow:var(--bfom-emboss)}.app-header .app-brand-line{font-family:Lato,sans-serif;font-weight:700;color:var(--bfom-text);text-shadow:var(--bfom-emboss-soft)}body.dark-mode .app-header .app-brand-line{color:#c8c8c8}.bfom-specular{position:relative;overflow:hidden}.bfom-specular:before{content:"";position:absolute;pointer-events:none;z-index:1;width:58%;height:42%;top:-14%;left:-12%;border-radius:50%;background:radial-gradient(ellipse at 35% 30%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.08) 45%,transparent 72%);opacity:.5}body.dark-mode .bfom-specular:before{background:radial-gradient(ellipse at 35% 30%,rgba(255,255,255,.14) 0%,transparent 65%);opacity:.55}.bfom-specular>*{position:relative;z-index:2}.tempo-value{font-family:Lato,sans-serif;font-weight:700;color:var(--bfom-text-strong);text-shadow:var(--bfom-emboss)}body.dark-mode .tempo-value{color:#f5f5f5!important}.beat-number{font-family:Lato,sans-serif;font-weight:700;text-shadow:var(--bfom-emboss-soft)}.tempo-btn-display,.calc-btn,.mobile-controls-tab,.mobile-transport-tempo-btn,.ios-silent-modal__btn{font-family:Lato,sans-serif;font-weight:700;border:none!important;border-radius:var(--bfom-radius)!important;background:var(--bfom-surface)!important;color:var(--bfom-text-strong)!important;text-shadow:var(--bfom-emboss);box-shadow:var(--bfom-raised)!important;transition:box-shadow var(--bfom-dur) var(--bfom-ease),transform var(--bfom-dur) var(--bfom-ease),filter var(--bfom-dur) var(--bfom-ease),color var(--bfom-dur) var(--bfom-ease),background var(--bfom-dur) var(--bfom-ease)!important}.tempo-btn-display:hover,.calc-btn:hover,.mobile-controls-tab:hover,.mobile-transport-tempo-btn:hover,.ios-silent-modal__btn:hover{filter:brightness(1.04);background:var(--bfom-surface)!important}.tempo-btn-display:active,.calc-btn:active,.mobile-controls-tab:active,.mobile-transport-tempo-btn:active,.ios-silent-modal__btn:active{box-shadow:var(--bfom-pressed)!important;transform:translateY(1px);filter:brightness(.98)}.mobile-transport-playstop{font-family:Lato,sans-serif;font-weight:700;border:none!important;border-radius:var(--bfom-radius)!important;color:#fff!important;text-shadow:0 1px 0 rgba(0,0,0,.35),0 -1px 0 rgba(255,255,255,.12);background:linear-gradient(180deg,var(--bfom-green) 0%,var(--bfom-green-deep) 100%)!important;box-shadow:inset 0 1px #ffffff59,inset 0 -3px 8px #00000040,0 8px 18px #2e7d3259!important;transition:box-shadow var(--bfom-dur) var(--bfom-ease),transform var(--bfom-dur) var(--bfom-ease),filter var(--bfom-dur) var(--bfom-ease)!important}.mobile-transport-playstop:hover{filter:brightness(1.06)}.mobile-transport-playstop:active{box-shadow:inset 0 4px 12px #00000059,inset 0 -1px 4px #fff3,0 3px 10px #2e7d3240!important;transform:translateY(1px)}.mobile-transport-playstop.transport-stop{background:linear-gradient(180deg,var(--bfom-red) 0%,var(--bfom-red-deep) 100%)!important;box-shadow:inset 0 1px #ffffff47,inset 0 -3px 8px #0000004d,0 8px 18px #d32f2f59!important}.bfom-squishy .metronome-start-btn,.bfom-squishy .metronome-tap-tempo-btn,.bfom-squishy .metronome-countin-btn{background:transparent!important;box-shadow:none!important;color:transparent!important;text-shadow:none!important;transform:none!important;filter:none!important}.bfom-transport-squish--start .toggle:hover,.bfom-transport-squish--tap .toggle:hover,.bfom-transport-squish--countin .toggle:hover{filter:brightness(1.04)}.calc-btn.active,.mobile-controls-tab.active{background:linear-gradient(180deg,var(--bfom-accent-top) 0%,var(--bfom-accent) 100%)!important;color:#fff!important;border:none!important;text-shadow:0 1px 0 rgba(0,0,0,.35),0 -1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px #ffffff59,inset 0 -3px 8px #00000038,0 6px 14px #e6510059!important}.calc-btn.active:hover,.mobile-controls-tab.active:hover{filter:brightness(1.05)}.calc-btn.active:active,.mobile-controls-tab.active:active{box-shadow:var(--bfom-pressed)!important;transform:translateY(1px)}.time-signature-btn.open{background:linear-gradient(180deg,#ffe0b2,#ffcc80)!important;color:#5d4037!important;text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:var(--bfom-pressed)!important}body.dark-mode .time-signature-btn.open{background:linear-gradient(180deg,#6d4c41,#4e342e)!important;color:#ffcc80!important;text-shadow:0 -1px 0 rgba(0,0,0,.4)}.sound-btn:disabled{box-shadow:var(--bfom-pressed)!important;opacity:.45!important}body.dark-mode .tempo-btn-display,body.dark-mode .calc-btn,body.dark-mode .mobile-controls-tab,body.dark-mode .mobile-transport-tempo-btn{background:var(--bfom-surface)!important;color:var(--bfom-text)!important;text-shadow:var(--bfom-emboss);box-shadow:var(--bfom-raised)!important}body.dark-mode .calc-btn:hover,body.dark-mode .tempo-btn-display:hover,body.dark-mode .mobile-controls-tab:hover{filter:brightness(1.06)}.mobile-transport-tempo-btn,.mobile-transport-playstop{border-radius:var(--bfom-radius-pill)!important}.pattern-number,.pattern-inputs-wrapper .pattern-number{font-family:Lato,sans-serif;font-weight:700;border:none!important;border-radius:var(--bfom-radius)!important;background:var(--bfom-surface-input)!important;color:var(--bfom-text-strong)!important;text-shadow:var(--bfom-emboss-soft);box-shadow:inset 0 3px 8px #0000002e,inset 0 -1px 3px #ffffff73,0 1px #ffffff40!important;transition:box-shadow var(--bfom-dur) var(--bfom-ease),background var(--bfom-dur) var(--bfom-ease)}.pattern-number:focus-visible{outline:2px solid rgba(46,125,50,.65);outline-offset:2px;box-shadow:inset 0 4px 12px #00000038,inset 0 -1px 3px #ffffff59,0 0 0 2px #4caf5040!important}.transport-timer-status,.pattern-inputs-wrapper .silent-status,.voice-status{font-weight:700;text-shadow:var(--bfom-emboss-soft)}.time-signature-picker,.pattern-inputs-wrapper{border:none!important;border-radius:var(--bfom-radius)!important;background:var(--bfom-surface-mid)!important;box-shadow:inset 0 2px 6px #0000001f,inset 0 -1px 2px #ffffff40,var(--bfom-outer-sm)!important}body.dark-mode .time-signature-picker,body.dark-mode .pattern-inputs-wrapper{background:var(--bfom-surface-mid)!important}@media(max-width:768px){.mobile-transport-dock{background:#ccd0d4f0!important;border-top:none!important;box-shadow:0 -6px 20px #0000002e,inset 0 1px #ffffff80!important;backdrop-filter:blur(10px)}body.dark-mode .mobile-transport-dock{background:#3c4044f0!important;box-shadow:0 -8px 24px #00000073,inset 0 1px #ffffff14!important}}.ios-silent-modal__panel{border-radius:var(--bfom-radius)!important;background:var(--bfom-surface)!important;box-shadow:var(--bfom-card-raised)!important;border:none!important}.ios-silent-modal__title,.app-footer{font-family:Lato,sans-serif;font-weight:700;text-shadow:var(--bfom-emboss-soft)}.file-protocol-voice-banner{border-radius:var(--bfom-radius)!important;box-shadow:var(--bfom-raised)!important}body.dark-mode .file-protocol-voice-banner{text-shadow:none!important}.bfom-squishy .toggle{background:var(--bfom-surface)!important;transition:box-shadow var(--bfom-dur) var(--bfom-ease),background var(--bfom-dur) var(--bfom-ease)}.bfom-squishy .toggle .button{background:var(--bfom-surface)!important;transition:box-shadow var(--bfom-dur) var(--bfom-ease),background var(--bfom-dur) var(--bfom-ease);pointer-events:none}.bfom-squishy .toggle .label{font-family:Lato,sans-serif;font-weight:700;text-shadow:var(--bfom-emboss)}body.dark-mode .bfom-squishy .toggle,body.dark-mode .bfom-squishy .toggle .button{background:var(--bfom-surface)!important}body.dark-mode .bfom-squishy .toggle .label{text-shadow:var(--bfom-emboss)}#mainMode .metronome-display,#mainMode .control-tile{border-radius:0!important;border:none!important;background:transparent!important;box-shadow:none!important;overflow:visible}#mainMode .metronome-display:hover,#mainMode .control-tile:hover,body.dark-mode #mainMode .metronome-display:hover{filter:none!important}#mainMode .bfom-squishy:not(.bfom-timer-squish--armed):not(.bfom-mic-squish--on):not(.bfom-countin-pref-squish--on) .toggle{background:transparent!important;box-shadow:none!important;margin:0!important}#mainMode .bfom-squishy:not(.bfom-timer-squish--armed):not(.bfom-mic-squish--on):not(.bfom-countin-pref-squish--on) .toggle:before{display:none!important;content:none!important}body.dark-mode #mainMode .bfom-squishy:not(.bfom-timer-squish--armed):not(.bfom-mic-squish--on):not(.bfom-countin-pref-squish--on) .toggle{background:transparent!important;box-shadow:none!important}.calc-btn:active{transform:translateY(1px)}
