
:root{--bg:#eef6fb;--paper:#fff;--ink:#211729;--muted:#6d6676;--line:#dfe8ef;--purple:#4f2a72;--purple2:#3b1d5c;--gold:#c7a654;--sky:#a9d4e3;--blue:#1f70ad}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(180deg,#eaf5fa,#fbfdff);color:var(--ink)}
.wrap{max-width:1200px;margin:auto}.hero{padding:24px 22px 44px;background:linear-gradient(135deg,#bfe1ec,#e8f4f8 54%,#fff);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:#fff9;right:-180px;top:-210px}.logos{position:relative;z-index:2;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.logo{background:#fff;border:1px solid #fff;border-radius:18px;padding:9px 12px;box-shadow:0 10px 28px #3b1d5c12}.logo img{display:block;max-height:58px;max-width:170px}.logo.school img{max-width:280px;max-height:74px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:center;margin-top:26px}.hero h1{font-size:clamp(38px,6vw,76px);line-height:.92;letter-spacing:-.05em;text-transform:uppercase;color:var(--purple2);margin:14px 0 18px}.hero p{max-width:760px;font-size:18px;line-height:1.55;color:#48404e}.k{font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}
.poster{background:#fff;border-radius:26px;padding:14px;box-shadow:0 18px 40px #3b1d5c18}.poster img{display:block;width:100%;border-radius:18px}.actions,.ca{display:flex;gap:9px;flex-wrap:wrap}.actions{margin-top:24px}.btn,.small{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;border-radius:13px}.btn{padding:13px 18px}.primary{background:var(--purple);color:#fff}.secondary{background:#fff;color:var(--purple);border:1px solid #dfe6ed}.live{background:#e83458;color:#fff}
nav{position:sticky;top:0;z-index:8;background:#fffffff0;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}nav .wrap{display:flex;gap:20px;overflow:auto;padding:13px 22px}nav a{text-decoration:none;font-weight:800;color:#50475a;white-space:nowrap}
main{padding:38px 22px 70px}section{margin-bottom:58px}h2{font-size:clamp(29px,4vw,46px);letter-spacing:-.04em;margin:8px 0 14px;color:var(--purple2)}.lead{max-width:850px;color:var(--muted);font-size:18px;line-height:1.58}
.notice{background:#fff7dc;border:1px solid #e6d49d;border-radius:16px;padding:15px 16px;color:#5b4717;line-height:1.5}.online-box{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:linear-gradient(135deg,#442462,#5a327d);color:#fff;border-radius:24px;padding:26px;box-shadow:0 16px 36px #3b1d5c20}.online-box h3{font-size:27px;margin:0 0 8px}.online-box p{margin:0;color:#e8dfec;line-height:1.55}
.stats,.mods{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.stat,.module,.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 22px #34234c0b}.stat{padding:21px}.stat b{display:block;font-size:30px;color:var(--purple)}.stat span{font-size:14px;color:var(--muted)}.module{padding:20px;min-height:165px}.module .n{color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.14em}.module h3{margin:24px 0 8px;font-size:20px;line-height:1.15}.module p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 18px}.filter{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer}.filter.active{background:var(--purple);color:#fff;border-color:var(--purple)}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{padding:20px;display:flex;flex-direction:column;gap:13px}.top{display:flex;justify-content:space-between;gap:10px}.date{font-size:18px;font-weight:900;color:var(--purple2)}.time,.role,.place{font-size:14px;color:var(--muted);line-height:1.45}.badge{font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px;background:#eee6f5;color:var(--purple)}.practice{background:#fff2cd;color:#73591b}.card h3{font-size:21px;line-height:1.23;margin:0}.teacher{font-weight:850}.small{padding:10px 12px;background:#f3eef7;color:var(--purple);font-size:14px}.small.record{background:#e9f4fa;color:var(--blue)}.small.presentation{background:#fff0f4;color:#a52449}.small.material{background:#f4f5f7;color:#4a5059}.empty{font-size:13px;color:#98909c}
.library{background:linear-gradient(135deg,#3e215e,#553174 60%,#264365);color:#fff;border-radius:26px;padding:30px;display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.library p{color:#e7deeb;line-height:1.55}.library img{max-width:100%;max-height:120px}
footer{text-align:center;color:var(--muted);padding:0 22px 45px}
@media(max-width:900px){.hero-grid,.library{grid-template-columns:1fr}.poster{order:-1}.stats,.mods{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.online-box{grid-template-columns:1fr}}
@media(max-width:560px){.stats,.mods{grid-template-columns:1fr}.logo img{max-height:48px}.logo.school img{max-width:220px}main{padding-left:17px;padding-right:17px}}

.selfstudy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.selfstudy-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 22px #34234c0b;display:flex;flex-direction:column;gap:14px;min-height:210px}
.selfstudy-num{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--gold)}
.selfstudy-card h3{margin:0;font-size:21px;line-height:1.25;color:var(--purple2)}
.selfstudy-card .ca{margin-top:auto}
@media(max-width:900px){.selfstudy-grid{grid-template-columns:1fr}}
