@layer base,systems,components,pages;@layer base{@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/XRXV3I6Li01BKofIO-aBXso-CXYtwYOx.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/XRXV3I6Li01BKofINeaB-BzFMHfZw.woff2) format("woff2");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:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/XRXV3I6Li01BKofIO-aBXso-CXYtwYOx.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/XRXV3I6Li01BKofINeaB-BzFMHfZw.woff2) format("woff2");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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/XRXV3I6Li01BKofIO-aBXso-CXYtwYOx.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/XRXV3I6Li01BKofINeaB-BzFMHfZw.woff2) format("woff2");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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/XRXV3I6Li01BKofIO-aBXso-CXYtwYOx.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/XRXV3I6Li01BKofINeaB-BzFMHfZw.woff2) format("woff2");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:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Wnz6HAc5bAfYB2Q7aDYYmg8-Byk3UhVp.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/Wnz6HAc5bAfYB2Q7ZjYY-C1hSzPvX.woff2) format("woff2");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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Wnz6HAc5bAfYB2Q7aDYYmg8-Byk3UhVp.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/Wnz6HAc5bAfYB2Q7ZjYY-C1hSzPvX.woff2) format("woff2");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:"Cedarville Cursive";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/yYL00g_a2veiudhUmxjo5VKkoqA-B_nuIrpw-iwxzJfoE.woff2) format("woff2");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:Dancing Script;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7B7y03Rep8hNX6plRPjLo-JElpt8xB.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Dancing Script;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7B7y03ROp8hNX6plRPjLo-nGoYSVBj.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Dancing Script;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/If2cXTr6YS-zF4S-kcSWSVi_sxjsohD9F50Ruu7B7y03Sup8hNX6plRP-Dn6PXpOi.woff2) format("woff2");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:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/E21i_d3kivvAkxhLEVZpQyZwD8CtevK5qw-B5ixarxK.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Parisienne;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/E21i_d3kivvAkxhLEVZpQyhwD8CtevI-CbT3YVsa.woff2) format("woff2");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:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/9oRPNYsQpS4zjuA_hAgWHNn7GfHC-C3qHyIu3.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/9oRPNYsQpS4zjuA_hQgWHNn7GfHC-Bp-zNc3i.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Allura;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/9oRPNYsQpS4zjuA_iwgWHNn7GQ-Bu9iEP6d.woff2) format("woff2");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:Pinyon Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/6xKpdSJbL9-e9LuoeQiDRQR8WOraOqTimDdT9g-CJqi6AEV.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pinyon Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/6xKpdSJbL9-e9LuoeQiDRQR8WOvaOqTimDdT9g-BbT9Ejq1.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pinyon Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/6xKpdSJbL9-e9LuoeQiDRQR8WOXaOqTimDc-DG755snz.woff2) format("woff2");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:Sacramento;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/buEzpo6gcdjy0EiZMBUG4CMf_f5Iai0Ycw-KeDaxnnF.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sacramento;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/buEzpo6gcdjy0EiZMBUG4C0f_f5Iai0-IUZxGEDN.woff2) format("woff2");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:Petit Formal Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/B50TF6xQr2TXJBnGOFME6u5OR83oRP5qkHDgPqoaWiDPWQ-Bo3XC7fu.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Petit Formal Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/B50TF6xQr2TXJBnGOFME6u5OR83oRP5qkH7gPqoaWiA-DkrcpWKV.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKky2F7i6C-DkewdGEa.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtKky2F7g-vTYAbwjx.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKky2F7i6C-DkewdGEa.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtKky2F7g-vTYAbwjx.woff2) format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKky2F7i6C-DkewdGEa.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtKky2F7g-vTYAbwjx.woff2) format("woff2");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}}@layer base{:root{--color-brand: #10b89f;--color-brand-dark: #0b9a85;--color-brand-light: #e8f5f2;--color-brand-lighter: #f0f9f7;--color-bg-dark: #071415;--color-bg-elevated: #0b2223;--color-text: #fff;--color-text-muted: #e8f0ee;--color-heading: var(--color-text);--color-danger: #ff6b6b;--alpha-10: rgb(255 255 255 / 10%);--alpha-30: rgb(255 255 255 / 30%);--alpha-70: rgb(255 255 255 / 70%);--alpha-90: rgb(255 255 255 / 90%);--overlay-soft: rgb(0 0 0 / 30%);--overlay-strong: rgb(0 0 0 / 70%);--alpha-04: rgb(255 255 255 / 4%);--alpha-06: rgb(255 255 255 / 6%);--alpha-25: rgb(255 255 255 / 25%);--overlay-8: rgb(0 0 0 / 8%);--gold-glow: rgb(212 175 55 / 8%);--text-xs: .75rem;--text-sm: .85rem;--text-base: 1rem;--text-lg: 1.2rem;--text-xl: 1.5rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--radius-xs: 4px;--radius-sm: 8px;--radius: 16px;--radius-lg: 24px;--color-accent: #ffd578;--color-accent-warm: #ffd6a0;--color-surface-1: #0b2223;--color-surface-2: #123133;--color-surface-3: #184244;--color-surface-paper: #f6f0e7;--color-text-on-paper: #1b120b;--glass-bg: rgb(10 47 49 / 70%);--glass-border: rgb(255 255 255 / 10%);--glass-shadow: 0 8px 32px rgb(0 0 0 / 30%);--surface-border-rim: rgb(255 255 255 / 7%);--color-success: #10b89f;--color-warning: #ffb84d;--color-warning-orange: #e67e22;--color-warning-light: #fff3e0;--color-warning-lighter: #fffaf5;--border: var(--alpha-10);--card-border: var(--alpha-10);--shadow-soft: 0 2px 8px var(--overlay-soft);--shadow-strong: 0 4px 12px var(--overlay-strong);--gradient: linear-gradient(135deg, var(--color-bg-elevated), var(--color-bg-dark));--gradient-elevated: linear-gradient(145deg, var(--color-bg-elevated), var(--color-bg-dark));--tool-gradient-start: var(--color-bg-elevated);--tool-gradient-end: var(--color-bg-dark);--tool-gradient-end-brighter: #004044;--badge-border-success: var(--color-brand);--badge-border-info: var(--alpha-30);--badge-border-warning: var(--color-danger);--chip-primary-bg: rgb(16 184 159 / 12%);--chip-primary-border: rgb(16 184 159 / 40%);--chip-primary-text: var(--color-brand);--chip-accent-bg: rgb(255 215 0 / 12%);--chip-accent-border: rgb(255 215 0 / 40%);--chip-accent-text: var(--color-accent);--chip-neutral-bg: rgb(232 240 238 / 16%);--chip-neutral-border: rgb(232 240 238 / 40%);--chip-neutral-text: var(--color-text-muted);--color-secondary-soft: rgb(139 123 255 / 16%);--color-secondary-border: rgb(139 123 255 / 45%);--color-secondary-text: #c7beff;--chip-secondary-bg: var(--color-secondary-soft);--chip-secondary-border: var(--color-secondary-border);--chip-secondary-text: var(--color-secondary-text);--aquarium-teal-900: #065f56;--aquarium-teal-800: #0f766e;--aquarium-teal-700: #0d9488;--aquarium-teal-600: #0891b2;--aquarium-teal-500: #14b8a6;--aquarium-teal-500-alpha-30: rgb(20 184 166 / 30%);--aquarium-teal-500-alpha-90: rgb(20 184 166 / 90%);--aquarium-teal-depth-alpha-40: rgb(15 118 110 / 40%);--aquarium-teal-depth-alpha-80: rgb(15 118 110 / 80%);--aquarium-glow-alpha-20: rgb(76 237 212 / 20%);--aquarium-glow-alpha-30: rgb(76 237 212 / 30%);--aquarium-glow-alpha-40: rgb(76 237 212 / 40%);--aquarium-glow-alpha-50: rgb(76 237 212 / 50%);--aquarium-glow-alpha-60: rgb(76 237 212 / 60%);--aquarium-glow-alpha-70: rgb(76 237 212 / 70%);--aquarium-glow-alpha-80: rgb(76 237 212 / 80%);--aquarium-depth-alpha-30: rgb(9 92 83 / 30%);--aquarium-depth-alpha-35: rgb(9 92 83 / 35%);--aquarium-depth-alpha-40: rgb(9 92 83 / 40%);--aquarium-bubble-alpha-30: rgb(200 230 255 / 30%);--aquarium-bubble-alpha-60: rgb(200 230 255 / 60%);--aquarium-wave-blue: #2196f3;--aquarium-wave-blue-alpha-40: rgb(33 150 243 / 40%);--aquarium-blue-700: #1976d2;--duel-right-bronze: #cd7f32;--duel-right: var(--duel-right-bronze);--aquarium-blue-600: #1565c0;--aquarium-amber: #ffc107;--aquarium-amber-alpha-50: rgb(255 193 7 / 50%);--aquarium-amber-alpha-60: rgb(255 193 7 / 60%);--aquarium-amber-alpha-80: rgb(255 193 7 / 80%);--aquarium-sunbeam: #ffeb3b;--aquarium-sunbeam-alpha-60: rgb(255 235 59 / 60%);--aquarium-orange-600: #f57c00;--aquarium-orange-500: #ff9800;--aquarium-sand-100: #dbac72;--aquarium-sand-200: #d4a574;--aquarium-sand-300: #c19a5f;--aquarium-sand-400: #b8935a;--aquarium-sand-500: #a68650;--aquarium-sand-600: #8f7542;--aquarium-sand-700: #6b5a42;--aquarium-sand-800: #5d4e35;--aquarium-sand-900: #4a3d2a;--retro-overlay: rgb(20 30 40 / 95%);--retro-surface-dark: #1c1c1c;--retro-surface-mid: #3a3a3a;--retro-panel-dark: #2a2a2a;--retro-panel-outline: #111;--retro-border-deep: #1a1a1a;--retro-border-muted: #444;--retro-border-soft: #666;--retro-metallic: #d8c8b0;--retro-wave-active: rgb(0 20 15 / 80%);--retro-neon-glow-30: rgb(0 255 229 / 30%);--retro-neon-glow-60: rgb(0 255 229 / 60%);--retro-steel-highlight: rgb(60 60 60 / 20%);--retro-cream-glow-40: rgb(240 230 210 / 40%);--retro-cream-glow-50: rgb(240 230 210 / 50%);--retro-cream-soft: #fff5cc;--retro-dial-highlight: #fff3d6;--retro-panel-border-contrast: #151515;--retro-panel-border-soft: #a09080;--retro-panel-edge: #876a4a;--retro-panel-border: #a08060;--retro-panel-border-light: #c0a080;--retro-panel-surface: #f3d9b9;--retro-panel-surface-shadow: #e1cba8;--retro-panel-text: #111;--retro-warm-glow-40: rgb(255 200 170 / 40%);--retro-alert-soft: #fdc;--retro-alert-warm: #fca;--retro-alert-border: #c64;--retro-alert-text: #621;--retro-alert-highlight: #d75;--retro-mint-base: #0bd1be;--retro-mint-deep: #068479;--retro-mint-shadow: #034d46;--retro-mint-mid: #50b0a0;--retro-mint-soft: #a0f0e0;--retro-mint-highlight: #adffc0;--retro-foam-glow: #e0fffa;--retro-timer-cyan-bright: #0ac;--retro-timer-cyan-mid: #009bb0;--retro-timer-teal-soft: #07988d;--retro-timer-teal-deep: #066b60;--retro-timer-teal-shadow: #055852;--start-button-bg-1: #087268;--start-button-bg-2: #054540;--start-button-bg-3: #032d28;--start-button-hover-1: #0a7f70;--start-button-hover-2: #065550;--start-button-hover-3: #043835;--start-button-active-1: #066558;--start-button-active-2: #043b35;--start-button-active-3: #022520}.btn{padding:.5rem 1.5rem;border-radius:var(--radius);cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .12s ease;font-weight:500;text-align:center;text-decoration:none;display:inline-block;font-size:.9rem;background:var(--color-bg-elevated);border:1px solid var(--alpha-10);box-shadow:var(--shadow-soft);color:var(--color-text-muted)}.btn:hover{filter:brightness(1.03);box-shadow:0 4px 12px var(--overlay-soft);transform:translateY(-1px)}.btn--secondary{background:transparent;border:1px solid var(--alpha-30);opacity:.8;box-shadow:none}.btn--secondary:hover{background:var(--alpha-10);border-color:var(--alpha-30);opacity:1;filter:none;transform:none;box-shadow:none}.btn--danger{background:transparent;border:1px solid var(--alpha-30);opacity:.7;box-shadow:none}.btn--danger:hover{background:var(--alpha-10);border-color:var(--color-danger);color:var(--color-danger);opacity:1;filter:none;transform:none}.btn--danger-solid{background:color-mix(in srgb,var(--color-danger) 18%,transparent);border-color:color-mix(in srgb,var(--color-danger) 45%,var(--alpha-30));color:var(--color-danger);opacity:1;box-shadow:none}.btn--danger-solid:hover{background:color-mix(in srgb,var(--color-danger) 26%,transparent);border-color:var(--color-danger);color:var(--color-danger);filter:none;transform:none}.btn--small{padding:6px 12px;font-size:.8rem}.btn--large{padding:12px 24px;font-size:1rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;filter:none!important}.btn--full{width:100%}.btn--brand{background:var(--color-brand);color:#fff;border-color:var(--color-brand)}.btn--brand:hover{background:var(--color-brand-dark);border-color:var(--color-brand-dark)}.btn--gradient{background:var(--tool-gradient-start);border-color:var(--alpha-10)}.btn--gradient:hover{background:var(--tool-gradient-end);border-color:var(--color-brand)}.btn--aquarium{background:linear-gradient(135deg,var(--aquarium-teal-500) 0%,var(--aquarium-teal-600) 100%);color:#fff;border:none;font-weight:600;letter-spacing:.5px}.btn--aquarium:hover{background:linear-gradient(135deg,var(--aquarium-teal-800) 0%,var(--aquarium-teal-900) 100%);transform:translateY(-2px);box-shadow:0 6px 20px var(--aquarium-teal-depth-alpha-40)}.btn--aquarium.btn--large{padding:18px 40px;font-size:1.2em;border-radius:30px;text-transform:uppercase;letter-spacing:1px}.btn--tool{background:linear-gradient(135deg,var(--aquarium-wave-blue) 0%,var(--aquarium-blue-700) 100%);color:#fff;border:none;font-weight:600}.btn--tool:hover{background:linear-gradient(135deg,var(--aquarium-blue-700) 0%,var(--aquarium-blue-600) 100%);transform:scale(1.1);box-shadow:0 4px 10px var(--aquarium-wave-blue-alpha-40)}.btn--tool.active{background:linear-gradient(135deg,var(--aquarium-amber) 0%,var(--aquarium-orange-500) 100%);box-shadow:0 0 15px var(--aquarium-amber-alpha-60);animation:tool-active-pulse 2s ease-in-out infinite}.btn--tool.active:hover{background:linear-gradient(135deg,var(--aquarium-orange-500) 0%,var(--aquarium-orange-600) 100%)}.btn--round{width:40px;height:40px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.btn--round.btn--small{width:32px;height:32px;font-size:16px}.btn--animated{animation:button-pulse 2s ease-in-out infinite}.btn--animated:hover{animation:none;transform:scale(1.08)}@keyframes button-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes tool-active-pulse{0%,to{box-shadow:0 0 20px var(--aquarium-amber-alpha-50)}50%{box-shadow:0 0 30px var(--aquarium-amber-alpha-80)}}a{color:var(--color-brand);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-brand-dark);text-decoration:underline}*{margin:0;padding:0;box-sizing:border-box}*:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px;border-radius:var(--radius-xs)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-brand);outline-offset:2px}html,body{width:100%;height:100%}body{font-family:Nunito,Arial,sans-serif;background-color:var(--color-bg-dark);color:var(--color-text-muted);display:flex;flex-direction:column;min-height:100vh;margin:0}.login-register-links{display:flex;justify-content:center;gap:20px;padding:15px;background-color:var(--alpha-10);border-bottom:1px solid var(--alpha-10)}.login-register-links a{color:var(--color-brand);text-decoration:none;font-weight:700;padding:8px 16px;border-radius:var(--radius);transition:background-color .3s}.login-register-links a:hover{background-color:var(--alpha-10)}.main-content{flex:1 0 auto;display:flex;flex-direction:column;padding-bottom:70px;padding-top:15px;position:relative}@supports (min-height: 100dvh){body{min-height:100dvh}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-surface-1);display:flex;justify-content:space-between;padding:10px 20px;z-index:999;height:60px;border-top:1px solid var(--surface-border-rim);box-shadow:0 -4px 12px var(--overlay-soft)}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:calc(10px + env(safe-area-inset-bottom));height:calc(60px + env(safe-area-inset-bottom))}.main-content{padding-bottom:calc(70px + env(safe-area-inset-bottom))}}.bottom-nav .nav-links{display:flex;justify-content:space-evenly;flex-grow:1;padding:0 10px;max-width:600px;margin:0 auto}.bottom-nav a{color:var(--color-text-muted);text-decoration:none;padding:6px 12px;border-radius:999px;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .12s ease;display:flex;flex-direction:column;align-items:center;gap:4px;width:80px;justify-content:center}@media (width <= 480px){.bottom-nav a{width:60px;padding:6px}}.bottom-nav img{width:28px;height:28px;aspect-ratio:1;object-fit:contain;padding:1px;opacity:.75;transition:opacity .18s ease,transform .12s ease}.icon-bottom-nav{filter:brightness(0) invert(1)}.icon-bottom-nav--primary{transform:translateY(-1px)}.bottom-nav a:hover{background-color:var(--alpha-10);box-shadow:0 2px 8px var(--overlay-soft);color:var(--color-text-muted)}.bottom-nav a.active{background-color:var(--color-brand);color:var(--color-bg-dark);box-shadow:0 3px 10px var(--overlay-soft);transform:translateY(-1px)}.bottom-nav a:hover img{opacity:.9}.bottom-nav a.active img{opacity:1;transform:translateY(-1px)}.page-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--overlay-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:2000}body.page-loading .page-loading-overlay{opacity:1;pointer-events:auto}body.page-loading{cursor:progress}.page-loading-overlay__card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--radius);background:color-mix(in srgb,var(--color-bg-elevated) 85%,transparent);border:1px solid var(--alpha-10);box-shadow:0 10px 30px var(--overlay-strong);min-width:170px}.page-loading-text{font-size:var(--text-sm);color:var(--color-text-muted);opacity:.9}.page-loading-spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--alpha-30);border-top-color:var(--color-brand);box-shadow:0 0 18px color-mix(in srgb,var(--color-brand) 28%,transparent);animation:pageLoadingSpin .9s linear infinite}@keyframes pageLoadingSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.page-loading-spinner{animation:none}.page-loading-overlay{transition:none}}@view-transition{navigation: auto;}::view-transition-group(root){animation-duration:.3s}::view-transition-old(root){animation:fade-out .3s ease-out}::view-transition-new(root){animation:fade-in .3s ease-out}::view-transition-image-pair(root){isolation:isolate;background:linear-gradient(135deg,var(--color-bg-dark) 0%,var(--color-bg-dark) 100%)}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.nav-link-aquarium{position:relative;overflow:hidden}.hidden{display:none!important}}@layer systems{.form{width:100%}.form--compact{max-width:400px}.form--standard{max-width:600px}.form-field{margin-bottom:20px;text-align:left}.form-field--inline{display:flex;align-items:center;gap:var(--space-md)}.form-field--compact{margin-bottom:12px}.form-field--compact .form-field__input,.form-field--compact .form-field__select{min-height:40px;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.form-field--compact .form-field__input[type=datetime-local],.form-field--compact .form-field__input[type=date],.form-field--compact .form-field__input[type=time]{height:40px}.form-field__label{display:block;margin-bottom:8px;font-weight:600;color:var(--color-text-muted);font-size:var(--text-sm)}.form-field__label--required:after{content:" *";color:var(--color-brand)}.form-field__input,.form-field__textarea,.form-field__select{width:100%;max-width:100%;box-sizing:border-box;min-width:0;padding:var(--space-md) var(--space-lg);border:1px solid var(--alpha-10);border-radius:var(--radius);background-color:var(--color-bg-elevated);color:var(--color-text-muted);font-size:var(--text-base);line-height:1.2;transition:all .2s ease;font-family:inherit}.form-field__input,.form-field__select{min-height:44px}.form-field__input[type=datetime-local],.form-field__input[type=date],.form-field__input[type=time]{display:block;inline-size:100%;max-inline-size:100%;max-width:100%;min-width:0;height:44px}.form-field__input:focus,.form-field__textarea:focus,.form-field__select:focus{outline:none;border-color:var(--color-brand);background-color:var(--alpha-10);box-shadow:0 0 0 2px var(--alpha-10)}.form-field__input:disabled,.form-field__textarea:disabled,.form-field__select:disabled{opacity:.5;cursor:not-allowed}.form-field__input::placeholder,.form-field__textarea::placeholder{color:var(--alpha-30)}.form-field__textarea{resize:vertical;min-height:100px}.form-field__textarea--paper{background:var(--color-surface-paper);color:var(--color-text-on-paper);border-color:var(--surface-border-rim)}.form-field__textarea--paper:focus{background:var(--color-surface-paper)}.form-field__textarea--paper::placeholder{color:var(--alpha-70);font-style:italic}.form-field__select{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' fill-opacity='0.6' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.form-field__input--compact{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.form-field__input--large{padding:var(--space-lg) var(--space-xl);font-size:var(--text-lg)}.form-actions{display:flex;gap:var(--space-md);margin-top:24px;justify-content:flex-end}.form-actions--with-divider{border-top:1px solid var(--alpha-10);padding-top:1rem}.form-actions--center{justify-content:center}.form-actions--spread{justify-content:space-between}.form-field__hint{color:var(--alpha-70);font-size:var(--text-sm);margin-top:4px}.form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--alpha-10)}.form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section__title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-muted);margin-bottom:16px}.form--inline{display:flex;gap:var(--space-md);align-items:flex-end}.form--inline .form-field{flex:1;margin-bottom:0}.form--inline .btn{flex-shrink:0}.radio-group{display:flex;flex-direction:column;gap:var(--space-md)}.radio-option{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--alpha-10);border-radius:var(--radius);transition:all .2s ease;cursor:pointer}.radio-option:has(input:checked){background-color:var(--alpha-10);border-color:var(--color-brand)}.radio-option input[type=radio]{margin-top:3px;flex-shrink:0}.radio-option__content{display:flex;flex-direction:column;gap:2px;min-width:0}.radio-option__label{font-weight:600;color:var(--color-text-muted)}.radio-option__hint{font-size:.875rem;color:var(--alpha-70)}@media (width <= 480px){.form-actions{flex-direction:column}.form-actions button,.form-actions a{width:100%}.form--inline{flex-direction:column;align-items:stretch}.form--inline .form-field{margin-bottom:12px}}@media (pointer: coarse){.form-field--compact .form-field__input[type=datetime-local],.form-field--compact .form-field__input[type=date],.form-field--compact .form-field__input[type=time]{font-size:16px}}}@layer components{.modal,.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--overlay-strong, var(--overlay-strong));z-index:1000;display:flex;align-items:center;justify-content:center}.modal-content{background:var(--modal-bg, var(--glass-bg));backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border-radius:var(--modal-radius, var(--radius));padding:0;width:90%;max-width:400px;overflow-x:hidden;box-shadow:var(--modal-shadow, var(--glass-shadow));border:1px solid var(--glass-border)}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--alpha-10);display:flex;justify-content:space-between;align-items:center}.modal-header h3{color:var(--color-text-muted);margin:0;font-size:1.2rem;font-weight:600}.modal-close{background:none;border:none;color:var(--alpha-70);font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{color:var(--color-text-muted);background:var(--alpha-10)}.modal-body{padding:20px 24px}.modal-actions{padding:16px 24px 24px;display:flex;gap:12px;justify-content:flex-end}@media (width <= 768px){.modal-header{padding:16px 20px 12px}.modal-body{padding:16px 20px}.modal-actions{padding:12px 20px 20px}}}@layer components{a.card{color:inherit;text-decoration:none;display:block}a.card:hover{color:inherit;text-decoration:none}.card-inner{padding:var(--space-md) var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);position:relative}.card-inner--compact{padding:var(--space-sm) var(--space-md);gap:var(--space-md)}.card-inner--column{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--space-sm)}.card-inner--center{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-sm)}.card-inner--spacious{padding:var(--space-lg) var(--space-xl);gap:var(--space-xl)}.card-content{flex:1;display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.card-header{display:flex;flex-direction:column;gap:var(--space-xs);text-align:left}.card-actions{display:flex;gap:var(--space-sm);flex-shrink:0;align-items:center}.card-actions--column{flex-direction:column}.card-meta{display:flex;gap:var(--space-md);font-size:var(--text-sm);color:var(--alpha-70);align-items:center}.card-meta--column{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.card-inner--interactive{cursor:pointer;transition:all .2s ease}.card-inner--interactive:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--overlay-strong)}.card-inner--completed{border-color:var(--color-brand);box-shadow:0 0 10px var(--alpha-30)}.card-inner--in-progress{border-left:3px solid var(--color-brand);padding-left:calc(var(--space-lg) - 3px)}.card-title{font-size:var(--text-lg);font-weight:500;color:var(--color-text);margin:0;line-height:1.2}.card-title--large{font-size:var(--text-xl);font-weight:600}.card-title--small{font-size:var(--text-base);font-weight:500}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.card-description{color:var(--alpha-70);font-size:var(--text-sm);line-height:1.5;margin:0}@media (width <= 480px){.card-inner{padding:var(--space-sm) var(--space-md);gap:var(--space-md)}.card-inner--compact{padding:var(--space-xs) var(--space-sm);gap:var(--space-sm)}.card-inner--spacious{padding:var(--space-md) var(--space-lg);gap:var(--space-lg)}.card-actions{gap:var(--space-xs);flex-wrap:wrap}.card-meta{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.card-title--large{font-size:var(--text-lg)}}.competition-name{font-size:24px;font-weight:500;color:var(--color-text);margin:0 0 2px!important;padding:0;line-height:1}.competition-band{font-size:13px;font-weight:400;color:var(--color-text-muted);margin:0;line-height:1}.practice-title{font-size:var(--text-xl);font-weight:500;color:var(--color-text);margin:0;line-height:1;text-align:left}.progress-indicator{margin:0}.progress-text{font-size:13px;color:var(--color-text-muted);margin-bottom:3px;display:block;font-weight:400}.progress-indicator.ongoing .progress-text{color:var(--color-text-muted);font-weight:500}.date-range-full{display:flex;align-items:center;justify-content:space-between;margin-top:4px;margin-bottom:8px;font-size:12px;color:var(--color-text-muted)}.date-range-full.ongoing{color:var(--color-text-muted)}.badges-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:0}.practice-datetime{display:flex;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-muted);align-items:center}.practice-date{color:var(--color-text-muted);font-weight:500;display:flex;align-items:center;gap:var(--space-xs)}.practice-time{color:var(--color-text-muted);font-weight:500;padding:2px 8px;background:var(--alpha-10);border-radius:6px}.practice-badges{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.practice-progress{position:relative;width:60px;height:60px;flex-shrink:0;background:var(--overlay-soft);border-radius:50%;padding:4px}.practice-progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.practice-progress-bg{fill:none;stroke:var(--overlay-strong);stroke-width:4}.practice-progress-fill{fill:none;stroke:url(#practice-progress-gradient);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.practice-progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);text-align:center;line-height:1.2}.practice-progress-gradient,.practice-progress-gradient-end{stop-color:var(--color-brand)}@media (width <= 480px){.practice-badges{gap:var(--space-xs)}.practice-progress{width:50px;height:50px}.practice-progress-text{font-size:var(--text-xs)}}}@layer components{.band-selector{margin:1.5rem 0}.band-selector__label{display:block;font-weight:500;margin-bottom:1rem;color:var(--color-text-muted)}.band-selector__cards{display:flex;flex-direction:column;gap:1rem}.band-selector__card{position:relative;background:var(--color-bg-elevated);border:2px solid var(--alpha-10);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.band-selector__card:hover:not(.band-selector__card--disabled){border-color:var(--alpha-30);transform:translateY(-2px)}.band-selector__card--selected{border-color:var(--color-brand);box-shadow:0 0 0 1px var(--color-brand),0 4px 12px var(--overlay-soft)}.band-selector__card--disabled{opacity:.5;cursor:not-allowed}.band-selector__radio{position:absolute;opacity:0;width:0;height:0}.band-selector__card-label{display:block;cursor:pointer}.band-selector__card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.band-selector__card-icon{font-size:1.5rem;line-height:1}.band-selector__card-title{font-size:1.1rem;font-weight:600;color:var(--color-text)}.band-selector__card-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 .75rem;line-height:1.4}.band-selector__card-content{display:none;padding-top:1rem;border-top:1px solid var(--alpha-10);margin-top:.75rem}.band-selector__card--selected .band-selector__card-content{display:block}.band-selector__select-wrapper{margin-top:.5rem}.band-selector__select{width:100%;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--alpha-30);background:var(--color-bg-dark);color:var(--color-text);font-size:var(--text-sm)}.band-selector__select:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px var(--color-brand)}.band-selector__no-bands{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin:0}.band-selector__form-group{margin-bottom:1rem}.band-selector__form-group:last-child{margin-bottom:0}.band-selector__form-group .form-field{margin-bottom:0}.band-selector__form-group .form-field__label{font-size:var(--text-sm)}.band-selector__form-group .form-field__textarea{min-height:100px;resize:vertical}}@layer components{.invite-link-item-compact{background:var(--color-bg-elevated);border:1px solid var(--alpha-10);border-radius:6px;padding:12px;margin-bottom:10px;transition:all .2s ease}.invite-link-item-compact:hover{border-color:var(--alpha-30);background:var(--color-bg-dark)}.link-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.85rem;color:var(--alpha-70)}.link-type-compact{font-size:1.1rem}.link-stats-compact{font-size:.8rem}.link-display{display:flex;align-items:center;gap:6px}.link-input-compact{flex:1;padding:6px 8px;font-size:.8rem;background:var(--color-bg-dark);border:1px solid var(--alpha-10);border-radius:4px;color:var(--color-text-muted);font-family:Courier New,monospace}.link-input-compact:focus{outline:none;border-color:var(--color-brand);background:var(--color-bg-dark)}.invite-link-controls{margin-bottom:1rem}.invite-link-controls--compact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.invite-link-controls__left{display:flex;flex-direction:column;gap:8px}.invite-link-controls__hint{font-size:.85rem;color:var(--alpha-70);max-width:520px}.invite-links-status{min-width:220px}.invite-links-status .alert{margin:0}.invite-links-list{max-height:300px;overflow-y:auto;padding-right:4px}.invite-links-list::-webkit-scrollbar{width:6px}.invite-links-list::-webkit-scrollbar-track{background:var(--color-bg-elevated);border-radius:3px}.invite-links-list::-webkit-scrollbar-thumb{background:var(--alpha-30);border-radius:3px}.invite-links-list::-webkit-scrollbar-thumb:hover{background:var(--alpha-30)}@media (width <= 520px){.invite-link-controls--compact{flex-direction:column;align-items:stretch}.invite-links-status{min-width:0}}}@layer components{.practice-widget{position:fixed;top:160px;left:50%;transform:translate(-50%);width:90%;max-width:320px;height:280px;margin:0;padding:16px;background:linear-gradient(145deg,var(--tool-gradient-start),var(--tool-gradient-end-brighter));border-radius:var(--radius);box-shadow:0 2px 8px var(--overlay-soft);border:1px solid var(--alpha-10);color:var(--color-text-muted);display:flex;flex-direction:column;box-sizing:border-box;z-index:100}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--alpha-10);flex-shrink:0}.widget-header h3{color:var(--color-text-muted);margin:0;font-size:1rem;font-weight:500}@media (width <= 768px){.practice-widget{max-width:280px;padding:12px}}@media (width <= 480px){.practice-widget{max-width:260px;height:260px;padding:10px}.widget-header{margin-bottom:8px;padding-bottom:6px}}}@layer components;@layer components{.practice-stats-wrapper{margin-top:1rem}.practice-stats-compact{display:flex;gap:.75rem;justify-content:center;align-items:center;opacity:0;animation:fadeIn .5s ease-out forwards;animation-delay:.3s}.stat-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--alpha-10);border:1px solid var(--alpha-10);border-radius:20px;padding:.25rem .5rem;font-size:.85rem;transition:all .3s ease;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.stat-badge.expandable{cursor:pointer}.stat-badge:hover{background:var(--alpha-10);transform:translateY(-1px)}.stat-icon{font-size:.9rem;opacity:.9;transition:transform .3s ease}.stat-value{font-weight:600;color:var(--color-text);font-size:.85rem;transition:all .3s ease}.stat-expanded{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:.25rem;opacity:0;visibility:hidden;transition:all .3s ease;white-space:nowrap;pointer-events:none}.expanded-label{font-size:.75rem;color:var(--alpha-70);text-transform:lowercase}.stat-badge.expanded{background:var(--alpha-10);padding:.5rem .75rem;transform:scale(1.1)}.stat-badge.expanded .stat-icon{transform:scale(1.1)}.stat-badge.expanded .stat-expanded{opacity:1;visibility:visible}.stat-badge[data-stat=streak] .stat-value{color:var(--color-danger)}.stat-badge[data-stat=weekly] .stat-value,.stat-badge[data-stat=weekly-time] .stat-value{color:var(--color-brand)}.stat-badge[data-stat=competitions] .stat-value{color:var(--color-danger)}.stat-badge[data-stat=fish] .stat-value{color:var(--color-brand)}.stat-badge.pending-fish-glow{background:var(--aquarium-glow-alpha-15);border:1px solid var(--aquarium-glow-alpha-40);animation:pendingFishGlow 2s ease-in-out infinite;box-shadow:0 0 15px var(--aquarium-glow-alpha-30)}.stat-badge.pending-fish-glow:hover{background:var(--aquarium-glow-alpha-25);box-shadow:0 0 20px var(--aquarium-glow-alpha-50)}.stat-badge.pending-fish-glow .stat-icon{filter:drop-shadow(0 0 8px var(--aquarium-glow-alpha-60))}.stat-badge.pending-fish-glow .stat-value{color:var(--color-brand);text-shadow:0 0 10px var(--aquarium-glow-alpha-80);font-weight:700}@keyframes pendingFishGlow{0%,to{box-shadow:0 0 15px var(--aquarium-glow-alpha-30);background:var(--aquarium-glow-alpha-15)}50%{box-shadow:0 0 25px var(--aquarium-glow-alpha-60);background:var(--aquarium-glow-alpha-25)}}.stat-badge[data-stat=streak][data-value="0"]{opacity:.6}.stat-badge[data-stat=streak][data-value="0"] .stat-icon{filter:grayscale(100%)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05);background:var(--alpha-10)}}.stat-expanded.competitions-list{position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--overlay-strong);border:1px solid var(--alpha-30);border-radius:8px;padding:.5rem;margin-top:.5rem;min-width:200px;max-width:300px}.comp-name{font-size:.85rem;font-weight:500;margin-right:.5rem;color:var(--alpha-90)}@media (width <= 640px){.practice-stats-compact{gap:.5rem}.stat-badge{padding:.2rem .4rem;font-size:.8rem}.stat-icon{font-size:.85rem}.stat-value{font-size:.8rem}.stat-badge.expanded{padding:.4rem .6rem}}}@layer components{.milestone-ambient{margin-top:1.2rem;text-align:center;font-size:.85rem;color:var(--alpha-70);line-height:1.6;position:relative}.milestone-next{margin-bottom:.4rem;display:flex;justify-content:center;align-items:baseline;gap:.5rem;font-weight:400}.milestone-next.clickable{cursor:pointer;transition:opacity .2s ease}.milestone-next.clickable:hover{opacity:.8}.milestone-time{color:var(--alpha-70);font-size:.8rem}.milestone-completed-line{display:flex;justify-content:center;gap:1rem;opacity:.4;font-size:.75rem;font-weight:400}.milestone-done{color:var(--alpha-70)}.milestone-achieved .milestone-next{animation:gentleGlow 1s ease-out}@keyframes gentleGlow{0%{opacity:1}50%{opacity:.6;color:var(--color-brand)}to{opacity:1}}.milestone-details-expanded{position:absolute;top:100%;left:0;right:0;opacity:0;transition:opacity .3s ease-out;text-align:center;font-size:.75rem;line-height:1.4;padding:.6rem 0;color:var(--alpha-70);pointer-events:none}.milestone-details-expanded.expanded{opacity:1;pointer-events:auto}.mini-ladder-component{margin-top:.8rem;text-align:center;font-size:.85rem;color:var(--alpha-70);line-height:1.3;position:relative;text-decoration:none;display:block;transition:opacity .2s ease}.mini-ladder-component:hover{opacity:.8;text-decoration:none;color:var(--alpha-70)}.ladder-theme-line{margin-bottom:.25rem;display:flex;justify-content:center;align-items:baseline;gap:.2rem;font-weight:400;color:var(--alpha-70);font-size:.8rem}.ladder-icon{font-size:.75rem}.ladder-theme-text{color:var(--alpha-70)}.ladder-leaderboard-entries{display:flex;flex-direction:column;gap:.1rem;font-size:.75rem;font-weight:400}.ladder-entry{display:flex;align-items:center;gap:.4rem;opacity:.4;color:var(--alpha-70);padding:.05rem 0}.ladder-entry.current-user{opacity:1;color:var(--color-brand)}.ladder-entry.user-outside-top3{margin-top:.1rem;opacity:.6}.ladder-rank{min-width:1rem;text-align:right;font-weight:400}.ladder-username{flex:1;text-align:left}.ladder-value{text-align:right;font-weight:400;min-width:2rem}.ladder-dots{opacity:.3;margin-right:.2rem}@media (width <= 640px){.milestone-ambient{font-size:.8rem}.milestone-time{font-size:.75rem}.milestone-completed-line{font-size:.7rem;gap:.8rem}.mini-ladder-component{font-size:.9rem}.ladder-leaderboard-entries{font-size:.8rem;gap:.15rem}.ladder-rank{min-width:1rem}.ladder-value{min-width:2rem}}}@layer components{h1{font-size:var(--text-xl);font-weight:600;color:var(--color-heading);line-height:1.25;margin-bottom:1.25rem}h2{font-size:var(--text-lg);font-weight:600;color:var(--color-heading);line-height:1.25;margin-bottom:1rem}h3{font-size:var(--text-base);font-weight:500;color:var(--color-heading);line-height:1.25;margin-bottom:.75rem}.text-small{font-size:var(--text-sm)}.text-muted{color:var(--alpha-70)}.container{width:100%;max-width:var(--container-width, 800px);margin:0 auto;padding:var(--container-padding, 2rem);box-sizing:border-box}.container--xs{--container-width: 400px}.container--sm{--container-width: 500px}.container--md{--container-width: 600px}.container--lg{--container-width: 800px}.container--centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.primary-container{width:100%;max-width:800px;margin:0 auto;padding:var(--space-xl);background:var(--color-surface-1);border:1px solid var(--surface-border-rim);border-radius:var(--radius);box-shadow:0 2px 8px var(--overlay-soft);box-sizing:border-box}@media (width <= 768px){.container{--container-padding: 1rem}}@media (width <= 480px){.container{--container-padding: .75rem}}.primary-card{background:var(--color-surface-1);border:1px solid var(--surface-border-rim);border-radius:var(--radius);padding:var(--space-lg);box-shadow:0 2px 8px var(--overlay-soft);transition:all .2s ease;position:relative;width:100%;max-width:420px;min-width:320px;margin:3rem auto;color:var(--color-text-muted)}.primary-card:before,.container.primary-card:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-1;border-radius:calc(var(--radius) + 2px);background:linear-gradient(135deg,var(--color-brand) 0%,transparent 70%);opacity:.4}@media (width <= 480px){.primary-card{width:100%;min-width:280px;margin:2rem auto}}.floating-action-btn{position:fixed!important;bottom:var(--fab-bottom, 90px)!important;right:var(--fab-right, 30px)!important;width:56px;height:56px;background:var(--fab-background, var(--color-surface-2));border-radius:50%;box-shadow:0 4px 12px var(--overlay-soft);display:flex;align-items:center;justify-content:center;color:var(--fab-color, var(--alpha-90));text-decoration:none;font-size:24px;transition:all .3s ease;cursor:pointer;border:1px solid var(--fab-border, var(--alpha-25));z-index:100}.floating-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--overlay-soft);background:var(--fab-background-hover, var(--color-surface-3));border-color:var(--fab-border-hover, var(--alpha-30))}.floating-action-btn:active{transform:translateY(0);box-shadow:0 2px 8px var(--overlay-soft)}.progress{width:100%;height:var(--progress-height, 8px);background:var(--progress-bg, var(--alpha-10));border-radius:var(--progress-radius, 4px);overflow:hidden;position:relative}.progress__fill{height:100%;background:var(--progress-fill, var(--color-brand));border-radius:inherit;transition:width .3s ease}.progress-text{font-size:.85rem;color:var(--alpha-70);font-weight:400}.card{background:var(--color-surface-1);border:1px solid var(--surface-border-rim);border-radius:var(--radius);box-shadow:var(--shadow-soft);transition:all .2s ease;position:relative;overflow:hidden}.card--interactive:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--overlay-soft)}.card--glass{background:var(--glass-bg);backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card--glass.card--interactive:hover{box-shadow:0 12px 40px var(--overlay-strong)}.surface-card{background-color:var(--color-surface-1);border-radius:var(--radius);border:1px solid var(--surface-border-rim);box-shadow:var(--shadow-soft)}.surface-card--floating{background-color:var(--color-surface-2);box-shadow:var(--shadow-strong)}.surface-card--condensed{border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:13px;font-weight:600;transition:all .2s ease;background:transparent;border:1px solid var(--badge-border, var(--alpha-30));color:var(--badge-color, var(--color-text-muted))}.badge--success{--badge-border: var(--badge-border-success);--badge-color: var(--color-brand)}.badge--info{--badge-border: var(--badge-border-info);--badge-color: var(--color-brand)}.badge--warning{--badge-border: var(--badge-border-warning);--badge-color: var(--color-danger)}.badge--danger{--badge-border: var(--color-danger);--badge-color: var(--color-danger)}.badge--default{--badge-border: var(--alpha-30);--badge-color: var(--color-text-muted)}.badge--accent{--badge-border: var(--color-brand);--badge-color: var(--color-brand)}.competitions-list{display:flex;flex-direction:column;gap:1rem}.detail-with-icon{display:flex;align-items:center;gap:8px}.icon-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-dark)}.icon{font-size:14px;line-height:1}.detail-text{font-size:14px;color:var(--color-text-muted);line-height:1.4}.empty-state{text-align:center;padding:40px 20px;color:var(--alpha-70)}.alert{padding:1rem;margin-bottom:1rem;border-radius:var(--radius);border:1px solid transparent;font-size:var(--text-sm);line-height:1.5}.alert--error{background:var(--alpha-10);border-color:var(--color-danger);color:var(--color-danger)}.alert--success{background:var(--alpha-10);border-color:var(--color-brand);color:var(--color-brand)}.alert--warning{background:var(--alpha-10);border-color:var(--color-danger);color:var(--color-danger)}.alert--info{background:var(--alpha-10);border-color:var(--color-brand);color:var(--color-text-muted)}.info-box{background:var(--alpha-10);border:1px solid var(--alpha-30);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.info-box__title{font-size:var(--text-lg);font-weight:600;margin:0 0 1rem;color:var(--color-brand)}.info-box__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.info-box__list-item{position:relative;padding-left:24px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.info-box__list-item:before{content:"✓";position:absolute;left:0;color:var(--color-brand);font-weight:600}.info-box--success{background:var(--alpha-10);border-color:var(--color-brand)}.info-box--warning{background:var(--alpha-10);border-color:var(--color-danger)}.list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.list-item{display:flex;align-items:center;justify-content:space-between;padding:10px;border:1px solid var(--alpha-10);border-radius:var(--radius-sm);background:var(--overlay-soft);transition:all .2s ease}.list-item:hover{border-color:var(--alpha-30);background:var(--color-bg-dark)}.list-item__content{flex:1;display:flex;flex-direction:column;gap:4px}.list-item__title{color:var(--color-text-muted);font-weight:500}.list-item__actions{display:flex;gap:8px;align-items:center}.action-list{display:flex;flex-direction:column;gap:4px}.action-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-sm);transition:background-color .18s ease,transform .12s ease,box-shadow .18s ease;text-decoration:none;color:inherit}.action-row--clickable{cursor:pointer}.action-row--clickable:hover{background-color:var(--color-surface-2);box-shadow:0 6px 18px var(--overlay-soft);transform:translateY(-1px)}.action-row__leading{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background-color:var(--alpha-10);font-size:1.1rem;color:var(--color-accent)}.action-row__content{flex:1;min-width:0;padding:0 10px;display:flex;flex-direction:column;gap:2px}.action-row__title{font-size:.95rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-row__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.action-row__trailing{flex-shrink:0;display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--alpha-70)}.action-row__chevron{font-size:1.1rem}@media (width <= 480px){.action-row{padding:10px}.action-row__leading{width:28px;height:28px;font-size:1rem}}.segmented-control{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:var(--alpha-10);border:1px solid var(--alpha-10);box-shadow:0 2px 8px var(--overlay-soft)}.segmented-control__button{border:none;background:transparent;padding:.45rem .8rem;border-radius:999px;font-size:.8rem;font-weight:500;color:var(--alpha-70);cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;transition:background-color .18s ease,color .18s ease,transform .12s ease}.segmented-control__button:hover{background-color:var(--alpha-10);color:var(--color-text-muted)}.segmented-control__button--active{background-color:var(--color-brand);color:var(--color-bg-dark);font-weight:600}.segmented-control--compact{padding:2px;gap:2px;box-shadow:none}.segmented-control--compact .segmented-control__button{padding:.28rem .45rem;font-size:.7rem;line-height:1.1}.segmented-control--slider{position:relative;overflow:hidden}.segmented-control--slider:before{content:"";position:absolute;top:3px;left:3px;height:calc(100% - 6px);border-radius:999px;background:color-mix(in srgb,var(--color-brand) 55%,var(--color-bg-elevated) 45%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px var(--overlay-soft);z-index:0}.segmented-control--slider .segmented-control__button{background:transparent;z-index:1}.segmented-control--slider .segmented-control__button--active{background:transparent;color:var(--color-text);font-weight:700}.data-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent;white-space:nowrap}.data-chip--primary{background-color:var(--chip-primary-bg);border-color:var(--chip-primary-border);color:var(--chip-primary-text)}.data-chip--accent{background-color:var(--chip-accent-bg);border-color:var(--chip-accent-border);color:var(--chip-accent-text)}.data-chip--neutral{background-color:var(--chip-neutral-bg);border-color:var(--chip-neutral-border);color:var(--chip-neutral-text)}.data-chip--danger{background-color:var(--alpha-10);border-color:var(--color-danger);color:var(--color-danger)}.data-chip--secondary{background-color:var(--chip-secondary-bg);border-color:var(--chip-secondary-border);color:var(--chip-secondary-text)}.list--simple .list-item{border:none;background:transparent;padding:8px 0;border-bottom:1px solid var(--alpha-10);border-radius:0}.list--simple .list-item:hover{background:transparent;border-bottom-color:var(--alpha-10)}.list--simple .list-item:last-child{border-bottom:none}.accordion{display:flex;flex-direction:column;gap:8px}.accordion__item{background:transparent;border-radius:var(--radius-sm);overflow:hidden}.accordion__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--color-bg-dark);border:1px solid var(--alpha-10);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1rem;font-weight:600;text-align:left;cursor:pointer;transition:all .2s ease;position:relative}.accordion__header:hover{background:var(--color-bg-elevated);border-color:var(--alpha-30)}.accordion__header:focus{outline:2px solid var(--color-brand);outline-offset:2px}.accordion__title{flex:1;font-size:1rem;font-weight:600;color:var(--color-text-muted);text-transform:capitalize}.accordion__meta{font-size:.85rem;color:var(--alpha-70);font-weight:400;margin-right:12px}.accordion__chevron{font-size:18px;font-weight:700;color:var(--alpha-70);transition:transform .25s ease;flex-shrink:0}.accordion__header[aria-expanded=true] .accordion__chevron{transform:rotate(90deg)}.accordion__content{overflow:hidden;transition:max-height .3s ease-out,opacity .2s ease,padding .25s ease;opacity:1;padding-top:8px}.accordion__content--collapsed{max-height:0!important;opacity:0;padding-top:0}.accordion__content:not(.accordion__content--collapsed){overflow:visible}@media (width <= 600px){.accordion__header{padding:10px 12px}.accordion__title{font-size:.95rem}.accordion__meta{font-size:.8rem}}.rating{display:inline-flex;align-items:center;gap:.15rem}.rating--block{display:flex}.rating__option{display:inline-block;cursor:pointer;padding:.1rem;transition:opacity .1s ease;position:relative}.rating__option:hover{opacity:1}.rating__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.rating__emoji{font-size:1.2rem;opacity:.35;transition:opacity .15s ease,transform .15s ease;display:inline-block;-webkit-user-select:none;user-select:none}.rating__option:hover .rating__emoji{opacity:.7;transform:translateY(-1px)}.rating__input:checked+.rating__emoji{opacity:1;transform:translateY(-1px)}.rating__input:focus+.rating__emoji{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:4px}.rating--readonly{gap:.25rem;pointer-events:none}.rating--readonly .rating__emoji{opacity:.3;font-size:1.5rem}.rating--readonly .rating__emoji--selected{opacity:1}.rating--small .rating__emoji{font-size:1rem}.rating--large .rating__emoji{font-size:1.5rem}.rating--compact{gap:.1rem}.rating--compact .rating__option{padding:0}.rating--compact .rating__emoji{font-size:1rem}@media (width <= 600px){.rating__emoji{font-size:1.05rem}.rating--large .rating__emoji{font-size:1.3rem}.rating--compact .rating__emoji{font-size:.95rem}}html.no-scroll,body.no-scroll{height:100%;overflow:hidden}[title]{position:relative;cursor:help}.details-card{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:20px;background-color:var(--color-bg-elevated);padding:20px;border-radius:var(--radius-sm);margin:20px 0;box-shadow:0 1px 3px var(--overlay-soft);border:1px solid var(--alpha-10)}.details-column{display:flex;flex-direction:column;gap:12px;flex-basis:48%;text-align:left}.details-column.right{align-items:flex-end;text-align:right}.details-column.right .detail-text{text-align:right}.time-signature-select,#metronome-time-signature,.retro-metronome select,.metronome-container select,.retro-select,.retro-tuner select,.retro-input{color:var(--retro-panel-text)!important;-webkit-text-fill-color:var(--retro-panel-text)!important;-moz-text-fill-color:var(--retro-panel-text)!important}.practices-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.modern-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;border-radius:var(--radius);border:1px solid var(--card-border);box-shadow:var(--shadow-soft);background-color:var(--color-surface-1);color:var(--color-text-muted)}.modern-table thead tr{background-color:var(--color-surface-2);color:var(--color-text-muted);font-weight:500;font-size:.95em}.modern-table th{padding:14px;text-align:left;border-bottom:1px solid var(--card-border);background-color:var(--color-surface-2)}.modern-table td{padding:14px 16px;text-align:left;border-bottom:.5px solid var(--card-border);font-weight:400;font-size:.95em}.modern-table tr{background-color:var(--color-surface-1)}.modern-table tr:first-child th:first-child{border-top-left-radius:var(--radius)}.modern-table tr:first-child th:last-child{border-top-right-radius:var(--radius)}.modern-table tr:last-child td:first-child{border-bottom-left-radius:var(--radius)}.modern-table tr:last-child td:last-child{border-bottom-right-radius:var(--radius)}.modern-table tbody tr:hover{background-color:var(--alpha-10);transition:background .2s ease-in-out}}@layer components{.retro-timer-container{width:220px;height:220px;position:relative;margin:0 auto;cursor:pointer;border-radius:50%;overflow:hidden;z-index:5;background:radial-gradient(ellipse at 25% 25%,var(--retro-timer-cyan-bright) 0%,var(--retro-timer-cyan-mid) 25%,var(--retro-timer-teal-soft) 50%,var(--retro-timer-teal-deep) 75%,var(--retro-timer-teal-shadow) 100%);box-shadow:0 15px 40px var(--overlay-soft),0 0 60px var(--alpha-10);transition:all .6s cubic-bezier(.4,0,.2,1);transform-origin:center center}.practice-timer-section{width:100%}.practice-timer-stack{position:relative;width:220px;height:220px;margin:0 auto;overflow:visible}.practice-timer-idle-fish-host{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;overflow:visible;pointer-events:none}.timer-idle-fish-wrapper{position:absolute;left:0;top:0;width:var(--timer-fish-w, 100px);height:var(--timer-fish-h, 50px);transform-origin:center;pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;filter:drop-shadow(0 6px 16px var(--overlay-strong))}.timer-idle-fish-wrapper:focus-visible{outline:2px solid var(--alpha-70);outline-offset:4px;border-radius:16px}.timer-idle-fish-wrapper .timer-idle-fish-svg-holder{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.timer-idle-fish-wrapper .timer-idle-fish{width:100%;height:100%;background:transparent}.timer-idle-fish-wrapper.swimming{transition:filter .2s ease}.timer-idle-fish-wrapper.turning{filter:drop-shadow(0 8px 18px var(--overlay-strong))}.timer-idle-fish-wrapper.sprinting{filter:drop-shadow(0 10px 22px var(--overlay-strong))}.practice-timer-stack.timer-fish-paused .timer-idle-fish-wrapper{opacity:.92}@media (prefers-reduced-motion: reduce){.practice-timer-idle-fish-host{display:none}}.retro-timer-container.practice-active{box-shadow:0 20px 50px var(--overlay-strong),0 0 100px var(--alpha-30)}.wave-layer{opacity:0;transition:opacity .6s ease;filter:blur(.5px)}.practice-active .wave-layer{opacity:1}.wave-liquid{transform-origin:center;fill:url(#wave-gradient);opacity:.9;filter:hue-rotate(0deg);animation:waveColorShift 15s ease-in-out infinite}@keyframes waveColorShift{0%{filter:hue-rotate(0deg) saturate(1.2) brightness(1.1)}25%{filter:hue-rotate(-15deg) saturate(1.3) brightness(1.15)}50%{filter:hue-rotate(10deg) saturate(1.1) brightness(1.05)}75%{filter:hue-rotate(-5deg) saturate(1.25) brightness(1.12)}to{filter:hue-rotate(0deg) saturate(1.2) brightness(1.1)}}@media (hover: hover) and (pointer: fine){.retro-timer-container:hover{transform:scale(1.02) translateY(-2px);box-shadow:0 25px 60px var(--overlay-strong),0 0 120px var(--alpha-30)}}.retro-timer-container:active{transform:scale(.98);box-shadow:0 15px 40px var(--overlay-soft),0 0 80px var(--alpha-30)}@media (hover: none) and (pointer: coarse){.retro-timer-container:active{transform:none}}.retro-timer-container:before{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:50%;background:radial-gradient(circle,var(--alpha-30) 0%,transparent 70%);opacity:0;z-index:-1;pointer-events:none}.retro-timer-container.metronome-synced{animation:smoothWaveBreathing .667s cubic-bezier(.45,0,.55,1) infinite,glowPulse .667s ease-in-out infinite;will-change:transform,filter}.retro-timer-container.practice-active.metronome-synced{animation:smoothWaveBreathing .667s cubic-bezier(.45,0,.55,1) infinite,glowPulse .667s ease-in-out infinite}.retro-timer-container.breathing-accent{filter:brightness(1.08);transition:filter .3s cubic-bezier(.4,0,.2,1)}#retro-clock-svg{width:100%;height:100%;position:absolute;top:0;left:0;z-index:1;pointer-events:none}.clock-face{stroke:none;pointer-events:none;opacity:.8}.retro-timer-container .digital-display{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);color:var(--color-text);font-size:2.6em;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-shadow:0 1px 2px var(--overlay-soft);z-index:10}.retro-timer-container.has-hours .digital-display{font-size:2.15em;letter-spacing:.02em}.practice-active .digital-display{text-shadow:0 0 30px var(--alpha-90),0 0 60px var(--alpha-70),0 2px 4px var(--overlay-soft);animation:timerGlow 3s ease-in-out infinite}.start-practice-button{width:190px;height:190px;position:relative;margin:0;border-radius:50%;overflow:hidden;z-index:5;border:none;padding:0;outline:none;cursor:pointer;background:linear-gradient(135deg,var(--start-button-bg-1) 0%,var(--start-button-bg-2) 50%,var(--start-button-bg-3) 100%);box-shadow:inset 1px 1px 0 var(--alpha-10),inset 2px 2px 3px var(--alpha-10),inset -1px -1px 0 var(--overlay-strong),0 2px 6px var(--overlay-strong);transition:all .2s ease;display:flex;align-items:center;justify-content:center}@media (hover: hover) and (pointer: fine){.start-practice-button:hover{background:linear-gradient(135deg,var(--start-button-hover-1) 0%,var(--start-button-hover-2) 50%,var(--start-button-hover-3) 100%);box-shadow:inset 1px 1px 0 var(--alpha-30),inset 2px 2px 3px var(--alpha-10),inset -1px -1px 0 var(--overlay-soft),0 4px 10px var(--overlay-strong);transform:translateY(-1px)}}.start-practice-button:active{background:linear-gradient(135deg,var(--start-button-active-1) 0%,var(--start-button-active-2) 50%,var(--start-button-active-3) 100%);box-shadow:inset 1px 1px 0 var(--alpha-10),inset 0 1px 3px var(--overlay-strong),0 1px 2px var(--overlay-soft);transform:translateY(1px)}.start-practice-button .start-text{color:var(--alpha-90);font-family:Lato,Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.7em;font-weight:400;text-transform:none;text-shadow:0 0 10px var(--alpha-30),0 0 20px var(--alpha-10),0 1px 2px var(--overlay-soft);letter-spacing:.03em;transform:translateY(-1px)}@keyframes smoothWaveBreathing{0%{transform:scale(1) translateZ(0);filter:brightness(1)}50%{transform:scale(1.03) translateZ(0);filter:brightness(1.05)}to{transform:scale(1) translateZ(0);filter:brightness(1)}}@keyframes glowPulse{0%{box-shadow:0 20px 50px var(--overlay-strong),0 0 80px var(--alpha-10)}50%{box-shadow:0 25px 60px var(--overlay-strong),0 0 120px var(--alpha-30)}to{box-shadow:0 20px 50px var(--overlay-strong),0 0 80px var(--alpha-10)}}@keyframes timerGlow{0%,to{opacity:1;text-shadow:0 0 20px var(--alpha-70),0 0 40px var(--alpha-30),0 2px 4px var(--overlay-soft)}50%{opacity:.98;text-shadow:0 0 25px var(--alpha-70),0 0 50px var(--alpha-70),0 2px 4px var(--overlay-soft)}}.practice-button.pause{background-color:var(--color-danger);color:var(--color-text)}@media (hover: hover) and (pointer: fine){.practice-button.pause:hover{background-color:var(--color-danger)}}.practice-button.resume{background-color:var(--color-brand);color:var(--color-text)}@media (hover: hover) and (pointer: fine){.practice-button.resume:hover{background-color:var(--color-brand)}}.practice-button.secondary{background-color:var(--alpha-10);color:var(--color-text);font-size:14px;padding:8px 16px}@media (hover: hover) and (pointer: fine){.practice-button.secondary:hover{background-color:var(--alpha-30)}}}@layer components{.metronome-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--retro-overlay);display:none;flex-direction:column;justify-content:center;align-items:center;z-index:999;padding:20px;box-sizing:border-box;max-width:none;transform:none}.metronome-container.visible{display:flex}.retro-metronome{width:90vw;max-width:300px;aspect-ratio:1 / 1.7;background:linear-gradient(20deg,var(--retro-surface-dark) 0%,var(--retro-surface-mid) 100%);border-radius:15px;box-shadow:0 8px 15px var(--overlay-strong),inset 0 2px 3px var(--alpha-10),inset 0 -2px 3px var(--overlay-strong);display:flex;flex-direction:column;align-items:center;padding:5px;position:relative;border:1px solid var(--retro-border-deep);overflow:hidden}.dial-face{width:100%;aspect-ratio:1 / 1;background:radial-gradient(circle at 30% 30%,var(--retro-dial-highlight),var(--retro-panel-surface-shadow) 70%);border-radius:50%;border:6px solid var(--retro-panel-border-contrast);box-shadow:0 0 15px var(--overlay-strong),inset 0 0 8px var(--overlay-strong);position:relative;margin-top:1%;cursor:grab;-webkit-user-select:none;user-select:none}.dial-center-accent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:85px;height:85px;background:var(--retro-border-muted);border-radius:50%;border:1px solid var(--retro-panel-border-soft);box-shadow:0 3px 8px var(--overlay-strong),inset 0 0 5px var(--overlay-strong);z-index:4}.dial-face.dragging{cursor:grabbing}.tempo-indicator-marker{position:absolute;width:6px;height:16px;background-color:var(--color-danger);border:1px solid var(--overlay-strong);border-radius:2px;top:50%;left:50%;transform-origin:center center;z-index:6;pointer-events:none}.accent-lines{position:absolute;bottom:70px;left:0;width:150px;display:flex;flex-direction:column;gap:7px;padding-left:0;z-index:1}.accent-line{height:7px;background-color:var(--retro-surface-dark);border-radius:0 3px 3px 0;box-shadow:inset 0 1px 1px var(--overlay-strong),1px 1px 0 var(--retro-steel-highlight)}.accent-lines:before,.accent-lines:after{content:none}.retro-title{position:absolute;bottom:20px;left:15px;font-family:Arial Narrow,Helvetica Neue,sans-serif;font-weight:700;font-size:1.3em;color:var(--retro-metallic);text-shadow:0 -1px 0 var(--overlay-strong);letter-spacing:.5px;-webkit-user-select:none;user-select:none;z-index:1;display:flex;align-items:center}.metronome-logo{width:40px;height:auto;margin-left:8px;filter:brightness(.9) sepia(.2)}.tempo-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(18px,5vw,24px);color:var(--retro-panel-surface-shadow);font-weight:700;background-color:transparent;padding:5px 10px;border-radius:5px;box-shadow:none;-webkit-user-select:none;user-select:none;z-index:6}.markings{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.marking{position:absolute;top:50%;left:50%;transform-origin:center center;font-size:clamp(9px,2.5vw,11px);color:var(--retro-border-muted);font-weight:600;text-align:center;-webkit-user-select:none;user-select:none}.marking-line{position:absolute;top:50%;left:50%;width:1px;height:8px;background-color:var(--retro-border-muted);transform-origin:center top;-webkit-user-select:none;user-select:none}.marking-line.major{width:2.5px;height:12px;background-color:var(--retro-surface-dark)}.retro-controls{width:100%;margin-top:auto;padding:0 10px 5px;display:flex;justify-content:flex-end;align-items:flex-end;position:relative;z-index:2}.controls-stack{display:flex;flex-direction:column;align-items:center;gap:10px;padding-right:15px}.volume-control-area{width:auto}.start-stop-switch{position:relative;width:50px;margin-bottom:0;height:26px;background-color:var(--color-text-muted);border-radius:13px;border:1px solid var(--retro-border-deep);box-shadow:inset 0 1px 3px var(--overlay-strong);cursor:pointer;transition:background-color .3s ease,box-shadow .3s ease}.switch-slider{position:absolute;top:2px;left:2px;width:20px;height:20px;background:linear-gradient(to bottom,var(--alpha-30),var(--alpha-30));border-radius:50%;border:1px solid var(--alpha-30);box-shadow:0 1px 1px var(--overlay-strong);transition:left .2s ease-in-out}.start-stop-switch.playing{background-color:var(--retro-mint-deep);border-color:var(--retro-mint-shadow);box-shadow:inset 0 1px 3px var(--overlay-strong),0 0 4px var(--retro-mint-base)}.start-stop-switch.playing .switch-slider{left:calc(100% - 22px);background:linear-gradient(to bottom,var(--retro-foam-glow),var(--retro-mint-soft));border-color:var(--retro-mint-mid)}#metronome-volume-slider-retro{width:8px;height:70px;background:var(--retro-panel-dark);border-radius:4px;outline:none;box-shadow:inset 0 1px 3px var(--overlay-strong);border:1px solid var(--retro-panel-outline);cursor:pointer;writing-mode:vertical-lr;transform:rotate(180deg);transform-origin:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;accent-color:var(--alpha-70)}#metronome-volume-slider-retro::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:linear-gradient(to bottom,var(--alpha-10),var(--alpha-30));border-radius:50%;cursor:pointer;border:1px solid var(--alpha-70);box-shadow:0 1px 2px var(--overlay-soft);margin-top:0}#metronome-volume-slider-retro:active::-webkit-slider-thumb{background:linear-gradient(to bottom,var(--alpha-30),var(--alpha-70))}#metronome-volume-slider-retro::-moz-range-thumb{width:16px;height:16px;background:linear-gradient(to bottom,var(--alpha-10),var(--alpha-30));border-radius:50%;cursor:pointer;border:1px solid var(--alpha-70);box-shadow:0 1px 2px var(--overlay-soft)}#metronome-volume-slider-retro:active::-moz-range-thumb{background:linear-gradient(to bottom,var(--alpha-30),var(--alpha-70))}#metronome-volume-slider-retro::-moz-range-track{width:8px;height:100%;cursor:pointer;background:var(--retro-panel-dark);border-radius:4px;box-shadow:inset 0 1px 3px var(--overlay-strong);border:1px solid var(--retro-panel-outline)}.beat-indicator{position:absolute;top:18px;right:18px;width:16px;height:16px;border-radius:50%;background-image:radial-gradient(circle at 50% 40%,var(--retro-border-muted),var(--retro-panel-dark) 80%);border:1px solid var(--retro-panel-outline);box-shadow:inset 0 1px 3px var(--overlay-strong),0 1px 0 var(--alpha-10);z-index:3;transition:background-image .05s linear,box-shadow .05s linear}.beat-indicator:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;background-color:transparent;box-shadow:0 0 0 0 transparent;opacity:0;transition:opacity .1s linear,box-shadow .1s linear;pointer-events:none;z-index:3}@keyframes blink-green{0%{background-color:var(--retro-panel-dark);background-image:radial-gradient(circle at 50% 40%,var(--retro-border-muted),var(--retro-panel-dark) 80%);box-shadow:inset 0 1px 3px var(--overlay-strong),0 1px 0 var(--alpha-10)}50%{background-color:var(--color-brand);background-image:radial-gradient(circle at 50% 40%,var(--retro-mint-highlight),var(--color-brand) 70%);box-shadow:inset 0 1px 1px var(--overlay-soft),0 0 0 var(--alpha-10)}to{background-color:var(--retro-panel-dark);background-image:radial-gradient(circle at 50% 40%,var(--retro-border-muted),var(--retro-panel-dark) 80%);box-shadow:inset 0 1px 3px var(--overlay-strong),0 1px 0 var(--alpha-10)}}@keyframes blink-yellow{0%{background-color:var(--retro-panel-dark);background-image:radial-gradient(circle at 50% 40%,var(--retro-border-muted),var(--retro-panel-dark) 80%);box-shadow:inset 0 1px 3px var(--overlay-strong),0 1px 0 var(--alpha-10)}50%{background-color:var(--color-danger);background-image:radial-gradient(circle at 50% 40%,var(--retro-cream-soft),var(--color-danger) 70%);box-shadow:inset 0 1px 1px var(--overlay-soft),0 0 0 var(--alpha-10)}to{background-color:var(--retro-panel-dark);background-image:radial-gradient(circle at 50% 40%,var(--retro-border-muted),var(--retro-panel-dark) 80%);box-shadow:inset 0 1px 3px var(--overlay-strong),0 1px 0 var(--alpha-10)}}@keyframes radiate-green{0%{opacity:0;box-shadow:0 0 0 0 transparent}50%{opacity:.7;box-shadow:0 0 6px 3px var(--aquarium-glow-alpha-40)}to{opacity:0;box-shadow:0 0 12px 6px transparent}}@keyframes radiate-yellow{0%{opacity:0;box-shadow:0 0 0 0 transparent}50%{opacity:.7;box-shadow:0 0 6px 3px var(--overlay-soft)}to{opacity:0;box-shadow:0 0 12px 6px transparent}}.beat-indicator.beat-indicator-on{animation:blink-green .1s linear 1}.beat-indicator.beat-indicator-on:before{animation:radiate-green .2s ease-out 1}.beat-indicator.beat-indicator-accent{animation:blink-yellow .1s linear 1}.beat-indicator.beat-indicator-accent:before{animation:radiate-yellow .2s ease-out 1}.time-signature-control-area{width:auto;display:flex;flex-direction:column;align-items:center;gap:5px}.volume-control-area:before{content:"Vol";font-size:10px;color:var(--retro-metallic);margin-bottom:2px;text-transform:uppercase;letter-spacing:.5px}.time-signature-control-area:before{font-size:12px;color:var(--retro-panel-surface-shadow);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px;font-weight:700;text-shadow:0 1px 2px var(--overlay-soft)}.time-signature-select{width:54px;border:2px solid var(--retro-panel-edge);border-radius:4px;font-family:Courier New,monospace;box-shadow:inset 0 1px 0 var(--alpha-30),0 2px 4px var(--overlay-soft);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:center;color:var(--color-text);font-size:16px;padding:4px 6px;text-shadow:0 1px 0 var(--alpha-70);letter-spacing:.5px;font-weight:800;background:linear-gradient(to bottom,var(--retro-panel-surface),var(--retro-panel-surface-shadow))}.time-signature-select:hover{border-color:var(--retro-panel-border);box-shadow:0 0 6px var(--retro-cream-glow-40)}.time-signature-select:focus{outline:none;border-color:var(--retro-panel-border-light);box-shadow:0 0 8px var(--retro-cream-glow-50)}.time-signature-select option{background-color:var(--retro-panel-surface);color:var(--color-text);font-weight:700;font-size:16px}.metronome-container.visible~#tuner-container,.metronome-container.visible~#notes-container,.metronome-container.visible~#checklist-container{display:none}#toggle-metronome.active,#tempo-challenge-toggle.active{background-color:var(--color-brand);color:var(--color-bg-dark)}}@layer components{.tuner-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--retro-overlay);display:none;flex-direction:column;justify-content:center;align-items:center;z-index:999;padding:20px;box-sizing:border-box}.tuner-container.visible{display:flex}.retro-tuner{width:90vw;max-width:350px;height:200px;background:linear-gradient(20deg,var(--retro-surface-dark) 0%,var(--retro-surface-mid) 100%);border-radius:15px;border:1px solid var(--retro-border-deep);box-shadow:0 8px 15px var(--overlay-strong),inset 0 2px 3px var(--alpha-10),inset 0 -2px 3px var(--overlay-strong);position:relative;display:flex;flex-direction:column;padding:15px;overflow:hidden;margin:0 auto;-webkit-user-select:none;user-select:none}.retro-tuner-header{display:flex;justify-content:center;align-items:center;margin-bottom:12px;padding-left:15px}.waveform-indicator{width:80px;height:20px;background:var(--overlay-strong);border:1px solid var(--retro-border-muted);border-radius:4px;padding:2px;opacity:.5;transition:opacity .3s ease,background .3s ease,border-color .3s ease}.waveform-indicator.playing{opacity:1;background:var(--retro-wave-active);border-color:var(--retro-border-soft);box-shadow:0 0 4px var(--retro-neon-glow-30)}.wave-svg{width:100%;height:100%}.wave-path{stroke:var(--retro-border-muted);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s ease,d .3s ease}.waveform-indicator.playing .wave-path{stroke:var(--color-brand);filter:drop-shadow(0 0 2px var(--retro-neon-glow-60));stroke-width:2}.tuner-body{display:flex;flex:1;gap:15px}.speaker-grills-section{flex:0 0 90px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0}.speaker-grills{display:flex;flex-direction:column;gap:5px;width:100%;padding:0;margin-top:-20px}.tuner-label{position:absolute;bottom:15px;left:20px;font-family:Arial Narrow,Helvetica Neue,sans-serif;font-weight:700;font-size:.65em;color:var(--retro-metallic);text-shadow:0 -1px 0 var(--overlay-strong);letter-spacing:.3px;white-space:nowrap;-webkit-user-select:none;user-select:none;text-transform:uppercase;display:flex;align-items:center;gap:3px;z-index:2}.tuner-logo{width:40px;height:40px;opacity:.8}.grill-line{height:4px;background-color:var(--retro-surface-dark);border-radius:2px;box-shadow:inset 0 1px 1px var(--overlay-strong),0 1px 0 var(--retro-steel-highlight);width:100%}.retro-controls-section{flex:0 0 100px;display:flex;flex-direction:column;gap:10px;padding:5px;justify-content:center;margin-left:auto;margin-right:10px}.control-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}.control-row:last-child{margin-top:8px}.control-row label{font-family:Courier New,monospace;font-size:.75rem;color:var(--retro-metallic);min-width:auto;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;margin-right:4px}.small-label{font-family:Courier New,monospace;font-size:9px;color:var(--retro-metallic);text-transform:uppercase;letter-spacing:.3px;margin-right:2px}.retro-control{width:80px}.retro-select{width:80px;border:2px solid var(--retro-panel-edge);border-radius:4px;font-family:Courier New,monospace;font-size:13px;font-weight:800;letter-spacing:.5px;background:linear-gradient(to bottom,var(--retro-panel-surface),var(--retro-panel-surface-shadow));color:var(--color-text);text-shadow:0 1px 0 var(--alpha-70);text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;box-shadow:inset 0 1px 0 var(--alpha-30),0 2px 4px var(--overlay-soft);transition:border-color .2s;padding:2px 6px}.retro-select:hover{border-color:var(--retro-panel-border);box-shadow:0 0 6px var(--retro-cream-glow-40)}.retro-select:focus{outline:none;border-color:var(--retro-panel-border-light);box-shadow:0 0 8px var(--retro-cream-glow-50)}.retro-select option{background-color:var(--retro-panel-surface);color:var(--color-text);font-weight:700;font-size:13px}.retro-input{width:80px;border:2px solid var(--retro-panel-edge);border-radius:4px;font-family:Courier New,monospace;font-size:12px;font-weight:800;background:linear-gradient(to bottom,var(--retro-panel-surface),var(--retro-panel-surface-shadow));color:var(--color-text);text-align:center;padding:2px 4px;box-shadow:inset 0 1px 0 var(--alpha-30),0 2px 4px var(--overlay-soft)}.retro-input:focus{outline:none;border-color:var(--retro-panel-border-light);box-shadow:0 0 8px var(--retro-cream-glow-50)}.unit-label{font-family:Courier New,monospace;font-size:9px;color:var(--retro-metallic);letter-spacing:.3px;margin-left:-1px}.retro-volume-slider{width:80px;height:6px;background:var(--retro-panel-dark);border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:1px solid var(--retro-panel-outline);box-shadow:inset 0 1px 2px var(--overlay-soft)}.retro-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:linear-gradient(to bottom,var(--alpha-10),var(--alpha-30));border-radius:50%;border:1px solid var(--neutral-600);box-shadow:0 1px 2px var(--overlay-soft);cursor:pointer}.retro-volume-slider::-moz-range-thumb{width:12px;height:12px;background:linear-gradient(to bottom,var(--alpha-10),var(--alpha-30));border-radius:50%;cursor:pointer;border:1px solid var(--neutral-600);box-shadow:0 1px 2px var(--overlay-soft)}.play-button-area{display:flex;justify-content:flex-end;flex:1}.retro-play-button{padding:3px 10px;border:2px solid var(--retro-panel-edge);border-radius:3px;font-family:Courier New,monospace;font-size:10px;font-weight:800;letter-spacing:.3px;background:linear-gradient(to bottom,var(--retro-panel-surface),var(--retro-panel-surface-shadow));color:var(--retro-panel-text);text-transform:uppercase;cursor:pointer;box-shadow:inset 0 1px 0 var(--alpha-30),0 2px 4px var(--overlay-soft);transition:all .2s ease}.retro-play-button:hover{border-color:var(--retro-panel-border);box-shadow:0 0 6px var(--retro-cream-glow-40);transform:translateY(-1px)}.retro-play-button:active{transform:translateY(0);box-shadow:inset 0 1px 3px var(--overlay-soft),0 1px 2px var(--overlay-soft)}.retro-play-button.stop{background:linear-gradient(to bottom,var(--retro-alert-soft),var(--retro-alert-warm));border-color:var(--retro-alert-border);color:var(--retro-alert-text)}.retro-play-button.stop:hover{border-color:var(--retro-alert-highlight);box-shadow:0 0 6px var(--retro-warm-glow-40)}}@layer components{.tempo-challenge-button-container{position:absolute;top:120px;left:50%;transform:translate(-50%);z-index:97;display:flex;justify-content:center;align-items:center;gap:8px;width:90%;max-width:400px}.tempo-challenge-toggle-btn{display:flex;align-items:center;background-color:var(--color-bg-elevated);border-radius:var(--radius);box-shadow:0 2px 8px var(--overlay-soft);border:1px solid var(--alpha-10);overflow:hidden;flex:1;margin:0 10px;padding:10px 14px;cursor:pointer;transition:all .3s ease;color:var(--color-text-muted);font-size:.95rem}.tempo-challenge-help-btn{width:28px;height:28px;border-radius:50%;background-color:var(--color-bg-elevated);color:var(--color-brand);font-size:14px;font-weight:700;border:1px solid var(--alpha-10);cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease;box-shadow:0 2px 8px var(--overlay-soft);margin-right:10px}.tempo-challenge-help-btn:hover{background-color:var(--alpha-30);transform:scale(1.05);box-shadow:0 4px 12px var(--overlay-strong)}.tempo-challenge-toggle-btn:hover{background-color:var(--alpha-30);box-shadow:0 4px 12px var(--overlay-strong)}.tempo-challenge-toggle-btn.active{background-color:var(--alpha-30);color:var(--color-brand)}.tempo-challenge-toggle-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.tempo-challenge-label{font-weight:500;flex-shrink:0}.tempo-challenge-mini-info{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.mini-tempo-display,.mini-target-display{font-size:1.1rem;font-weight:600}.mini-tempo-display{color:var(--color-brand)}.mini-tempo-separator{color:var(--alpha-30);font-size:.9rem}.mini-bpm-label{font-size:.8rem;color:var(--alpha-70);margin-left:4px}.mini-progress-bar{flex:1;height:4px;background-color:var(--alpha-10);border-radius:2px;overflow:hidden;max-width:100px}.mini-progress-fill{height:100%;background-color:var(--color-brand);transition:width .3s ease}.expand-icon{font-size:.8rem;transition:transform .3s ease;opacity:.6}.tempo-challenge-toggle-btn.expanded .expand-icon{transform:rotate(180deg)}.tempo-challenge-section{position:fixed;top:210px;left:50%;transform:translate(-50%);width:90%;max-width:320px;max-height:calc(100vh - 240px);margin:10px 0;padding:16px;background:linear-gradient(145deg,var(--color-bg-dark),var(--color-bg-elevated));border-radius:var(--radius);box-shadow:0 2px 8px var(--overlay-soft);text-align:center;z-index:96;border:1px solid var(--alpha-10);color:var(--color-text-muted);overflow:hidden auto}.tempo-challenge-section::-webkit-scrollbar{width:4px}.tempo-challenge-section::-webkit-scrollbar-track{background:var(--alpha-10);border-radius:2px}.tempo-challenge-section::-webkit-scrollbar-thumb{background:var(--alpha-30);border-radius:2px}.tempo-challenge-section::-webkit-scrollbar-thumb:hover{background:var(--alpha-30)}.tempo-progress-display{margin:12px 0 16px;padding:12px;background:var(--alpha-10);border-radius:12px;border:1px solid var(--alpha-10)}.tempo-practice-label{font-size:.75rem;color:var(--alpha-70);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.tempo-progress-header{display:flex;align-items:baseline;justify-content:center;gap:8px;margin-bottom:10px}.current-tempo-large{font-size:2.2rem;font-weight:700;color:var(--color-brand);line-height:1}.tempo-unit{font-size:1rem;color:var(--color-brand);font-weight:500}.progress-info{margin-top:8px}.progress-target{display:flex;align-items:center;justify-content:center;gap:4px;font-size:.9rem;color:var(--alpha-90);margin-bottom:8px;font-weight:500}.tempo-unit-small{font-size:.75rem;color:var(--alpha-70);margin-left:2px}.tempo-challenge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tempo-challenge-header h3{color:var(--color-text-muted);margin:0;font-size:1.1em}.end-challenge-btn{padding:4px 10px;font-size:.8rem;background-color:var(--color-danger);color:var(--color-text-muted);border:none;border-radius:var(--radius);cursor:pointer;transition:all .3s ease}.end-challenge-btn:hover{transform:translateY(-1px);box-shadow:0 3px 6px var(--overlay-soft);filter:brightness(1.1)}.tempo-challenge-selector{margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.tempo-challenge-selector label{display:block;margin-bottom:4px;color:var(--alpha-90);font-size:.85rem}.tempo-challenge-select{width:100%;padding:6px 8px;border:1px solid var(--alpha-10);border-radius:var(--radius);background-color:var(--color-bg-elevated);color:var(--color-text-muted);cursor:pointer;font-size:.85rem}.manage-challenges-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-brand);text-decoration:none;font-size:.8rem;transition:color .2s;align-self:center;margin-top:3px}.manage-challenges-link:hover{color:var(--color-brand);text-decoration:underline}.link-icon{font-size:1rem}.tempo-challenge-info{margin-top:12px}.tempo-challenge-section .progress-container{margin:0}.tempo-challenge-section .progress{--progress-height: 6px;margin-bottom:4px}.tempo-challenge-section .progress-text{font-size:.7rem;color:var(--alpha-70)}.tempo-challenge-section .progress__fill{background:linear-gradient(90deg,var(--color-brand),var(--color-brand));box-shadow:0 0 8px var(--alpha-30)}.tempo-meta-info{display:flex;justify-content:center;align-items:center;gap:6px;font-size:.75rem;color:var(--alpha-70);margin-top:8px;padding-top:8px;border-top:1px solid var(--alpha-10)}.meta-value{font-weight:500}#time-signature-display{color:var(--color-text)}.tempo-level-up-section{margin:0 0 12px}.level-buttons-container{display:flex;gap:8px;align-items:stretch}.level-up-content{padding:14px 20px;display:flex;align-items:center;gap:12px}.level-up-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px var(--overlay-soft))}.level-up-text-group{flex:1;text-align:left;display:flex;flex-direction:column;gap:4px}.level-up-main-text{font-size:1rem;font-weight:600;line-height:1.2;display:block}.level-up-sub-text{font-size:.9rem;font-weight:500;opacity:.95;display:block}.level-down-icon{font-size:1.2rem;line-height:1}.level-down-text{font-size:.85rem;font-weight:600}.metronome-controls{margin-bottom:10px}.metronome-toggle-btn{width:100%;padding:10px 16px;font-size:.9rem;background-color:var(--alpha-10);border:1px solid var(--alpha-30);display:flex;align-items:center;justify-content:center;gap:8px}.metronome-icon{font-size:1.1rem}.metronome-toggle-btn:hover{background-color:var(--alpha-10);border-color:var(--alpha-30);transform:translateY(-1px)}.metronome-toggle-btn.stop{background-color:var(--alpha-10);border-color:var(--color-danger)}.metronome-container.challenge-active .dial-face{cursor:not-allowed;opacity:.8}.metronome-container.challenge-active .tempo-indicator-marker:after{content:"🔒";position:absolute;top:-25px;left:50%;transform:translate(-50%);font-size:16px}.metronome-container.challenge-active .start-stop-switch{opacity:.5;cursor:not-allowed;pointer-events:none}.metronome-container.challenge-active .time-signature-select{opacity:.6;cursor:not-allowed;background-color:var(--alpha-30)}@media (width <= 480px){.tempo-challenge-section{padding:12px;max-width:300px}.current-tempo-large{font-size:1.9rem}.tempo-progress-display{margin:8px 0 12px;padding:10px}.level-up-content{padding:12px 16px;gap:10px}.level-up-icon{font-size:1.3rem}.level-up-main-text{font-size:.95rem}.level-up-sub-text{font-size:.85rem}.level-buttons-container{gap:6px}.level-down-icon{font-size:1rem}.level-down-text{font-size:.8rem}.progress-target{font-size:.85rem}.tempo-challenge-toggle-btn{padding:9px 12px;font-size:.9rem}.tempo-challenge-help-btn{width:26px;height:26px;font-size:13px}}}@layer components{.notes-compact-header{margin-bottom:8px;padding-bottom:6px}.notes-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.notes-content .form-field__textarea{flex:1;min-height:200px;margin:0;resize:none}}@layer components{.checklist-compact-header{margin-bottom:12px}.checklist-counter{background:var(--tool-gradient-end);border:1px solid var(--alpha-10);border-radius:12px;padding:4px 8px;font-size:.75rem;color:var(--color-brand);font-weight:500;min-width:32px;text-align:center}.checklist-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.checklist-items-list{flex:1;overflow-y:auto;margin-bottom:12px;padding-right:4px}.checklist-item-compact{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--alpha-10);transition:opacity .2s ease}.checklist-item-compact:last-child{border-bottom:none}.checklist-item-compact:hover{opacity:.8}.checklist-checkbox-modern{width:18px;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--alpha-30);border-radius:4px;background:transparent;cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.checklist-checkbox-modern:checked{background:var(--color-brand);border-color:var(--color-brand)}.checklist-checkbox-modern:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-text);font-size:12px;font-weight:700}.checklist-checkbox-modern:disabled{opacity:.4;cursor:not-allowed}.checklist-label-modern{flex:1;cursor:pointer;font-size:.9rem;line-height:1.3;color:var(--color-text-muted);transition:color .2s ease;display:block;min-height:20px;padding:2px 0}.checklist-checkbox-modern:checked+.checklist-label-modern{color:var(--alpha-70);text-decoration:line-through}.checklist-checkbox-modern:disabled+.checklist-label-modern{cursor:not-allowed;opacity:.7}.checklist-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;opacity:.6}.empty-icon{font-size:2rem;margin-bottom:8px}.empty-text{font-size:.85rem;color:var(--alpha-70);margin:0}.checklist-add-compact{border-top:1px solid var(--alpha-10);padding-top:12px}.add-form-compact{display:flex;gap:8px}.add-form-compact .form-field__input{flex:1}.checklist-items-list::-webkit-scrollbar{width:4px}.checklist-items-list::-webkit-scrollbar-track{background:transparent}.checklist-items-list::-webkit-scrollbar-thumb{background:var(--alpha-30);border-radius:2px}.checklist-items-list::-webkit-scrollbar-thumb:hover{background:var(--alpha-30)}}@layer components{.noteshelf-panel{position:fixed;top:20px;right:20px;bottom:20px;width:400px;max-width:calc(100vw - 40px);background:var(--color-bg-elevated);border:1px solid var(--alpha-10);border-radius:var(--radius);box-shadow:var(--shadow-soft);z-index:1000;display:none;overflow:hidden;flex-direction:column}.noteshelf-panel.active,.noteshelf-panel.noteshelf-panel--open{display:flex}.noteshelf-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--alpha-10);flex-shrink:0}.noteshelf-header h3{margin:0;font-size:1.1rem;color:var(--color-text-muted)}.noteshelf-count{color:var(--alpha-70);font-size:.85rem}.noteshelf-close{background:none;border:none;color:var(--alpha-70);font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}.noteshelf-close:hover{background:var(--alpha-10);color:var(--color-text-muted)}.noteshelf-body{flex:1;overflow-y:auto;padding:8px;min-height:0;display:flex;flex-direction:column}.noteshelf-footer{padding:8px 16px;border-top:1px solid var(--alpha-10);font-size:.75rem;color:var(--alpha-70);flex-shrink:0}.upload-section{padding:16px;border-bottom:1px solid var(--alpha-10);flex-shrink:0}.upload-form{display:flex;flex-direction:column;gap:8px}.upload-area{position:relative;border:2px dashed var(--alpha-30);border-radius:var(--radius);padding:24px;text-align:center;transition:all .3s ease;cursor:pointer}.upload-area:hover,.upload-area.drag-over{border-color:var(--color-brand);background:var(--alpha-10)}.file-input{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer}.upload-label{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--alpha-70);cursor:pointer}.upload-icon{font-size:2rem;opacity:.7}.upload-hint{font-size:.75rem;color:var(--alpha-70)}.upload-button{padding:8px 16px;background:var(--color-brand);color:var(--color-bg-dark);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.upload-button:hover:not(:disabled){background:var(--color-brand-dark)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.noteshelf-list-section{padding:8px;flex:1;overflow-y:auto;min-height:0}.noteshelf-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.material-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:var(--alpha-10);border-radius:var(--radius-sm);transition:all .2s ease;cursor:pointer;position:relative}.material-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.material-icon{font-size:1.1rem;flex-shrink:0}.material-details{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.material-name{color:var(--color-text);font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-item.renaming .material-name{color:var(--color-text-muted)}.material-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:.75rem;color:var(--alpha-70)}.material-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;opacity:0;transition:opacity .2s ease;position:relative;z-index:1}.material-item:hover .material-actions,.material-item.renaming .material-actions,.material-actions:focus-within{opacity:1}.material-item.renaming .material-meta{display:none}html:not(.noteshelf-js) .material-actions{opacity:1}.material-rename-btn,.material-delete-btn{border:none;background:transparent;color:var(--alpha-70);font-size:.95rem;padding:4px 6px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.material-rename-btn:hover{color:var(--accent-color);background:var(--alpha-10)}.material-delete-btn:hover{color:var(--color-danger);background:var(--alpha-10);transform:scale(1.05)}.material-rename-form{display:block;width:100%;margin-top:8px}.noteshelf-js .material-rename-form{display:none}.material-rename-form.is-active{display:block}.material-rename-fields{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.material-rename-input{width:100%;border:1px solid var(--alpha-20);border-radius:var(--radius-sm);padding:4px 6px;font-size:.9rem;color:var(--color-text);background:var(--color-bg-elevated)}.material-rename-buttons{display:flex;gap:8px}.material-delete-form{margin:0}.material-rename-input:focus{outline:2px solid var(--accent-color);border-color:transparent}.material-rename-save-btn,.material-rename-cancel-btn{border:none;border-radius:var(--radius-sm);font-size:.8rem;padding:4px 8px;cursor:pointer;transition:all .2s ease}.material-rename-save-btn{background:var(--accent-color);color:#fff}.material-rename-save-btn:hover{background:var(--accent-color-hover)}.material-rename-cancel-btn{background:var(--alpha-10);color:var(--color-text-muted)}.material-rename-cancel-btn:hover{background:var(--alpha-15);color:var(--color-text)}.noteshelf-empty{text-align:center;padding:48px 24px;color:var(--alpha-70)}.noteshelf-empty p{margin:8px 0}.noteshelf-hint{font-size:.85rem;color:var(--alpha-70)}.storage-info{margin:0;font-size:.75rem;color:var(--alpha-70);text-align:center}.file-viewer-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--color-bg-dark);z-index:9999;display:none;flex-direction:column}.file-viewer-fullscreen.active{display:flex;flex-direction:column}.file-viewer-header{position:absolute;top:10px;right:10px;z-index:10001;display:flex;align-items:center;gap:8px}.file-viewer-download{background:var(--color-bg-elevated);border:1px solid var(--alpha-30);color:var(--color-text-muted);font-size:.85rem;padding:6px 10px;border-radius:999px;text-decoration:none;transition:all .2s ease}.file-viewer-download:hover{background:var(--color-bg-dark);color:var(--accent-color)}.file-viewer-download[hidden]{display:none}.file-viewer-close{background:var(--color-bg-elevated);border:1px solid var(--alpha-30);color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px var(--overlay-soft)}.file-viewer-close:hover{background:var(--color-bg-dark);transform:scale(1.1)}.file-viewer-body{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;position:relative;min-height:0}.pdf-container{display:flex;flex-direction:column;width:100%;height:100%;position:relative;min-height:0}.pdf-controls-compact{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:4px;background:var(--color-bg-elevated);border-radius:20px;border:1px solid var(--alpha-10);box-shadow:0 4px 12px var(--overlay-strong);z-index:10000;touch-action:none;-webkit-user-select:none;user-select:none}.pdf-nav-btn,.pdf-zoom-btn{background:transparent;color:var(--color-text-muted);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.pdf-nav-btn:hover:not(:disabled),.pdf-zoom-btn:hover{background:var(--alpha-10);color:var(--color-brand)}.pdf-nav-btn:disabled{color:var(--alpha-70);cursor:not-allowed;opacity:.3}.pdf-page-info{color:var(--color-text-muted);font-size:.85rem;padding:0 8px;white-space:nowrap}.pdf-zoom-controls{display:flex;align-items:center;gap:4px;padding-left:8px;border-left:1px solid var(--alpha-10)}.pdf-zoom-level{color:var(--alpha-70);font-size:.75rem;padding:0 4px;min-width:40px;text-align:center}.pdf-viewport{flex:1;overflow:auto;padding:0;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;position:relative;display:block;min-height:0}.pdf-viewport:not([data-turn-mode]){--noteshelf-turn-mode: full}.pdf-viewport[data-turn-mode=half-next],.pdf-viewport[data-turn-mode=half-prev]{overflow:hidden;padding-bottom:0}.pdf-stage{width:100%;height:100%;display:block;min-height:0}.pdf-slice{width:100%;min-height:0}.pdf-viewport:not([data-turn-mode]) .pdf-slice--top,.pdf-viewport[data-turn-mode=full] .pdf-slice--top{display:none}.pdf-viewport:not([data-turn-mode]) .pdf-slice--bottom,.pdf-viewport[data-turn-mode=full] .pdf-slice--bottom{display:flex;justify-content:center;align-items:flex-start;overflow:visible;height:auto}.pdf-viewport:not([data-turn-mode]) .pdf-slice--bottom .pdf-canvas,.pdf-viewport[data-turn-mode=full] .pdf-slice--bottom .pdf-canvas{transform:none}.pdf-viewport[data-turn-mode=half-next] .pdf-stage,.pdf-viewport[data-turn-mode=half-prev] .pdf-stage{display:flex;flex-direction:column;height:100%}.pdf-viewport[data-turn-mode=half-next] .pdf-slice,.pdf-viewport[data-turn-mode=half-prev] .pdf-slice{flex:1 1 0;min-height:0;overflow:hidden;display:flex;justify-content:center;align-items:flex-start}.pdf-viewport[data-turn-mode=half-next] .pdf-slice--bottom .pdf-canvas,.pdf-viewport[data-turn-mode=half-prev] .pdf-slice--bottom .pdf-canvas{transform:translateY(-50%)}.file-viewer-fullscreen.noteshelf-gesture-active .pdf-viewport{touch-action:none}.pdf-canvas{display:block;box-shadow:0 4px 12px var(--overlay-strong);max-width:none}.image-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.image-container img{max-width:100%;max-height:100%;object-fit:contain}.file-loading{text-align:center;color:var(--alpha-70)}.file-loading-spinner{font-size:2rem;animation:spin 1s linear infinite}.file-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000059;z-index:2;color:var(--color-text-muted);text-align:center}.file-loading-overlay[hidden]{display:none}.file-loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 20px;border-radius:12px;background:#00000040;border:1px solid rgb(255 255 255 / 12%);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.file-loading-overlay-message{margin:0;font-size:.95rem;color:var(--alpha-70)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-error{text-align:center;color:var(--color-danger);padding:48px}.toast{position:fixed;top:24px;right:24px;background:var(--color-bg-elevated);color:var(--color-text-muted);padding:16px 24px;border-radius:var(--radius);box-shadow:var(--shadow-soft);z-index:10000;animation:slideIn .3s ease;border:1px solid var(--alpha-10)}.toast.success{background:var(--color-brand);color:#fff}.toast.error{background:var(--color-danger);color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.noteshelf-library-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:start}.noteshelf-library-folders,.noteshelf-library-list{background:var(--color-bg-elevated);border:1px solid var(--alpha-10);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:16px;min-width:0}.noteshelf-library-folders__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.noteshelf-library-folders__title{margin:0;font-size:var(--text-lg);color:var(--color-text-muted)}.noteshelf-library-folders__create-row{display:flex;align-items:center;gap:8px}.noteshelf-library-folders__nav{margin-top:8px}.noteshelf-library-folders__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.noteshelf-library-folders__link{display:block;padding:8px 10px;border-radius:var(--radius-sm);text-decoration:none;color:var(--color-brand);border:1px solid transparent;background:transparent;transition:all .2s ease}.noteshelf-library-folders__link:hover{background:var(--alpha-10);border-color:var(--alpha-10);color:var(--color-text)}.noteshelf-library-folders__link.is-active{background:var(--alpha-10);border-color:var(--color-brand);color:var(--color-text)}.noteshelf-library-folders__folder{border-radius:var(--radius-sm);border:1px solid var(--alpha-10);background:var(--alpha-04);padding:6px}.noteshelf-library-folders__folder.is-active{border-color:var(--color-brand);background:var(--alpha-10)}.noteshelf-library-folders__folder-summary{list-style:none}.noteshelf-library-folders__folder-summary::-webkit-details-marker{display:none}.noteshelf-library-folders__folder-summary a{display:block}.noteshelf-library-folders__folder-actions{margin-top:8px;padding-top:8px;border-top:1px solid var(--alpha-10);display:flex;flex-direction:column;gap:8px}.noteshelf-library-folders__folder-actions form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.noteshelf-library-folders__folder-actions .form-field__input{flex:1;min-width:180px}.noteshelf-library-list__controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.noteshelf-library-list__filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.noteshelf-library-list__filters .form-field__input{width:240px;max-width:100%}.noteshelf-library-list__filters .form-field__select{width:160px;max-width:100%}.noteshelf-library-list__items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.noteshelf-library-list__item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border-radius:var(--radius);border:1px solid var(--alpha-10);background:var(--alpha-04)}.noteshelf-library-list__item-main{min-width:0;flex:1}.noteshelf-library-list__item-title{font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.noteshelf-library-list__item-meta{margin-top:4px;display:flex;flex-direction:column;gap:2px;color:var(--alpha-70);font-size:var(--text-sm)}.noteshelf-library-list__item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.noteshelf-library-list__add-to-folder{position:relative}.noteshelf-library-list__add-to-folder>summary{list-style:none}.noteshelf-library-list__add-to-folder>summary::-webkit-details-marker{display:none}.noteshelf-library-list__add-to-folder-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:10;background:var(--color-bg-elevated);border:1px solid var(--alpha-10);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:8px;min-width:220px;display:flex;flex-direction:column;gap:6px}.noteshelf-library-list__add-to-folder-menu form{margin:0}.noteshelf-library-list__add-to-folder-menu .btn{width:100%}.noteshelf-library-list__empty{padding:28px 12px;color:var(--alpha-70)}@media (width <= 768px){.noteshelf-panel{top:10px;right:10px;bottom:10px;left:10px;width:auto;max-width:none}.noteshelf-library-layout{grid-template-columns:1fr}.file-viewer-header{padding:16px}}}@layer components{.fish-progress-indicator{position:fixed;bottom:90px;left:50%;transform:translate(-50%);z-index:95;display:block;text-decoration:none;background:linear-gradient(135deg,var(--tool-gradient-start) 0%,var(--tool-gradient-end) 100%);border-radius:12px;padding:10px 16px;width:90%;max-width:320px;box-shadow:0 2px 8px var(--overlay-soft);border:1px solid var(--border);transition:all .3s ease;cursor:pointer;overflow:hidden}.fish-progress-indicator:before{content:"NY!";position:absolute;top:7px;left:-22px;background-color:var(--color-danger);color:var(--color-text);font-size:10px;font-weight:700;padding:3px 26px;text-transform:uppercase;transform:rotate(-45deg);box-shadow:0 2px 4px var(--overlay-soft);z-index:1}.fish-progress-indicator:hover{transform:translate(-50%) translateY(-2px);box-shadow:0 4px 12px var(--overlay-strong);background:linear-gradient(135deg,var(--tool-gradient-start) 0%,var(--tool-gradient-end-brighter) 100%);text-decoration:none}.progress-text{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widgets-bottom .fish-progress-indicator{position:relative;bottom:auto;left:auto;transform:none;display:inline-block;margin:0 .375rem;padding:.5rem .75rem;width:auto;max-width:none;border-radius:20px;font-size:.85rem}.widgets-bottom .fish-progress-indicator:before{display:none}.widgets-bottom .fish-progress-indicator:hover{transform:translateY(-2px)}.pre-practice-container{position:relative;width:100%;height:calc(100dvh - 110px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem 2rem}.ladder-top{position:absolute;top:80px;left:50%;transform:translate(-50%);width:90%;max-width:300px;display:flex;justify-content:center}.pre-practice-container .button-container{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);padding-bottom:0}.widgets-bottom{position:fixed;bottom:100px;left:50%;transform:translate(-50%);width:90%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:1rem;justify-content:center;z-index:10}.milestone-bottom{position:fixed;bottom:100px;left:50%;transform:translate(-50%);width:90%;max-width:400px;display:flex;justify-content:center;z-index:10}.ladder-top .mini-ladder-component,.widgets-bottom .practice-stats-wrapper{margin:0}@media (width <= 480px){.fish-progress-indicator{bottom:85px;padding:8px 12px;max-width:280px}}}@layer components{.button-container{padding-bottom:0}.retro-timer-container.paused .digital-display{opacity:.7;transition:opacity .25s ease}.timer-controls{position:absolute;bottom:20%;left:50%;transform:translate(-50%);display:flex;gap:20px;z-index:10}.timer-control-btn{width:48px;height:48px;border-radius:50%;background:var(--alpha-10);border:2px solid var(--alpha-30);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.85;position:relative;z-index:11;pointer-events:auto;touch-action:manipulation;box-shadow:0 4px 12px var(--overlay-soft),inset 0 1px 2px var(--alpha-30);font-size:1.2rem}.timer-edit-top-btn{position:absolute;top:16%;left:50%;transform:translate(-50%);width:34px;height:34px;border-radius:50%;background:var(--alpha-10);border:2px solid var(--alpha-30);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.85;z-index:12;touch-action:manipulation;box-shadow:0 4px 12px var(--overlay-soft),inset 0 1px 2px var(--alpha-30);transition:all .25s ease}@media (hover: hover) and (pointer: fine){.timer-edit-top-btn:hover{background:var(--alpha-30);border-color:var(--alpha-70);transform:translate(-50%) scale(1.12);opacity:1}}.timer-edit-top-btn:active{transform:translate(-50%) scale(.95)}@media (hover: hover) and (pointer: fine){.timer-control-btn:hover{background:var(--alpha-30);border-color:var(--alpha-70);transform:scale(1.15);opacity:1;box-shadow:0 6px 20px var(--overlay-strong),0 0 20px var(--alpha-30),inset 0 1px 3px var(--alpha-30)}}.timer-control-btn:active{transform:scale(.95)}@media (hover: hover) and (pointer: fine){.timer-control-btn.stop-btn:hover{background:var(--alpha-10);border-color:var(--color-danger);box-shadow:0 6px 20px var(--overlay-strong),0 0 20px var(--alpha-30),inset 0 1px 3px var(--alpha-30)}}@keyframes fadeInButton{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}50%{opacity:0}to{opacity:.7;transform:translate(-50%,-50%) scale(1)}}@keyframes gentle-pulse{0%,to{opacity:.9}50%{opacity:1}}.retro-timer-container.paused .clock-face{fill:var(--alpha-30)}}
