/*!
 * TMA Kids Edition v2
 * Release: 2.6.50 Discipline Mobile Menu + Avatar Preview Fix
 * Build: 20260702-CLEAN-FOUNDATION-CHECKPOINT-R4
 * Patch: Clean Round 4 Verified Foundation Base
 * Developer: Watchara Marungsri
 * School: โรงเรียนบ้านป่าแดง(เขาค้อ)
 * Copyright: © 2026 Watchara Marungsri. All Rights Reserved.
 */
/*
 * TMA Kids Edition v2
 * Release: 2.6.50 Central Version Registry Fix
 * Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
 * Patch: โหมดส่งเสริมวินัย Fix
 * Developer: Watchara Marungsri
 * School: โรงเรียนบ้านป่าแดง(เขาค้อ)
 * Copyright: © 2026 Watchara Marungsri. All Rights Reserved.
 */
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;600;700;900&display=swap);:root{--blue:#2f78ff;--deep:#16449b;--sky:#6ed8ff;--yellow:#ffd84d;--purple:#7b5cff;--ink:#24304f;--card:rgba(255,255,255,.86);--shadow:0 18px 45px rgba(21,64,130,.22)}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:'Noto Sans Thai',system-ui,sans-serif;color:var(--ink);overflow:hidden}button,input{font:inherit}button{border:0;cursor:pointer}body{background:linear-gradient(180deg,#55c7ff,#bcefff 48%,#d8ffc8)}body:before{content:'';position:fixed;inset:0;background:radial-gradient(circle at 25% 12%,#fff8 0 10%,transparent 20%),radial-gradient(circle at 80% 80%,#8be37a88,transparent 30%);pointer-events:none}.hidden{display:none!important}.page,.name-screen{display:none}.page.active,.name-screen.active{display:block}.name-screen{min-height:100vh;place-items:center;padding:20px}.name-screen.active{display:grid}.name-card{width:min(430px,92vw);background:var(--card);border-radius:36px;padding:28px;text-align:center;box-shadow:var(--shadow)}.name-card img{width:180px}.name-card h1{font-size:34px;margin:0}.name-card input{width:100%;border:4px solid #d8edff;border-radius:22px;padding:16px;text-align:center;font-size:24px;font-weight:900;margin:18px 0}.app{position:relative;z-index:1;display:grid;grid-template-columns:148px 1fr;gap:16px;height:100vh;padding:16px;max-width:1400px;margin:auto}.side{background:linear-gradient(180deg,#15459dcc,#17366dcc);border-radius:28px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.side-mascot{height:110px;background:#ffffff22;border-radius:22px;display:grid;place-items:center}.side-mascot img{height:116px;animation:float 2.6s infinite}.nav{height:52px;border-radius:18px;background:#ffffff16;color:#fff;font-weight:900;text-align:left;padding:0 12px}.nav.active{background:linear-gradient(135deg,#8d74ff,#66b8ff);box-shadow:0 10px 20px #0003}.content{overflow:auto;border-radius:30px;padding:2px 4px 24px}.top{display:grid;grid-template-columns:1fr auto auto;align-items:start;gap:14px}.logo{color:#fff;text-shadow:0 4px 12px #063d8b66}.logo b{display:block;font-size:72px;line-height:.85;color:#ffd84d;-webkit-text-stroke:3px #6b39d8;text-shadow:0 7px 0 #3952bd}.logo span{font-size:24px;font-weight:900}.logo small{display:block;font-weight:900}.glass{background:linear-gradient(#fff,#dff5ff);border-radius:20px;padding:13px 20px;font-weight:900;color:#274277;box-shadow:var(--shadow);display:inline-block;text-decoration:none}.gift{position:relative}.gift i{position:absolute;right:-8px;top:-8px;background:#ff4d6d;color:#fff;border-radius:50%;min-width:26px;height:26px;display:grid;place-items:center}.home-hero{display:grid;grid-template-columns:1fr 360px;gap:28px;margin:12px 0 14px;align-items:center}.hello{background:var(--card);border-radius:22px;padding:22px 26px;box-shadow:var(--shadow)}.hello h2{font-size:24px;margin:0}.hello p{font-size:28px;margin:5px 0;font-weight:900}.start{background:linear-gradient(180deg,#ffe66c,#ffad1f);border-radius:30px;min-height:108px;font-size:42px;font-weight:900;color:#793b00;text-shadow:0 2px 0 #fff6;box-shadow:0 12px 0 #d88408,0 22px 35px #8a5b0033}.start small{display:block;font-size:17px}.start.wide,.primary{width:100%}.primary{background:linear-gradient(135deg,var(--purple),var(--blue));color:white;border-radius:22px;padding:15px;font-weight:900;font-size:22px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary article{background:var(--card);border-radius:18px;padding:15px 18px;box-shadow:var(--shadow)}.summary span{font-weight:900;color:#7b5cff}.summary b{display:block;font-size:26px}.bar{height:13px;background:#d8dff8;border-radius:999px;overflow:hidden;margin:5px 0}.bar i,#gameProgressBar{height:100%;display:block;background:linear-gradient(90deg,#7b5cff,#ffd84d);border-radius:999px;width:0}.parade{height:168px;margin-top:10px;display:flex;align-items:end;justify-content:center;gap:0}.mascot-item{background:transparent;width:118px;margin:0 -5px;display:grid;justify-items:center;font-weight:900;color:#274277}.mascot-item img{width:118px;height:118px;object-fit:contain;filter:drop-shadow(0 12px 12px #16458033);animation:idle 2.4s infinite}.mascot-item:nth-child(2n) img{animation-delay:.35s}.mascot-item.selected img{animation:wave 1.2s infinite}.mascot-item span{font-size:12px;background:#fff;padding:4px 8px;border-radius:999px}.dash{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:14px}.dash article,header,.settings article,.result,.about,.cards article{background:var(--card);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.badges{display:flex;gap:10px}.badges span{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:28px}.badges small{font-size:10px}.locked{filter:grayscale(1);opacity:.55}header{margin-bottom:14px}header h2{margin:0;font-size:30px}.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.mode{background:var(--card);border-radius:20px;padding:12px;box-shadow:var(--shadow);display:grid;text-align:left}.mode img{height:92px;justify-self:center}.mode b{font-size:20px}.mode.selected{outline:5px solid #ffe66c}.settings{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:14px}.settings article{display:grid;gap:8px;align-content:start}.settings label{background:#fff;border-radius:14px;padding:9px;font-weight:800}.settings input{accent-color:#7b5cff}.settings input[type=number]{width:100%;border:2px solid #d8edff;border-radius:14px;padding:8px}.game{height:calc(100vh - 32px);background:radial-gradient(circle at 50% 20%,#1b795c,#083d49 70%);border-radius:30px;overflow:hidden;padding:18px;color:#fff;position:relative}.game-top{display:grid;grid-template-columns:58px 1fr 150px;gap:14px;align-items:center}.pause,.coin{height:54px;border-radius:18px;background:#ffffff22;color:#fff;font-size:28px;font-weight:900}.coin{display:grid;place-items:center}.gamebar{background:#183b91;border:3px solid #6898ff;border-radius:20px;padding:8px 14px}.gamebar div{height:22px;background:#132b68;border-radius:999px;overflow:hidden;margin-top:5px}.arena{position:relative;min-height:610px}.question{width:55%;margin:26px 0 0 20px;background:#fff1cf;color:#5a3718;border:6px solid #ffcd67;border-radius:28px;padding:24px;text-align:center;box-shadow:var(--shadow)}.question h2{font-size:64px;margin:10px 0}.answers{display:grid;grid-template-columns:repeat(2,150px);gap:18px;margin:22px 0 0 20px}.answer{height:92px;border-radius:22px;font-size:42px;font-weight:900;color:#fff;box-shadow:0 10px 0 #0002}.answer:nth-child(1){background:#5da4ff}.answer:nth-child(2){background:#71d45a}.answer:nth-child(3){background:#ffcd39}.answer:nth-child(4){background:#ff759d}.answer.right{outline:8px solid #b8ff55}.answer.wrong{filter:grayscale(.4) brightness(.85)}.coach{position:absolute;right:4%;bottom:15px;width:360px;text-align:center}.coach img{width:320px;filter:drop-shadow(0 20px 16px #0006)}#speechBubble{position:absolute;left:-80px;top:100px;background:#fff7dc;color:#274277;border-radius:30px;padding:18px 22px;font-size:20px;font-weight:900;box-shadow:var(--shadow)}.combo{position:absolute;right:40px;top:20px;background:linear-gradient(90deg,#421900,#9a4a00);border:4px solid #ffad4f;border-radius:22px;padding:14px 28px;font-size:38px;font-weight:900;color:#ffd84d;box-shadow:0 0 24px #ff8c28}.reward{position:absolute;left:43%;bottom:80px;font-size:56px;font-weight:900;color:#ffd84d;text-shadow:0 4px 0 #9a4a00;animation:floatReward .9s ease forwards}.result{text-align:center;margin:auto;max-width:660px}.result img{height:170px}.score{font-size:58px;font-weight:900;color:#7b5cff}.result-grid,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.result-grid div{background:#fff;border-radius:18px;padding:12px}.result-grid b,.cards b{display:block;font-size:28px;color:#7b5cff}.cards article{text-align:center}.cards article{font-size:28px}.about{text-align:center}.about img{height:140px}.about div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.toast{position:fixed;z-index:200;left:50%;bottom:25px;transform:translateX(-50%) translateY(20px);background:#24304f;color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;opacity:0;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%)}#fxLayer{position:fixed;inset:0;z-index:150;pointer-events:none;overflow:hidden}.confetti,.effect-rain{position:absolute;top:-40px;font-size:32px;animation:fall 1.4s ease-in forwards}.big-effect{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;animation:bigPop 1.7s ease forwards}.big-effect span{font-size:150px}.big-effect b{font-size:72px;color:#fff;text-shadow:0 6px 0 #0005,0 0 30px #fff}.rocket-fly{position:absolute;left:-80px;font-size:64px;animation:rocketFly 1.35s ease-in forwards}.screen-shake{animation:shake .45s}@keyframes idle{50%{transform:translateY(-8px)}}@keyframes wave{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(5deg) translateY(-10px)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes jump{0%,100%{transform:translateY(0)}40%{transform:translateY(-34px) scale(1.05)}}@keyframes superJump{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-70px) rotate(-10deg) scale(1.08)}70%{transform:translateY(-20px) rotate(8deg)}}.jump{animation:jump .9s}.super-jump{animation:superJump 1.15s}.idle{animation:idle 2s infinite}@keyframes floatReward{to{transform:translateY(-100px) scale(1.15);opacity:0}}@keyframes fall{to{transform:translateY(110vh) rotate(360deg);opacity:0}}@keyframes bigPop{0%{transform:scale(.2);opacity:0}20%{transform:scale(1.1);opacity:1}80%{opacity:1}100%{transform:scale(.95);opacity:0}}@keyframes rocketFly{to{transform:translateX(120vw) rotate(-18deg)}}@keyframes shake{20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@media(max-width:900px){html,body{overflow:auto}.app{height:auto;min-height:100vh;grid-template-columns:1fr}.side{position:sticky;top:0;z-index:10;flex-direction:row;overflow:auto}.side-mascot{display:none}.nav{min-width:115px}.top,.home-hero,.dash,.settings{grid-template-columns:1fr}.summary,.modes,.result-grid,.cards{grid-template-columns:1fr 1fr}.game{height:auto}.question{width:100%;margin:20px 0}.answers{grid-template-columns:1fr 1fr;margin-left:0}.coach{position:relative;right:auto;bottom:auto;width:100%;margin-top:12px}#speechBubble{position:static;margin:auto}.parade{overflow:auto;justify-content:flex-start}}
/* v2.0.1 Polish: fantasy learning world home + chest/shop */
body{background:linear-gradient(180deg,#69d7ff 0%,#baf1ff 42%,#dfffd3 72%,#a5e772 100%)}
body:before{content:"";position:fixed;inset:0;background:
 radial-gradient(ellipse at 52% 78%,#77c85a 0 9%,transparent 10%),
 radial-gradient(ellipse at 22% 76%,#6bb44f 0 12%,transparent 13%),
 radial-gradient(ellipse at 82% 74%,#5fa747 0 13%,transparent 14%),
 linear-gradient(160deg,transparent 0 55%,rgba(255,238,164,.85) 56% 62%,transparent 63%),
 radial-gradient(circle at 18% 18%,#fff 0 4%,transparent 5%),
 radial-gradient(circle at 72% 12%,#fff 0 5%,transparent 6%);
 opacity:.95;pointer-events:none}
body:after{content:"🌸  🌼     🌷        🌻      🌸";position:fixed;left:20%;right:0;bottom:14px;font-size:30px;opacity:.9;pointer-events:none;filter:drop-shadow(0 4px 3px #3d852944)}
.parade{background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.48));border-radius:30px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.32);}

.gift i{background:#ff4d6d;color:#fff;min-width:30px;height:30px;font-style:normal}


/* ======================================================
   v2.0.2 Visual & Sound FX Patch
   - Home clarity
   - Mascot clearer
   - Combo/TikTok-gift style effects
   ====================================================== */

.parade .mascot-item img,
.coach img,
.side-mascot img,
.name-card img,
.result img,
.about img {
  opacity: 1 !important;
  filter:
    drop-shadow(0 12px 10px rgba(15, 55, 120, .26))
    drop-shadow(0 0 8px rgba(255,255,255,.9)) !important;
}

.coach {
  z-index: 5;
}

#gameMascot {
  opacity: 1 !important;
  transform-origin: center bottom;
}

.jump {
  animation: mascotJumpAlive .9s cubic-bezier(.2, .9, .2, 1);
}

.super-jump {
  animation: mascotSuperJumpAlive 1.18s cubic-bezier(.2, .9, .2, 1);
}

.idle {
  animation: mascotBreath 2.1s infinite ease-in-out;
}

@keyframes mascotBreath {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-7px) scale(1.018); }
}

@keyframes mascotJumpAlive {
  0%,100% { transform: translateY(0) rotate(0) scale(1); }
  35% { transform: translateY(-42px) rotate(-4deg) scale(1.06); }
  60% { transform: translateY(-12px) rotate(4deg) scale(1.02); }
}

@keyframes mascotSuperJumpAlive {
  0%,100% { transform: translateY(0) rotate(0) scale(1); }
  28% { transform: translateY(-92px) rotate(-10deg) scale(1.12); }
  52% { transform: translateY(-46px) rotate(10deg) scale(1.08); }
  76% { transform: translateY(-12px) rotate(-3deg) scale(1.03); }
}

.big-effect {
  z-index: 20;
}

.big-effect.fire-mode b,
.big-effect.rocket-mode b,
.big-effect.crown-mode b,
.big-effect.rainbow-mode b,
.big-effect.legend-mode b {
  font-size: clamp(48px, 7vw, 92px);
  letter-spacing: 1px;
  text-shadow:
    0 7px 0 rgba(0,0,0,.25),
    0 0 18px rgba(255,255,255,.95),
    0 0 42px rgba(255,216,77,.95);
}

.center-rocket-show {
  position: absolute;
  left: 50%;
  bottom: -160px;
  transform: translateX(-50%);
  display: grid;
  justify-items: center;
  z-index: 35;
  animation: centerRocketLaunch 2.25s cubic-bezier(.18,.92,.25,1) forwards;
  pointer-events: none;
}

.center-rocket-show .rocket-body {
  font-size: clamp(112px, 16vw, 210px);
  filter:
    drop-shadow(0 20px 16px rgba(0,0,0,.38))
    drop-shadow(0 0 28px rgba(255,232,82,.95));
}

.center-rocket-show .rocket-label {
  margin-top: -18px;
  padding: 12px 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff5a24, #ffbf2e, #fff176);
  color: #7a2400;
  font-size: clamp(30px, 4vw, 58px);
  font-weight: 900;
  box-shadow: 0 10px 0 rgba(132,58,0,.45), 0 0 26px rgba(255,184,77,.9);
  text-shadow: 0 2px 0 rgba(255,255,255,.7);
}

@keyframes centerRocketLaunch {
  0% { bottom: -190px; opacity: 0; transform: translateX(-50%) scale(.55) rotate(-6deg); }
  22% { bottom: 32%; opacity: 1; transform: translateX(-50%) scale(1.08) rotate(0deg); }
  68% { bottom: 36%; opacity: 1; transform: translateX(-50%) scale(1.03) rotate(0deg); }
  100% { bottom: 118%; opacity: 0; transform: translateX(-50%) scale(.72) rotate(10deg); }
}

.rocket-smoke {
  position: absolute;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(190,220,255,.22) 70%, transparent);
  z-index: 30;
  animation: smokePuff 1.55s ease-out forwards;
}

@keyframes smokePuff {
  0% { transform: translateY(0) scale(.3); opacity: 0; }
  20% { opacity: .9; }
  100% { transform: translateY(-150px) scale(2.9); opacity: 0; }
}

.mini-rocket {
  position: absolute;
  bottom: -80px;
  font-size: 48px;
  z-index: 28;
  animation: miniRocketFly 1.55s ease-in forwards;
  filter: drop-shadow(0 0 18px rgba(255,240,120,.9));
}

@keyframes miniRocketFly {
  0% { transform: translateY(0) rotate(-10deg) scale(.7); opacity: 0; }
  18% { opacity: 1; }
  100% { transform: translateY(-115vh) rotate(18deg) scale(1.2); opacity: 0; }
}

.flame-pop {
  position: absolute;
  bottom: -40px;
  width: 30px;
  height: 60px;
  z-index: 26;
  border-radius: 60% 60% 45% 45%;
  background: radial-gradient(circle at 50% 75%, #fff176, #ff8c1a 40%, #ff3d00 70%, transparent 72%);
  animation: flameRise 1.2s ease-out forwards;
  filter: drop-shadow(0 0 18px rgba(255,90,24,.9));
}

@keyframes flameRise {
  0% { transform: translateY(0) scale(.45); opacity: 0; }
  15% { opacity: 1; }
  100% { transform: translateY(-58vh) scale(1.4); opacity: 0; }
}

.falling-crown {
  position: absolute;
  left: 50%;
  top: -160px;
  transform: translateX(-50%);
  font-size: clamp(120px, 16vw, 210px);
  z-index: 36;
  animation: crownDrop 2.1s cubic-bezier(.22,1,.28,1) forwards;
  filter: drop-shadow(0 18px 16px rgba(0,0,0,.3)) drop-shadow(0 0 30px rgba(255,216,77,.95));
}

@keyframes crownDrop {
  0% { top: -180px; opacity: 0; transform: translateX(-50%) scale(.5) rotate(-25deg); }
  35% { top: 18%; opacity: 1; transform: translateX(-50%) scale(1.18) rotate(8deg); }
  70% { top: 13%; opacity: 1; transform: translateX(-50%) scale(1) rotate(0); }
  100% { top: 10%; opacity: 0; transform: translateX(-50%) scale(.8) rotate(10deg); }
}

.rainbow-wave {
  position: absolute;
  inset: -20%;
  z-index: 18;
  background:
    radial-gradient(circle at 20% 40%, rgba(255,120,190,.55), transparent 20%),
    radial-gradient(circle at 80% 35%, rgba(100,215,255,.55), transparent 22%),
    radial-gradient(circle at 50% 70%, rgba(255,230,80,.45), transparent 25%),
    linear-gradient(120deg, rgba(255,0,150,.25), rgba(0,220,255,.25), rgba(255,220,0,.25));
  animation: rainbowPulse 2s ease forwards;
  pointer-events: none;
}

@keyframes rainbowPulse {
  0% { opacity: 0; transform: scale(.85) rotate(0); }
  30% { opacity: 1; transform: scale(1.02) rotate(2deg); }
  100% { opacity: 0; transform: scale(1.15) rotate(-2deg); }
}

.effect-rain {
  text-shadow:
    0 3px 0 rgba(0,0,0,.12),
    0 0 14px rgba(255,255,255,.95);
}

.screen-shake {
  animation: screenShakeV202 .52s;
}

@keyframes screenShakeV202 {
  10%, 90% { transform: translate3d(-2px, 1px, 0); }
  20%, 80% { transform: translate3d(4px, -2px, 0); }
  30%, 50%, 70% { transform: translate3d(-7px, 3px, 0); }
  40%, 60% { transform: translate3d(7px, -3px, 0); }
}


/* ======================================================
   v2.0.3 Home & Audio Polish
   ====================================================== */

/* แก้ตัวหนังสือ/การ์ดบังมาสคอต: แยกชั้น Home Hero กับ Mascot Parade */
.home-hero {
  position: relative;
  z-index: 4;
  margin-bottom: 2px !important;
}

.summary {
  position: relative;
  z-index: 4;
  margin-bottom: 0 !important;
}

.parade,
.mascot-parade {
  position: relative !important;
  z-index: 8 !important;
  min-height: 198px !important;
  height: 198px !important;
  margin-top: 6px !important;
  padding-top: 16px !important;
  border-radius: 30px;
  overflow: visible !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 65%, rgba(255,255,255,.28) 100%);
}

.parade::before,
.mascot-parade::before {
  content: "";
  position: absolute;
  left: 4%;
  right: 4%;
  bottom: 8px;
  height: 34px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(25,90,40,.20), transparent 70%);
  z-index: -1;
}

.mascot-item {
  position: relative !important;
  z-index: 10 !important;
}

.mascot-item img {
  opacity: 1 !important;
  width: 126px !important;
  height: 126px !important;
  filter:
    drop-shadow(0 15px 12px rgba(16, 65, 120, .35))
    drop-shadow(0 0 10px rgba(255,255,255,1)) !important;
}

.mascot-item span {
  position: relative;
  z-index: 13;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 6px 14px rgba(30,70,130,.15);
}

/* การ์ดด้านล่างไม่ดันขึ้นไปบังตัวละคร */
.dash {
  position: relative;
  z-index: 3;
  margin-top: 10px !important;
}

/* มาสคอตซ้ายให้ชัดขึ้น */
.side-mascot {
  position: relative;
  overflow: visible !important;
  background:
    radial-gradient(circle at 50% 38%, rgba(255,255,255,.38), transparent 54%),
    linear-gradient(160deg, rgba(69,128,255,.42), rgba(123,92,255,.32)) !important;
  border: 2px solid rgba(255,255,255,.22);
  box-shadow:
    inset 0 0 24px rgba(255,255,255,.12),
    0 12px 25px rgba(0,0,0,.18);
}

.side-mascot img,
#sideMascot {
  opacity: 1 !important;
  height: 124px !important;
  max-height: 124px !important;
  filter:
    drop-shadow(0 12px 10px rgba(0,0,0,.35))
    drop-shadow(0 0 12px rgba(255,255,255,1)) !important;
  transform-origin: center bottom;
  animation: sideMascotWave 2.6s infinite ease-in-out !important;
}

@keyframes sideMascotWave {
  0%,100% { transform: translateY(0) rotate(-1deg) scale(1); }
  45% { transform: translateY(-8px) rotate(3deg) scale(1.04); }
}

.audio-toggle.on {
  background: linear-gradient(135deg, #fff176, #7df2ba);
  color: #18422c;
  box-shadow: 0 0 16px rgba(255,241,118,.55), 0 8px 18px rgba(0,0,0,.15);
}

.audio-mini.muted {
  filter: grayscale(.2);
  opacity: .82;
}

/* ถ้าหน้าจอเล็ก ให้ parade ไม่ซ้อน */
@media(max-width:900px){
  .parade,
  .mascot-parade {
    min-height: 168px !important;
    height: 168px !important;
    padding-bottom: 12px;
  }
  .mascot-item img {
    width: 112px !important;
    height: 112px !important;
  }
}


/* ======================================================
   v2.0.4 UI & Feedback Fix
   ====================================================== */

/* 1) แก้หน้าตั้งชื่อ: ให้กล่องและช่องกรอกอยู่บนสุด ไม่โดนพื้นหลัง/overlay ทับ */
.name-screen,
#nameScreen {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.85), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(255,230,100,.45), transparent 22%),
    linear-gradient(180deg, #6ed8ff 0%, #dff7ff 52%, #c9f7a3 100%) !important;
  backdrop-filter: none !important;
}

.name-card {
  position: relative !important;
  z-index: 10000 !important;
  background: rgba(255,255,255,.98) !important;
  border: 4px solid rgba(255,255,255,.95) !important;
  box-shadow:
    0 24px 60px rgba(30,80,150,.28),
    0 0 0 10px rgba(255,255,255,.18) !important;
  overflow: visible !important;
}

.name-card::before,
.name-card::after {
  content: none !important;
  display: none !important;
}

.name-card input,
#playerNameInput {
  position: relative !important;
  z-index: 10001 !important;
  background: #fff !important;
  color: #24304f !important;
  opacity: 1 !important;
  border: 4px solid #7bc7ff !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.9),
    0 10px 22px rgba(60,110,180,.16) !important;
}

.name-card img {
  opacity: 1 !important;
  filter:
    drop-shadow(0 14px 12px rgba(30,70,140,.28))
    drop-shadow(0 0 10px rgba(255,255,255,1)) !important;
}

/* ถ้าถูกครอบด้วย opacity จาก parent ให้บังคับ nav/sidebar ไม่ลด opacity */
.side,
.sidebar {
  opacity: 1 !important;
}





/* ซ่อนลิงก์ mail แบบเดิมถ้ายังเหลือ */
#bugMail,
#ideaMail,
#loveMail {
  display: none !important;
}


/* ======================================================
   v2.0.5 Speech Bubble Fix
   แก้กล่องข้อความทับหน้ามาสคอตในหน้าเล่นเกม
   ====================================================== */

.coach,
.game-mascot-wrap {
  position: absolute !important;
  right: 3.5% !important;
  bottom: 12px !important;
  width: min(360px, 32vw) !important;
  min-width: 270px !important;
  text-align: center !important;
  z-index: 12 !important;
  overflow: visible !important;
  pointer-events: none;
}

.coach img,
.game-mascot-wrap img,
#gameMascot {
  position: relative !important;
  z-index: 14 !important;
  opacity: 1 !important;
  width: min(320px, 30vw) !important;
  max-width: 320px !important;
  filter:
    saturate(1.18)
    contrast(1.12)
    brightness(1.08)
    drop-shadow(0 18px 15px rgba(0,0,0,.38))
    drop-shadow(0 0 14px rgba(255,255,255,1)) !important;
}

/* กล่องข้อความย้ายไปอยู่เหนือหัวมาสคอต ไม่ทับหน้า */
#speechBubble,
.speech-bubble {
  position: absolute !important;
  left: 50% !important;
  top: -34px !important;
  transform: translate(-50%, -100%) !important;
  z-index: 18 !important;
  width: max-content !important;
  min-width: 190px !important;
  max-width: 310px !important;
  padding: 13px 18px !important;
  border-radius: 24px !important;
  background: rgba(255, 249, 221, .98) !important;
  color: #274277 !important;
  border: 3px solid rgba(255,255,255,.92) !important;
  box-shadow:
    0 14px 28px rgba(21,64,130,.23),
    0 0 0 5px rgba(255,255,255,.18) !important;
  font-size: clamp(15px, 1.4vw, 19px) !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
  text-align: center !important;
  white-space: normal !important;
  pointer-events: none !important;
}

/* หางกล่องข้อความ */
#speechBubble::after,
.speech-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -14px;
  transform: translateX(-50%) rotate(45deg);
  width: 22px;
  height: 22px;
  background: rgba(255, 249, 221, .98);
  border-right: 3px solid rgba(255,255,255,.92);
  border-bottom: 3px solid rgba(255,255,255,.92);
  border-radius: 4px;
}

/* กันพื้นที่ด้านบนของมาสคอต ไม่ให้บับเบิลชนขอบจอ */
.game .arena,
.game-arena {
  overflow: visible !important;
  padding-top: 36px !important;
}

/* ให้บับเบิลไม่แทรกเข้ากลางจอบนจอแคบ */
@media(max-width:900px){
  .coach,
  .game-mascot-wrap {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 78px !important;
    pointer-events: none;
  }

  #speechBubble,
  .speech-bubble {
    top: -16px !important;
    max-width: min(330px, 88vw) !important;
    font-size: 16px !important;
  }
}

/* บนจอกว้างมาก ให้บับเบิลขยับสูงขึ้นอีกนิด */
@media(min-width:1100px){
  #speechBubble,
  .speech-bubble {
    top: -46px !important;
  }
}


/* ======================================================
   v2.0.6 Android Mobile Fix
   แก้ปุ่มตั้งชื่อชน Navigation Bar / รองรับ Android landscape
   ====================================================== */

:root {
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

html,
body {
  min-height: 100%;
  min-height: 100dvh;
  overflow-x: hidden;
}

body {
  padding:
    var(--safe-top)
    var(--safe-right)
    max(var(--safe-bottom), 0px)
    var(--safe-left);
}

/* หน้าใส่ชื่อ: ให้เลื่อนในแนวตั้งได้และกันพื้นที่จาก navigation bar ของ Android */
.name-screen,
#nameScreen {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding:
    max(18px, env(safe-area-inset-top, 0px))
    max(14px, env(safe-area-inset-right, 0px))
    max(56px, calc(env(safe-area-inset-bottom, 0px) + 56px))
    max(14px, env(safe-area-inset-left, 0px)) !important;
  box-sizing: border-box !important;
}

.name-card {
  width: min(92vw, 520px) !important;
  max-height: calc(100dvh - 84px) !important;
  overflow-y: auto !important;
  padding: clamp(18px, 4vh, 36px) clamp(18px, 5vw, 40px) !important;
  margin: auto !important;
  box-sizing: border-box !important;
  transform: none !important;
}

.name-card img {
  width: clamp(82px, 18vh, 156px) !important;
  height: clamp(82px, 18vh, 156px) !important;
  margin-bottom: clamp(6px, 1.8vh, 16px) !important;
}

.name-card h1 {
  font-size: clamp(30px, 7vw, 56px) !important;
  margin: clamp(4px, 1.2vh, 12px) 0 !important;
  line-height: 1.05 !important;
}

.name-card p {
  margin: 0 0 clamp(12px, 2vh, 22px) !important;
  line-height: 1.35 !important;
}

.name-card input,
#playerNameInput {
  height: clamp(58px, 12vh, 82px) !important;
  min-height: 58px !important;
  font-size: clamp(24px, 6vw, 38px) !important;
  margin-bottom: clamp(12px, 2vh, 20px) !important;
}

.name-card button,
#startNameBtn,
#saveNameBtn,
#confirmNameBtn {
  min-height: 58px !important;
  height: auto !important;
  padding: 14px 22px !important;
  margin-bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
  position: relative !important;
  z-index: 10002 !important;
}

/* Android landscape / จอเตี้ย: ทำเป็น layout สองคอลัมน์ เพื่อไม่ให้ปุ่มหลุดใต้แถบมือถือ */
@media (orientation: landscape) and (max-height: 560px) {
  .name-screen,
  #nameScreen {
    align-items: flex-start !important;
    padding:
      max(10px, env(safe-area-inset-top, 0px))
      max(84px, calc(env(safe-area-inset-right, 0px) + 84px))
      max(34px, calc(env(safe-area-inset-bottom, 0px) + 34px))
      max(16px, env(safe-area-inset-left, 0px)) !important;
  }

  .name-card {
    width: min(88vw, 760px) !important;
    max-height: calc(100dvh - 44px) !important;
    display: grid !important;
    grid-template-columns: 150px minmax(250px, 1fr) !important;
    grid-template-areas:
      "img title"
      "img desc"
      "img input"
      "img button";
    column-gap: 24px !important;
    row-gap: 8px !important;
    align-items: center !important;
    padding: 18px 24px 24px !important;
    text-align: left !important;
  }

  .name-card img {
    grid-area: img;
    width: 128px !important;
    height: 128px !important;
    margin: 0 auto !important;
  }

  .name-card h1 {
    grid-area: title;
    font-size: clamp(30px, 6vh, 42px) !important;
    text-align: left !important;
  }

  .name-card p {
    grid-area: desc;
    font-size: clamp(15px, 3vh, 18px) !important;
    text-align: left !important;
    margin: 0 !important;
  }

  .name-card input,
  #playerNameInput {
    grid-area: input;
    height: 54px !important;
    min-height: 54px !important;
    font-size: 26px !important;
    margin: 0 !important;
  }

  .name-card button,
  #startNameBtn,
  #saveNameBtn,
  #confirmNameBtn {
    grid-area: button;
    min-height: 54px !important;
    width: 100% !important;
    margin: 0 0 max(10px, env(safe-area-inset-bottom, 0px)) 0 !important;
  }
}

/* มือถือแนวตั้ง: ป้องกันปุ่มชนแถบนำทางด้านล่าง */
@media (orientation: portrait) and (max-width: 600px) {
  .name-screen,
  #nameScreen {
    align-items: flex-start !important;
    padding-top: max(24px, env(safe-area-inset-top, 0px)) !important;
    padding-bottom: max(84px, calc(env(safe-area-inset-bottom, 0px) + 84px)) !important;
  }

  .name-card {
    max-height: calc(100dvh - 116px) !important;
  }
}

/* ถ้า Android เปิดแบบ landscape มีแถบนำทางด้านขวา ให้กันพื้นที่ไว้มากขึ้น */
@media (orientation: landscape) and (max-height: 500px) {
  .name-screen,
  #nameScreen {
    padding-right: max(96px, calc(env(safe-area-inset-right, 0px) + 96px)) !important;
  }
}


/* ======================================================
   v2.1.2 Clean App Reset CSS
   ====================================================== */

#nameScreen,
.name-screen {
  display: none !important;
}

#nameScreen.active:not(.hidden),
.name-screen.active:not(.hidden) {
  display: flex !important;
}

#nameScreen.hidden,
.name-screen.hidden,
#nameScreen[aria-hidden="true"],
.name-screen[aria-hidden="true"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

#app:not(.hidden),
.app:not(.hidden) {
  display: grid !important;
}

.nav,
[data-page],
#startBigBtn,
#playBtn,
button {
  pointer-events: auto;
}

.safe-version-badge,
#safeVersionBadge {
  position: fixed;
  right: max(8px, env(safe-area-inset-right, 0px));
  bottom: max(8px, env(safe-area-inset-bottom, 0px));
  z-index: 99999;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #274277;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 6px 15px rgba(25,65,130,.12);
  backdrop-filter: blur(8px);
  pointer-events: none !important;
  user-select: none;
}


/* ======================================================
   v2.1.3 Config Version Fix CSS
   ====================================================== */
.safe-version-badge,
#safeVersionBadge {
  position: fixed;
  right: max(8px, env(safe-area-inset-right, 0px));
  bottom: max(8px, env(safe-area-inset-bottom, 0px));
  z-index: 99999;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #274277;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 6px 15px rgba(25,65,130,.12);
  backdrop-filter: blur(8px);
  pointer-events: none !important;
  user-select: none;
}


/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Mobile combo text-only + timer waits for fade.
   ====================================================== */

#comboBadge.combo,
#comboBadge {
  position:absolute!important;
  left:50%!important;
  top:22%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%) scale(.92)!important;
  z-index:28!important;
  width:auto!important;
  min-width:0!important;
  max-width:96vw!important;
  padding:0!important;
  margin:0!important;
  border:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:none!important;
  opacity:0;
  filter:drop-shadow(0 7px 0 rgba(85,35,0,.45)) drop-shadow(0 0 18px rgba(255,220,70,.95));
}
#comboBadge.hidden{display:none!important;}
#comboBadge.combo-text-show{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:.32em;
  opacity:1;
  animation:comboTextFloatFade 1.24s ease-out forwards;
}
#comboBadge .combo-text-fire{font-size:clamp(34px,10vw,80px);line-height:1;}
#comboBadge .combo-text-main,
#comboBadge .combo-text-x{
  font-size:clamp(38px,11vw,94px);
  line-height:.92;
  font-weight:1000;
  letter-spacing:.02em;
  color:#ffd84d;
  -webkit-text-stroke:2px rgba(112,47,0,.72);
}
#comboBadge .combo-text-x{color:#fff4a3;}
@keyframes comboTextFloatFade{
  0%{opacity:0;transform:translate(-50%,-35%) scale(.58);}
  16%{opacity:1;transform:translate(-50%,-50%) scale(1.12);}
  54%{opacity:1;transform:translate(-50%,-62%) scale(1);}
  100%{opacity:0;transform:translate(-50%,-86%) scale(.84);}
}
@media(max-width:700px){
  #comboBadge{top:20%!important;}
  #comboBadge .combo-text-main,#comboBadge .combo-text-x{-webkit-text-stroke:1.4px rgba(112,47,0,.72);}
}

.safe-version-badge,#safeVersionBadge{
  position:fixed;
  right:max(8px,env(safe-area-inset-right,0px));
  bottom:max(8px,env(safe-area-inset-bottom,0px));
  z-index:99999;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:#274277;
  font-size:11px;
  font-weight:900;
  box-shadow:0 6px 15px rgba(25,65,130,.12);
  backdrop-filter:blur(8px);
  pointer-events:none!important;
  user-select:none;
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Update Manager UI
   ====================================================== */
.safe-version-badge,#safeVersionBadge{position:fixed;right:max(8px,env(safe-area-inset-right,0px));bottom:max(8px,env(safe-area-inset-bottom,0px));z-index:99999;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.72);color:#274277;font-size:11px;font-weight:900;box-shadow:0 6px 15px rgba(25,65,130,.12);backdrop-filter:blur(8px);pointer-events:none!important;user-select:none;}
.update-panel{position:fixed;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:max(38px,calc(env(safe-area-inset-bottom,0px) + 38px));z-index:99998;display:flex;justify-content:center;pointer-events:none;}
.update-panel.hidden{display:none!important;}
.update-panel-inner{pointer-events:auto;width:min(620px,100%);display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:12px;border-radius:24px;background:rgba(255,255,255,.94);color:#24304f;box-shadow:0 18px 45px rgba(25,65,130,.22);border:2px solid rgba(255,255,255,.85);backdrop-filter:blur(14px);}
.update-panel-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#dff7ff,#fff3a8);font-size:22px;}
.update-panel-text b{display:block;font-size:15px;font-weight:1000;}
.update-panel-text small{display:block;margin-top:2px;line-height:1.35;opacity:.76;font-weight:800;}
#updateNowBtn{min-height:42px;padding:0 14px;border-radius:16px;font-weight:1000;background:linear-gradient(135deg,#ffca3a,#ff8c42);color:#5b2600;box-shadow:0 8px 0 rgba(118,58,0,.28);}
#updateCloseBtn{width:38px;height:38px;border-radius:14px;background:rgba(40,70,120,.08);color:#30405f;font-size:24px;line-height:1;}
.update-panel.ready .update-panel-inner{border-color:rgba(255,199,58,.85);}
.update-panel.error .update-panel-inner{border-color:rgba(255,110,110,.85);}
.check-update-btn{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;min-height:48px;}
@media(max-width:640px){.update-panel{bottom:max(42px,calc(env(safe-area-inset-bottom,0px) + 42px));}.update-panel-inner{grid-template-columns:auto 1fr auto;border-radius:20px;}#updateCloseBtn{grid-column:3;grid-row:1;}#updateNowBtn{grid-column:1/-1;width:100%;}}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Safe Home Premium Scene + Mascot Idle Animation
   ====================================================== */
:root{--tma-card-cream:rgba(255,255,245,.92);}
body{background:radial-gradient(circle at 74% 12%,rgba(255,255,195,.78),transparent 28%),url('./assets/backgrounds/home_premium_scene.svg') center/cover fixed no-repeat!important;}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,rgba(43,133,255,.08),transparent 24%,transparent 76%,rgba(31,167,122,.08)),radial-gradient(circle at 18% 88%,rgba(255,235,108,.28),transparent 35%);}
.app{background:transparent!important;min-height:100dvh;}
.side{background:linear-gradient(180deg,rgba(20,83,176,.86),rgba(15,57,137,.76))!important;border:2px solid rgba(255,255,255,.18);box-shadow:0 22px 50px rgba(12,59,128,.25),inset 0 1px 0 rgba(255,255,255,.25);backdrop-filter:blur(18px);}
.side-mascot{background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.08))!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 12px 24px rgba(18,72,150,.24);overflow:visible!important;}
.side-mascot img{animation:owlGuideWave 3.2s ease-in-out infinite;transform-origin:50% 90%;filter:drop-shadow(0 12px 12px rgba(16,62,130,.24));}
.nav{background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.08))!important;border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 7px 16px rgba(10,45,110,.12);}
.nav.active{background:linear-gradient(180deg,#9b7bff,#6c55df)!important;box-shadow:0 9px 0 rgba(52,46,143,.30),0 14px 22px rgba(31,56,150,.20)!important;}
.content{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.04))!important;}
.content::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:url('./assets/backgrounds/home_premium_scene.svg') center/cover no-repeat;opacity:.88;}
.content::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03) 44%,rgba(255,238,149,.16)),radial-gradient(circle at 68% 18%,rgba(255,255,255,.38),transparent 22%);}
.page{position:relative;z-index:1;}
.premium-logo{width:min(360px,42vw);min-height:100px;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;transform:translateY(-4px);}
.premium-logo img{width:100%;height:auto;display:block;filter:drop-shadow(0 13px 14px rgba(16,68,150,.25));animation:logoFloat 4.4s ease-in-out infinite;}
.premium-logo b,.premium-logo span,.premium-logo small{display:none!important;}
.top .glass,.glass.gift,#giftBtn{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(203,238,255,.88))!important;border:2px solid rgba(255,255,255,.85)!important;color:#244c91!important;box-shadow:0 9px 0 rgba(51,111,190,.20),0 14px 26px rgba(33,83,162,.18)!important;font-weight:1000;}
.home-hero{background:transparent!important;box-shadow:none!important;border:0!important;gap:22px;}
.hello{background:var(--tma-card-cream)!important;border:3px solid rgba(255,255,255,.92)!important;box-shadow:0 14px 28px rgba(34,92,164,.18),inset 0 2px 0 rgba(255,255,255,.55);border-radius:24px!important;}
#startBigBtn.start,.start{background:linear-gradient(180deg,#ffe974,#ffba27 58%,#ff9827)!important;color:#774002!important;border:4px solid rgba(255,255,255,.82)!important;box-shadow:0 11px 0 #d87516,0 20px 34px rgba(158,95,12,.30),inset 0 2px 0 rgba(255,255,255,.58)!important;text-shadow:0 2px 0 rgba(255,255,255,.32);}
.summary article,.dash article,.cards article,.about{background:rgba(255,255,247,.84)!important;border:2px solid rgba(255,255,255,.78)!important;box-shadow:0 12px 28px rgba(30,80,150,.15),inset 0 2px 0 rgba(255,255,255,.50);backdrop-filter:blur(8px);}
.parade{position:relative;padding:12px 8px 2px;isolation:isolate;overflow:visible!important;}
.parade::before{content:"";position:absolute;left:4%;right:4%;bottom:8px;height:42px;z-index:-1;background:radial-gradient(ellipse at center,rgba(74,120,80,.26),rgba(74,120,80,0) 72%);filter:blur(2px);}
.mascot-item{position:relative;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;transform-origin:50% 100%;animation:mascotStageBob 3.4s ease-in-out infinite;}
.mascot-item img{width:clamp(74px,8.3vw,118px)!important;height:auto!important;object-fit:contain;filter:drop-shadow(0 14px 10px rgba(72,65,45,.26));transform-origin:50% 92%;animation:mascotIdleWave 2.9s ease-in-out infinite;will-change:transform;}
.mascot-item span{background:rgba(255,255,255,.70);border:1px solid rgba(255,255,255,.80);color:#254a80!important;font-weight:1000;box-shadow:0 4px 12px rgba(33,80,145,.12);}
.mascot-item::after{content:"";position:absolute;left:18%;right:18%;bottom:11px;height:14px;z-index:-1;background:radial-gradient(ellipse,rgba(40,80,60,.28),transparent 70%);animation:mascotShadow 2.9s ease-in-out infinite;}
.mascot-item:nth-child(2){animation-delay:.18s;}.mascot-item:nth-child(3){animation-delay:.34s;}.mascot-item:nth-child(4){animation-delay:.52s;}.mascot-item:nth-child(5){animation-delay:.70s;}.mascot-item:nth-child(6){animation-delay:.88s;}.mascot-item:nth-child(7){animation-delay:1.06s;}.mascot-item:nth-child(8){animation-delay:1.24s;}
.mascot-item:nth-child(2) img{animation-name:mascotHop;animation-delay:.2s;}.mascot-item:nth-child(3) img{animation-name:mascotSoftSway;animation-delay:.45s;}.mascot-item:nth-child(4) img{animation-name:mascotWaveHand;animation-delay:.62s;}.mascot-item:nth-child(5) img{animation-name:mascotEarWiggle;animation-delay:.82s;}.mascot-item:nth-child(6) img{animation-name:mascotTallSway;animation-delay:1s;}.mascot-item:nth-child(7) img{animation-name:mascotTailBounce;animation-delay:1.18s;}.mascot-item:nth-child(8) img{animation-name:mascotPuppyBounce;animation-delay:1.36s;}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotate(-.5deg);}50%{transform:translateY(-6px) rotate(.5deg);}}
@keyframes owlGuideWave{0%,100%{transform:translateY(0) rotate(0deg) scale(1);}18%{transform:translateY(-4px) rotate(-3deg) scale(1.02);}32%{transform:translateY(0) rotate(3deg) scale(1);}48%{transform:translateY(-3px) rotate(-2deg) scale(1.01);}64%{transform:translateY(0) rotate(1deg) scale(1);}}
@keyframes mascotStageBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
@keyframes mascotIdleWave{0%,100%{transform:translateY(0) rotate(0deg) scale(1);}35%{transform:translateY(-8px) rotate(-2deg) scale(1.025);}62%{transform:translateY(-3px) rotate(2deg) scale(1.01);}}
@keyframes mascotHop{0%,100%{transform:translateY(0) scale(1);}36%{transform:translateY(-14px) scale(1.035,.98);}58%{transform:translateY(0) scale(.99,1.03);}}
@keyframes mascotSoftSway{0%,100%{transform:rotate(0deg) translateY(0);}40%{transform:rotate(-3deg) translateY(-6px);}70%{transform:rotate(3deg) translateY(-2px);}}
@keyframes mascotWaveHand{0%,100%{transform:rotate(0deg) translateY(0);}30%{transform:rotate(5deg) translateY(-6px);}50%{transform:rotate(-4deg) translateY(-8px);}72%{transform:rotate(3deg) translateY(-2px);}}
@keyframes mascotEarWiggle{0%,100%{transform:translateY(0) rotate(0deg);}28%{transform:translateY(-5px) rotate(-2deg) scale(1.02);}48%{transform:translateY(-8px) rotate(2deg) scale(1.025);}68%{transform:translateY(-3px) rotate(-1deg);}}
@keyframes mascotTallSway{0%,100%{transform:translateY(0) rotate(0deg);}35%{transform:translateY(-7px) rotate(2deg);}70%{transform:translateY(-2px) rotate(-2deg);}}
@keyframes mascotTailBounce{0%,100%{transform:translateY(0) rotate(0deg) scale(1);}30%{transform:translateY(-8px) rotate(-3deg) scale(1.025);}56%{transform:translateY(-2px) rotate(3deg) scale(1.01);}}
@keyframes mascotPuppyBounce{0%,100%{transform:translateY(0) scale(1);}30%{transform:translateY(-10px) scale(1.035);}52%{transform:translateY(-2px) scale(1);}70%{transform:translateY(-6px) scale(1.02);}}
@keyframes mascotShadow{0%,100%{transform:scaleX(1);opacity:.28;}50%{transform:scaleX(.78);opacity:.16;}}
@media(max-width:900px){.premium-logo{width:min(320px,58vw);min-height:72px;}.mascot-item img{width:clamp(58px,11vw,88px)!important;}}
@media(max-width:700px){.premium-logo{width:min(260px,62vw);min-height:58px;}.mascot-item img{width:clamp(48px,12vw,76px)!important;}}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Platform Layout Fix
   Purpose: Desktop/Mac/tablet/mobile scrolling + accessible play button.
   ====================================================== */

/* Global scroll safety: the page must never trap content outside the viewport */
html,
body {
  width: 100%;
  min-height: 100%;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto;
}

body {
  min-height: 100dvh !important;
}

/* App shell: allow vertical growth and scrolling on desktop browsers */
.app {
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Main content must scroll when page content is taller than viewport */
.content {
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  padding-bottom: max(120px, calc(env(safe-area-inset-bottom, 0px) + 120px)) !important;
}

/* Each page gets bottom breathing room so action buttons never disappear */
.page {
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: max(120px, calc(env(safe-area-inset-bottom, 0px) + 120px)) !important;
}

/* Setup page is content-heavy: it must always be scrollable and readable */
#setupPage {
  min-height: 100dvh !important;
  overflow: visible !important;
}

#setupPage header {
  position: relative;
  z-index: 2;
}

#setupPage .settings {
  align-items: stretch;
  margin-bottom: 96px !important;
}

/* Desktop/Mac: keep the Play button visible while scrolling setup */
#setupPage #playBtn {
  position: sticky !important;
  bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;
  z-index: 50 !important;
  width: min(760px, 100%) !important;
  margin: 22px auto 8px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 76px !important;
  border-radius: 28px !important;
  pointer-events: auto !important;
}

/* Prevent decorative overlays from blocking clicks */
.content::before,
.content::after,
body::before,
#fxLayer,
.parade::before,
.mascot-item::after {
  pointer-events: none !important;
}

/* Side menu remains usable on desktop; content can scroll independently */
@media (min-width: 901px) {
  .app {
    display: grid !important;
    grid-template-columns: var(--side-w, 180px) minmax(0, 1fr);
    align-items: stretch;
  }

  .side {
    position: sticky !important;
    top: 0 !important;
    align-self: start !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .content {
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    padding-top: 18px !important;
  }

  #setupPage {
    padding-bottom: 160px !important;
  }

  #setupPage .modes {
    grid-template-columns: repeat(4, minmax(170px, 1fr)) !important;
  }

  #setupPage .settings {
    grid-template-columns: repeat(5, minmax(180px, 1fr)) !important;
  }
}

/* Medium screens: improve setup layout and keep controls reachable */
@media (max-width: 1180px) and (min-width: 701px) {
  #setupPage .modes {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }

  #setupPage .settings {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
  }

  #setupPage #playBtn {
    width: min(680px, 100%) !important;
  }
}

/* Mobile/tablet: top nav can remain, but content must scroll naturally */
@media (max-width: 900px) {
  .app {
    min-height: 100dvh !important;
    height: auto !important;
    overflow: visible !important;
  }

  .side {
    position: sticky !important;
    top: 0 !important;
    z-index: 80 !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  .content {
    min-height: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: max(130px, calc(env(safe-area-inset-bottom, 0px) + 130px)) !important;
  }

  .page {
    padding-bottom: max(130px, calc(env(safe-area-inset-bottom, 0px) + 130px)) !important;
  }

  #setupPage #playBtn {
    bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    min-height: 72px !important;
    width: min(620px, calc(100vw - 32px)) !important;
  }
}

/* Very small screens: make setup button compact enough not to cover too much */
@media (max-width: 520px) {
  #setupPage .settings {
    margin-bottom: 82px !important;
  }

  #setupPage #playBtn {
    min-height: 64px !important;
    border-radius: 24px !important;
    font-size: clamp(22px, 7vw, 34px) !important;
  }
}

/* Game page should fit but still allow emergency scroll if browser bars reduce height */
#gamePage {
  min-height: auto !important;
  overflow: visible !important;
}

.game .arena {
  max-height: none !important;
}

/* Update panel should not block the main play button too aggressively */
.update-panel {
  bottom: max(96px, calc(env(safe-area-inset-bottom, 0px) + 96px)) !important;
}

.update-panel.hidden {
  display: none !important;
}

/* Make all important buttons clearly clickable above overlays */
#startBigBtn,
#playBtn,
.nav,
.mode,
.answer,
.glass,
button {
  touch-action: manipulation;
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Premium Asset Cleanup
   Purpose: Transparent cleaned assets + responsive placement without cropping.
   ====================================================== */

/* Real premium art background */
body {
  background:
    radial-gradient(circle at 72% 14%, rgba(255,255,210,.28), transparent 28%),
    url('./assets/backgrounds/home_premium_landscape.webp') center/cover fixed no-repeat !important;
}

.content::before {
  background: url('./assets/backgrounds/home_premium_landscape.webp') center/cover no-repeat !important;
  opacity: .94 !important;
}

.content::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 48%, rgba(255,248,180,.07)),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,.18), transparent 25%) !important;
}

/* Clean logo: object itself, no checkerboard block */
.premium-logo {
  width: min(430px, 44vw) !important;
  min-height: 118px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: visible !important;
}

.premium-logo img {
  width: 100% !important;
  max-width: 430px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 14px 16px rgba(20,57,125,.25)) !important;
}

.premium-logo b,
.premium-logo span,
.premium-logo small {
  display: none !important;
}

/* Use cleaned image buttons, contain instead of stretch/crop */
#homePage .top .glass {
  position: relative !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center !important;
  color: transparent !important;
  text-shadow: none !important;
  padding: 0 !important;
  border-radius: 28px !important;
  min-height: 78px !important;
}

#homePage .top .glass:not(.gift) {
  width: clamp(230px, 21vw, 330px) !important;
  background-image: url('./assets/ui/top_button_mission.webp') !important;
}

#homePage .top .glass.gift,
#giftBtn {
  width: clamp(250px, 22vw, 350px) !important;
  background-image: url('./assets/ui/top_button_gift.webp') !important;
}

#giftBtn i {
  display: none !important;
}
#giftBtn.has-chest i { display: grid !important; }

/* Clean start button: contain and keep full button visible on mobile */
#homePage #startBigBtn.start {
  background: url('./assets/ui/start_button.webp') center/contain no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  color: transparent !important;
  text-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
  min-height: clamp(104px, 11vw, 154px) !important;
  border-radius: 40px !important;
}

#homePage #startBigBtn.start small {
  display: none !important;
}

#homePage #startBigBtn.start:hover {
  transform: translateY(-4px) scale(1.012) !important;
  filter: brightness(1.03) saturate(1.02);
}

/* Desktop composition */
@media (min-width: 901px) {
  #homePage .top {
    grid-template-columns: minmax(320px, 1fr) auto auto !important;
    align-items: center !important;
  }

  #homePage .home-hero {
    grid-template-columns: minmax(340px, .62fr) minmax(420px, .9fr) !important;
    align-items: stretch !important;
  }

  #homePage #startBigBtn.start {
    width: 100% !important;
  }
}

/* iPad/tablet */
@media (max-width: 900px) {
  body {
    background-position: center top !important;
  }

  .content::before {
    background-position: center top !important;
  }

  .premium-logo {
    width: min(360px, 68vw) !important;
    min-height: 94px !important;
  }

  #homePage .top .glass:not(.gift),
  #homePage .top .glass.gift,
  #giftBtn {
    width: min(540px, 100%) !important;
    min-height: 74px !important;
  }

  #homePage #startBigBtn.start {
    min-height: clamp(96px, 17vw, 142px) !important;
    width: 100% !important;
  }
}

/* Mobile */
@media (max-width: 520px) {
  .premium-logo {
    width: min(300px, 72vw) !important;
    min-height: 82px !important;
  }

  #homePage .top .glass:not(.gift),
  #homePage .top .glass.gift,
  #giftBtn {
    width: 100% !important;
    min-height: 62px !important;
    background-size: contain !important;
  }

  #homePage #startBigBtn.start {
    min-height: 92px !important;
    background-size: contain !important;
  }
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Home Portrait Layout Fix
   Purpose: Dedicated mobile/tablet portrait structure; keep landscape/desktop mostly unchanged.
   ====================================================== */

/* Safety: no horizontal scroll caused by art assets */
html,
body,
.app,
.content,
.page {
  max-width: 100% !important;
}

body {
  overflow-x: hidden !important;
}

#homePage {
  overflow-x: hidden !important;
}

#homePage * {
  box-sizing: border-box;
}

/* Home: default desktop/landscape remains mostly from previous release */

/* Tablet portrait and mobile portrait shared rules */
@media (orientation: portrait), (max-width: 900px) {
  .content {
    overflow-x: hidden !important;
    padding-left: clamp(12px, 2.8vw, 28px) !important;
    padding-right: clamp(12px, 2.8vw, 28px) !important;
  }

  #homePage {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(12px, 2vw, 20px) !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
  }

  /* Top becomes a portrait stack:
     logo centered, then mission/gift buttons centered below it. */
  #homePage .top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "logo"
      "mission"
      "gift" !important;
    justify-items: center !important;
    align-items: center !important;
    gap: clamp(10px, 1.9vw, 18px) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  #homePage .premium-logo,
  #homePage .logo {
    grid-area: logo !important;
    justify-self: center !important;
    width: min(72vw, 390px) !important;
    max-width: min(72vw, 390px) !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  #homePage .premium-logo img,
  #homePage .logo img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  #homePage .top .glass {
    justify-self: center !important;
    margin: 0 auto !important;
    transform: none !important;
    flex: none !important;
    max-width: 100% !important;
    background-size: contain !important;
    background-position: center !important;
  }

  #homePage .top .glass:not(.gift) {
    grid-area: mission !important;
  }

  #homePage .top .glass.gift,
  #giftBtn {
    grid-area: gift !important;
  }

  /* Portrait hero becomes one column:
     greeting then start button. */
  #homePage .home-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "hello"
      "start" !important;
    justify-items: center !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: clamp(12px, 2.4vw, 20px) !important;
  }

  #homePage .hello {
    grid-area: hello !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  #homePage #startBigBtn.start {
    grid-area: start !important;
    justify-self: center !important;
    width: 100% !important;
    max-width: min(92vw, 720px) !important;
    margin: 0 auto !important;
    background-size: contain !important;
    background-position: center !important;
    transform: none !important;
  }

  /* Stats should not push wider than viewport */
  #homePage .summary {
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    gap: clamp(12px, 2vw, 18px) !important;
  }

  #homePage .summary article {
    min-width: 0 !important;
    width: 100% !important;
  }

  /* Mascot strip: keep accessible, no page-width overflow */
  #homePage .parade {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    justify-content: flex-start !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  #homePage .mascot-item {
    flex: 0 0 auto !important;
    scroll-snap-align: center;
  }
}

/* Tablet portrait: balanced, centered, no lopsided right overflow */
@media (orientation: portrait) and (min-width: 700px) and (max-width: 1100px) {
  #homePage .top {
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
      "logo logo"
      "mission gift" !important;
    column-gap: clamp(18px, 3vw, 36px) !important;
    row-gap: clamp(12px, 2vw, 18px) !important;
  }

  #homePage .premium-logo,
  #homePage .logo {
    width: min(44vw, 400px) !important;
    max-width: 400px !important;
  }

  #homePage .top .glass:not(.gift),
  #homePage .top .glass.gift,
  #giftBtn {
    width: min(40vw, 390px) !important;
    max-width: 390px !important;
    min-height: clamp(72px, 9vw, 96px) !important;
  }

  #homePage .home-hero {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }

  #homePage .hello {
    max-width: 100% !important;
    min-height: 150px !important;
  }

  #homePage #startBigBtn.start {
    width: min(72vw, 760px) !important;
    max-width: 760px !important;
    min-height: clamp(112px, 13vw, 160px) !important;
  }

  #homePage .summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #homePage .summary article:nth-child(3) {
    grid-column: 1 / -1;
    max-width: min(54vw, 560px) !important;
    justify-self: start;
  }

  #homePage .parade {
    justify-content: flex-start !important;
  }

  #homePage .mascot-item img {
    width: clamp(72px, 9vw, 104px) !important;
  }
}

/* Mobile portrait: strict single column and smaller art */
@media (orientation: portrait) and (max-width: 699px) {
  .content {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  #homePage {
    gap: 12px !important;
  }

  #homePage .top {
    gap: 10px !important;
  }

  #homePage .premium-logo,
  #homePage .logo {
    width: min(70vw, 300px) !important;
    max-width: 300px !important;
  }

  #homePage .top .glass:not(.gift),
  #homePage .top .glass.gift,
  #giftBtn {
    width: min(84vw, 360px) !important;
    max-width: 360px !important;
    min-height: 58px !important;
    background-size: contain !important;
  }

  #homePage .hello {
    min-height: 150px !important;
    padding: clamp(18px, 5vw, 28px) !important;
  }

  #homePage .hello h2 {
    font-size: clamp(26px, 7vw, 36px) !important;
  }

  #homePage .hello p {
    font-size: clamp(32px, 8vw, 44px) !important;
  }

  #homePage #startBigBtn.start {
    width: min(92vw, 390px) !important;
    max-width: 390px !important;
    min-height: clamp(82px, 23vw, 112px) !important;
    background-size: contain !important;
  }

  #homePage .summary {
    grid-template-columns: 1fr !important;
  }

  #homePage .summary article {
    min-height: 122px !important;
  }

  #homePage .parade {
    padding-top: 6px !important;
    padding-bottom: 10px !important;
  }

  #homePage .mascot-item img {
    width: clamp(54px, 15vw, 74px) !important;
  }

  #homePage .mascot-item span {
    font-size: 11px !important;
    white-space: nowrap;
  }
}

/* Narrow phones: mission/gift/start remain inside viewport */
@media (max-width: 390px) and (orientation: portrait) {
  #homePage .premium-logo,
  #homePage .logo {
    width: min(74vw, 270px) !important;
  }

  #homePage .top .glass:not(.gift),
  #homePage .top .glass.gift,
  #giftBtn {
    width: min(88vw, 330px) !important;
    min-height: 54px !important;
  }

  #homePage #startBigBtn.start {
    width: min(92vw, 350px) !important;
    min-height: 84px !important;
  }
}

/* Landscape and desktop: preserve successful composition, but prevent accidental overflow */
@media (orientation: landscape) and (min-width: 901px) {
  #homePage .top,
  #homePage .home-hero,
  #homePage .summary {
    max-width: 100% !important;
  }

  #homePage #startBigBtn.start {
    background-size: contain !important;
    background-position: center !important;
  }
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Mobile Portrait Final Polish
   Purpose: Fix final right-edge clipping and breathing space on Home portrait.
   ====================================================== */

/* Final safety: no Home child may force horizontal overflow */
@media (orientation: portrait) {
  #homePage,
  #homePage .top,
  #homePage .home-hero,
  #homePage .summary,
  #homePage .hello,
  #homePage #startBigBtn.start {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  #homePage .hello,
  #homePage .summary article {
    border-radius: 28px !important;
    overflow: hidden !important;
    clip-path: inset(0 round 28px);
  }
}

/* Mobile portrait: put all main blocks inside one centered rail */
@media (orientation: portrait) and (max-width: 699px) {
  .content {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  #homePage {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: max(14px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(14px, env(safe-area-inset-right, 0px)) !important;
    gap: 16px !important;
  }

  #homePage .top {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #homePage .home-hero {
    width: 100% !important;
    gap: 20px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #homePage .hello {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    border-radius: 28px !important;
    min-height: 150px !important;
    box-shadow:
      0 12px 24px rgba(30,80,150,.14),
      inset 0 2px 0 rgba(255,255,255,.58) !important;
  }

  #homePage #startBigBtn.start {
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px auto 0 !important;
    min-height: clamp(90px, 25vw, 118px) !important;
    background-size: contain !important;
    background-position: center !important;
  }

  #homePage .summary {
    width: 100% !important;
    max-width: 100% !important;
    gap: 14px !important;
  }

  #homePage .summary article {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 26px !important;
  }

  #homePage .parade {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Narrow Android/iPhone widths: reduce inner rail a touch so right edge never squares off */
@media (orientation: portrait) and (max-width: 430px) {
  #homePage {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #homePage .hello {
    border-radius: 26px !important;
    clip-path: inset(0 round 26px);
  }

  #homePage #startBigBtn.start {
    min-height: clamp(86px, 24vw, 108px) !important;
  }
}

/* Tablet portrait: keep centered rail but let it breathe wider */
@media (orientation: portrait) and (min-width: 700px) and (max-width: 1100px) {
  #homePage {
    width: min(100%, 980px) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(20px, 3vw, 34px) !important;
    padding-right: clamp(20px, 3vw, 34px) !important;
  }

  #homePage .hello {
    border-radius: 30px !important;
    overflow: hidden !important;
    clip-path: inset(0 round 30px);
  }

  #homePage .home-hero {
    gap: clamp(18px, 2.6vw, 28px) !important;
  }

  #homePage #startBigBtn.start {
    margin-top: 2px !important;
  }
}

/* Preserve desktop/landscape but avoid inherited clip artifacts */
@media (orientation: landscape) {
  #homePage .hello,
  #homePage .summary article {
    clip-path: none !important;
  }
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: App Icon Pack
   Purpose: App install icon assets for PWA/Android/iPad/iPhone.
   ====================================================== */

/* App icon pack is linked through manifest.json and index.html.
   No layout changes in this release. */

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Audio Foundation UI
   Purpose: Background music + voice pack ready controls.
   ====================================================== */

.audio-control-panel {
  position: fixed;
  right: max(12px, env(safe-area-inset-right, 0px));
  bottom: max(54px, calc(env(safe-area-inset-bottom, 0px) + 54px));
  z-index: 99997;
  display: grid;
  justify-items: end;
  gap: 8px;
  pointer-events: none;
}

#audioQuickToggle {
  pointer-events: auto;
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(206,238,255,.88));
  color: #254a80;
  border: 2px solid rgba(255,255,255,.85);
  box-shadow: 0 8px 20px rgba(32, 74, 140, .18), inset 0 1px 0 rgba(255,255,255,.6);
  font-size: 22px;
}

.audio-popover {
  pointer-events: auto;
  width: min(330px, calc(100vw - 28px));
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  color: #24304f;
  box-shadow: 0 18px 45px rgba(25,65,130,.22);
  border: 2px solid rgba(255,255,255,.86);
  backdrop-filter: blur(14px);
}

.audio-popover.hidden {
  display: none !important;
}

.audio-popover b {
  display: block;
  font-size: 16px;
  font-weight: 1000;
  margin-bottom: 8px;
}

.audio-popover label {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  font-weight: 900;
  font-size: 13px;
}

.audio-popover input[type="range"] {
  width: 130px;
}

#voiceTestBtn {
  width: 100%;
  min-height: 42px;
  margin-top: 8px;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffca3a, #ff8c42);
  color: #5b2600;
  font-weight: 1000;
  box-shadow: 0 7px 0 rgba(118,58,0,.24);
}

@media (max-width: 700px) {
  .audio-control-panel {
    right: max(12px, env(safe-area-inset-right, 0px));
    bottom: max(58px, calc(env(safe-area-inset-bottom, 0px) + 58px));
  }

  #audioQuickToggle {
    width: 44px;
    height: 44px;
    border-radius: 16px;
  }
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Safe Data + Rank Dashboard Foundation
   ====================================================== */
.rank-dashboard-fab{position:fixed;left:max(12px,env(safe-area-inset-left,0px));bottom:max(54px,calc(env(safe-area-inset-bottom,0px) + 54px));z-index:99996;width:52px;height:52px;border-radius:20px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.88);background:linear-gradient(135deg,#ffe86a,#ffb547 48%,#ff7b54);box-shadow:0 10px 22px rgba(152,78,0,.24),inset 0 2px 0 rgba(255,255,255,.58);font-size:24px}
.rank-dashboard-panel{position:fixed;inset:0;z-index:99998;overflow:auto;-webkit-overflow-scrolling:touch;padding:max(16px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:radial-gradient(circle at 16% 8%,rgba(255,240,119,.55),transparent 28%),radial-gradient(circle at 88% 18%,rgba(80,205,255,.35),transparent 28%),linear-gradient(180deg,rgba(66,160,255,.92),rgba(168,226,255,.96))}
.rank-dashboard-panel.hidden{display:none!important}
.rank-card{width:min(980px,100%);margin:0 auto 14px;padding:16px;border-radius:28px;background:rgba(255,255,255,.92);border:2px solid rgba(255,255,255,.86);box-shadow:0 16px 42px rgba(35,90,150,.18);color:#26385f}
.rank-hero{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-height:92px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(222,244,255,.92))}
.rank-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:16px;background:rgba(255,255,255,.85);color:#35527a;font-size:24px;font-weight:1000}
.rank-medal{width:62px;height:62px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#fff176,#ffb74d);font-size:32px;box-shadow:inset 0 2px 0 rgba(255,255,255,.7),0 8px 14px rgba(255,152,0,.22)}
.rank-hero h2{margin:0;font-size:clamp(24px,4vw,36px);font-weight:1000}.rank-hero p{margin:4px 0 0;font-weight:800;opacity:.78}
.rank-grid{width:min(980px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rank-grid .rank-card{width:100%;margin:0;min-height:128px}
.rank-card b{display:block;font-size:14px;opacity:.78;margin-bottom:8px}.rank-card strong{display:block;font-size:clamp(28px,5vw,42px);font-weight:1000;color:#145dd6}.rank-card small{display:block;margin-top:6px;font-weight:800;opacity:.7}
.my-rank-card{grid-column:span 2;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,246,190,.94))}.my-rank-card h3{margin:0 0 8px;font-size:clamp(22px,4vw,34px);font-weight:1000;color:#8b4b00}
.rank-level-row,.rank-row-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:1000}.rank-xpbar{width:100%;height:16px;margin-top:10px;border-radius:999px;background:rgba(31,80,150,.14);overflow:hidden}.rank-xpbar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#4ecb71,#ffe65c,#ff9e43);transition:width .35s ease}
.badge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.badge-item{min-height:116px;padding:10px;border-radius:20px;text-align:center;display:grid;gap:4px;align-content:start;background:rgba(240,246,255,.88);border:2px solid rgba(255,255,255,.7)}.badge-item span{font-size:26px}.badge-item b{margin:0;font-size:12px;line-height:1.25;opacity:1}.badge-item small{margin:0;font-size:10px;line-height:1.25}.badge-item.locked{filter:grayscale(.75);opacity:.55}.badge-item.unlocked{background:linear-gradient(180deg,#fff9ce,#e8f9ff);box-shadow:inset 0 2px 0 rgba(255,255,255,.75)}.safe-actions button{min-height:42px;border-radius:16px;padding:0 14px;font-weight:1000;color:#13513a;background:linear-gradient(135deg,#caffbf,#9bf6ff);box-shadow:0 6px 0 rgba(22,120,90,.18)}
@media(max-width:900px){.rank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-rank-card{grid-column:1/-1}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.rank-dashboard-fab{width:46px;height:46px;border-radius:17px;bottom:max(58px,calc(env(safe-area-inset-bottom,0px) + 58px))}.rank-grid{grid-template-columns:1fr}.rank-hero{grid-template-columns:1fr;text-align:center;justify-items:center;padding-top:44px}.rank-card{border-radius:24px;padding:14px}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-level-row,.rank-row-title{align-items:flex-start;flex-direction:column;gap:4px}}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Safe Data + Dashboard Wiring Hotfix
   Purpose: Expose engines globally and read actual Storage progress/history.
   ====================================================== */

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Patch Notes + Math Logic Fix
   Purpose: Patch notes UI and safe math precedence for mixed operators.
   ====================================================== */
.patch-notes-fab {
  position: fixed;
  left: max(12px, env(safe-area-inset-left, 0px));
  bottom: max(112px, calc(env(safe-area-inset-bottom, 0px) + 112px));
  z-index: 99996;
  width: 48px;
  height: 48px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255,255,255,.88);
  background: linear-gradient(135deg,#c9f2ff,#8bd3ff 48%,#7aa7ff);
  box-shadow: 0 10px 22px rgba(35,90,150,.22), inset 0 2px 0 rgba(255,255,255,.58);
  font-size: 22px;
}
.patch-notes-panel {
  position: fixed;
  inset: 0;
  z-index: 99999;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: max(16px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(24px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));
  background:
    radial-gradient(circle at 15% 8%,rgba(255,241,117,.48),transparent 30%),
    radial-gradient(circle at 84% 16%,rgba(125,205,255,.42),transparent 30%),
    linear-gradient(180deg,rgba(61,154,255,.94),rgba(188,232,255,.96));
}
.patch-notes-panel.hidden { display:none!important; }
.patch-notes-card {
  width: min(980px,100%);
  margin: 0 auto 14px;
  padding: 16px;
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  border: 2px solid rgba(255,255,255,.86);
  box-shadow: 0 16px 42px rgba(35,90,150,.18);
  color:#26385f;
}
.patch-notes-head {
  position: relative;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:14px;
}
.patch-notes-icon {
  width:60px;height:60px;border-radius:22px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#e0f7ff,#9bd4ff);
  font-size:30px;
}
.patch-notes-close {
  position:absolute;
  right:12px;top:10px;
  width:38px;height:38px;border-radius:16px;
  background:rgba(255,255,255,.88);
  color:#35527a;font-size:24px;font-weight:1000;
}
.patch-notes-head h2 { margin:0;font-size:clamp(24px,4vw,36px);font-weight:1000; }
.patch-notes-head p { margin:4px 0 0;font-weight:800;opacity:.78; }
.patch-version-row {
  display:flex;justify-content:space-between;gap:12px;align-items:center;
  color:#0f66d8;font-weight:1000;
}
.patch-notes-card h3 { margin:8px 0;font-size:20px;font-weight:1000;color:#1f3766; }
.patch-notes-card ul { margin:8px 0 0;padding-left:22px; }
.patch-notes-card li { margin:5px 0;font-weight:800;line-height:1.35; }
@media(max-width:560px){
  .patch-notes-fab {
    width:44px;height:44px;border-radius:16px;
    bottom:max(112px,calc(env(safe-area-inset-bottom,0px) + 112px));
  }
  .patch-notes-head {
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    padding-top:42px;
  }
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Dashboard Meaning + Badge Balance + Backup Restore + Mixed Math Fix
   ====================================================== */
.rank-help-text {
  margin: 4px 0 12px;
  color: rgba(38,56,95,.74);
  font-weight: 800;
  line-height: 1.45;
}
.badge-item em {
  font-style: normal;
  font-size: 10px;
  font-weight: 1000;
  color: #5a6d92;
  background: rgba(255,255,255,.7);
  border-radius: 999px;
  padding: 2px 7px;
  justify-self: center;
}
.badge-item.unlocked.bronze { background: linear-gradient(180deg,#fff2d9,#e8f9ff); }
.badge-item.unlocked.silver { background: linear-gradient(180deg,#f3f7ff,#e8f9ff); }
.badge-item.unlocked.gold { background: linear-gradient(180deg,#fff5b8,#e8f9ff); }
.badge-item.unlocked.legendary { background: linear-gradient(180deg,#ffe1ff,#fff7c7 55%,#e8f9ff); }
#safeRestoreBtn {
  background: linear-gradient(135deg,#ffe8a3,#ffd1dc);
  color: #7a3b1a;
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Math Core Fix + Backup Settings Move
   ====================================================== */
.backup-settings-card {
  margin-top: 18px;
  text-align: left;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(232,255,238,.94));
}
.backup-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0 8px;
  font-weight: 1000;
  color: #26385f;
}
.backup-status-row span {
  background: rgba(255,255,255,.78);
  border-radius: 999px;
  padding: 6px 12px;
  color: #13513a;
}
.backup-help {
  color: rgba(38,56,95,.76);
  font-weight: 800;
  line-height: 1.45;
}
.backup-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 12px 0;
}
.backup-actions .glass {
  min-height: 42px;
  border-radius: 16px;
  padding: 0 14px;
  font-weight: 1000;
}
.backup-actions .danger-soft {
  background: linear-gradient(135deg,#ffe8a3,#ffd1dc);
  color: #7a3b1a;
}


/* ======================================================
   Phase 2.0 Screen Router Safe Restore
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   ====================================================== */
.phase-card{background:linear-gradient(180deg,#ffffffd8,#dff5ffcc);border-radius:18px;padding:12px;text-align:center;color:#274277;box-shadow:0 10px 20px rgba(0,0,0,.14);font-weight:900}
.phase-card b{display:block;font-size:14px}
.phase-card small{display:block;font-size:10px;opacity:.85}
.phase-grid article{min-height:150px;display:grid;gap:8px;align-content:center}
.phase-grid article span{font-size:16px;font-weight:800;color:#40516f}
.phase-grid article small{display:inline-flex;width:max-content;margin:auto;background:linear-gradient(135deg,#7b5cff,#66b8ff);color:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:900}
.phase-input{width:min(520px,100%);border:4px solid #d8edff;border-radius:22px;padding:14px;text-align:center;font-size:24px;font-weight:900;margin:12px auto;display:block;background:#fff}
.nickname-card .primary{max-width:520px;margin:0 auto}
.safe-version-badge{z-index:999}
@media(max-width:900px){.phase-card{min-width:150px}}

/* ======================================================
 * TMA Kids Edition v2
 * Release: 2.6.50 Central Version Registry Fix
 * Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
 * Player Cloud Sync / Student Login UI
 * ====================================================== */
.identity-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.identity-card{display:grid;gap:10px;text-align:center;align-content:start}
.identity-card img{width:120px;height:120px;object-fit:contain;margin:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.12))}
.identity-card .phase-input{font-size:20px;margin:4px auto;text-align:center}
.identity-status{margin-top:18px;padding:18px;border-radius:24px;background:rgba(255,255,255,.82);box-shadow:0 14px 32px rgba(57,104,160,.13);display:grid;gap:8px}
.identity-status code{white-space:normal;word-break:break-word;background:#eef7ff;border-radius:14px;padding:10px;color:#284260;font-weight:800}
.identity-quick-login{margin-top:10px;width:100%;justify-content:center}
@media (max-width:860px){.identity-layout{grid-template-columns:1fr}.identity-card img{width:96px;height:96px}}


/* v2.4.2 Remember student login checkbox retained */
.remember-login{display:flex;align-items:center;gap:.55rem;justify-content:flex-start;width:min(100%,560px);margin:.4rem auto .7rem;color:#24385f;font-weight:800;font-size:clamp(.9rem,1.4vw,1.05rem)}
.remember-login input{width:1.15rem;height:1.15rem;accent-color:#7b4dff}

/* ==========================================================
 * TMA Kids Edition v2
 * Release: 2.6.50 Central Version Registry Fix
 * Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
 * Worksheet Lite + Question Engine v2 UI
 * ========================================================== */
.worksheet-maker{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}.worksheet-panel{background:var(--card);border-radius:22px;padding:18px;box-shadow:var(--shadow);display:grid;gap:10px}.worksheet-panel label{display:grid;gap:6px;font-weight:900;text-align:left}.phase-input,.worksheet-panel select{border:3px solid #d8edff;border-radius:16px;padding:11px 12px;background:#fff;font-weight:800;color:var(--ink)}.worksheet-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.worksheet-checks label{background:#fff;border-radius:14px;padding:8px}.worksheet-preview-wrap{overflow:auto;background:rgba(255,255,255,.45);border-radius:22px;padding:12px;box-shadow:var(--shadow)}.worksheet-paper{position:relative;width:794px;min-height:1123px;margin:auto;background:#fff;color:#1d2b48;border-radius:8px;padding:48px;box-shadow:0 18px 50px rgba(0,0,0,.18);overflow:hidden}.worksheet-watermark:before{content:'TMA';position:absolute;inset:0;display:grid;place-items:center;font-size:170px;font-weight:900;color:rgba(47,120,255,.055);transform:rotate(-24deg);pointer-events:none}.worksheet-head{position:relative;display:flex;justify-content:space-between;gap:18px;border-bottom:4px solid #d9e9ff;padding-bottom:14px;margin-bottom:14px}.worksheet-head h1{margin:0;font-size:30px;color:#16449b}.worksheet-head p{margin:4px 0 0;font-weight:800}.worksheet-brand{width:92px;height:92px;border-radius:24px;background:linear-gradient(135deg,#7b5cff,#66b8ff);color:#fff;display:grid;place-items:center;text-align:center;font-size:28px;font-weight:900;line-height:.9;box-shadow:0 12px 22px rgba(47,120,255,.22)}.worksheet-brand small{font-size:10px}.worksheet-student-row{display:flex;justify-content:space-between;gap:16px;background:#f1f7ff;border-radius:14px;padding:12px 14px;font-weight:900;margin:12px 0 18px}.worksheet-list{position:relative;margin:0;padding-left:28px;font-size:18px;font-weight:800}.worksheet-two-cols{columns:2;column-gap:34px}.worksheet-one-col{columns:1}.worksheet-list li{break-inside:avoid;margin:0 0 16px;padding:0 0 10px;border-bottom:1px dotted #cbd8ea}.worksheet-q{display:block;line-height:1.45}.worksheet-line{display:block;margin-top:8px;color:#6a7896}.worksheet-choices{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:7px;font-size:15px;color:#41506b}.worksheet-answer-key{position:relative;margin-top:18px;border-top:3px solid #d9e9ff;padding-top:10px;font-size:14px}.worksheet-answer-key h3{margin:0 0 6px;color:#16449b}.worksheet-license{position:absolute;left:48px;right:48px;bottom:24px;text-align:center;font-size:12px;color:#7a86a0;border-top:1px solid #e8eef8;padding-top:8px}.worksheet-empty{display:grid;place-items:center;height:760px;color:#8795ad;font-size:24px;font-weight:900;text-align:center}.mode{min-height:168px}.modes{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.worksheet-maker{grid-template-columns:1fr}.worksheet-paper{width:100%;min-height:900px;padding:28px}.worksheet-two-cols{columns:1}.worksheet-student-row{display:grid}.modes{grid-template-columns:1fr 1fr}}
@media print{body *{visibility:hidden!important}.worksheet-paper,.worksheet-paper *{visibility:visible!important}.worksheet-paper{position:absolute!important;left:0!important;top:0!important;width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:none!important;border-radius:0!important;padding:14mm!important}.worksheet-preview-wrap{padding:0!important}.worksheet-license{left:14mm!important;right:14mm!important;bottom:8mm!important}.side,#toast,#fxLayer,.safe-version-badge,#patchNotesFab{display:none!important}@page{size:A4;margin:0}}

/* ======================================================
   v2.4.2 Screen Router Mobile Scroll Fix
   - Only one screen is visible at a time
   - Hard reset scroll position on page/menu changes
   ====================================================== */
.page:not(.active){display:none!important;}
.page.active{display:block!important;}
.content{scroll-behavior:auto!important;}
body[data-page="game"] .content,
body[data-page="worksheet"] .content,
body[data-page="setup"] .content{scroll-padding-top:0!important;}
@media(max-width:900px){
  .content{overflow:visible!important;padding-top:0!important;}
  .page.active{min-height:calc(100vh - 120px);}
  .game.page.active{display:block!important;min-height:calc(100vh - 120px);}
}

/* ======================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Mobile Layout + Worksheet Fit Fix
   ====================================================== */

/* Critical: earlier portrait rules used #homePage display:flex!important.
   This override is more specific, so inactive screens are truly hidden. */
main#app .content > .page:not(.active),
main#app .content > #homePage.page:not(.active),
main#app .content > #loginPage.page:not(.active),
main#app .content > #nicknamePage.page:not(.active),
main#app .content > #learningPage.page:not(.active),
main#app .content > #setupPage.page:not(.active),
main#app .content > #missionPage.page:not(.active),
main#app .content > #battlePage.page:not(.active),
main#app .content > #leaderboardPage.page:not(.active),
main#app .content > #shopPage.page:not(.active),
main#app .content > #teacherPage.page:not(.active),
main#app .content > #worksheetPage.page:not(.active),
main#app .content > #aboutPage.page:not(.active),
main#app .content > #gamePage.page:not(.active),
main#app .content > #resultPage.page:not(.active) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

main#app .content > .page.active {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (orientation: portrait), (max-width: 900px) {
  main#app,
  main#app .content,
  main#app .content > .page.active {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    transform: none !important;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .side {
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    padding-left: max(10px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(10px, env(safe-area-inset-right, 0px)) !important;
  }

  .nav {
    flex: 0 0 auto !important;
    min-width: clamp(105px, 30vw, 150px) !important;
    max-width: 42vw !important;
    white-space: normal !important;
  }

  .content {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* Worksheet preview must fit the phone/tablet viewport. Print CSS still restores A4. */
.worksheet-preview-wrap {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.worksheet-paper {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.worksheet-head,
.worksheet-student-row,
.worksheet-list,
.worksheet-list li,
.worksheet-q,
.worksheet-choices,
.worksheet-answer-key,
.worksheet-license {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.worksheet-list li {
  padding-right: 4px !important;
}

@media (max-width: 1000px) {
  .worksheet-preview-wrap {
    padding: 8px !important;
  }

  .worksheet-paper {
    width: 100% !important;
    min-width: 0 !important;
    min-height: auto !important;
    padding: clamp(18px, 5vw, 30px) !important;
    border-radius: 22px !important;
  }

  .worksheet-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .worksheet-brand {
    width: 72px !important;
    height: 72px !important;
    font-size: 20px !important;
  }

  .worksheet-head h1 {
    font-size: clamp(22px, 7vw, 34px) !important;
    line-height: 1.15 !important;
  }

  .worksheet-list {
    padding-left: 22px !important;
    font-size: clamp(15px, 4.3vw, 18px) !important;
  }

  .worksheet-two-cols,
  .worksheet-one-col {
    columns: 1 !important;
  }

  .worksheet-choices {
    grid-template-columns: 1fr !important;
  }

  .worksheet-license {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin-top: 24px !important;
  }
}

/* ======================================================
 * TMA Kids Edition v2
 * Release: 2.6.50 Central Version Registry Fix
 * Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
 * Purpose: Choice control, multi-step question, explanation lite
 * ====================================================== */
.result-review{margin:18px auto 8px;display:grid;gap:10px;text-align:left;max-width:720px}.result-review h3{margin:6px 0 2px;color:#16449b;font-size:24px}.review-card{background:#fff;border:2px solid #d9e9ff;border-radius:18px;padding:12px 14px;display:grid;gap:5px;box-shadow:0 8px 20px rgba(21,64,130,.08)}.review-card b{color:#7b5cff}.review-card .review-q{font-weight:900;line-height:1.45}.review-card small{color:#64718d}.review-card em{font-style:normal;background:#f6f9ff;border-radius:12px;padding:8px 10px;color:#24304f}.review-pass{text-align:center}.phase-input,select.phase-input{max-width:100%;min-width:0}.worksheet-answer-key p{margin:4px 0 6px;line-height:1.35;break-inside:avoid}.worksheet-choices span{overflow-wrap:anywhere;word-break:break-word}@media(max-width:640px){.result-review{padding:0 2px}.review-card{font-size:14px}.settings select.phase-input{font-size:14px;padding:8px}.worksheet-answer-key p{font-size:12px}}

/* =========================================================
 * v2.6.50 — Worksheet A4 Official Layout
 * A4 portrait/landscape, TH Sarabun New 18pt, logo + mascot watermark
 * ========================================================= */
.legacy-hidden{display:none!important}
.worksheet-maker{grid-template-columns:minmax(280px,380px) minmax(0,1fr)}
.worksheet-stack{display:grid;gap:18px;justify-items:center;width:100%;min-width:0;background:transparent;box-shadow:none;border-radius:0;padding:0;margin:0;overflow:visible}
.worksheet-stack>.worksheet-empty{background:#fff;border-radius:18px;box-shadow:var(--shadow);width:min(100%,210mm);min-height:420px}
.worksheet-paper{box-sizing:border-box;font-family:"TH Sarabun New","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;font-size:18pt!important;line-height:1.18;position:relative;background:#fff;color:#111827;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.18);overflow:hidden;padding:14mm!important;break-after:page;page-break-after:always;max-width:100%}
.worksheet-paper.worksheet-portrait{width:210mm;min-height:297mm;aspect-ratio:210/297}
.worksheet-paper.worksheet-landscape{width:297mm;min-height:210mm;aspect-ratio:297/210}
.worksheet-title-block{padding-left:16mm;min-width:0}.worksheet-head{border-bottom:1.4pt solid #111827!important;padding-bottom:5mm!important;margin-bottom:4mm!important;align-items:flex-start;position:relative;z-index:2}.worksheet-head h1{font-family:"TH Sarabun New","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;font-size:24pt!important;line-height:1;margin:0;color:#111827!important}.worksheet-head p{font-size:16pt!important;font-weight:700!important;color:#263142!important;line-height:1.08;margin:2mm 0 0!important}.worksheet-brand{font-family:Arial,sans-serif!important;width:20mm!important;height:20mm!important;min-width:20mm;border-radius:5mm!important;font-size:18pt!important;background:linear-gradient(135deg,#7b5cff,#66b8ff)!important;color:#fff!important;box-shadow:none!important}.worksheet-brand small{font-size:6pt!important}.worksheet-student-row{position:relative;z-index:2;display:grid!important;grid-template-columns:2fr .7fr .7fr 1fr;gap:5mm;background:transparent!important;border:1pt solid #9ca3af;border-radius:0!important;padding:2.5mm 3mm!important;margin:0 0 5mm!important;font-size:18pt!important;font-weight:700!important}.worksheet-list{position:relative;z-index:2;font-family:"TH Sarabun New","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;font-size:18pt!important;font-weight:700!important;line-height:1.18!important;color:#111827;margin:0!important;padding-left:8mm!important}.worksheet-two-cols{columns:2;column-gap:11mm}.worksheet-one-col{columns:1}.worksheet-list li{break-inside:avoid;page-break-inside:avoid;margin:0 0 3.6mm!important;padding:0 0 2.2mm!important;border-bottom:.5pt dotted #9ca3af!important}.worksheet-q{display:block;line-height:1.2!important;overflow-wrap:anywhere;word-break:break-word}.worksheet-line{display:block;margin-top:1.5mm;color:#111827!important;font-weight:500}.worksheet-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1mm 5mm;margin-top:1.5mm;font-size:17pt!important;color:#111827!important}.worksheet-choices span{overflow-wrap:anywhere;word-break:break-word}.worksheet-answer-key{position:relative;z-index:2;break-inside:avoid;margin-top:5mm!important;border-top:1pt solid #111827!important;padding-top:2mm!important;font-size:15pt!important;line-height:1.12!important}.worksheet-answer-key h3{font-size:18pt!important;margin:0 0 2mm!important;color:#111827!important}.worksheet-answer-key p{margin:0 0 1mm!important;break-inside:avoid}.worksheet-license{font-family:"TH Sarabun New","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;position:absolute;left:14mm!important;right:14mm!important;bottom:7mm!important;z-index:2;text-align:center;font-size:12pt!important;color:#4b5563!important;border-top:.5pt solid #9ca3af!important;padding-top:1.5mm!important}.worksheet-logo-watermark{position:absolute;z-index:0;left:8mm;top:6mm;width:27mm;height:auto;opacity:.075;filter:grayscale(20%);pointer-events:none}.worksheet-mascot-watermark{position:absolute;z-index:0;height:auto;opacity:.07;filter:grayscale(10%) saturate(.85);pointer-events:none}.worksheet-paper.worksheet-landscape .worksheet-title-block{padding-left:18mm}.worksheet-paper.worksheet-landscape .worksheet-logo-watermark{width:30mm}.worksheet-paper.worksheet-landscape .worksheet-list{font-size:18pt!important}.worksheet-paper.worksheet-landscape .worksheet-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.worksheet-preview-wrap{overflow:auto;max-width:100%;padding:16px!important;background:rgba(255,255,255,.5);border-radius:22px;box-shadow:var(--shadow)}.worksheet-preview-wrap .worksheet-paper{transform-origin:top center}@media(max-width:920px){.worksheet-maker{grid-template-columns:1fr}.worksheet-preview-wrap{padding:10px!important}.worksheet-paper.worksheet-portrait,.worksheet-paper.worksheet-landscape{width:100%;min-height:auto;aspect-ratio:auto;padding:22px!important}.worksheet-title-block{padding-left:50px}.worksheet-logo-watermark{left:8px;top:8px;width:46px}.worksheet-head{display:flex!important;gap:10px!important}.worksheet-head h1{font-size:28px!important}.worksheet-head p{font-size:18px!important}.worksheet-brand{width:56px!important;height:56px!important;min-width:56px!important;border-radius:16px!important;font-size:20px!important}.worksheet-brand small{font-size:7px!important}.worksheet-student-row{grid-template-columns:1fr 1fr;font-size:18px!important;gap:6px!important}.worksheet-list{font-size:19px!important;padding-left:26px!important}.worksheet-two-cols,.worksheet-one-col{columns:1!important}.worksheet-choices{font-size:17px!important;grid-template-columns:1fr 1fr!important}.worksheet-license{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:24px;font-size:12px!important}.worksheet-mascot-watermark{opacity:.04!important}}
@media print{html,body{width:100%!important;background:#fff!important}body *{visibility:hidden!important}.worksheet-stack,.worksheet-stack *,.worksheet-paper,.worksheet-paper *{visibility:visible!important}.worksheet-preview-wrap{position:absolute!important;left:0!important;top:0!important;width:100%!important;padding:0!important;margin:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}.worksheet-stack{display:block!important;width:auto!important;margin:0!important;padding:0!important}.worksheet-paper{position:relative!important;left:auto!important;top:auto!important;margin:0!important;box-shadow:none!important;border-radius:0!important;max-width:none!important;overflow:hidden!important}.worksheet-paper.worksheet-portrait{width:210mm!important;min-height:297mm!important;padding:14mm!important}.worksheet-paper.worksheet-landscape{width:297mm!important;min-height:210mm!important;padding:12mm 14mm!important}.worksheet-paper:last-child{break-after:auto;page-break-after:auto}.side,#toast,#fxLayer,.safe-version-badge,#patchNotesFab,.patch-notes-panel,.worksheet-panel{display:none!important}.worksheet-paper.worksheet-portrait{page:worksheetPortrait}.worksheet-paper.worksheet-landscape{page:worksheetLandscape}@page worksheetPortrait{size:A4 portrait;margin:0}@page worksheetLandscape{size:A4 landscape;margin:0}}

/* =========================================================
   v2.6.50 Worksheet Final Polish + Patch Mark Recovery
   - True A4 page preview / print
   - 3D logo header
   - Header mascot badge instead of random watermark
   - Patch Notes history card
   ========================================================= */
.patch-history-item{background:rgba(255,255,255,.72);border:1px solid rgba(102,184,255,.28);border-radius:20px;padding:14px 16px;margin:12px 0;box-shadow:0 10px 24px rgba(20,68,146,.08)}
.patch-history-item.current{border-color:rgba(123,92,255,.45);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(239,247,255,.8))}
.patch-history-item h3{font-size:22px!important;margin:8px 0 6px!important;color:#143c78!important}
.patch-history-item h4{font-size:15px;margin:10px 0 2px;color:#6b45e8;font-weight:1000}
.patch-version-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:rgba(225,241,255,.85);border-radius:14px;padding:8px 10px}.patch-version-row b{font-size:20px;color:#112b54}.patch-version-row span{font-size:12px;color:#506280;font-weight:900;word-break:break-all}

.worksheet-stack{display:grid!important;gap:18px!important;justify-items:center!important;width:100%!important;min-width:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important;overflow:visible!important}
.worksheet-preview-wrap{overflow:auto!important;max-width:100%!important;max-height:calc(100vh - 130px)!important;padding:16px!important;background:rgba(255,255,255,.52)!important;border-radius:22px!important;box-shadow:var(--shadow)!important}
.worksheet-paper{box-sizing:border-box!important;font-family:"TH Sarabun New","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;font-size:18pt!important;line-height:1.16!important;position:relative!important;background:#fff!important;color:#111827!important;border-radius:8px!important;box-shadow:0 18px 50px rgba(0,0,0,.18)!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;max-width:none!important;min-width:0!important;flex:0 0 auto!important}
.worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:14mm!important;aspect-ratio:210/297!important}
.worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:12mm 14mm!important;aspect-ratio:297/210!important}
.worksheet-head{display:flex!important;justify-content:space-between!important;gap:8mm!important;border-bottom:1.4pt solid #111827!important;padding-bottom:4mm!important;margin-bottom:4mm!important;align-items:flex-start!important;position:relative!important;z-index:3!important}.worksheet-title-block{padding-left:16mm!important;min-width:0!important;flex:1 1 auto!important}.worksheet-head h1{font-size:24pt!important;line-height:1!important;margin:0!important;color:#111827!important;font-weight:1000!important}.worksheet-head p{font-size:15pt!important;font-weight:900!important;color:#263142!important;line-height:1.08!important;margin:2mm 0 0!important;word-break:break-word!important}.worksheet-brand{display:none!important}.worksheet-brand-logo{display:block!important;width:24mm!important;height:auto!important;object-fit:contain!important;flex:0 0 auto!important;position:relative!important;z-index:4!important}.worksheet-paper.worksheet-landscape .worksheet-brand-logo{width:26mm!important}.worksheet-student-row,.worksheet-list,.worksheet-answer-key,.worksheet-license{position:relative!important;z-index:3!important}.worksheet-list{font-size:18pt!important;line-height:1.16!important}.worksheet-list li{break-inside:avoid!important;page-break-inside:avoid!important;margin:0 0 2.8mm!important;padding:0 0 1.6mm!important;border-bottom:.45pt dotted #b7c0cf!important}.worksheet-choices{font-size:16.5pt!important;gap:.8mm 5mm!important}.worksheet-answer-key-page{font-size:16pt!important;line-height:1.18!important}.worksheet-answer-key-page p{font-size:15.5pt!important;margin:0 0 1.2mm!important}.worksheet-logo-watermark{position:absolute!important;z-index:1!important;left:7mm!important;top:5mm!important;width:25mm!important;height:auto!important;opacity:.075!important;filter:grayscale(10%) saturate(.85)!important;pointer-events:none!important}.worksheet-mascot-watermark{position:absolute!important;z-index:1!important;height:auto!important;opacity:.085!important;filter:grayscale(8%) saturate(.75)!important;pointer-events:none!important}.worksheet-paper.worksheet-landscape .worksheet-logo-watermark{width:28mm!important}.worksheet-license{position:absolute!important;left:14mm!important;right:14mm!important;bottom:7mm!important;text-align:center!important;font-size:12pt!important;color:#4b5563!important;border-top:.5pt solid #9ca3af!important;padding-top:1.3mm!important;background:rgba(255,255,255,.68)!important}
@media(max-width:920px){.worksheet-maker{grid-template-columns:1fr!important}.worksheet-preview-wrap{padding:10px!important;overflow:auto!important}.worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:14mm!important}.worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:12mm 14mm!important}.worksheet-head{display:flex!important}.worksheet-head h1{font-size:24pt!important}.worksheet-head p{font-size:15pt!important}.worksheet-brand-logo{width:24mm!important}.worksheet-student-row{grid-template-columns:2fr .7fr .7fr 1fr!important;font-size:18pt!important;gap:5mm!important}.worksheet-list{font-size:18pt!important;padding-left:8mm!important}.worksheet-two-cols{columns:2!important}.worksheet-one-col{columns:1!important}.worksheet-choices{font-size:16.5pt!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.worksheet-license{position:absolute!important;left:14mm!important;right:14mm!important;bottom:7mm!important;margin-top:0!important;font-size:12pt!important}.worksheet-mascot-watermark{opacity:.075!important}}
@media print{html,body{width:100%!important;background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}.worksheet-stack,.worksheet-stack *,.worksheet-paper,.worksheet-paper *{visibility:visible!important}.worksheet-preview-wrap{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-height:none!important;padding:0!important;margin:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}.worksheet-stack{display:block!important;width:auto!important;margin:0!important;padding:0!important}.worksheet-paper{position:relative!important;left:auto!important;top:auto!important;margin:0!important;box-shadow:none!important;border-radius:0!important;max-width:none!important;overflow:hidden!important}.worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:14mm!important}.worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:12mm 14mm!important}.worksheet-paper:last-child{break-after:auto!important;page-break-after:auto!important}.worksheet-paper.worksheet-portrait{page:worksheetPortrait}.worksheet-paper.worksheet-landscape{page:worksheetLandscape}@page worksheetPortrait{size:A4 portrait;margin:0}@page worksheetLandscape{size:A4 landscape;margin:0}.worksheet-logo-watermark{opacity:.055!important}.worksheet-mascot-watermark{opacity:.055!important}.worksheet-brand-logo{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}}

/* =========================================================
   v2.6.50 — Worksheet Final Polish + Patch Mark Recovery
   Final override: stable A4 grid, no random watermark layer, header mascot badge
   ========================================================= */
.worksheet-print-main{margin-top:10px!important;box-shadow:0 10px 24px rgba(21,64,130,.18)!important}
.worksheet-print-help{margin-top:8px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.72);border:1px dashed rgba(47,120,255,.35);font-size:13px;font-weight:800;color:#334155;line-height:1.45}
.worksheet-logo-watermark,.worksheet-mascot-watermark{display:none!important}
.worksheet-paper{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;font-family:"TH Sarabun New","TH Sarabun New","Sarabun",Tahoma,sans-serif!important;font-size:var(--ws-font,18pt)!important;line-height:1.28!important;overflow:hidden!important;box-sizing:border-box!important;background:#fff!important;color:#111827!important}
.worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:12mm 14mm 10mm!important}
.worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:10mm 14mm 9mm!important}
.worksheet-header-zone{display:grid!important;grid-template-columns:24mm minmax(0,1fr) 28mm!important;gap:5mm!important;align-items:center!important;border-bottom:1.2pt solid #111827!important;padding:0 0 3mm!important;margin:0!important;position:relative!important;z-index:3!important}
.worksheet-paper.worksheet-landscape .worksheet-header-zone{grid-template-columns:22mm minmax(0,1fr) 30mm!important}
.worksheet-left-badge{display:grid!important;place-items:center!important;min-width:0!important}.worksheet-header-mascot{display:block!important;width:22mm!important;height:22mm!important;object-fit:contain!important;filter:drop-shadow(0 2mm 2mm rgba(30,64,175,.12))!important}.worksheet-header-mascot-spacer{width:22mm;height:22mm}.worksheet-title-block{padding-left:0!important;text-align:center!important;min-width:0!important}.worksheet-head h1{font-size:24pt!important;line-height:1.08!important;margin:0!important}.worksheet-head p{font-size:14.5pt!important;line-height:1.18!important;margin:1.4mm 0 0!important;font-weight:900!important}.worksheet-brand-logo{display:block!important;width:26mm!important;max-height:22mm!important;object-fit:contain!important;justify-self:end!important;align-self:center!important}.worksheet-body-zone{min-height:0!important;overflow:hidden!important;padding:3.5mm 0 1.5mm!important;position:relative!important;z-index:3!important}.worksheet-footer-zone,.worksheet-license{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin:0!important;text-align:center!important;font-size:11.5pt!important;line-height:1.15!important;color:#475569!important;border-top:.55pt solid #9ca3af!important;padding-top:1.5mm!important;background:transparent!important;z-index:3!important}.worksheet-student-row{display:grid!important;grid-template-columns:2fr .7fr .7fr 1fr!important;gap:4mm!important;font-size:calc(var(--ws-font,18pt) * .92)!important;line-height:1.25!important;margin:0 0 3mm!important}.worksheet-list{font-size:var(--ws-font,18pt)!important;line-height:1.28!important;margin:0!important;padding-left:7mm!important}.worksheet-list li{break-inside:avoid!important;page-break-inside:avoid!important;margin:0 0 2.2mm!important;padding:0 0 1.4mm!important;border-bottom:.45pt dotted #c3cad6!important}.worksheet-q{display:block!important;line-height:1.28!important}.worksheet-line{display:block!important;line-height:1.3!important;margin-top:1mm!important;white-space:nowrap!important}.worksheet-choices{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.6mm 5mm!important;font-size:calc(var(--ws-font,18pt) * .92)!important;line-height:1.23!important;margin-top:.8mm!important}.worksheet-paper.worksheet-landscape .worksheet-choices{grid-template-columns:repeat(3,minmax(0,1fr))!important}.worksheet-answer-key-page{font-size:calc(var(--ws-font,18pt) * .9)!important;line-height:1.24!important}.worksheet-answer-key-page h3{font-size:calc(var(--ws-font,18pt) * 1.05)!important;margin:0 0 2mm!important}.worksheet-answer-key-page p{font-size:calc(var(--ws-font,18pt) * .88)!important;line-height:1.22!important;margin:0 0 1.2mm!important;break-inside:avoid!important}
@media(max-width:920px){.worksheet-preview-wrap{overflow:auto!important;max-height:calc(100vh - 115px)!important}.worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:12mm 14mm 10mm!important}.worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:10mm 14mm 9mm!important}.worksheet-student-row{grid-template-columns:2fr .7fr .7fr 1fr!important;font-size:calc(var(--ws-font,18pt) * .92)!important}.worksheet-list{font-size:var(--ws-font,18pt)!important}.worksheet-two-cols{columns:2!important}.worksheet-one-col{columns:1!important}.worksheet-license{position:relative!important;font-size:11.5pt!important}}
@media print{html,body{width:100%!important;background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}.worksheet-preview-wrap,.worksheet-stack,.worksheet-stack *,.worksheet-paper,.worksheet-paper *{visibility:visible!important}.worksheet-preview-wrap{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-height:none!important;padding:0!important;margin:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}.worksheet-stack{display:block!important;width:auto!important;margin:0!important;padding:0!important}.worksheet-paper{display:grid!important;position:relative!important;left:auto!important;top:auto!important;margin:0!important;box-shadow:none!important;border-radius:0!important;max-width:none!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}.worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:12mm 14mm 10mm!important}.worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:10mm 14mm 9mm!important}.worksheet-paper:last-child{break-after:auto!important;page-break-after:auto!important}.worksheet-paper.worksheet-portrait{page:worksheetPortrait}.worksheet-paper.worksheet-landscape{page:worksheetLandscape}@page worksheetPortrait{size:A4 portrait;margin:0}@page worksheetLandscape{size:A4 landscape;margin:0}.worksheet-brand-logo,.worksheet-header-mascot{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}}

/* =========================================================
   v2.6.50 — Worksheet Final Polish + Patch Mark Recovery
   Final override: TH Sarabun New, no CSS counters/columns, safer print pages
   ========================================================= */
.worksheet-paper{
  font-family:"TH Sarabun New","Sarabun","Noto Sans Thai",Tahoma,sans-serif!important;
  font-size:var(--ws-font,18pt)!important;
  line-height:1.34!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
}
.worksheet-head h1,
.worksheet-head p,
.worksheet-student-row,
.worksheet-list,
.worksheet-q,
.worksheet-choices,
.worksheet-line,
.worksheet-license,
.worksheet-answer-key{
  font-family:"TH Sarabun New","Sarabun","Noto Sans Thai",Tahoma,sans-serif!important;
}
.worksheet-body-zone{
  min-height:0!important;
  overflow:hidden!important;
  padding:3.5mm 0 2.5mm!important;
}
.worksheet-list{
  list-style:none!important;
  padding-left:0!important;
  margin:0!important;
  columns:auto!important;
  column-count:auto!important;
  display:grid!important;
  gap:2.6mm 7mm!important;
  font-size:var(--ws-font,18pt)!important;
  line-height:1.34!important;
}
.worksheet-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.worksheet-grid-one{grid-template-columns:1fr!important;}
.worksheet-item{
  display:grid!important;
  grid-template-columns:8mm minmax(0,1fr)!important;
  gap:1.6mm!important;
  align-items:start!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
  border-bottom:.45pt dotted #c3cad6!important;
  padding:0 0 1.8mm!important;
  margin:0!important;
  min-width:0!important;
}
.worksheet-no{font-weight:900!important;text-align:right!important;line-height:1.34!important;white-space:nowrap!important;}
.worksheet-item-body{min-width:0!important;}
.worksheet-q{line-height:1.34!important;overflow-wrap:break-word!important;word-break:normal!important;}
.worksheet-line{line-height:1.38!important;margin-top:1.4mm!important;white-space:normal!important;display:block!important;}
.worksheet-choices{line-height:1.28!important;margin-top:1mm!important;gap:.8mm 5mm!important;}
.worksheet-student-row{line-height:1.32!important;margin:0 0 3.5mm!important;}
.worksheet-license{line-height:1.2!important;}
.patch-notes-card{overflow:hidden!important;}
#patchNotesBody{display:grid!important;gap:12px!important;max-height:min(64vh,620px)!important;overflow:auto!important;padding:4px 4px 12px!important;}
.patch-history-item{display:block!important;background:rgba(255,255,255,.68)!important;border:1px solid rgba(47,120,255,.18)!important;border-radius:18px!important;padding:12px!important;}
.patch-history-item.current{background:rgba(246,250,255,.95)!important;border-color:rgba(123,92,255,.3)!important;}
.patch-history-item h4{margin:8px 0 4px!important;color:#24406f!important;font-size:15px!important;}
@media(max-width:920px){
  .worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;}
  .worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;}
  .worksheet-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .worksheet-item{grid-template-columns:8mm minmax(0,1fr)!important;}
}
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important;overflow:visible!important;}
  body *{visibility:hidden!important;}
  .worksheet-preview-wrap,
  .worksheet-preview-wrap *,
  .worksheet-stack,
  .worksheet-stack *,
  .worksheet-paper,
  .worksheet-paper *{visibility:visible!important;}
  .worksheet-preview-wrap{position:static!important;display:block!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;background:#fff!important;box-shadow:none!important;border-radius:0!important;}
  .worksheet-stack{display:block!important;width:auto!important;height:auto!important;overflow:visible!important;padding:0!important;margin:0!important;background:#fff!important;}
  .worksheet-paper{display:grid!important;margin:0!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;transform:none!important;}
  .worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;padding:12mm 14mm 10mm!important;page:worksheetPortrait;}
  .worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;padding:10mm 14mm 9mm!important;page:worksheetLandscape;}
  .worksheet-paper:last-child{break-after:auto!important;page-break-after:auto!important;}
  @page worksheetPortrait{size:A4 portrait;margin:0;}
  @page worksheetLandscape{size:A4 landscape;margin:0;}
  .worksheet-brand-logo,.worksheet-header-mascot{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important;}
}


/* =========================================================
   v2.6.50 — Worksheet Final Polish + Patch Mark Recovery
   Final override: add 12/13pt, tighten choice worksheets, center print pages.
   ========================================================= */
.worksheet-choices{
  font-size:calc(var(--ws-font,18pt) * .86)!important;
  line-height:1.18!important;
  gap:.45mm 4mm!important;
  margin-top:.55mm!important;
}
.worksheet-item:has(.worksheet-choices){
  padding-bottom:1.15mm!important;
}
.worksheet-item:has(.worksheet-choices) .worksheet-q{
  line-height:1.22!important;
}
.worksheet-font-12 .worksheet-list,.worksheet-font-13 .worksheet-list{gap:1.7mm 6mm!important;}
.worksheet-font-12 .worksheet-item,.worksheet-font-13 .worksheet-item{padding-bottom:.9mm!important;}
.worksheet-font-12 .worksheet-student-row,.worksheet-font-13 .worksheet-student-row{margin-bottom:2.4mm!important;}
.worksheet-font-12 .worksheet-head,.worksheet-font-13 .worksheet-head{margin-bottom:2.4mm!important;padding-bottom:3.5mm!important;}
.worksheet-font-12 .worksheet-body-zone,.worksheet-font-13 .worksheet-body-zone{padding-top:2.4mm!important;}
@media print{
  .worksheet-preview-wrap{display:flex!important;justify-content:center!important;align-items:flex-start!important;width:100%!important;}
  .worksheet-stack{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;}
  .worksheet-paper{margin-left:auto!important;margin-right:auto!important;}
  .worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;}
  .worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;}
}

/* =========================================================
   v2.6.50 — Worksheet Final Polish + Patch Mark Recovery
   Final tuning: patch metadata recovery, choice density and print centering.
   ========================================================= */
.worksheet-font-12 .worksheet-list,.worksheet-font-13 .worksheet-list,.worksheet-font-14 .worksheet-list{
  gap:1.45mm 5.2mm!important;
}
.worksheet-font-12 .worksheet-item-choice,.worksheet-font-13 .worksheet-item-choice,.worksheet-font-14 .worksheet-item-choice{
  padding-bottom:.55mm!important;
  gap:1.1mm!important;
}
.worksheet-font-12 .worksheet-item-choice .worksheet-q,.worksheet-font-13 .worksheet-item-choice .worksheet-q,.worksheet-font-14 .worksheet-item-choice .worksheet-q{
  line-height:1.15!important;
}
.worksheet-font-12 .worksheet-choices,.worksheet-font-13 .worksheet-choices,.worksheet-font-14 .worksheet-choices{
  font-size:calc(var(--ws-font,18pt) * .82)!important;
  line-height:1.12!important;
  gap:.25mm 3.2mm!important;
  margin-top:.25mm!important;
}
.worksheet-font-12 .worksheet-item-answer,.worksheet-font-13 .worksheet-item-answer,.worksheet-font-14 .worksheet-item-answer{
  padding-bottom:1.15mm!important;
}
.worksheet-item-choice{
  border-bottom:.35pt dotted #d5dbe6!important;
}
@media print{
  html,body{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    min-width:100%!important;
    background:#fff!important;
    overflow:visible!important;
  }
  .worksheet-preview-wrap{
    position:absolute!important;
    left:0!important;
    top:0!important;
    right:0!important;
    width:100%!important;
    min-width:100%!important;
    display:block!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .worksheet-stack{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    margin:0 auto!important;
    padding:0!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .worksheet-paper{
    display:grid!important;
    margin:0 auto!important;
    text-align:left!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
}


/* =========================================================
   v2.6.50 Drive PDF Export Engine UI
   ========================================================= */
.worksheet-drive-box{display:grid;gap:9px;margin-top:10px;padding:12px;border:2px dashed rgba(47,120,255,.25);border-radius:18px;background:rgba(255,255,255,.62)}
.worksheet-drive-main{background:linear-gradient(135deg,#16a34a,#22c55e)!important;box-shadow:0 14px 28px rgba(34,197,94,.22)!important}
.worksheet-drive-status{font-size:13px;font-weight:900;color:#24406f;background:#f5fbff;border-radius:12px;padding:8px 10px;line-height:1.35;word-break:break-word}
.worksheet-drive-status a{color:#1262d6;text-decoration:underline;font-weight:1000}
.patch-history-item ul{display:block!important;visibility:visible!important;}
.patch-history-item li{display:list-item!important;}
.patch-history-item h3,.patch-history-item h4,.patch-history-item .patch-version-row{visibility:visible!important;}

/* =========================================================
   v2.6.50 Drive PDF Payload + Question Variety + 180 IQ Lite
   ========================================================= */
.worksheet-drive-title{font-size:16px;font-weight:1000;color:#17406f;display:flex;align-items:center;gap:8px}
.worksheet-drive-notice{font-size:13px;font-weight:900;line-height:1.45;color:#7c3f00;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:9px 10px}
.worksheet-drive-check{display:flex;align-items:center;gap:8px;font-weight:900;color:#24406f;line-height:1.35}
.worksheet-drive-check input{width:18px;height:18px;accent-color:#16a34a}
.worksheet-drive-folder-label{font-weight:900;color:#24406f;display:grid;gap:6px}
#wsDriveFolder.is-disabled,#wsDriveFolder:disabled{background:#e5e7eb!important;color:#6b7280!important;border-color:#cbd5e1!important;opacity:.78;cursor:not-allowed}
.worksheet-drive-guide{background:rgba(255,255,255,.78);border:1px solid rgba(47,120,255,.18);border-radius:14px;padding:9px 10px;color:#24406f;font-weight:800;line-height:1.45}
.worksheet-drive-guide summary{cursor:pointer;font-weight:1000;color:#1262d6}
.worksheet-drive-guide ol{margin:8px 0 0 20px;padding:0}
.worksheet-drive-guide li{margin:4px 0}
.worksheet-drive-guide p{margin:8px 0 0;color:#9a3412;font-weight:900}

/* v2.6.50 — 180 IQ Lite input answer UI */
.iq180-answer-box{width:min(720px,100%);margin:0 auto;display:grid;gap:12px;padding:18px;border-radius:28px;background:rgba(255,255,255,.86);border:2px solid rgba(125,191,255,.55);box-shadow:0 18px 40px rgba(8,30,80,.12);}
.iq180-answer-box label{font-weight:900;font-size:clamp(20px,3vw,34px);color:#17315f;text-align:center;}
.iq180-input{font-size:clamp(22px,4vw,40px)!important;text-align:center;font-weight:900;letter-spacing:.02em;}
.iq180-submit{min-height:64px;font-size:clamp(20px,3vw,30px)!important;font-weight:900;}
.iq180-answer-box small{text-align:center;color:#315070;font-weight:800;}
.mode[data-preset="iq180"]{background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,232,146,.95));}


/* =========================================================
   v2.6.50 — Core Fix + 180 IQ UX + Progress + Adventure placeholder
   ========================================================= */
.app-progress{position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:1200;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);border:1px solid rgba(37,99,235,.15);border-radius:16px;padding:7px 12px;box-shadow:0 8px 22px rgba(15,23,42,.12)}
.app-progress-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:900;color:#24406f;line-height:1.15}.app-progress-row b{color:#075985}.app-progress-track{height:8px;border-radius:999px;background:rgba(15,23,42,.12);overflow:hidden;margin-top:5px}.app-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#40c4ff,#7ee081,#ffd54f)}
.app{padding-top:54px}.mode.adventure-placeholder{position:relative;overflow:hidden}.mode.adventure-placeholder:after{content:'เตรียมระบบ';position:absolute;right:10px;top:10px;background:#fff3bf;color:#7c4a00;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.question h2 .iq180-numbers{display:block;font-size:clamp(3rem,8vw,6rem);font-weight:1000;color:#5b351c;line-height:1.05}.question h2 .iq180-target{display:block;margin-top:10px;font-size:clamp(1.45rem,4vw,2.5rem);font-weight:950;color:#7a4a1f}.iq180-answer-box{max-width:520px}.iq180-input[readonly]{caret-color:transparent;background:#fff}.iq180-keypad{display:grid;grid-template-columns:repeat(4,minmax(52px,1fr));gap:10px;margin:12px 0}.iq180-keypad button{min-height:54px;border:0;border-radius:18px;background:#fff7d7;color:#3d2a16;font-size:1.25rem;font-weight:1000;box-shadow:0 6px 0 rgba(0,0,0,.12)}.iq180-keypad button:active{transform:translateY(3px);box-shadow:0 3px 0 rgba(0,0,0,.12)}.iq180-keypad button:disabled{opacity:.55;transform:none}.question-review{grid-column:1/-1;margin:12px auto 0;max-width:560px;width:100%;padding:14px;border-radius:22px;background:rgba(255,255,255,.9);border:1px solid rgba(30,64,175,.14);box-shadow:0 10px 24px rgba(15,23,42,.12);display:grid;gap:8px;text-align:center}.question-review b{font-size:1.15rem;color:#24406f}.question-review span{font-weight:800;color:#334155;line-height:1.35}.question-review.review-correct{background:rgba(236,253,245,.94)}.question-review.review-wrong{background:rgba(255,247,237,.94)}.start.small{min-height:48px;padding:10px 18px;border-radius:16px;font-size:1rem}.worksheet-header-zone{background:linear-gradient(180deg,#fff,#f8fbff)!important;border:1pt solid #e5e7eb!important;border-bottom:1.2pt solid #111827!important;border-radius:7mm 7mm 3mm 3mm!important;padding:3mm 5mm!important;margin:0 0 3mm!important}.worksheet-student-row{border:1pt solid #9ca3af!important;background:#fff!important}.worksheet-brand-logo{width:28mm!important}.worksheet-header-mascot{width:22mm!important;height:22mm!important;object-fit:contain!important}@media(max-width:720px){.app-progress{left:8px;right:8px}.app{padding-top:58px}.iq180-keypad{gap:8px}.iq180-keypad button{min-height:48px;border-radius:16px}}
@media print{.app-progress{display:none!important}.app{padding-top:0!important}}


/* =========================================================
   TMA Kids Edition v2
   Release: 2.6.50 Central Version Registry Fix
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Patch: Progress label/sweep + Shop coming soon + 180 IQ notice
   ========================================================= */
.app-progress-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-progress-track i{position:relative;overflow:hidden}
.app-progress-track i::after{content:'';position:absolute;top:0;bottom:0;width:38%;left:-45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);transform:skewX(-18deg);animation:tmaProgressSweep 2.6s ease-in-out infinite}
@keyframes tmaProgressSweep{0%{left:-45%}65%{left:110%}100%{left:110%}}
.nav .soon-badge{margin-left:auto;font-size:.65rem;padding:2px 6px}
.shop-coming-soon b{font-size:1.05rem;color:#9a3412}
.iq180-notice{margin:12px 0 16px;padding:14px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(239,246,255,.96),rgba(255,251,235,.96));border:1px solid rgba(37,99,235,.18);box-shadow:0 12px 28px rgba(15,23,42,.08);color:#1e3a8a}
.iq180-notice b{display:block;font-size:1.05rem;margin-bottom:6px;color:#1d4ed8}
.iq180-notice p{margin:4px 0;line-height:1.45;font-weight:800;color:#334155}
@media(max-width:720px){.app-progress-row span{max-width:78vw}.iq180-notice{font-size:.92rem;padding:12px}}


/* v2.6.50 — Review options, EXP fire sweep, BGM previous/next */
.review-mode-status{margin:8px auto 0;max-width:560px;text-align:center;font-weight:900;color:#24406f;background:rgba(255,255,255,.78);border:1px solid rgba(47,120,255,.16);border-radius:999px;padding:7px 12px;box-shadow:0 8px 20px rgba(15,23,42,.08)}
.bar{position:relative;overflow:hidden}.bar i,.gamebar i,#appProgressFill{position:relative;overflow:hidden}.xp-fire-sweep::after{content:'';position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),rgba(255,196,0,.92),rgba(255,80,20,.72),transparent);animation:tmaExpFireSweep 2.1s ease-in-out infinite;mix-blend-mode:screen}.app-progress-track i::after{content:'';position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:tmaProgressSweep 2.8s ease-in-out infinite}@keyframes tmaExpFireSweep{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}@keyframes tmaProgressSweep{0%{transform:translateX(-110%)}60%,100%{transform:translateX(110%)}}
.audio-track-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:8px 0;padding:8px;border-radius:16px;background:rgba(255,255,255,.64);border:1px solid rgba(30,64,175,.12)}.audio-track-controls button{border:0;border-radius:12px;padding:8px 10px;font-weight:900;background:#fff7d7;color:#3d2a16}.audio-track-controls span{font-weight:1000;color:#24406f;text-align:center;min-width:92px}.iq180-notice p{line-height:1.45}
@media(max-width:720px){.audio-track-controls{grid-template-columns:1fr;}.review-mode-status{font-size:.88rem;padding:6px 10px}}

/* =========================================================
   v2.6.50 Corrective Output + Reward FX
   ========================================================= */
.app-progress{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(218,238,255,.86))!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 10px 28px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.9)!important}
.app-progress-track{height:10px!important;background:rgba(7,40,93,.18)!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:inset 0 2px 5px rgba(15,23,42,.18)!important}
.app-progress-track i{background:linear-gradient(90deg,#40c4ff,#6ee781 45%,#ffe566 78%,#ffb347)!important;box-shadow:0 0 16px rgba(255,220,80,.55),0 0 24px rgba(64,196,255,.22)!important;position:relative!important;overflow:hidden!important}
.app-progress-track i::before{content:'⭐';position:absolute;right:-8px;top:50%;transform:translateY(-50%);font-size:16px;filter:drop-shadow(0 0 8px #fff6)}
.app-progress-track i::after{content:''!important;position:absolute!important;top:-2px!important;bottom:-2px!important;width:46%!important;left:-52%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.88),rgba(255,246,170,.86),transparent)!important;transform:skewX(-18deg)!important;animation:tmaProgressSweep 2.45s ease-in-out infinite!important}
.review-mode-controls{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;margin:8px auto 0;max-width:760px}.review-toggle-btn{border-radius:999px;padding:8px 12px;background:linear-gradient(180deg,#fff,#e0f2fe);color:#24406f;font-weight:1000;box-shadow:0 8px 18px rgba(15,23,42,.12)}.review-mode-select{min-width:190px;max-width:260px}.reward-summary-modal{position:fixed;inset:0;z-index:2500;background:rgba(6,18,45,.58);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.reward-summary-card{width:min(640px,94vw);border-radius:34px;padding:22px;background:linear-gradient(180deg,#ffffff,#eaf8ff);box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:center;border:3px solid rgba(255,255,255,.9);animation:rewardPop .35s ease both}.reward-summary-card img{height:120px;object-fit:contain;filter:drop-shadow(0 12px 15px rgba(15,23,42,.18))}.reward-summary-card h2{margin:0 0 8px;font-size:2rem;color:#24406f}.reward-gain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.reward-gain-grid article{border-radius:18px;padding:12px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.10);font-weight:900}.reward-gain-grid span,.reward-countup span{display:block;color:#6b7280;font-size:.9rem}.reward-gain-grid b,.reward-countup b{font-size:1.65rem;color:#7b5cff}.reward-countup{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;background:#fff;padding:10px 14px;margin:8px 0;font-weight:1000}.reward-xp-box{background:rgba(255,255,255,.9);border-radius:18px;padding:12px;margin:10px 0}.reward-xp-row{display:flex;justify-content:space-between;font-weight:1000;color:#24406f}.reward-xp-track{height:18px;margin-top:8px;border-radius:999px;background:#dbeafe;overflow:hidden;box-shadow:inset 0 2px 5px rgba(15,23,42,.13)}.reward-xp-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#7b5cff,#40c4ff,#6ee781,#ffd84d);transition:width 1.2s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.levelup-banner{margin:12px auto;padding:12px 14px;border-radius:18px;background:linear-gradient(90deg,#fff7ad,#ffd166,#ff8fab);font-weight:1000;color:#78350f;box-shadow:0 0 25px rgba(255,210,80,.5);animation:levelPulse 1.2s ease-in-out infinite}.reward-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.reward-actions .start.small{min-width:180px}.bar i.xp-fire-sweep{box-shadow:0 0 16px rgba(255,190,40,.45)}@keyframes rewardPop{0%{transform:scale(.92) translateY(18px);opacity:0}100%{transform:scale(1) translateY(0);opacity:1}}@keyframes levelPulse{50%{transform:scale(1.025);filter:brightness(1.08)}}
@media(max-width:720px){.review-mode-controls{grid-template-columns:1fr}.review-mode-select{max-width:none;width:100%}.reward-gain-grid{grid-template-columns:1fr 1fr}.reward-summary-card img{height:96px}.reward-summary-card h2{font-size:1.55rem}}

/* =========================================================
   v2.6.50 Corrective Output + Reward FX
   - Stable progress FX without stuck star pseudo-element
   - Real reward count-up / EXP merge / chest opening animations
   ========================================================= */
.app-progress{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(218,238,255,.88))!important;border:1px solid rgba(255,255,255,.84)!important;box-shadow:0 10px 28px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.9)!important;overflow:hidden!important}
.app-progress-track{position:relative!important;height:12px!important;background:linear-gradient(180deg,rgba(7,40,93,.22),rgba(7,40,93,.12))!important;border:1px solid rgba(255,255,255,.65)!important;box-shadow:inset 0 2px 5px rgba(15,23,42,.16)!important;overflow:hidden!important}
.app-progress-track i{position:relative!important;display:block!important;height:100%!important;border-radius:999px!important;overflow:hidden!important;background:linear-gradient(90deg,#38bdf8 0%,#5eead4 32%,#a3e635 56%,#fde047 78%,#fb923c 100%)!important;box-shadow:0 0 16px rgba(250,204,21,.38),0 0 26px rgba(56,189,248,.18)!important;will-change:auto!important}
.app-progress-track i::before{content:''!important;position:absolute!important;right:0!important;top:50%!important;width:18px!important;height:18px!important;border-radius:50%!important;background:radial-gradient(circle,#fff 0 18%,#fde68a 20% 42%,rgba(250,204,21,.55) 45%,transparent 72%)!important;transform:translate(45%,-50%)!important;filter:drop-shadow(0 0 7px rgba(255,238,120,.65))!important;pointer-events:none!important}
.app-progress-track i::after{content:''!important;position:absolute!important;top:-4px!important;bottom:-4px!important;width:34%!important;left:-40%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),rgba(255,255,255,.82),rgba(255,239,160,.76),transparent)!important;transform:skewX(-18deg)!important;animation:tmaProgressSweep2468 2.9s ease-in-out infinite!important;pointer-events:none!important}
@keyframes tmaProgressSweep2468{0%{left:-40%;opacity:0}12%{opacity:1}58%{left:108%;opacity:1}72%,100%{left:108%;opacity:0}}

.reward-summary-modal,.chest-open-modal{position:fixed;inset:0;z-index:2600;background:radial-gradient(circle at 50% 20%,rgba(30,64,175,.42),rgba(6,18,45,.72));backdrop-filter:blur(11px);display:grid;place-items:center;padding:18px}.reward-summary-card,.chest-open-card{position:relative;overflow:hidden;width:min(680px,94vw);border-radius:34px;padding:22px;background:linear-gradient(180deg,#fff,#eaf8ff 58%,#fff7d6);box-shadow:0 28px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.9);text-align:center;border:3px solid rgba(255,255,255,.9);animation:rewardPop .32s ease both}.reward-sparkle-layer{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 25%,rgba(255,255,255,.9) 0 2px,transparent 3px),radial-gradient(circle at 78% 18%,rgba(253,224,71,.9) 0 3px,transparent 4px),radial-gradient(circle at 88% 68%,rgba(96,165,250,.7) 0 2px,transparent 3px);animation:rewardSparkleDrift 3.8s linear infinite}.reward-summary-card>img{position:relative;height:116px;object-fit:contain;filter:drop-shadow(0 12px 15px rgba(15,23,42,.18));animation:mascotRewardBounce 1.6s ease-in-out infinite}.reward-stage-text{position:relative;margin:0 auto 8px;font-weight:1000;color:#1e3a8a}.reward-gain-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.reward-gain-grid article{border-radius:18px;padding:12px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.10);font-weight:900}.reward-gain-grid span,.reward-countup span{display:block;color:#6b7280;font-size:.9rem}.reward-gain-grid b{font-size:1.65rem;color:#7b5cff}.reward-countup{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;background:rgba(255,255,255,.94);padding:10px 14px;margin:8px 0;font-weight:1000}.reward-countup b{font-size:1.55rem;color:#7b5cff}.reward-countup b small{font-size:.85rem;color:#64748b}.reward-countup b em{font-style:normal;color:#f59e0b;text-shadow:0 0 12px rgba(245,158,11,.22)}.reward-xp-box{position:relative;background:rgba(255,255,255,.94);border-radius:20px;padding:13px;margin:12px 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}.reward-xp-row{display:flex;justify-content:space-between;font-weight:1000;color:#24406f}.reward-xp-track{height:22px;margin-top:8px;border-radius:999px;background:linear-gradient(180deg,#dbeafe,#c7d2fe);overflow:hidden;box-shadow:inset 0 2px 5px rgba(15,23,42,.16);border:1px solid rgba(255,255,255,.75)}.reward-xp-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,#38bdf8,#34d399,#fde047,#fb923c);position:relative;overflow:visible;box-shadow:0 0 16px rgba(251,191,36,.4)}.reward-xp-track i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.76),rgba(255,230,140,.88),transparent);transform:translateX(-110%) skewX(-18deg);animation:rewardXpSweep 1.15s ease-in-out infinite}.xp-runner{position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:22px;filter:drop-shadow(0 0 8px rgba(255,255,255,.9));animation:rewardRunnerPulse .8s ease-in-out infinite}.levelup-banner,.chest-earned-banner{position:relative;margin:10px auto;padding:12px 14px;border-radius:18px;background:linear-gradient(90deg,#fff7ad,#ffd166,#ff8fab);font-weight:1000;color:#78350f;box-shadow:0 0 25px rgba(255,210,80,.5);animation:levelPulse 1.2s ease-in-out infinite}.chest-earned-banner{background:linear-gradient(90deg,#dbeafe,#fef3c7,#fde68a);color:#1e3a8a}.levelup-burst{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:5;border-radius:28px;padding:20px 28px;background:linear-gradient(135deg,#fff7ad,#fb7185,#8b5cf6);color:#fff;font-size:clamp(1.45rem,4vw,2.4rem);font-weight:1000;box-shadow:0 0 45px rgba(251,191,36,.9),0 22px 45px rgba(15,23,42,.28);text-shadow:0 2px 4px rgba(0,0,0,.18);animation:levelBurstIn .85s ease both}.reward-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.reward-actions button:disabled,.reward-actions button.is-waiting{opacity:.55;filter:grayscale(.25);cursor:wait}.chest-open-card{width:min(460px,92vw)}.chest-box{font-size:7rem;line-height:1;margin:10px auto;filter:drop-shadow(0 16px 18px rgba(15,23,42,.25));animation:chestIdle 1.4s ease-in-out infinite}.chest-box.opening{animation:chestShake .12s linear infinite}.chest-box.opened{animation:chestOpenPop .9s ease both}.chest-open-card h2{margin:0;color:#1e3a8a}.chest-open-card p{font-weight:900;color:#334155}.bar i.xp-fire-sweep{box-shadow:0 0 16px rgba(255,190,40,.45)}
@keyframes rewardXpSweep{0%{transform:translateX(-120%) skewX(-18deg)}70%,100%{transform:translateX(120%) skewX(-18deg)}}@keyframes rewardRunnerPulse{50%{transform:translateY(-50%) scale(1.18) rotate(10deg)}}@keyframes rewardSparkleDrift{50%{transform:translateY(6px);filter:brightness(1.2)}}@keyframes mascotRewardBounce{50%{transform:translateY(-5px)}}@keyframes levelBurstIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes chestIdle{50%{transform:translateY(-6px) rotate(-2deg)}}@keyframes chestShake{0%{transform:translateX(-3px) rotate(-4deg)}100%{transform:translateX(3px) rotate(4deg)}}@keyframes chestOpenPop{0%{transform:scale(1)}50%{transform:scale(1.4) rotate(12deg)}100%{transform:scale(1) rotate(0)}}
@media(max-width:720px){.reward-summary-card>img{height:92px}.reward-gain-grid{grid-template-columns:1fr 1fr}.reward-countup{align-items:flex-start}.chest-box{font-size:5.6rem}}
@media(prefers-reduced-motion:reduce){.app-progress-track i::after,.reward-sparkle-layer,.reward-summary-card>img,.xp-runner,.reward-xp-track i::after,.levelup-banner,.chest-earned-banner,.chest-box{animation:none!important}}

/* =========================================================
   v2.6.50 Final Corrective FX Polish
   - Visible live progress comet/star effect from mockup direction
   - Slower reward count-up and stronger active states
   ========================================================= */
.app-progress{
  background:linear-gradient(135deg,rgba(248,252,255,.96),rgba(217,237,255,.9))!important;
  box-shadow:0 10px 30px rgba(15,23,42,.16), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.app-progress-track{
  height:13px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(6,28,74,.24),rgba(6,28,74,.13))!important;
}
.app-progress-track i{
  isolation:isolate!important;
  overflow:hidden!important;
  background:linear-gradient(90deg,#38bdf8 0%,#6ee7b7 34%,#bef264 58%,#fde047 78%,#fb923c 100%)!important;
  box-shadow:0 0 18px rgba(250,204,21,.5),0 0 30px rgba(56,189,248,.24)!important;
}
.app-progress-track i::before,.app-progress-track i::after{content:none!important;display:none!important;animation:none!important}
.progress-comet,.progress-star,.progress-glint{position:absolute;pointer-events:none;z-index:2;display:block}
.progress-comet{top:-7px;bottom:-7px;width:86px;left:-92px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),rgba(255,255,255,.95),rgba(255,239,151,.9),transparent);filter:blur(.15px) drop-shadow(0 0 8px rgba(255,236,130,.72));transform:skewX(-18deg);animation:tmaProgressComet2469 3.1s ease-in-out infinite}
.progress-star{left:-22px;top:50%;transform:translate(-50%,-50%) scale(.8);font-size:19px;line-height:1;filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 12px rgba(255,217,70,.85));animation:tmaProgressStar2469 3.1s ease-in-out infinite}
.progress-glint{inset:1px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.48),transparent 55%);mix-blend-mode:screen;opacity:.75}
@keyframes tmaProgressComet2469{0%{left:-92px;opacity:0}12%{opacity:1}64%{left:calc(100% + 14px);opacity:1}78%,100%{left:calc(100% + 18px);opacity:0}}
@keyframes tmaProgressStar2469{0%{left:-18px;opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(-18deg)}12%{opacity:1}64%{left:calc(100% - 2px);opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(12deg)}78%,100%{left:calc(100% + 8px);opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(22deg)}}
.reward-countup.is-active{box-shadow:0 0 0 3px rgba(251,191,36,.26),0 14px 26px rgba(245,158,11,.16);transform:scale(1.015);transition:transform .18s ease,box-shadow .18s ease}
.reward-countup.is-active b em{animation:rewardNumberGlow2469 .65s ease-in-out infinite alternate}
@keyframes rewardNumberGlow2469{from{text-shadow:0 0 8px rgba(245,158,11,.18)}to{text-shadow:0 0 20px rgba(245,158,11,.75);transform:scale(1.04)}}
.reward-xp-track i{transition-timing-function:cubic-bezier(.18,.82,.24,1)!important}
.reward-stage-text::after{content:' ✨';animation:rewardDots2469 1.2s ease-in-out infinite}
@keyframes rewardDots2469{50%{opacity:.35;transform:translateY(-1px)}}
@media(prefers-reduced-motion:reduce){.progress-comet,.progress-star{animation:tmaProgressComet2469 4.5s ease-in-out infinite!important}.reward-stage-text::after{animation:none!important}}

/* =========================================================
   v2.6.50 — Worksheet Block Layout Engine + Reward Summary Final Polish
   - Lock worksheet logo/mascot, tighten A4 packing, fit mobile preview only
   - Add safe star particle FX to progress and reward EXP bars
   - Add daily special chest quota UI
   ========================================================= */
.worksheet-preview-wrap{max-width:100%!important;overflow:auto!important;}
@media(max-width:720px){
  .worksheet-preview-wrap{overflow:auto!important;padding:8px!important;display:block!important;text-align:center!important;}
  .worksheet-preview-wrap .worksheet-stack{display:inline-flex!important;flex-direction:column!important;align-items:center!important;max-width:none!important;will-change:auto!important;}
  .worksheet-preview-wrap .worksheet-paper{max-width:none!important;margin-left:auto!important;margin-right:auto!important;}
}
@media print{
  .worksheet-preview-wrap .worksheet-stack{zoom:1!important;transform:none!important;}
}

.progress-spark{position:absolute;left:-12px;top:50%;width:5px;height:5px;border-radius:50%;background:#fff7ad;box-shadow:0 0 8px rgba(255,246,173,.95),0 0 14px rgba(96,165,250,.55);pointer-events:none;z-index:4;opacity:0;animation-duration:3.1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.progress-spark.spark-a{animation-delay:.04s}.progress-spark.spark-b{animation-delay:.16s;transform:scale(.72)}.progress-spark.spark-c{animation-delay:.28s;transform:scale(.58)}
@keyframes tmaProgressSparkA24610{0%,10%{left:-18px;top:50%;opacity:0}18%{opacity:1}64%{left:calc(100% - 12px);top:18%;opacity:1}78%,100%{left:calc(100% + 10px);top:4%;opacity:0}}
@keyframes tmaProgressSparkB24610{0%,12%{left:-18px;top:50%;opacity:0}22%{opacity:1}64%{left:calc(100% - 14px);top:78%;opacity:1}78%,100%{left:calc(100% + 12px);top:96%;opacity:0}}
@keyframes tmaProgressSparkC24610{0%,14%{left:-18px;top:50%;opacity:0}26%{opacity:1}64%{left:calc(100% - 20px);top:36%;opacity:.9}78%,100%{left:calc(100% + 8px);top:46%;opacity:0}}
.progress-spark.spark-a{animation-name:tmaProgressSparkA24610}.progress-spark.spark-b{animation-name:tmaProgressSparkB24610}.progress-spark.spark-c{animation-name:tmaProgressSparkC24610}
.reward-xp-track i::before{content:'';position:absolute;right:-2px;top:50%;width:6px;height:6px;border-radius:50%;background:#fff7ad;box-shadow:0 -18px 0 -1px rgba(255,247,173,.86),0 17px 0 -2px rgba(125,211,252,.82),-15px -9px 0 -2px rgba(251,191,36,.86),-18px 10px 0 -2px rgba(255,255,255,.88),0 0 10px rgba(255,247,173,.9);animation:rewardXpSpark24610 .82s ease-in-out infinite;z-index:4;pointer-events:none}
@keyframes rewardXpSpark24610{0%,100%{opacity:.55;transform:translateY(-50%) scale(.85)}50%{opacity:1;transform:translateY(-50%) scale(1.18)}}

.reward-quota-box{position:relative;margin:10px auto 8px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,#eef6ff,#fff7d6);border:2px solid rgba(96,165,250,.26);box-shadow:0 10px 22px rgba(15,23,42,.10);font-weight:900;color:#1e3a8a;text-align:left}
.reward-quota-box>b{display:block;text-align:center;color:#1e40af;font-size:1rem}.reward-quota-box>small{display:block;text-align:center;color:#64748b;margin-top:2px}.reward-chest-reasons{margin:8px 0 0;padding-left:20px;color:#334155}.reward-chest-reasons li{margin:3px 0}.reward-quota-full{margin:8px 0 0;color:#b45309;background:#fffbeb;border-radius:12px;padding:8px;line-height:1.35;text-align:center}.quota-full-note{display:block;margin-top:7px;color:#b45309;background:#fffbeb;border-radius:10px;padding:7px;font-weight:900}
@media(prefers-reduced-motion:reduce){.progress-spark,.reward-xp-track i::before{animation:none!important;display:none!important}}

/* =========================================================
   v2.6.50 — Worksheet Block Layout Engine + Reward Summary Final Polish
   - Lock worksheet Header / Student Info / Footer as fixed blocks
   - Only Question Area responds to worksheet font size
   - One fixed answer line for no-choice worksheets
   - Reward top gain cards count up before the locked total sequence
   ========================================================= */
.worksheet-paper{
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
.worksheet-header-zone,.worksheet-head{
  flex:0 0 auto!important;
}
.worksheet-student-row{
  flex:0 0 auto!important;
  min-height:13mm!important;
  max-height:16mm!important;
  font-size:14pt!important;
  line-height:1.18!important;
  align-items:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  padding:2.4mm 3.4mm!important;
  margin:0 0 3mm!important;
}
.worksheet-body-zone{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
.worksheet-list{
  min-height:0!important;
  align-content:start!important;
}
.worksheet-item{
  break-inside:avoid!important;
  page-break-inside:avoid!important;
  overflow:hidden!important;
}
.worksheet-item-answer .worksheet-line,
.worksheet-answer-line-fixed{
  display:block!important;
  height:6.4mm!important;
  max-height:6.4mm!important;
  line-height:6.2mm!important;
  margin-top:1.3mm!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font-size:calc(var(--ws-font,18pt) * .78)!important;
  color:#111827!important;
}
.worksheet-item-answer .worksheet-line b{font-weight:900!important;margin-right:2mm!important;}
.worksheet-footer-zone,.worksheet-license{
  flex:0 0 auto!important;
  font-size:11.5pt!important;
  line-height:1.15!important;
}
.reward-gain-grid article.is-active{
  box-shadow:0 0 0 3px rgba(124,92,255,.20),0 14px 28px rgba(124,92,255,.18)!important;
  transform:translateY(-2px) scale(1.018);
  transition:transform .18s ease,box-shadow .18s ease;
}
.reward-gain-grid article.is-active b em{
  animation:rewardGainGlow24611 .58s ease-in-out infinite alternate;
}
.reward-gain-grid b em{font-style:normal;color:#7b5cff;}
@keyframes rewardGainGlow24611{from{text-shadow:0 0 8px rgba(124,92,255,.2)}to{text-shadow:0 0 20px rgba(124,92,255,.72);transform:scale(1.04)}}
.reward-xp-track{overflow:visible!important;}
.reward-xp-track .reward-xp-particle{
  position:absolute;
  right:-8px;
  top:50%;
  z-index:10;
  pointer-events:none;
  font-style:normal;
  font-size:var(--size,14px);
  line-height:1;
  color:#fff7ad;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.95)) drop-shadow(0 0 12px rgba(251,191,36,.85));
  animation:rewardXpParticleBurst24611 .95s cubic-bezier(.17,.78,.24,1) forwards;
  animation-delay:var(--delay,0s);
}
@keyframes rewardXpParticleBurst24611{
  0%{opacity:0;transform:translate(0,-50%) scale(.45) rotate(0deg)}
  15%{opacity:1}
  72%{opacity:1;transform:translate(var(--dx),calc(-50% + var(--dy))) scale(1.15) rotate(170deg)}
  100%{opacity:0;transform:translate(calc(var(--dx) * 1.12),calc(-50% + var(--dy) * 1.12)) scale(.35) rotate(260deg)}
}
@media(max-width:920px){
  .worksheet-student-row{font-size:14pt!important;grid-template-columns:2fr .7fr .7fr 1fr!important;}
}
@media(prefers-reduced-motion:reduce){
  .reward-gain-grid article.is-active b em,.reward-xp-track .reward-xp-particle{animation:none!important;}
}


/* ============================================================================
   v2.6.50 — Review Live + Skill Tracking + Shop Pack
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   Scope: Phase 3 foundation + carry-over EXP star burst particle count reduction. Do not touch top progress bar.
   Replace streak-like particles with true 5-point star bursts.
   ============================================================================ */
.reward-xp-box,.reward-xp-track{position:relative!important;}
.reward-xp-track{overflow:visible!important;isolation:isolate;}
.reward-xp-track .reward-xp-particle{
  position:absolute!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
  pointer-events:none!important;
  font-style:normal!important;
  font-family:"Arial Unicode MS","Segoe UI Symbol","Noto Sans Symbols 2",sans-serif!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:var(--size,14px)!important;
  color:var(--star-color,#fff7ad)!important;
  text-shadow:0 0 5px rgba(255,255,255,.96),0 0 10px var(--star-color,#fff7ad),0 0 18px rgba(255,255,255,.34);
  filter:drop-shadow(0 0 4px rgba(255,255,255,.85)) drop-shadow(0 0 9px var(--star-color,#fff7ad));
  transform:translate(-50%,-50%) scale(.18) rotate(0deg);
  transform-origin:center center;
  animation:rewardStarBurst24613 var(--duration,.9s) cubic-bezier(.16,.82,.22,1) forwards!important;
  animation-delay:var(--delay,0s)!important;
  will-change:transform,opacity;
}
.reward-xp-track .reward-xp-particle.is-small{font-weight:800!important;}
.reward-xp-track .reward-xp-particle.is-big{font-weight:900!important;}
.reward-xp-track .reward-xp-particle.is-back{z-index:18!important;opacity:.52!important;filter:blur(.2px) drop-shadow(0 0 5px rgba(255,255,255,.65));}
.reward-xp-track .reward-xp-particle.is-mid{z-index:26!important;opacity:.82!important;}
.reward-xp-track .reward-xp-particle.is-front{z-index:34!important;opacity:1!important;filter:drop-shadow(0 0 5px rgba(255,255,255,.92)) drop-shadow(0 0 12px var(--star-color,#fff7ad));}
@keyframes rewardStarBurst24613{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.16) rotate(0deg)}
  16%{opacity:1;transform:translate(-50%,-50%) scale(1.02) rotate(calc(var(--spin) * .10))}
  70%{opacity:var(--opacity-mid,.88);transform:translate(calc(-50% + var(--dx) * .86),calc(-50% + var(--dy) * .86)) scale(1) rotate(calc(var(--spin) * .72))}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.34) rotate(var(--spin))}
}
@media(prefers-reduced-motion:reduce){.reward-xp-track .reward-xp-particle{animation:none!important;display:none!important}}



/* ============================================================================
   v2.6.50 — Visible Learning Hub UI
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   ============================================================================ */
.learning-hub-fab{
  position:fixed;
  right:calc(14px + env(safe-area-inset-right,0px));
  bottom:calc(14px + env(safe-area-inset-bottom,0px));
  z-index:2400;
  border:0;
  border-radius:22px;
  padding:10px 14px 10px 12px;
  display:flex;
  align-items:center;
  gap:8px;
  background:linear-gradient(135deg,#7c3aed,#38bdf8,#34d399);
  color:#fff;
  box-shadow:0 16px 36px rgba(15,23,42,.24), inset 0 1px 0 rgba(255,255,255,.34);
  font-family:inherit;
  cursor:pointer;
}
.learning-hub-fab span{font-size:1.4rem;filter:drop-shadow(0 2px 5px rgba(0,0,0,.18))}
.learning-hub-fab b{font-size:.88rem;line-height:1;white-space:nowrap}
.learning-hub-fab small{display:block;font-size:.68rem;opacity:.88;margin-left:-2px}
.learning-hub-modal{
  position:fixed;
  inset:0;
  z-index:2700;
  display:grid;
  place-items:center;
  padding:18px;
  background:radial-gradient(circle at 50% 12%,rgba(124,58,237,.40),rgba(15,23,42,.70));
  backdrop-filter:blur(10px);
}
.learning-hub-card{
  position:relative;
  width:min(860px,96vw);
  max-height:min(92vh,720px);
  overflow:auto;
  border-radius:30px;
  padding:22px;
  background:linear-gradient(180deg,#ffffff,#eef8ff 56%,#fff7d6);
  box-shadow:0 28px 70px rgba(15,23,42,.36), inset 0 1px 0 rgba(255,255,255,.85);
  border:3px solid rgba(255,255,255,.86);
}
.learning-hub-close{
  position:absolute;
  right:14px;
  top:12px;
  width:38px;
  height:38px;
  border:0;
  border-radius:14px;
  background:rgba(15,23,42,.08);
  color:#1e293b;
  font-size:1.7rem;
  font-weight:900;
  cursor:pointer;
}
.learning-hub-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
  padding-right:38px;
}
.learning-hub-kicker{
  margin:0 0 4px;
  color:#7c3aed;
  font-weight:1000;
  letter-spacing:.04em;
}
.learning-hub-head h2{
  margin:0;
  color:#1e3a8a;
  font-size:clamp(1.45rem,4vw,2.2rem);
}
.learning-hub-head p{margin:4px 0 0;color:#475569;font-weight:800}
.learning-hub-badge{
  flex:0 0 auto;
  border-radius:999px;
  padding:8px 12px;
  background:linear-gradient(90deg,#fef3c7,#dbeafe);
  color:#1e3a8a;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(15,23,42,.10);
}
.learning-hub-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.learning-mode-card{
  min-height:116px;
  border:0;
  border-radius:24px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  text-align:left;
  padding:14px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  cursor:pointer;
  font-family:inherit;
}
.learning-mode-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,23,42,.14)}
.learning-mode-icon{
  width:50px;
  height:50px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#dbeafe,#fef3c7);
  font-size:1.75rem;
}
.learning-mode-body b{
  display:block;
  color:#172554;
  font-size:1.05rem;
  margin-bottom:3px;
}
.learning-mode-body em{
  display:inline-block;
  font-style:normal;
  color:#075985;
  background:#e0f2fe;
  border-radius:999px;
  padding:3px 8px;
  font-size:.78rem;
  font-weight:1000;
  margin-bottom:6px;
}
.learning-mode-body small{
  display:block;
  color:#475569;
  font-weight:750;
  line-height:1.35;
}
.learning-hub-note{
  margin-top:14px;
  border-radius:18px;
  padding:10px 12px;
  background:rgba(255,255,255,.70);
  color:#334155;
  font-weight:800;
}
.learning-hub-home-card{
  position:relative;
  z-index:1;
  margin:12px 0;
  border-radius:24px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:linear-gradient(135deg,rgba(124,58,237,.92),rgba(56,189,248,.88),rgba(52,211,153,.82));
  color:#fff;
  box-shadow:0 16px 34px rgba(15,23,42,.18);
}
.learning-hub-home-card p{margin:0;font-weight:1000;opacity:.88}
.learning-hub-home-card h3{margin:2px 0;font-size:1.2rem}
.learning-hub-home-card span{font-weight:800;opacity:.92}
.learning-hub-home-card button{
  border:0;
  border-radius:16px;
  padding:10px 16px;
  background:#fff;
  color:#1e3a8a;
  font-weight:1000;
  cursor:pointer;
}
@media(max-width:720px){
  .learning-hub-grid{grid-template-columns:1fr}
  .learning-hub-fab{right:10px;bottom:10px;padding:9px 11px}
  .learning-hub-fab b{font-size:.8rem}
  .learning-hub-card{padding:18px;border-radius:24px}
}
@media(prefers-reduced-motion:reduce){
  .learning-mode-card:hover{transform:none}
}


/* ============================================================================
   v2.6.50 — Grade Practice Activation UI
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   ============================================================================ */
.grade-practice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.grade-practice-choice{
  border:0;
  border-radius:22px;
  padding:16px 14px;
  min-height:118px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
  font-family:inherit;
  text-align:left;
  background:linear-gradient(180deg,#ffffff,#eff6ff);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  cursor:pointer;
}
.grade-practice-choice:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(15,23,42,.15);
}
.grade-practice-choice b{
  color:#1e3a8a;
  font-size:1.35rem;
  font-weight:1000;
}
.grade-practice-choice span{
  color:#334155;
  font-weight:900;
  line-height:1.32;
}
.grade-practice-choice small{
  color:#0f766e;
  font-weight:1000;
  background:#ccfbf1;
  border-radius:999px;
  padding:4px 9px;
}
.mode-detail-card{
  width:min(620px,94vw);
}
.phase-card b,.phase-card small{
  transition:color .2s ease;
}
@media(max-width:720px){
  .grade-practice-grid{grid-template-columns:1fr}
  .grade-practice-choice{min-height:96px}
}
@media(prefers-reduced-motion:reduce){
  .grade-practice-choice:hover{transform:none}
}


/* ============================================================================
   v2.6.50 — Review Live + Skill Tracking + Shop Pack UI
   Build: 20260702-TEACHER-ASSIGNMENT-WIZARD-STUDENT-MISSION-LOOP-R2
   ============================================================================ */
.learning-hub-fab.learning-hub-mini{
  right:calc(12px + env(safe-area-inset-right,0px));
  bottom:calc(74px + env(safe-area-inset-bottom,0px));
  min-width:auto;
  border-radius:999px;
  padding:8px 10px;
  gap:5px;
  z-index:2450;
  box-shadow:0 10px 24px rgba(15,23,42,.20), inset 0 1px 0 rgba(255,255,255,.34);
}
.learning-hub-fab.learning-hub-mini span{font-size:1.05rem}
.learning-hub-fab.learning-hub-mini b{font-size:.72rem}
.learning-hub-fab.learning-hub-mini small{display:none}
.learning-hub-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.learning-mode-card[data-action="quick-practice"],
.learning-mode-card[data-action="grade-foundation"],
.learning-mode-card[data-action="iq180-lite"]{
  outline:3px solid rgba(34,197,94,.22);
}
.start-choice-card{width:min(560px,94vw)}
.start-choice-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  margin:14px 0;
}
.start-choice-actions .start,.start-choice-actions .glass{
  min-width:180px;
}
.iq180-rule-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:12px 0;
}
.iq180-rule-grid article{
  border-radius:20px;
  background:rgba(255,255,255,.86);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  padding:14px;
}
.iq180-rule-grid b{
  display:block;
  color:#1e3a8a;
  font-size:1.05rem;
  margin-bottom:6px;
}
.iq180-rule-grid span{
  color:#475569;
  font-weight:850;
  line-height:1.35;
}
.grade-practice-choice-v254{
  background:linear-gradient(180deg,#ffffff,#eff6ff);
  border-radius:22px;
  padding:0;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  overflow:hidden;
}
.grade-practice-choice-v254 .grade-main{
  width:100%;
  border:0;
  background:transparent;
  padding:16px 14px 10px;
  text-align:left;
  font-family:inherit;
  cursor:pointer;
}
.grade-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:0 12px 12px;
}
.grade-actions button{
  border:0;
  border-radius:14px;
  padding:9px 8px;
  font-family:inherit;
  font-weight:1000;
  cursor:pointer;
  background:#dbeafe;
  color:#1e3a8a;
}
.grade-actions button:first-child{
  background:linear-gradient(135deg,#34d399,#38bdf8);
  color:#fff;
}
.session-mode-chip{
  border-radius:999px;
  padding:7px 11px;
  background:linear-gradient(90deg,#e0f2fe,#dcfce7);
  color:#075985;
  font-weight:1000;
  font-size:.82rem;
  box-shadow:0 8px 18px rgba(15,23,42,.10);
  white-space:nowrap;
}
.result-mode-chip{
  display:inline-flex;
  margin:4px auto 10px;
  border-radius:999px;
  padding:8px 12px;
  background:linear-gradient(90deg,#fef3c7,#dbeafe);
  color:#1e3a8a;
  font-weight:1000;
}
@media(max-width:820px){
  .learning-hub-grid,.iq180-rule-grid{grid-template-columns:1fr}
  .learning-hub-fab.learning-hub-mini{bottom:calc(62px + env(safe-area-inset-bottom,0px));}
  .session-mode-chip{font-size:.72rem;padding:6px 8px;max-width:42vw;overflow:hidden;text-overflow:ellipsis}
}


/* ============================================================================
   v2.6.50 — Shop Visual Apply + UI Dock Polish
   ============================================================================ */
.hidden{display:none!important}
.admin-nav{background:linear-gradient(135deg,#24124d,#7b5cff)!important;color:#fff!important;box-shadow:0 12px 26px rgba(93,70,255,.24)!important}
.admin-login-card{border:2px solid rgba(123,92,255,.28)!important;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(242,240,255,.92))!important}
.admin-gate-card,.gm-admin-bar,.gm-card{border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 16px 36px rgba(33,50,99,.12);border:1px solid rgba(123,92,255,.16);padding:18px;margin:12px 0}
.admin-gate-card b{font-size:22px;color:#2d2368}.admin-gate-card p{font-weight:800;color:#526070}.admin-gate-card code{background:#f2efff;border-radius:10px;padding:2px 8px;color:#523dc8}
.gm-admin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#f4f1ff,#eaf7ff)}
.gm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gm-card{display:grid;gap:10px;align-content:start}.gm-card.wide{grid-column:1/-1}.gm-card h3{margin:0;color:#24315e;font-size:22px}.gm-card p{margin:0;color:#66748e;font-weight:800}.gm-card label{display:grid;gap:6px;font-weight:900;color:#34415f}.gm-button-row{display:flex;gap:8px;flex-wrap:wrap}.gm-card button,.mission-action{border:0;border-radius:18px;padding:13px 16px;font-weight:1000;font-size:16px;cursor:pointer;box-shadow:0 10px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#3b8cff,#7b5cff);color:#fff}.gm-card button:disabled{opacity:.55;cursor:not-allowed}.gm-debug-output{width:100%;min-height:210px;border-radius:18px;border:2px solid rgba(123,92,255,.18);padding:12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:#10172a;color:#e9f2ff;box-sizing:border-box}
.mission-card-real{position:relative;overflow:hidden;border-radius:28px!important;padding:20px!important;display:grid!important;gap:10px!important;align-content:start!important;border:3px solid transparent!important}.mission-card-real b{font-size:20px}.mission-card-real span{font-size:15px}.mission-card-real small{width:auto!important;margin:0!important}.mission-visual-status{display:flex;align-items:center;gap:10px;border-radius:18px;padding:10px 12px;font-weight:1000}.mission-visual-status span{font-size:28px!important}.mission-visual-status b{font-size:18px!important}.mission-hint{font-style:normal;font-weight:900;font-size:14px}.mission-state-pending{background:linear-gradient(180deg,#ffffff,#f0f2f6)!important;border-color:#c6cedb!important}.mission-state-pending .mission-visual-status{background:#e5e9f0;color:#556070}.mission-state-pending .mission-hint{color:#667085}.mission-state-ready{background:linear-gradient(180deg,#fff8e2,#fff1b7)!important;border-color:#ffb02e!important;box-shadow:0 16px 34px rgba(255,176,46,.28)!important}.mission-state-ready .mission-visual-status{background:linear-gradient(135deg,#ffb02e,#ff7a00);color:#fff}.mission-state-ready .mission-hint{color:#a15a00}.mission-state-claimed{background:linear-gradient(180deg,#eafff0,#cbf7d7)!important;border-color:#24c36b!important}.mission-state-claimed .mission-visual-status{background:linear-gradient(135deg,#24c36b,#10a057);color:#fff}.mission-state-claimed .mission-hint{color:#107042}.mission-action-pending{background:#bfc7d3!important;color:#fff!important}.mission-action-ready{background:linear-gradient(135deg,#ffb02e,#ff7a00)!important;color:#fff!important;animation:tmaReadyPulse262 1.6s ease-in-out infinite}.mission-action-claimed{background:linear-gradient(135deg,#24c36b,#10a057)!important;color:#fff!important}@keyframes tmaReadyPulse262{0%,100%{transform:translateY(0);box-shadow:0 10px 22px rgba(255,122,0,.22)}50%{transform:translateY(-2px);box-shadow:0 16px 28px rgba(255,122,0,.34)}}
@media (max-width:900px){.gm-grid{grid-template-columns:1fr}.gm-admin-bar{display:grid}.gm-card.wide{grid-column:auto}.gm-card button,.mission-action{font-size:15px;padding:12px 14px}}


/* ======================================================
   v2.6.50 — Shop Visual Apply + UI Dock Polish
   ====================================================== */
body[data-tma-theme="default"]{background:linear-gradient(180deg,#55c7ff,#bcefff 48%,#d8ffc8)!important;}
body[data-tma-theme="forest"]{background:radial-gradient(circle at 18% 12%,#fff9,transparent 16%),linear-gradient(180deg,#38c7ff 0%,#9df2d8 42%,#6bd76e 100%)!important;}
body[data-tma-theme="space"]{background:radial-gradient(circle at 20% 22%,#ffffffaa 0 1px,transparent 2px),radial-gradient(circle at 75% 18%,#ffe8ff88,transparent 17%),linear-gradient(180deg,#101a62 0%,#3b1d85 48%,#080b2e 100%)!important;}
body[data-tma-theme="village"]{background:radial-gradient(circle at 20% 18%,#fff8,transparent 18%),linear-gradient(180deg,#74d7ff 0%,#c8f1ff 42%,#9feb83 100%)!important;}
body[data-tma-theme="castle"]{background:radial-gradient(circle at 80% 14%,#fff9,transparent 16%),linear-gradient(180deg,#7eb5ff 0%,#d9c9ff 50%,#eef7ff 100%)!important;}
body[data-tma-theme="cave"]{background:radial-gradient(circle at 52% 20%,#946bff55,transparent 28%),linear-gradient(180deg,#1d2952 0%,#25315f 46%,#141421 100%)!important;}
body[data-tma-theme]::before{transition:opacity .35s ease,background .35s ease;}
body[data-tma-theme="space"]::before{background:radial-gradient(circle at 8% 18%,#fff 0 1px,transparent 2px),radial-gradient(circle at 34% 28%,#fff 0 1px,transparent 2px),radial-gradient(circle at 66% 10%,#fff 0 2px,transparent 3px),radial-gradient(circle at 78% 54%,#fff 0 1px,transparent 2px),radial-gradient(circle at 48% 78%,#8df 0 1px,transparent 2px)!important;opacity:.72;}
body[data-tma-theme="castle"]::before{background:linear-gradient(transparent 55%,rgba(255,255,255,.34)),radial-gradient(circle at 50% 88%,#fff8,transparent 22%)!important;}
body[data-tma-theme="cave"]::before{background:radial-gradient(circle at 50% 12%,#ffd36a55,transparent 16%),radial-gradient(circle at 18% 78%,#0005,transparent 30%)!important;}

.tma-dock-menu{overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x proximity;align-items:center;gap:12px!important;padding:18px 18px 22px!important;}
.tma-dock-menu .nav{position:relative;transform-origin:center bottom;transition:transform .22s cubic-bezier(.2,1.25,.34,1),filter .22s ease,box-shadow .22s ease,background .22s ease;will-change:transform;scroll-snap-align:center;text-align:center!important;display:grid;place-items:center;min-width:150px;isolation:isolate;}
.tma-dock-menu .nav:hover,.tma-dock-menu .nav.dock-focus,.tma-dock-menu .nav.active{transform:translateY(-8px) scale(1.15);z-index:5;filter:saturate(1.18) brightness(1.08);box-shadow:0 18px 32px rgba(32,47,118,.38),0 0 0 3px rgba(255,255,255,.28) inset!important;}
.tma-dock-menu .nav.dock-neighbor{transform:translateY(-3px) scale(1.06);filter:saturate(1.08);z-index:3;}
.tma-dock-menu .nav.active::after,.tma-dock-menu .nav.dock-focus::after{content:'';position:absolute;left:50%;bottom:-9px;width:10px;height:10px;border-radius:50%;background:#ffe76b;box-shadow:0 0 16px #fff,0 0 0 4px rgba(255,255,255,.32);transform:translateX(-50%);}
@media (hover:none){.tma-dock-menu .nav:hover{transform:none}.tma-dock-menu .nav.dock-focus,.tma-dock-menu .nav.active{transform:translateY(-7px) scale(1.12)}}
@media (prefers-reduced-motion:reduce){.tma-dock-menu .nav,.shop-action-btn,.shop-tabs-polished button{transition:none!important;animation:none!important;}}

button,.primary,.glass,.start,.shop-action-btn,.gm-card button,.mission-action{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;}
button:active,.primary:active,.glass:active,.start:active,.shop-action-btn:active,.gm-card button:active{transform:translateY(2px) scale(.985);}
.primary,.gm-card button,.shop-action-btn{box-shadow:0 9px 0 rgba(46,63,150,.22),0 18px 32px rgba(37,88,190,.18)!important;}
.shop-tabs-polished{display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0 18px;padding:10px;border-radius:26px;background:rgba(255,255,255,.45);border:2px solid rgba(255,255,255,.7);box-shadow:0 12px 28px rgba(37,89,180,.16);}
.shop-tabs-polished button{border:2px solid rgba(255,255,255,.75);border-radius:999px;background:linear-gradient(180deg,#ffffff,#dff4ff);color:#274277;font-weight:1000;padding:12px 18px;box-shadow:0 8px 0 rgba(47,103,190,.16),0 12px 22px rgba(32,92,190,.12);display:flex;gap:8px;align-items:center;justify-content:center;min-height:48px;}
.shop-tabs-polished button.active,.shop-tabs-polished button:hover{background:linear-gradient(135deg,#ffdd59,#ff9e48 45%,#8d74ff);color:#fff;transform:translateY(-4px) scale(1.04);text-shadow:0 2px 0 rgba(0,0,0,.18);box-shadow:0 13px 0 rgba(148,83,23,.18),0 18px 30px rgba(125,63,220,.26);}
.shop-preview-panel h3{margin:0 0 10px;font-size:24px}.shop-mascot-preview .preview-stage{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;padding:14px;border-radius:26px;background:linear-gradient(135deg,#eaf8ff,#fffbe2);border:2px solid #fff;overflow:hidden;position:relative}.preview-stage.theme-space{background:radial-gradient(circle at 80% 12%,#fff 0 2px,transparent 3px),linear-gradient(135deg,#151a62,#7a42ca,#171335);color:#fff}.preview-stage.theme-village{background:linear-gradient(135deg,#c8f5ff,#eaffcf)}.preview-stage.theme-castle{background:linear-gradient(135deg,#e1e7ff,#fff1f9)}.preview-stage.theme-cave{background:linear-gradient(135deg,#25315f,#181823);color:#fff}.preview-stage.theme-forest{background:linear-gradient(135deg,#bff6d8,#e7ffd2)}
.preview-mascot-frame{width:164px;height:164px;border-radius:36px;display:grid;place-items:center;position:relative;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 4px rgba(255,255,255,.74),0 14px 28px rgba(29,83,153,.2)}.preview-mascot-frame img{width:138px;height:138px;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(20,50,100,.28))}.preview-mascot-frame.frame-gold{box-shadow:inset 0 0 0 5px #ffd64d,0 0 24px #ffdd66}.preview-mascot-frame.frame-rainbow{box-shadow:inset 0 0 0 5px #fff,0 0 0 8px #ff7ee7,0 0 28px #5ee7ff}.preview-mascot-frame.frame-thinker{box-shadow:inset 0 0 0 5px #8d74ff,0 0 26px #9c88ff}.preview-mascot-frame.frame-multiply{box-shadow:inset 0 0 0 5px #ff9d2e,0 0 26px #ffbd68}.preview-mascot-frame.frame-training{box-shadow:inset 0 0 0 5px #77e6a4,0 0 22px #b2ffd0}.preview-accessory,.shop-accessory-layer{position:absolute;z-index:8;font-size:34px;filter:drop-shadow(0 6px 7px rgba(0,0,0,.22));pointer-events:none;animation:accessoryPop263 1.3s ease infinite alternate}.preview-accessory{top:8px;right:18px}.accessory-star-crown,.accessory-thinker-hat{top:-8px!important;left:50%!important;right:auto!important;transform:translateX(-50%)}.accessory-smart-glasses{top:42%!important;left:50%!important;right:auto!important;transform:translate(-50%,-50%)}.accessory-hero-scarf{bottom:16px!important;left:50%!important;top:auto!important;right:auto!important;transform:translateX(-50%)}.accessory-rocket-wing{right:-10px!important;bottom:22px!important;top:auto!important}.preview-info{display:grid;gap:5px;font-weight:800}.preview-info b{font-size:28px;color:#7b5cff}.preview-stage.theme-space .preview-info b,.preview-stage.theme-cave .preview-info b{color:#ffe76b}.shop-cosmetic-host{position:relative}.shop-accessory-layer{top:8px;right:12px;background:rgba(255,255,255,.72);border-radius:999px;padding:2px 8px}.home-hero .shop-accessory-layer{font-size:42px;top:48%;right:46%;background:rgba(255,255,255,.5)}.coach .shop-accessory-layer{top:10px;right:90px}.side-mascot .shop-accessory-layer{top:8px;right:20px}.shop-name-frame-active[data-name-frame="gold"],.shop-name-frame-active[data-name-frame="training"]{outline:4px solid #ffdc59}.shop-name-frame-active[data-name-frame="rainbow"]{outline:4px solid #ef85ff}.shop-name-frame-active[data-name-frame="thinker"]{outline:4px solid #8d74ff}.shop-name-frame-active[data-name-frame="multiply"]{outline:4px solid #ff9e48}
@keyframes accessoryPop263{from{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.08)}}
.shop-item-card{position:relative;border:2px solid rgba(255,255,255,.75)!important;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;background:rgba(255,255,255,.82)!important}.shop-item-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(45,98,185,.25)!important}.shop-item-card.equipped{outline:4px solid #79efa9;box-shadow:0 0 0 8px rgba(121,239,169,.18),0 18px 36px rgba(45,98,185,.18)!important}.equipped-ribbon{display:inline-block;margin-top:6px;background:#dfffe8;color:#187942;border-radius:999px;padding:6px 10px;font-weight:1000}.shop-action-btn{border-radius:999px!important;padding:10px 18px!important;background:linear-gradient(135deg,#2f78ff,#8d74ff)!important;color:#fff!important;font-weight:1000!important}.shop-action-btn.equipped{background:linear-gradient(135deg,#22c55e,#a3e635)!important;color:#0f3b1d!important}.shop-action-btn.locked{background:linear-gradient(135deg,#cbd5e1,#94a3b8)!important;color:#475569!important}.inventory-item.equipped{outline:3px solid #79efa9;background:rgba(231,255,238,.9)!important}
.gift.has-chest i{display:grid!important;animation:giftPulse263 1.2s ease infinite}.gift:not(.has-chest) i{display:none!important}@keyframes giftPulse263{50%{transform:scale(1.15);box-shadow:0 0 18px #ff4d6d}}
@media(max-width:900px){.shop-mascot-preview .preview-stage{grid-template-columns:1fr;text-align:center}.preview-mascot-frame{margin:auto}.shop-tabs-polished{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible!important;max-width:100%}.shop-tabs-polished button{min-width:0!important;width:100%;white-space:normal;text-align:center}.tma-dock-menu .nav{min-width:150px}}


/* =====================================================================
   v2.6.50 — Player Avatar Equipment + Home Action Fix + Dock v2
   ===================================================================== */
#safeVersionBadge{font-weight:1000!important;letter-spacing:.2px}
#giftBtn.has-chest i{display:grid!important;position:absolute!important;right:-8px!important;top:-8px!important;background:#ff4d6d!important;color:#fff!important;border:4px solid #fff!important;border-radius:50%!important;min-width:34px!important;height:34px!important;font-style:normal!important;box-shadow:0 8px 18px rgba(255,77,109,.38)!important;z-index:3!important}.gift:not(.has-chest) i,#giftBtn:not(.has-chest) i{display:none!important}.mission-home-btn{position:relative}.mission-home-btn:after{content:'แตะเพื่อดูภารกิจ';position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);font-size:11px;color:#274277;background:rgba(255,255,255,.86);border-radius:999px;padding:2px 8px;white-space:nowrap}

/* Dock v2: center-selected, rounder, 3D, safer scroll */
.side.tma-dock-center-v2{position:relative;scroll-snap-type:x mandatory!important;gap:14px!important;padding:20px 18px 26px!important;align-items:center!important;scroll-padding-inline:42vw!important}.side.tma-dock-center-v2 .dock-spacer{flex:0 0 36vw;min-width:36vw;height:1px}.side.tma-dock-center-v2 .side-mascot,.side.tma-dock-center-v2 .phase-card{flex:0 0 auto}.side.tma-dock-center-v2 .nav{height:86px!important;min-width:92px!important;width:92px!important;border-radius:50%!important;padding:0 8px!important;text-align:center!important;display:grid!important;place-items:center!important;line-height:1.1!important;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.95),rgba(155,207,255,.62) 42%,rgba(63,116,222,.72) 80%)!important;border:2px solid rgba(255,255,255,.82)!important;box-shadow:inset 0 4px 8px rgba(255,255,255,.55),inset 0 -10px 18px rgba(14,42,112,.28),0 12px 24px rgba(8,30,92,.28)!important;overflow:visible!important;scroll-snap-align:center!important;font-size:0!important}.side.tma-dock-center-v2 .nav::first-letter{font-size:34px}.side.tma-dock-center-v2 .nav.dock-focus,.side.tma-dock-center-v2 .nav.active{transform:translateY(-13px) scale(1.28)!important;z-index:8!important;background:radial-gradient(circle at 35% 20%,#fff,#ffe987 30%,#9b73ff 68%,#3f7bff)!important;box-shadow:0 0 0 5px rgba(255,255,255,.28),0 0 28px rgba(255,232,108,.72),0 20px 42px rgba(54,60,185,.45),inset 0 6px 10px rgba(255,255,255,.65)!important}.side.tma-dock-center-v2 .nav.dock-neighbor{transform:translateY(-5px) scale(1.11)!important;z-index:5!important}.side.tma-dock-center-v2 .nav.dock-focus::before,.side.tma-dock-center-v2 .nav.active::before{content:attr(data-label);position:absolute;left:50%;bottom:-33px;transform:translateX(-50%);font-size:13px;line-height:1;background:#fff;color:#244c91;border-radius:999px;padding:6px 10px;white-space:nowrap;box-shadow:0 8px 18px rgba(19,50,120,.18);border:2px solid rgba(255,255,255,.8)}.side.tma-dock-center-v2 .nav.active::after,.side.tma-dock-center-v2 .nav.dock-focus::after{bottom:-12px!important;width:13px!important;height:13px!important;background:#ffe76b!important}

/* Player avatar 2.5D rig */
.player-preview-stage{border-radius:34px;padding:18px;background:linear-gradient(135deg,#ecfbff,#ffffff);box-shadow:inset 0 0 0 3px rgba(255,255,255,.65),0 14px 34px rgba(21,73,150,.16)}.player-preview-stage.theme-space{background:radial-gradient(circle at 72% 18%,#fff 0 2px,transparent 3px),radial-gradient(circle at 18% 20%,#5dd7ff66,transparent 24%),linear-gradient(135deg,#20145f,#6130c2 55%,#101235)}.player-preview-stage.theme-village{background:linear-gradient(180deg,#93eaff,#eaffc4 58%,#b8ed7d)}.player-preview-stage.theme-castle{background:linear-gradient(135deg,#dde7ff,#fff1cf 55%,#cdb3ff)}.player-preview-stage.theme-cave{background:radial-gradient(circle at 70% 18%,#ffef9c99,transparent 18%),linear-gradient(135deg,#45314e,#1f2032)}.player-preview-stage.theme-forest{background:linear-gradient(135deg,#d8fff1,#a4ed95 55%,#5bbf75)}.player-preview-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.player-preview-card,.profile-avatar-panel,.home-player-avatar-card{position:relative;border-radius:32px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 4px rgba(255,255,255,.72),0 16px 34px rgba(21,73,150,.18);padding:18px;display:grid;place-items:center;gap:10px}.player-preview-card.frame-gold,.profile-avatar-panel .frame-gold,.home-player-avatar-card .frame-gold{background:linear-gradient(135deg,#fff8d6,#fff,#ffe182);box-shadow:inset 0 0 0 5px #ffd64d,0 0 28px #ffde6a}.player-preview-card.frame-rainbow{box-shadow:inset 0 0 0 5px #fff,0 0 0 8px #ff7ee7,0 0 28px #5ee7ff}.player-preview-card.frame-thinker{background:linear-gradient(135deg,#f1ecff,#fff,#d8d4ff)}.player-preview-card.frame-multiply{background:linear-gradient(135deg,#fff2dd,#fff,#ffd4ad)}.mini-polish-btn{border:0;border-radius:999px;padding:9px 14px;font-weight:1000;background:linear-gradient(135deg,#fff,#dff4ff);color:#244c91;box-shadow:0 8px 16px rgba(30,80,160,.16)}.effect-test{background:linear-gradient(135deg,#ffe66c,#ff9e48);color:#793b00}.avatar-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;font-weight:900}.avatar-summary span{background:rgba(255,255,255,.8);border-radius:999px;padding:6px 10px;color:#244c91}.profile-avatar-panel{margin:10px auto;max-width:760px}.profile-avatar-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:100%}.home-player-avatar-card{min-height:150px}.home-player-avatar-card small{font-weight:800;color:#49617e;text-align:center}.home-hero{grid-template-columns:1fr 230px 360px!important}.tma-player-avatar{--skin:#ffd1a6;--hair:#6f391e;--shirt:#4b8dff;--pants:#b67844;position:relative;width:210px;height:230px;display:block;margin:auto;filter:drop-shadow(0 14px 16px rgba(20,50,100,.24));isolation:isolate}.tma-player-avatar.compact{width:150px;height:168px}.tma-player-avatar.char-girl{--hair:#6b351e;--shirt:#ff86bd;--pants:#4b8dff}.avatar-shadow{position:absolute;left:28%;right:28%;bottom:7%;height:18px;background:rgba(20,50,100,.18);border-radius:50%;filter:blur(4px)}.avatar-body{position:absolute;left:33%;top:43%;width:34%;height:33%;background:linear-gradient(180deg,var(--shirt),#2d64d5);border-radius:24px 24px 18px 18px;z-index:2}.avatar-shirt{position:absolute;left:24%;top:8%;width:52%;height:48%;background:#fff;border-radius:0 0 22px 22px;opacity:.92}.avatar-arm{position:absolute;top:10%;width:20%;height:45%;background:var(--skin);border-radius:999px;transform-origin:top center}.avatar-arm.left{left:-20%;transform:rotate(18deg)}.avatar-arm.right{right:-20%;transform:rotate(-18deg)}.avatar-leg{position:absolute;top:86%;width:24%;height:48%;background:var(--pants);border-radius:999px}.avatar-leg.left{left:18%;transform:rotate(3deg)}.avatar-leg.right{right:18%;transform:rotate(-3deg)}.avatar-leg:after{content:'';position:absolute;left:-16%;bottom:-13%;width:140%;height:25%;background:#fff;border:4px solid #3864b7;border-radius:999px}.avatar-head{position:absolute;left:25%;top:7%;width:50%;height:45%;background:var(--skin);border-radius:46% 46% 48% 48%;z-index:4;box-shadow:inset 0 -8px 0 rgba(202,116,70,.12)}.avatar-face{position:absolute;inset:0}.avatar-hair{position:absolute;left:-4%;top:-9%;width:108%;height:45%;background:var(--hair);border-radius:52% 52% 35% 35%;z-index:5}.char-girl .avatar-hair:before,.char-girl .avatar-hair:after{content:'';position:absolute;top:36%;width:32%;height:58%;background:var(--hair);border-radius:50%;}.char-girl .avatar-hair:before{left:-18%}.char-girl .avatar-hair:after{right:-18%}.eye{position:absolute;top:47%;width:13%;height:15%;background:#172044;border-radius:50%;z-index:6}.eye.left{left:27%}.eye.right{right:27%}.eye:after{content:'';position:absolute;left:25%;top:15%;width:30%;height:30%;background:#fff;border-radius:50%}.mouth{position:absolute;left:43%;top:68%;width:14%;height:8%;border-bottom:4px solid #a83938;border-radius:0 0 999px 999px;z-index:6}.avatar-name{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);background:linear-gradient(135deg,#fff,#e8f6ff);border-radius:999px;padding:5px 12px;color:#7b5cff;font-size:15px;white-space:nowrap;box-shadow:0 8px 18px rgba(30,80,160,.12)}.avatar-equipment{position:absolute;z-index:9;filter:drop-shadow(0 4px 5px rgba(0,0,0,.2));pointer-events:none}.eq-eyes{left:50%;top:31%;transform:translate(-50%,-50%);font-size:42px}.eq-neck{left:50%;top:50%;transform:translate(-50%,-50%) scale(1.05);font-size:44px}.eq-head{left:50%;top:2%;transform:translate(-50%,-20%);font-size:46px}.eq-back{right:18%;top:45%;font-size:42px;z-index:1}.avatar-effect.effect-twinkle:before,.avatar-effect.effect-rocket:before,.avatar-effect.effect-firework:before{position:absolute;right:9%;top:16%;font-size:28px;animation:avatarFx264 1.4s ease-in-out infinite alternate}.avatar-effect.effect-twinkle:before{content:'✨'}.avatar-effect.effect-rocket:before{content:'🚀'}.avatar-effect.effect-firework:before{content:'🎆'}@keyframes avatarFx264{to{transform:translateY(-8px) scale(1.12);opacity:.75}}.pose-run .avatar-leg.left{transform:rotate(-20deg)}.pose-run .avatar-leg.right{transform:rotate(20deg)}.pose-jump{animation:avatarJump264 1.1s ease-in-out infinite}.pose-celebrate .avatar-arm.left{transform:rotate(145deg)}.pose-celebrate .avatar-arm.right{transform:rotate(-145deg)}@keyframes avatarJump264{50%{transform:translateY(-14px)}}

/* hide old global accessory emoji layer to stop floating on iPad */
.shop-accessory-layer{display:none!important}.preview-accessory{display:none!important}

/* richer frames/themes on cards */
.shop-item-card.equipped{outline:4px solid rgba(119,230,164,.9)!important}.shop-item-card{background-image:linear-gradient(180deg,rgba(255,255,255,.88),rgba(227,246,255,.78))!important}.shop-item-card .equipped-ribbon{background:linear-gradient(135deg,#76ee9b,#dfffdc);border-radius:999px;padding:4px 10px;color:#146437;font-weight:1000}.shop-tabs-polished{position:sticky;top:0;z-index:4;backdrop-filter:blur(8px)}
@media(max-width:900px){.home-hero{grid-template-columns:1fr!important}.home-player-avatar-card{order:2}.side.tma-dock-center-v2 .nav{min-width:86px!important;width:86px!important;height:82px!important}.side.tma-dock-center-v2 .dock-spacer{flex-basis:34vw}.tma-player-avatar{width:190px;height:210px}.tma-player-avatar.compact{width:142px;height:160px}.player-preview-title{display:grid;text-align:center}.profile-avatar-actions{display:grid}.avatar-summary{justify-content:center}}

/* =====================================================================
   TMA Kids Edition v2.6.50 — Premium Avatar Profile + Equipment Polish
   ===================================================================== */
body.tma-v265-premium-avatar{--premium-blue:#092b78;--premium-cyan:#63d9ff;--premium-gold:#ffd76a;--premium-purple:#8a68ff;--premium-pink:#ff7bd8}
.premium-profile-header265{background:linear-gradient(135deg,rgba(14,47,130,.88),rgba(36,96,205,.72));color:#fff;border:2px solid rgba(255,255,255,.35);box-shadow:0 18px 44px rgba(13,38,99,.22),inset 0 0 36px rgba(111,202,255,.18)}
.premium-profile-header265 h2{font-size:34px;margin:0;color:#ffe77a;text-shadow:0 3px 10px rgba(0,0,0,.32)}
.premium-profile-screen265{display:grid;grid-template-columns:320px minmax(380px,1fr) 330px;gap:18px;align-items:stretch;margin:12px 0 18px}.premium-profile-screen265.compact{grid-template-columns:250px minmax(340px,1fr) 280px;gap:12px}.premium-profile-screen265.compact .premium-equipped-summary265{font-size:13px}.premium-profile-screen265.compact .premium-avatar-stage265{min-height:460px}.premium-profile-screen265.compact .tma-premium-avatar265{width:260px;height:350px}.premium-avatar-control265,.premium-equipped-summary265,.premium-avatar-stage265{border-radius:34px;border:2px solid rgba(255,255,255,.48);background:linear-gradient(180deg,rgba(19,61,156,.72),rgba(30,71,147,.46));box-shadow:0 18px 46px rgba(10,38,98,.28),inset 0 0 28px rgba(255,255,255,.14);backdrop-filter:blur(12px);color:#fff}.premium-avatar-control265,.premium-equipped-summary265{padding:18px;display:flex;flex-direction:column;gap:12px}.premium-avatar-control265 h3,.premium-equipped-summary265 h3{font-size:24px;margin:0 0 4px;color:#ffe978;text-shadow:0 3px 12px rgba(0,0,0,.28);text-align:center}.gender-toggle265{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(255,255,255,.12);border-radius:22px;padding:6px}.gender-toggle265 button{border-radius:18px;background:rgba(255,255,255,.18);color:#dfeeff;font-weight:1000;padding:12px 8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.gender-toggle265 button.selected{background:linear-gradient(135deg,#53d8ff,#3b7dff);color:#fff;box-shadow:0 0 22px rgba(88,220,255,.5),inset 0 0 0 2px rgba(255,255,255,.75)}.premium-avatar-control265>b{color:#ffe978;border-top:1px solid rgba(255,255,255,.18);padding-top:8px;text-align:center}.avatar-options-grid265{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.avatar-option265{min-height:72px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.12));border:2px solid rgba(255,255,255,.2);color:#fff;display:grid;place-items:center;padding:6px;box-shadow:inset 0 5px 9px rgba(255,255,255,.22),0 10px 18px rgba(0,0,0,.12)}.avatar-option265 span{font-size:30px;filter:drop-shadow(0 5px 6px rgba(0,0,0,.22))}.avatar-option265 small{font-weight:900;font-size:10px;line-height:1.1}.avatar-option265.selected{background:linear-gradient(135deg,#fff,#dff7ff 48%,#87c5ff);border-color:#fff;box-shadow:0 0 0 3px rgba(81,216,255,.38),0 0 26px rgba(87,207,255,.55);color:#22488e}.premium-avatar-stage265{position:relative;min-height:540px;display:grid;place-items:center;overflow:hidden;padding:24px;background:radial-gradient(circle at 65% 16%,rgba(255,243,160,.92) 0 4%,transparent 18%),radial-gradient(circle at 22% 22%,rgba(139,115,255,.8),transparent 25%),linear-gradient(145deg,#16104d,#2839b2 55%,#071b56)}.premium-avatar-stage265:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 74% 42%,#fff 0 1px,transparent 2px),radial-gradient(circle at 84% 18%,#ffeaa2 0 2px,transparent 4px),radial-gradient(circle at 33% 68%,#aeeeff 0 1px,transparent 3px);background-size:150px 120px,180px 140px,220px 160px,130px 110px;opacity:.95}.premium-avatar-stage265:after{content:'';position:absolute;left:10%;right:10%;bottom:7%;height:86px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(128,90,255,.72),rgba(48,222,255,.22),transparent 68%);filter:blur(2px)}.premium-avatar-stage265.theme-village{background:linear-gradient(180deg,#56bdfb 0%,#bff8ff 38%,#eaffc4 64%,#77ca68)}.premium-avatar-stage265.theme-forest{background:linear-gradient(145deg,#074b54,#26a063 55%,#b8ffb6)}.premium-avatar-stage265.theme-castle{background:radial-gradient(circle at 68% 18%,#ffe28e,transparent 18%),linear-gradient(145deg,#3e53b4,#b296ff 55%,#ffe5a4)}.premium-avatar-stage265.theme-cave{background:radial-gradient(circle at 70% 18%,#ffec94,transparent 20%),linear-gradient(145deg,#241929,#654c72 60%,#161722)}.premium-avatar-stage265.frame-gold{box-shadow:0 0 0 4px rgba(255,255,255,.5),0 0 0 8px rgba(255,210,70,.55),0 24px 56px rgba(34,35,123,.38),inset 0 0 38px rgba(255,218,97,.24)}.premium-avatar-stage265.frame-rainbow{box-shadow:0 0 0 4px rgba(255,255,255,.6),0 0 0 8px rgba(255,126,231,.65),0 0 32px rgba(94,231,255,.55),inset 0 0 30px rgba(255,255,255,.18)}.premium-avatar-stage265.frame-thinker{box-shadow:0 0 0 4px rgba(255,255,255,.5),0 0 0 8px rgba(155,128,255,.45),inset 0 0 42px rgba(187,161,255,.24)}.premium-frame-crown265{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:2;width:122px;height:70px;border-radius:0 0 60px 60px;background:linear-gradient(135deg,#ffd96a,#fff3b4,#d98a22);box-shadow:0 12px 26px rgba(0,0,0,.2),inset 0 4px 8px rgba(255,255,255,.7);clip-path:polygon(0 44%,18% 20%,34% 42%,50% 0,66% 42%,82% 20%,100% 44%,88% 100%,12% 100%)}.premium-frame-crown265 span{position:absolute;left:50%;top:28%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 8px #fff);font-size:30px}.tma-premium-avatar265{--skin:#ffd3ab;--skin2:#ffbd8c;--hair:#372016;--shirt:#2d85ff;--short:#103f9b;position:relative;width:330px;height:430px;z-index:4;display:block;filter:drop-shadow(0 24px 24px rgba(5,20,70,.35));isolation:isolate}.tma-premium-avatar265.compact{width:190px;height:250px}.tma-premium-avatar265.char-girl{--hair:#4a2419;--shirt:#2d85ff;--short:#2e6bde}.pplatform265{position:absolute;left:12%;right:12%;bottom:1%;height:54px;border-radius:50%;background:radial-gradient(ellipse at center,#fff3 0 20%,#a25bff99 42%,#30e9ff55 58%,transparent 70%);box-shadow:0 0 0 8px rgba(255,255,255,.16),0 0 42px rgba(169,101,255,.62);z-index:1}.pbody265{position:absolute;left:34%;top:45%;width:32%;height:31%;border-radius:30px 30px 20px 20px;background:linear-gradient(160deg,#60c2ff,var(--shirt) 50%,#174ecb);z-index:4;box-shadow:inset 9px 0 15px rgba(255,255,255,.18),inset -9px -12px 12px rgba(0,42,130,.18)}.pshirt265{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-style:normal;font-weight:1000;font-size:21px;color:#fff;letter-spacing:.5px;text-shadow:0 2px 2px rgba(0,0,0,.2)}.parm265{position:absolute;top:10%;width:22%;height:54%;border-radius:999px;background:linear-gradient(180deg,var(--skin),var(--skin2));box-shadow:inset -5px -6px 8px rgba(185,87,40,.14)}.parm265.left{left:-23%;transform:rotate(12deg)}.parm265.right{right:-23%;transform:rotate(-10deg)}.parm265:after{content:'';position:absolute;left:5%;right:5%;bottom:-15%;height:28%;border-radius:50%;background:linear-gradient(180deg,var(--skin),#ffb383)}.pleg265{position:absolute;top:86%;width:25%;height:53%;border-radius:999px;background:linear-gradient(180deg,#ffd2a7,#ffb98c);z-index:2}.pleg265.left{left:20%;transform:rotate(2deg)}.pleg265.right{right:20%;transform:rotate(-2deg)}.pleg265:before{content:'';position:absolute;left:-12%;right:-12%;top:-3%;height:48%;border-radius:12px;background:linear-gradient(180deg,#184fa8,#082f80)}.pleg265:after{content:'';position:absolute;left:-38%;bottom:-16%;width:176%;height:26%;border-radius:999px;background:linear-gradient(180deg,#fff,#e6f5ff);border:5px solid #2352b0;box-shadow:0 8px 12px rgba(0,0,0,.18)}.phead265{position:absolute;left:23%;top:11%;width:54%;height:39%;border-radius:46% 46% 48% 48%;background:radial-gradient(circle at 36% 28%,#ffe3c6 0 15%,transparent 35%),linear-gradient(160deg,var(--skin),#ffc099 70%,#f0a372);z-index:6;box-shadow:inset 10px 0 14px rgba(255,255,255,.25),inset -10px -12px 12px rgba(180,88,45,.16)}.pear265{position:absolute;top:46%;width:15%;height:20%;border-radius:50%;background:var(--skin2);z-index:4}.pear265.left{left:-8%}.pear265.right{right:-8%}.phair-front265,.phair-back265{position:absolute;z-index:8;background:var(--hair);filter:drop-shadow(0 5px 3px rgba(0,0,0,.16))}.phair-front265{left:-5%;top:-13%;width:110%;height:48%;border-radius:50% 50% 34% 34%;background:radial-gradient(circle at 30% 30%,#6e402d 0 11%,transparent 13%),radial-gradient(circle at 48% 20%,#5c3324 0 14%,transparent 16%),radial-gradient(circle at 65% 34%,#2b1710 0 15%,transparent 17%),linear-gradient(140deg,#2e1911,#6e402d 55%,#1c0e0a)}.hair-boy-side .phair-front265{clip-path:polygon(0 22%,52% 0,100% 25%,82% 55%,42% 35%,12% 70%)}.hair-boy-wave .phair-front265{height:54%;clip-path:polygon(0 40%,18% 8%,36% 35%,55% 3%,72% 38%,100% 18%,88% 62%,58% 52%,25% 76%)}.char-girl .phair-front265{top:-10%;height:36%;border-radius:48% 48% 22% 22%;background:linear-gradient(150deg,#2a150d,#6a351e)}.char-girl .phair-back265{left:-18%;top:18%;width:136%;height:70%;background:radial-gradient(circle at 8% 50%,#5b2b19 0 14%,transparent 16%),radial-gradient(circle at 92% 50%,#5b2b19 0 14%,transparent 16%);z-index:5}.hair-girl-bob .phair-back265{background:radial-gradient(ellipse at center,#5b2b19 0 45%,transparent 46%)}.hair-girl-twin .phair-back265{background:radial-gradient(circle at 2% 45%,#5b2b19 0 20%,transparent 22%),radial-gradient(circle at 98% 45%,#5b2b19 0 20%,transparent 22%)}.pface265{position:absolute;inset:0;z-index:9}.peye265{position:absolute;top:48%;width:19%;height:21%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 9%,transparent 10%),radial-gradient(circle at center,#8d5a31 0 34%,#1c1836 36%);box-shadow:0 0 0 3px rgba(255,255,255,.78)}.peye265.left{left:25%}.peye265.right{right:25%}.pnose265{position:absolute;left:50%;top:65%;width:6%;height:5%;background:#e49b70;border-radius:50%;transform:translateX(-50%)}.pmouth265{position:absolute;left:40%;top:74%;width:20%;height:10%;border-radius:0 0 999px 999px;background:#8c2637;box-shadow:inset 0 -4px 0 #ff9ca0}.peq265{position:absolute;z-index:12;pointer-events:none}.peyewear265{left:50%;top:31.5%;width:47%;height:16%;transform:translateX(-50%);border-radius:999px}.peyewear265:before,.peyewear265:after{content:'';position:absolute;top:0;width:37%;height:100%;border-radius:50%;border:6px solid #2f78ff;background:rgba(255,255,255,.08);box-shadow:0 0 10px rgba(90,218,255,.45)}.peyewear265:before{left:0}.peyewear265:after{right:0}.peyewear265.item-heart-glasses:before,.peyewear265.item-heart-glasses:after{border-color:#ff72bd;border-radius:55% 55% 50% 50%;transform:rotate(-8deg)}.peyewear265.item-blue-round:before,.peyewear265.item-blue-round:after{border-color:#4be0ff}.peyewear265:has(+ *){} .peyewear265 i{display:none}.peyewear265:after{box-shadow:0 0 10px rgba(90,218,255,.45),-33px 13px 0 -30px #2f78ff}.pneck265{left:50%;top:48%;width:46%;height:17%;transform:translateX(-50%);z-index:11}.pneck265:before{content:'';position:absolute;left:0;right:0;top:14%;height:64%;border-radius:12px 12px 42px 42px;background:linear-gradient(135deg,#ffe66c,#f4a923);box-shadow:inset 0 5px 6px rgba(255,255,255,.45),0 6px 10px rgba(0,0,0,.18)}.pneck265.item-hero-scarf:before{background:linear-gradient(135deg,#ff4d4d,#a40b20)}.pneck265.item-blue-scarf:before{background:linear-gradient(135deg,#5ce7ff,#246cff)}.pneck265:after{content:'';position:absolute;right:1%;top:45%;width:36%;height:55%;background:inherit;border-radius:6px 16px 14px 6px;transform:rotate(-18deg)}.pback265{right:12%;top:44%;width:27%;height:32%;z-index:3}.pback265.item-rocket-wing:before{content:'';position:absolute;right:18%;top:2%;width:42%;height:72%;border-radius:50% 50% 20% 20%;background:linear-gradient(135deg,#fff,#e6f1ff 45%,#d92337 46% 62%,#fff 63%);border:3px solid rgba(255,255,255,.7);transform:rotate(22deg);box-shadow:0 10px 18px rgba(0,0,0,.22)}.pback265.item-rocket-wing:after{content:'';position:absolute;right:6%;top:67%;font-size:32px;content:'🔥';filter:drop-shadow(0 0 10px #ffb33b)}.pback265.item-little-planet:before{content:'🪐';font-size:54px;position:absolute;right:0;top:22%}.pback265.item-star-crown:before{content:'👑';font-size:48px;position:absolute;right:12%;top:-86%}.pheaditem265{left:50%;top:1%;transform:translateX(-50%);font-size:52px;z-index:16}.pheaditem265.item-star-crown:before{content:'👑'}.pheaditem265.item-thinker-hat:before{content:'🎓'}.pfx265{position:absolute;inset:0;z-index:18;pointer-events:none}.pfx265.effect-twinkle:before,.pfx265.effect-rocket:before,.pfx265.effect-firework:before{position:absolute;right:10%;top:13%;font-size:34px;animation:premiumFx265 1.3s ease-in-out infinite alternate}.pfx265.effect-twinkle:before{content:'✨'}.pfx265.effect-rocket:before{content:'🚀'}.pfx265.effect-firework:before{content:'🎆'}@keyframes premiumFx265{to{transform:translateY(-14px) scale(1.15);opacity:.75}}.pname265{position:absolute;left:50%;bottom:-6%;transform:translateX(-50%);background:linear-gradient(135deg,#2e2f91,#7c59ff);border:3px solid #fff;border-radius:999px;color:#fff;white-space:nowrap;padding:7px 16px;font-weight:1000;box-shadow:0 10px 22px rgba(20,40,140,.28);z-index:20}.premium-nameplate265{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:8;background:linear-gradient(135deg,#1d2d8e,#7c59ff);border:3px solid rgba(255,255,255,.85);border-radius:999px;padding:9px 16px;color:#fff;display:flex;align-items:center;gap:9px;box-shadow:0 12px 26px rgba(0,0,0,.22)}.premium-nameplate265 button{width:30px;height:30px;border-radius:50%;background:#fff;color:#3152b2;font-weight:1000}.premium-effect-test265{position:absolute;left:50%;bottom:78px;transform:translateX(-50%);z-index:9;border-radius:999px;padding:9px 18px;font-weight:1000;background:linear-gradient(135deg,#ffe66c,#ff9f37);color:#653300;box-shadow:0 12px 25px rgba(255,170,54,.28)}.equip-row265{display:grid;grid-template-columns:52px 1fr;grid-template-areas:'icon title' 'icon val';gap:2px 10px;padding:12px;border-radius:18px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16)}.equip-row265 i{grid-area:icon;display:grid;place-items:center;font-style:normal;font-size:36px;background:rgba(255,255,255,.18);border-radius:16px}.equip-row265 b{grid-area:title;color:#ffe978}.equip-row265 span{grid-area:val;color:#e9f4ff;font-weight:900}.premium-profile-actions265{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:14px;margin:12px 0 22px}.shop-premium-preview265{border-radius:34px;padding:18px;background:linear-gradient(135deg,#dff8ff,#fff);box-shadow:inset 0 0 0 3px rgba(255,255,255,.7),0 16px 38px rgba(16,63,140,.17)}.shop-premium-preview265 .premium-profile-screen265{margin:0}.premium-home-avatar265{background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(225,248,255,.72));border:3px solid rgba(255,255,255,.88);box-shadow:0 18px 38px rgba(17,67,150,.18),inset 0 0 26px rgba(94,218,255,.14)}.premium-home-avatar265 .tma-premium-avatar265{margin-top:-14px}.avatar-effect-burst265{position:absolute;inset:0;pointer-events:none;z-index:50}.avatar-effect-burst265 span{position:absolute;left:50%;top:48%;font-size:34px;animation:burst265 1.4s ease-out forwards}.avatar-effect-burst265 span:nth-child(1){--x:-120px;--y:-90px}.avatar-effect-burst265 span:nth-child(2){--x:110px;--y:-100px}.avatar-effect-burst265 span:nth-child(3){--x:-70px;--y:90px}.avatar-effect-burst265 span:nth-child(4){--x:100px;--y:80px}@keyframes burst265{to{transform:translate(var(--x),var(--y)) scale(1.6) rotate(35deg);opacity:0}}.patch-summary265{background:linear-gradient(135deg,#eef8ff,#fff);padding:10px 14px;border-radius:16px;font-weight:900;color:#244c91}.gift-badge-controlled265:not(.has-chest) #chestTicketText,#giftBtn.gift-badge-controlled265:not(.has-chest) i{display:none!important}.gift-badge-controlled265.has-chest #chestTicketText{display:grid!important}.side.tma-dock-center-v2 .nav{font-weight:0!important}.side.tma-dock-center-v2 .nav::first-letter{font-size:38px!important}.side.tma-dock-center-v2 .nav.dock-focus::before,.side.tma-dock-center-v2 .nav.active::before{font-size:12px!important;bottom:-31px!important;max-width:96px;overflow:hidden;text-overflow:ellipsis}.side.tma-dock-center-v2 .phase-card{min-width:160px;text-align:center}.side.tma-dock-center-v2 .side-mascot{min-width:88px}.app-progress{z-index:30!important}
@media(max-width:1100px){.premium-profile-screen265{grid-template-columns:1fr}.premium-avatar-control265{order:2}.premium-equipped-summary265{order:3}.premium-avatar-stage265{order:1}.premium-profile-actions265{grid-template-columns:1fr}.premium-profile-screen265.compact{grid-template-columns:1fr}.premium-profile-screen265.compact .tma-premium-avatar265{width:210px;height:285px}.premium-profile-screen265.compact .premium-avatar-stage265{min-height:390px}.avatar-options-grid265{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.premium-avatar-stage265{min-height:440px}.tma-premium-avatar265{width:260px;height:350px}.premium-avatar-control265,.premium-equipped-summary265{padding:14px}.avatar-options-grid265{grid-template-columns:repeat(3,1fr)}.premium-profile-header265 h2{font-size:26px}.premium-profile-screen265{gap:12px}.premium-nameplate265{bottom:16px}.premium-effect-test265{bottom:64px}}


/* =====================================================================
   v2.6.50 — Stable Glass Menu Recovery
   Base: v2.6.50.  Purpose: keep the beautiful translucent buttons but
   remove MacBook Dock / center-focus behavior from the main runtime.
   ===================================================================== */
.app{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  gap:14px!important;
  height:100vh!important;
  max-width:1400px!important;
  padding:16px!important;
}
.side.tma-stable-glass-menu{
  position:relative!important;
  z-index:40!important;
  flex:0 0 auto!important;
  width:100%!important;
  min-height:126px!important;
  max-height:126px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:18px 20px!important;
  border-radius:32px!important;
  background:linear-gradient(180deg,rgba(32,92,184,.70),rgba(15,55,132,.66))!important;
  border:2px solid rgba(255,255,255,.22)!important;
  box-shadow:0 20px 45px rgba(10,47,120,.26), inset 0 1px 0 rgba(255,255,255,.36), inset 0 -18px 40px rgba(10,36,100,.22)!important;
  backdrop-filter:blur(18px) saturate(1.25)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.25)!important;
  scroll-snap-type:none!important;
  overscroll-behavior-x:contain!important;
}
.side.tma-stable-glass-menu::-webkit-scrollbar{height:0!important}
.side.tma-stable-glass-menu .side-mascot{display:none!important}
.side.tma-stable-glass-menu .phase-card{
  flex:0 0 230px!important;
  min-width:230px!important;
  height:92px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  border-radius:28px!important;
  color:#1e3a75!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(222,243,255,.82))!important;
  border:2px solid rgba(255,255,255,.78)!important;
  box-shadow:0 12px 28px rgba(7,37,103,.18), inset 0 1px 0 rgba(255,255,255,.8)!important;
  padding:10px 12px!important;
}
.side.tma-stable-glass-menu .phase-card b{font-size:18px!important;line-height:1.15!important}
.side.tma-stable-glass-menu .phase-card small{font-size:12px!important;font-weight:900!important;line-height:1.15!important}
.side.tma-stable-glass-menu .nav{
  flex:0 0 150px!important;
  min-width:150px!important;
  height:84px!important;
  border-radius:28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.15!important;
  padding:10px 14px!important;
  color:#fff!important;
  font-weight:1000!important;
  font-size:17px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.08))!important;
  border:2px solid rgba(255,255,255,.25)!important;
  box-shadow:0 12px 28px rgba(4,32,95,.18), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -18px 26px rgba(0,35,100,.14)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  transform:none!important;
  scroll-snap-align:none!important;
}
.side.tma-stable-glass-menu .nav.active,
.side.tma-stable-glass-menu .nav.dock-focus{
  background:linear-gradient(135deg,rgba(135,105,255,.98),rgba(52,135,255,.96))!important;
  border-color:rgba(255,255,255,.50)!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.16),0 12px 32px rgba(107,75,255,.32),0 0 24px rgba(255,235,98,.38),inset 0 1px 0 rgba(255,255,255,.45)!important;
}
.side.tma-stable-glass-menu .nav.hidden{display:none!important}
.content{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  border-radius:30px!important;
}
.side.tma-stable-glass-menu .dock-spacer{display:none!important}
.side.tma-stable-glass-menu .nav::before,
.side.tma-stable-glass-menu .nav::after{content:none!important}
@media (max-width:760px){
  .app{padding:10px!important;gap:10px!important}
  .side.tma-stable-glass-menu{min-height:106px!important;max-height:106px!important;padding:14px!important;gap:10px!important}
  .side.tma-stable-glass-menu .phase-card{flex-basis:190px!important;min-width:190px!important;height:78px!important}
  .side.tma-stable-glass-menu .nav{flex-basis:126px!important;min-width:126px!important;height:74px!important;font-size:15px!important}
}


/* v2.6.50 Avatar Test Lab */
.avatar-lab-page header.avatar-lab-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.avatar-lab-badge{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.65);box-shadow:0 14px 35px rgba(31,76,160,.16), inset 0 1px 0 rgba(255,255,255,.75);font-weight:900;color:#3150a6;border:1px solid rgba(255,255,255,.75)}
.avatar-lab-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 18px}
.avatar-lab-segment{display:flex;gap:8px;flex-wrap:wrap;padding:8px;border-radius:24px;background:rgba(255,255,255,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 25px rgba(58,87,174,.12);border:1px solid rgba(255,255,255,.6)}
.avatar-lab-segment button,.avatar-lab-thumb{border:0;border-radius:18px;background:rgba(255,255,255,.72);padding:10px 14px;font-weight:900;color:#2b3c86;box-shadow:0 8px 18px rgba(41,72,157,.12);cursor:pointer;transition:.18s transform,.18s box-shadow,.18s background}
.avatar-lab-segment button.active,.avatar-lab-thumb.active{background:linear-gradient(135deg,#7258ff,#23c6ff);color:#fff;box-shadow:0 14px 30px rgba(80,93,225,.28);transform:translateY(-2px)}
.avatar-lab-stage-wrap{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:18px;align-items:stretch}
.avatar-lab-card{border-radius:30px;padding:18px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(237,246,255,.64));border:1px solid rgba(255,255,255,.78);box-shadow:0 18px 50px rgba(44,79,170,.16);backdrop-filter:blur(14px)}
.avatar-lab-stage{height:420px;border-radius:26px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.95),rgba(214,232,255,.7) 38%,rgba(171,203,255,.38));box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.avatar-lab-stage img{max-height:96%;max-width:96%;object-fit:contain;filter:drop-shadow(0 20px 25px rgba(30,55,120,.20))}
.avatar-lab-status{margin-top:12px;font-size:12px;color:#54638b;word-break:break-all;background:rgba(255,255,255,.55);border-radius:16px;padding:9px 12px}
.avatar-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:12px}
.avatar-lab-thumb{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;padding:10px}
.avatar-lab-thumb img{max-height:110px;max-width:100%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(20,50,120,.16))}
.avatar-lab-thumb span{font-size:12px;margin-top:6px}
.avatar-lab-note{margin-top:18px;border-radius:22px;padding:14px 16px;background:rgba(255,250,219,.76);border:1px solid rgba(255,220,105,.5);color:#66552a}
@media (max-width:900px){.avatar-lab-stage-wrap{grid-template-columns:1fr}.avatar-lab-stage{height:320px}.avatar-lab-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}}


/* =====================================================================
   v2.6.50 — Avatar Lab Full View + Mobile Reward Summary Fix
   Purpose: show full-body avatar assets, keep premium background over long scroll,
   and make reward summary fit mobile screens.
   ===================================================================== */
html, body{min-height:100%;}
body{
  background:
    radial-gradient(circle at 72% 14%, rgba(255,255,210,.28), transparent 28%),
    url('./assets/backgrounds/home_premium_landscape.webp') center/cover fixed no-repeat !important;
  background-color:#58c9ff!important;
}
body::before{
  position:fixed!important;
  inset:0!important;
  min-height:100dvh!important;
}
.app{isolation:isolate;}
.app::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:url('./assets/backgrounds/home_premium_landscape.webp') center/cover fixed no-repeat;
}
.content{
  background:transparent!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.content::before{
  position:fixed!important;
  inset:0!important;
  z-index:-1!important;
  min-height:100dvh!important;
  background:url('./assets/backgrounds/home_premium_landscape.webp') center/cover fixed no-repeat!important;
  opacity:.96!important;
}
.content::after{position:fixed!important;inset:0!important;z-index:-1!important;}
.page{background:transparent!important;}

/* Avatar Lab: force full-body contain, never cover/crop */
.avatar-lab-stage-wrap{grid-template-columns:1fr!important;}
.avatar-lab-card{overflow:visible!important;}
.avatar-lab-stage{
  height:clamp(420px,62dvh,680px)!important;
  min-height:420px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  padding:18px!important;
}
#avatarLabImage,
.avatar-lab-stage > img{
  display:block!important;
  width:auto!important;
  height:min(100%, 620px)!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.avatar-lab-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important;}
.avatar-lab-thumb{min-height:190px!important;overflow:visible!important;}
.avatar-lab-thumb img{
  display:block!important;
  width:auto!important;
  height:142px!important;
  max-width:100%!important;
  max-height:142px!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.avatar-lab-thumb span{font-size:13px!important;font-weight:1000!important;}
@media(max-width:760px){
  .avatar-lab-stage{height:clamp(360px,58dvh,560px)!important;min-height:360px!important;padding:12px!important;}
  #avatarLabImage,.avatar-lab-stage > img{height:min(100%,520px)!important;}
  .avatar-lab-grid{grid-template-columns:repeat(2,minmax(120px,1fr))!important;}
  .avatar-lab-thumb{min-height:170px!important;}
  .avatar-lab-thumb img{height:125px!important;max-height:125px!important;}
}

/* Mobile result / reward summary: fit into viewport and allow scroll */
.reward-summary-modal,.chest-open-modal{
  align-items:center!important;
  justify-items:center!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
}
.reward-summary-card,.chest-open-card{
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
#resultPage.active{
  min-height:auto!important;
  height:auto!important;
  overflow:visible!important;
  padding-bottom:calc(120px + env(safe-area-inset-bottom))!important;
}
#resultPage.active .result{
  max-height:none!important;
  overflow:visible!important;
  margin:8px auto 28px!important;
}
@media(max-width:720px),(max-height:760px){
  .reward-summary-card{
    width:min(96vw,520px)!important;
    border-radius:24px!important;
    padding:12px!important;
  }
  .reward-summary-card>img{height:64px!important;}
  .reward-summary-card h2{font-size:1.28rem!important;margin:4px 0!important;}
  .reward-stage-text{font-size:.92rem!important;margin-bottom:4px!important;}
  .reward-gain-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important;margin:8px 0!important;}
  .reward-gain-grid article{padding:8px 6px!important;border-radius:14px!important;}
  .reward-gain-grid span{font-size:.72rem!important;}
  .reward-gain-grid b{font-size:1.05rem!important;}
  .reward-countup{padding:7px 9px!important;margin:6px 0!important;font-size:.86rem!important;}
  .reward-countup b{font-size:1.05rem!important;}
  .reward-xp-box{padding:9px!important;margin:8px 0!important;border-radius:16px!important;}
  .reward-xp-track{height:16px!important;margin-top:5px!important;}
  .levelup-banner,.chest-earned-banner{padding:8px 10px!important;margin:6px auto!important;font-size:.9rem!important;}
  .reward-actions{gap:6px!important;margin-top:8px!important;}
  .reward-actions button{min-height:40px!important;padding:8px 12px!important;font-size:.88rem!important;}
}.avatar-lab-note{line-height:1.5}


/* v2.6.50 — Progress bar must never be hidden behind the glass menu */
.app-progress{
  position:fixed!important;
  left:max(10px,env(safe-area-inset-left))!important;
  right:max(10px,env(safe-area-inset-right))!important;
  top:max(8px,env(safe-area-inset-top))!important;
  z-index:5000!important;
  pointer-events:none!important;
}
.app{
  padding-top:calc(64px + env(safe-area-inset-top))!important;
}
.side.tma-stable-glass-menu{
  z-index:120!important;
}
@media(max-width:760px){
  .app{padding-top:calc(58px + env(safe-area-inset-top))!important;}
  .app-progress{top:max(6px,env(safe-area-inset-top))!important;}
}


/* v2.6.50 CLEAN — Gift button badge placement */
#giftBtn{position:relative; overflow:visible;}
#giftBtn .gift-btn-img{pointer-events:none; user-select:none;}


/* ============================================================================
   v2.6.50 — Gift Button Polish + Avatar/Mascot Asset Refresh
   Clean rule: one button structure only; no stacked emoji/text/background overlays.
   ============================================================================ */
#giftBtn.gift-clean-btn,
.top #giftBtn.gift-clean-btn,
.glass.gift.gift-clean-btn{
  position:relative!important;
  display:block!important;
  width:min(430px,38vw)!important;
  min-width:260px!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  color:transparent!important;
  text-shadow:none!important;
  line-height:0!important;
}
#giftBtn.gift-clean-btn::before,
#giftBtn.gift-clean-btn::after{
  content:none!important;
  display:none!important;
}
#giftBtn.gift-clean-btn .gift-btn-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:104px!important;
  object-fit:contain!important;
  object-position:center!important;
  pointer-events:none!important;
  user-select:none!important;
  filter:drop-shadow(0 10px 12px rgba(20,72,150,.20))!important;
}
#giftBtn.gift-clean-btn #chestTicketText,
#giftBtn.gift-clean-btn .gift-count-badge-clean{
  position:absolute!important;
  top:-10px!important;
  right:-12px!important;
  z-index:20!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:999px!important;
  display:grid;
  place-items:center!important;
  background:linear-gradient(180deg,#ff6a7f,#f51647)!important;
  color:#fff!important;
  border:4px solid #fff!important;
  box-shadow:0 8px 18px rgba(126,0,34,.26)!important;
  font-size:22px!important;
  font-weight:1000!important;
  font-style:normal!important;
  line-height:1!important;
  text-shadow:0 2px 3px rgba(70,0,30,.26)!important;
}
#giftBtn.gift-clean-btn:not(.has-chest) #chestTicketText{
  display:none!important;
}
@media(max-width:860px){
  #giftBtn.gift-clean-btn{width:min(360px,44vw)!important; min-width:220px!important;}
  #giftBtn.gift-clean-btn .gift-btn-img{max-height:86px!important;}
}


/* ============================================================================
   v2.6.50 — Home UI Polish + Profile Avatar Preview Safe Mode
   ============================================================================ */
#giftBtn.gift-clean-btn.gift-clean-2627,
.top #giftBtn.gift-clean-btn.gift-clean-2627,
.glass.gift.gift-clean-btn.gift-clean-2627{
  background:none!important;
  background-color:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
  line-height:0!important;
  overflow:visible!important;
  isolation:isolate!important;
}
#giftBtn.gift-clean-btn.gift-clean-2627::before,
#giftBtn.gift-clean-btn.gift-clean-2627::after,
.top #giftBtn.gift-clean-btn.gift-clean-2627::before,
.top #giftBtn.gift-clean-btn.gift-clean-2627::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  border:0!important;
}
#giftBtn.gift-clean-btn.gift-clean-2627 .gift-btn-img{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  vertical-align:top!important;
  filter:drop-shadow(0 6px 7px rgba(20,72,150,.15))!important;
}
#giftBtn.gift-clean-btn.gift-clean-2627 #chestTicketText{
  top:-12px!important;
  right:-14px!important;
  z-index:30!important;
}

.profile-avatar-preview2627{
  margin:18px 0;
  border-radius:34px;
  padding:18px;
  background:linear-gradient(135deg,rgba(232,249,255,.92),rgba(255,255,255,.84));
  border:2px solid rgba(255,255,255,.8);
  box-shadow:0 18px 42px rgba(20,70,150,.16), inset 0 0 22px rgba(255,255,255,.5);
}
.profile-preview-head2627{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.profile-preview-head2627 b{
  display:block;
  font-size:24px;
  color:#18356f;
}
.profile-preview-head2627 small{
  display:block;
  color:#42628d;
  font-weight:800;
}
.profile-preview-head2627 span{
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  color:#3156ad;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(38,89,168,.12);
}
.profile-preview-body2627{
  display:grid;
  grid-template-columns:minmax(260px,380px) 1fr;
  gap:16px;
  align-items:center;
}
.profile-avatar-stage2627{
  min-height:360px;
  border-radius:28px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:radial-gradient(circle at 50% 20%,#fff 0 9%,transparent 28%),linear-gradient(180deg,#e9f7ff,#eaffef);
  border:2px solid rgba(255,255,255,.86);
}
.profile-avatar-stage2627 img{
  max-width:88%;
  max-height:340px;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 14px 18px rgba(15,55,120,.22));
}
.profile-avatar-controls2627{
  display:grid;
  gap:12px;
}
.seg2627{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:8px;
  border-radius:22px;
  background:rgba(255,255,255,.62);
}
.seg2627 button{
  border:0;
  border-radius:16px;
  padding:11px 14px;
  font-weight:1000;
  background:linear-gradient(180deg,#f4fbff,#d8efff);
  color:#244c91;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);
}
.seg2627 button.active{
  background:linear-gradient(135deg,#7d62ff,#36b5ff);
  color:#fff;
  box-shadow:0 9px 20px rgba(69,113,245,.22), inset 0 0 0 2px rgba(255,255,255,.55);
}
.view-grid2627 button{
  min-width:72px;
}
.profile-preview-note2627{
  margin:0;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.68);
  color:#39527e;
  font-weight:900;
}
@media(max-width:860px){
  .profile-preview-body2627{grid-template-columns:1fr;}
  .profile-avatar-stage2627{min-height:300px;}
  .profile-avatar-stage2627 img{max-height:290px;}
}


/* v2.6.50 — โหมดส่งเสริมวินัย */
.avatar-asset-gallery2628{margin:18px 0 28px;padding:18px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(230,248,255,.78));border:2px solid rgba(255,255,255,.82);box-shadow:0 16px 42px rgba(22,70,150,.14)}
.avatar-gallery-head2628{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.avatar-gallery-head2628 b{display:block;font-size:22px;color:#173b82}.avatar-gallery-head2628 small{display:block;color:#42648d;font-weight:850}.avatar-gallery-head2628 span{padding:9px 14px;border-radius:999px;background:#fff;color:#3156ad;font-weight:1000;box-shadow:0 8px 18px rgba(50,90,170,.12)}
.avatar-asset-gallery2628 h3{margin:16px 0 9px;color:#1f4388;font-size:18px}.avatar-grid2628{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.avatar-thumb2628{margin:0;min-height:168px;padding:8px;border-radius:20px;background:rgba(255,255,255,.72);display:grid;grid-template-rows:1fr auto;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75)}.avatar-thumb2628 img{max-width:100%;max-height:132px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(20,60,120,.16))}.avatar-thumb2628 figcaption{font-size:12px;font-weight:900;color:#315075;text-align:center;word-break:break-word}

/* v2.6.50 — Gift safe area + Equipment Lab */
.gift-overflow-visible-2629,.top.gift-overflow-visible-2629,.home-actions.gift-overflow-visible-2629,.daily-actions.gift-overflow-visible-2629,.hero-actions.gift-overflow-visible-2629{overflow:visible!important;}
#giftBtn.gift-safe-area-2629{overflow:visible!important;contain:layout style!important;margin-right:12px!important;padding:0!important;min-width:clamp(128px,34vw,260px)!important;max-width:min(42vw,330px)!important;}
#giftBtn.gift-safe-area-2629::before,#giftBtn.gift-safe-area-2629::after{content:none!important;display:none!important;}
#giftBtn.gift-safe-area-2629 .gift-btn-img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;}
#giftBtn.gift-safe-area-2629 #chestTicketText,#giftBtn.gift-safe-area-2629 .gift-count-safe-2629{top:2px!important;right:4px!important;transform:none!important;z-index:50!important;min-width:26px!important;height:26px!important;font-size:13px!important;line-height:1!important;box-shadow:0 3px 10px rgba(20,50,120,.25)!important;}
@media(max-width:720px){#giftBtn.gift-safe-area-2629{min-width:118px!important;max-width:40vw!important;margin-right:18px!important;}#giftBtn.gift-safe-area-2629 #chestTicketText,#giftBtn.gift-safe-area-2629 .gift-count-safe-2629{top:4px!important;right:6px!important;min-width:22px!important;height:22px!important;font-size:12px!important;}}
.equipment-lab-page2629{padding:22px;}
.equipment-lab-header2629{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 18px;padding:20px 24px;border-radius:30px;background:linear-gradient(135deg,rgba(232,249,255,.94),rgba(255,255,255,.88));border:2px solid rgba(255,255,255,.8);box-shadow:0 16px 34px rgba(20,70,150,.14);}
.equipment-lab-header2629 h2{margin:0;color:#18356f;font-size:28px;}.equipment-lab-header2629 p{margin:4px 0 0;color:#3f5e88;font-weight:900;}.equipment-lab-header2629 span{padding:10px 14px;border-radius:999px;background:#fff;color:#3156ad;font-weight:1000;}
.equipment-lab-note2629{margin:0 0 14px;padding:14px 18px;border-radius:22px;background:rgba(255,255,255,.82);color:#254475;font-weight:900;}
.equipment-grid2629{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.equipment-card2629{padding:14px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(235,249,255,.82));border:2px solid rgba(255,255,255,.82);box-shadow:0 12px 24px rgba(20,70,150,.12);}
.equipment-img2629{height:150px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.68);margin-bottom:10px;overflow:hidden;}
.equipment-img2629 img{max-width:92%;max-height:140px;object-fit:contain;}.equipment-card2629 b{display:block;color:#18356f;font-size:16px;}.equipment-card2629 small{display:block;color:#567099;font-weight:800;}

/* v2.6.50 — Gift count must stay inside mobile safe area */
.gift-overflow-visible-2631,
.gift-overflow-visible-2631 * {
  overflow: visible !important;
}
#giftBtn.gift-safe-area-2631 {
  position: relative !important;
  overflow: visible !important;
  padding: 0 !important;
  margin-right: clamp(16px, 4vw, 34px) !important;
  min-width: clamp(118px, 32vw, 260px) !important;
  max-width: min(40vw, 330px) !important;
  contain: none !important;
}
#giftBtn.gift-safe-area-2631 .gift-btn-img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
}
#giftBtn.gift-safe-area-2631 #chestTicketText,
#giftBtn.gift-safe-area-2631 .gift-count-inside-2631 {
  position:absolute !important;
  top:8% !important;
  right:7% !important;
  transform:none !important;
  z-index:999 !important;
  min-width:22px !important;
  width:auto !important;
  height:22px !important;
  padding:0 6px !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
}
@media(max-width:720px){
  #giftBtn.gift-safe-area-2631 {
    margin-right: 24px !important;
    max-width: 38vw !important;
  }
  #giftBtn.gift-safe-area-2631 #chestTicketText,
  #giftBtn.gift-safe-area-2631 .gift-count-inside-2631 {
    top:10% !important;
    right:9% !important;
    min-width:20px !important;
    height:20px !important;
    font-size:11px !important;
    padding:0 5px !important;
  }
}

/* ============================================================================
   v2.6.50 — final clean overrides. Single canonical gift badge + Try-on + Teacher.
   ============================================================================ */
#giftBtn.gift-btn-clean2634{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0 18px 0 4px!important;
  width:clamp(118px,30vw,230px)!important;
  max-width:38vw!important;
  min-height:56px!important;
  contain:none!important;
  flex:0 0 auto!important;
}
#giftBtn.gift-btn-clean2634 .gift-btn-img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;pointer-events:none!important;}
#giftBtn.gift-btn-clean2634 #chestTicketText.gift-badge-clean2634{
  position:absolute!important;top:2px!important;right:2px!important;z-index:9999!important;transform:none!important;
  display:grid;place-items:center;min-width:24px!important;height:24px!important;padding:0 7px!important;border-radius:999px!important;
  background:linear-gradient(135deg,#ff405f,#ff9a22)!important;color:#fff!important;border:2px solid #fff!important;
  box-shadow:0 6px 14px rgba(80,25,25,.28)!important;font-size:12px!important;font-weight:1000!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;pointer-events:none!important;
}
#homePage .top{overflow:visible!important;}
@media(max-width:720px){
  #giftBtn.gift-btn-clean2634{width:clamp(104px,32vw,178px)!important;max-width:36vw!important;margin-right:22px!important;}
  #giftBtn.gift-btn-clean2634 #chestTicketText.gift-badge-clean2634{top:3px!important;right:3px!important;min-width:22px!important;height:22px!important;font-size:11px!important;padding:0 6px!important;}
}

.tryon-header-clean2634{margin:0 0 14px;padding:18px 22px;border-radius:28px;background:linear-gradient(135deg,rgba(226,247,255,.92),rgba(255,255,255,.86));box-shadow:0 16px 32px rgba(20,70,150,.12);}
.tryon-header-clean2634 h2{margin:0;color:#18356f;}
.tryon-header-clean2634 p{margin:4px 0 0;color:#48658a;font-weight:900;}
.tryon-root-clean2634{display:grid;gap:14px;}
.tryon-controls-clean2634{display:grid;gap:10px;padding:14px;border-radius:24px;background:rgba(255,255,255,.82);}
.tryon-controls-clean2634 div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.tryon-controls-clean2634 b{color:#18356f;margin-right:6px;}
.tryon-controls-clean2634 button{border:0;border-radius:999px;padding:9px 13px;font-weight:1000;background:#e8f5ff;color:#23466d;}
.tryon-controls-clean2634 button.selected{background:linear-gradient(135deg,#7a5cff,#22b8ff);color:white;}
.tryon-controls-clean2634 label{font-weight:900;background:#f4fbff;border-radius:999px;padding:8px 10px;color:#23466d;}
.tryon-layout-clean2634{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:16px;align-items:start;}
.tryon-stage-wrap-clean2634{border-radius:26px;background:rgba(255,255,255,.82);padding:14px;text-align:center;box-shadow:0 14px 28px rgba(20,70,150,.12);}
.tryon-stage-wrap-clean2634 small{font-weight:900;color:#48658a;}
.tryon-stage-clean2634{position:relative;width:min(360px,82vw);aspect-ratio:2/3;margin:auto;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(223,247,255,.65));overflow:hidden;}
.tryon-avatar-clean2634,.tryon-item-clean2634{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;}
.tryon-avatar-clean2634{z-index:10;}
.tryon-item-clean2634{z-index:20;transform:translate(var(--x,0),var(--y,0)) scale(var(--s,1));transform-origin:center center;}
.tryon-adjust-clean2634{display:grid;gap:10px;max-height:72vh;overflow:auto;padding:14px;border-radius:24px;background:rgba(255,255,255,.82);}
.tryon-adjust-clean2634 h3{margin:0;color:#18356f;}
.tryon-adjust-clean2634 article{display:grid;gap:6px;padding:12px;border-radius:18px;background:#fff;box-shadow:0 8px 16px rgba(20,70,150,.1);}
.tryon-adjust-clean2634 b{color:#18356f;}
.tryon-adjust-clean2634 small{color:#647c9f;font-weight:900;}
.tryon-adjust-clean2634 label{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;color:#23466d;font-weight:900;}
#tryonReset2634{border:0;border-radius:18px;padding:12px;background:linear-gradient(135deg,#ff9f1c,#ff5a5f);color:#fff;font-weight:1000;}
@media(max-width:760px){.tryon-layout-clean2634{grid-template-columns:1fr;}.tryon-adjust-clean2634{max-height:none;}}

.teacher-page-clean2634 .teacher-hero-clean2634{display:grid;grid-template-columns:1fr minmax(120px,210px);gap:16px;align-items:end;padding:20px 22px;border-radius:30px;background:linear-gradient(135deg,rgba(232,249,255,.92),rgba(255,255,255,.82));box-shadow:0 16px 32px rgba(20,70,150,.12);overflow:hidden;}
.teacher-page-clean2634 .teacher-hero-clean2634 h2{margin:0;color:#18356f;}
.teacher-page-clean2634 .teacher-hero-clean2634 p{margin:6px 0 0;color:#48658a;font-weight:900;}
.teacher-assistant-clean2634{width:100%;max-height:260px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 14px 18px rgba(20,60,120,.22));}
.teacher-tools-clean2634{margin-top:14px;}
@media(max-width:720px){.teacher-page-clean2634 .teacher-hero-clean2634{grid-template-columns:1fr 120px;padding:16px;}.teacher-assistant-clean2634{max-height:190px;}}

/* ============================================================================
   v2.6.50 — SYSTEM ONLY: Legacy Grade/Gift Stability Layer
   ============================================================================ */
#homeGiftPanel2636{display:grid;place-items:center;gap:6px;width:100%;margin:8px 0 6px;overflow:visible!important;contain:none!important;}
#homePage .top #giftBtn.gift-btn-component2636{display:none!important;}
#giftBtn.gift-btn-component2636,#giftBtn.gift-btn-component2636 *,#giftBtn.gift-btn-component2636::before,#giftBtn.gift-btn-component2636::after{animation:none!important;transition:none!important;transform:none!important;}
#homeGiftPanel2636 #giftBtn.gift-btn-component2636{position:relative!important;display:grid!important;place-items:center!important;overflow:visible!important;border:0!important;background:transparent!important;padding:0!important;margin:0!important;inline-size:236px!important;block-size:70px!important;min-inline-size:236px!important;max-inline-size:236px!important;flex:none!important;contain:none!important;will-change:auto!important;}
#homeGiftPanel2636 #giftBtn.gift-btn-component2636 .gift-btn-img{display:block!important;inline-size:236px!important;block-size:70px!important;object-fit:contain!important;pointer-events:none!important;}
#homeGiftPanel2636 #giftBtn.gift-btn-component2636 #chestTicketText.gift-badge-component2636{position:absolute!important;top:3px!important;right:7px!important;z-index:9999!important;display:grid;place-items:center;min-inline-size:25px!important;block-size:25px!important;padding:0 7px!important;border-radius:999px!important;background:linear-gradient(135deg,#ff405f,#ff9a22)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 6px 14px rgba(80,25,25,.28)!important;font-size:12px!important;font-weight:1000!important;line-height:1!important;white-space:nowrap!important;box-sizing:border-box!important;pointer-events:none!important;}
.gift-note2636{font-weight:1000;color:#20395f;background:rgba(255,255,255,.72);padding:5px 10px;border-radius:999px;font-size:12px;max-width:min(88vw,360px);text-align:center;}
#homePage .top{overflow:visible!important;}
@media(max-width:720px){#homeGiftPanel2636{margin:6px 0 4px;}#homeGiftPanel2636 #giftBtn.gift-btn-component2636{inline-size:204px!important;block-size:60px!important;min-inline-size:204px!important;max-inline-size:204px!important;}#homeGiftPanel2636 #giftBtn.gift-btn-component2636 .gift-btn-img{inline-size:204px!important;block-size:60px!important;}#homeGiftPanel2636 #giftBtn.gift-btn-component2636 #chestTicketText.gift-badge-component2636{top:2px!important;right:6px!important;min-inline-size:22px!important;block-size:22px!important;font-size:11px!important;padding:0 6px!important;}}
.learning-grade-card2636{cursor:pointer!important;position:relative!important;outline:none!important;}
.learning-grade-card2636.ready{background:linear-gradient(180deg,#ffffff,#e9fff6)!important;box-shadow:0 16px 30px rgba(37,140,110,.18)!important;}
.ready-pill2636{display:inline-grid!important;padding:7px 12px!important;border-radius:999px!important;background:linear-gradient(135deg,#28d17c,#27b8ff)!important;color:#fff!important;font-weight:1000!important;}
.learning-grade-card2636:focus-visible{box-shadow:0 0 0 4px rgba(39,184,255,.35),0 16px 30px rgba(37,140,110,.18)!important;}
.grade-learning-card2636{max-width:980px!important;}
.grade-grid2636{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.grade-card2636{border:0;border-radius:24px;padding:16px;text-align:left;background:linear-gradient(180deg,#fff,#eff9ff);box-shadow:0 12px 24px rgba(20,70,150,.12);color:#17396b;min-height:128px;}
.grade-card2636 b{display:block;font-size:20px;margin-bottom:8px;}
.grade-card2636 em{display:inline-grid;padding:5px 10px;border-radius:999px;background:#e4f6ff;color:#1370a3;font-style:normal;font-weight:1000;margin-bottom:8px;}
.grade-card2636 small{display:block;font-weight:900;color:#55708e;line-height:1.35;}
.grade-card2636.locked{filter:saturate(.75);opacity:.82;}
.grade-card2636.locked em{background:#f1f1f1;color:#777;}
.kinder-menu2636{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:10px 0 14px;}
.kinder-menu2636 button{border:0;border-radius:24px;padding:16px;text-align:left;background:linear-gradient(180deg,#fff,#fff7e8);box-shadow:0 12px 24px rgba(160,90,20,.12);color:#17396b;}
.kinder-menu2636 b{display:block;font-size:18px;margin-bottom:6px;}
.kinder-menu2636 small{font-weight:900;color:#637891;}
.kinder-play2636{margin-top:12px;}
.kinder-question2636{padding:16px;border-radius:26px;background:linear-gradient(180deg,#ffffff,#eaf9ff);box-shadow:0 14px 28px rgba(20,70,150,.12);text-align:center;}
.kinder-question2636 h3{margin:8px 0;color:#18356f;font-size:24px;}
.kinder-score2636{display:inline-grid;padding:6px 12px;border-radius:999px;background:#eef8ff;color:#145d94;font-weight:1000;}
.kinder-big2636{min-height:120px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:64px;font-weight:1000;color:#18356f;margin:8px 0 14px;line-height:1.15;word-break:break-word;}
.kinder-big2636 span{max-width:44%;font-size:38px;line-height:1.2;}
.kinder-big2636 em{font-size:20px;background:#fff;border-radius:999px;padding:8px 12px;color:#ff7a1a;font-style:normal;}
.kinder-actions2636{display:flex;justify-content:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.kinder-actions2636 button{border:0;border-radius:999px;padding:10px 14px;font-weight:1000;background:#e7f5ff;color:#17456e;}
.kinder-choices2636{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;}
.kinder-choices2636 button{border:0;border-radius:22px;padding:16px;font-size:30px;font-weight:1000;background:#fff;box-shadow:0 10px 20px rgba(20,70,150,.11);color:#17396b;}
.kinder-choices2636 button.correct{background:linear-gradient(135deg,#43d17a,#b5ff7c);color:#064323;}
.kinder-choices2636 button.wrong{background:linear-gradient(135deg,#ff8a8a,#ffd0d0);color:#691818;}
.kinder-feedback2636{min-height:28px;font-size:20px;font-weight:1000;}
.kinder-feedback2636.ok{color:#158a43;}
.kinder-feedback2636.no{color:#b43c32;}
.tryon-root-anchored2636{display:grid;gap:14px;}
.tryon-controls-anchored2636{display:grid;gap:10px;padding:14px;border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 12px 26px rgba(30,80,150,.12);}
.tryon-controls-anchored2636 div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.tryon-controls-anchored2636 b{color:#18356f;margin-right:6px;}
.tryon-controls-anchored2636 button{border:0;border-radius:999px;padding:9px 13px;font-weight:1000;background:#e8f5ff;color:#23466d;}
.tryon-controls-anchored2636 button.selected{background:linear-gradient(135deg,#7a5cff,#22b8ff);color:white;}
.tryon-controls-anchored2636 label{font-weight:900;background:#f4fbff;border-radius:999px;padding:8px 10px;color:#23466d;}
.tryon-layout-anchored2636{display:grid;grid-template-columns:minmax(260px,430px) 1fr;gap:16px;align-items:start;}
.tryon-stage-wrap-anchored2636{border-radius:26px;background:rgba(255,255,255,.86);padding:14px;text-align:center;box-shadow:0 14px 28px rgba(20,70,150,.12);}
.tryon-stage-wrap-anchored2636 small{font-weight:900;color:#48658a;}
.tryon-stage-anchored2636{position:relative;width:min(370px,82vw);aspect-ratio:2/3;margin:auto;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(223,247,255,.68));overflow:hidden;}
.tryon-avatar-anchor2636{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:10;user-select:none;-webkit-user-drag:none;}
.tryon-slot2636{position:absolute;display:grid;place-items:center;transform:translate(var(--x,0),var(--y,0)) scale(var(--s,1));transform-origin:center center;pointer-events:none;}
.tryon-slot2636 img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(20,50,90,.15));}
.tryon-anchor-box2636{position:absolute;border:2px dashed rgba(45,139,255,.48);background:rgba(45,139,255,.07);border-radius:12px;z-index:80;color:#235799;font-size:10px;font-weight:1000;text-align:center;pointer-events:none;}
.tryon-adjust-anchored2636{display:grid;gap:10px;max-height:72vh;overflow:auto;padding:14px;border-radius:24px;background:rgba(255,255,255,.86);}
.tryon-adjust-anchored2636 h3{margin:0;color:#18356f;}
.tryon-adjust-anchored2636 article{display:grid;gap:6px;padding:12px;border-radius:18px;background:#fff;box-shadow:0 8px 16px rgba(20,70,150,.1);}
.tryon-adjust-anchored2636 label{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:center;color:#23466d;font-weight:900;}
#tryonReset2636{border:0;border-radius:18px;padding:12px;background:linear-gradient(135deg,#ff9f1c,#ff5a5f);color:#fff;font-weight:1000;}
@media(max-width:760px){.tryon-layout-anchored2636{grid-template-columns:1fr;}.tryon-adjust-anchored2636{max-height:none;}.kinder-big2636{font-size:48px;min-height:92px;}.kinder-choices2636 button{font-size:24px;padding:14px;}}

/* ============================================================================
   v2.6.50 — Kindergarten Learning + Reward Engine + Worksheet Responsive Fix
   SYSTEM ONLY: no new image/audio assets required.
   ============================================================================ */
.learning-grade-card2637{cursor:pointer!important;position:relative!important;outline:none!important;}
.learning-grade-card2637.ready{background:linear-gradient(180deg,#ffffff,#e8fff4)!important;box-shadow:0 16px 30px rgba(35,140,115,.18)!important;}
.grade-learning-card2637{width:min(980px,calc(100vw - 28px))!important;max-width:980px!important;max-height:min(88vh,960px)!important;overflow:auto!important;}
.grade-grid2637{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.grade-card2637{border:0;border-radius:24px;padding:16px;text-align:left;background:linear-gradient(180deg,#fff,#eff9ff);box-shadow:0 12px 24px rgba(20,70,150,.12);color:#17396b;min-height:128px;}
.grade-card2637 b{display:block;font-size:20px;margin-bottom:8px;}
.grade-card2637 em{display:inline-grid;padding:5px 10px;border-radius:999px;background:#e4f6ff;color:#1370a3;font-style:normal;font-weight:1000;margin-bottom:8px;}
.grade-card2637 small{display:block;font-weight:900;color:#55708e;line-height:1.35;}
.grade-card2637.locked{filter:saturate(.75);opacity:.82;}
.grade-card2637.locked em{background:#f1f1f1;color:#777;}
.learning-engine-note2637{margin-top:12px;padding:11px 14px;border-radius:18px;background:rgba(255,255,255,.72);font-weight:900;color:#29476e;line-height:1.45;}
.lesson-map2637{display:grid;grid-template-columns:repeat(auto-fit,minmax(218px,1fr));gap:12px;margin:10px 0 14px;}
.lesson-card2637{border:0;border-radius:24px;padding:15px;text-align:left;background:linear-gradient(180deg,#fff,#fff8e8);box-shadow:0 12px 24px rgba(160,90,20,.12);color:#17396b;display:grid;grid-template-columns:42px 1fr;gap:6px 10px;align-items:start;min-height:132px;}
.lesson-card2637 i{grid-row:1/4;font-style:normal;font-size:30px;width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#e9f7ff;}
.lesson-card2637 b{font-size:17px;line-height:1.25;}
.lesson-card2637 small{font-weight:900;color:#637891;line-height:1.35;}
.lesson-card2637 span{justify-self:start;display:inline-grid;padding:4px 9px;border-radius:999px;background:#e7f5ff;color:#17607f;font-size:12px;font-weight:1000;}
.kinder-play2637{margin-top:12px;}
.kinder-teach2637,.kinder-question2637,.kinder-result2637{padding:16px;border-radius:28px;background:linear-gradient(180deg,#ffffff,#eaf9ff);box-shadow:0 14px 28px rgba(20,70,150,.12);text-align:center;color:#18356f;}
.teach-icon2637{font-size:48px;line-height:1;margin-bottom:6px;}
.kinder-teach2637 h3,.kinder-question2637 h3,.kinder-result2637 h3{margin:8px 0;color:#18356f;font-size:clamp(22px,5.5vw,30px);line-height:1.2;}
.kinder-teach2637 p{margin:8px auto;max-width:660px;font-weight:900;color:#4b6584;line-height:1.55;}
.teach-example2637{margin:12px auto;padding:14px;border-radius:24px;background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(160,210,255,.45);display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;min-height:94px;}
.teach-example2637 b{font-size:48px;color:#123d75;line-height:1.1;}
.teach-example2637 em{font-style:normal;font-weight:1000;color:#ff7a1a;}
.teach-example2637 small{display:block;flex-basis:100%;font-weight:900;color:#5e7390;}
.teach-example2637 svg{width:112px;max-width:26vw;height:auto;}
.kinder-score2637{display:inline-grid;padding:6px 12px;border-radius:999px;background:#eef8ff;color:#145d94;font-weight:1000;}
.kinder-big2637{min-height:120px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:64px;font-weight:1000;color:#18356f;margin:8px 0 14px;line-height:1.15;word-break:break-word;}
.kinder-big2637 span{max-width:44%;font-size:38px;line-height:1.2;}
.kinder-big2637 em{font-size:20px;background:#fff;border-radius:999px;padding:8px 12px;color:#ff7a1a;font-style:normal;}
.kinder-big2637 svg{width:min(260px,76vw);max-height:170px;}
.kinder-actions2637{display:flex;justify-content:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.kinder-actions2637 button{border:0;border-radius:999px;padding:10px 14px;font-weight:1000;background:#e7f5ff;color:#17456e;}
.kinder-choices2637{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;}
.kinder-choices2637 button{border:0;border-radius:22px;padding:16px;font-size:30px;font-weight:1000;background:#fff;box-shadow:0 10px 20px rgba(20,70,150,.11);color:#17396b;min-height:76px;}
.kinder-choices2637 button.correct{background:linear-gradient(135deg,#43d17a,#b5ff7c);color:#064323;}
.kinder-choices2637 button.wrong{background:linear-gradient(135deg,#ff8a8a,#ffd0d0);color:#691818;}
.kinder-feedback2637{min-height:28px;font-size:20px;font-weight:1000;}
.kinder-feedback2637.ok{color:#158a43;}.kinder-feedback2637.no{color:#b43c32;}
.shape-choice2637{display:grid;place-items:center;gap:4px;font-size:14px;line-height:1.15;}
.shape-choice2637 svg{width:96px;max-width:24vw;height:72px;}
.shape-choice2637 small{font-size:12px;font-weight:1000;color:#35506f;}
.reward-title2637{font-size:42px;font-weight:1000;color:#ff8a00;}
.reward-grid2637{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0;}
.reward-grid2637 article{background:#fff;border-radius:22px;padding:12px;box-shadow:0 10px 20px rgba(20,70,150,.1);display:grid;gap:4px;}
.reward-grid2637 span{font-weight:900;color:#58708f;}.reward-grid2637 b{font-size:24px;color:#17396b;}
.reward-line2637,.badge-unlock2637{font-weight:1000;color:#175a85;background:rgba(255,255,255,.72);border-radius:999px;padding:8px 12px;display:inline-block;margin:5px auto;}
.badge-unlock2637{color:#8a5600;background:#fff7d6;}
.lesson-review2637{display:grid;gap:6px;text-align:left;margin:12px auto;max-width:620px;}
.lesson-review2637 span{padding:8px 10px;border-radius:14px;font-weight:900;background:#fff;}.lesson-review2637 span.ok{color:#147d3a;}.lesson-review2637 span.no{color:#9b2c2c;}
.result-actions2637{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px;}

/* Worksheet v2.6.50: screen preview fits viewport; print/export keeps A4 via @media print. */
body[data-page="worksheet"] .worksheet-maker{grid-template-columns:minmax(260px,380px) minmax(0,1fr)!important;max-width:100%!important;overflow-x:hidden!important;}
body[data-page="worksheet"] .worksheet-panel,body[data-page="worksheet"] .worksheet-preview-wrap,body[data-page="worksheet"] .worksheet-stack{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
body[data-page="worksheet"] .worksheet-panel .phase-input,body[data-page="worksheet"] .worksheet-panel select{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2637{overflow-x:hidden!important;overflow-y:auto!important;text-align:center!important;display:block!important;}
body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2637 .worksheet-stack{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;max-width:100%!important;}
@media screen and (max-width:1000px){
  body[data-page="worksheet"] .worksheet-maker{grid-template-columns:1fr!important;gap:12px!important;}
  body[data-page="worksheet"] .worksheet-checks{grid-template-columns:1fr!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap{padding:8px!important;margin-left:auto!important;margin-right:auto!important;width:100%!important;max-width:100%!important;}
  body[data-page="worksheet"] .worksheet-paper.worksheet-portrait{width:min(210mm,calc(100vw - 38px))!important;min-width:0!important;height:auto!important;min-height:auto!important;aspect-ratio:210/297!important;}
  body[data-page="worksheet"] .worksheet-paper.worksheet-landscape{width:min(297mm,calc(100vw - 38px))!important;min-width:0!important;height:auto!important;min-height:auto!important;aspect-ratio:297/210!important;}
  body[data-page="worksheet"] .worksheet-paper{padding:clamp(14px,4.4vw,28px)!important;border-radius:18px!important;max-width:calc(100vw - 38px)!important;overflow:hidden!important;}
  body[data-page="worksheet"] .worksheet-head{grid-template-columns:1fr!important;gap:8px!important;}
  body[data-page="worksheet"] .worksheet-title-block{padding-left:0!important;}
  body[data-page="worksheet"] .worksheet-student-row{grid-template-columns:1fr!important;font-size:clamp(14px,3.8vw,18px)!important;}
  body[data-page="worksheet"] .worksheet-list{columns:1!important;font-size:clamp(15px,4.5vw,18px)!important;padding-left:20px!important;}
  body[data-page="worksheet"] .worksheet-q,body[data-page="worksheet"] .worksheet-title-block h1,body[data-page="worksheet"] .worksheet-title-block p{overflow-wrap:anywhere!important;word-break:break-word!important;}
}
@media print{
  body[data-page="worksheet"] .worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;max-width:none!important;aspect-ratio:auto!important;}
  body[data-page="worksheet"] .worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;max-width:none!important;aspect-ratio:auto!important;}
}
@media(max-width:760px){.grade-learning-card2637{width:calc(100vw - 20px)!important;}.lesson-map2637{grid-template-columns:1fr;}.kinder-big2637{font-size:48px;min-height:92px;}.kinder-big2637 span{font-size:30px;max-width:46%;}.kinder-choices2637 button{font-size:24px;padding:14px;}.shape-choice2637 svg{width:82px;height:62px;}.reward-grid2637{grid-template-columns:1fr 1fr;}}

/* ============================================================================
   v2.6.50 — โหมดส่งเสริมวินัย Fix
   SYSTEM ONLY: restore worksheet screen preview as scaled A4; do not change PDF/Drive/Print.
   ============================================================================ */
.object-choice2638 small,.shape-object-big2638 small{display:block;font-size:12px;font-weight:1000;color:#35506f;margin-top:4px}.shape-object-big2638{display:grid;place-items:center;gap:4px}.shape-object-big2638 svg{width:min(280px,78vw);height:auto}.lesson-card2637:has([data-lesson="k3-shapes"]),.lesson-card2637:has([data-lesson="k3-relation"]){background:linear-gradient(180deg,#fff,#f1fff5)}
@media screen{
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638{overflow:auto!important;overflow-y:auto!important;text-align:center!important;display:block!important;padding:10px!important;max-width:100%!important;background:rgba(255,255,255,.5)!important;border-radius:22px!important;box-shadow:var(--shadow)!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-stack{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 auto!important;padding:0!important;text-align:center!important;overflow:visible!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-paper{display:grid!important;box-sizing:border-box!important;max-width:none!important;overflow:hidden!important;text-align:left!important;margin-left:auto!important;margin-right:auto!important;border-radius:8px!important;box-shadow:0 18px 50px rgba(0,0,0,.18)!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-paper.worksheet-portrait{width:210mm!important;height:297mm!important;min-height:297mm!important;aspect-ratio:auto!important;padding:12mm 14mm 10mm!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-paper.worksheet-landscape{width:297mm!important;height:210mm!important;min-height:210mm!important;aspect-ratio:auto!important;padding:10mm 14mm 9mm!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-header-zone,body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-head{display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-title-block{padding-left:16mm!important;min-width:0!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-student-row{display:grid!important;grid-template-columns:2fr .7fr .7fr 1fr!important;gap:5mm!important;white-space:nowrap!important;font-size:14pt!important;line-height:1.18!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-two-cols{columns:2!important;column-gap:11mm!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-one-col{columns:1!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-list{font-size:var(--ws-font,18pt)!important;padding-left:8mm!important;line-height:1.18!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-license{position:absolute!important;left:14mm!important;right:14mm!important;bottom:7mm!important;font-size:12pt!important;}
}
@media print{
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2638 .worksheet-paper{transform:none!important;margin-bottom:0!important;}
}

/* ============================================================================
   v2.6.50 — Worksheet App Preview Readable Restore
   Scope: make in-app preview readable; do not alter Drive/PDF/Print document CSS.
   ============================================================================ */
@media screen{
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639{
    overflow:auto!important;
    padding:12px!important;
    text-align:center!important;
    background:rgba(255,255,255,.55)!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-stack{
    display:grid!important;
    gap:18px!important;
    justify-items:center!important;
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
    zoom:1!important;
    text-align:left!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-paper{
    transform:none!important;
    margin:0 auto 18px!important;
    width:min(100%,760px)!important;
    max-width:760px!important;
    min-width:0!important;
    height:auto!important;
    min-height:980px!important;
    aspect-ratio:210/297!important;
    padding:clamp(18px,4.8vw,40px)!important;
    font-size:clamp(16px,2.9vw,21px)!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-paper.worksheet-landscape{
    width:min(100%,860px)!important;
    max-width:860px!important;
    min-height:610px!important;
    aspect-ratio:297/210!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-header-zone,
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-head{
    display:grid!important;
    grid-template-columns:clamp(42px,9vw,72px) minmax(0,1fr) clamp(54px,12vw,92px)!important;
    gap:clamp(8px,2vw,18px)!important;
    align-items:center!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-title-block{
    padding-left:0!important;
    text-align:center!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-head h1{
    font-size:clamp(24px,5.6vw,44px)!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-head p{
    font-size:clamp(14px,3.4vw,24px)!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-student-row{
    display:grid!important;
    grid-template-columns:1.6fr .7fr .7fr 1fr!important;
    gap:clamp(4px,1.2vw,12px)!important;
    white-space:nowrap!important;
    font-size:clamp(14px,3.2vw,21px)!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-two-cols{
    columns:2!important;
    column-gap:clamp(16px,3vw,34px)!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-one-col{columns:1!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-list{
    font-size:clamp(16px,3.1vw,22px)!important;
    line-height:1.16!important;
    padding-left:clamp(18px,3.8vw,34px)!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-q,
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-line{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-license{
    left:clamp(18px,4.8vw,40px)!important;
    right:clamp(18px,4.8vw,40px)!important;
    bottom:clamp(10px,2.4vw,22px)!important;
    font-size:clamp(10px,2.4vw,14px)!important;
  }
  .relation-missing2639{display:inline-grid;grid-template-columns:auto auto;align-items:center;gap:16px;}
  .relation-missing2639 svg{width:min(220px,62vw);height:auto;}
  .relation-missing2639 b{font-size:48px;color:#111827;}
}
@media screen and (max-width:640px){
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-paper{min-height:900px!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-two-cols{columns:1!important;}
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-student-row{grid-template-columns:1fr 1fr!important;white-space:normal!important;}
}
@media print{
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-paper{
    width:210mm!important;min-height:297mm!important;max-width:none!important;transform:none!important;margin:0!important;border-radius:0!important;
  }
  body[data-page="worksheet"] .worksheet-preview-wrap.worksheet-fit2639 .worksheet-paper.worksheet-landscape{
    width:297mm!important;min-height:210mm!important;max-width:none!important;
  }
}


/* ============================================================================
   v2.6.50 — Trace Number + Voice Assist + Teacher Foundation styles
   ============================================================================ */
.trace-card2641{gap:14px}
.trace-subtitle2641{font-weight:800;color:#5d6f88;text-align:center;margin:0 0 8px}
.trace-stage2641{position:relative;width:min(100%,560px);height:320px;margin:0 auto;border-radius:34px;background:linear-gradient(180deg,#ffffff,#eefaff);box-shadow:inset 0 0 0 3px rgba(86,201,255,.32),0 18px 32px rgba(31,74,125,.12);overflow:hidden;touch-action:none}
.trace-ghost2641{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(150px,36vw,250px);line-height:1;font-weight:1000;color:rgba(14,74,139,.18);-webkit-text-stroke:4px rgba(14,74,139,.18);text-shadow:0 10px 30px rgba(0,0,0,.04);pointer-events:none;user-select:none}
.trace-ghost2641.hidden-example{opacity:0}
.trace-stage2641.is-memory{background:linear-gradient(180deg,#ffffff,#fff9e8)}
.trace-canvas2641{position:absolute;inset:0;width:100%;height:100%;touch-action:none;z-index:2}
.trace-actions2641{flex-wrap:wrap;justify-content:center}
.trace-actions2641 button{min-width:128px}
.trace-teach-example2641 b{display:block;font-size:clamp(28px,6vw,52px);letter-spacing:.08em;color:#0b4a7d;text-align:center}
.teacher-foundation2641{align-items:center}
.teacher-badge2641{padding:10px 16px;border-radius:999px;background:#e6f7ff;color:#075985;font-weight:1000;box-shadow:0 8px 20px rgba(14,116,144,.14)}
.teacher-card2641{text-align:left}
.teacher-card2641 h3{margin:0 0 10px;color:#0b3b72}
.teacher-card2641 label{display:block;margin:12px 0;font-weight:900;color:#263a55}
.class-key-icon2641{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;background:#e0f2fe;font-size:30px;margin-bottom:10px}
.voice-assist-bar2641{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:10px auto 16px;padding:10px 12px;border-radius:22px;background:rgba(232,247,255,.92);box-shadow:inset 0 0 0 2px rgba(125,211,252,.45)}
.voice-assist-bar2641 button{border:0;border-radius:999px;padding:10px 16px;font-weight:1000;background:#dff7ff;color:#074c72}
.voice-assist-bar2641 label{font-weight:900;color:#24415f}
@media(max-width:560px){.trace-stage2641{height:290px;border-radius:28px}.trace-actions2641 button{min-width:110px;padding:10px 12px}}


/* v2.6.50 — โหมดส่งเสริมวินัย */
.emoji-object-choice2642{min-height:112px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px}.emoji-object-choice2642>b{font-size:2.7rem;line-height:1;filter:drop-shadow(0 8px 14px rgba(15,23,42,.16))}.emoji-object-big2642{display:inline-flex;flex-direction:column;align-items:center;gap:8px}.emoji-object-big2642>b{font-size:5rem;line-height:1}.student-assignment-board2642{margin:18px 0;padding:18px;border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 18px 40px rgba(15,23,42,.12);border:1px solid rgba(255,255,255,.7)}.student-assignment-board2642 h3{margin:0 0 6px;color:#12386b}.student-assignment-board2642 p{margin:4px 0 12px;color:#48637f;font-weight:800}.student-assignment-list2642{display:grid;gap:12px}.student-assignment-card2642{padding:14px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#eefbff);border:1px solid rgba(125,211,252,.45);box-shadow:0 10px 24px rgba(15,23,42,.08);display:grid;gap:8px}.student-assignment-card2642.done{background:linear-gradient(180deg,#f0fff4,#e8ffe8)}.student-assignment-card2642 b{color:#103a70;font-size:1.05rem}.student-assignment-card2642 small{color:#52677e;font-weight:800}.teacher-lock2642{max-width:680px;margin:18px auto}.voice-assist-bar2642{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin:12px auto}.voice-assist-bar2642 button,.voice-assist-bar2642 label{border:0;border-radius:999px;background:#e8f7ff;color:#06456c;font-weight:900;padding:10px 14px;box-shadow:0 8px 16px rgba(15,23,42,.08)}


/* v2.6.50 — Teacher mascot and relation object choice polish */
#teacherPage .teacher-hero-clean2634{position:relative;min-height:220px;padding-right:160px;}
#teacherPage .teacher-assistant-clean2634.teacher-mascot2643{position:absolute;right:18px;bottom:0;width:min(34vw,150px);max-height:210px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(20,60,120,.22));z-index:1;}
#teacherPage .teacher-badge2641{position:relative;z-index:2;}
.relation-object-missing2643{display:flex;align-items:center;justify-content:center;gap:18px;}
.relation-object-missing2643 svg{max-width:150px;}
@media(max-width:720px){#teacherPage .teacher-hero-clean2634{padding-right:122px;min-height:190px;}#teacherPage .teacher-assistant-clean2634.teacher-mascot2643{right:10px;width:118px;max-height:175px;}}

/* ============================================================================
   v2.6.50 — โหมดส่งเสริมวินัย (SYSTEM ONLY)
   Scope: Category-based assignment wizard and student mission status UI.
   ============================================================================ */
.teacher-wizard-layout2644{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(320px,1.4fr) minmax(260px,.9fr);gap:16px;align-items:start}.teacher-wizard-hero2644{position:relative;overflow:hidden}.teacher-wizard-hero2644 .teacher-assistant-clean2634{max-height:170px;object-fit:contain}.wizard-step2644,.wizard-settings2644{border:1px solid rgba(255,255,255,.38);border-radius:22px;padding:14px;margin:10px 0;background:rgba(255,255,255,.48);box-shadow:0 12px 30px rgba(20,60,120,.08)}.wizard-choice-row2644{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.wizard-choice-row2644 button{border:0;border-radius:18px;padding:14px;font-weight:900;background:linear-gradient(135deg,#eef7ff,#fff);box-shadow:0 10px 22px rgba(20,80,180,.12);cursor:pointer}.wizard-choice-row2644 button.selected{background:linear-gradient(135deg,#247cff,#71d8ff);color:#fff}.wizard-settings2644 label,.wizard-step2644 label{display:block;margin:8px 0;font-weight:800;color:#25405f}.teacher-assignment-list2644 p,.assignment-row2644{padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.38)}.student-assignment-card2644.done{border-color:rgba(42,190,104,.55);background:linear-gradient(135deg,rgba(230,255,238,.92),rgba(255,255,255,.72))}.student-assignment-card2644.retry{border-color:rgba(255,160,30,.55);background:linear-gradient(135deg,rgba(255,243,220,.92),rgba(255,255,255,.72))}.student-assignment-card2644.new{border-color:rgba(36,124,255,.32)}.student-assignment-card2644 button[disabled]{opacity:.62;filter:grayscale(.25)}@media(max-width:900px){.teacher-wizard-layout2644{grid-template-columns:1fr}.teacher-wizard-hero2644 .teacher-assistant-clean2634{max-height:120px}.wizard-choice-row2644{grid-template-columns:1fr}}
.assignment-result-detail2644R2{display:block;margin-top:4px;color:#0f766e;font-weight:800}


/* v2.6.50 Discipline Real Game responsive UI */
.discipline-page2647{padding-bottom:28px}.discipline-hero2647{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#0f766e,#2563eb 55%,#7c3aed);color:#fff;border-radius:28px;padding:22px;margin-bottom:14px;box-shadow:0 18px 42px rgba(37,99,235,.24);position:relative;overflow:hidden}.discipline-hero2647:after{content:"";position:absolute;width:210px;height:210px;right:-60px;top:-80px;border-radius:999px;background:rgba(255,255,255,.16)}.discipline-hero2647 h2{margin:0;font-size:clamp(24px,4vw,36px)}.discipline-hero2647 p{margin:6px 0 0;opacity:.92;max-width:720px}.discipline-kicker2647{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.9;margin:0 0 4px}.discipline-version2647{position:relative;z-index:1;white-space:nowrap;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:8px 12px;font-weight:900}.discipline-tabs2647{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:6px}.discipline-tabs2647 button{border:1px solid rgba(148,163,184,.35);background:rgba(255,255,255,.75);color:#0f172a;border-radius:999px;padding:10px 14px;font-weight:900;white-space:nowrap;box-shadow:0 8px 20px rgba(15,23,42,.06)}.discipline-tabs2647 button.active{background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;border-color:transparent}.discipline-card2647{background:rgba(255,255,255,.92);border:1px solid rgba(226,232,240,.9);border-radius:26px;padding:18px;box-shadow:0 12px 32px rgba(15,23,42,.08);margin-bottom:16px}.discipline-card2647 h3{margin:0 0 10px;font-size:clamp(20px,3vw,28px)}.discipline-card2647 h4{margin:14px 0 8px}.discipline-stats2647{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.discipline-stats2647 span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px;color:#475569;font-size:13px}.uniform-choice-grid2647{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.uniform-choice2647,.costume-segment2647 button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:112px;border-radius:20px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;padding:12px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.uniform-choice2647 span,.costume-segment2647 span{font-size:28px}.uniform-choice2647 small,.costume-segment2647 small{font-size:11px;color:#64748b;text-align:center}.uniform-choice2647:hover{transform:translateY(-1px);border-color:#2563eb}.discipline-result2647{margin-top:14px;padding:13px 14px;border-radius:18px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-weight:800}.discipline-result2647.ok{background:#dcfce7;border-color:#86efac;color:#166534}.discipline-result2647.wrong{background:#fee2e2;border-color:#fecaca;color:#991b1b}.discipline-actions2647{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.discipline-actions2647 button,.grade-segment2647 button,.view-segment2647 button{border:0;border-radius:14px;padding:10px 13px;font-weight:900;background:#e2e8f0;color:#0f172a}.discipline-actions2647 button.primary{background:#2563eb;color:#fff}.grade-segment2647,.view-segment2647{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.grade-segment2647 button.active,.view-segment2647 button.active{background:#2563eb;color:#fff}.uniform-rule-grid2647{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.uniform-rule-grid2647 article{border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fafc);border-radius:18px;padding:12px;min-height:116px}.uniform-rule-grid2647 span{display:block;color:#64748b;font-size:12px;font-weight:900}.uniform-rule-grid2647 b{display:block;margin:8px 0;color:#0f172a}.uniform-rule-grid2647 small,.discipline-note2647{font-size:12px;color:#64748b}.dressup-card2647{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:18px;align-items:start}.costume-segment2647{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.costume-segment2647 button.active{outline:3px solid rgba(37,99,235,.2);border-color:#2563eb;background:#eff6ff}.costume-segment2647 button.coming{opacity:.74}.discipline-avatar-stage2647{min-height:420px;border:1px dashed #cbd5e1;border-radius:26px;background:linear-gradient(180deg,#f8fafc,#eff6ff);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;text-align:center}.discipline-avatar-stage2647 img{max-width:min(280px,85%);max-height:330px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(15,23,42,.18))}.discipline-avatar-stage2647 img.missing{display:none}.discipline-avatar-label2647{font-weight:900;margin-bottom:12px;color:#0f172a}.match-list2647{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.match-list2647 label{display:block;border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:12px}.match-list2647 label span{font-weight:900;display:block;margin-bottom:8px}.match-list2647 select{width:100%;border-radius:12px;border:1px solid #cbd5e1;padding:10px;background:#fff}.match-list2647 select.ok{border-color:#16a34a;background:#dcfce7}.match-list2647 select.wrong{border-color:#dc2626;background:#fee2e2}.badge-grid2647{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}.badge-grid2647 article{border-radius:20px;border:1px solid #e2e8f0;background:#f8fafc;padding:14px;text-align:center}.badge-grid2647 article span{font-size:32px}.badge-grid2647 article b{display:block;margin:8px 0 4px}.badge-grid2647 article small{display:block;color:#64748b;min-height:34px}.badge-grid2647 article em{display:inline-block;margin-top:8px;font-style:normal;font-weight:900;font-size:12px;border-radius:999px;padding:5px 8px;background:#e2e8f0;color:#475569}.badge-grid2647 article.unlocked{background:linear-gradient(180deg,#fff7ed,#fef3c7);border-color:#fbbf24}.badge-grid2647 article.unlocked em{background:#16a34a;color:#fff}@media(max-width:980px){.uniform-choice-grid2647,.uniform-rule-grid2647,.match-list2647,.badge-grid2647{grid-template-columns:repeat(2,minmax(0,1fr))}.dressup-card2647{grid-template-columns:1fr}.costume-segment2647{grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-avatar-stage2647{min-height:340px}}@media(max-width:560px){.discipline-hero2647{border-radius:22px;padding:18px;display:block}.discipline-version2647{display:inline-block;margin-top:12px}.discipline-tabs2647{position:sticky;top:0;z-index:5;background:rgba(248,250,252,.92);backdrop-filter:blur(10px);margin-left:-8px;margin-right:-8px;padding:8px}.uniform-choice-grid2647,.uniform-rule-grid2647,.match-list2647,.badge-grid2647{grid-template-columns:1fr}.discipline-card2647{border-radius:22px;padding:14px}.uniform-choice2647{min-height:92px;align-items:flex-start;text-align:left}.uniform-choice2647 span{font-size:24px}.discipline-actions2647 button{flex:1 1 100%}.costume-segment2647{grid-template-columns:1fr}.discipline-avatar-stage2647 img{max-height:260px}}


/* =========================================================
   v2.6.50 — Discipline mobile layout + real game UI polish
   ========================================================= */
.discipline-page2647{padding-bottom:calc(120px + env(safe-area-inset-bottom)); min-height:100dvh; overflow:visible;}
.discipline-tabs2647{scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
.discipline-tabs2647::-webkit-scrollbar{display:none;}
.discipline-tabs2647 button{scroll-snap-align:start; flex:0 0 auto;}
.mission-layout2648{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.9fr);gap:16px;align-items:start;}
.mission-avatar2648{border:1px dashed #cbd5e1;border-radius:24px;background:linear-gradient(180deg,#f8fafc,#eff6ff);padding:14px;text-align:center;min-height:300px;display:flex;flex-direction:column;justify-content:center;gap:12px;}
.mission-avatar2648>b{color:#0f172a;font-size:18px;}
.mission-avatar-slot2648{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#64748b;font-weight:900;}
.mission-avatar-slot2648 img{max-width:min(220px,90%);max-height:260px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(15,23,42,.18));}
.scout-placeholder2648{font-size:76px;background:#fff7ed;border:1px solid #fed7aa;border-radius:24px;padding:18px;}
@media(max-width:760px){
  .discipline-page2647{padding-bottom:calc(150px + env(safe-area-inset-bottom));}
  .discipline-tabs2647{position:sticky;top:0;z-index:8;background:rgba(248,250,252,.94);backdrop-filter:blur(12px);display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;border-radius:0;margin-left:-14px;margin-right:-14px;padding:10px 14px 12px;}
  .discipline-tabs2647 button{min-width:max-content;padding:11px 16px;}
  .mission-layout2648{grid-template-columns:1fr;}
  .mission-avatar2648{min-height:240px;}
  .mission-avatar-slot2648{min-height:170px;}
  .mission-avatar-slot2648 img{max-height:210px;}
}


/* =========================================================
   v2.6.50 — Discipline Mode mobile tabs + avatar preview fix
   Owner: Discipline Mode UI only. Do not affect backend/assignment core.
   ========================================================= */
.discipline-tabs2647{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  overflow:visible!important;
  white-space:normal!important;
  padding:6px 0 12px!important;
  margin:0 0 8px!important;
  max-width:100%!important;
}
.discipline-tabs2647 button{
  flex:1 1 180px!important;
  min-width:160px!important;
  max-width:100%!important;
  white-space:normal!important;
  line-height:1.25!important;
  text-align:center!important;
}
.discipline-page2647{overflow:visible!important;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important;}
.discipline-card2647{overflow:visible!important;}
.discipline-avatar-img2649{display:block;max-width:min(280px,88%)!important;max-height:330px!important;object-fit:contain!important;filter:drop-shadow(0 18px 28px rgba(15,23,42,.18));}
.mission-avatar-slot2648 .discipline-avatar-img2649{max-width:min(220px,88%)!important;max-height:250px!important;}
.discipline-avatar-img2649.missing{display:none!important;}
@media(max-width:760px){
  .discipline-tabs2647{
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    background:rgba(255,255,255,.62)!important;
    border-radius:22px!important;
    padding:10px!important;
    margin:8px 0 12px!important;
    backdrop-filter:blur(12px)!important;
  }
  .discipline-tabs2647 button{min-width:0!important;flex:unset!important;padding:11px 8px!important;font-size:14px!important;}
  .discipline-tabs2647 button:nth-child(5){grid-column:1 / -1;}
  .discipline-avatar-stage2647{min-height:300px!important;}
  .discipline-avatar-img2649{max-height:260px!important;}
}


/* =========================================================
   v2.6.50 — UI Cleanup + Discipline + GM Login Modal
   ========================================================= */
html,body{max-width:100%;}
.content{overflow-y:auto!important;overflow-x:hidden!important;max-width:100%;}
.page{max-width:100%;overflow-x:hidden;}
.discipline-page2647,.discipline-card2647,.discipline-hero2647,#disciplineBody2647{max-width:100%;overflow-x:hidden!important;}
.discipline-tabs2647{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;margin-left:0!important;margin-right:0!important;padding:6px 0 12px!important;scroll-snap-type:none!important;}
.discipline-tabs2647 button{min-width:0!important;width:100%!important;white-space:normal!important;line-height:1.2!important;text-align:center!important;display:flex;align-items:center;justify-content:center;min-height:46px;}
.discipline-preview-pair2650{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;align-items:end;}
.discipline-preview-pair2650 article{background:rgba(255,255,255,.82);border:1px solid rgba(226,232,240,.9);border-radius:18px;padding:8px;display:grid;justify-items:center;align-items:end;min-height:190px;}
.discipline-preview-pair2650 b{font-size:12px;color:#334155;margin-bottom:4px;}
.discipline-preview-pair2650 img{max-height:210px!important;max-width:100%!important;object-fit:contain;}
.mission-avatar-slot2648{overflow:hidden!important;}
.coming-soon-disabled2650{filter:grayscale(.28);opacity:.68;cursor:not-allowed!important;position:relative;}
.coming-soon-disabled2650::after{content:'เร็ว ๆ นี้';position:absolute;right:8px;top:8px;background:rgba(15,23,42,.78);color:#fff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;}
.admin-login-modal2650{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:18px;}
.admin-login-modal2650.hidden{display:none!important;}
.admin-login-backdrop2650{position:absolute;inset:0;background:rgba(15,23,42,.56);backdrop-filter:blur(5px);}
.admin-login-dialog2650{position:relative;width:min(430px,96vw);max-height:calc(100vh - 36px);overflow:auto;background:linear-gradient(180deg,#fff,#f5f3ff);border-radius:28px;box-shadow:0 28px 90px rgba(15,23,42,.38);border:1px solid rgba(255,255,255,.76);padding:18px;}
.admin-login-card-modalized2650{display:block!important;margin:0!important;width:100%!important;box-shadow:none!important;border-radius:22px!important;}
.admin-login-card-modalized2650 img{height:92px!important;}
.admin-login-card-modalized2650 h2{font-size:22px!important;margin:4px 0 6px!important;}
.admin-login-card-modalized2650 p{font-size:13px!important;margin:0 0 8px!important;}
.admin-login-close2650{position:absolute;right:10px;top:10px;z-index:2;width:38px;height:38px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:22px;font-weight:900;}
.admin-gm-chip2650{position:fixed;left:14px;bottom:14px;z-index:230;border:1px solid rgba(148,163,184,.55);background:linear-gradient(180deg,#f8fafc,#e2e8f0);color:#475569;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:900;box-shadow:0 10px 28px rgba(15,23,42,.18);opacity:.9;}
.admin-gm-chip2650.active{background:linear-gradient(135deg,#7c3aed,#2563eb)!important;color:#fff!important;border-color:rgba(255,255,255,.28);box-shadow:0 12px 34px rgba(93,70,255,.3);}
.admin-gm-chip2650:hover{transform:translateY(-1px);opacity:1;}
.identity-layout .admin-login-card{display:none;}
body:has(#adminLoginModal2650:not(.hidden)) .identity-layout .admin-login-card{display:block;}
@media(max-width:760px){
  .discipline-tabs2647{grid-template-columns:repeat(2,minmax(0,1fr))!important;position:sticky;top:0;z-index:9;background:rgba(248,250,252,.95);backdrop-filter:blur(12px);border-radius:18px;padding:10px!important;}
  .discipline-tabs2647 button:nth-child(5){grid-column:1 / -1;}
  .discipline-preview-pair2650{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .discipline-preview-pair2650 article{min-height:165px;padding:6px;}
  .discipline-preview-pair2650 img{max-height:175px!important;}
  .admin-gm-chip2650{left:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));font-size:12px;padding:8px 11px;}
}
@media(max-width:420px){.discipline-preview-pair2650 img{max-height:150px!important;}}

.deprecated-room-key2650{display:none!important;}

/* =========================================================
   v2.6.50 R3 — UI stability fixes
   ========================================================= */
html,body,.app,.content{max-width:100%;overflow-x:hidden;}
.app-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
#appProgressLabel{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#appProgressText{flex:0 0 auto;}
.discipline-page2647,.discipline-card2647,.discipline-hero2647{max-width:100%;overflow-x:hidden;}
.discipline-tabs2647{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;padding:8px 0 12px!important;scroll-snap-type:none!important;position:relative!important;top:auto!important;background:transparent!important;}
.discipline-tabs2647 button{min-width:0!important;width:100%!important;white-space:normal!important;line-height:1.2!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;}
.learn-day-card2650{cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease;}
.learn-day-card2650:hover,.learn-day-card2650.active{border-color:#2563eb!important;background:#eff6ff!important;transform:translateY(-1px);}
.learn-preview2650{margin-top:14px;border:1px dashed #cbd5e1;border-radius:22px;background:linear-gradient(180deg,#f8fafc,#eff6ff);padding:14px;min-height:190px;}
.discipline-preview-pair2650{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;align-items:end;}
.discipline-preview-pair2650 article{background:rgba(255,255,255,.86);border:1px solid rgba(226,232,240,.9);border-radius:18px;padding:8px;display:grid;justify-items:center;align-items:end;min-height:190px;}
.discipline-preview-pair2650 b{font-size:12px;color:#334155;margin-bottom:4px;}
.discipline-preview-pair2650 img{max-height:210px!important;max-width:100%!important;object-fit:contain;}
.mission-avatar-slot2648{overflow:hidden!important;}
.admin-gm-chip2650{position:static!important;left:auto!important;bottom:auto!important;z-index:auto!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;border:1px solid rgba(148,163,184,.55);background:linear-gradient(180deg,#f8fafc,#e2e8f0);color:#475569;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:900;box-shadow:0 10px 28px rgba(15,23,42,.12);opacity:1;}
.admin-gm-chip2650.active{background:linear-gradient(135deg,#7c3aed,#2563eb)!important;color:#fff!important;border-color:rgba(255,255,255,.28);box-shadow:0 12px 34px rgba(93,70,255,.3);}
.admin-gm-settings-card2650{margin-top:16px;text-align:center;}
.admin-gm-settings-card2650 p{color:#64748b;}
.admin-gm-settings-card2650 small{display:block;margin-top:8px;color:#64748b;}
.teacher-console-shortcut2650{background:linear-gradient(135deg,#0f766e,#2563eb)!important;color:#fff;}
.teacher-console-card2650 p{color:#475569;}
@media(max-width:760px){
  .discipline-tabs2647{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:18px;background:rgba(248,250,252,.92)!important;backdrop-filter:blur(10px);padding:10px!important;}
  .discipline-tabs2647 button:nth-child(5){grid-column:1/-1;}
  .discipline-preview-pair2650{gap:8px;}
  .discipline-preview-pair2650 article{min-height:165px;padding:6px;}
  .discipline-preview-pair2650 img{max-height:175px!important;}
}
@media(max-width:420px){.discipline-preview-pair2650 img{max-height:150px!important;}}


/* =========================================================
   v2.6.50 R3 — Discipline page floating controls guard
   Purpose: keep Match/Discipline forms unobstructed on mobile.
   ========================================================= */
body[data-page="discipline"] .learning-hub-fab,
body[data-page="discipline"] #learningHubBtn,
body[data-page="discipline"] .audio-control-panel,
body[data-page="discipline"] #audioControlPanel,
body[data-page="discipline"] #homeGiftPanel2636,
body[data-page="discipline"] .home-gift-panel2636,
body[data-page="discipline"] #giftBtn.gift-btn-component2636,
body[data-page="discipline"] .gift-btn-component2636{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body[data-page="discipline"] .discipline-page2647{
  padding-bottom:calc(44px + env(safe-area-inset-bottom,0px))!important;
}
body[data-page="discipline"] .match-list2647 label:last-child,
body[data-page="discipline"] .discipline-card2647:last-child{
  margin-bottom:calc(22px + env(safe-area-inset-bottom,0px))!important;
}
@media(max-width:760px){
  body[data-page="discipline"] .content{
    padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))!important;
  }
}


/* ============================================================================
   v2.6.50 R4 — Discipline Match Drag & Drop + Tap fallback
   Replaces the old dropdown matching UI with a catalog-driven board.
   ============================================================================ */
.discipline-match-card2650{overflow:hidden!important;}
.match-board2650{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;}
.match-dropzone2650{border:2px dashed rgba(37,99,235,.22);background:rgba(255,255,255,.82);border-radius:22px;padding:12px;min-height:116px;display:grid;gap:8px;align-content:start;transition:transform .16s ease,border-color .16s ease,background .16s ease;}
.match-dropzone2650 strong{font-size:18px;color:#1e3a8a;}
.match-drop-inner2650{border-radius:18px;background:rgba(248,250,252,.82);min-height:62px;display:grid;place-items:center;text-align:center;padding:10px;color:#64748b;}
.match-drop-inner2650 span{font-size:28px;line-height:1;}
.match-drop-inner2650 b{display:block;color:#0f172a;font-size:16px;}
.match-drop-inner2650 small{display:block;color:#64748b;font-size:12px;}
.match-drop-inner2650 em{font-style:normal;font-weight:800;font-size:13px;line-height:1.35;}
.match-dropzone2650.drag-over{transform:translateY(-2px);border-color:#2563eb;background:#eff6ff;box-shadow:0 12px 28px rgba(37,99,235,.16);}
.match-dropzone2650.ok{border-color:#22c55e;background:#dcfce7;}
.match-dropzone2650.wrong{border-color:#ef4444;background:#fee2e2;}
.match-palette-title2650{margin:12px 0 8px;color:#1e293b;}
.match-palette2650{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.match-uniform-card2650{border:1px solid rgba(226,232,240,.9);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,246,255,.9));color:#0f172a;border-radius:20px;padding:12px 8px;min-height:98px;display:grid;gap:4px;justify-items:center;text-align:center;box-shadow:0 10px 20px rgba(15,23,42,.08);touch-action:none;user-select:none;}
.match-uniform-card2650 span{font-size:30px;line-height:1;}
.match-uniform-card2650 b{font-size:15px;}
.match-uniform-card2650 small{font-size:11px;color:#64748b;line-height:1.25;}
.match-uniform-card2650.selected{background:linear-gradient(135deg,#7c3aed,#0ea5e9);color:white;box-shadow:0 12px 28px rgba(37,99,235,.28);transform:translateY(-1px);}
.match-uniform-card2650.selected small{color:rgba(255,255,255,.88);}
.teacher-fallback2650r4{font-size:84px;line-height:1;display:grid;place-items:center;min-width:96px;min-height:130px;border-radius:24px;background:rgba(255,255,255,.42);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);}
@media(max-width:760px){
  .match-board2650{grid-template-columns:1fr;gap:10px;}
  .match-dropzone2650{min-height:106px;padding:11px;}
  .match-palette2650{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .match-uniform-card2650{min-height:92px;}
}
@media(orientation:landscape) and (max-height:540px){
  .match-board2650{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;}
  .match-dropzone2650{min-height:96px;padding:8px;}
  .match-palette2650{grid-template-columns:repeat(4,minmax(100px,1fr));}
}


/* =========================================================
   v2.6.51-r3 — Admin/Teacher RoomKey Guard + GM Target Selector
   ========================================================= */
.admin-gm-settings-chip2650{position:static!important;display:inline-flex!important;align-items:center;justify-content:center;margin-top:8px;left:auto!important;bottom:auto!important;}
.admin-shortcut-panel2651,.gm-target-panel2651{border:1px solid rgba(124,58,237,.18)!important;background:linear-gradient(135deg,rgba(250,245,255,.96),rgba(239,246,255,.96))!important;}
.admin-shortcut-buttons2651{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;}
.admin-shortcut-buttons2651 button{min-width:220px;}
.gm-target-panel2651{display:grid;gap:10px;}
.gm-target-row2651{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.gm-target-note2651{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.25);font-weight:800;color:#475569;}
.gm-target-note2651.warning{background:#fff7ed;border-color:#fed7aa;color:#9a3412;}
.teacher-console-url-box2651{margin-top:14px;padding:14px;border-radius:20px;background:linear-gradient(135deg,#eef2ff,#ecfeff);border:1px solid rgba(59,130,246,.16);display:grid;gap:8px;}
.teacher-console-url-box2651 p{margin:0;color:#52637a;font-weight:800;}
.teacher-console-url-box2651 small{word-break:break-all;color:#64748b;}
@media(max-width:760px){.admin-shortcut-buttons2651{display:grid;grid-template-columns:1fr}.admin-shortcut-buttons2651 button{width:100%;min-width:0}.gm-target-row2651{grid-template-columns:1fr}}


/* =========================================================
   v2.6.51-r3 — Admin/Teacher RoomKey Guard + Layout Cleanup
   Replace overflowing live UI, no duplicate menu owner.
   ========================================================= */
.shop-tabs-polished{max-width:100%;overflow:visible!important;}
.shop-tabs-polished button{max-width:100%;}
.admin-shortcut-panel2651{max-width:100%;overflow:hidden;}
.admin-shortcut-buttons2651{display:grid!important;grid-template-columns:1fr;gap:10px;max-width:100%;}
.admin-shortcut-buttons2651 button{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;}
.teacher-console-url-box2651 small,.admin-shortcut-panel2651 small{overflow-wrap:anywhere;word-break:break-word;}
.teacher-room-login-card2651r2 label,.teacher-room-login-card2651r2 input{display:block;width:100%;}
.teacher-room-login-card2651r2 label{font-weight:900;margin:12px 0 6px;}
.teacher-menu-grid2651r2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;}
.teacher-phase-note2651r2{border-radius:18px;padding:12px 14px;background:linear-gradient(135deg,rgba(255,247,237,.95),rgba(254,243,199,.9));border:2px solid rgba(245,158,11,.35);font-weight:900;color:#92400e;}
.gm-target-disabled2651r2{opacity:.72;filter:saturate(.85);}
.gm-target-sync-note2651r2{border-radius:16px;background:rgba(239,246,255,.92);border:1px solid rgba(59,130,246,.25);padding:10px 12px;color:#1e3a8a;font-weight:800;margin-top:8px;}
@media(max-width:760px){
  .shop-tabs-polished{grid-template-columns:repeat(2,minmax(0,1fr))!important;position:relative!important;top:auto!important;}
  .shop-tabs-polished button{font-size:13px;line-height:1.18;padding:10px 8px!important;min-height:50px;}
  .teacher-menu-grid2651r2{grid-template-columns:1fr;}
  .admin-shortcut-panel2651,.gm-target-panel2651{overflow:hidden;}
}


/* v2.6.51-r3 — Teacher backend gate + discipline direct match guard */
.teacher-room-login-card2651r3 label{display:block;margin:12px 0 8px;font-weight:900;color:#334155;}
.teacher-room-login-card2651r3 input{width:100%;border:4px solid #d8edff;border-radius:18px;padding:12px 14px;font-size:18px;font-weight:900;background:#fff;}
.teacher-menu-grid2651r2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px;}
@media(max-width:760px){.teacher-menu-grid2651r2{grid-template-columns:1fr!important}.teacher-room-login-card2651r3 input{font-size:16px}.match-dropzone2650,.match-uniform-card2650{touch-action:manipulation!important}.discipline-actions2647 button{min-height:54px}}
body[data-page="teacher"] .teacher-key-card2644,body[data-page="teacher"] .teacher-wizard-card2644,body[data-page="teacher"] .teacher-lock2642{display:none!important;}


/* v2.6.52 Announcement Center + Gift Box Flow */
.announcement-ribbon2652{position:fixed;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%,-130%);width:min(720px,calc(100vw - 28px));z-index:9998;background:linear-gradient(90deg,rgba(220,38,38,.72),rgba(249,115,22,.62));color:#fff;border:1px solid rgba(255,255,255,.38);border-radius:999px;box-shadow:0 18px 46px rgba(127,29,29,.28);padding:12px 46px 12px 18px;display:flex;align-items:center;gap:10px;backdrop-filter:blur(14px);transition:.32s ease;font-weight:900}.announcement-ribbon2652.show{transform:translate(-50%,0)}.announcement-ribbon2652 b{font-size:14px;line-height:1.25}.announcement-ribbon2652 span{white-space:nowrap}.announcement-ribbon2652 button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:999px;background:rgba(255,255,255,.22);color:#fff;padding:0}.gift-box-overlay2652{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(10px)}.gift-box-card2652{position:relative;width:min(560px,100%);background:linear-gradient(180deg,#fff8db,#fff,#eff6ff);border:2px solid rgba(250,204,21,.75);border-radius:34px;box-shadow:0 32px 90px rgba(120,53,15,.38);padding:28px;text-align:center;color:#1e2a4a;overflow:hidden}.gift-box-card2652:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 50% 10%,rgba(253,224,71,.55),transparent 30%),radial-gradient(circle at 10% 70%,rgba(59,130,246,.18),transparent 32%);animation:giftGlow2652 3s ease-in-out infinite alternate}.gift-box-card2652>*{position:relative}.gift-close2652{position:absolute;right:18px;top:18px;width:42px;height:42px;padding:0;border-radius:999px;background:rgba(255,255,255,.72);color:#1e2a4a;z-index:2}.gift-box-icon2652{font-size:94px;filter:drop-shadow(0 18px 22px rgba(146,64,14,.25));animation:giftBounce2652 1.2s ease-in-out infinite}.gift-box-icon2652.open{animation:giftOpen2652 .9s ease forwards}.gift-kicker2652{letter-spacing:.1em;text-transform:uppercase;color:#b45309;font-weight:1000}.gift-claim2652{font-size:22px;border-radius:24px;box-shadow:0 16px 0 rgba(100,116,139,.22)}.gift-result2652{margin-top:18px;background:rgba(255,255,255,.72);border:1px solid rgba(250,204,21,.55);border-radius:22px;padding:16px;text-align:left}.gift-result2652 h3{text-align:center;margin-top:0}.gift-result2652 ul{font-size:20px;font-weight:900;line-height:1.7}.gift-burst2652{position:absolute;inset:0;pointer-events:none}.gift-burst2652 i{position:absolute;width:12px;height:24px;border-radius:8px;background:linear-gradient(#facc15,#f97316);top:50%;left:50%;opacity:.0}.gift-box-card2652.claimed .gift-burst2652 i{animation:confetti2652 1.2s ease-out forwards}.gift-burst2652 i:nth-child(1){--x:-190px;--y:-160px}.gift-burst2652 i:nth-child(2){--x:180px;--y:-120px;background:linear-gradient(#60a5fa,#8b5cf6)}.gift-burst2652 i:nth-child(3){--x:-150px;--y:120px;background:linear-gradient(#34d399,#22c55e)}.gift-burst2652 i:nth-child(4){--x:150px;--y:140px;background:linear-gradient(#fb7185,#f97316)}.gift-burst2652 i:nth-child(5){--x:0px;--y:-190px;background:linear-gradient(#fde047,#facc15)}.gift-burst2652 i:nth-child(6){--x:0px;--y:180px;background:linear-gradient(#a78bfa,#3b82f6)}.announcement-center2652 small,.reward-cap-note2652{display:block;color:#64748b;margin-top:8px}.announcement-grid2652,.reward-input-grid2652{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reward-input-grid2652{grid-template-columns:repeat(3,1fr)}.reward-preset-row2652{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.assignment-reward-card2652{border:1px solid rgba(250,204,21,.45);background:linear-gradient(135deg,rgba(255,251,235,.92),rgba(239,246,255,.88))}@keyframes giftBounce2652{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(4deg)}}@keyframes giftOpen2652{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.18) rotate(-8deg)}100%{transform:scale(1.04) rotate(0)}}@keyframes giftGlow2652{from{transform:rotate(0) scale(1)}to{transform:rotate(8deg) scale(1.05)}}@keyframes confetti2652{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.1) rotate(420deg)}}@media(max-width:720px){.announcement-ribbon2652{border-radius:24px;align-items:flex-start;flex-direction:column;padding-right:46px}.announcement-grid2652,.reward-input-grid2652,.reward-preset-row2652{grid-template-columns:1fr}.gift-box-card2652{padding:24px 18px}.gift-box-icon2652{font-size:76px}}


/* v2.6.52 R2 — Reward preview/send clarity + assignment creator placeholder */
.assignment-creator-placeholder2652r2{display:grid;gap:4px;margin:10px 0 12px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.78);border:1px dashed rgba(245,158,11,.55);color:#92400e;font-weight:900;}
.assignment-creator-placeholder2652r2 span{font-size:13px;color:#64748b;font-weight:800;line-height:1.35;}
.assignment-disabled2652r2{opacity:.62!important;cursor:not-allowed!important;filter:grayscale(.25);}
.gift-box-card2652.preview-only2652r2{border-color:rgba(59,130,246,.55);background:linear-gradient(180deg,#eff6ff,#fff,#fff7ed);}
.gift-box-card2652.preview-only2652r2 .gift-kicker2652{color:#2563eb;}
.gift-preview-note2652r2{margin:10px 0 0;padding:10px 12px;border-radius:14px;background:rgba(219,234,254,.9);border:1px solid rgba(59,130,246,.25);color:#1e40af;font-weight:900;text-align:center;}
@media(max-width:720px){.assignment-creator-placeholder2652r2{font-size:13px}.assignment-reward-card2652 .btn-row,.announcement-center2652 .btn-row{display:grid;grid-template-columns:1fr!important}.assignment-reward-card2652 .btn-row button,.announcement-center2652 .btn-row button{width:100%;}}


/* =========================================================
   v2.6.52 R3 Final — Consolidated Guard
   ========================================================= */
.announcement-ribbon2652{overflow:hidden;min-height:58px;gap:0;transition:transform .32s ease,opacity .45s ease;}
.announcement-ribbon2652.closing2652r3b{opacity:0;transform:translate(-50%,-130%) scale(.98);}
.announcement-marquee-mask2652r3{width:100%;overflow:hidden;white-space:nowrap;}
.announcement-marquee-track2652r3{display:inline-block;min-width:max-content;will-change:transform;animation:announcementMarquee2652r3 var(--announcement-duration,14s) linear var(--announcement-loop-count,5) both;}
.announcement-marquee-track2652r3 span{display:inline-block;font-weight:1000;font-size:clamp(16px,3.8vw,24px);letter-spacing:.01em;text-shadow:0 2px 8px rgba(15,23,42,.18);}
.announcement-ribbon2652:hover .announcement-marquee-track2652r3{animation-play-state:paused;}
@keyframes announcementMarquee2652r3{0%{transform:translateX(var(--announcement-start,180px))}100%{transform:translateX(calc(-100% - var(--announcement-exit-gap,120px)))}}
@media(max-width:720px){.announcement-ribbon2652{min-height:54px}.announcement-marquee-track2652r3 span{font-size:clamp(15px,5vw,20px)}}
.gift-box-card2652.gift-theme-gold2652r3{border-color:rgba(250,204,21,.85);background:linear-gradient(180deg,#fff4b8,#fffdf3 48%,#eff6ff);}
.gift-box-card2652.gift-theme-red2652r3{border-color:rgba(248,113,113,.82);background:linear-gradient(180deg,#ffe4e6,#fff7ed 48%,#eff6ff);}
.gift-box-card2652.gift-theme-preview2652r3{border-color:rgba(96,165,250,.55);background:linear-gradient(180deg,#eff6ff,#fff,#f5f3ff);}
.gift-box-icon2652{position:relative;display:inline-grid;place-items:center;width:116px;height:116px;margin:0 auto 6px;font-size:86px;}
.gift-box-icon2652 .gift-box-body2652r3{display:block;line-height:1;filter:drop-shadow(0 18px 22px rgba(146,64,14,.28));}
.gift-box-icon2652 .gift-box-lid2652r3{position:absolute;top:14px;left:50%;width:72px;height:26px;border-radius:14px 14px 8px 8px;background:linear-gradient(135deg,#ef4444,#f97316,#facc15);transform:translateX(-50%);box-shadow:0 8px 16px rgba(127,29,29,.22);opacity:.9;transform-origin:15% 100%;}
.gift-theme-red2652r3 .gift-box-icon2652 .gift-box-lid2652r3{background:linear-gradient(135deg,#dc2626,#ef4444,#fb7185);}
.gift-box-icon2652.open .gift-box-lid2652r3{animation:giftLidFly2652r3 .82s cubic-bezier(.2,.9,.2,1) forwards;}
.gift-box-icon2652.open .gift-box-body2652r3{animation:giftBodyPop2652r3 .82s ease forwards;}
.gift-ribbons2652r3,.gift-sparkles2652r3{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.gift-ribbons2652r3 i{position:absolute;left:50%;top:48%;width:18px;height:84px;border-radius:999px;background:linear-gradient(180deg,#ef4444,#facc15);opacity:0;transform:translate(-50%,-50%) rotate(var(--r,0deg));}
.gift-ribbons2652r3 i:nth-child(1){--r:34deg}.gift-ribbons2652r3 i:nth-child(2){--r:-38deg;background:linear-gradient(180deg,#3b82f6,#a78bfa)}.gift-ribbons2652r3 i:nth-child(3){--r:82deg;background:linear-gradient(180deg,#22c55e,#fde047)}.gift-ribbons2652r3 i:nth-child(4){--r:-82deg;background:linear-gradient(180deg,#fb7185,#f97316)}
.gift-opening2652r3 .gift-ribbons2652r3 i{animation:ribbonBurst2652r3 1.15s ease-out forwards;}
.gift-opening2652r3 .gift-ribbons2652r3 i:nth-child(2){animation-delay:.06s}.gift-opening2652r3 .gift-ribbons2652r3 i:nth-child(3){animation-delay:.12s}.gift-opening2652r3 .gift-ribbons2652r3 i:nth-child(4){animation-delay:.18s}
.gift-sparkles2652r3 i{position:absolute;left:50%;top:45%;width:9px;height:9px;border-radius:50%;background:#fde047;opacity:0;box-shadow:0 0 18px rgba(250,204,21,.8);}
.gift-sparkles2652r3 i:nth-child(1){--x:-210px;--y:-120px}.gift-sparkles2652r3 i:nth-child(2){--x:190px;--y:-150px;background:#60a5fa}.gift-sparkles2652r3 i:nth-child(3){--x:-170px;--y:130px;background:#f472b6}.gift-sparkles2652r3 i:nth-child(4){--x:170px;--y:120px;background:#34d399}.gift-sparkles2652r3 i:nth-child(5){--x:-55px;--y:-210px}.gift-sparkles2652r3 i:nth-child(6){--x:60px;--y:-205px;background:#c4b5fd}.gift-sparkles2652r3 i:nth-child(7){--x:-230px;--y:5px;background:#fb923c}.gift-sparkles2652r3 i:nth-child(8){--x:230px;--y:10px;background:#facc15}
.gift-opening2652r3 .gift-sparkles2652r3 i{animation:sparkleFly2652r3 1.25s ease-out forwards;}
.gift-opening2652r3 .gift-burst2652 i{animation-duration:1.45s!important;}
.gift-burst2652 i:nth-child(7){--x:-230px;--y:-35px;background:linear-gradient(#f472b6,#ef4444)}.gift-burst2652 i:nth-child(8){--x:230px;--y:-20px;background:linear-gradient(#93c5fd,#2563eb)}.gift-burst2652 i:nth-child(9){--x:-90px;--y:-220px;background:linear-gradient(#fde047,#f97316)}.gift-burst2652 i:nth-child(10){--x:95px;--y:-220px;background:linear-gradient(#34d399,#10b981)}.gift-burst2652 i:nth-child(11){--x:-220px;--y:70px;background:linear-gradient(#a78bfa,#7c3aed)}.gift-burst2652 i:nth-child(12){--x:220px;--y:75px;background:linear-gradient(#fb7185,#e11d48)}
.nav.admin-nav.gm-active2652r3,.admin-gm-chip2650.gm-active2652r3{background:linear-gradient(135deg,#8b5cf6,#2563eb)!important;color:#fff!important;border-color:rgba(255,255,255,.48)!important;box-shadow:0 0 0 3px rgba(196,181,253,.35),0 16px 36px rgba(79,70,229,.32)!important;}
@keyframes giftLidFly2652r3{0%{transform:translateX(-50%) rotate(0) scale(1)}45%{transform:translate(-72%,-42px) rotate(-22deg) scale(1.06)}100%{transform:translate(-95%,-64px) rotate(-34deg) scale(.92);opacity:.92}}
@keyframes giftBodyPop2652r3{0%{transform:scale(1)}45%{transform:scale(1.16) rotate(5deg)}100%{transform:scale(1.04) rotate(0)}}
@keyframes ribbonBurst2652r3{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(var(--r))}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-155%) scale(1.1) rotate(calc(var(--r) + 80deg))}}
@keyframes sparkleFly2652r3{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.4)}}
@media(max-width:720px){.announcement-marquee-track2652r3{animation-duration:10s}.gift-box-icon2652{width:96px;height:96px;font-size:72px}.gift-box-icon2652 .gift-box-lid2652r3{width:60px;height:22px}}


/* v2.6.52 R3 Final — Assignment/Mission red gift box visual guard
   วัฏ: replace emoji-only gift body with CSS-drawn themed box so Assignment/Mission is visibly red. */
.gift-box-icon2652 .gift-box-body2652r3{
  display:block!important;
  width:78px!important;
  height:66px!important;
  border-radius:14px 14px 18px 18px!important;
  position:relative!important;
  background:linear-gradient(135deg,#f59e0b,#facc15 52%,#f97316)!important;
  box-shadow:inset 0 8px 14px rgba(255,255,255,.34), inset 0 -10px 16px rgba(120,53,15,.22), 0 18px 24px rgba(146,64,14,.26)!important;
  filter:none!important;
}
.gift-box-icon2652 .gift-box-body2652r3:before{
  content:"";
  position:absolute;
  left:50%;top:0;bottom:0;
  width:14px;
  transform:translateX(-50%);
  border-radius:10px;
  background:rgba(255,255,255,.62);
  box-shadow:0 0 0 1px rgba(255,255,255,.22);
}
.gift-box-icon2652 .gift-box-body2652r3:after{
  content:"";
  position:absolute;
  left:0;right:0;top:24px;
  height:12px;
  background:rgba(255,255,255,.58);
  box-shadow:0 1px 0 rgba(255,255,255,.24);
}
.gift-theme-gold2652r3 .gift-box-icon2652 .gift-box-body2652r3{
  background:linear-gradient(135deg,#f59e0b,#fde047 50%,#f97316)!important;
}
.gift-theme-red2652r3 .gift-box-icon2652 .gift-box-body2652r3{
  background:linear-gradient(135deg,#b91c1c,#ef4444 48%,#fb7185)!important;
  box-shadow:inset 0 8px 14px rgba(255,255,255,.28), inset 0 -10px 16px rgba(127,29,29,.24), 0 18px 24px rgba(185,28,28,.28)!important;
}
.gift-theme-red2652r3 .gift-box-icon2652 .gift-box-body2652r3:before,
.gift-theme-red2652r3 .gift-box-icon2652 .gift-box-body2652r3:after{
  background:linear-gradient(180deg,#fff7ed,#fed7aa)!important;
}
.gift-theme-preview2652r3 .gift-box-icon2652 .gift-box-body2652r3{
  background:linear-gradient(135deg,#60a5fa,#a78bfa 52%,#2563eb)!important;
}
.gift-theme-red2652r3 .gift-box-icon2652 .gift-box-lid2652r3{
  background:linear-gradient(135deg,#991b1b,#dc2626 52%,#fb7185)!important;
}
.gift-theme-red2652r3 .gift-kicker2652{color:#b91c1c!important;}
.gift-theme-red2652r3 .gift-result2652{border-color:rgba(248,113,113,.58)!important;}
@media(max-width:720px){.gift-box-icon2652 .gift-box-body2652r3{width:66px!important;height:56px!important;border-radius:12px 12px 15px 15px!important}.gift-box-icon2652 .gift-box-body2652r3:after{top:20px;height:10px}.gift-box-icon2652 .gift-box-body2652r3:before{width:12px}}

/* =========================================================
   v2.6.52 R3 Final Fix1 — Chest Asset Override
   Use uploaded chest assets (GM=diamond, assignment=gold) instead of CSS-only gift box.
   ========================================================= */
.gift-chest-figure2652{
  position:relative!important;
  display:block!important;
  width:min(290px,72vw)!important;
  height:auto!important;
  margin:0 auto 8px!important;
  filter:drop-shadow(0 18px 28px rgba(15,23,42,.22));
  animation:giftBounce2652 1.2s ease-in-out infinite;
}
.gift-chest-figure2652 .gift-box-lid2652r3,
.gift-chest-figure2652 .gift-box-body2652r3,
.gift-chest-figure2652 .gift-box-body2652r3:before,
.gift-chest-figure2652 .gift-box-body2652r3:after{display:none!important;content:none!important;}
.gift-chest-img2652{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}
.gift-chest-figure2652 .chest-open2652{
  position:absolute;
  inset:0;
  opacity:0;
  transform:translateY(12px) scale(.94);
}
.gift-box-icon2652.open.gift-chest-figure2652{animation:none!important;}
.gift-box-icon2652.open.gift-chest-figure2652 .chest-closed2652{animation:giftChestClosedHide2652 .55s ease forwards;}
.gift-box-icon2652.open.gift-chest-figure2652 .chest-open2652{animation:giftChestOpenReveal2652 .78s cubic-bezier(.2,.9,.2,1) forwards;}
@keyframes giftChestClosedHide2652{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(18px) scale(.88)}}
@keyframes giftChestOpenReveal2652{0%{opacity:0;transform:translateY(18px) scale(.9)}55%{opacity:1;transform:translateY(-8px) scale(1.04)}100%{opacity:1;transform:translateY(0) scale(1)}}
.gift-theme-red2652r3 .gift-kicker2652{color:#b45309!important;}
.gift-theme-gold2652r3 .gift-kicker2652{color:#1d4ed8;}
@media(max-width:720px){
  .gift-chest-figure2652{width:min(240px,76vw)!important;}
}

/* =========================================================
   v2.6.53 FIX7 — วัฏ Mission + Math Magic Arena Polish + Child Sync Interlude
   ========================================================= */
.reward-sync-interlude2653{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;background:linear-gradient(180deg,rgba(7,89,133,.72),rgba(67,56,202,.72));backdrop-filter:blur(12px);padding:18px}.reward-sync-card2653{position:relative;width:min(520px,calc(100vw - 28px));border-radius:34px;background:linear-gradient(180deg,#fff,#e0f2fe 54%,#fef3c7);box-shadow:0 32px 90px rgba(15,23,42,.34);border:2px solid rgba(255,255,255,.78);padding:28px;text-align:center;overflow:hidden}.reward-sync-card2653 img{width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(30,64,175,.22));animation:rewardSyncMascot2653 1.15s ease-in-out infinite}.reward-sync-card2653 h2{margin:8px 0 4px;color:#0f172a}.reward-sync-card2653 p{font-weight:1000;color:#1d4ed8}.reward-sync-card2653 small{display:block;color:#64748b;font-weight:800}.reward-sync-sky2653{position:absolute;inset:0;pointer-events:none}.reward-sync-sky2653 i{position:absolute;width:22px;height:22px;border-radius:50%;background:#facc15;box-shadow:0 0 28px #facc15;animation:rewardSyncStar2653 1.8s ease-in-out infinite}.reward-sync-sky2653 i:nth-child(1){left:12%;top:18%}.reward-sync-sky2653 i:nth-child(2){right:15%;top:24%;animation-delay:.3s}.reward-sync-sky2653 i:nth-child(3){left:22%;bottom:22%;animation-delay:.6s}.reward-sync-sky2653 i:nth-child(4){right:24%;bottom:18%;animation-delay:.9s}.reward-sync-dots2653{display:flex;gap:8px;justify-content:center;margin:14px}.reward-sync-dots2653 b{width:12px;height:12px;border-radius:50%;background:#2563eb;animation:rewardSyncDot2653 .8s infinite alternate}.reward-sync-dots2653 b:nth-child(2){animation-delay:.18s}.reward-sync-dots2653 b:nth-child(3){animation-delay:.36s}@keyframes rewardSyncMascot2653{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(3deg)}}@keyframes rewardSyncStar2653{0%,100%{transform:scale(.75);opacity:.45}50%{transform:scale(1.2);opacity:1}}@keyframes rewardSyncDot2653{to{transform:translateY(-8px);opacity:.55}}
.backend-assignment-home2653{margin:10px 0 12px;padding:10px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#fff7ed);border:1px solid rgba(59,130,246,.22)}.backend-assignment-home2653 h4{margin:0 0 8px;color:#1e3a8a}.backend-assignment-board2653{margin:0 0 18px}.backend-assignment-head2653{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#eff6ff,#fef3c7);border-radius:20px;padding:12px 14px}.backend-assignment-card2653{border:1px solid rgba(59,130,246,.22);background:linear-gradient(180deg,#fff,#f8fafc);border-radius:20px;padding:14px;display:grid;gap:7px}.backend-assignment-card2653 b{color:#0f172a}.backend-assignment-card2653 span{font-weight:800;color:#475569}.backend-assignment-card2653 small{color:#64748b;font-weight:800}.backend-assignment-card2653 button,.backend-assignment-empty2653 button{border-radius:14px;background:#2563eb;color:#fff;font-weight:1000}.backend-assignment-empty2653{padding:12px;border-radius:16px;background:#f8fafc;color:#64748b;font-weight:800}
.pvc-new-mode-button2657{align-self:stretch;border:0;border-radius:28px;padding:16px 18px;background:linear-gradient(135deg,#ef4444,#f97316 55%,#facc15);color:#fff;box-shadow:0 20px 40px rgba(239,68,68,.32);display:grid;gap:4px;text-align:left;min-width:220px}.pvc-new-mode-button2657 span{font-size:12px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.22);width:max-content;padding:4px 8px;border-radius:999px}.pvc-new-mode-button2657 b{font-size:24px}.pvc-new-mode-button2657 small{font-weight:900;color:#fff7ed}.pvc-battle-overlay2653{position:fixed;inset:0;z-index:10040;background:linear-gradient(180deg,#0f172a,#1e1b4b 55%,#111827);display:grid;place-items:center;padding:14px;color:#fff}.pvc-battle-card2653,.pvc-result-card2653{width:min(980px,calc(100vw - 20px));border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 90px rgba(0,0,0,.42);padding:18px;position:relative;overflow:hidden}.pvc-top2653{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.pvc-hp-side{display:grid;gap:4px}.pvc-hp-side.bot{text-align:right}.pvc-hpbar{height:22px;border-radius:999px;background:#450a0a;border:2px solid rgba(255,255,255,.35);overflow:hidden}.pvc-hpbar i{display:block;height:100%;background:linear-gradient(90deg,#dc2626,#ef4444,#fca5a5);transition:width .32s ease}.pvc-round2653{font-weight:1000;background:#facc15;color:#422006;border-radius:999px;padding:8px 12px}.pvc-stage2653{display:grid;grid-template-columns:180px minmax(260px,1fr) 180px;gap:16px;align-items:center;margin-top:18px}.pvc-fighter2653{text-align:center}.pvc-fighter2653 img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 20px 18px rgba(0,0,0,.38));animation:pvcIdle2653 1.4s ease-in-out infinite}.pvc-fighter2653 span{display:inline-block;background:rgba(255,255,255,.16);border-radius:999px;padding:6px 10px;font-weight:1000}.pvc-question2653{background:linear-gradient(180deg,#fff,#e0f2fe);color:#0f172a;border-radius:26px;padding:18px;text-align:center;box-shadow:0 18px 44px rgba(14,165,233,.22)}.pvc-question2653 h2{font-size:clamp(26px,5vw,48px);margin:8px 0}.pvc-choices2653{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pvc-choices2653 button{border-radius:18px;background:#2563eb;color:#fff;font-size:24px;font-weight:1000;padding:16px}.pvc-log2653{text-align:center;font-weight:1000;margin-top:12px;color:#fde68a}.pvc-close2653{position:absolute;right:14px;bottom:14px;background:rgba(255,255,255,.14);color:#fff}.pvc-result-card2653{text-align:center}.pvc-result-card2653 img{width:120px}.pvc-result-grid2653{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.pvc-result-grid2653 article{background:rgba(255,255,255,.12);border-radius:18px;padding:12px}.pvc-result-grid2653 span{display:block;color:#bfdbfe}.pvc-result-grid2653 b{display:block;font-size:20px}.pvc-battle-entry2657{border:2px solid rgba(249,115,22,.45)!important;background:linear-gradient(135deg,#fff7ed,#ffedd5)!important}.pvc-setup-card2657 .learning-hub-badge{background:#ef4444;color:#fff}.teacher-mode-grid2657{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.teacher-check-row2657{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.teacher-assignment-note2657{display:block;color:#b45309;background:#fff7ed;padding:8px;border-radius:12px}.grade-light2657{font-style:normal;font-size:18px;margin-right:6px}.grade-open-light2657 .grade-light2657{color:#22c55e;text-shadow:0 0 12px #22c55e}.grade-closed-light2657 .grade-light2657{color:#ef4444;text-shadow:0 0 12px #ef4444}.grade-open-light2657{box-shadow:0 0 0 2px rgba(34,197,94,.2)!important}.grade-closed-light2657{filter:saturate(.85);box-shadow:0 0 0 2px rgba(239,68,68,.16)!important}@keyframes pvcIdle2653{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(max-width:720px){.pvc-stage2653{grid-template-columns:1fr;gap:8px}.pvc-fighter2653 img{width:110px;height:110px}.pvc-top2653{grid-template-columns:1fr}.pvc-choices2653{grid-template-columns:1fr}.teacher-mode-grid2657{grid-template-columns:1fr}.pvc-result-grid2653{grid-template-columns:1fr}.pvc-new-mode-button2657{width:100%;}}

/* =========================================================
   v2.6.53 FIX8 — วัฏ Mission + Math Magic Arena Polish
   Responsive PvC, assignment lifecycle, teacher manager, reward sequencing
   ========================================================= */
.pvc-battle-overlay2653{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden;align-items:stretch;justify-items:center}.pvc-battle-card2653{height:min(760px,calc(100dvh - 18px));display:flex;flex-direction:column;gap:10px;padding:12px;max-width:1060px}.pvc-top2653{flex:0 0 auto}.pvc-stage2653{flex:1 1 auto;min-height:0}.pvc-feedback2653{min-height:34px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.14);color:#fde68a;font-weight:1000;text-align:center;padding:7px 12px}.pvc-question2653{position:relative}.pvc-next-count2653{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);background:linear-gradient(135deg,#fef3c7,#fde047);color:#7c2d12;border-radius:999px;padding:8px 14px;font-weight:1000;box-shadow:0 12px 24px rgba(124,45,18,.22)}.pvc-next-count2653 b{font-size:24px}.pvc-attack-fx2653{position:absolute;inset:0;pointer-events:none;opacity:0}.pvc-attack-fx2653 i{position:absolute;top:50%;left:22%;right:22%;height:8px;border-radius:999px;background:linear-gradient(90deg,#fef08a,#fb923c,#ef4444);box-shadow:0 0 28px #f59e0b}.pvc-attack-fx2653 b{position:absolute;top:42%;left:50%;font-size:44px;filter:drop-shadow(0 0 20px #facc15)}.fx-player-attack .pvc-attack-fx2653,.fx-bot-attack .pvc-attack-fx2653{animation:pvcAttackFlash2658 .65s ease}.fx-player-attack .pvc-attack-fx2653{transform:none}.fx-bot-attack .pvc-attack-fx2653{transform:scaleX(-1)}.fx-player-hit .pvc-fighter2653.player img,.fx-bot-hit .pvc-fighter2653.bot img,.phase-self-hit .pvc-fighter2653.player img,.phase-bot-self-hit .pvc-fighter2653.bot img{animation:pvcHitShake2658 .45s ease}.fx-player-attack .pvc-fighter2653.player img,.fx-bot-attack .pvc-fighter2653.bot img{animation:pvcAttackJump2658 .55s ease}@keyframes pvcAttackFlash2658{0%{opacity:0;transform:translateX(-16px)}35%{opacity:1}100%{opacity:0;transform:translateX(22px)}}@keyframes pvcHitShake2658{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px) rotate(-2deg)}50%{transform:translateX(8px) rotate(2deg)}75%{transform:translateX(-4px)}}@keyframes pvcAttackJump2658{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-16px) scale(1.08)}}
.assignment-gold-reward-overlay2658{position:fixed;inset:0;z-index:10070;display:grid;place-items:center;background:linear-gradient(180deg,rgba(120,53,15,.45),rgba(15,23,42,.65));backdrop-filter:blur(10px);padding:18px}.assignment-gold-card2658{width:min(520px,calc(100vw - 28px));border-radius:34px;background:linear-gradient(180deg,#fff7ed,#fef3c7,#fff);box-shadow:0 32px 80px rgba(146,64,14,.35);border:2px solid rgba(253,224,71,.8);text-align:center;padding:24px;position:relative;overflow:hidden}.assignment-gold-card2658 img{width:150px;height:150px;object-fit:contain;display:block;margin:0 auto;filter:drop-shadow(0 16px 22px rgba(120,53,15,.28))}.assignment-gold-card2658 .gold-open{display:none}.assignment-gold-card2658.opened .gold-closed{display:none}.assignment-gold-card2658.opened .gold-open{display:block;animation:goldChestPop2658 .55s ease}.assignment-gold-card2658 h2{color:#92400e;margin:4px 0}.assignment-gold-card2658 p{font-weight:1000;color:#b45309}.assignment-gold-result2658{margin-top:12px;display:grid;gap:10px}.assignment-gold-result2658 b{font-size:22px;color:#0f172a}.assignment-gold-result2658 span{font-weight:1000;color:#1d4ed8}.assignment-gold-spark2658 i{position:absolute;width:18px;height:18px;border-radius:50%;background:#facc15;box-shadow:0 0 20px #facc15;animation:rewardSyncStar2653 1.2s infinite}.assignment-gold-spark2658 i:nth-child(1){left:12%;top:18%}.assignment-gold-spark2658 i:nth-child(2){right:13%;top:20%;animation-delay:.2s}.assignment-gold-spark2658 i:nth-child(3){left:20%;bottom:20%;animation-delay:.4s}.assignment-gold-spark2658 i:nth-child(4){right:24%;bottom:16%;animation-delay:.6s}@keyframes goldChestPop2658{0%{transform:scale(.72) rotate(-4deg)}60%{transform:scale(1.12) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
.teacher-assignment-manager2658{border:2px solid rgba(59,130,246,.22)!important;background:linear-gradient(180deg,#eff6ff,#fff)!important}.teacher-assignment-manage-item2658{border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);padding:12px;margin:10px 0;display:grid;gap:6px}.teacher-assignment-manage-item2658 b{font-size:18px;color:#0f172a}.teacher-assignment-manage-item2658 span{font-weight:900;color:#2563eb}.teacher-assignment-manage-item2658 small{color:#64748b}.teacher-assignment-manage-item2658 div{display:flex;gap:8px;flex-wrap:wrap}.teacher-assignment-mode2657,.teacher-assignment-manager2658{max-width:100%;overflow:hidden}.teacher-assignment-mode2657 textarea,.teacher-assignment-manager2658 textarea{max-width:100%}.tma-responsive-modal2658 .learning-hub-card,.pvc-setup-card2657{max-height:calc(100dvh - 28px);overflow:auto}.pvc-setup-card2657 .teacher-mode-grid2657{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.teacher-mode-grid2657{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reward-input-grid2652{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
@media (orientation:portrait),(max-width:740px){.pvc-battle-card2653{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:22px;padding:8px;gap:6px}.pvc-top2653{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pvc-hp-side.player{grid-column:1}.pvc-hp-side.bot{grid-column:2;text-align:right}.pvc-round2653{grid-column:1/3;grid-row:1;justify-self:center;align-self:start;padding:6px 12px;font-size:14px;z-index:2}.pvc-hpbar{height:18px}.pvc-hp-side b{font-size:12px}.pvc-hp-side em{font-size:12px}.pvc-stage2653{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"player bot" "question question";gap:6px;margin-top:4px;align-items:end}.pvc-fighter2653.player{grid-area:player}.pvc-fighter2653.bot{grid-area:bot}.pvc-question2653{grid-area:question;border-radius:22px;padding:12px;margin-top:0}.pvc-fighter2653 img{width:min(27vw,92px);height:min(27vw,92px)}.pvc-fighter2653 span{font-size:12px;padding:4px 8px}.pvc-question2653 h2{font-size:clamp(28px,9vw,44px);margin:4px 0 8px}.pvc-choices2653{grid-template-columns:1fr;gap:7px}.pvc-choices2653 button{font-size:22px;padding:13px;border-radius:16px}.pvc-feedback2653{font-size:13px;min-height:30px;padding:5px 8px}.pvc-close2653{right:8px;bottom:8px;font-size:12px}.pvc-result-card2653{max-height:calc(100dvh - 20px);overflow:auto}.pvc-result-grid2653{grid-template-columns:1fr}.pvc-result-card2653 img{width:96px}.pvc-new-mode-button2657{width:100%;min-width:0}.teacher-mode-grid2657{grid-template-columns:1fr}.teacher-check-row2657{gap:6px}.teacher-assignment-mode2657,.teacher-assignment-manager2658{padding:14px!important}.pvc-setup-card2657{width:calc(100vw - 22px)!important}.pvc-setup-card2657 .start.wide{font-size:26px!important;line-height:1.1}}
@media (orientation:landscape) and (max-height:520px){.pvc-battle-card2653{height:calc(100dvh - 12px);width:calc(100vw - 12px);padding:8px;gap:5px}.pvc-stage2653{grid-template-columns:120px minmax(280px,1fr) 120px;gap:8px;margin-top:4px}.pvc-fighter2653 img{width:95px;height:95px}.pvc-question2653{padding:12px}.pvc-question2653 h2{font-size:36px;margin:4px}.pvc-choices2653 button{font-size:22px;padding:12px}.pvc-hpbar{height:16px}.pvc-round2653{padding:6px 10px}.pvc-feedback2653{min-height:28px}}

/* =========================================================
   FIX9 วัฏ Scope + Sync Guard: notification + GM target polish
   ========================================================= */
.tma-notification-bell2659{position:relative;white-space:nowrap;font-weight:1000!important}
.tma-notification-bell2659 b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;box-shadow:0 0 14px rgba(239,68,68,.45)}
.tma-notification-overlay2659{position:fixed;inset:0;z-index:10090;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}
.tma-notification-card2659{width:min(560px,calc(100vw - 28px));max-height:min(720px,calc(100dvh - 28px));overflow:auto;border-radius:30px;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 30px 80px rgba(15,23,42,.28);padding:20px;position:relative;color:#0f172a}
.tma-notification-close2659{position:absolute;right:14px;top:12px;border:0;border-radius:999px;width:38px;height:38px;background:#fee2e2;color:#991b1b;font-size:24px;font-weight:1000}
.tma-notification-card2659 article{display:grid;gap:4px;border:1px solid rgba(148,163,184,.24);background:#fff;border-radius:18px;padding:12px;margin:10px 0}
.tma-notification-card2659 article b{color:#1d4ed8}.tma-notification-card2659 article small{color:#64748b;font-size:12px}
.gm-target-panel2651 .gm-target-sync-note2651r2,.gm-target-note2651{line-height:1.45}



/* =========================================================
   v2.6.53.15 — Math Magic Arena + Sync Loop Closure + K2/K3 Assets
   Scope: UI/FX/SFX/character design only. Question engine, bot engine,
   assignment/result/reward/sync remain canonical TMA pipeline.
   No external CDN, no asset changes.
   ========================================================= */
.pvc-magic-overlay2659{
  background:
    radial-gradient(circle at 50% -10%, rgba(249,115,22,.26), transparent 34%),
    radial-gradient(circle at 15% 20%, rgba(59,130,246,.28), transparent 30%),
    radial-gradient(circle at 85% 24%, rgba(236,72,153,.24), transparent 30%),
    linear-gradient(180deg,#0f172a 0%, #1e1b4b 56%, #020617 100%)!important;
  overflow:hidden!important;
}
.pvc-magic-card2659{
  width:min(1080px,calc(100vw - 16px));
  height:min(780px,calc(100dvh - 16px));
  min-height:560px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border-radius:30px;
  color:#fff;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(30,41,59,.86),rgba(15,23,42,.92));
  border:2px solid rgba(255,255,255,.12);
  box-shadow:0 32px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
}
.pvc-vfx-canvas2659{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:0;
}
.pvc-magic-card2659>*:not(.pvc-vfx-canvas2659):not(.pvc-delay-overlay2659){position:relative;z-index:2}
.pvc-magic-card2659:before{
  content:"";
  position:absolute;
  inset:-35%;
  background:conic-gradient(from 0deg,transparent,rgba(250,204,21,.12),transparent,rgba(59,130,246,.12),transparent);
  animation:pvcMagicAura2659 8s linear infinite;
  z-index:0;
}
@keyframes pvcMagicAura2659{to{transform:rotate(360deg)}}

.pvc-magic-top2659{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex:0 0 auto;
}
.pvc-round-chip2659{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.72);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  font-weight:1000;
}
.pvc-round-chip2659 span{color:#fde68a}
.pvc-round-chip2659 b{
  color:#bfdbfe;
  font-size:12px;
  background:rgba(59,130,246,.18);
  border-radius:999px;
  padding:4px 8px;
}
.pvc-combo-row2659{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pvc-combo-pill2659{
  display:none;
  color:#fff;
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:1000;
  animation:pvcMagicPop2659 .75s ease infinite alternate;
}
.pvc-combo-pill2659.show{display:inline-flex}
.pvc-combo-pill2659.player{background:linear-gradient(135deg,#f97316,#ef4444)}
.pvc-combo-pill2659.bot{background:linear-gradient(135deg,#dc2626,#be123c)}
@keyframes pvcMagicPop2659{from{transform:translateY(0)}to{transform:translateY(-3px)}}

.pvc-hp-grid2659{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  flex:0 0 auto;
}
.pvc-hp-card2659{
  display:grid;
  gap:5px;
  padding:10px;
  border-radius:18px;
  background:rgba(15,23,42,.78);
  border:1px solid rgba(255,255,255,.12);
}
.pvc-hp-card2659 div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  font-size:12px;
  font-weight:1000;
}
.pvc-hp-card2659.player b{color:#34d399}
.pvc-hp-card2659.bot b{color:#fb7185}
.pvc-hp-card2659 span{color:#e2e8f0}
.pvc-hp-card2659>i{
  display:block;
  height:16px;
  border-radius:999px;
  background:#0f172a;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
}
.pvc-hp-card2659>i>em{
  display:block;
  height:100%;
  border-radius:999px;
  transition:width .48s ease;
  box-shadow:0 0 18px currentColor;
}
.pvc-hp-card2659.player>i>em{background:linear-gradient(90deg,#22c55e,#14b8a6);color:#22c55e}
.pvc-hp-card2659.bot>i>em{background:linear-gradient(270deg,#ef4444,#ec4899);color:#ef4444}

.pvc-stage-magic2659{
  flex:1 1 auto;
  min-height:0;
  position:relative;
  display:grid;
  grid-template-columns:minmax(120px,180px) auto minmax(120px,180px);
  gap:12px;
  align-items:center;
  padding:14px clamp(8px,2.2vw,26px);
  border-radius:24px;
  overflow:hidden;
  background:
    linear-gradient(rgba(15,23,42,.38),rgba(15,23,42,.84)),
    radial-gradient(circle at 50% 100%, rgba(250,204,21,.18), transparent 44%),
    linear-gradient(135deg,#172554,#312e81 48%,#111827);
  border:1px solid rgba(255,255,255,.12);
}
.pvc-stage-magic2659:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:36%;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.15),rgba(15,23,42,.2) 45%,rgba(2,6,23,.64));
  pointer-events:none;
}
.pvc-character-box2659{
  position:relative;
  display:grid;
  place-items:center;
  text-align:center;
  gap:5px;
  min-width:0;
  animation:pvcMagicBob2659 2.4s ease-in-out infinite alternate;
}
.pvc-character-box2659.bot{animation-delay:.25s}
@keyframes pvcMagicBob2659{
  from{transform:translateY(0) scale(1)}
  to{transform:translateY(-10px) scale(1.018)}
}
.pvc-character-box2659 img{
  width:clamp(92px,16vw,150px);
  height:clamp(92px,16vw,150px);
  object-fit:contain;
  filter:drop-shadow(0 20px 16px rgba(0,0,0,.38));
  position:relative;
  z-index:2;
}
.pvc-character-box2659.bot img{transform:scaleX(-1)}
.pvc-character-box2659 strong{
  max-width:100%;
  display:inline-block;
  color:#fff;
  background:rgba(15,23,42,.88);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:5px 9px;
  font-size:12px;
  font-weight:1000;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pvc-character-box2659 small{
  font-weight:1000;
  font-size:11px;
  color:#bfdbfe;
}
.pvc-character-glow2659{
  position:absolute;
  width:70%;
  aspect-ratio:1/1;
  border-radius:999px;
  background:radial-gradient(circle,rgba(34,197,94,.30),transparent 68%);
  filter:blur(3px);
  z-index:1;
}
.pvc-character-box2659.bot .pvc-character-glow2659{background:radial-gradient(circle,rgba(244,63,94,.30),transparent 68%)}
.pvc-status-bubble2659{
  position:absolute;
  top:-14px;
  z-index:5;
  max-width:150px;
  border-radius:14px;
  padding:5px 8px;
  font-size:11px;
  font-weight:1000;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.pvc-status-bubble2659.player{background:#facc15;color:#422006}
.pvc-status-bubble2659.bot{background:#ef4444;color:#fff}
.pvc-freeze-overlay2659{
  display:none;
  position:absolute;
  inset:-8px;
  z-index:4;
  border-radius:24px;
  pointer-events:none;
  background:rgba(14,165,233,.26);
  border:2px solid rgba(103,232,249,.9);
  box-shadow:0 0 28px rgba(34,211,238,.75);
  backdrop-filter:blur(1px);
  animation:pvcIcePulse2659 .75s ease-in-out infinite alternate;
}
.pvc-character-box2659.is-frozen .pvc-freeze-overlay2659{display:block}
@keyframes pvcIcePulse2659{from{opacity:.7}to{opacity:1}}

.pvc-vs-core2659{
  width:clamp(54px,9vw,78px);
  aspect-ratio:1/1;
  justify-self:center;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:radial-gradient(circle,#fef3c7,#f97316);
  color:#7c2d12;
  font-weight:1000;
  box-shadow:0 0 34px rgba(251,146,60,.45);
  position:relative;
  z-index:4;
}
.pvc-vs-core2659 span{font-size:clamp(16px,3vw,24px)}
.pvc-vs-core2659 i{
  position:absolute;
  right:-8px;
  top:-8px;
  font-style:normal;
  background:#0f172a;
  border-radius:999px;
  padding:2px 5px;
  border:1px solid rgba(255,255,255,.18);
}

.pvc-attack-fx2659{
  position:absolute;
  inset:0;
  z-index:6;
  pointer-events:none;
  opacity:0;
}
.pvc-attack-fx2659 i{
  position:absolute;
  top:47%;
  left:19%;
  width:62%;
  height:9px;
  border-radius:999px;
  background:linear-gradient(90deg,#fef08a,#fb923c,#ef4444);
  box-shadow:0 0 30px #f97316;
}
.pvc-attack-fx2659 b{
  position:absolute;
  top:38%;
  left:50%;
  font-size:46px;
  filter:drop-shadow(0 0 20px #facc15);
}
.fx-player-attack .pvc-attack-fx2659,
.fx-bot-attack .pvc-attack-fx2659,
.fx-skill-fire .pvc-attack-fx2659,
.fx-skill-ice .pvc-attack-fx2659,
.fx-skill-lightning .pvc-attack-fx2659,
.fx-skill-holy .pvc-attack-fx2659{
  animation:pvcMagicAttack2659 .72s ease;
}
.fx-bot-attack .pvc-attack-fx2659{transform:scaleX(-1)}
.fx-skill-fire .pvc-attack-fx2659 i{background:linear-gradient(90deg,#fef08a,#fb923c,#dc2626);box-shadow:0 0 36px #f97316}
.fx-skill-ice .pvc-attack-fx2659 i{background:linear-gradient(90deg,#cffafe,#67e8f9,#0284c7);box-shadow:0 0 36px #22d3ee}
.fx-skill-lightning .pvc-attack-fx2659 i{background:linear-gradient(90deg,#fef9c3,#fde047,#a855f7);box-shadow:0 0 40px #facc15}
.fx-skill-holy .pvc-attack-fx2659 i{background:linear-gradient(90deg,#fef3c7,#facc15,#f59e0b);box-shadow:0 0 34px #facc15}
@keyframes pvcMagicAttack2659{
  0%{opacity:0;transform:translateX(-28px) scaleX(.72)}
  25%,70%{opacity:1}
  100%{opacity:0;transform:translateX(24px) scaleX(1.04)}
}
.fx-player-hit .pvc-character-box2659.player img,
.fx-bot-hit .pvc-character-box2659.bot img,
.phase-self-hit .pvc-character-box2659.player img,
.phase-bot-self-hit .pvc-character-box2659.bot img{
  animation:pvcMagicHit2659 .44s ease;
}
.fx-player-attack .pvc-character-box2659.player img,
.fx-bot-attack .pvc-character-box2659.bot img,
.fx-skill-fire .pvc-character-box2659.player img,
.fx-skill-ice .pvc-character-box2659.player img,
.fx-skill-lightning .pvc-character-box2659.player img,
.fx-skill-holy .pvc-character-box2659.player img{
  animation:pvcMagicLeap2659 .58s ease;
}
@keyframes pvcMagicHit2659{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-8px) rotate(-3deg)}
  50%{transform:translateX(8px) rotate(3deg)}
  75%{transform:translateX(-4px)}
}
@keyframes pvcMagicLeap2659{
  0%,100%{transform:translateY(0) scale(1)}
  48%{transform:translateY(-18px) scale(1.08)}
}

.pvc-question-panel2659{
  flex:0 0 auto;
  display:grid;
  gap:4px;
  text-align:center;
  border-radius:24px;
  padding:12px;
  color:#0f172a;
  background:linear-gradient(180deg,#fff,#e0f2fe);
  box-shadow:0 18px 44px rgba(14,165,233,.20);
}
.pvc-question-panel2659 small{
  color:#4f46e5;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:11px;
  font-weight:1000;
}
.pvc-question-panel2659 h2{
  margin:0;
  font-size:clamp(30px,6vw,54px);
  font-weight:1000;
  line-height:1.05;
}
.pvc-question-panel2659 p{
  margin:0;
  color:#334155;
  font-weight:900;
  font-size:13px;
}
.pvc-interaction-panel2659{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(210px,280px);
  gap:10px;
  align-items:stretch;
}
.pvc-choices-magic2659{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.pvc-choices-magic2659 button{
  border:0;
  border-radius:18px;
  min-height:54px;
  padding:10px;
  color:#fff;
  font-size:clamp(20px,4.5vw,30px);
  font-weight:1000;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  box-shadow:0 14px 24px rgba(37,99,235,.22);
  transition:transform .12s ease, filter .12s ease;
}
.pvc-choices-magic2659 button:not(:disabled):active{transform:scale(.96)}
.pvc-choices-magic2659 button:disabled{filter:grayscale(.5);opacity:.62}
.pvc-skill-dock2659{
  display:grid;
  gap:7px;
  align-content:center;
  padding:10px;
  border-radius:18px;
  background:rgba(15,23,42,.82);
  border:1px solid rgba(255,255,255,.14);
}
.pvc-skill-meter2659{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:6px;
  align-items:center;
  color:#fff;
  font-weight:1000;
}
.pvc-skill-meter2659 span{font-size:22px}
.pvc-skill-meter2659 i{
  display:block;
  height:10px;
  border-radius:999px;
  background:#020617;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
}
.pvc-skill-meter2659 em{
  display:block;
  height:100%;
  border-radius:999px;
  transition:width .25s ease;
  background:linear-gradient(90deg,#facc15,#f97316);
}
.pvc-skill-dock2659.element-ice .pvc-skill-meter2659 em{background:linear-gradient(90deg,#67e8f9,#0ea5e9)}
.pvc-skill-dock2659.element-lightning .pvc-skill-meter2659 em{background:linear-gradient(90deg,#fde047,#a855f7)}
.pvc-skill-dock2659.element-holy .pvc-skill-meter2659 em{background:linear-gradient(90deg,#facc15,#f59e0b)}
.pvc-skill-dock2659 button{
  border:0;
  border-radius:16px;
  color:#fff;
  padding:10px 12px;
  font-weight:1000;
  background:linear-gradient(135deg,#f97316,#ef4444);
  box-shadow:0 12px 24px rgba(249,115,22,.20);
}
.pvc-skill-dock2659.element-ice button{background:linear-gradient(135deg,#06b6d4,#2563eb)}
.pvc-skill-dock2659.element-lightning button{background:linear-gradient(135deg,#facc15,#7c3aed)}
.pvc-skill-dock2659.element-holy button{background:linear-gradient(135deg,#facc15,#92400e)}
.pvc-skill-dock2659 button:disabled{
  opacity:.55;
  filter:grayscale(.45);
  box-shadow:none;
}
.pvc-skill-dock2659 small{
  color:#cbd5e1;
  font-weight:800;
  font-size:11px;
  line-height:1.35;
}
.pvc-feedback2659{
  flex:0 0 auto;
  min-height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fde68a;
  font-weight:1000;
  text-align:center;
  padding:7px 44px 7px 12px;
  line-height:1.35;
}
.pvc-close-magic2659{
  position:absolute!important;
  right:14px!important;
  bottom:13px!important;
  z-index:6!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  font-size:12px!important;
  padding:7px 10px!important;
}
.pvc-delay-overlay2659{
  position:absolute;
  inset:0;
  z-index:30;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  background:rgba(2,6,23,.78);
  backdrop-filter:blur(7px);
  text-align:center;
}
.pvc-delay-overlay2659 span{
  color:#cbd5e1;
  font-weight:1000;
}
.pvc-delay-overlay2659 b{
  font-size:clamp(52px,16vw,96px);
  color:#facc15;
  line-height:1;
  filter:drop-shadow(0 0 18px rgba(250,204,21,.7));
  animation:pvcCountdownPulse2659 .75s ease infinite alternate;
}
.pvc-delay-overlay2659 small{
  color:#bfdbfe;
  font-weight:900;
}
@keyframes pvcCountdownPulse2659{from{transform:scale(.94)}to{transform:scale(1.08)}}

/* Element selection screen */
.pvc-skill-select-card2659{
  justify-content:center;
  align-items:stretch;
  min-height:min(720px,calc(100dvh - 16px));
}
.pvc-magic-title2659{
  text-align:center;
  display:grid;
  gap:6px;
  margin-bottom:10px;
}
.pvc-mode-badge2659{
  justify-self:center;
  width:max-content;
  border-radius:999px;
  padding:5px 10px;
  color:#0f172a;
  background:#facc15;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.pvc-magic-title2659 h2{
  margin:0;
  font-size:clamp(28px,5vw,48px);
  color:#fff;
  font-weight:1000;
  text-shadow:0 6px 20px rgba(0,0,0,.35);
}
.pvc-magic-title2659 p{
  margin:0 auto;
  max-width:760px;
  color:#c7d2fe;
  font-weight:800;
  line-height:1.45;
}
.pvc-element-grid2659{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.pvc-element-card2659{
  border:2px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:14px 10px;
  color:#fff;
  background:rgba(15,23,42,.72);
  display:grid;
  gap:7px;
  justify-items:center;
  min-height:190px;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.pvc-element-card2659:active{transform:scale(.97)}
.pvc-element-card2659.selected,
.pvc-element-card2659:hover{
  border-color:#facc15;
  box-shadow:0 20px 40px rgba(250,204,21,.18), inset 0 1px 0 rgba(255,255,255,.14);
}
.pvc-element-card2659.element-fire{background:linear-gradient(180deg,rgba(127,29,29,.86),rgba(15,23,42,.72))}
.pvc-element-card2659.element-ice{background:linear-gradient(180deg,rgba(14,116,144,.82),rgba(15,23,42,.72))}
.pvc-element-card2659.element-lightning{background:linear-gradient(180deg,rgba(88,28,135,.82),rgba(15,23,42,.72))}
.pvc-element-card2659.element-holy{background:linear-gradient(180deg,rgba(146,64,14,.82),rgba(15,23,42,.72))}
.pvc-element-icon2659{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  font-size:34px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.pvc-element-card2659 b{font-size:18px;font-weight:1000}
.pvc-element-card2659 em{font-style:normal;color:#fde68a;font-weight:1000;font-size:13px}
.pvc-element-card2659 small{color:#e2e8f0;font-weight:800;line-height:1.35}
.pvc-skill-footer2659{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:6px;
}
.pvc-skill-start2659,
.pvc-close-soft2659{
  border:0;
  border-radius:18px;
  padding:13px 18px;
  font-weight:1000;
  color:#fff;
}
.pvc-skill-start2659{
  background:linear-gradient(135deg,#facc15,#f97316,#ec4899);
  box-shadow:0 18px 32px rgba(249,115,22,.28);
}
.pvc-close-soft2659{background:rgba(255,255,255,.14)}

/* Result card can reuse existing TMA reward/result pipeline, only polish skin. */
.pvc-result-magic2659{
  background:
    radial-gradient(circle at 50% 0%,rgba(250,204,21,.18),transparent 36%),
    linear-gradient(180deg,rgba(30,41,59,.94),rgba(15,23,42,.98))!important;
  color:#fff!important;
}
.pvc-result-magic2659 h2{color:#fde68a!important}
.pvc-result-magic2659 p{color:#bfdbfe!important;font-weight:900}
.pvc-result-magic2659 .pvc-result-grid2653{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.pvc-result-magic2659 .pvc-result-grid2653 article{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12);
}
.pvc-result-magic2659 .pvc-result-grid2653 b{color:#fff}
.pvc-result-magic2659 .primary{
  background:linear-gradient(135deg,#facc15,#f97316)!important;
  color:#7c2d12!important;
}
.pvc-result-magic2659 .glass{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
}

@media(max-width:820px){
  .pvc-magic-card2659{
    height:calc(100dvh - 10px);
    width:calc(100vw - 10px);
    min-height:0;
    padding:8px;
    border-radius:22px;
    gap:7px;
  }
  .pvc-stage-magic2659{
    grid-template-columns:minmax(88px,1fr) 50px minmax(88px,1fr);
    padding:8px;
    gap:6px;
  }
  .pvc-status-bubble2659{
    top:-9px;
    font-size:10px;
    padding:4px 6px;
    max-width:110px;
  }
  .pvc-character-box2659 strong{font-size:10px;padding:4px 7px}
  .pvc-character-box2659 small{font-size:9px}
  .pvc-interaction-panel2659{
    grid-template-columns:1fr;
  }
  .pvc-skill-dock2659{
    grid-template-columns:1fr auto;
    align-items:center;
  }
  .pvc-skill-dock2659 small{grid-column:1/-1}
  .pvc-feedback2659{
    border-radius:18px;
    padding:6px 76px 6px 8px;
    font-size:12px;
  }
  .pvc-close-magic2659{font-size:11px!important;padding:6px 8px!important}
  .pvc-element-grid2659{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .pvc-element-card2659{
    min-height:150px;
    padding:10px 8px;
  }
  .pvc-element-icon2659{
    width:48px;
    height:48px;
    font-size:28px;
  }
  .pvc-result-magic2659 .pvc-result-grid2653{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px){
  .pvc-magic-top2659{align-items:flex-start}
  .pvc-round-chip2659{display:grid;gap:4px;border-radius:16px}
  .pvc-hp-grid2659{gap:6px}
  .pvc-hp-card2659{padding:7px;border-radius:14px}
  .pvc-hp-card2659 div{font-size:10px;display:grid}
  .pvc-hp-card2659>i{height:12px}
  .pvc-stage-magic2659{
    min-height:135px;
  }
  .pvc-vs-core2659{
    width:42px;
  }
  .pvc-question-panel2659{
    padding:8px;
    border-radius:18px;
  }
  .pvc-question-panel2659 h2{
    font-size:clamp(28px,9vw,40px);
  }
  .pvc-question-panel2659 p{font-size:11px}
  .pvc-choices-magic2659{gap:7px}
  .pvc-choices-magic2659 button{
    min-height:46px;
    border-radius:14px;
    font-size:22px;
  }
  .pvc-skill-dock2659{
    padding:7px;
    border-radius:14px;
  }
  .pvc-skill-dock2659 button{
    padding:8px 10px;
    border-radius:12px;
    font-size:12px;
  }
  .pvc-skill-meter2659 b{font-size:11px}
  .pvc-element-grid2659{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .pvc-magic-title2659 h2{font-size:26px}
  .pvc-magic-title2659 p{font-size:12px}
  .pvc-result-magic2659 .pvc-result-grid2653{
    grid-template-columns:1fr;
  }
}

/* v2.6.53.15 — K2/K3 discipline assets + Math Magic Arena status cues */
.kinder-pair265314 article b{color:#14532d}
.kinder-pair265314 article:nth-child(2) b{color:#9d174d}
.pvc-character-box2659.bot.is-confused .pvc-character-glow2659{box-shadow:0 0 34px rgba(250,204,21,.9), inset 0 0 20px rgba(168,85,247,.32)}
.pvc-character-box2659.bot.is-burning .pvc-character-glow2659{box-shadow:0 0 38px rgba(249,115,22,.92), inset 0 0 24px rgba(220,38,38,.34)}
.fx-skill-holy .pvc-attack-fx2659 b{filter:drop-shadow(0 0 24px #facc15)}

/* =========================================================
   v2.6.53.15 — Math Magic Arena Stability R2
   Real elemental status VFX + readable battle log + safer overlays
   ========================================================= */
.gift-box-overlay2652{z-index:10090!important;}
.pvc-delay-overlay2659{background:rgba(2,6,23,.42)!important;backdrop-filter:blur(2px)!important;pointer-events:none;}
.pvc-battle-log2659{display:grid;gap:4px;min-height:42px;max-height:66px;overflow:hidden;border-radius:18px;background:rgba(2,6,23,.42);border:1px solid rgba(255,255,255,.12);padding:6px 10px;color:#e0f2fe;font-weight:950;font-size:clamp(11px,2.3vw,13px);line-height:1.25;}
.pvc-battle-log2659 span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:battleLogIn265315 .22s ease both;}
.pvc-battle-log2659 .fire-cast,.pvc-battle-log2659 .fire,.pvc-battle-log2659 .fire-tick{color:#fed7aa}.pvc-battle-log2659 .ice,.pvc-battle-log2659 .ice-cast{color:#cffafe}.pvc-battle-log2659 .lightning-cast,.pvc-battle-log2659 .lightning-end{color:#fde68a}.pvc-battle-log2659 .holy,.pvc-battle-log2659 .holy-cast,.pvc-battle-log2659 .holy-tick{color:#fef3c7}
@keyframes battleLogIn265315{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pvc-tick-float2659{position:absolute;left:50%;top:20%;transform:translate(-50%,-50%);z-index:8;padding:5px 10px;border-radius:999px;font-weight:1000;font-size:clamp(18px,4vw,28px);color:#fff;pointer-events:none;animation:pvcTickFloat265315 .95s ease-out forwards;text-shadow:0 3px 10px rgba(0,0,0,.35)}
.pvc-tick-float2659.fire{background:linear-gradient(135deg,#f97316,#dc2626);box-shadow:0 0 24px #fb923c}.pvc-tick-float2659.holy{background:linear-gradient(135deg,#facc15,#f59e0b);box-shadow:0 0 28px #fde047;color:#422006}.pvc-tick-float2659.ice{background:linear-gradient(135deg,#67e8f9,#2563eb)}.pvc-tick-float2659.lightning{background:linear-gradient(135deg,#fde047,#7c3aed)}
@keyframes pvcTickFloat265315{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}18%{opacity:1;transform:translate(-50%,-8px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-52px) scale(.95)}}
.pvc-character-box2659{overflow:visible!important;}
.pvc-character-box2659.is-burning:after,.pvc-character-box2659.is-fire-impact:after{content:"";position:absolute;inset:18% 12% 22%;z-index:3;border-radius:45% 45% 38% 38%;pointer-events:none;background:radial-gradient(circle at 50% 85%,rgba(255,255,255,.72),transparent 14%),radial-gradient(circle at 32% 74%,rgba(250,204,21,.88),transparent 22%),radial-gradient(circle at 58% 62%,rgba(249,115,22,.78),transparent 28%),radial-gradient(circle at 50% 44%,rgba(220,38,38,.66),transparent 36%);mix-blend-mode:screen;filter:blur(.2px) drop-shadow(0 0 18px #fb923c);animation:pvcFlameWrap265315 .38s ease-in-out infinite alternate;}
@keyframes pvcFlameWrap265315{from{transform:translateY(4px) scale(.96);opacity:.68}to{transform:translateY(-5px) scale(1.06);opacity:1}}
.pvc-character-box2659.is-frozen:after{content:"";position:absolute;inset:9% 4% 18%;z-index:4;border-radius:28px;pointer-events:none;background:linear-gradient(135deg,rgba(207,250,254,.52),rgba(14,165,233,.30)),repeating-linear-gradient(135deg,rgba(255,255,255,.34) 0 7px,rgba(103,232,249,.14) 7px 15px);border:2px solid rgba(165,243,252,.86);box-shadow:0 0 26px rgba(34,211,238,.78), inset 0 0 26px rgba(255,255,255,.32);animation:pvcIceCover265315 .8s ease-in-out infinite alternate;}
@keyframes pvcIceCover265315{from{opacity:.74;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}
.pvc-character-box2659.is-confused:before,.pvc-character-box2659.is-lightning-impact:before{content:"";position:absolute;inset:6% 2% 14%;z-index:5;pointer-events:none;background:linear-gradient(115deg,transparent 0 28%,rgba(253,224,71,.96) 30% 33%,transparent 35% 54%,rgba(168,85,247,.72) 56% 59%,transparent 61%),linear-gradient(68deg,transparent 0 36%,rgba(250,204,21,.85) 38% 41%,transparent 43%);filter:drop-shadow(0 0 18px #fde047);animation:pvcShock265315 .24s steps(2,end) infinite;}
@keyframes pvcShock265315{0%{opacity:.35;transform:translateX(-2px) rotate(-2deg)}50%{opacity:1;transform:translateX(3px) rotate(2deg)}100%{opacity:.55;transform:translateX(-1px)}}
.pvc-character-box2659.is-holy-hit:after,.pvc-character-box2659.is-holy-regen:after{content:"";position:absolute;inset:4% 0 10%;z-index:4;border-radius:999px;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.92),rgba(253,224,71,.60) 28%,rgba(245,158,11,.22) 55%,transparent 72%);box-shadow:0 0 34px rgba(250,204,21,.88),inset 0 0 26px rgba(255,255,255,.45);mix-blend-mode:screen;animation:pvcHolyAura265315 1s ease-in-out infinite alternate;}
@keyframes pvcHolyAura265315{from{opacity:.58;transform:scale(.95)}to{opacity:1;transform:scale(1.06)}}
.fx-skill-fire .pvc-attack-fx2659 i{height:28px!important;border-radius:999px 70% 70% 999px!important;background:radial-gradient(circle at 80% 50%,#fff7ad 0 15%,#fb923c 25%,#dc2626 58%,rgba(127,29,29,.18) 78%)!important;box-shadow:0 0 34px #fb923c,0 0 60px rgba(220,38,38,.55)!important;}
.fx-skill-ice .pvc-attack-fx2659 i{height:24px!important;border-radius:40% 16% 40% 16%!important;clip-path:polygon(0 50%,22% 5%,100% 50%,22% 95%)!important;background:linear-gradient(90deg,#ecfeff,#67e8f9,#0284c7)!important;box-shadow:0 0 34px #22d3ee,0 0 54px rgba(14,165,233,.5)!important;}
.fx-skill-lightning .pvc-attack-fx2659 i{height:30px!important;border-radius:0!important;clip-path:polygon(0 45%,34% 45%,24% 8%,70% 58%,48% 58%,64% 96%)!important;background:linear-gradient(90deg,#fef08a,#facc15,#a855f7)!important;box-shadow:0 0 38px #fde047!important;}
.fx-skill-holy .pvc-attack-fx2659 i{height:30px!important;border-radius:999px!important;background:radial-gradient(circle,#fff 0 18%,#fef3c7 26%,#facc15 54%,rgba(245,158,11,.22) 75%)!important;box-shadow:0 0 42px #fde047,0 0 72px rgba(250,204,21,.62)!important;}
@media(max-width:520px){.pvc-battle-log2659{min-height:36px;font-size:10.5px;padding:5px 8px}.pvc-delay-overlay2659{background:rgba(2,6,23,.36)!important}.pvc-tick-float2659{font-size:20px}}

/* v2.6.54.5 Post-Update Login Gate */
.post-update-login-gate2654{position:fixed;z-index:2147483000;left:12px;right:12px;top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.42);border-radius:18px;background:rgba(35,12,68,.94);box-shadow:0 18px 55px rgba(17,4,38,.45);backdrop-filter:blur(18px);color:#fff;text-align:left}.post-update-login-gate2654>div{display:grid;gap:4px}.post-update-login-gate2654 b{font-size:clamp(.95rem,3.8vw,1.12rem)}.post-update-login-gate2654 span{font-size:clamp(.78rem,3vw,.92rem);opacity:.9}.post-update-login-gate2654 button{flex:0 0 auto;border:0;border-radius:999px;padding:10px 15px;font-weight:800;color:#33105d;background:#fff}.post-update-login-gate2654.error{background:rgba(105,18,35,.96)}body.tma-post-update-blocked2654 .bottom-nav,body.tma-post-update-blocked2654 .floating-quick-controls{pointer-events:none;filter:grayscale(.7);opacity:.45}@media(max-width:680px){.post-update-login-gate2654{align-items:stretch;flex-direction:column;text-align:center}.post-update-login-gate2654 button{width:100%}}

/* =========================================================
   v2.6.54.5 — Canonical Math Magic Arena
   Red Glass Glow, mobile-first, readable status effects, Passive default
   ========================================================= */
.pvc-magic-overlay2659{
  background:
    radial-gradient(circle at 50% 0%,rgba(248,113,113,.18),transparent 38%),
    radial-gradient(circle at 8% 24%,rgba(239,68,68,.14),transparent 32%),
    radial-gradient(circle at 92% 30%,rgba(168,85,247,.12),transparent 34%),
    rgba(24,5,13,.62)!important;
  backdrop-filter:blur(3px)!important;
}
.pvc-magic-card2659{
  background:
    linear-gradient(145deg,rgba(127,29,29,.72),rgba(69,10,10,.58) 48%,rgba(30,10,32,.70))!important;
  border:1px solid rgba(254,202,202,.38)!important;
  box-shadow:0 28px 90px rgba(69,10,10,.46),0 0 42px rgba(239,68,68,.20),inset 0 1px 0 rgba(255,255,255,.20)!important;
  backdrop-filter:blur(14px) saturate(1.14)!important;
}
.pvc-magic-card2659:before{opacity:.58;background:conic-gradient(from 0deg,transparent,rgba(248,113,113,.12),transparent,rgba(250,204,21,.09),transparent)!important}
.pvc-round-chip2659{background:rgba(50,10,20,.52)!important}.pvc-round-chip2659 b{opacity:.72;font-size:.78em}.pvc-stage-magic2659{background:linear-gradient(180deg,rgba(30,8,18,.34),rgba(15,7,22,.24))!important;border-color:rgba(254,202,202,.20)!important}.pvc-question-panel2659{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,241,242,.94))!important;box-shadow:0 16px 42px rgba(127,29,29,.20)!important}.pvc-delay-overlay2659{background:rgba(23,4,11,.28)!important;backdrop-filter:blur(1px)!important}.pvc-battle-log2659{background:rgba(25,5,14,.34)!important}.pvc-character-box2659{background:rgba(255,255,255,.08)!important}.pvc-skill-dock2659{background:rgba(31,7,17,.58)!important;border-color:rgba(254,202,202,.22)!important}.pvc-skill-dock2659.passive-mode2654{box-shadow:inset 0 0 28px rgba(250,204,21,.08),0 0 26px rgba(248,113,113,.12)}.pvc-skill-dock2659.passive-mode2654 button:disabled{opacity:1;filter:none;background:linear-gradient(135deg,#b91c1c,#7f1d1d)!important;color:#fef2f2}.pvc-skill-mode-switch2654{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(620px,100%);margin:0 auto 8px}.pvc-skill-mode-switch2654 button{border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:11px 12px;background:rgba(30,8,18,.48);color:#fecaca;font-weight:1000}.pvc-skill-mode-switch2654 button.selected{background:linear-gradient(135deg,#ef4444,#991b1b);color:#fff;border-color:#fecaca;box-shadow:0 12px 28px rgba(239,68,68,.24)}
@media(max-width:820px){.pvc-magic-overlay2659{padding:4px!important}/* v2.6.55.4 FIX: การ์ดสนามต้องเป็น containing block ของ .pvc-phase-hud26548 (position:absolute)
   เดิมไม่มี position ทำให้ HUD นับถอยหลังไปอ้างอิง overlay (position:fixed) แล้วไปโผล่กลางจอ
   ทับ/หลุดกรอบสนามจนดูเหมือน "ช่วงนับถอยหลังไม่แสดง" */
.pvc-magic-card2659{position:relative!important;width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important;border-radius:20px!important}.pvc-skill-select-card2659{overflow:auto!important;justify-content:flex-start!important}.pvc-element-grid2659{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pvc-element-card2659{min-height:134px!important;border-radius:18px!important}.pvc-magic-title2659 p{font-size:12px;line-height:1.35}.pvc-round-chip2659 b{font-size:10px}.pvc-stage-magic2659{min-height:132px!important}.pvc-question-panel2659 h2{font-size:clamp(27px,9vw,42px)!important;overflow-wrap:anywhere}.pvc-question-panel2659 p{font-size:clamp(10px,2.8vw,12px)!important;overflow-wrap:anywhere}.pvc-interaction-panel2659{gap:7px!important}.pvc-skill-dock2659 small{max-height:2.8em;overflow:hidden}}
@media(max-width:420px){.pvc-element-grid2659{grid-template-columns:1fr!important}.pvc-element-card2659{grid-template-columns:auto 1fr;justify-items:start;text-align:left;min-height:106px!important}.pvc-element-icon2659{grid-row:1/5}.pvc-skill-mode-switch2654{grid-template-columns:1fr}.pvc-magic-title2659 h2{font-size:24px!important}}

/* v2.6.54.5 Teacher mission active/history split */
.teacher-assignment-manager2658 section>h4{margin:.8rem 0 .45rem}.teacher-assignment-history2654{margin-top:.8rem;border-top:1px solid rgba(255,255,255,.18);padding-top:.65rem}.teacher-assignment-history2654 summary{cursor:pointer;font-weight:800}.teacher-assignment-manage-item2658.is-history{opacity:.72;filter:saturate(.7)}.teacher-assignment-history-badge2654{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .6rem;background:rgba(255,255,255,.12);font-size:.78rem}.teacher-assignment-actions2654{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.45rem}


/* =========================================================
 * v2.6.54.5 — Long question auto-fit and overflow guard
 * ====================================================== */
#questionText,
.review-card .review-q{
  max-inline-size:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto;
  line-height:1.35;
}
#questionText{
  font-size:clamp(1.35rem,4.3vw,3.15rem);
  text-wrap:balance;
}
#questionText.question-long-text{
  font-size:clamp(1.08rem,3.25vw,2.25rem)!important;
  line-height:1.42;
  text-wrap:pretty;
}
#questionText.question-extra-long-text{
  font-size:clamp(.98rem,2.75vw,1.85rem)!important;
  line-height:1.48;
}
.review-card .review-q{
  font-size:clamp(.98rem,2.7vw,1.2rem);
}
@media (max-width:640px){
  #questionText{font-size:clamp(1.22rem,7vw,2.25rem)}
  #questionText.question-long-text{font-size:clamp(1.02rem,5.2vw,1.65rem)!important}
  #questionText.question-extra-long-text{font-size:clamp(.94rem,4.5vw,1.38rem)!important}
}


/* v2.6.54.5 Passive/Advanced clarity */
.pvc-passive-badge265316{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(254,240,138,.28);border-radius:16px;padding:10px;box-shadow:inset 0 0 20px rgba(250,204,21,.08)}
.pvc-passive-badge265316 span{font-size:28px}.pvc-passive-badge265316 b{color:#fef08a;letter-spacing:.08em}.pvc-passive-badge265316 em{font-style:normal;color:#e2e8f0;font-size:12px}

/* v2.6.54.5 Integrity Runner UI */
.integrity-runner-modal26541{position:fixed;inset:0;z-index:25000;display:grid;place-items:center;padding:18px;background:rgba(2,6,23,.72);backdrop-filter:blur(10px)}
.integrity-runner-card26541{position:relative;width:min(920px,96vw);max-height:88dvh;overflow:auto;border-radius:24px;padding:22px;background:linear-gradient(160deg,rgba(15,23,42,.98),rgba(30,41,59,.96));border:1px solid rgba(148,163,184,.28);box-shadow:0 30px 90px rgba(0,0,0,.48);color:#e2e8f0}
.integrity-runner-card26541>button{position:absolute;right:14px;top:12px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:25px}
.integrity-runner-card26541 h2{margin:0 48px 8px 0}.integrity-runner-card26541 p{font-weight:900;color:#bfdbfe}.integrity-runner-card26541 pre{white-space:pre-wrap;word-break:break-word;padding:16px;border-radius:16px;background:#020617;color:#d1fae5;font-size:12px;line-height:1.55}


/* v2.6.54.5 Math Magic Arena mobile-first red glass glow */
.mma-entry-page26542{overflow-x:hidden;max-width:100%}
.mma-entry-page26542>header{background:linear-gradient(145deg,rgba(75,7,18,.88),rgba(153,27,27,.80));border:1px solid rgba(254,202,202,.42);box-shadow:0 18px 48px rgba(127,29,29,.32),inset 0 1px 0 rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(18px)}
.mma-entry-grid26542{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr);gap:16px;width:100%;max-width:100%;align-items:stretch}
.mma-entry-grid26542 article{min-width:0;overflow:hidden;border-radius:28px;padding:clamp(18px,3vw,30px)}
.mma-main-card26542{grid-row:span 2;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 20% 0,rgba(255,255,255,.24),transparent 36%),linear-gradient(145deg,rgba(127,29,29,.93),rgba(225,29,72,.72));border:1px solid rgba(255,228,230,.52);box-shadow:0 24px 60px rgba(127,29,29,.38),0 0 34px rgba(244,63,94,.28),inset 0 1px 0 rgba(255,255,255,.34);color:#fff;backdrop-filter:blur(20px)}
.mma-main-card26542 h3{font-size:clamp(2rem,5vw,4rem);line-height:1.08;margin:8px 0 12px;color:#fff;text-shadow:0 4px 18px rgba(76,5,25,.55)}
.mma-main-card26542 p{font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.65;margin:0 0 14px}.mma-main-card26542 small{color:#ffe4e6;font-weight:900}
.mma-card-kicker26542{align-self:flex-start;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.3);font-weight:900}
.mma-entry-button26542{margin-top:20px;background:linear-gradient(135deg,#fb7185,#be123c);box-shadow:0 14px 30px rgba(136,19,55,.36),inset 0 1px 0 rgba(255,255,255,.32)}
.mma-levels-card26542,.mma-pvp-card26542{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,241,242,.68));border:1px solid rgba(255,255,255,.74);box-shadow:0 15px 35px rgba(76,5,25,.18);backdrop-filter:blur(16px)}
.mma-levels-card26542 h3,.mma-pvp-card26542 h3{margin:4px 0;color:#9f1239;font-size:clamp(1.5rem,3vw,2.35rem)}
.mma-levels-card26542 span,.mma-pvp-card26542 span{font-weight:900;color:#be123c}.mma-levels-card26542 p,.mma-pvp-card26542 p{overflow-wrap:anywhere}
.integrity-sandbox26542{margin-top:16px;padding:16px;border-radius:18px;background:rgba(15,118,110,.12);border:1px solid rgba(94,234,212,.28)}
.integrity-sandbox26542 h3{margin:0 0 6px}.integrity-sandbox26542 input{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(148,163,184,.45);margin:8px 0;background:#fff;color:#0f172a}.integrity-sandbox26542 button{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,#14b8a6,#0f766e);color:#fff;font-weight:900}.integrity-sandbox26542 pre{margin-top:10px;max-height:260px;overflow:auto}
@media(max-width:760px){.mma-entry-grid26542{grid-template-columns:minmax(0,1fr);gap:14px}.mma-main-card26542{grid-row:auto;width:100%}.mma-levels-card26542,.mma-pvp-card26542{width:100%}.mma-entry-page26542{padding-inline:0}.mma-entry-page26542>header{margin-inline:0}.mma-entry-grid26542 article{max-width:100%}}

/* v2.6.54.5 MBT Math Battle Tank */
.battle-mode-grid26543{grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(0,.7fr)!important;align-items:stretch;overflow:hidden}
.mbt-main-card26543{position:relative;overflow:hidden;border:1px solid rgba(196,150,255,.85);border-radius:30px;padding:30px;background:linear-gradient(145deg,rgba(43,15,92,.92),rgba(94,33,170,.78) 55%,rgba(25,8,72,.94));box-shadow:0 20px 48px rgba(31,5,83,.48),inset 0 1px 0 rgba(255,255,255,.3),0 0 30px rgba(163,90,255,.48);color:#fff}
.mbt-main-card26543:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(240,174,255,.3),transparent 42%);animation:mbtGlow26543 5s ease-in-out infinite;pointer-events:none}.mbt-main-card26543>*{position:relative}.mbt-main-card26543 h3{font-size:clamp(1.8rem,5vw,3rem);margin:.6rem 0}.mbt-card-kicker26543{display:inline-flex;padding:.45rem .85rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);font-weight:900}.mbt-entry-button26543{width:100%;margin-top:18px;background:linear-gradient(135deg,#8a2dff,#4e2cff)!important;box-shadow:0 14px 28px rgba(87,32,207,.42)}
@keyframes mbtGlow26543{50%{transform:translate3d(12%,8%,0) scale(1.1)}}
.mbt-overlay26543{position:fixed;inset:0;z-index:99995;background:rgba(4,2,18,.76);backdrop-filter:blur(10px);display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));overflow:auto}.mbt-card26543,.mbt-setup-card26543,.mbt-result26543{width:min(1080px,100%);border-radius:28px;border:1px solid rgba(202,155,255,.7);background:linear-gradient(145deg,rgba(18,8,47,.97),rgba(61,19,108,.94));box-shadow:0 25px 70px rgba(0,0,0,.55),0 0 40px rgba(135,55,255,.28);color:#fff;padding:clamp(14px,3vw,28px);position:relative}.mbt-top26543{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:clamp(.9rem,2.5vw,1.25rem)}.mbt-hud26543{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.mbt-hud26543 section{display:grid;grid-template-columns:1fr auto;gap:5px;background:rgba(255,255,255,.08);padding:10px 12px;border-radius:18px}.mbt-hud26543 i{grid-column:1/-1;height:12px;border-radius:99px;background:rgba(0,0,0,.35);overflow:hidden}.mbt-hud26543 em{display:block;height:100%;background:linear-gradient(90deg,#47e0ff,#56ff92,#ffd83d);transition:width .35s}.mbt-stage26543{height:clamp(230px,42vh,440px);position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 50% 80%,rgba(191,115,255,.28),transparent 48%),linear-gradient(#24155a,#101c4c 65%,#30204b);border:1px solid rgba(255,255,255,.14)}.mbt-unit26543{position:relative;display:flex;align-items:end;justify-content:center;height:100%;z-index:2}.mbt-unit26543 img{width:min(100%,520px);max-height:95%;object-fit:contain;filter:drop-shadow(0 18px 12px rgba(0,0,0,.45));transition:transform .12s}.mbt-unit26543.player.fire img,.mbt-unit26543.player.fire_shell img{transform:translateX(-10px)}.mbt-unit26543.bot.fire img,.mbt-unit26543.bot.fire_shell img{transform:translateX(10px)}.mbt-unit26543.hit img{animation:mbtHit26543 .38s}.mbt-vs26543{align-self:center;font-size:clamp(1.5rem,5vw,3.5rem);font-weight:1000;color:#fff;text-shadow:0 0 20px #be66ff;z-index:4}.mbt-shell26543{position:absolute;top:48%;width:34px;height:16px;border-radius:50% 70% 70% 50%;background:linear-gradient(90deg,#fff5a0,#ffb52d 55%,#ff5a18);box-shadow:0 0 18px #ff9b22;z-index:6}.mbt-shell26543.player{left:28%;animation:shellRight26543 .42s linear forwards}.mbt-shell26543.bot{right:28%;transform:scaleX(-1);animation:shellLeft26543 .42s linear forwards}.mbt-explosion26543{position:absolute;top:44%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff 0 8%,#ffe83d 9% 25%,#ff7a00 26% 52%,rgba(255,36,0,.55) 53%,transparent 72%);filter:drop-shadow(0 0 25px #ff7a00);z-index:8;animation:explode26543 .75s ease-out forwards}.mbt-explosion26543.player{left:13%}.mbt-explosion26543.bot{right:13%}.mbt-damage-number26543{position:absolute;top:25%;left:50%;z-index:12;color:#fff;font-size:clamp(2rem,6vw,4.5rem);font-weight:1000;text-shadow:0 4px 5px #000,0 0 12px rgba(255,255,255,.7);animation:damageFloat26543 .9s ease-out forwards}.mbt-damage-number26543.critical{color:#ff9a24;font-size:clamp(3rem,8vw,6rem);text-shadow:0 5px 5px #5a1600,0 0 25px #ff6b00}.mbt-damage-number26543 small{display:block;font-size:.3em;letter-spacing:.08em}.mbt-question26543{padding:14px 0}.mbt-question26543 h3{text-align:center;font-size:clamp(1.2rem,4vw,2.25rem);margin:.3rem}.mbt-question26543>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.mbt-question26543 button{min-height:58px;border-radius:18px;border:1px solid rgba(255,255,255,.25);background:linear-gradient(135deg,#7435db,#3459ee);color:#fff;font-size:clamp(1.1rem,4vw,1.8rem);font-weight:900}.mbt-feedback26543{text-align:center;min-height:28px;font-weight:800}.mbt-exit26543{display:block;margin:10px auto 0;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:9px 20px}.mbt-countdown26543{position:absolute;inset:0;z-index:30;display:grid;place-content:center;text-align:center;background:rgba(11,3,31,.44);backdrop-filter:blur(2px);border-radius:28px}.mbt-countdown26543 b{font-size:6rem}.mbt-color-pick26543{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mbt-color-pick26543 button,.mbt-setup-card26543 select{width:100%;padding:14px;border-radius:16px}.mbt-color-pick26543 button.selected{outline:3px solid #d58bff;background:#6e2bd3;color:#fff}.mbt-setup-card26543 label{display:block;margin:12px 0}.mbt-setup-card26543>button{width:100%;margin-top:10px}.mbt-result26543>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mbt-result26543 article{padding:16px;background:rgba(255,255,255,.08);border-radius:18px}.mbt-result26543 button{width:100%;margin-top:12px}@keyframes shellRight26543{to{left:72%}}@keyframes shellLeft26543{to{right:72%}}@keyframes explode26543{0%{transform:scale(.15);opacity:0}35%{opacity:1}100%{transform:scale(1.5);opacity:0}}@keyframes damageFloat26543{0%{transform:translate(-50%,20px) scale(.5);opacity:0}25%{opacity:1;transform:translate(-50%,0) scale(1.2)}100%{transform:translate(-50%,-95px) scale(1);opacity:0}}@keyframes mbtHit26543{25%{transform:translateX(-12px) rotate(-2deg)}55%{transform:translateX(10px) rotate(2deg)}}
@media(max-width:760px){.battle-mode-grid26543{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px}.battle-mode-grid26543>article{flex:0 0 calc(100% - 14px);max-width:calc(100% - 14px);scroll-snap-align:center}.mbt-card26543{min-height:calc(100dvh - 24px)}.mbt-stage26543{height:300px}.mbt-question26543>div{grid-template-columns:1fr 1fr}.mbt-unit26543 img{width:145%}.mbt-hud26543{font-size:.82rem}.mbt-result26543>div{grid-template-columns:1fr}}

/* v2.6.54.5: canonical MBT home entry, independent from cached/static battle markup */
.mbt-home-mode-button26545{position:relative;overflow:hidden;display:grid;gap:.2rem;width:100%;margin-top:12px;padding:16px 18px;border:1px solid rgba(221,187,255,.72);border-radius:24px;color:#fff;text-align:left;background:linear-gradient(135deg,rgba(40,10,90,.96),rgba(105,35,185,.9) 55%,rgba(31,8,78,.97));box-shadow:0 16px 34px rgba(44,8,104,.42),inset 0 1px 0 rgba(255,255,255,.28),0 0 24px rgba(164,92,255,.42)}
.mbt-home-mode-button26545:before{content:"";position:absolute;inset:-55%;background:radial-gradient(circle,rgba(244,190,255,.3),transparent 42%);animation:mbtGlow26543 5s ease-in-out infinite;pointer-events:none}.mbt-home-mode-button26545>*{position:relative}.mbt-home-mode-button26545 span{font-size:.78rem;font-weight:900;letter-spacing:.08em;color:#f4d7ff}.mbt-home-mode-button26545 b{font-size:clamp(1.12rem,4.4vw,1.55rem)}.mbt-home-mode-button26545 small{opacity:.9;font-weight:700}
@media(max-width:760px){.home-hero{overflow:visible}.mbt-home-mode-button26545{grid-column:1/-1}}
/* v2.6.54.6 MBT polish */
.mbt-hud26543 i{overflow:hidden}.mbt-hud26543 i em{transition:none!important}
.mbt-defeat-smoke26546{position:absolute;left:48%;top:8%;width:72px;height:110px;pointer-events:none;filter:blur(.3px);animation:mbtSmoke26546 1.6s ease-in-out infinite}
.mbt-defeat-smoke26546:before,.mbt-defeat-smoke26546:after{content:"";position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(75,75,90,.85),rgba(35,35,45,.55) 55%,transparent 72%);width:54px;height:54px;animation:mbtSmokePuff26546 1.8s ease-out infinite}
.mbt-defeat-smoke26546:after{left:22px;top:25px;animation-delay:.55s}
@keyframes mbtSmoke26546{50%{transform:translateY(-8px) scale(1.08)}}
@keyframes mbtSmokePuff26546{0%{transform:translateY(35px) scale(.5);opacity:.25}55%{opacity:.9}100%{transform:translateY(-55px) scale(1.45);opacity:0}}
.mbt-victory-delay26546{position:absolute;inset:0;z-index:8;display:grid;place-content:center;text-align:center;pointer-events:none;background:linear-gradient(180deg,rgba(10,4,35,.08),rgba(25,8,60,.48));backdrop-filter:blur(1px)}
.mbt-victory-delay26546 b{font-size:clamp(3rem,13vw,6rem);color:#fff;text-shadow:0 0 20px #ffd65a,0 5px 0 #5925a8}.mbt-victory-delay26546 span{font-size:clamp(1.05rem,4vw,1.7rem);font-weight:900;color:#fff}
.mbt-explosion26543.critical{transform:scale(1.45);filter:drop-shadow(0 0 18px #ff8a00)}
/* v2.6.54.6 Primary Learning */
.primary-learning-overlay26546{position:fixed;inset:0;z-index:21000;background:rgba(7,15,45,.72);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:18px}
.primary-learning-card26546{width:min(980px,100%);margin:auto;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(224,246,255,.94));border:2px solid rgba(255,255,255,.9);border-radius:30px;padding:clamp(18px,4vw,34px);box-shadow:0 20px 70px rgba(24,40,100,.4);color:#23345c;position:relative}
.primary-learning-close26546{position:absolute;right:16px;top:14px;width:44px;height:44px;border-radius:50%;border:0;font-size:25px;background:#27355d;color:#fff}
.primary-unit-grid26546{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0}.primary-unit26546{border:1px solid #b9dfff;border-radius:20px;padding:16px;text-align:left;background:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(45,91,150,.12)}.primary-unit26546 b{display:block;font-size:1.05rem}.primary-unit26546 small{display:block;line-height:1.45;margin-top:7px}.primary-unit26546 em{display:inline-block;margin-top:9px;color:#6442d6;font-style:normal;font-weight:800}
.primary-stage-row26546{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.primary-stage-row26546 button{min-height:76px;border:0;border-radius:18px;font-weight:900;background:linear-gradient(135deg,#15b9ef,#7652ff);color:#fff}.primary-stage-row26546 button:nth-child(1){background:linear-gradient(135deg,#21c89a,#4b9dff)}.primary-stage-row26546 button:nth-child(3){background:linear-gradient(135deg,#ff9a35,#ff4f8e)}
.primary-teach26546,.primary-question26546,.primary-summary26546{background:#fff;border-radius:24px;padding:20px;margin-top:16px;box-shadow:0 8px 24px rgba(28,75,125,.12)}.primary-example26546{font-size:clamp(2rem,8vw,4rem);font-weight:950;text-align:center;padding:18px;color:#5b3bd6}.primary-choices26546{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.primary-choices26546 button{min-height:68px;border:2px solid #cce8fa;border-radius:18px;background:#f8fcff;font-size:clamp(1.15rem,5vw,1.7rem);font-weight:900;color:#24385f}.primary-choices26546 button.correct{background:#c9f7df;border-color:#28bd76}.primary-choices26546 button.wrong{background:#ffe1e5;border-color:#ff6d7a}.primary-progress26546{height:12px;border-radius:20px;background:#dbeaf4;overflow:hidden}.primary-progress26546 i{display:block;height:100%;background:linear-gradient(90deg,#18d2bb,#5f7bff,#ffad35)}
@media(max-width:620px){.primary-learning-overlay26546{padding:8px}.primary-learning-card26546{border-radius:22px;padding:16px}.primary-stage-row26546{grid-template-columns:1fr}.primary-unit-grid26546{grid-template-columns:1fr}.primary-choices26546{grid-template-columns:1fr 1fr}}

/* v2.6.54.7 Universal Learning + stable battle layers */
.ule-voice26547{border:0;border-radius:999px;padding:.6rem 1rem;background:#e8f7ff;color:#17345d;font-weight:800;margin:.25rem 0 .7rem}
.ule-chart26547{display:grid;gap:.55rem;margin:1rem 0;padding:1rem;border-radius:24px;background:linear-gradient(145deg,#effcff,#fff5dc)}.ule-chart26547>div{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:.5rem}.ule-chart26547 span{font-size:clamp(1.4rem,5vw,2.3rem);letter-spacing:.2rem;overflow-wrap:anywhere}.ule-chart26547 small{grid-column:2;color:#557}
.ule-ruler26547{position:relative;height:92px;margin:1rem 0;border-bottom:12px repeating-linear-gradient(90deg,#20365d 0 2px,transparent 2px 22px);background:#fff7d6;border-radius:18px;padding:15px}.ule-ruler26547 i{display:block;height:18px;background:linear-gradient(90deg,#0cd4c2,#7758ff);border-radius:20px}.ule-ruler26547 span{position:absolute;left:15px;bottom:12px}.ule-ruler26547 b{position:absolute;right:18px;bottom:12px}
.ule-scale26547,.ule-clock26547,.ule-volume26547,.ule-ten-frame26547,.ule-sequence26547,.ule-object-count26547,.ule-shape-demo26547{margin:1rem 0;padding:1rem;border-radius:24px;background:#f5f7ff;text-align:center;font-size:clamp(1.8rem,7vw,3.8rem);font-weight:900;color:#6237d7}.ule-scale26547{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.ule-scale26547 span{font-size:4rem;width:100%}.ule-groups26547{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.ule-groups26547 span{background:#e8f9ff;border-radius:12px;padding:.4rem}
.primary-activity-grid26547{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.primary-activity-grid26547 button{min-height:110px;border:2px solid #d8eaf2;border-radius:22px;background:#fff;text-align:left;padding:1rem;color:#20365d}.primary-activity-grid26547 button:nth-child(-n+5){background:linear-gradient(145deg,#effcff,#f8fff2)}.primary-activity-grid26547 button.passed{border-color:#00c889;box-shadow:0 0 0 3px #00c88922}.primary-activity-grid26547 small,.primary-activity-grid26547 em{display:block;margin-top:.35rem}
.mbt-stage26543{isolation:isolate}.mbt-unit26543{z-index:2!important;visibility:visible!important;opacity:1!important}.mbt-unit26543 img{display:block!important;visibility:visible!important;opacity:1!important;min-width:1px}.mbt-shell26543{z-index:4!important}.mbt-explosion26543,.mbt-defeat-smoke26546{z-index:5!important}.mbt-damage-number26543{z-index:9!important;pointer-events:none}.mbt-damage-number26543.critical{font-size:1.6em;color:#ff9f0a;text-shadow:0 2px 0 #7b2700,0 0 20px #ffbf00}
.mma-character-sprite26547{object-fit:contain!important;max-height:240px!important;width:100%!important}.pvc-attack-fx2659 img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 0 18px #fff)}.effect-resolution26547{background:rgba(34,8,68,.76)}.mma-result-character26547{width:min(220px,60vw);height:220px;object-fit:contain}
@media(max-width:600px){.primary-activity-grid26547{grid-template-columns:1fr}.ule-chart26547>div{grid-template-columns:90px 1fr}}

/* v2.6.54.8 Battle, grade and learning presentation */
.pvc-phase-hud26548{position:absolute;z-index:24;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;padding:8px 16px;border-radius:999px;background:rgba(10,18,42,.78);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none;backdrop-filter:blur(8px)}
.pvc-phase-hud26548 b{font-size:1.35rem;color:#ffd84b}.pvc-phase-hud26548.effect{border:1px solid rgba(255,120,40,.7)}.pvc-phase-hud26548.victory{top:18%;font-size:1.2rem;background:rgba(55,15,95,.82)}
/* v2.6.55.4: ช่วง "เตรียมตัวข้อถัดไป" ต้องเห็นชัดว่าเป็นจังหวะพัก เด็กจะได้ตั้งตัวทันบอท */
.pvc-phase-hud26548.countdown{inset:0;top:0;left:0;transform:none;border-radius:28px;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:1.05rem;padding:12px 22px;background:rgba(10,18,42,.78);border:2px solid rgba(255,216,75,.85);box-shadow:inset 0 0 80px rgba(93,58,180,.45),0 10px 30px rgba(0,0,0,.45);text-align:center}
.pvc-phase-hud26548.countdown b{font-size:2.6rem;line-height:1;animation:pvcCountdownPop26550 .9s ease-out}
@keyframes pvcCountdownPop26550{0%{transform:scale(1.7);opacity:.25}45%{transform:scale(1);opacity:1}100%{transform:scale(1);opacity:1}}
@media(max-width:560px){.pvc-phase-hud26548.countdown{font-size:.95rem;padding:10px 18px}.pvc-phase-hud26548.countdown b{font-size:2.1rem}}
.grade-light26548{display:inline-block;width:13px;height:13px;border-radius:50%;margin:0 10px 0 0;vertical-align:middle}.grade-light26548.open{background:#00c878;box-shadow:0 0 14px #00df88}.grade-light26548.closed{background:#ff4055;box-shadow:0 0 12px #ff4055}
.mbt-setup-premium26548{max-width:680px}.mbt-rule26548{text-align:center;opacity:.82}.mbt-color-grid26548{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:18px 0}.mbt-color-grid26548 button{border:2px solid rgba(180,120,255,.4);border-radius:24px;padding:12px;background:linear-gradient(145deg,rgba(45,18,92,.9),rgba(80,28,140,.75));color:#fff;display:grid;gap:5px;justify-items:center}.mbt-color-grid26548 button.selected{border-color:#d48cff;box-shadow:0 0 24px rgba(176,82,255,.75),inset 0 0 24px rgba(110,50,210,.35)}.mbt-color-grid26548 img{width:min(180px,34vw);height:120px;object-fit:contain}.mbt-vs-choice26548{font-weight:900;color:#ffd84b}.mbt-opponent-preview26548{text-align:center;margin:-6px 0 16px;font-weight:800}
.mbt-shell-asset26548{position:absolute;z-index:8;width:64px;height:28px;object-fit:contain;top:47%;pointer-events:none}.mbt-shell-asset26548.player{left:28%;animation:mbtShellRight26548 .58s ease-in forwards}.mbt-shell-asset26548.bot{right:28%;transform:scaleX(-1);animation:mbtShellLeft26548 .58s ease-in forwards}@keyframes mbtShellRight26548{to{left:72%}}@keyframes mbtShellLeft26548{to{right:72%}}
.mbt-impact-asset26548{position:absolute;z-index:12;width:180px;height:180px;object-fit:contain;top:34%;pointer-events:none;animation:mbtImpact26548 1s ease-out forwards}.mbt-impact-asset26548.player{left:6%}.mbt-impact-asset26548.bot{right:6%}.mbt-impact-asset26548.critical{width:240px;height:240px;top:28%}@keyframes mbtImpact26548{0%{opacity:0;transform:scale(.35)}35%{opacity:1;transform:scale(1.15)}100%{opacity:0;transform:scale(1.5)}}
.mbt-damage-number26548{position:absolute;z-index:18;left:50%;top:8%;transform:translateX(-50%);color:#fff;text-shadow:0 3px 8px #000;font-weight:1000;animation:mbtDamageFloat26548 2.1s ease-out forwards}.mbt-damage-number26548 b{font-size:2.4rem}.mbt-damage-number26548 small{display:block;color:#ffba3d;font-size:1rem}.mbt-damage-number26548.critical b{font-size:3.6rem;color:#ff8a1f}@keyframes mbtDamageFloat26548{0%{opacity:0;transform:translate(-50%,20px) scale(.6)}18%{opacity:1;transform:translate(-50%,0) scale(1.25)}100%{opacity:0;transform:translate(-50%,-90px) scale(1)}}
.ule-unit-convert26548{display:grid;gap:10px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#eef7ff,#f8f1ff);font-size:1.2rem;text-align:center}.ule-real-object26548,.ule-fraction26548,.ule-angle26548{font-size:2rem;text-align:center;padding:18px}.ule-grid26548{min-height:120px;background-image:linear-gradient(#9bb7d8 1px,transparent 1px),linear-gradient(90deg,#9bb7d8 1px,transparent 1px);background-size:24px 24px;border:2px solid #587aa5;border-radius:12px}.ule-rect26548{width:70%;height:120px;border:4px solid #6a4ad9;margin:auto;border-radius:8px}
@media(max-width:560px){.mbt-color-grid26548 img{height:86px}.mbt-impact-asset26548{width:130px;height:130px}.mbt-impact-asset26548.critical{width:175px;height:175px}}

/* v2.6.54.9 Battle UX polish */
.mbt-shell26549{position:absolute;z-index:8;width:52px;height:24px;top:43%;background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none;filter:drop-shadow(0 0 10px rgba(255,190,70,.95));}
.mbt-shell26549.player{left:31%;animation:mbtShellPlayer26549 .72s linear forwards}.mbt-shell26549.bot{right:31%;animation:mbtShellBot26549 .72s linear forwards}
.mbt-shell26549.css-shell{width:34px;height:12px;border-radius:999px;background-image:linear-gradient(90deg,#fff7b0,#ffb12b,#ef5b22)!important;box-shadow:0 0 18px #ffb12b}
@keyframes mbtShellPlayer26549{from{transform:translate(0,-50%)}to{transform:translate(390%,-50%)}}
@keyframes mbtShellBot26549{from{transform:translate(0,-50%)}to{transform:translate(-390%,-50%)}}
.mbt-impact-fallback26549{position:absolute;z-index:9;top:42%;width:76px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 9%,#ffe36a 10% 24%,#ff8a00 25% 42%,rgba(239,68,68,.82) 43% 58%,transparent 59%);filter:drop-shadow(0 0 20px #ff8a00);animation:mbtImpactFallback26549 .8s ease-out forwards}.mbt-impact-fallback26549.player{left:18%}.mbt-impact-fallback26549.bot{right:18%}.mbt-impact-fallback26549.critical{width:112px}
@keyframes mbtImpactFallback26549{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.18)}100%{opacity:0;transform:scale(1.5)}}
/* Character direction and stable end states */
.pvc-character-box2659.player .mma-character-sprite26547{transform:scaleX(1)!important}.pvc-character-box2659.bot .mma-character-sprite26547{transform:scaleX(-1)!important}
.phase-victory-presentation .pvc-character-box2659,.phase-battle-end .pvc-character-box2659{animation:none!important;transform:none!important}
.phase-victory-presentation .mma-character-sprite26547,.phase-battle-end .mma-character-sprite26547{animation:none!important}
.fx-player-attack .pvc-attack-fx2659,.fx-bot-attack .pvc-attack-fx2659,.fx-skill-fire .pvc-attack-fx2659,.fx-skill-ice .pvc-attack-fx2659,.fx-skill-lightning .pvc-attack-fx2659,.fx-skill-holy .pvc-attack-fx2659{animation-duration:2s!important}
.fx-player-attack .pvc-character-box2659.player img,.fx-bot-attack .pvc-character-box2659.bot img,.fx-skill-fire .pvc-character-box2659.player img,.fx-skill-ice .pvc-character-box2659.player img,.fx-skill-lightning .pvc-character-box2659.player img,.fx-skill-holy .pvc-character-box2659.player img{animation-duration:2s!important}
/* Competition cards artwork */
.battle-mode-grid26543 .mma-main-card26542,.battle-mode-grid26543 .mbt-main-card26543{position:relative;overflow:hidden;padding-top:34px}
.battle-card-art26549{position:absolute;top:8px;right:10px;width:98px;height:98px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));pointer-events:none}
.mbt-card-tanks26549{position:absolute;inset:4px 6px auto;display:flex;justify-content:space-between;pointer-events:none}.mbt-card-tanks26549 img{width:88px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}.mbt-card-tanks26549 img:last-child{transform:scaleX(-1)}
.battle-mode-grid26543{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.battle-mode-grid26543 .mbt-main-card26543{order:2;background:linear-gradient(145deg,rgba(66,20,120,.94),rgba(38,16,78,.9))!important;border:1px solid rgba(196,121,255,.7)!important;box-shadow:0 18px 48px rgba(71,22,128,.42),inset 0 1px rgba(255,255,255,.16)!important}.battle-mode-grid26543 .mma-main-card26542{order:1}.battle-mode-grid26543 .mma-levels-card26542{order:3}.battle-mode-grid26543 .mma-pvp-card26542{order:4}

/* v2.6.54.11 MMA impact, facing, summary portrait, grade lights */
.pvc-character-box2659.bot .mma-character-sprite26547,.pvc-character-box2659.bot img{transform:none!important}
.pvc-element-impact265411{position:absolute;right:5%;top:25%;width:34%;height:52%;z-index:8;display:grid;place-items:center;pointer-events:none;animation:mmaImpactPop265411 1.15s ease-out forwards}
.pvc-element-impact265411 img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 22px rgba(255,255,255,.8))}
@keyframes mmaImpactPop265411{0%{opacity:0;transform:scale(.35)}18%{opacity:1;transform:scale(1.18)}65%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}
.mma-result-portrait265411{width:min(340px,88vw);height:300px;margin:0 auto;overflow:hidden;display:grid;place-items:center}
.mma-result-portrait265411 .mma-result-character26547{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;transform:scale(1.55);transform-origin:center 58%}
.grade-card2637,.learning-grade-card2637,.learning-grade-card2636,[data-grade],[data-primary-grade]{position:relative}
.grade-light26548{flex:0 0 auto!important;display:inline-block!important;width:14px!important;height:14px!important;border-radius:50%!important;margin:0 10px 0 0!important;vertical-align:middle!important;position:relative!important;z-index:3!important}
.grade-light26548.open{background:#00c878!important;box-shadow:0 0 0 3px rgba(0,200,120,.14),0 0 15px #00df88!important}
.grade-light26548.closed{background:#ff4055!important;box-shadow:0 0 0 3px rgba(255,64,85,.13),0 0 14px #ff4055!important}
.phase-victory-presentation .pvc-character-box2659,.pvc-result-card2653 .mma-result-character26547{animation:none!important}


/* ==========================================================
 * v2.6.54.13 Learning Hub Layout + Exact Pictograph Symbols
 * ========================================================== */
#learningPage .phase-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(12px,3vw,20px)!important;
  align-items:stretch!important;
}
#learningPage .phase-grid>article{
  min-width:0!important;
  min-height:clamp(150px,25vw,210px)!important;
  padding:clamp(16px,3vw,24px)!important;
  overflow:hidden!important;
  align-content:center!important;
}
#learningPage .phase-grid>.learning-grade-card2636{
  grid-column:1/-1!important;
  min-height:auto!important;
  text-align:left!important;
}
#learningPage .phase-grid>article b{
  font-size:clamp(1.35rem,5vw,2rem)!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
#learningPage .phase-grid>article span{
  font-size:clamp(.95rem,3.4vw,1.15rem)!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
#learningPage .phase-grid>article small{
  font-size:clamp(.78rem,2.8vw,.95rem)!important;
  line-height:1.2!important;
  max-width:100%!important;
  white-space:normal!important;
}
.ule-chart26547>div>span{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.08em!important;
}
.ule-half-icon265413{
  display:inline-block!important;
  width:.52em!important;
  overflow:hidden!important;
  vertical-align:middle!important;
  font-style:normal!important;
  line-height:1!important;
}
.ule-half-icon265413>em{
  display:inline-block!important;
  width:1em!important;
  font-style:normal!important;
  line-height:1!important;
}
@media(max-width:560px){
  #learningPage .phase-grid{grid-template-columns:1fr!important;}
  #learningPage .phase-grid>.learning-grade-card2636{grid-column:auto!important;}
}

/* v2.6.54.14 isolated Learning Hub and reusable competition cards */
#learningPage.learning-page5414 .learning-entry-grid5414{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;align-items:stretch!important}
#learningPage .learning-entry-card5414{min-width:0!important;min-height:132px!important;padding:18px!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#f4f8ff)!important;border:1px solid rgba(71,105,160,.18)!important;box-shadow:0 14px 28px rgba(31,68,116,.10)!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:14px!important;overflow:hidden!important;font-size:initial!important;line-height:1.35!important}
#learningPage .learning-entry-card5414.is-primary{grid-column:1/-1!important;background:linear-gradient(135deg,#fff,#e9fff6)!important;cursor:pointer!important}
#learningPage .learning-entry-copy5414{display:grid!important;gap:7px!important;min-width:0!important}
#learningPage .learning-entry-copy5414 b{font-size:clamp(19px,4.7vw,26px)!important;line-height:1.2!important;overflow-wrap:anywhere!important}
#learningPage .learning-entry-copy5414 span{font-size:clamp(13px,3.4vw,16px)!important;line-height:1.45!important;color:#415574!important;font-weight:750!important;overflow-wrap:anywhere!important}
#learningPage .learning-entry-status5414{align-self:flex-start!important;display:inline-flex!important;width:auto!important;margin:0!important;border-radius:999px!important;padding:6px 11px!important;background:#14a673!important;color:#fff!important;font-size:12px!important;line-height:1!important;font-weight:900!important;white-space:nowrap!important}
#learningPage .learning-entry-status5414.is-pending{background:#8c98aa!important}
@media(max-width:560px){#learningPage.learning-page5414 .learning-entry-grid5414{grid-template-columns:1fr!important}#learningPage .learning-entry-card5414.is-primary{grid-column:auto!important}}
.tma-mode-card-grid5414{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:14px}.tma-mode-card-grid5414.is-home{margin:18px 0 0}
.tma-mode-card5414{position:relative;isolation:isolate;min-width:0;min-height:300px;padding:24px;border-radius:30px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;color:#fff;border:1px solid rgba(255,255,255,.24);box-shadow:0 22px 48px rgba(24,14,67,.24);backdrop-filter:blur(16px)}
.tma-mode-card5414.theme-mma{background:radial-gradient(circle at 90% 5%,rgba(255,111,119,.45),transparent 35%),linear-gradient(145deg,#661b2b,#b3283f 58%,#4a1021)}
.tma-mode-card5414.theme-mbt{background:radial-gradient(circle at 50% 0%,rgba(185,109,255,.42),transparent 38%),linear-gradient(145deg,#24104f,#5a2499 58%,#180932)}
.tma-mode-card-artbox5414{position:absolute;inset:0;pointer-events:none;z-index:-1}.tma-mode-card-art5414{position:absolute;top:-2%;right:2%;width:min(44%,230px);height:58%;object-fit:contain;filter:drop-shadow(0 15px 18px rgba(0,0,0,.32))}.tma-mode-card-art5414.art-2{right:auto;left:2%}.theme-mbt .art-1{left:1%;right:auto}.theme-mbt .art-2{right:1%;left:auto}
.tma-mode-card-copy5414{display:grid;gap:7px;text-shadow:0 2px 12px rgba(0,0,0,.28)}.tma-mode-card-kicker5414{font-size:12px;font-weight:950;letter-spacing:.04em}.tma-mode-card5414 h3{margin:0;font-size:clamp(22px,4vw,32px);line-height:1.1}.tma-mode-card5414 p{margin:0;max-width:72%;font-weight:750;line-height:1.45}.tma-mode-card5414 small{font-weight:850;opacity:.92}.tma-mode-card-action5414{align-self:flex-start;margin-top:2px}
.tma-mode-card5414.is-compact{min-height:210px;padding:18px;border-radius:24px}.tma-mode-card5414.is-compact .tma-mode-card-art5414{height:56%;width:min(38%,170px)}.tma-mode-card5414.is-compact h3{font-size:clamp(18px,3.5vw,24px)}.tma-mode-card5414.is-compact p{font-size:13px;max-width:75%}.tma-mode-card5414.is-compact small{font-size:11px}
.battle-secondary-grid5414{margin-top:18px}@media(max-width:720px){.tma-mode-card-grid5414{grid-template-columns:1fr}.tma-mode-card5414{min-height:270px}.tma-mode-card5414 p{max-width:68%}}

/* === v2.6.55.0 Interactive Learning Foundation === */
.primary-teach-first26550{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 18px;padding:16px;border-radius:20px;background:linear-gradient(135deg,rgba(14,165,233,.14),rgba(99,102,241,.14));border:1px solid rgba(59,130,246,.28);box-shadow:0 12px 30px rgba(30,64,175,.10)}
.primary-teach-first26550>div{display:grid;gap:4px;min-width:0}.primary-teach-first26550 b{font-size:clamp(16px,3.8vw,21px);line-height:1.3}.primary-teach-first26550 small{font-size:clamp(12px,3vw,15px);line-height:1.5;color:#475569}.primary-teach-first26550 button{flex:0 0 auto;border:0;border-radius:16px;padding:11px 15px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(79,70,229,.25)}
.interactive-lesson-overlay26550{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:14px;background:rgba(15,23,42,.58);backdrop-filter:blur(9px)}
.interactive-lesson-shell26550{width:min(760px,100%);max-height:94vh;overflow:auto;border-radius:28px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 30px 90px rgba(15,23,42,.35);border:1px solid rgba(255,255,255,.8)}
.interactive-lesson-shell26550>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 12px}.interactive-lesson-shell26550 header small{color:#6366f1;font-weight:800}.interactive-lesson-shell26550 header h2{margin:4px 0 0;font-size:clamp(22px,5vw,32px);line-height:1.25;color:#172554}.interactive-lesson-shell26550 header button{border:0;border-radius:50%;width:38px;height:38px;background:#eef2ff;color:#3730a3;font-size:25px}
.interactive-lesson-progress26550{height:8px;margin:0 22px;border-radius:999px;background:#e2e8f0;overflow:hidden}.interactive-lesson-progress26550 i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#3b82f6,#8b5cf6);transition:width .3s ease}
.interactive-lesson-block26550{position:relative;margin:18px 22px;padding:22px;border-radius:24px;background:#fff;border:1px solid #dbeafe;box-shadow:0 12px 28px rgba(30,64,175,.08)}.interactive-lesson-block26550 h3{margin:0 0 12px;padding-left:42px;font-size:clamp(19px,4.5vw,26px);line-height:1.3;color:#1e3a8a}.interactive-lesson-block26550>p{font-size:clamp(15px,3.6vw,18px);line-height:1.75;color:#334155}.interactive-lesson-block26550 ul{margin:12px 0;padding-left:24px;line-height:1.8;color:#334155}.interactive-lesson-icon26550{position:absolute;left:20px;top:20px;font-size:27px}.interactive-lesson-prompt26550{margin:14px 0;padding:16px;border-radius:18px;background:#eff6ff;color:#1e3a8a;font-weight:800;font-size:clamp(17px,4vw,22px);line-height:1.55}.interactive-lesson-block26550 details{margin-top:14px;padding:12px 14px;border-radius:15px;background:#f0fdf4}.interactive-lesson-block26550 details summary{cursor:pointer;font-weight:800;color:#166534}
.interactive-lesson-choices26550{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.interactive-lesson-choices26550 button{min-height:52px;padding:10px;border:1px solid #bfdbfe;border-radius:16px;background:#fff;color:#1e3a8a;font-weight:800;font-size:16px}.interactive-lesson-choices26550 button.correct{background:#dcfce7;border-color:#22c55e;color:#166534}.interactive-lesson-choices26550 button.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.interactive-lesson-feedback26550{min-height:28px;margin:12px 0 0!important;font-weight:700;color:#475569}
.interactive-lesson-shell26550>footer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:14px 22px 20px;background:linear-gradient(180deg,rgba(248,251,255,.55),#f8fbff 35%);border-radius:0 0 28px 28px}.interactive-lesson-shell26550 footer button{border:0;border-radius:15px;padding:12px 14px;font-weight:800}.interactive-lesson-shell26550 footer button:first-child{justify-self:start;background:#e0f2fe;color:#075985}.interactive-lesson-shell26550 footer button:last-child{justify-self:end;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff}.interactive-lesson-shell26550 footer button:disabled{opacity:.45}.interactive-lesson-shell26550 footer span{font-weight:800;color:#64748b}
.ile-quad-compare26550{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.ile-quad-compare26550 figure{display:grid;place-items:center;gap:8px;margin:0;padding:14px;border-radius:18px;background:#f8fafc}.ile-quad-compare26550 i{display:block;border:4px solid #4f46e5;background:rgba(99,102,241,.14)}.ile-square26550{width:100px;height:100px}.ile-rectangle26550{width:145px;height:90px}.ile-quad-compare26550 figcaption{font-weight:800;color:#312e81}.ile-pictograph26550{display:grid;place-items:center;gap:10px;margin:16px 0;padding:18px;border-radius:20px;background:#fff7ed}.ile-pictograph26550 b{color:#9a3412}.ile-pictograph26550 span{font-size:48px;letter-spacing:8px}.ile-pictograph26550 em{font-style:normal;font-weight:900;color:#c2410c}
@media(max-width:600px){.primary-teach-first26550{align-items:stretch;flex-direction:column}.primary-teach-first26550 button{width:100%}.interactive-lesson-overlay26550{padding:0}.interactive-lesson-shell26550{width:100%;max-height:100vh;height:100%;border-radius:0}.interactive-lesson-block26550{margin:14px;padding:18px}.interactive-lesson-shell26550>header{padding:18px 16px 10px}.interactive-lesson-progress26550{margin:0 16px}.interactive-lesson-choices26550{grid-template-columns:1fr}.interactive-lesson-shell26550>footer{padding:12px 14px 18px;border-radius:0}.ile-quad-compare26550{grid-template-columns:1fr}.ile-square26550{width:90px;height:90px}.ile-rectangle26550{width:135px;height:82px}}

/* v2.6.55.1 Learning Intelligence + visual teaching */
.interactive-lesson-overlay26550{z-index:22000}
.tma-teaching-visual551{margin:16px auto;padding:14px;border-radius:20px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);text-align:center;min-height:130px;display:grid;place-items:center;overflow:hidden}
.tma-teaching-visual551 svg{width:min(360px,100%);height:180px;fill:#dbeafe;stroke:#1d4ed8;stroke-width:4}.tma-teaching-visual551 svg .long{stroke:#ef4444;stroke-width:8;animation:tmaPulse551 1.4s infinite}.tma-teaching-visual551 svg .short{stroke:#22c55e;stroke-width:8;animation:tmaPulse551 1.4s .7s infinite}
.tma-teaching-visual551.clock{position:relative;width:170px;height:170px;border:8px solid #6366f1;border-radius:50%;margin:auto;background:#fff}.tma-teaching-visual551.clock i{position:absolute;width:5px;height:58px;background:#ef4444;left:50%;bottom:50%;transform-origin:bottom;transform:rotate(45deg)}.tma-teaching-visual551.clock b,.tma-teaching-visual551.clock span,.tma-teaching-visual551.clock em,.tma-teaching-visual551.clock u{position:absolute}.tma-teaching-visual551.clock b{top:5px}.tma-teaching-visual551.clock span{right:8px}.tma-teaching-visual551.clock em{bottom:5px}.tma-teaching-visual551.clock u{left:8px}
.tma-teaching-visual551.bars{display:flex;align-items:end;justify-content:center;gap:18px;height:180px}.tma-teaching-visual551.bars i{width:42px;background:linear-gradient(#8b5cf6,#3b82f6);border-radius:10px 10px 0 0;animation:tmaGrow551 1s ease both}.tma-teaching-visual551.fraction{grid-template-columns:repeat(4,1fr);gap:3px;width:240px;min-height:80px}.tma-teaching-visual551.fraction i{height:70px;background:#fff;border:2px solid #6366f1}.tma-teaching-visual551.fraction i.on{background:#a5b4fc}.tma-teaching-visual551.objects{font-size:30px;color:#2563eb}
@keyframes tmaPulse551{50%{filter:drop-shadow(0 0 10px currentColor);opacity:.55}}@keyframes tmaGrow551{from{height:0}}

/* v2.6.55.2 — battle card protected media slots */
.tma-mode-card5414.theme-mbt{--media-slot:104px;padding-top:18px}
.tma-mode-card5414.theme-mbt .tma-mode-card-artbox5414{inset:14px 14px auto 14px;height:112px;z-index:0}
.tma-mode-card5414.theme-mbt .tma-mode-card-art5414{top:0;width:var(--media-slot);height:104px;max-width:var(--media-slot);object-fit:contain}
.tma-mode-card5414.theme-mbt .tma-mode-card-copy5414{position:relative;z-index:1;margin-inline:calc(var(--media-slot) + 8px);min-height:112px;align-content:center;text-align:center}
.tma-mode-card5414.theme-mbt .tma-mode-card-copy5414 p{max-width:none}
.tma-mode-card5414.theme-mbt .tma-mode-card-action5414{position:relative;z-index:2;width:100%;align-self:stretch}
.tma-mode-card5414.theme-mma .tma-mode-card-copy5414{padding-right:min(34%,150px)}
.tma-mode-card5414.theme-mma .tma-mode-card-copy5414 p{max-width:100%}
@media(max-width:520px){
.tma-mode-card5414.theme-mbt{--media-slot:78px;padding-inline:14px}
.tma-mode-card5414.theme-mbt .tma-mode-card-artbox5414{height:88px;inset-inline:8px}
.tma-mode-card5414.theme-mbt .tma-mode-card-art5414{height:82px}
.tma-mode-card5414.theme-mbt .tma-mode-card-copy5414{margin-inline:82px;min-height:92px}
.tma-mode-card5414.theme-mbt .tma-mode-card-copy5414 h3{font-size:18px}
.tma-mode-card5414.theme-mbt .tma-mode-card-copy5414 p{font-size:12px;line-height:1.28}
.tma-mode-card5414.theme-mbt .tma-mode-card-copy5414 small{font-size:10px}
}

/* ===== Learning Intelligence advice cards (v2.6.55.3) =====
   คำแนะนำจาก remediation / knowledge-dependency / engagement ที่แสดงในหน้าบทเรียนและหน้าสรุปผล */
.learning-advice26560{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.learning-advice-item26560{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.learning-advice-item26560>span{font-size:1.35rem;line-height:1.2;flex:none}
.learning-advice-item26560 b{display:block;font-size:.95rem;margin-bottom:2px}
.learning-advice-item26560 small{display:block;font-size:.82rem;opacity:.88;line-height:1.45}
.learning-advice-item26560.kind-prerequisite{border-color:rgba(255,196,84,.5);background:linear-gradient(135deg,rgba(255,196,84,.20),rgba(255,196,84,.07))}
.learning-advice-item26560.kind-remediation{border-color:rgba(120,200,255,.5);background:linear-gradient(135deg,rgba(120,200,255,.20),rgba(120,200,255,.07))}
.learning-advice-item26560.kind-engagement{border-color:rgba(170,255,200,.5);background:linear-gradient(135deg,rgba(170,255,200,.20),rgba(170,255,200,.07))}
@media (max-width:480px){.learning-advice-item26560{padding:9px 10px}.learning-advice-item26560 small{font-size:.78rem}}

/* v2.6.55.7 GM send outcome + per-student fallback */
.gm-send-outcome2657{margin-top:10px;display:grid;gap:8px}
.gm-send-outcome2657 p{margin:0;font-size:.9rem;line-height:1.5}
.gm-send-outcome2657 .gm-send-warn2657{padding:10px 12px;border-radius:12px;background:rgba(255,196,84,.16);border:1px solid rgba(255,196,84,.5)}
.gm-send-outcome2657 .gm-send-ok2657{padding:10px 12px;border-radius:12px;background:rgba(120,230,170,.16);border:1px solid rgba(120,230,170,.5)}
.gm-send-outcome2657 button{justify-self:start}
.gm-send-outcome2657 small{opacity:.85}
