html,body{margin:0;padding:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;max-width:100vw;box-sizing:border-box}*,*:before,*:after{box-sizing:border-box}#root{width:100vw;min-height:100vh;overflow-x:hidden}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;overflow-y:auto}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.terms-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.terms-modal{background:#1a1a1a;border:1px solid #374151;border-radius:12px;box-shadow:0 25px 50px -12px #00000080;max-width:600px;width:90%;max-height:90vh;overflow:hidden;animation:modalSlideIn .3s ease-out}.terms-modal-header{padding:24px 24px 16px;border-bottom:1px solid #374151;text-align:center}.terms-modal-title{font-size:24px;font-weight:700;color:#f9fafb;margin:0 0 8px}.terms-modal-subtitle{font-size:16px;color:#9ca3af;margin:0}.terms-modal-body{display:flex;flex-direction:column;height:calc(90vh - 120px);max-height:500px}.terms-content{flex:1;padding:24px 10px 24px 24px;color:#d1d5db;line-height:1.6;max-height:400px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#888 #f1f1f1}.terms-content h3{font-size:20px;font-weight:600;color:#f9fafb;margin:0 0 20px;text-align:center}.terms-content h4{font-size:16px;font-weight:600;color:#f9fafb;margin:24px 0 12px}.terms-content p{margin:0 0 12px;font-size:14px}.terms-content ul{margin:12px 0;padding-left:20px}.terms-content li{margin-bottom:8px;font-size:14px}.terms-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #374151;background:#0003}.terms-decline-btn,.terms-accept-btn{flex:1;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.terms-decline-btn{background:#ffffff1a;color:#d1d5db;border:1px solid rgba(255,255,255,.2)}.terms-decline-btn:hover{background:#ffffff26;color:#f9fafb}.terms-accept-btn{background:#3b82f6;color:#fff}.terms-accept-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 10px 20px #3b82f64d}.terms-content::-webkit-scrollbar{width:10px}.terms-content::-webkit-scrollbar-track{background:#f1f1f1}.terms-content::-webkit-scrollbar-thumb{background:#888;border-radius:5px}.terms-content::-webkit-scrollbar-thumb:hover{background:#555}.scroll-progress-container{padding:16px 24px 12px;border-bottom:1px solid #374151;background:#0000000d}.scroll-progress-bar{width:100%;height:6px;background:#374151;border-radius:3px;overflow:hidden;margin-bottom:8px}.scroll-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:3px;transition:width .3s ease;position:relative}.scroll-progress-fill:after{content:"";position:absolute;top:0;right:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3));animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-20px)}to{transform:translate(20px)}}.scroll-status{font-size:12px;text-align:center;font-weight:500}.scroll-status-complete{color:#10b981;display:flex;align-items:center;justify-content:center;gap:4px}.scroll-status-incomplete{color:#f59e0b}.terms-agreement-section{padding:16px 24px;background:#0000001a;border-top:1px solid #374151}.terms-checkbox-container{display:flex;align-items:center;gap:12px}.terms-checkbox-container input[type=checkbox]{appearance:none;width:20px;height:20px;border:2px solid #4b5563;border-radius:4px;outline:none;cursor:pointer;position:relative;transition:all .2s ease}.terms-checkbox-container input[type=checkbox]:checked{background-color:#3b82f6;border-color:#3b82f6}.terms-checkbox-container input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px}.terms-checkbox-container label{font-size:14px;color:#d1d5db;cursor:pointer;user-select:none}.terms-checkbox-container input[type=checkbox]:hover{border-color:#3b82f6}@media (max-width: 640px){.terms-modal{margin:16px;width:calc(100% - 32px);max-height:calc(100vh - 32px)}.terms-modal-header,.terms-content,.terms-actions{padding-left:16px;padding-right:16px}.terms-modal-title{font-size:20px}.terms-modal-subtitle{font-size:14px}.terms-actions{flex-direction:column}.terms-decline-btn,.terms-accept-btn{width:100%}}@media (max-width: 640px){.terms-agreement-section{padding:16px}.scroll-progress-container{padding:12px 16px 8px}.scroll-status{font-size:11px}.scroll-progress-bar{height:4px}}.login-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(4px)}.login-modal{background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn .3s ease-out}.login-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.login-modal-close:hover{background-color:#374151;color:#f3f4f6}.login-modal-content{padding:32px}.login-modal-header{text-align:center;margin-bottom:32px}.login-modal-title{font-size:24px;font-weight:700;color:#f9fafb;margin:0 0 8px}.login-modal-subtitle{font-size:16px;color:#d1d5db;margin:0}.login-modal-body{display:flex;flex-direction:column;gap:20px}.recaptcha-container{display:flex;justify-content:center;margin:16px 0}.recaptcha-container .g-recaptcha{transform:scale(.9);transform-origin:center}@media (max-width: 640px){.recaptcha-container .g-recaptcha{transform:scale(.8)}}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 24px;background:#374151;border:2px solid #4b5563;border-radius:8px;font-size:16px;font-weight:500;color:#f9fafb;cursor:pointer;transition:all .2s ease;min-height:48px}.google-login-btn:hover:not(:disabled){background:#4b5563;border-color:#6b7280;box-shadow:0 4px 6px -1px #0000004d}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px}.login-spinner{width:20px;height:20px;border:2px solid #4b5563;border-top:2px solid #60a5fa;border-radius:50%;animation:spin 1s linear infinite}.login-error{padding:12px;background-color:#7f1d1d;border:1px solid #dc2626;border-radius:6px;color:#fca5a5;font-size:14px;text-align:center}.login-terms-notice{font-size:12px;color:#9ca3af;text-align:center;line-height:1.5}.login-terms-notice a{color:#60a5fa;text-decoration:none}.login-terms-notice a:hover{text-decoration:underline}.terms-link{background:none;border:none;color:#60a5fa;text-decoration:none;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;margin:0;transition:color .2s ease}.terms-link:hover{color:#93c5fd;text-decoration:underline}.terms-modal{max-width:700px;width:95%;max-height:85vh}.terms-modal-content{padding:32px}.terms-modal-header{text-align:center;margin-bottom:24px;border-bottom:1px solid #4b5563;padding-bottom:16px}.terms-modal-title{font-size:24px;font-weight:700;color:#f9fafb;margin:0}.terms-modal-body{display:flex;flex-direction:column;gap:24px}.terms-content{max-height:500px;overflow-y:auto;padding:24px;background-color:#111827;border-radius:8px;border:1px solid #374151}.terms-content section{margin-bottom:24px}.terms-content h3{font-size:16px;font-weight:600;color:#f9fafb;margin:0 0 12px;text-align:left}.terms-content h4{font-size:14px;font-weight:600;color:#d1d5db;margin:16px 0 8px}.terms-content p{font-size:14px;color:#d1d5db;line-height:1.6;margin:0 0 12px}.terms-content ul{font-size:14px;color:#d1d5db;line-height:1.6;margin:0 0 12px;padding-left:20px}.terms-content li{margin-bottom:4px}.terms-actions{display:flex;gap:12px;justify-content:flex-end}.terms-decline-btn{padding:10px 20px;background:#374151;border:1px solid #4b5563;border-radius:6px;font-size:14px;font-weight:500;color:#d1d5db;cursor:pointer;transition:all .2s ease}.terms-decline-btn:hover{background-color:#4b5563;border-color:#6b7280}.terms-accept-btn{padding:10px 20px;background:#2563eb;border:1px solid #2563eb;border-radius:6px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.terms-accept-btn:hover{background:#1d4ed8;border-color:#1d4ed8}@media (max-width: 640px){.login-modal{margin:16px;width:calc(100% - 32px)}.terms-modal{margin:16px;width:calc(100% - 32px);max-height:90vh}.login-modal-content,.terms-modal-content{padding:24px 20px}.login-modal-title,.terms-modal-title{font-size:20px}.terms-content{max-height:350px;padding:16px}.terms-content h3{font-size:15px}.terms-content p,.terms-content ul{font-size:13px}.terms-actions{flex-direction:column}.terms-decline-btn,.terms-accept-btn{width:100%}}.auth-guard-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#242424,#1a1a1a);padding:20px}.auth-guard-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;padding:48px;text-align:center;max-width:480px;width:100%}.auth-guard-message h2{font-size:28px;font-weight:700;color:#f9fafb;margin:0 0 16px}.auth-guard-message p{font-size:16px;color:#d1d5db;margin:0 0 32px;line-height:1.6}.auth-guard-login-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;background:#646cff;border:none;border-radius:8px;font-size:16px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease;min-height:48px}.auth-guard-login-btn:hover{background:#535bf2;transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000004d}.auth-guard-login-btn:active{transform:translateY(0)}.auth-guard-loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#242424;z-index:9999}.auth-loading-spinner{width:40px;height:40px;border:3px solid #646cff;border-top:3px solid #535bf2;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 640px){.auth-guard-content{padding:32px 24px;margin:16px}.auth-guard-message h2{font-size:24px}.auth-guard-message p{font-size:14px}.auth-guard-login-btn{width:100%}}.user-profile-dropdown-container{position:relative}.user-profile-button{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.user-profile-button:hover{transform:scale(1.05)}.user-profile-image{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #374151}.user-profile-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;border:2px solid #374151}.user-profile-dropdown{z-index:9999;animation:dropdownSlideIn .2s ease-out}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-profile-dropdown-content{background:#1a1a1a;border:1px solid #374151;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;min-width:280px;max-width:calc(100vw - 16px);overflow:hidden}.user-profile-info{padding:16px;display:flex;align-items:center;gap:12px}.user-profile-info-avatar{flex-shrink:0}.user-profile-info-image{width:48px;height:48px;border-radius:50%;object-fit:cover}.user-profile-info-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#fff}.user-profile-info-details{flex:1;min-width:0}.user-profile-info-name{font-size:16px;font-weight:600;color:#f9fafb;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile-info-email{font-size:14px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.user-profile-plan-name{font-size:12px;font-weight:600;color:#f9fafb;background:linear-gradient(135deg,#667eea,#764ba2);padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.user-profile-dropdown-divider{height:1px;background:#374151;margin:0 16px}.user-profile-dropdown-actions{padding:8px 0}.user-profile-dropdown-action{width:100%;background:none;border:none;padding:12px 16px;display:flex;align-items:center;gap:12px;font-size:14px;color:#d1d5db;cursor:pointer;transition:all .2s ease;text-align:left}.user-profile-dropdown-action:hover{background:#374151;color:#f9fafb}.user-profile-dropdown-action-logout{color:#fca5a5}.user-profile-dropdown-action-logout:hover{background:#7f1d1d;color:#fecaca}.user-profile-dropdown-action-icon{font-size:16px;width:20px;display:flex;align-items:center;justify-content:center}@media (max-width: 640px){.user-profile-dropdown-content{min-width:260px;margin-right:16px}.user-profile-info{padding:12px}.user-profile-info-image,.user-profile-info-avatar-placeholder{width:40px;height:40px}.user-profile-info-avatar-placeholder{font-size:16px}.user-profile-dropdown-action{padding:10px 12px}}.language-selector{position:relative;display:inline-block}.language-selector-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border-color, #ddd);border-radius:6px;cursor:pointer;font-size:14px;color:var(--text-primary, #333);transition:all .2s ease;min-width:120px}.language-selector-button:hover{background:var(--bg-hover, #e8e8e8);border-color:var(--border-hover, #bbb)}.language-flag{font-size:16px}.language-flag svg{width:20px;height:20px;stroke:var(--text-primary, #333)}.language-name{flex:1;text-align:left}.language-arrow{font-size:10px;transition:transform .2s ease}.language-arrow.open{transform:rotate(180deg)}.language-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary, white);border:1px solid var(--border-color, #ddd);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;margin-top:4px;overflow:hidden}.language-dropdown-header{display:none}.language-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-primary, #333);transition:background-color .2s ease;text-align:left}.language-option:hover{background:var(--bg-hover, #f0f0f0)}.language-option.active{background:var(--primary-light, #e3f2fd);color:var(--primary, #1976d2)}.language-option .language-flag{font-size:18px}.language-option .language-name{flex:1}.language-check{color:var(--primary, #1976d2);font-weight:700}.language-overlay{position:fixed;inset:0;z-index:999}@media (prefers-color-scheme: dark){.language-selector-button{background:var(--bg-secondary, #2a2a2a);border-color:var(--border-color, #444);color:var(--text-primary, #fff)}.language-selector-button:hover{background:var(--bg-hover, #333);border-color:var(--border-hover, #555)}.language-dropdown{background:var(--bg-primary, #1e1e1e);border-color:var(--border-color, #444)}.language-dropdown-header{background:var(--bg-secondary, #2a2a2a);border-bottom-color:var(--border-color, #444);color:var(--text-secondary, #aaa)}.language-option{color:var(--text-primary, #fff)}.language-option:hover{background:var(--bg-hover, #333)}.language-option.active{background:var(--primary-dark, #1565c0);color:var(--primary-light, #90caf9)}.language-flag svg{stroke:var(--text-primary, #fff)}}@media (max-width: 768px){.language-selector-button{min-width:100px;padding:6px 10px;font-size:13px;width:100%;justify-content:center}.language-dropdown{min-width:200px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-width:90%;max-height:80%;overflow-y:auto}.language-option{padding:14px 16px}.language-overlay{background:#00000080;backdrop-filter:blur(5px)}}.landing-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#1a1a1af2;backdrop-filter:blur(10px);border-bottom:1px solid #333333;transition:all .3s ease}.landing-header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:70px}.landing-header-brand{display:flex;align-items:center}.landing-header-brand-text{display:none}.landing-header-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.landing-header-logo-icon{font-size:1.7rem;width:5em;height:5em;object-fit:contain}.landing-header-title{display:none}.landing-header-nav{display:flex;align-items:center}.landing-header-nav-list{display:flex;list-style:none;margin:0;padding:0;gap:2rem}.landing-header-nav-link{background:none;border:none;color:#ccc;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;transition:color .3s ease;position:relative}.landing-header-nav-link:hover{color:#fff}.landing-header-nav-link:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(135deg,#7877c6,#ff77c6);transform:scaleX(0);transition:transform .3s ease}.landing-header-nav-link:hover:after{transform:scaleX(1)}.landing-header-actions{display:flex;align-items:center;gap:1rem}.landing-header-mobile-right{display:none;align-items:center;gap:.5rem}.landing-header-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.landing-header-btn-primary{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;box-shadow:0 2px 10px #7877c64d}.landing-header-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 15px #7877c666}.landing-header-btn-secondary{background:transparent;color:#ccc;border:1px solid #444444}.landing-header-btn-secondary:hover{background:#444;border-color:#666;color:#fff;transform:translateY(-1px)}.landing-header-btn-tertiary{background:none;color:#ccc;border:none;padding:.5rem 0;transition:color .3s ease;position:relative}.landing-header-btn-tertiary:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(135deg,#7877c6,#ff77c6);transform:scaleX(0);transition:transform .3s ease}.landing-header-btn-tertiary:hover{color:#fff}.landing-header-btn-tertiary:hover:after{transform:scaleX(1)}.landing-header-mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;z-index:1001}.landing-header-hamburger{display:flex;flex-direction:column;width:24px;height:18px;position:relative}.landing-header-hamburger span{display:block;height:2px;width:100%;background:#ccc;border-radius:1px;transition:all .3s ease;transform-origin:center}.landing-header-hamburger span:nth-child(1){position:absolute;top:0}.landing-header-hamburger span:nth-child(2){position:absolute;top:50%;transform:translateY(-50%)}.landing-header-hamburger span:nth-child(3){position:absolute;bottom:0}.landing-header-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.landing-header-hamburger.open span:nth-child(2){opacity:0}.landing-header-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.landing-header-mobile-menu{position:absolute;top:100%;left:0;right:0;background:#1a1a1afa;backdrop-filter:blur(10px);border-bottom:1px solid #333333;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease}.landing-header-mobile-menu.open{transform:translateY(0);opacity:1;visibility:visible}.landing-header-mobile-nav{padding:2rem}.landing-header-mobile-nav-list{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-direction:column;gap:1rem}.landing-header-mobile-nav-link{background:none;border:none;color:#ccc;font-size:1.1rem;font-weight:500;cursor:pointer;padding:1rem 0;text-align:left;width:100%;transition:color .3s ease;border-bottom:1px solid #333333}.landing-header-mobile-nav-link:hover{color:#fff}.landing-header-mobile-actions{display:flex;flex-direction:column;gap:1rem}.landing-header-mobile-btn{padding:1rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.landing-header-mobile-btn-primary{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;box-shadow:0 2px 10px #7877c64d}.landing-header-mobile-btn-primary:hover{box-shadow:0 4px 15px #7877c666}.landing-header-mobile-btn-secondary{background:transparent;color:#ccc;border:1px solid #444444}.landing-header-mobile-btn-secondary:hover{background:#444;border-color:#666;color:#fff}.landing-header-mobile-btn-tertiary{background:#667eea1a;color:#667eea;border:1px solid rgba(102,126,234,.3)}.landing-header-mobile-btn-tertiary:hover{background:#667eea33;border-color:#667eea;color:#fff}.landing-header-mobile-user{display:flex;justify-content:center;padding:1rem 0}.landing-header-mobile-language{width:100%;display:flex;justify-content:center;padding:1rem 0;border-top:1px solid #333333}.landing-header-mobile-btn-projects{background:#333;color:#aaa;border:1px solid #444444;transition:all .3s ease}.landing-header-mobile-btn-projects:hover{background:#444;color:#ccc;border-color:#555;box-shadow:0 2px 10px #0003}.landing-header-loading,.landing-header-mobile-loading{display:flex;justify-content:center;align-items:center;padding:.5rem}.loading-spinner{width:20px;height:20px;border:2px solid #4b5563;border-top:2px solid #60a5fa;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.landing-header-container{padding:0 1rem;height:60px}.landing-header-nav,.landing-header-actions{display:none}.landing-header-mobile-right{display:flex}.landing-header-mobile-toggle{display:block}.landing-header-title{font-size:1.3rem;display:none}.landing-header-logo-icon{font-size:1.7rem;width:6em;height:6em}.landing-header-mobile-actions{gap:0}}@media (max-width: 480px){.landing-header-container{padding:0 1rem}.landing-header-mobile-nav{padding:1.5rem}.landing-header-title{font-size:1.2rem}}.landing-header.scrolled{background:#1a1a1afa;box-shadow:0 2px 20px #0000004d}.landing-header-nav-link:focus,.landing-header-btn:focus,.landing-header-mobile-nav-link:focus,.landing-header-mobile-btn:focus{outline:none}.hero-section{min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;display:flex;align-items:center;padding:6rem 0 2rem;position:relative;overflow-x:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.1) 0%,transparent 50%);pointer-events:none}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;gap:4rem;align-items:center;position:relative;z-index:1}.hero-content{display:flex;flex-direction:column;gap:2rem;flex:1}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.1;margin:0;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title-accent{background:linear-gradient(135deg,#7877c6,#ff77c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;line-height:1.6;color:#ccc;margin:0}.hero-features{display:flex;flex-direction:column;gap:.75rem;margin-top:10px}.hero-feature{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:#e0e0e0}.hero-feature-icon{font-size:1.25rem}.hero-actions{display:flex;gap:1rem;margin-top:1rem}.hero-btn{padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:140px}.hero-btn-primary{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;box-shadow:0 4px 15px #7877c64d}.hero-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7877c666}.hero-btn-secondary{background:transparent;color:#fff;border:2px solid #444444}.hero-btn-secondary:hover{background:#444;border-color:#666;transform:translateY(-2px)}.hero-visual{display:flex;justify-content:center;align-items:center;flex:1}.hero-demo-container{perspective:1000px;transform:rotateY(-5deg) rotateX(5deg)}.hero-demo-screen{background:#2a2a2a;border-radius:12px;box-shadow:0 20px 40px #0000004d;overflow:hidden;width:500px;height:350px;border:1px solid #444444}.demo-header{background:#1e1e1e;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #444444}.demo-controls{display:flex;gap:.5rem}.demo-control{width:12px;height:12px;border-radius:50%}.demo-control-red{background:#ff5f56}.demo-control-yellow{background:#ffbd2e}.demo-control-green{background:#27ca3f}.demo-title{color:#ccc;font-size:.9rem;font-weight:500}.hero-demo-screen .demo-content{padding:1rem;height:calc(100% - 60px);overflow:hidden;display:block!important;grid-template-columns:none!important;gap:0!important}.demo-grid{display:flex;flex-direction:column;gap:2px;height:100%}.demo-string{display:flex;gap:2px;height:calc(100% / 6);align-items:center}.demo-cell{flex:1;height:100%;background:#333;border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative}.demo-note{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;font-size:.75rem;font-weight:600;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@media (max-width: 768px){.hero-section{padding:calc(60px + 2rem) 0 2rem 0;min-height:100vh;overflow-x:hidden;overflow-y:visible}.hero-container{display:flex;flex-direction:column;gap:2rem;text-align:center;padding:0 1rem;max-width:100%}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-features{align-items:center}.hero-actions{justify-content:center;margin-top:1.5rem}.hero-visual{margin-top:1.5rem;overflow:visible;width:100%;padding:0}.hero-demo-screen{width:min(85vw,380px);height:280px}.hero-demo-container{transform:none;width:100%}.demo-content{padding:.75rem}.demo-grid,.demo-string{gap:2px}}@media (max-width: 480px){.hero-section{padding:calc(56px + 1.5rem) 0 1rem 0;min-height:100vh;overflow-x:hidden;overflow-y:visible}.hero-container{padding:0 1rem;gap:1.5rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-features{align-items:center}.hero-actions{flex-direction:column;align-items:center}.hero-btn{width:100%;max-width:280px;padding:.9rem 1.5rem;font-size:1rem}.hero-demo-screen{width:min(90vw,320px);height:240px}.demo-content{padding:.5rem}.demo-note{width:18px;height:18px;font-size:.7rem}}.features-section{padding:6rem 0;background:#1e1e1e;color:#fff}.features-container{max-width:1200px;margin:0 auto;padding:0 2rem}.features-header{text-align:center;margin-bottom:4rem}.features-title{font-size:2.5rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.features-subtitle{font-size:1.2rem;color:#ccc;max-width:600px;margin:0 auto;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.feature-card{background:#2a2a2a;padding:2rem;border-radius:12px;border:1px solid #444444;transition:all .3s ease;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(135deg,#7877c6,#ff77c6);opacity:0;transition:opacity .3s ease}.feature-card:hover{transform:translateY(-5px);border-color:#666;box-shadow:0 10px 30px #0000004d}.feature-card:hover:before{opacity:1}.feature-icon{font-size:3rem;margin-bottom:1rem;display:block}.feature-title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:#fff}.feature-description{font-size:1rem;line-height:1.6;color:#ccc;margin:0}.feature-content{display:flex;flex-direction:column}@media (max-width: 768px){.features-section{padding:3rem 0}.features-container{padding:0 1rem}.features-header{margin-bottom:2.5rem}.features-title{font-size:2rem}.features-subtitle{font-size:1.1rem}.features-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.feature-card{padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:auto}.feature-icon{font-size:2rem;margin-bottom:.75rem}.feature-title{font-size:1.1rem;margin-bottom:.5rem;line-height:1.3}.feature-description{font-size:.9rem;line-height:1.4}}@media (max-width: 480px){.features-section{padding:2.5rem 0}.features-container{padding:0 .75rem}.features-header{margin-bottom:2rem}.features-title{font-size:1.75rem}.features-subtitle{font-size:1rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1rem;display:flex;flex-direction:row;align-items:flex-start;text-align:left;gap:1rem}.feature-icon{font-size:1.75rem;margin-bottom:0;flex-shrink:0;margin-top:.25rem}.feature-content{flex:1}.feature-title{font-size:1rem;margin-bottom:.5rem;line-height:1.2}.feature-description{font-size:.85rem;line-height:1.3}}.demo-section{padding:6rem 0;background:#1a1a1a;color:#fff}.demo-container{max-width:1200px;margin:0 auto;padding:0 2rem}.demo-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.demo-text{display:flex;flex-direction:column;gap:1.5rem}.demo-title{font-size:2.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.demo-subtitle{font-size:1.2rem;line-height:1.6;color:#ccc;margin:0}.demo-features{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.demo-feature{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:#e0e0e0}.demo-feature-check{color:#27ca3f;font-weight:700;font-size:1.1rem}.demo-cta-btn{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;align-self:flex-start;box-shadow:0 4px 15px #7877c64d}.demo-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7877c666}.demo-visual{display:flex;justify-content:center;align-items:center}.demo-screen-container{perspective:1000px;transform:rotateY(5deg) rotateX(-5deg)}.demo-screen{background:#2a2a2a;border-radius:12px;box-shadow:0 20px 40px #0000004d;overflow:hidden;width:550px;height:400px;border:1px solid #444444}.demo-screen-header{background:#1e1e1e;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #444444}.demo-screen-controls{display:flex;gap:.5rem}.demo-screen-control{width:12px;height:12px;border-radius:50%}.demo-screen-control-red{background:#ff5f56}.demo-screen-control-yellow{background:#ffbd2e}.demo-screen-control-green{background:#27ca3f}.demo-screen-title{color:#ccc;font-size:.9rem;font-weight:500}.demo-screen-content{padding:1rem;height:calc(100% - 60px);display:flex;flex-direction:column;gap:1rem}.demo-toolbar{display:flex;gap:.5rem;padding:.5rem;background:#333;border-radius:6px}.demo-tool{padding:.5rem;background:#444;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s ease}.demo-tool:hover{background:#555}.demo-editor{flex:1;display:flex;flex-direction:column;gap:1rem}.demo-pattern-grid{display:flex;gap:.5rem}.demo-pattern{padding:.5rem 1rem;background:#333;border-radius:6px;font-size:.9rem;color:#ccc;cursor:pointer;transition:all .2s ease}.demo-pattern-active{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff}.demo-pattern:not(.demo-pattern-active):hover{background:#444}.demo-tab-editor{flex:1;display:flex;flex-direction:column;gap:1px;background:#333;padding:.5rem;border-radius:6px}.demo-tab-string{display:flex;align-items:center;gap:.5rem;height:30px}.demo-string-label{width:20px;text-align:center;font-weight:700;color:#ccc;font-size:.9rem}.demo-string-line{flex:1;display:flex;gap:1px;height:100%}.demo-tab-cell{flex:1;background:#444;border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative}.demo-tab-note{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;font-size:.8rem;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:glow 2s infinite}@keyframes glow{0%,to{box-shadow:0 0 5px #7877c680}50%{box-shadow:0 0 15px #7877c6cc}}@media (max-width: 768px){.demo-section{padding:4rem 0 3rem;overflow:visible}.demo-container{padding:0 1rem;max-width:100%}.demo-content{grid-template-columns:1fr;gap:2rem;text-align:center}.demo-title{font-size:2.2rem}.demo-subtitle{font-size:1.1rem}.demo-features{align-items:center}.demo-cta-btn{align-self:center;padding:1rem 2rem;font-size:1.1rem}.demo-visual{overflow:visible;width:100%;padding:0}.demo-screen{width:min(85vw,420px);height:380px}.demo-screen-container{transform:none;width:100%}.demo-screen-content{padding:.75rem;gap:.75rem}.demo-toolbar{padding:.5rem;gap:.5rem}.demo-tool{padding:.5rem;font-size:1rem}.demo-pattern{padding:.5rem .75rem;font-size:.9rem}}@media (max-width: 480px){.demo-section{padding:3rem 0 2rem}.demo-container{padding:0 1rem}.demo-content{gap:1.5rem}.demo-title{font-size:1.8rem}.demo-subtitle{font-size:1rem}.demo-features{align-items:center}.demo-cta-btn{padding:.9rem 1.8rem;font-size:1rem}.demo-screen{width:min(90vw,350px);height:320px}.demo-screen-content{padding:.5rem;gap:.5rem}.demo-tab-string{height:24px}.demo-string-label{width:16px;font-size:.8rem}.demo-tab-note{width:14px;height:14px;font-size:.7rem}.demo-pattern{padding:.4rem .6rem;font-size:.8rem}.demo-tool{padding:.4rem;font-size:.9rem}}.payment-success-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10002;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlayFadeIn .5s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.payment-success-modal{background:linear-gradient(135deg,#0f0f0f,#1a1a1a);border:1px solid rgba(102,126,234,.3);border-radius:20px;box-shadow:0 25px 50px -12px #000c,0 0 0 1px #667eea1a,inset 0 1px #ffffff1a;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideUp .6s cubic-bezier(.34,1.56,.64,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.confetti-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:20px}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confettiFall 3s linear infinite}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.success-content{padding:40px;text-align:center}.success-icon{margin-bottom:32px}.checkmark-circle{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);margin:0 auto;display:flex;align-items:center;justify-content:center;position:relative;animation:checkmarkBounce .8s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 10px 30px #10b98166,inset 0 1px #fff3}@keyframes checkmarkBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.checkmark{width:24px;height:24px;position:relative}.checkmark:after{content:"";position:absolute;left:8px;top:4px;width:6px;height:12px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg);animation:checkmarkDraw .5s ease-in-out .3s both}@keyframes checkmarkDraw{0%{height:0}to{height:12px}}.success-header{margin-bottom:32px}.success-header h2{font-size:32px;font-weight:700;color:#f9fafb;margin:0 0 12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-header p{font-size:18px;color:#d1d5db;margin:0}.subscription-details{margin-bottom:32px}.plan-card{background:#ffffff08;border:1px solid rgba(102,126,234,.2);border-radius:16px;padding:24px;text-align:left;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.plan-header h3{font-size:24px;font-weight:700;color:#f9fafb;margin:0}.plan-price{display:flex;align-items:baseline;gap:4px}.plan-price .price{font-size:28px;font-weight:700;color:#10b981}.plan-price .billing{font-size:16px;color:#9ca3af}.savings-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600;white-space:nowrap}.plan-features h4{font-size:18px;font-weight:600;color:#f9fafb;margin:0 0 16px}.plan-features ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.plan-features li{display:flex;align-items:center;gap:12px;color:#d1d5db;font-size:16px}.feature-check{font-size:18px;flex-shrink:0}.next-steps{margin-bottom:32px}.next-steps h4{font-size:20px;font-weight:600;color:#f9fafb;margin:0 0 12px}.next-steps p{font-size:16px;color:#d1d5db;margin:0 0 24px}.next-steps strong{color:#667eea;font-weight:700}.action-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.redirect-button{padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;min-width:140px}.redirect-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 10px 20px #667eea4d}.redirect-button.primary:hover{transform:translateY(-2px);box-shadow:0 15px 30px #667eea66}.redirect-button.secondary{background:#ffffff1a;color:#d1d5db;border:1px solid rgba(255,255,255,.2)}.redirect-button.secondary:hover{background:#ffffff26;color:#f9fafb;transform:translateY(-1px)}.success-footer{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);gap:24px;flex-wrap:wrap}.support-info,.guarantee{display:flex;align-items:center;gap:8px}.support-info p,.guarantee p{font-size:14px;color:#9ca3af;margin:0;display:flex;align-items:center;gap:8px}.support-icon,.guarantee-icon{font-size:16px}@media (max-width: 768px){.payment-success-modal{margin:16px;width:calc(100% - 32px)}.success-content{padding:24px}.success-header h2{font-size:24px}.plan-header{flex-direction:column;align-items:flex-start}.action-buttons{flex-direction:column}.redirect-button{width:100%}.success-footer{flex-direction:column;text-align:center;gap:16px}.plan-features ul{grid-template-columns:1fr}}@media (max-width: 480px){.checkmark-circle{width:60px;height:60px}.checkmark{width:18px;height:18px}.checkmark:after{left:6px;top:3px;width:4px;height:9px;border-width:0 2px 2px 0}.plan-card{padding:16px}}.payment-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;backdrop-filter:blur(4px)}.payment-modal{background:#1a1a1a;border:1px solid #374151;border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;animation:modalSlideIn .3s ease-out}.payment-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid #374151;margin-bottom:24px}.payment-modal-header h2{font-size:20px;font-weight:600;color:#f9fafb;margin:0}.payment-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.payment-modal-close:hover{background-color:#374151;color:#f3f4f6}.payment-modal-content{padding:0 24px 24px}.plan-summary{margin-bottom:24px}.plan-info{text-align:center;margin-bottom:24px;padding:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px}.plan-info h3{font-size:18px;font-weight:600;color:#f9fafb;margin:0 0 8px}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:8px}.plan-price .price{font-size:32px;font-weight:700;color:#f9fafb}.plan-price .billing-cycle{font-size:16px;color:#9ca3af}.savings-badge{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-features{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:20px}.plan-features h4{font-size:14px;font-weight:600;color:#f9fafb;margin:0 0 16px}.plan-features ul{list-style:none;padding:0;margin:0}.plan-features li{display:flex;align-items:center;gap:12px;padding:8px 0;color:#d1d5db;font-size:14px}.feature-check{color:#10b981;font-weight:600;font-size:16px;flex-shrink:0}.payment-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:14px;margin-bottom:24px}.payment-actions{display:flex;gap:12px;margin-bottom:24px}.payment-cancel-btn{flex:1;background:transparent;color:#d1d5db;border:2px solid #374151;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.payment-cancel-btn:hover:not(:disabled){background-color:#374151;border-color:#4b5563;color:#f9fafb}.payment-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.payment-checkout-btn{flex:2;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:200px;height:48px}.checkout-btn-content{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.checkout-btn-text{white-space:nowrap}.payment-checkout-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.payment-checkout-btn:disabled{opacity:.8;cursor:not-allowed;transform:none}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.payment-security{text-align:center;color:#9ca3af}.security-info{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;margin-bottom:12px}.security-icon{font-size:16px}.payment-terms{font-size:12px;line-height:1.5;color:#6b7280}@media (max-width: 640px){.payment-modal{margin:16px;width:calc(100% - 32px)}.payment-modal-header,.payment-modal-content{padding-left:16px;padding-right:16px}.payment-actions{flex-direction:column}.payment-cancel-btn,.payment-checkout-btn{flex:none}}.payment-modal.updating{max-width:400px;text-align:center}.updating-content{padding:40px}.updating-spinner{width:60px;height:60px;border:4px solid rgba(102,126,234,.2);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}.updating-content h3{font-size:24px;font-weight:700;color:#f9fafb;margin:0 0 12px}.updating-content p{font-size:16px;color:#9ca3af;margin:0}.pricing-section{padding:6rem 0;background:#1e1e1e;color:#fff}.pricing-container{max-width:1200px;margin:0 auto;padding:0 2rem}.pricing-header{text-align:center;margin-bottom:4rem}.pricing-title{font-size:2.5rem;font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pricing-subtitle{font-size:1.2rem;color:#ccc;margin:0 0 2rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.pricing-toggle{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.pricing-toggle-label{font-size:1rem;font-weight:600;color:#ccc;transition:color .3s ease;display:flex;align-items:center;gap:.5rem;user-select:none;line-height:1;white-space:nowrap}.pricing-toggle-label.active{color:#fff}.pricing-toggle-discount{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;font-size:.8rem;padding:.25rem .5rem;border-radius:12px;font-weight:600;display:inline-flex;align-items:center;line-height:1}.pricing-toggle-switch{position:relative;width:60px;height:30px;background:#444;padding:0;border:none;border-radius:15px;cursor:pointer;transition:background .3s ease;appearance:none;-webkit-appearance:none;overflow:hidden;line-height:0}.pricing-toggle-switch:hover{background:#555}.pricing-toggle-slider{position:absolute;top:50%;left:0;width:24px;height:24px;background:linear-gradient(135deg,#7877c6,#ff77c6);border-radius:50%;transition:transform .3s ease;will-change:transform;transform:translate3d(3px,-50%,0)}.pricing-toggle-slider.monthly{transform:translate3d(3px,-50%,0)}.pricing-toggle-slider.yearly{transform:translate3d(33px,-50%,0)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.pricing-card{background:#2a2a2a;border:1px solid #444444;border-radius:12px;padding:2rem;position:relative;transition:all .3s ease;display:flex;flex-direction:column}.pricing-card:hover{transform:translateY(-5px);border-color:#666;box-shadow:0 10px 30px #0000004d}.pricing-card.popular{border-color:#7877c6;box-shadow:0 0 20px #7877c633}.pricing-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;z-index:10}.pricing-card-header{text-align:center;margin-bottom:2rem}.pricing-card-name{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:#fff}.pricing-card-price{display:flex;align-items:baseline;justify-content:center;margin-bottom:.5rem}.pricing-price-currency{font-size:1.5rem;color:#ccc}.pricing-price-amount{font-size:3rem;font-weight:700;color:#fff}.pricing-price-period{font-size:1rem;color:#ccc;margin-left:.5rem}.pricing-monthly-equivalent{font-size:.9rem;color:#999;margin-bottom:.5rem}.pricing-card-description{font-size:1rem;color:#ccc;margin:0}.pricing-card-features{flex:1;margin-bottom:2rem}.pricing-features-list{list-style:none;padding:0;margin:0}.pricing-feature{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:1rem;color:#e0e0e0}.pricing-feature-check{color:#27ca3f;font-weight:700;font-size:1.1rem;flex-shrink:0}.pricing-card-footer{margin-top:auto}.pricing-cta-btn{width:100%;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.pricing-cta-btn.primary{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;box-shadow:0 4px 15px #7877c64d}.pricing-cta-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7877c666}.pricing-cta-btn.secondary{background:transparent;color:#fff;border:2px solid #444444}.pricing-cta-btn.secondary:hover{background:#444;border-color:#666;transform:translateY(-2px)}.pricing-footer{text-align:center;padding-top:2rem;border-top:1px solid #444444}.pricing-footer-text{font-size:.9rem;color:#999;margin:0;line-height:1.6}@media (max-width: 768px){.pricing-section{padding:3rem 0}.pricing-container{padding:0 1rem}.pricing-header{margin-bottom:3rem}.pricing-title{font-size:2rem}.pricing-subtitle{font-size:1.1rem;margin-bottom:1.5rem}.pricing-toggle{flex-direction:column;gap:1rem;margin-top:1.5rem}.pricing-toggle-label{font-size:.95rem}.pricing-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.pricing-card{padding:1.75rem;border-radius:16px;box-shadow:0 4px 20px #0003}.pricing-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d}.pricing-card.popular{transform:scale(1.02);border-width:2px}.pricing-card.popular:hover{transform:scale(1.02) translateY(-3px)}.pricing-card-header{margin-bottom:1.5rem}.pricing-card-name{font-size:1.4rem;margin-bottom:.75rem}.pricing-price-amount{font-size:2.5rem}.pricing-card-features{margin-bottom:1.5rem}.pricing-feature{padding:.4rem 0;font-size:.95rem}.pricing-cta-btn{padding:1rem 1.5rem;font-size:1rem;border-radius:10px}}@media (max-width: 480px){.pricing-section{padding:2.5rem 0}.pricing-container{padding:0 .75rem}.pricing-header{margin-bottom:2.5rem}.pricing-title{font-size:1.75rem}.pricing-subtitle{font-size:1rem;margin-bottom:1.25rem}.pricing-toggle{gap:.75rem;margin-top:1.25rem}.pricing-toggle-label{font-size:.9rem}.pricing-toggle-switch{width:50px;height:26px}.pricing-toggle-slider{width:20px;height:20px}.pricing-toggle-slider.monthly{transform:translate3d(3px,-50%,0)}.pricing-toggle-slider.yearly{transform:translate3d(27px,-50%,0)}.pricing-grid{gap:1.25rem;margin-bottom:1.5rem}.pricing-card{padding:1.5rem;border-radius:14px;margin:0 auto;max-width:350px}.pricing-badge{font-size:.8rem;padding:.4rem .8rem;border-radius:16px;top:-6px}.pricing-card-name{font-size:1.25rem;margin-bottom:.5rem}.pricing-price-amount{font-size:2.25rem}.pricing-price-currency{font-size:1.25rem}.pricing-price-period{font-size:.9rem}.pricing-monthly-equivalent{font-size:.8rem}.pricing-card-description{font-size:.9rem}.pricing-feature{padding:.35rem 0;font-size:.9rem}.pricing-feature-check{font-size:1rem}.pricing-cta-btn{padding:.9rem 1.25rem;font-size:.95rem;border-radius:8px}.pricing-footer-text{font-size:.85rem;padding:0 1rem}}.pricing-carousel{width:100%;position:relative}.pricing-carousel-container{overflow:visible;position:relative;margin-top:1rem;padding:0 1rem}.pricing-carousel-viewport{overflow:hidden;border-radius:16px;position:relative}.pricing-carousel-track{display:flex;transition:transform .4s cubic-bezier(.25,.46,.45,.94);will-change:transform;position:relative;padding-left:7.5%;padding-right:7.5%}.pricing-carousel .pricing-card{flex:0 0 85%;max-width:none;width:85%;box-sizing:border-box;margin-top:1rem;margin-right:7.5%;opacity:.6;transform:scale(.95);transition:all .4s ease}.pricing-carousel .pricing-card.active{opacity:1;transform:scale(1)}.pricing-carousel-container:before,.pricing-carousel-container:after{content:"";position:absolute;top:0;bottom:0;width:2rem;z-index:5;pointer-events:none}.pricing-carousel-container:before{left:0;background:linear-gradient(to right,#1e1e1e,transparent)}.pricing-carousel-container:after{right:0;background:linear-gradient(to left,#1e1e1e,transparent)}.pricing-carousel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:0 1rem}.pricing-carousel-indicator{width:24px;height:3px;background:#fff3;border-radius:2px;cursor:pointer;transition:all .3s ease}.pricing-carousel-indicator.active{background:linear-gradient(135deg,#7877c6,#ff77c6);transform:scaleX(1.2)}.pricing-carousel-indicator:hover:not(.active){background:#fff6}@media (max-width: 768px){.pricing-carousel-container{touch-action:pan-x;-webkit-overflow-scrolling:touch}.pricing-carousel-track{cursor:grab}.pricing-carousel-track:active{cursor:grabbing}}.pricing-swipe-hint{text-align:center;margin-top:1rem;opacity:.7;animation:fadeInOut 3s ease-in-out infinite}.pricing-swipe-hint span{font-size:.85rem;color:#999;font-style:italic}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:.8}}@media (max-width: 480px){.pricing-carousel-container{padding:0 .5rem}.pricing-carousel-track{padding-left:5%;padding-right:5%}.pricing-carousel .pricing-card{flex:0 0 90%;width:90%;margin-right:5%}.pricing-carousel-container:before,.pricing-carousel-container:after{width:1.5rem}.pricing-carousel-indicators{margin-top:1.25rem;gap:.4rem}.pricing-carousel-indicator{width:20px;height:2px}.pricing-swipe-hint{margin-top:.75rem}.pricing-swipe-hint span{font-size:.8rem}}.footer-section{background:#1a1a1a;color:#fff;padding:4rem 0 2rem;border-top:1px solid #333333}.footer-container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer-content{display:grid;grid-template-columns:1fr 2fr;gap:4rem;margin-bottom:3rem}.footer-brand{display:flex;flex-direction:column;gap:1.5rem}.footer-logo{display:flex;align-items:center;gap:1rem}.footer-logo-icon{font-size:2rem}.footer-brand-text{display:flex;flex-direction:column;gap:.25rem}.footer-brand-title{font-size:1.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#7877c6,#ff77c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-brand-subtitle{font-size:.9rem;color:#ccc;margin:0}.footer-description{font-size:1rem;line-height:1.6;color:#ccc;margin:0;max-width:300px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;text-align:right}.footer-column{display:flex;flex-direction:column;gap:1rem}.footer-column-title{font-size:1.1rem;font-weight:600;margin:0;color:#fff}.footer-link-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.footer-link{color:#ccc;text-decoration:none;font-size:.95rem;transition:color .3s ease}.footer-link:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid #333333}.footer-contact{display:flex;align-items:center;gap:.5rem;color:#999;font-size:.9rem}.footer-contact-email{color:#ccc;text-decoration:none;transition:color .3s ease}.footer-contact-email:hover{color:#fff}.footer-copyright{color:#999;font-size:.9rem}.footer-copyright p{margin:0}.footer-social{display:flex;gap:1rem}.footer-social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#333;border-radius:50%;text-decoration:none;transition:all .3s ease}.footer-social-link:hover{background:#444;transform:translateY(-2px)}.footer-social-link span{font-size:1.2rem}@media (max-width: 768px){.footer-section{padding:2.5rem 0 1.5rem}.footer-container{padding:0 1rem}.footer-content{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-brand{text-align:center;gap:1rem}.footer-description{max-width:none;font-size:.95rem}.footer-links{grid-template-columns:repeat(2,1fr);gap:1.5rem}.footer-column{gap:.75rem}.footer-column-title{font-size:1rem}.footer-link-list{gap:.5rem}.footer-link{font-size:.9rem}.footer-bottom{flex-direction:column;gap:1rem;text-align:center;padding-top:1.5rem}.footer-contact{margin-top:.5rem;flex-direction:column;align-items:center;gap:.25rem}.footer-contact-email{font-size:.85rem}}@media (max-width: 480px){.footer-section{padding:2rem 0 1rem}.footer-container{padding:0 .75rem}.footer-content{gap:1.5rem;margin-bottom:1.5rem}.footer-brand{gap:.75rem}.footer-logo{flex-direction:row;justify-content:center;gap:.75rem}.footer-brand-text{align-items:flex-start;text-align:left}.footer-brand-title{font-size:1.3rem}.footer-description{font-size:.9rem;line-height:1.5}.footer-links{grid-template-columns:repeat(2,1fr);gap:1.25rem}.footer-column{gap:.5rem}.footer-column-title{font-size:.95rem;margin-bottom:.25rem}.footer-link-list{gap:.4rem}.footer-link{font-size:.85rem}.footer-bottom{padding-top:1rem;gap:.75rem}.footer-copyright{font-size:.8rem}.footer-social{justify-content:center}.footer-social-link{width:36px;height:36px}.footer-social-link span{font-size:1.1rem}}.landing-page{min-height:100vh;background:#1a1a1a;color:#fff;overflow-x:hidden;overflow-y:auto}.landing-page *{box-sizing:border-box}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page h4,.landing-page h5,.landing-page h6,.landing-page p,.landing-page span,.landing-page div{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.landing-page{scroll-behavior:smooth}.landing-page section{position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.landing-page .animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .6s ease}.landing-page .animate-on-scroll.visible{opacity:1;transform:translateY(0)}.landing-page button:focus,.landing-page a:focus{outline:none}.landing-page ::selection{background:#7877c64d;color:#fff}.landing-page::-webkit-scrollbar{width:8px}.landing-page::-webkit-scrollbar-track{background:#1a1a1a}.landing-page::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.landing-page::-webkit-scrollbar-thumb:hover{background:#666}.usage-limit-warning{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;backdrop-filter:blur(4px)}.usage-limit-warning__content{background:#1a1a1a;border:1px solid #374151;border-radius:12px;padding:32px;max-width:480px;width:100%;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;display:flex;flex-direction:column;align-items:center;text-align:center;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.usage-limit-warning__icon{width:64px;height:64px;background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;color:#f59e0b}.usage-limit-warning__text h3{font-size:20px;font-weight:600;color:#f9fafb;margin:0 0 12px}.usage-limit-warning__text p{font-size:16px;color:#d1d5db;line-height:1.5;margin:0 0 32px}.usage-limit-warning__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.usage-limit-warning__upgrade-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.usage-limit-warning__upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.usage-limit-warning__close-btn{background:transparent;color:#d1d5db;border:2px solid #374151;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.usage-limit-warning__close-btn:hover{background-color:#374151;border-color:#4b5563;color:#f9fafb}@media (max-width: 640px){.usage-limit-warning{padding:16px}.usage-limit-warning__content{padding:24px}.usage-limit-warning__actions{flex-direction:column;width:100%}.usage-limit-warning__upgrade-btn,.usage-limit-warning__close-btn{width:100%}}.usage-dashboard{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.usage-dashboard__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#9ca3af}.loading-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.usage-dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.usage-dashboard__header h3{font-size:18px;font-weight:600;color:#f9fafb;margin:0}.usage-dashboard__plan-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.usage-dashboard__stats{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.usage-stat{display:flex;flex-direction:column;gap:12px}.usage-stat__header{display:flex;align-items:center;gap:12px}.usage-stat__icon{width:40px;height:40px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.usage-stat__info h4{font-size:14px;font-weight:600;color:#f9fafb;margin:0 0 4px}.usage-stat__info p{font-size:16px;font-weight:700;color:#d1d5db;margin:0}.usage-stat__progress{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:8px;background-color:#ffffff1a;border-radius:4px;overflow:hidden}.progress-bar__fill{height:100%;border-radius:4px;transition:all .3s ease}.usage-stat__percentage{font-size:12px;font-weight:600;color:#9ca3af;min-width:32px;text-align:right}.usage-dashboard__reset-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#9ca3af;font-size:14px}.usage-dashboard__reset-info svg{flex-shrink:0}@media (max-width: 640px){.usage-dashboard{padding:16px}.usage-dashboard__header{flex-direction:column;align-items:flex-start;gap:12px}.usage-stat__header{gap:8px}.usage-stat__icon{width:32px;height:32px}}.cancel-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;backdrop-filter:blur(4px)}.cancel-modal{background:#0f0f0f;border:1px solid #2a2a2a;border-radius:8px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #000c}.cancel-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #2a2a2a}.cancel-modal-header h3{font-size:18px;font-weight:600;color:#e5e5e5;margin:0}.cancel-modal-close{background:none;border:none;color:#666;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.cancel-modal-close:hover{background:#2a2a2a;color:#e5e5e5}.cancel-modal-content{padding:24px}.cancel-warning-icon{font-size:48px;text-align:center;margin-bottom:20px;opacity:.8}.cancel-modal-text{text-align:center}.cancel-modal-text>p{font-size:16px;color:#ccc;margin-bottom:24px;line-height:1.5}.cancel-details{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:16px;margin-bottom:24px;text-align:left}.cancel-detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.cancel-detail-item:not(:last-child){border-bottom:1px solid #333}.detail-label{color:#999;font-size:14px}.detail-value{color:#e5e5e5;font-weight:500;font-size:14px}.cancel-info-box{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:16px;text-align:left;margin-bottom:24px}.cancel-info-box p{color:#ccc;font-weight:600;margin:0 0 12px;font-size:14px}.cancel-info-box ul{margin:0;padding-left:20px;color:#999}.cancel-info-box li{margin-bottom:8px;font-size:14px;line-height:1.4}.cancel-info-box li:last-child{margin-bottom:0}.cancel-error-message{background:#2a1a1a;border:1px solid #4a2a2a;border-radius:6px;padding:12px 16px;margin-top:16px;display:flex;align-items:center;gap:8px;color:#f99;font-size:14px}.cancel-modal-actions{display:flex;gap:12px;padding:0 24px 24px}.cancel-modal-btn{flex:1;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.cancel-modal-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-modal-btn-secondary{background:#2a2a2a;color:#e5e5e5;border-color:#333}.cancel-modal-btn-secondary:hover:not(:disabled){background:#333;border-color:#444}.cancel-modal-btn-danger{background:#c33;color:#fff;border-color:#c33}.cancel-modal-btn-danger:hover:not(:disabled){background:#a22;border-color:#a22}@media (max-width: 640px){.cancel-modal-overlay{padding:16px}.cancel-modal{max-width:none}.cancel-modal-header{padding:16px 20px}.cancel-modal-content{padding:20px}.cancel-modal-actions{padding:0 20px 20px;flex-direction:column}.cancel-modal-btn{flex:none}}.subscription-manager{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}.subscription-manager__content-wrapper{max-width:1200px;margin:0 auto;padding:24px}.subscription-manager__header{text-align:center;margin-bottom:48px}.subscription-manager__header h2{font-size:32px;font-weight:700;color:#f9fafb;margin:0 0 8px}.subscription-manager__header p{font-size:18px;color:#9ca3af;margin:0}.subscription-manager__loading,.subscription-manager__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.subscription-manager__loading .loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.subscription-manager__content{display:flex;flex-direction:column;gap:48px}.subscription-section{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:32px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.subscription-section h3{font-size:24px;font-weight:600;color:#f9fafb;margin:0 0 24px}.current-plan-card{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px}.current-plan-info{flex:1}.current-plan-header{display:flex;align-items:center;gap:16px;margin-bottom:12px}.current-plan-header h4{font-size:20px;font-weight:600;color:#f9fafb;margin:0}.status-badge{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-badge.canceled{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.current-plan-price{display:flex;align-items:baseline;gap:4px;margin-bottom:8px}.price-free{font-size:24px;font-weight:700;color:#10b981}.current-plan-price .price{font-size:24px;font-weight:700;color:#f9fafb}.current-plan-price .billing-cycle{font-size:16px;color:#9ca3af}.billing-info{color:#9ca3af;font-size:14px}.billing-info p{margin:0}.current-plan-actions,.plan-actions{display:flex;gap:12px}.upgrade-btn,.portal-btn,.cancel-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.upgrade-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.portal-btn{background:#ffffff1a;color:#f9fafb;border:1px solid rgba(255,255,255,.2)}.portal-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.portal-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.cancel-btn:hover{background:#ef444433;border-color:#ef4444;color:#fff}.cancellation-notice{margin-top:8px;padding:12px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:6px;color:#fbbf24;font-size:14px;line-height:1.4}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.plan-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;transition:all .2s ease}.plan-card:hover{border-color:#fff3;transform:translateY(-2px)}.plan-header h4{font-size:18px;font-weight:600;color:#f9fafb;margin:0 0 16px}.plan-pricing{display:flex;justify-content:space-between;margin-bottom:20px}.plan-price{text-align:center}.plan-price .price{display:block;font-size:20px;font-weight:700;color:#f9fafb}.plan-price .billing{font-size:12px;color:#9ca3af}.plan-price.yearly .savings{display:block;font-size:10px;color:#10b981;font-weight:600;margin-top:2px}.plan-features ul{list-style:none;padding:0;margin:0 0 24px}.plan-features li{display:flex;align-items:center;gap:8px;padding:4px 0;color:#d1d5db;font-size:14px}.feature-check{color:#10b981;font-weight:600;flex-shrink:0}.plan-actions{display:flex;flex-direction:column;gap:8px}.plan-btn{padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#f9fafb}.plan-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.plan-btn.yearly{background:#10b9811a;border-color:#10b9814d;color:#10b981}.plan-btn.yearly:hover{background:#10b98133;border-color:#10b981}.billing-info-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;text-align:center}.billing-info-card p{color:#d1d5db;margin:0 0 20px;line-height:1.6}@media (max-width: 768px){.subscription-manager{padding:16px}.subscription-manager__header h2{font-size:24px}.subscription-manager__header p{font-size:16px}.subscription-section{padding:20px}.current-plan-card{flex-direction:column;align-items:flex-start;gap:20px}.current-plan-actions,.plan-actions{width:100%;flex-direction:column}.plans-grid{grid-template-columns:1fr}.plan-pricing{flex-direction:column;gap:12px}.plan-actions{flex-direction:column}}.project-manager{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#e8e8e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}.project-manager-header{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:70px;background:#1a1a1af2;backdrop-filter:blur(10px);border-bottom:1px solid #333333;transition:all .3s ease}.logo-icon{font-size:1.75rem}.logo span:last-child{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#7877c6,#ff77c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-nav a{color:#e8e8e8;text-decoration:none;font-weight:500;transition:color .2s ease}.header-nav a:hover{color:#fff}.header-right{display:flex;gap:1rem;align-items:center}.login-btn{background:none;color:#ccc;border:none;font-size:.95rem;font-weight:600;cursor:pointer;padding:.5rem 0;transition:color .3s ease;position:relative}.login-btn:hover{color:#fff}.login-btn:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(135deg,#7877c6,#ff77c6);transform:scaleX(0);transition:transform .3s ease}.login-btn:hover:after{transform:scaleX(1)}.signup-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;box-shadow:0 2px 10px #7877c64d}.signup-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #7877c666}.upgrade-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #f59e0b4d}.project-manager-content{display:flex;height:calc(100vh - 80px)}.sidebar{width:280px;background:#0000004d;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column}.sidebar-header{padding:2rem 1.5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-header h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:#fff}.new-project-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.new-project-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #667eea4d}.new-project-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.search-container{position:relative;margin-bottom:1rem}.search-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 2.5rem .75rem 1rem;color:#fff;font-size:.9rem;outline:none;transition:all .2s ease}.search-input::placeholder{color:#666}.search-input:focus{border-color:#667eea;background:#ffffff14;box-shadow:0 0 0 3px #667eea1a}.search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#666;font-size:.9rem;pointer-events:none}.project-list{flex:1;padding:1rem 0;overflow-y:auto}.project-item{padding:1rem 1.5rem;cursor:pointer;transition:all .2s ease;border-left:3px solid transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.project-item:hover{background:#ffffff0d}.project-item.selected{background:#667eea1a;border-left-color:#667eea}.project-info{display:flex;align-items:center;gap:.5rem;width:100%}.project-name{font-weight:500;color:#fff;font-size:.95rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-extension{display:none}.project-menu-container{position:relative}.drag-handle,.project-item:hover .drag-handle,.drag-handle:hover,.drag-handle:active,.drag-icon,.project-item .drag-handle[draggable=true]{display:none}.project-item.dragging{opacity:.6;transform:rotate(2deg) scale(1.02);z-index:1000;box-shadow:0 10px 30px #0006;background:#667eea1a;border:1px solid rgba(102,126,234,.3);transition:transform .2s ease,box-shadow .2s ease}.project-item.drag-over{background:#667eea26;border-left:3px solid #667eea;transform:scale(1.01);transition:all .2s ease}.project-item.drag-over:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#667eea,#764ba2);box-shadow:0 0 10px #667eea99}.project-item{transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease;position:relative}.project-list{position:relative;transition:background-color .2s ease}.project-list:after{content:"";position:absolute;inset:0;pointer-events:none;background:transparent;transition:background-color .2s ease;z-index:999}.project-list:has(.project-item.dragging):after{background:#0000000d}body.dragging{cursor:grabbing!important;user-select:none}body.dragging *{cursor:grabbing!important}body.dragging,body.dragging *{touch-action:none!important}.empty-sidebar{padding:2rem 1.5rem;text-align:center;color:#666}.empty-sidebar p{margin:0 0 1rem;font-size:.9rem}.empty-hint{font-size:.8rem!important;color:#555!important;margin-top:.5rem!important}.create-first-project-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.create-first-project-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #667eea4d}.create-first-project-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.main-content{flex:1;padding:2rem 3rem;overflow-y:auto}.content-header{margin-bottom:2rem}.open-project-label{color:#999;font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.project-title{margin:.5rem 0 0;font-size:2.5rem;font-weight:700;color:#fff;cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:8px;display:inline-block;position:relative}.project-title:hover{background:#ffffff0d;transform:translateY(-1px)}.project-title-editor{margin:.5rem 0 0}.project-title-input{font-size:2.5rem;font-weight:700;color:#fff;background:#ffffff1a;border:2px solid #667eea;border-radius:8px;padding:.25rem .5rem;outline:none;font-family:inherit;width:100%;max-width:600px;text-align:center}.project-title-input:focus{border-color:#4ade80;box-shadow:0 0 0 3px #4ade801a}.action-buttons{display:flex;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.action-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#e8e8e8}.action-btn:hover{transform:translateY(-1px);background:#ffffff1a;color:#fff}.edit-btn:hover{border-color:#4ade80;box-shadow:0 4px 15px #4ade8033}.share-btn:hover{border-color:#60a5fa;box-shadow:0 4px 15px #60a5fa33}.settings-btn:hover{border-color:#a78bfa;box-shadow:0 4px 15px #a78bfa33}.delete-btn{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.delete-btn:hover{background:#ef444433;border-color:#ef4444;box-shadow:0 4px 15px #ef444433;color:#fff}.project-details{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:2rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.project-description{margin-bottom:2rem}.project-description h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#fff}.project-description p{margin:0;color:#ccc;line-height:1.6;font-size:1rem}.project-metadata{display:flex;flex-direction:column;gap:1rem}.metadata-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.metadata-item:last-child{border-bottom:none}.metadata-label{color:#999;font-weight:500}.metadata-value{color:#fff;font-weight:600}.empty-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:#666}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-selection h3{margin:0 0 .5rem;font-size:1.5rem;color:#999}.empty-selection p{margin:0;color:#666}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 80px);gap:1.5rem}.loading-spinner{border:4px solid rgba(255,255,255,.1);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.sidebar{width:240px}.main-content{padding:1.5rem 2rem}.project-title{font-size:2rem}}@media (max-width: 768px){.project-manager-content{flex-direction:column;height:auto}.sidebar{width:100%;height:auto;max-height:70vh;display:flex;flex-direction:column}.sidebar-header{padding:.75rem 1rem;position:sticky;top:0;z-index:2;background:#00000080;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.08)}.project-list{flex:1;overflow-y:auto;padding:.5rem 0}.project-item{padding:1.1rem 1.25rem;-webkit-tap-highlight-color:rgba(102,126,234,.2);touch-action:manipulation;user-select:none}.project-item:active{background:#667eea26;transform:scale(.98);transition:all .1s ease}.project-item.selected{background:#667eea26;border-left-color:#667eea;box-shadow:0 2px 8px #667eea33}.project-name{font-size:1.05rem}.main-content{padding:1rem}.action-buttons{flex-direction:column}.action-btn{width:100%;text-align:center}.header-nav{display:none}.project-manager-header{padding:1rem}}@media (max-width: 480px){.sidebar{max-height:75vh}.project-item{padding:1.15rem 1.25rem}.project-name{font-size:1.1rem}}.instrument-selector{width:100%}.instrument-selector .form-group{margin-bottom:20px}.instrument-selector .form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:.875rem}.instrument-dropdown,.instrument-selector input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s ease;background-color:#fff}.instrument-dropdown:focus,.instrument-selector input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.instrument-dropdown:disabled,.instrument-selector input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.instrument-selector input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.instrument-selector .error-message{display:block;margin-top:4px;font-size:.75rem;color:#ef4444}.instrument-selector .help-text{display:block;margin-top:4px;font-size:.75rem;color:#6b7280}.instrument-preview{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-top:16px}.instrument-preview h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:#374151}.preview-content{display:flex;flex-direction:column;gap:8px}.preview-item{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.preview-label{font-weight:500;color:#6b7280;min-width:80px}.preview-value{color:#374151;font-weight:400;text-align:right;flex:1}.instrument-selector .form-group label{color:#e8e8e8}.instrument-dropdown,.instrument-selector input{background-color:#2d2d2d;border-color:#fff3;color:#e8e8e8}.instrument-dropdown:focus,.instrument-selector input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.instrument-dropdown:disabled,.instrument-selector input:disabled{background-color:#1a1a1a;color:#6b7280;cursor:not-allowed}.instrument-selector .help-text{color:#9ca3af}.instrument-preview{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px}.instrument-preview h4{color:#e8e8e8}.preview-label{color:#9ca3af}.preview-value{color:#e8e8e8}.instrument-dropdown:hover,.instrument-selector input:hover{border-color:#ffffff4d}@media (max-width: 640px){.instrument-selector .form-group{margin-bottom:16px}.instrument-preview{padding:12px;margin-top:12px}.preview-item{flex-direction:column;align-items:flex-start;gap:2px}.preview-label{min-width:auto}.preview-value{text-align:left}}.project-creation-modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.project-creation-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.close-button:hover:not(:disabled){background-color:#f3f4f6;color:#374151}.close-button:disabled{opacity:.5;cursor:not-allowed}.modal-form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s ease;background-color:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group select:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group input.error,.form-group select.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{display:block;margin-top:4px;font-size:.75rem;color:#ef4444}.help-text{display:block;margin-top:4px;font-size:.75rem;color:#6b7280}.error-banner{display:flex;align-items:center;gap:8px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:12px;margin-top:16px;margin-bottom:8px}.error-icon{font-size:1rem;flex-shrink:0}.error-text{font-size:.875rem;color:#dc2626;font-weight:500}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:20px;border-top:1px solid #e5e7eb}.cancel-button,.create-button{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:80px}.cancel-button:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.create-button{background-color:#3b82f6;color:#fff}.create-button:hover:not(:disabled){background-color:#2563eb}.create-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.project-creation-modal-backdrop{padding:10px}.project-creation-modal{max-width:none;width:100%;margin:0;border-radius:8px}.modal-header{padding:20px 20px 0;margin-bottom:20px}.modal-header h2{font-size:1.25rem}.modal-form{padding:0 20px 20px}.form-group{margin-bottom:16px}.modal-actions{flex-direction:column-reverse;gap:8px}.cancel-button,.create-button{width:100%;padding:12px 20px}}.project-creation-modal{background:#1a1a1a;color:#e8e8e8;border:1px solid rgba(255,255,255,.1)}.close-button:hover:not(:disabled){background-color:#ffffff1a;color:#fff}.form-group label{color:#e8e8e8}.form-group input,.form-group select{background-color:#2d2d2d;border-color:#fff3;color:#e8e8e8}.form-group input:focus,.form-group select:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group input:disabled,.form-group select:disabled{background-color:#1a1a1a;color:#6b7280}.help-text{color:#9ca3af}.error-banner{background-color:#ef44441a;border-color:#ef4444}.error-text{color:#ef4444}.cancel-button:hover:not(:disabled){background-color:#fff3;color:#fff}.create-button{background:linear-gradient(135deg,#4caf50,#81c784)}.create-button:hover:not(:disabled){background:linear-gradient(135deg,#81c784,#4caf50)}.delete-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;backdrop-filter:blur(4px)}.delete-modal{background:#0f0f0f;border:1px solid #2a2a2a;border-radius:8px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #000c}.delete-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #2a2a2a}.delete-modal-header h3{font-size:18px;font-weight:600;color:#e5e5e5;margin:0}.delete-modal-close{background:none;border:none;color:#666;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.delete-modal-close:hover:not(:disabled){background:#2a2a2a;color:#e5e5e5}.delete-modal-close:disabled{opacity:.5;cursor:not-allowed}.delete-modal-content{padding:24px}.delete-warning-icon{font-size:48px;text-align:center;margin-bottom:20px;opacity:.8}.delete-modal-text{text-align:center}.delete-warning-text{font-size:16px;color:#ccc;margin-bottom:24px;line-height:1.5}.delete-warning-box{background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:16px;margin-bottom:24px;text-align:left}.warning-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#ff6b6b;font-weight:600;font-size:14px}.warning-icon{font-size:16px}.warning-list{margin:0;padding-left:20px;color:#999}.warning-list li{margin-bottom:6px;font-size:14px;line-height:1.4}.warning-list li:last-child{margin-bottom:0}.delete-confirmation{text-align:left;margin-bottom:20px}.checkbox-container{display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none;padding:8px 0}.checkbox-input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-checkmark{position:relative;height:18px;width:18px;background:#1a1a1a;border:2px solid #333;border-radius:3px;transition:all .2s ease;flex-shrink:0}.checkbox-container:hover .checkbox-checkmark{border-color:#555;background:#222}.checkbox-input:checked~.checkbox-checkmark{background:#c33;border-color:#c33}.checkbox-input:checked~.checkbox-checkmark:after{content:"";position:absolute;display:block;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input:disabled~.checkbox-checkmark{opacity:.5;cursor:not-allowed}.checkbox-input:disabled~.checkbox-label{opacity:.5;cursor:not-allowed}.checkbox-label{color:#ccc;font-size:14px;line-height:1.4}.delete-error-message{background:#2a1a1a;border:1px solid #4a2a2a;border-radius:6px;padding:12px 16px;margin-top:16px;display:flex;align-items:center;gap:8px;color:#f99;font-size:14px}.error-icon{font-size:16px;flex-shrink:0}.delete-modal-actions{display:flex;gap:12px;padding:0 24px 24px}.delete-modal-btn{flex:1;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.delete-modal-btn:disabled{opacity:.5;cursor:not-allowed}.delete-modal-btn-secondary{background:#2a2a2a;color:#e5e5e5;border-color:#333}.delete-modal-btn-secondary:hover:not(:disabled){background:#333;border-color:#444}.delete-modal-btn-danger{background:#c33;color:#fff;border-color:#c33}.delete-modal-btn-danger:hover:not(:disabled){background:#a22;border-color:#a22}.delete-modal-btn-danger:disabled{background:#4a2a2a;color:#666;border-color:#333}@media (max-width: 640px){.delete-modal-overlay{padding:16px}.delete-modal{max-width:none}.delete-modal-header{padding:16px 20px}.delete-modal-content{padding:20px}.delete-modal-actions{padding:0 20px 20px;flex-direction:column}.delete-modal-btn{flex:none}}.project-menu-dropdown{position:absolute;top:100%;right:0;background:#2a2a2a;border:1px solid #444;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:1000;min-width:160px;width:auto;overflow:hidden}.project-menu-item{display:flex;align-items:center;width:100%;padding:12px 16px;background:none;border:none;color:#e0e0e0;font-size:14px;cursor:pointer;transition:background-color .2s ease;text-align:left}.project-menu-item:hover{background-color:#3a3a3a}.project-menu-item.delete-item:hover{background-color:#4a2a2a;color:#ff6b6b}.menu-icon{margin-right:8px;font-size:16px}.menu-text{font-weight:500}.project-menu-item:first-child{border-bottom:1px solid #444}.project-menu-item:last-child{border-bottom:none}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:400px;pointer-events:none}.toast{background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #0000004d;animation:slideIn .3s ease-out;pointer-events:auto;min-width:300px}.toast-success{border-left:4px solid #4CAF50}.toast-error{border-left:4px solid #f44336}.toast-warning{border-left:4px solid #ff9800}.toast-info{border-left:4px solid #2196F3}.toast-content{display:flex;align-items:center;gap:8px;flex:1}.toast-icon{font-size:16px;flex-shrink:0}.toast-message{color:#fff;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;color:#999;cursor:pointer;padding:4px;border-radius:4px;font-size:14px;transition:all .2s ease;flex-shrink:0}.toast-close:hover{background:#444;color:#fff}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{min-width:auto;padding:10px 12px}.toast-message{font-size:13px}}.delete-account-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.delete-account-modal{background:#1a1a1a;border:1px solid #374151;border-radius:12px;box-shadow:0 25px 50px -12px #00000080;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.delete-account-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #374151;margin-bottom:24px}.delete-account-modal-header h2{font-size:24px;font-weight:700;color:#ef4444;margin:0}.delete-account-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;line-height:1}.delete-account-modal-close:hover:not(:disabled){color:#f9fafb;background:#ffffff1a}.delete-account-modal-close:disabled{opacity:.5;cursor:not-allowed}.delete-account-modal-content{padding:0 24px 24px}.delete-account-warning,.delete-account-confirmation{text-align:center}.warning-icon,.danger-icon{font-size:48px;margin-bottom:16px}.delete-account-warning h3,.delete-account-confirmation h3{font-size:20px;font-weight:600;color:#f9fafb;margin:0 0 16px}.delete-account-warning p,.delete-account-confirmation p{color:#d1d5db;line-height:1.6;margin-bottom:16px}.delete-account-warning ul{text-align:left;color:#d1d5db;margin:16px 0;padding-left:20px}.delete-account-warning li{margin-bottom:8px}.warning-text{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:16px;color:#fca5a5!important;font-size:14px}.grace-period-notice{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;padding:16px;margin-top:16px;text-align:left}.grace-period-notice p{color:#86efac!important;font-size:14px;margin:0 0 8px}.grace-period-notice p:last-child{margin-bottom:0}.privacy-notice{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:16px;margin-top:16px;text-align:left}.privacy-notice p{color:#93c5fd!important;font-size:14px;margin:0 0 8px}.privacy-notice p:last-child{margin-bottom:0}.delete-confirmation-input{width:100%;background:#ffffff0d;border:2px solid #374151;border-radius:8px;padding:12px 16px;color:#f9fafb;font-size:16px;text-align:center;font-weight:600;letter-spacing:1px;outline:none;transition:all .2s ease;margin-top:16px}.delete-confirmation-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.delete-confirmation-input:disabled{opacity:.5;cursor:not-allowed}.delete-account-modal-actions{display:flex;gap:12px;padding:24px;border-top:1px solid #374151}.cancel-button,.delete-button{flex:1;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.cancel-button{background:#ffffff1a;color:#d1d5db;border:1px solid rgba(255,255,255,.2)}.delete-button{background:#ef4444;color:#fff}.delete-button:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 10px 20px #ef44444d}.delete-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.delete-account-modal{margin:16px;width:calc(100% - 32px)}.delete-account-modal-header,.delete-account-modal-content,.delete-account-modal-actions{padding-left:16px;padding-right:16px}.delete-account-modal-actions{flex-direction:column}.cancel-button,.delete-button{width:100%}}.reauth-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10001;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.reauth-modal{background:#1a1a1a;border:1px solid #374151;border-radius:12px;box-shadow:0 25px 50px -12px #00000080;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.reauth-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #374151;margin-bottom:24px}.reauth-modal-header h2{font-size:24px;font-weight:700;color:#f9fafb;margin:0}.reauth-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;line-height:1}.reauth-modal-close:hover:not(:disabled){color:#f9fafb;background:#ffffff1a}.reauth-modal-close:disabled{opacity:.5;cursor:not-allowed}.reauth-modal-content{padding:0 24px 24px}.reauth-modal-content p{color:#d1d5db;line-height:1.6;margin-bottom:24px;text-align:center}.reauth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;color:#fca5a5;font-size:14px;margin-bottom:20px;text-align:center}.reauth-methods{display:flex;flex-direction:column;gap:20px}.reauth-method{display:flex;flex-direction:column;gap:12px}.reauth-method label{font-size:14px;font-weight:600;color:#f9fafb}.reauth-input{width:100%;background:#ffffff0d;border:2px solid #374151;border-radius:8px;padding:12px 16px;color:#f9fafb;font-size:16px;outline:none;transition:all .2s ease}.reauth-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.reauth-input:disabled{opacity:.5;cursor:not-allowed}.reauth-button{width:100%;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.reauth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.reauth-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.reauth-button.google{background:#4285f4}.reauth-button.google:hover:not(:disabled){background:#3367d6;box-shadow:0 10px 20px #4285f44d}.reauth-modal-actions{display:flex;justify-content:center;padding:24px;border-top:1px solid #374151}.cancel-button:hover:not(:disabled){background:#ffffff26;color:#f9fafb}.cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.reauth-modal{margin:16px;width:calc(100% - 32px)}.reauth-modal-header,.reauth-modal-content,.reauth-modal-actions{padding-left:16px;padding-right:16px}}.user-profile{min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#f9fafb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}.user-profile__content-wrapper{max-width:1200px;margin:0 auto;padding:24px}.user-profile__header{text-align:center;margin-bottom:48px}.user-profile__header h2{font-size:32px;font-weight:700;color:#f9fafb;margin:0 0 8px}.user-profile__header p{font-size:18px;color:#9ca3af;margin:0}.user-profile__error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - 80px);text-align:center;gap:20px}.user-profile__error button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.user-profile__error button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}.user-profile__content{display:flex;flex-direction:column;gap:48px}.profile-section{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:32px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.profile-section h3{font-size:24px;font-weight:600;color:#f9fafb;margin:0 0 24px}.profile-card{display:flex;gap:24px;align-items:flex-start}.profile-avatar{flex-shrink:0}.profile-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:#fff}.profile-info{flex:1;display:flex;flex-direction:column;gap:16px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-field label{font-size:14px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:16px;color:#f9fafb}.profile-plan{display:flex;align-items:center;gap:12px}.plan-name{font-size:16px;color:#f9fafb;font-weight:600}.upgrade-link{background:none;border:none;color:#60a5fa;font-size:14px;font-weight:500;cursor:pointer;text-decoration:underline;transition:color .2s ease}.upgrade-link:hover{color:#93c5fd}.account-actions{display:flex;flex-direction:column;gap:20px}.action-item{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .2s ease}.action-item:hover{border-color:#fff3}.action-item.danger{border-color:#ef44444d;background:#ef44440d}.action-item.danger:hover{border-color:#ef444480}.action-info h4{font-size:16px;font-weight:600;color:#f9fafb;margin:0 0 4px}.action-info p{font-size:14px;color:#9ca3af;margin:0;line-height:1.4}.action-btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;color:#f9fafb;flex-shrink:0}.action-btn:hover{background:#ffffff1a;border-color:#ffffff4d}.action-btn.danger{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.action-btn.danger:hover{background:#ef444433;border-color:#ef4444;color:#fff}@media (max-width: 768px){.user-profile__content-wrapper{padding:16px}.user-profile__header h2{font-size:24px}.user-profile__header p{font-size:16px}.profile-section{padding:20px}.profile-card{flex-direction:column;align-items:center;text-align:center}.action-item{flex-direction:column;align-items:flex-start;gap:16px}.action-btn{width:100%}.header-nav{display:none}.profile-plan{justify-content:center}.plan-name{text-align:center}}.main-app{display:flex;flex-direction:column;background:linear-gradient(135deg,#0f0f0f,#1a1a1a);color:#e8e8e8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}.main-app-header{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:70px;background:#1a1a1af2;backdrop-filter:blur(10px);border-bottom:1px solid #333333;transition:all .3s ease;flex-shrink:0}.mobile-nav-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:200}.mobile-nav-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:#1a1a1afa;backdrop-filter:blur(20px);border-left:1px solid #333333;transition:right .3s ease;z-index:201;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.mobile-nav-menu.open{right:0}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #333333}.mobile-nav-items{display:flex;flex-direction:column;gap:1rem}.mobile-nav-items button{background:none;border:none;color:#ccc;font-size:1.1rem;font-weight:500;cursor:pointer;padding:1rem;text-align:left;border-radius:12px;transition:all .3s ease;position:relative}.mobile-nav-items button:hover,.mobile-nav-items button.active{color:#fff;background:#7877c61a}.mobile-nav-items button.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:linear-gradient(135deg,#7877c6,#ff77c6);border-radius:2px}.mobile-user-info{display:flex;align-items:center;gap:10px;width:100%}.mobile-user-info .user-info{display:flex;align-items:center;margin-left:auto;gap:10px}.mobile-user-info .user-name{display:inline-block;font-size:1rem;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user-info .plan-badge{display:inline-block;margin-left:0;align-self:center}.mobile-nav-menu.open{animation:slideInRight .3s ease-out}.mobile-menu-toggle:focus-visible,.mobile-nav-close:focus-visible,.header-nav button:focus-visible,.mobile-nav-items button:focus-visible{outline:2px solid #7877c6;outline-offset:2px}.header-nav button:focus:not(:focus-visible),.mobile-menu-toggle:focus:not(:focus-visible),.mobile-nav-close:focus:not(:focus-visible),.mobile-nav-items button:focus:not(:focus-visible){outline:none}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%}.header-left{display:flex;align-items:center;gap:3rem}.app-title{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;cursor:pointer;font-size:1.5rem;font-weight:700;margin:0;background:linear-gradient(135deg,#7877c6,#ff77c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title{font-size:1rem;color:#ccc;opacity:.8}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;cursor:pointer}.logo-icon{width:5em;height:5em;object-fit:contain}.header-nav{display:flex;gap:2rem}.header-nav button{background:none;border:none;color:#ccc;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;transition:color .3s ease;position:relative}.header-nav button:hover,.header-nav button.active{color:#fff}.header-nav button:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(135deg,#7877c6,#ff77c6);transform:scaleX(0);transition:transform .3s ease}.header-nav button:hover:after,.header-nav button.active:after{transform:scaleX(1)}.header-right{display:flex;align-items:center;gap:1rem;position:relative}.header-right .language-selector{margin-right:.5rem}.user-info{display:flex;align-items:center;gap:10px}.user-name{font-size:.9rem;color:#ccc;font-weight:500}.plan-badge{padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.plan-badge.plan-free{background:#666;color:#fff}.plan-badge.plan-plus{background:#2563eb;color:#fff}.plan-badge.plan-pro{background:#9333ea;color:#fff}.main-app-content{flex:1;overflow-x:hidden;overflow-y:auto;position:relative;background:linear-gradient(135deg,#0f0f0f,#1a1a1a)}@media (max-width: 1024px){.main-app-header{padding:0 1.5rem}.header-left{gap:2rem}.header-nav{gap:1.5rem}}@media (max-width: 768px){.main-app-header{padding:0 1rem;height:60px}.header-left{gap:1rem}.logo-icon{width:6em;height:6em;object-fit:contain}.app-title{font-size:1.25rem}.header-nav{display:none}.mobile-menu-toggle,.mobile-nav-overlay.open{display:block}.user-name{display:inline-block;max-width:28vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{gap:.5rem}.plan-badge{font-size:.7rem;padding:.2rem .4rem}}@media (max-width: 480px){.main-app-header{padding:0 .75rem;height:56px}.header-left{gap:.75rem}.logo-icon{width:4em;height:4em;object-fit:contain}.app-title{font-size:1.1rem}.mobile-nav-menu{width:100vw;right:-100vw}.mobile-nav-menu.open{right:0}.header-right .plan-badge{display:none}}@media (min-width: 1200px){.main-app-header{padding:0 3rem;height:75px}.header-left{gap:4rem}.header-nav{gap:2.5rem}.app-title{font-size:1.6rem}}.mobile-nav-language{display:none}.mobile-nav-footer{margin-top:auto;padding:1rem;border-top:1px solid #333333}.mobile-nav-menu{display:flex;flex-direction:column;height:100%}.settings-panel{background:#2a2a2a;border:1px solid #444;border-radius:8px;padding:16px;margin:8px;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-width:250px}.settings-panel h3{margin:0 0 16px;color:#fff;font-size:16px;font-weight:600;border-bottom:1px solid #444;padding-bottom:8px}.settings-section{margin-bottom:20px}.settings-section:last-child{margin-bottom:0}.settings-label{display:block;margin-bottom:8px;color:#ccc;font-size:14px;font-weight:500}.bpm-input-container{display:flex;align-items:center;gap:8px}.bpm-input{background:#1a1a1a;border:1px solid #555;border-radius:4px;padding:8px 12px;color:#fff;font-size:14px;width:80px;transition:border-color .2s ease}.bpm-input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d433}.bpm-input:invalid{border-color:#d13438}.capo-input-container{display:flex;align-items:center;gap:8px}.capo-input{background:#1a1a1a;border:1px solid #555;border-radius:4px;padding:8px 12px;color:#fff;font-size:14px;width:80px;transition:border-color .2s ease}.capo-input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d433}.capo-input:invalid{border-color:#d13438}.capo-info{margin-top:6px;padding:4px 8px;background:#0078d41a;border:1px solid rgba(0,120,212,.3);border-radius:4px}.capo-info small{color:#b3d9ff;font-style:italic}.input-hint{color:#888;font-size:12px}.time-signature-container{display:flex;align-items:center;gap:8px}.time-signature-select{background:#1a1a1a;border:1px solid #555;border-radius:4px;padding:8px 12px;color:#fff;font-size:14px;width:140px;cursor:pointer;transition:border-color .2s ease}.time-signature-select:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d433}.time-signature-select:hover{background:#333;border-color:#666}.tuning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tuning-controls{display:flex;align-items:center;gap:8px}.tuning-preset-select{background:#1a1a1a;border:1px solid #555;border-radius:4px;padding:6px 8px;color:#fff;font-size:12px;cursor:pointer;min-width:100px;transition:all .2s ease}.tuning-preset-select:hover{background:#333;border-color:#666}.tuning-preset-select:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d433}.tuning-preset-info{margin-bottom:8px;padding:6px 8px;background:#0078d41a;border:1px solid rgba(0,120,212,.3);border-radius:4px}.tuning-preset-info small{color:#b3d9ff;font-style:italic}.tuning-help{margin-bottom:12px}.tuning-help small{color:#888}.tuning-container{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.tuning-string{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.string-label{color:#aaa;font-size:13px;min-width:70px}.tuning-note{background:#1a1a1a;border:1px solid #555;border-radius:4px;padding:6px 12px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;min-width:40px;text-align:center;transition:all .2s ease}.tuning-note:hover{background:#333;border-color:#666}.tuning-note:active{background:#0078d4;border-color:#0078d4}.tuning-input{background:#1a1a1a;border:1px solid #0078d4;border-radius:4px;padding:6px 12px;color:#fff;font-size:14px;font-weight:600;min-width:40px;text-align:center;box-shadow:0 0 0 2px #0078d433}.tuning-input:focus{outline:none}.tuning-display{padding:8px;background:#1a1a1a;border:1px solid #444;border-radius:4px;text-align:center}.tuning-preview{color:#ccc;font-size:13px;font-family:Courier New,monospace;letter-spacing:1px}@media (max-width: 768px){.settings-panel{min-width:200px;padding:12px}.tuning-string{flex-direction:column;align-items:flex-start;gap:4px}.string-label{min-width:auto}}.settings-panel *:focus-visible{outline:2px solid #0078d4;outline-offset:2px}.settings-panel input[type=number]::-webkit-outer-spin-button,.settings-panel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.settings-panel input[type=number]{-moz-appearance:textfield}.playback-controls{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#2a2a2a;border-radius:8px;margin-bottom:16px;border:1px solid #404040}.playback-buttons{display:flex;gap:8px}.playback-buttons button{width:40px;height:40px;border:none;border-radius:6px;background:#404040;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.playback-buttons button:hover:not(:disabled){background:#505050;transform:translateY(-1px)}.playback-buttons button:active:not(:disabled){transform:translateY(0)}.playback-buttons button:disabled{background:#2a2a2a;color:#666;cursor:not-allowed}.play-button,.resume-button{background:#4caf50}.play-button:hover:not(:disabled),.resume-button:hover:not(:disabled){background:#5cbf60}.pause-button{background:#ff9800}.pause-button:hover:not(:disabled){background:#ffb74d}.stop-button{background:#f44336}.stop-button:hover:not(:disabled){background:#ef5350}.pattern-info{display:flex;flex-direction:column;gap:4px;text-align:right;min-width:120px}.pattern-name{font-weight:700;color:#fff;font-size:14px}.note-count{font-size:12px;color:#999}@media (max-width: 768px){.playback-controls{flex-direction:column;gap:12px}.pattern-info{text-align:center;min-width:auto}}.playback-controls.disabled{opacity:.6;position:relative}.playback-controls.disabled:after{content:"";position:absolute;inset:0;background:#0000001a;border-radius:8px;pointer-events:none}.playback-controls .disabled-reason{color:#ffa726;font-size:12px;font-style:italic;margin-left:10px}.playback-controls.disabled button{opacity:.5;cursor:not-allowed}.playback-controls.disabled button:hover{transform:none;background:inherit}.technique-toolbar{background:none;border:none;padding:0;width:100%}.technique-toolbar-header{display:none}.technique-hint{color:#888;font-size:12px;font-style:italic}.technique-buttons{display:flex;flex-wrap:wrap;gap:6px}.technique-button{background:#3a3a3a;border:1px solid #555;border-radius:4px;padding:6px 10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;min-height:auto;color:#ccc;position:relative}.technique-button:hover{background:#4a4a4a;border-color:#666}.technique-button.active{background:#007acc;border-color:#09f;color:#fff;box-shadow:0 0 8px #007acc80}.technique-button.active:hover{background:#005a9e;border-color:#007acc}.technique-button.disabled{background:#2a2a2a;border-color:#444;color:#666;cursor:not-allowed;opacity:.6;filter:blur(.5px)}.technique-button.disabled:hover{background:#2a2a2a;border-color:#444;color:#666}.technique-button .technique-symbol{font-size:14px;font-weight:700;line-height:1}.technique-button .technique-name{display:none}.technique-button:hover .technique-name{display:block;position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#222;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;margin-bottom:5px;white-space:nowrap;z-index:10;box-shadow:0 2px 8px #0000004d}.technique-button.disabled:hover .technique-name{display:none!important}.technique-button.disabled:hover:after{content:"Plus+";position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#ff6b35;color:#fff;font-size:8px;font-weight:700;padding:2px 4px;border-radius:8px;line-height:1;z-index:10;white-space:nowrap;margin-bottom:5px;box-shadow:0 2px 8px #0000004d}.technique-shortcut{display:none}.technique-toolbar::-webkit-scrollbar{width:4px}.technique-toolbar::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.technique-toolbar::-webkit-scrollbar-thumb:hover{background:#666}@media (max-width: 768px){.technique-buttons{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.technique-button{min-height:60px;padding:6px 2px}.technique-symbol{font-size:16px}.technique-name{font-size:10px}.technique-shortcut{font-size:9px}}.piano-roll-editor-wrapper{display:block;flex:none;min-height:auto;border-radius:8px;overflow:hidden;border:1px solid #444;background:#2a2a2a;margin-bottom:1rem}.piano-roll-editor{flex:1;display:flex;flex-direction:column;background:#2a2a2a;border-radius:8px;overflow:hidden;--label-width: 60px}.piano-roll-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background:#333;border-bottom:1px solid #444;gap:20px}.header-main-content{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.piano-roll-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.undo-redo-controls{display:flex;align-items:center;gap:4px}.control-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:16px;padding:6px 8px;border-radius:4px;transition:all .15s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;-webkit-user-select:none}.control-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}.control-btn:active{transform:scale(.95);background:#ffffff40}.control-btn:disabled{opacity:.4;cursor:not-allowed}.metronome-toggle.active{color:#4caf50;background:#4caf5033;border-color:#4caf504d}.selection-btn.active{background:#2196f333;border-color:#2196f34d;color:#2196f3}.erase-btn.active{background:#f4433633;border-color:#f443364d;color:#f44336;box-shadow:0 0 8px #f443364d}.erase-btn.active:active{background:#f443364d;transform:scale(.9)}.auto-extend-btn:hover:not(:disabled){background:#4caf5033;border-color:#4caf504d;color:#4caf50}.metronome-context-menu{background:#2c2c2c;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #0000004d;padding:4px 0;min-width:120px}.metronome-context-menu .context-menu-item{padding:8px 16px;cursor:pointer;color:#fff;font-size:14px;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.metronome-context-menu .context-menu-item:hover{background:#ffffff1a}.metronome-context-menu .context-menu-item.selected{background:#4caf5033;color:#4caf50}.pattern-info{display:flex;gap:16px;color:#ccc;font-size:14px;align-items:center}.pattern-length-control{display:flex;align-items:center;gap:8px;color:#ccc;font-size:14px}.pattern-length-control label{color:#ccc;font-size:14px;white-space:nowrap}.pattern-length-select{background:#444;color:#fff;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:12px;min-width:120px}.pattern-length-select:focus{outline:none;border-color:#4caf50}.no-pattern-message{flex:1;display:flex;align-items:center;justify-content:center;color:#888;font-size:16px}.piano-roll-container{flex:1;display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:#1e1e1e;padding:0;margin:0;box-sizing:border-box;touch-action:manipulation}.timeline-container{display:flex;background:#333;border-bottom:1px solid #444;height:40px;min-height:40px;width:100%;overflow:hidden;flex-shrink:0}.timeline-scroll-wrapper{display:flex;min-width:fit-content;width:100%}.timeline-spacer{width:var(--label-width);min-width:var(--label-width);max-width:var(--label-width);background:#333;border-right:1px solid #444;box-sizing:border-box;flex-shrink:0}.timeline{position:relative;height:100%;background:#2a2a2a;cursor:pointer;overflow:hidden;flex-shrink:0;padding-right:10px}.timeline-marker{position:absolute;top:0;height:100%;display:flex;align-items:center;border-left:1px solid #555}.timeline-marker:first-child{border-left:2px solid #777}.timeline-marker.measure-start{border-left:2px solid #888}.timeline-label{color:#ccc;font-size:12px;font-weight:700;margin-left:4px;user-select:none}.measure-indicator{position:absolute;top:-5px;left:-1px;color:#888;font-size:16px;font-weight:700}.timeline-playhead-indicator{position:absolute;top:0;height:100%;width:2px;background:#f44;z-index:200;pointer-events:none;box-shadow:0 0 4px #f449}.piano-roll-grid-container{display:flex;flex:1;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;box-sizing:border-box}.string-labels{display:flex;flex-direction:column;background:#333;border-right:1px solid #444;width:var(--label-width);min-width:var(--label-width);max-width:var(--label-width);box-sizing:border-box;flex-shrink:0;position:relative;z-index:90;overflow:hidden}.string-label{display:flex;align-items:center;justify-content:center;height:var(--string-height, 60px);width:100%;max-width:100%;color:#fff;font-weight:700;font-size:16px;border-bottom:1px solid #444;background:#2a2a2a;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.string-label:last-child{border-bottom:none}.piano-roll-grid{position:relative;padding:0 10px 0 0;margin:0;overflow-x:visible;overflow-y:hidden;flex-shrink:0}.string-row{position:relative;height:var(--string-height, 60px);border-bottom:1px solid #444;display:flex;padding:0;margin:0}.string-row:last-child{border-bottom:none}.piano-roll-cell{height:100%;border-right:1px solid rgba(255,255,255,.12);cursor:pointer;transition:background-color .1s ease;box-sizing:border-box;flex-shrink:0;background-image:linear-gradient(to bottom,#ffffff0a,#ffffff0a);background-size:100% 60px;background-repeat:no-repeat}.piano-roll-cell:hover{background-color:#ffffff1a}.piano-roll-cell.on-beat{border-right:2px solid rgba(255,255,255,.28)}.piano-roll-cell.off-beat{border-right:1px solid rgba(255,255,255,.12)}.piano-roll-cell.measure-start{border-right:3px solid rgba(255,255,255,.4)}.piano-roll-cell.measure-start:hover{background-color:#7773}.melody-block{position:absolute;top:0;bottom:0;background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #2e7d32;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;cursor:grab;pointer-events:auto;transition:all .15s ease;min-width:25px;overflow:hidden;box-shadow:0 2px 4px #0000004d;user-select:none}.melody-block.advanced-disabled{background:linear-gradient(135deg,#9e9e9e,#757575)!important;border-color:#616161!important;color:#e0e0e0;opacity:.9}.note-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.fret-number{font-size:14px;font-weight:700;line-height:1}.technique-symbol{font-size:10px;font-weight:400;opacity:.9;line-height:1;color:#ffeb3b}.technique-symbol-large{font-size:16px;font-weight:700;line-height:1;color:#fff}.melody-block:hover{background:linear-gradient(135deg,#5cbf60,#4caf50);transform:translateY(-1px);box-shadow:0 4px 12px #0006;border-color:#388e3c}.melody-block.dragging{opacity:.8;transform:scale(1.05);box-shadow:0 6px 20px #00000080;z-index:1000;transition:none}.melody-block.copy-dragging{opacity:.7;transform:scale(1.02);box-shadow:0 4px 16px #4caf5066;z-index:999;transition:none;border:2px solid #4CAF50}.melody-block.copy-preview{opacity:.6;border:2px dashed #4CAF50;background:linear-gradient(135deg,#4caf504d,#388e3c4d)}.melody-block:active{transform:translateY(0);box-shadow:0 2px 4px #0000004d}.melody-block.selected{border:3px solid #FFD700;box-shadow:0 0 8px #ffd70080;animation:selected-pulse 2s ease-in-out infinite}@keyframes selected-pulse{0%,to{box-shadow:0 0 8px #ffd70080}50%{box-shadow:0 0 12px #ffd700cc}}.melody-block.dragging{background:linear-gradient(135deg,#66bb6a,#5cbf60);border-color:#4caf50;box-shadow:0 6px 12px #00000080;cursor:grabbing!important;user-select:none;z-index:1000;pointer-events:none}.melody-block.resizing{cursor:ew-resize!important;user-select:none;z-index:1000!important}.melody-block.resizing.overlap-warning{background:linear-gradient(135deg,#f44336,#d32f2f);border-color:#b71c1c;box-shadow:0 4px 12px #f4433699;animation:shake-warning .4s ease-in-out}@keyframes shake-warning{0%,to{transform:translate(0);box-shadow:0 4px 12px #f4433699}25%{transform:translate(-3px);box-shadow:0 4px 16px #f44336cc}75%{transform:translate(3px);box-shadow:0 4px 16px #f44336cc}}.resize-preview{position:absolute;top:0;bottom:0;background:#fff3;border:2px dashed rgba(255,255,255,.6);border-radius:4px;z-index:998;pointer-events:none;animation:resize-preview-pulse 1s ease-in-out infinite}@keyframes resize-preview-pulse{0%,to{opacity:.6}50%{opacity:.8}}.piano-roll-cell.drop-target{background-color:transparent;border:none}.drop-target-active{position:absolute;top:0;bottom:0;background:#4caf504d;border:2px dashed #4CAF50;border-radius:6px;pointer-events:none;z-index:50}.piano-roll-editor.dragging{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:grabbing!important}.piano-roll-editor.dragging *{cursor:grabbing!important}@media (max-width: 768px){.piano-roll-header{padding:12px 16px;flex-direction:column;gap:12px}.piano-roll-header h3{font-size:16px}.header-main-content{width:100%}.undo-redo-controls{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start}.control-btn{min-width:36px;min-height:36px;flex-shrink:0}.pattern-info{font-size:12px;gap:12px;flex-wrap:wrap;width:100%}.pattern-length-control{flex-wrap:wrap;gap:4px}.string-label{height:50px;font-size:14px}.string-row{height:50px}.piano-roll-grid{min-height:300px}.piano-roll-cell{border-right-color:#fff3}.piano-roll-cell.on-beat{border-right-color:#ffffff59}.piano-roll-cell.measure-start{border-right-color:#ffffff80}}.fret-inline-input{width:100%;height:100%;background:#1e1e1e;border:2px solid #4CAF50;border-radius:4px;color:#fff;font-size:14px;font-weight:700;text-align:center;outline:none;padding:0;margin:0;box-sizing:border-box}.fret-inline-input:focus{border-color:#5cbf60;background:#2a2a2a}.fret-inline-input::-webkit-outer-spin-button,.fret-inline-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fret-inline-input[type=number]{appearance:textfield;-moz-appearance:textfield}.context-menu{background:#333;border:1px solid #555;border-radius:4px;box-shadow:0 4px 12px #00000080;min-width:120px;padding:4px 0;z-index:10000}.context-menu-item{padding:8px 16px;color:#fff;cursor:pointer;font-size:14px;transition:background-color .1s ease;user-select:none}.context-menu-item:hover{background-color:#4caf50}.context-menu-item:active{background-color:#45a049}.context-menu-backdrop{position:fixed;inset:0;z-index:9999;background:transparent}.piano-roll-grid-container::-webkit-scrollbar{width:12px;height:12px}.piano-roll-grid-container::-webkit-scrollbar-track{background:#1e1e1e}.piano-roll-grid-container::-webkit-scrollbar-thumb{background:#555;border-radius:6px}.piano-roll-grid-container::-webkit-scrollbar-thumb:hover{background:#666}.playback-head{position:absolute;top:0;width:12px;background:transparent;z-index:100;pointer-events:auto;cursor:grab;transform:translate(-6px);left:0}.playback-head:active{cursor:grabbing}.playback-head:after{content:"";position:absolute;top:0;left:5px;width:2px;height:100%;background:#f44;box-shadow:0 0 4px #f449;pointer-events:none}.playback-head:before{content:"";position:absolute;top:-8px;left:5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #FF4444;pointer-events:none;transform:translate(-6px)}.piano-roll-editor.grid-sequence-playing{border:2px solid rgba(76,175,80,.3);background:#4caf5005}.piano-roll-editor.grid-sequence-playing .piano-roll-header{background:#4caf501a}.grid-sequence-indicator{color:#4caf50;font-weight:500;animation:pulse-indicator 2s ease-in-out infinite}@keyframes pulse-indicator{0%,to{opacity:1}50%{opacity:.6}}.piano-roll-editor.grid-sequence-playing .playback-head{z-index:100;background:#4caf50;opacity:.9}.piano-roll-editor.grid-sequence-playing .timeline-playhead-indicator{background:#4caf50;opacity:.9}.melody-block[data-technique=mute]{background:linear-gradient(135deg,#f44336,#d32f2f);border-color:#b71c1c}.melody-block[data-technique=slide]{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#e65100}.melody-block[data-technique=hammer]{background:linear-gradient(135deg,#9c27b0,#7b1fa2);border-color:#4a148c}.melody-block[data-technique=pulloff]{background:linear-gradient(135deg,#673ab7,#512da8);border-color:#311b92}.melody-block[data-technique=bend]{background:linear-gradient(135deg,#3f51b5,#303f9f);border-color:#1a237e}.melody-block[data-technique=harmonics]{background:linear-gradient(135deg,#00bcd4,#0097a7);border-color:#006064}.melody-block[data-technique=vibrato]{background:linear-gradient(135deg,#607d8b,#455a64);border-color:#263238}.melody-block[data-technique=palm_mute]{background:linear-gradient(135deg,#795548,#5d4037);border-color:#3e2723}.melody-block[data-technique=tapping]{background:linear-gradient(135deg,#e91e63,#c2185b);border-color:#880e4f}.piano-roll-editor.selection-mode,.piano-roll-editor.selection-mode .piano-roll-cell{cursor:crosshair}.piano-roll-editor.selection-mode .melody-block{cursor:pointer}.piano-roll-grid.erase-mode{cursor:url('data:image/svg+xml;utf8,<svg xmlns="httpss://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="red" d="M19 4h-3.5l-1-1h-5l-1 1H5v2h14M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12Z"/></svg>') 12 12,auto}.piano-roll-grid.erase-mode .melody-block{cursor:url('data:image/svg+xml;utf8,<svg xmlns="https://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="red" d="M19 4h-3.5l-1-1h-5l-1 1H5v2h14M6 19a2 2 0 0 0 2-2V7H6v12Z"/></svg>') 12 12,auto;transition:all .15s ease}.piano-roll-grid.erase-mode .melody-block:hover,.piano-roll-grid.erase-mode .melody-block:active{opacity:.6;filter:brightness(.7);transform:scale(.95);box-shadow:0 0 8px #f4433680}@media (hover: none) and (pointer: coarse){.piano-roll-grid.erase-mode .melody-block:active{opacity:.5;filter:brightness(.6);transform:scale(.9)}}.selection-rectangle{position:absolute;border:2px dashed #FFD700;background:#ffd7001a;pointer-events:none;z-index:150;border-radius:4px}.melody-block.multi-selected{border:3px solid #FFD700;box-shadow:0 0 8px #ffd70099;animation:multi-selected-pulse 2s ease-in-out infinite}@keyframes multi-selected-pulse{0%,to{box-shadow:0 0 8px #ffd70099}50%{box-shadow:0 0 12px #ffd700e6}}.selection-button{background:#444;border:2px solid #666;border-radius:6px;color:#fff;cursor:pointer;padding:8px 12px;font-size:14px;transition:all .2s ease;display:flex;align-items:center;gap:6px;user-select:none}.selection-button:hover{background:#555;border-color:#777}.selection-button.active{background:gold;border-color:#ffc107;color:#000;font-weight:700}.selection-button.active:hover{background:#ffc107;border-color:#ff9800}.selection-info{color:#ccc;font-size:12px;margin-left:12px;padding:4px 8px;background:#ffd7001a;border-radius:4px;border:1px solid rgba(255,215,0,.3)}.melody-block.paste-preview{opacity:.6;border:2px dashed #4CAF50;background:linear-gradient(135deg,#4caf504d,#45a0494d);animation:paste-preview-pulse 1s ease-in-out infinite}@keyframes paste-preview-pulse{0%,to{opacity:.6}50%{opacity:.8}}.melody-block.copy-dragging{opacity:.6;cursor:copy!important;user-select:none}.melody-block.copy-preview{background:linear-gradient(135deg,#4caf50,#45a049);border:2px solid #2e7d32;opacity:.6;cursor:copy!important;user-select:none;z-index:1000;pointer-events:none;box-shadow:0 4px 8px #4caf5066}.piano-roll-editor.copy-dragging,.piano-roll-editor.copy-dragging *{cursor:copy!important}.pattern-length-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10001;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.pattern-length-modal{background:#1a1a1a;border:1px solid #374151;border-radius:12px;box-shadow:0 25px 50px -12px #00000080;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.pattern-length-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #374151;margin-bottom:24px}.pattern-length-modal-header h2{font-size:24px;font-weight:700;color:#f9fafb;margin:0}.pattern-length-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;line-height:1}.pattern-length-modal-close:hover{color:#f9fafb;background:#ffffff1a}.pattern-length-modal-content{padding:0 24px 24px}.pattern-length-modal-content p{color:#d1d5db;line-height:1.6;margin-bottom:16px}.pattern-length-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid #374151}.cancel-button{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;background:#ffffff1a;color:#d1d5db;border:1px solid rgba(255,255,255,.2)}.cancel-button:hover{background:#ffffff26;color:#f9fafb}.confirm-button{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.confirm-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #667eea4d}@media (max-width: 640px){.pattern-length-modal{margin:16px;width:calc(100% - 32px)}.pattern-length-modal-header,.pattern-length-modal-content,.pattern-length-modal-actions{padding-left:16px;padding-right:16px}.pattern-length-modal-actions{flex-direction:column}.cancel-button,.confirm-button{width:100%}}.pattern-grid-container{background:#2a2a2a;border-radius:8px;padding:16px;margin-bottom:16px;color:#fff;min-height:400px}body.dragging,body.dragging *{touch-action:none!important;cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}.pattern-grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #404040}.pattern-grid-header h2{margin:0;font-size:18px;font-weight:600;color:#fff}.grid-info{color:#888;font-size:14px}.pattern-list-for-grid{margin-bottom:20px;background-color:#2c2c2c;padding:10px;border-radius:4px;border:1px solid #444}.pattern-list-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:10px;gap:10px}.pattern-list-header h3{margin:0;font-size:16px;color:#ddd;flex-shrink:0}.add-pattern-btn{background-color:#4a4a4a;color:#fff;border:1px solid #666;border-radius:4px;cursor:pointer;font-size:14px;padding:5px 10px;display:flex;align-items:center;justify-content:center;transition:background-color .2s;white-space:nowrap}.add-pattern-btn:hover{background-color:#5a5a5a}.draggable-patterns{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.draggable-pattern{background-color:#3a3a3a;padding:8px;border-radius:4px;cursor:grab;border:2px solid #555;transition:background-color .2s,border-color .2s;text-align:center}.draggable-pattern:hover{background-color:#4a4a4a;border-color:#777}.draggable-pattern.active{background:linear-gradient(135deg,#6f6,#4d4);border-color:#8f8;color:#fff;animation:activeGlow 2s ease-in-out infinite alternate}.draggable-pattern .pattern-name{font-weight:700;margin-bottom:5px;padding:5px;border-radius:3px;cursor:text}.draggable-pattern .pattern-name:hover{background-color:#ffffff1a}.draggable-pattern .pattern-stats{font-size:12px;color:#ccc}.draggable-pattern.active .pattern-stats{color:#e0e0e0}.pattern-length-control-small{margin-top:6px}.pattern-length-select-small{width:100%;padding:2px 4px;font-size:10px;background:#333;color:#ccc;border:1px solid #555;border-radius:3px;cursor:pointer}.pattern-length-select-small:focus{outline:none;border-color:#4caf50;color:#fff}.pattern-name-input{width:100%;padding:4px;border:1px solid #777;border-radius:3px;background-color:#222;color:#eee;text-align:center;box-sizing:border-box}.pattern-grid{background:#1e1e1e;border-radius:6px;padding:16px;border:1px solid #404040}.grid-cells{display:grid;gap:8px;margin-bottom:16px}.grid-cell{aspect-ratio:3/1;border:2px solid #555;border-radius:6px;background:#2a2a2a;position:relative;overflow:hidden;transition:all .2s ease;cursor:pointer;min-height:60px}.grid-cell.empty{border-style:dashed;border-color:#666;background:#222}.grid-cell.occupied{background-color:#3a3a3a;border:2px solid #555;color:#fff}.grid-cell.drag-over{border-color:#6ab7ff;background:#3a4a5a;box-shadow:0 0 12px #6ab7ff4d}.grid-cell:hover{border-color:#777}.grid-cell.drag-over:hover{border-color:#8ac7ff}.grid-pattern{width:100%;height:100%;background:linear-gradient(135deg,#4a9eff,#3a8eef,#2a7edf);display:flex;flex-direction:column;cursor:grab;border-radius:8px;padding:8px;box-sizing:border-box;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 3px 12px #0006,inset 0 1px #ffffff40,0 0 0 1px #ffffff0d}.grid-pattern:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.15),transparent);border-radius:6px 6px 0 0;pointer-events:none}.grid-pattern:hover{background:linear-gradient(135deg,#5aa7ff,#4a9eff,#3a8eef);transform:scale(1.02) translateY(-1px);box-shadow:0 4px 12px #0006,inset 0 1px #ffffff4d}.grid-pattern:active{cursor:grabbing;transform:scale(.98);box-shadow:0 1px 4px #0000004d,inset 0 1px #ffffff1a}.grid-pattern.active{background:linear-gradient(135deg,#6f6,#4d4,#3c3);border:2px solid #88ff88;animation:activeGlow 2s ease-in-out infinite alternate;box-shadow:0 0 15px #8f89,0 2px 8px #0000004d,inset 0 1px #ffffff4d}@keyframes activeGlow{0%{box-shadow:0 0 10px #88ff8880,0 2px 8px #0000004d,inset 0 1px #ffffff4d}to{box-shadow:0 0 20px #8f8c,0 4px 12px #0006,inset 0 1px #fff6}}.grid-pattern.active:hover{background:linear-gradient(135deg,#7f7,#5e5,#4d4);transform:scale(1.02) translateY(-1px)}.grid-cell.active{background:radial-gradient(circle,#66ff661a,#66ff660d 70%);box-shadow:0 0 8px #66ff664d}.grid-pattern-header{display:flex;flex-direction:column;align-items:center;margin-bottom:4px;z-index:2;position:relative}.grid-pattern-name{font-size:12px;font-weight:600;color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-shadow:0 1px 2px rgba(0,0,0,.5)}.grid-pattern-stats{font-size:10px;color:#ffffffe6;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pattern-mini-visualization{flex:1;position:relative;width:100%;background:linear-gradient(135deg,#0006,#0003),linear-gradient(90deg,rgba(255,255,255,.02) 0%,transparent 50%,rgba(255,255,255,.02) 100%);border-radius:4px;overflow:hidden;min-height:32px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(3px);box-shadow:inset 0 2px 4px #0006,inset 0 -1px #ffffff1a}.mini-note{position:absolute;width:4px;height:4px;border-radius:2px;opacity:.95;box-shadow:0 0 6px #000000b3,inset 0 1px #ffffff80,0 1px 3px #0006,0 0 0 .5px #ffffff4d;transition:all .2s cubic-bezier(.4,0,.2,1);border:.5px solid rgba(255,255,255,.3);transform:scale(1);backdrop-filter:blur(1px)}.mini-note:hover{transform:scale(1.2);opacity:1;z-index:2}.mini-note:after{content:"";position:absolute;inset:-.5px;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent 60%);border-radius:1.5px;pointer-events:none}.mini-note-overflow{position:absolute;bottom:1px;right:2px;font-size:7px;color:#fffffff2;background:linear-gradient(135deg,#000c,#0009);padding:1px 3px;border-radius:2px;text-shadow:0 1px 2px rgba(0,0,0,.9);border:.5px solid rgba(255,255,255,.2);backdrop-filter:blur(3px);font-weight:600;letter-spacing:.2px}.pattern-mini-visualization:before{content:"";position:absolute;inset:10% 0;background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.08) 1px,transparent 1px);background-size:6px calc(80%/max(var(--string-count, 6),2));pointer-events:none;opacity:.7}.pattern-mini-visualization[style*="--string-count: 1"]:before{background-image:linear-gradient(to right,rgba(255,255,255,.08) 1px,transparent 1px)}.pattern-mini-visualization:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.03) 0%,transparent 70%);pointer-events:none}.empty-cell-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#666;font-size:12px;text-align:center;opacity:0;transition:opacity .2s ease}.grid-cell.drag-over .empty-cell-placeholder{opacity:1;color:#aaa}.grid-expand-section{display:flex;justify-content:center;margin-top:12px}.expand-grid-btn{background:linear-gradient(135deg,#666,#555);color:#fff;border:1px solid #777;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.expand-grid-btn:hover{background:linear-gradient(135deg,#777,#666);transform:translateY(-1px);box-shadow:0 2px 4px #0003}.expand-grid-btn:active{transform:translateY(0);background:linear-gradient(135deg,#555,#444)}.drag-feedback{position:fixed;top:20px;right:20px;background:#000000e6;color:#fff;padding:12px 16px;border-radius:6px;border:1px solid #4a9eff;font-size:14px;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0000004d}.drag-message{text-align:center;line-height:1.4}.drag-message strong{color:#6ab7ff}.draggable-patterns:empty:after{content:"No patterns available.";color:#666;font-style:italic;display:flex;align-items:center;justify-content:center;width:100%;height:60px}.grid-cell.occupied:after{content:"Right-click to remove";position:absolute;bottom:2px;right:4px;font-size:10px;color:#ffffff80;opacity:0;transition:opacity .2s ease;pointer-events:none}.grid-cell.occupied:hover:after{opacity:1}.context-menu{background:#2c2c2c;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #0000004d;padding:4px 0;min-width:160px}.context-menu-item{padding:8px 16px;cursor:pointer;color:#fff;font-size:14px;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.context-menu-item:hover{background:#ffffff1a}.context-menu-item.delete{color:#f44336}.context-menu-item.delete:hover{background:#f443361a}.context-menu-separator{height:1px;background:#444;margin:4px 0}.delete-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.delete-dialog{background-color:#2c2c2c;border:1px solid #444;border-radius:8px;padding:24px;width:400px;box-shadow:0 4px 15px #00000080;color:#ddd}.delete-dialog-header h3{margin:0 0 16px;font-size:20px;color:#fff}.delete-dialog-content p{margin:8px 0;line-height:1.5}.delete-warning{color:#ffc107;font-size:14px}.skip-confirm-section{margin-top:20px}.skip-confirm-label{display:flex;align-items:center;cursor:pointer;font-size:14px}.skip-confirm-checkbox{opacity:0;width:0;height:0}.checkmark{position:relative;height:18px;width:18px;background-color:#444;border:1px solid #666;border-radius:3px;margin-right:10px;transition:background-color .2s}.checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.skip-confirm-checkbox:checked~.checkmark{background-color:#007bff}.skip-confirm-checkbox:checked~.checkmark:after{display:block}.delete-dialog-actions{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.delete-dialog-actions button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s}.delete-confirm-btn{background-color:#dc3545;color:#fff}.delete-confirm-btn:hover{background-color:#c82333}.delete-cancel-btn{background-color:#555;color:#fff}.delete-cancel-btn:hover{background-color:#666}.grid-controls{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:12px}.pagination-controls{display:flex;align-items:center;gap:12px;color:#ccc;font-size:14px}.pagination-controls button{background:linear-gradient(135deg,#666,#555);color:#fff;border:1px solid #777;border-radius:6px;width:32px;height:32px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.pagination-controls button:hover{background:linear-gradient(135deg,#777,#666);transform:translateY(-1px)}.pagination-controls button:active{transform:translateY(0)}@media (max-width: 1024px){.pattern-grid-container{padding:12px}.draggable-patterns{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.grid-cells{gap:6px}}@media (max-width: 768px){.pattern-grid-container{padding:12px;margin-bottom:16px;border-radius:12px}.pattern-grid-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:18px}.pattern-grid-header h2{font-size:18px;font-weight:700}.grid-info{font-size:13px;color:#aaa}.pattern-list-for-grid{margin-bottom:18px;padding:12px;border-radius:8px;background:linear-gradient(135deg,#2c2c2c,#282828)}.pattern-list-header h3{font-size:15px;font-weight:600}.add-pattern-btn{font-size:13px;padding:6px 12px;border-radius:6px;font-weight:600}.draggable-patterns{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.draggable-pattern{padding:8px;min-width:110px;border-radius:6px;background:linear-gradient(135deg,#3a3a3a,#363636)}.draggable-pattern .pattern-name{font-size:13px;margin-bottom:4px;font-weight:600}.draggable-pattern .pattern-stats{font-size:11px;color:#bbb}.grid-cells{gap:6px}.grid-cell{aspect-ratio:2.8/1;min-height:50px;border-width:2px;border-radius:8px}.grid-pattern{padding:8px;border-radius:8px}.grid-pattern-name{font-size:12px;font-weight:600}.grid-pattern-stats{font-size:10px}.pattern-mini-visualization{min-height:24px;border-radius:4px}.mini-note{width:3px;height:3px}.mini-note-overflow{font-size:7px;padding:1px 3px}.sequence-playback-buttons{flex-direction:column;gap:8px}.sequence-play-button,.sequence-pause-button,.sequence-stop-button{padding:8px 16px;font-size:13px;width:100%;border-radius:8px;font-weight:600}.sequence-info{flex-direction:column;gap:8px;align-items:flex-start;font-size:13px}.sequence-progress{flex-direction:column;gap:8px;align-items:stretch}.progress-text{text-align:center;font-size:12px}.pagination-controls{gap:10px;font-size:13px}.pagination-controls button{width:32px;height:32px;font-size:16px;border-radius:8px}.expand-grid-btn{padding:8px 16px;font-size:13px;border-radius:8px;font-weight:600}}@media (max-width: 480px){.pattern-grid-container{padding:8px}.pattern-grid-header h2{font-size:14px}.draggable-patterns{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:4px}.draggable-pattern{padding:4px;min-width:90px}.grid-cell{min-height:40px;aspect-ratio:2/1}.grid-pattern{padding:4px}.pattern-mini-visualization{min-height:16px}.mini-note{width:2px;height:2px}.sequence-info{font-size:11px}.progress-text{font-size:10px}}@media (hover: none) and (pointer: coarse){.draggable-pattern{min-height:48px;touch-action:none;-webkit-tap-highlight-color:rgba(76,175,80,.2);user-select:none}.grid-cell{min-height:52px;touch-action:manipulation;-webkit-tap-highlight-color:rgba(74,158,255,.2)}.sequence-play-button,.sequence-pause-button,.sequence-stop-button,.add-pattern-btn{min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.pagination-controls button{min-width:48px;min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.expand-grid-btn{min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.draggable-pattern:active{transform:scale(.98);background:linear-gradient(135deg,#4a4a4a,#404040)}.grid-pattern:active{transform:scale(.96)}.sequence-play-button:active,.sequence-pause-button:active,.sequence-stop-button:active{transform:scale(.95)}}.grid-sequence-controls{margin:15px 0;padding:15px;background:#2a2a2a;border-radius:8px;border:1px solid #404040}.sequence-playback-buttons{display:flex;gap:10px;align-items:center;margin-bottom:15px}.sequence-play-button,.sequence-pause-button,.sequence-stop-button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.sequence-play-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.sequence-play-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3e8e41);transform:translateY(-1px)}.sequence-pause-button{background:linear-gradient(135deg,#ff9800,#e68900);color:#fff}.sequence-pause-button:hover{background:linear-gradient(135deg,#e68900,#c70);transform:translateY(-1px)}.sequence-stop-button{background:linear-gradient(135deg,#f44336,#da190b);color:#fff}.sequence-stop-button:hover:not(:disabled){background:linear-gradient(135deg,#da190b,#c4170a);transform:translateY(-1px)}.sequence-play-button:disabled,.sequence-stop-button:disabled{background:#555;color:#999;cursor:not-allowed;transform:none}.sequence-status{display:flex;flex-direction:column;gap:10px}.sequence-info{display:flex;gap:20px;align-items:center;font-size:14px;color:#e0e0e0}.current-pattern{color:#4caf50}.sequence-position{color:#ffa726}.sequence-progress{display:flex;align-items:center;gap:10px}.progress-bar{flex:1;height:8px;background:#444;border-radius:4px;overflow:hidden;border:1px solid #555}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#81c784);transition:width .1s ease;border-radius:3px}.progress-text{font-size:12px;color:#bbb;min-width:80px;text-align:right}.grid-cell.currently-playing{background:radial-gradient(circle,#ff980040,#ff980012 70%);border:2px solid #FF9800;animation:pulse-playing 2s ease-in-out infinite}.grid-pattern.currently-playing{background:linear-gradient(135deg,#ff9800f2,#ffb74dd9);color:#fff;transform:scale(1.02);box-shadow:0 4px 12px #ff980066}.grid-pattern.currently-playing:hover{background:linear-gradient(135deg,#ff9800f2,#ffb74dd9);transform:scale(1.02)}.playing-indicator{position:absolute;top:4px;right:4px;font-size:16px;color:#fff;text-shadow:0 0 4px rgba(255,152,0,.8);animation:bounce-note 1s ease-in-out infinite}@keyframes pulse-playing{0%{box-shadow:0 0 #ff980073}70%{box-shadow:0 0 0 8px #ff980000}to{box-shadow:0 0 #ff980000}}@keyframes bounce-note{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.pattern-grid-container.sequence-playing .playback-controls{opacity:.6;pointer-events:none}.pattern-grid-container.sequence-playing .playback-controls:after{content:"Grid sequence is playing";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#ffa726;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:10}@media (max-width: 768px){.sequence-playback-buttons{flex-direction:column;gap:8px}.sequence-info{flex-direction:column;gap:8px;align-items:flex-start}.sequence-progress{flex-direction:column;gap:8px;align-items:stretch}.progress-text{text-align:center}}.export-panel{background:#2a2a2a;border-radius:8px;padding:16px;margin-top:16px;border:1px solid #444}.export-upgrade-prompt{display:flex;justify-content:center;align-items:center;min-height:300px;padding:2rem}.upgrade-content{text-align:center;max-width:400px;padding:2rem;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:12px;border:1px solid #444}.upgrade-icon{font-size:3rem;margin-bottom:1rem}.upgrade-content h4{color:#fff;font-size:1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#7877c6,#ff77c6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upgrade-content p{color:#ccc;margin-bottom:1.5rem;font-size:1rem}.feature-list{list-style:none;padding:0;margin:1.5rem 0;text-align:center}.feature-list li{color:#ccc;padding:.5rem 0;font-size:.9rem;display:inline-block;align-items:center;gap:.5rem}.upgrade-button{background:linear-gradient(135deg,#7877c6,#ff77c6);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.upgrade-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #7877c64d}.export-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.export-controls{display:flex;align-items:center;gap:10px}.export-musicxml-button{background:#3a3a3a;color:#ccc;border:1px solid #555;padding:8px 12px;border-radius:4px;cursor:pointer;font-weight:400;transition:all .2s ease;box-shadow:0 1px 2px #0000004d}.export-musicxml-button:hover:not(:disabled){background:#444;color:#fff;border-color:#666;box-shadow:0 2px 4px #0006}.export-musicxml-button:disabled{background:#2a2a2a;color:#666;border-color:#444;cursor:not-allowed;opacity:.6;box-shadow:none}.export-ascii-tab-button{background:#3a3a3a;color:#ccc;border:1px solid #555;padding:8px 12px;border-radius:4px;cursor:pointer;font-weight:400;transition:all .2s ease;box-shadow:0 1px 2px #0000004d}.export-ascii-tab-button:hover:not(:disabled){background:#444;color:#fff;border-color:#666;box-shadow:0 2px 4px #0006}.export-ascii-tab-button:disabled{background:#2a2a2a;color:#666;border-color:#444;cursor:not-allowed;opacity:.6;box-shadow:none}.export-mode-selector{display:flex;gap:12px}.export-mode-selector label{display:flex;align-items:center;gap:4px;color:#ccc;font-size:14px;cursor:pointer}.export-mode-selector input[type=radio]{margin:0}.export-panel-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.copy-button{background:#3a3a3a;color:#ccc;border:1px solid #555;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:400;transition:all .2s ease;box-shadow:0 1px 2px #0000004d}.copy-button:hover:not(:disabled){background:#444;color:#fff;border-color:#666;box-shadow:0 2px 4px #0006}.copy-button:disabled{background:#2a2a2a;color:#666;border-color:#444;cursor:not-allowed;opacity:.6;box-shadow:none}.copy-button.success{background:#4a4a4a;color:#90ee90;border-color:#5a5a5a;animation:pulse .3s ease}.export-dropdown-container{position:relative;display:inline-block}.export-button{background:#3a3a3a;color:#ccc;border:1px solid #555;padding:8px 12px;border-radius:4px;cursor:pointer;font-weight:400;transition:all .2s ease;box-shadow:0 1px 2px #0000004d;display:flex;align-items:center;gap:.5rem}.export-button:hover:not(:disabled){background:#444;color:#fff;border-color:#666;box-shadow:0 2px 4px #0006}.export-button:disabled{background:#2a2a2a;color:#666;border-color:#444;cursor:not-allowed;opacity:.6;box-shadow:none}.dropdown-arrow{font-size:.8rem;transition:transform .2s ease}.export-dropdown{position:absolute;top:100%;left:0;background:#2a2a2a;border:1px solid #555;border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:1000;min-width:150px;overflow:hidden}.export-dropdown button{width:100%;background:none;border:none;color:#ccc;padding:10px 12px;text-align:left;cursor:pointer;font-size:14px;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem}.export-dropdown button:hover:not(:disabled){background:#3a3a3a;color:#fff}.export-dropdown button:disabled{color:#666;cursor:not-allowed;opacity:.6}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.export-content{position:relative}.tab-display{background:#1e1e1e;border:1px solid #555;border-radius:4px;padding:16px;overflow-x:auto;max-height:600px;overflow-y:auto}.ascii-tab{font-family:Courier New,Monaco,Menlo,monospace;font-size:13px;line-height:1.5;color:#e0e0e0;margin:0;white-space:pre;word-wrap:break-word;letter-spacing:.5px}.no-pattern-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#888;font-style:italic;text-align:center;pointer-events:none;z-index:1}.tab-display::-webkit-scrollbar{width:8px;height:8px}.tab-display::-webkit-scrollbar-track{background:#2a2a2a;border-radius:4px}.tab-display::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.tab-display::-webkit-scrollbar-thumb:hover{background:#666}.alphatab-container{width:100%}.alphatab-controls{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap;justify-content:flex-end}.alphatab-controls button{background:#3a3a3a;color:#ccc;border:1px solid #555;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.alphatab-controls button:hover:not(:disabled){background:#444;color:#fff;border-color:#666}.alphatab-controls button:disabled{background:#2a2a2a;color:#666;border-color:#444;cursor:not-allowed;opacity:.6}.page-indicator{font-size:12px;color:#666}.alphatab-renderer{width:100%;min-height:500px;background:#fff;border-radius:8px;overflow:hidden}@media (max-width: 768px){.export-panel{padding:12px}.export-panel-header{flex-direction:column;gap:12px;align-items:stretch}.export-controls{flex-direction:column;gap:8px}.export-mode-selector{justify-content:center}.copy-button{width:100%}.ascii-tab{font-size:12px}.alphatab-container{width:100%;overflow-x:auto}.alphatab-controls{justify-content:center;margin-bottom:12px}.alphatab-renderer{min-height:400px;width:100%;min-width:600px;overflow-x:auto;overflow-y:hidden}.tab-display{padding:12px;max-height:400px}}.mobile-navigation{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:linear-gradient(135deg,#2a2a2af2,#262626e6),radial-gradient(circle at center bottom,rgba(76,175,80,.08),transparent 70%);backdrop-filter:blur(12px) saturate(1.2);border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -4px 20px #0006,inset 0 1px #ffffff0d;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1);padding:env(safe-area-inset-bottom) 0 0 0}.mobile-navigation.hidden{transform:translateY(100%)}.mobile-navigation.visible{transform:translateY(0)}.nav-container{display:flex;align-items:center;justify-content:space-around;padding:12px 16px;position:relative}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;background:transparent;border:none;color:#ccc;cursor:pointer;padding:8px 12px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;min-width:60px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.nav-item:hover{color:#fff;background:#ffffff14;transform:translateY(-2px)}.nav-item.active{color:#4caf50;background:linear-gradient(135deg,#4caf5026,#4caf5014),radial-gradient(circle at center,rgba(76,175,80,.1),transparent 70%);transform:translateY(-2px);box-shadow:0 4px 12px #4caf5033,inset 0 1px #4caf5033}.nav-item.active:hover{color:#66bb6a;background:linear-gradient(135deg,#4caf5033,#4caf501f),radial-gradient(circle at center,rgba(76,175,80,.15),transparent 70%)}.nav-icon{font-size:20px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.nav-label{font-size:11px;font-weight:600;text-align:center;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.nav-indicator{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:24px;height:3px;background:linear-gradient(90deg,#4caf50,#66bb6a);border-radius:2px;box-shadow:0 0 8px #4caf5080;animation:indicatorGlow 2s ease-in-out infinite alternate}@keyframes indicatorGlow{0%{box-shadow:0 0 8px #4caf5080}to{box-shadow:0 0 12px #4caf50cc}}.playback-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#ff980026,#ff980014),radial-gradient(circle at center,rgba(255,152,0,.1),transparent 70%);border:1px solid rgba(255,152,0,.3);border-radius:20px;color:#ff9800;font-size:11px;font-weight:600;backdrop-filter:blur(4px);box-shadow:0 2px 8px #ff980033,inset 0 1px #ff98001a}.pulse-dot{width:8px;height:8px;background:#ff9800;border-radius:50%;animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 4px #ff980080}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@media (max-width: 480px){.nav-container{padding:10px 12px}.nav-item{padding:6px 8px;min-width:50px}.nav-icon{font-size:18px}.nav-label{font-size:10px}.playback-indicator{padding:4px 8px;font-size:10px}.pulse-dot{width:6px;height:6px}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 500px){.mobile-navigation{position:relative;bottom:auto;border-top:none;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0006,inset 0 -1px #ffffff0d}.nav-container{padding:8px 16px}.nav-item{flex-direction:row;gap:8px;padding:6px 12px}.nav-icon{font-size:16px}.nav-label{font-size:12px}}@media (prefers-contrast: high){.mobile-navigation{background:#000000f2;border-top:2px solid #fff}.nav-item{border:1px solid transparent}.nav-item.active{border-color:#4caf50;background:#4caf5033}}@media (prefers-reduced-motion: reduce){.mobile-navigation,.nav-item,.nav-indicator,.pulse-dot{animation:none;transition:none}.nav-item:hover,.nav-item.active{transform:none}}.file-menu{position:relative;display:inline-block}.file-menu-button{background:linear-gradient(135deg,#2a2a2a,#1f1f1f);border:1px solid #444;color:#fff;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 4px #0003;position:relative;overflow:hidden}.file-menu-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.file-menu-button:hover:before{left:100%}.file-menu-button:hover{background:linear-gradient(135deg,#3a3a3a,#2f2f2f);border-color:#4caf50;box-shadow:0 4px 8px #0000004d,0 0 0 1px #4caf5033;transform:translateY(-1px)}.file-menu-button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.menu-icon{font-size:1rem}.menu-text{font-weight:600;letter-spacing:.5px}.menu-arrow{font-size:.7rem;color:#999;transition:transform .2s ease}.file-menu-button:hover .menu-arrow{color:#4caf50}.file-menu-dropdown{position:fixed;background:#2a2a2a;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:99999;min-width:280px;max-height:500px}.file-menu-section{padding:4px 0}.file-menu-item{width:100%;background:none;border:none;color:#fff;padding:10px 16px;text-align:left;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.file-menu-item:hover{background:#3a3a3a}.file-menu-item:disabled{color:#666;cursor:not-allowed}.file-menu-item:disabled:hover{background:none}.file-menu-item.active{background:#1a4a6b}.file-menu-item.danger{color:#ff6b6b}.file-menu-item.danger:hover{background:#4a1a1a}.shortcut{font-size:12px;color:#999;margin-left:16px}.arrow{font-size:12px;color:#999}.file-menu-separator{height:1px;background:#444;margin:4px 0}.flyout-container{position:relative}.flyout-menu{position:absolute;top:-1px;left:100%;margin-left:1px;background:#2a2a2a;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #0006;z-index:1001;min-width:280px;max-height:500px;overflow-y:auto}.recent-files-submenu,.export-options-submenu{max-height:200px;overflow-y:auto}.recent-file-item{padding:8px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;color:#fff}.recent-file-item:hover{background:#2a2a2a}.recent-file-item.empty{color:#666;cursor:default;font-style:italic}.recent-file-item.empty:hover{background:none}.recent-file-info{flex:1}.recent-file-name{font-size:14px;color:#fff;margin-bottom:2px;padding:8px 0}.recent-file-path{font-size:12px;color:#999;margin-bottom:2px}.recent-file-date{font-size:11px;color:#666}.remove-recent-file{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:2px;font-size:12px;transition:all .2s ease}.remove-recent-file:hover{background:#4a1a1a;color:#ff6b6b}.file-menu-info{border-top:1px solid #444;padding:12px 16px;background:#1a1a1a}.project-info{font-size:12px}.project-name{color:#fff;font-weight:700;margin-bottom:4px}.project-status{color:#999;display:flex;flex-direction:column;gap:2px}.last-saved{font-size:11px;color:#666}.recent-files-submenu::-webkit-scrollbar{width:6px}.recent-files-submenu::-webkit-scrollbar-track{background:#1a1a1a}.recent-files-submenu::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.recent-files-submenu::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 768px){.file-menu-dropdown{min-width:250px;max-height:400px}.file-menu-item{padding:12px 16px;font-size:16px}.shortcut{display:none}}.project-loading-screen{position:fixed;inset:0;background:linear-gradient(135deg,#0f0f0f,#1a1a1a,#0a0a0a);display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden}.project-loading-content{text-align:center;z-index:2;position:relative}.project-loading-spinner{position:relative;width:60px;height:60px;margin:0 auto 40px}.spinner-ring{position:absolute;width:100%;height:100%;border:2px solid transparent;border-radius:50%;animation:spin 1.5s linear infinite}.spinner-ring:nth-child(1){border-top-color:#606060;animation-duration:1.5s}.spinner-ring:nth-child(2){border-right-color:#505050;animation-duration:2s;animation-direction:reverse;width:80%;height:80%;top:10%;left:10%}.spinner-ring:nth-child(3){border-bottom-color:#404040;animation-duration:2.5s;width:60%;height:60%;top:20%;left:20%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-loading-text h2{font-size:28px;font-weight:700;color:#e0e0e0;margin:0 0 12px;letter-spacing:-.025em}.project-loading-text p{font-size:16px;color:#a0a0a0;margin:0 0 32px;opacity:.9}.loading-progress{width:200px;margin:0 auto}.progress-bar{width:100%;height:2px;background:#2a2a2a;border-radius:1px;overflow:hidden;position:relative}.progress-fill{height:100%;background:#606060;border-radius:1px;animation:progressFill 1.8s ease-in-out infinite}@keyframes progressFill{0%{width:0%;transform:translate(-100%)}50%{width:100%;transform:translate(0)}to{width:100%;transform:translate(100%)}}.loading-background-pattern{position:absolute;inset:0;opacity:.03;z-index:1}.pattern-line{position:absolute;width:100%;height:1px;background:linear-gradient(90deg,transparent,#303030,transparent);animation:patternMove 6s linear infinite}.pattern-line:nth-child(1){top:20%;animation-delay:0s}.pattern-line:nth-child(2){top:40%;animation-delay:1s}.pattern-line:nth-child(3){top:60%;animation-delay:2s}.pattern-line:nth-child(4){top:80%;animation-delay:3s}.pattern-line:nth-child(5){display:none}.pattern-line:nth-child(6){display:none}@keyframes patternMove{0%{transform:translate(-100%);opacity:0}50%{opacity:1}to{transform:translate(100%);opacity:0}}.project-error-icon{width:80px;height:80px;margin:0 auto 32px;display:flex;align-items:center;justify-content:center}.error-symbol{font-size:48px;color:gray;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.retry-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;background:#404040;border:1px solid #606060;border-radius:8px;font-size:14px;font-weight:500;color:#e0e0e0;cursor:pointer;transition:all .2s ease;margin-top:16px}.retry-button:hover{background:#505050;border-color:#707070;transform:translateY(-1px);box-shadow:0 4px 12px #4040404d}.retry-button:active{transform:translateY(0)}@media (max-width: 640px){.project-loading-spinner,.project-error-icon{width:50px;height:50px;margin-bottom:32px}.error-symbol{font-size:32px}.project-loading-text h2{font-size:22px}.project-loading-text p{font-size:14px}.loading-progress{width:180px}.retry-button{width:100%;max-width:200px}}.unsaved-changes-modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.unsaved-changes-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;max-width:450px;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.close-button:hover{background-color:#f3f4f6;color:#374151}.modal-content{padding:0 24px;text-align:center}.warning-icon{font-size:3rem;margin-bottom:16px}.warning-message{font-size:1rem;font-weight:500;color:#374151;margin:0 0 8px;line-height:1.5}.warning-submessage{font-size:.875rem;color:#6b7280;margin:0 0 24px;line-height:1.4}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px;border-top:1px solid #e5e7eb}.cancel-button,.confirm-button{padding:10px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:80px}.cancel-button{background-color:#fff;color:#374151;border:1px solid #d1d5db}.cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}@media (max-width: 640px){.unsaved-changes-modal-backdrop{padding:10px}.unsaved-changes-modal{max-width:none;width:100%;margin:0;border-radius:8px}.modal-header{padding:20px 20px 0;margin-bottom:20px}.modal-header h2{font-size:1.125rem}.modal-content{padding:0 20px}.warning-icon{font-size:2.5rem;margin-bottom:12px}.warning-message{font-size:.9rem}.warning-submessage{font-size:.8rem;margin-bottom:20px}.modal-actions{flex-direction:column-reverse;gap:8px;padding:16px 20px 20px}.cancel-button,.confirm-button{width:100%;padding:12px 20px}}.unsaved-changes-modal{background:#1a1a1a;color:#e8e8e8;border:1px solid rgba(255,255,255,.1)}.modal-header{border-bottom-color:#ffffff1a}.modal-header h2,.close-button{color:#e8e8e8}.close-button:hover{background-color:#ffffff1a;color:#fff}.warning-message{color:#e8e8e8}.warning-submessage{color:#9ca3af}.modal-actions{border-top-color:#ffffff1a}.cancel-button{background-color:#ffffff1a;color:#e8e8e8;border:1px solid rgba(255,255,255,.2)}.cancel-button:hover{background-color:#fff3;color:#fff}.confirm-button{background-color:#ef4444;color:#fff}.confirm-button:hover{background-color:#dc2626}.app{width:100vw;height:100vh;display:flex;flex-direction:column;background-color:#1a1a1a;color:#fff;overflow:hidden;box-sizing:border-box}.app-header{background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a);border-bottom:2px solid #333;box-shadow:0 2px 10px #0000004d;padding:.75rem 2rem;flex-shrink:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;position:relative;height:80px;overflow:hidden}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#4CAF50,transparent)}.header-left{display:flex;align-items:center;gap:1.5rem}.header-center{display:flex;justify-content:center;align-items:center}.header-right{display:flex;align-items:center;gap:1rem;justify-self:end}.brand-section{display:flex;align-items:center}.brand-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;height:100%}.logo-icon{max-width:4.5em;max-height:4.5em;width:auto;height:auto;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:.1rem}.brand-title{margin:0;font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#4caf50,#81c784);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;text-shadow:0 0 20px rgba(76,175,80,.3)}.brand-subtitle{font-size:.75rem;color:#999;font-weight:400;letter-spacing:.5px;text-transform:uppercase}.header-divider{width:1px;height:40px;background:linear-gradient(to bottom,transparent,#444,transparent)}.menu-section{display:flex;align-items:center;gap:.5rem}.projects-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e8e8e8;padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s ease}.projects-btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff;transform:translateY(-1px)}.project-info{text-align:center;display:flex;flex-direction:column;gap:.25rem}.project-name-display{display:flex;align-items:center;gap:.5rem;justify-content:center}.project-name{color:#fff;font-weight:600;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.modified-indicator{color:#ff9800;font-size:1rem;animation:blink 1.5s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(255,152,0,.5))}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.last-saved-info{font-size:.7rem;color:#666;font-weight:400}.status-indicators{display:flex;align-items:center;gap:.75rem}.playback-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.playback-indicator{background:#2196f326;border:1px solid rgba(33,150,243,.3);color:#2196f3;animation:playingPulse 1s ease-in-out infinite}@keyframes playingPulse{0%,to{box-shadow:0 0 #2196f366}50%{box-shadow:0 0 0 4px #2196f31a}}.indicator-icon{font-size:.8rem}.indicator-text{font-size:.65rem}.user-profile-section{display:flex;align-items:center;margin-left:1rem}.mobile-menu-toggle{display:none;background:none;border:none;color:#e8e8e8;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:background-color .3s ease}.mobile-menu-toggle:hover{background:#ffffff1a}.mobile-nav-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:9999}.mobile-nav-overlay.open{display:block}.mobile-nav-menu{position:fixed;top:0;right:-100%;width:320px;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a);backdrop-filter:blur(20px);border-left:2px solid #333;transition:right .3s ease;z-index:10000;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;box-shadow:-4px 0 20px #0000004d}.mobile-nav-menu.open{right:0;animation:slideInRight .3s ease-out}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid #333}.mobile-nav-close{background:none;border:none;color:#e8e8e8;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:background-color .3s ease}.mobile-nav-close:hover{background:#ffffff1a}.mobile-nav-content{display:flex;flex-direction:column;gap:2rem;flex:1}.mobile-project-info{text-align:center;padding:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px}.mobile-project-info .project-name-display{justify-content:center;margin-bottom:.5rem}.mobile-project-info .project-name{font-size:1.1rem;font-weight:600}.mobile-project-info .last-saved-info{display:block;font-size:.8rem;color:#999}.mobile-menu-actions{display:flex;flex-direction:column;gap:1rem}.mobile-action-btn{display:flex;align-items:center;gap:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#e8e8e8;padding:1rem 1.5rem;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;text-align:left}.mobile-action-btn:hover{background:#ffffff1a;border-color:#fff3;color:#fff;transform:translateY(-1px)}.mobile-action-btn svg{flex-shrink:0}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.app.mobile{touch-action:manipulation}.app.mobile *{-webkit-tap-highlight-color:transparent}.app>.loading-container.overlay{background:#1a1a1a}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-layout{display:flex;flex:1;min-height:0;overflow:hidden}.app-sidebar{width:300px;min-width:300px;max-width:300px;background-color:#252525;border-right:1px solid #404040;padding:1rem;overflow-y:auto;flex-shrink:0}.app-content{flex:1;padding:1rem;overflow-x:hidden;overflow-y:auto;background-color:#1e1e1e;min-width:0;box-sizing:border-box}.pattern-manager-placeholder,.settings-panel-placeholder,.piano-roll-placeholder,.export-panel-placeholder{background-color:#2a2a2a;border:1px solid #404040;border-radius:4px;padding:1rem;margin-bottom:1rem}.pattern-manager-placeholder h2,.settings-panel-placeholder h2,.piano-roll-placeholder h2,.export-panel-placeholder h2{margin:0 0 .5rem;font-size:1.1rem;color:#fff}.pattern-manager-placeholder p,.settings-panel-placeholder p,.piano-roll-placeholder p,.export-panel-placeholder p{margin:0;color:#ccc;font-size:.9rem}.app *{-webkit-tap-highlight-color:rgba(76,175,80,.2)}.app button,.app input,.app select{outline:none;transition:all .2s ease}.app button:focus-visible,.app input:focus-visible,.app select:focus-visible{outline:2px solid #4CAF50;outline-offset:2px}.mobile-menu-toggle:focus-visible,.mobile-nav-close:focus-visible,.mobile-action-btn:focus-visible{outline:2px solid #4CAF50;outline-offset:2px}@media (max-width: 1200px){.app-sidebar{width:280px;min-width:280px;max-width:280px}.app-content{padding:.875rem}}@media (max-width: 1024px){.app-sidebar{width:260px;min-width:260px;max-width:260px}.app-content{padding:.75rem}}@media (max-width: 768px){.app{height:100vh;height:100dvh;font-size:14px}.app-header{padding:.75rem 1rem;position:sticky;top:0;z-index:100;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a);backdrop-filter:blur(15px);box-shadow:0 4px 12px #0006}.header-left{display:flex;align-items:center;gap:.75rem}.header-center{justify-self:center}.header-right{justify-self:end;display:flex;align-items:center;gap:.5rem}.desktop-menu{display:none}.mobile-menu-toggle{display:block}.brand-title{font-size:1.4rem!important}.brand-subtitle{font-size:.65rem!important}.logo-icon{max-width:3.5em!important;max-height:3.5em!important;width:auto!important;height:auto!important}.project-info{text-align:center}.project-name{font-size:.9rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-saved-info{display:none}.status-indicators{gap:.5rem}.playback-indicator{padding:.2rem .4rem}.indicator-text{display:none}.app-header h1{font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,#fff,#e0e0e0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-layout{flex-direction:column;height:100%}.app-sidebar{width:100%;min-width:100%;max-width:100%;border-right:none;border-bottom:2px solid #404040;padding:1rem;max-height:40vh;overflow-y:auto;flex-shrink:0;background:linear-gradient(135deg,#252525,#222);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555 transparent}.app-sidebar::-webkit-scrollbar{width:4px}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-sidebar::-webkit-scrollbar-thumb{background:#555;border-radius:2px}.app-content{flex:1;padding:1rem;overflow-y:auto;min-height:0;background:linear-gradient(135deg,#1e1e1e,#1a1a1a);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#555 transparent}.app-content::-webkit-scrollbar{width:4px}.app-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb{background:#555;border-radius:2px}}@media (max-width: 480px){.app-header{padding:.5rem .75rem}.app-header h1{font-size:1.1rem}.app-sidebar{padding:.5rem;max-height:30vh}.app-content{padding:.5rem}.mobile-nav-menu{width:100vw;right:-100vw}.mobile-nav-menu.open{right:0}.brand-subtitle,.mobile-project-info .last-saved-info{display:none}}@media (max-width: 768px) and (orientation: landscape) and (max-height: 500px){.app-layout{flex-direction:row}.app-sidebar{width:280px;min-width:280px;max-width:280px;max-height:none;border-right:1px solid #404040;border-bottom:none;height:100%}.app-content{flex:1;height:100%}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}.app-sidebar,.app-content{-webkit-overflow-scrolling:touch}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.app{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.mobile-swipe-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.mobile-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:80px}.mobile-section{flex:1;display:flex;flex-direction:column;gap:16px;padding:16px}@media (max-width: 768px) and (orientation: landscape) and (max-height: 500px){.app.mobile .app-layout{flex-direction:row}.app.mobile .app-sidebar{width:280px;min-width:280px;max-width:280px;max-height:none;border-right:1px solid #404040;border-bottom:none;height:100%}.app.mobile .app-content{flex:1;height:100%;padding-bottom:0}.mobile-content{padding-bottom:0}}.data-restored-notification{position:fixed;top:20px;right:20px;z-index:10001;background:linear-gradient(135deg,#10b981,#059669);border:1px solid rgba(16,185,129,.3);border-radius:12px;box-shadow:0 10px 25px #0000004d;max-width:400px;transform:translate(100%);opacity:0;transition:all .3s ease-out}.data-restored-notification.visible{transform:translate(0);opacity:1}.notification-content{display:flex;align-items:center;padding:16px 20px;gap:12px}.notification-icon{font-size:24px;flex-shrink:0}.notification-text{flex:1}.notification-text h3{font-size:16px;font-weight:600;color:#fff;margin:0 0 4px}.notification-text p{font-size:14px;color:#ffffffe6;margin:0;line-height:1.4}.notification-close{background:none;border:none;color:#fffc;font-size:20px;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;flex-shrink:0;line-height:1}.notification-close:hover{color:#fff;background:#ffffff1a}@media (max-width: 640px){.data-restored-notification{top:10px;right:10px;left:10px;max-width:none}.notification-content{padding:14px 16px}.notification-text h3{font-size:15px}.notification-text p{font-size:13px}}
