:root{--g: #c9a84c;--gl: #e8c97a;--gd: #8a6e2f;--bk: #080808;--d1: #111;--d2: #1a1a1a;--d3: #242424;--cr: #f0e9d6;--cd: #a89878;--red: #e74c3c;--green: #2ecc71}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bk);color:var(--cr);font-family:Cormorant Garamond,Georgia,serif;font-size:16px;line-height:1.7;min-height:100vh}a{text-decoration:none;color:inherit}.btn{font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all .3s;border:none;display:inline-flex;align-items:center;gap:.5rem}.btn-gold{background:var(--g);color:var(--bk);padding:.85rem 2rem}.btn-gold:hover{background:var(--gl)}.btn-outline{background:transparent;color:var(--g);padding:.85rem 2rem;border:1px solid rgba(201,168,76,.4)}.btn-outline:hover{border-color:var(--g)}.btn-danger{background:var(--red);color:#fff;padding:.6rem 1.2rem}.btn-sm{font-size:.62rem;padding:.5rem 1rem}input,textarea,select{background:var(--d3);border:1px solid rgba(201,168,76,.15);color:var(--cr);padding:.85rem 1rem;font-family:Cormorant Garamond,serif;font-size:1rem;outline:none;width:100%;transition:border-color .3s}input:focus,textarea:focus,select:focus{border-color:var(--g)}select option{background:var(--d2)}label{font-family:Josefin Sans,sans-serif;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cd);display:block;margin-bottom:.4rem}.form-group{margin-bottom:1.2rem}.card{background:var(--d2);border:1px solid rgba(201,168,76,.08);transition:border-color .3s,transform .3s}.card:hover{border-color:#c9a84c40}.tag{font-family:Josefin Sans,sans-serif;font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--g);display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}.tag:before{content:"";width:24px;height:1px;background:var(--gd)}h1,h2,h3{font-family:Playfair Display,serif}.divider{width:50px;height:2px;background:linear-gradient(to right,var(--g),transparent);margin-bottom:1.5rem}.alert{padding:.9rem 1.2rem;font-family:Josefin Sans,sans-serif;font-size:.68rem;letter-spacing:.1em;border-radius:0;margin-bottom:1rem}.alert-error{background:#e74c3c1a;border-left:3px solid var(--red);color:#ff6b6b}.alert-success{background:#2ecc711a;border-left:3px solid var(--green);color:var(--green)}.alert-info{background:#c9a84c14;border-left:3px solid var(--g);color:var(--g)}.spinner{width:24px;height:24px;border:2px solid rgba(201,168,76,.2);border-top-color:var(--g);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.lesson-content h1,.lesson-content h2,.lesson-content h3{font-family:Playfair Display,serif;color:var(--cr);margin:1.5rem 0 .8rem}.lesson-content h2{font-size:1.4rem}.lesson-content h3{font-size:1.1rem;color:var(--g)}.lesson-content p{margin-bottom:1rem}.lesson-content ul,.lesson-content ol{padding-left:1.5rem;margin-bottom:1rem}.lesson-content li{margin-bottom:.4rem}.lesson-content strong{color:var(--cr);font-weight:700}.lesson-content em{color:var(--g);font-style:italic}.lesson-content a{color:var(--g);text-decoration:underline}.lesson-content img{max-width:100%;border:1px solid rgba(201,168,76,.15);margin:1rem 0}.lesson-content table{width:100%;border-collapse:collapse;margin:1rem 0}.lesson-content th{background:var(--d3);color:var(--g);font-family:Josefin Sans;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.8rem 1rem;border:1px solid rgba(201,168,76,.1)}.lesson-content td{padding:.8rem 1rem;border:1px solid rgba(201,168,76,.08);color:var(--cd)}.lesson-content blockquote{border-left:3px solid var(--g);padding-left:1.5rem;margin:1.5rem 0;color:var(--g);font-style:italic;font-family:Playfair Display,serif;font-size:1.05rem}.lesson-content code{background:var(--d3);padding:.2rem .5rem;font-family:monospace;font-size:.9rem;color:var(--g)}.lesson-content pre{background:var(--d3);padding:1.2rem;overflow-x:auto;margin:1rem 0}.lesson-content hr{border:none;border-top:1px solid rgba(201,168,76,.15);margin:2rem 0}.student-page{--bk: #0f0f1a;--d1: #16162a;--d2: #1e1e35;--d3: #262640;--cr: #ffffff;--cd: #b8b8d0;background:var(--bk)}.student-page .card{background:var(--d2);border-color:#c9a84c26}
