:root{color:#f7f7f7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050505;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;min-width:0}img{max-width:100%}html{scrollbar-gutter:stable;background:#050505;width:100%;max-width:100%;overflow-x:hidden}body{width:100%;min-width:320px;max-width:100vw;min-height:100svh;margin:0;overflow-x:hidden}button,input{font:inherit}button{border:0}button,input[type=range]{touch-action:manipulation}button:focus-visible,input:focus-visible{outline:none}#root{width:100%;max-width:100vw;min-height:100svh;overflow-x:hidden}@supports not (scrollbar-gutter:stable){@media (width>=720px){body{overflow-y:scroll}}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{--brand-accent:#fff;--brand-accent-strong:#e5e5e5;--corner-panel:0;--corner-control:0;--control-selected:#d8d8d8;--control-selected-soft:#c9c9c9;--guitar-accent:#1f7f86;--guitar-accent-strong:#155f75;--guitar-accent-soft:#1f7f8638;--guitar-accent-line:#4bacb294;--brand-background:#050505;--panel:#202020;--panel-strong:#272727;--panel-border:#ffffff21;--text:#f7f7f7;--muted:#b7b7b7;--quiet:#777;--dark:#111;--shadow:0 16px 34px #00000052;--shell-padding:12px;width:100%;max-width:100vw;min-height:100dvh;padding:calc(var(--shell-padding) + env(safe-area-inset-top)) calc(var(--shell-padding) + env(safe-area-inset-right)) calc(var(--shell-padding) + env(safe-area-inset-bottom)) calc(var(--shell-padding) + env(safe-area-inset-left));color:var(--text);background:linear-gradient(#ffffff09,#0000 220px),#050505;overflow-x:hidden}.branding-header,.iphone-audio-notice,.app-tabs,.practice-layout,.tuner-screen,.settings-panel,.app-footer{width:min(100%,1040px);margin:0 auto}.branding-header{padding:0 2px 8px;display:grid}.brand-logo-panel{border-bottom:1px solid #ffffff24;justify-content:flex-start;align-items:center;gap:14px;width:100%;min-width:0;height:78px;display:flex;overflow:hidden}.brand-logo{object-fit:contain;object-position:left center;flex:0 auto;width:min(100%,460px);min-width:0;height:auto;max-height:74px;display:block}.brand-line{min-width:0;color:var(--text);text-align:right;text-transform:uppercase;flex:auto;gap:2px;line-height:1.25;display:grid}.brand-name{letter-spacing:.04em;font-size:clamp(1.05rem,4.2vw,1.72rem);font-weight:700;line-height:1}.brand-service{color:var(--muted);letter-spacing:.14em;font-size:clamp(.58rem,2vw,.78rem);font-weight:650;line-height:1.1}.brand-current-time{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.1em;background:#0003;border:1px solid #ffffff1f;justify-self:end;margin-top:6px;padding:4px 8px;font-size:clamp(.62rem,2vw,.76rem);font-weight:750;line-height:1}.brand-copy{display:none}.iphone-audio-notice{color:#d9eeee;text-align:left;background:#1f7f861f;border:1px solid #4bacb257;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:9px 9px 9px 10px;font-size:.78rem;font-weight:650;line-height:1.35;display:grid;position:relative}.iphone-audio-notice p{margin:0}.iphone-audio-notice button{border-radius:var(--corner-control);color:#f3fbfb;text-transform:uppercase;background:#0003;border:1px solid #ffffff29;justify-content:center;align-items:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;font-family:inherit;font-size:.9rem;font-weight:800;line-height:1;display:inline-flex}.eyebrow,.tagline,.app-footer{color:var(--muted)}.eyebrow{color:#d2d2d2;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}h1,h2,p{margin:0}h1{letter-spacing:.02em;text-transform:uppercase;font-size:clamp(2.15rem,8vw,3.8rem);font-weight:600;line-height:1}h2{letter-spacing:0;margin-top:2px;font-size:1.08rem;font-weight:650;line-height:1.2}.tagline{color:#9b9b9b;margin-top:0;font-size:.86rem}.practice-layout{gap:12px;min-width:0;display:grid}.practice-main-wrap{min-width:0;display:grid;position:relative}.practice-side-stack{align-content:start;gap:12px;display:grid}.bottom-sheet-backdrop,.bottom-sheet-handle{display:none}.edge-tabs{justify-content:flex-end;align-items:center;gap:6px;margin:0;display:flex}.panel-layout-controls{flex-wrap:nowrap}.metronome-heading-actions{flex:none;justify-content:flex-end;align-items:center;gap:10px;padding:3px 2px 3px 12px;display:flex}.timer-status-strip{background:#181818;border:1px solid #ffffff1f;border-bottom:0;justify-content:center;margin:8px 0 0;padding:8px;display:flex}.timer-status-strip .compact-timer-cluster{justify-content:center;align-items:center;gap:8px;max-width:100%;margin-inline:auto;display:flex}.timer-status-strip .compact-timer-stack{justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.timer-status-strip .compact-timer-badge,.timer-status-strip .compact-round-badge{min-width:158px}.metronome-panel.playing .timer-status-strip{background:#203235;border-color:#4bacb28f}.compact-timer-cluster,.compact-timer-stack{align-items:center;gap:6px;display:flex}.compact-timer-badge{appearance:none;border-radius:var(--corner-control);min-width:78px;min-height:38px;color:var(--text);box-shadow:none;background:#00000038;border:1px solid #ffffff24;place-items:center;gap:2px;padding:5px 10px;font-family:inherit;line-height:1;display:inline-grid}.compact-timer-badge span{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:.54rem;font-weight:800}.compact-timer-badge strong{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:.98rem;font-weight:800}.compact-timer-badge.running{background:#1f7f862e;border-color:#4bacb27a}.compact-timer-badge.disabled{color:var(--quiet);opacity:.74;background:#00000029}.compact-timer-badge.disabled strong{color:var(--muted)}.compact-round-badge{appearance:none;border-radius:var(--corner-control);min-height:38px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#00000038;border:1px solid #ffffff24;padding:5px 9px;font-family:inherit;font-size:.6rem;font-weight:850;line-height:1}.compact-round-badge.running{color:#d7e8e8;background:#1f7f8624;border-color:#4bacb26b}.compact-timer-icon-button{appearance:none;border-radius:var(--corner-control);width:38px;min-width:38px;height:38px;color:var(--text);box-shadow:none;background:#00000038;border:1px solid #ffffff24;justify-content:center;align-items:center;padding:0;display:inline-flex}.compact-timer-icon-button.running{color:#d7e8e8;background:#1f7f8624;border-color:#4bacb270}.compact-icon-play,.compact-icon-pause,.compact-icon-reset{width:16px;height:16px;display:inline-block;position:relative}.compact-icon-play{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:11px solid;width:0;height:0;margin-left:2px}.compact-icon-pause:before,.compact-icon-pause:after{content:"";background:currentColor;width:4px;position:absolute;top:2px;bottom:2px}.compact-icon-pause:before{left:3px}.compact-icon-pause:after{right:3px}.compact-icon-reset{border:2px solid;border-right-color:#0000;border-radius:50%}.compact-icon-reset:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid;width:0;height:0;position:absolute;top:-2px;right:-1px;transform:rotate(18deg)}.edge-tab-button{appearance:none;border-radius:var(--corner-control);color:#d7e8e8;width:38px;min-width:38px;height:38px;box-shadow:none;letter-spacing:.02em;background:#0000003d;border:1px solid #ffffff24;justify-content:center;align-items:center;gap:6px;padding:0;font-family:inherit;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.edge-tab-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.edge-tab-icon{color:currentColor;flex:none;width:17px;height:17px;position:relative}.timer-icon{border:2px solid;border-radius:50%}.timer-icon:before,.timer-icon:after{content:"";transform-origin:50% 0;background:currentColor;border-radius:999px;width:2px;position:absolute;top:50%;left:50%}.timer-icon:before{height:6px;transform:translate(-50%,-1px)}.timer-icon:after{height:5px;transform:translate(-50%,-1px)rotate(95deg)}.tempo-icon{background:linear-gradient(currentColor 0 0) 2px 10px/3px 8px no-repeat,linear-gradient(currentColor 0 0) 8px 6px/3px 12px no-repeat,linear-gradient(currentColor 0 0) 14px 2px/3px 16px no-repeat}.focus-icon{background:linear-gradient(currentColor 0 0) 0 0/7px 2px no-repeat,linear-gradient(currentColor 0 0) 0 0/2px 7px no-repeat,linear-gradient(currentColor 0 0) 100% 0/7px 2px no-repeat,linear-gradient(currentColor 0 0) 100% 0/2px 7px no-repeat,linear-gradient(currentColor 0 0) 0 100%/7px 2px no-repeat,linear-gradient(currentColor 0 0) 0 100%/2px 7px no-repeat,linear-gradient(currentColor 0 0) 100% 100%/7px 2px no-repeat,linear-gradient(currentColor 0 0) 100% 100%/2px 7px no-repeat;width:18px;height:18px}.edge-tab-button:hover{background:#1f7f8629;border-color:#4bacb280}.edge-tab-button.selected,.edge-tab-button[aria-pressed=true]{color:#f3fbfb;background:#1f7f863d;border-color:#4bacb29e;box-shadow:inset 0 0 0 1px #4bacb214}.practice-focus-overlay{z-index:80;overscroll-behavior:none;padding:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));background:linear-gradient(#ffffff09,#0000 34%),#050505;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.practice-focus-shell{background:#202020;border:1px solid #ffffff24;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(8px,1.8vmin,16px);width:min(100%,1120px);height:min(100%,680px);min-height:0;padding:clamp(10px,2vmin,18px);display:grid;box-shadow:0 24px 70px #0000007a}.practice-focus-top,.practice-focus-bottom{gap:clamp(6px,1.2vmin,10px);min-width:0;display:grid}.practice-focus-top{--focus-top-control-height:clamp(68px, 11.5vmin, 92px);grid-template-columns:minmax(126px,1fr) minmax(126px,1fr) auto auto auto;align-items:stretch}.practice-focus-bottom{--focus-bottom-control-height:clamp(68px, 11.2vmin, 86px);grid-template-columns:minmax(520px,1.6fr) minmax(160px,.58fr) minmax(84px,.36fr);align-items:end}.practice-focus-stat,.practice-focus-builder,.practice-focus-close,.practice-focus-timer,.practice-focus-primary,.practice-focus-icon-button{color:var(--text);box-shadow:none;background:#181818;border:1px solid #ffffff24;font-family:inherit}.practice-focus-stat,.practice-focus-builder,.practice-focus-timer{min-width:0;height:var(--focus-top-control-height,clamp(44px, 9vmin, 64px));align-content:center;gap:3px;min-height:0;padding:8px 10px;display:grid}.practice-focus-stat{appearance:none;cursor:pointer;text-align:left}.practice-focus-stat span,.practice-focus-builder span,.practice-focus-timer span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.52rem,1.45vmin,.7rem);font-weight:850;line-height:1}.practice-focus-stat strong,.practice-focus-builder strong,.practice-focus-timer strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:clamp(1.2rem,4.6vmin,2.2rem);font-weight:820;line-height:.95}.practice-focus-stat small,.practice-focus-builder small,.practice-focus-timer small{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.54rem,1.35vmin,.68rem);font-weight:800;line-height:1}.practice-focus-builder{--focus-builder-progress:0%;appearance:none;cursor:pointer;text-align:left;background:linear-gradient(90deg, #1f7f8638 0 var(--focus-builder-progress), transparent var(--focus-builder-progress) 100%), #181818;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-right:clamp(58px,10vmin,92px);position:relative;overflow:hidden}.practice-focus-builder span{grid-column:1}.practice-focus-builder strong{font-size:clamp(.95rem,3vmin,1.55rem);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.practice-focus-builder small,.practice-focus-builder em{grid-column:1/-1}.practice-focus-builder em{min-width:0;color:var(--quiet);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:clamp(.5rem,1.25vmin,.64rem);font-style:normal;font-weight:800;line-height:1;overflow:hidden}@media (height<=560px){.practice-focus-shell{gap:clamp(6px,1.15vmin,12px);padding:clamp(8px,1.55vmin,14px)}.practice-focus-stat,.practice-focus-builder,.practice-focus-timer,.practice-focus-close{min-height:clamp(40px,8vmin,56px);padding-block:6px}.practice-focus-builder em{display:none}}.practice-focus-builder.active{border-color:#4bacb26b}.practice-focus-close{min-width:clamp(58px,10vmin,82px);height:var(--focus-top-control-height);min-height:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 10px;font-size:clamp(.62rem,1.5vmin,.76rem);font-weight:850;line-height:1}.practice-focus-close:hover{color:var(--text);border-color:var(--guitar-accent-line)}.practice-focus-center{background:#242424;border:1px solid #ffffff1c;min-height:0;padding:clamp(8px,2vmin,18px);display:grid;position:relative}.practice-focus-beats{--focus-beat-count:4;grid-template-columns:repeat(var(--focus-beat-count), minmax(0, 1fr));align-items:stretch;gap:clamp(6px,1.8vmin,16px);min-width:0;min-height:0;display:grid}.practice-focus-beat{appearance:none;color:#d8d8d8;background:#ffffff14;border:1px solid #ffffff1f;align-content:center;justify-items:center;gap:clamp(3px,1vmin,8px);min-width:0;min-height:0;padding:0;font-family:inherit;transition:background-color .11s,border-color .11s,color .11s,box-shadow .11s;display:grid}.practice-focus-beat span{color:inherit;font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,13vmin,6.8rem);font-weight:790;line-height:.9}.practice-focus-beat strong{max-width:100%;color:inherit;letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:clamp(.62rem,2.2vmin,1rem);font-weight:850;line-height:1;overflow:hidden}.practice-focus-beat.strong,.practice-focus-beat.snare{color:#050505;background:#d8d8d8;border-color:#fff9}.practice-focus-beat.soft{color:#eee;background:#ffffff2b;border-color:#ffffff2e}.practice-focus-beat.hat,.practice-focus-beat.silent{color:var(--muted);background:#ffffff0b}.practice-focus-beat.active,.practice-focus-beat.strong.active,.practice-focus-beat.snare.active{background:var(--guitar-accent-strong);color:#f7ffff;border-color:#a8ecefdb;box-shadow:inset 0 0 0 2px #f3fbfb3d,0 0 34px #4bacb257}.practice-focus-beat.soft.active{color:#f7ffff;background:#1c6970;border-color:#a8ecefeb}.practice-focus-beat.silent.active{color:#7c7c7c;background:#ffffff06;border-color:#ffffff42;box-shadow:inset 0 0 0 2px #ffffff0d,0 0 18px #00000052}.practice-focus-count-in{z-index:2;box-shadow:none;color:var(--text);text-transform:uppercase;background:#070707;border:0;place-items:center;display:grid;position:absolute;inset:0}.practice-focus-count-in span{color:var(--guitar-accent-line);letter-spacing:.16em;white-space:nowrap;font-size:clamp(.72rem,2vmin,1rem);font-weight:850;line-height:1;position:absolute;top:clamp(14px,4vmin,34px);left:50%;transform:translate(-50%)}.practice-focus-count-in strong{font-size:clamp(6rem,26vmin,14rem);font-weight:790;line-height:.78;transform:translateY(-1.5%)}.practice-focus-timer{appearance:none;text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-right:clamp(86px,14vmin,132px);position:relative}.practice-focus-timer span,.practice-focus-timer small{grid-column:1}.practice-focus-timer strong{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.practice-focus-timer.running{background:#1f7f8629;border-color:#4bacb270}.practice-focus-timer.disabled{color:var(--quiet);opacity:.72;background:#151515}.practice-focus-timer.disabled strong{color:var(--muted)}.practice-focus-timer:hover{border-color:var(--guitar-accent-line)}.practice-focus-stat:hover,.practice-focus-builder:hover,.practice-focus-builder[aria-expanded=true],.practice-focus-stat[aria-expanded=true]{border-color:var(--guitar-accent-line);background:#1f7f8624}.practice-focus-actions{grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;gap:clamp(6px,1.2vmin,10px);min-width:0;display:grid}.practice-focus-timer-actions{grid-template-columns:repeat(2,auto);justify-content:end}.practice-focus-top .practice-focus-icon-button{width:var(--focus-top-control-height,clamp(44px, 9vmin, 64px));min-width:var(--focus-top-control-height,clamp(44px, 9vmin, 64px));height:var(--focus-top-control-height,clamp(44px, 9vmin, 64px));min-height:0}.practice-focus-primary{border-color:var(--guitar-accent-line);background:var(--guitar-accent-strong);color:#f3fbfb;letter-spacing:.1em;text-transform:uppercase;min-height:clamp(48px,10vmin,70px);padding-inline:14px;font-size:clamp(.88rem,2.4vmin,1.2rem);font-weight:850;line-height:1}.practice-focus-metronome-button{box-sizing:border-box;height:var(--focus-bottom-control-height,clamp(48px, 10vmin, 70px));justify-self:stretch;min-width:clamp(112px,22vmin,180px);min-height:0}.practice-focus-bottom-tools{grid-column:1;place-self:end start;align-items:stretch;gap:clamp(5px,1vmin,9px);min-width:0;display:flex}.practice-focus-bottom-tempo{box-sizing:border-box;height:var(--focus-bottom-control-height,clamp(44px, 8.5vmin, 58px));text-align:center;flex:0 0 clamp(112px,18vmin,152px);justify-items:center;min-height:0;padding:7px 10px}.practice-focus-bottom-tempo span{font-size:clamp(.5rem,1.35vmin,.66rem)}.practice-focus-bottom-tempo strong{font-size:clamp(1.44rem,4.35vmin,2.36rem)}.practice-focus-bottom-tempo small{font-size:clamp(.48rem,1.25vmin,.62rem)}.practice-focus-sound-button{box-sizing:border-box;width:var(--focus-bottom-control-height,clamp(44px, 8.5vmin, 58px));min-width:var(--focus-bottom-control-height,clamp(44px, 8.5vmin, 58px));height:var(--focus-bottom-control-height,clamp(44px, 8.5vmin, 58px));color:#d7e8e8;background:#0003;min-height:0}.practice-focus-top .practice-focus-sound-button{width:var(--focus-top-control-height,clamp(44px, 9vmin, 64px));min-width:var(--focus-top-control-height,clamp(44px, 9vmin, 64px));height:var(--focus-top-control-height,clamp(44px, 9vmin, 64px))}.practice-focus-sound-button:hover,.practice-focus-sound-button[aria-expanded=true]{border-color:var(--guitar-accent-line);background:#1f7f862e}.practice-focus-tap-button{appearance:none;box-sizing:border-box;height:var(--focus-bottom-control-height,clamp(44px, 8.5vmin, 58px));min-width:clamp(50px,8vmin,66px);min-height:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#0003;border:1px solid #ffffff24;padding:0 8px;font-family:inherit;font-size:clamp(.58rem,1.55vmin,.74rem);font-weight:850;line-height:1}.practice-focus-tap-button:hover{border-color:var(--guitar-accent-line);color:#f3fbfb;background:#1f7f8629}.practice-focus-transport{grid-column:2;grid-template-columns:minmax(118px,1fr);place-self:end center;align-items:stretch;gap:clamp(5px,1vmin,9px);width:min(100%,230px);min-width:0;display:grid}.practice-focus-tempo-nudge{appearance:none;box-sizing:border-box;width:clamp(44px,7.5vmin,62px);min-width:0;height:var(--focus-bottom-control-height,clamp(48px, 10vmin, 70px));min-height:0;color:var(--text);letter-spacing:.05em;background:#181818;border:1px solid #ffffff24;padding:0 8px;font-family:inherit;font-size:clamp(.72rem,1.9vmin,.92rem);font-weight:850;line-height:1}.practice-focus-tempo-nudge:hover{border-color:var(--guitar-accent-line);background:#1f7f8629}.practice-focus-icon-button{box-sizing:border-box;width:var(--focus-bottom-control-height,clamp(48px, 10vmin, 70px));min-width:var(--focus-bottom-control-height,clamp(48px, 10vmin, 70px));height:var(--focus-bottom-control-height,clamp(48px, 10vmin, 70px));justify-content:center;align-items:center;min-height:0;padding:0;display:inline-flex}.focus-sound-icon{fill:none;stroke:currentColor;stroke-width:2.15px;stroke-linecap:square;stroke-linejoin:miter;width:clamp(20px,4vmin,26px);height:clamp(20px,4vmin,26px);display:block;overflow:visible}.focus-sound-icon path:first-child{fill:currentColor;stroke:none}.practice-focus-time-corner{min-width:clamp(74px,11vmin,98px);color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-align:center;background:#0000002e;border:1px solid #ffffff1a;grid-column:3;justify-self:end;padding:8px 12px;font-size:clamp(.9rem,2.25vmin,1.14rem);font-weight:850;line-height:1}.practice-focus-sheet-backdrop{z-index:4;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000057;border:0;width:100%;min-height:100%;padding:0;position:absolute;inset:0}.practice-focus-sheet-backdrop:hover{filter:none;border:0}.practice-focus-sheet-backdrop:active{transform:none}.practice-focus-settings-sheet{z-index:5;overscroll-behavior:contain;width:min(100%,760px);max-height:min(82dvh,620px);padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:linear-gradient(#262626,#202020 42%,#181818);border-top:1px solid #ffffff29;margin:0 auto;animation:.19s ease-out bottom-sheet-in;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -22px 46px #0000008f}.practice-focus-settings-sheet .panel{box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.practice-focus-settings-sheet .panel-heading{margin-bottom:12px}.practice-focus-settings-sheet .timer-display,.practice-focus-settings-sheet .timer-actions{display:none}.practice-focus-sheet-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.practice-focus-tempo-settings{gap:14px;display:grid}.practice-focus-tempo-card{background:#202020;border:1px solid #ffffff1f;gap:12px;padding:14px;display:grid}.practice-focus-tempo-display{background:#181818;border:1px solid #ffffff1a;justify-content:center;align-items:baseline;gap:9px;min-height:82px;padding:10px;display:flex}.practice-focus-tempo-display strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:clamp(3.8rem,16vw,6rem);font-weight:790;line-height:.9}.practice-focus-tempo-display span{color:var(--quiet);letter-spacing:.02em;text-transform:uppercase;font-size:clamp(.9rem,3vw,1.15rem);font-weight:800}.practice-focus-tempo-stepper{grid-template-columns:repeat(3,minmax(38px,46px)) minmax(72px,1fr) repeat(3,minmax(38px,46px));max-width:none}.practice-focus-tempo-actions{grid-template-columns:minmax(116px,.32fr) minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.practice-focus-tempo-actions .secondary-action{min-height:42px}.practice-focus-time-signature{grid-template-columns:repeat(5,minmax(0,1fr))}.practice-focus-sound-settings{gap:14px;display:grid}.practice-focus-tone-control{max-width:none}.practice-focus-tone-control button{min-height:42px}.practice-focus-volume-control{background:#202020;border:1px solid #ffffff1f;grid-template-columns:auto auto;align-items:center;gap:8px 14px;padding:14px;display:grid}.practice-focus-volume-control span,.practice-focus-volume-control strong{letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:850;line-height:1}.practice-focus-volume-control span{color:var(--muted)}.practice-focus-volume-control strong{color:var(--text);font-variant-numeric:tabular-nums;justify-self:end}.practice-focus-volume-control input{width:100%;accent-color:var(--guitar-accent);grid-column:1/-1}.app-tabs{border-radius:var(--corner-panel);scrollbar-width:none;background:0 0;border:0;gap:8px;margin-bottom:14px;padding:0;display:flex;overflow-x:auto}.app-tabs::-webkit-scrollbar{display:none}.app-tabs button{border-radius:var(--corner-control);min-height:40px;color:var(--muted);letter-spacing:.13em;text-transform:uppercase;background:#0f0f0f;border:1px solid #ffffff38;flex:1 0 min(42vw,190px);justify-content:center;align-items:center;padding:9px 16px;font-size:.76rem;font-weight:700;display:inline-flex;position:relative}.app-tabs button.selected{color:#050505;background:#dcdcdc;border-color:#ffffffe0}.app-tabs.tuner-tabs{width:min(100%,820px)}.panel{border:1px solid var(--panel-border);border-radius:var(--corner-panel);background:var(--panel);min-width:0;box-shadow:var(--shadow);padding:12px;position:relative;overflow-x:hidden}.metronome-panel{transition:border-color .18s}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.panel-heading-actions{flex:none;align-items:center;gap:8px;display:flex}.panel-toggle-button{appearance:none;border-radius:var(--corner-control);min-width:76px;height:28px;color:var(--muted);box-sizing:border-box;text-align:center;background:#181818;border:1px solid #ffffff24;flex:none;justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:.72rem;font-weight:650;line-height:1;display:inline-flex}.panel-toggle-button:hover{color:var(--text);border-color:var(--guitar-accent-line);background:#1f7f861f}.mode-switch-button{appearance:none;border-radius:var(--corner-control);min-width:74px;height:28px;color:var(--muted);box-sizing:border-box;background:#181818;border:1px solid #ffffff24;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 8px;font-family:inherit;line-height:1;display:inline-flex}.mode-switch-button strong{min-width:18px;color:inherit;letter-spacing:.02em;text-align:left;text-transform:uppercase;font-size:.72rem;font-weight:750}.mode-switch-track{background:#0f0f0f;border:1px solid #ffffff29;width:26px;height:14px;position:relative}.mode-switch-track span{background:var(--quiet);width:8px;height:8px;transition:transform .16s,background-color .16s;position:absolute;top:2px;left:2px}.mode-switch-button.enabled{color:#f3fbfb;border-color:var(--guitar-accent-line);background:#1f7f8633}.mode-switch-button.enabled .mode-switch-track{background:#1f7f8647;border-color:#4bacb299}.mode-switch-button.enabled .mode-switch-track span{background:#f3fbfb;transform:translate(12px)}.mode-switch-button:hover{color:var(--text);border-color:var(--guitar-accent-line)}button:disabled{cursor:not-allowed}.collapsed-card{background:#181818;justify-content:space-between;align-items:center;gap:14px;padding-block:12px;display:flex}.collapsed-card div{gap:4px;display:grid}.collapsed-card span{color:var(--quiet);font-size:.82rem;font-weight:650}.metronome-title-label,.panel-title-label{color:#d8d8d8;letter-spacing:.24em;font-size:clamp(.98rem,2.2vw,1.16rem);font-weight:850}.panel-title-label{font-size:clamp(.9rem,1.8vw,1.04rem)}.tempo-card{--tempo-card-x-padding:clamp(16px, 4vw, 28px);padding:20px var(--tempo-card-x-padding);border-radius:var(--corner-panel);background:#242424;border:1px solid #ffffff1c;align-items:center;gap:16px;margin:16px 0 18px;display:grid}.tempo-card.with-timer-strip{gap:14px;padding-top:0;overflow:hidden}.tempo-card.with-timer-strip .timer-status-strip{margin:0 calc(-1 * var(--tempo-card-x-padding));background:#181818;border:0;border-bottom:1px solid #ffffff1c}.metronome-panel.playing .tempo-card{background:#203235;border-color:#4bacb28f;box-shadow:inset 0 0 0 1px #4bacb21f}.metronome-panel.playing .tempo-card.with-timer-strip .timer-status-strip{background:#203235;border-bottom-color:#4bacb266}.bpm-display,.timer-display{color:var(--text);font-variant-numeric:tabular-nums;justify-content:center;align-items:flex-end;margin:10px 0;display:flex}.tempo-card .bpm-display{margin:4px 0}.bpm-display-button{appearance:none;border-radius:var(--corner-control);min-width:min(100%,220px);color:inherit;font:inherit;font-variant-numeric:inherit;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0;display:inline-flex}.bpm-display-button:hover{color:var(--text)}.bpm-display-button:focus-visible{outline:1px solid var(--guitar-accent-line);outline-offset:8px}.bpm-display span{font-size:clamp(3.35rem,20vw,5.8rem);font-weight:750;line-height:.86}.bpm-display small{color:var(--quiet);margin:0 0 .55rem 8px;font-size:1rem;font-weight:650}.bpm-display-input{border-radius:var(--corner-control);width:min(100%,260px);color:var(--text);font-variant-numeric:tabular-nums;text-align:center;background:#181818;border:1px solid #fff3;font-family:inherit;font-size:clamp(3.35rem,20vw,5.8rem);font-weight:750;line-height:.86}.bpm-display-input:focus-visible{border-color:var(--guitar-accent-line);outline:none}.tempo-builder-compact-status{--tempo-progress:0%;background:linear-gradient(90deg, #ffffff2e 0%, #ffffff21 var(--tempo-progress), transparent var(--tempo-progress), transparent 100%), #0e0e0e;width:min(100%,760px);color:inherit;text-align:inherit;border:1px solid #ffffff3d;grid-template-columns:auto minmax(100px,1fr) auto auto;align-items:center;gap:8px 14px;margin:-4px auto 0;padding:9px 12px;font-family:inherit;transition:background .22s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000006b,0 8px 18px #0000002e}.tempo-builder-compact-status:disabled{cursor:default}.tempo-builder-compact-status div{justify-content:flex-start;align-items:center;gap:10px;display:flex}.tempo-builder-compact-status div,.tempo-builder-compact-status p,.tempo-builder-compact-status small{z-index:1;position:relative}.tempo-builder-compact-status span{color:#d8d8d8;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.tempo-builder-compact-status strong{color:var(--text);font-size:.76rem;font-weight:850;line-height:1}.tempo-builder-compact-status p{color:#efefef;text-align:center;font-size:.74rem;font-weight:750;line-height:1}.tempo-builder-compact-status small{color:#d8d8d8;letter-spacing:.08em;text-align:right;text-transform:uppercase;white-space:nowrap;font-size:.66rem;font-weight:750;line-height:1}.tempo-builder-compact-status .tempo-change-status{color:#f3fbfb}.count-in-overlay{z-index:4;border-radius:inherit;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(circle,#1f7f8621,#0000 26rem),#020202f0;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.count-in-display{width:min(100%,420px);color:var(--text);font-variant-numeric:tabular-nums;box-shadow:none;background:0 0;border:0;place-items:center;gap:8px;display:grid}.count-in-display small{color:var(--guitar-accent-line);letter-spacing:.16em;text-transform:uppercase;font-size:clamp(.8rem,2vw,1rem);font-weight:750;line-height:1}.count-in-display span{color:var(--text);text-shadow:0 0 42px #1f7f8657,0 20px 70px #00000094;font-size:clamp(8rem,34vw,18rem);font-weight:760;line-height:.78;animation:.18s ease-out count-in-pop}@keyframes count-in-pop{0%{opacity:.7;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.timer-display{border-radius:var(--corner-panel);background:#242424;border:1px solid #ffffff1c;place-content:center;align-items:center;gap:8px;min-height:128px;margin:6px 0 14px;padding-bottom:0;font-size:clamp(2.55rem,13vw,4.55rem);font-weight:750;line-height:1;display:grid}.timer-display-time{line-height:1}.timer-round-status{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;background:#181818;border:1px solid #ffffff21;justify-self:center;padding:5px 9px;font-size:.72rem;font-weight:850;line-height:1}.timer-panel{grid-template-rows:auto auto auto auto auto;align-content:center;display:grid}.timer-panel .panel-heading{align-self:start}.timer-panel.timer-disabled .timer-display,.timer-panel.timer-disabled .timer-finish-panel,.timer-panel.timer-disabled .timer-actions{opacity:.58}.timer-panel.timer-disabled .primary-action,.timer-panel.timer-disabled .secondary-action,.compact-timer-icon-button:disabled,.practice-focus-icon-button:disabled{color:var(--quiet);opacity:.55;background:#151515;border-color:#ffffff1a}.tuner-screen{gap:12px;display:grid}.tuner-panel{border-color:var(--panel-border);background:var(--panel);gap:14px;display:grid}.tuner-options-panel{align-content:start;gap:14px;display:grid}.tuner-options-heading{margin-bottom:0}.tuner-heading{align-items:center}.tuner-start-button{min-width:132px;min-height:38px;padding-inline:14px}.tuner-start-button.listening{color:var(--text);background:#181818;border-color:#ffffff38}.tuner-hero{text-align:center;background:#242424;border:1px solid #ffffff1c;justify-items:center;gap:12px;margin:16px 0 18px;padding:20px clamp(16px,4vw,28px);transition:background-color .18s,border-color .18s,box-shadow .18s;display:grid}.tuner-hero.in-tune{background:#242424;border-color:#ffffff1c}.tuner-hero.confirmed{box-shadow:none;background:#242424;border-color:#ffffff1c}.tuner-note-block{justify-items:center;gap:8px;width:100%;display:grid}.tuner-active-tuning{color:var(--muted);background:#181818;border:1px solid #ffffff1a;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding:6px 10px;line-height:1;display:flex}.tuner-active-tuning span{color:#d8d8d8;letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:850}.tuner-active-tuning strong{color:var(--text);letter-spacing:.08em;font-size:.72rem;font-weight:800}.tuner-note{color:var(--text);letter-spacing:0;font-size:clamp(5.2rem,32vw,8.8rem);font-weight:780;line-height:.82}.tuner-string-label{color:var(--muted);text-transform:uppercase;font-size:.86rem;font-weight:750;line-height:1.25}.tuner-status{min-width:128px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#181818;border:1px solid #ffffff24;padding:8px 12px;font-size:.92rem;font-weight:850;line-height:1}.tuner-status-row{justify-content:center;align-items:center;gap:10px;display:flex}.tuner-cents-chip{min-width:46px;color:var(--text);font-variant-numeric:tabular-nums;text-align:center;background:#151515;border:1px solid #ffffff24;padding:8px 10px;font-size:.96rem;font-weight:850;line-height:1}.tuner-steady-indicator{--steady-progress:0%;background:conic-gradient(#6fcad0d1 var(--steady-progress), #ffffff14 0);border:1px solid #ffffff21;flex:none;place-items:center;width:30px;height:30px;transition:background-color .18s,border-color .18s,transform .18s;display:grid;position:relative}.tuner-steady-indicator span{background:#181818;width:18px;height:18px;display:block;position:relative}.tuner-steady-indicator.holding{border-color:#6fcad075}.tuner-steady-indicator.confirmed{background:#6fcad0;border-color:#6fcad0;transform:scale(1.04)}.tuner-steady-indicator.confirmed span{background:0 0}.tuner-steady-indicator.confirmed span:after{content:"";border:3px solid #071112;border-width:0 3px 3px 0;width:6px;height:12px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.tuner-status.flat,.tuner-status.sharp{color:#f0f0f0;border-color:#ffffff3d}.tuner-status.in-tune,.tuner-status.holding{color:#f3fbfb;border-color:var(--guitar-accent-line);background:var(--guitar-accent-strong)}.tuner-status.confirmed{color:#071112;background:#6fcad0;border-color:#6fcad0}.tuner-helper{color:var(--quiet);min-height:1.35em;font-size:.82rem;font-weight:650;line-height:1.35}.tuning-meter{--meter-position:50%;--meter-center-width:10%;gap:9px;display:grid}.meter-rail{background:linear-gradient(90deg,#ffffff14,#0000 18% 82%,#ffffff14),repeating-linear-gradient(90deg,#0000 0 calc(10% - 1px),#ffffff0d calc(10% - 1px) 10%),#151515;border:1px solid #ffffff24;height:64px;position:relative;overflow:hidden}.meter-zone{width:50%;position:absolute;top:0;bottom:0}.flat-zone{left:0}.sharp-zone{right:0}.meter-center-zone{top:0;bottom:0;left:calc(50% - (var(--meter-center-width) / 2));width:var(--meter-center-width);background:#1f7f8638;border-inline:1px solid #6fcad057;position:absolute}.meter-center-line{background:#fffc;width:1px;transition:background-color .16s,box-shadow .16s,width .16s;position:absolute;top:8px;bottom:8px;left:50%;transform:translate(-50%)}.meter-needle{top:6px;bottom:6px;left:var(--meter-position);background:#f1f1f1;width:2px;transition:left .36s ease-out,background-color .16s,box-shadow .16s;position:absolute;transform:translate(-50%);box-shadow:0 0 0 1px #00000047}.tuning-meter.in-tune .meter-needle{background:#f3fbfb;box-shadow:0 0 0 1px #00000042,0 0 22px #4bacb26b}.tuning-meter.in-tune .meter-center-line{background:#6fcad0;width:2px;box-shadow:0 0 18px #4bacb2a6}.tuning-meter.confirmed .meter-needle{background:#6fcad0;box-shadow:0 0 0 1px #00000047,0 0 24px #6fcad0b3}.tuning-meter.confirmed .meter-center-line{background:#8ddfe4;width:3px}.meter-labels{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:repeat(3,minmax(0,1fr));font-size:.68rem;font-weight:800;line-height:1;display:grid}.meter-labels span:nth-child(2){text-align:center}.meter-labels span:nth-child(3){text-align:right}.tuner-readouts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tuner-readouts div{text-align:center;background:#181818;border:1px solid #ffffff1f;align-content:center;gap:5px;min-height:64px;padding:10px 8px;display:grid}.tuner-readouts span{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:800}.tuner-readouts strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:clamp(.92rem,4vw,1.18rem);font-weight:800;line-height:1}.tuner-settings-strip{--input-level:0%;border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;gap:0;margin-top:2px;display:grid}.tuner-sensitivity-control,.tuner-confirm-toggle label{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:11px 0;display:grid}.tuner-sensitivity-control+.tuner-confirm-toggle{border-top:1px solid #ffffff12}.tuner-setting-copy,.tuner-confirm-toggle span{gap:6px;min-width:0;display:grid}.tuner-setting-copy{grid-template-columns:auto minmax(96px,1fr);align-items:center;column-gap:12px}.tuner-setting-copy>span:first-child,.tuner-confirm-toggle strong{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:850;line-height:1}.input-level-meter{background:repeating-linear-gradient(90deg,#ffffff1a 0 1px,#0000 1px 12px),#121212;border:1px solid #ffffff1c;max-width:100%;height:12px;display:block;position:relative;overflow:hidden}.input-level-meter:before{content:"";width:var(--input-level);background:#d2e6e8c7;max-width:calc(100% - 4px);transition:width .14s;position:absolute;inset:2px auto 2px 2px}.tuner-setting-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-self:end;gap:6px;width:min(168px,42vw);display:grid}.tuner-sensitivity-control button{min-width:0;min-height:30px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#181818;border:1px solid #ffffff29;padding:5px 7px;font-family:inherit;font-size:.68rem;font-weight:850;line-height:1}.tuner-sensitivity-control button.selected{color:#f3fbfb;border-color:var(--guitar-accent-line);background:var(--guitar-accent-strong)}.tuner-confirm-toggle{display:block}.tuner-confirm-toggle small{color:var(--quiet);font-size:.72rem;font-weight:650}.tuner-confirm-toggle input{width:44px;height:24px;accent-color:var(--guitar-accent);flex:none}.tuner-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tuner-preset-grid button{min-height:40px;color:var(--muted);letter-spacing:.02em;background:#181818;border:1px solid #ffffff24;padding:7px 8px;font-family:inherit;font-size:.76rem;font-weight:600;line-height:1.05}.tuner-preset-grid button.selected{color:#f3fbfb;border-color:var(--guitar-accent-line);background:var(--guitar-accent-strong)}.tuner-string-selector{border-top:1px solid #ffffff1c;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px;padding-top:14px;display:grid}.tuner-auto-button,.tuner-string-card{background:#181818;border:1px solid #ffffff24;min-height:48px}.tuner-auto-button{color:var(--muted);background:#181818;grid-column:1/-1;align-content:center;justify-items:center;gap:2px;padding:7px 8px;font-family:inherit;display:grid}.tuner-auto-button span{margin-bottom:0}.tuner-auto-button small{margin-top:0}.tuner-string-card{grid-template-columns:minmax(0,1fr) 46px;display:grid;overflow:hidden}.string-select-button,.reference-tone-button{min-width:0;color:var(--muted);border:0;font-family:inherit}.string-select-button{text-align:left;background:0 0;align-content:center;gap:3px;min-height:48px;padding:7px 8px;display:grid}.reference-tone-button{letter-spacing:.08em;text-transform:uppercase;background:#ffffff06;border-left:1px solid #ffffff1a;place-items:center;min-height:48px;padding:0 4px;font-size:.54rem;font-weight:850;display:grid}.tuner-auto-button.selected,.tuner-string-card.selected,.reference-tone-button.playing{color:#f3fbfb;border-color:var(--guitar-accent-line);background:var(--guitar-accent-strong)}.tuner-string-card.selected .string-select-button,.tuner-string-card.selected .reference-tone-button{color:#f3fbfb}.reference-tone-button.playing{border-left-color:var(--guitar-accent-line)}.reference-tone-button:disabled{color:#666;cursor:not-allowed;opacity:.58}.tuner-string-selector span{color:inherit;font-size:.82rem;font-weight:850;line-height:1}.tuner-string-selector small{color:var(--quiet);letter-spacing:.04em;text-align:center;text-transform:uppercase;font-size:.48rem;font-weight:750;line-height:1.1}.string-select-button small{text-align:left}.tuner-auto-button.selected small,.tuner-string-card.selected small{color:#f3fbfbb8}.stepper{grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:10px;width:100%;max-width:720px;margin-inline:auto;display:grid}.tempo-stepper{grid-template-columns:repeat(6,minmax(38px,1fr));gap:clamp(5px,1.2vw,8px);max-width:520px}.stepper.practice-focus-tempo-stepper{grid-template-columns:repeat(3,minmax(38px,46px)) minmax(72px,1fr) repeat(3,minmax(38px,46px));max-width:none}.stepper button,.stepper input,.segmented-control button,.preset-grid button,.sound-mode-control button,.custom-minutes input,.timer-rounds-control input,.practice-mode-grid input,.primary-action,.secondary-action{border-radius:var(--corner-control);min-width:0;min-height:38px;color:var(--text);box-shadow:none;background:#181818;border:1px solid #ffffff29}.stepper button,.stepper input{min-height:44px}.stepper button{color:var(--text);background:#2b2b2b;border-color:#fff3;font-size:1.2rem;font-weight:500}.tempo-stepper button{letter-spacing:.02em;padding-inline:4px;font-size:clamp(.72rem,2.4vw,.92rem);font-weight:760}.stepper input,.custom-minutes input,.timer-rounds-control input,.practice-mode-grid input{text-align:center;border:1px solid #ffffff24;width:100%;font-size:1.2rem;font-weight:650}.stepper input:focus-visible,.custom-minutes input:focus-visible,.timer-rounds-control input:focus-visible,.practice-mode-grid input:focus-visible{border-color:var(--guitar-accent-line);background:#202020}.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.custom-minutes input::-webkit-outer-spin-button{appearance:none;margin:0}.custom-minutes input::-webkit-inner-spin-button{appearance:none;margin:0}.timer-rounds-control input::-webkit-outer-spin-button{appearance:none;margin:0}.timer-rounds-control input::-webkit-inner-spin-button{appearance:none;margin:0}.practice-mode-grid input::-webkit-outer-spin-button{appearance:none;margin:0}.practice-mode-grid input::-webkit-inner-spin-button{appearance:none;margin:0}.stepper input,.custom-minutes input,.timer-rounds-control input,.practice-mode-grid input{appearance:textfield}button:focus-visible{border-color:#ffffff4d}.custom-minutes{border-radius:var(--corner-control);background:#181818;border:1px solid #ffffff24;grid-column:span 2;place-items:center;gap:4px;min-height:42px;margin:0;padding:6px 8px;display:grid}.custom-minutes.selected{border-color:var(--guitar-accent-line);color:#f3fbfb;background:var(--guitar-accent-strong)}.custom-minutes span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:700;line-height:1}.custom-minutes.selected span,.custom-minutes.selected input{color:#f3fbfb}.custom-time-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.custom-time-field{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px;min-width:0;display:grid}.custom-minutes input{background:0 0;border:0;min-height:auto;padding:0;font-size:.92rem;line-height:1}.custom-time-field small{color:var(--quiet);letter-spacing:.02em;text-transform:uppercase;font-size:.52rem;font-weight:750;line-height:1}.custom-minutes.selected .custom-time-field small{color:#f3fbfbb8}.custom-minutes input::placeholder{color:var(--quiet);opacity:1}.timer-repeat{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:14px;margin:14px 0 0;padding:12px 0 0;display:flex}.timer-repeat span{gap:3px;display:grid}.timer-repeat strong{color:var(--text);font-size:.9rem;font-weight:650}.timer-repeat small{color:var(--quiet);font-size:.76rem}.timer-repeat input{width:44px;height:24px;accent-color:var(--guitar-accent);flex:none}.timer-finish-panel{border-top:1px solid #ffffff1a;gap:8px;margin:12px 0 0;padding:10px 0 0;display:grid}.timer-finish-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.timer-finish-header>strong{color:var(--text);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:850}.timer-finish-groups{grid-template-columns:minmax(0,1fr);align-items:start;gap:9px;display:grid}.timer-finish-group{gap:6px;display:grid}.timer-finish-group-label{color:var(--quiet);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:850;line-height:1}.timer-rounds-control{color:inherit;grid-template-columns:42px;align-items:center;margin-left:auto;display:inline-grid}.timer-rounds-control input{min-height:26px;color:var(--text);background:#0000003d;padding-inline:6px;font-size:.8rem}.timer-finish-options button.selected .timer-rounds-control input{color:#f3fbfb;background:#0000002e;border-color:#fff3}.timer-finish-options{gap:6px;display:grid}.timer-round-options{grid-template-columns:repeat(3,minmax(0,1fr))}.timer-end-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:330px}.timer-finish-options button{min-height:42px;color:var(--muted);text-align:center;background:#181818;border:1px solid #ffffff24;justify-content:center;align-items:center;padding:7px 8px;display:flex}.timer-finish-options button.selected{border-color:var(--guitar-accent-line);color:#f3fbfb;background:var(--guitar-accent-strong)}.timer-finish-options strong{width:100%;color:inherit;letter-spacing:.03em;justify-content:center;align-items:center;gap:7px;font-size:.68rem;font-weight:800;line-height:1;display:flex}.timer-end-options button{align-content:center;justify-items:center;gap:4px;display:grid}.timer-end-options button strong{width:auto;display:block}.timer-end-options small{color:#d2d8d9b8;letter-spacing:.01em;font-size:.58rem;font-weight:700;line-height:1.15;display:block}.timer-end-options button.selected small{color:#f3fbfbc2}.timer-finish-options span,.timer-iteration-status{color:var(--quiet);font-size:.66rem;font-weight:700;line-height:1.15}.timer-finish-options button.selected span{color:#f3fbfbb8}.timer-iteration-status{text-align:left;margin:0}.practice-mode-panel{border-top:1px solid #ffffff1a;margin:0 0 16px;padding:12px 0 0}.practice-mode-card .practice-mode-panel{border-top:0;margin:8px 0 0;padding:0}.practice-mode-description{color:var(--muted);margin:0;font-size:.84rem;font-weight:650;line-height:1.35}.practice-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.practice-mode-grid label{gap:5px;display:grid}.practice-mode-grid span{color:var(--quiet);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.practice-mode-grid input{min-height:36px;font-size:.95rem}.bpm-slider{width:100%;max-width:720px;accent-color:var(--guitar-accent);margin:0 auto}.volume-control{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;max-width:520px;margin:0 auto 10px;display:grid}.volume-control span{color:var(--muted);font-size:.78rem;font-weight:650}.volume-control input{width:100%;accent-color:var(--guitar-accent)}.metronome-mid-controls{gap:10px;width:min(100%,360px);margin:0 auto 14px;display:grid}.metronome-mid-controls .volume-control{grid-template-columns:86px minmax(0,1fr);max-width:none;margin:0}.count-in-toggle{border-top:1px solid #ffffff17;justify-content:space-between;align-items:center;gap:14px;max-width:none;margin:0;padding:10px 0 0;display:flex}.count-in-toggle span{gap:2px;display:grid}.count-in-toggle strong{color:var(--text);font-size:.86rem;font-weight:650}.count-in-toggle small{color:var(--quiet);font-size:.72rem}.count-in-toggle input{width:44px;height:24px;accent-color:var(--guitar-accent);flex:none}.segmented-control,.preset-grid,.sound-mode-control{gap:8px;display:grid}.segmented-control{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none;margin-inline:0}.preset-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.sound-mode-control{grid-template-columns:repeat(6,minmax(0,1fr));width:100%;max-width:680px;margin:0}.segmented-control button,.preset-grid button,.sound-mode-control button{color:var(--muted);border-color:#ffffff24;font-size:.76rem;font-weight:600}.preset-grid button,.preset-grid .custom-minutes{min-height:42px}.preset-grid button.selected,.sound-mode-control button.selected{border-color:var(--guitar-accent-line);color:#f3fbfb;background:var(--guitar-accent-strong)}.segmented-control button.selected{border-color:var(--guitar-accent-line);color:var(--text);background:var(--guitar-accent-soft)}.beat-sound-grid{--beat-gap:7px;--beat-max:86px;grid-template-columns:repeat(var(--beat-count,6), minmax(0, 1fr));gap:var(--beat-gap);width:min(100%, calc(var(--beat-count,6) * var(--beat-max) + (var(--beat-count,6) - 1) * var(--beat-gap)));justify-content:center;justify-items:stretch;margin:14px 0;margin-inline:auto;display:grid}.beat-sound-button{min-width:0;min-height:50px;color:var(--muted);background:#ffffff0e;border:1px solid #0000;border-radius:0;align-content:center;gap:3px;padding:6px 5px;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:grid}.beat-sound-button span{color:#7c7c7c;font-size:.68rem;font-weight:650}.beat-sound-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.62rem,2.3vw,.82rem);font-weight:750;line-height:1.1;overflow:hidden}.beat-sound-button.strong{color:#050505;background:var(--control-selected);border-color:#ffffffd9}.beat-sound-button.strong span{color:#555}.beat-sound-button.soft{color:#eee;background:#ffffff2b;border-color:#ffffff2e}.beat-sound-button.kick{color:#f4f4f4;background:#ffffff29;border-color:#ffffff24}.beat-sound-button.snare{color:#050505;background:var(--control-selected-soft);border-color:#ffffffd1}.beat-sound-button.snare span{color:#555}.beat-sound-button.hat{color:#d0d0d0;background:#ffffff12;border-color:#ffffff1a}.beat-sound-button.silent{color:#666;background:#ffffff09;border-color:#ffffff0f}.beat-sound-button.active{border-color:var(--guitar-accent-line);color:#f7ffff;background:#174e56;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #a8ecef61,0 0 0 1px #1f7f862e}.beat-sound-button.active span,.beat-sound-button.active strong{color:inherit}.beat-sound-button.soft.active{color:#f7ffff;background:#1c6970;border-color:#a8ecefe0}.beat-sound-button.silent.active{color:#777;background:#ffffff06;border-color:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff0a,0 0 0 1px #00000038}.action-grid{grid-template-columns:1.35fr 1fr;gap:10px;margin-top:12px;display:grid}.play-row{margin:10px 0 24px;display:grid}.play-action{min-height:50px;font-size:1.08rem}.metronome-bottom-controls{grid-template-columns:1fr;align-items:stretch;gap:12px;margin-top:0;display:grid}.metronome-bottom-options{gap:8px;min-width:0;padding-top:12px;padding-left:0;display:grid;position:relative}.metronome-bottom-options:before{content:"";background:#ffffff1f;width:auto;height:1px;position:absolute;inset:0 0 auto}.primary-action,.secondary-action{letter-spacing:.08em;text-transform:uppercase;min-height:38px;font-weight:800}.primary-action{border-color:var(--guitar-accent-line);color:#f3fbfb;background:var(--guitar-accent-strong);box-shadow:none}.secondary-action{color:var(--text);background:#0000002e;border-color:#fff3}.app-footer{letter-spacing:.08em;text-align:center;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:6px 9px;padding:12px 2px 0;font-size:.72rem;font-weight:700;line-height:1.4;display:flex}.footer-brand-mark{object-fit:contain;opacity:.82;flex-basis:100%;width:min(46vw,170px);max-height:46px;margin:4px auto 2px;display:block}.install-app{letter-spacing:0;text-transform:none;flex-basis:100%;justify-items:center;gap:6px;margin-bottom:2px;display:grid}.install-app-button{border:1px solid var(--guitar-accent-line);border-radius:var(--corner-control);color:#f3fbfb;letter-spacing:.08em;text-transform:uppercase;background:#1f7f8652;min-height:32px;padding:0 14px;font-family:inherit;font-size:.72rem;font-weight:800}.install-app-message{max-width:min(100%,420px);color:var(--muted);letter-spacing:0;text-align:center;text-transform:none;font-size:.72rem;font-weight:650;line-height:1.4}.app-footer a{color:var(--muted);text-underline-offset:3px;text-decoration-color:#ffffff47}.footer-separator{color:#ffffff47}.app-footer a:hover{color:var(--text);-webkit-text-decoration-color:var(--guitar-accent-line);text-decoration-color:var(--guitar-accent-line)}.settings-panel{max-width:680px}.settings-list{gap:0;margin:18px 0 0;display:grid}.settings-list div{border-top:1px solid #ffffff1a;grid-template-columns:minmax(108px,.42fr) minmax(0,1fr);gap:14px;padding:14px 0;display:grid}.settings-list dt{color:var(--quiet);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700}.settings-list dd{color:var(--text);margin:0;font-size:.96rem}button{cursor:pointer;transition:transform .15s,filter .15s,border-color .15s,background-color .15s}button:hover{filter:brightness(1.04);border-color:#ffffff47}button:active{transform:translateY(1px)scale(.99)}@media (width>=720px){.app-shell{padding:16px}.branding-header{padding-bottom:8px}.brand-logo-panel{width:100%;height:88px}.brand-logo{width:540px;max-height:82px}.brand-name{font-size:1.72rem}.brand-service{font-size:.78rem}.brand-copy{grid-template-columns:minmax(0,1fr);align-items:end}.brand-copy .eyebrow,.brand-copy h1,.brand-copy .tagline{grid-column:1}.brand-copy .tagline{text-align:left;max-width:260px;padding-bottom:0}.practice-layout{grid-template-columns:minmax(0,1fr);align-items:start}.practice-side-stack{align-content:start;height:auto}.practice-side-stack.both-side-panels{grid-template-rows:auto auto;align-content:start}.practice-side-stack.both-side-panels .practice-mode-card,.practice-side-stack.both-side-panels .timer-panel{min-height:0}.practice-layout.main-centered{justify-content:center;align-items:stretch;width:min(100%,1040px)}.practice-layout.main-centered .practice-main-wrap{min-height:min(620px,100dvh - 190px)}.metronome-panel{flex-direction:column;display:flex}.practice-layout.main-centered .metronome-panel{min-height:inherit;justify-content:space-between;gap:clamp(8px,1.25vh,16px);padding:clamp(14px,2vw,22px)}.practice-layout.main-centered .tempo-card{margin:0;padding-block:clamp(16px,2.8vh,30px)}.practice-layout.main-centered .bpm-display span{font-size:clamp(3.75rem,11vw,6.6rem)}.practice-layout.main-centered .beat-sound-grid{--beat-max:108px;margin-block:0}.practice-layout.main-centered .beat-sound-button{min-height:clamp(50px,5.8vh,64px)}.practice-layout.main-centered .metronome-mid-controls{width:min(100%,430px);margin-block:0}.practice-layout.main-centered .play-row{margin:0 0 12px}.practice-layout.main-centered .play-action{min-height:clamp(48px,5.4vh,58px);font-size:clamp(1.08rem,2.2vw,1.28rem)}.metronome-panel .edge-tab-button{box-shadow:none}.metronome-panel .metronome-bottom-controls{grid-template-columns:minmax(108px,.28fr) minmax(0,1fr);margin-top:0}.metronome-panel .metronome-bottom-options{padding-top:0;padding-left:16px}.metronome-panel .metronome-bottom-options:before{width:1px;height:auto;top:6px;bottom:6px;right:auto}.panel{padding:16px}.tuner-screen{width:min(100%,820px)}.tuner-panel{gap:18px;padding:20px}.tuner-sensitivity-control{grid-template-columns:auto minmax(74px,1fr) auto;gap:10px}.input-level-meter{grid-column:auto}.tuner-sensitivity-control div{grid-template-columns:repeat(2,minmax(68px,1fr));width:auto}.tuner-hero{padding:30px 20px 24px}.meter-rail{height:76px}.tuner-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tuner-string-selector{grid-template-rows:repeat(2,minmax(52px,auto));grid-template-columns:minmax(112px,.8fr) repeat(3,minmax(0,1fr))}.tuner-auto-button,.tuner-string-card,.string-select-button,.reference-tone-button{min-height:52px}.tuner-string-card{grid-template-columns:minmax(0,1fr) 42px}.tuner-auto-button{grid-area:1/auto/span 2}.tuner-string-selector.compact-string-selector{grid-template-rows:minmax(52px,auto);grid-template-columns:minmax(92px,.66fr) repeat(4,minmax(0,1fr))}.compact-string-selector .tuner-auto-button{grid-area:auto}}@media (width>=1100px){.tuner-section .app-tabs.tuner-tabs{width:min(100%,1040px)}.tuner-section .tuner-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;width:min(100%,1040px);min-height:clamp(620px,100dvh - 350px,820px)}.tuner-section .tuner-panel{grid-template-rows:auto minmax(0,1fr) auto auto;align-content:stretch;gap:12px;padding:18px;display:grid}.tuner-section .tuner-heading{margin-bottom:0}.tuner-section .tuner-options-panel{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch;gap:12px;padding:18px;display:grid}.tuner-section .tuner-options-heading{margin-bottom:0}.tuner-section .tuner-options-panel .tuner-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tuner-section .tuner-options-panel .tuner-preset-grid button{min-height:34px}.tuner-section .tuner-hero{align-content:center;gap:8px;min-height:0;margin:4px 0 0;padding:clamp(18px,3.6vh,32px) 20px clamp(16px,3vh,28px)}.tuner-section .tuner-active-tuning{padding-block:5px}.tuner-section .tuner-note{font-size:clamp(5.2rem,9vw,7.2rem)}.tuner-section .tuner-string-label{font-size:.78rem}.tuner-section .tuner-status{padding-block:7px;font-size:.82rem}.tuner-section .tuner-steady-indicator{width:27px;height:27px}.tuner-section .tuner-helper{font-size:.76rem}.tuner-section .tuning-meter{gap:7px}.tuner-section .meter-rail{height:clamp(62px,7vh,82px)}.tuner-section .tuner-readouts div{min-height:clamp(54px,6vh,70px);padding-block:8px}.tuner-section .tuner-options-panel .tuner-string-selector,.tuner-section .tuner-options-panel .tuner-string-selector.compact-string-selector{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;align-self:stretch;gap:7px}.tuner-section .tuner-options-panel .tuner-auto-button,.tuner-section .tuner-options-panel .compact-string-selector .tuner-auto-button{grid-area:auto/1/auto/-1}.tuner-section .tuner-options-panel .tuner-auto-button,.tuner-section .tuner-options-panel .tuner-string-card,.tuner-section .tuner-options-panel .string-select-button,.tuner-section .tuner-options-panel .reference-tone-button{min-height:48px}.tuner-section .tuner-settings-strip{align-self:end}.tuner-section .tuner-sensitivity-control,.tuner-section .tuner-confirm-toggle label{padding-block:10px}.tuner-section .tuner-setting-actions{width:min(168px,100%)}.practice-layout{grid-template-columns:minmax(0,1.14fr) minmax(310px,.86fr);align-items:stretch}.practice-side-stack{height:100%}.practice-side-stack.both-side-panels{grid-template-rows:auto minmax(0,1fr);align-content:stretch}.practice-side-stack.both-side-panels>div{min-height:0;display:grid}.practice-layout.main-centered{grid-template-columns:minmax(0,1fr)}.practice-side-stack.both-side-panels .practice-mode-card,.metronome-panel{height:100%}.footer-brand-mark{display:none}.metronome-panel .tempo-card,.metronome-panel .action-grid,.metronome-panel .play-row{margin-top:auto}.practice-layout.main-centered .tempo-card,.practice-layout.main-centered .action-grid,.practice-layout.main-centered .play-row{margin-top:0}}@media (width>=720px) and (orientation:portrait){.app-shell{--shell-padding:clamp(22px, 4vw, 40px)}.practice-layout.main-centered{width:min(100%,980px)}.practice-layout.main-centered .practice-main-wrap{min-height:min(1000px,100dvh - 92px)}.practice-layout.main-centered .metronome-panel{gap:clamp(9px,1.2vh,16px);padding:clamp(15px,2.3vw,22px)}.practice-layout.main-centered.uses-bottom-sheet-panels .metronome-panel{justify-content:flex-start;gap:clamp(14px,1.9vh,26px)}.practice-layout.main-centered.uses-bottom-sheet-panels .metronome-bottom-controls{margin-top:auto}.practice-layout.main-centered.uses-bottom-sheet-panels .tempo-card{margin-bottom:clamp(8px,1.5vh,22px)}.practice-layout.main-centered.uses-bottom-sheet-panels .beat-sound-grid{margin-block:clamp(10px,1.8vh,24px)}.practice-layout.main-centered.uses-bottom-sheet-panels .metronome-mid-controls{margin-bottom:clamp(10px,1.8vh,24px)}.practice-layout.main-centered.uses-bottom-sheet-panels .play-row{margin:clamp(8px,1.5vh,18px) 0 clamp(14px,2vh,28px)}.practice-layout.main-centered .tempo-card{padding-block:clamp(16px,2.4vh,28px)}.practice-layout.main-centered .bpm-display span{font-size:clamp(4rem,11.5vw,6.8rem)}.practice-layout.main-centered .play-action{min-height:clamp(50px,5.6vh,62px)}}@media (width<=430px){.app-shell.has-app-nav{padding-bottom:calc(var(--shell-padding) + env(safe-area-inset-bottom) + 72px)}.app-shell.has-app-nav .app-tabs,.app-shell.has-app-nav .app-tabs.tuner-tabs{z-index:40;width:auto;padding:0 calc(10px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(10px + env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#050505f5;border-top:1px solid #ffffff29;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 26px #00000061}.app-shell.has-app-nav .app-tabs button{min-height:58px;color:var(--muted);letter-spacing:.14em;background:0 0;border:0;border-right:1px solid #ffffff14;flex:auto;padding:16px 10px 13px;font-size:.68rem;position:relative}.app-shell.has-app-nav .app-tabs button:last-child{border-right:0}.app-shell.has-app-nav .app-tabs button.selected{color:var(--text);box-shadow:none;background:#ffffff09}.app-shell.has-app-nav .app-tabs button:before{content:"";background:0 0;height:2px;position:absolute;top:0;left:18px;right:18px}.app-shell.has-app-nav .app-tabs button.selected:before{background:var(--text)}.app-shell{--shell-padding:10px}.panel{padding:12px}.tempo-card{--tempo-card-x-padding:12px;padding-inline:12px}.tempo-builder-compact-status{grid-template-columns:auto minmax(72px,1fr);gap:7px 10px;width:100%}.tempo-builder-compact-status p{text-align:right}.tempo-builder-compact-status small{text-align:left}.tempo-builder-compact-status .tempo-bars-left{text-align:right}.stepper{gap:8px}.stepper:not(.tempo-stepper){grid-template-columns:42px minmax(0,1fr) 42px}.tempo-stepper{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.brand-logo-panel{gap:10px;height:70px}.brand-logo{width:min(56vw,250px);max-height:66px}.brand-name{font-size:clamp(.92rem,3.6vw,1.06rem)}.brand-service{font-size:.58rem}.brand-current-time{margin-top:5px;padding:3px 6px;font-size:.58rem}.preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tuner-panel{gap:12px}.tuner-start-button{min-width:116px;padding-inline:10px;font-size:.82rem}.tuner-note{font-size:clamp(4.5rem,30vw,6.8rem)}.tuner-helper.too-quiet{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tuner-readouts{gap:6px}.tuner-readouts div{min-height:58px;padding-inline:5px}.tuner-sensitivity-control{grid-template-columns:minmax(0,1fr);gap:9px}.tuner-setting-copy{grid-template-columns:auto minmax(108px,1fr)}.tuner-setting-actions{justify-self:stretch;width:100%}.tuner-setting-actions button{min-height:40px}.timer-finish-groups{grid-template-columns:minmax(0,1fr)}.tuner-string-selector,.tuner-preset-grid{gap:6px}.tuner-preset-grid button{min-height:38px;padding-inline:5px;font-size:.65rem}.tuner-string-card{grid-template-columns:minmax(0,1fr) 42px}.string-select-button{padding-inline:6px}.reference-tone-button{font-size:.5rem}.segmented-control,.action-grid,.stepper{gap:10px}.stepper.tempo-stepper{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.stepper.practice-focus-tempo-stepper{grid-template-columns:repeat(3,minmax(28px,1fr)) minmax(48px,1.35fr) repeat(3,minmax(28px,1fr));gap:4px}.practice-focus-tempo-stepper input{grid-area:auto}.tempo-stepper button{min-height:38px;padding-inline:2px;font-size:.68rem}.practice-focus-tempo-stepper button:first-of-type,.practice-focus-tempo-stepper button:nth-of-type(2),.practice-focus-tempo-stepper button:nth-of-type(3),.practice-focus-tempo-stepper button:nth-of-type(4),.practice-focus-tempo-stepper button:nth-of-type(5),.practice-focus-tempo-stepper button:nth-of-type(6){grid-area:auto}.segmented-control button,.preset-grid button,.sound-mode-control button,.custom-minutes{min-width:0;padding-inline:4px}.metronome-heading-actions{padding-left:6px}.timer-status-strip{background:#181818;border:1px solid #ffffff1c;border-bottom:0;margin:4px 0 0;padding:6px;display:block}.compact-timer-cluster,.compact-timer-stack{gap:4px}.timer-status-strip .compact-timer-cluster{grid-template-columns:minmax(0,1fr) auto auto;justify-content:stretch;gap:6px;width:100%;margin-inline:0;display:grid}.timer-status-strip .compact-timer-stack{grid-template-columns:minmax(88px,1fr);min-width:0;display:grid}.timer-status-strip .compact-timer-stack.has-round-status{grid-template-columns:minmax(88px,1fr) minmax(82px,auto)}.compact-timer-badge{min-width:70px;padding-inline:8px}.timer-status-strip .compact-timer-badge,.timer-status-strip .compact-round-badge{width:100%;min-width:0;height:46px;min-height:46px}.compact-round-badge{padding-inline:6px;font-size:.52rem}.compact-timer-icon-button{width:46px;min-width:46px;height:46px}.metronome-mid-controls{width:100%}.beat-sound-grid{grid-template-columns:repeat(var(--beat-count,6), minmax(0, 1fr));gap:5px;width:100%}.sound-mode-control{gap:4px}.sound-mode-control button{min-width:0;padding-inline:2px;font-size:.58rem}.practice-focus-settings-sheet{padding:12px calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}.practice-focus-tempo-card{gap:10px;padding:12px}.practice-focus-tempo-display{min-height:70px}.practice-focus-tempo-actions{grid-template-columns:minmax(0,1fr);gap:8px}.practice-focus-time-signature{gap:6px}.beat-sound-button{min-height:60px;padding:9px 3px}}@media (width<=719px),(orientation:portrait) and (width<=1100px),(width<=1100px) and (height<=760px){.practice-focus-overlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.practice-focus-shell{width:100%;max-width:none;height:100%;max-height:none}.practice-focus-top{--focus-top-control-height:clamp(58px, 10.5vmin, 72px);grid-template-columns:minmax(104px,.92fr) minmax(104px,.92fr) auto auto auto}.practice-focus-bottom{grid-template-columns:minmax(460px,1.55fr) minmax(128px,.52fr) minmax(70px,.36fr)}.practice-focus-actions{grid-template-columns:minmax(0,1fr) auto auto}.practice-focus-timer-actions{grid-template-columns:repeat(2,auto)}.practice-focus-beat strong{font-size:clamp(.56rem,2.35vmin,.82rem)}}@media (orientation:portrait) and (width<=1100px){.practice-focus-shell{transform-origin:50%;width:100dvh;height:100dvw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}}@media (height<=460px),(orientation:portrait) and (width<=719px){.practice-focus-shell{gap:7px;padding:8px}.practice-focus-center{padding:8px}.practice-focus-stat,.practice-focus-builder,.practice-focus-timer,.practice-focus-close{min-height:42px;padding:6px 8px}.practice-focus-stat strong,.practice-focus-builder strong,.practice-focus-timer strong{font-size:clamp(1rem,4.2vmin,1.72rem)}.practice-focus-primary,.practice-focus-icon-button{min-height:42px}.practice-focus-bottom{--focus-bottom-control-height:clamp(54px, 10vmin, 64px);grid-template-columns:minmax(400px,1.55fr) minmax(116px,.48fr) minmax(74px,.36fr)}.practice-focus-bottom-tempo{flex-basis:86px;min-height:0}.practice-focus-tap-button,.practice-focus-sound-button,.practice-focus-tempo-nudge{min-height:0}.practice-focus-tempo-nudge{width:38px;padding-inline:3px}.practice-focus-tap-button{min-width:46px;padding-inline:6px}.practice-focus-icon-button{width:42px;min-width:42px;height:42px}}@media (width<=719px),(orientation:portrait) and (width<=1100px),(width<=1100px) and (height<=760px){.practice-layout.uses-bottom-sheet-panels{grid-template-columns:minmax(0,1fr)}.practice-layout.uses-bottom-sheet-panels:not(.bottom-sheet-open){width:min(100%,1040px)}.practice-layout.uses-bottom-sheet-panels .practice-side-stack{display:none}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack{--sheet-drag-offset:0px;z-index:56;overscroll-behavior:contain;width:100%;max-height:min(82dvh,640px);padding:14px calc(12px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));transform:translateY(var(--sheet-drag-offset));background:linear-gradient(#262626,#202020 42%,#181818);border-top:1px solid #ffffff29;transition:transform .19s ease-out;animation:.19s ease-out bottom-sheet-in;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -22px 46px #0000008f}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack.dragging{transition:none}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .bottom-sheet-handle{appearance:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;width:86px;height:26px;min-height:26px;margin:-4px auto 9px;padding:0;transition:none;display:grid}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .bottom-sheet-handle span{background:#ffffff47;width:44px;height:3px;display:block}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .bottom-sheet-handle:hover{filter:none;border:0}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .bottom-sheet-handle:active{cursor:grabbing;transform:none}.practice-layout.uses-bottom-sheet-panels .bottom-sheet-panel-shell{display:none}.practice-layout.uses-bottom-sheet-panels .bottom-sheet-panel-shell.active{display:block}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack .panel{box-shadow:none;background:0 0;border:0;padding:0;overflow:visible}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack .panel-heading{margin-bottom:12px}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack .panel-toggle-button{background:#181818;min-width:70px}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .timer-panel{align-content:start}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .timer-display,.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .timer-actions{display:none}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-mode-panel{margin-bottom:0}.bottom-sheet-backdrop{z-index:52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000061;border:0;width:100%;min-height:100dvh;padding:0;transition:none;display:block;position:fixed;inset:0}.bottom-sheet-backdrop:hover{filter:none;border:0}.bottom-sheet-backdrop:active{transform:none}}.tempo-card.with-timer-strip,.practice-layout.main-centered .tempo-card.with-timer-strip,.metronome-panel .tempo-card.with-timer-strip{padding-top:0}@media (width>=720px) and (orientation:portrait) and (width<=1100px){.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack{right:calc(28px + env(safe-area-inset-right));left:calc(28px + env(safe-area-inset-left));width:auto;max-width:940px;max-height:min(76dvh,720px);padding:18px 24px calc(20px + env(safe-area-inset-bottom));margin-inline:auto}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .bottom-sheet-handle{margin-bottom:12px}.practice-layout.uses-bottom-sheet-panels.bottom-sheet-open .practice-side-stack .panel-heading{margin-bottom:16px}}@keyframes bottom-sheet-in{0%{opacity:.82;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
