:root{--color-primary:#2d5f4f;--color-primary-light:#4a9d7f;--color-sage:#8ba888;--color-green-deep:#4a7c59;--color-success:#4caf50;--color-success-light:#8bc34a;--color-text:#2c3e50;--color-cream:#f8f9f5;--color-border:#e0e0e0;--color-bg-start:#e8f5f1;--color-bg-end:#d4f1e8}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;overflow-x:hidden}body{background:linear-gradient(135deg, var(--color-bg-start) 0%, var(--color-bg-end) 100%);min-height:100vh;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.header{background:linear-gradient(135deg, var(--color-primary) 0%, #3d7f6f 100%);color:#fff;z-index:1000;padding:20px;position:sticky;top:0;box-shadow:0 4px 12px #00000026}.header h1{margin-bottom:5px;font-size:24px;font-weight:600}.header p{opacity:.9;font-size:14px}.nav{background:#fff;gap:10px;padding:15px 20px;display:flex;overflow-x:auto;box-shadow:0 2px 8px #0000001a}.nav-button{background:var(--color-cream);color:var(--color-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:all .3s}.nav-button:hover,.nav-button.active{background:var(--color-primary);color:#fff}.container{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:20px;overflow-x:hidden}.section{width:100%;max-width:100%;display:none;overflow-x:hidden}.section.active{animation:.3s fadeIn;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:30px;display:grid}.card{box-sizing:border-box;background:#fff;border-radius:12px;max-width:100%;padding:20px;transition:transform .3s,box-shadow .3s;overflow-x:hidden;box-shadow:0 2px 8px #0000001a}.card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #2d5f4f33}.card h3{color:var(--color-primary);margin-bottom:10px;font-size:18px}.card p{color:#666;font-size:14px;line-height:1.6}.card input,.card select,.card textarea,.card button{box-sizing:border-box;max-width:100%}.card-icon{margin-bottom:15px;font-size:40px}.progress-bar{background:var(--color-border);border-radius:10px;width:100%;height:8px;margin:10px 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-sage));height:100%;transition:width .3s}.spectrogram-container{background:#1a1a1a;border-radius:12px;margin-bottom:20px;padding:20px}.spectrogram-controls{flex-wrap:wrap;gap:10px;margin-bottom:15px;display:flex}.spectrogram-button{cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s}.btn-primary{color:#fff;background:#f4a261}.btn-primary:hover{background:#e89b5a}.btn-secondary{background:var(--color-sage);color:#fff}.btn-secondary:hover{background:#7a9777}.btn-danger{color:#fff;background:#e76f51}.btn-danger:hover{background:#d66548}#spectrogramCanvas{background:#000;border-radius:8px;width:100%;height:300px}.spectrogram-info{color:var(--color-sage);justify-content:space-between;margin-top:10px;font-family:monospace;font-size:12px;display:flex}.exercise-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.exercise-card{border-left:4px solid var(--color-primary);cursor:pointer;background:#fff;border-radius:12px;padding:20px;transition:all .3s;position:relative;box-shadow:0 2px 8px #0000001a}.exercise-card:hover{transform:translate(4px);box-shadow:0 4px 12px #2d5f4f33}.exercise-category{border-radius:20px;margin-bottom:10px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.cat-ascolto{color:#2d3436;background:#ffeaa7}.cat-registrazione{color:#2d3436;background:#74b9ff}.cat-editing{color:#fff;background:#a29bfe}.cat-composizione{color:#fff;background:#fd79a8}.exercise-title{color:var(--color-primary);margin-bottom:8px;font-size:18px;font-weight:600}.exercise-meta{color:#666;font-size:13px}.toolkit-section{margin-bottom:30px}.toolkit-section h3{color:var(--color-primary);margin-bottom:15px;font-size:20px}.reference-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;display:grid}.reference-item{text-align:center;background:#fff;border-radius:8px;padding:15px;transition:all .3s;box-shadow:0 2px 6px #0000001a}.reference-item:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.reference-modal{z-index:10000;background:#000000b3;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow-y:auto}.reference-modal-content{background:#fff;border-radius:12px;max-width:800px;margin:50px auto;padding:30px;position:relative}.reference-modal-close{cursor:pointer;color:#666;font-size:30px;position:absolute;top:15px;right:20px}.reference-modal-close:hover{color:var(--color-primary)}.frequency-bar{border-radius:8px;height:60px;margin:20px 0;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.frequency-section{color:#fff;text-align:center;justify-content:center;align-items:center;padding:5px;font-size:11px;font-weight:700;display:flex;position:relative}.eq-diagram{background:#f5f5f5;border-radius:8px;margin:15px 0;padding:20px}.equipment-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.equipment-card{border-left:4px solid var(--color-primary);background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a}.equipment-card h4{color:var(--color-primary);margin:0 0 10px;font-size:18px}.equipment-card .price{color:var(--color-sage);margin:10px 0;font-size:16px;font-weight:700}.equipment-card .category-badge{background:var(--color-primary);color:#fff;border-radius:12px;margin-bottom:10px;padding:4px 10px;font-size:11px;display:inline-block}.equipment-card ul{margin:10px 0;padding-left:20px}.equipment-card ul li{color:#555;margin:5px 0;font-size:14px}.library-item{border-left:4px solid var(--color-primary);background:#fff;border-radius:10px;margin-bottom:15px;padding:20px;transition:all .3s;box-shadow:0 2px 8px #0000001a}.library-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.library-item h4{color:var(--color-primary);margin:0 0 10px;font-size:18px}.library-item .author{color:#666;margin-bottom:10px;font-size:14px;font-style:italic}.library-item .description{color:#555;margin-bottom:15px;font-size:14px;line-height:1.6}.library-item .link-btn{background:var(--color-primary);color:#fff;border-radius:6px;padding:8px 16px;font-size:14px;text-decoration:none;transition:all .3s;display:inline-block}.library-item .link-btn:hover{background:#1f4538;transform:translate(3px)}.library-category{color:var(--color-primary);background:#e8f5e9;border-radius:12px;margin-bottom:10px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.upload-area{border:2px dashed var(--color-sage);text-align:center;cursor:pointer;background:#fff;border-radius:12px;padding:40px;transition:all .3s}.upload-area:hover{border-color:var(--color-primary);background:var(--color-cream)}.upload-area input{display:none}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px;display:grid}.stat-box{text-align:center;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.stat-number{color:var(--color-primary);font-size:32px;font-weight:700}.stat-label{color:#666;margin-top:5px;font-size:14px}.modal{z-index:2000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal.active{display:flex}.modal-content{background:#fff;border-radius:12px;max-width:600px;max-height:80vh;padding:30px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;color:#666;background:0 0;border:none;font-size:24px;position:absolute;top:15px;right:15px}.filter-btn{border:2px solid var(--color-border);color:#666;cursor:pointer;background:#fff;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s}.filter-btn:hover{border-color:var(--color-primary);background:var(--color-cream)}.filter-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.advanced-filter-btn{border:2px solid var(--color-border);color:#666;cursor:pointer;background:#fff;border-radius:18px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .3s}.advanced-filter-btn:hover{border-color:var(--color-green-deep);background:#f0f5f2}.advanced-filter-btn.active{border-color:var(--color-green-deep);background:var(--color-green-deep);color:#fff}.example-image-card{transition:transform .3s,box-shadow .3s}.example-image-card:hover{transform:translateY(-4px)}.example-image-card canvas{transition:border-color .3s}.example-image-card:hover canvas{box-shadow:0 4px 8px #2d5f4f4d;border-color:var(--color-primary)!important}.section-footer{text-align:center;background:#fff;border-radius:12px;margin-top:40px;padding:30px 20px;box-shadow:0 2px 8px #0000001a}.footer-buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.footer-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.footer-btn.whatsapp{color:#fff;background:#25d366}.footer-btn.whatsapp:hover{background:#1da851}.footer-btn.facebook{color:#fff;background:#1877f2}.footer-btn.facebook:hover{background:#145dbf}.footer-btn.paypal{color:#003087;background:#ffc439}.footer-btn.paypal:hover{background:#e6b033}.footer-btn.feedback{background:var(--color-primary);color:#fff}.footer-btn.feedback:hover{background:#1f4538}.footer-credits{color:#333;text-align:center;background:#f8f8f8;border-radius:8px;margin-top:20px;padding:20px 15px;font-size:15px;line-height:1.6}.footer-credits strong{color:#000;font-weight:600;text-decoration:none}.leaflet-popup-content-wrapper{box-sizing:border-box!important;max-width:calc(100vw - 60px)!important}.leaflet-popup-content{box-sizing:border-box!important;word-wrap:break-word!important;max-width:100%!important;overflow:hidden!important}.leaflet-container{max-width:100%!important}.quickstart-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10000;background:#000000b3;width:100%;height:100%;animation:.3s fadeIn;display:none;position:fixed;top:0;left:0}.quickstart-modal{background:#fff;border-radius:20px;width:90%;max-width:1100px;max-height:90vh;padding:40px;animation:.4s slideUp;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.quickstart-header{text-align:center;margin-bottom:30px}.quickstart-header h2{color:var(--color-primary);margin:0 0 10px;font-size:32px}.quickstart-header p{color:#666;margin:0;font-size:16px}.quickstart-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:25px;margin-bottom:25px;display:grid}.quickstart-card{border:3px solid var(--color-border);text-align:center;cursor:pointer;background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border-radius:16px;padding:30px 25px;transition:all .3s;position:relative;overflow:hidden}.quickstart-card:before{content:"";width:100%;height:5px;transition:height .3s;position:absolute;top:0;left:0}.quickstart-card.quick:before{background:linear-gradient(90deg, var(--color-success), var(--color-success-light))}.quickstart-card.creative:before{background:linear-gradient(90deg,#ff6b6b,orange)}.quickstart-card.deep:before{background:linear-gradient(90deg,#667eea,#764ba2)}.quickstart-card:hover{border-color:var(--color-primary);transform:translateY(-8px);box-shadow:0 12px 30px #00000026}.quickstart-card:hover:before{opacity:.1;height:100%}.quickstart-card-icon{margin-bottom:15px;font-size:64px}.quickstart-card h3{color:var(--color-primary);margin:0 0 10px;font-size:22px;font-weight:700}.quickstart-card-meta{color:#888;margin-bottom:15px;font-size:14px}.quickstart-card p{color:#555;margin-bottom:20px;font-size:15px;line-height:1.6}.quickstart-card-button{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:12px 28px;font-size:15px;font-weight:700;transition:all .2s;display:inline-block}.quickstart-card:hover .quickstart-card-button{background:#1e4436;transform:scale(1.05)}.quickstart-footer{text-align:center;border-top:2px dashed var(--color-border);padding-top:20px}.quickstart-footer a{color:var(--color-primary);font-size:16px;font-weight:700;text-decoration:none;transition:color .2s}.quickstart-footer a:hover{color:var(--color-primary-light);text-decoration:underline}.quickstart-close{cursor:pointer;background:#f0f0f0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.quickstart-close:hover{background:var(--color-border);transform:rotate(90deg)}@media (width<=768px){.quickstart-modal{width:95%;padding:25px}.quickstart-header h2{font-size:24px}.quickstart-cards{grid-template-columns:1fr;gap:20px}.quickstart-card{padding:25px 20px}.quickstart-card-icon{font-size:48px}.quickstart-card h3{font-size:20px}}.guided-path-step{border:3px solid var(--color-border);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:20px;margin-bottom:15px;padding:20px;transition:all .3s;display:flex;position:relative}.guided-path-step.completed{border-color:var(--color-success);background:linear-gradient(135deg,#f1f8f4 0%,#fff 100%)}.guided-path-step.completed:before{content:"";background:var(--color-success);border-radius:12px 0 0 12px;width:5px;position:absolute;top:0;bottom:0;left:0}.guided-path-step.locked{opacity:.5;cursor:not-allowed;background:#f5f5f5}.guided-path-step:not(.locked):hover{border-color:var(--color-primary-light);transform:translate(5px);box-shadow:0 4px 15px #0000001a}.guided-path-number{background:linear-gradient(135deg, var(--color-success), var(--color-success-light));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;font-weight:700;display:flex}.guided-path-step.completed .guided-path-number{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light))}.guided-path-step.completed .guided-path-number:after{content:"✓";font-size:28px}.guided-path-step.locked .guided-path-number{background:#ccc}.guided-path-info{flex:1}.guided-path-info h4{color:var(--color-primary);margin:0 0 5px;font-size:18px}.guided-path-info p{color:#666;margin:0;font-size:14px;line-height:1.5}.guided-path-meta{color:#888;gap:15px;margin-top:8px;font-size:13px;display:flex}.guided-path-badge{color:#fff;text-align:center;background:linear-gradient(135deg,gold,orange);border-radius:12px;margin-top:20px;padding:15px 20px}.guided-path-badge h3{margin:0 0 5px;font-size:20px}.guided-path-badge p{opacity:.95;margin:0;font-size:14px}.guided-path-progress{background:#f0f0f0;border-radius:4px;height:8px;margin-bottom:25px;overflow:hidden}.guided-path-progress-bar{background:linear-gradient(90deg, var(--color-success), var(--color-success-light));border-radius:4px;height:100%;transition:width .5s}@media (width<=768px){.guided-path-step{text-align:center;flex-direction:column;gap:15px}.guided-path-meta{flex-direction:column;gap:5px}}
