@charset "UTF-8";.toast-stack{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2100;display:flex;flex-direction:column;gap:8px;align-items:center;width:100%;max-width:560px;padding:0 16px;pointer-events:none}.toast{display:flex;align-items:center;gap:12px;max-width:100%;padding:12px 12px 12px 24px;border-radius:8px;font-weight:500;font-size:14px;text-align:left;box-shadow:0 4px 12px #00000026;animation:toastSlideDown .3s ease-out;pointer-events:auto}.toast__message{flex:1;overflow-wrap:anywhere}.toast__dismiss.btn.btn--icon{flex:0 0 auto;width:24px;height:24px;padding:0;font-size:18px;line-height:1;background:transparent;border:none;color:#fffc}.toast__dismiss.btn.btn--icon:hover{background:#ffffff26;color:#fff}.toast--success{background-color:#2e7d32;color:#fff}.toast--warning{background-color:#ed6c02;color:#fff}.toast--error{background-color:#d32f2f;color:#fff}.toast--info{background-color:#263238;color:#fff}@keyframes toastSlideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}:root.theme-dark .toast{box-shadow:0 4px 12px #0006}.demo-component-wrapper{margin-bottom:100px;position:relative;padding:2rem;background:#ffffff05;border-radius:16px;border:1px solid rgba(255,255,255,.06);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.9}.demo-component-wrapper *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important;cursor:default!important}.home_page{min-height:100vh;width:100%;font-size:1.1rem;line-height:1.8}.home_page body,.home_page html{overflow:auto!important}.home_page h4{font-size:1.8rem;font-weight:600;color:#fffffff2;margin:3rem 0 1.5rem;line-height:1.4}.home_page p{font-size:1.15rem;color:#ffffffd9;line-height:1.9;margin:1rem 0}.home_page a{color:#07f0dce6;text-decoration:underline;transition:color .2s}.home_page a:hover{color:#07f0dc}.home_page ul{font-size:1.15rem;line-height:2}.home_page ul li{margin:1rem 0;color:#ffffffd9}.home_page ul li p{margin:.5rem 0}.home_page button{font-size:1.2rem;padding:14px 32px;font-weight:600;border-radius:8px;border:2px solid rgba(7,240,220,.6);background-color:#07f0dc33;color:#fff;cursor:pointer;transition:all .3s;margin:2rem 0}.home_page button:hover{background-color:#07f0dc4d;transform:translateY(-2px);box-shadow:0 4px 20px #07f0dc4d}.home-hero-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100vh - 120px);padding:2rem;gap:.75rem}#pithy_statement{font-size:2rem;font-weight:300;color:#fffffff2;max-width:800px;margin:0;line-height:1.6}.home_page .new-song-button{padding:1rem 3rem;font-size:1.2rem;font-weight:600;border:2px solid rgba(7,240,220,.6);border-radius:8px;background-color:#07f0dc33;color:#fff;cursor:pointer;transition:all .3s;margin:0 auto 4.5rem;display:block}.home_page .new-song-button:hover{background-color:#07f0dc4d;transform:translateY(-2px);box-shadow:0 4px 20px #07f0dc4d}.home_page .new-song-button.glow-button{animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #07f0dc66}50%{box-shadow:0 0 40px #07f0dc99}}#four_point_summary{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 2rem;max-width:800px;width:100%;margin:.75rem 0;text-align:left}.summary-item{font-size:1.35rem;color:#ffffffd9;position:relative;padding-left:1.5rem}.summary-item:before{content:"•";position:absolute;left:0;color:#07f0dccc;font-size:1.5rem;line-height:1.35rem}#cheeky_helper{font-size:.9rem;color:#ffffff80;margin:.25rem 0}.read-more-intro{font-size:1.4rem;color:#ffffffbf;margin-top:3rem!important;font-weight:500}.home-container{position:relative;z-index:0;overflow:visible}#home-buttons-section{position:relative;z-index:1;margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.home-button{padding:12px 24px;margin-left:2rem;font-size:18px;border:none;border-radius:8px;background-color:#07f0dc33;border:2px solid rgba(7,240,220,.6);width:300px;color:#3f3e3e;cursor:pointer;box-shadow:0 4px 12px #4c7cff1a;transition:background-color .2s,box-shadow .2s}.home-logo{position:absolute;top:-150px;left:50px;width:1750px;height:1750px;z-index:-1;pointer-events:none;-webkit-user-select:none;user-select:none}#flocklockin_music_is,.who_for_section,#how_work_section,.why_exists_section{max-width:900px;margin:1rem auto 4rem;padding:1.5rem 2rem;padding:0 2rem 1.5rem;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #0000001a}#flocklockin_music_is:hover,.who_for_section:hover,#how_work_section:hover,.why_exists_section:hover{background:#ffffff0a;border-color:#ffffff1f}.who_for_section .tab-headers{display:flex;gap:0;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.who_for_section .tab-header{flex:1;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#fff9;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .3s;margin:0 0 -2px}.who_for_section .tab-header:hover{color:#fffc;background:#ffffff05;transform:none;box-shadow:none}.who_for_section .tab-header.active{color:#07f0dcf2;border-bottom-color:#07f0dccc;background:#ffffff08}.who_for_section .tab-content{padding-top:1rem}.who_for_section .tab-panel{animation:fadeIn .3s ease-in}#flocklockin_music_is{margin-bottom:6rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}#flocklockin_music_is{font-size:1.2rem;line-height:2}#how_work_section ul{list-style:none;padding:0}#how_work_section ul li{padding:1.5rem;margin:1.5rem 0;background:#ffffff05;border-left:3px solid rgba(7,240,220,.5);border-radius:8px;transition:all .3s}#how_work_section ul li:hover{background:#ffffff0a;border-left-color:#07f0dccc;transform:translate(8px)}#how_work_section ul li p{margin:0;font-size:1.15rem}.why_exists_section p{font-size:1.15rem;line-height:2}.demo-components-section{padding:80px 20px;max-width:1400px;margin:6rem auto 4rem;background:#0003;border-top:2px solid rgba(7,240,220,.3);border-bottom:2px solid rgba(7,240,220,.3)}.demo-components-section h3{text-align:center;font-size:3rem;margin-bottom:1.5rem;color:#fffffff2;font-weight:700}.demo-components-section>p{text-align:center;font-size:1.3rem;max-width:800px;margin:0 auto 3rem}.demo-components-section h4{text-align:center;font-size:1.8rem;margin-bottom:30px;color:#07f0dcf2;font-weight:600}.demo-component-wrapper{margin-bottom:100px;position:relative;padding:2rem;background:#ffffff05;border-radius:16px;border:1px solid rgba(255,255,255,.06)}.demo-component-wrapper:last-child{margin-bottom:40px}.demo-component-wrapper h4{margin-top:0}.component-disabled-overlay{position:relative;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.85}.component-disabled-overlay:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#00000005;z-index:10;pointer-events:none}.component-disabled-overlay *{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.component-disabled-overlay button,.component-disabled-overlay input,.component-disabled-overlay select,.component-disabled-overlay textarea{cursor:default!important}.component-disabled-overlay .tdm-overlay,.component-disabled-overlay .modal-backdrop,.component-disabled-overlay [class*=overlay],.component-disabled-overlay [class*=-overlay]{position:relative!important;display:block!important;visibility:visible!important;opacity:1!important;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:auto!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;height:auto!important;min-height:auto!important;max-height:none!important}.component-disabled-overlay .tdm-modal,.component-disabled-overlay .edit-chord-modal,.component-disabled-overlay .vl-modal,.component-disabled-overlay [class*=modal],.component-disabled-overlay [class*=Modal]{position:relative!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:auto!important;transform:none!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;margin:20px auto!important;max-height:none!important;height:auto!important;min-height:auto!important;overflow:visible!important;box-shadow:0 4px 12px #00000026!important;border-radius:8px!important}.component-disabled-overlay .modal-body,.component-disabled-overlay [class*=modal-content],.component-disabled-overlay [class*=Modal-content]{position:relative!important;max-height:none!important;overflow:visible!important}.site-header{width:100%;background:#1a1a1f;border-bottom:1px solid rgba(255,255,255,.1);padding:1rem;position:relative;box-sizing:border-box}body.light-mode .site-header{background:#e8e8ea;border-bottom:1px solid rgba(0,0,0,.1)}.header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-left{display:flex;align-items:center;flex-shrink:0}.logo-wrapper{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer}.header-logo{height:80px;width:auto;border-radius:8px;transition:transform .2s}.header-logo:hover{transform:scale(1.05)}.header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-button.btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:14px;font-weight:500;white-space:nowrap;flex-shrink:0}.header-button.btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.header-button.btn:active{transform:translateY(0)}.header-button.btn,.header-icon-button.btn{box-sizing:border-box;height:40px;display:inline-flex;align-items:center;justify-content:center}.header-icon-button.btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:auto;padding:0 .6rem;border-radius:6px;flex-shrink:0;position:relative}.header-icon-button.btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.header-icon-button.btn:active{transform:translateY(0)}.header-icon-button.btn svg{display:block}:root.theme-dark .header-button.btn,:root.theme-dark .header-icon-button.btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}:root.theme-dark .header-button.btn:hover:not(:disabled),:root.theme-dark .header-icon-button.btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}:root.theme-dark .header-button.btn:active,:root.theme-dark .header-icon-button.btn:active{transform:translateY(0)}.notifications-button .notification-badge,.messages-button .notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:#ef5350;color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px #0003}body.light-mode .header-icon-button{background:#0000000d;border:1px solid rgba(0,0,0,.15);color:#2a2a2f}body.light-mode .header-icon-button:hover{background:#0000001a;border-color:#00000040}body.light-mode .header-button{background:#0000000d;border:1px solid rgba(0,0,0,.15);color:#2a2a2f}body.light-mode .header-button:hover{background:#0000001a;border-color:#00000040}.header-button-disabled{position:relative;opacity:.5;cursor:not-allowed}.header-button-disabled:hover{background:#ffffff1a;border-color:#fff3;transform:none}.header-button-disabled:active{transform:none}.header-button-disabled:hover:after{content:"Coming Soon";position:absolute;top:calc(100% + 8px);right:0;padding:.4rem .7rem;background:#141416f2;color:#fffffff2;border:1px solid rgba(255,255,255,.15);border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:10}body.light-mode .header-button-disabled:hover{background:#0000000d;border-color:#00000026}body.light-mode .header-button-disabled:hover:after{background:#fffffffa;color:#000000de;border-color:#00000026}.header-bottom{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);pointer-events:none}.header-tagline{margin:0;font-size:14px;font-style:italic;color:#fff9;letter-spacing:.5px}body.light-mode .header-tagline{color:#00000080}.site-footer{background:#f5f5f5;color:#000000de;padding:48px 24px 24px;border-top:1px solid rgba(0,0,0,.08)}.footer-content{display:flex;flex-wrap:wrap;gap:48px;max-width:1200px;margin:0 auto 32px;justify-content:space-between}.footer-section{flex:1;min-width:200px}.footer-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#000000de}.footer-section p{margin:0;font-size:14px;color:#0009;line-height:1.6}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#0009;text-decoration:none;font-size:14px;transition:color .2s}.footer-section ul li a:hover{color:#000000de}.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid rgba(0,0,0,.08)}.footer-bottom p{margin:0;font-size:13px;color:#00000080}:root.theme-dark .site-footer{background:#1e1e23f2;color:#ffffffde;border-top-color:#ffffff1a}:root.theme-dark .footer-section h4{color:#ffffffe6}:root.theme-dark .footer-section p{color:#fff9}:root.theme-dark .footer-section ul li a{color:#fff9}:root.theme-dark .footer-section ul li a:hover{color:#ffffffe6}:root.theme-dark .footer-bottom{border-top-color:#ffffff1a}:root.theme-dark .footer-bottom p{color:#ffffff80}.login-page{display:flex;flex-direction:column;min-height:100vh;background:#1e1e23}.login-content{display:flex;flex:1;justify-content:center;align-items:center;padding:40px 20px}.login-container{background:#2d2d32;border-radius:12px;padding:40px;width:100%;max-width:420px;box-shadow:0 8px 32px #0000004d}.login-container--centered{text-align:center}.login-title{font-size:28px;font-weight:600;color:#fffffff2;text-align:center;margin:0 0 32px}.login-error{background:#dc354526;border:1px solid rgba(220,53,69,.4);color:#ff828c;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.login-success{background:#28a74526;border:1px solid rgba(40,167,69,.4);color:#82ff96;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.google-login-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s}.google-login-button:hover{background:#357ae8}.google-login-button:active{transform:scale(.98)}.google-login-button:disabled{background:#64646e;cursor:not-allowed}.google-icon{width:20px;height:20px}.login-divider{display:flex;align-items:center;margin:28px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#ffffff26}.login-divider span{padding:0 16px;color:#ffffff80;font-size:14px;text-transform:lowercase}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{color:#ffffffb3;font-size:14px;font-weight:500}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input{width:100%;box-sizing:border-box;padding:12px 16px;background:#3c3c41;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fffffff2;font-size:16px;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:#ffffff59}.form-input:focus{outline:none;border-color:#4285f499;box-shadow:0 0 0 3px #4285f426}.form-input.has-icon{padding-right:48px}.form-input--readonly{opacity:.7;cursor:not-allowed}.password-toggle{position:absolute;right:12px;background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s}.password-toggle:hover{color:#fffc}.password-toggle svg{width:20px;height:20px}.login-submit{width:100%;padding:14px 20px;background:#4285f4;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s,transform .1s;margin-top:8px}.login-submit:hover:not(:disabled){background:#357ae8}.login-submit:active:not(:disabled){transform:scale(.98)}.login-submit:disabled{background:#64646e;cursor:not-allowed}.login-links{display:flex;justify-content:space-between;margin-top:16px}.login-links--centered{justify-content:center}.auth-icon-row{margin-bottom:24px}.auth-status-icon{width:64px;height:64px}.auth-status-icon--success{color:#28a745}.auth-status-icon--error{color:#dc3545}.auth-status-message{color:#ffffffb3;margin-bottom:24px}.auth-status-submessage{color:#ffffff80;font-size:14px;margin-bottom:24px}.auth-status-hint{color:#fff9;font-size:14px;margin-bottom:24px}.login-link{background:none;border:none;color:#4285f4;font-size:14px;cursor:pointer;padding:0;transition:color .2s;background-color:transparent!important}.login-link:hover{color:#64a0ff;text-decoration:underline}.logged-in-info{text-align:center}.logged-in-info p{color:#fffc;margin:0 0 16px;font-size:16px}.logged-in-info .success-icon{color:#28a745;margin-right:8px}.logout-button{padding:10px 24px;background:#3c3c41;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}.logout-button:hover{background:#46464b;border-color:#ffffff4d}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:12px;color:#ffffffb3;font-size:16px;padding:40px 0}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#4285f4;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.create-account-form{display:flex;flex-direction:column;gap:16px}.password-requirements{background:#3c3c4180;border-radius:8px;padding:12px 16px;margin-top:4px}.password-requirements-title{color:#ffffffb3;font-size:13px;font-weight:500;margin-bottom:8px}.requirement{display:flex;align-items:center;gap:8px;color:#ffffff80;font-size:13px;margin-bottom:4px}.requirement.requirement-spaced{margin-top:8px}.requirement.met{color:#28a745}.requirement:last-child{margin-bottom:0}.requirement svg{width:14px;height:14px;flex-shrink:0}.back-to-login{display:flex;align-items:center;gap:6px;background:none;border:none;color:#fff9;font-size:14px;cursor:pointer;padding:0;margin-bottom:16px;transition:color .2s;background-color:transparent!important}.back-to-login:hover{color:#ffffffe6}.back-to-login svg{width:16px;height:16px}.forgot-password-form{display:flex;flex-direction:column;gap:16px}.forgot-password-description{color:#fff9;font-size:14px;line-height:1.5;margin-bottom:8px}.login-page .site-footer{margin-top:0}:root:not(.theme-dark) .login-page{background:#f5f5fa}:root:not(.theme-dark) .login-container{background:#fff;box-shadow:0 4px 20px #0000001a}:root:not(.theme-dark) .login-title{color:#000000de}:root:not(.theme-dark) .login-divider:before,:root:not(.theme-dark) .login-divider:after{background:#0000001a}:root:not(.theme-dark) .login-divider span{color:#00000073}:root:not(.theme-dark) .form-label{color:#000000b3}:root:not(.theme-dark) .form-input{background:#f5f5fa;border-color:#0000001a;color:#000000de}:root:not(.theme-dark) .form-input::placeholder{color:#00000059}:root:not(.theme-dark) .password-toggle{color:#0006}:root:not(.theme-dark) .password-toggle:hover{color:#000000b3}:root:not(.theme-dark) .logged-in-info p{color:#000000b3}:root:not(.theme-dark) .logout-button{background:#f5f5fa;color:#000000b3;border-color:#00000026}:root:not(.theme-dark) .logout-button:hover{background:#ebebf0}:root:not(.theme-dark) .loading-spinner{color:#0009}:root:not(.theme-dark) .spinner{border-color:#0000001a;border-top-color:#4285f4}:root:not(.theme-dark) .password-requirements{background:#f5f5fa}:root:not(.theme-dark) .password-requirements-title{color:#0009}:root:not(.theme-dark) .requirement{color:#00000073}:root:not(.theme-dark) .requirement.met{color:#28a745}:root:not(.theme-dark) .back-to-login{color:#00000080}:root:not(.theme-dark) .back-to-login:hover{color:#000c}:root:not(.theme-dark) .forgot-password-description{color:#0000008c}:root:not(.theme-dark) .login-subtitle{color:#0009}:root:not(.theme-dark) .username-rules{color:#00000080}.login-subtitle{color:#fff9;font-size:15px;text-align:center;margin:0 0 24px;line-height:1.5}.username-rules{color:#ffffff80;font-size:13px;margin-top:-8px;margin-bottom:8px}.choose-username-input.form-input{text-align:center}.choose-username-input.form-input::placeholder{text-align:center}.subscription-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;padding:48px 24px}.subscription-hero{text-align:center;margin-bottom:40px}.subscription-hero .subscription-title{font-size:32px;font-weight:700;margin:0 0 8px;color:#000000e6;letter-spacing:-.5px}.subscription-hero .subscription-subtitle{font-size:16px;font-weight:400;margin:0;color:#00000080}.subscription-card{width:100%;max-width:460px;background:#fffffff2;border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:36px 32px;box-shadow:0 4px 24px #0000000f}.features-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:#009688;margin:0 0 16px}.features-list{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column;gap:12px}.features-list li{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:450;color:#000c;line-height:1.4}.features-list .feature-check{display:flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;border-radius:50%;background:#0096881a;color:#009688}.plan-divider{width:100%;height:1px;background:#00000014;margin:0 0 24px}.plan-toggle{display:flex;gap:12px;margin-bottom:20px}.plan-option{flex:1;padding:16px 14px;border-radius:12px;border:2px solid rgba(0,0,0,.1);background:#00000005;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;text-align:center}.plan-option:hover{border-color:#0096884d}.plan-option.selected{border-color:#009688;background:#0096880f;box-shadow:0 0 0 3px #0096881f}.plan-option .plan-price{font-size:18px;font-weight:700;color:#000000e6;margin-bottom:4px}.plan-option .plan-desc{font-size:12px;color:#00000080;font-weight:400}.plan-option .plan-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#009688;background:#0096881a;border-radius:4px;padding:2px 6px;margin-bottom:6px}.subscribe-btn{width:100%;padding:14px 20px;border-radius:12px;border:none;background:#009688;color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;box-shadow:0 2px 12px #00968840}.subscribe-btn:hover{background:#00897b;box-shadow:0 4px 18px #00968859}.subscribe-btn:active{transform:scale(.99)}.subscribe-btn:disabled{background:#00968880;cursor:not-allowed;box-shadow:none}.subscribe-error{margin-top:12px;color:#dc2626;font-size:13px;text-align:center}.subscribe-stripe-note{margin-top:12px;font-size:11px;color:#00000059;text-align:center;display:flex;align-items:center;justify-content:center;gap:4px}.subscription-covered{max-width:460px;margin:0 auto 24px;padding:14px 18px;border-radius:8px;background:#eff6ff;border:1px solid rgb(191,219,254);color:#1e40af;font-size:14px;line-height:1.6;text-align:center}.subscription-group-cta{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:460px;margin:32px auto 0;padding:26px 24px;border-radius:16px;border:2px solid rgba(0,150,136,.55);background:#0096880f;box-shadow:0 6px 20px #0096881a;text-align:center}.subscription-group-title{margin:0;font-size:19px;font-weight:700;letter-spacing:.01em}.subscription-group-copy{margin:0;font-size:13px;line-height:1.6;color:#0000008c}.subscription-group-points{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:0;list-style:none}.subscription-group-point{position:relative;padding-left:20px;font-size:13px;line-height:1.5;color:#000000b3;text-align:left}.subscription-group-point:before{content:"✓";position:absolute;left:0;color:#009688;font-weight:700}.subscription-group-cta .btn--primary{background:#009688;color:#fff}.subscription-group-cta .btn--primary:hover:not(:disabled){background:#0a9}.subscribe-comp-note{margin-bottom:16px;padding:10px 14px;border-radius:8px;background:#eff6ff;border:1px solid rgb(191,219,254);color:#1e40af;font-size:13px;text-align:center}.subscribe-group-plan{margin-top:16px;font-size:13px;color:#00000080;text-align:center}.subscription-disclaimer{margin-top:24px;font-size:13px;color:#0006;text-align:center;font-style:italic}:root.theme-dark .subscription-hero .subscription-title{color:#fffffff2}:root.theme-dark .subscription-hero .subscription-subtitle{color:#ffffff73}:root.theme-dark .subscription-card{background:#1e2026f2;border-color:#ffffff14;box-shadow:0 4px 24px #0003}:root.theme-dark .features-list li{color:#ffffffd9}:root.theme-dark .features-list .feature-check{background:#00968826;color:#00bcaa}:root.theme-dark .features-label{color:#00bcaa}:root.theme-dark .plan-divider{background:#ffffff14}:root.theme-dark .plan-option{border-color:#ffffff1a;background:#ffffff08}:root.theme-dark .plan-option:hover{border-color:#00968866}:root.theme-dark .plan-option.selected{border-color:#00bcaa;background:#00968814;box-shadow:0 0 0 3px #00968826}:root.theme-dark .plan-option .plan-price{color:#fffffff2}:root.theme-dark .plan-option .plan-desc{color:#ffffff73}:root.theme-dark .plan-option .plan-badge{color:#00bcaa;background:#00968826}:root.theme-dark .subscribe-btn{background:#009688}:root.theme-dark .subscribe-btn:hover{background:#0a9}:root.theme-dark .subscribe-btn:disabled{background:#00968866}:root.theme-dark .subscribe-error{color:#f87171}:root.theme-dark .subscribe-stripe-note{color:#ffffff4d}:root.theme-dark .subscription-disclaimer{color:#ffffff59}:root.theme-dark .subscribe-comp-note{background:#1e3a8a59;border-color:#3b82f680;color:#bfdbfe}:root.theme-dark .subscribe-group-plan{color:#ffffff73}:root.theme-dark .subscription-covered{background:#1e3a8a59;border-color:#3b82f680;color:#bfdbfe}:root.theme-dark .subscription-group-cta{border-color:#00bcaa8c;background:#0096881a;box-shadow:0 6px 20px #00000059}:root.theme-dark .subscription-group-copy{color:#ffffff8c}:root.theme-dark .subscription-group-point{color:#ffffffbf}:root.theme-dark .subscription-group-point:before{color:#2dd4bf}:root.theme-dark .subscription-group-cta .btn--primary{background:#009688;color:#fff}:root.theme-dark .subscription-group-cta .btn--primary:hover:not(:disabled){background:#00bcaa}.subscription-cheatcodes-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh}.cheatcodes-headline{margin:0;font-size:20px}.cheatcodes-back-link{color:#b388ff;text-decoration:none;font-weight:600;margin-top:10px}.song-instructions-page{min-height:100vh;background:#fafafc}.song-instructions-content{max-width:900px;margin:0 auto;padding:2rem}.back-to-song-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;color:#1976d2;background:#1976d214;border:1px solid rgba(25,118,210,.2);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s;margin-bottom:1.5rem}.back-to-song-btn:hover{background:#1976d226;border-color:#1976d266}.song-instructions-content h1{font-size:2.5rem;font-weight:700;margin-bottom:2rem;color:#000000e6;text-align:center}.instruction-section{background:#ffffffe6;border-radius:12px;padding:2rem;margin-bottom:2rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a}.instruction-section h2{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:#1976d2f2;border-bottom:2px solid rgba(25,118,210,.2);padding-bottom:.5rem}.instruction-section p{font-size:1.05rem;line-height:1.7;color:#000000bf;margin-bottom:1rem}.instruction-section ul{list-style-type:none;padding-left:0;margin:1rem 0}.instruction-section ul li{padding:.75rem 0 .75rem 2rem;position:relative;font-size:1.05rem;line-height:1.6;color:#000000bf;border-bottom:1px solid rgba(0,0,0,.05)}.instruction-section ul li p{margin:0;display:inline-block;vertical-align:top}.instruction-section ul li:last-child{border-bottom:none}.instruction-section ul li:before{content:"→";position:absolute;left:.5rem;top:.75rem;color:#1976d2b3;font-weight:700}.demo-image-container{display:flex;justify-content:center;margin:1rem 0 2rem;width:100%}.demo-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid rgba(0,0,0,.1)}.component-guide{background:#f5f8fc;border-left:4px solid rgba(25,118,210,.6);padding:1.25rem;margin-bottom:1.5rem;border-radius:6px}.component-guide:last-child{margin-bottom:0}.component-guide h3{font-size:1.3rem;font-weight:600;margin-bottom:.75rem;color:#000000d9}.component-guide p{margin:0;font-size:1rem;line-height:1.6;color:#000000b3}kbd{background:#00000014;border:1px solid rgba(0,0,0,.2);border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.9em;box-shadow:0 1px 2px #0000001a}.back-button-container{text-align:center;margin-top:3rem;margin-bottom:2rem}:root.theme-dark .song-instructions-page{background:#1e1e23}:root.theme-dark .song-instructions-content h1{color:#fffffff2}:root.theme-dark .instruction-section{background:#28282de6;border-color:#ffffff1a}:root.theme-dark .instruction-section h2{color:#07f0dcf2;border-bottom-color:#07f0dc33}:root.theme-dark .instruction-section p,:root.theme-dark .instruction-section ul li{color:#fffc}:root.theme-dark .instruction-section ul li{border-bottom-color:#ffffff14}:root.theme-dark .instruction-section ul li:before{color:#07f0dcb3}:root.theme-dark .demo-image{box-shadow:0 4px 12px #0006;border-color:#ffffff26}:root.theme-dark .component-guide{background:#323237;border-left-color:#07f0dc99}:root.theme-dark .component-guide h3{color:#ffffffe6}:root.theme-dark .component-guide p{color:#ffffffbf}:root.theme-dark kbd{background:#ffffff26;border-color:#ffffff4d;color:#ffffffe6}.groups-page{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 200px)}.groups-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.groups-header h1{font-size:2rem;font-weight:700;margin:0}.create-group-button{padding:12px 24px;font-size:16px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(135deg,#009688,#00bcaa);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0096884d}.create-group-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00968866}.create-group-button.large{padding:18px 36px;font-size:18px}.empty-state .empty-icon{font-size:4rem;margin-bottom:1rem}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.group-card{display:flex;align-items:center;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s ease;border:1px solid rgb(238,238,238)}.group-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001f;border-color:#0096884d}.group-avatar{width:70px;height:70px;border-radius:12px;overflow:hidden;flex-shrink:0;margin-right:1rem}.group-avatar img{width:100%;height:100%;object-fit:cover}.group-avatar .default-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#009688,#00bcaa);color:#fff;font-size:1.75rem;font-weight:700}.group-info{flex:1;min-width:0}.group-title{font-size:1.1rem;font-weight:600;margin:0 0 .25rem;color:#212121;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-description{font-size:.875rem;color:#666;margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.group-meta .owner-badge{font-size:.75rem;color:#888}.groups-page .create-group-modal.modal-panel{padding:2rem;width:90%;max-width:450px}.groups-page .create-group-modal.modal-panel h2{margin:0 0 1.5rem;font-size:1.5rem}.groups-page .form-group{margin-bottom:1.25rem}.groups-page .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.groups-page .form-group input,.groups-page .form-group textarea{width:100%;padding:.75rem;border:1px solid rgb(221,221,221);border-radius:8px;font-size:1rem;transition:border-color .2s}.groups-page .form-group input:focus,.groups-page .form-group textarea:focus{outline:none;border-color:#009688}.groups-page .form-group textarea{resize:vertical;min-height:80px}:root.theme-dark .groups-page{background:transparent}:root.theme-dark .groups-page .group-card{background:#2d2d2d;border-color:#3c3c3c}:root.theme-dark .groups-page .group-card:hover{border-color:#00bcaa80}:root.theme-dark .groups-page .group-title{color:#f5f5f5}:root.theme-dark .groups-page .group-description{color:#aaa}:root.theme-dark .groups-page .empty-state h2{color:#f5f5f5}:root.theme-dark .groups-page .empty-state p{color:#aaa}:root.theme-dark .groups-page .create-group-modal.modal-panel h2{color:#f5f5f5}:root.theme-dark .groups-page .form-group label{color:#dcdcdc}:root.theme-dark .groups-page .form-group input,:root.theme-dark .groups-page .form-group textarea{background:#232323;border-color:#3c3c3c;color:#f5f5f5}:root.theme-dark .groups-page .form-group input:focus,:root.theme-dark .groups-page .form-group textarea:focus{border-color:#00bcaa}.homies-page{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 200px)}.homies-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.homies-header h1{font-size:2rem;font-weight:700;margin:0}.homies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem}.homie-card{display:flex;flex-direction:column;align-items:center;padding:1.75rem 1.25rem;background:#fff;border-radius:14px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:all .2s ease;border:1px solid rgb(238,238,238);gap:1rem}.homie-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #0000001f;border-color:#0096884d}.homie-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.homie-avatar img{width:100%;height:100%;object-fit:cover}.homie-avatar .default-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#009688,#00bcaa);color:#fff;font-size:2rem;font-weight:700}.homie-info{display:flex;flex-direction:column;align-items:center;gap:.25rem}.homie-username{font-size:1rem;font-weight:600;color:#212121}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state .empty-icon{margin-bottom:1.25rem;opacity:.5;color:#009688}.empty-state h2{font-size:1.5rem;margin-bottom:.5rem;color:#333}.empty-state p{color:#666;margin-bottom:2rem}.discover-button{padding:12px 28px;font-size:16px;font-weight:600;border:none;border-radius:8px;background:linear-gradient(135deg,#009688,#00bcaa);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #0096884d}.discover-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00968866}.notifications-page{padding:2rem;max-width:700px;margin:0 auto;min-height:calc(100vh - 200px)}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.notifications-header h1{margin:0;font-size:1.75rem;font-weight:600}.notifications-header .mark-all-read{padding:.5rem 1rem;border:1px solid rgba(0,150,136,.5);background:transparent;color:#009688;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s}.notifications-header .mark-all-read:hover{background:#0096881a}.notifications-list{display:flex;flex-direction:column;gap:.75rem}.notification-item{display:flex;align-items:flex-start;padding:1rem;background:#fff;border:1px solid rgb(238,238,238);border-radius:12px;gap:1rem;cursor:pointer;transition:all .2s}.notification-item:hover{border-color:#0096884d;background:#fafafa}.notification-item.unread{background:#e8f5e94d;border-color:#00968833}.notification-item.unread:hover{background:#e8f5e980}.notification-icon{font-size:1.5rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%}.notification-content{flex:1;min-width:0}.notification-content .notification-message{margin:0 0 .25rem;font-size:.95rem;line-height:1.4;color:#333}.notification-content .notification-time{font-size:.8rem;color:#888}.notification-content .click-hint{font-size:.8rem;color:#009688;margin-left:.5rem}.notification-action-buttons{display:flex;gap:.5rem;margin-top:.75rem}.notification-action-buttons .action-btn{padding:.4rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.notification-action-buttons .action-btn.accept{background:#009688;color:#fff}.notification-action-buttons .action-btn.accept:hover:not(:disabled){background:#00897b}.notification-action-buttons .action-btn.decline{background:#eee;color:#666}.notification-action-buttons .action-btn.decline:hover:not(:disabled){background:#e0e0e0}.notification-action-buttons .action-btn:disabled{opacity:.6;cursor:not-allowed}.delete-notification{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;color:#999;font-size:1.25rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.delete-notification:hover{background:#ffebee;color:#d32f2f}.no-notifications{text-align:center;padding:4rem 2rem;color:#888}.no-notifications .no-notif-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.no-notifications p{font-size:1.1rem;margin:0}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:1.1rem}.error{color:#d32f2f}@media (max-width: 600px){.notifications-page{padding:1rem}.notifications-header{flex-direction:column;gap:1rem;align-items:flex-start}.notification-item{padding:.75rem;gap:.75rem}.notification-icon{width:36px;height:36px;font-size:1.25rem}}:root.theme-dark .notifications-page{background:transparent}:root.theme-dark .notifications-header h1{color:#f5f5f5}:root.theme-dark .notification-item{background:#2d2d2d;border-color:#3c3c3c}:root.theme-dark .notification-item:hover{background:#373737}:root.theme-dark .notification-item.unread{background:#1b5e2033;border-color:#0096884d}:root.theme-dark .notification-item.unread:hover{background:#1b5e204d}:root.theme-dark .notification-icon{background:#3c3c3c}:root.theme-dark .notification-content .notification-message{color:#f5f5f5}:root.theme-dark .notification-content .notification-time{color:#aaa}:root.theme-dark .notification-action-buttons .action-btn.decline{background:#464646;color:#c8c8c8}:root.theme-dark .notification-action-buttons .action-btn.decline:hover:not(:disabled){background:#505050}:root.theme-dark .delete-notification{color:#aaa}:root.theme-dark .delete-notification:hover{background:#501e1e}:root.theme-dark .no-notifications{color:#aaa}.messages-page{max-width:800px;margin:0 auto;padding:20px;min-height:calc(100vh - 60px)}.messages-page__header{margin-bottom:24px}.messages-page__header h1{margin:0;font-size:24px;color:#fff}.messages-page__loading,.messages-page__error{text-align:center;padding:40px 20px;color:#9ca3af}.messages-page__error{color:#ef5350}.messages-page__empty{text-align:center;padding:60px 20px;color:#9ca3af}.messages-page__empty p{margin:0 0 8px}.messages-page__empty-hint{font-size:14px;color:#6b7280}.messages-page__list{display:flex;flex-direction:column;gap:4px}.conversation-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#1f2937;border-radius:8px;cursor:pointer;transition:background .15s ease}.conversation-item:hover{background:#374151}.conversation-item--unread{background:#1f2937;border-left:3px solid rgb(99,102,241)}.conversation-item__avatar{flex-shrink:0;width:48px;height:48px}.conversation-item__avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.conversation-item__avatar-placeholder,.conversation-item__avatar-group{width:100%;height:100%;border-radius:50%;background:#4b5563;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#fff}.conversation-item__avatar-group{font-size:20px}.conversation-item__content{flex:1;min-width:0}.conversation-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-item__title{font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item__type-badge{margin-left:8px;padding:2px 6px;font-size:10px;font-weight:500;color:#9ca3af;background:#374151;border-radius:4px;text-transform:uppercase}.conversation-item__time{font-size:12px;color:#6b7280;flex-shrink:0}.conversation-item__preview{font-size:14px;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item__unread-badge{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;background:#6366f1;color:#fff;font-size:12px;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center}:root.theme-light .messages-page__header h1{color:#111827}:root.theme-light .messages-page__loading,:root.theme-light .messages-page__error{color:#6b7280}:root.theme-light .messages-page__empty{color:#6b7280}:root.theme-light .messages-page__empty-hint{color:#9ca3af}:root.theme-light .conversation-item{background:#f9fafb}:root.theme-light .conversation-item:hover{background:#f3f4f6}:root.theme-light .conversation-item--unread{background:#f9fafb}:root.theme-light .conversation-item__title{color:#111827}:root.theme-light .conversation-item__preview{color:#6b7280}:root.theme-light .conversation-item__avatar-placeholder,:root.theme-light .conversation-item__avatar-group{background:#d1d5db;color:#374151}:root.theme-light .conversation-item__type-badge{background:#e5e7eb;color:#4b5563}.feature-requests-page{max-width:900px;margin:0 auto;padding:24px 16px 60px;min-height:calc(100vh - 60px)}.hidden-file-input{display:none}.feature-requests-header{text-align:center;margin-bottom:32px}.feature-requests-header h1{margin:0 0 8px;font-size:32px;color:#000000e0}.feature-requests-header .header-subtitle{margin:0 0 20px;color:#0009;font-size:16px}.feature-requests-header .header-actions{margin-bottom:12px}.feature-requests-header .create-request-btn.btn{padding:12px 24px;font-size:16px}.feature-requests-header .bug-report-link a{color:#00000080;font-size:14px;text-decoration:underline}.feature-requests-header .bug-report-link a:hover{color:#000000b3}.feature-requests-list{display:flex;flex-direction:column;gap:16px}.feature-request-card{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:20px;cursor:pointer;transition:box-shadow .2s,border-color .2s}.feature-request-card:hover{box-shadow:0 4px 12px #00000014;border-color:#00000026}.feature-request-card .card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.feature-request-card .card-title{margin:0;font-size:18px;font-weight:600;color:#000000e0}.feature-request-card .card-description{margin:0 0 16px;color:#0009;font-size:14px;line-height:1.5}.feature-request-card .card-footer{display:flex;justify-content:space-between;align-items:center}.feature-request-card .card-meta{display:flex;gap:16px}.feature-request-card .meta-item{display:flex;align-items:center;gap:4px;font-size:14px;color:#0009}.feature-request-card .meta-item .icon{font-size:16px}.feature-request-card .card-author{display:flex;align-items:center;gap:8px}.feature-request-card .author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.feature-request-card .author-name{font-size:13px;color:#0009}.status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;white-space:nowrap}.status-pending{background:#ffc10726;color:#f57c00}.status-in-progress{background:#2196f326;color:#1976d2}.status-completed{background:#4caf5026;color:#388e3c}.status-rejected{background:#f4433626;color:#d32f2f}.loading-state,.error-state,.empty-state{text-align:center;padding:48px 24px;color:#00000080;font-size:16px}.error-state{color:#d32f2f}.load-more-container{text-align:center;margin-top:16px}.create-request-container{max-width:700px;margin:0 auto}.create-request-header{margin-bottom:32px}.create-request-header h1{margin:16px 0 8px;font-size:28px;color:#000000e0}.create-request-header .header-subtitle{margin:0;color:#0009;font-size:15px}.back-btn.btn{margin-left:-12px}.create-request-form{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:24px}.form-error{background:#f443361a;color:#d32f2f;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.form-error.premium-error{background:var(--premium-purple-light);color:var(--premium-purple)}.form-error .premium-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid rgba(0,150,136,.65);background:linear-gradient(135deg,#00968824,#7c5cd61f);color:#007066;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:none;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .1s ease;padding:3px 12px;border-radius:16px;font-size:13px;white-space:nowrap;vertical-align:baseline}.form-error .premium-link:hover:not(:disabled){border-color:#009688f2;background:linear-gradient(135deg,#00968838,#7c5cd633);color:#005c54;box-shadow:0 4px 16px #00968838;transform:translateY(-1px)}.form-error .premium-link:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0096882e}.feature-requests-page .form-group{margin-bottom:24px}.feature-requests-page .form-group label{display:block;margin-bottom:6px;font-weight:600;color:#000c;font-size:14px}.feature-requests-page .form-group input[type=text],.feature-requests-page .form-group textarea{width:100%;padding:12px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:15px;box-sizing:border-box;background:#fff;color:#000000e0}.feature-requests-page .form-group input[type=text]:focus,.feature-requests-page .form-group textarea:focus{outline:none;border-color:#1976d280;box-shadow:0 0 0 3px #1976d21a}.feature-requests-page .form-group input[type=text]::placeholder,.feature-requests-page .form-group textarea::placeholder{color:#0006}.feature-requests-page .form-group textarea{resize:vertical;min-height:120px}.feature-requests-page .form-group .char-count{text-align:right;font-size:12px;color:#0006;margin-top:4px}.feature-requests-page .form-group .form-hint{margin:0 0 12px;font-size:13px;color:#00000080}.image-upload-area{display:flex;flex-wrap:wrap;gap:12px}.image-preview{position:relative;width:100px;height:100px}.image-preview img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid rgba(0,0,0,.1)}.image-preview .remove-image-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#d32f2f;color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-preview .remove-image-btn:hover{background:#b71c1c}.add-image-btn{width:100px;height:100px;border:2px dashed rgba(0,0,0,.2);border-radius:8px;background:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#00000080;transition:border-color .2s,color .2s}.add-image-btn:hover{border-color:#1976d280;color:#1976d2}.add-image-btn .plus-icon{font-size:24px}.add-image-btn span:last-child{font-size:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px;border-top:1px solid rgba(0,0,0,.1)}.feature-request-detail{max-width:800px;margin:0 auto}.premium-error-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:16px;background:var(--premium-purple-light);border:1px solid var(--premium-purple);border-radius:8px;color:var(--premium-purple-dark);font-size:14px}.premium-error-banner .premium-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid rgba(0,150,136,.65);background:linear-gradient(135deg,#00968824,#7c5cd61f);color:#007066;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:none;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .1s ease;padding:4px 14px;border-radius:16px;font-size:13px;white-space:nowrap;flex-shrink:0}.premium-error-banner .premium-link:hover:not(:disabled){border-color:#009688f2;background:linear-gradient(135deg,#00968838,#7c5cd633);color:#005c54;box-shadow:0 4px 16px #00968838;transform:translateY(-1px)}.premium-error-banner .premium-link:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0096882e}.detail-header{margin:20px 0 24px}.detail-header .header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.detail-header h1{margin:0;font-size:28px;color:#000000e0;flex:1}.detail-header .header-meta{display:flex;align-items:center;gap:8px;color:#00000080;font-size:14px}.detail-header .author-info{display:flex;align-items:center;gap:8px}.detail-header .author-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.detail-header .divider{color:#0000004d}.detail-content{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:24px;margin-bottom:20px}.detail-content .description p{margin:0 0 16px;line-height:1.7;color:#000c}.detail-content .description p:last-child{margin-bottom:0}.detail-content .images-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.1)}.detail-content .images-section h3{margin:0 0 12px;font-size:16px;color:#000000b3}.detail-content .images-grid{display:flex;flex-wrap:wrap;gap:12px}.detail-content .image-link{display:block;width:120px;height:120px}.detail-content .image-link img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid rgba(0,0,0,.1);transition:opacity .2s}.detail-content .image-link img:hover{opacity:.9}.detail-content .dev-response{margin-top:24px;padding:20px;background:#1976d20d;border-radius:8px;border-left:4px solid rgb(25,118,210)}.detail-content .dev-response h3{margin:0 0 12px;font-size:16px;color:#1976d2}.detail-content .dev-response .dev-comments p{margin:0 0 12px;line-height:1.6;color:#000c}.detail-content .dev-response .dev-comments p:last-child{margin-bottom:0}.detail-content .dev-response .dev-response-date{margin-top:12px;font-size:12px;color:#00000080}.detail-actions{display:flex;gap:12px;margin-bottom:32px}.detail-actions .like-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.detail-actions .like-btn .icon{font-size:18px}.detail-actions .like-btn .count{font-weight:600;color:#000c}.detail-actions .like-btn .label{color:#0009}.detail-actions .like-btn:hover:not(:disabled){background:#00000008}.detail-actions .like-btn.liked{background:#1976d21a;border-color:#1976d24d}.detail-actions .like-btn.liked .count,.detail-actions .like-btn.liked .label{color:#1976d2}.detail-actions .like-btn:disabled{opacity:.6;cursor:not-allowed}.comments-section h3{margin:0 0 20px;font-size:20px;color:#000000e0}.comment-form{margin-bottom:24px}.comment-form textarea{width:100%;padding:12px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:14px;resize:vertical;min-height:80px;box-sizing:border-box;background:#fff;color:#000000e0}.comment-form textarea:focus{outline:none;border-color:#1976d280}.comment-form .btn{margin-top:8px}.comments-list{display:flex;flex-direction:column;gap:16px}.no-comments{text-align:center;padding:24px;color:#00000080;background:#00000005;border-radius:8px}.comment{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:16px}.comment.reply{margin-left:24px;background:#00000005}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-header .comment-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.comment-header .comment-author{font-weight:600;color:#000c;font-size:14px}.comment-header .comment-date{color:#0006;font-size:12px}.comment-body{color:#000c;font-size:14px;line-height:1.5;white-space:pre-wrap}.comment-actions{display:flex;gap:12px;margin-top:8px}.comment-actions .delete-comment-btn{color:#d32f2fb3}.comment-actions .delete-comment-btn:hover{color:#d32f2f}.reply-form{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.1)}.reply-form textarea{width:100%;padding:10px;border:1px solid rgba(0,0,0,.15);border-radius:6px;font-size:13px;resize:vertical;min-height:60px;box-sizing:border-box;background:#fff;color:#000000e0}.reply-form textarea:focus{outline:none;border-color:#1976d280}.reply-form .reply-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.replies{margin-top:12px;display:flex;flex-direction:column;gap:8px}.delete-modal h3{margin:0 0 12px;color:#000000e0}.delete-modal p{margin:0 0 20px;color:#0009;line-height:1.5}:root.theme-dark .form-error .premium-link,:root.theme-dark .premium-error-banner .premium-link{border-color:#00beac99;background:linear-gradient(135deg,#00beac29,#9678f029);color:#5eeada}:root.theme-dark .form-error .premium-link:hover:not(:disabled),:root.theme-dark .premium-error-banner .premium-link:hover:not(:disabled){border-color:#00d6c2f2;background:linear-gradient(135deg,#00beac42,#9678f042);color:#8cf5e8;box-shadow:0 4px 18px #00beac4d}:root.theme-dark .feature-requests-page .feature-requests-header h1{color:#fffffff2}:root.theme-dark .feature-requests-page .feature-requests-header .header-subtitle{color:#fff9}:root.theme-dark .feature-requests-page .feature-requests-header .bug-report-link a{color:#ffffff80}:root.theme-dark .feature-requests-page .feature-requests-header .bug-report-link a:hover{color:#ffffffb3}:root.theme-dark .feature-requests-page .feature-request-card{background:#1e1e23f2;border-color:#ffffff1a}:root.theme-dark .feature-requests-page .feature-request-card:hover{box-shadow:0 4px 12px #0000004d;border-color:#ffffff26}:root.theme-dark .feature-requests-page .feature-request-card .card-title{color:#fffffff2}:root.theme-dark .feature-requests-page .feature-request-card .card-description{color:#fff9}:root.theme-dark .feature-requests-page .feature-request-card .meta-item,:root.theme-dark .feature-requests-page .feature-request-card .author-name{color:#ffffff80}:root.theme-dark .feature-requests-page .loading-state,:root.theme-dark .feature-requests-page .empty-state{color:#ffffff80}:root.theme-dark .feature-requests-page .create-request-header h1{color:#fffffff2}:root.theme-dark .feature-requests-page .create-request-header .header-subtitle{color:#fff9}:root.theme-dark .feature-requests-page .create-request-form{background:#1e1e23f2;border-color:#ffffff1a}:root.theme-dark .feature-requests-page .form-group label{color:#ffffffd9}:root.theme-dark .feature-requests-page .form-group input[type=text],:root.theme-dark .feature-requests-page .form-group textarea{background:#ffffff0d;border-color:#ffffff26;color:#ffffffe6}:root.theme-dark .feature-requests-page .form-group input[type=text]::placeholder,:root.theme-dark .feature-requests-page .form-group textarea::placeholder{color:#ffffff59}:root.theme-dark .feature-requests-page .form-group input[type=text]:focus,:root.theme-dark .feature-requests-page .form-group textarea:focus{border-color:#64b5f680;box-shadow:0 0 0 3px #64b5f626}:root.theme-dark .feature-requests-page .form-group .char-count{color:#fff6}:root.theme-dark .feature-requests-page .form-group .form-hint{color:#ffffff80}:root.theme-dark .feature-requests-page .image-preview img{border-color:#ffffff1a}:root.theme-dark .feature-requests-page .add-image-btn{border-color:#fff3;color:#ffffff80}:root.theme-dark .feature-requests-page .add-image-btn:hover{border-color:#64b5f680;color:#64b5f6}:root.theme-dark .feature-requests-page .form-actions{border-top-color:#ffffff1a}:root.theme-dark .feature-requests-page .premium-error-banner{background:#b388ff26;border-color:#b388ff66;color:#b388ff}:root.theme-dark .feature-requests-page .premium-error-banner .premium-link{color:#b388ff}:root.theme-dark .feature-requests-page .premium-error-banner .premium-link:hover{color:#c8aaff}:root.theme-dark .feature-requests-page .detail-header h1{color:#fffffff2}:root.theme-dark .feature-requests-page .detail-header .header-meta,:root.theme-dark .feature-requests-page .detail-header .author-name,:root.theme-dark .feature-requests-page .detail-header .date{color:#ffffff80}:root.theme-dark .feature-requests-page .detail-header .divider{color:#ffffff4d}:root.theme-dark .feature-requests-page .detail-content{background:#1e1e23f2;border-color:#ffffff1a}:root.theme-dark .feature-requests-page .detail-content .description p{color:#ffffffd9}:root.theme-dark .feature-requests-page .detail-content .images-section{border-top-color:#ffffff1a}:root.theme-dark .feature-requests-page .detail-content .images-section h3{color:#ffffffb3}:root.theme-dark .feature-requests-page .detail-content .image-link img{border-color:#ffffff1a}:root.theme-dark .feature-requests-page .detail-content .dev-response{background:#64b5f61a;border-left-color:#64b5f6}:root.theme-dark .feature-requests-page .detail-content .dev-response h3{color:#64b5f6}:root.theme-dark .feature-requests-page .detail-content .dev-response .dev-comments p{color:#ffffffd9}:root.theme-dark .feature-requests-page .detail-content .dev-response .dev-response-date{color:#ffffff80}:root.theme-dark .feature-requests-page .detail-actions .like-btn{background:#ffffff0d;border-color:#ffffff26}:root.theme-dark .feature-requests-page .detail-actions .like-btn .count{color:#ffffffd9}:root.theme-dark .feature-requests-page .detail-actions .like-btn .label{color:#fff9}:root.theme-dark .feature-requests-page .detail-actions .like-btn:hover:not(:disabled){background:#ffffff14}:root.theme-dark .feature-requests-page .detail-actions .like-btn.liked{background:#64b5f626;border-color:#64b5f64d}:root.theme-dark .feature-requests-page .detail-actions .like-btn.liked .count,:root.theme-dark .feature-requests-page .detail-actions .like-btn.liked .label{color:#64b5f6}:root.theme-dark .feature-requests-page .comments-section h3{color:#fffffff2}:root.theme-dark .feature-requests-page .comment-form textarea{background:#ffffff0d;border-color:#ffffff26;color:#ffffffe6}:root.theme-dark .feature-requests-page .comment-form textarea:focus{border-color:#64b5f680}:root.theme-dark .feature-requests-page .no-comments{color:#ffffff80;background:#ffffff08}:root.theme-dark .feature-requests-page .comment{background:#1e1e23f2;border-color:#ffffff1a}:root.theme-dark .feature-requests-page .comment.reply{background:#ffffff08}:root.theme-dark .feature-requests-page .comment .comment-author{color:#ffffffd9}:root.theme-dark .feature-requests-page .comment .comment-date{color:#fff6}:root.theme-dark .feature-requests-page .comment .comment-body{color:#ffffffd9}:root.theme-dark .feature-requests-page .comment .comment-actions .delete-comment-btn{color:#f44336b3}:root.theme-dark .feature-requests-page .comment .comment-actions .delete-comment-btn:hover{color:#f44336}:root.theme-dark .feature-requests-page .reply-form{border-top-color:#ffffff1a}:root.theme-dark .feature-requests-page .reply-form textarea{background:#ffffff0d;border-color:#ffffff26;color:#ffffffe6}:root.theme-dark .feature-requests-page .reply-form textarea:focus{border-color:#64b5f680}:root.theme-dark .feature-requests-page .delete-modal h3{color:#fffffff2}:root.theme-dark .feature-requests-page .delete-modal p{color:#fff9}.terms-of-service-page{min-height:calc(100vh - 60px)}.terms-container{max-width:900px;margin:0 auto;padding:24px 16px 60px}.terms-content{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:40px}.terms-content h1{margin:0 0 8px;font-size:28px;color:#000000e0;text-align:center}.terms-content .terms-subtitle{text-align:center;color:#00000080;font-size:14px;font-style:italic;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.1)}.terms-section{margin-bottom:36px}.terms-section h2{font-size:20px;color:#000000d9;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.terms-section p{margin:0 0 12px;color:#000000bf;line-height:1.7;font-size:15px}.terms-section ul{margin:0 0 12px;padding-left:24px}.terms-section ul li{margin-bottom:8px;color:#000000bf;line-height:1.6;font-size:15px}.terms-guardrail{background:#ff98001a;border-left:3px solid rgb(255,152,0);padding:12px 16px;margin-top:16px;border-radius:0 8px 8px 0;font-size:14px;color:#000000bf;font-weight:500}.terms-footer{margin-top:48px;padding-top:24px;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:center}@media (max-width: 600px){.terms-container{padding:16px 12px 40px}.terms-content{padding:24px 20px}.terms-content h1{font-size:22px}.terms-section h2{font-size:18px}.terms-section p,.terms-section ul li{font-size:14px}}.notes-on-ai-page{min-height:calc(100vh - 60px)}.notes-on-ai-container{max-width:900px;margin:0 auto;padding:24px 16px 60px}.notes-on-ai-content{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:40px}.notes-on-ai-content h1{margin:0 0 32px;font-size:28px;color:#000000e0;text-align:center;padding-bottom:20px;border-bottom:1px solid rgba(0,0,0,.1)}.notes-on-ai-body p{margin:0 0 18px;color:#000000bf;line-height:1.7;font-size:15px}.notes-on-ai-signature{margin-top:32px!important;text-align:right;font-style:italic;color:#0009!important}.notes-on-ai-footer{margin-top:48px;padding-top:24px;border-top:1px solid rgba(0,0,0,.1);display:flex;justify-content:center}@media (max-width: 600px){.notes-on-ai-container{padding:16px 12px 40px}.notes-on-ai-content{padding:24px 20px}.notes-on-ai-content h1{font-size:22px}.notes-on-ai-body p{font-size:14px}}.route-loading{display:flex;justify-content:center;align-items:center;min-height:60vh}.route-loading .route-loading__message{font-size:18px;color:#a0a0a0}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:24px}.error-boundary .error-boundary__card{display:flex;flex-direction:column;align-items:center;gap:20px;max-width:480px;padding:40px 48px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:12px;text-align:center}.error-boundary .error-boundary__title{margin:0;font-size:26px;font-weight:600}.error-boundary .error-boundary__message{margin:0;font-size:16px;line-height:1.5;color:#a0a0a0}.error-boundary .error-boundary__reload-button{padding:12px 28px;font-size:16px;font-weight:600;color:#fff;background:#6366f1;border:none;border-radius:8px;cursor:pointer}.error-boundary .error-boundary__reload-button:hover{background:#5053dc}.error-page{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:24px}.error-page-card{max-width:560px;width:100%;background:#fff;border:1px solid rgb(229,231,235);border-radius:12px;padding:24px;box-shadow:0 4px 24px #0000000f}.error-page-status{margin-bottom:12px;color:#6b7280}.error-page-title{margin:0 0 8px;font-size:24px}.error-page-message{margin:0 0 24px;color:#374151}.error-page-actions{display:flex;gap:12px}.error-page-btn{padding:10px 16px;border:none;border-radius:8px;cursor:pointer}.error-page-btn--primary{background:#111827;color:#fff}.error-page-btn--secondary{background:#e5e7eb;color:#111827}:root.theme-dark .error-page-card{background:#fff;border-color:#e5e7eb}:root.theme-dark .error-page-btn--primary{background:#111827;color:#fff}:root.theme-dark .error-page-btn--secondary{background:#e5e7eb;color:#111827}.contact-page{min-height:100vh;display:flex;flex-direction:column;background:#121212}.contact-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.contact-email{font-size:2rem;font-weight:600;color:#009688;text-decoration:none;transition:opacity .2s ease}.contact-email:hover{opacity:.8}.contact-subtitle{margin-top:1rem;font-size:1.1rem;font-weight:300;color:#ffffffb3}:root.theme-dark .contact-page{background:#121212}.guitar-tool-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;max-width:1200px;margin:0 auto;padding:20px;color:#333}.header{display:flex;align-items:center;margin-bottom:20px;border-bottom:1px solid #ddd;padding-bottom:10px}.header h1{display:flex;align-items:center;gap:10px;margin:0;font-size:24px;color:#333}.instructions{font-size:14px;color:#666;margin-bottom:10px}.fretboard-container{display:flex;align-items:stretch;margin-bottom:50px!important;position:relative;width:100%;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default}.open-strings{display:flex;flex-direction:column;margin-right:5px;height:100%;justify-content:center;padding:15px 0}.open-string-note{width:40px;height:40px;display:flex;cursor:pointer;position:relative;top:5px;margin-bottom:20px}.open-string-note:last-child{margin-bottom:0}.fretboard{background-color:#fff;border-radius:4px;padding:15px 15px 0;flex-grow:1;height:100%;display:flex;flex-direction:column;justify-content:space-between;margin-top:0}.strings-container{display:flex;flex-direction:column;gap:10px;position:relative}.string{display:flex;height:50px;position:relative;justify-content:space-between;align-items:center;margin:0}.string:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background-color:#aaa;z-index:1}.fret{width:100%;height:40px;display:flex;align-items:center;justify-content:center;position:relative;border-right:3px solid #888;cursor:pointer;z-index:2;flex:1;transition:background-color .1s ease}.fret:first-child{border-left:3px solid #888}.note{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;z-index:3;flex-shrink:0;flex-grow:0;aspect-ratio:1 / 1;min-width:40px;min-height:40px}.selected-note{color:#000;text-shadow:none}.scale-note{width:40px;height:40px;filter:brightness(1.4) saturate(.7)}.note.scale-note{opacity:1!important}.fret-markers{display:flex;justify-content:space-between;position:absolute;bottom:-20px;left:45px;width:calc(100% - 78px);margin-left:16px}.fret-marker{flex:1;font-size:12px;color:#666;text-align:center}.fret-marker:first-child{display:none}.root .note{box-shadow:0 0 0 2px #fff,0 0 0 4px #000}.fretboard-controls{display:flex;gap:10px;margin-bottom:20px}.fretboard-controls button{padding:5px 10px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer}.fretboard-controls button:hover{background-color:#e0e0e0}.chord-name-section{margin-bottom:20px;padding:10px;background-color:#f9f9f9;border-radius:4px}.chord-name-section h2{margin-top:0;font-size:18px}.chord-name{font-size:24px;font-weight:700;color:#333}.scales-section{margin-bottom:20px}.scales-section h2{font-size:18px}.scale-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.scale-button{padding:8px 12px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px}.scale-button:hover{background-color:#e0e0e0}.scale-button.selected{background-color:#333;color:#fff}.chord-options-section h2{font-size:18px}.master-voicing-control{margin-bottom:15px;background-color:#f9f9f9;padding:10px;border-radius:4px;display:inline-block}.master-voicing-select{margin-left:10px;padding:5px;border-radius:4px;border:1px solid #ddd}.mini-fretboards-container{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto);gap:20px;width:100%;border:1px solid green}.mini-chord-container{width:100%;position:relative;border:2px solid black;border-radius:.4rem}.mini-chord-header{display:flex;flex-direction:column;margin-bottom:10px}.chord-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.chord-degree{font-weight:700;font-size:16px;margin:3px 0 3px 10px}.chord-name{font-size:14px;margin:3px 10px}.voicing-controls{display:flex;flex-direction:column;gap:5px}.voicing-select{font-size:12px;padding:2px 4px}.open-strings-label{display:flex;align-items:center;gap:5px;font-size:12px}.mini-fretboard-wrapper{position:relative}.barre-active{background-color:#ffff0026}.barre-guide{position:absolute;top:0;bottom:0;width:2px;background-color:#ffff0080;pointer-events:none;z-index:10}@media (max-width: 768px){.mini-fretboards-container{grid-template-columns:1fr}.scale-options{justify-content:center}}.toggle-view-container{text-align:center;margin-bottom:20px}.toggle-button{padding:10px 20px;font-size:16px;cursor:pointer;background-color:#007bff;color:#fff;border:none;border-radius:5px}.toggle-button:hover{background-color:#0056b3}.note-C{background-color:#e74c3c;color:#fff}.note-C\#{background-color:#e67e22;color:#000}.note-D{background-color:#f1c40f;color:#000}.note-D\#{background-color:#2ecc71;color:#000}.note-E{background-color:#1abc9c;color:#fff}.note-F{background-color:#3498db;color:#fff}.note-F\#{background-color:#0059b6;color:#fff}.note-G{background-color:#8e44ad;color:#fff}.note-G\#{background-color:#2c3e50;color:#fff}.note-A{background-color:#486e94;color:#fff}.note-A\#{background-color:#7f8c8d;color:#fff}.note-B{background-color:#95a5a6;color:#000}.root{position:relative;z-index:1}.note.root{border:2px solid black;box-shadow:0 0 3px #00000080}.open-string-note .note.root{border:2px solid black;box-shadow:0 0 3px #00000080;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;aspect-ratio:1 / 1;flex-shrink:0;flex-grow:0}.scales-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.display-mode-toggle{padding:5px 10px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.display-mode-toggle:hover{background-color:#e0e0e0}.display-mode-toggle.active{background-color:#333;color:#fff}.note.note-degree{font-weight:700}.user-selected-chord{border:3px solid #3498db;box-shadow:0 0 10px #3498db4d;background-color:#3498db0d}.piano-view{position:relative;display:flex;width:100%;height:200px}.white-key{position:relative;width:40px;height:100%;background-color:#fff;border:1px solid #000;box-sizing:border-box;z-index:1}.black-key{position:absolute;width:25px;height:60%;background-color:#000;border:1px solid #000;box-sizing:border-box;z-index:2}.black-key.note-C\#{left:30px}.black-key.note-D\#{left:70px}.black-key.note-F\#{left:150px}.black-key.note-G\#{left:190px}.black-key.note-A\#{left:230px}.piano-key.selected{border:2px solid #FFD700}.piano-key.scale-note{opacity:.7}.note-label{position:absolute;bottom:5px;font-size:12px;color:#000}:root{--premium-purple: rgba(179, 136, 255, 1);--premium-purple-light: rgba(179, 136, 255, .15);--premium-purple-dark: rgba(149, 106, 225, 1)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root.theme-dark body{background:linear-gradient(135deg,#2a2a2a,#2e2e2e,#2a2a2a);color:#f3f3f3;min-height:100vh}:root.theme-dark input,:root.theme-dark textarea,:root.theme-dark select,:root.theme-dark button{background-color:#404040;color:#f3f3f3;border-color:#555}:root.theme-dark .song-container .back-to-profile{background:transparent!important;border:none!important;box-shadow:none!important;outline:none}:root.theme-dark .song-container .back-to-profile:hover:not(:disabled){background:transparent!important;box-shadow:none!important}:root.theme-dark .song-container .back-to-profile:focus-visible{outline:none;text-decoration:underline;text-underline-offset:2px}:root.theme-dark .song-container .song-title:hover,:root.theme-dark .song-container .song-title:focus{background:#ffffff24}:root.theme-dark .selected-chords-section,:root.theme-dark .user-profile{background-color:#303030;color:#f3f3f3}:root.theme-dark .selected-chords-section{background-color:transparent!important;border:none!important;box-shadow:none!important}:root.theme-dark .suggested-chords-section{border-color:#ffffff1f!important;background:transparent}:root.theme-dark .song-container .chatgpt-chord-input{background:#ffffff14!important;border-color:#ffffff2e!important;color:#ffffffeb!important}:root.theme-dark .song-container .chatgpt-chord-input::placeholder{color:#ffffff7a}:root.theme-dark .song-container .chatgpt-chord-input:focus{border-color:#8cc8ff73!important;box-shadow:0 0 0 3px #8cc8ff24!important}:root.theme-dark .song-container .chatgpt-chord-submit{background:#ffffff1a!important;border-color:#ffffff2e!important;color:#ffffffeb!important}:root.theme-dark .song-container .chatgpt-chord-submit:hover:not(:disabled){background:#ffffff29!important;border-color:#ffffff47!important;box-shadow:0 0 0 1px #ffffff29,0 0 18px #8cc8ff2e!important}:root.theme-dark .song-container .chatgpt-chord-response{background:#ffffff0f!important;border-color:#ffffff1f!important;color:#ffffffe6!important}:root.theme-dark ::-webkit-scrollbar{width:12px;height:12px}:root.theme-dark ::-webkit-scrollbar-track{background:#2a2a2a;border-radius:6px}:root.theme-dark ::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4a4a4a,#555,#4a4a4a);border-radius:6px;border:2px solid #2a2a2a}:root.theme-dark ::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a5a5a,#666,#5a5a5a)}:root.theme-dark ::-webkit-scrollbar-corner{background:#2a2a2a}:root.theme-dark *{scrollbar-width:thin;scrollbar-color:#4a4a4a #2a2a2a}:root.theme-dark .mini-fretboard{background:#303030!important;border-color:#555;box-shadow:8px 8px 15px #0000004d}:root.theme-dark .mini-fretboard .mini-fretboard-title{color:#f3f3f3!important}:root.theme-dark .mini-fretboard .mini-fretboard-grid{background:#444}:root.theme-dark .mini-fretboard .mini-fret-line{background:#666}:root.theme-dark .mini-fretboard .mini-string-line{background:#999}:root.theme-dark .mini-fretboard .mini-string-nut{color:#f3f3f3!important}:root.theme-dark .display-mini-chord .unknown-chord{background:#404040;color:#aaa}:root.theme-dark .song-preview{background:#303030!important;box-shadow:0 2px 8px #00000080;border:1px solid #555}:root.theme-dark .song-preview .song-title{color:#f3f3f3}:root.theme-dark .song-preview .scale-display{color:#aaa}:root.theme-dark .scale-suggestions{background-color:#303030;border-color:#555}:root.theme-dark .scale-suggestions .suggestions-header{background-color:#383838}:root.theme-dark .scale-suggestions .suggestions-header:hover{background-color:#404040}:root.theme-dark .scale-suggestions .scales-list .scale-item{border-bottom-color:#555}:root.theme-dark .scale-suggestions .scales-list .scale-item:hover{background-color:#383838}:root.theme-dark .scale-suggestions .scales-list .scale-item.selected{background-color:#2d4a6b;border-left-color:#4a90e2}:root.theme-dark .moment-item{background-color:#383838!important;border-color:#555!important}:root.theme-dark .moment-item:hover:not(.active){background-color:#404040!important}:root.theme-dark .moment-item .delete-moment-btn{color:#aaa}:root.theme-dark .moment-item .delete-moment-btn:hover{color:#ff6b6b}:root.theme-dark .moment-item .moment-name-input{color:#f3f3f3!important}:root.theme-dark .add-moment-btn{background-color:#383838!important;border-color:#666!important;color:#f3f3f3!important}:root.theme-dark .add-moment-btn:hover{background-color:#404040!important}:root.theme-dark .stem-item{background-color:#383838!important;border-color:#555!important;box-shadow:0 2px 6px #0000004d}:root.theme-dark .stem-item.active{background-color:#2d5a2d!important;border-color:#4cae4c #4cae4c #2d5a2d #4cae4c!important;box-shadow:0 4px 12px #4cae4c33}:root.theme-dark .stem-item:hover:not(.active){background-color:#404040!important}:root.theme-dark .stem-item .delete-stem-btn{color:#aaa}:root.theme-dark .stem-item .delete-stem-btn:hover{color:#ff6b6b}:root.theme-dark .stem-item .stem-name-input{color:#f3f3f3!important}.preferences-color-row{display:flex;align-items:flex-start;gap:16px;margin-top:20px;flex-wrap:wrap}.preferences-color-label{font-weight:600;min-width:110px;padding-top:6px}.preferences-color-controls{display:flex;flex-direction:column;gap:8px}.preferences-color-buttons{display:flex;flex-wrap:wrap;gap:8px}.preferences-color-bubbles{display:flex;flex-wrap:wrap;gap:6px}.social-stuff-section{margin-bottom:32px;padding:20px;border:1px solid rgba(0,0,0,.1);border-radius:12px;background-color:#00000005}:root.theme-dark .social-stuff-section{border-color:#ffffff1a;background-color:#ffffff08}.social-stuff-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.social-info-btn{all:unset;cursor:pointer;font-size:16px;opacity:.7;transition:opacity .15s ease}.social-info-btn:hover{opacity:1}.toast-message{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:16px;border-radius:8px;background-color:#f59e0b26;border:1px solid rgba(245,158,11,.3);color:#b45309;font-size:14px;animation:toast-slide-in .2s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}:root.theme-dark .toast-message{background-color:#f59e0b33;border-color:#f59e0b66;color:#fbbf24}.toast-dismiss{all:unset;cursor:pointer;padding:4px 8px;border-radius:4px;opacity:.7;transition:opacity .15s ease}.toast-dismiss:hover{opacity:1}.social-info-box{padding:16px;margin-bottom:20px;border-radius:8px;background-color:#3b82f61a;border:1px solid rgba(59,130,246,.2);font-size:14px;line-height:1.5}.social-info-box p{margin:0 0 12px}.social-info-box p:last-child{margin-bottom:0}:root.theme-dark .social-info-box{background-color:#3b82f626;border-color:#3b82f64d}.social-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.social-row:last-child{margin-bottom:0}.social-label{min-width:180px;padding-top:8px;font-weight:500;display:flex;align-items:center;gap:6px}.social-control{flex:1}.social-control--inline{flex:unset}.social-control--limited{flex:1;max-width:600px}.social-collab-buttons{display:flex;gap:8px}.social-collab-btn{padding:8px 16px;border-radius:20px;border:1px solid rgba(0,0,0,.15);background-color:#0000000d;font-weight:500;font-size:14px;cursor:pointer;transition:all .15s ease}.social-collab-btn:hover:not(:disabled){background-color:#0000001a}.social-collab-btn:disabled{opacity:.6;cursor:not-allowed}.social-collab-btn--active{background-color:#3b82f626;border-color:#3b82f680;color:#2563eb}:root.theme-dark .social-collab-btn{background-color:#ffffff14;border-color:#ffffff26;color:#f8fafce6}:root.theme-dark .social-collab-btn:hover:not(:disabled){background-color:#ffffff26}:root.theme-dark .social-collab-btn--active{background-color:#3b82f640;border-color:#3b82f699;color:#93c5fd}.social-toggle-btn{padding:8px 16px;border-radius:20px;border:1px solid rgba(0,0,0,.15);font-weight:600;font-size:14px;cursor:pointer;transition:all .15s ease}.social-toggle-btn--public{background-color:#22c55e26;border-color:#22c55e66;color:#16a34a}.social-toggle-btn--private{background-color:#64748b26;border-color:#64748b66;color:#475569}:root.theme-dark .social-toggle-btn--public{background-color:#22c55e33;color:#4ade80}:root.theme-dark .social-toggle-btn--private{background-color:#64748b33;color:#94a3b8}.social-bio-input{width:100%;min-height:80px;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:14px;resize:vertical;background-color:#fff;color:#0f172a}.social-bio-input:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f626}.social-bio-input::placeholder{color:#64748bcc}:root.theme-dark .social-bio-input{background-color:#1e293b;border-color:#ffffff26;color:#f8fafc}:root.theme-dark .social-bio-input::placeholder{color:#94a3b8b3}.social-bio-counter{margin-top:4px;font-size:12px;color:#64748bcc;text-align:right}.social-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.social-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.social-location-display{display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px}:root.theme-dark .social-location-display{background-color:#22c55e26}.social-location-value{font-weight:500}.social-location-clear{all:unset;cursor:pointer;padding:4px 8px;border-radius:4px;opacity:.6;transition:opacity .15s ease,background-color .15s ease}.social-location-clear:hover{opacity:1;background-color:#ef44441a}.social-location-search{position:relative}.social-location-input{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:8px;font-size:14px;background-color:#fff;color:#0f172a}.social-location-input:focus{outline:none;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f626}.social-location-input::placeholder{color:#64748bcc}:root.theme-dark .social-location-input{background-color:#1e293b;border-color:#ffffff26;color:#f8fafc}:root.theme-dark .social-location-input::placeholder{color:#94a3b8b3}.social-location-loading{margin-top:8px;font-size:13px;color:#64748bcc}.social-location-notice{margin-top:10px;font-size:12px;color:#64748bb3;font-style:italic}:root.theme-dark .social-location-notice{color:#94a3b899}.social-location-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:300px;overflow-y:auto;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100}:root.theme-dark .social-location-results{background-color:#1e293b;border-color:#ffffff26;box-shadow:0 4px 12px #0006}.social-location-result{all:unset;display:flex;flex-direction:column;width:100%;padding:10px 14px;cursor:pointer;transition:background-color .1s ease;box-sizing:border-box}.social-location-result:hover{background-color:#3b82f61a}.social-location-result:first-child{border-radius:8px 8px 0 0}.social-location-result:last-child{border-radius:0 0 8px 8px}.social-location-result:only-child{border-radius:8px}:root.theme-dark .social-location-result:hover{background-color:#3b82f633}.social-location-name{font-weight:600;font-size:14px}.social-location-country{font-size:12px;color:#64748be6;margin-left:6px}.social-location-full{font-size:12px;color:#64748bb3;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root.theme-dark .social-location-country,:root.theme-dark .social-location-full{color:#94a3b8cc}.social-location-error{padding:12px 14px;font-size:13px;color:#ef4444e6}.social-location-no-results{padding:12px 14px;font-size:13px;color:#6b7280;text-align:center;font-style:italic}:root.theme-dark .social-location-no-results{color:#9ca3afe6}:root.theme-dark .add-stem-btn{background-color:#383838!important;border-color:#666!important;color:#f3f3f3!important}:root.theme-dark .add-stem-btn:hover{background-color:#404040!important}:root.theme-dark .stem-comments-textarea{background-color:#383838;border-color:#555;color:#f3f3f3}:root.theme-dark .stem-comments-textarea:focus{border-color:#4cae4c;box-shadow:0 0 3px #4cae4c80}:root.theme-dark .stem-comments-textarea::placeholder{color:#888}:root.theme-dark .lyrics-chord-slot{background-color:#303030;border-color:#555}:root.theme-dark .lyrics-chord-slot.drop-target{background-color:#4c7cff29;border-color:#8cc8ff8c}:root.theme-dark .lyrics-stem-editor-empty-hint{background-color:#303030;border-color:#555;color:#ccc}:root.theme-dark .lyrics-fragment-card{background-color:#454545;border-color:#666;color:#f3f3f3}:root.theme-dark .lyrics-fragment-card-delete{background:transparent!important;color:#aaa!important}:root.theme-dark .lyrics-fragment-card-delete:hover{color:#ff6b6b!important}:root.theme-dark .lyrics-fragment-tray{background-color:#ffffff0a;border-color:#555}:root.theme-dark .lyrics-fragment-tray.drop-target{background-color:#4c7cff24;border-color:#8cc8ff8c}:root.theme-dark .lyrics-fragment-tray-label{color:#999}:root.theme-dark .lyrics-ai-paste-box{background-color:#303030;border-color:#555}:root.theme-dark .lyrics-ai-paste-error{color:#ff8080}:root.theme-dark .lyrics-ai-reasoning{background-color:#303030;border-color:#555;color:#e0e0e0}.instrument-choice-btn{width:48px;height:48px;border-radius:10px;border:1px solid rgb(221,221,221);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer}.instrument-choice-btn:hover{background:#f5f5f5}.instrument-choice-btn--wide{width:auto;min-width:80px;padding:8px 16px;gap:6px}.instrument-choice-btn--wide span:last-child{font-size:13px;white-space:nowrap}.instrument-choice-btn--back{opacity:.7}.instrument-choice-btn--back:hover{opacity:1}.instrument-choice-btn--large{padding:14px 24px;font-size:16px}:root.theme-dark .instrument-choice-btn{background:#404040;border-color:#555}:root.theme-dark .instrument-choice-btn:hover{background:#4a4a4a}.modal-info-btn{min-width:32px;height:32px;position:relative;display:inline-flex;align-items:center;justify-content:center;background-color:transparent!important;border:none!important;cursor:pointer;text-decoration:none}.modal-info-btn:hover{background-color:transparent!important;box-shadow:none!important}.modal-info-icon{width:14px;height:14px;text-align:center;border-radius:50%;background-color:#fff;color:#4285f4;font-weight:700;font-style:italic;font-size:.7rem;border:2px solid rgb(66,133,244);line-height:1;display:flex;align-items:center;justify-content:center}:root.theme-dark .modal-info-icon{background-color:#28282d}.modal-info-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:28px 36px 36px}.modal-info-panel-back{align-self:flex-start;background:#0000000f;border:none;border-radius:6px;padding:6px 14px;margin-bottom:16px;cursor:pointer;font-size:.85rem;color:#000000a6}.modal-info-panel-back:hover{background:#0000001a}.modal-info-panel-content{max-width:760px;margin:0 auto;width:100%}.modal-info-panel-title{display:flex;align-items:center;gap:12px;font-size:1.4rem;font-weight:700;margin:0 0 22px;color:#1e1e23}.modal-info-panel-title-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4285f42e,#0096882e);font-size:1.3rem;flex-shrink:0}.modal-info-panel-text{display:flex;flex-direction:column;gap:15px}.modal-info-panel-text p{margin:0;font-size:1rem;line-height:1.65;color:#323237e6}.modal-info-panel-text strong{color:#006ec8}.modal-info-panel-text h4{margin:6px 0 -4px;font-size:1.05rem;color:#006ec8}.modal-info-callout{padding:14px 18px;border-radius:8px;font-size:.95rem;line-height:1.55;border-left:4px solid}.modal-info-callout--caution{background:#ff98001a;border-left-color:#ff9800e6;color:#784600f2}.modal-info-callout--tip{background:#00968814;border-left-color:#009688cc;color:#005a50f2}.modal-info-link-pending{color:#4285f4;text-decoration:underline dotted;cursor:default}:root.theme-dark .modal-info-panel-back{background:#ffffff14;color:#ffffffb3}:root.theme-dark .modal-info-panel-back:hover{background:#ffffff24}:root.theme-dark .modal-info-panel-title{color:#f0f0f5}:root.theme-dark .modal-info-panel-text p{color:#dcdce1e6}:root.theme-dark .modal-info-panel-text strong,:root.theme-dark .modal-info-panel-text h4{color:#78b4ff}:root.theme-dark .modal-info-callout--caution{background:#ff980024;color:#ffc88c}:root.theme-dark .modal-info-callout--tip{background:#00968824;color:#8cdccd}:root.theme-dark .moment-item.active{background-color:#2d4a6b!important;border-color:#4c7cff!important}:root.theme-dark .stem-item.active{background-color:#2d5a2d!important;border-color:#4cae4c #4cae4c #2d5a2d #4cae4c!important}:root.theme-dark .mini-fretboard-grid{background:#444}:root.theme-dark .mini-fret-line{background:#666}:root.theme-dark .mini-string-line{background:#999}:root.theme-dark .white-key{background:#e8e8e8!important;border-color:#888}:root.theme-dark .tab-context-menu{background:#303030;border-color:#555;box-shadow:0 4px 12px #00000080}:root.theme-dark .tab-context-menu li{color:#f3f3f3}:root.theme-dark .tab-context-menu li:hover{background-color:#f5f5f5;color:#222}:root.theme-dark .tuning-modal,:root.theme-dark .play-through-modal,:root.theme-dark .confirm-delete-modal{background:#303030;border-color:#555;color:#f3f3f3}:root.theme-dark .guitar-tablature{background:#303030;border-color:#555}:root.theme-dark .guitar-tablature .tablature-line{border-bottom-color:#555}:root.theme-dark .chord-diagram{background-color:#303030;border-color:#555}:root.theme-dark .chord-diagram-grid{background-color:#383838}:root.theme-dark .guitar-tool-container .fretboard{background-color:transparent;box-shadow:none;border:none}:root.theme-dark .guitar-tool-container .open-strings-column{background-color:#383838}:root.theme-dark .guitar-tool-container .open-string-box{background-color:#303030;border-color:#555}:root.theme-dark .guitar-tool-container .open-string-box:hover{background-color:#3a3a3a}:root.theme-dark .guitar-tool-container .open-string-label{color:#f3f3f3!important}:root.theme-dark .guitar-tool-container .open-string-note{background-color:#fff!important}:root.theme-dark .guitar-tool-container .open-string-note .open-string-label{color:#333!important}:root.theme-dark .guitar-tool-container .string{border-bottom-color:#ffffff26}:root.theme-dark .guitar-tool-container .string:before{background-color:#888}:root.theme-dark .guitar-tool-container .fret{border-right-color:#888}:root.theme-dark .guitar-tool-container .fret:first-child{border-left-color:#888}:root.theme-dark .guitar-tool-container .fret:hover{background-color:#ffffff0d}:root.theme-dark .guitar-tool-container .fret-markers .fret-marker{color:#bbb!important}:root.theme-dark .guitar-tool-container .tuning-button,:root.theme-dark .guitar-tool-container .clear-button{background-color:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .guitar-tool-container .tuning-button:hover,:root.theme-dark .guitar-tool-container .clear-button:hover{background-color:#4a4a4a}:root.theme-dark .guitar-tool-container .display-mode-select{background-color:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .guitar-tool-container .toggle-label{color:#f3f3f3}:root.theme-dark .guitar-tool-container .instructions{color:#aaa}:root.theme-dark .guitar-tool-container .tuning-info{color:#aaa}:root.theme-dark .guitar-tool-container .chord-name-section{background-color:#303030;border-color:#555}:root.theme-dark .guitar-tool-container .chord-name{color:#f3f3f3}:root.theme-dark .guitar-tool-container .fretboard-controls button{background:#ffffff1a;border-color:#ffffff2e;color:#ffffffeb;box-shadow:none}:root.theme-dark .guitar-tool-container .fretboard-controls button:hover{background:#ffffff29;border-color:#ffffff47;box-shadow:0 0 0 1px #ffffff29,0 0 16px #8cc8ff2e}:root.theme-dark .fretboard{background:transparent!important;box-shadow:none;border:none}:root.theme-dark .fretboard .string:before{background:#888}:root.theme-dark .fretboard .fret{border-right-color:#888;background:transparent}:root.theme-dark .fretboard .fret:hover{background-color:#ffffff0d;cursor:pointer}:root.theme-dark .fretboard .nut{background:#666;cursor:pointer}:root.theme-dark .fretboard .nut:hover{background:#777}:root.theme-dark .fretboard .open-string-label{color:#f3f3f3!important}:root.theme-dark .fretboard-controls .fretboard-btn{background:#ffffff1a!important;border-color:#ffffff2e!important;color:#ffffffeb!important}:root.theme-dark .fretboard-controls .fretboard-btn:hover:not(:disabled){background:#ffffff29!important;border-color:#ffffff47!important;box-shadow:0 0 0 1px #ffffff29,0 0 16px #8cc8ff2e!important}:root.theme-dark .open-string-note{cursor:pointer!important}:root.theme-dark .open-string-note:hover{background-color:#ffffff14!important}:root.theme-dark .fret-markers .fret-marker{color:#ccc!important}:root.theme-dark .chord-name-display .chord-display{background-color:#303030;border-left-color:#555}:root.theme-dark .chord-name-display .chord-display h4 .chord-name{color:#6b9bff}:root.theme-dark .chord-name-display .chord-display h4 .chord-index{color:#999}:root.theme-dark .chord-name-display .chord-display.active-chord-display{background-color:#ffcc0026;border-left-color:#fc0}:root.theme-dark .chord-name-display .notes-list{color:#f3f3f3}:root.theme-dark .chord-name-display .notes-list .selected-note-item{background-color:#ffffff1a}:root.theme-dark .guitar-tablature{background:#303030!important;border-color:#555!important;color:#f3f3f3}:root.theme-dark .guitar-tablature .tablature-controls button{background:#404040!important;border-color:#555!important;color:#f3f3f3!important}:root.theme-dark .guitar-tablature .tablature-controls button:hover{background:#4a4a4a!important;border-color:#666!important}:root.theme-dark .guitar-tablature .tablature-controls button:active{background:#3a3a3a!important}:root.theme-dark .guitar-tablature .tablature-content .tablature-grid{color:#f3f3f3}:root.theme-dark .guitar-tablature .tablature-content .tablature-grid .tablature-string .tablature-line{border-bottom-color:#555}:root.theme-dark .guitar-tablature .tablature-content .tablature-grid .tablature-string .position.active{background-color:#d4e6ff;color:#222!important}:root.theme-dark .guitar-tablature .tablature-content .tablature-grid .tablature-string .position.selected:not(.active){background-color:#cfe3ff;color:#222!important}:root.theme-dark .guitar-tablature .tablature-content .tablature-grid .tablature-string .position:hover:not(.active){background-color:#4a4a4a}:root.theme-dark .guitar-tablature .tablature-instructions{color:#aaa}:root.theme-dark .tablature-row{background:#303030!important;border-color:#555;color:#f3f3f3}:root.theme-dark .tablature-editor{background-color:#303030!important;border-color:#555!important}:root.theme-dark .tablature-editor .collapsible-header{background-color:#383838!important;border-bottom-color:#555!important;color:#f3f3f3}:root.theme-dark .tablature-editor .collapsible-header:hover{background-color:#404040!important}:root.theme-dark .tablature-editor .collapsible-header h3{color:#f3f3f3}:root.theme-dark .tablature-editor .save-status.saving{background-color:#06c3;color:#66b3ff}:root.theme-dark .tablature-editor .save-status.saved{background-color:#2e854033;color:#6fdd6f}:root.theme-dark .tablature-editor .tab-selector{background-color:#383838!important;border-bottom-color:#555!important}:root.theme-dark .tablature-editor .tab-selector button{background-color:#2a2a2a!important;border-color:#555!important;color:#aaa!important}:root.theme-dark .tablature-editor .tab-selector button.active{background-color:#404040!important;color:#f3f3f3!important;border-bottom-color:#4c7cff!important}:root.theme-dark .tablature-editor .tab-selector button:hover:not(.active){background-color:#333!important}:root.theme-dark .tablature-editor .tablature-list{background-color:#2a2a2a!important}:root.theme-dark .tablature-editor .tablature-list .tablature-item{background-color:#383838!important;border-color:#555!important;color:#f3f3f3}:root.theme-dark .tablature-editor .tablature-list .tablature-item.active{background-color:#404040!important;border-left-color:#4c7cff!important}:root.theme-dark .tablature-editor .tablature-list .tablature-item:hover:not(.active){background-color:#3a3a3a!important}:root.theme-dark .tablature-editor .tablature-list .tablature-item button{background-color:#2a2a2a!important;color:#aaa!important}:root.theme-dark .tablature-editor .tablature-list .tablature-item button:hover{background-color:#4a4a4a!important;color:#f3f3f3!important}:root.theme-dark .toggle-numbers-btn,:root.theme-dark .add-chord-btn,:root.theme-dark .play-through-btn{background:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .toggle-numbers-btn.active,:root.theme-dark .add-chord-btn.active,:root.theme-dark .play-through-btn.active{background:#4a4a4a}:root.theme-dark .toggle-numbers-btn:hover,:root.theme-dark .add-chord-btn:hover,:root.theme-dark .play-through-btn:hover{background:#4a4a4a}:root.theme-dark .delete-x{color:#ff6b6b}:root.theme-dark .delete-x:hover{color:#f44}:root.theme-dark .user-profile .profile-section{background-color:#303030}:root.theme-dark .user-profile input,:root.theme-dark .user-profile textarea,:root.theme-dark .user-profile select{background-color:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .edit-chord-modal input,:root.theme-dark .edit-chord-modal textarea,:root.theme-dark .edit-chord-modal select{background-color:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .edit-chord-modal button:not(.btn){background-color:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .edit-chord-modal button:not(.btn):hover{background-color:#4a4a4a}.suggested-chords-toggle-btn{padding:6px 16px;font-size:1em;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer;transition:background .2s}.suggested-chords-toggle-btn:hover{background:#f5f5f5}:root.theme-dark .suggested-chords-toggle-btn{background:#404040;border-color:#555;color:#f3f3f3}:root.theme-dark .suggested-chords-toggle-btn:hover{background:#4a4a4a}:root.theme-dark .mini-piano .mini-white-key{background:#f5f5f5!important;border-color:#999!important}:root.theme-dark .mini-piano .mini-white-key.selected{background:#dcdcdc!important}:root.theme-dark .mini-piano .mini-black-key{background:#1a1a1a;border-color:#000}:root.theme-dark .mini-piano .mini-piano-note-circle{border-color:#555}:root.theme-dark .mini-piano-container{background:#404040!important;border-color:#555!important;box-shadow:8px 8px 15px #0000004d!important}:root.theme-dark .mini-piano-container .mini-piano-title{color:#f3f3f3!important}:root.theme-dark .mini-piano-container.highlighted{border-color:#007bff!important;box-shadow:0 0 5px #007bff80!important}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid rgb(229,231,235);background:#f9fafb;border-radius:0 0 12px 12px}:root.theme-dark .modal-footer{border-top-color:#374151;background:#111827}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay--stacked{z-index:1100}.modal-overlay--critical{z-index:2000}.modal-overlay--blur{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 4px 20px #0003;max-height:90vh;overflow-y:auto}.modal-panel--small{max-width:400px;width:90%}.modal-panel--large{max-width:900px;width:95%}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-title{margin:0;font-size:1.15rem;font-weight:700;color:#000000de}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-close{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;border:none;background:transparent;color:#4b5563;font-size:1.3rem;line-height:1;cursor:pointer;transition:all .15s ease}.modal-close:hover:not(:disabled){background:#0000000f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;line-height:1.2;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:#6366f1;color:#fff}.btn--primary:hover:not(:disabled){background:#4f46e5}.btn--secondary{background:#f3f4f6;color:#374151}.btn--secondary:hover:not(:disabled){background:#e5e7eb}.btn--danger{background:#dc2626;color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--ghost{background:transparent;color:#4b5563}.btn--ghost:hover:not(:disabled){background:#0000000f}.btn--icon{padding:4px;width:32px;height:32px;background:transparent;color:#4b5563;font-size:1.3rem}.btn--icon:hover:not(:disabled){background:#0000000f}.btn--small{padding:6px 12px;font-size:.8rem}:root.theme-dark .modal-panel{background:#1f2937;color:#f3f4f6}:root.theme-dark .modal-title{color:#f3f4f6}:root.theme-dark .btn--primary{background:#6366f1;color:#fff}:root.theme-dark .btn--primary:hover:not(:disabled){background:#4f46e5}:root.theme-dark .btn--danger{background:#dc2626;color:#fff}:root.theme-dark .btn--danger:hover:not(:disabled){background:#b91c1c}:root.theme-dark .btn--secondary{background:#374151;color:#d1d5db}:root.theme-dark .btn--secondary:hover:not(:disabled){background:#4b5563}:root.theme-dark .btn--ghost,:root.theme-dark .btn--icon,:root.theme-dark .modal-close{background:transparent;color:#d1d5db}:root.theme-dark .btn--ghost:hover:not(:disabled),:root.theme-dark .btn--icon:hover:not(:disabled),:root.theme-dark .modal-close:hover:not(:disabled){background:#ffffff1a}
