@import url('https://fonts.googleapis.com/css2?family=Newsreader:wght@400;600;700&family=Crimson+Pro:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap');
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.brass-tutorial{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;max-width:1000px;margin:0 auto;}.brass-tutorial h2{color:#667eea;margin-top:40px;margin-bottom:20px;border-bottom:3px solid #667eea;padding-bottom:10px;}.brass-tutorial h3{color:#764ba2;margin-top:25px;margin-bottom:15px;}.brass-tutorial p{margin-bottom:15px;}.brass-tutorial ul{margin-left:30px;margin-bottom:15px;}.brass-tutorial li{margin-bottom:8px;}.interactive-demo{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);padding:30px;margin:30px 0;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,0.1);}.demo-title{font-size:1.3em;color:#764ba2;margin-bottom:20px;text-align:center;font-weight:bold;}.harmonic-visualizer{display:flex;align-items:flex-end;justify-content:space-around;height:250px;margin:20px 0;padding:20px;background:white;border-radius:8px;}.harmonic-bar{width:40px;background:linear-gradient(to top,#667eea,#764ba2);border-radius:5px 5px 0 0;transition:all 0.3s ease;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;}.harmonic-bar:hover{background:linear-gradient(to top,#764ba2,#667eea);transform:scale(1.05);}.harmonic-bar.active{background:linear-gradient(to top,#ff6b6b,#ee5a24);animation:pulse 0.5s ease;}@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.1);}}.harmonic-label{position:absolute;bottom:-25px;font-size:0.8em;font-weight:bold;color:#333;}.harmonic-note{position:absolute;top:-25px;font-size:0.9em;font-weight:bold;color:#764ba2;}.trombone-simulator{background:white;padding:30px;border-radius:8px;margin:20px 0;}.trombone-visual{position:relative;height:150px;margin:30px 0;}.trombone-outer{position:absolute;top:50px;left:50px;width:400px;height:40px;background:linear-gradient(to right,#c9a227,#f4d03f);border-radius:5px;box-shadow:0 4px 8px rgba(0,0,0,0.2);}.trombone-inner{position:absolute;top:55px;left:150px;width:300px;height:30px;background:linear-gradient(to right,#d4af37,#ffd700);border-radius:5px;transition:left 0.3s ease;box-shadow:inset 0 2px 4px rgba(0,0,0,0.2);}.slide-control{margin-top:20px;text-align:center;}.slide-control input[type="range"]{width:80%;height:8px;background:#ddd;border-radius:5px;outline:none;}.slide-control input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#764ba2;border-radius:50%;cursor:pointer;}.slide-control input[type="range"]::-moz-range-thumb{width:20px;height:20px;background:#764ba2;border-radius:50%;cursor:pointer;border:none;}.position-display{margin-top:15px;font-size:1.2em;font-weight:bold;color:#764ba2;}.valve-simulator{background:white;padding:30px;border-radius:8px;margin:20px 0;}.valves-container{display:flex;justify-content:center;gap:40px;margin:30px 0;flex-wrap:wrap;}.valve{display:flex;flex-direction:column;align-items:center;cursor:pointer;}.valve-button{width:80px;height:120px;background:linear-gradient(to bottom,#c9a227,#f4d03f);border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,0.3);transition:all 0.2s ease;position:relative;overflow:hidden;}.valve-button::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:rgba(255,255,255,0.2);border-radius:10px 10px 0 0;}.valve.pressed .valve-button{transform:translateY(10px);box-shadow:0 2px 5px rgba(0,0,0,0.3);background:linear-gradient(to bottom,#d4af37,#ffd700);}.valve-label{margin-top:15px;font-weight:bold;color:#333;}.valve-info{font-size:0.9em;color:#666;text-align:center;}.semitone-display{margin-top:20px;padding:15px;background:#f0f0f0;border-radius:8px;text-align:center;font-size:1.1em;font-weight:bold;color:#764ba2;}.wave-container{height:150px;background:white;border-radius:8px;margin:20px 0;position:relative;overflow:hidden;}.wave{position:absolute;width:100%;height:100%;}.wave-path{stroke:#667eea;stroke-width:3;fill:none;}.control-buttons{display:flex;justify-content:center;gap:15px;margin:20px 0;flex-wrap:wrap;}.btn{padding:12px 25px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;border:none;border-radius:25px;cursor:pointer;font-size:1em;font-weight:bold;transition:all 0.3s ease;box-shadow:0 4px 10px rgba(0,0,0,0.2);}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(0,0,0,0.3);}.btn:active{transform:translateY(0);}.info-box{background:#e3f2fd;border-left:4px solid #667eea;padding:15px;margin:20px 0;border-radius:5px;}.info-box strong{color:#764ba2;}@media (max-width:768px){.trombone-outer{width:300px;left:20px;}.trombone-inner{width:200px;left:120px;}.harmonic-visualizer{height:200px;padding:10px;}.harmonic-bar{width:30px;}.valves-container{gap:20px;}}
:root{--brass:#b8860b;--burgundy:#6d1f3a;--warm-tan:#d4a574;--sage-green:#8b9d7e;--cream:#faf8f3;--parchment:#f5f1e8;--dark-brown:#2c2416;--copper:#c77d4b;--font-display:'Newsreader',serif;--font-body:'Crimson Pro',serif;--font-ui:'DM Sans',sans-serif;}.music-tutorial-container.symbols-tutorial{max-width:1200px;margin:0 auto;padding:2rem;background:var(--cream);font-family:var(--font-body);color:var(--dark-brown);line-height:1.7;}.tutorial-hero{text-align:center;padding:3rem 0 2rem;position:relative;margin-bottom:3rem;}.staff-decoration{position:absolute;top:0;left:50%;transform:translateX(-50%);width:300px;height:40px;background:repeating-linear-gradient(transparent,transparent 7px,var(--brass) 7px,var(--brass) 9px);opacity:0.3;}.tutorial-title{font-family:var(--font-display);font-size:3.5rem;font-weight:700;color:var(--burgundy);margin:0 0 0.5rem 0;letter-spacing:-0.02em;animation:fadeInDown 0.8s ease-out;}.tutorial-subtitle{font-family:var(--font-body);font-size:1.3rem;color:var(--brass);font-weight:400;margin:0;font-style:italic;animation:fadeIn 1s ease-out 0.3s both;}.tutorial-section{margin:4rem 0;animation:fadeInUp 0.6s ease-out;}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:0.75rem;border-bottom:2px solid var(--warm-tan);}.section-number{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--warm-tan);line-height:1;opacity:0.6;}.section-header h2{font-family:var(--font-display);font-size:2.2rem;font-weight:600;color:var(--burgundy);margin:0;}.section-content{font-size:1.1rem;}.lead-text{font-size:1.25rem;line-height:1.8;color:var(--dark-brown);margin-bottom:2rem;}.info-callout{background:var(--parchment);border-left:4px solid var(--brass);padding:1.5rem;margin:2rem 0;border-radius:0 8px 8px 0;display:flex;gap:1rem;box-shadow:2px 2px 8px rgba(108,31,58,0.08);}.callout-icon{font-size:1.8rem;flex-shrink:0;}.info-callout p{margin:0;line-height:1.6;}.barline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:2rem 0;}.barline-card{background:white;border:2px solid var(--warm-tan);border-radius:12px;padding:1.5rem;text-align:center;transition:all 0.3s ease;}.barline-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(108,31,58,0.15);border-color:var(--brass);}.barline-visual{margin-bottom:1rem;}.barline-card h3{font-family:var(--font-display);font-size:1.3rem;color:var(--burgundy);margin:0.5rem 0;}.barline-card p{color:var(--dark-brown);margin:0;font-size:1rem;}.repeat-examples{margin:2rem 0;}.repeat-card{background:white;border:2px solid var(--warm-tan);border-radius:12px;padding:2rem;margin-bottom:2rem;transition:all 0.3s ease;}.repeat-card.featured{border-color:var(--brass);border-width:3px;}.repeat-card:hover{box-shadow:0 6px 20px rgba(108,31,58,0.12);}.repeat-visual-large{margin-bottom:1.5rem;text-align:center;}.repeat-visual{margin-bottom:1.5rem;text-align:center;}.repeat-card h3{font-family:var(--font-display);font-size:1.5rem;color:var(--burgundy);margin:0 0 0.5rem 0;}.repeat-card p{margin:0;line-height:1.6;}.navigation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0;}.nav-card{background:white;border:2px solid var(--sage-green);border-radius:12px;padding:1.5rem;transition:all 0.3s ease;}.nav-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(139,157,126,0.2);border-color:var(--brass);}.nav-symbol{width:80px;height:80px;background:var(--parchment);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;border:3px solid var(--sage-green);transition:all 0.3s ease;}.nav-card:hover .nav-symbol{background:var(--brass);border-color:var(--brass);}.nav-symbol .symbol-text{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--burgundy);}.nav-symbol.segno,.nav-symbol.coda{font-size:3rem;color:var(--burgundy);font-weight:normal;}.nav-card h3{font-family:var(--font-display);font-size:1.3rem;color:var(--burgundy);margin:0 0 0.5rem 0;text-align:center;}.nav-card p{margin:0.5rem 0;font-size:0.95rem;line-height:1.5;}.nav-card strong{color:var(--brass);font-weight:600;}.usage-example{background:var(--parchment);padding:0.75rem;border-radius:6px;margin-top:1rem;font-size:0.9rem;font-style:italic;}.flow-diagram{background:var(--parchment);border:2px solid var(--brass);border-radius:12px;padding:2rem;margin:3rem 0;}.flow-diagram h3{font-family:var(--font-display);font-size:1.5rem;color:var(--burgundy);text-align:center;margin:0 0 2rem 0;}.flow-visual{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem;}.flow-step{background:white;border:2px solid var(--brass);border-radius:8px;padding:1rem;text-align:center;min-width:120px;position:relative;}.step-number{width:30px;height:30px;background:var(--brass);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-ui);margin:0 auto 0.5rem;}.flow-step p{margin:0;font-size:0.9rem;font-weight:500;color:var(--dark-brown);}.flow-arrow{font-size:1.5rem;color:var(--brass);font-weight:bold;}.legend-section{background:linear-gradient(135deg,var(--parchment) 0%,var(--cream) 100%);border-radius:16px;padding:3rem;margin:4rem 0;box-shadow:0 8px 24px rgba(108,31,58,0.1);}.legend-category{margin:3rem 0;}.category-title{font-family:var(--font-display);font-size:1.8rem;color:var(--burgundy);margin:0 0 1.5rem 0;padding-bottom:0.5rem;border-bottom:2px solid var(--brass);display:inline-block;}.terms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.5rem 0;}.term-card{background:white;border:2px solid var(--warm-tan);border-radius:8px;padding:1rem;display:flex;align-items:center;gap:1rem;transition:all 0.2s ease;}.term-card:hover{border-color:var(--brass);box-shadow:0 4px 12px rgba(184,134,11,0.15);transform:translateX(4px);}.term-symbol{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--brass);min-width:50px;text-align:center;}.term-symbol.visual{font-size:2.5rem;}.term-info h4{font-family:var(--font-display);font-size:1.1rem;color:var(--burgundy);margin:0 0 0.25rem 0;}.term-info p{margin:0;font-size:0.9rem;color:var(--dark-brown);}.tempo-list{display:grid;gap:0.75rem;margin:1.5rem 0;}.tempo-item{background:white;border-left:4px solid var(--brass);padding:1rem 1.5rem;border-radius:0 8px 8px 0;display:flex;justify-content:space-between;align-items:center;transition:all 0.2s ease;}.tempo-item:hover{box-shadow:0 4px 12px rgba(184,134,11,0.15);transform:translateX(4px);}.tempo-name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--burgundy);min-width:150px;}.tempo-desc{font-size:1rem;color:var(--dark-brown);font-style:italic;}.summary-section{background:var(--parchment);border-radius:16px;padding:3rem;margin:4rem 0;}.takeaway-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:2rem 0;}.takeaway-card{text-align:center;padding:2rem;background:white;border-radius:12px;border:2px solid var(--brass);transition:all 0.3s ease;}.takeaway-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px rgba(184,134,11,0.2);}.takeaway-icon{font-size:3rem;color:var(--brass);display:block;margin-bottom:1rem;font-weight:bold;}.takeaway-card h3{font-family:var(--font-display);font-size:1.4rem;color:var(--burgundy);margin:0 0 0.5rem 0;}.takeaway-card p{margin:0;color:var(--dark-brown);line-height:1.5;}.final-note{background:white;border:3px solid var(--sage-green);border-radius:12px;padding:2rem;margin-top:2rem;text-align:center;}.final-note p{margin:0;font-size:1.15rem;line-height:1.8;color:var(--dark-brown);}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@media (max-width:768px){.music-tutorial-container.symbols-tutorial{padding:1rem;}.tutorial-title{font-size:2.5rem;}.tutorial-subtitle{font-size:1.1rem;}.section-header h2{font-size:1.8rem;}.section-number{font-size:2rem;}.barline-grid,.navigation-grid,.terms-grid,.takeaway-grid{grid-template-columns:1fr;}.flow-visual{flex-direction:column;}.flow-arrow{transform:rotate(90deg);}.tempo-item{flex-direction:column;align-items:flex-start;gap:0.5rem;}.tempo-name{min-width:auto;}}@media print{.music-tutorial-container.symbols-tutorial{background:white;}.barline-card,.repeat-card,.nav-card,.term-card,.tempo-item{break-inside:avoid;}}
