:root{--ink:#23234b;--muted:#6e7190;--purple:#5945d6;--dark-purple:#41319f;--line:#e9e8f3;--bg:#fdfcff;--white:#fff;--shadow:0 18px 55px rgba(40,34,103,.075)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #f1b746;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-80px;left:18px;z-index:100;background:white;padding:12px 18px;border:2px solid var(--purple);border-radius:12px}.skip-link:focus{top:12px}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid #eeeaf8;position:relative;z-index:3}.header-inner{height:89px;display:flex;align-items:center;gap:30px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:21px;font-weight:900;letter-spacing:-.7px;line-height:1.1;white-space:nowrap}.brand b{color:var(--purple)}.brand small{display:block;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:10px;font-weight:800;margin-top:5px}.brand-icon{display:grid;place-items:center;background:#5f4dd8;color:white;border-radius:15px;width:48px;height:48px;font-size:31px}.main-nav{display:flex;align-items:center;gap:30px;margin-inline:auto;color:#585b77;font-size:14px;font-weight:800}.main-nav a:hover,.footer-links a:hover{color:var(--purple)}.header-cta{background:#f0edff;color:var(--purple);font-size:13px;font-weight:900;padding:12px 19px;border-radius:13px;white-space:nowrap}.header-cta:hover{background:#e4ddff}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;padding-top:78px;padding-bottom:79px}.eyebrow,.section-kicker{color:var(--purple);font-size:12px;letter-spacing:1.6px;font-weight:900}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#f1efff;border-radius:30px;padding:9px 14px;letter-spacing:1px}.live-dot{width:8px;height:8px;border-radius:50%;background:#8b72e8;box-shadow:0 0 0 4px #e5ddff}.hero h1{font-weight:900;font-size:clamp(39px,4.65vw,65px);line-height:1.12;letter-spacing:-2px;margin:26px 0 23px}.hero h1 span{color:var(--purple)}.hero-copy>p{max-width:495px;color:#74758c;font-size:17px;line-height:1.85;margin:0 0 30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 22px;font-size:14px;font-weight:900;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--purple);color:white;box-shadow:0 10px 19px rgba(89,69,214,.18)}.button-primary:hover{background:var(--dark-purple)}.button-outline{background:white;color:var(--purple);border-color:#ddd6ff}.button-outline:hover{background:#f6f3ff}.hero-info{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px;color:#66746c;font-size:12px;font-weight:800}
.hero-art{height:420px;border-radius:42px;position:relative;background:linear-gradient(145deg,#eae5ff,#f1f5ff 48%,#ffebf1);display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art::before{content:"";position:absolute;inset:auto -70px -130px;width:380px;height:330px;background:#d9d0ff;opacity:.42;border-radius:50%}.hero-art::after{content:"";position:absolute;top:-120px;right:-110px;width:280px;height:260px;background:#ffdfc6;opacity:.55;border-radius:50%}.art-panel{width:69%;height:310px;background:white;border:7px solid white;border-radius:25px;box-shadow:0 28px 65px rgba(60,43,160,.19);position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:0 16px 17px;transform:rotate(-3deg)}.panel-bar{width:calc(100% + 32px);height:37px;background:#f4f1ff;border-radius:18px 18px 0 0;display:flex;align-items:center;gap:5px;padding:0 13px}.panel-bar>span{background:#d9d1f2;border-radius:50%;height:7px;width:7px}.panel-url{margin-left:auto;background:#fff;color:#a69bc7;font-size:9px;font-weight:800;padding:2px 10px;border-radius:10px}.panel-face{margin:17px 0 10px;width:106px;height:100px;background:#ffe394;border:6px solid #ffd77a;border-radius:38%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 8px 0 #fff2bf}.face-eyes{display:flex;gap:36px}.face-eyes i{display:block;width:10px;height:14px;background:#4c4066;border-radius:50%}.face-smile{height:17px;width:34px;border-radius:0 0 30px 30px;border-bottom:5px solid #654d59}.panel-title{font-weight:900;font-size:16px}.panel-subtitle{color:#a4a0b9;font-size:11px;font-weight:700}.panel-progress{width:78%;height:10px;background:#efedfb;border-radius:10px;margin:13px 0}.panel-progress span{display:block;width:69%;height:100%;background:#74d9b5;border-radius:10px}.panel-action{background:#6553da;color:white;border-radius:8px;font-weight:900;font-size:10px;padding:9px 16px}.art-pill{position:absolute;z-index:2;border-radius:18px;background:white;padding:13px 16px;box-shadow:0 14px 30px #4a3b9d26;font-weight:900;font-size:13px}.pill-a{top:65px;left:11px;transform:rotate(-9deg)}.pill-b{bottom:56px;right:5px;transform:rotate(8deg)}.art-spark{position:absolute;font-size:34px;color:#ee9c4d;z-index:2}.a1{top:17px;right:70px}.a2{bottom:28px;left:38px;color:#af93ea}.a3{top:45px;left:34%;color:#a79df0}
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 27px;background:white;border-radius:23px;border:1px solid #f2eff9;box-shadow:var(--shadow)}.benefits>div{display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid #e8e6f1}.benefits>div:last-child{border-right:0}.benefits>div>span{display:grid;place-items:center;background:#f3f0ff;width:47px;height:47px;border-radius:15px;font-size:22px}.benefits p{margin:0;display:flex;flex-direction:column}.benefits b{font-weight:900;font-size:15px}.benefits small{color:#9996ad;font-size:12px;margin-top:3px}.section{padding-top:100px;padding-bottom:85px;scroll-margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-heading h2,.guide-intro h2{font-size:clamp(29px,3.2vw,39px);letter-spacing:-1.2px;line-height:1.25;margin:9px 0 10px;font-weight:900}.section-heading p,.guide-intro p{margin:0;color:var(--muted);font-size:15px}.grade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grade-card{border:1px solid transparent;display:flex;flex-direction:column;align-items:stretch;text-align:left;min-height:285px;padding:25px 25px 22px;border-radius:23px;transition:transform .2s,box-shadow .2s}.grade-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(61,53,120,.09)}.grade-3{background:#eee9ff}.grade-4{background:#e0f6ee}.grade-5{background:#ffedde}.grade-symbol{font-size:49px;line-height:1;padding-bottom:14px}.grade-card-text{display:flex;flex-direction:column;gap:6px}.grade-card-text small{font-size:10px;letter-spacing:1.1px;font-weight:900;color:#7167ac}.grade-4 small{color:#34836f}.grade-5 small{color:#af7548}.grade-card-text strong{font-size:32px;letter-spacing:-1px;line-height:1.2}.grade-card-text>span{color:#77798f;font-size:13px;font-weight:700}.grade-card-text em{display:flex;justify-content:space-between;font-style:normal;font-size:13px;font-weight:900;color:#5a48bd;margin-top:16px}.grade-4 em{color:#238064}.grade-5 em{color:#c37c39}
.games-section{background:#f6f5fc;padding-bottom:94px}.count-tag{white-space:nowrap;background:#fff;color:#766ab8;font-size:12px;font-weight:900;border:1px solid #e5e0fa;padding:10px 14px;border-radius:12px}.tools-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.grade-tabs{display:flex;gap:8px;flex-wrap:wrap}.grade-tabs button{border:1px solid #e5e2f2;background:white;color:#78758c;padding:10px 17px;border-radius:12px;font-size:13px;font-weight:900}.grade-tabs button.active{background:var(--purple);border-color:var(--purple);color:white}.search-wrap{position:relative;width:min(320px,100%)}.search-wrap span{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:27px;color:#8c84a8;line-height:1}.search-wrap input{width:100%;background:white;border:1px solid #e7e3f2;border-radius:13px;padding:12px 14px 12px 43px;color:var(--ink);outline-offset:3px;font-size:13px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.game-card{min-width:0;background:white;border:1px solid #eeecf7;border-radius:22px;overflow:hidden;box-shadow:0 7px 19px #392e7709;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.game-cover{position:relative;height:170px;display:grid;place-items:center;overflow:hidden}.game-cover.has-thumb{place-items:stretch}.cover-thumb{width:100%;height:100%;object-fit:cover;display:block}.game-cover.has-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.06),rgba(15,23,42,.28))}.game-cover.has-thumb .cover-grade{z-index:2;backdrop-filter:blur(6px)}.game-cover.has-thumb .cover-icon{display:none}.cover-violet{background:radial-gradient(circle at 20% 10%,#e8cfff,transparent 40%),linear-gradient(135deg,#e7ddff,#bfb0ff)}.cover-mint{background:radial-gradient(circle at 80% 10%,#d8fff2,transparent 40%),linear-gradient(135deg,#c4eee0,#9cd8c4)}.cover-peach{background:radial-gradient(circle at 30% 85%,#fff0ce,transparent 40%),linear-gradient(135deg,#ffe0c7,#ffbfab)}.cover-icon{display:grid;place-items:center;width:105px;height:105px;background:#ffffff75;border:2px solid #ffffff8a;border-radius:30px;font-size:62px;transform:rotate(-7deg)}.cover-grade{position:absolute;top:16px;left:16px;font-size:10px;font-weight:900;letter-spacing:1px;color:#534782;border-radius:7px;background:#fff;padding:6px 10px}.game-content{padding:21px}.game-topic{color:var(--purple);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.game-content h3{font-size:19px;line-height:1.28;margin:10px 0;letter-spacing:-.4px;font-weight:900;min-height:49px}.game-content p{font-size:13px;line-height:1.7;color:#7b7d96;min-height:45px;margin:0 0 14px}.game-meta{display:flex;gap:19px;color:#78768d;font-weight:800;font-size:12px;padding-bottom:15px}.game-bottom{border-top:1px solid #f0eef6;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:8px}.demo-chip{color:#8275a4;background:#f3f0fa;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:900}.game-play{color:#5e4dd0;font-weight:900;font-size:13px;white-space:nowrap}.game-play:hover{text-decoration:underline}.demo-notice{color:#747088;font-size:13px;background:#fff;border:1px dashed #dcd8ed;padding:14px 17px;border-radius:12px;margin:25px 0 0}.empty-state{background:#fff;border:1px dashed #ded8f0;border-radius:20px;text-align:center;padding:40px}.empty-state[hidden]{display:none}.empty-state>span{font-size:48px}.empty-state h3{font-weight:900;margin:9px}.empty-state p{color:var(--muted)}.guide-section{display:grid;grid-template-columns:300px 1fr;gap:45px;align-items:center;padding-top:110px;padding-bottom:110px}.guide-intro p{max-width:250px;line-height:1.8}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.step{border:1px solid #efecf6;background:white;border-radius:20px;padding:20px;min-height:222px;box-shadow:0 8px 20px #1d116208}.step>span{color:#b2aec6;font-weight:900;font-size:12px}.step-icon{font-size:40px;margin:15px 0 8px}.step h3{font-size:15px;font-weight:900;margin:0 0 8px}.step p{color:#828099;font-size:12px;margin:0;line-height:1.65}.site-footer{background:#262449;color:white;padding:36px 0 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:32px}.footer-brand{font-size:20px;font-weight:900}.footer-inner p{color:#c9c7dd;font-size:13px;margin:5px 0}.footer-links{display:flex;gap:28px;color:#d2d0e4;font-weight:800;font-size:13px}.footer-bottom{border-top:1px solid #4a466d;color:#c9c7de;padding-top:15px;padding-bottom:20px;display:flex;justify-content:space-between;font-size:12px;font-weight:700}
/* Trang chơi */
.play-body{background:#f8f7fd}.play-main{min-height:calc(100vh - 250px);padding-top:35px;padding-bottom:55px}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#8a87a4;font-size:12px;font-weight:800}.breadcrumbs a:hover{color:var(--purple)}.play-top{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:25px 0}.play-top h1{font-size:clamp(25px,3vw,38px);font-weight:900;letter-spacing:-.8px;margin:12px 0 7px}.play-top p{font-size:14px;color:#77748e;margin:0}.grade-chip{font-size:11px;background:#e9e5ff;color:var(--purple);padding:7px 11px;border-radius:8px;font-weight:900;letter-spacing:.9px}.play-actions{display:flex;gap:8px;flex-wrap:wrap}.game-frame-wrap{background:#fff;border:1px solid #ece8f8;border-radius:22px;box-shadow:var(--shadow);padding:12px;min-height:585px}.game-frame-wrap iframe{width:100%;height:625px;display:block;border:0;border-radius:13px;background:#fff}.game-frame-wrap iframe[hidden]{display:none}.frame-error{text-align:center;padding:85px 15px}.frame-error[hidden]{display:none}.frame-error>span{font-size:65px}.frame-error h2{font-size:23px;margin:10px}.frame-error p{color:var(--muted);margin-bottom:30px}.play-tip{color:#827e97;font-size:12px;margin:17px 0 0}.play-footer{padding-top:0}
@media(max-width:1000px){.hero{gap:25px}.hero-art{height:360px}.art-panel{width:76%}.guide-section{grid-template-columns:1fr;gap:27px}.guide-intro p{max-width:none}.grade-card{padding:21px}.game-grid{gap:14px}.game-content{padding:15px}}@media(max-width:760px){.container{width:min(100% - 32px,1160px)}.header-inner{height:76px;gap:10px}.brand{font-size:18px}.brand-icon{width:39px;height:39px;font-size:24px}.brand small{font-size:8px}.main-nav{display:none}.header-cta{margin-left:auto;padding:10px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:52px;padding-bottom:45px;gap:35px}.hero h1{letter-spacing:-1.6px;font-size:42px}.hero-copy>p{font-size:15px}.hero-art{height:325px;width:min(100%,490px);margin:auto}.art-panel{height:260px}.panel-face{height:77px;width:86px}.pill-a{top:22px}.pill-b{bottom:20px}.benefits{grid-template-columns:1fr;padding:15px 18px;gap:10px}.benefits>div{justify-content:start;border-right:0;border-bottom:1px solid #eeeaf5;padding-bottom:10px}.benefits>div:last-child{border-bottom:0;padding-bottom:0}.section{padding-top:70px;padding-bottom:65px}.grade-grid{grid-template-columns:1fr;gap:12px}.grade-card{min-height:0;flex-direction:row;align-items:center;gap:17px}.grade-symbol{padding-bottom:0;min-width:60px}.grade-card-text strong{font-size:26px}.grade-card-text em{margin-top:5px}.tools-bar{align-items:stretch;flex-direction:column}.search-wrap{width:100%}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:start;flex-direction:column}.steps{grid-template-columns:1fr;gap:12px}.step{min-height:0;display:grid;grid-template-columns:53px 1fr;column-gap:12px;padding:15px}.step>span{grid-column:1/3}.step-icon{grid-row:2/4;align-self:center;margin:0}.step h3{grid-column:2}.step p{grid-column:2}.guide-section{gap:26px}.footer-inner{flex-direction:column;align-items:start}.play-top{flex-direction:column;align-items:start}.game-frame-wrap iframe{height:665px}.game-frame-wrap{padding:7px}}
@media(max-width:510px){.hero h1{font-size:39px}.eyebrow{font-size:10px}.hero-actions .button{width:100%}.hero-info{gap:9px}.game-grid{grid-template-columns:1fr}.game-cover{height:145px}.game-content h3{min-height:0}.game-content p{min-height:0}.grade-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.grade-tabs button{padding:10px 6px;font-size:11px}.footer-links{gap:16px}.footer-bottom{gap:10px;flex-wrap:wrap}.play-actions .button{padding:10px 12px;font-size:12px}.game-frame-wrap iframe{height:720px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Bổ sung bộ lọc theo số bài và chế độ toàn màn hình */
.lesson-wrap {display:flex;align-items:center;gap:9px;white-space:nowrap;color:#5a5183;font-size:13px;font-weight:800}
.lesson-wrap select {background:#fff;border:1px solid #e7e3f2;border-radius:12px;padding:12px 14px;min-width:125px;color:#383151;font:inherit;cursor:pointer}
.game-frame-wrap:fullscreen {width:100vw;height:100vh;padding:0;border:0;border-radius:0;background:#fff}
.game-frame-wrap:fullscreen iframe {height:100vh;width:100vw;border-radius:0}
@media(max-width:760px){.lesson-wrap{width:100%;justify-content:space-between}.lesson-wrap select{flex:1}}

/* Logo Tin Học Thầy Trung được tích hợp từ tệp PNG do giáo viên cung cấp. */
.site-header .brand-logo {display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; flex:0 0 auto; gap:0; letter-spacing:normal; text-decoration:none}
.site-header .brand-logo img {display:block; width:214px; height:auto; max-width:100%; object-fit:contain}
.brand-caption {display:block; margin:0 0 0 4px; color:#626685; font-size:9px; font-weight:850; letter-spacing:.95px; line-height:1.4; white-space:nowrap}
.site-footer .footer-brand-logo {display:inline-block; max-width:100%}
.site-footer .footer-brand-logo img {display:block; width:270px; max-width:100%; height:auto; object-fit:contain}
.play-footer .play-footer-brand {padding:24px 0 18px}
.play-footer .footer-brand-logo img {width:240px}
@media(max-width:1000px) and (min-width:761px) {
  .site-header .brand-logo img {width:192px}
  .header-inner {gap:18px}
  .main-nav {gap:17px}
}
@media(max-width:760px) {
  .site-header .brand-logo img {width:175px}
  .brand-caption {font-size:7px;letter-spacing:.55px;margin-left:4px}
}
@media(max-width:380px) {
  .site-header .brand-logo img {width:150px}
  .brand-caption {font-size:6.7px;letter-spacing:.22px}
  .header-cta {font-size:11px;padding:9px}
}

/* Mục lục Kết nối tri thức và nhãn tên bài chuẩn. */
.curriculum-section{padding-top:85px;padding-bottom:95px}
.curriculum-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 26px}
.curriculum-help{color:#706a96;font-size:13px;font-weight:850}
.curriculum-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:start}
.curriculum-theme{overflow:hidden;border:1px solid #e6e3f2;border-radius:19px;background:white;box-shadow:0 8px 30px rgba(55,44,130,.045)}
.curriculum-theme-header{display:flex;gap:10px;align-items:center;padding:16px 17px;background:#f0efff}
.theme-number{flex:0 0 32px;display:grid;place-items:center;height:32px;border-radius:10px;background:#6755da;color:white;font-size:13px;font-weight:900}
.curriculum-theme-header h3{font-size:14px;line-height:1.45;margin:0;flex:1;color:#37325f;font-weight:900}
.theme-quantity{color:#7069a6;white-space:nowrap;font-size:10px;font-weight:800}
.curriculum-row{display:flex;align-items:center;gap:12px;min-height:66px;padding:12px 16px;border-top:1px solid #f0eef7}
.curriculum-code{flex:0 0 62px;white-space:nowrap;color:#5b45ce;background:#eeeafd;border-radius:9px;padding:7px 6px;text-align:center;font-weight:900;font-size:11px}
.curriculum-lesson{font-size:12px;font-weight:750;line-height:1.45;flex:1;color:#393755}
.curriculum-open{border:1px solid #dcd3fc;background:#f9f7ff;color:#5540cb;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:900;white-space:nowrap}
.curriculum-open:hover{background:#e8e1ff}
.curriculum-row-missing{background:#faf9fb}
.curriculum-row-missing .curriculum-code{background:#f1eff4;color:#8a8399}
.curriculum-unavailable{font-size:11px;font-weight:800;color:#887c97;white-space:nowrap}
.curriculum-note{padding:15px 17px;margin-top:20px;border:1px dashed #d7d1ee;background:#fbfaff;border-radius:12px;color:#686080;font-size:12px}
.game-content h3.lesson-heading{min-height:62px;font-size:18px;line-height:1.4}
.game-content p.game-original-title{color:#5e607e;font-weight:650;min-height:55px}
.game-format-label{color:#7766c4;font-weight:850}
.game-topic{font-size:10px;line-height:1.5;min-height:30px}
.game-bottom{justify-content:space-between}
.lesson-wrap select:disabled{opacity:.6;cursor:not-allowed;background:#f1eff5}
.play-curriculum{font-weight:900;margin:14px 0 0;font-size:17px;line-height:1.35;color:#5844ca}
@media(max-width:900px){.curriculum-list{grid-template-columns:1fr}.tools-bar{flex-wrap:wrap;justify-content:flex-start}.search-wrap{flex:1 1 230px}}
@media(max-width:760px){.curriculum-toolbar{align-items:stretch;flex-direction:column}.curriculum-row{padding:11px;gap:8px}.curriculum-open{padding:8px}.curriculum-lesson{font-size:12px}.curriculum-section{padding-top:65px;padding-bottom:70px}}
@media(max-width:390px){.curriculum-row{flex-wrap:wrap}.curriculum-lesson{flex:1 1 calc(100% - 75px)}.curriculum-open,.curriculum-unavailable{margin-left:70px}}


/* Thumbnail 4:3 giữ nguyên hình và tên bài, không cắt chữ */
.game-cover.has-thumb { height:auto; aspect-ratio:4/3; display:block; overflow:hidden; background:#e5f5ff; }
.game-cover.has-thumb .cover-thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; display:block; }
.game-cover.has-thumb::after { display:none; }
.game-cover.has-thumb .cover-grade { display:none; }
.curriculum-thumb { width:78px; height:59px; flex:0 0 78px; object-fit:cover; border-radius:10px; background:#e6edff; border:1px solid #e2e8f7; box-shadow:0 2px 6px rgba(35,60,110,.08); }
.curriculum-row:hover { background:#fbfdff; }
.curriculum-row-missing .curriculum-thumb { opacity:.72; }
@media(max-width:760px) {
  .curriculum-row { flex-wrap:wrap; }
  .curriculum-thumb { width:86px; height:65px; flex-basis:86px; }
  .curriculum-code { flex-basis:56px; }
  .curriculum-lesson { flex:1 1 110px; }
  .curriculum-open,.curriculum-unavailable { margin-left:auto; }
}
@media(max-width:390px){
  .curriculum-lesson { flex:1 1 calc(100% - 178px); }
  .curriculum-open,.curriculum-unavailable { margin-left:auto; }
}
