@font-face{font-family:Inter;src:url('fonts/Inter.ttf') format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:'Source Serif Pro';src:url('fonts/SourceSerifPro-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'Source Serif Pro';src:url('fonts/SourceSerifPro-Bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{--navy:#0C3057;--deep:#08233F;--sand:#FBF4E6;--sage:#CDE6DA;--copper:#9A350F;--gold:#F7BC4C;--border:#dedfdc;--muted:#566577;font-family:Inter,system-ui,sans-serif;color:var(--deep);background:var(--sand);font-size:15px}*{box-sizing:border-box}body{margin:0}h1,h2,h3,.display{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;line-height:1.25}h1{font-size:32px;margin:8px 0 16px}h2{font-size:22px}h3{font-size:19px}a{color:var(--navy);text-underline-offset:4px}button,.button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--navy);border-radius:8px;background:var(--navy);color:white;text-decoration:none;cursor:pointer;transition:background-color .15s,box-shadow .15s}button:hover,.button:hover{background:#14457A;box-shadow:0 3px 8px #0c305715}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#f3f1eb;color:var(--navy);border-color:var(--border)}.secondary:hover{background:#eae8df}input,select{border:1px solid #a4aeb7;border-radius:7px;padding:10px;min-height:44px;max-width:100%}input:not([type=checkbox]){width:100%}label{display:block;margin:12px 0}label input{margin-top:6px}:focus-visible{outline:3px solid #b77b22;outline-offset:3px}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--deep);color:white;padding:25px 18px;position:sticky;top:0;height:100vh}.brand{font-family:Georgia,serif;font-size:19px;font-weight:bold;line-height:1.3}.brand small{display:block;font:10px Inter,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#c3cbd3;margin-top:6px}.nav-label,.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}.nav-label{color:#b9c3ce;margin:34px 12px 12px}.sidebar a{display:block;color:#dce4ec;padding:12px;margin:4px 0;border-left:2px solid transparent;border-radius:6px;text-decoration:none}.sidebar a.active{border-color:var(--gold);background:#ffffff16;color:white}.sidebar .note{margin:28px 12px;font-size:12px;color:#bac7d4;line-height:1.7}.topbar{background:white;border-bottom:1px solid var(--border);padding:14px 28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.topbar span{font-size:12px;color:var(--muted)}main{max-width:1400px;padding:28px;margin:auto}.muted{color:var(--muted);font-size:13px;line-height:1.7}.badge{display:inline-block;background:#f4e7cc;border:1px solid #e5d3b1;border-radius:5px;padding:4px 9px;font-size:12px;margin-bottom:8px}.done{background:var(--sage);border-color:#b4d6c4}.card{background:white;border:1px solid var(--border);border-radius:12px;padding:23px;margin:16px 0;box-shadow:0 1px 0 #0f22360f,0 12px 24px #0f22360a}.card h2,.card h3{margin-top:0}.columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.module{display:flex;gap:18px;align-items:center}.module .body{flex:1}.number{background:#f4e7cc;border-radius:10px;min-width:44px;height:44px;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px}.module h2{font-size:20px;margin:0 0 6px}progress{width:100%;height:8px;border:0;border-radius:20px;overflow:hidden;accent-color:var(--navy);background:#e8e9e6}progress::-webkit-progress-bar{background:#e8e9e6}progress::-webkit-progress-value{background:var(--navy)}.audio{background:var(--navy);color:white;overflow:hidden}.audio .eyebrow{color:var(--gold)}.audio h2{margin:8px 0 18px}.audio progress{accent-color:var(--gold)}.audio progress::-webkit-progress-value{background:var(--gold)}.audio .muted{color:#d4dde5}.audio button{background:white;color:var(--navy);border-color:white}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px}.tabs{padding:12px 16px;border-radius:8px;background:#eeeadd;margin-top:20px;font-size:13px}.lesson{line-height:1.9;font-size:15px;color:#344354;overflow-wrap:anywhere}.lesson>div{max-width:72ch}.lesson h3{color:var(--navy);margin-top:30px}.rail .card{padding:18px}.wide{width:100%}.check,fieldset{border:1px solid var(--border);border-radius:9px;padding:16px;margin:16px 0;min-width:0}legend{font-weight:600;line-height:1.6;padding:0 5px}.choice{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:7px;cursor:pointer;margin:8px 0;font-size:14px;line-height:1.6}.choice:has(input:checked){background:#f4e7cc;border-color:var(--navy)}.choice input{min-height:auto;margin:0}.letter{border:1px solid #b4bcc3;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;flex-shrink:0;font-size:12px}.correct{background:var(--sage)}.wrong{background:#FBE0D0}.feedback{font-size:13px;line-height:1.8}.source{font-size:11px;overflow-wrap:anywhere;color:var(--muted)}dialog{width:min(680px,94vw);max-height:88vh;overflow-y:auto;border:1px solid var(--border);border-radius:14px;padding:24px;color:var(--deep)}dialog::backdrop{background:#08233f99}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.result{text-align:center;padding:22px;border-radius:10px;background:#f4e7cc}.score{font-size:36px;font-family:Georgia,serif}.row{display:flex;gap:12px;flex-wrap:wrap}.login{max-width:480px;margin:28px auto}.error{color:#9A350F}.certificate{max-width:850px;margin:25px auto;padding:55px;border:2px solid #bba57a;text-align:center}.certificate h1{font-size:36px}.certificate .student{font-size:30px;border-bottom:1px solid var(--border);padding:20px}.footer{padding:24px 28px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);line-height:1.8}.back{display:inline-block;margin-bottom:18px}.preview{border:1px dashed #bba57a;border-radius:7px;padding:10px;font-size:12px}.preview input{vertical-align:middle} @media(max-width:1050px){.shell{grid-template-columns:205px minmax(0,1fr)}.columns{grid-template-columns:1fr}.rail{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rail .card{margin:0}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;padding:18px}.sidebar nav{display:flex;gap:4px;flex-wrap:wrap;margin-top:14px}.sidebar a{padding:8px;font-size:12px}.nav-label,.sidebar .note{display:none}.brand{font-size:16px}.topbar{padding:10px 16px}main{padding:20px 14px}h1{font-size:27px}.module{flex-wrap:wrap}.module .body{min-width:180px}.rail{display:block}.rail .card{margin:16px 0}.card{padding:18px}.certificate{padding:25px 14px}.certificate h1{font-size:28px}}@media print{.sidebar,.topbar,.back,.print-controls{display:none!important}.shell{display:block}body{background:white}main{padding:0}.certificate{box-shadow:none;margin:0;border:2px solid #bba57a}.footer{color:#333}.certificate~*{display:none}}
