*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:linear-gradient(180deg,#0a0a1a 0%,#1a1a3e 50%,#0d0d2e 100%);background-attachment:fixed;color:#e0e0e0;min-height:100vh;line-height:1.7}
body::before{content:'';position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(ellipse at 20% 50%,rgba(139,92,246,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(236,72,153,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(59,130,246,.05) 0%,transparent 50%);pointer-events:none;z-index:0}
a{color:#a78bfa;text-decoration:none}
a:hover{color:#c4b5fd}
img{max-width:100%;border-radius:12px}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}
.navbar{position:sticky;top:0;background:rgba(10,10,26,.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(167,139,250,.2);z-index:1000;padding:.75rem 0}
.nav-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Poppins',sans-serif;font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}
.nav-links{display:flex;list-style:none;gap:2rem}
.nav-links a{color:#9ca3af;font-weight:500;transition:color .2s;padding:.25rem 0;border-bottom:2px solid transparent;transition:all .2s}
.nav-links a:hover,.nav-links a.active{color:#a78bfa;border-bottom-color:#a78bfa}
.nav-toggle{display:none;background:none;border:none;color:#e0e0e0;font-size:1.5rem;cursor:pointer}
@media(max-width:768px){.nav-toggle{display:block}.nav-links{position:fixed;top:60px;left:0;right:0;background:rgba(10,10,26,.98);flex-direction:column;padding:2rem;gap:1.5rem;display:none;text-align:center;border-bottom:1px solid rgba(167,139,250,.15)}.nav-links.active{display:flex}}
.hero{padding:5rem 0 3rem;text-align:center}
.hero h1{font-family:'Poppins',sans-serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.15;margin-bottom:1rem;background:linear-gradient(135deg,#fff 20%,#a78bfa 60%,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}
.hero p{font-size:1.15rem;color:#9ca3af;max-width:600px;margin:0 auto 2rem}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.75rem 2rem;border-radius:50px;font-weight:600;transition:all .2s;cursor:pointer;border:none;font-size:1rem}
.btn-primary{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;box-shadow:0 4px 20px rgba(124,58,237,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(124,58,237,.4)}
.btn-secondary{background:rgba(167,139,250,.1);color:#a78bfa;border:1px solid rgba(167,139,250,.3)}
.btn-secondary:hover{background:rgba(167,139,250,.2)}
.btn-lg{padding:1rem 2.5rem;font-size:1.1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}
.card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px);transition:all .3s}
.card:hover{background:rgba(255,255,255,.07);border-color:rgba(167,139,250,.3);transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.3)}
.card h3{font-family:'Poppins',sans-serif;font-size:1.1rem;margin-bottom:.5rem;color:#fff}
.card p{color:#9ca3af;font-size:.9rem}
.card-btn{display:inline-block;margin-top:1rem;padding:.5rem 1.2rem;background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;border-radius:50px;font-size:.85rem;font-weight:600}
.card-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(124,58,237,.3)}
.section-title{font-family:'Poppins',sans-serif;font-size:1.8rem;text-align:center;margin:3rem 0 1rem;color:#fff}
.section-subtitle{text-align:center;color:#9ca3af;margin-bottom:2rem}
.stats-bar{display:flex;justify-content:center;gap:2.5rem;padding:1.5rem;margin:1.5rem 0;background:linear-gradient(135deg,rgba(124,58,237,.15),rgba(219,39,119,.1));border-radius:20px;border:1px solid rgba(167,139,250,.2);flex-wrap:wrap}
.stats-bar .stat{text-align:center}
.stats-bar span{font-family:'Poppins',sans-serif;font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block}
.stats-bar small{font-size:.85rem;color:#9ca3af}
.tool-container{max-width:750px;margin:2rem auto;padding:0 1.5rem}
.tool-header{text-align:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,rgba(124,58,237,.1),rgba(219,39,119,.05));border-radius:20px}
.tool-header h1{font-family:'Poppins',sans-serif;font-size:1.8rem;color:#fff;margin-bottom:.5rem}
.tool-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2rem}
.form-group{margin-bottom:1.2rem}
.form-group label{display:block;font-weight:600;margin-bottom:.4rem;color:#d1d5db;font-size:.95rem}
input,select,textarea{width:100%;padding:.7rem 1rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#e0e0e0;font-size:1rem;transition:border-color .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.1)}
.output-area{display:none;background:rgba(255,255,255,.04);border:2px solid rgba(167,139,250,.3);border-radius:16px;padding:1.5rem;margin-top:1.5rem}
.output-area pre{white-space:pre-wrap;font-family:'Poppins',monospace;line-height:1.8;font-size:1rem;color:#e0e0e0}
.output-actions{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}
.breadcrumb{padding:1rem 0;font-size:.9rem;color:#9ca3af}
.breadcrumb a{color:#9ca3af}
.content{max-width:800px;margin:0 auto;padding:0 1.5rem}
.content h1{font-family:'Poppins',sans-serif;font-size:2rem;color:#fff;margin-bottom:1.5rem;line-height:1.2}
.content img{margin:1.5rem 0;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.content p{margin-bottom:1.2rem;color:#d1d5db;font-size:1.05rem;line-height:1.9}
.content h2{font-family:'Poppins',sans-serif;font-size:1.5rem;color:#fff;margin:2.5rem 0 1rem;border-left:4px solid #a78bfa;padding-left:1rem}
.content h3{font-family:'Poppins',sans-serif;font-size:1.15rem;color:#c4b5fd;margin:1.5rem 0 .75rem}
.related{background:linear-gradient(135deg,rgba(124,58,237,.1),rgba(219,39,119,.05));border:1px solid rgba(167,139,250,.2);border-radius:16px;padding:1.5rem;margin-top:2rem}
.related h3{color:#a78bfa;margin-bottom:1rem;font-family:'Poppins',sans-serif}
.related ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}
.related li a{display:block;padding:.6rem 1rem;background:rgba(255,255,255,.04);border-radius:10px;color:#d1d5db;font-size:.9rem;transition:all .2s;font-weight:600}
.related li a:hover{background:#a78bfa;color:#fff}
footer{background:rgba(5,5,15,.9);border-top:1px solid rgba(167,139,250,.1);padding:3rem 0 1.5rem;margin-top:4rem}
.footer-content{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}
.footer-section h4{background:linear-gradient(135deg,#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;font-family:'Poppins',sans-serif}
.footer-section p,.footer-section li{color:#9ca3af;font-size:.9rem}
.footer-section ul{list-style:none}
.footer-section a{color:#9ca3af;transition:color .2s}
.footer-section a:hover{color:#a78bfa}
.footer-bottom{text-align:center;padding-top:1.5rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.05);color:#6b7280;font-size:.85rem}
.page-content{max-width:800px;margin:2rem auto;padding:0 1.5rem}
.page-content h1{font-family:'Poppins',sans-serif;font-size:2rem;color:#fff;margin-bottom:1.5rem}
.page-content h2{font-family:'Poppins',sans-serif;font-size:1.4rem;color:#fff;margin:2rem 0 .75rem}
.page-content p{color:#d1d5db;margin-bottom:1rem;font-size:1.05rem}
.page-content ul{margin:1rem 0 1rem 1.5rem;color:#d1d5db}
.page-content li{margin-bottom:.5rem}

/* Homepage classes */
.hero-section { padding: 4rem 0 2rem; text-align: center; }
.hero-section h1 { font-family: 'Poppins', sans-serif; font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1.15; margin-bottom: 1rem; background: linear-gradient(135deg, #fff 20%, #a78bfa 60%, #ec4899 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-section p { font-size: 1.1rem; color: #9ca3af; max-width: 640px; margin: 0 auto 1.5rem; }
.btn { display: inline-block; padding: .65rem 1.8rem; border-radius: 50px; font-weight: 600; transition: all .2s; cursor: pointer; border: none; font-size: .95rem; text-decoration: none; }
.btn { background: linear-gradient(135deg, #7c3aed, #db2777); color: #fff; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 4px 20px rgba(124,58,237,.35); color: #fff; }
.btn-outline { background: transparent; color: #a78bfa; border: 1px solid rgba(167,139,250,.4); }
.btn-outline:hover { background: rgba(167,139,250,.1); transform: translateY(-2px); }
.btn-row { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.section-header { display: flex; align-items: center; justify-content: space-between; margin: 2.5rem 0 1.5rem; }
.section-header h2 { font-family: 'Poppins', sans-serif; font-size: 1.5rem; color: #fff; }
.link-more { color: #a78bfa; font-weight: 600; }
.link-more:hover { color: #c4b5fd; }
.card-icon { font-size: 2rem; margin-bottom: .75rem; }
.page-content { max-width: 750px; margin: 2rem auto; }
.page-content h1 { font-family: 'Poppins', sans-serif; font-size: 2rem; color: #fff; margin-bottom: 1.5rem; }
.page-content h2 { font-family: 'Poppins', sans-serif; font-size: 1.3rem; color: #e0e0e0; margin: 2rem 0 .75rem; }
.page-content p { color: #9ca3af; margin-bottom: 1rem; line-height: 1.8; }
.page-content ul { color: #9ca3af; padding-left: 1.5rem; margin-bottom: 1rem; }
.page-content li { margin-bottom: .5rem; }
.page-content a { color: #a78bfa; }
.page-content a:hover { color: #c4b5fd; }
.tool-layout { display: grid; grid-template-columns: 1fr 280px; gap: 2rem; margin-top: 2rem; }
.tool-main h2 { font-family: 'Poppins', sans-serif; font-size: 1.2rem; color: #fff; margin: 1.5rem 0 .75rem; }
.tool-main p { color: #9ca3af; line-height: 1.7; margin-bottom: .75rem; }
.tool-main ul { color: #9ca3af; padding-left: 1.5rem; margin-bottom: 1rem; }
.tool-main li { margin-bottom: .4rem; }
.tool-sidebar h3 { font-family: 'Poppins', sans-serif; font-size: 1rem; color: #a78bfa; margin-bottom: .75rem; text-transform: uppercase; letter-spacing: .5px; }
.sidebar-links { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.5rem; }
.sidebar-link { color: #9ca3af; font-size: .9rem; padding: .4rem .75rem; border-radius: 8px; background: rgba(255,255,255,.04); transition: all .2s; }
.sidebar-link:hover { color: #a78bfa; background: rgba(167,139,250,.1); }
.notation-display { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 1.5rem; margin: 1rem 0; }
.note-table { width: 100%; border-collapse: collapse; margin-top: .5rem; }
.note-table th, .note-table td { padding: .5rem .75rem; text-align: left; border-bottom: 1px solid rgba(255,255,255,.05); color: #9ca3af; }
.note-table th { color: #a78bfa; font-weight: 600; }
.difficulty-selector { display: flex; gap: .75rem; flex-wrap: wrap; margin: 1rem 0; }
.exercise-area { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 1.5rem; margin: 1rem 0; }
.staff-container { background: #fff; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; position: relative; }
.staff { display: flex; flex-direction: column; gap: 0; }
.staff-line { height: 1px; background: #333; margin: 8px 0; }
.clef-label { text-align: center; color: #333; font-size: .85rem; margin-top: .5rem; }
.transcription-controls { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }
.result-area { margin-top: 1rem; padding: 1rem; background: rgba(167,139,250,.1); border-radius: 8px; color: #e0e0e0; }
.level-box { background: rgba(255,255,255,.03); border-radius: 12px; padding: 1rem; margin-bottom: .75rem; }
.level-box h4 { color: #a78bfa; margin-bottom: .4rem; }
.clef-examples { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.clef-box { background: rgba(255,255,255,.03); border-radius: 12px; padding: 1rem; }
.clef-box h4 { color: #fff; margin-bottom: .4rem; }
.clef-box p { font-size: .9rem; }
.clef-symbol { font-size: 2.5rem; margin-top: .5rem; }
@media (max-width: 768px) {
  .tool-layout { grid-template-columns: 1fr; }
  .clef-examples { grid-template-columns: 1fr; }
  .section-header { flex-direction: column; gap: .5rem; text-align: center; }
  .card-grid { grid-template-columns: 1fr; }
}
