.cons-root{min-height:100vh;background:var(--cons-ivory);color:var(--cons-ink);font-family:Georgia,Times New Roman,serif}.cons-topbar{background:var(--cons-navy);color:var(--cons-ivory);padding:1.1rem 1.5rem;display:flex;align-items:center;gap:.9rem}.cons-monogram{width:42px;height:42px;border:1.5px solid rgba(247,245,240,.7);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;font-size:.95rem;letter-spacing:1px;flex-shrink:0}.cons-topbar-title{font-size:.85rem;font-weight:800;letter-spacing:2px}.cons-topbar-sub{font-size:.68rem;color:#f7f5f099;margin-top:.2rem;letter-spacing:1px;text-transform:uppercase}.cons-container{max-width:720px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.cons-h1{font-size:1.9rem;font-weight:700;color:var(--cons-navy);margin-bottom:.4rem;line-height:1.25}.cons-rule{width:46px;height:2px;background:var(--cons-navy);margin:.8rem 0 1.6rem}.cons-sub{color:var(--cons-muted);font-size:.95rem;margin-bottom:1.5rem}.cons-card{background:#fff;border:1px solid var(--cons-hair);padding:1.6rem;margin-bottom:1.4rem}.cons-label{display:block;font-family:Josefin Sans,sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cons-muted);margin:.9rem 0 .4rem}.cons-label:first-child{margin-top:0}.cons-input,.cons-textarea,.cons-select{width:100%;background:var(--cons-ivory);border:1px solid var(--cons-hair);color:var(--cons-ink);padding:.75rem .9rem;font-family:Georgia,serif;font-size:.95rem;outline:none}.cons-input:focus,.cons-textarea:focus,.cons-select:focus{border-color:var(--cons-navy)}.cons-textarea{min-height:90px;resize:vertical}.cons-btn{font-family:Josefin Sans,sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:none;padding:.9rem 1.6rem;transition:opacity .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.cons-btn:disabled{opacity:.5;cursor:default}.cons-btn-primary{background:var(--cons-navy);color:var(--cons-ivory)}.cons-btn-primary:hover:not(:disabled){background:var(--cons-navy-dark)}.cons-btn-outline{background:transparent;color:var(--cons-navy);border:1px solid var(--cons-navy)}.cons-btn-outline:hover:not(:disabled){background:#16304f0f}.cons-btn-block{width:100%}.cons-panels{display:flex;flex-direction:column;gap:1rem}.cons-panel{border:1px solid var(--cons-hair);background:#fff;padding:1.6rem;cursor:pointer;transition:box-shadow .2s,transform .2s;text-align:left}.cons-panel:hover{box-shadow:0 4px 18px #16304f14;transform:translateY(-1px)}.cons-panel-title{font-size:1.15rem;font-weight:700;color:var(--cons-navy);margin-bottom:.3rem}.cons-panel-desc{color:var(--cons-muted);font-size:.9rem;line-height:1.5}.cons-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}.cons-chip{border:1px solid var(--cons-hair);background:#fff;padding:.5rem .9rem;font-size:.82rem;color:#3a4451;cursor:pointer}.cons-chip.active{background:var(--cons-navy);border-color:var(--cons-navy);color:var(--cons-ivory);font-weight:700}.cons-status-badge{display:inline-block;border:1px solid var(--cons-navy);color:var(--cons-navy);font-weight:700;font-size:.85rem;padding:.4rem .9rem;margin-bottom:.9rem}.cons-hint{color:#4e5866;font-size:.85rem;line-height:1.5;margin-bottom:.9rem}.cons-error{color:#a03d36;font-size:.85rem;margin:.4rem 0}.cons-success{color:#2f7d5b;font-size:.85rem;margin:.4rem 0}.cons-history-item{border-left:2px solid var(--cons-navy);padding-left:1rem;margin-bottom:1.1rem}.cons-history-title{font-weight:700;font-size:.95rem}.cons-history-date{color:var(--cons-muted);font-size:.8rem;margin-top:.15rem}.cons-back-link{color:var(--cons-navy);font-size:.85rem;margin-bottom:1.2rem;display:inline-block;cursor:pointer}.cons-checkbox-row{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem}.cons-checkbox-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--cons-navy)}.cons-checkbox-row label{font-size:.85rem;line-height:1.4}.cons-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 560px){.cons-two-col{grid-template-columns:1fr}}.cons-photo-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.cons-photo-preview{width:70px;height:90px;object-fit:cover;border:1px solid var(--cons-hair);background:var(--cons-ivory)}.cons-photo-placeholder{width:70px;height:90px;display:flex;align-items:center;justify-content:center;border:1px solid var(--cons-hair);background:var(--cons-ivory);color:#c7c1b6;font-size:1.6rem}:root{--g: #c9a84c;--gl: #e8c97a;--gd: #8a6e2f;--bk: #080808;--d1: #111;--d2: #1a1a1a;--d3: #242424;--cr: #f0e9d6;--cd: #a89878;--red: #e74c3c;--green: #2ecc71;--cons-navy: #16304F;--cons-navy-dark: #101f33;--cons-ivory: #F7F5F0;--cons-ink: #1B2430;--cons-muted: #6B7280;--cons-hair: rgba(22,48,79,.18)}*{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}.light-mode{--bk: #f5f0e8;--d1: #ede8de;--d2: #e4ddd0;--d3: #d8d0c0;--cr: #1a1a2e;--cd: #4a4a6a;background:var(--bk);color:var(--cr)}.light-mode input,.light-mode textarea,.light-mode select{background:#fff;color:#1a1a2e;border-color:#c9a84c4d}.light-mode .card{background:#fff;border-color:#c9a84c33}.light-mode ::-webkit-scrollbar-track{background:var(--d2)}.light-mode ::-webkit-scrollbar-thumb{background:var(--gd)}
