:root{--cream:#faf7f0;--olive:#59613b;--dark:#28331f;--terra:#a64e2d;--line:#dfdfd0;--muted:#65675c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--dark);font:16px/1.65 system-ui,sans-serif}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(2.7rem,5vw,4.9rem);margin:20px 0}h2{font-size:clamp(2rem,3.4vw,3rem)}h3{font-size:1.7rem}a{color:inherit}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:0;display:inline-block;background:var(--terra);color:#fff;padding:12px 22px;border-radius:7px;text-decoration:none;font-weight:600}button:hover,.button:hover{filter:brightness(.92)}button.secondary,.button.secondary{background:#e8eadc;color:var(--dark)}button.danger{background:#8b302c}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--olive);outline-offset:4px}.skip{position:absolute;left:12px;top:-100px}.skip:focus{top:10px;z-index:20;background:white;padding:10px}header{border-bottom:1px solid var(--line);background:var(--cream)}.header-inner{max-width:1240px;margin:auto;padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.8rem;white-space:nowrap}.brand img{width:52px;height:52px}nav{display:flex;gap:32px;align-items:center}nav a{text-decoration:none}.wrap{max-width:1184px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:70px 0}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;color:var(--olive);font-weight:700}.hero p{font-size:1.15rem;color:var(--muted);max-width:500px;margin-bottom:30px}.hero-image{width:100%;height:540px;object-fit:cover;border-radius:100px 8px 8px 8px}.caption{font-size:.75rem;color:var(--muted)}section{padding:35px 0 60px}.section-title{text-align:center}.section-title img{width:42px}.section-title h2{margin:10px 0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fffdf8;text-decoration:none;display:block}.card:hover{box-shadow:0 8px 24px #28331f12}.card img{width:100%;height:215px;object-fit:cover}.card-body{padding:22px}.card h3{margin:0 0 12px}.card p{font-size:.95rem;color:var(--muted)}.card-link{display:flex;justify-content:space-between;align-items:center;color:var(--olive);font-weight:600}.tag{display:inline-block;background:#e9ecdf;color:var(--olive);border-radius:30px;padding:3px 12px;font-size:.75rem}.about{background:#eceee2;border-radius:16px;padding:46px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.about h2{margin:12px 0}.about p{color:var(--muted)}footer{border-top:1px solid var(--line);padding:35px 0;margin-top:50px}footer .wrap{display:flex;justify-content:space-between;gap:30px}footer p{font-size:.85rem;color:var(--muted)}.course{max-width:850px;margin:55px auto;padding:0 28px}.course h1{font-size:3.4rem}.panel{background:#fffdf9;border:1px solid var(--line);padding:28px;border-radius:14px;margin:20px 0}.notice{background:#eceee2;padding:16px 20px;border-radius:8px}.admin-wrap{max-width:1080px;margin:30px auto;padding:0 24px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}.actions{display:flex;gap:10px;flex-wrap:wrap}label{display:block;font-weight:600;margin:15px 0 5px}input:not([type=radio]):not([type=checkbox]),textarea,select{width:100%;padding:10px 12px;border:1px solid #b9bdab;border-radius:6px;background:#fff;color:var(--dark)}textarea{min-height:110px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.login{max-width:450px;margin:60px auto}.status{min-height:26px;padding:8px 0;font-weight:600}.status.error{color:#8b302c}.lesson,.question{padding:22px;background:#f5f3eb;border:1px solid var(--line);border-radius:10px;margin:18px 0}.question h3,.lesson h3{font-size:1.4rem;margin:0}small{color:var(--muted)}.file{padding:10px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;justify-content:space-between}.file a{overflow-wrap:anywhere}.file button{padding:6px 10px}.choice{display:flex;gap:12px;align-items:center;margin:10px 0}.choice input[type=radio]{width:20px;height:20px;flex-shrink:0}.choice input[type=text]{flex:1}.choice label{margin:0}.questionnaire{max-width:780px}.correct{border-left:4px solid var(--olive)}.wrong{border-left:4px solid var(--terra)}video{width:100%;max-height:400px;margin:10px 0}progress{width:100%;accent-color:var(--olive)}[hidden]{display:none!important}.preline{white-space:pre-line}.sticky-save{position:sticky;bottom:0;background:var(--cream);padding:15px 0;border-top:1px solid var(--line);z-index:5}@media(max-width:760px){.header-inner{padding:14px 18px;flex-wrap:wrap}.brand{font-size:1.5rem}.brand img{width:40px;height:40px}nav{gap:22px}.wrap{padding:0 20px}.hero{grid-template-columns:1fr;padding:32px 0;gap:30px}.hero-image{height:350px;border-radius:60px 8px 8px 8px}.grid{grid-template-columns:1fr}.card img{height:230px}.about,.two{grid-template-columns:1fr;gap:12px}.about{padding:28px}footer .wrap{display:block}.course h1{font-size:2.8rem}.panel{padding:18px}.admin-wrap{padding:0 15px}.toolbar{align-items:flex-start}.choice{flex-wrap:wrap}.choice input[type=text]{width:70%}.file{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.rich-editor{border:1px solid #b8c4b5;border-radius:8px;margin:8px 0 20px;background:#fff;overflow:hidden}
.editor-toolbar,.image-controls{display:flex;flex-wrap:wrap;gap:5px;padding:8px;background:#f0f4ed;border-bottom:1px solid #c4cec0}
.editor-toolbar button,.image-controls button{font-size:.85rem;padding:6px 9px}
.editor-toolbar button[aria-pressed=true]{background:#cbdcc4;color:#183621}
.rich-editor .tiptap{min-height:180px;padding:14px;outline-offset:-3px}
.rich-editor>.muted{padding:0 14px;font-size:.85rem}
.rich-content{overflow-wrap:anywhere;line-height:1.7;max-width:100%}
.rich-content p{white-space:pre-wrap}
.rich-content blockquote{border-left:4px solid #73886d;padding-left:16px;margin-left:0}
.media-image{max-width:100%;margin:16px 0;display:block}
.media-image img{width:100%;height:auto;display:block;border-radius:4px}
.media-image.width-25{width:25%}.media-image.width-50{width:50%}.media-image.width-75{width:75%}.media-image.width-100{width:100%}
.media-image.align-center{margin-left:auto;margin-right:auto}.media-image.align-right{margin-left:auto}
.media-image figcaption{font-size:.9rem;color:#4b5947;text-align:center;white-space:pre-wrap}
.ProseMirror-selectednode{outline:3px solid #4d7652}
.table-scroll,.tableWrapper{overflow-x:auto;max-width:100%}
.rich-content table{border-collapse:collapse;min-width:300px;width:100%;table-layout:fixed}
.rich-content td,.rich-content th{border:1px solid #9dad94;padding:8px;vertical-align:top;min-width:80px}
.rich-content th{background:#edf3e8}.rich-content .selectedCell{background:#dae7d3}
.media-dialog{width:min(940px,94vw);max-height:90vh;overflow:auto;border:1px solid #7c8a71;border-radius:12px;padding:20px;color:#243a26}
.media-dialog::backdrop{background:#14281699}.media-dialog .toolbar{position:sticky;top:-20px;background:#fff;z-index:1;padding:10px 0}
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.media-grid img{width:100%;height:150px;object-fit:contain}.media-grid p{font-size:.9rem}
@media(max-width:600px){.editor-toolbar button{padding:8px}.media-image.width-25{min-width:100px}.media-dialog{padding:12px}.media-grid{grid-template-columns:1fr}}

.offer-price{font-size:2rem;color:var(--olive);font-weight:700;margin:14px 0}.selected-offer{border:2px solid var(--olive)}.student-layout{grid-template-columns:240px minmax(0,1fr);align-items:start}.student-layout aside{position:sticky;top:20px}.student-layout aside h3{margin-top:0}.student-layout ol{padding-left:20px}.student-layout li{margin:12px 0}.student-layout fieldset{border:1px solid var(--line);border-radius:8px;padding:18px;margin:20px 0}.student-layout .rich-content{overflow-wrap:anywhere}@media(max-width:760px){.student-layout{grid-template-columns:1fr}.student-layout aside{position:static}.student-layout .panel{min-width:0}}
.rich-content .text-left{text-align:left}.rich-content .text-center{text-align:center}.rich-content .text-right{text-align:right}
.media-dialog>.toolbar h2{font-size:1.3rem;line-height:1.3;margin:0}

.student-layout ol{list-style:none;padding-left:0}nav{flex-wrap:wrap}
