:root{--radius:0.625rem;--radius-sm:calc(var(--radius) * 0.6);--radius-md:calc(var(--radius) * 0.8);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) * 1.4);--radius-2xl:calc(var(--radius) * 1.8);--color-fg-online:#4ade80;--color-bg-live:rgba(239,68,68,0.1);--color-border-live:rgba(239,68,68,0.2);--color-bg-play-btn:linear-gradient(hsl(132.4,75.7%,41.9%),hsl(132.4,75.7%,27.9%));--color-bg-primary:#f59e0b;--color-bg-pause-btn:#2563eb;--color-show-live:#22c55e;--color-show-live-subtle:rgba(34,197,94,0.07);--color-show-live-muted:rgba(34,197,94,0.12);--color-show-live-dim:rgba(34,197,94,0.15);--color-border-show-live:rgba(34,197,94,0.3);--color-border-show-live-light:rgba(34,197,94,0.25);--color-lighting-accent:#a855f7;--color-lighting-accent-dim:#c084fc;--color-bg-lighting:rgba(168,85,247,0.12);--color-bg-lighting-muted:rgba(168,85,247,0.25);--color-border-lighting:rgba(168,85,247,0.25);--color-border-lighting-strong:rgba(168,85,247,0.4);--color-border-lighting-active:rgba(168,85,247,0.5);--color-bg-base:#f4f4f5;--color-bg-card:#ffffff;--color-bg-card-inner:#f4f4f5;--color-bg-panel:rgba(255,255,255,0.92);--color-bg-subtle:rgba(0,0,0,0.06);--color-border:rgba(0,0,0,0.07);--color-fg-low-contrast:#a0aec0;--color-fg-medium-contrast:#718096;--color-fg-normal-contrast:#343f50;--color-fg-high-contrast:#252e3c;--color-fg-primary:#b45309;--color-fg-primary-dimmed:rgba(180,110,0,0.8);--color-fg-red:#e03131;--color-fg-orange:#fd7e14;--color-fg-yellow:#f08c00;--color-fg-green:#2f9e44;--color-fg-teal:#0c8599;--color-fg-blue:#1971c2;--color-fg-cyan:#1098ad;--color-fg-purple:#6741d9;--color-fg-pink:#c2255c;--color-bg-accent-primary:rgba(245,158,11,0.1);--color-bg-accent-red:rgba(229,62,62,0.07);--color-bg-accent-orange:rgba(221,107,32,0.1);--color-bg-accent-yellow:rgba(214,158,46,0.1);--color-bg-accent-green:rgba(56,161,105,0.1);--color-bg-accent-teal:rgba(49,151,149,0.1);--color-bg-accent-blue:rgba(49,130,206,0.1);--color-bg-accent-cyan:rgba(0,181,216,0.1);--color-bg-accent-purple:rgba(128,90,213,0.1);--color-bg-accent-pink:rgba(213,63,140,0.1);--color-chord-dimmed:rgba(180,110,0,0.6);--shadow-sunken:inset 0 1px 3px rgba(0,0,0,0.08),0 1px 0 rgba(255,255,255,0.8);--shadow-secondary:inset 0 0 0 1px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.6),-1px 0 2px rgba(0,0,0,0.06);--transition-colors:color 150ms ease,background-color 150ms ease,border-color 150ms ease;--transition-base:all 150ms ease;--transition-medium:all 200ms ease-in-out;--transition-slow:all 300ms ease;--lh-normal:1.5;--lh-compact:1.2;--lh-tight:1;--text-2xs:0.625rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-h1:clamp(2rem,6vw,4rem);--text-h2:clamp(2rem,4vw,3rem);--text-h3:clamp(1.3rem,2vw,1.4rem);--text-h4:clamp(1.1rem,1.5vw,1.2rem);--text-h5:clamp(1rem,1.2vw,1.1rem);--cp-chassis:var(--color-bg-card);--cp-btn-face:linear-gradient(160deg,var(--color-bg-card-inner) 0%,var(--color-bg-card) 100%);--cp-btn-inset:inset 1px 1px 1px rgba(255,255,255,0.09),inset -1px -1px 1px rgba(0,0,0,0.35);--cp-btn-inset-pressed:inset -1px -1px 1px rgba(255,255,255,0.04),inset 2px 2px 4px rgba(0,0,0,0.5);--cp-nav-face:color-mix(in oklch,var(--color-fg-low-contrast) 90%,transparent);--cp-display-bg:var(--color-bg-base);--cp-display-text:var(--color-fg-normal-contrast);--cp-display-label:color-mix(in oklch,var(--color-fg-low-contrast) 40%,transparent);--cp-track-bg:var(--color-bg-base);--cp-selector-track:var(--color-bg-card);--cp-knob-face:linear-gradient(145deg,var(--color-bg-card-inner) 0%,var(--color-bg-card) 100%);--cp-play-face:linear-gradient(145deg,var(--color-fg-primary) 0%,#d97706 100%);--cp-play-color:#1c1300;--cp-play-glow:color-mix(in oklch,var(--primary) 55%,transparent);--cp-play-active-face:linear-gradient(145deg,#60a5fa 0%,var(--color-bg-pause-btn) 100%);--cp-play-active-color:#ffffff;--cp-play-active-glow:color-mix(in oklch,var(--color-bg-pause-btn) 50%,transparent);--background:var(--color-bg-base);--foreground:var(--color-fg-medium-contrast);--card:var(--color-bg-card);--card-foreground:var(--foreground);--popover:var(--color-bg-card);--popover-foreground:var(--foreground);--primary:#f59e0b;--primary-foreground:#1c1300;--secondary:var(--color-bg-card-inner);--secondary-foreground:var(--color-fg-normal-contrast);--muted:var(--color-bg-card-inner);--muted-foreground:var(--color-fg-low-contrast);--accent:var(--color-bg-accent-primary);--accent-foreground:var(--color-fg-primary);--destructive:#e03131;--border:var(--color-border);--input:var(--color-border);--ring:#f59e0b}.dark{--color-bg-base:hsl(233.3,29%,6.1%);--color-bg-card:hsl(230,26.1%,12%);--color-bg-card-inner:hsl(240,26.2%,10.7%);--color-bg-panel:rgba(24,24,27,0.92);--color-bg-subtle:rgba(255,255,255,0.07);--color-border:rgba(255,255,255,0.08);--color-fg-low-contrast:hsl(213.8,20.3%,50%);--color-fg-medium-contrast:#aebecf;--color-fg-normal-contrast:#e2e8f0;--color-fg-high-contrast:#edf2f7;--color-fg-primary:#fbbf24;--color-fg-primary-dimmed:rgba(245,158,11,0.65);--color-fg-red:#ffa8a8;--color-fg-orange:#ffc078;--color-fg-yellow:#ffe066;--color-fg-green:#8ce99a;--color-fg-teal:#63e6be;--color-fg-blue:#74c0fc;--color-fg-cyan:#66d9e8;--color-fg-purple:#b197fc;--color-fg-pink:#faa2c1;--color-bg-accent-primary:rgba(245,158,11,0.15);--color-bg-accent-red:rgba(229,62,62,0.2);--color-bg-accent-orange:rgba(221,107,32,0.2);--color-bg-accent-yellow:rgba(214,158,46,0.2);--color-bg-accent-green:rgba(56,161,105,0.2);--color-bg-accent-teal:rgba(49,151,149,0.2);--color-bg-accent-blue:rgba(49,130,206,0.2);--color-bg-accent-cyan:rgba(0,181,216,0.2);--color-bg-accent-purple:rgba(128,90,213,0.2);--color-bg-accent-pink:rgba(213,63,140,0.2);--shadow-sunken:0px 1px 0px hsla(0,0%,63%,0.25),inset 0px 0px 0px 1px #000,inset 0px 6px 12px rgba(0,0,0,0.25),inset 0px 1px 0px 1px rgba(0,0,0,0.25);--shadow-secondary:-2px 0px 2px rgba(0,0,0,0.2),1px 0px 0px #000,inset 0px 0px 0px 1px rgba(95,95,95,0.18),inset 0px 1px 0px rgba(95,95,95,0.5);--color-chord-dimmed:rgba(245,158,11,0.6);--foreground:var(--color-fg-medium-contrast);--destructive:#ff6b6b;--input:rgba(255,255,255,0.15)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes countBeat{0%{opacity:1;transform:scale(1.35)}to{opacity:.85;transform:scale(1)}}@keyframes bpmBlink{0%,30%{opacity:1;transform:scale(1.2)}50%,to{opacity:.15;transform:scale(1)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dialogOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}@keyframes popupIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes popupOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(2.5rem)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutToRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(2.5rem)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-2.5rem)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutToLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-2.5rem)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(2.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutToBottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(2.5rem)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-2.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutToTop{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2.5rem)}}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}*,:after,:before{box-sizing:border-box;border:0 solid var(--color-border);outline-color:color-mix(in oklch,var(--ring) 50%,transparent)}@font-face{font-family:Inter;src:url(/fonts/Inter-Variable.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Aleo;src:url(/fonts/Aleo-Variable.ttf) format("truetype-variations");font-weight:100 900;font-display:swap}html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-text-size-adjust:100%;line-height:1.5}body{margin:0;background-color:var(--color-bg-base);color:var(--color-fg-medium-contrast);line-height:inherit}button,input,select,textarea{font:inherit}.sunken,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=file]),select,textarea{box-shadow:var(--shadow-sunken)}button{cursor:pointer}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--lh-compact);color:var(--color-fg-high-contrast);margin-bottom:.5em}h1{font-size:var(--text-lg);font-weight:700;letter-spacing:-.025em}h2{font-size:var(--text-md)}h3{font-size:var(--text-base)}h4{font-size:var(--text-sm)}h5{font-size:var(--text-xs)}ol,ul{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}a,button{transition:var(--transition-base)}