:root{--bg:#f4f5f7;--ink:#17191d;--muted:#747b86;--line:#e1e4e8;--card:#fff;--accent:#17191d;--soft:#eef1f5;--ok:#20794a}
*{box-sizing:border-box}
body.academy-fe-body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.academy-fe-top{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:20}
.academy-fe-logo{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;letter-spacing:.04em}
.academy-fe-logo span{width:36px;height:36px;background:#17191d;color:#fff;border-radius:11px;display:grid;place-items:center;font-size:18px;font-weight:900}
.academy-fe-logo b{font-size:14px}
.academy-fe-user{font-size:14px;font-weight:700}
.academy-fe-user a{color:var(--ink)}
.academy-fe-wrap{max-width:1240px;margin:0 auto;padding:44px 24px 100px}
.academy-fe-kicker{font-size:11px;letter-spacing:.18em;font-weight:900;color:#8b929c;margin-bottom:10px}
.academy-fe-hero{min-height:245px;background:linear-gradient(135deg,#15171b,#30343a);border-radius:28px;color:#fff;padding:45px 50px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}
.academy-fe-hero h1,.academy-fe-course-hero h1{font-size:44px;line-height:1.08;margin:0 0 12px;letter-spacing:-.03em}
.academy-fe-hero p{color:#c9cdd3;margin:0;font-size:17px}
.academy-fe-hero-mark{font-size:170px;line-height:.8;font-weight:1000;color:rgba(255,255,255,.06);transform:rotate(-8deg);margin-right:35px}
.academy-fe-preview-note{margin:18px 0;padding:13px 16px;border:1px solid #d8dee8;background:#f8fbff;border-radius:12px;color:#4c596a;font-size:13px}
.academy-fe-section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:40px 0 18px}
.academy-fe-section-title h2{font-size:27px;margin:0}
.academy-fe-section-title span{color:var(--muted);font-size:13px}
.academy-fe-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.academy-fe-course-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(20,25,35,.035)}
.academy-fe-card-cover{height:170px;background:linear-gradient(135deg,#e3e6eb,#f7f8fa);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.academy-fe-card-cover>span{font-size:110px;font-weight:1000;color:#d0d4da;line-height:1}
.academy-fe-card-cover em{position:absolute;top:14px;right:14px;background:#17191d;color:white;border-radius:999px;padding:6px 9px;font-size:10px;font-style:normal;font-weight:800}
.academy-fe-card-body{padding:22px}
.academy-fe-card-meta{font-size:10px;letter-spacing:.14em;color:#9096a0;font-weight:900;text-transform:uppercase}
.academy-fe-card-body h3{font-size:22px;margin:7px 0 9px}
.academy-fe-card-body p{font-size:14px;color:var(--muted);line-height:1.5;min-height:42px}
.academy-fe-progress{display:flex;align-items:center;gap:10px;margin:18px 0}
.academy-fe-progress>div{height:7px;background:#e8ebef;border-radius:999px;overflow:hidden;flex:1}
.academy-fe-progress i{display:block;height:100%;background:#17191d;border-radius:999px}
.academy-fe-progress span{font-size:12px;color:#626a75;font-weight:800;white-space:nowrap}
.academy-fe-progress.large{max-width:480px;margin-top:24px}
.academy-fe-progress.large>div{background:rgba(255,255,255,.2)}
.academy-fe-progress.large i{background:#fff}
.academy-fe-progress.large span{color:#fff}
.academy-fe-next{font-size:12px;color:#727985;margin:0 0 16px}
.academy-fe-next b{color:#343a43}
.academy-fe-btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:#17191d;color:#fff;text-decoration:none;border-radius:11px;padding:12px 18px;font-weight:800;font-size:14px;cursor:pointer}
.academy-fe-btn.block{display:flex;width:100%}
.academy-fe-btn.success{background:#1f7a49;padding:14px 22px}
.academy-fe-empty{background:#fff;border:1px dashed #ccd1d8;border-radius:18px;padding:50px;text-align:center;color:var(--muted)}
.academy-fe-empty strong{display:block;color:var(--ink);font-size:19px}
.academy-fe-auth-card{max-width:620px;margin:80px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:45px;text-align:center}
.academy-fe-auth-card h1{font-size:38px;margin:10px 0}
.academy-fe-auth-card p{color:var(--muted);line-height:1.6}
.academy-fe-back{color:#606873;text-decoration:none;font-size:13px;font-weight:800;display:inline-flex;margin-bottom:20px}
.academy-fe-course-hero{background:linear-gradient(135deg,#15171b,#31353d);border-radius:28px;color:#fff;padding:48px 50px;display:grid;grid-template-columns:1fr 180px;gap:30px;align-items:center}
.academy-fe-course-hero p{max-width:720px;color:#c9cdd3;line-height:1.6}
.academy-fe-course-orb{font-size:120px;font-weight:1000;color:rgba(255,255,255,.08);text-align:center}
.academy-fe-curriculum{max-width:920px}
.academy-fe-module{background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:16px;overflow:hidden}
.academy-fe-module-head{padding:22px 24px;border-bottom:1px solid #edf0f3;display:flex;justify-content:space-between;align-items:flex-start}
.academy-fe-module-head span{font-size:9px;letter-spacing:.16em;color:#969ca5;font-weight:900}
.academy-fe-module-head h3{font-size:20px;margin:5px 0}
.academy-fe-module-head p{margin:0;color:var(--muted);font-size:13px}
.academy-fe-module-head>b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0f2f5;color:#68707b}
.academy-fe-lesson{display:grid;grid-template-columns:38px 1fr 18px;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid #f0f2f4;text-decoration:none;color:var(--ink)}
.academy-fe-lesson:last-child{border-bottom:0}
.academy-fe-lesson:hover{background:#fafbfc}
.academy-fe-lesson.locked{opacity:.52;cursor:not-allowed}
.academy-fe-lesson.completed .academy-fe-lesson-state{background:#e8f5ee;color:var(--ok)}
.academy-fe-lesson-state{width:30px;height:30px;border-radius:9px;background:#f0f2f5;display:grid;place-items:center;font-size:11px;font-weight:900}
.academy-fe-lesson strong{display:block;font-size:14px}
.academy-fe-lesson small{color:#858c95;font-size:11px}
.academy-fe-lesson em{font-size:22px;color:#a2a8b0;font-style:normal}
.academy-fe-lesson-layout{display:grid;grid-template-columns:300px minmax(0,820px);gap:45px;max-width:1220px;margin:0 auto;padding:35px 24px 100px;align-items:start}
.academy-fe-sidebar{position:sticky;top:102px}
.academy-fe-sidebar h3{font-size:17px;margin:4px 0 12px}
.academy-fe-side-progress{height:5px;background:#dde1e6;border-radius:999px;overflow:hidden;margin-bottom:20px}
.academy-fe-side-progress i{display:block;height:100%;background:#17191d}
.academy-fe-side-module{font-size:10px;letter-spacing:.12em;font-weight:900;color:#8d949d;margin:17px 0 7px}
.academy-fe-side-list a{display:flex;gap:9px;padding:9px 10px;border-radius:9px;color:#5d6570;text-decoration:none;font-size:12px;line-height:1.35}
.academy-fe-side-list a.current{background:#fff;color:#17191d;font-weight:800;box-shadow:0 3px 14px rgba(20,25,30,.06)}
.academy-fe-side-list a.locked{opacity:.45;pointer-events:none}
.academy-fe-lesson-main{background:#fff;border:1px solid var(--line);border-radius:22px;padding:42px 48px;min-height:700px}
.academy-fe-lesson-main>h1{font-size:39px;line-height:1.12;letter-spacing:-.025em;margin:0 0 28px}
.academy-fe-video{position:relative;padding-top:56.25%;background:#000;border-radius:16px;overflow:hidden;margin:0 0 34px}
.academy-fe-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.academy-fe-content{font-size:17px;line-height:1.72;color:#282d34}
.academy-fe-content h2{font-size:30px;line-height:1.2;margin:1.55em 0 .55em}
.academy-fe-content h3{font-size:24px}
.academy-fe-content h4{font-size:20px}
.academy-fe-content img{max-width:100%;height:auto;border-radius:14px}
.academy-fe-content figure{margin:30px 0}
.academy-fe-content figcaption{text-align:center;color:#858c95;font-size:12px;margin-top:8px}
.academy-fe-content blockquote{border-left:4px solid #cdd2d8;margin:25px 0;padding:10px 20px;color:#5c646f}
.academy-fe-content .academy-download-link{display:inline-flex;padding:13px 16px;background:#f0f3f6;border-radius:11px;color:#20262e;text-decoration:none;font-weight:800}
.academy-fe-lesson-bottom{border-top:1px solid #eceff2;margin-top:45px;padding-top:28px}
.academy-fe-lesson-nav{display:flex;justify-content:space-between;margin-top:28px}
.academy-fe-lesson-nav a{color:#3d4651;text-decoration:none;font-weight:800;font-size:13px}
.academy-fe-mobile-nav{display:none}
.academy-fe-course-page{padding-bottom:100px}

@media(max-width:980px){.academy-fe-course-grid{grid-template-columns:1fr 1fr}
.academy-fe-lesson-layout{grid-template-columns:1fr}
.academy-fe-sidebar{position:static;display:none}
.academy-fe-lesson-main{max-width:820px;margin:0 auto}
.academy-fe-course-hero{grid-template-columns:1fr}
.academy-fe-course-orb{display:none}
}

@media(max-width:680px){.academy-fe-top{height:60px;padding:0 16px}
.academy-fe-logo b{font-size:12px}
.academy-fe-user span{display:none}
.academy-fe-wrap{padding:24px 16px 88px}
.academy-fe-hero{min-height:210px;padding:30px 25px;border-radius:20px}
.academy-fe-hero h1,.academy-fe-course-hero h1{font-size:31px}
.academy-fe-hero-mark{display:none}
.academy-fe-course-grid{grid-template-columns:1fr}
.academy-fe-section-title{margin-top:28px}
.academy-fe-course-hero{padding:30px 25px;border-radius:20px}
.academy-fe-curriculum{width:100%}
.academy-fe-module-head{padding:18px}
.academy-fe-lesson{padding:14px 15px}
.academy-fe-lesson-layout{padding:18px 12px 82px}
.academy-fe-lesson-main{padding:27px 20px;border-radius:17px;min-height:0}
.academy-fe-lesson-main>h1{font-size:30px}
.academy-fe-content{font-size:16px}
.academy-fe-mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid #e1e4e8;z-index:50;padding:7px 6px calc(7px + env(safe-area-inset-bottom))}
.academy-fe-mobile-nav a{color:#7d848d;text-decoration:none;text-align:center;font-size:9px;display:flex;flex-direction:column;gap:2px}
.academy-fe-mobile-nav a b{font-size:18px;font-weight:500}
.academy-fe-mobile-nav a.active{color:#17191d;font-weight:800}
.academy-fe-auth-card{margin:40px auto;padding:30px 22px}
.academy-fe-auth-card h1{font-size:30px}
}


.academy-fe-protected-video{position:relative;background:#090a0c;overflow:hidden;padding-top:0!important;display:flex;align-items:center;justify-content:center;min-height:0}
.academy-fe-protected-video video{display:block;width:auto;height:auto;max-width:100%;max-height:78vh;aspect-ratio:auto;background:#000;object-fit:contain;margin:0 auto}
.academy-fe-protected-video.is-landscape video{width:100%;height:auto;max-height:78vh}
.academy-fe-protected-video.is-portrait video{width:auto;height:auto;max-width:100%;max-height:78vh}
.academy-fe-protected-video.is-square video{width:auto;height:auto;max-width:min(100%,78vh);max-height:78vh}
.academy-video-watermark{position:absolute;left:8%;top:8%;z-index:4;pointer-events:none;color:rgba(255,255,255,.42);font-size:12px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.65);transition:left .7s ease,top .7s ease;user-select:none}
.academy-video-player-note{position:absolute;left:16px;bottom:46px;color:white;font-size:12px;background:rgba(0,0,0,.55);padding:5px 8px;border-radius:7px;pointer-events:none}


/* Academy 0.8.0 — student tests */
.academy-fe-test{margin-top:28px;padding:24px;border-radius:24px;background:#fff;box-shadow:0 10px 32px rgba(18,18,22,.05)}

.academy-fe-test h2{margin:0 0 6px;font-size:24px}

.academy-fe-test-meta{color:#777;margin-bottom:18px}

.academy-fe-test-question{padding:18px 0;border-top:1px solid #ececf0}

.academy-fe-test-question:first-of-type{border-top:0}

.academy-fe-test-question strong{display:block;margin-bottom:12px;font-size:16px}

.academy-fe-test-option{display:flex;gap:10px;align-items:flex-start;margin:9px 0;padding:11px 12px;border-radius:14px;background:#f7f7f8;cursor:pointer}

.academy-fe-test-option input{margin-top:3px}

.academy-fe-test-result{margin:14px 0;padding:16px;border-radius:16px;background:#f5f5f6}

.academy-fe-test-result.passed{background:#eef8f1}

.academy-fe-test-result.failed{background:#fff2f2}

.academy-fe-test-lock-note{margin:16px 0;padding:14px 16px;border-radius:14px;background:#fff7e7;color:#6d4d00}


/* Academy 0.9.0 — teacher / assistant cabinet */
.academy-teacher-wrap{max-width:1180px}
.academy-teacher-hero,.academy-teacher-class-head{margin:22px 0 28px;padding:32px;border-radius:24px;background:#111318;color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center}
.academy-teacher-hero h1,.academy-teacher-class-head h1{margin:4px 0 8px;font-size:38px}
.academy-teacher-hero p,.academy-teacher-class-head p{margin:0;color:#aeb5c0}
.academy-teacher-mark{width:76px;height:76px;border-radius:24px;background:#fff;color:#111318;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:32px}
.academy-teacher-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.academy-teacher-class-card{background:#fff;border:1px solid #e3e6ea;border-radius:20px;padding:22px;box-shadow:0 7px 24px rgba(0,0,0,.035)}
.academy-teacher-card-meta{font-size:11px;letter-spacing:.12em;font-weight:900;color:#7b8490}
.academy-teacher-class-card h2{margin:7px 0 9px;font-size:23px}
.academy-teacher-role{display:inline-flex;padding:5px 8px;background:#eef1f5;border-radius:999px;font-size:11px;font-weight:800;margin-bottom:18px}
.academy-teacher-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.academy-teacher-stats div{background:#f6f7f9;border-radius:12px;padding:10px}
.academy-teacher-stats b{display:block;font-size:22px}
.academy-teacher-stats span{font-size:10px;color:#737c88}
.academy-teacher-team{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#d4d9df}
.academy-teacher-student-list{background:#fff;border:1px solid #e3e6ea;border-radius:20px;padding:24px}
.academy-teacher-student{display:grid;grid-template-columns:44px minmax(0,1fr) 150px auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eceff2}
.academy-teacher-avatar{width:42px;height:42px;border-radius:12px;background:#15171b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}
.academy-teacher-student-main{display:flex;flex-direction:column;gap:3px}
.academy-teacher-student-main small{color:#7b8490}
.academy-teacher-progress{display:grid;gap:5px}
.academy-teacher-progress>span{height:6px;border-radius:999px;background:#eceff2;overflow:hidden}
.academy-teacher-progress i{display:block;height:100%;background:#1b1e23}
.academy-teacher-work-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.academy-teacher-work-badges span{padding:5px 7px;border-radius:999px;font-size:10px;font-weight:800}
.academy-teacher-work-badges .pending{background:#eaf3ff;color:#1d5fa8}
.academy-teacher-work-badges .revision{background:#fff0d9;color:#855800}
.academy-teacher-next-note{margin-top:18px;padding:17px 19px;border:1px dashed #cfd5dd;border-radius:15px;display:flex;flex-direction:column;gap:4px;color:#5e6875}
.academy-teacher-next-note b{color:#1d222a}
@media(max-width:800px){.academy-teacher-class-grid{grid-template-columns:1fr}
.academy-teacher-student{grid-template-columns:42px 1fr}
.academy-teacher-progress,.academy-teacher-work-badges{grid-column:2}
.academy-teacher-work-badges{justify-content:flex-start}
.academy-teacher-hero,.academy-teacher-class-head{align-items:flex-start;flex-direction:column}
.academy-teacher-stats{grid-template-columns:1fr 1fr}
}

.academy-fe-user{display:flex;align-items:center;gap:12px}
.academy-fe-teacher-link{font-size:12px;font-weight:800;color:inherit;text-decoration:none;padding:7px 10px;border:1px solid rgba(127,127,127,.25);border-radius:999px}
.academy-fe-class-label{display:inline-flex;margin:6px 0 2px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;color:#c8ced7;font-weight:700}


/* Academy 0.9.1 — ordered lesson blocks + homework */
.academy-fe-block-stream{display:grid;gap:28px}
.academy-lesson-block{min-width:0}
.academy-block-public-title{margin:0 0 12px;font-size:24px;line-height:1.22}
.academy-block-progress-note{margin:-24px 12px 0;padding:8px 10px;border-radius:10px;background:#f4f6f8;color:#66707c;font-size:11px;font-weight:800;position:relative;z-index:5}
.academy-block-progress-note.completed{background:#eef8f1;color:#267343}
.academy-material-public-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;background:#f6f7f9;border-radius:16px}
.academy-material-public-icon{width:42px;height:42px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px}
.academy-material-public-card strong{display:block}
.academy-material-public-card small{display:block;color:#7f8790;margin-top:2px}
.academy-material-public-card a{font-size:12px;font-weight:900;color:#1b2027;text-decoration:none}
.academy-inline-material-image{display:block;max-width:100%;height:auto;border-radius:18px;margin-top:12px}
.academy-fe-homework{padding:24px;border:1px solid #e3e6ea;border-radius:24px;background:#fff}
.academy-homework-public-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.academy-homework-public-head h2{font-size:24px;margin:3px 0 6px}
.academy-homework-status{display:inline-flex;white-space:nowrap;padding:7px 9px;border-radius:999px;background:#eef1f5;font-size:11px;font-weight:900}
.academy-homework-status.status-accepted{background:#eaf7ee;color:#227243}
.academy-homework-status.status-revision{background:#fff0d9;color:#855800}
.academy-homework-status.status-submitted,.academy-homework-status.status-in_review{background:#eaf3ff;color:#1d5fa8}
.academy-homework-description{margin-top:14px;font-size:15px}
.academy-submission-own{margin-top:18px;padding:17px;background:#f7f8fa;border-radius:16px}
.academy-submission-own-title{font-size:11px;letter-spacing:.08em;font-weight:900;color:#727b86;margin-bottom:8px;text-transform:uppercase}
.academy-submission-text{font-size:14px;line-height:1.55}
.academy-submission-files{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.academy-submission-files a{padding:7px 9px;background:#fff;border:1px solid #e1e5e9;border-radius:10px;text-decoration:none;color:#303741;font-size:11px;font-weight:800}
.academy-review-history{display:grid;gap:8px;margin-top:12px}
.academy-review-message{padding:11px 12px;background:#fff;border-radius:12px;border-left:3px solid #aeb5bd}
.academy-review-message.accepted{border-color:#39a764}
.academy-review-message.revision{border-color:#df9d2c}
.academy-review-message strong{font-size:12px}
.academy-review-message span{font-size:10px;color:#737c88;margin-left:7px}
.academy-review-message p{margin:6px 0 0;font-size:13px;line-height:1.45}
.academy-homework-submit-form{display:grid;gap:13px;margin-top:18px;padding-top:18px;border-top:1px solid #eceff2}
.academy-homework-submit-form label{font-size:12px;font-weight:800;color:#555f6b}
.academy-homework-submit-form textarea,.academy-homework-submit-form input[type=file]{box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #d7dce2;border-radius:13px;background:#fafbfc;padding:12px;font:inherit}
.academy-homework-submit-form small{font-weight:500;color:#858d97}
@media(max-width:680px){.academy-fe-block-stream{gap:22px}
.academy-fe-homework{padding:18px;border-radius:19px}
.academy-homework-public-head{flex-direction:column;gap:8px}
.academy-material-public-card{grid-template-columns:40px minmax(0,1fr)}
.academy-material-public-card>a{grid-column:2}
}


/* Academy 0.9.1 — teacher assignments workspace */
.academy-teacher-nav{display:flex;gap:8px;margin:18px 0 22px}
.academy-teacher-nav a{padding:10px 13px;border-radius:12px;background:#fff;border:1px solid #e2e6ea;color:#333b45;text-decoration:none;font-size:12px;font-weight:900}
.academy-teacher-nav a.active{background:#15171b;color:#fff;border-color:#15171b}
.academy-teacher-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;background:#fff;border:1px solid #e2e6ea;border-radius:18px;margin-bottom:18px}
.academy-teacher-filter label{font-size:10px;font-weight:900;color:#717a85;text-transform:uppercase;letter-spacing:.07em}
.academy-teacher-filter select{width:100%;margin-top:5px;border:1px solid #dce1e6;border-radius:11px;padding:10px;background:#fff}
.academy-teacher-filter-actions{display:flex;align-items:end;gap:7px}
.academy-teacher-submissions{display:grid;gap:15px}
.academy-teacher-submission{background:#fff;border:1px solid #e2e6ea;border-radius:20px;padding:22px;scroll-margin-top:20px}
.academy-teacher-submission-head{display:flex;justify-content:space-between;gap:18px}
.academy-teacher-submission-route{font-size:11px;color:#78818c;margin-bottom:5px}
.academy-teacher-submission h2{margin:2px 0 4px;font-size:20px}
.academy-teacher-submission-student{font-size:13px;color:#606a76}
.academy-teacher-submission-status{height:max-content;padding:6px 9px;border-radius:999px;background:#eef1f5;font-size:10px;font-weight:900}
.academy-teacher-submission-status.submitted,.academy-teacher-submission-status.in_review{background:#eaf3ff;color:#1d5fa8}
.academy-teacher-submission-status.revision{background:#fff0d9;color:#855800}
.academy-teacher-submission-status.accepted{background:#eaf7ee;color:#227243}
.academy-teacher-answer{margin-top:16px;padding:15px;background:#f7f8fa;border-radius:14px}
.academy-teacher-answer p{margin:0;line-height:1.55}
.academy-teacher-review-form{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #eceff2}
.academy-teacher-review-form textarea{width:100%;box-sizing:border-box;border:1px solid #d9dee4;border-radius:12px;padding:11px;font:inherit}
.academy-review-buttons{display:flex;gap:8px;flex-wrap:wrap}
.academy-review-buttons button{border:0;border-radius:11px;padding:10px 13px;font-weight:900;cursor:pointer}
.academy-review-buttons .accept{background:#17191d;color:#fff}
.academy-review-buttons .revision{background:#fff0d9;color:#765000}
.academy-teacher-review-log{display:grid;gap:7px;margin-top:12px}
.academy-teacher-review-log>div{padding:9px 11px;border-left:3px solid #d8dde2;background:#fafbfc;border-radius:8px;font-size:12px}
.academy-teacher-review-log p{margin:4px 0 0}
.academy-teacher-empty-filter{padding:42px 20px;text-align:center;background:#fff;border:1px solid #e3e6ea;border-radius:18px;color:#707986}
@media(max-width:900px){.academy-teacher-filter{grid-template-columns:1fr 1fr}
.academy-teacher-filter-actions{grid-column:1/-1}
}
@media(max-width:620px){.academy-teacher-filter{grid-template-columns:1fr}
.academy-teacher-filter-actions{grid-column:auto}
.academy-teacher-submission-head{flex-direction:column}
.academy-teacher-nav{overflow:auto}
}


/* Academy 0.9.2 */
.academy-fe-notify-link{display:inline-flex;gap:6px;align-items:center;text-decoration:none;color:inherit;opacity:.85}
.academy-fe-notify-link b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#111;color:#fff;font-size:11px}
.academy-teacher-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:18px 0 26px}
.academy-teacher-summary>div{background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:14px}
.academy-teacher-summary b{font-size:24px;display:block}
.academy-teacher-summary span{font-size:12px;color:#777}
.academy-teacher-summary .danger b{color:#b42318}
.academy-queue-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.academy-queue-tabs a{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #e6e6e6;text-decoration:none;color:#333}
.academy-queue-tabs a.active{background:#111;color:#fff}
.academy-bulk-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#f7f7f7;border-radius:16px;padding:12px 14px;margin:16px 0}
.academy-bulk-bar form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.academy-bulk-bar input[type=text]{min-width:240px;padding:10px 12px;border:1px solid #ddd;border-radius:10px}
.academy-bulk-box{padding-right:8px}
.academy-deadline-line{font-size:12px;color:#666;margin-top:7px}
.academy-deadline-line.late,.academy-homework-deadline.overdue{color:#b42318;font-weight:600}
.academy-teacher-submission.overdue{border-color:#f4b4ae}
.academy-teacher-submission-status.overdue,.academy-teacher-work-badges .overdue{background:#fee4e2;color:#b42318}
.academy-teacher-work-badges .inactive{background:#fff1c2;color:#7a5b00}
.academy-teacher-student.inactive{background:#fffdf7}
.academy-homework-deadline{font-size:13px;margin-top:7px;color:#555}
.academy-notification-wrap{max-width:980px}
.academy-notification-list{display:grid;gap:10px}
.academy-notification-item{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e8e8e8;border-radius:16px;padding:18px}
.academy-notification-item.unread{border-color:#111;box-shadow:0 5px 24px rgba(0,0,0,.05)}
.academy-notification-item h2{margin:4px 0 6px;font-size:18px}
.academy-notification-item p{margin:0;color:#555}
.academy-notification-meta{font-size:11px;color:#888}
.academy-notification-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.academy-notification-actions form{margin:0}
@media(max-width:900px){.academy-teacher-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.academy-notification-item{flex-direction:column}
}


/* 0.9.4 schedule */
.academy-fe-home-events{margin-top:34px}
.academy-fe-event-list{display:grid;gap:12px}
.academy-fe-event-card{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #e8e8eb;border-radius:18px;background:#fff}
.academy-fe-event-date{width:64px;min-width:64px;text-align:center;background:#f5f5f7;border-radius:15px;padding:10px 5px}
.academy-fe-event-date b{display:block;font-size:26px;line-height:1}
.academy-fe-event-date span,.academy-fe-event-date small{display:block;font-size:11px;color:#777}
.academy-fe-event-main{flex:1;min-width:0}
.academy-fe-event-main em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#777}
.academy-fe-event-main h2,.academy-fe-event-main h3{margin:4px 0}
.academy-fe-event-main p,.academy-fe-event-main small{display:block;margin:0;color:#777}
.academy-fe-calendar{margin-top:32px;padding:20px;border:1px solid #e8e8eb;border-radius:20px;background:#fff}
.academy-fe-calendar-weekdays,.academy-fe-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.academy-fe-calendar-weekdays b{text-align:center;padding:8px;font-size:11px;color:#777}
.academy-fe-calendar-cell{min-height:105px;padding:7px;border:1px solid #efeff1}
.academy-fe-calendar-cell.empty{background:#fafafa}
.academy-fe-calendar-cell.today{box-shadow:inset 0 0 0 2px #151515}
.academy-fe-calendar-cell>strong{display:block}
.academy-fe-calendar-cell a{display:block;margin-top:5px;padding:5px;border-radius:7px;background:#f5f5f7;color:#222;text-decoration:none;font-size:10px}
.academy-fe-calendar-cell time{font-weight:800;margin-right:4px}
@media(max-width:720px){.academy-fe-event-card{align-items:flex-start}
.academy-fe-event-card>.academy-fe-btn{font-size:12px;padding:10px}
.academy-fe-calendar{padding:10px;overflow:auto}
.academy-fe-calendar-weekdays,.academy-fe-calendar-grid{min-width:650px}
.academy-fe-calendar-cell{min-height:86px}
}


/* 0.9.4.1 rich descriptions */
.academy-fe-course-description{max-width:760px;color:#c9cdd3}
.academy-fe-course-description p{margin:.45em 0}
.academy-fe-module-description{margin-top:7px;color:var(--muted);font-size:13px}
.academy-fe-event-description{margin-top:10px;color:#68717c;font-size:13px;line-height:1.55}
.academy-fe-event-description p{margin:.35em 0}
.academy-fe-event-description ul,.academy-fe-event-description ol{padding-left:20px;margin:.35em 0}
.academy-test-question-rich{font-size:17px;line-height:1.45;font-weight:800;margin-bottom:10px}
.academy-test-question-rich p{margin:.25em 0}
.academy-test-question-rich ul,.academy-test-question-rich ol{padding-left:22px}
.academy-test-explanation-rich{margin-top:8px;color:#616a75;line-height:1.5}
.academy-test-explanation-rich p{margin:.25em 0}



/* AXIOMA Academy 0.9.5 - Student completion status */
.academy-fe-completion{max-width:920px;margin:26px 0 8px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 30px rgba(20,25,35,.035)}

.academy-fe-completion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}

.academy-fe-completion-head h2{margin:3px 0 6px;font-size:25px;line-height:1.2}

.academy-fe-completion-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:650px}

.academy-fe-completion-badge{flex:none;padding:7px 10px;border-radius:999px;background:#eef1f5;color:#59616c;font-size:10px;font-weight:900;letter-spacing:.05em;white-space:nowrap}

.academy-fe-completion.is-completed{border-color:#cfe6d7;background:linear-gradient(180deg,#fbfefc,#fff)}

.academy-fe-completion.is-completed .academy-fe-completion-badge{background:#e8f5ee;color:#20794a}

.academy-fe-completion.is-ready .academy-fe-completion-badge{background:#eef3ff;color:#395aa8}

.academy-fe-completion-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.academy-fe-completion-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:13px 14px;border:1px solid #e7e9ed;border-radius:14px;background:#fafbfc}

.academy-fe-completion-row>b{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eceff3;color:#7a828d;font-size:13px}

.academy-fe-completion-row.done>b{background:#e8f5ee;color:#20794a}

.academy-fe-completion-row strong{display:block;font-size:13px;color:#2b3139;margin:1px 0 3px}

.academy-fe-completion-row span{display:block;font-size:12px;color:#747c87;line-height:1.4}

.academy-fe-completion-foot{margin-top:12px;padding:11px 13px;border-radius:12px;font-size:12px;line-height:1.45;font-weight:700}

.academy-fe-completion-foot.success{background:#eef8f1;color:#267343}

.academy-fe-completion-foot.ready{background:#f2f5fb;color:#4b5f8b}

@media(max-width:680px){.academy-fe-completion{margin:18px 0 6px;padding:18px;border-radius:17px}
.academy-fe-completion-head{flex-direction:column;gap:10px}
.academy-fe-completion-head h2{font-size:22px}
.academy-fe-completion-list{grid-template-columns:1fr}
.academy-fe-completion-badge{align-self:flex-start}
}


/* AXIOMA Academy - frontend logout */
.academy-fe-logout-form{margin:0;display:inline-flex;align-items:center}

.academy-fe-logout{appearance:none;border:1px solid #d9dde3;background:#fff;color:#626b76;border-radius:999px;padding:7px 11px;font:inherit;font-size:12px;font-weight:700;line-height:1;cursor:pointer}

.academy-fe-logout:hover{background:#f4f5f7;color:#17191d}


/* AXIOMA Academy 1.0.0 — certificates */
.academy-certificate-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:13px}
.academy-certificate-actions .academy-fe-btn{font-size:12px;padding:10px 14px}
.academy-certificate-actions .academy-certificate-secondary{background:#fff;color:#236d43;border:1px solid #bcdcc8}
.academy-certificate-page .academy-fe-top{position:static}
.academy-certificate-verify-wrap{max-width:720px;margin:0 auto;padding:65px 22px}
.academy-certificate-verify{position:relative;background:#fff;border:1px solid #dce1e6;border-radius:26px;padding:42px;box-shadow:0 18px 58px rgba(20,25,35,.09);overflow:hidden}
.academy-certificate-verify:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-115px;top:-125px;background:#e8eaee}
.academy-certificate-verify.is-valid{border-color:#bcdcc8}
.academy-certificate-verify.is-revoked{border-color:#efc4c0}
.academy-certificate-verify-mark{position:relative;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;margin-bottom:24px;background:#e7f5ec;color:#217345;font-size:28px;font-weight:900}
.academy-certificate-verify.is-revoked .academy-certificate-verify-mark{background:#fdebea;color:#a6342a}
.academy-certificate-verify h1{position:relative;margin:4px 0 9px;font-size:34px;letter-spacing:-.025em}
.academy-certificate-number{position:relative;color:#7b838e;font-size:13px;font-weight:800}
.academy-certificate-verify dl{position:relative;margin:28px 0;display:grid;gap:10px}
.academy-certificate-verify dl>div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:16px;padding:13px 0;border-top:1px solid #edf0f3}
.academy-certificate-verify dt{color:#858d97;font-size:12px}
.academy-certificate-verify dd{margin:0;font-size:14px;font-weight:800}
.academy-certificate-verify-note{max-width:620px;margin:17px auto;color:#7b838e;text-align:center;font-size:11px;line-height:1.5}
@media(max-width:600px){.academy-certificate-verify-wrap{padding:30px 14px}
.academy-certificate-verify{padding:28px 22px;border-radius:21px}
.academy-certificate-verify h1{font-size:28px}
.academy-certificate-verify dl>div{grid-template-columns:1fr;gap:4px}
}

.academy-fe-language-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid rgba(127,127,127,.3);border-radius:10px}

.academy-fe-language-switch a{padding:6px 8px;border-radius:7px;text-decoration:none;color:inherit;font-size:11px;font-weight:900;opacity:.7}

.academy-fe-language-switch a.active{background:#111;color:#fff;opacity:1}


/* Rich-text semantic formatting shared with the backend editor */
.academy-fe-content .academy-text-highlight,.academy-rich-summary .academy-text-highlight{padding:.04em .18em;border-radius:.22em;background:#fff0a8;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.academy-fe-content .academy-text-accent,.academy-rich-summary .academy-text-accent{color:#2b68c9;font-weight:750}

.academy-fe-course-description .academy-text-highlight{color:#17191d}

.academy-fe-course-description .academy-text-accent{color:#a9c7ff}

.academy-fe-content .academy-align-left,.academy-rich-summary .academy-align-left{text-align:left}

.academy-fe-content .academy-align-center,.academy-rich-summary .academy-align-center{text-align:center}

.academy-fe-content .academy-align-right,.academy-rich-summary .academy-align-right{text-align:right}

.academy-fe-content hr,.academy-rich-summary hr{height:1px;margin:1.35em 0;border:0;background:#dfe3e8}

.academy-rich-summary h2{font-size:18px;line-height:1.25;margin:.7em 0 .3em}
.academy-rich-summary h4{font-size:14px;line-height:1.3;margin:.55em 0 .25em}


/* Academy 1.0.0.5 — AI assistants, shared by web and mobile API */
.academy-fe-ai-link{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#17191d;color:#fff!important;text-decoration:none;font-size:12px}
.academy-fe-ai-hero-link{display:inline-flex;margin-top:22px;padding:10px 13px;border:1px solid rgba(255,255,255,.28);border-radius:11px;color:#fff;text-decoration:none;font-size:13px;font-weight:800}
.academy-ai-chat-wrap{max-width:1040px;margin:0 auto;padding:30px 20px 70px}
.academy-ai-chat{display:flex;flex-direction:column;height:calc(100vh - 132px);min-height:600px;overflow:hidden;border:1px solid #dde2e7;border-radius:26px;background:#fff;box-shadow:0 18px 55px rgba(20,25,35,.07)}
.academy-ai-chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 28px 20px;border-bottom:1px solid #e9ecef}
.academy-ai-chat-head h1{margin:2px 0 6px;font-size:28px;letter-spacing:-.025em}
.academy-ai-chat-head p{margin:0;color:#737c87;font-size:13px}
.academy-ai-reset{flex:none;padding:9px 11px;border:1px solid #dce1e6;border-radius:10px;background:#fff;color:#454d58;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.academy-ai-controls{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:13px 28px;border-bottom:1px solid #eceff2;background:#f8f9fa}
.academy-ai-role-tabs{display:flex;gap:4px;padding:4px;border-radius:12px;background:#e9ecf0}
.academy-ai-role-tabs button{border:0;border-radius:9px;padding:9px 12px;background:transparent;color:#59626e;font:inherit;font-size:12px;font-weight:850;cursor:pointer}
.academy-ai-role-tabs button.active{background:#17191d;color:#fff;box-shadow:0 2px 7px rgba(20,25,35,.17)}
.academy-ai-course-label{display:grid;gap:4px;min-width:260px}
.academy-ai-course-label span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#818995}
.academy-ai-course-label select{width:100%;padding:9px 32px 9px 10px;border:1px solid #d9dee4;border-radius:10px;background:#fff;font:inherit;font-size:12px}
.academy-ai-context-selects{display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr);gap:8px;min-width:min(520px,55vw)}
.academy-ai-context-selects .academy-ai-course-label{min-width:0}
.academy-ai-unavailable{margin:14px 28px 0;padding:11px 13px;border:1px solid #edc7c2;border-radius:12px;background:#fff6f5;color:#8e3d35;font-size:12px}
.academy-ai-messages{flex:1;min-height:0;overflow:auto;padding:26px 28px;scroll-behavior:smooth}
.academy-ai-message{display:flex;align-items:flex-end;gap:9px;max-width:78%;margin:0 0 16px}
.academy-ai-message.user{flex-direction:row-reverse;margin-left:auto}
.academy-ai-avatar{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#17191d;color:#fff;font-size:12px;font-weight:900}
.academy-ai-message.user .academy-ai-avatar{background:#e5e8ec;color:#59616c}
.academy-ai-message>div{white-space:normal;overflow-wrap:anywhere;padding:12px 14px;border-radius:16px 16px 16px 4px;background:#f0f2f5;color:#252a31;font-size:14px;line-height:1.55}
.academy-ai-message.user>div{white-space:pre-wrap;border-radius:16px 16px 4px 16px;background:#17191d;color:#fff}
.academy-ai-message-text{white-space:pre-wrap}
.academy-ai-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,88px));gap:5px;margin-top:9px;white-space:normal}
.academy-ai-image-grid.count-1{grid-template-columns:minmax(0,116px)}
.academy-ai-image-preview{display:block;width:88px;height:72px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.24);border-radius:10px;background:#dfe3e8;cursor:zoom-in}
.academy-ai-image-grid.count-1 .academy-ai-image-preview{width:116px;height:92px}
.academy-ai-image-preview img{display:block;width:100%;height:100%;object-fit:cover}
.academy-ai-image-viewer{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:28px;background:rgba(9,11,14,.88);backdrop-filter:blur(6px)}
.academy-ai-image-viewer img{display:block;max-width:min(1100px,94vw);max-height:88vh;border-radius:14px;box-shadow:0 18px 70px rgba(0,0,0,.45)}
.academy-ai-image-viewer-close{position:fixed;z-index:1;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(18,21,25,.82);color:#fff;font:30px/1 Arial,sans-serif;cursor:pointer}
.academy-ai-message.thinking>div{white-space:pre-wrap;color:#727b86;font-style:italic}
.academy-ai-message.error>div{white-space:pre-wrap;background:#fff0ee;color:#9b3a31}
.academy-ai-markdown p{margin:0 0:.8em}.academy-ai-markdown p:last-child{margin-bottom:0}.academy-ai-markdown h2,.academy-ai-markdown h3,.academy-ai-markdown h4,.academy-ai-markdown h5{margin:.9em 0 .35em;line-height:1.25}.academy-ai-markdown h2:first-child,.academy-ai-markdown h3:first-child,.academy-ai-markdown h4:first-child{margin-top:0}.academy-ai-markdown h2{font-size:18px}.academy-ai-markdown h3{font-size:16px}.academy-ai-markdown h4,.academy-ai-markdown h5{font-size:14px}.academy-ai-markdown ul,.academy-ai-markdown ol{margin:.35em 0 .85em;padding-left:1.35em}.academy-ai-markdown li{margin:.22em 0}.academy-ai-markdown code{padding:.1em .32em;border-radius:5px;background:rgba(23,25,29,.08);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.academy-ai-markdown pre{max-width:100%;margin:.65em 0;padding:11px;overflow:auto;border-radius:9px;background:#20242a;color:#f5f7f9}.academy-ai-markdown pre code{padding:0;background:transparent;color:inherit}.academy-ai-markdown blockquote{margin:.65em 0;padding-left:12px;border-left:3px solid #b8c0ca;color:#59636f}.academy-ai-markdown a{color:#245d9a}.academy-ai-markdown table{display:block;max-width:100%;margin:.7em 0;overflow:auto;border-collapse:collapse;font-size:12px}.academy-ai-markdown th,.academy-ai-markdown td{padding:7px 9px;border:1px solid #d8dde3;text-align:left}.academy-ai-markdown th{background:#e6e9ed}
.academy-ai-composer{padding:15px 20px 13px;border-top:1px solid #e5e9ed;background:#fff}
.academy-ai-composer textarea{display:block;box-sizing:border-box;width:100%;max-height:150px;resize:vertical;padding:12px 14px;border:1px solid #d7dce2;border-radius:13px;background:#fafbfc;color:#20252c;font:inherit;font-size:14px;line-height:1.45}
.academy-ai-composer textarea:focus{outline:0;border-color:#7f8b99;box-shadow:0 0 0 3px rgba(56,68,82,.08)}
.academy-ai-composer-actions{display:flex;align-items:center;gap:10px;margin-top:9px}
.academy-ai-attach input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.academy-ai-attach span{display:inline-flex;padding:8px 10px;border:1px solid #dce1e6;border-radius:10px;color:#59616c;font-size:11px;font-weight:800;cursor:pointer}
.academy-ai-file-note{flex:1;color:#737c86;font-size:11px}
.academy-ai-composer button[type=submit]{border:0;border-radius:10px;padding:10px 17px;background:#17191d;color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.academy-ai-composer button:disabled,.academy-ai-composer.is-busy button{opacity:.48;cursor:not-allowed}
.academy-ai-chat>footer{padding:0 20px 13px;color:#8a929c;text-align:center;font-size:10px;line-height:1.4}
@media(max-width:820px){.academy-fe-top .academy-fe-user>span{display:none}
.academy-fe-ai-link{font-size:0}
.academy-fe-ai-link:first-letter{font-size:15px}
.academy-ai-chat-wrap{padding:12px 10px 30px}
.academy-ai-chat{height:calc(100vh - 98px);min-height:520px;border-radius:20px}
.academy-ai-chat-head{padding:18px}
.academy-ai-chat-head h1{font-size:23px}
.academy-ai-chat-head p{display:none}
.academy-ai-controls{align-items:stretch;flex-direction:column;padding:10px 18px}
.academy-ai-role-tabs button{flex:1}
.academy-ai-course-label{min-width:0}
.academy-ai-context-selects{grid-template-columns:1fr;min-width:0}
.academy-ai-messages{padding:19px 14px}
.academy-ai-message{max-width:92%}
.academy-ai-composer{padding:12px}
.academy-ai-page .academy-fe-top{height:62px;padding:0 14px}
.academy-ai-page .academy-fe-logo b{display:none}
.academy-ai-page .academy-fe-back{font-size:12px}
.academy-ai-chat>footer{padding:0 12px 9px}
}
@media(max-width:520px){.academy-ai-reset{font-size:0}
.academy-ai-reset:after{content:'+';font-size:20px}
.academy-ai-chat-head{align-items:center}
.academy-ai-chat-head h1{font-size:20px}
.academy-ai-role-tabs{width:100%}
.academy-ai-composer-actions{gap:6px}
.academy-ai-image-viewer{padding:12px}
.academy-ai-image-viewer img{max-width:96vw;max-height:84vh}
}
.academy-ai-review{margin-top:15px;padding:14px;border:1px solid #dce4ef;border-radius:14px;background:#f7faff}
.academy-ai-review-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.academy-ai-review-head>div{display:grid;gap:3px}
.academy-ai-review-head b{font-size:13px}
.academy-ai-review-head span{color:#6c7887;font-size:11px;line-height:1.4}
.academy-ai-review-run,.academy-ai-review-insert{flex:none;border:0;border-radius:10px;padding:9px 11px;background:#273952;color:#fff;font:inherit;font-size:11px;font-weight:850;cursor:pointer}
.academy-ai-review-run:disabled{opacity:.55;cursor:wait}
.academy-ai-review-result{display:grid;gap:10px;margin-top:13px;padding-top:13px;border-top:1px solid #dde6f0}
.academy-ai-review-result>div{padding:10px 11px;border-radius:10px;background:#fff}
.academy-ai-review-result strong{font-size:11px}
.academy-ai-review-result p{margin:5px 0 0;white-space:pre-wrap;color:#4f5965;font-size:12px;line-height:1.5}
.academy-ai-review-result.is-loading{color:#687789;font-size:12px}
.academy-ai-review-result.is-error{color:#9a332c;font-size:12px}
.academy-ai-review-decision{width:max-content;padding:5px 8px;border-radius:999px;background:#eef1f5;color:#59616c;font-size:10px;font-weight:900}
.academy-ai-review-decision.accepted{background:#e8f5ee;color:#20794a}
.academy-ai-review-decision.revision{background:#fff0d9;color:#855800}
.academy-ai-review-insert{width:max-content;background:#17191d}
@media(max-width:650px){.academy-ai-review-head{align-items:flex-start;flex-direction:column}.academy-ai-review-run{width:100%}}

/* Academy 1.0.6 — lesson points and private cohort leaderboard */
.academy-points-mini{margin:13px 0 4px}.academy-points-mini>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:#6b7480;font-size:11px}.academy-points-mini b{color:#1b2027;font-size:12px}.academy-points-mini>i,.academy-points-course>i,.academy-lesson-points>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#e6e9ed}.academy-points-mini>i>em,.academy-points-course>i>em,.academy-lesson-points>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d2025,#e4ad3f)}
.academy-points-course{max-width:520px;margin-top:18px;padding:15px 16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08)}.academy-points-course>div{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}.academy-points-course span{font-size:10px;font-weight:900;letter-spacing:.12em}.academy-points-course strong{font-size:22px}.academy-points-course strong small{opacity:.65;font-size:13px}.academy-points-course>i{background:rgba(255,255,255,.18)}.academy-points-course>i>em{background:linear-gradient(90deg,#fff,#efc66d)}
.academy-leaderboard{margin:22px 0;padding:24px;border:1px solid #e0e4e8;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(18,24,35,.05)}.academy-leaderboard .academy-fe-section-title{align-items:flex-end}.academy-leaderboard .academy-fe-section-title h2{margin:3px 0}.academy-leaderboard .academy-fe-section-title p{margin:0;color:#79818c;font-size:12px}.academy-leaderboard .academy-fe-section-title>span{display:grid;place-items:center;min-width:50px;height:50px;border-radius:15px;background:#17191d;color:#fff;font-size:18px;font-weight:900}.academy-leaderboard-list{display:grid;gap:7px;margin-top:18px}.academy-leaderboard-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 13px;border:1px solid #e9ecef;border-radius:13px;background:#fafbfc}.academy-leaderboard-row.rank-1,.academy-leaderboard-row.rank-2,.academy-leaderboard-row.rank-3{background:#fffaf0;border-color:#f0dfb6}.academy-leaderboard-row.current{box-shadow:inset 3px 0 #17191d;background:#f2f4f7}.academy-rank-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef0f3;font-size:16px}.academy-leaderboard-row>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.academy-leaderboard-row>strong em{margin-left:5px;color:#737c88;font-size:10px;font-style:normal}.academy-leaderboard-row>span{font-size:13px;font-weight:900}.academy-leaderboard-note{display:block;margin-top:13px;color:#7d858f;line-height:1.5}
.academy-lesson-points{margin:16px 0 22px;padding:17px 18px;border:1px solid #ead8ad;border-radius:15px;background:#fffbf2}.academy-lesson-points>div{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.academy-lesson-points span{color:#82662d;font-size:10px;font-weight:900;letter-spacing:.12em}.academy-lesson-points strong{font-size:20px}.academy-lesson-points>i{background:#eee6d4}.academy-lesson-points small{display:block;margin-top:9px;color:#766d5c;line-height:1.45}.academy-review-message span b{color:#17643e}.academy-fe-lesson small b{color:#8a6419}
.academy-review-score{display:grid;gap:6px;margin-top:10px;color:#343b45;font-size:12px;font-weight:800}.academy-review-score input{box-sizing:border-box;width:180px;padding:10px 11px;border:1px solid #ccd3dc;border-radius:10px;background:#fff;font:inherit}.academy-review-score small,.academy-score-disabled,.academy-bulk-score-note{color:#707986;font-size:10px;line-height:1.45}.academy-score-disabled{margin-top:10px;padding:9px 11px;border-radius:9px;background:#f2f4f6}.academy-bulk-score-note{display:block;flex-basis:100%}
@media(max-width:650px){.academy-leaderboard{padding:17px}.academy-leaderboard-row{grid-template-columns:36px minmax(0,1fr) auto;padding:9px}.academy-rank-badge{width:30px;height:30px}.academy-points-course>div,.academy-lesson-points>div{align-items:flex-start;flex-direction:column;gap:5px}.academy-review-score input{width:100%}}
