﻿*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;background-color:#fefefe;color:#292524;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}h1,h2,h3,h4,h5,h6{font-family:"Fredoka","Comic Sans MS",cursive;line-height:1.2;margin-bottom:1rem}a{color:#7c3aed;text-decoration:none}a:hover{text-decoration:underline}:target{scroll-margin-top:7rem}[hidden]{display:none !important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}body>header{background:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid #e7e5e4}body>header::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#7c3aed}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}@media(max-width: 768px){.header-content{padding:1rem}}.logo{display:flex;align-items:center;gap:1rem;text-decoration:none;color:#292524;transition:transform .2s}.logo:hover{transform:scale(1.02)}.logo:hover .logo-icon{animation:wiggle .5s ease-in-out}.logo-icon{width:52px;height:52px;background:linear-gradient(135deg, #7c3aed, #a78bfa);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;box-shadow:0 4px 12px rgba(124,58,237,.3)}.logo-text h1{font-family:"Fredoka","Comic Sans MS",cursive;font-size:1.75rem;font-weight:500;color:#7c3aed;margin:0}@media(max-width: 768px){.logo-text h1{font-size:1.5rem}}.logo-text p{font-size:.875rem;color:#57534e;margin:0}@media(max-width: 768px){.logo-text p{display:none}}@keyframes wiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@media(max-width: 768px){body>header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);border-bottom:3px solid #e9d5ff}body>header nav.active{display:block;animation:slideDown .3s ease-out}}body>header nav ul{list-style:none;display:flex;gap:2rem;align-items:center;margin:0;padding:0}@media(max-width: 768px){body>header nav ul{flex-direction:column;padding:1.5rem;gap:1rem}}body>header nav a{color:#292524;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .2s;position:relative}body>header nav a:hover{color:#7c3aed;background:#f3e8ff}body>header nav a.active{color:#7c3aed;background:#f3e8ff}body>header nav a.active::after{content:"";position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:20px;height:3px;background:#7c3aed;border-radius:9999px}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-toggle{display:none;background:#f3e8ff;border:2px solid #e9d5ff;border-radius:8px;padding:.5rem 1rem;font-size:1.5rem;cursor:pointer;color:#7c3aed;transition:all .2s}.menu-toggle:hover{background:#7c3aed;color:#fff;border-color:#7c3aed}@media(max-width: 768px){.menu-toggle{display:block}}body>footer{background:linear-gradient(to bottom, #fafaf9, white);border-top:1px solid #e7e5e4;margin-top:4rem;padding:0}.footer-content{max-width:1200px;margin:0 auto;padding:3rem;text-align:center;position:relative}.footer-content::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:#7c3aed;border-radius:9999px}.footer-content p{color:#57534e;font-size:.9rem;line-height:1.6;margin:0}.footer-content p:first-child{font-weight:500;color:#44403c;margin-bottom:.25rem}.footer-content p:last-child{font-size:.85rem;color:#78716c}.footer-content::after{content:"🏫";display:block;margin-top:1.5rem;font-size:1.5rem;opacity:.3}.archive-status{text-align:center;margin-bottom:1.5rem}.update-badge{display:inline-block;background:linear-gradient(135deg, #e9d5ff, #f3e8ff);color:#6d28d9;padding:.25rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500;border:1px solid #e9d5ff;box-shadow:0 2px 4px rgba(124,58,237,.1);transition:all .2s ease}.update-badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(124,58,237,.15)}.group-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1rem}.group-badge{display:inline-block;padding:2px .5rem;background:#f5f5f4;color:#57534e;border:1px solid #e7e5e4;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.subject-badge{display:inline-block;padding:.25rem .5rem;background:#f3e8ff;color:#7c3aed;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.btn-primary{display:inline-block;padding:.5rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s;cursor:pointer;border:none;text-decoration:none;background:#7c3aed;color:#fff;position:relative;overflow:hidden;font-size:.95rem}.btn-primary::before{content:"→";position:absolute;right:-20px;top:50%;transform:translateY(-50%);transition:right .3s ease;opacity:0}.btn-primary:hover{background:#6c23eb;padding-right:3rem;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,58,237,.3)}.btn-primary:hover::before{right:1rem;opacity:1}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px rgba(124,58,237,.3)}.btn-refresh-compact{background:transparent;border:none;color:#7c3aed;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:all .3s ease;position:absolute;top:.5rem;right:.5rem}.btn-refresh-compact:hover{color:#5f14e0;transform:rotate(180deg)}.btn-refresh-compact[hidden]{display:none}.btn-view-lesson{display:inline-block;padding:.5rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s;cursor:pointer;border:none;text-decoration:none;background:#7c3aed;color:#fff;text-align:center;text-decoration:none}.btn-view-lesson:hover{background:#6c23eb;color:#fff;text-decoration:none}.section-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:2rem}@media(max-width: 768px){.section-grid{grid-template-columns:1fr;gap:1.5rem}}.section-card{display:block;background:#f3e8ff;border:2px solid #e9d5ff;border-radius:12px;padding:2rem;position:relative;transition:all .3s ease;text-decoration:none;color:inherit}.section-card:hover,.section-card:focus-visible{border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 8px 16px rgba(124,58,237,.15);text-decoration:none}.section-card:hover h3,.section-card:focus-visible h3{color:#7c3aed}.section-card:hover .btn-primary,.section-card:focus-visible .btn-primary{background:#6c23eb;padding-right:3rem;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(124,58,237,.3)}.section-card:hover .btn-primary::before,.section-card:focus-visible .btn-primary::before{right:1rem;opacity:1}.section-card h3{font-size:1.5rem;font-weight:600;color:#292524;margin-bottom:.5rem;transition:color .3s ease}.section-card p{color:#57534e;margin-bottom:1.5rem;line-height:1.6}.section-card:nth-child(2){background:#baf8f1;border-color:#75f0e3}.section-card:nth-child(2):hover,.section-card:nth-child(2):focus-visible{border-color:#14b8a6;box-shadow:0 8px 16px rgba(20,184,166,.15)}.section-card:nth-child(3){background:#fff;border-color:#feedf0}.section-card:nth-child(3):hover,.section-card:nth-child(3):focus-visible{border-color:#fb7185;box-shadow:0 8px 16px rgba(251,113,133,.15)}.section-card:nth-child(4){background:#def7b7;border-color:#c9f289}.section-card:nth-child(4):hover,.section-card:nth-child(4):focus-visible{border-color:#84cc16;box-shadow:0 8px 16px rgba(132,204,22,.15)}.quote-box{background:linear-gradient(135deg, #f3e8ff, #ffffff);border:2px solid #e9d5ff;border-radius:16px;padding:2rem;margin:3rem auto;max-width:650px;position:relative;overflow:visible;transition:all .3s ease}.quote-box::before,.quote-box::after{font-family:Georgia,serif;position:absolute;color:#a78bfa;opacity:.3;font-size:80px;line-height:1}.quote-box::before{content:'"';top:-10px;left:20px}.quote-box::after{content:'"';bottom:-40px;right:20px;transform:rotate(180deg)}.quote-box .decoration{position:absolute;top:-15px;right:30px;width:50px;height:50px;background:#fb7185;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 4px 12px rgba(251,113,133,.4);animation:float 3s ease-in-out infinite}.quote-box .decoration::after{content:"✨"}.quote-box:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,.15);border-color:#7c3aed}.quote-box:hover .decoration{animation-play-state:paused;transform:rotate(10deg)}.quote-box blockquote{font-size:1.25rem;font-style:italic;margin-bottom:1.5rem;position:relative;z-index:1;color:#44403c;line-height:1.8;text-align:center;font-family:"Fredoka","Comic Sans MS",cursive;font-weight:400}.quote-box cite{display:block;text-align:right;color:#7c3aed;font-size:1rem;font-style:normal;font-weight:500}.quote-box cite::before{content:"— "}@keyframes float{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}.btn-refresh{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);background:#fff;border:2px solid #e9d5ff;padding:.5rem 1.5rem;border-radius:9999px;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem;color:#7c3aed;transition:all .2s;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.btn-refresh:hover{background:#7c3aed;color:#fff;border-color:#7c3aed;transform:translateX(-50%) translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.btn-refresh:hover .icon-refresh::before{animation:spin 1s ease-in-out}.btn-refresh:active{transform:translateX(-50%) translateY(0)}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.homepage-layout{display:grid;grid-template-columns:1fr 350px;gap:3rem;margin-top:0}@media(max-width: 1024px){.homepage-layout{grid-template-columns:1fr}}.main-content h2{font-size:2rem;margin-bottom:2rem;color:#292524}.main-content .welcome-heading-mobile{display:none}@media(max-width: 1024px){.main-content .welcome-heading-mobile{display:block;font-size:1.75rem;color:#7c3aed;margin-bottom:1.5rem}}@media(max-width: 1024px){.sidebar{margin-top:3rem}}.archive-welcome{background:linear-gradient(135deg, #7c3aed, #5f14e0);color:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 25px rgba(124,58,237,.3);position:relative;overflow:hidden}.archive-welcome::before{content:"📚";position:absolute;top:-20px;right:-20px;font-size:120px;opacity:.1;transform:rotate(-15deg)}.archive-welcome h2{font-size:1.5rem;margin-bottom:1.5rem;font-weight:600}@media(max-width: 1024px){.archive-welcome h2{display:none}}.archive-welcome ul{list-style:none;padding:0;margin:0 0 1.5rem 0}.archive-welcome ul li{padding:.5rem 0;font-size:.95rem;opacity:.95}.archive-welcome ul li:hover{opacity:1;transform:translateX(4px);transition:all .2s}.archive-welcome .archive-note{font-size:.875rem;opacity:.8;margin:0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}.quote-box-compact{background:#fff;border:none;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;position:relative;box-shadow:0 4px 12px rgba(0,0,0,.08)}.quote-box-compact::before{content:'"';position:absolute;top:-5px;left:15px;font-size:40px;color:#e9d5ff;font-family:Georgia,serif}.quote-box-compact blockquote{font-size:.95rem;font-style:italic;margin-bottom:.5rem;color:#44403c;padding-left:1rem}.quote-box-compact cite{display:block;text-align:right;color:#7c3aed;font-size:.8rem;font-style:normal}.about-section{background:#fff;border-radius:16px;padding:2rem 3rem;margin-top:3rem;margin-bottom:2rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);border:1px solid #e7e5e4}.about-section h2{font-size:1.5rem;margin-bottom:1rem;color:#292524}.about-section p{color:#57534e;line-height:1.7;margin-bottom:.5rem;font-size:.95rem}.about-section p:last-child{margin-bottom:0}.archive-banner{max-width:100%;margin:0 0 2rem 0}.contact-list{list-style:none;padding:0;margin:0 0 1.5rem}.contact-list li{display:flex;align-items:baseline;gap:.5rem;padding:.25rem 0}.contact-list a{color:#7c3aed;font-weight:500;word-break:break-word}.contact-list a:hover{color:#6d28d9}.lessons-page .page-header{text-align:center;margin-bottom:1.5rem}.lessons-page .page-header h1{font-size:2.5rem;color:#7c3aed;margin-bottom:.25rem}.lessons-page .page-header .subtitle{font-size:1.125rem;color:#57534e}.filters-section{background:#fafaf9;border-radius:12px;padding:1rem 1.5rem;margin-bottom:2rem}.filters-section .filter-form{margin:0}.filters-section .filter-row{display:flex;gap:.5rem 1.5rem;align-items:flex-end;flex-wrap:wrap}@media(max-width: 768px){.filters-section .filter-row{align-items:stretch}.filters-section .filter-row .filter-group,.filters-section .filter-row .search-group{flex:1 1 100%}}.filters-section .filter-group{flex:0 1 220px;border:0;padding:0;margin:0;min-width:0}.filters-section .filter-group label,.filters-section .filter-group legend{display:block;font-size:.8rem;font-weight:600;margin-bottom:.25rem;color:#57534e;padding:0}.filters-section .filter-group--groups{flex:1 1 100%;order:2}.filters-section .search-group{flex:1 1 260px;display:flex;gap:.5rem}@media(max-width: 768px){.filters-section .search-group{flex-direction:column}}.filters-section .group-checkboxes{display:flex;flex-wrap:wrap;gap:.25rem}.filters-section .group-checkboxes .checkbox-label{display:flex;align-items:center;gap:.25rem;padding:3px .5rem;background:#fff;border:1px solid #e7e5e4;border-radius:8px;cursor:pointer;transition:all .2s}.filters-section .group-checkboxes .checkbox-label:hover{border-color:#7c3aed}.filters-section .group-checkboxes .checkbox-label:has(input:checked){background:#f3e8ff;border-color:#7c3aed;color:#7c3aed}.filters-section .group-checkboxes .checkbox-label input{cursor:pointer;margin:0}.filters-section .group-checkboxes .checkbox-label span{font-size:.8rem;font-weight:500;white-space:nowrap}.filters-section .filter-select{width:100%;padding:6px .5rem;border:2px solid #e7e5e4;border-radius:8px;font-size:1rem;background:#fff;transition:border-color .2s}.filters-section .filter-select:focus{outline:none;border-color:#7c3aed}.filters-section .search-input{flex:1;padding:6px .5rem;border:2px solid #e7e5e4;border-radius:8px;font-size:1rem}.filters-section .search-input:focus{outline:none;border-color:#7c3aed}.filters-section .btn-search{display:inline-block;padding:.5rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s;cursor:pointer;border:none;text-decoration:none;padding:6px 1rem;background:#7c3aed;color:#fff;white-space:nowrap}.filters-section .btn-search:hover{background:#5f14e0}.active-filters{margin-top:.5rem}.active-filters .clear-filters{display:inline-block;padding:.25rem 1rem;background:#f3e8ff;color:#7c3aed;border-radius:9999px;text-decoration:none;font-size:.875rem;transition:all .2s}.active-filters .clear-filters:hover{background:#e9d5ff;transform:translateY(-1px)}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(350px, 1fr));gap:2rem;margin-bottom:3rem}@media(max-width: 768px){.lessons-grid{grid-template-columns:1fr;gap:1.5rem}}.lesson-card{background:#fff;border:2px solid #e7e5e4;border-radius:12px;padding:2rem;transition:all .3s ease;display:flex;flex-direction:column}.lesson-card:hover{border-color:#e9d5ff;transform:translateY(-2px);box-shadow:0 8px 16px rgba(124,58,237,.1)}.lesson-card:hover .btn-view-lesson{background:#6c23eb}.lesson-card .lesson-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.lesson-card .lesson-header h3{margin:0;font-size:1.25rem;flex:1}.lesson-card .lesson-header h3 a{color:#292524;text-decoration:none}.lesson-card .lesson-header h3 a:hover{color:#7c3aed}.lesson-card .lesson-excerpt{color:#57534e;line-height:1.6;margin-bottom:1.5rem;flex:1}.lesson-card .requirements-preview{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;color:#57534e;font-size:.875rem}.lesson-card .requirements-preview .req-icon{font-size:1.125rem}.no-results{text-align:center;padding:4rem}.no-results p{font-size:1.25rem;color:#57534e;margin-bottom:2rem}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:3rem;list-style:none;padding:0}.pagination li{list-style:none}.pagination a,.pagination span{display:inline-block;padding:.5rem 1rem;border:1px solid #e7e5e4;border-radius:8px;text-decoration:none;color:#44403c;transition:all .2s}.pagination a:hover,.pagination span:hover{border-color:#7c3aed;color:#7c3aed;transform:translateY(-1px)}.pagination .current{background:#7c3aed;color:#fff;border-color:#7c3aed}.pagination .disabled{display:none}.lesson-detail .breadcrumbs{margin-bottom:2rem}.lesson-detail .breadcrumbs a{color:#7c3aed;text-decoration:none;font-weight:500}.lesson-detail .breadcrumbs a:hover{text-decoration:underline}.lesson-layout{display:grid;grid-template-columns:1fr 350px;gap:3rem}@media(max-width: 1024px){.lesson-layout{grid-template-columns:1fr}}.lesson-content{background:#fff;border-radius:12px;padding:3rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.lesson-content .lesson-header{border-bottom:2px solid #f5f5f4;padding-bottom:1.5rem;margin-bottom:2rem}.lesson-content .lesson-header h1{font-size:2rem;color:#292524;margin-bottom:1rem}.lesson-content .lesson-meta{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.lesson-content .lesson-meta .subject-badge.large{font-size:1rem;padding:.5rem 1.5rem}.lesson-content .lesson-meta .date{color:#57534e;font-size:.875rem}.lesson-content .lesson-description{color:#292524;line-height:1.8}.lesson-content .lesson-description::after{content:"";display:table;clear:both}.lesson-content .lesson-description p{margin-bottom:1.5rem}.lesson-content .lesson-description ul,.lesson-content .lesson-description ol{margin:1.5rem 0;padding-left:2rem}.lesson-content .lesson-description ul li,.lesson-content .lesson-description ol li{margin-bottom:.5rem}.lesson-content .lesson-description blockquote{background:#fafaf9;border-left:4px solid #7c3aed;padding:1.5rem;margin:2rem 0;font-style:italic}.lesson-content .lesson-description b,.lesson-content .lesson-description strong{color:#292524;font-weight:600}.lesson-content .lesson-description small{display:block;color:#57534e;font-style:italic;margin-top:1.5rem}.lesson-content .lesson-description .lesson-image{max-width:100%;height:auto;border-radius:8px;margin-bottom:1rem}.lesson-content .lesson-description .lesson-image--left{float:left;margin:.25rem 1.5rem 1rem 0;max-width:45%}.lesson-content .lesson-description .lesson-image--right{float:right;margin:.25rem 0 1rem 1.5rem;max-width:45%}.lesson-content .lesson-description .lesson-image--center{display:block;margin:1rem auto 1.5rem}@media(max-width: 768px){.lesson-content .lesson-description .lesson-image--left,.lesson-content .lesson-description .lesson-image--right{float:none;margin:0 0 1rem 0;max-width:100%}}@media(max-width: 1024px){.lesson-sidebar{margin-top:2rem}}.requirements-box{background:linear-gradient(135deg, #7c3aed, #5f14e0);color:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 25px rgba(124,58,237,.3)}.requirements-box h3{font-size:1.25rem;margin-bottom:1.5rem;font-weight:600}.requirements-box .requirements-list{list-style:none;padding:0;margin:0}.requirements-box .requirements-list li{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;gap:.5rem}.requirements-box .requirements-list li:last-child{border-bottom:none}.requirements-box .requirements-list .requirement-file{display:flex;align-items:center;justify-content:space-between}.requirements-box .requirements-list .requirement-player{width:100%;height:36px}.requirements-box .requirements-list .requirement-link{color:#fff;text-decoration:underline;opacity:.9}.requirements-box .requirements-list .requirement-link:hover{opacity:1}.requirements-box .requirements-list .requirement-text{opacity:.9}.requirements-box .requirements-list .file-icon{font-size:1.25rem;margin-left:.5rem}.action-box{background:#fff;border:2px solid #e7e5e4;border-radius:12px;padding:1.5rem;text-align:center}.action-box .btn-action{display:inline-block;padding:.5rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s;cursor:pointer;border:none;text-decoration:none;background:#f5f5f4;color:#44403c;width:100%;border:none}.action-box .btn-action:hover{background:#e7e5e4;transform:translateY(-1px)}@media print{.lesson-sidebar,.breadcrumbs,.btn-action{display:none}.lesson-layout{grid-template-columns:1fr}.lesson-content{box-shadow:none;padding:0}}.songs-page .page-header{text-align:center;margin-bottom:1.5rem}.songs-page .page-header h1{font-size:2.5rem;color:#7c3aed;margin-bottom:.25rem}.songs-page .page-header .subtitle{font-size:1.125rem;color:#57534e}.songs-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(380px, 1fr));gap:1.5rem;margin-bottom:3rem}@media(max-width: 768px){.songs-list{grid-template-columns:1fr}}.song-card{background:#fff;border:2px solid #e7e5e4;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease}.song-card:hover{border-color:#e9d5ff;box-shadow:0 8px 16px rgba(124,58,237,.1)}.song-card .song-title{font-size:1.25rem;margin:0 0 .5rem 0;color:#292524;display:flex;align-items:center;gap:.5rem}.song-card .theme-icon{font-size:1rem}.song-card .song-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin:0}.song-card .song-player{width:100%;height:40px}.song-card .song-downloads{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding-top:.5rem;border-top:1px solid #f5f5f4}.song-card .song-download{font-size:.875rem;font-weight:500;color:#7c3aed;text-decoration:none;padding:.25rem .5rem;border-radius:8px;transition:background .2s}.song-card .song-download:hover{background:#f3e8ff;text-decoration:none}.song-origin{display:inline-block;padding:2px .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.song-origin.own{background:rgba(124,58,237,.12);color:#6d28d9}.song-origin.external{background:rgba(20,184,166,.15);color:#0b655b}.songs-note{background:#fafaf9;border-radius:12px;padding:1.5rem 2rem}.songs-note p{margin:0;color:#57534e;font-size:.9rem;line-height:1.7}.worksheets-page .page-header{text-align:center;margin-bottom:1.5rem}.worksheets-page .page-header h1{font-size:2.5rem;color:#7c3aed;margin-bottom:.25rem}.worksheets-page .page-header .subtitle{font-size:1.125rem;color:#57534e}.worksheets-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));gap:1.5rem;margin-bottom:3rem}@media(max-width: 768px){.worksheets-grid{grid-template-columns:1fr}}.worksheet-card{background:#fff;border:2px solid #e7e5e4;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;transition:all .3s ease}.worksheet-card:hover{border-color:#e9d5ff;box-shadow:0 8px 16px rgba(124,58,237,.1)}.worksheet-card .worksheet-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.worksheet-card .worksheet-title{font-size:1.2rem;margin:0;color:#292524;flex:1}.worksheet-card .worksheet-meta{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1rem 0}.worksheet-card .worksheet-description{color:#57534e;line-height:1.6;font-size:.925rem;margin:0 0 1rem 0;flex:1}.worksheet-card .worksheet-credit{font-size:.8rem;font-style:italic;color:#78716c;margin:0 0 1rem 0}.worksheet-card .worksheet-downloads{list-style:none;padding:.5rem 0 0 0;margin:0;border-top:1px solid #f5f5f4}.worksheet-card .worksheet-downloads li{display:flex;align-items:baseline;gap:.5rem;padding:2px 0}.worksheet-card .worksheet-download{font-size:.9rem;font-weight:500;color:#7c3aed;text-decoration:none}.worksheet-card .worksheet-download:hover{text-decoration:underline}.worksheet-card .file-size{font-size:.75rem;color:#78716c;white-space:nowrap}.worksheets-note{background:#fafaf9;border-radius:12px;padding:1.5rem 2rem}.worksheets-note p{margin:0;color:#57534e;font-size:.9rem;line-height:1.7}.articles-page .page-header{text-align:center;margin-bottom:1.5rem}.articles-page .page-header h1{font-size:2.5rem;color:#7c3aed;margin-bottom:.25rem}.articles-page .page-header .subtitle{font-size:1.125rem;color:#57534e}.article-group{margin-bottom:3rem}.article-group[hidden]{display:none !important}.article-group-title{font-size:1.35rem;color:#292524;margin-bottom:1rem;padding-bottom:.25rem;border-bottom:2px solid #e9d5ff}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:1.5rem}@media(max-width: 768px){.articles-grid{grid-template-columns:1fr}}.article-card{background:#fff;border:2px solid #e7e5e4;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;transition:all .3s ease}.article-card:hover{border-color:#e9d5ff;transform:translateY(-2px);box-shadow:0 8px 16px rgba(124,58,237,.1)}.article-card .article-card-title{font-size:1.2rem;margin:0 0 .5rem 0}.article-card .article-card-title a{color:#292524;text-decoration:none}.article-card .article-card-title a:hover{color:#7c3aed}.article-card .article-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin:0 0 1rem 0}.article-card .article-card-intro{color:#57534e;line-height:1.6;font-size:.925rem;margin:0 0 1.5rem 0;flex:1}.reading-time{display:inline-block;font-size:.75rem;font-weight:600;color:#78716c;white-space:nowrap}.article-format{display:inline-block;font-size:.75rem;font-weight:600;color:#7c3aed;white-space:nowrap}.article-pages{font-size:.75rem;color:#78716c;white-space:nowrap}.article-detail .breadcrumbs{margin-bottom:1.5rem}.article-detail .breadcrumbs a{color:#7c3aed;text-decoration:none;font-weight:500}.article-detail .breadcrumbs a:hover{text-decoration:underline}.article-body-wrap{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);padding:3rem 3rem 2rem;max-width:46rem;margin:0 auto}@media(max-width: 768px){.article-body-wrap{padding:1.5rem}}.article-header{border-bottom:2px solid #f5f5f4;padding-bottom:1.5rem;margin-bottom:2rem}.article-header h1{font-size:2.1rem;color:#292524;margin-bottom:.5rem;line-height:1.15}.article-header .article-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:#7c3aed;margin-bottom:.25rem}.article-header .article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.article-header .article-intro{font-size:1.05rem;line-height:1.7;color:#57534e;font-style:italic;margin:0}.article-body{color:#292524;font-size:1.02rem;line-height:1.75}.article-body p{margin-bottom:1.5rem}.article-body b,.article-body strong{color:#292524;font-weight:600}.article-body a{color:#7c3aed;text-decoration:underline;text-underline-offset:2px}.article-body a:hover{color:#6d28d9}.article-body ul,.article-body ol{margin:0 0 1.5rem 1.5rem;padding-left:1rem}.article-body ul li,.article-body ol li{margin-bottom:.5rem}.article-body hr{border:0;border-top:1px solid #e7e5e4;margin:2rem 0}.article-body .article-image{max-width:100%;height:auto;border-radius:8px;margin-bottom:1rem}.article-body .article-image--left{float:left;margin:.25rem 1.5rem 1rem 0;max-width:45%}.article-body .article-image--right{float:right;margin:.25rem 0 1rem 1.5rem;max-width:45%}@media(max-width: 768px){.article-body .article-image--left,.article-body .article-image--right{float:none;margin:0 0 1rem 0;max-width:100%}}.article-body p::after{content:"";display:table;clear:both}.article-body .article-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.95rem}.article-body .article-table th,.article-body .article-table td{border:1px solid #e7e5e4;padding:.5rem;text-align:left;vertical-align:top}.article-body .article-table th{background:#fafaf9;font-weight:600}.article-body .article-list{list-style:none;margin-left:0;padding-left:0}.article-body .article-list li{position:relative;padding-left:1.75rem}.article-body .article-list li::before{position:absolute;left:0;top:.15em;font-weight:700}.article-body .article-list--do li::before{content:"✓";color:#84cc16}.article-body .article-list--dont li::before{content:"✗";color:#fb7185}.article-body .c-green{color:#4e790d}.article-body .c-red{color:#f81838}.article-body .c-blue{color:#2563eb}.article-body .c-orange{color:#cf8508}.article-body .c-small{font-size:.85em;color:#57534e}.article-download{margin-top:2rem;padding:1.5rem;border:1px dashed #e7e5e4;border-radius:12px;background:#fafaf9;text-align:center}.article-download p{margin:0 0 1rem 0;color:#57534e}.article-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f5f5f4}.article-footer .btn-action{display:inline-block;padding:.5rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s;cursor:pointer;border:none;text-decoration:none;background:#f5f5f4;color:#44403c}.article-footer .btn-action:hover{background:#e7e5e4}.article-related{max-width:46rem;margin:3rem auto 0;background:#fafaf9;border-radius:12px;padding:1.5rem 2rem}.article-related h2{font-size:1.15rem;margin-bottom:1rem;color:#292524}.article-related ul{list-style:none;margin:0;padding:0}.article-related li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.25rem 0;border-bottom:1px solid #e7e5e4}.article-related li:last-child{border-bottom:none}.article-related a{color:#7c3aed;text-decoration:none;font-weight:500}.article-related a:hover{text-decoration:underline}@media print{.article-related,.article-footer,.breadcrumbs{display:none}.article-body-wrap{box-shadow:none;padding:0;max-width:none}}.section-placeholder{text-align:center}.section-placeholder h1{font-size:2.5rem;color:#7c3aed;margin-bottom:.25rem}.section-placeholder .subtitle{font-size:1.125rem;color:#57534e;margin-bottom:3rem}.placeholder-box{background:#fff;border:2px dashed #e9d5ff;border-radius:16px;padding:3rem 2rem;max-width:640px;margin:0 auto}.placeholder-box .placeholder-icon{font-size:3rem;margin-bottom:1rem}.placeholder-box h2{font-size:1.5rem;color:#292524;margin-bottom:1rem}.placeholder-box p{color:#57534e;line-height:1.7;margin-bottom:1.5rem}.error-page{text-align:center;max-width:42rem;margin:2rem auto 3rem}.error-page .error-code{font-family:"Fredoka","Comic Sans MS",cursive;font-size:5rem;line-height:1;font-weight:500;color:#e9d5ff;margin-bottom:.5rem}@media(max-width: 768px){.error-page .error-code{font-size:3.5rem}}.error-page h1{font-size:2.25rem;color:#7c3aed;margin-bottom:1.5rem}@media(max-width: 768px){.error-page h1{font-size:1.75rem}}.error-page .error-lead{color:#57534e;line-height:1.7;margin-bottom:1rem}.error-page .error-lead code{background:#f5f5f4;border-radius:4px;padding:1px .25rem;font-size:.9em;white-space:nowrap}.error-page .error-url{font-size:.875rem;color:#78716c;margin:1.5rem 0 0}.error-page .error-url code{background:#f5f5f4;border-radius:4px;padding:2px .5rem;word-break:break-all}.error-page .error-actions{margin-top:2rem}.error-suggestions h2{font-size:1.35rem;color:#292524;margin-bottom:1.5rem;padding-bottom:.25rem;border-bottom:2px solid #e9d5ff}/*# sourceMappingURL=app.css.map */
