/* 29/10: trang tuần kiểu "khu vườn" theo mẫu chị Mai duyệt. */
.weekPage{position:relative;isolation:isolate;background:transparent!important}
.weekPage::before{content:"";position:fixed;inset:0;left:0;right:0;top:0;bottom:0;height:auto;border-radius:0;z-index:-2;background:url(assets/home-garden-mobile.webp) center top/cover no-repeat,#cfeefc}
.weekPage::after{content:"";position:fixed;inset:0;opacity:1;background-size:auto;z-index:-1;background:linear-gradient(180deg,#ffffff00 0%,#ffffff00 26%,#f7fff2b3 52%,#f4fbeecc 100%)}
@media (orientation:landscape){.weekPage::before{background-image:url(assets/home-garden.webp)}.weekPage::after{background:linear-gradient(180deg,#ffffff00 0%,#ffffff1a 30%,#f7fff2b8 60%,#f4fbeed9 100%)}}
.weekPage .weekHead{flex-direction:column;gap:2px;margin:6px 0 4px}
.weekPage .weekHead .miniMascot{width:clamp(70px,12vh,110px);filter:drop-shadow(0 6px 8px #7a560f33);animation:wgFloat 3s ease-in-out infinite}
.weekPage .weekHead .pageTitle{text-align:center;font:900 clamp(30px,5.4vw,52px)/1.05 'Baloo 2',Nunito,sans-serif;color:#4a22a8;letter-spacing:.5px;text-shadow:0 2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff,0 -2px 0 #fff,0 5px 0 #c9b6f3,0 8px 14px #4a22a833}
.weekPage .weekHead .pageTitle{display:flex;flex-direction:column;align-items:center}
.weekPage .weekHead .pageTitle small{display:inline-block;margin:0 auto 6px;padding:5px 16px;border-radius:999px;background:linear-gradient(135deg,#8fd0ff,#7cb8f7);color:#fff;font-size:clamp(11px,1.6vw,15px);letter-spacing:.08em;text-shadow:0 1px 0 #4a8ed0;box-shadow:0 3px 0 #5d9ede}
.weekPage .calendarBreadcrumb,.weekPage nav[aria-label*="Đường dẫn"],.weekPage .breadcrumb{color:#3b2a7a;font-weight:800;text-shadow:0 1px 0 #fff}
.weekPage .lessonVideoEntry{border:3px solid #c8b2f0!important;background:#fffffff2!important;box-shadow:0 6px 0 #b9a0e6,0 12px 24px #4a22a822!important}
.weekPage .reviewSection{background:#ffffffc7;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:2px solid #ffffffd9;border-radius:28px;padding:16px 14px 18px;box-shadow:0 10px 30px #3d6a2a1f}
.weekPage .reviewSection h2{color:#3d1d96;font-size:clamp(26px,4vw,36px)}
.weekPage .reviewEyebrow{color:#5f6f86}
.reviewGameTile{position:relative;overflow:hidden;border:2px solid #fff;box-shadow:0 5px 0 #e2d6f3,0 10px 20px #44296e14}
.reviewGameTile h3,.reviewGameStars,.reviewGameTop{position:relative;z-index:1}
.reviewGameTile h3{color:#3d1d96;font-size:clamp(19px,2.2vw,24px);max-width:100%}
.reviewGameStars{font-size:22px;letter-spacing:3px;color:#f5b301;text-shadow:0 2px 0 #c98a00}
.reviewPlay{position:relative;z-index:2;min-height:52px;font-size:18px;border-radius:16px;background:linear-gradient(180deg,#7d55dc,#6a43c9);box-shadow:0 5px 0 #4b2a9e}
.reviewPlay:active{transform:translateY(3px);box-shadow:0 2px 0 #4b2a9e}
.reviewArt{position:absolute;right:6px;bottom:58px;width:44%;max-width:120px;aspect-ratio:1;z-index:0;pointer-events:none}
.reviewArt i{position:absolute;display:block;font-style:normal}
.reviewArt .rwSprite{inset:0;background:url(assets/game-covers.webp) 0 0/300% 200% no-repeat;border-radius:16px;transform:rotate(-4deg)}
.reviewArt-listen .rwSprite{background-position:0 0}
.reviewArt-match .rwSprite{background-position:50% 0}
.reviewArt-wordwalk .rwSprite{background-position:0 100%}
.reviewArt-bingo .rwSprite{background-position:100% 100%}
.reviewArt .rwWheel{inset:8% 4% 0 10%;border-radius:50%;background:radial-gradient(circle,#fff 0 9%,#3d1d96 9% 13%,transparent 13%),conic-gradient(#ff5e5e 0 45deg,#ffb238 0 90deg,#ffe04a 0 135deg,#5fd36b 0 180deg,#3fc1e8 0 225deg,#4f7df0 0 270deg,#9b6bff 0 315deg,#ff6fb4 0 360deg);border:5px solid #3d1d96;animation:wgSpin 9s linear infinite}
.reviewArt .rwNote{right:0;top:0;color:#f5a400;font-size:24px;font-weight:900}
.reviewArt .rwNote.n2{right:auto;left:4%;top:20%;color:#ff5fa8;font-size:20px}
.reviewArt .rwBubble{border-radius:50%;box-shadow:inset -6px -8px 12px #0000001a,inset 6px 6px 10px #ffffffb3}
.reviewArt .rwBubble::after{content:"• ‿ •";position:absolute;inset:0;display:grid;place-items:center;color:#3b2a5a;font:900 12px/1 Nunito,sans-serif}
.reviewArt .b1{width:46%;height:46%;right:4%;top:0;background:radial-gradient(circle at 35% 30%,#fff,#9fdcff 60%,#5bb8f5)}
.reviewArt .b2{width:58%;height:58%;left:4%;bottom:0;background:radial-gradient(circle at 35% 30%,#fff,#ffb0d6 60%,#ff6fb4)}
.reviewArt .b3{width:40%;height:40%;right:0;bottom:6%;background:radial-gradient(circle at 35% 30%,#fff,#ffe98a 60%,#ffcb2e)}
@keyframes wgFloat{50%{transform:translateY(-6px)}}
@keyframes wgSpin{to{transform:rotate(360deg)}}
@media(max-width:420px){.reviewArt{width:46%;bottom:56px}.reviewGameStars{font-size:19px}.reviewPlay{min-height:48px;font-size:17px}}
@media (orientation:landscape) and (min-width:700px){.weekPage .reviewGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.weekPage *{animation:none!important}}
@media(max-height:540px) and (orientation:landscape){
  .weekPage .weekMain{display:flex!important;flex-direction:column;gap:8px}
  .weekPage .weekHead{flex-direction:row;justify-content:center;gap:12px}
  .weekPage .weekHead .miniMascot{display:block;width:64px}
  .weekPage .weekHead .pageTitle{font-size:30px}
  .weekPage .lessonVideoEntry{width:min(640px,80vw)!important;margin:0 auto!important}
  .weekPage .reviewSection{margin:6px 0 16px}
  .weekPage .reviewGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .weekPage .reviewGameTile{padding:11px;gap:7px}
  .reviewArt{width:42%;bottom:54px}
}
.reviewGameNote{position:relative;z-index:1;max-width:58%}
.reviewArt{width:40%;max-width:104px}
