:root{--background:#0a0a0c;--foreground:#f8f8f2;--primary:#8b5cf6;--secondary:#1e1e2e;--accent:#ff79c6;--ghost:#ffffff0d;--border:#ffffff1a;--success:#50fa7b;--error:#f55;--text-muted:#9ca3af}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}.glass{background:var(--ghost);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:2rem}input,textarea,select{font-size:16px}.wrap{flex-wrap:wrap}.flex{display:flex}.column,.flex-col{flex-direction:column}.center{justify-content:center;align-items:center}.between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-4{gap:2rem}.transition{transition:all .2s ease-in-out}.btn{cursor:pointer;color:#f8fafc;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:#1f1f32;border:1.5px solid #ffffff38;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 8px #00000059}.btn:hover{color:#fff;background:#2b2b44;border-color:#ffffff6b;transform:translateY(-1px);box-shadow:0 4px 14px #00000080}.btn-primary{font-weight:700;box-shadow:0 4px 14px #8b5cf659;color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;border:1.5px solid #c4b5fd73!important}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf68c;background:linear-gradient(135deg,#9b6ffd,#6d28d9)!important;border-color:#d8b4feb3!important}.btn-secondary,.btn.glass{font-weight:600;box-shadow:0 2px 10px #0006;color:#f8fafc!important;background:#25253b!important;border:1.5px solid #ffffff40!important}.btn-secondary:hover,.btn.glass:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0009;color:#fff!important;background:#323250!important;border-color:#ffffff80!important}.btn-success{font-weight:700;box-shadow:0 4px 14px #22c55e59;color:#fff!important;background:linear-gradient(135deg,#22c55e,#16a34a)!important;border:1.5px solid #4ade8099!important}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 18px #22c55e8c;background:linear-gradient(135deg,#16a34a,#15803d)!important}.btn-danger-solid,.btn-danger{font-weight:700;box-shadow:0 4px 14px #ef444459;color:#fff!important;background:linear-gradient(135deg,#ef4444,#dc2626)!important;border:1.5px solid #f8717199!important}.btn-danger-solid:hover,.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ef44448c;background:linear-gradient(135deg,#dc2626,#b91c1c)!important}.btn-danger-outline{font-weight:700;color:#fca5a5!important;background:#ef444429!important;border:1.5px solid #ef444480!important}.btn-danger-outline:hover{transform:translateY(-1px);color:#fff!important;background:#ef44444d!important;border-color:#ef4444!important}.btn-icon-danger{cursor:pointer;transition:all .2s;color:#f87171!important;background:#ef44442e!important;border:1.5px solid #ef444473!important;border-radius:8px!important;justify-content:center!important;align-items:center!important;padding:.45rem .55rem!important;display:inline-flex!important}.btn-icon-danger:hover{transform:translateY(-1px);color:#fff!important;background:#ef4444!important;border-color:#ef4444!important;box-shadow:0 2px 10px #ef444466!important}.btn-purple-subtle{font-weight:700;box-shadow:0 2px 8px #8b5cf626;color:#e9d5ff!important;background:#8b5cf638!important;border:1.5px solid #a78bfa80!important}.btn-purple-subtle:hover{transform:translateY(-1px);box-shadow:0 4px 14px #8b5cf64d;color:#fff!important;background:#8b5cf661!important;border-color:#c4b5fdcc!important}.btn-close-modal{cursor:pointer;border-radius:10px;width:36px;min-width:36px;height:36px;transition:all .2s;color:#cbd5e1!important;background:#ffffff14!important;border:1px solid #fff3!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.btn-close-modal:hover{transform:translateY(-1px);color:#fff!important;background:#ef444440!important;border-color:#ef4444!important}.btn:active{transform:scale(.97)}.repertorio-main-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:2rem;display:grid}@media (max-width:960px){.repertorio-main-grid{grid-template-columns:1fr!important;gap:1.5rem!important}}@media (max-width:640px){.song-row-actions{border-top:1px solid #ffffff1a!important;flex-wrap:wrap!important;gap:.5rem!important;width:100%!important;margin-top:.75rem!important;padding-top:.75rem!important;display:flex!important}.song-row-actions>*{text-align:center!important;flex:120px!important;justify-content:center!important}.song-row-actions>.btn-icon-danger{flex:0 0 38px!important;width:38px!important;min-width:38px!important;height:38px!important}.rsvp-container-mobile{flex-direction:column!important;align-items:stretch!important;width:100%!important}.rsvp-container-mobile button{justify-content:center!important;width:100%!important;padding:.65rem 1rem!important}}.desktop-hide,.desktop-hide-block{display:none!important}.nav-desktop{display:flex!important}.nav-mobile,.nav-mobile-block{display:none!important}@media (max-width:1024px){.nav-desktop{display:none!important}.nav-mobile{display:flex!important}.nav-mobile-block{display:block!important}}@media (max-width:768px){html,body{width:100%;overflow-x:hidden}.container{max-width:100%;padding:1rem .75rem}.responsive-stack{flex-direction:column!important;align-items:stretch!important;gap:1rem!important}.responsive-between-stack{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.gap-4{gap:.85rem!important}.mobile-full{width:100%!important;max-width:100%!important}.mobile-between{justify-content:space-between!important;align-items:center!important;width:100%!important;display:flex!important}.mobile-center{text-align:center!important;justify-content:center!important;align-items:center!important}.mobile-hide{display:none!important}.desktop-hide{display:flex!important}.desktop-hide-block{display:block!important}}:root{--desktop-only:block}@media (max-width:768px){:root{--desktop-only:none}}.responsive-title{font-size:4.5rem}@media (max-width:1024px){.responsive-title{font-size:3.2rem}}@media (max-width:768px){.responsive-title{font-size:2.2rem}}@media (max-height:550px),(orientation:landscape) and (max-height:600px){.modal-responsive-card{border-radius:12px!important;max-height:90vh!important;padding:1rem 1.25rem!important;overflow-y:auto!important}.transpose-key-grid{grid-template-columns:repeat(6,1fr)!important;gap:.5rem!important;margin-top:.5rem!important}.transpose-key-grid button{height:38px!important;padding:.2rem!important;font-size:.95rem!important}.player-top-header{gap:.75rem!important;margin-bottom:.75rem!important}.player-play-btn{width:44px!important;min-width:44px!important;height:44px!important}.player-waveform-box{max-height:48px!important}.player-stems-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:.5rem 1rem!important}.player-stem-row{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:.5rem!important;padding:.2rem 0!important}.player-stem-row .mobile-full{width:auto!important}.player-lyrics-scroll{max-height:180px!important}.player-chords-timeline{margin-bottom:.5rem!important;padding:.4rem!important}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@media (max-width:768px){.btn{min-height:44px;font-size:.9rem!important}h1{font-size:clamp(1.4rem,5vw,2rem)!important}h2{font-size:clamp(1.2rem,4vw,1.6rem)!important}h3{font-size:clamp(1rem,3.5vw,1.3rem)!important}.table-mobile-scroll{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.banner-flex-stack{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.modal-footer-btns{flex-direction:column!important;gap:.5rem!important}.modal-footer-btns>*{justify-content:center!important;width:100%!important}.tabs-scroll{padding-bottom:4px;-webkit-overflow-scrolling:touch!important;flex-wrap:nowrap!important;overflow-x:auto!important}.tabs-scroll>*{white-space:nowrap!important;flex-shrink:0!important}section.hero-section{margin-bottom:2rem!important}.feature-card{min-width:unset!important;flex:100%!important}}input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=search],textarea,select{font-size:max(16px,1rem)}@media (max-width:500px){.player-stems-grid{grid-template-columns:1fr!important}}@media (max-width:768px){input[type=range]{cursor:pointer;height:20px!important}.player-chords-timeline{padding:.75rem!important}.player-view-tabs{max-width:100%!important}}.modal-backdrop{z-index:2500!important;-webkit-backdrop-filter:blur(8px)!important;background:#000000d9!important;justify-content:center!important;align-items:center!important;padding:1rem!important;display:flex!important;position:fixed!important;inset:0!important}.modal-content{background:#161922!important;border:1px solid #ffffff24!important;border-radius:20px!important;max-height:90vh!important;overflow-y:auto!important;box-shadow:0 25px 60px #000c!important}
