@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  color-scheme: dark;
  --ink: #f7f2ef;
  --muted: #ab9ea1;
  --line: rgba(255,255,255,.11);
  --panel: rgba(46,31,38,.48);
  --red: #e54849;
  --red-deep: #891f2a;
  --red-rgb: 229,72,73;
  --peach: #f3b4a9;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
  background: #100b0e;
  color: var(--ink);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #100b0e; color: var(--ink); font-size:15px; }
a { color: #ef9088; text-decoration: none; }
a:hover { color: #ffc1b7; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
.montazherka-shell { --panel-2:#271a1f; min-height:100vh; color:var(--ink); background:#100b0e; font-family:var(--font); overflow-x:hidden; position:relative; }
.montazherka-shell * { box-sizing:border-box; }
.mk-main > * { animation: mk-view-in .38s cubic-bezier(.22,1,.36,1) both; }
@keyframes mk-view-in { from { opacity:0; transform:translateY(10px) scale(.99); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .mk-main > * { animation:none; } }
.mk-noise { position:fixed; inset:0; opacity:.035; pointer-events:none; z-index:8; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }
.mk-glow { position:absolute; width:620px; height:400px; top:-160px; left:34%; background:#8e2733; opacity:.25; filter:blur(110px); border-radius:50%; pointer-events:none; }
.mk-frame { position:relative; display:flex; height:100dvh; max-width:1880px; margin:0 auto; padding:22px; gap:20px; overflow:hidden; }
.mk-rail { width:264px; flex:0 0 264px; height:100%; border:1px solid rgba(255,255,255,.16); background:linear-gradient(145deg,rgba(73,48,58,.54),rgba(24,15,20,.58)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.12),inset -12px -18px 34px rgba(0,0,0,.14),0 22px 50px rgba(0,0,0,.2); backdrop-filter:blur(26px) saturate(130%); border-radius:28px; display:flex; flex-direction:column; align-items:stretch; padding:20px 14px; z-index:3; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(var(--red-rgb),.4) transparent; }
.mk-brand { width:var(--platform-logo-size,43px); height:var(--platform-logo-size,43px); border-radius:14px; background:#fff; display:grid; place-items:center; color:#fff; font-family:var(--font); font-weight:700; font-size:18px; letter-spacing:-1px; margin-bottom:34px; box-shadow:0 8px 26px rgba(var(--red-rgb),.28); overflow:hidden; }
.mk-brand img { width:100%; height:100%; display:block; object-fit:contain; }
.mk-railnav { display:flex; flex-direction:column; gap:6px; color:#816e73; }
.mk-railbutton { width:100%; height:60px; border:1px solid transparent; background:transparent; display:flex; align-items:center; gap:12px; padding:0 12px; border-radius:14px; cursor:pointer; transition:background .25s cubic-bezier(.22,1,.36,1),color .2s,transform .25s cubic-bezier(.22,1,.36,1),border-color .25s; color:#a8949895; }
.mk-railicon { display:grid; place-items:center; flex:0 0 auto; }
.mk-raillabel { font-size:18px; font-weight:500; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mk-lesson-thumbnail { width:128px; height:76px; object-fit:contain; background:#171016; border-radius:10px; flex-shrink:0; }
.cc-module-lessons .lesson-row:has(.mk-lesson-thumbnail) { grid-template-columns:128px 42px minmax(0,1fr) auto; }
.mk-lesson-cover { display:block; width:100%; max-height:360px; object-fit:contain; background:#171016; border-radius:20px; margin:16px 0; }
.mk-cohort-links { padding:24px; margin:18px 0; }
.mk-cohort-links h3 { margin:8px 0; }
.mk-cohort-links p { margin:10px 0 18px; }
.mk-cover-editor { margin:12px 0; padding:12px 16px; border:1px solid var(--line); border-radius:12px; }
.mk-cover-editor summary { cursor:pointer; }
.mk-cover-editor form { margin-top:14px; }
.mk-cover-preview { width:100%; max-width:320px; max-height:180px; object-fit:contain; background:#171016; border-radius:10px; }
.mk-player-error { position:absolute; z-index:8; inset:20% 8% auto; padding:18px; border-radius:12px; background:rgba(28,16,23,.96); color:#fff; font-size:16px; line-height:1.5; }

@media (max-width:700px) {
  .mk-lesson-thumbnail { width:76px; height:50px; }
  .cc-module-lessons .lesson-row:has(.mk-lesson-thumbnail) { grid-template-columns:76px minmax(0,1fr) auto; gap:10px; }
  .lesson-row:has(.mk-lesson-thumbnail) .lesson-number { display:none; }
  .lesson-row:has(.mk-lesson-thumbnail) .lesson-row-copy { min-width:0; }
  .mk-cohort-links { padding:18px; }
  .mk-cohort-links .mk-primary { white-space:normal; }
}
.mk-railbutton:hover { color:#fff; background:rgba(255,255,255,.07); transform:translateX(2px) scale(1.015); border-color:rgba(255,255,255,.12); }
.mk-railbutton.active { color:#fff; background:linear-gradient(135deg,rgba(var(--red-rgb),.32),rgba(var(--red-rgb),.12)); border-color:rgba(var(--red-rgb),.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 6px 18px rgba(var(--red-rgb),.18); transform:scale(1.015); }
.mk-railbottom { margin-top:auto; color:#746166; display:flex; align-items:center; gap:10px; padding-top:14px; }
.mk-railbottom-platform { display:grid; grid-template-columns:1fr; align-items:stretch; gap:8px; }
.mk-railbottom-platform .mk-role-pill { justify-self:start; }
.mk-role-pill { font:700 18px var(--font); letter-spacing:.08em; color:#e3a39c; background:rgba(var(--red-rgb),.12); border:1px solid rgba(var(--red-rgb),.2); border-radius:99px; padding:8px 12px; }
.mk-main { flex:1; min-width:0; height:100%; position:relative; padding:11px 14px 28px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(var(--red-rgb),.4) transparent; }
.mk-main::-webkit-scrollbar { width:8px; }
.mk-main::-webkit-scrollbar-thumb { background:rgba(var(--red-rgb),.35); border-radius:99px; }
.mk-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:27px; min-height:55px; }
.mk-kicker { color:var(--muted); font-size:24px; letter-spacing:.1em; text-transform:uppercase; font-weight:500; }
.mk-title { margin:6px 0 0; font:700 clamp(26px,3vw,36px)/1.15 var(--font); letter-spacing:-.02em; }
.mk-top-actions { display:flex; align-items:center; gap:12px; }
.preview-pill,.status-chip { display:inline-flex; align-items:center; border:1px solid rgba(255,255,255,.13); border-radius:99px; background:rgba(255,255,255,.055); color:#d4bdc0; padding:7px 12px; font-size:22px; white-space:nowrap; }
.preview-pill { border-color:rgba(243,180,169,.22); color:#f3b4a9; background:rgba(243,180,169,.07); }
.mk-avatar { width:60px; height:60px; border-radius:50%; display:grid; place-items:center; color:#32161b; font-weight:700; font-size:22px; background:linear-gradient(135deg,#f2c6aa,#a94245); border:2px solid #5e2b32; }
.mk-avatar-top { width:52px; height:52px; font-size:19px; }
.mk-avatar-link { padding:0; overflow:hidden; text-decoration:none; }
.mk-avatar-link img { width:100%; height:100%; border-radius:50%; object-fit:cover; }
.profile-grid { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); align-items:start; gap:18px; }
.profile-summary { display:grid; justify-items:center; gap:12px; padding:24px; text-align:center; }
.profile-summary-name { font-size:24px; font-weight:700; }
.profile-summary p { margin:0; overflow-wrap:anywhere; }
.profile-avatar-large { width:152px; height:152px; display:grid; place-items:center; overflow:hidden; border-radius:50%; border:3px solid rgba(243,180,169,.45); color:#32161b; font-size:48px; font-weight:700; background:linear-gradient(135deg,#f2c6aa,#a94245); }
.profile-avatar-large img { width:100%; height:100%; object-fit:cover; }
.profile-form { display:grid; gap:16px; padding:24px; }
.profile-form label { display:grid; gap:7px; }
.profile-form textarea { resize:vertical; }
.profile-remove-avatar { display:flex !important; align-items:center; gap:10px !important; }
.profile-remove-avatar input { width:auto; }
.profile-save { justify-self:start; }
.platform-settings-form { max-width:900px; display:grid; gap:24px; padding:24px; }
.platform-settings-section { display:grid; gap:15px; padding-bottom:22px; border-bottom:1px solid rgba(255,255,255,.1); }
.platform-settings-section h3 { margin:0; }
.platform-logo-settings { display:grid; grid-template-columns:minmax(140px,220px) minmax(0,1fr); gap:20px; align-items:center; }
.platform-logo-preview { min-height:130px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; border:1px solid rgba(255,255,255,.12); border-radius:16px; background:rgba(0,0,0,.18); color:var(--muted); font-size:14px; overflow:hidden; }
.platform-logo-preview img { max-width:100%; max-height:112px; object-fit:contain; background:#fff; border-radius:12px; }
.platform-logo-controls { display:grid; gap:13px; min-width:0; }
.platform-color-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.platform-color-grid input[type=color] { width:100%; min-height:50px; padding:5px; }
.login-support { margin:18px 0 0; text-align:center; }
.login-support a,.page-footer a { color:var(--peach); text-decoration:underline; text-underline-offset:3px; }
.author-profile-avatar-fallback { font-size:32px; }
.mk-author-avatar-fallback { font-size:15px; }
.mk-author-card { display:inline-flex; align-items:center; gap:11px; max-width:100%; margin:10px 0 12px; padding:8px 12px 8px 8px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.04); color:var(--ink); text-decoration:none; vertical-align:middle; transition:background .18s,border-color .18s,transform .18s; }
.mk-author-card:hover { background:rgba(255,255,255,.08); border-color:rgba(var(--red-rgb),.48); transform:translateY(-1px); }
.mk-author-card > img,.mk-author-avatar-fallback { flex:0 0 40px; width:40px; height:40px; border-radius:11px; object-fit:cover; background:#fff; }
.mk-author-avatar-fallback,.author-profile-avatar-fallback { display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#e85b5e,#a83c51); font-weight:700; }
.mk-author-copy { min-width:0; display:grid; gap:2px; }
.mk-author-copy strong { overflow-wrap:anywhere; font-size:15px; line-height:1.3; }
.mk-author-label { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.mk-author-open { color:#ef9088; font-size:18px; }
.author-profile { max-width:820px; padding:26px; }
.author-profile-heading { display:flex; align-items:center; gap:18px; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.1); }
.author-profile-heading img,.author-profile-avatar-fallback { flex:0 0 88px; width:88px; height:88px; border-radius:20px; object-fit:cover; background:#fff; }
.author-profile-heading h2 { margin:0 0 10px; overflow-wrap:anywhere; }
.author-profile-section { margin-top:22px; }
.author-profile-section h3 { margin:0 0 8px; }
.author-profile-text { margin:0; color:#d3c4c7; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
@media (max-width:760px) { .profile-grid { grid-template-columns:1fr; } }
.mk-notif-bell { position:relative; display:grid; place-items:center; width:43px; height:43px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.035); color:#cab9bb; transition:border-color .2s,color .2s,background .2s; }
.mk-notif-bell svg { width:20px; height:20px; }
.mk-notif-bell:hover { border-color:rgba(var(--red-rgb),.55); color:#fff; background:rgba(255,255,255,.06); }
.mk-notif-badge { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 4px; border-radius:99px; background:var(--red); color:#fff; font:700 11px var(--font); display:grid; place-items:center; box-shadow:0 0 0 2px #100b0e; }
.quiet-button { border:1px solid rgba(255,255,255,.12); border-radius:11px; padding:9px 12px; background:rgba(255,255,255,.035); color:#cab9bb; cursor:pointer; font-size:22px; }
.quiet-button:hover,.secondary-button:hover { border-color:rgba(var(--red-rgb),.55); color:white; }
.inline-form { display:inline; }
.mk-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr); gap:20px; align-items:stretch; }
.mk-hero { position:relative; min-height:300px; height:auto; box-sizing:border-box; border-radius:25px; overflow:hidden; padding:29px 31px; border:1px solid rgba(255,255,255,.1); background:#1b0d13 url("/assets/images/montazherka-editorial.jpg") center right/cover no-repeat; isolation:isolate; }
.mk-hero:before { content:""; position:absolute; inset:0; opacity:.85; background:linear-gradient(90deg,#32131d 0%,#32131dd9 30%,#32131d35 62%,#32131d14 100%),radial-gradient(circle at 73% 34%,#eb5551 0 3%,transparent 26%),radial-gradient(circle at 86% 88%,#9b2435,transparent 31%); z-index:-1; }
.mk-hero:after { content:""; position:absolute; inset:0; z-index:-1; opacity:.36; background:repeating-linear-gradient(128deg,transparent 0 44px,rgba(255,255,255,.09) 45px 46px,transparent 47px 88px); transform:skewX(-18deg) translateX(12%); }
.mk-hero-copy { width:100%; max-width:430px; min-height:240px; height:auto; position:relative; z-index:1; display:flex; flex-direction:column; }
.mk-eyebrow { color:#f09b91; font-size:20px; letter-spacing:.12em; text-transform:uppercase; flex:0 0 auto; }
.mk-hero h2 { font:700 clamp(22px,2.6vw,32px)/1.12 var(--font); letter-spacing:-.02em; margin:10px 0 9px; max-width:430px; flex:0 0 auto; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mk-hero p { color:#dbc0c0; font-size:25px; line-height:1.45; margin:0 0 16px; max-width:380px; flex:0 0 auto; overflow-wrap:anywhere; }
.mk-hero .mk-primary { margin-top:auto; align-self:flex-start; max-width:100%; flex:0 0 auto; position:relative; z-index:2; }
.mk-primary { border:0; background:var(--red); color:#fff; padding:11px 15px; border-radius:11px; font-weight:600; font-size:24px; cursor:pointer; display:inline-flex; align-items:center; gap:9px; transition:background .2s,transform .2s; box-shadow:0 8px 24px rgba(var(--red-rgb),.18); }
.mk-primary:hover { background:var(--red-deep); transform:translateY(-2px); color:#fff; }
.mk-hero-ornament { position:absolute; right:-42px; bottom:-83px; width:300px; height:300px; border:1px solid rgba(255,255,255,.35); border-radius:48% 52% 65% 35%; transform:rotate(27deg); box-shadow:0 0 0 22px rgba(255,255,255,.04),0 0 0 44px rgba(255,255,255,.025); }
.mk-hero-ornament:after { content:""; position:absolute; width:90px; height:90px; border:1px solid rgba(255,255,255,.32); border-radius:50%; top:40px; left:55px; }
.mk-progress-card,.glass-card,.mk-lesson,.mk-practice-card,.mk-mentor { border:1px solid rgba(255,255,255,.15); background:linear-gradient(145deg,rgba(67,43,52,.62),rgba(26,16,22,.55)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),inset -12px -16px 30px rgba(0,0,0,.2),0 18px 40px rgba(0,0,0,.14); backdrop-filter:blur(24px) saturate(125%); transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s; }
.mk-progress-card { border-radius:25px; padding:22px; height:300px; display:flex; flex-direction:column; }
.mk-cardtop { display:flex; justify-content:space-between; align-items:center; }
.mk-cardtitle { font:600 17px var(--font); }
.mk-ring { width:153px; height:153px; margin:auto; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--red) 0 var(--progress),#4c2831 var(--progress) 100%); position:relative; }
.mk-ring:before { content:""; position:absolute; inset:10px; background:#21161c; border-radius:50%; }
.mk-ring-content { position:relative; display:grid; place-items:center; width:100%; height:100%; text-align:center; }
.mk-ring-number { display:block; font:700 37px var(--font); letter-spacing:-.02em; }
.mk-progress-meta { display:flex; justify-content:space-between; color:var(--muted); font-size:22px; gap:5px; }
.mk-progress-meta b { color:#f0d7d2; font-weight:600; }
.mk-section { margin-top:26px; }
.mk-sectionhead { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.mk-sectionhead h2 { margin:0; font:700 21px var(--font); letter-spacing:-.015em; }
.mk-sectionhead>span { color:var(--muted); font-size:22px; text-align:right; }
.mk-link { color:#df7773; background:none; border:0; font-size:24px; font-weight:500; cursor:pointer; white-space:nowrap; }
.mk-link:hover { color:#ffaaa0; }
.mk-scrollbox { max-height:198px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(var(--red-rgb),.4) transparent; }
.mk-scrollbox::-webkit-scrollbar { width:6px; }
.mk-scrollbox::-webkit-scrollbar-thumb { background:rgba(var(--red-rgb),.35); border-radius:99px; }
.mk-lessons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.mk-lesson { aspect-ratio:1 / 1; border-radius:22px; padding:0; position:relative; overflow:hidden; cursor:pointer; color:var(--ink); box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),0 14px 28px rgba(0,0,0,.32),0 2px 0 rgba(255,255,255,.04); }
.mk-lesson:hover { transform:translateY(-6px) scale(1.025); border-color:rgba(var(--red-rgb),.65); color:var(--ink); box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),0 22px 40px rgba(0,0,0,.4),0 0 0 1px rgba(var(--red-rgb),.3); }
.mk-thumb { position:absolute; inset:0; border-radius:0; margin:0; background:#4a2528; }
.mk-thumb img { display:block; width:100%; height:100%; object-fit:cover; opacity:.85; transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .35s; }
.mk-lesson:hover .mk-thumb img { transform:scale(1.08); opacity:.95; }
.mk-thumb:after { content:none; }
.mk-lesson:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(20,10,13,0) 42%,rgba(20,10,13,.86) 100%); }
.mk-play { position:absolute; z-index:2; right:13px; top:13px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(8px); color:#fff; font-size:20px; transition:transform .3s,background .3s; }
.mk-lesson:hover .mk-play { transform:scale(1.12); background:rgba(var(--red-rgb),.85); border-color:rgba(var(--red-rgb),.9); }
.mk-lesson h3 { position:relative; z-index:2; font-size:26px; margin:0 12px 3px; font-weight:600; letter-spacing:-.01em; }
.mk-lesson p { position:relative; z-index:2; color:#d9c7ca; font-size:22px; margin:0 12px 12px; }
.mk-practice { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr); gap:16px; }
.mk-practice-card,.mk-mentor { border-radius:22px; padding:18px; display:flex; gap:15px; align-items:center; }
.mk-practice-card { color:var(--ink); }
.mk-practice-card:hover,.mk-mentor:hover { transform:translateY(-3px) scale(1.012); border-color:rgba(var(--red-rgb),.5); color:var(--ink); box-shadow:inset 1px 1px 0 rgba(255,255,255,.16),0 18px 34px rgba(0,0,0,.28); }
.mk-practice-mark { flex:0 0 74px; height:74px; border-radius:19px; overflow:hidden; position:relative; background:#66252d; display:grid; place-items:center; color:#f7aaa0; box-shadow:inset 1px 1px 0 rgba(255,255,255,.16); }
.mk-practice-mark img { width:100%; height:100%; object-fit:cover; }
.mk-practice-card h3,.mk-mentor h3 { margin:0 0 7px; font:600 16px var(--font); letter-spacing:-.01em; }
.mk-practice-card p,.mk-mentor p { margin:0; color:var(--muted); line-height:1.5; font-size:24px; }
.mk-mentor { min-width:0; }
.mk-mentor-avatar { width:46px; height:46px; flex:0 0 46px; border-radius:16px; background:linear-gradient(140deg,#f2b5a3,#8a2631); display:grid; place-items:center; color:#35161d; font:700 14px var(--font); }
.mk-mentor .mk-link { display:inline-block; margin-top:8px; padding:0; }
.practice-arrow { margin-left:auto; color:#a98589; font-size:20px; }
.page-footer { margin-top:34px; border-top:1px solid rgba(255,255,255,.08); padding:14px 0 0; color:#87757a; font-size:22px; }
.notice { border:1px solid rgba(141,212,167,.2); border-radius:12px; padding:12px 15px; color:#c2e3cc; background:rgba(50,110,72,.11); margin:0 0 18px; font-size:24px; }
.notice.error { border-color:rgba(var(--red-rgb),.3); background:rgba(var(--red-rgb),.1); color:#ffc0b6; }
.page-intro { margin:0 0 22px; max-width:800px; }
.page-intro h2 { margin:8px 0 8px; font:600 clamp(25px,3vw,34px)/1.1 var(--font); letter-spacing:-.045em; }
.page-intro p { color:#baaaad; font-size:26px; line-height:1.6; max-width:730px; }
.course-block { margin-bottom:30px; }
.course-heading { border-radius:23px; padding:24px 27px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.course-heading h2 { margin:9px 0; font:600 clamp(24px,3vw,35px) var(--font); letter-spacing:-.045em; }
.course-heading p { color:#b9a9ab; font-size:24px; line-height:1.55; max-width:720px; margin:0; }
.lesson-count { flex:0 0 92px; height:92px; border-radius:20px; display:grid; place-content:center; text-align:center; color:#f3b4a9; font:600 22px var(--font); background:rgba(var(--red-rgb),.1); border:1px solid rgba(var(--red-rgb),.2); }
.lesson-count small { color:#b99b9e; font:9px var(--font); }
.resource-band { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 17px; margin-top:10px; border-radius:14px; font-size:24px; color:#d4c5c7; }
.resource-links { display:flex; flex-wrap:wrap; gap:14px; }
.lesson-list { margin-top:11px; display:grid; gap:8px; }
.lesson-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:14px 16px; background:linear-gradient(115deg,rgba(57,38,46,.58),rgba(25,17,22,.7)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.06); }
.lesson-row.always-open { border-color:rgba(232,143,119,.35); background:linear-gradient(115deg,rgba(111,55,54,.33),rgba(35,20,26,.75)); }
.lesson-row.locked { opacity:.72; }
.mk-course-builder { margin-top:18px; }
.mk-inline-form,.mk-module-actions,.mk-builder-actions,.mk-builder-lesson-top,.mk-question-top,.mk-question-controls,.mk-quiz-footer,.mk-quiz-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.mk-inline-form input { width:min(220px,45vw); }
.mk-add-lesson-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.mk-module-list { display:grid; gap:11px; }
.mk-module { padding:0; border-radius:18px; overflow:hidden; }
.mk-module-summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 17px; }
.mk-module-summary::-webkit-details-marker { display:none; }
.mk-module-summary>span:first-child { display:grid; gap:5px; }
.mk-module-summary strong { font-size:15px; }
.mk-module-actions form,.mk-builder-actions form { display:flex; gap:5px; }
.mk-module-actions .secondary-button,.mk-builder-actions .secondary-button { padding:7px 9px; }
.mk-module-lessons { display:grid; gap:9px; padding:0 13px 13px; }
.mk-builder-lesson { padding:13px; border-radius:14px; background:rgba(10,7,9,.32); }
.mk-builder-lesson-top { align-items:flex-start; }
.mk-builder-lesson-top .lesson-row-copy { flex:1; min-width:160px; }
.mk-builder-lesson-top h3 { margin:3px 0; font-size:26px; }
.mk-builder-lesson-top h3 a { color:var(--ink); }
.mk-builder-lesson-top p { margin:3px 0; color:var(--muted); font-size:20px; }
.mk-builder-actions { margin-top:10px; }
.mk-builder-actions select { width:auto; max-width:160px; padding:7px; font-size:20px; }
.mk-lesson-inline { margin-top:10px; border-top:1px solid var(--line); padding-top:10px; }
.course-heading-actions { display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap; }
.mk-course-settings { margin:-6px 0 0; padding:22px 24px; border-radius:23px; }
.mk-course-settings .editor-form { max-width:640px; }
.mk-rename-form { display:flex; align-items:center; gap:8px; padding:0 17px 12px; }
.mk-rename-form input { max-width:360px; }
.mk-module-reorder { display:none; }
.status-accepted { color:#a8d4b3; border-color:rgba(111,183,133,.25); background:rgba(53,115,74,.12); }
.mk-quiz-dialog { width:min(920px,calc(100vw - 24px)); max-height:90vh; overflow:auto; padding:22px; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:linear-gradient(145deg,#2e2027,#130e12); box-shadow:0 30px 90px rgba(0,0,0,.65); }
.mk-quiz-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
.mk-quiz-dialog-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.mk-quiz-dialog-head h2 { margin:6px 0 0; }
.mk-quiz-dialog-head button { width:36px; height:36px; font-size:21px; }
.mk-quiz-message { color:#bce39f; padding:0; }
.mk-quiz-message.error { color:#ffaaa0; }
.mk-quiz-settings,.mk-question-settings { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; align-items:end; }
.mk-quiz-settings { padding:14px; border:1px solid var(--line); border-radius:14px; background:rgba(0,0,0,.15); }
.mk-quiz-settings label:has(input[type=checkbox]) { display:flex; align-items:center; gap:8px; }
.mk-quiz-settings input[type=checkbox],.mk-option-row input[type=checkbox],.mk-option-row input[type=radio] { width:auto; }
.mk-question-list { display:grid; gap:12px; margin:15px 0; }
.mk-question-card { display:grid; gap:11px; padding:15px; border-radius:15px; }
.mk-question-top { justify-content:space-between; }
.mk-question-top strong { color:#f3b4a9; }
.mk-question-card label { min-width:0; }
.mk-question-answer { display:grid; gap:8px; }
.mk-option-row { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:8px; margin-bottom:7px; }
.mk-quiz-toolbar { margin-bottom:10px; }
.mk-quiz-footer { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.mk-quiz-footer>span { flex:1; }
.mk-dialog { width:min(560px,calc(100vw - 24px)); max-height:90vh; overflow:auto; padding:22px; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:linear-gradient(145deg,#2e2027,#130e12); box-shadow:0 30px 90px rgba(0,0,0,.65); }
.mk-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(5px); }
.mk-dialog .mk-quiz-footer .mk-delete-course { color:#f2aaa0; border-color:rgba(242,170,160,.35); }
.mk-result-card { display:grid; gap:7px; padding:13px 0; border-bottom:1px solid var(--line); }
.mk-result-answer { white-space:pre-wrap; overflow-wrap:anywhere; }
.mk-quiz-question { border:0; border-top:1px solid var(--line); margin:15px 0; padding:14px 0 0; }
.mk-quiz-question legend { font-weight:600; margin-bottom:10px; }
.mk-quiz-question legend small { color:var(--muted); }
.mk-answer-option { display:flex; align-items:center; gap:8px; margin:8px 0; }
.mk-answer-option input { width:auto; }
.mk-quiz-timer { display:inline-flex; gap:6px; border:1px solid var(--line); border-radius:99px; padding:8px 12px; color:var(--peach); }
.mk-quiz-timer.is-expired { color:#fff; background:rgba(var(--red-rgb),.24); border-color:var(--red); }
.lesson-number { color:#d47e79; font:600 17px var(--font); }
.lesson-kind { color:#a88e93; font-size:18px; letter-spacing:.11em; text-transform:uppercase; }
.lesson-row h3 { margin:3px 0; font:600 14px var(--font); }
.lesson-row h3 a { color:var(--ink); }
.lesson-row p { margin:3px 0 0; color:#a69397; font-size:20px; line-height:1.45; }
.round-arrow,.lock-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.11); background:rgba(255,255,255,.04); color:#f3aaa0; font-size:20px; }
.lock-mark { color:#816e73; font-size:17px; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; color:#8d797e; font-size:20px; margin-bottom:12px; }
.lesson-detail-head { padding:24px; border-radius:23px; margin-bottom:20px; }
.lesson-detail-head h2 { margin:9px 0; font:600 clamp(25px,4vw,39px) var(--font); letter-spacing:-.05em; }
.lesson-detail-head p { margin:0 0 12px; color:#c0b1b3; font-size:26px; line-height:1.6; }
.video-section { max-width:1050px; }
.video-card { padding:10px; border-radius:18px; margin-bottom:12px; }
.video-preview { position:relative; overflow:hidden; border-radius:13px; background:#090709; }
.video-preview-trigger { display:block; position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; padding:0; border:0; border-radius:13px; background:#120d11; color:#fff; text-align:left; text-decoration:none; cursor:pointer; }
.video-preview-trigger::after { position:absolute; inset:28% 0 0; background:linear-gradient(180deg,transparent,rgba(9,7,9,.88)); content:""; pointer-events:none; }
.video-preview-trigger img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .28s ease; }
.video-preview-trigger:hover img { transform:scale(1.035); }
.video-preview-trigger:focus-visible { outline:3px solid #f28b80; outline-offset:-3px; }
.video-preview-play { position:absolute; z-index:1; top:50%; left:50%; display:grid; width:62px; height:62px; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.55); border-radius:50%; background:rgba(210,48,59,.88); box-shadow:0 8px 28px rgba(0,0,0,.4); color:#fff; font-size:24px; }
.video-preview-copy { position:absolute; z-index:1; right:18px; bottom:16px; left:18px; display:grid; gap:4px; }
.video-preview-copy > span { color:#f2b9b5; font-size:12px; letter-spacing:.11em; text-transform:uppercase; }
.video-preview-copy strong { overflow:hidden; font-size:clamp(16px,2vw,22px); line-height:1.2; text-overflow:ellipsis; }
.video-preview-copy small { color:rgba(255,255,255,.76); font-size:13px; }
.video-preview-player[hidden] { display:none; }
.video-preview-player .mk-player, .video-preview-player .video-embed { border-radius:13px; overflow:hidden; }
.video-manager-feedback { margin:10px 0 0; padding:10px 12px; border:1px solid rgba(239,113,111,.38); border-radius:12px; background:rgba(217,67,74,.1); color:#ffd2cb; }
.video-caption { display:flex; justify-content:space-between; color:#ad999c; font-size:20px; padding:10px 4px 2px; }
.video-embed { position:relative; width:100%; aspect-ratio:16 / 9; border-radius:12px; overflow:hidden; background:#090709; }
.video-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.video-embed-unavailable { display:grid; min-height:180px; place-items:center; padding:24px; border-radius:12px; background:#171016; color:#c0b1b3; text-align:center; }
.video-external-link { display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:12px; border:1px solid rgba(255,255,255,.15); background:linear-gradient(145deg,rgba(67,43,52,.62),rgba(26,16,22,.55)); }
.video-fallback { margin-top:12px; overflow:hidden; border:1px solid rgba(239,113,111,.28); border-radius:14px; background:linear-gradient(130deg,rgba(217,67,74,.1),rgba(31,20,27,.54)); }
.video-fallback summary { display:flex; align-items:center; gap:12px; padding:14px 16px; color:#f8e9e8; cursor:pointer; list-style:none; }
.video-fallback summary::-webkit-details-marker { display:none; }
.video-fallback summary:focus-visible { outline:2px solid #f28b80; outline-offset:-3px; border-radius:12px; }
.video-fallback-mark { display:grid; flex:none; width:34px; height:34px; place-items:center; border:1px solid rgba(239,113,111,.48); border-radius:50%; color:#ffd2cb; font-size:24px; line-height:1; transition:transform .18s ease; }
.video-fallback[open] .video-fallback-mark { transform:rotate(45deg); }
.video-fallback-copy { display:grid; gap:3px; }
.video-fallback-copy strong { font-size:18px; font-weight:650; }
.video-fallback-copy small { color:#bca9ad; font-size:15px; line-height:1.4; }
.video-fallback-frame { position:relative; width:calc(100% - 24px); margin:0 12px 12px; aspect-ratio:16 / 9; overflow:hidden; border-radius:10px; background:#090709; }
.video-fallback-frame iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
@media (max-width:600px) {
  .video-fallback summary { gap:10px; padding:12px; }
  .video-fallback-mark { width:30px; height:30px; font-size:21px; }
  .video-fallback-copy strong { font-size:16px; }
  .video-fallback-copy small { font-size:13px; }
  .video-preview-play { width:52px; height:52px; font-size:21px; }
  .video-preview-copy { right:12px; bottom:12px; left:12px; }
  .video-preview-copy > span { font-size:10px; }
  .video-preview-copy strong { font-size:16px; }
}

/* Custom video player: native <video> with controls hidden, our own chrome on
   top so we can hide the download affordance, disable the context menu and
   overlay a per-viewer watermark. This is a deterrence layer, not real DRM. */
.mk-player { position:relative; width:100%; aspect-ratio:16 / 9; max-height:580px; background:#090709; border-radius:12px; overflow:hidden; user-select:none; }
.mk-player-video { display:block; width:100%; height:100%; background:#090709; }
.mk-player-video::-webkit-media-controls { display:none !important; }
.mk-player-watermark { position:absolute; inset:0; z-index:2; pointer-events:none; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(3,1fr); place-items:center; opacity:.14; }
.mk-player-watermark span { color:#fff; font-size:22px; font-weight:600; letter-spacing:.03em; white-space:nowrap; transform:rotate(-24deg); text-shadow:0 1px 2px rgba(0,0,0,.5); }
.mk-player-bigplay { position:absolute; inset:0; margin:auto; width:62px; height:62px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(20,12,15,.55); color:#fff; font-size:20px; display:grid; place-items:center; cursor:pointer; z-index:3; transition:opacity .2s,transform .2s; }
.mk-player.is-playing .mk-player-bigplay { opacity:0; pointer-events:none; transform:scale(.9); }
.mk-player-controls { position:absolute; left:0; right:0; bottom:0; z-index:3; display:flex; align-items:center; gap:10px; padding:9px 12px; background:linear-gradient(0deg,rgba(9,7,9,.88),rgba(9,7,9,0)); opacity:0; transform:translateY(6px); transition:opacity .2s,transform .2s; }
.mk-player-controls.visible,.mk-player:not(.is-playing) .mk-player-controls { opacity:1; transform:none; }
.mk-player-btn { border:0; background:transparent; color:#fff; cursor:pointer; font-size:14px; padding:4px 6px; border-radius:8px; display:grid; place-items:center; }
.mk-player-btn:hover { background:rgba(255,255,255,.12); }
.mk-player-time { color:#e7d9db; font-size:20px; white-space:nowrap; min-width:74px; }
.mk-player-seek { position:relative; flex:1; height:14px; display:flex; align-items:center; cursor:pointer; }
.mk-player-seek:before { content:""; position:absolute; left:0; right:0; height:4px; border-radius:99px; background:rgba(255,255,255,.18); }
.mk-player-seek-buffered,.mk-player-seek-progress { position:absolute; left:0; height:4px; border-radius:99px; }
.mk-player-seek-buffered { background:rgba(255,255,255,.3); }
.mk-player-seek-progress { background:var(--red); }
.mk-player-seek-handle { position:absolute; width:11px; height:11px; border-radius:50%; background:#fff; transform:translateX(-50%); box-shadow:0 0 0 3px rgba(var(--red-rgb),.35); }
.mk-player-volume { width:64px; accent-color:var(--red); }
.mk-player-speed-wrap { position:relative; }
.mk-player-speed { font-size:22px; font-weight:600; min-width:34px; }
.mk-player-speed-menu { display:none; position:absolute; bottom:calc(100% + 6px); right:0; background:#1c1216; border:1px solid rgba(255,255,255,.15); border-radius:10px; padding:4px; flex-direction:column; box-shadow:0 12px 30px rgba(0,0,0,.4); }
.mk-player-speed-menu.open { display:flex; }
.mk-player-speed-menu button { border:0; background:transparent; color:#e7d9db; padding:6px 12px; border-radius:6px; cursor:pointer; font-size:22px; text-align:left; }
.mk-player-speed-menu button:hover { background:rgba(255,255,255,.1); color:#fff; }
.mk-player.is-fullscreen { max-height:none; aspect-ratio:auto; height:100vh; border-radius:0; }
.mk-player.is-fullscreen .mk-player-video { object-fit:contain; }

/* Admin video-manager widget: up to 5 slots, each an existing video summary
   or a blank slot to paste a link / upload a file. */
.video-manager { border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:12px; background:rgba(255,255,255,.03); }
.video-manager-head { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#cab9bb; font-size:26px; margin-bottom:10px; }
.video-manager-count { color:#f3b4a9; font-weight:600; white-space:nowrap; }
.video-manager-list { display:grid; gap:10px; }
.video-slot { border:1px solid rgba(255,255,255,.1); border-radius:11px; padding:10px; background:rgba(0,0,0,.14); }
.video-slot label { display:block; font-size:24px; color:#a89398; margin-bottom:6px; }
.video-slot input[type="text"],.video-slot input[type="url"] { width:100%; margin-top:4px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.04); color:var(--ink); border-radius:8px; padding:7px 9px; font-size:26px; }
.video-slot-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.video-slot-summary { margin:2px 0 10px; color:#8f7d81; font-size:24px; word-break:break-all; }
.video-slot-summary-label { display:block; margin-bottom:2px; color:#b9a8ab; font-size:20px; font-weight:650; }
.video-slot-summary-url { display:block; }
.video-slot-or { text-align:center; color:#6e5d61; font-size:18px; text-transform:uppercase; letter-spacing:.08em; margin:6px 0; }
.video-slot-upload input[type="file"] { display:block; margin-top:4px; font-size:22px; color:#cab9bb; }
.video-slot-status { color:#f3b4a9; font-size:24px; margin-top:6px; min-height:12px; }
.mini-remove { border:1px solid rgba(255,255,255,.15); background:transparent; color:#e3a39c; border-radius:8px; padding:4px 9px; font-size:20px; cursor:pointer; }
.mini-remove:hover { border-color:rgba(var(--red-rgb),.55); color:#fff; }
.resource-list { display:grid; gap:9px; }
.resource-item { display:flex; gap:12px; align-items:center; padding:13px 15px; border-radius:15px; color:var(--ink); }
.resource-item:hover { border-color:rgba(var(--red-rgb),.4); color:var(--ink); }
.resource-item>span:nth-child(2) { flex:1; font-size:24px; }
.resource-item small { display:block; color:var(--muted); margin-top:4px; font-size:18px; }
.resource-item b { color:#d68a84; }
.file-mark { display:grid; width:54px; height:54px; place-items:center; border-radius:12px; background:rgba(var(--red-rgb),.12); color:#f4a59c; font:600 20px var(--font); }
.file-mark.source { font-size:19px; }
.upload-form,.compact-form,.review-form { display:grid; gap:14px; padding:20px; border-radius:18px; }
.upload-form { max-width:790px; }
label { display:grid; gap:7px; color:#d6c7c9; font-size:22px; }
input,textarea,select { width:100%; min-width:0; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(10,7,9,.54); color:#f6efed; padding:10px 12px; outline:none; }
input:focus,textarea:focus,select:focus { border-color:rgba(var(--red-rgb),.7); box-shadow:0 0 0 3px rgba(var(--red-rgb),.12); }
input[type="file"] { padding:8px; color:#aa999c; }
input::placeholder,textarea::placeholder { color:#78696d; }
textarea { resize:vertical; line-height:1.5; }
select option { background:#251a20; color:#fff; }
.form-divider { display:flex; align-items:center; gap:10px; color:#877579; font-size:20px; }
.form-divider:before,.form-divider:after { content:""; height:1px; background:rgba(255,255,255,.09); flex:1; }
.upload-form>small { color:#88777c; line-height:1.5; font-size:18px; }
.back-line { margin-top:25px; }
.bot-instruction { display:flex; gap:18px; padding:22px; border-radius:20px; align-items:center; }
.bot-badge { display:grid; flex:0 0 54px; height:54px; place-items:center; border-radius:18px; background:linear-gradient(140deg,#f2b5a3,#8a2631); color:#35161d; font:700 19px var(--font); }
.bot-instruction h3 { margin:7px 0; font:600 18px var(--font); }
.bot-instruction p { color:#b9a9ab; font-size:24px; line-height:1.55; }
.submission-list { display:grid; gap:12px; }
.submission-card { padding:18px; border-radius:19px; }
.submission-top { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.submission-top h3 { margin:5px 0; font:600 17px var(--font); }
.submission-top small { font-size:18px; }
.submission-card>p { font-size:22px; }
.submitted-files { display:flex; flex-wrap:wrap; gap:12px; font-size:20px; margin:10px 0; }
.feedback-box { margin-top:13px; padding:12px 14px; border-left:2px solid #c45a57; border-radius:0 10px 10px 0; background:rgba(255,255,255,.035); font-size:22px; color:#e5d8d7; }
.feedback-box p { white-space:pre-wrap; line-height:1.55; color:#c6b5b7; }
.status-accepted { color:#a8d4b3; border-color:rgba(111,183,133,.25); background:rgba(53,115,74,.12); }
.status-revision { color:#f2ae9f; border-color:rgba(var(--red-rgb),.3); background:rgba(var(--red-rgb),.1); }
.review-form { border-top:1px solid rgba(255,255,255,.08); margin-top:14px; padding:14px 0 0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:end; }
.review-form label:first-of-type { grid-row:span 2; }
.review-form label:nth-of-type(2) { grid-column:2; }
.review-form label:nth-of-type(3) { grid-column:2; }
.review-form button { justify-self:start; }
.muted { color:#938287; font-size:20px; }
.homework-table-wrap { overflow-x:auto; border-radius:18px; }
.homework-table { width:100%; border-collapse:collapse; min-width:800px; }
.homework-table th { text-align:left; color:#987f85; text-transform:uppercase; letter-spacing:.08em; font-size:18px; font-weight:600; }
.homework-table td,.homework-table th { padding:14px 13px; border-bottom:1px solid rgba(255,255,255,.07); vertical-align:middle; }
.homework-table td { font-size:20px; }
.homework-table td small { display:block; margin-top:5px; color:#9c898e; }
.homework-table input { font-size:20px; min-width:170px; }
.mini-save,.secondary-button { border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.045); color:#e9d9d7; border-radius:9px; padding:8px 10px; font-size:20px; cursor:pointer; white-space:nowrap; }
.calendar-head { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:20px 23px; border-radius:22px; }
.calendar-head h2 { margin:8px 0 5px; font:600 29px var(--font); letter-spacing:-.05em; }
.calendar-head p { margin:0; color:#aa999c; font-size:22px; }
.calendar-head-tools { display:flex; align-items:flex-end; justify-content:flex-end; flex-wrap:wrap; gap:12px; }
.calendar-filter { display:flex; align-items:flex-end; gap:8px; }
.calendar-filter label { display:grid; gap:4px; color:#a18c91; font-size:14px; }
.calendar-filter select { min-width:170px; }
.month-nav { display:flex; align-items:center; gap:9px; }
.month-nav a { display:grid; min-width:35px; height:35px; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:11px; color:#e7b5b0; background:rgba(255,255,255,.035); }
.month-nav .today-link { display:flex; padding:0 11px; font-size:20px; }
.calendar-board { margin-top:14px; padding:12px; border-radius:20px; overflow:hidden; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays span { text-align:center; color:#997f85; padding:9px 2px; font-size:18px; letter-spacing:.11em; }
.calendar-day { min-height:92px; border:1px solid rgba(255,255,255,.065); padding:6px; background:rgba(255,255,255,.014); position:relative; }
.calendar-day.other-month { opacity:.37; }
.calendar-day.today { background:rgba(var(--red-rgb),.09); box-shadow:inset 0 0 0 1px rgba(var(--red-rgb),.35); }
.day-number { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#cdbabd; font-size:16px; }
.today .day-number { background:var(--red); color:#fff; }
.calendar-day-trigger { width:100%; display:flex; justify-content:space-between; align-items:center; padding:0; border:0; background:transparent; text-align:left; cursor:pointer; }
.calendar-day-trigger:hover .day-number,.calendar-day-trigger:focus-visible .day-number { background:rgba(var(--red-rgb),.2); color:#fff; }
.calendar-day-add { color:#cc8d91; opacity:0; font-size:16px; transition:opacity .16s ease; }
.calendar-day-trigger:hover .calendar-day-add,.calendar-day-trigger:focus-visible .calendar-day-add { opacity:1; }
.calendar-event { border-radius:7px; margin-top:4px; padding:4px 5px; background:rgba(131,200,99,.13); color:#c5dda9; font-size:13px; line-height:1.3; overflow:hidden; }
.calendar-event.manual { background:rgba(var(--red-rgb),.17); color:#f0b5ae; }
.calendar-event.deadline { background:rgba(237,173,93,.13); color:#efc992; }
.calendar-event b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-event small { display:block; color:rgba(255,255,255,.58); font-size:12px; margin-top:2px; }
.calendar-dialog { width:min(660px,calc(100vw - 28px)); max-width:none; max-height:min(90dvh,900px); padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:24px; color:var(--ink); background:linear-gradient(145deg,rgba(44,28,35,.99),rgba(22,14,19,.99)); box-shadow:0 24px 90px rgba(0,0,0,.55); }
.calendar-dialog::backdrop { background:rgba(9,6,8,.72); backdrop-filter:blur(7px); }
.calendar-dialog-inner { max-height:min(90dvh,900px); overflow-y:auto; padding:24px; }
.calendar-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.09); }
.calendar-dialog-head h2 { margin:6px 0 4px; font-size:25px; letter-spacing:-.04em; }
.calendar-dialog-head p { margin:0; color:#b4a2a5; font-size:15px; text-transform:capitalize; }
.calendar-dialog-close { width:38px; height:38px; border:1px solid rgba(255,255,255,.12); border-radius:12px; color:#e8c9c7; background:rgba(255,255,255,.05); font-size:26px; cursor:pointer; }
.calendar-day-events { margin:16px 0; }
.calendar-dialog-event { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; padding:11px 12px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(255,255,255,.035); }
.calendar-dialog-event strong { display:block; font-size:15px; }
.calendar-dialog-event p { margin:4px 0 0; color:#a9979b; font-size:13px; }
.calendar-dialog-event .calendar-dialog-event-details { color:#d1c1c2; white-space:pre-wrap; overflow-wrap:anywhere; }
.calendar-course-link { flex:none; padding:7px 9px; border:1px solid rgba(var(--red-rgb),.3); border-radius:9px; background:rgba(var(--red-rgb),.1); font-size:13px; }
.calendar-no-events { margin:0; color:#a9979b; font-size:14px; }
.calendar-event-form { display:grid; gap:12px; }
.calendar-event-form label { display:grid; gap:6px; color:#bdabad; font-size:14px; }
.calendar-event-form input,.calendar-event-form select,.calendar-event-form textarea { width:100%; min-width:0; border:1px solid rgba(255,255,255,.12); border-radius:11px; padding:11px 12px; color:var(--ink); background:rgba(9,6,8,.42); font-size:15px; }
.calendar-event-form textarea { resize:vertical; min-height:74px; }
.calendar-timezone-note { color:#96868a; font-size:12px; }
.calendar-timezone-note b { color:#d8b4b1; font-weight:500; }
.calendar-course-note { margin:0; padding:10px 12px; border-left:2px solid rgba(var(--red-rgb),.6); border-radius:0 9px 9px 0; color:#a9959a; background:rgba(var(--red-rgb),.06); font-size:13px; line-height:1.5; }
.calendar-dialog-actions,.calendar-save-actions,.calendar-delete-confirm { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px; }
.calendar-save-actions { justify-content:flex-end; }
.calendar-delete-button { border:1px solid rgba(229,72,73,.32); border-radius:10px; padding:9px 11px; color:#efa4a0; background:rgba(229,72,73,.08); cursor:pointer; }
.calendar-delete-confirm { justify-content:flex-start; padding:9px; border:1px solid rgba(229,72,73,.22); border-radius:12px; color:#d8c5c5; background:rgba(229,72,73,.06); }
.calendar-dialog [hidden] { display:none !important; }
.event-list { display:grid; gap:9px; }
.event-row { padding:13px; border-radius:14px; display:grid; grid-template-columns:68px minmax(0,1fr) auto; align-items:center; gap:13px; }
.event-date { display:grid; border-right:1px solid rgba(255,255,255,.1); }
.event-date b { color:#f2b5ab; font:600 17px var(--font); }
.event-date span { color:#968287; font-size:18px; }
.event-row h3 { margin:0; font:600 14px var(--font); }
.event-row p { color:#ab9b9e; font-size:20px; line-height:1.45; margin:4px 0 0; }
.compact-form { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
.compact-form button { justify-self:start; }
.user-create-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
.user-list { padding:0 15px; border-radius:18px; }
.user-row { display:grid; grid-template-columns:37px minmax(130px,1fr) auto minmax(100px,1fr); gap:12px; align-items:center; border-bottom:1px solid rgba(255,255,255,.07); padding:12px 2px; }
.user-row:last-child { border-bottom:0; }
.user-avatar { width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(140deg,#f2b5a3,#8a2631); color:#35161d; font-size:18px; font-weight:700; }
.user-row strong,.user-row small { display:block; }
.user-row strong { font-size:22px; }
.user-row small { margin-top:3px; color:#9d8a8f; font-size:18px; }
.user-payment-details { grid-column:1 / -1; padding:13px 15px; border:1px solid rgba(255,255,255,.09); border-radius:14px; background:rgba(18,12,17,.42); }
.user-payment-details summary { color:#f0c0b8; font-weight:600; cursor:pointer; }
.user-payment-details>p { margin:8px 0 12px; color:#a9959a; font-size:14px; }
.user-payment-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.user-payment-purchase { grid-column:1 / -1; }
.user-payment-records { display:grid; grid-column:1 / -1; gap:8px; padding:0 4px 12px 60px; border-bottom:1px solid rgba(255,255,255,.07); }
.user-payment-records strong { color:#e7c8c8; font-size:15px; }
.profile-purchases { margin-top:20px; }
.profile-access { margin-top:20px; }
.profile-course-list { display:grid; gap:12px; }
.profile-course-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 16px; padding:18px 20px; color:var(--ink); text-decoration:none; }
a.profile-course-card { transition:transform .18s ease,border-color .18s ease,background .18s ease; }
a.profile-course-card:hover { transform:translateY(-2px); border-color:rgba(var(--red-rgb),.42); background:rgba(255,255,255,.055); }
.profile-course-state { grid-column:1 / -1; color:#efaaa2; font-size:12px; font-weight:700; letter-spacing:.08em; }
.profile-course-card strong { min-width:0; overflow-wrap:anywhere; font-size:20px; }
.profile-course-card small { min-width:0; color:var(--muted); line-height:1.45; overflow-wrap:anywhere; }
.profile-course-action { grid-column:2; grid-row:2 / 4; color:#f3b4a9; font-weight:600; white-space:nowrap; }
.profile-course-closed .profile-course-state { color:#b9a7ab; }
.profile-course-empty,.profile-payment-empty { padding:18px 20px; color:var(--muted); line-height:1.55; }
.profile-payment-note { margin:0 0 10px; color:var(--muted); line-height:1.45; }
.profile-payment-list { display:grid; gap:12px; }
.profile-payment { padding:18px 20px; }
.profile-payment>strong { color:#f4e8e9; font-size:18px; }
.profile-payment dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:14px 0 0; }
.profile-payment dl>div { min-width:0; }
.profile-payment dt { color:#a9959a; font-size:13px; }
.profile-payment dd { margin:3px 0 0; color:#f1dfe1; overflow-wrap:anywhere; }
.user-payments-link { display:inline-block; margin-top:5px; font-size:13px; }
.payment-edit-list { display:grid; gap:12px; }
.payment-edit-card { display:grid; gap:12px; padding:16px; }
.payment-edit-form { display:grid; gap:13px; }
.payment-edit-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.payment-edit-purchase { grid-column:1 / -1; }
.payment-delete-form { display:flex; justify-content:flex-end; }
.payment-delete-confirm { justify-self:end; }
.payment-delete-confirm>summary { color:#e4a09d; font-size:13px; cursor:pointer; }
.payment-delete-button { border:1px solid rgba(229,72,73,.32); border-radius:10px; padding:8px 11px; color:#efa4a0; background:rgba(229,72,73,.08); cursor:pointer; }
.payment-add-details { padding:16px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(35,23,31,.62); }
.payment-add-details>summary { color:#f0c0b8; font-weight:600; cursor:pointer; }
.payment-add-details>.payment-edit-form { margin-top:14px; padding:16px; }
.payment-filter-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:12px; padding:16px; }
.payment-filter-form button,.payment-filter-form .payment-export-link { justify-self:start; }
.payment-export-link { text-decoration:none; }
.payment-report-table-wrap { overflow-x:auto; padding:4px 14px; }
.payment-report-table { width:100%; border-collapse:collapse; min-width:600px; }
.payment-report-table th,.payment-report-table td { padding:12px 10px; border-bottom:1px solid rgba(255,255,255,.08); text-align:left; vertical-align:top; }
.payment-report-table th { color:#cba9ae; font-size:13px; font-weight:600; }
.payment-report-table td { color:#eee1e3; font-size:14px; }
.payment-report-table tbody tr:last-child td { border-bottom:0; }
.assignment-form { display:flex; align-items:center; gap:7px; }
.assignment-form select { min-width:120px; max-width:220px; padding:7px 9px; font-size:18px; }
.assignment-form.enroll-form { margin-bottom:12px; }
.assignment-form.enroll-form select { max-width:340px; flex:1; }
.course-switcher { margin:-6px 0 16px; color:#a79196; font-size:20px; }
.course-switcher a { color:#f0b0a3; text-decoration:underline; text-underline-offset:3px; }
.editor-form { max-width:830px; }
.lesson-editor { margin:9px 0; padding:13px; display:grid; gap:9px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(8,6,8,.2); }
.lesson-editor input,.lesson-editor textarea { padding:10px 12px; }

/* Tabbed lesson editor panel (Видео/Контент/Материалы/Тест), used on the course builder page.
   Tabs are pure CSS (radio + label + general-sibling selectors) so no JS is needed and the
   whole lesson stays one <form> that posts to /admin/lesson in a single request. */
.mk-tab-radio { position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.mk-tabs { display:flex; gap:6px; border-bottom:1px solid var(--line); margin-bottom:16px; flex-wrap:wrap; }
.mk-tab { display:inline-flex; align-items:center; gap:6px; padding:10px 14px; font-size:26px; font-weight:600; color:var(--muted); border-bottom:2px solid transparent; cursor:pointer; transition:color .15s,border-color .15s; }
.mk-tab:hover { color:var(--ink); }
.mk-tab-count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; padding:0 8px; border-radius:99px; background:rgba(255,255,255,.1); font-size:16px; color:var(--ink); }
.mk-tab-panel { display:none; }
.mk-tab-panel-content,.mk-tab-panel-materials { display:none; gap:14px; max-width:640px; }
.mk-tab-radio-video:checked ~ .mk-tabs .mk-tab-label-video,
.mk-tab-radio-content:checked ~ .mk-tabs .mk-tab-label-content,
.mk-tab-radio-materials:checked ~ .mk-tabs .mk-tab-label-materials,
.mk-tab-radio-video:checked ~ .mk-tab-panel-video,
.mk-tab-radio-content:checked ~ .mk-tab-panel-content,
.mk-tab-radio-materials:checked ~ .mk-tab-panel-materials { display:grid; }
.mk-tab-radio-video:focus-visible ~ .mk-tabs .mk-tab-label-video,
.mk-tab-radio-content:focus-visible ~ .mk-tabs .mk-tab-label-content,
.mk-tab-radio-materials:focus-visible ~ .mk-tabs .mk-tab-label-materials,
.mk-tab-panel-content label,.mk-tab-panel-materials label { font-size:26px; }
.mk-publish-control { display:flex !important; align-items:center; gap:9px; font-size:26px !important; color:var(--ink); }
.mk-publish-control input { width:auto; }
.mk-form-actions { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.security-note { display:flex; gap:14px; padding:18px; border-radius:17px; }
.security-note>span { color:#e59287; font-size:22px; }
.security-note h3 { margin:0 0 5px; font:600 14px var(--font); }
.security-note p { color:#ac9a9d; font-size:20px; line-height:1.55; margin:0; }
.empty-state { padding:30px; border-radius:21px; }
.empty-state h2,.empty-state h3 { font:600 20px var(--font); margin:4px 0 9px; }
.empty-state p { color:#ac9a9d; line-height:1.6; font-size:24px; max-width:640px; }
.admin-stats { display:grid; justify-items:center; gap:4px; padding:35px 0; }
.admin-stats b { font:600 60px var(--font); color:#f2aaa0; }
.admin-stats span { color:#ae9a9f; font-size:22px; }
.admin-stats a { margin-top:11px; font-size:20px; }
.course-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.course-card { border-radius:18px; padding:18px; }
.course-card-main { display:block; color:var(--ink); text-decoration:none; }
.course-card-main:hover h3 { color:#ffc1b7; }
a.course-card { display:block; color:var(--ink); text-decoration:none; cursor:pointer; transition:transform .15s ease,border-color .15s ease; }
a.course-card:hover { transform:translateY(-3px); border-color:rgba(242,170,160,.4); }
.course-card h3 { font:600 20px var(--font); margin:8px 0; }
.course-card p { min-height:36px; color:#b09fa2; font-size:22px; line-height:1.5; }
.course-card-foot { display:flex; justify-content:space-between; gap:10px; border-top:1px solid rgba(255,255,255,.08); padding-top:11px; font-size:18px; color:#a18b90; }
.quick-links { display:flex; flex-wrap:wrap; gap:10px; }
.quick-links a { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); padding:11px 14px; border-radius:11px; font-size:22px; }
.login-shell { min-height:100dvh; display:grid; place-items:center; padding:28px; }
.login-page { position:relative; width:min(100%,760px); z-index:1; }
.card { display:flex; align-items:stretch; width:100%; height:440px; border-radius:26px; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:linear-gradient(145deg,rgba(67,43,52,.62),rgba(26,16,22,.72)); box-shadow:inset 1px 1px 0 rgba(255,255,255,.08),0 30px 70px rgba(0,0,0,.35); backdrop-filter:blur(24px) saturate(125%); }
.card-nav { position:relative; flex:0 0 96px; list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.card-nav li { flex:1 1 auto; display:grid; place-items:center; position:relative; }
.card-nav .mk-brand { margin:0; }
.card-nav button { width:100%; height:100%; border:0; background:transparent; color:#9d888c; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; cursor:default; transition:color .3s; font-size:16px; }
.card-nav button.active { color:var(--peach); }
.card-nav button span { font-size:16px; letter-spacing:.01em; }
.active-bar { position:absolute; top:0; left:0; width:4px; height:100%; background:var(--red); border-top-right-radius:8px; border-bottom-right-radius:8px; box-shadow:0 0 16px rgba(var(--red-rgb),.5); }
.card-hero { position:relative; flex:0 0 240px; margin:-1px 0; overflow:hidden; background:#1b0d13 url("/assets/images/login-editorial.jpg") center/cover no-repeat; isolation:isolate; }
.card-hero:before { content:""; position:absolute; inset:0; z-index:0; opacity:.93; background:linear-gradient(180deg,#1b0d1310 0%,#1b0d13d9 78%,#1b0d13 100%),linear-gradient(90deg,#1b0d13c0 0%,#1b0d1305 60%,transparent 100%); }
.card-hero-inner { position:relative; z-index:1; height:100%; display:flex; align-items:flex-end; }
.card-hero-content { padding:0 22px 26px; }
.card-hero-content h2 { margin:0 0 8px; font:600 clamp(22px,2.4vw,26px)/1.2 var(--font); letter-spacing:-.02em; color:#fff; }
.card-hero-content h3 { margin:0; font-weight:400; font-size:22px; color:#e3cdcf; line-height:1.4; }
.card-form { position:relative; flex:1; padding:30px 32px; display:flex; flex-direction:column; justify-content:center; background:rgba(16,11,14,.35); min-width:0; }
.form-stack { display:grid; gap:15px; }
.full-button { width:100%; justify-content:center; margin-top:4px; }
.preview-login { border-top:1px solid rgba(255,255,255,.09); margin-top:20px; padding-top:15px; color:#9c888d; font-size:18px; }
.preview-login>div { display:flex; gap:8px; margin-top:9px; flex-wrap:wrap; }
.preview-login a { border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:7px 9px; font-size:18px; }
@media (max-width:680px) {
  .card { flex-direction:column; height:auto; }
  .card-nav { flex-direction:row; flex:0 0 auto; height:64px; }
  .card-nav li { flex:0 0 auto; padding:0 18px; }
  .card-nav button { flex-direction:row; }
  .active-bar { top:auto; bottom:0; left:0; width:100%; height:3px; border-radius:0; }
  .card-hero { flex:0 0 160px; }
  .card-form { padding:26px 22px; }
}
.mk-mobile-nav { display:none; }
@media (max-width: 1000px) {
  .mk-grid { grid-template-columns:1fr; }
  .mk-progress-card { height:225px; }
  .mk-ring { width:130px; height:130px; margin:auto; }
  .mk-ring-number { font-size:30px; }
}
@media (max-width: 900px) {
  .mk-rail { width:76px; flex-basis:76px; padding:18px 10px; align-items:center; }
  .mk-brand { margin-bottom:24px; width:min(var(--platform-logo-size,43px),56px); height:min(var(--platform-logo-size,43px),56px); }
  .mk-railbutton { width:44px; height:44px; padding:0; justify-content:center; }
  .mk-raillabel { display:none; }
  .mk-railbottom { flex-direction:column; }
  .mk-main { min-width:0; }
  .mk-topbar { flex-wrap:wrap; gap:12px; align-items:flex-start; }
  .mk-top-actions { max-width:100%; min-width:0; flex-wrap:wrap; }
  .mk-sectionhead { align-items:flex-start; flex-direction:column; gap:6px; }
  .mk-sectionhead>span { max-width:100%; line-height:1.4; text-align:left; }
  .user-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .user-row { grid-template-columns:42px minmax(0,1fr); gap:9px 12px; align-items:start; }
  .user-row>div:nth-child(2) { min-width:0; overflow-wrap:anywhere; }
  .user-row small { overflow-wrap:anywhere; }
  .user-row>.status-chip { grid-column:2; justify-self:start; }
  .user-row .assignment-form { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; gap:8px; }
  .user-row .assignment-form select { min-width:0; max-width:none; width:100%; }
  .user-payment-records { padding:0 10px 12px 54px; }
}
@media (min-width:721px) and (max-width:900px) {
  .mk-frame { padding:12px; gap:14px; }
  .mk-rail { width:178px; flex-basis:178px; padding:16px 10px; align-items:stretch; }
  .mk-brand { margin-bottom:18px; }
  .mk-railbutton { width:100%; height:48px; padding:0 9px; justify-content:flex-start; gap:9px; }
  .mk-railicon { width:22px; }
  .mk-raillabel { display:block; min-width:0; font-size:13px; line-height:1.1; white-space:normal; overflow-wrap:anywhere; }
  .mk-railbottom { flex-direction:row; gap:8px; }
  .mk-role-pill { padding:6px 8px; font-size:12px; }
  .mk-main { padding:9px 8px 24px; }
  .mk-kicker { font-size:18px; }
  .page-intro p { font-size:18px; line-height:1.55; }
  .mk-hero p { font-size:18px; }
}
@media (max-width: 720px) {
  .mk-frame { padding:13px; }
  .mk-rail { width:60px; flex-basis:60px; padding:14px 8px; }
  .mk-brand { width:min(var(--platform-logo-size,39px),44px); height:min(var(--platform-logo-size,39px),44px); }
  .mk-main { padding:7px 2px 28px; }
  .mk-lessons { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mk-practice { grid-template-columns:1fr; }
  .course-cards { grid-template-columns:1fr; }
  .platform-logo-settings,.platform-color-grid { grid-template-columns:1fr; }
  .platform-settings-form { padding:18px; }
  .user-create-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .calendar-day { min-height:70px; padding:4px; }
  .calendar-event { font-size:12px; }
  .calendar-head-tools { width:100%; justify-content:space-between; }
  .calendar-filter { flex:1; }
  .calendar-filter select { min-width:0; max-width:220px; }
}
@media (max-width:720px) {
  .mk-frame { display:block; padding:0; }
  .mk-rail { display:none; }
  .mk-main { height:100dvh; overflow-x:hidden; padding:20px 15px calc(150px + env(safe-area-inset-bottom)); }
  .mk-sectionhead { align-items:flex-start; flex-direction:column; gap:6px; }
  .mk-sectionhead>span { max-width:100%; line-height:1.4; text-align:left; }
  .mk-cardtop { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .mk-cardtop .status-chip { max-width:100%; white-space:normal; text-align:left; }
  .mk-kicker { font-size:14px; letter-spacing:.08em; }
  .page-intro p { font-size:17px; line-height:1.5; }
  .mk-hero h2 { display:block; max-width:100%; font-size:clamp(24px,6.5vw,29px); white-space:normal; overflow-wrap:anywhere; overflow:visible; }
  .mk-hero p { max-width:100%; font-size:16px; line-height:1.5; }
  .course-cards,.course-card { min-width:0; }
  .course-card .mk-eyebrow { font-size:13px; line-height:1.35; overflow-wrap:anywhere; }
  .course-card h3,.course-card p { max-width:100%; overflow-wrap:anywhere; }
  .course-card p { min-height:0; font-size:16px; line-height:1.45; }
  .course-card-foot { flex-direction:column; align-items:flex-start; gap:8px; font-size:14px; }
  .course-card-foot>* { min-width:0; max-width:100%; overflow-wrap:anywhere; }
  .mk-mobile-nav { display:grid; position:fixed; z-index:7; bottom:max(8px,env(safe-area-inset-bottom)); left:max(10px,env(safe-area-inset-left)); right:max(10px,env(safe-area-inset-right)); grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px 2px; padding:7px 4px; background:rgba(35,22,28,.95); border:1px solid var(--line); border-radius:18px; backdrop-filter:blur(18px); }
  .mk-mobile-nav-expanded { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .mk-mobile-nav a { min-width:0; min-height:34px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:2px; color:#8d787e; text-align:center; }
  .mk-mobile-nav a span { max-width:100%; font-size:12px; font-weight:500; line-height:1.1; white-space:normal; overflow-wrap:anywhere; }
  .mk-mobile-nav-expanded a span { font-size:11px; }
  .mk-mobile-nav a.active { color:#f06d69; }
  .profile-course-card { grid-template-columns:minmax(0,1fr); gap:7px; padding:16px; }
  .profile-course-state,.profile-course-card strong,.profile-course-card small,.profile-course-action { grid-column:1; grid-row:auto; }
  .profile-course-action { white-space:normal; }
}
@media (max-width: 560px) {
  .mk-frame { display:block; padding:0; }
  .mk-rail { display:none; }
  .mk-main { padding:20px 15px 87px; }
  .mk-main { overflow-x:hidden; padding-bottom:calc(150px + env(safe-area-inset-bottom)); }
  .mk-topbar { flex-wrap:wrap; gap:12px; align-items:flex-start; }
  .mk-top-actions { max-width:100%; min-width:0; flex-wrap:wrap; }
  .mk-topbar .preview-pill { font-size:12px; white-space:normal; }
  .mk-title { max-width:100%; overflow-wrap:anywhere; }
  .mk-topbar { margin-bottom:21px; }
  .mk-title { font-size:27px; }
  .mk-top-actions { gap:7px; }
  .preview-pill { font-size:16px; padding:6px 7px; }
  .quiet-button { font-size:18px; padding:8px; }
  .mk-hero { min-height:310px; padding:23px 19px; }
  .mk-hero h2 { font-size:clamp(24px,6.5vw,29px); -webkit-line-clamp:3; }
  .mk-hero p { font-size:16px; line-height:1.5; }
  .mk-hero .mk-primary { font-size:19px; padding:10px 13px; }
  .mk-hero-ornament { width:225px; height:225px; right:-60px; bottom:-50px; }
  .mk-lessons { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .mk-sectionhead h2 { font-size:18px; }
  .mk-sectionhead>span { max-width:100%; line-height:1.4; text-align:left; }
  .page-footer { padding-bottom:7px; line-height:1.45; text-align:center; }
  .course-heading { padding:17px; }
  .course-heading p { font-size:20px; }
  .lesson-row { grid-template-columns:31px minmax(0,1fr) auto; gap:9px; padding:12px 10px; }
  .lesson-row h3 { font-size:24px; }
  .lesson-row p { font-size:18px; }
  .round-arrow,.lock-mark { width:29px; height:29px; }
  .resource-band { align-items:flex-start; flex-direction:column; }
  .resource-links { display:grid; gap:8px; }
  .lesson-detail-head { padding:19px; }
  .lesson-detail-head .status-chip { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .video-card { padding:6px; }
  .video-caption { font-size:16px; }
  .review-form { grid-template-columns:1fr; }
  .review-form label:first-of-type { grid-row:auto; }
  .review-form label:nth-of-type(2),.review-form label:nth-of-type(3) { grid-column:auto; }
  .compact-form,.user-create-form { grid-template-columns:1fr; }
  .calendar-head { align-items:flex-start; flex-direction:column; }
  .calendar-head h2 { font-size:24px; }
  .calendar-head-tools { align-items:flex-start; flex-direction:column; }
  .calendar-filter { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; }
  .calendar-filter label { grid-column:1 / -1; }
  .calendar-filter select { width:100%; max-width:none; }
  .calendar-filter button { align-self:end; }
  .calendar-board { padding:5px; }
  .calendar-weekdays span { font-size:14px; }
  .calendar-day { min-height:53px; padding:2px; }
  .day-number { width:28px; height:28px; font-size:13px; }
  .calendar-event { padding:3px; font-size:10px; }
  .calendar-event small { font-size:10px; }
  .calendar-day-add { font-size:12px; }
  .calendar-dialog-inner { padding:18px; }
  .calendar-dialog-head h2 { font-size:22px; }
  .calendar-dialog-event { align-items:flex-start; }
  .calendar-dialog-actions { align-items:stretch; flex-direction:column; }
  .calendar-save-actions { width:100%; }
  .calendar-save-actions button { flex:1; }
  .calendar-delete-area,.calendar-delete-area>button { width:100%; }
  .event-row { grid-template-columns:49px minmax(0,1fr); }
  .event-row>.status-chip { grid-column:2; justify-self:start; }
  .user-row { grid-template-columns:34px minmax(0,1fr) auto; }
  .user-row .assignment-form { grid-column:2 / 4; }
  .assignment-form select { min-width:0; flex:1; }
  .user-row>.muted { grid-column:2 / 4; }
  .user-payment-fields,.profile-payment dl,.payment-edit-fields,.payment-filter-form { grid-template-columns:1fr; }
  .user-payment-records { padding-left:2px; }
  .payment-filter-form button,.payment-filter-form .payment-export-link { width:100%; justify-self:stretch; text-align:center; }
  .login-card { padding:24px 20px; }
  .login-card h1 { font-size:32px; }
}

/* Published TipTap content uses semantic HTML, independent of the editor UI. */
.rich-content { max-width:100%; overflow-wrap:anywhere; color:#ebdfe2; line-height:1.7; }
.rich-content > :first-child { margin-top:0; }
.rich-content > :last-child { margin-bottom:0; }
.rich-content h1,.rich-content h2,.rich-content h3 { color:#fff; line-height:1.28; margin:1.1em 0 .5em; }
.rich-content p { margin:.6em 0; color:inherit; font-size:inherit; line-height:inherit; max-width:none; }
.rich-content ul,.rich-content ol { padding-left:1.5rem; margin:.8em 0; }
.rich-content li { margin:.25em 0; }
.rich-content blockquote { border-left:3px solid #b7748e; padding-left:1rem; color:#e2c9d4; }
.rich-content pre { padding:1rem; border-radius:10px; overflow:auto; background:#171218; white-space:pre-wrap; }
.rich-content a { color:#ef9db1; text-decoration:underline; }
.rich-content img { display:block; max-width:100%; height:auto; margin:1rem 0; border-radius:10px; }
.rich-content .rich-editor-video { display:block; width:100%; max-width:100%; margin:1rem 0; }
.rich-content .rich-editor-video-frame { position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; border-radius:12px; background:#090709; }
.rich-content .rich-editor-video-frame iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }
.rich-content .rich-editor-video video { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16 / 9; border-radius:12px; background:#090709; }
.rich-content .rich-editor-video figcaption { margin-top:8px; color:#ad999c; font-size:14px; line-height:1.45; }
.rich-content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:1rem 0; }
.rich-content th,.rich-content td { min-width:90px; padding:.55rem .7rem; border:1px solid #594750; text-align:left; vertical-align:top; }
.rich-content hr { border:0; border-top:1px solid #594750; margin:1.25rem 0; }

/* ---------- "Мои уроки" command center (student courses page) ---------- */
.cc-page { max-width:1160px; margin:0 auto; width:100%; }
.cc-header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:24px; }
.cc-header .page-intro { margin:0; max-width:640px; }
.cc-quicklinks { display:flex; gap:8px; flex-wrap:wrap; padding-bottom:4px; }
.cc-quicklink { display:inline-flex; align-items:center; gap:6px; text-decoration:none; cursor:pointer; transition:border-color .2s,color .2s,background .2s; }
.cc-quicklink:hover { border-color:rgba(243,180,169,.4); color:var(--peach); background:rgba(243,180,169,.08); }
.cc-quicklink:focus-visible { outline:2px solid var(--peach); outline-offset:2px; }

.cc-console { display:flex; align-items:center; gap:34px; padding:26px 30px; margin-bottom:18px; flex-wrap:wrap; }
.cc-ring-wrap { position:relative; width:128px; height:128px; flex-shrink:0; }
.cc-ring-svg { width:100%; height:100%; }
.cc-ring-track { stroke:rgba(255,255,255,.08); }
.cc-ring-value { transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1); }
.cc-ring-label { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.cc-ring-percent { font:700 26px/1 var(--font); letter-spacing:-.03em; color:var(--ink); }
.cc-ring-caption { margin-top:6px; font-size:20px; color:var(--muted); max-width:88px; line-height:1.35; }

.cc-stats-grid { flex:1; min-width:280px; display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:10px; }
.cc-stat-tile { display:flex; align-items:center; gap:10px; width:100%; padding:12px 14px; border-radius:14px; border:1px solid var(--line); background:rgba(255,255,255,.03); }
.cc-stat-tile-text { display:flex; flex-direction:column; min-width:0; }
.cc-stat-icon { width:32px; height:32px; flex-shrink:0; border-radius:10px; display:grid; place-items:center; background:rgba(255,255,255,.06); color:var(--muted); }
.cc-stat-tile.tone-ok .cc-stat-icon { color:#a8d4b3; background:rgba(53,115,74,.16); }
.cc-stat-tile.tone-pending .cc-stat-icon { color:#e3c98f; background:rgba(229,178,72,.14); }
.cc-stat-tile.tone-revision .cc-stat-icon { color:#f2ae9f; background:rgba(var(--red-rgb),.14); }
.cc-stat-tile.tone-neutral .cc-stat-icon { color:var(--peach); background:rgba(var(--red-rgb),.12); }
.cc-stat-value { font:700 19px/1.1 var(--font); color:var(--ink); letter-spacing:-.02em; }
.cc-stat-label { margin-top:3px; font-size:20px; color:var(--muted); letter-spacing:.01em; }

.cc-hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 34px; margin-bottom:26px; flex-wrap:wrap; }
.cc-hero-glow { position:absolute; inset:-40% -8% auto auto; width:360px; height:360px; background:radial-gradient(circle,rgba(var(--red-rgb),.28),transparent 70%); pointer-events:none; }
.cc-hero-complete .cc-hero-glow { background:radial-gradient(circle,rgba(168,212,179,.22),transparent 70%); }
.cc-hero-body { position:relative; max-width:620px; }
.cc-hero-eyebrow { display:inline-flex; align-items:center; gap:6px; color:var(--peach); font:700 20px var(--font); letter-spacing:.14em; text-transform:uppercase; }
.cc-hero-title { margin:10px 0 8px; font:600 clamp(20px,2.4vw,28px)/1.2 var(--font); letter-spacing:-.03em; color:var(--ink); }
.cc-hero-desc { color:#baaaad; font-size:26px; line-height:1.6; margin:0 0 14px; }
.cc-hero-meta-row { display:flex; gap:8px; flex-wrap:wrap; }
.cc-hero-kind { display:inline-flex; align-items:center; gap:5px; }
.cc-hero-action { position:relative; display:flex; flex-direction:column; align-items:center; gap:10px; flex-shrink:0; }
.cc-hero-arrow { width:56px; height:56px; border-color:rgba(243,180,169,.4); background:linear-gradient(135deg,rgba(var(--red-rgb),.35),rgba(var(--red-rgb),.1)); color:#ffe4de; box-shadow:0 10px 26px rgba(var(--red-rgb),.25); animation:cc-pulse 2.6s ease-in-out infinite; }
.cc-hero-action-label { font-size:20px; color:var(--muted); text-align:center; white-space:nowrap; }
@keyframes cc-pulse { 0%,100% { transform:scale(1); box-shadow:0 10px 26px rgba(var(--red-rgb),.25); } 50% { transform:scale(1.06); box-shadow:0 12px 32px rgba(var(--red-rgb),.4); } }

.cc-program { margin-top:26px; }
.cc-program-header { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.cc-program-header h3 { margin:6px 0 0; font:600 20px var(--font); letter-spacing:-.03em; color:var(--ink); }
.cc-program-summary { color:var(--muted); font-size:22px; }
.cc-module-list { display:grid; gap:10px; }
.cc-module { padding:0; overflow:hidden; }
.cc-module[open] { border-color:rgba(243,180,169,.4); }
.cc-module-header { list-style:none; width:100%; display:grid; grid-template-columns:34px minmax(0,1fr) auto 16px; align-items:center; gap:16px; padding:16px 20px; cursor:pointer; transition:background .2s; }
.cc-module-header::-webkit-details-marker { display:none; }
.cc-module-header:hover { background:rgba(255,255,255,.025); }
.cc-module-header:focus-visible { outline:2px solid var(--peach); outline-offset:-2px; }
.cc-module-index { color:#d47e79; font:600 16px var(--font); }
.cc-module-title-block { min-width:0; }
.cc-module-title { display:block; font:600 14px var(--font); color:var(--ink); }
.cc-module-fraction { display:block; margin-top:3px; font-size:20px; color:var(--muted); }
.cc-module-nodes { display:flex; align-items:center; gap:5px; }
.cc-node { width:18px; height:18px; border-radius:50%; display:grid; place-items:center; flex-shrink:0; border:1.5px solid var(--line); color:transparent; }
.cc-node-completed { background:linear-gradient(135deg,var(--peach),var(--red)); border-color:transparent; color:#2c0e12; }
.cc-node-current { border-color:var(--peach); background:rgba(243,180,169,.14); box-shadow:0 0 0 3px rgba(243,180,169,.16); animation:cc-node-breathe 2.2s ease-in-out infinite; }
.cc-node-always-open { border-color:var(--peach); background:rgba(243,180,169,.1); }
.cc-node-locked { color:#6f6064; }
@keyframes cc-node-breathe { 0%,100% { box-shadow:0 0 0 3px rgba(243,180,169,.16); } 50% { box-shadow:0 0 0 5px rgba(243,180,169,.24); } }
.cc-module-chevron { color:var(--muted); justify-self:end; transition:transform .25s cubic-bezier(.22,1,.36,1),color .25s; }
.cc-module[open] .cc-module-chevron { transform:rotate(180deg); color:var(--peach); }
.cc-module-body { padding:0 20px 18px; animation:cc-body-in .22s ease-out; }
@keyframes cc-body-in { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
.cc-module-lessons.lesson-list { margin-top:0; }
.cc-module-lessons .lesson-row { grid-template-columns:38px minmax(0,1fr) auto; }
.cc-pinned-topics { position:sticky; top:10px; z-index:5; margin:14px 0 22px; padding:16px; border:1px solid rgba(243,180,169,.26); border-radius:20px; background:linear-gradient(145deg,rgba(48,30,38,.97),rgba(23,15,20,.97)); box-shadow:0 18px 38px rgba(0,0,0,.3),inset 1px 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(20px) saturate(125%); }
.cc-pinned-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.cc-pinned-heading h4,.cc-lesson-carousel-header h4 { margin:5px 0 0; font:600 16px var(--font); letter-spacing:-.02em; color:var(--ink); }
.cc-pinned-badge { display:inline-flex; align-items:center; gap:6px; flex:0 0 auto; border:1px solid rgba(243,180,169,.22); border-radius:99px; padding:6px 10px; color:var(--peach); font-size:12px; background:rgba(var(--red-rgb),.08); }
.cc-pinned-badge svg { width:14px; height:14px; }
.cc-pinned-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.cc-pinned-grid.single { grid-template-columns:minmax(0,1fr); }
.cc-pinned-card { min-width:0; padding:13px 15px; border-radius:15px; background:linear-gradient(120deg,rgba(85,48,56,.47),rgba(27,17,23,.8)); }
.cc-pinned-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.cc-topic-label { color:var(--peach); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.cc-topic-status { display:inline-flex; align-items:center; gap:4px; color:var(--muted); font-size:11px; white-space:nowrap; }
.cc-topic-status svg { width:13px; height:13px; }
.cc-topic-status.completed { color:#a8d4b3; }
.cc-topic-status.locked { color:#cf9a9b; }
.cc-topic-status.open { color:var(--peach); }
.cc-pinned-card h5 { margin:7px 0 4px; font:600 15px/1.3 var(--font); color:var(--ink); }
.cc-pinned-card p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; color:#baaaad; font-size:12px; line-height:1.45; }
.cc-pinned-link { display:inline-flex; align-items:center; gap:7px; margin-top:9px; color:#ffc0b6; font-size:12px; font-weight:600; }
.cc-pinned-link:hover { color:#fff; }
.cc-pinned-link.disabled { color:var(--muted); cursor:not-allowed; }
.cc-lesson-carousel { margin-top:22px; }
.cc-lesson-carousel-header { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.cc-lesson-carousel-header h4 { margin:0; font-size:18px; }
.cc-lesson-carousel-header p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.cc-lesson-carousel-controls { display:flex; gap:7px; flex:0 0 auto; }
.cc-lesson-carousel-arrow { width:36px; height:36px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.14); border-radius:11px; background:rgba(255,255,255,.045); color:var(--ink); font-size:23px; line-height:1; cursor:pointer; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.cc-lesson-carousel-arrow:hover:not(:disabled) { background:rgba(var(--red-rgb),.2); border-color:rgba(var(--red-rgb),.48); color:#fff; transform:translateY(-1px); }
.cc-lesson-carousel-arrow:focus-visible { outline:2px solid var(--peach); outline-offset:2px; }
.cc-lesson-carousel-arrow:disabled { opacity:.35; cursor:not-allowed; }
.cc-lesson-track { display:flex; gap:12px; overflow-x:auto; overflow-y:hidden; padding:2px 2px 12px; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:rgba(var(--red-rgb),.45) transparent; overscroll-behavior-x:contain; }
.cc-lesson-track:focus-visible { outline:2px solid var(--peach); outline-offset:2px; border-radius:14px; }
.cc-lesson-card { flex:0 0 clamp(250px,29vw,320px); min-width:0; overflow:hidden; padding:0; border-radius:16px; scroll-snap-align:start; }
.cc-lesson-card-art { position:relative; aspect-ratio:16/9; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 72% 30%,rgba(229,72,73,.3),transparent 35%),linear-gradient(135deg,#3a2029,#171116); }
.cc-lesson-card-art img { width:100%; height:100%; object-fit:cover; }
.cc-lesson-card-number { color:rgba(255,255,255,.22); font:700 54px/1 var(--font); letter-spacing:-.06em; }
.cc-lesson-card-state { position:absolute; top:9px; right:9px; display:inline-flex; align-items:center; gap:4px; padding:5px 8px; border-radius:99px; background:rgba(16,11,14,.8); color:var(--peach); font-size:11px; backdrop-filter:blur(8px); }
.cc-lesson-card-state svg { width:13px; height:13px; }
.cc-lesson-card-state.completed { color:#a8d4b3; }
.cc-lesson-card-state.locked { color:#e0b0ae; }
.cc-lesson-card-body { padding:14px; }
.cc-lesson-card-meta { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.cc-lesson-card-meta span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cc-lesson-card h5 { margin:8px 0 6px; font:600 15px/1.35 var(--font); color:var(--ink); }
.cc-lesson-card h5 a { color:inherit; }
.cc-lesson-card h5 a:hover { color:var(--peach); }
.cc-lesson-card-body>p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; min-height:48px; margin:0; color:#baaaad; font-size:12px; line-height:1.45; }
.cc-lesson-card-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:12px; padding-top:9px; border-top:1px solid rgba(255,255,255,.08); color:var(--muted); font-size:12px; }
.cc-lesson-card-footer a { display:inline-flex; align-items:center; gap:6px; color:#ffc0b6; font-weight:600; }
.cc-lesson-card-footer a:hover { color:#fff; }
.cc-lesson-card.locked { opacity:.78; }
.cc-lesson-homework-chip { margin-top:6px; display:inline-flex; }

@media (max-width:860px) {
  .cc-console { flex-direction:column; align-items:stretch; gap:20px; }
  .cc-ring-wrap { align-self:center; }
  .cc-stats-grid { grid-template-columns:repeat(2,1fr); min-width:0; width:100%; }
  .cc-hero { flex-direction:column; align-items:stretch; }
  .cc-hero-action { flex-direction:row; justify-content:flex-start; }
  .cc-module-header { grid-template-columns:28px minmax(0,1fr) 16px; }
  .cc-module-nodes { display:none; }
}
@media (max-width:520px) {
  .cc-stats-grid { grid-template-columns:1fr; }
  .cc-module-body { padding:0 10px 14px; }
  .cc-pinned-topics { top:6px; padding:10px; margin:10px 0 18px; border-radius:16px; }
  .cc-pinned-heading { align-items:flex-start; }
  .cc-pinned-heading h4 { font-size:14px; }
  .cc-pinned-badge { padding:5px 7px; font-size:10px; }
  .cc-pinned-grid { gap:7px; }
  .cc-pinned-card { padding:10px; border-radius:12px; }
  .cc-topic-label { font-size:9px; }
  .cc-topic-status { font-size:9px; }
  .cc-pinned-card h5 { font-size:12px; }
  .cc-pinned-card p { font-size:10px; }
  .cc-pinned-link { margin-top:7px; font-size:10px; }
  .cc-lesson-card { flex-basis:min(270px,calc(100vw - 66px)); }
  .cc-lesson-card-body { padding:12px; }
  .cc-lesson-carousel-header p { max-width:210px; font-size:11px; }
  .cc-lesson-carousel-arrow { width:32px; height:32px; }
  .cc-hero { padding:22px 18px; }
  .cc-hero-body,.cc-header .page-intro,.lesson-row-copy { min-width:0; max-width:100%; overflow-wrap:anywhere; }
  .cc-page .status-chip { white-space:normal; max-width:100%; }
  .mk-cohort-links,.bot-instruction { min-width:0; overflow-wrap:anywhere; }
  .bot-instruction { flex-direction:column; align-items:flex-start; }
  .bot-instruction>div { min-width:0; max-width:100%; }
  .bot-instruction a { white-space:normal; max-width:100%; margin-bottom:8px; }
  .mk-mobile-nav { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
  .mk-mobile-nav a { min-width:0; padding:2px; }
  .mk-mobile-nav a span { font-size:12px; max-width:100%; white-space:normal; text-align:center; }
  .mk-mobile-nav-expanded { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .mk-mobile-nav-expanded a span { font-size:11px; }
}

.mk-wheel-section { margin-top:22px; }
.mk-wheel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.mk-wheel-title { margin:0; font:700 21px var(--font); letter-spacing:-.02em; }
.mk-wheel-subtitle { margin:5px 0 0; color:var(--muted); font-size:15px; }
.mk-wheel-heading-actions { display:flex; align-items:center; gap:14px; }
.mk-wheel-controls { display:flex; gap:7px; }
.mk-wheel-arrow { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.045); color:var(--ink); font:500 24px/1 var(--font); cursor:pointer; transition:background .2s,transform .2s,border-color .2s; }
.mk-wheel-arrow:hover { background:rgba(229,72,73,.2); border-color:rgba(229,72,73,.55); transform:translateY(-1px); }
.mk-wheel-arrow:focus-visible,.mk-wheel-stage:focus-visible { outline:2px solid var(--peach); outline-offset:3px; }
.mk-wheel-stage { --wheel-card-size:min(320px,calc((100vw - 64px)/3)); position:relative; height:calc(var(--wheel-card-size) + 88px); overflow:visible; touch-action:pan-y; cursor:grab; user-select:none; }
.mk-wheel-stage:active { cursor:grabbing; }
.mk-wheel-stage::before { content:""; position:absolute; top:50%; left:50%; width:92%; height:62%; transform:translate(-50%,-50%); border:1px solid rgba(243,180,169,.11); border-radius:50%; pointer-events:none; }
.mk-wheel-stage:not(.is-ready) { display:flex; align-items:center; gap:14px; overflow-x:auto; padding:12px 0; }
.mk-wheel-stage:not(.is-ready) .mk-wheel-item { position:relative; top:auto; left:auto; flex:0 0 var(--wheel-card-size); transform:none; opacity:1; }
.mk-wheel-item { position:absolute; top:50%; left:50%; width:var(--wheel-card-size,300px); transform:translate(-50%,-50%) translate(var(--wheel-x,0px),var(--wheel-y,0px)) scale(var(--wheel-scale,1)); transform-origin:center; z-index:var(--wheel-z,1); opacity:var(--wheel-opacity,1); transition:transform .46s cubic-bezier(.22,1,.36,1),opacity .3s; }
.mk-wheel-item:hover,.mk-wheel-item:focus-within { z-index:30 !important; }
.mk-wheel-card { width:100%; aspect-ratio:1 / 1; position:relative; display:block; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.17); border-radius:22px; background:linear-gradient(145deg,rgba(67,43,52,.72),rgba(26,16,22,.8)); color:inherit; text-align:left; text-decoration:none; box-shadow:inset 1px 1px 0 rgba(255,255,255,.1),0 18px 32px rgba(0,0,0,.38); cursor:pointer; transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s; }
.mk-wheel-card:hover,.mk-wheel-card:focus-visible { transform:translateY(-6px) scale(1.025); border-color:rgba(229,72,73,.75); box-shadow:0 24px 45px rgba(0,0,0,.48),0 0 0 1px rgba(229,72,73,.24); }
.mk-wheel-card:focus-visible { outline:2px solid var(--peach); outline-offset:3px; }
.mk-wheel-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.82; transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s; }
.mk-wheel-card:hover img,.mk-wheel-card:focus-visible img { opacity:.98; transform:scale(1.08); }
.mk-wheel-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,10,13,.06) 16%,rgba(20,10,13,.18) 45%,rgba(20,10,13,.96) 100%); pointer-events:none; }
.mk-wheel-card.is-locked { cursor:default; filter:saturate(.65); }
.mk-wheel-play,.mk-wheel-lock { position:absolute; z-index:2; top:15px; display:grid; place-items:center; min-width:40px; height:40px; padding:0 10px; border:1px solid rgba(255,255,255,.38); border-radius:50px; background:rgba(255,255,255,.16); color:#fff; font-size:13px; backdrop-filter:blur(8px); }
.mk-wheel-play { right:15px; width:40px; padding:0; font-size:14px; }
.mk-wheel-lock { left:15px; border-radius:12px; font-size:12px; }
.mk-wheel-copy { position:absolute; z-index:2; right:18px; bottom:18px; left:18px; }
.mk-wheel-meta { display:block; color:#f3b4a9; font-size:13px; letter-spacing:.09em; text-transform:uppercase; }
.mk-wheel-copy strong { display:-webkit-box; overflow:hidden; margin-top:8px; font-size:24px; line-height:1.2; letter-spacing:-.02em; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.mk-wheel-copy small { display:block; overflow:hidden; margin-top:7px; color:#d9c7ca; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.mk-wheel-index { position:absolute; z-index:13; bottom:10px; left:50%; transform:translateX(-50%); color:#a89498; font-size:12px; letter-spacing:.1em; pointer-events:none; }
@media (max-width:720px) {
  .mk-wheel-stage { --wheel-card-size:min(390px,calc((100vw - 40px)/2)); }
  .mk-wheel-copy strong { font-size:21px; }
}
@media (max-width:520px) {
  .mk-wheel-section { margin-top:20px; }
  .mk-wheel-heading { align-items:center; }
  .mk-wheel-title { font-size:19px; }
  .mk-wheel-subtitle { font-size:13px; }
  .mk-wheel-heading-actions { gap:8px; }
  .mk-wheel-heading-actions>.mk-link { display:none; }
  .mk-wheel-arrow { width:36px; height:36px; border-radius:10px; }
  .mk-wheel-stage { --wheel-card-size:min(390px,calc((100vw - 44px)/2)); }
  .mk-wheel-copy { right:12px; bottom:12px; left:12px; }
  .mk-wheel-copy strong { font-size:19px; }
  .mk-wheel-copy small { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .mk-wheel-section * { scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .cc-lesson-track { scroll-behavior:auto; }
}

/* Temporary account passwords */
.user-password-label { min-width:0; grid-column:span 2; }
.password-control { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; }
.password-control input { min-width:0; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.035em; }
.password-action { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 12px; border:1px solid rgba(255,255,255,.18); border-radius:13px; color:#f4e9e9; background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 20px rgba(0,0,0,.16); backdrop-filter:blur(16px) saturate(145%); cursor:pointer; transition:transform .18s,border-color .18s,background .18s; }
.password-action:hover { transform:translateY(-1px); border-color:rgba(var(--red-rgb),.52); background:linear-gradient(145deg,rgba(var(--red-rgb),.2),rgba(255,255,255,.06)); }
.password-action:focus-visible,.social-icon-link:focus-visible { outline:2px solid #f3b4a9; outline-offset:3px; }
.password-action svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.password-action span { font-size:14px; white-space:nowrap; }
.password-status { min-height:1.4em; color:#bcaeb1; line-height:1.4; }
.password-status.error { color:#ffaaa0; }

/* Social links use consistent translucent, rounded app-style tiles. */
.social-icon-link { width:46px; height:46px; flex:0 0 46px; display:inline-grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:15px; color:#f6e8e8; background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.045)); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 9px 22px rgba(0,0,0,.18); backdrop-filter:blur(17px) saturate(155%); -webkit-backdrop-filter:blur(17px) saturate(155%); text-decoration:none; transition:transform .2s,border-color .2s,background .2s,box-shadow .2s; }
.social-icon-link:hover { color:#fff; transform:translateY(-2px) scale(1.04); border-color:rgba(255,255,255,.36); background:linear-gradient(145deg,rgba(var(--red-rgb),.24),rgba(255,255,255,.08)); box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 13px 26px rgba(0,0,0,.24); }
.social-icon-link svg { display:block; width:23px; height:23px; fill:currentColor; }
.social-icon-link[data-social="telegram"] { color:#9edcf7; }
.social-icon-link[data-social="vk"] { color:#a9c8ff; }
.social-icon-link[data-social="youtube"],.social-icon-link[data-social="rutube"] { color:#ffb4ad; }
.social-icon-link[data-social="instagram"] { color:#ffd0bd; }
.social-icon-link[data-social="whatsapp"] { color:#a5e6c0; }
.social-icon-link[data-social="tiktok"],.social-icon-link[data-social="x"] { color:#fff; }
.social-icon-link-compact { width:40px; height:40px; flex-basis:40px; border-radius:13px; }
.social-icon-link-compact svg { width:20px; height:20px; }
.social-icon-link-large { width:54px; height:54px; flex-basis:54px; border-radius:17px; }
.social-icon-link-large svg { width:27px; height:27px; }
.social-icon-row,.social-action-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:12px; }
.social-action-row > span { color:#d4c5c7; }
.login-support { display:flex; align-items:center; justify-content:center; gap:10px; }
.login-support a.social-icon-link,.page-footer a.social-icon-link { text-decoration:none; }

@media (max-width:700px) {
  .user-password-label { grid-column:auto; }
}

@media (max-width:600px) {
  .password-control { grid-template-columns:minmax(0,1fr) 44px 44px; }
  .password-action { width:44px; height:44px; padding:0; }
  .password-action span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
}
/* Управление учетными записями */
.user-admin-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:0 2px 12px 49px; border-bottom:1px solid rgba(255,255,255,.07); }
.user-admin-actions form { display:flex; gap:6px; align-items:center; margin:0; }
.user-admin-actions select { min-height:36px; border-radius:10px; }
.user-admin-actions .mini-save { min-height:36px; padding:0 12px; }
.mini-save.danger { border-color:rgba(255,99,99,.5); color:#ff9c9c; }
.status-chip.status-off { margin-top:4px; color:#ff9c9c; }
.generated-password-card { padding:16px 18px; display:grid; gap:10px; border-color:rgba(255,120,120,.4); }
.generated-password-card input { font-family:ui-monospace,Menlo,monospace; font-size:20px; letter-spacing:.04em; }
.profile-password-form h3 { margin:0 0 4px; }
.audit-list { padding:4px 15px; }
.audit-row { display:grid; grid-template-columns:170px 1fr 1fr auto; gap:12px; padding:10px 2px; border-bottom:1px solid rgba(255,255,255,.07); align-items:baseline; }
.audit-row:last-child { border-bottom:0; }
.audit-row small,.audit-row time { color:#9d8a8f; }
@media (max-width:760px) {
  .user-admin-actions { padding-left:0; }
  .user-admin-actions form { flex:1 1 100%; flex-wrap:wrap; }
  .audit-row { grid-template-columns:1fr; gap:2px; }
}

/* Практика: трекер ученика и очередь проверки */
.pr-filters { display:flex; gap:14px; flex-wrap:wrap; align-items:end; padding:14px 18px; margin-bottom:14px; }
.pr-filters label { flex:1; min-width:200px; }
.pr-tabs { margin-top:6px; }
.pr-tabs .mk-tab b { font-size:20px; background:rgba(255,255,255,.08); border-radius:99px; padding:2px 9px; }
.pr-tabs .mk-tab.is-active { color:var(--red); border-bottom-color:var(--red); }
.pr-task h3 a { color:inherit; }
.pr-locked { opacity:.7; }
.status-todo { color:#e3c98f; border-color:rgba(229,178,72,.3); background:rgba(229,178,72,.1); }
.status-locked { color:var(--muted); }
.pr-missing { margin:10px 0 0; padding-left:22px; font-size:22px; display:grid; gap:6px; }
.pr-review-actions { display:flex; gap:10px; flex-wrap:wrap; grid-column:2; }
.pr-result { padding:18px; margin-bottom:12px; }
@media (max-width:760px) { .pr-review-actions { grid-column:1; } .cc-stats-grid { grid-template-columns:repeat(2,minmax(120px,1fr)); } }

/* Задание урока: вкладка в настройках и сводка в структуре курса */
.mk-tab-panel-homework { display:none; gap:14px; max-width:640px; }
.mk-tab-radio-homework:checked ~ .mk-tab-panel-homework { display:grid; }
.mk-tab-panel-homework label { font-size:26px; }
.mk-tab-radio-video:checked ~ .mk-tabs .mk-tab-label-video,
.mk-tab-radio-content:checked ~ .mk-tabs .mk-tab-label-content,
.mk-tab-radio-materials:checked ~ .mk-tabs .mk-tab-label-materials,
.mk-tab-radio-homework:checked ~ .mk-tabs .mk-tab-label-homework { display:inline-flex; color:var(--ink); border-bottom-color:var(--red); }
.mk-check { display:flex !important; align-items:center; gap:9px; color:var(--ink); }
.mk-check input { width:auto; }
.mk-hw-text { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:22px; }
.mk-hw-accept { border:1px solid var(--line); border-radius:12px; padding:12px 14px; display:grid; gap:8px; margin:0; }
.mk-hw-accept legend { font-size:22px; color:var(--muted); padding:0 6px; }
.mk-hw-summary { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:8px; font-size:22px; }
.course-card-pending { display:inline-block; margin:0 18px 12px; font-size:22px; }
.pr-deadline-form { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:6px; }
.pr-deadline-form input { width:auto; }
.pr-missing li { display:grid; gap:4px; }

/* Аккаунты: аккуратная строка, редкие действия в меню */
.acc-count { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:30px; padding:0 9px; margin-left:8px; border-radius:99px; background:rgba(255,255,255,.1); font-size:18px; vertical-align:middle; }
.acc-links { display:flex; gap:8px; flex-wrap:wrap; }
.acc-links .secondary-button { text-decoration:none; }
.acc-toolbar { display:flex; gap:10px; flex-wrap:wrap; padding:12px 14px; margin-bottom:8px; border-radius:16px; }
.acc-toolbar input { flex:1 1 240px; min-width:0; }
.acc-toolbar select { flex:0 0 auto; max-width:100%; }
.acc-hint { margin:0 2px 10px; font-size:20px; }
.acc-list { padding:6px 8px; }
.acc-row { display:grid; grid-template-columns:40px minmax(160px,1.3fr) 130px minmax(240px,1.4fr) 44px; gap:6px 16px; align-items:center; padding:14px 8px; border-bottom:1px solid rgba(255,255,255,.07); }
.acc-row:last-of-type { border-bottom:0; }
.acc-row[hidden] { display:none; }
.acc-off { opacity:.6; }
.acc-id { min-width:0; }
.acc-id strong { display:block; font-size:22px; overflow-wrap:anywhere; }
.acc-id small { display:block; margin-top:2px; color:#9d8a8f; font-size:18px; overflow-wrap:anywhere; }
.acc-badges { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:4px; }
.acc-badges:empty { display:none; }
.acc-pay { font-size:17px; color:#c9a9ae; }
.acc-label { display:block; margin-bottom:4px; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:#8f7d82; }
.acc-col { margin:0; min-width:0; }
.acc-role-admin { background:rgba(229,146,135,.18); color:#f0b3a9; }
.acc-role-coach { background:rgba(120,170,255,.16); color:#a9c8ff; }
.acc-role-student { background:rgba(120,220,160,.14); color:#a6e3bf; }
.acc-course-field { display:flex; gap:8px; align-items:center; }
.acc-course-field select { flex:1 1 auto; min-width:0; }
.acc-menu { position:relative; justify-self:end; }
.acc-menu summary { list-style:none; cursor:pointer; width:44px; padding:6px 0; text-align:center; font-size:22px; line-height:1; }
.acc-menu summary::-webkit-details-marker { display:none; }
.acc-menu[open] summary { background:rgba(255,255,255,.12); }
.acc-menu-body { position:absolute; right:0; top:calc(100% + 6px); z-index:20; display:grid; gap:10px; width:290px; padding:14px; border-radius:14px; background:#1d1316; border:1px solid rgba(255,255,255,.12); box-shadow:0 18px 40px rgba(0,0,0,.5); }
.acc-menu-body form { margin:0; }
.acc-wide { width:100%; text-align:left; }
.acc-menu-body .danger { margin-top:2px; }
.acc-payments { grid-column:2 / -1; }
@media (max-width:900px) {
  .acc-row { grid-template-columns:40px minmax(0,1fr) 44px; }
  .acc-col { grid-column:2 / 3; }
  .acc-menu,.acc-menu-spacer { grid-column:3; grid-row:1; }
  .acc-menu-body { right:0; width:min(290px,calc(100vw - 60px)); }
  .acc-payments { grid-column:1 / -1; }
}
.acc-list { position:relative; z-index:5; }
.acc-toolbar input,.acc-toolbar select { width:auto; }
.acc-toolbar input { flex:1 1 240px; }
form.acc-course { display:block; }
.acc-menu-body { background:#241619; }
.acc-role { font-size:18px; padding:4px 12px; }
.acc-id strong .status-chip { font-size:15px; padding:2px 9px; }
.acc-course-field select { width:auto; }
@media (max-width:900px) {
  .acc-course-field { flex-wrap:wrap; }
  .acc-course-field select { flex:1 1 100%; }
  .acc-id small { overflow-wrap:anywhere; }
}
.mk-section:has(.acc-list) { position:relative; z-index:10; }
.acc-menu-body { background:#2a1a1e !important; backdrop-filter:none; width:260px; }
.acc-menu-body .acc-course-field { flex-wrap:wrap; }
.acc-menu-body .acc-course-field select { flex:1 1 100%; }

.profile-side { display:grid; gap:18px; min-width:0; }
.acc-row { grid-template-columns:40px minmax(160px,1.2fr) 170px minmax(260px,1.4fr) 44px; gap:6px 24px; }
.acc-role { white-space:nowrap; }
@media (max-width:900px) { .acc-row { grid-template-columns:40px minmax(0,1fr) 44px; gap:6px 14px; } }

/* Профиль: контакты со значками */
.contact-fields { border:1px solid var(--line); border-radius:16px; padding:14px 16px 16px; margin:0; display:grid; gap:10px; min-width:0; }
.contact-fields legend { padding:0 8px; font-size:22px; }
.contact-fields>p { margin:0 0 4px; font-size:18px; }
.contact-field { display:grid !important; grid-template-columns:44px 100px minmax(0,1fr); align-items:center; gap:12px !important; }
.contact-field-other { align-items:start; grid-template-columns:44px 100px minmax(0,1fr); }
.contact-field-other .contact-name { grid-column:1 / 3; }
.contact-field-other textarea { grid-column:3; }
.contact-icon { width:44px; height:44px; display:inline-grid; place-items:center; border-radius:14px; border:1px solid rgba(255,255,255,.2); background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.045)); }
.contact-icon svg { width:22px; height:22px; fill:currentColor; }
.contact-icon[data-social="telegram"] { color:#9edcf7; }
.contact-icon[data-social="whatsapp"] { color:#a5e6c0; }
.contact-icon[data-social="instagram"] { color:#ffd0bd; }
.contact-icon[data-social="phone"] { color:#f6d98f; }
.contact-icon[data-social="email"] { color:#c9b8ff; }
.contact-name { font-size:20px; color:var(--muted); }
.social-icon-link[data-social="phone"] { color:#f6d98f; }
.social-icon-link[data-social="email"] { color:#c9b8ff; }
@media (max-width:560px) {
  .contact-field,.contact-field-other { grid-template-columns:44px minmax(0,1fr); }
  .contact-field .contact-name { display:none; }
  .contact-field-other .contact-name { display:block; grid-column:1 / -1; }
  .contact-field-other textarea { grid-column:1 / -1; }
}

/* Страница автора: значок + плашка со значением */
.contact-pill-row { display:flex; flex-wrap:wrap; gap:12px 16px; margin-top:12px; }
.contact-pill { display:inline-flex; align-items:center; gap:10px; max-width:100%; text-decoration:none; color:inherit; }
.contact-pill-icon { width:46px; height:46px; flex:0 0 46px; display:inline-grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.045)); transition:transform .15s ease,border-color .15s ease; }
.contact-pill-icon svg { width:23px; height:23px; fill:currentColor; }
.contact-pill:hover .contact-pill-icon { transform:translateY(-2px); border-color:rgba(255,255,255,.36); }
.contact-pill:hover .contact-pill-text { border-color:rgba(var(--red-rgb),.5); }
.contact-pill-text { min-width:0; overflow-wrap:anywhere; font-size:20px; }
.contact-pill:focus-visible { outline:2px solid #f3b4a9; outline-offset:3px; border-radius:15px; }
.contact-pill[data-social="telegram"] .contact-pill-icon { color:#9edcf7; }
.contact-pill[data-social="whatsapp"] .contact-pill-icon { color:#a5e6c0; }
.contact-pill[data-social="instagram"] .contact-pill-icon { color:#ffd0bd; }
.contact-pill[data-social="phone"] .contact-pill-icon { color:#f6d98f; }
.contact-pill[data-social="email"] .contact-pill-icon { color:#c9b8ff; }
.contact-pill[data-social="vk"] .contact-pill-icon { color:#a9c8ff; }
.contact-pill[data-social="youtube"] .contact-pill-icon,.contact-pill[data-social="rutube"] .contact-pill-icon { color:#ffb4ad; }

/* Урок: отметка «Изучено» и повтор */
.lesson-study { margin-bottom:26px; }
.page-message { max-width:760px; }
.page-message .mk-primary { display:inline-flex; margin-top:10px; }
.lesson-study-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px 16px; }
.lesson-study-button { display:inline-flex; align-items:center; gap:10px; padding:12px 22px; border:1px solid rgba(120,220,160,.5); border-radius:14px; color:#eafff1; font-size:20px; font-weight:600; cursor:pointer; background:linear-gradient(145deg,#2f9d63,#217a4b); box-shadow:0 10px 24px rgba(33,122,75,.3),inset 0 1px 0 rgba(255,255,255,.2); transition:transform .15s ease,box-shadow .15s ease; }
.lesson-study-button:hover { transform:translateY(-2px); box-shadow:0 14px 28px rgba(33,122,75,.42),inset 0 1px 0 rgba(255,255,255,.25); }
.lesson-study-button svg,.lesson-study-done svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.lesson-study-hint { color:var(--muted); font-size:18px; }
.lesson-study-done { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:99px; border:1px solid rgba(120,220,160,.4); background:rgba(120,220,160,.12); color:#a6e3bf; font-size:20px; font-weight:600; }
.lesson-study-repeat { padding:10px 18px; border-radius:13px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#f1e4e6; font-size:19px; cursor:pointer; }
.lesson-study-repeat:hover { border-color:rgba(var(--red-rgb),.5); background:rgba(255,255,255,.1); }
.study-dialog { max-width:min(460px,calc(100vw - 32px)); padding:24px; border:1px solid rgba(255,255,255,.16); border-radius:20px; background:#241619; color:#f4e9e9; box-shadow:0 30px 70px rgba(0,0,0,.6); }
.study-dialog::backdrop { background:rgba(8,3,5,.62); backdrop-filter:blur(3px); }
.study-dialog h3 { margin:0 0 10px; font-size:26px; }
.study-dialog p { margin:0 0 20px; color:#c9b8bb; font-size:19px; line-height:1.5; }
.study-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.study-dialog-cancel,.study-dialog-confirm { padding:11px 20px; border-radius:12px; font-size:19px; cursor:pointer; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:#f4e9e9; }
.study-dialog-confirm { border-color:rgba(120,220,160,.5); background:linear-gradient(145deg,#2f9d63,#217a4b); color:#eafff1; font-weight:600; }

/* Public login footer and the in-app platform information page. */
.login-shell { min-height:100dvh; display:grid; grid-template-rows:minmax(0,1fr) auto; justify-items:center; align-items:center; gap:22px; padding:clamp(16px,3vw,34px); }
.login-page { align-self:center; }
.public-login-footer { position:relative; z-index:1; width:min(1080px,100%); display:grid; grid-template-columns:1fr; align-items:stretch; gap:13px; padding:17px 20px; border:1px solid rgba(241,154,145,.25); border-radius:20px; background:linear-gradient(110deg,rgba(117,35,45,.78),rgba(42,24,31,.9)); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 42px rgba(0,0,0,.22); backdrop-filter:blur(20px); }
.public-footer-brand { display:flex; align-items:center; gap:12px; min-width:200px; }
.public-footer-brand img { width:40px; height:40px; flex:0 0 40px; object-fit:contain; padding:4px; border-radius:12px; background:#fff; }
.public-footer-brand div { display:grid; gap:3px; }
.public-footer-brand strong { color:#fff5f1; font-size:14px; }
.public-footer-brand span { color:#d8b8b8; font-size:11px; line-height:1.35; }
.public-footer-links { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.public-footer-links a { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; min-height:48px; padding:8px 10px; border:1px solid rgba(255,255,255,.12); border-radius:11px; color:#f3d8d5; font-size:12px; line-height:1.3; text-align:center; transition:background .2s,border-color .2s,color .2s; }
.public-footer-links a span { color:#e99b91; font-size:13px; }
.public-footer-links a:hover { border-color:rgba(255,190,180,.4); background:rgba(255,255,255,.08); color:#fff; }
.mk-cookie-notice { position:fixed; z-index:50; left:max(16px,env(safe-area-inset-left)); bottom:max(16px,env(safe-area-inset-bottom)); width:min(360px,calc(100vw - 32px)); padding:15px; border:1px solid rgba(243,180,169,.28); border-radius:17px; background:rgba(35,22,28,.97); color:#f5e9e7; box-shadow:0 20px 52px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(20px); }
.mk-cookie-notice[hidden] { display:none; }
.mk-cookie-notice-app { left:306px; }
.mk-cookie-heading { margin-bottom:6px; color:#fff5f1; font-size:14px; }
.mk-cookie-notice p { margin:0; color:#cdbbbe; font-size:12px; line-height:1.5; }
.mk-cookie-notice p a { color:#ffd0c7; text-decoration:underline; text-decoration-color:rgba(255,208,199,.4); text-underline-offset:2px; }
.mk-cookie-actions { display:flex; align-items:center; gap:8px; margin-top:12px; }
.mk-cookie-actions button { min-height:34px; padding:7px 12px; border:1px solid rgba(255,255,255,.14); border-radius:10px; color:#f5e9e7; background:rgba(255,255,255,.06); font:600 12px var(--font); cursor:pointer; }
.mk-cookie-actions .mk-cookie-accept { border-color:rgba(255,129,119,.55); color:#fff; background:linear-gradient(135deg,#f45f5d,#d9444e); }
.mk-cookie-actions button:hover { filter:brightness(1.08); }
@media (max-width:900px) { .mk-cookie-notice-app { left:204px; } }
@media (max-width:720px) { .mk-cookie-notice-app { left:max(12px,env(safe-area-inset-left)); right:max(12px,env(safe-area-inset-right)); bottom:calc(env(safe-area-inset-bottom) + 104px); width:min(360px,calc(100vw - 24px)); } }

.mk-info-action { display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:7px 12px; border:1px solid rgba(243,180,169,.3); border-radius:999px; background:linear-gradient(135deg,rgba(var(--red-rgb),.2),rgba(255,255,255,.04)); color:#f5d5d1; font-size:13px; font-weight:600; white-space:nowrap; transition:background .2s,border-color .2s,transform .2s; }
.mk-info-action:hover,.mk-info-action.active { border-color:rgba(243,180,169,.55); background:rgba(var(--red-rgb),.24); color:#fff; transform:translateY(-1px); }
.mk-info-icon { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:rgba(243,180,169,.14); color:#ffd0c7; }
.mk-info-icon svg { width:18px; height:18px; }

.platform-about { width:min(1120px,100%); margin:0 auto; display:grid; gap:20px; padding-bottom:26px; }
.platform-about-intro { position:relative; display:flex; align-items:center; min-height:230px; overflow:hidden; padding:clamp(24px,4vw,40px); border-radius:24px; }
.platform-about-copy { position:relative; z-index:1; max-width:720px; }
.platform-about-copy h2 { max-width:680px; margin:12px 0; color:#fff8f6; font-size:clamp(26px,3vw,38px); line-height:1.15; letter-spacing:-.03em; }
.platform-about-copy p { max-width:660px; margin:0 0 20px; color:#c9b8bb; font-size:16px; line-height:1.65; }
.platform-about-copy .mk-primary { font-size:14px; }
.platform-about-orbit { position:absolute; top:50%; right:7%; width:180px; height:180px; border:1px solid rgba(245,170,159,.21); border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 22px rgba(245,170,159,.035),0 0 0 48px rgba(245,170,159,.025); }
.platform-about-orbit::before,.platform-about-orbit::after { position:absolute; content:""; border:1px solid rgba(245,170,159,.17); border-radius:50%; }
.platform-about-orbit::before { inset:22px; }
.platform-about-orbit::after { inset:48px; background:radial-gradient(circle at 35% 30%,rgba(241,154,145,.32),rgba(117,35,45,.08) 70%); }
.platform-about-orbit span,.platform-about-orbit i { position:absolute; z-index:1; width:9px; height:9px; border-radius:50%; background:#f3b4a9; box-shadow:0 0 16px rgba(243,180,169,.55); }
.platform-about-orbit span { top:26px; left:42px; }
.platform-about-orbit i { right:20px; bottom:42px; width:6px; height:6px; }
.platform-license-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.62fr); align-items:center; gap:26px; overflow:hidden; padding:clamp(22px,4vw,34px); border:1px solid rgba(255,185,173,.22); border-radius:22px; background:radial-gradient(circle at 100% 0,rgba(255,177,161,.18),transparent 35%),linear-gradient(115deg,#782832,#421e28 72%,#2c1921); box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px rgba(0,0,0,.18); }
.platform-license-copy { position:relative; z-index:1; }
.platform-license-mark { display:grid; place-items:center; width:42px; height:42px; margin-bottom:17px; border:1px solid rgba(255,220,212,.3); border-radius:14px; background:rgba(255,255,255,.09); color:#ffe3dc; }
.platform-license-mark svg { width:22px; height:22px; }
.platform-license-label { color:#f2c0b9; font-size:11px; font-weight:700; letter-spacing:.15em; }
.platform-license-copy h2 { margin:8px 0; color:#fff8f5; font-size:clamp(19px,2.1vw,25px); line-height:1.3; }
.platform-license-copy p { max-width:640px; margin:0; color:#f1d5d1; font-size:14px; line-height:1.6; }
.platform-license-link { display:inline-flex; align-items:center; gap:8px; margin-top:17px; color:#fff; font-size:13px; font-weight:600; }
.platform-license-link:hover { color:#ffd5cc; }
.platform-license-file { display:flex; align-items:center; gap:13px; min-width:0; padding:17px; border:1px solid rgba(50,20,25,.1); border-radius:16px; background:linear-gradient(145deg,#fffaf8,#f3e8e5); color:#41252a; box-shadow:0 14px 34px rgba(24,5,9,.2); transition:transform .2s,box-shadow .2s; }
.platform-license-file:hover { color:#41252a; transform:translateY(-2px); box-shadow:0 18px 38px rgba(24,5,9,.3); }
.platform-license-file-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:13px; background:#f2d9d5; color:#a33d45; }
.platform-license-file-icon svg { width:22px; height:22px; }
.platform-license-file-copy { display:grid; gap:5px; min-width:0; }
.platform-license-file-copy strong { font-size:13px; line-height:1.35; }
.platform-license-file-copy small { color:#89676b; font-size:11px; line-height:1.4; }
.platform-license-file-arrow { margin-left:auto; color:#a33d45; font-size:18px; }
.platform-certificate-note { display:flex; align-items:flex-start; gap:13px; padding:15px 18px; border:1px solid rgba(243,180,169,.15); border-radius:15px; background:rgba(255,255,255,.035); }
.platform-certificate-icon { display:grid; place-items:center; flex:0 0 24px; width:24px; height:24px; border-radius:50%; background:rgba(243,180,169,.12); color:#f3b4a9; }
.platform-certificate-note p { margin:1px 0 0; color:#c9b8bb; font-size:13px; line-height:1.6; }
.platform-documents .mk-sectionhead { align-items:flex-end; margin-bottom:14px; }
.platform-documents .mk-sectionhead h2 { margin:5px 0 0; color:#f8efed; font-size:22px; }
.platform-documents .mk-eyebrow { font-size:10px; }
.platform-documents .mk-sectionhead>span { font-size:12px; }
.platform-document-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.platform-document-card { position:relative; display:flex; align-items:flex-start; gap:12px; min-width:0; min-height:112px; padding:16px 34px 16px 15px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:linear-gradient(145deg,rgba(67,43,52,.52),rgba(26,16,22,.62)); color:#f2e8e8; transition:transform .2s,border-color .2s,background .2s; }
.platform-document-card:hover { transform:translateY(-2px); border-color:rgba(243,180,169,.35); background:linear-gradient(145deg,rgba(94,48,57,.7),rgba(35,21,28,.78)); color:#fff; }
.platform-document-icon { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:12px; background:rgba(var(--red-rgb),.15); color:#f4aaa0; }
.platform-document-icon svg { width:19px; height:19px; }
.platform-document-copy { display:grid; gap:6px; min-width:0; }
.platform-document-copy strong { font-size:13px; line-height:1.35; }
.platform-document-copy small { color:#ad989d; font-size:11px; line-height:1.45; }
.platform-document-arrow { position:absolute; top:15px; right:15px; color:#df918a; font-size:16px; }
.public-document-shell { position:relative; display:flex; flex-direction:column; gap:20px; min-height:100vh; padding:22px clamp(14px,4vw,48px); }
.public-document-header,.public-document-footer { position:relative; z-index:1; width:min(1120px,100%); margin:0 auto; }
.public-document-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 15px; border:1px solid rgba(255,255,255,.1); border-radius:17px; background:rgba(38,25,31,.76); box-shadow:inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter:blur(18px); }
.public-document-brand { display:inline-flex; align-items:center; gap:11px; min-width:0; color:#fff4f0; font-size:14px; font-weight:700; }
.public-document-brand:hover { color:#fff; }
.public-document-brand img { width:38px; height:38px; flex:0 0 38px; object-fit:contain; padding:3px; border-radius:11px; background:#fff; }
.public-document-header .quiet-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 15px; border:1px solid rgba(255,255,255,.13); border-radius:12px; color:#f5e7e4; background:rgba(255,255,255,.05); }
.public-document-header .quiet-button:hover { border-color:rgba(243,180,169,.4); background:rgba(243,180,169,.1); }
.public-document-main { position:relative; z-index:1; flex:1; width:min(1120px,100%); margin:0 auto; }
.public-document-footer { display:flex; flex-direction:column; gap:10px; padding:16px 18px; border:1px solid rgba(241,154,145,.2); border-radius:18px; background:linear-gradient(110deg,rgba(117,35,45,.64),rgba(42,24,31,.86)); }
.public-document-footer>span { color:#d7b8b8; font-size:12px; }
.public-document-footer nav { display:flex; flex-wrap:wrap; gap:7px; }
.public-document-footer nav a { padding:8px 10px; border:1px solid rgba(255,255,255,.12); border-radius:11px; color:#f3d8d5; font-size:12px; line-height:1.3; }
.public-document-footer nav a:hover { border-color:rgba(243,180,169,.32); color:#fff; background:rgba(255,255,255,.05); }
.platform-document-page { display:grid; gap:14px; padding-bottom:20px; }
.platform-document-back { display:inline-flex; align-items:center; gap:8px; width:max-content; color:#e8b4ad; font-size:13px; font-weight:600; }
.platform-document-back:hover { color:#fff; }
.platform-document-heading { padding:2px 0 4px; }
.platform-document-heading h1 { margin:8px 0 7px; color:#fff7f3; font-size:clamp(23px,3vw,34px); line-height:1.15; letter-spacing:-.025em; }
.platform-document-heading p { max-width:760px; margin:0; color:#c9b8bb; font-size:14px; line-height:1.6; }
.platform-document-nav { display:flex; flex-wrap:wrap; gap:7px; padding-bottom:3px; }
.platform-document-nav a { padding:8px 11px; border:1px solid rgba(255,255,255,.1); border-radius:12px; color:#cbb9bd; background:rgba(255,255,255,.035); font-size:11px; line-height:1.25; }
.platform-document-nav a:hover,.platform-document-nav a.active { border-color:rgba(243,180,169,.34); color:#fff3ef; background:rgba(154,61,70,.2); }
.platform-document-viewer,.platform-document-reader { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:linear-gradient(145deg,rgba(54,37,45,.8),rgba(22,15,20,.92)); box-shadow:0 20px 48px rgba(0,0,0,.24); }
.platform-document-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 15px; color:#f8eeeb; }
.platform-document-toolbar span { font-size:13px; font-weight:650; }
.platform-document-toolbar small { color:#b9a4a8; font-size:11px; }
.platform-document-pages { display:grid; gap:12px; padding:12px; background:rgba(16,10,13,.55); }
.platform-document-page-image { width:min(100%,850px); margin:0 auto; padding:8px; border-radius:6px; background:#fff; box-shadow:0 10px 28px rgba(0,0,0,.28); }
.platform-document-page-image img { display:block; width:100%; height:auto; }
.platform-document-page-image figcaption { padding:7px 4px 1px; color:#806e72; font-size:10px; text-align:center; }
.platform-document-reader { padding:clamp(18px,3.5vw,34px); }
.platform-document-text { color:#e7dcdd; font-family:inherit; font-size:14px; line-height:1.75; white-space:pre-wrap; overflow-wrap:anywhere; }

@media (max-width:900px) {
  .platform-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .platform-about-orbit { right:4%; opacity:.7; }
}
@media (max-width:680px) {
  .login-shell { gap:20px; padding:16px 14px 12px; }
  .public-document-shell { gap:14px; padding:13px 12px max(16px,env(safe-area-inset-bottom)); }
  .public-document-header { padding:9px 11px; border-radius:15px; }
  .public-document-brand { font-size:13px; }
  .public-document-brand img { width:34px; height:34px; flex-basis:34px; }
  .public-document-footer { padding:13px; border-radius:15px; }
  .public-document-footer nav { display:grid; grid-template-columns:1fr; }
  .public-document-footer nav a { padding:8px; }
  .platform-document-page { gap:11px; }
  .platform-document-nav { gap:6px; }
  .platform-document-nav a { padding:7px 8px; font-size:10px; }
  .platform-document-pages { gap:9px; padding:9px; }
  .platform-document-page-image { padding:5px; }
  .platform-document-toolbar { align-items:flex-start; flex-direction:column; gap:4px; padding:11px 12px; }
  .platform-document-text { font-size:13px; line-height:1.65; }
  .public-login-footer { align-items:flex-start; padding:14px; border-radius:17px; }
  .public-footer-brand { min-width:0; }
  .public-footer-links { display:grid; flex:0 0 100%; width:100%; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; gap:6px; }
  .public-footer-links a { display:flex; width:100%; min-width:0; justify-content:space-between; overflow-wrap:anywhere; padding:8px; font-size:12px; }
  .public-footer-links a:last-child { grid-column:1/-1; }
  .platform-about { gap:15px; padding-bottom:16px; }
  .platform-about-intro { min-height:0; padding:23px 19px; border-radius:19px; }
  .platform-about-copy h2 { font-size:26px; }
  .platform-about-copy p { font-size:14px; }
  .platform-about-copy .mk-primary { font-size:13px; }
  .platform-about-orbit { display:none; }
  .platform-license-card { grid-template-columns:1fr; gap:18px; padding:21px 18px; border-radius:18px; }
  .platform-license-file { padding:13px; }
  .platform-certificate-note { padding:13px; }
  .platform-documents .mk-sectionhead { align-items:flex-start; }
  .platform-documents .mk-sectionhead>span { text-align:left; }
  .platform-document-grid { grid-template-columns:1fr; gap:8px; }
  .platform-document-card { min-height:84px; padding:13px 34px 13px 12px; }
}
