/* ═══════ فونت‌های محلی (میزبانی روی خودِ سایت — در ایران همیشه لود می‌شود) ═══════ */
/* متن: Estedad (مدرن و تمیز) — تیتر: Lalezar (گرد و درشت، شبیهِ حسِ رفرنس) */
@font-face{font-family:'Estedad';src:url('../assets/fonts/Estedad-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Estedad';src:url('../assets/fonts/Estedad-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Estedad';src:url('../assets/fonts/Estedad-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Estedad';src:url('../assets/fonts/Estedad-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Estedad';src:url('../assets/fonts/Estedad-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Estedad';src:url('../assets/fonts/Estedad-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Lalezar';src:url('../assets/fonts/Lalezar-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

/* تیترهای نمایشی با Lalezar (تک‌وزن، پس وزن ۴۰۰ تا فِیک‌بولد نشود) */
.land-h1,.sec-head h2,.sd-hero h3,.sd-hi b{font-family:'Lalezar','Estedad',sans-serif;font-weight:400;letter-spacing:0}

:root {
  --p: #6C63FF;
  --p-rgb: 108,99,255;
  --p2: #4338CA;              /* گرادیانِ عمیق‌ترِ ایندیگو (پریمیوم) */
  --p3: #EEF0FF;
  --g: #10B981;              /* سبزِ زمردی — هماهنگ با دفترِ نمره/نمودارها */
  --g2: #059669;
  --g3: #E8F7F1;
  --r: #FF4F7B;
  --r3: #FFF0F4;
  --y: #E89A12;              /* طلاییِ ستاره — گرم‌تر و پریمیوم‌تر */
  --y3: #FBEBC8;
  --o: #FF7043;
  --sky: #2E9BD6;            /* آبیِ ریاضی */
  --sky3: #DAEDFA;
  --bg: #F4F6FF;
  --bg2: #FFFFFF;
  --bg3: #EEF0FF;
  --card: #FFFFFF;
  --card2: #F8F9FF;
  --border: rgba(26,27,58,0.08);        /* مرزِ خنثیِ ظریف — مدرن‌تر از بنفشِ خشک */
  --border2: rgba(26,27,58,0.16);
  --text: #1A1B3A;
  --text2: #5A5C80;
  --text3: #6b6e98;
  --shadow: 0 1px 2px rgba(26,27,58,.05), 0 8px 24px rgba(26,27,58,.07);      /* سایه‌ی نرمِ لایه‌ای (خنثی، نه بنفش) */
  --shadow2: 0 8px 20px rgba(26,27,58,.09), 0 24px 60px rgba(26,27,58,.13);
  --rad: 16px;
  --radsm: 10px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Estedad',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:20px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:var(--text3)}
/* ── FLOATING BUBBLES ── */
body::before,body::after{content:'';position:fixed;border-radius:50%;pointer-events:none;z-index:0}
body::before{width:500px;height:500px;background:radial-gradient(circle,rgba(var(--p-rgb),.07),transparent 70%);top:-100px;right:-100px;animation:drift1 12s ease-in-out infinite}
body::after{width:400px;height:400px;background:radial-gradient(circle,rgba(0,200,150,.07),transparent 70%);bottom:-80px;left:-80px;animation:drift2 14s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,40px)}}
@keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-30px)}}

/* ── PAGES ── */
.page{display:none;min-height:100vh}
.page.on{display:flex;flex-direction:column}

/* ════════════════════════
   LANDING
════════════════════════ */
#pg-land{
  align-items:center;justify-content:center;
  background:linear-gradient(145deg,#F0F2FF 0%,#E8FBF5 50%,#FFF4F8 100%);
  padding:2rem 1rem;position:relative;
}
.land-inner{max-width:680px;width:100%;text-align:center;animation:up .7s ease both;position:relative;z-index:1}

.logo-ring{
  width:88px;height:88px;border-radius:24px;margin:0 auto 2rem;
  background:linear-gradient(140deg,var(--p),var(--g));
  display:flex;align-items:center;justify-content:center;font-size:44px;
  box-shadow:0 8px 32px rgba(var(--p-rgb),0.30);
  animation:pulse 3s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 8px 24px rgba(var(--p-rgb),0.25)}50%{box-shadow:0 12px 48px rgba(var(--p-rgb),0.45)}}
.land-h1{
  font-size:clamp(2rem,5vw,3.2rem);font-weight:900;line-height:1.2;margin-bottom:1rem;
  background:linear-gradient(140deg,var(--p) 0%,var(--o) 55%,var(--g) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.land-sub{font-size:1.05rem;color:var(--text2);line-height:1.9;margin-bottom:2.5rem}
.land-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-main{
  padding:13px 32px;border-radius:50px;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;
  font-family:'Estedad',sans-serif;font-size:.95rem;font-weight:700;
  box-shadow:0 6px 20px rgba(var(--p-rgb),0.35);transition:all .3s;
  display:inline-flex;align-items:center;gap:8px;
}
.btn-main:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(var(--p-rgb),0.45)}
.btn-ghost{
  padding:13px 32px;border-radius:50px;cursor:pointer;
  background:#fff;color:var(--p);
  font-family:'Estedad',sans-serif;font-size:.95rem;font-weight:600;
  border:2px solid var(--border2);transition:all .3s;
  display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 4px 16px rgba(var(--p-rgb),0.10);
}
.btn-ghost:hover{border-color:var(--p);background:var(--p3);transform:translateY(-2px)}
.land-stats{display:flex;gap:2.5rem;justify-content:center;margin-top:3rem;flex-wrap:wrap}
.stat-n{font-size:2rem;font-weight:900;color:var(--p)}
.stat-l{font-size:.78rem;color:var(--text3);margin-top:2px}
.feature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:3rem;}
.feat-card{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--rad);
  padding:1.25rem;text-align:right;
  transition:border-color .3s,transform .3s,box-shadow .3s;
  box-shadow:var(--shadow);
}
.feat-card:hover{border-color:var(--p);transform:translateY(-5px);box-shadow:var(--shadow2)}
.feat-ico{font-size:28px;margin-bottom:.75rem}
.feat-t{font-size:.9rem;font-weight:700;margin-bottom:.35rem;color:var(--text)}
.feat-d{font-size:.78rem;color:var(--text3);line-height:1.7}

/* ════════════════════════
   LOGIN
════════════════════════ */
#pg-login{
  align-items:center;justify-content:center;
  background:linear-gradient(145deg,#F0F2FF 0%,#E8FBF5 60%,#FFF0F8 100%);
  padding:1rem;
}
.login-box{
  background:var(--card);border:1px solid var(--border);border-radius:22px;
  padding:2.25rem;width:100%;max-width:400px;
  box-shadow:0 16px 48px rgba(var(--p-rgb),.15);animation:up .5s ease;
}
.login-logo{
  width:52px;height:52px;border-radius:14px;margin:0 auto 1.5rem;
  background:linear-gradient(135deg,var(--p),var(--g));
  display:flex;align-items:center;justify-content:center;font-size:26px;
}
/* داینوی بالای کارتِ ورود */
.login-dino{
  display:block;width:84px;height:auto;margin:0 auto .5rem;
  filter:drop-shadow(0 10px 18px rgba(15,23,42,.16));
}
.login-h{font-size:1.35rem;font-weight:800;text-align:center;margin-bottom:.35rem}
.login-sub{font-size:.82rem;color:var(--text3);text-align:center;margin-bottom:1.25rem}

/* ── انتخابِ نقش: کارت‌های تصویری ── */
.lg-roles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:1.1rem}
.lg-role{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:15px 8px;border-radius:15px;cursor:pointer;
  background:var(--card);border:1.5px solid var(--border);
  font-family:'Estedad',sans-serif;transition:.18s;
}
.lg-role:hover{border-color:var(--p);transform:translateY(-2px);box-shadow:0 8px 18px -8px rgba(var(--p-rgb),.4)}
.lg-role.on{border-color:var(--p);background:rgba(var(--p-rgb),.08)}
.lg-role-e{font-size:1.7rem;line-height:1}
.lg-role-t{font-size:.84rem;font-weight:700;color:var(--text)}
.lg-role-admin{width:100%;margin-bottom:1.1rem;flex-direction:row;gap:9px;padding:12px}
.lg-role-admin .lg-role-e{font-size:1.2rem}
/* تا نقشی انتخاب نشده، مراحلِ ورود پنهان‌اند */
.login-box .lg-back-roles{display:none}
.login-box.picked .lg-back-roles{display:block}
.login-box.picked .lg-roles{display:none}
.lg-back-roles{
  width:100%;margin-top:.6rem;padding:9px;border:0;background:transparent;
  color:var(--text3);font-family:'Estedad',sans-serif;font-size:.82rem;cursor:pointer;
}
.lg-back-roles:hover{color:var(--p)}
/* دکمه‌های ورود/ثبت‌نامِ والدین (هنوز از کلاسِ .tab استفاده می‌کنند) */
.tab{
  padding:9px 4px;border-radius:8px;border:1px solid var(--border);cursor:pointer;
  font-family:'Estedad',sans-serif;font-size:.82rem;
  background:var(--bg3);color:var(--text2);transition:all .2s;
}
.tab.on{background:var(--p);color:#fff;font-weight:700;border-color:transparent}

.fg{margin-bottom:1.1rem}
.fg label{display:block;font-size:.8rem;color:var(--text2);margin-bottom:6px}
.fg input,.fg select{
  width:100%;padding:11px 14px;
  background:#F8F9FF;border:1.5px solid var(--border);
  border-radius:var(--radsm);color:var(--text);
  font-family:'Estedad',sans-serif;font-size:.95rem;
  outline:none;transition:border-color .2s;direction:ltr;text-align:right;
}
.fg input:focus,.fg select:focus{border-color:var(--p)}
.fg input::placeholder{color:var(--text3)}

.btn-login{
  width:100%;padding:13px;border-radius:var(--radsm);border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;
  font-family:'Estedad',sans-serif;font-size:.95rem;font-weight:700;
  transition:all .3s;margin-top:.25rem;
}
.btn-login:hover{opacity:.9;transform:translateY(-1px)}
.btn-login:disabled{opacity:.5;cursor:not-allowed;transform:none}

.alert-err{
  background:rgba(255,101,132,.12);border:1px solid rgba(255,101,132,.3);
  color:var(--r);border-radius:var(--radsm);padding:9px 13px;
  font-size:.82rem;margin-bottom:.85rem;display:none;
}
.back-link{text-align:center;margin-top:1.25rem;font-size:.82rem;color:var(--text3);cursor:pointer}
.back-link span{color:var(--p)}

/* ════════════════════════
   APP SHELL
════════════════════════ */
#pg-app{flex-direction:row}

.sidebar{
  width:255px;height:100vh;height:100dvh;
  background:#fff;border-left:2px solid var(--border);
  display:flex;flex-direction:column;
  position:fixed;right:0;top:0;z-index:100;
  transition:transform .3s;
}
.sb-logo{
  padding:1.35rem 1rem;display:flex;align-items:center;gap:10px;
  border-bottom:1px solid var(--border);
}
.sb-logo-ico{
  width:38px;height:38px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,var(--p),var(--g));
  display:flex;align-items:center;justify-content:center;font-size:19px;
}
.sb-logo-t{font-size:.95rem;font-weight:700}
.sb-logo-s{font-size:.67rem;color:var(--text3)}

.sb-nav{flex:1;min-height:0;padding:.75rem;overflow-y:auto;overscroll-behavior:contain}
.nav-sec{font-size:.67rem;color:var(--text3);font-weight:600;padding:0 .6rem;margin:1rem 0 .4rem;letter-spacing:.08em}
.nav-item{
  display:flex;align-items:center;gap:11px;
  padding:8px 11px;border-radius:14px;cursor:pointer;
  transition:all .2s;color:var(--text2);font-size:.88rem;margin-bottom:3px;
}
.nav-item:hover{background:var(--card);color:var(--text)}
.nav-item.on{background:rgba(var(--p-rgb),.12);color:var(--p);font-weight:700}
.nav-item.on{background:color-mix(in srgb, var(--p) 12%, transparent)}
.nav-lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-ico{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px}
.nav-ico img{width:28px;height:28px;object-fit:contain;display:block;filter:drop-shadow(0 1px 2px rgba(60,50,120,.12))}
.nav-logout{margin-top:.5rem;color:#FF4F7B}
.nav-logout:hover{background:rgba(255,79,123,.1);color:#FF4F7B}

/* ───────── نوار ابزارِ شناورِ شیشه‌ای ───────── */
.fbar{
  position:fixed;bottom:16px;left:50%;transform:translateX(-50%);
  display:flex;gap:3px;padding:7px 9px;z-index:80;
  background:rgba(255,255,255,.72);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);
  border:1px solid rgba(255,255,255,.65);border-radius:24px;
  box-shadow:0 12px 36px rgba(60,50,120,.22),0 2px 8px rgba(0,0,0,.06);
  max-width:calc(100vw - 24px);
  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;
}
.fbar::-webkit-scrollbar{display:none}
.fbar-item{
  border:0;background:transparent;cursor:pointer;font-family:inherit;
  display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 auto;
  padding:5px 9px;border-radius:16px;min-width:54px;color:var(--text3);
  transition:background .2s,transform .15s;
}
.fbar-item:hover{background:rgba(0,0,0,.045)}
.fbar-item:active{transform:scale(.93)}
.fbar-item.on{background:rgba(var(--p-rgb),.14)}
.fbar-item.on{background:color-mix(in srgb, var(--p) 15%, transparent)}
.fbar-ico{width:30px;height:30px;display:flex;align-items:center;justify-content:center}
.fbar-ico img{width:29px;height:29px;object-fit:contain;transition:transform .2s;filter:drop-shadow(0 1px 2px rgba(60,50,120,.15))}
.fbar-item.on .fbar-ico img{transform:translateY(-2px) scale(1.08)}
.fbar-lbl{font-size:.6rem;font-weight:600;line-height:1.1;white-space:nowrap}
.fbar-item.on .fbar-lbl{color:var(--p)}
body.has-fbar #pg-app .sec{padding-bottom:104px}
body.qd-fullscreen .fbar{display:none}
/* دکمه‌ی جمع‌کردن + زبانه‌ی بازکردنِ نوار */
.fbar-collapse{border:0;background:rgba(0,0,0,.06);color:var(--text3);border-radius:50%;width:26px;height:26px;cursor:pointer;font-size:.8rem;margin-inline-start:2px;flex:none}
.fbar-collapse:hover{background:rgba(0,0,0,.12);color:var(--r)}
.fbar-tab{display:none;position:fixed;bottom:10px;left:50%;transform:translateX(-50%);z-index:80;border:1px solid rgba(255,255,255,.6);
  background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 18px rgba(60,50,120,.18);
  width:44px;height:30px;border-radius:16px;cursor:pointer;font-size:1rem;color:var(--p)}
body.fbar-collapsed #fbar{display:none}
body.has-fbar.fbar-collapsed .fbar-tab{display:flex;align-items:center;justify-content:center}
body.hide-fbar #fbar, body.hide-fbar .fbar-tab{display:none!important}
[data-theme="dark"] .fbar-tab{background:rgba(27,29,41,.82);border-color:rgba(255,255,255,.12)}
@media(max-width:400px){ .fbar-lbl{display:none} .fbar-item{min-width:46px;padding:6px} }
[data-theme="dark"] .fbar{background:rgba(27,29,41,.74);border-color:rgba(255,255,255,.12)}
[data-theme="dark"] .fbar-item:hover{background:rgba(255,255,255,.06)}
/* روی دسکتاپ نوار کناری کافی است؛ تولبارِ شناور مخصوصِ موبایل/تبلت */
@media(min-width:821px){ .fbar{display:none} body.has-fbar #pg-app .sec{padding-bottom:0} }

/* ───────── نوار کناریِ جمع‌شونده (ریلِ آیکونی) ───────── */
.sidebar{transition:transform .3s, width .26s cubic-bezier(.4,0,.2,1)}
.main{transition:margin-right .26s cubic-bezier(.4,0,.2,1)}
#sb-toggle{display:flex}
#sb-toggle{font-size:15px}
@media(max-width:720px){ #sb-toggle{display:none} }
body.sb-collapsed .sidebar{width:76px}
body.sb-collapsed .main{margin-right:76px}
body.sb-collapsed .sb-logo{justify-content:center;padding:1.35rem .4rem}
body.sb-collapsed .sb-logo>div:last-child{display:none}
body.sb-collapsed .sb-nav{padding:.6rem .5rem}
body.sb-collapsed .nav-item{justify-content:center;padding:9px 6px;gap:0}
body.sb-collapsed .nav-lbl{display:none}
body.sb-collapsed .nav-item::before{display:none}
body.sb-collapsed .sb-home-btn{display:none}
body.sb-collapsed .user-row{justify-content:center;padding:9px 6px}
body.sb-collapsed .user-row>div:not(.user-av){display:none}
body.sb-collapsed #sb-toggle{transform:scaleX(-1)}

.sb-foot{
  padding:.75rem;border-top:1px solid var(--border);
}
.user-row{
  display:flex;align-items:center;gap:9px;
  padding:9px 10px;border-radius:var(--radsm);
  background:#F4F6FF;cursor:pointer;
  transition:all .2s;
}
.user-row:hover{border:1px solid var(--border2)}
.user-av{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.9rem;
}
.user-n{font-size:.82rem;font-weight:600}
.user-r{font-size:.67rem;color:var(--text3)}
.sb-plan{display:inline-block;font-size:.62rem;font-weight:800;padding:1px 7px;border-radius:50px;color:#fff}
.sb-plan-free{background:#10B981}
.sb-plan-pro{background:#6D5EF7}
.sb-plan-full{background:#E89A12}

.main{flex:1;min-width:0;margin-right:255px;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden}

.topbar{
  height:60px;padding:0 1.75rem;
  display:flex;align-items:center;justify-content:space-between;
  background:#fff;border-bottom:2px solid var(--border);box-shadow:0 2px 12px rgba(var(--p-rgb),.06);
  position:sticky;top:0;z-index:50;
}
.topbar-t{font-size:1rem;font-weight:700}
.topbar-r{display:flex;align-items:center;gap:.75rem}
.tb-btn{
  width:36px;height:36px;border-radius:var(--radsm);
  background:var(--card);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:17px;transition:all .2s;
}
.tb-btn:hover{border-color:var(--p)}
/* topbar user chip */
.tb-user{
  display:flex;align-items:center;gap:8px;
  background:var(--p3);border:1.5px solid var(--border2);
  border-radius:50px;padding:4px 14px 4px 6px;
  font-size:.82rem;font-weight:700;color:var(--p);
  animation:up .4s ease;
}
.tb-user-av{font-size:1.3rem;line-height:1}

/* ── DINO CHARACTER ── */
#dino-wrap{
  position:fixed;bottom:16px;left:16px;z-index:300;
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  pointer-events:none;
}
/* دکمه‌ی بستن داینو */
#dino-hide{
  position:absolute;top:-6px;right:-6px;z-index:5;
  width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;
  background:var(--r);color:#fff;font-size:.8rem;line-height:1;
  display:none;align-items:center;justify-content:center;pointer-events:all;
  box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .15s;
}
#dino-hide:hover{transform:scale(1.15)}
#dino-body-box{position:relative;pointer-events:all}
#dino-body-box:hover #dino-hide{display:flex}
/* حالت کوچک‌شده: فقط یک دکمه‌ی ریز گوشه */
#dino-mini{
  position:fixed;bottom:16px;left:16px;z-index:300;
  width:46px;height:46px;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,var(--p),var(--g));
  display:none;align-items:center;justify-content:center;font-size:1.4rem;
  box-shadow:0 4px 16px rgba(var(--p-rgb),.4);transition:transform .2s;
  animation:dino-idle 2.5s ease-in-out infinite;
}
#dino-mini:hover{transform:scale(1.12)}
#dino-bubble{
  background:#fff;border:2px solid var(--p);border-radius:18px 18px 18px 4px;
  padding:10px 14px;font-size:.82rem;font-weight:600;color:var(--text);
  max-width:210px;line-height:1.6;box-shadow:0 4px 16px rgba(var(--p-rgb),.18);
  opacity:0;transform:translateY(8px);transition:all .35s cubic-bezier(.34,1.56,.64,1);
  pointer-events:none;
}
#dino-bubble.show{opacity:1;transform:translateY(0);pointer-events:all;cursor:pointer}
/* حالت آموزش: حباب بزرگ‌تر و خواناتر */
#dino-bubble.teaching{
  max-width:290px;font-size:.84rem;font-weight:500;
  border-radius:18px;padding:13px 16px;line-height:1.85;
}
#dino-bubble.teaching strong{font-weight:800}
#dino-body{
  width:68px;height:68px;cursor:pointer;pointer-events:all;
  animation:dino-idle 2s ease-in-out infinite;
  transition:transform .2s;user-select:none;
  display:flex;align-items:flex-end;justify-content:center;
}
#dino-body img{
  width:100%;height:100%;object-fit:contain;
  filter:drop-shadow(0 6px 10px rgba(var(--p-rgb),.28));
  pointer-events:none;
}
#dino-body:hover{transform:scale(1.1) rotate(-4deg)}
@media(max-width:560px){
  #dino-body{width:52px;height:52px}
  #dino-bubble.teaching{max-width:210px}
}
@keyframes dino-idle{
  0%,100%{transform:translateY(0) rotate(0deg)}
  25%{transform:translateY(-6px) rotate(2deg)}
  75%{transform:translateY(-3px) rotate(-2deg)}
}
@keyframes dino-happy{
  0%{transform:scale(1) rotate(0)}
  25%{transform:scale(1.2) rotate(10deg)}
  50%{transform:scale(1.2) rotate(-10deg)}
  75%{transform:scale(1.1) rotate(5deg)}
  100%{transform:scale(1) rotate(0)}
}
@keyframes dino-sad{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-6px)}
  75%{transform:translateX(6px)}
}

.sec{display:none;padding:1.75rem;flex:1}
.sec.on{display:block}

/* ── SECTION HEADER ── */
.sec-head{margin-bottom:1.75rem}
.sec-head h2{
  font-size:1.6rem;font-weight:900;margin-bottom:.35rem;
  background:linear-gradient(135deg,var(--p),var(--p2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.sec-head p{color:var(--text2);font-size:.9rem}

/* ── GRIDS ── */
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.g4,.g3,.g2{grid-template-columns:1fr}.sidebar{transform:translateX(100%)}.sidebar.open{transform:translateX(0)}.main{margin-right:0}#menu-btn{display:flex!important}}
/* نوار کناریِ موبایل: پس‌زمینه‌ی تیره + قفلِ اسکرولِ محتوا وقتی باز است */
.sb-backdrop{position:fixed;inset:0;background:rgba(20,20,40,.42);z-index:99;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .25s}
@media(max-width:720px){
  body.sb-open{overflow:hidden}
  body.sb-open .sb-backdrop{opacity:1;pointer-events:auto;visibility:visible;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
  .sidebar{z-index:100}
}
@media(min-width:721px){ .sb-backdrop{display:none} }

/* ── STAT CARDS ── */
.scard{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--rad);
  padding:1.2rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:var(--shadow);
}
.scard:hover{transform:translateY(-5px);border-color:var(--p);box-shadow:var(--shadow2)}
.scard-ico{font-size:26px;margin-bottom:.65rem}
.scard-v{font-size:1.9rem;font-weight:900}
.scard-l{font-size:.77rem;color:var(--text3);margin-top:3px}
.scard-glow{
  position:absolute;top:-20px;left:-20px;width:70px;height:70px;
  border-radius:50%;opacity:.1;
}

/* ── HERO BANNER ── */
.hero{
  background:linear-gradient(135deg,var(--p) 0%,var(--p2) 100%);
  border-radius:var(--rad);padding:1.75rem 2rem;margin-bottom:1.75rem;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;top:-50px;left:-50px;
  width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.07);
}
.hero-txt h2{font-size:1.45rem;font-weight:900;margin-bottom:.35rem}
.hero-txt p{font-size:.87rem;opacity:.75}
.hero-emoji{font-size:52px;animation:bob 2.5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ── CONTENT CARD ── */
.ccard{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--rad);
  padding:1.4rem;margin-bottom:1rem;box-shadow:var(--shadow);
}
.ccard-h{font-size:1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse}
.tbl th{
  padding:10px 14px;text-align:right;font-size:.78rem;
  color:var(--text3);font-weight:600;border-bottom:1px solid var(--border);
}
.tbl td{
  padding:12px 14px;font-size:.85rem;
  border-bottom:1px solid rgba(255,255,255,.04);
}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--card2)}
.tbl td:first-child,.tbl th:first-child{border-radius:0 8px 8px 0}
.tbl td:last-child,.tbl th:last-child{border-radius:8px 0 0 8px}

/* ── BADGES ── */
.pill{padding:3px 10px;border-radius:20px;font-size:.73rem;font-weight:600;display:inline-block}
.pill-g{background:rgba(67,217,173,.15);color:var(--g)}
.pill-r{background:rgba(255,101,132,.15);color:var(--r)}
.pill-p{background:rgba(var(--p-rgb),.15);color:var(--p)}
.pill-y{background:rgba(255,209,102,.15);color:var(--y)}

/* ── BUTTONS ── */
.btn-add{
  display:inline-flex;align-items:center;gap:7px;
  padding:9px 18px;border-radius:var(--radsm);border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;
  font-family:'Estedad',sans-serif;font-size:.83rem;font-weight:600;
  transition:all .2s;
}
.btn-add:hover{opacity:.9;transform:translateY(-1px)}
.btn-sm{
  padding:5px 12px;border-radius:7px;font-size:.78rem;
  font-family:'Estedad',sans-serif;cursor:pointer;transition:all .2s;border:none;
}
.btn-edit{background:rgba(var(--p-rgb),.15);color:var(--p)}
.btn-del{background:rgba(255,101,132,.15);color:var(--r)}
.btn-sm:hover{opacity:.75}

/* ── MODAL ── */
.modal-wrap{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.75);backdrop-filter:blur(5px);
  display:flex;align-items:flex-start;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
  padding:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.modal-wrap.on{opacity:1;pointer-events:all}
.modal-box{
  background:#fff;border:1.5px solid var(--border);border-radius:22px;
  padding:1.75rem;width:100%;max-width:460px;margin:auto;
  max-height:calc(100dvh - 2rem);overflow-y:auto;
  transform:translateY(20px);transition:transform .3s;box-shadow:0 24px 64px rgba(var(--p-rgb),.18);
}
.modal-wrap.on .modal-box{transform:translateY(0)}
.modal-h{font-size:1.2rem;font-weight:700;margin-bottom:1.4rem;display:flex;align-items:center;justify-content:space-between}
.modal-close{cursor:pointer;color:var(--text3);font-size:1.3rem;line-height:1;transition:color .2s}
.modal-close:hover{color:var(--text)}

/* ── TEACHER CARD ── */
.teacher-card{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--rad);
  padding:1.25rem;transition:all .3s;box-shadow:var(--shadow);
}
.teacher-card:hover{border-color:var(--p);transform:translateY(-5px);box-shadow:var(--shadow2)}
.tc-top{display:flex;align-items:center;gap:12px;margin-bottom:1rem}
.tc-av{
  width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:1.1rem;flex-shrink:0;
}
.tc-n{font-size:.95rem;font-weight:700}
.tc-u{font-size:.76rem;color:var(--text3);margin-top:2px}
.tc-code{
  background:#F4F6FF;border:1.5px solid var(--border);border-radius:8px;
  padding:8px 12px;font-size:.8rem;color:var(--text2);
  display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;
}
.tc-code strong{color:var(--g);font-size:.9rem;letter-spacing:.05em}
.tc-stats{display:flex;gap:.75rem}
.tc-stat{flex:1;background:#F4F6FF;border-radius:8px;padding:8px;text-align:center}
.tc-stat-v{font-size:1.1rem;font-weight:700;color:var(--p)}
.tc-stat-l{font-size:.7rem;color:var(--text3);margin-top:2px}

/* ── STUDENT ROW ── */
.st-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:var(--radsm);
  background:#fff;border:1.5px solid var(--border);margin-bottom:7px;box-shadow:var(--shadow);
  transition:all .2s;
}
.st-row:hover{border-color:var(--border2)}
.st-av{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.9rem;
}
.st-info{flex:1}
.st-n{font-size:.9rem;font-weight:600}
.st-class{font-size:.73rem;color:var(--text3)}
.st-scores{display:flex;gap:6px;flex-wrap:wrap}

/* ── SUBJECT CARD ── */
.subj-card{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--rad);
  padding:1.25rem;cursor:pointer;transition:all .3s;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:10px;
}
.subj-card:hover{border-color:var(--subject-c);transform:translateY(-4px)}
.subj-ico{font-size:34px}
.subj-n{font-size:1rem;font-weight:700}
.subj-d{font-size:.77rem;color:var(--text3);line-height:1.65}
.prog-bar{height:5px;background:var(--bg3);border-radius:3px;margin-top:4px}
.prog-fill{height:100%;border-radius:3px;transition:width 1s ease}
.prog-meta{display:flex;justify-content:space-between;font-size:.73rem;color:var(--text3);margin-top:4px}

/* ── GAME ENGINE ── */
.game-wrap{background:#fff;border:1.5px solid var(--border);box-shadow:var(--shadow2);border-radius:20px;overflow:hidden}
.game-header{background:linear-gradient(135deg,var(--p),var(--p2));padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between}
.game-score-box{display:flex;gap:1rem;align-items:center}
.gscore{background:rgba(255,255,255,.15);border-radius:10px;padding:5px 14px;font-size:.82rem;font-weight:700}
.timer-ring{width:44px;height:44px;position:relative;flex-shrink:0}
.timer-ring svg{transform:rotate(-90deg)}
.timer-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800}
.game-body{padding:1.4rem}
.game-title{font-size:1.1rem;font-weight:800;text-align:center;margin-bottom:.35rem}
.game-hint{font-size:.82rem;color:var(--text3);text-align:center;margin-bottom:1.25rem}
.nb-slots{display:flex;gap:10px;justify-content:center;direction:ltr;margin-bottom:1.25rem}
.nb-slot{width:62px;height:74px;border-radius:14px;border:2.5px dashed rgba(var(--p-rgb),.35);background:#F8F9FF;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:900;color:var(--text3);transition:all .22s;cursor:pointer;position:relative}
.nb-slot.filled{border-style:solid;border-color:var(--p);color:var(--p);background:rgba(var(--p-rgb),.1);animation:pop .2s ease}
@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.nb-digits{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:1rem}
.nb-digit{width:58px;height:68px;border-radius:14px;border:2px solid var(--border2);background:#fff;color:var(--text);font-size:1.65rem;font-weight:900;cursor:pointer;transition:all .2s;font-family:'Estedad',sans-serif}
.nb-digit:hover:not(:disabled){border-color:var(--p);transform:translateY(-5px) scale(1.05);box-shadow:0 8px 20px rgba(var(--p-rgb),.3)}
.nb-digit:disabled{opacity:.2;cursor:default;transform:none}
.fb-bar{border-radius:10px;padding:10px 16px;text-align:center;font-size:.95rem;font-weight:700;margin-bottom:.85rem;min-height:42px;transition:all .3s}
.fb-ok{background:rgba(67,217,173,.15);color:var(--g);border:1px solid rgba(67,217,173,.3)}
.fb-bad{background:rgba(255,101,132,.12);color:var(--r);border:1px solid rgba(255,101,132,.25)}
.fb-idle{background:transparent;border:1px solid transparent}
.cmp-nums{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:1.25rem;flex-wrap:wrap}
.cmp-num{font-size:2rem;font-weight:900;background:var(--bg3);border:2px solid var(--border);border-radius:16px;padding:10px 22px;direction:ltr}
.cmp-btns{display:flex;gap:10px;justify-content:center}
.cmp-btn{width:64px;height:64px;border-radius:16px;border:2px solid var(--border2);background:var(--bg3);font-size:1.7rem;cursor:pointer;transition:all .2s;font-family:'Estedad',sans-serif}
.cmp-btn:hover{border-color:var(--p);background:rgba(var(--p-rgb),.12);transform:scale(1.08)}
.pv-number{font-size:2.6rem;font-weight:900;text-align:center;direction:ltr;letter-spacing:.1em;margin-bottom:1rem}
.pv-highlight{color:var(--y);text-shadow:0 0 20px rgba(255,209,102,.5)}
.pv-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pv-opt{padding:12px;border-radius:12px;border:2px solid var(--border);background:var(--bg3);cursor:pointer;font-size:.95rem;font-weight:600;text-align:center;transition:all .2s}
.pv-opt:hover{border-color:var(--p);background:rgba(var(--p-rgb),.1)}
.pv-opt.correct{border-color:var(--g);background:rgba(67,217,173,.15);color:var(--g)}
.pv-opt.wrong{border-color:var(--r);background:rgba(255,101,132,.1);color:var(--r)}
.end-screen{text-align:center;padding:1rem}
.end-stars{font-size:3rem;margin-bottom:.5rem}
.end-score{font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,var(--y),var(--p));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem}
.end-label{font-size:.85rem;color:var(--text3);margin-bottom:1.25rem}
.round-bar{height:6px;background:var(--bg3);border-radius:3px;margin-bottom:1.2rem;overflow:hidden}
.round-fill{height:100%;background:linear-gradient(90deg,var(--p),var(--g));border-radius:3px;transition:width .4s ease}
/* ── QUIZ / GAME PLACEHOLDER ── */
.coming{
  background:var(--card);border:2px dashed var(--border);border-radius:var(--rad);
  padding:2rem;text-align:center;
}
.coming-ico{font-size:40px;margin-bottom:1rem}
.coming-t{font-size:1rem;font-weight:700;margin-bottom:.4rem}
.coming-d{font-size:.82rem;color:var(--text3)}

/* ── NOTIF ── */
.notif{
  position:fixed;bottom:1.75rem;left:50%;transform:translateX(-50%);
  background:var(--card2);border:1px solid var(--border2);
  border-radius:50px;padding:11px 22px;font-size:.88rem;
  box-shadow:0 8px 30px rgba(var(--p-rgb),.15);z-index:999;
  animation:notif-in .35s ease;white-space:nowrap;
}
@keyframes notif-in{from{transform:translateX(-50%) translateY(15px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}

/* ── TEACHER DASHBOARD CHARTS ── */
.bar-chart{display:flex;align-items:flex-end;gap:6px;height:100px;padding-top:6px}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}
.bar{width:100%;border-radius:5px 5px 0 0;transition:height 1s ease;min-height:4px;opacity:.85}
.bar-lbl{font-size:.67rem;color:var(--text3)}

/* ── DIVIDER ── */
.div{height:1px;background:var(--border);margin:1.25rem 0}

/* ── CODE BADGE ── */
.code-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(67,217,173,.1);border:1px solid rgba(67,217,173,.3);
  border-radius:8px;padding:4px 10px;
  font-size:.83rem;color:var(--g);font-weight:600;letter-spacing:.05em;
}

/* ── ANIMATIONS ── */
@keyframes up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.a1{animation:up .5s .1s ease both}
.a2{animation:up .5s .2s ease both}
.a3{animation:up .5s .3s ease both}
.a4{animation:up .5s .4s ease both}

/* ── EMPTY STATE ── */
.empty{text-align:center;padding:2.8rem 1.2rem;color:var(--text3)}
.empty-ico{font-size:2.4rem;line-height:1;margin:0 auto .85rem;width:78px;height:78px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(var(--p-rgb),.09);box-shadow:0 6px 18px rgba(var(--p-rgb),.10)}
.empty-t{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.35rem}
.empty-d{font-size:.85rem;max-width:44ch;margin-inline:auto;line-height:1.6}

/* ── INFO BOX ── */
.info-box{
  background:var(--p3);border:1.5px solid rgba(var(--p-rgb),.2);
  border-radius:var(--radsm);padding:1rem 1.25rem;font-size:.85rem;
  color:var(--text2);line-height:1.7;margin-bottom:1.25rem;
}
/* ── LESSON / MATH ── */
.back-btn{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--border);color:var(--text2);border-radius:var(--radsm);padding:7px 14px;font-family:'Estedad',sans-serif;font-size:.83rem;cursor:pointer;margin-bottom:1rem;transition:all .2s}
.back-btn:hover{border-color:var(--p);color:var(--text)}
.chap-card{background:#fff;border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:var(--rad);padding:1.05rem 1.2rem;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .25s;margin-bottom:.7rem}
.chap-card:hover{border-color:var(--border2);transform:translateX(-4px)}
.chap-card.lock{opacity:.5;cursor:not-allowed}
.chap-card.lock:hover{transform:none;border-color:var(--border)}
.chap-num{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.lesson-tabs{display:flex;gap:6px;background:var(--bg3);border-radius:var(--radsm);padding:4px;margin-bottom:1.25rem}
.ltab{flex:1;padding:11px 6px;border-radius:8px;border:none;cursor:pointer;font-family:'Estedad',sans-serif;font-size:.86rem;background:transparent;color:var(--text2);transition:all .2s}
.ltab.on{background:var(--p);color:#fff;font-weight:700}
.learn-block{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.25rem 1.4rem;margin-bottom:1rem;line-height:2}
.learn-block h3{font-size:1.02rem;color:var(--p);margin-bottom:.5rem}
.ex-box{background:var(--bg3);border-right:3px solid var(--g);border-radius:8px;padding:.75rem 1rem;margin:.7rem 0 0;font-size:.92rem}
.qcard{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.25rem;margin-bottom:1rem}
.qnum{font-size:.78rem;color:var(--text3);margin-bottom:.45rem}
.qtext{font-size:1rem;font-weight:600;margin-bottom:1rem;line-height:1.9}
.qopt{background:var(--bg3);border:1.5px solid var(--border);border-radius:var(--radsm);padding:11px 15px;margin-bottom:.55rem;cursor:pointer;font-size:.95rem;transition:all .18s}
.qopt:hover{border-color:var(--border2)}
.qopt.sel{border-color:var(--p);background:rgba(var(--p-rgb),.12)}
.qopt.correct{border-color:var(--g);background:rgba(67,217,173,.15);color:var(--g);font-weight:600}
.qopt.wrong{border-color:var(--r);background:rgba(255,101,132,.12);color:var(--r)}
.digit-card{width:60px;height:72px;border-radius:12px;border:2px solid var(--border2);background:var(--bg3);color:var(--text);font-size:1.7rem;font-weight:800;cursor:pointer;transition:all .18s;font-family:'Estedad',sans-serif}
.digit-card:hover:not(:disabled){border-color:var(--p);transform:translateY(-3px)}
.digit-card:disabled{opacity:.22;cursor:default}
.num-slot{width:56px;height:68px;border-radius:12px;border:2px dashed var(--border2);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:800;background:var(--card);color:var(--text3)}
.num-slot.filled{border-style:solid;border-color:var(--p);color:var(--p)}
/* ── AVATAR PICKER ── */
.av-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:1rem 0 1.4rem}
.av-item{
  aspect-ratio:1;border-radius:18px;border:3px solid var(--border);
  background:#F8F9FF;display:flex;flex-direction:column;align-items:center;
  justify-content:center;cursor:pointer;transition:all .25s;font-size:2.2rem;
  gap:4px;
}
.av-item:hover{border-color:var(--p);transform:scale(1.08);box-shadow:0 6px 20px rgba(var(--p-rgb),.2)}
.av-item.sel{border-color:var(--p);background:var(--p3);transform:scale(1.08);box-shadow:0 6px 20px rgba(var(--p-rgb),.25)}
.av-item span{font-size:.65rem;color:var(--text2);font-weight:600}
/* sidebar avatar ring */
.av-ring{
  width:38px;height:38px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:1.35rem;
  border:2.5px solid var(--border2);background:#F4F6FF;
}
/* ── FRACTION DISPLAY ── */
.frac{
  display:inline-flex;flex-direction:column;align-items:center;
  vertical-align:middle;margin:0 3px;font-weight:700;line-height:1.1;
}
.frac .num{border-bottom:1.5px solid currentColor;padding:0 3px;font-size:.9em;}
.frac .den{padding:0 3px;font-size:.9em;}
.frac-inline{font-weight:600}
/* عدد مخلوط */
.mixed{display:inline-flex;align-items:center;gap:3px;vertical-align:middle}
.mixed .whole{font-weight:700}

/* ── LEADERBOARD ── */
.lb-wrap{background:#fff;border:1.5px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow2)}
.lb-header{background:linear-gradient(135deg,#2D2A7B,var(--p));padding:1.25rem 1.5rem;color:#fff;display:flex;align-items:center;justify-content:space-between}
.lb-header h3{font-size:1.05rem;font-weight:800;margin:0}
.lb-tabs{display:flex;gap:4px;background:rgba(255,255,255,.15);border-radius:8px;padding:3px}
.lb-tab{padding:5px 12px;border-radius:6px;border:none;background:transparent;color:rgba(255,255,255,.7);font-family:'Estedad',sans-serif;font-size:.75rem;cursor:pointer;transition:all .2s}
.lb-tab.on{background:#fff;color:var(--p);font-weight:700}
.lb-body{padding:0}
.lb-row{display:flex;align-items:center;gap:12px;padding:12px 1.25rem;border-bottom:1px solid var(--border);transition:background .15s}
.lb-row:last-child{border-bottom:none}
.lb-row:hover{background:#F8F9FF}
.lb-rank{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem;flex-shrink:0}
.lb-rank.gold{background:linear-gradient(135deg,#FFD700,#FFA500);color:#fff;box-shadow:0 3px 10px rgba(255,165,0,.4)}
.lb-rank.silver{background:linear-gradient(135deg,#C0C0C0,#A0A0A0);color:#fff}
.lb-rank.bronze{background:linear-gradient(135deg,#CD7F32,#A0522D);color:#fff}
.lb-rank.other{background:#F4F6FF;color:var(--text2)}
.lb-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;background:#F4F6FF}
.lb-info{flex:1}
.lb-name{font-weight:700;font-size:.88rem}
.lb-sub{font-size:.72rem;color:var(--text3)}
.lb-score{font-weight:900;font-size:1rem;color:var(--p)}
.lb-badge{font-size:.7rem;padding:2px 8px;border-radius:20px;font-weight:600}
.lb-empty{text-align:center;padding:2.5rem;color:var(--text3)}
/* prize section */
.prize-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.prize-card{flex:1;min-width:100px;background:linear-gradient(135deg,var(--c1),var(--c2));border-radius:14px;padding:.85rem;text-align:center;color:#fff}
.prize-ico{font-size:1.6rem;margin-bottom:.3rem}
.prize-rank{font-size:.72rem;opacity:.85;margin-bottom:.15rem}
.prize-val{font-size:.88rem;font-weight:800}

/* ═══════════════════════════════
   چت با دینو
═══════════════════════════════ */
#dinochat-wrap{
  background:var(--card);border:1px solid var(--border);border-radius:var(--rad);
  display:flex;flex-direction:column;height:calc(100vh - 220px);min-height:400px;
  overflow:hidden;
}
#dinochat-messages{
  flex:1;overflow-y:auto;padding:1.25rem;
  display:flex;flex-direction:column;gap:.75rem;
  scroll-behavior:smooth;
}
.dc-msg{
  display:flex;gap:10px;align-items:flex-end;max-width:85%;
  animation:up .3s ease;
}
.dc-msg.user{ align-self:flex-end;flex-direction:row-reverse; }
.dc-msg.dino{ align-self:flex-start; }
.dc-av{
  width:36px;height:36px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;background:var(--bg3);
}
.dc-msg.user .dc-av{background:var(--p3);}
.dc-bubble{
  padding:10px 14px;border-radius:18px;font-size:.88rem;line-height:1.7;
  max-width:100%;word-break:break-word;
}
.dc-msg.user .dc-bubble{
  background:linear-gradient(135deg,var(--p),var(--p2));
  color:#fff;border-radius:18px 18px 4px 18px;
}
.dc-msg.dino .dc-bubble{
  background:#fff;border:1.5px solid var(--border);
  color:var(--text);border-radius:18px 18px 18px 4px;
}
.dc-msg.dino.thinking .dc-bubble{
  color:var(--text3);font-style:italic;
}
#dinochat-input-row{
  display:flex;gap:.5rem;padding:.85rem 1rem;
  border-top:1px solid var(--border);background:var(--bg2);
}
#dinochat-inp{
  flex:1;padding:10px 14px;background:var(--bg3);
  border:1.5px solid var(--border);border-radius:50px;
  color:var(--text);font-family:Estedad,sans-serif;font-size:.9rem;
  outline:none;transition:border-color .2s;
}
#dinochat-inp:focus{border-color:var(--p);}
#dinochat-inp::placeholder{color:var(--text3);}
#dinochat-send{
  padding:10px 20px;border-radius:50px;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--p),var(--p2));
  color:#fff;font-family:Estedad,sans-serif;font-size:.88rem;font-weight:700;
  transition:all .2s;white-space:nowrap;
}
#dinochat-send:hover{opacity:.9;transform:scale(1.03);}
#dinochat-send:disabled{opacity:.5;cursor:not-allowed;transform:none;}

/* ═══════════════════════════════
   انیمیشن صفحه اصلی — CSS خالص
═══════════════════════════════ */
html { scroll-behavior: smooth; }
.main { scroll-behavior: smooth; }

/* انیمیشن ورود کارت‌های features */
.feature-card {
  animation: card-rise .6s ease both;
}
.feature-card:nth-child(1){animation-delay:.05s}
.feature-card:nth-child(2){animation-delay:.15s}
.feature-card:nth-child(3){animation-delay:.25s}
.feature-card:nth-child(4){animation-delay:.35s}
.feature-card:nth-child(5){animation-delay:.45s}
.feature-card:nth-child(6){animation-delay:.55s}
@keyframes card-rise{
  from{opacity:0;transform:translateY(30px)}
  to{opacity:1;transform:translateY(0)}
}

/* انیمیشن اول بار برای section titleها */
.section-title,.section-sub,.sub-title,.sub-desc{
  animation:fade-in-up .7s ease both;
}
@keyframes fade-in-up{
  from{opacity:0;transform:translateY(20px)}
  to{opacity:1;transform:translateY(0)}
}

/* ════════════════════════════════════════════════
   ✨ لایه‌ی انیمیشن و جذابیت بصری (نسخه‌ی متعادل)
   افزوده‌شده برای روان‌تر و حرفه‌ای‌تر شدن سایت
════════════════════════════════════════════════ */

/* ── ترنزیشن نرم سراسری روی المان‌های تعاملی ── */
.scard,.subj-card,.chap-card,.teacher-card,.lb-row,.st-row,.feature-card,
.about-card,.nav-item,.btn-add,.btn-sm,.btn-login,.cta-main,.cta-ghost,
.nav-btn,.qopt,.pv-opt,.nb-digit,.ltab,.tab,.sub-plan,.tc-code{
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),
             box-shadow .25s ease, border-color .25s ease, background-color .25s ease, color .2s ease;
}

/* ── ورود نرم محتوای هر بخش ── */
.sec-anim{animation:sec-in .42s cubic-bezier(.22,.61,.36,1) both}
@keyframes sec-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ── ورود پلکانی کارت‌ها وقتی بخش باز می‌شود ── */
.sec.on .g4>*,.sec.on .g3>*,.sec.on .g2>*,
.sec.on #subjects-grid>*,.sec.on #teachers-list .g3>*,
.sec.on #lock-list>*,.sec.on #my-students-list>*,
#math-view .chap-card{
  animation:rise-stagger .5s ease both;
}
@keyframes rise-stagger{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
/* تاخیر پلکانی */
.sec.on .g4>*:nth-child(1),.sec.on .g3>*:nth-child(1),.sec.on .g2>*:nth-child(1),.sec.on #subjects-grid>*:nth-child(1),#math-view .chap-card:nth-child(1){animation-delay:.04s}
.sec.on .g4>*:nth-child(2),.sec.on .g3>*:nth-child(2),.sec.on .g2>*:nth-child(2),.sec.on #subjects-grid>*:nth-child(2),#math-view .chap-card:nth-child(2){animation-delay:.10s}
.sec.on .g4>*:nth-child(3),.sec.on .g3>*:nth-child(3),.sec.on #subjects-grid>*:nth-child(3),#math-view .chap-card:nth-child(3){animation-delay:.16s}
.sec.on .g4>*:nth-child(4),.sec.on .g3>*:nth-child(4),.sec.on #subjects-grid>*:nth-child(4),#math-view .chap-card:nth-child(4){animation-delay:.22s}
.sec.on #subjects-grid>*:nth-child(5),#math-view .chap-card:nth-child(5){animation-delay:.28s}
.sec.on #subjects-grid>*:nth-child(6),#math-view .chap-card:nth-child(6){animation-delay:.34s}
#math-view .chap-card:nth-child(n+7){animation-delay:.40s}

/* ── هاور کارت‌های تعاملی ── */
.subj-card:hover,.chap-card:not(.lock):hover{transform:translateY(-6px) scale(1.015)}
.scard:hover{transform:translateY(-5px)}
.lb-row:hover{transform:translateX(-4px)}
.feature-card:hover{transform:translateY(-6px)}

/* درخشش ملایم لبه‌ی کارت امتیاز هنگام هاور */
.scard{position:relative;overflow:hidden}
.scard::after{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(var(--p-rgb),.10),transparent 45%);
  opacity:0;transition:opacity .3s ease;
}
.scard:hover::after{opacity:1}

/* ── آیتم‌های منو: نوار رنگی کنار + لغزش ── */
.nav-item{position:relative;overflow:hidden}
.nav-item::before{
  content:'';position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(0);
  width:3px;height:62%;border-radius:3px;background:var(--p);transition:transform .25s ease;
}
.nav-item.on::before{transform:translateY(-50%) scaleY(1)}
.nav-item:hover{transform:translateX(-3px)}
.nav-item .nav-ico{transition:transform .25s ease}
.nav-item:hover .nav-ico,.nav-item.on .nav-ico{transform:scale(1.18)}

/* ── دکمه‌ها: بازخورد فشار + درخشش روی دکمه‌ی اصلی ── */
.btn-add:active,.btn-login:active,.cta-main:active,.nav-btn:active,.btn-sm:active,.sub-submit:active{transform:scale(.96)}
.btn-add,.btn-login,.cta-main,.sub-submit{position:relative;overflow:hidden}
.btn-add::before,.btn-login::before,.cta-main::before,.sub-submit::before{
  content:'';position:absolute;top:0;left:-130%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);transition:left .6s ease;
}
.btn-add:hover::before,.btn-login:hover::before,.cta-main:hover::before,.sub-submit:hover::before{left:140%}

/* ── نوار پیشرفت: درخشش متحرک ── */
.prog-fill,.round-fill{position:relative;overflow:hidden}
.prog-fill::after,.round-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:translateX(-100%);animation:prog-shine 2.2s ease-in-out infinite;
}
@keyframes prog-shine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(200%)}}

/* ── گزینه‌های آزمون و بازی: بازخورد لمسی ── */
.qopt:active,.pv-opt:active{transform:scale(.97)}
.qopt:hover,.pv-opt:hover{transform:translateX(-3px)}
.nb-digit:hover:not(:disabled){transform:translateY(-3px)}
.nb-digit:active:not(:disabled){transform:scale(.9)}

/* ── تب‌های درس: زیرخط لغزان ── */
.ltab{position:relative}
.ltab::after{
  content:'';position:absolute;bottom:-2px;right:50%;width:0;height:3px;border-radius:3px;
  background:var(--p);transition:width .25s ease,right .25s ease;
}
.ltab.on::after{width:60%;right:20%}

/* ── کارت معلم/دانش‌آموز: بالا آمدن نرم ── */
.teacher-card:hover{transform:translateY(-4px)}
.st-row:hover{transform:translateX(-3px)}

/* ── هیرو لندینگ: ورود تدریجی ── */
.hero-text{animation:fade-in-up .7s ease both}
.hero-profile{animation:fade-in-up .7s .15s ease both}
.stat-item{animation:fade-in-up .6s ease both}
.stat-item:nth-child(2){animation-delay:.08s}
.stat-item:nth-child(3){animation-delay:.16s}
.stat-item:nth-child(4){animation-delay:.24s}

/* ── ورود مودال نرم‌تر ── */
.modal-wrap.on .modal-box{animation:modal-pop .3s cubic-bezier(.34,1.56,.64,1) both}
@keyframes modal-pop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}

/* ── احترام به ترجیح کاربر برای کاهش حرکت ── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}

/* ═══════════════════════════════════════════
   ✨ پولیش بصری و انیمیشن‌های اضافه (نسخه‌ی تمیزشده)
   ═══════════════════════════════════════════ */

/* ── ورود پلکانی آیتم‌های منوی کناری ── */
.sb-nav .nav-item{animation:nav-slide .4s ease both}
.sb-nav .nav-item:nth-child(1){animation-delay:.04s}
.sb-nav .nav-item:nth-child(2){animation-delay:.09s}
.sb-nav .nav-item:nth-child(3){animation-delay:.14s}
.sb-nav .nav-item:nth-child(4){animation-delay:.19s}
.sb-nav .nav-item:nth-child(5){animation-delay:.24s}
.sb-nav .nav-item:nth-child(6){animation-delay:.29s}
.sb-nav .nav-item:nth-child(7){animation-delay:.34s}
@keyframes nav-slide{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.nav-item{transition:background .2s,color .2s,transform .15s}
.nav-item:hover{transform:translateX(-3px)}
.nav-item.on .nav-ico{animation:ico-bounce .4s ease}
@keyframes ico-bounce{0%,100%{transform:scale(1)}40%{transform:scale(1.25)}}

/* ── کارت‌های آماری: درخشش هنگام هاور ── */
.scard{transition:transform .25s,box-shadow .25s,border-color .25s}
.scard:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(var(--p-rgb),.20)}
.scard:hover .scard-ico{animation:ico-pop .45s ease}
@keyframes ico-pop{0%{transform:scale(1)}50%{transform:scale(1.22) rotate(-6deg)}100%{transform:scale(1)}}

/* ── کارت درس‌ها/فصل‌ها: درخشش لغزان ── */
.subj-card,.chap-card{position:relative;overflow:hidden}
.subj-card::before,.chap-card::before{
  content:'';position:absolute;top:0;right:-120%;width:60%;height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);transition:right .6s ease;pointer-events:none;
}
.subj-card:hover::before,.chap-card:hover::before{right:130%}
.subj-card:hover .subj-ico{animation:ico-pop .5s ease}

/* ── دکمه‌های اصلی: موج درخشش هنگام هاور ── */
.btn-add,.btn-login,.cta-main,.sub-submit,.btn-main{position:relative;overflow:hidden}
.btn-add::after,.btn-login::after,.cta-main::after,.sub-submit::after,.btn-main::after{
  content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;
  background:rgba(255,255,255,.35);transform:translate(-50%,-50%);transition:width .5s,height .5s;
}
.btn-add:hover::after,.btn-login:hover::after,.cta-main:hover::after,.sub-submit:hover::after,.btn-main:hover::after{width:320px;height:320px}

/* ── گزینه‌های بازی/آزمون: فشردن و تپش درست/غلط ── */
.pv-opt{transition:transform .12s,border-color .2s,background .2s,color .2s}
.pv-opt:active{transform:scale(.96)}
.pv-opt.correct{animation:opt-correct .5s ease}
.pv-opt.wrong{animation:opt-wrong .45s ease}
@keyframes opt-correct{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes opt-wrong{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}

/* ── نوار بازخورد: ورود نرم ── */
.fb-bar.fb-ok,.fb-bar.fb-bad{animation:fb-in .35s ease both}
@keyframes fb-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── ردیف‌های تابلوی رتبه‌بندی: ورود پلکانی ── */
.lb-row{animation:lb-in .4s ease both}
.lb-row:nth-child(1){animation-delay:.03s}
.lb-row:nth-child(2){animation-delay:.08s}
.lb-row:nth-child(3){animation-delay:.13s}
.lb-row:nth-child(4){animation-delay:.18s}
.lb-row:nth-child(5){animation-delay:.23s}
@keyframes lb-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.lb-row .lb-rank.gold{animation:rank-shine 2.2s ease-in-out infinite}
@keyframes rank-shine{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 8px rgba(255,184,0,.7))}}

/* ── دکمه‌ی بازگشت: حرکت ملایم پیکان ── */
.back-btn{transition:border-color .2s,color .2s,transform .15s}
.back-btn:hover{transform:translateX(4px)}

/* ── تب‌های درس: ورود ── */
.lesson-tabs .ltab{transition:background .2s,color .2s,transform .12s}
.lesson-tabs .ltab:active{transform:scale(.96)}

/* ── کارت‌های ویژگی لندینگ: درخشش آیکن هنگام هاور ── */
.feature-card:hover .feature-card-ico{animation:ico-pop .5s ease}

/* ── لوگوی هیرو: تپش ملایم ── */
.hero-logo-ico{animation:logo-glow 3s ease-in-out infinite}
@keyframes logo-glow{0%,100%{box-shadow:0 0 0 transparent}50%{box-shadow:0 0 18px rgba(0,200,150,.55)}}

/* ═══════════════════════════════════════════
   📚 استایل محتوای آموزش و بازی (کلاس‌های گمشده)
   این‌ها قبلاً استفاده می‌شدند ولی تعریف نشده بودند
   ═══════════════════════════════════════════ */
.learn-section{margin-bottom:1.4rem;animation:fadein .45s ease both}
.learn-title{font-size:1.2rem;font-weight:800;color:var(--p);margin-bottom:.9rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.learn-box{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.1rem 1.3rem;margin-bottom:.9rem;line-height:2;box-shadow:var(--shadow)}
.learn-box p{margin:.55rem 0;line-height:2;color:var(--text2)}
.learn-sub{font-weight:800;font-size:1rem;margin-bottom:.55rem;color:var(--text)}
.math-box{background:var(--p3);border:1.5px dashed var(--border2);border-radius:var(--radsm);padding:.75rem 1rem;margin:.65rem 0;font-weight:800;text-align:center;color:var(--p2);font-size:1.03rem;line-height:1.9}

/* کارت سؤال بازی */
.pv-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.3rem;box-shadow:var(--shadow);animation:fadein .3s ease both}
.pv-q{font-size:1.08rem;font-weight:700;margin-bottom:1.1rem;line-height:1.95;color:var(--text)}

/* نوار پیشرفت بازی/آزمون */
.quiz-prog{height:9px;background:var(--bg3);border-radius:6px;overflow:hidden;margin-bottom:1.1rem}
.quiz-prog-fill{height:100%;background:linear-gradient(90deg,var(--p),var(--g));border-radius:6px;transition:width .45s cubic-bezier(.4,1.4,.5,1)}

/* شکل‌های SVG داخل سؤال‌ها (فصل تقارن) */
.shape-svg{display:block;margin:0 auto 1rem;background:var(--card2);border:1px solid var(--border);border-radius:var(--radsm)}

/* شبکه‌ی بازی آینه‌ای (تقارن) */
.mir-grid{display:grid;gap:3px;justify-content:center;margin:1rem auto;width:max-content;direction:ltr}
.mir-cell{width:30px;height:30px;border-radius:6px;background:var(--bg3);border:1.5px solid var(--border);cursor:pointer;transition:transform .1s,background .15s}
.mir-cell:active{transform:scale(.9)}
.mir-cell.fixed{cursor:default}
.mir-cell.axis{background:var(--p);border-color:var(--p);cursor:default;border-radius:2px;width:6px}
.mir-cell.lit{background:linear-gradient(135deg,var(--p),var(--g));border-color:var(--p2)}
.mir-cell.target-ok{background:linear-gradient(135deg,var(--g),var(--g2));border-color:var(--g2)}
.mir-cell.target-bad{background:var(--r);border-color:var(--r)}
@media(max-width:560px){.mir-cell{width:24px;height:24px}.mir-cell.axis{width:5px}}

/* ═══════════════════════════════════════════
   🦆 بازی مسابقه‌ی اردک‌ها (Duck Race)
   ═══════════════════════════════════════════ */
.duck-home-hero{background:linear-gradient(135deg,#4aa8e0,var(--p));border-radius:var(--rad);padding:1.5rem;color:#fff;text-align:center;position:relative;overflow:hidden;margin-bottom:1rem}
.duck-home-hero h2{font-size:1.5rem;font-weight:900;margin-bottom:.3rem}
.duck-home-hero p{opacity:.9;font-size:.9rem}
.duck-home-hero .big-duck{font-size:3rem;animation:bob 2.5s ease-in-out infinite;margin-bottom:.4rem}

.river-world{
  position:relative;height:240px;border-radius:18px;overflow:hidden;direction:ltr;
  background:linear-gradient(180deg,#cdeeff 0%,#8fd0f2 30%,#4aa8e0 70%,#2a86c4 100%);
  box-shadow:inset 0 -24px 50px rgba(0,60,120,.25), inset 0 12px 30px rgba(255,255,255,.4);
  margin-bottom:1rem;
}
@media(max-width:560px){.river-world{height:200px}}
.river-track{position:absolute;top:0;left:0;height:100%;transition:transform .6s cubic-bezier(.25,1,.4,1)}
/* موج‌های متحرک روی آب */
.river-wave{position:absolute;left:0;right:0;height:100%;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 18px,transparent 18px 60px);
  animation:river-flow 3s linear infinite;opacity:.6}
@keyframes river-flow{from{background-position:0 0}to{background-position:-60px 0}}
.river-shine{position:absolute;top:0;left:0;right:0;height:38%;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent);pointer-events:none}

/* اردک‌ها */
.river-duck{position:absolute;transition:left .6s cubic-bezier(.25,1,.4,1);transform:translateY(-50%);will-change:left}
.river-duck.player{z-index:20;filter:drop-shadow(0 6px 8px rgba(0,0,0,.25))}
.river-duck.ghost{z-index:10;opacity:.78}
.river-duck .dname{
  position:absolute;top:-18px;left:50%;transform:translateX(-50%);
  font-size:.62rem;font-weight:700;color:#fff;background:rgba(0,0,0,.35);
  padding:1px 7px;border-radius:8px;white-space:nowrap;font-family:'Estedad',sans-serif;
}
.river-duck.player .dname{background:var(--p)}
.river-duck .wake{position:absolute;bottom:2px;left:-14px;width:18px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.55);animation:wake 1s ease-in-out infinite}
@keyframes wake{0%,100%{opacity:.4;transform:scaleX(1)}50%{opacity:.8;transform:scaleX(1.4)}}

/* نشانه‌های مسیر (پرچم فاصله، نیلوفر) */
.river-flag{position:absolute;bottom:6px;font-size:.6rem;color:#fff;font-weight:700;text-align:center;width:30px;transform:translateX(-50%)}
.river-flag::before{content:'🚩';display:block;font-size:1rem}
.river-lily{position:absolute;font-size:1.3rem;opacity:.85;transform:translateY(-50%)}
.river-finish{position:absolute;top:0;bottom:0;width:8px;background:repeating-linear-gradient(45deg,#222 0 8px,#fff 8px 16px)}

/* HUD */
.duck-hud{display:flex;gap:.6rem;margin-bottom:.6rem}
.duck-hud .hud-card{flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--radsm);padding:.55rem;text-align:center}
.duck-hud .hud-v{font-size:1.2rem;font-weight:900;color:var(--p)}
.duck-hud .hud-l{font-size:.66rem;color:var(--text3)}

/* صفحه‌ی سؤال بازی اردک */
.duck-q-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.1rem 1.2rem;box-shadow:var(--shadow);animation:fadein .3s ease both}
.duck-mini-lb{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1rem 1.2rem;margin-top:1rem}
.duck-lb-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(var(--p-rgb),.07);font-size:.85rem}
.duck-lb-row:last-child{border-bottom:none}
.duck-lb-rank{width:24px;height:24px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.75rem;flex-shrink:0}

/* انتخابِ آواتارِ بازی اردک */
.av-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:.75rem;margin-top:1rem}
.av-cell{background:var(--card);border:2px solid var(--border);border-radius:var(--rad);padding:.85rem .5rem;text-align:center;cursor:pointer;transition:all .2s}
.av-cell:hover{border-color:var(--p);transform:translateY(-3px)}
.av-cell.sel{border-color:var(--p);background:var(--p3);box-shadow:0 4px 14px rgba(var(--p-rgb),.25)}
.av-art{height:70px;display:flex;align-items:center;justify-content:center;margin-bottom:.4rem}
.av-name{font-size:.78rem;font-weight:700;color:var(--text2)}
.duck-av-bar{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radsm);padding:.6rem .9rem;margin-bottom:.85rem}
.duck-av-show{width:48px;height:48px;display:flex;align-items:center;justify-content:center}

/* ═══════════════════════════════════════════
   😴 بازی داینوی خوابالو (Sleepy Dino — noise meter)
   ═══════════════════════════════════════════ */
.game-pick{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.4rem 1rem;text-align:center;cursor:pointer;transition:all .25s;box-shadow:var(--shadow)}
.game-pick:hover{transform:translateY(-4px);border-color:var(--p);box-shadow:var(--shadow2)}
.game-pick .gp-ico{font-size:2.6rem;margin-bottom:.5rem}
.game-pick .gp-name{font-size:1.05rem;font-weight:800;margin-bottom:.25rem}
.game-pick .gp-desc{font-size:.78rem;color:var(--text3);line-height:1.7}

.sleepy-scene{
  position:relative;height:320px;border-radius:20px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  transition:background .7s ease; margin-bottom:1rem;
  box-shadow:inset 0 -30px 60px rgba(0,0,0,.25);
}
.sleepy-scene.s-sleep{background:linear-gradient(180deg,#15173f 0%,#2b2e6e 55%,#3a3e9c 100%)}
.sleepy-scene.s-stir{background:linear-gradient(180deg,#3a2c5a 0%,#7a5a2d 65%,#c98a2e 100%)}
.sleepy-scene.s-angry{background:linear-gradient(180deg,#5e1414 0%,#a51e1e 55%,#e23b3b 100%)}
@media(max-width:560px){.sleepy-scene{height:270px}}
.sleepy-moon{position:absolute;top:22px;right:28px;font-size:2.3rem;transition:opacity .6s,transform .6s}
.sleepy-scene.s-angry .sleepy-moon{opacity:0;transform:scale(.5)}
.sleepy-stars{position:absolute;inset:0;pointer-events:none;transition:opacity .6s}
.sleepy-scene.s-angry .sleepy-stars{opacity:0}
.sleepy-star{position:absolute;color:#fff;opacity:.85;animation:twinkle 2.5s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:.9}}
.sleepy-dino-wrap{position:relative;z-index:3;width:210px;max-width:62%}
.sleepy-dino-wrap svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 14px rgba(0,0,0,.3))}
.sleepy-breathe{animation:s-breathe 3.2s ease-in-out infinite;transform-origin:center bottom}
@keyframes s-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.sleepy-shake{animation:s-shake .22s ease-in-out infinite}
@keyframes s-shake{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-5px) rotate(-3deg)}75%{transform:translateX(5px) rotate(3deg)}}
.sleepy-zzz{position:absolute;top:-4px;left:62%;z-index:4;pointer-events:none}
.sleepy-zzz span{position:absolute;color:#fff;font-weight:900;font-size:1.2rem;opacity:0;animation:zzz-up 3s ease-in-out infinite}
.sleepy-zzz span:nth-child(2){font-size:1rem;animation-delay:1s}
.sleepy-zzz span:nth-child(3){font-size:.85rem;animation-delay:2s}
@keyframes zzz-up{0%{opacity:0;transform:translateY(6px) translateX(0)}25%{opacity:1}100%{opacity:0;transform:translateY(-46px) translateX(18px)}}
.sleepy-flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:5;pointer-events:none}
.sleepy-flash.on{animation:s-flash .5s ease}
@keyframes s-flash{0%{opacity:.85}100%{opacity:0}}
.sleepy-state-txt{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:#fff;font-weight:800;font-size:1.05rem;z-index:4;text-shadow:0 2px 8px rgba(0,0,0,.5)}

/* مترها و کنترل‌ها */
.sleepy-hud{display:flex;gap:.6rem;margin-bottom:.8rem}
.sleepy-hud .hud-card{flex:1;background:var(--card);border:1px solid var(--border);border-radius:var(--radsm);padding:.55rem;text-align:center}
.sleepy-hud .hud-v{font-size:1.25rem;font-weight:900;color:var(--p)}
.sleepy-hud .hud-l{font-size:.66rem;color:var(--text3)}
.sleepy-label{font-size:.82rem;font-weight:700;color:var(--text2);margin:.6rem 0 .25rem;display:flex;justify-content:space-between}
.sleepy-meter{height:16px;background:var(--bg3);border-radius:9px;overflow:hidden;position:relative}
.sleepy-meter-fill{height:100%;border-radius:9px;width:0%;transition:width .09s linear}
.sleepy-thr{position:absolute;top:-3px;bottom:-3px;width:3px;background:#1A1B3A;border-radius:2px;z-index:2;box-shadow:0 0 0 1px #fff}
.sleepy-sens-row{display:flex;align-items:center;gap:10px;margin-top:.8rem}
.sleepy-sens-row input[type=range]{flex:1;accent-color:var(--p)}

/* ═══════════════════════════════════════════
   🎡 چرخِ شانسِ کلاس (Random Student Picker)
   ═══════════════════════════════════════════ */
.wheel-stage{position:relative;width:min(84vw,370px);height:min(84vw,370px);margin:1.25rem auto;}
.wheel-spinbox{width:100%;height:100%;border-radius:50%;
  transition:transform 5s cubic-bezier(.16,.84,.2,1);
  box-shadow:0 14px 44px rgba(0,0,0,.20), 0 0 0 9px #fff, 0 0 0 14px var(--p);
}
.wheel-spinbox svg{display:block;width:100%;height:100%}
.wheel-pointer{position:absolute;top:-10px;left:50%;transform:translateX(-50%);z-index:5;
  width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;
  border-top:30px solid var(--r);filter:drop-shadow(0 3px 3px rgba(0,0,0,.3));}
.wheel-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6;
  width:84px;height:84px;border-radius:50%;background:#fff;border:5px solid var(--p);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  font-weight:900;color:var(--p);cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.22);
  font-size:.9rem;text-align:center;transition:transform .15s;line-height:1.15;}
.wheel-center:hover{transform:translate(-50%,-50%) scale(1.07)}
.wheel-center.spinning{pointer-events:none;opacity:.65}
.wheel-center .wc-emoji{font-size:1.4rem}

.picker-result{text-align:center;margin-top:.5rem;min-height:30px}
.picker-winner{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--p),var(--g));
  color:#fff;padding:14px 26px;border-radius:50px;font-size:1.3rem;font-weight:900;
  box-shadow:0 8px 26px rgba(var(--p-rgb),.4);animation:winner-pop .5s cubic-bezier(.34,1.56,.64,1) both;}
@keyframes winner-pop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}

.picker-controls{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}
.picker-toggle{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--border);
  border-radius:50px;padding:8px 16px;font-size:.83rem;cursor:pointer;user-select:none;transition:all .2s}
.picker-toggle.on{background:var(--p3);border-color:var(--p);color:var(--p);font-weight:700}
.picker-count{text-align:center;font-size:.82rem;color:var(--text3);margin-top:.5rem}

.confetti-pc{position:absolute;top:-24px;z-index:30;border-radius:2px;pointer-events:none;
  animation:conf-fall linear forwards}
@keyframes conf-fall{to{transform:translateY(440px) rotate(900deg);opacity:.15}}

.picker-names-box{background:var(--card);border:1px solid var(--border);border-radius:var(--rad);padding:1.1rem;margin-top:1rem}
.picker-names-box textarea{width:100%;min-height:130px;resize:vertical;background:var(--bg3);
  border:1.5px solid var(--border);border-radius:var(--radsm);color:var(--text);
  font-family:'Estedad',sans-serif;font-size:.9rem;padding:10px 13px;outline:none;line-height:2}
.picker-names-box textarea:focus{border-color:var(--p)}

/* ── جدولِ داخلِ درس (learn-tbl) ── */
.learn-tbl{width:100%;border-collapse:collapse;margin-top:.5rem;font-size:.82rem}
.learn-tbl th{background:rgba(var(--p-rgb),.16);color:var(--text);padding:8px 6px;text-align:center;font-weight:700;border:1px solid var(--border);white-space:nowrap}
.learn-tbl td{padding:8px 6px;text-align:center;border:1px solid var(--border);color:var(--text2)}
.learn-tbl td:first-child{text-align:right;color:var(--text);font-weight:600;white-space:nowrap}
.learn-tbl tr:nth-child(even) td{background:rgba(255,255,255,.02)}

/* ── 🦆 مسابقه‌ی اردک‌ها ── */
.dp-river{
  position:relative;
  background:linear-gradient(180deg,#1a3a5c 0%,#16314d 100%);
  border:2px solid rgba(116,185,255,.3);
  border-radius:16px;
  padding:10px 10px 10px 12px;
  overflow:hidden;
}
.dp-river::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,transparent,transparent 28px,rgba(255,255,255,.03) 28px,rgba(255,255,255,.03) 56px);
  pointer-events:none;
}
.dp-finish{
  position:absolute;top:0;bottom:0;right:8px;width:14px;
  background:
    repeating-linear-gradient(45deg,#fff 0 6px,#222 6px 12px);
  opacity:.85;border-radius:3px;z-index:1;
}
.dp-finish-flag{position:absolute;top:2px;right:6px;font-size:18px;z-index:2}
.dp-lane{
  position:relative;display:flex;align-items:center;gap:8px;
  margin-bottom:4px;
}
.dp-lane:last-child{margin-bottom:0}
.dp-namebox{
  flex-shrink:0;width:88px;
  color:#fff;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.dp-track{
  position:relative;flex:1;height:100%;
  border-bottom:1px dashed rgba(255,255,255,.12);
}
.dp-duck{
  position:absolute;left:0;top:50%;
  transform:translateX(0);
  margin-top:-19px;
  will-change:transform;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));
}
.dp-duck svg{display:block;width:100%;height:auto}
.dp-win-card{animation:up .4s ease both}

/* کانفِتی */
.dp-confetti{
  position:absolute;top:-10px;width:9px;height:14px;border-radius:2px;
  opacity:.9;z-index:50;pointer-events:none;
  animation:dp-fall linear forwards;
}
@keyframes dp-fall{
  0%{transform:translateY(0) rotate(0);opacity:1}
  100%{transform:translateY(420px) rotate(540deg);opacity:0}
}

/* ── 📅 بودجه‌بندیِ هفتگی ── */
.bdg-row{
  display:flex;align-items:center;gap:8px;
  padding:11px 12px;border-radius:10px;
  background:var(--bg3);border:1px solid var(--border);
  margin-bottom:7px;transition:all .15s;
}
.bdg-row:hover{border-color:var(--border2)}
.bdg-done{opacity:.62}
.bdg-done .bdg-title{text-decoration:line-through;color:var(--text3)}

/* ── 🗓️ حضور و غیاب ── */
.att-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.04)}
.att-row:last-child{border-bottom:none}
.att-btns{display:flex;gap:5px;flex-wrap:wrap}
@media(max-width:560px){ .att-lbl{display:none} .att-btns button{padding:7px 9px!important} }

/* ── 👨‍👩‍👧 پنل والدین ── */
.parent-hero{
  background:linear-gradient(135deg,var(--p) 0%,#4B44CC 60%,#FF4F7B 130%);
  border-radius:16px;padding:1.5rem;color:#fff;margin-bottom:1.25rem;text-align:center;
}
.parent-hero h2{font-size:1.4rem;font-weight:900;margin-bottom:.3rem}
.parent-hero p{font-size:.85rem;opacity:.85}

/* ── فصل ۶ درس ۱: انیمیشن لوزی و ذوزنقه ── */
.c6-anim-rhombus, .c6-anim-trap{ text-align:center; margin:1rem 0; }
.c6-ar-stage{ position:relative; height:120px; display:flex; align-items:center; justify-content:center; }
.c6-ar-shape{ position:absolute; width:46px; height:64px; }
.c6-ar-r1{ background:rgba(var(--p-rgb),.45); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); animation:c6r1 4s ease-in-out infinite; }
.c6-ar-r2{ background:rgba(0,200,150,.45); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); animation:c6r2 4s ease-in-out infinite; }
.c6-ar-rect{ width:64px; height:46px; border:2px dashed #FFB800; opacity:0; animation:c6rect 4s ease-in-out infinite; }
@keyframes c6r1{ 0%,20%{transform:translateX(-40px) rotate(0)} 50%,100%{transform:translateX(-16px) rotate(0)} }
@keyframes c6r2{ 0%,20%{transform:translateX(40px) rotate(0)} 50%,100%{transform:translateX(16px) rotate(180deg)} }
@keyframes c6rect{ 0%,40%{opacity:0} 70%,100%{opacity:.6} }
.c6-at-stage{ position:relative; height:110px; display:flex; align-items:center; justify-content:center; }
.c6-at-shape{ position:absolute; width:70px; height:50px; }
.c6-at-t1{ background:rgba(255,184,0,.45); clip-path:polygon(20% 0,80% 0,100% 100%,0 100%); animation:c6t1 4s ease-in-out infinite; }
.c6-at-t2{ background:rgba(255,79,123,.4); clip-path:polygon(0 0,100% 0,80% 100%,20% 100%); animation:c6t2 4s ease-in-out infinite; }
@keyframes c6t1{ 0%,20%{transform:translateX(-45px)} 55%,100%{transform:translateX(-17px)} }
@keyframes c6t2{ 0%,20%{transform:translateX(45px)} 55%,100%{transform:translateX(17px)} }
.c6-ar-label{ font-size:.8rem; color:var(--text3); margin-top:.5rem; }
.c6-btn{
  width:36px;height:36px;border-radius:9px;border:1px solid var(--border2);
  background:var(--card2);color:var(--text);font-size:1.3rem;font-weight:700;
  cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;
}
.c6-btn:hover{ background:var(--p); color:#fff; }

/* ── فصل ۶ درس ۳: انیمیشن لایه‌های حجم ── */
.c6-anim-box{ text-align:center; margin:1rem 0; }
.c6-box-stage{ position:relative; height:120px; display:flex; align-items:center; justify-content:center; }
.c6-layer{
  position:absolute; width:80px; height:24px;
  background:rgba(var(--p-rgb),.4); border:2px solid var(--p); border-radius:4px;
}
.c6-layer1{ animation:c6L1 3.5s ease-in-out infinite; }
.c6-layer2{ animation:c6L2 3.5s ease-in-out infinite; }
.c6-layer3{ animation:c6L3 3.5s ease-in-out infinite; }
@keyframes c6L1{ 0%,30%{transform:translateY(60px);opacity:0} 45%,100%{transform:translateY(20px);opacity:1} }
@keyframes c6L2{ 0%,45%{transform:translateY(60px);opacity:0} 60%,100%{transform:translateY(0);opacity:1} }
@keyframes c6L3{ 0%,60%{transform:translateY(60px);opacity:0} 75%,100%{transform:translateY(-20px);opacity:1} }

/* ── fb-good معادلِ fb-ok (برای بازی‌های فصل ۶) ── */
.fb-good{background:rgba(67,217,173,.15);color:var(--g);border:1px solid rgba(67,217,173,.3)}
.fb-bar.fb-good{animation:fb-in .35s ease both}

/* ── دکمه‌ی مقایسه (بازی درس ۱) ── */
.cmp-btn{
  width:64px;height:56px;border-radius:12px;border:2px solid var(--border2);
  background:var(--card2);color:var(--p);font-size:1.8rem;font-weight:800;
  cursor:pointer;transition:all .15s;font-family:'Estedad',sans-serif;
}
.cmp-btn:hover:not(:disabled){background:var(--p);color:#fff;transform:translateY(-2px)}
.cmp-btn:disabled{opacity:.5;cursor:default}

/* ════════════════════════════════════════════
   🍕 بازی پیتزای کسری و 🎂 کیک درصدی (تمام‌صفحه)
════════════════════════════════════════════ */
.pizza-game, .cake-game{
  display:flex; flex-direction:column;
  min-height:calc(100vh - 120px);
}
.pizza-top{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:1rem; flex-wrap:wrap; gap:.5rem;
}
.pizza-main, .cake-main{
  display:grid; grid-template-columns:1.2fr 1fr; gap:1.5rem;
  flex:1; align-items:start;
}
@media(max-width:760px){ .pizza-main,.cake-main{grid-template-columns:1fr} }
.pizza-left, .cake-left{
  background:var(--card); border:1px solid var(--border); border-radius:18px;
  padding:1.5rem; text-align:center;
}
.pizza-title{ font-size:1.3rem; font-weight:900; margin-bottom:1rem; }
.pizza-svg-wrap, .cake-svg-wrap{ display:flex; justify-content:center; }
.pizza-svg{ width:100%; max-width:320px; height:auto; }
.cake-svg{ width:100%; max-width:240px; height:auto; }
.pizza-hint, .cake-total{
  margin-top:1rem; font-size:.9rem; color:var(--text2);
  background:var(--bg3); border-radius:10px; padding:8px 12px;
}
.cake-total-ok{ background:rgba(67,217,173,.15); color:var(--g); font-weight:700; }
.pizza-right, .cake-right{
  background:var(--card); border:1px solid var(--border); border-radius:18px;
  padding:1.5rem; display:flex; flex-direction:column; gap:.7rem;
}
.pizza-order-title{ font-size:1.05rem; font-weight:800; margin-bottom:.3rem; }
.pizza-order-list, .cake-recipe{ display:flex; flex-direction:column; gap:.6rem; }
.pizza-active{
  background:var(--bg3); border-radius:10px; padding:10px 12px;
  font-size:.9rem; margin-top:.3rem;
}
.pizza-progress{
  text-align:center; color:var(--text3); font-size:.85rem;
  padding:10px; background:var(--bg3); border-radius:10px;
}
.pizza-done{ width:100%; justify-content:center; font-size:1rem; padding:14px; }
.cake-ing-row{
  display:flex; align-items:center; gap:8px;
  background:var(--bg3); border-radius:12px; padding:10px 12px;
}
.cake-ctrl{ display:flex; align-items:center; gap:8px; }
.cake-amount{ font-weight:800; font-size:1.1rem; min-width:42px; text-align:center; }
/* overlay نتیجه */
.pizza-overlay{
  position:fixed; inset:0; z-index:300;
  background:rgba(10,11,24,.85); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
  animation:fadein .3s ease;
}
.pizza-result{
  background:var(--card); border:1px solid var(--border2); border-radius:22px;
  padding:2.5rem 2rem; text-align:center; max-width:420px; width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.pizza-result .btn-add{ margin-top:1rem; }

/* ── 🥤 بازی کوکتل‌ساز ── */
.cocktail-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.cocktail-svg{ width:100%; max-width:200px; height:auto; }
.cocktail-order{
  background:rgba(255,209,102,.1); border:1px solid rgba(255,209,102,.3);
  border-radius:12px; padding:12px 14px; font-size:.92rem; line-height:1.7;
}

/* ── 🎨 بازی ماندالاساز ── */
.mandala-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.mandala-main{ display:grid; grid-template-columns:1.3fr 1fr; gap:1.5rem; flex:1; align-items:start; }
@media(max-width:760px){ .mandala-main{grid-template-columns:1fr} }
.mandala-canvas-wrap{
  background:var(--card); border:1px solid var(--border); border-radius:18px;
  padding:1rem; display:flex; justify-content:center; align-items:center;
}
.mandala-svg{ width:100%; max-width:420px; height:auto; }
.mandala-controls{
  background:var(--card); border:1px solid var(--border); border-radius:18px;
  padding:1.5rem; display:flex; flex-direction:column; gap:.8rem;
}
.mandala-ctrl-title{ font-size:.95rem; font-weight:800; margin-bottom:.2rem; }
.mandala-palette{ display:flex; gap:8px; flex-wrap:wrap; }
.mandala-axes{ display:flex; gap:6px; }
.mandala-axis-btn{
  flex:1; padding:9px; border-radius:10px; cursor:pointer;
  background:var(--bg3); color:var(--text2); border:1px solid var(--border);
  font-family:'Estedad',sans-serif; font-size:.85rem; font-weight:600; transition:all .15s;
}
.mandala-axis-btn.on{ background:var(--p); color:#fff; border-color:var(--p); }
.mandala-buttons{ display:flex; gap:8px; }
.mandala-buttons .btn-add{ flex:1; justify-content:center; }
.mandala-info{ background:var(--bg3); border-radius:12px; padding:12px; margin-top:.3rem; }

/* ── 🌀 بازی چرخوننده (تقارن مرکزی) ── */
.spin-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.spin-main{ display:grid; grid-template-columns:1.2fr 1fr; gap:1.5rem; flex:1; align-items:start; }
@media(max-width:760px){ .spin-main{grid-template-columns:1fr} }
.spin-canvas-wrap{
  background:var(--card); border:1px solid var(--border); border-radius:18px;
  padding:1rem; display:flex; justify-content:center; align-items:center;
}
.spin-svg{ width:100%; max-width:380px; height:auto; }
.spin-side{ display:flex; flex-direction:column; gap:.8rem; }
.spin-instruction{
  background:var(--card); border:1px solid var(--border); border-radius:14px;
  padding:14px; font-size:.9rem; line-height:1.7;
}
.spin-menu{ max-width:600px; margin:0 auto; width:100%; padding-top:1rem; }
.spin-modes{ display:flex; flex-direction:column; gap:1rem; }
.spin-mode-card{
  background:var(--card); border:2px solid var(--border); border-radius:16px;
  padding:1.2rem; cursor:pointer; transition:all .2s;
  display:flex; align-items:center; gap:1rem; text-align:right;
}
.spin-mode-card:hover{ border-color:var(--p); transform:translateY(-3px); }
.spin-mode-t{ font-weight:800; font-size:1.05rem; color:var(--p); }
.spin-mode-d{ font-size:.82rem; color:var(--text2); line-height:1.5; }
.spin-mode-card > div:nth-child(2){ flex:1; }
@keyframes spin-pop{ 0%{transform:scale(0) rotate(180deg);opacity:0} 100%{transform:scale(1) rotate(0);opacity:1} }
.spin-pop{ animation:spin-pop .5s ease both; transform-origin:center; transform-box:fill-box; }

/* ── فصل ۷: نمودارها ── */
@keyframes c7barGrow{ from{transform:scaleY(0)} to{transform:scaleY(1)} }
.c7-bar-anim{ transform-origin:bottom; transform-box:fill-box; animation:c7barGrow .6s ease both; }
@keyframes c7lineDraw{ from{stroke-dasharray:1000;stroke-dashoffset:1000} to{stroke-dashoffset:0} }
.c7-line-anim{ animation:c7lineDraw 1.2s ease both; }
.chart-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.chart-main{ display:grid; grid-template-columns:1fr 1.1fr; gap:1.5rem; flex:1; align-items:start; }
@media(max-width:760px){ .chart-main{grid-template-columns:1fr} }
.chart-left,.chart-right{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:1.5rem; }
.chart-right{ display:flex; flex-direction:column; align-items:center; }

/* ── فصل ۷ درس ۲: تعادل‌ساز ── */
.bal-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.bal-instruction{ background:var(--card); border:1px solid var(--border); border-radius:14px; padding:14px; font-size:.9rem; line-height:1.7; }
.bal-cols-wrap{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:1rem; display:flex; justify-content:center; margin-top:1rem; }
.c7-avg-arrow{ text-align:center; font-size:.95rem; font-weight:700; color:var(--y); margin:.4rem 0; }

/* ── فصل ۷ درس ۲: تعادل‌ساز (میانگین) ── */
.c7-avg-arrow{ text-align:center; color:var(--y); font-weight:700; font-size:.95rem; margin:.4rem 0; }
.bal-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.bal-main{ display:grid; grid-template-columns:1.2fr 1fr; gap:1.5rem; flex:1; align-items:start; }
@media(max-width:760px){ .bal-main{grid-template-columns:1fr} }
.bal-canvas,.bal-side{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:1.5rem; }
.bal-canvas{ display:flex; flex-direction:column; align-items:center; }
.bal-side{ display:flex; flex-direction:column; gap:.8rem; }

/* ── فصل ۷ درس ۲: تعادل‌ساز ── */
.bal-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.bal-main{ display:grid; grid-template-columns:1.1fr 1fr; gap:1.5rem; flex:1; align-items:start; }
@media(max-width:760px){ .bal-main{grid-template-columns:1fr} }
.bal-canvas{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:1.2rem; display:flex; justify-content:center; align-items:center; }
.bal-side{ display:flex; flex-direction:column; gap:.8rem; }
.c7-avg-arrow{ text-align:center; font-size:.9rem; color:var(--y); font-weight:700; margin:.3rem 0; }

/* ── فصل ۷ درس ۲: تعادل‌ساز ── */
.bal-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.bal-area{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:1.5rem; display:flex; flex-direction:column; align-items:center; max-width:480px; margin:0 auto; width:100%; }
.bal-instruction{ background:var(--bg3); border-radius:12px; padding:12px 14px; font-size:.9rem; line-height:1.7; margin-bottom:1rem; text-align:center; width:100%; }
.c7-avg-arrow{ text-align:center; font-size:.95rem; font-weight:700; color:var(--g); margin:.4rem 0; }

/* ════════════════════════════════════
   🎯 توپِ جنگی — نسخه‌ی گرافیکی
════════════════════════════════════ */
.tw-game{
  position:fixed; inset:0; z-index:500; overflow:hidden;
  display:flex; flex-direction:column;
  transform:translateZ(0); will-change:transform;
}
.tw-sky{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,#4FACFE 0%,#6FB1FC 30%,#A78BFA 65%,#C4A5F5 100%);
}
.tw-sun{
  position:absolute; top:7%; left:12%; width:64px; height:64px; z-index:1;
  background:radial-gradient(circle,#FFE259,#FFA751); border-radius:50%;
  box-shadow:0 0 50px rgba(255,210,80,.7);
}
.tw-cloud{ position:absolute; z-index:1; font-size:2.6rem; opacity:.9; }
.tw-cloud1{ top:10%; right:18%; animation:twCloud 16s linear infinite; }
.tw-cloud2{ top:20%; right:60%; font-size:2rem; animation:twCloud 22s linear infinite; }
@keyframes twCloud{ from{transform:translateX(0)} to{transform:translateX(40px)} }
.tw-hills{
  position:absolute; bottom:0; left:0; right:0; height:22%; z-index:1;
  background:
    radial-gradient(ellipse 60% 100% at 20% 100%, #6FCF57 0%, #6FCF57 60%, transparent 61%),
    radial-gradient(ellipse 70% 100% at 75% 100%, #5BB847 0%, #5BB847 60%, transparent 61%),
    linear-gradient(180deg, transparent 0%, #4FA83C 55%, #3E8F30 100%);
}

.tw-hud{
  position:relative; z-index:5; padding:.6rem .75rem;
  display:flex; flex-direction:column; gap:.5rem;
}
.tw-hud > .tw-exit{ position:absolute; top:.6rem; right:.75rem; }
.tw-exit{
  width:36px; height:36px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,.85); color:#FF4060; font-size:1.1rem; font-weight:900;
  box-shadow:0 3px 10px rgba(0,0,0,.25); z-index:6;
}
.tw-q{
  margin:0 44px; background:rgba(255,255,255,.95); border-radius:16px;
  padding:11px 16px; text-align:center; color:#2d1b4e;
  font-size:1rem; font-weight:800; line-height:1.6;
  box-shadow:0 4px 14px rgba(0,0,0,.18); border:2px solid rgba(var(--p-rgb),.3);
}
.tw-stats{ display:flex; justify-content:space-between; align-items:center; padding:0 4px; }
.tw-stats #tw-lives{ font-size:1.15rem; letter-spacing:1px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.3)); }
.tw-score{
  background:rgba(255,255,255,.9); color:var(--p); font-weight:800; font-size:.95rem;
  padding:5px 14px; border-radius:20px; box-shadow:0 3px 8px rgba(0,0,0,.2);
}

.tw-field{ position:relative; flex:1; z-index:3; overflow:hidden; transform:translateZ(0); }

.tw-timer-track{
  position:absolute; top:6px; left:5%; right:5%; height:7px; z-index:4;
  background:rgba(0,0,0,.2); border-radius:4px; overflow:hidden;
}
.tw-timer-fill{ height:100%; border-radius:4px; transition:width .1s linear,background .3s; }

.tw-tank{
  position:absolute; width:74px; transform:translateX(50%);
  display:flex; flex-direction:column; align-items:center; z-index:3;
}
.tw-tank-svg{ width:64px; height:46px; filter:drop-shadow(0 4px 5px rgba(0,0,0,.35)); }
.tw-label{
  margin-top:-4px; background:#fff; color:#1a1040;
  padding:3px 11px; border-radius:11px; font-weight:800; font-size:.88rem;
  box-shadow:0 3px 8px rgba(0,0,0,.3); white-space:nowrap; border:2.5px solid var(--p);
}

.tw-bullet{
  position:absolute; width:18px; height:18px; transform:translateX(50%); z-index:4;
  background:radial-gradient(circle at 35% 35%,#FFF6C0,#FFB800); border-radius:50%;
  box-shadow:0 0 14px #FFD166,0 0 26px #FFA751;
}
.tw-particles{ position:absolute; inset:0; z-index:5; pointer-events:none; }
.tw-particle{
  position:absolute; border-radius:50%; transform:translateX(50%);
  animation:twPart .7s ease-out forwards;
}
@keyframes twPart{
  0%{ transform:translate(50%,0) scale(1); opacity:1; }
  100%{ transform:translate(calc(50% + var(--dx)),var(--dy)) scale(0); opacity:0; }
}

.tw-base{
  position:absolute; bottom:4px; right:50%; transform:translateX(50%);
  z-index:4; display:flex; flex-direction:column; align-items:center;
}
.tw-barrel{
  position:absolute; bottom:26px; right:50%; transform:translateX(-50%) rotate(0deg);
  transform-origin:bottom center; width:11px; height:52px;
  background:linear-gradient(90deg,#5C5F80,#9294B8,#5C5F80); border-radius:6px;
  box-shadow:0 0 8px rgba(var(--p-rgb),.5);
}
.tw-turret{
  width:40px; height:26px; border-radius:20px 20px 6px 6px;
  background:linear-gradient(180deg,#7A7DA8,#4A4D70); box-shadow:0 3px 8px rgba(0,0,0,.4);
  position:relative; z-index:2;
}
.tw-base-body{
  width:80px; height:24px; border-radius:10px; margin-top:-4px;
  background:linear-gradient(180deg,var(--p),#4A42C0); box-shadow:0 4px 12px rgba(0,0,0,.4);
}

.tw-controls{
  position:relative; z-index:5; padding:.6rem .9rem 1.1rem;
  display:flex; flex-direction:column; gap:.55rem;
  background:linear-gradient(180deg,transparent,rgba(45,27,78,.55) 40%);
}
.tw-ctrl-row{ display:flex; align-items:center; justify-content:center; gap:.7rem; }
.tw-btn{
  background:rgba(255,255,255,.9); color:#4A42C0; border:none;
  padding:12px 18px; border-radius:14px; cursor:pointer; user-select:none;
  font-family:'Estedad',sans-serif; font-size:1.1rem; font-weight:800;
  box-shadow:0 4px 10px rgba(0,0,0,.25); transition:transform .1s; touch-action:manipulation;
}
.tw-btn:active{ transform:scale(.92); background:#fff; }
.tw-dir{ min-width:58px; }
.tw-gauge{ color:#fff; font-size:.9rem; min-width:96px; text-align:center; font-weight:600; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.tw-gauge b{ color:#FFD166; font-size:1.1rem; }
.tw-fire{
  background:linear-gradient(135deg,#FF6584,#FF4060); color:#fff; border:none;
  padding:15px; border-radius:16px; cursor:pointer; touch-action:manipulation;
  font-family:'Estedad',sans-serif; font-size:1.2rem; font-weight:900;
  box-shadow:0 6px 20px rgba(255,64,96,.55); transition:transform .1s;
}
.tw-fire:active{ transform:scale(.96); }
.tw-fire:disabled{ opacity:.45; }

.tw-over{
  position:relative; z-index:6; margin:auto; text-align:center;
  background:rgba(45,27,78,.85); backdrop-filter:blur(10px);
  border:2px solid rgba(255,255,255,.25); border-radius:26px;
  padding:2.5rem 2rem; max-width:380px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.tw-over-score{ font-size:1.7rem; font-weight:900; color:#FFD166; margin:.5rem 0; }

/* ════════════════════════════════════════════
   ✦ صفحه‌ی اصلیِ حرفه‌ای (Landing v2)
════════════════════════════════════════════ */
#pg-land{ position:relative; overflow-x:hidden; background:var(--bg); }

/* پس‌زمینه‌ی متحرک */
.ld-bg{ position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.ld-blob{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; }
.ld-blob1{ width:380px; height:380px; background:radial-gradient(circle,var(--p),transparent 70%); top:-100px; right:-80px; animation:ldBlob 18s ease-in-out infinite; }
.ld-blob2{ width:320px; height:320px; background:radial-gradient(circle,#00C896,transparent 70%); top:40%; left:-100px; animation:ldBlob 22s ease-in-out infinite reverse; }
.ld-blob3{ width:300px; height:300px; background:radial-gradient(circle,#FF4F7B,transparent 70%); bottom:-80px; right:20%; animation:ldBlob 20s ease-in-out infinite; }
@keyframes ldBlob{ 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(30px,-40px) scale(1.1)} 66%{transform:translate(-20px,30px) scale(.95)} }
.ld-float{ position:absolute; font-size:1.8rem; opacity:.18; color:var(--p); animation:ldFloat 14s ease-in-out infinite; }
.ld-f1{ top:18%; right:12%; animation-delay:0s; }
.ld-f2{ top:30%; left:10%; font-size:1.3rem; animation-delay:2s; }
.ld-f3{ top:55%; right:8%; animation-delay:4s; }
.ld-f4{ top:68%; left:14%; font-size:1.5rem; animation-delay:1s; }
.ld-f5{ top:42%; right:25%; animation-delay:3s; }
.ld-f6{ top:80%; right:40%; font-size:1.4rem; animation-delay:5s; }
@keyframes ldFloat{ 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-22px) rotate(12deg)} }

/* نوار بالا */
.ld-nav{ position:relative; z-index:10; display:flex; align-items:center; justify-content:space-between; padding:1.1rem 1.5rem; max-width:1180px; margin:0 auto; flex-wrap:wrap; gap:.75rem; }
.ld-logo{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:1.15rem; color:var(--text); }
.ld-logo-ico{ width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,var(--p),#00C896); display:flex; align-items:center; justify-content:center; font-size:22px; box-shadow:0 4px 14px rgba(var(--p-rgb),.35); }
.ld-nav-btns{ display:flex; gap:.5rem; flex-wrap:wrap; }
.ld-nbtn{ padding:9px 16px; border-radius:50px; font-family:'Estedad',sans-serif; font-size:.85rem; font-weight:700; cursor:pointer; border:1.5px solid transparent; transition:all .2s; }
.ld-nbtn.ghost{ background:rgba(var(--p-rgb),.08); color:var(--p); border-color:var(--border2); }
.ld-nbtn.ghost:hover{ background:rgba(var(--p-rgb),.16); }
.ld-nbtn.solid{ background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; box-shadow:0 4px 14px rgba(var(--p-rgb),.4); }
.ld-nbtn.solid:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(var(--p-rgb),.5); }

/* HERO */
.ld-hero{ position:relative; z-index:5; max-width:1180px; margin:0 auto; padding:2.5rem 1.5rem 1rem; display:grid; grid-template-columns:1.3fr 1fr; gap:2.5rem; align-items:center; }
@media(max-width:860px){ .ld-hero{ grid-template-columns:1fr; text-align:center; } }
.ld-badge{ display:inline-block; background:rgba(var(--p-rgb),.1); border:1.5px solid var(--border2); color:var(--p); padding:7px 16px; border-radius:50px; font-size:.82rem; font-weight:700; margin-bottom:1.25rem; }
.ld-h1{ font-size:clamp(2.1rem,5.5vw,3.4rem); font-weight:900; line-height:1.25; margin-bottom:1.1rem; color:var(--text); }
.ld-grad{ background:linear-gradient(120deg,var(--p),#00C896,#FF4F7B); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ld-lead{ font-size:1.05rem; color:var(--text2); line-height:1.9; margin-bottom:1.75rem; max-width:520px; }
@media(max-width:860px){ .ld-lead{ margin-inline:auto; } }
.ld-cta{ display:flex; gap:.85rem; flex-wrap:wrap; margin-bottom:1.5rem; }
@media(max-width:860px){ .ld-cta{ justify-content:center; } }
.ld-cta-main{ padding:14px 30px; border-radius:50px; border:none; cursor:pointer; background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; font-family:'Estedad',sans-serif; font-size:1rem; font-weight:800; box-shadow:0 8px 24px rgba(var(--p-rgb),.42); transition:all .25s; }
.ld-cta-main:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(var(--p-rgb),.55); }
.ld-cta-ghost{ padding:14px 28px; border-radius:50px; cursor:pointer; background:var(--card); color:var(--text); font-family:'Estedad',sans-serif; font-size:1rem; font-weight:700; border:1.5px solid var(--border2); transition:all .25s; }
.ld-cta-ghost:hover{ border-color:var(--p); color:var(--p); transform:translateY(-2px); }
.ld-trust{ display:flex; gap:1.25rem; flex-wrap:wrap; font-size:.82rem; color:var(--text2); }
@media(max-width:860px){ .ld-trust{ justify-content:center; } }

/* کارت معرفی */
.ld-hero-card{ position:relative; background:var(--card); border:1px solid var(--border); border-radius:28px; padding:2rem 1.75rem; text-align:center; box-shadow:var(--shadow2); overflow:hidden; }
.ld-hc-glow{ position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:200px; height:200px; background:radial-gradient(circle,rgba(var(--p-rgb),.25),transparent 70%); }
.ld-hc-avatar{ position:relative; width:96px; height:96px; margin:0 auto 1rem; border-radius:50%; background:linear-gradient(135deg,#EEF0FF,#E6FBF5); display:flex; align-items:center; justify-content:center; font-size:50px; box-shadow:0 8px 24px rgba(var(--p-rgb),.2); border:3px solid #fff; }
.ld-hc-name{ font-size:1.3rem; font-weight:900; color:var(--text); margin-bottom:.3rem; }
.ld-hc-role{ font-size:.85rem; color:var(--text2); line-height:1.7; margin-bottom:1rem; }
.ld-hc-badges{ display:flex; gap:.4rem; justify-content:center; flex-wrap:wrap; margin-bottom:1rem; }
.ld-hc-badges span{ background:var(--bg3); color:var(--p); padding:5px 12px; border-radius:50px; font-size:.75rem; font-weight:700; }
.ld-hc-quote{ font-size:.85rem; color:var(--text2); font-style:italic; line-height:1.8; border-top:1px solid var(--border); padding-top:1rem; }

/* آمار */
.ld-stats{ position:relative; z-index:5; max-width:900px; margin:1.5rem auto; padding:1.5rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; background:var(--card); border:1px solid var(--border); border-radius:22px; box-shadow:var(--shadow); }
@media(max-width:600px){ .ld-stats{ grid-template-columns:repeat(2,1fr); } }
.ld-stat{ text-align:center; }
.ld-stat-n{ font-size:2rem; font-weight:900; background:linear-gradient(135deg,var(--p),#00C896); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.ld-stat-l{ font-size:.78rem; color:var(--text3); margin-top:3px; }

/* بخش‌های عمومی */
.ld-features,.ld-how,.ld-sub{ position:relative; z-index:5; max-width:1180px; margin:0 auto; padding:3.5rem 1.5rem; text-align:center; }
.ld-sec-tag{ display:inline-block; background:rgba(var(--p-rgb),.1); border:1.5px solid var(--border2); color:var(--p); padding:6px 16px; border-radius:50px; font-size:.8rem; font-weight:700; margin-bottom:1rem; }
.ld-sec-tag.green{ background:rgba(0,200,150,.12); border-color:rgba(0,200,150,.35); color:var(--g2); }
.ld-sec-title{ font-size:clamp(1.6rem,4vw,2.3rem); font-weight:900; color:var(--text); margin-bottom:.6rem; }
.ld-sec-sub{ font-size:.98rem; color:var(--text2); max-width:560px; margin:0 auto 2.5rem; line-height:1.8; }

/* کارت‌های ویژگی */
.ld-feat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media(max-width:900px){ .ld-feat-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .ld-feat-grid{ grid-template-columns:1fr; } }
.ld-feat{ background:var(--card); border:1px solid var(--border); border-radius:20px; padding:1.75rem 1.5rem; text-align:right; transition:all .3s; position:relative; overflow:hidden; }
.ld-feat::before{ content:''; position:absolute; top:0; right:0; width:100%; height:4px; background:var(--fc); transform:scaleX(0); transform-origin:right; transition:transform .3s; }
.ld-feat:hover{ transform:translateY(-6px); box-shadow:0 16px 36px rgba(var(--p-rgb),.16); border-color:var(--fc); }
.ld-feat:hover::before{ transform:scaleX(1); }
.ld-feat-ico{ width:58px; height:58px; border-radius:16px; background:rgba(var(--p-rgb),.1); background:color-mix(in srgb,var(--fc) 14%,transparent); display:flex; align-items:center; justify-content:center; font-size:30px; margin-bottom:1rem; }
.ld-feat-t{ font-size:1.05rem; font-weight:800; color:var(--text); margin-bottom:.5rem; }
.ld-feat-d{ font-size:.86rem; color:var(--text2); line-height:1.8; }

/* چطور کار می‌کند */
.ld-steps{ display:flex; align-items:flex-start; justify-content:center; gap:.5rem; flex-wrap:wrap; }
.ld-step{ flex:1; min-width:180px; max-width:260px; }
.ld-step-n{ width:56px; height:56px; margin:0 auto 1rem; border-radius:50%; background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.5rem; font-weight:900; box-shadow:0 6px 18px rgba(var(--p-rgb),.4); }
.ld-step-t{ font-size:1.05rem; font-weight:800; color:var(--text); margin-bottom:.4rem; }
.ld-step-d{ font-size:.85rem; color:var(--text2); line-height:1.7; }
.ld-step-line{ flex:0 0 40px; height:2px; background:linear-gradient(90deg,var(--border2),transparent); margin-top:28px; }
@media(max-width:680px){ .ld-step-line{ display:none; } }

/* اشتراک */
.ld-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-bottom:2.5rem; }
@media(max-width:780px){ .ld-plans{ grid-template-columns:1fr; max-width:400px; margin-inline:auto; } }
.ld-plan{ background:var(--card); border:2px solid var(--border); border-radius:22px; padding:2rem 1.5rem; text-align:center; transition:all .3s; position:relative; }
.ld-plan:hover{ transform:translateY(-5px); box-shadow:var(--shadow2); }
.ld-plan.featured{ border-color:var(--p); background:linear-gradient(180deg,rgba(var(--p-rgb),.06),var(--card)); transform:scale(1.04); }
.ld-plan.featured:hover{ transform:scale(1.04) translateY(-5px); }
.ld-plan-tag{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; padding:5px 16px; border-radius:50px; font-size:.78rem; font-weight:800; box-shadow:0 4px 12px rgba(var(--p-rgb),.4); white-space:nowrap; }
.ld-plan-name{ font-size:1.1rem; font-weight:800; color:var(--text); margin-bottom:.75rem; }
.ld-plan-price{ font-size:2.4rem; font-weight:900; color:var(--p); line-height:1; }
.ld-plan-price span{ display:block; font-size:.78rem; font-weight:600; color:var(--text3); margin-top:6px; }
.ld-plan-per{ font-size:.8rem; color:var(--g2); font-weight:700; margin:.6rem 0 1.25rem; }
.ld-plan-feats{ list-style:none; padding:0; margin:0 0 1.5rem; text-align:right; }
.ld-plan-feats li{ font-size:.86rem; color:var(--text2); padding:7px 0; padding-right:24px; position:relative; border-bottom:1px solid var(--border); }
.ld-plan-feats li::before{ content:'✓'; position:absolute; right:0; color:var(--g); font-weight:900; }
.ld-plan-btn{ width:100%; padding:12px; border-radius:12px; border:1.5px solid var(--border2); background:var(--card); color:var(--p); font-family:'Estedad',sans-serif; font-size:.92rem; font-weight:800; cursor:pointer; transition:all .2s; }
.ld-plan-btn:hover{ background:var(--bg3); }
.ld-plan-btn.solid{ background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; border-color:transparent; box-shadow:0 6px 18px rgba(var(--p-rgb),.4); }

/* فرم */
.ld-form{ background:var(--card); border:1px solid var(--border); border-radius:24px; padding:2rem 1.75rem; max-width:480px; margin:0 auto; box-shadow:var(--shadow); text-align:right; }
.ld-form-title{ font-size:1.15rem; font-weight:800; color:var(--text); margin-bottom:1.5rem; text-align:center; }
.ld-fg{ margin-bottom:1.1rem; }
.ld-fg label{ display:block; font-size:.85rem; color:var(--text2); margin-bottom:7px; font-weight:600; }
.ld-fg input,.ld-fg select{ width:100%; padding:13px 15px; background:var(--bg3); border:1.5px solid var(--border); border-radius:12px; color:var(--text); font-family:'Estedad',sans-serif; font-size:.95rem; outline:none; transition:border-color .2s; }
.ld-fg input:focus,.ld-fg select:focus{ border-color:var(--p); }
.ld-submit{ width:100%; padding:14px; border-radius:12px; border:none; background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; font-family:'Estedad',sans-serif; font-size:1rem; font-weight:800; cursor:pointer; box-shadow:0 6px 18px rgba(var(--p-rgb),.4); transition:all .2s; }
.ld-submit:hover{ transform:translateY(-2px); }
.ld-or{ text-align:center; color:var(--text3); font-size:.85rem; margin:1rem 0; position:relative; }
.ld-or::before,.ld-or::after{ content:''; position:absolute; top:50%; width:40%; height:1px; background:var(--border); }
.ld-or::before{ right:0; } .ld-or::after{ left:0; }
.ld-tg{ display:flex; align-items:center; justify-content:center; gap:8px; padding:13px; border-radius:12px; background:#229ED9; color:#fff; text-decoration:none; font-size:.9rem; font-weight:700; transition:all .2s; }
.ld-tg:hover{ background:#1d8bc0; transform:translateY(-2px); }

/* فوتر */
.ld-footer{ position:relative; z-index:5; text-align:center; padding:3rem 1.5rem 2.5rem; border-top:1px solid var(--border); margin-top:2rem; }
.ld-footer-logo{ font-size:1.2rem; font-weight:900; color:var(--text); margin-bottom:.5rem; }
.ld-footer-text{ font-size:.88rem; color:var(--text2); margin-bottom:.5rem; }
.ld-footer-tg{ display:inline-block; color:var(--p); font-weight:700; text-decoration:none; margin-bottom:1rem; }
.ld-footer-copy{ font-size:.78rem; color:var(--text3); }

/* ════════════════════════════════════════════
   🦆 بازیِ اردک — نسخه‌ی تمام‌صفحه و خفن
════════════════════════════════════════════ */
.duck-game{
  position:fixed; inset:0; z-index:500; overflow:hidden;
  display:flex; flex-direction:column;
  background:linear-gradient(180deg,#7FD8FF 0%,#A8E6FF 30%,#5BB8E0 36%,#3A9AD0 100%);
  transform:translateZ(0);
}
.duck-sky{ position:absolute; top:0; left:0; right:0; height:36%; z-index:0;
  background:linear-gradient(180deg,#5BC0FF 0%,#8FD8FF 60%,#C5EFFF 100%); }
.duck-sun{ position:absolute; top:6%; left:14%; width:56px; height:56px; z-index:1; border-radius:50%;
  background:radial-gradient(circle,#FFF6C0,#FFD93D); box-shadow:0 0 50px rgba(255,217,61,.8); animation:duckSun 4s ease-in-out infinite; }
@keyframes duckSun{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
.duck-cloud{ position:absolute; z-index:1; font-size:2.2rem; opacity:.92; }
.duck-cloud.dc1{ top:7%; right:18%; animation:duckCloud 20s linear infinite; }
.duck-cloud.dc2{ top:15%; right:50%; font-size:1.6rem; animation:duckCloud 28s linear infinite; }
.duck-cloud.dc3{ top:4%; right:70%; font-size:1.8rem; animation:duckCloud 24s linear infinite; }
@keyframes duckCloud{ from{transform:translateX(0)} to{transform:translateX(50px)} }
/* ساحلِ سبز — درست روی خطِ افق (بالای آب) */
.duck-hills{ position:absolute; top:26%; left:0; right:0; height:11%; z-index:1;
  background:radial-gradient(ellipse 55% 100% at 22% 100%,#7FD86A 0 65%,transparent 66%),
             radial-gradient(ellipse 65% 100% at 72% 100%,#6FCF57 0 65%,transparent 66%); }

.duck-topbar{ position:relative; z-index:10; display:flex; align-items:center; gap:.6rem; padding:.7rem .9rem; }
.duck-exit{ width:36px; height:36px; border-radius:50%; border:none; cursor:pointer; flex-shrink:0;
  background:rgba(255,255,255,.9); color:#FF4060; font-size:1.1rem; font-weight:900; box-shadow:0 3px 10px rgba(0,0,0,.2); }
.duck-game .duck-hud{ flex:1; display:flex; gap:.5rem; margin:0; }
.duck-game .duck-hud .hud-card{ background:rgba(255,255,255,.88); border:none; box-shadow:0 3px 8px rgba(0,0,0,.12); }

/* دنیای رودخانه — حالا بزرگ‌تر و تمام‌عرض */
.duck-game .river-world{ flex:1; height:auto; border-radius:0; margin:0;
  background:linear-gradient(180deg,transparent 0%,transparent 26%,#8FD0F2 30%,#5BB8E0 50%,#3A9AD0 75%,#2080B8 100%); }

/* درخششِ آب */
.river-sparkle{ position:absolute; width:30px; height:8px; border-radius:50%; background:rgba(255,255,255,.5);
  filter:blur(2px); z-index:2; animation:duckSparkle 3s ease-in-out infinite; }
.river-sparkle.s1{ top:55%; left:20%; } .river-sparkle.s2{ top:70%; left:55%; animation-delay:1s; }
.river-sparkle.s3{ top:62%; left:80%; animation-delay:2s; }
@keyframes duckSparkle{ 0%,100%{opacity:.2;transform:scaleX(1)} 50%{opacity:.7;transform:scaleX(1.5)} }

/* حباب‌های آب */
.river-bubbles{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.river-bubbles span{ position:absolute; bottom:0; width:10px; height:10px; border-radius:50%;
  background:rgba(255,255,255,.4); animation:duckBubble 4s ease-in infinite; }
.river-bubbles span:nth-child(2){ animation-delay:1.5s; width:7px; height:7px; }
.river-bubbles span:nth-child(3){ animation-delay:.7s; width:12px; height:12px; }
.river-bubbles span:nth-child(4){ animation-delay:2.2s; }
@keyframes duckBubble{ 0%{transform:translateY(0);opacity:0} 20%{opacity:.6} 100%{transform:translateY(-180px);opacity:0} }

/* اردکِ بازیکن — انیمیشن شنا */
.river-duck.player{ animation:duckFloat 2s ease-in-out infinite; }
@keyframes duckFloat{ 0%,100%{transform:translateY(-50%) rotate(-2deg)} 50%{transform:translateY(-58%) rotate(2deg)} }
.river-duck.player.paddle{ animation:duckPaddle .6s ease; }
@keyframes duckPaddle{ 0%{transform:translateY(-50%) scale(1)} 30%{transform:translateY(-66%) scale(1.12) rotate(-6deg)} 100%{transform:translateY(-50%) scale(1)} }

/* پاشیدنِ آب */
.duck-splash{ position:absolute; bottom:4px; left:-6px; width:30px; height:30px; pointer-events:none; opacity:0; }
.duck-splash.on{ animation:duckSplash .6s ease-out; }
.duck-splash.on::before,.duck-splash.on::after{ content:'💧'; position:absolute; font-size:1rem; }
.duck-splash.on::before{ animation:splashL .6s ease-out; }
.duck-splash.on::after{ animation:splashR .6s ease-out; }
@keyframes duckSplash{ 0%{opacity:1} 100%{opacity:0} }
@keyframes splashL{ 0%{transform:translate(0,0) scale(.5)} 100%{transform:translate(-20px,-22px) scale(1)} }
@keyframes splashR{ 0%{transform:translate(0,0) scale(.5)} 100%{transform:translate(12px,-26px) scale(1)} }

/* نیلوفر و نِی بزرگ‌تر */
.river-lily{ font-size:1.6rem; filter:drop-shadow(0 2px 3px rgba(0,0,0,.15)); }

/* خط پایان با پرچم */
.river-finish{ width:10px; background:repeating-linear-gradient(45deg,#222 0 9px,#fff 9px 18px); }
.finish-flag{ position:absolute; top:-6px; left:50%; transform:translateX(-50%); font-size:1.6rem; animation:bob 2s ease-in-out infinite; }

/* کارتِ سؤال — شناور روی پایینِ صفحه */
.duck-game #duck-q{ position:relative; z-index:10; padding:.75rem .9rem 1rem; background:linear-gradient(180deg,transparent,rgba(40,60,90,.25)); }
.duck-game .duck-q-card{ background:rgba(255,255,255,.97); box-shadow:0 -4px 24px rgba(0,0,0,.2); border:none; }

/* ── نمایشِ کسرِ عمودی (به‌جای علامتِ /) ── */
.vfrac{ display:inline-flex; flex-direction:column; align-items:center; vertical-align:middle; margin:0 2px; line-height:1; }
.vf-n{ display:block; padding:0 4px 1px; border-bottom:2px solid currentColor; }
.vf-d{ display:block; padding:1px 4px 0; }

/* ════════════════════════════════════════════
   😴 داینوی خوابالو — نسخه‌ی تمام‌صفحه
════════════════════════════════════════════ */
.sleepy-game{
  position:fixed; inset:0; z-index:500; overflow:hidden;
  display:flex; flex-direction:column;
  background:#15173f; transform:translateZ(0);
}
.sleepy-night-sky{ position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,#0a0b2e 0%,#15173f 40%,#2b2e6e 80%,#3a3e9c 100%);
  transition:background .8s; }
.sleepy-game .sleepy-stars{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.sleepy-game .sleepy-star{ position:absolute; color:#fff; opacity:.85; animation:sleepyTwinkle 2.5s ease-in-out infinite; }
@keyframes sleepyTwinkle{ 0%,100%{opacity:.3} 50%{opacity:1} }
.sleepy-game .sleepy-moon{ position:absolute; top:7%; right:12%; font-size:3rem; z-index:1; filter:drop-shadow(0 0 20px rgba(255,255,200,.6)); transition:opacity .6s,transform .6s; }
.sleepy-cloud-n{ position:absolute; z-index:1; font-size:2rem; opacity:.5; }
.sleepy-cloud-n.sc1{ top:14%; right:30%; animation:duckCloud 26s linear infinite; }
.sleepy-cloud-n.sc2{ top:22%; right:62%; font-size:1.6rem; animation:duckCloud 32s linear infinite; }
.sleepy-ground{ position:absolute; bottom:0; left:0; right:0; height:18%; z-index:1;
  background:linear-gradient(180deg,#3a3e9c,#2b2e6e); border-radius:50% 50% 0 0 / 18% 18% 0 0; opacity:.6; }

.sleepy-topbar{ position:relative; z-index:10; display:flex; align-items:center; gap:.6rem; padding:.7rem .9rem; }
.sleepy-exit{ width:36px; height:36px; border-radius:50%; border:none; cursor:pointer; flex-shrink:0;
  background:rgba(255,255,255,.85); color:#FF4060; font-size:1.1rem; font-weight:900; box-shadow:0 3px 10px rgba(0,0,0,.3); }
.sleepy-game .sleepy-hud{ flex:1; display:flex; gap:.5rem; margin:0; }
.sleepy-game .sleepy-hud .hud-card{ background:rgba(255,255,255,.14); border:none; backdrop-filter:blur(6px); }
.sleepy-game .sleepy-hud .hud-v{ color:#fff; }
.sleepy-game .sleepy-hud .hud-l{ color:rgba(255,255,255,.7); }

/* صحنه‌ی تمام‌صفحه */
.sleepy-game .sleepy-scene{ position:relative; flex:1; height:auto; border-radius:0; margin:0; background:transparent;
  display:flex; align-items:center; justify-content:center; z-index:3; overflow:visible; }
/* تغییرِ رنگِ آسمان بر اساس حالت */
.sleepy-game:has(.s-stir) .sleepy-night-sky{ background:linear-gradient(180deg,#3a2c5a 0%,#7a5a2d 65%,#c98a2e 100%); }
.sleepy-game:has(.s-angry) .sleepy-night-sky{ background:linear-gradient(180deg,#5e1414 0%,#a51e1e 55%,#e23b3b 100%); }
.sleepy-game:has(.s-angry) .sleepy-moon{ opacity:0; transform:scale(.5); }
.sleepy-game:has(.s-angry) .sleepy-stars{ opacity:0; }

.sleepy-game .sleepy-dino-wrap{ width:260px; max-width:70%; z-index:3; }
.sleepy-bed{ position:absolute; bottom:18%; left:50%; transform:translateX(-50%); width:300px; max-width:80%; height:30px;
  background:linear-gradient(180deg,#8a6bbf,#6C4FA0); border-radius:18px; z-index:2; box-shadow:0 8px 20px rgba(0,0,0,.4); }

.sleepy-game .sleepy-state-txt{ position:absolute; bottom:6%; left:0; right:0; text-align:center; color:#fff; font-weight:800; font-size:1.2rem; z-index:4; text-shadow:0 2px 10px rgba(0,0,0,.6); }

/* پنل کنترل پایین */
.sleepy-panel{ position:relative; z-index:10; padding:.8rem 1rem 1.1rem; background:rgba(10,11,30,.6); backdrop-filter:blur(8px); }
.sleepy-panel .sleepy-label{ color:#fff; display:flex; justify-content:space-between; align-items:center; font-size:.85rem; font-weight:700; margin-bottom:.35rem; margin-top:.5rem; }
.sleepy-panel .sleepy-meter{ height:18px; background:rgba(255,255,255,.15); }
.sleepy-panel .sleepy-sens-row{ display:flex; align-items:center; gap:.6rem; margin-top:.7rem; }
.sleepy-panel .sleepy-sens-row span:first-child{ color:#fff; }
.sleepy-panel input[type=range]{ flex:1; accent-color:#FFB800; }

/* ── داینوی تمام‌صفحه: ویدئو کلِ صفحه را می‌گیرد (cover)، HUD و مترها روی آن شناور ── */
.sleepy-game .sleepy-scene{ position:absolute; inset:0; z-index:1; height:auto; margin:0; padding:0; }
.sleepy-game .sleepy-dino-wrap{ position:absolute; inset:0; width:100%; max-width:none; z-index:1; display:flex; align-items:center; justify-content:center; }
.sleepy-game .sd-dino{ width:100%; height:100%; }
.sleepy-game .sd-vid{ width:100%; height:100%; object-fit:cover; border-radius:0; filter:none; }
.sleepy-game .sd-glow{ display:none; }
/* عناصرِ تزئینی زیرِ ویدئو مخفی شوند (ویدئو کلِ صحنه است) */
.sleepy-game .sleepy-stars, .sleepy-game .sleepy-moon, .sleepy-game .sleepy-ground,
.sleepy-game .sleepy-bed, .sleepy-game .sleepy-cloud-n, .sleepy-game .sleepy-zzz{ display:none !important; }
/* نوارِ بالا (HUD) شناور و کوچک */
.sleepy-game .sleepy-topbar{ position:absolute; top:0; left:0; right:0; z-index:12; padding:.4rem .55rem; }
.sleepy-game .sleepy-hud{ gap:.35rem; }
.sleepy-game .sleepy-hud .hud-card{ padding:.28rem .3rem; border-radius:10px; }
.sleepy-game .sleepy-hud .hud-v{ font-size:.82rem; }
.sleepy-game .sleepy-hud .hud-l{ font-size:.5rem; }
.sleepy-game .sleepy-exit{ width:30px; height:30px; font-size:.9rem; }
/* پنلِ مترها شناور در پایین */
.sleepy-game .sleepy-panel{ position:absolute; bottom:0; left:0; right:0; z-index:12; padding:.5rem .8rem .7rem; background:rgba(10,11,30,.55); }
.sleepy-game .sleepy-panel .sleepy-meter{ height:13px; }
.sleepy-game .sleepy-state-txt{ bottom:auto; top:44px; z-index:12; }

/* ════════════════════════════════════════════
   🎲 درس و بازی‌های احتمال (فصل ۷ درس ۳)
════════════════════════════════════════════ */
/* مقیاسِ احتمال در درسنامه */
.prob-scale{ display:flex; gap:.5rem; margin:1rem 0; }
.prob-scale-item{ flex:1; text-align:center; background:var(--bg3); border-radius:12px; padding:.75rem .5rem; font-size:.78rem; line-height:1.5; }
.prob-scale-item span{ font-size:.7rem; color:var(--text3); }
.ps-dot{ width:18px; height:18px; border-radius:50%; margin:0 auto .4rem; }

/* بازی‌های احتمال */
.prob-game{ display:flex; flex-direction:column; min-height:calc(100vh - 120px); }
.prob-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.prob-stage{ background:var(--card); border:1px solid var(--border); border-radius:18px; padding:1.5rem; display:flex; flex-direction:column; align-items:center; max-width:460px; margin:0 auto; width:100%; }
.prob-step-badge{ background:rgba(var(--p-rgb),.12); color:var(--p); padding:6px 16px; border-radius:50px; font-size:.82rem; font-weight:800; margin-bottom:1rem; }
.prob-q{ font-size:1.05rem; font-weight:800; text-align:center; margin-bottom:1rem; color:var(--text); line-height:1.6; }
.prob-visual{ margin:.5rem 0 1rem; display:flex; justify-content:center; }
.prob-spin-wrap{ transform-origin:center; }

/* دکمه‌های رنگ */
.prob-color-btns{ display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; width:100%; }
.prob-cbtn{ flex:1; min-width:80px; padding:14px; border:none; border-radius:14px; color:#fff; font-family:'Estedad',sans-serif; font-size:1rem; font-weight:800; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.15); transition:transform .12s; }
.prob-cbtn:active{ transform:scale(.94); }

/* سازنده‌ی کسر */
.prob-frac-builder{ width:100%; text-align:center; }
.pfb-label{ font-size:.9rem; font-weight:700; margin-bottom:.75rem; }
.pfb-frac{ display:inline-flex; flex-direction:column; align-items:center; gap:4px; background:var(--bg3); padding:1rem 2rem; border-radius:16px; }
.pfb-part{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.pfb-arrow{ width:44px; height:30px; border:none; border-radius:8px; background:rgba(var(--p-rgb),.15); color:var(--p); font-size:.9rem; cursor:pointer; }
.pfb-arrow:active{ background:rgba(var(--p-rgb),.3); }
.pfb-val{ font-size:2rem; font-weight:900; color:var(--p); min-width:50px; }
.pfb-line{ width:60px; height:3px; background:var(--text); border-radius:2px; margin:2px 0; }
.pfb-hint{ font-size:.78rem; color:var(--text3); margin-top:.75rem; line-height:1.6; }

/* نتیجه‌ها (tally) */
.prob-tally{ width:100%; margin:.75rem 0; }
.prob-tally-title{ font-size:.85rem; font-weight:700; margin-bottom:.5rem; }
.prob-tally-rows{ display:flex; flex-direction:column; gap:6px; }
.prob-tally-row{ display:flex; align-items:center; gap:8px; }
.ptr-dot{ width:16px; height:16px; border-radius:50%; flex-shrink:0; }
.ptr-name{ font-size:.82rem; font-weight:600; min-width:42px; }
.ptr-bar{ flex:1; height:14px; background:var(--bg3); border-radius:7px; overflow:hidden; }
.ptr-bar span{ display:block; height:100%; border-radius:7px; transition:width .3s; }
.ptr-cnt{ font-size:.85rem; font-weight:800; min-width:24px; text-align:left; }

/* نتیجه */
.prob-result-icon{ font-size:3.5rem; margin:.5rem 0; }
.prob-result-title{ font-size:1.15rem; font-weight:900; text-align:center; margin-bottom:1rem; }
.prob-result-card{ background:var(--bg3); border-radius:14px; padding:1.1rem; width:100%; font-size:.92rem; line-height:1.9; text-align:center; }

/* سناریو (کارآگاه) */
.prob-scenario{ background:var(--bg3); border-radius:14px; padding:1.25rem; font-size:1.1rem; font-weight:700; text-align:center; line-height:1.8; margin-bottom:1.25rem; width:100%; }
.prob-cat-btns{ display:flex; flex-direction:column; gap:.6rem; width:100%; }
.prob-cat-btn{ display:flex; align-items:center; gap:12px; padding:14px 18px; border:2px solid var(--cc); border-radius:14px; background:var(--card); cursor:pointer; font-family:'Estedad',sans-serif; transition:all .15s; }
.prob-cat-btn:active{ background:color-mix(in srgb,var(--cc) 12%,transparent); transform:scale(.97); }
.prob-cat-btn:disabled{ opacity:.5; }
.pcb-emoji{ font-size:1.6rem; }
.pcb-name{ font-size:1.05rem; font-weight:800; color:var(--cc); }

/* ════════════════════════════════════════════
   🔬 علوم — درسنامه‌ی زیبا
════════════════════════════════════════════ */
.sci-learn{ padding-bottom:2rem; }

/* هیروی بالای درس */
.sci-hero{ position:relative; background:linear-gradient(135deg,var(--c1),var(--c2)); border-radius:22px; padding:2rem 1.5rem; text-align:center; color:#fff; overflow:hidden; margin-bottom:1.25rem; box-shadow:0 8px 28px rgba(67,217,173,.3); }
.sci-hero-emoji{ font-size:3.5rem; animation:sciFloat 3s ease-in-out infinite; }
.sci-hero-title{ font-size:1.6rem; font-weight:900; margin-top:.4rem; }
.sci-hero-sub{ font-size:.9rem; opacity:.9; margin-top:.3rem; }
.sci-hero-spinner{ position:absolute; bottom:-10px; left:-10px; font-size:4rem; opacity:.18; animation:sciSpin 8s linear infinite; }
@keyframes sciFloat{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes sciSpin{ from{transform:rotate(0)} to{transform:rotate(360deg)} }

/* کارت‌های درس */
.sci-card{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1.4rem; margin-bottom:1rem; box-shadow:var(--shadow); }
.sci-card-h{ font-size:1.1rem; font-weight:800; margin-bottom:.75rem; color:var(--text); }
.sci-card p{ font-size:.92rem; line-height:1.9; color:var(--text2); margin-bottom:.5rem; }
.sci-hl{ border-radius:12px; padding:.7rem .9rem; font-weight:700; font-size:.88rem; line-height:1.7; margin:.7rem 0; }
.sci-list{ margin:.5rem 0; padding-right:1.2rem; }
.sci-list li{ font-size:.9rem; line-height:2; color:var(--text2); }
.sci-table-wrap{ overflow-x:auto; margin:.7rem 0; }
.sci-table{ width:100%; border-collapse:collapse; font-size:.85rem; }
.sci-table th{ background:#43D9AD; color:#fff; padding:8px 6px; font-weight:700; }
.sci-table td{ border:1px solid #e5e7eb; padding:8px 6px; text-align:center; }
.sci-hero-emoji{ font-size:2.6rem; }
.dino-say{ display:flex; align-items:flex-start; gap:10px; margin:1rem 0; }
.dino-av{ width:56px; height:56px; border-radius:50%; background:#fff; border:2.5px solid #43D9AD; object-fit:contain; flex-shrink:0; box-shadow:0 3px 10px rgba(0,0,0,.1); padding:2px; }
.dino-bubble{ position:relative; background:linear-gradient(135deg,#E6FBF4,#F0FFF9); border:1.5px solid #B8ECD9; border-radius:16px; border-top-right-radius:4px; padding:.8rem 1rem; font-size:.9rem; line-height:1.9; color:var(--text2); flex:1; }
.dino-bubble::before{ content:''; position:absolute; top:14px; right:-8px; width:0; height:0; border-top:7px solid transparent; border-bottom:7px solid transparent; border-right:8px solid #B8ECD9; }
.sci-reveal{ animation:sciReveal .5s ease both; }
@keyframes sciReveal{ from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }

/* فلوی روش علمی */
.sci-flow{ display:flex; align-items:center; justify-content:center; gap:.3rem; margin:1rem 0; flex-wrap:wrap; }
.sci-flow-step{ text-align:center; }
.sfs-ico{ width:54px; height:54px; border-radius:16px; background:var(--bg3); display:flex; align-items:center; justify-content:center; font-size:1.6rem; margin:0 auto .3rem; transition:transform .2s; }
.sci-flow-step:hover .sfs-ico{ transform:scale(1.12) rotate(-5deg); }
.sfs-t{ font-size:.78rem; font-weight:700; color:var(--text2); }
.sci-flow-arrow{ color:var(--p); font-size:1.2rem; font-weight:900; }

/* حباب پرسش */
.sci-question-bubble{ background:rgba(var(--p-rgb),.1); border:2px dashed rgba(var(--p-rgb),.4); border-radius:16px; padding:1rem 1.25rem; font-size:1rem; font-weight:700; text-align:center; color:var(--p); margin:.75rem 0; line-height:1.7; }

/* دموی افتادن فرفره */
.sci-falling-demo{ display:flex; justify-content:space-around; align-items:flex-start; height:160px; background:linear-gradient(180deg,#E3F2FD,#C9F0E0); border-radius:14px; margin:1rem 0; position:relative; overflow:hidden; }
.sfd-wing{ text-align:center; position:relative; }
.sfd-paper{ font-size:2.5rem; }
.sfd-wing.wide .sfd-paper{ animation:sfdFallSlow 3s ease-in-out infinite; }
.sfd-wing.narrow .sfd-paper{ animation:sfdFallFast 2s ease-in-out infinite; }
@keyframes sfdFallSlow{ 0%{transform:translateY(0) rotate(0)} 100%{transform:translateY(90px) rotate(360deg)} }
@keyframes sfdFallFast{ 0%{transform:translateY(0) rotate(0)} 100%{transform:translateY(90px) rotate(720deg)} }
.sfd-label{ font-size:.8rem; font-weight:700; color:var(--text2); margin-top:90px; }
.sfd-wing.wide .sfd-label,.sfd-wing.narrow .sfd-label{ position:absolute; bottom:8px; left:50%; transform:translateX(-50%); white-space:nowrap; }

/* قانون طلایی */
.sci-golden-rule{ background:linear-gradient(135deg,#FFF8E6,#FFF0F4); border:2px solid var(--y); border-radius:16px; padding:1.1rem 1.25rem; font-size:1rem; text-align:center; line-height:1.8; color:var(--text); margin:.75rem 0; }

/* متغیرها */
.sci-vars{ display:flex; flex-direction:column; gap:.6rem; margin-top:.75rem; }
.sci-var{ display:flex; align-items:center; gap:12px; border-radius:14px; padding:.9rem 1rem; }
.sci-var.change{ background:rgba(var(--p-rgb),.1); border:1.5px solid rgba(var(--p-rgb),.3); }
.sci-var.measure{ background:rgba(255,184,0,.1); border:1.5px solid rgba(255,184,0,.35); }
.sci-var.keep{ background:rgba(255,79,123,.1); border:1.5px solid rgba(255,79,123,.3); }
.sv-badge{ font-size:.78rem; font-weight:800; white-space:nowrap; flex-shrink:0; }
.sci-var.change .sv-badge{ color:var(--p); }
.sci-var.measure .sv-badge{ color:#c98e00; }
.sci-var.keep .sv-badge{ color:var(--r); }
.sv-content{ font-size:.9rem; line-height:1.5; }
.sv-content span{ font-size:.78rem; color:var(--text3); }

/* نکته */
.sci-tip{ background:rgba(67,217,173,.1); border-radius:12px; padding:.85rem 1.1rem; font-size:.88rem; line-height:1.7; color:var(--g2); margin-top:.5rem; }

/* جعبه نتیجه */
.sci-result-box{ background:linear-gradient(135deg,rgba(67,217,173,.12),rgba(var(--p-rgb),.08)); border-radius:14px; padding:1.1rem 1.25rem; font-size:.95rem; line-height:1.9; text-align:center; margin:.5rem 0; }

/* خلاصه */
.sci-summary{ display:flex; flex-direction:column; gap:.5rem; }
.sci-sum-item{ display:flex; align-items:center; gap:10px; font-size:.9rem; line-height:1.6; }
.ssi-n{ width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,var(--p),var(--p2)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.85rem; flex-shrink:0; }

/* کارت فصل علوم (chap-card موجود را گسترش می‌دهیم) */
#science-view .chap-num{ color:#fff; }

/* عکس فرفره در درسنامه علوم */
.sci-pinwheel-img{ width:70px; height:70px; object-fit:contain; animation:sciSpin 4s linear infinite; filter:drop-shadow(0 4px 8px rgba(0,0,0,.2)); }
.sci-pinwheel-bg{ width:90px; height:90px; object-fit:contain; }
.sfd-pinwheel{ width:46px; height:46px; object-fit:contain; }
.sci-hero-emoji{ display:flex; justify-content:center; }

/* ════════════════════════════════════════════
   🔬 تب‌های جذابِ علوم
════════════════════════════════════════════ */
#science-view .lesson-tabs{
  display:flex; gap:6px; background:transparent; padding:0; margin-bottom:1.25rem;
  width:100%; max-width:100%; overflow:hidden;
}
#science-view .lesson-tab{
  flex:1 1 0; min-width:0; padding:11px 4px; border-radius:14px; border:2px solid var(--border);
  cursor:pointer; font-family:'Estedad',sans-serif; font-size:.82rem; font-weight:700;
  background:var(--card); color:var(--text2);
  display:flex; flex-direction:column; align-items:center; gap:5px;
  transition:all .25s cubic-bezier(.34,1.56,.64,1); position:relative; overflow:hidden;
}
#science-view .lesson-tab .lt-emoji{ font-size:1.4rem; transition:transform .25s; display:block; }
#science-view{ overflow-x:hidden; }
#science-view .lesson-tab:active{ transform:scale(.93); }
#science-view .lesson-tab:hover{ border-color:var(--border2); transform:translateY(-2px); }
#science-view .lesson-tab.on{
  background:linear-gradient(135deg,#43D9AD,var(--p)); color:#fff; border-color:transparent;
  box-shadow:0 6px 18px rgba(67,217,173,.4); transform:translateY(-3px) scale(1.03);
}
#science-view .lesson-tab.on .lt-emoji{ transform:scale(1.25) rotate(-8deg); }
#science-view .lesson-tab.on::after{
  content:''; position:absolute; bottom:5px; left:50%; transform:translateX(-50%);
  width:18px; height:3px; border-radius:2px; background:rgba(255,255,255,.7);
}

/* ════════════════════════════════════════════
   🧪 آزمایشگاهِ فرفره
════════════════════════════════════════════ */
.lab-wrap{ padding-bottom:2rem; }
.lab-intro{ background:rgba(67,217,173,.1); border:1.5px solid rgba(67,217,173,.3); border-radius:14px; padding:1rem 1.2rem; font-size:.9rem; line-height:1.8; color:var(--text2); margin-bottom:1rem; }

/* میدانِ سقوط */
.lab-arena{ position:relative; background:linear-gradient(180deg,#E3F2FD 0%,#BBDEFB 70%,#A5D6A7 100%); border-radius:18px; height:300px; overflow:hidden; margin-bottom:1.25rem; box-shadow:inset 0 2px 12px rgba(0,0,0,.1); }
.lab-ceiling{ position:absolute; top:0; left:0; right:0; text-align:center; font-size:.72rem; color:#5A5C80; padding:5px; background:rgba(255,255,255,.5); font-weight:700; z-index:2; }
.lab-fall-zone{ position:absolute; top:28px; left:0; right:0; bottom:34px; }
.lab-pinwheel{ position:absolute; top:0; display:flex; flex-direction:column; align-items:center; }
.lab-pinwheel.pa{ right:28%; }
.lab-pinwheel.pb{ right:62%; }
.lab-pw-img{ width:46px; height:46px; object-fit:contain; filter:drop-shadow(0 3px 5px rgba(0,0,0,.25)); }
.lab-pw-tag{ font-size:.72rem; font-weight:800; background:#fff; border-radius:8px; padding:1px 8px; margin-top:2px; box-shadow:0 2px 4px rgba(0,0,0,.15); }
.lab-pinwheel.pa .lab-pw-tag{ color:#FF4F7B; }
.lab-pinwheel.pb .lab-pw-tag{ color:var(--p); }
.lab-ground{ position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:.72rem; color:#5D4037; padding:6px; background:linear-gradient(180deg,#A5D6A7,#8D6E63); font-weight:700; z-index:2; }
.lab-timer{ position:absolute; top:34px; left:12px; background:rgba(26,27,58,.85); color:#FFD166; font-weight:800; font-size:.95rem; padding:5px 12px; border-radius:20px; z-index:3; font-variant-numeric:tabular-nums; }

/* کنترل‌ها */
.lab-controls{ display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-bottom:1rem; }
@media(max-width:560px){ .lab-controls{ grid-template-columns:1fr; } }
.lab-ctrl-card{ background:var(--card); border:2px solid var(--lc); border-radius:16px; padding:1rem; }
.lab-ctrl-title{ font-size:1rem; font-weight:800; color:var(--lc); text-align:center; margin-bottom:.75rem; }
.lab-slider{ margin-bottom:.75rem; }
.lab-slider-label{ font-size:.82rem; color:var(--text2); margin-bottom:5px; }
.lab-slider-label b{ color:var(--text); }
.lab-slider-btns{ display:flex; align-items:center; gap:8px; }
.lab-sbtn{ width:34px; height:34px; border-radius:10px; border:none; background:var(--bg3); color:var(--text); font-size:1.3rem; font-weight:800; cursor:pointer; flex-shrink:0; transition:all .15s; }
.lab-sbtn:active{ transform:scale(.9); background:var(--border2); }
.lab-slider-track{ flex:1; }
.lab-slider-dots{ display:flex; gap:5px; justify-content:center; }
.lab-slider-dots span{ width:100%; height:10px; border-radius:5px; background:var(--bg3); transition:background .2s; }
.lab-slider-dots span.on{ background:var(--lc); }

/* وضعیتِ منصفانه بودن */
.lab-fair{ border-radius:14px; padding:.9rem 1.1rem; font-size:.88rem; line-height:1.7; margin-bottom:1rem; text-align:center; }
.lab-fair.good{ background:rgba(67,217,173,.12); border:1.5px solid rgba(67,217,173,.4); color:var(--g2); }
.lab-fair.bad{ background:rgba(255,79,123,.1); border:1.5px solid rgba(255,79,123,.35); color:var(--r); }
.lab-fair.warn{ background:rgba(255,184,0,.12); border:1.5px solid rgba(255,184,0,.4); color:#c98e00; }

/* دکمه رها */
.lab-drop-btn{ width:100%; padding:16px; border:none; border-radius:16px; background:linear-gradient(135deg,#43D9AD,#00A87E); color:#fff; font-family:'Estedad',sans-serif; font-size:1.15rem; font-weight:900; cursor:pointer; box-shadow:0 6px 20px rgba(67,217,173,.45); transition:transform .12s; }
.lab-drop-btn:active{ transform:scale(.97); }
.lab-drop-btn:disabled{ opacity:.6; cursor:not-allowed; }

/* جدول */
.lab-table-wrap{ margin-top:1.25rem; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:1.25rem; }
.lab-table-title{ font-size:1rem; font-weight:800; margin-bottom:.75rem; text-align:center; }
.lab-table{ width:100%; border-collapse:collapse; }
.lab-table th{ background:var(--bg3); padding:10px; font-size:.82rem; font-weight:700; }
.lab-table th:first-child{ border-radius:0 10px 0 0; } .lab-table th:last-child{ border-radius:10px 0 0 0; }
.lab-table td{ padding:10px; text-align:center; font-size:.9rem; border-bottom:1px solid var(--border); font-variant-numeric:tabular-nums; }
.lab-hint{ background:rgba(var(--p-rgb),.08); border-radius:10px; padding:.75rem 1rem; font-size:.85rem; color:var(--text2); margin-top:.75rem; text-align:center; }

/* نتیجه‌گیری */
.lab-conclude{ border-radius:14px; padding:1.25rem; text-align:center; margin-top:.75rem; }
.lab-conclude.good{ background:linear-gradient(135deg,rgba(67,217,173,.14),rgba(var(--p-rgb),.1)); }
.lab-conclude.bad{ background:rgba(255,79,123,.1); }
.lab-conclude.warn{ background:rgba(255,184,0,.12); }
.lab-conclude-icon{ font-size:2.5rem; }
.lab-conclude-title{ font-size:1.15rem; font-weight:900; margin:.3rem 0; }
.lab-conclude-text{ font-size:.9rem; line-height:1.9; color:var(--text2); }

/* ════════════════════════════════════════════
   🔍 بازیِ کارآگاهِ علمی — فصل ۱
════════════════════════════════════════════ */
.scigame-intro{ text-align:center; padding:1.5rem 1rem; }
.scigame-badge{ width:84px;height:84px;margin:0 auto 1rem;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:2.6rem;background:linear-gradient(135deg,#43D9AD,var(--p));box-shadow:0 10px 30px rgba(67,217,173,.4);animation:sgPulse 2.5s ease-in-out infinite; }
@keyframes sgPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.scigame-title{ font-size:1.55rem;font-weight:900;background:linear-gradient(135deg,#00A87E,var(--p));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem; }
.scigame-sub{ font-size:.92rem;line-height:1.9;color:var(--text2);margin-bottom:1.25rem; }
.scigame-rules{ background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem;margin-bottom:1.25rem;text-align:right; }
.sgr{ display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text2);padding:.4rem 0;line-height:1.7; }
.sgr span{ font-size:1.2rem;flex-shrink:0; }
.sgr b{ color:var(--text); }
.scigame-start{ width:100%;padding:15px;border:none;border-radius:16px;background:linear-gradient(135deg,#43D9AD,#00A87E);color:#fff;font-family:'Estedad',sans-serif;font-size:1.1rem;font-weight:900;cursor:pointer;box-shadow:0 8px 24px rgba(67,217,173,.45);transition:transform .12s; }
.scigame-start:active{ transform:scale(.97); }

.scigame-wrap{ padding-bottom:2rem; }
.scigame-hud{ display:flex;gap:.6rem;margin-bottom:.85rem; }
.sg-hud-item{ flex:1;background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:.7rem;text-align:center;font-size:.95rem;font-weight:800;color:var(--text); }
.scigame-progress{ height:8px;background:var(--bg3);border-radius:6px;overflow:hidden;margin-bottom:1.1rem; }
.sg-prog-fill{ height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,#43D9AD,var(--p));transition:width .4s ease; }

.sg-counter{ font-size:.78rem;color:var(--text3);text-align:center;margin-bottom:.6rem; }
.sg-card{ border-radius:18px;padding:1.5rem 1.25rem;margin-bottom:1.1rem;text-align:center;box-shadow:var(--shadow); }
.sg-card-step{ background:linear-gradient(135deg,rgba(var(--p-rgb),.1),rgba(67,217,173,.08));border:2px solid rgba(var(--p-rgb),.25); }
.sg-card-fair{ background:linear-gradient(135deg,rgba(255,184,0,.12),rgba(255,79,123,.08));border:2px solid rgba(255,184,0,.3); }
.sg-card-tag{ font-size:.8rem;font-weight:800;color:var(--p);margin-bottom:.7rem; }
.sg-card-fair .sg-card-tag{ color:#c98e00; }
.sg-card-text{ font-size:1.08rem;font-weight:700;line-height:2;color:var(--text); }

.sg-opts{ display:grid;gap:.7rem;margin-bottom:.5rem; }
.sg-opts-4{ grid-template-columns:1fr 1fr; }
.sg-opts-2{ grid-template-columns:1fr 1fr; }
.sg-opt{ padding:15px 10px;border:2px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);font-family:'Estedad',sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:all .15s; }
.sg-opt:hover{ border-color:var(--p);transform:translateY(-2px); }
.sg-opt:active{ transform:scale(.96); }
.sg-yes{ border-color:rgba(67,217,173,.4); }
.sg-no{ border-color:rgba(255,79,123,.4); }

.sg-fb{ border-radius:14px;padding:1rem 1.1rem;font-size:.92rem;line-height:1.8;margin-top:.8rem;animation:sgFbIn .3s ease; }
@keyframes sgFbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.sg-fb-good{ background:rgba(67,217,173,.14);border:1.5px solid rgba(67,217,173,.4);color:var(--g2); }
.sg-fb-bad{ background:rgba(255,79,123,.1);border:1.5px solid rgba(255,79,123,.35);color:var(--r); }
.sg-fb-bad b{ color:var(--text); }
.sg-next{ width:100%;margin-top:.8rem;padding:13px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;font-family:'Estedad',sans-serif;font-size:1rem;font-weight:800;cursor:pointer;transition:transform .12s; }
.sg-next:active{ transform:scale(.97); }

.sg-end{ text-align:center;padding:1rem; }
.sg-end-emoji{ font-size:3.5rem;animation:sgPulse 2s ease-in-out infinite; }
.sg-end-title{ font-size:1.4rem;font-weight:900;margin:.4rem 0;color:var(--text); }
.sg-end-rank{ font-size:.95rem;color:var(--text2);margin-bottom:1.25rem; }
.sg-end-rank b{ color:var(--p); }
.sg-end-stats{ display:flex;gap:.7rem;margin-bottom:1.5rem; }
.sg-end-stat{ flex:1;background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1rem .5rem; }
.sg-es-v{ font-size:1.5rem;font-weight:900;color:var(--p); }
.sg-es-l{ font-size:.72rem;color:var(--text3);margin-top:3px; }

/* ════════ فصل ۲: درسنامه ════════ */
.sci2-chips{ display:flex;flex-wrap:wrap;gap:.5rem;margin:.85rem 0; }
.sci2-chips span{ background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-size:.82rem;color:var(--text2); }
.sci2-morph{ display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1rem 0;flex-wrap:wrap; }
.sci2-morph-item{ display:flex;flex-direction:column;align-items:center;gap:4px;font-size:2.4rem;min-width:80px; }
.sci2-morph-item span{ font-size:.78rem;color:var(--text2);font-weight:600; }
.sci2-morph-arrow{ font-size:1rem;color:var(--p);font-weight:800;letter-spacing:-1px; }
.sci2-compare{ display:flex;gap:.7rem; }
.sci2-comp-col{ flex:1;border-radius:14px;padding:.9rem .7rem; }
.sci2-comp-col.phys{ background:rgba(78,205,196,.1);border:1.5px solid rgba(78,205,196,.35); }
.sci2-comp-col.chem{ background:rgba(255,112,67,.1);border:1.5px solid rgba(255,112,67,.35); }
.sci2-comp-head{ font-weight:800;font-size:1rem;text-align:center;margin-bottom:.6rem; }
.sci2-comp-row{ font-size:.8rem;color:var(--text2);line-height:1.7;margin-bottom:.3rem; }
.sci2-comp-eg{ font-size:.74rem;color:var(--text3);margin-top:.5rem;border-top:1px dashed var(--border);padding-top:.5rem;line-height:1.6; }
.sci2-speed{ display:flex;gap:.7rem;margin:.85rem 0; }
.sci2-speed-card{ flex:1;border-radius:14px;padding:1rem .6rem;text-align:center;border:1.5px solid var(--border); }
.sci2-speed-card.fast{ background:rgba(255,184,0,.1);border-color:rgba(255,184,0,.35); }
.sci2-speed-card.slow{ background:rgba(167,139,250,.1);border-color:rgba(167,139,250,.35); }
.ss-ico{ font-size:1.8rem; } .ss-t{ font-weight:800;margin:.25rem 0; } .ss-d{ font-size:.76rem;color:var(--text3);line-height:1.6; }
.sci2-human{ display:flex;gap:.7rem;margin-top:.85rem; }
.sci2-human-card{ flex:1;border-radius:14px;padding:1rem .6rem;text-align:center;font-size:.85rem;font-weight:600;line-height:1.7;border:1.5px solid var(--border); }
.sci2-human-card span{ font-size:2rem;display:block;margin-bottom:.3rem; }
.sci2-human-card small{ color:var(--text3);font-weight:400; }
.sci2-human-card.nat{ background:rgba(0,200,150,.08); } .sci2-human-card.man{ background:rgba(var(--p-rgb),.08); }

/* ════════ فصل ۲: آزمایشگاه ════════ */
.sci2-lab-counter{ text-align:center;font-size:.78rem;color:var(--text3);margin-bottom:.6rem; }
.sci2-lab-card{ background:var(--card);border:1.5px solid var(--border);border-radius:18px;padding:1.5rem 1.25rem; }
.sci2-lab-stage{ display:flex;justify-content:center;margin-bottom:1rem; }
.sci2-lab-mat{ text-align:center; }
.sci2-lab-emoji{ font-size:4rem;line-height:1.1;display:inline-block; }
.sci2-lab-name{ font-size:.95rem;font-weight:700;margin-top:.3rem;color:var(--text); }
.sci2-lab-action{ text-align:center;background:var(--bg3);border-radius:12px;padding:.7rem;font-size:.95rem;color:var(--text2);margin-bottom:1rem; }
.sci2-lab-action b{ color:var(--p); }
.sci2-lab-q{ text-align:center;font-weight:800;font-size:1rem;margin-bottom:.85rem; }
.sci2-lab-btns{ display:grid;grid-template-columns:1fr 1fr;gap:.7rem; }
.sci2-pred{ padding:15px 8px;border-radius:14px;border:2px solid var(--border);background:var(--card);font-family:'Estedad',sans-serif;font-size:1rem;font-weight:800;cursor:pointer;transition:all .15s;color:var(--text); }
.sci2-pred.phys:hover{ border-color:#4ECDC4;transform:translateY(-2px); }
.sci2-pred.chem:hover{ border-color:#FF7043;transform:translateY(-2px); }
.sci2-pred:active{ transform:scale(.96); }
.sci2-verdict{ text-align:center;font-weight:800;font-size:1rem;margin-top:1rem;padding:.7rem;border-radius:12px;animation:sgFbIn .3s ease; }
.sci2-verdict.ok{ background:rgba(67,217,173,.15);color:var(--g2); }
.sci2-verdict.no{ background:rgba(255,184,0,.15);color:#c98e00; }
.sci2-answer{ text-align:center;font-size:1rem;margin-top:.6rem;padding:.6rem;border-radius:12px;font-weight:700; }
.sci2-answer.phys{ background:rgba(78,205,196,.14);color:#1f9e93; }
.sci2-answer.chem{ background:rgba(255,112,67,.14);color:#d6502a; }
.sci2-why{ font-size:.88rem;color:var(--text2);line-height:1.9;margin-top:.7rem;background:var(--bg3);border-radius:12px;padding:.85rem 1rem; }
@keyframes sci2Burn{ 0%{transform:scale(1) rotate(0)}30%{transform:scale(1.25) rotate(-8deg)}60%{transform:scale(.8) rotate(8deg);opacity:.5}100%{transform:scale(1) rotate(0);opacity:1} }
@keyframes sci2Morph{ 0%{transform:scale(1)}40%{transform:scale(.6);opacity:.4}100%{transform:scale(1);opacity:1} }
.sci2-anim-burn{ animation:sci2Burn .65s ease; }
.sci2-anim-morph{ animation:sci2Morph .65s ease; }
.sci2-recap{ display:flex;gap:.7rem;margin-top:1.25rem;text-align:right; }
.sci2-recap-col{ flex:1;border-radius:14px;padding:.85rem .6rem; }
.sci2-recap-col.phys{ background:rgba(78,205,196,.1);border:1.5px solid rgba(78,205,196,.3); }
.sci2-recap-col.chem{ background:rgba(255,112,67,.1);border:1.5px solid rgba(255,112,67,.3); }
.sci2-recap-head{ font-weight:800;font-size:.9rem;text-align:center;margin-bottom:.5rem; }
.sci2-recap-item{ font-size:.76rem;color:var(--text2);padding:.35rem .5rem;background:var(--card);border-radius:8px;margin-bottom:.35rem;line-height:1.5; }

/* ════════ منوی آزمایش‌ها + آزمایش‌های جدید فصل ۲ ════════ */
.sci-exp-menu{ display:flex;flex-direction:column;gap:.7rem; }
.sci-exp-card{ display:flex;align-items:center;gap:12px;background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1rem;cursor:pointer;transition:all .18s; }
.sci-exp-card:hover{ border-color:var(--p);transform:translateY(-2px); }
.sci-exp-card:active{ transform:scale(.98); }
.sci-exp-emoji{ font-size:2rem;width:54px;height:54px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg3);border-radius:14px; }
.sci-exp-body{ flex:1; }
.sci-exp-title{ font-weight:800;font-size:.98rem;color:var(--text); }
.sci-exp-desc{ font-size:.78rem;color:var(--text3);margin-top:2px; }
.sci-exp-go{ color:var(--p);font-size:1.1rem;font-weight:900;flex-shrink:0; }
.sci-exp-back{ background:none;border:none;color:var(--p);font-family:'Estedad',sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;padding:6px 0;margin-bottom:.5rem; }

.sci2-sugar-grid{ display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem; }
.sci2-sugar-card{ background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1.1rem;text-align:center; }
.sci2-sugar-emoji{ font-size:3rem;line-height:1.1;display:inline-block;margin-bottom:.5rem; }
.sci2-sugar-btn{ width:100%;padding:12px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;font-family:'Estedad',sans-serif;font-size:.95rem;font-weight:700;cursor:pointer; }
.sci2-sugar-btn:active{ transform:scale(.97); }
.sci2-sugar-result:not(:empty){ margin-top:.7rem; }
.sci2-tag{ display:inline-block;font-weight:800;font-size:.82rem;padding:4px 12px;border-radius:20px;margin-bottom:.4rem; }
.sci2-tag.phys{ background:rgba(78,205,196,.18);color:#1f9e93; }
.sci2-tag.chem{ background:rgba(255,112,67,.18);color:#d6502a; }
.sci2-sugar-res-name{ font-weight:700;font-size:.9rem;margin-bottom:.3rem; }
.sci2-sugar-why{ font-size:.82rem;color:var(--text2);line-height:1.8; }
.sci2-conclusion{ background:linear-gradient(135deg,rgba(var(--p-rgb),.1),rgba(67,217,173,.1));border:1.5px solid var(--border2);border-radius:14px;padding:1rem 1.1rem;font-size:.9rem;line-height:1.9;color:var(--text);margin-top:.5rem; }
.sci2-sort-item{ background:var(--card);border:2px solid var(--border2);border-radius:16px;padding:1.5rem 1rem;text-align:center;font-size:1.2rem;font-weight:800;color:var(--text);margin-bottom:1rem; }

/* ════════ تصاویر در آزمایش‌ها ════════ */
.sci-exp-emoji img{ width:38px;height:38px;object-fit:contain; }
.sci2-lab-emoji img,.sci2-sugar-emoji img{ width:60px;height:60px;object-fit:contain;vertical-align:middle; }

/* ════════ آزمایشِ بادبادک ════════ */
.kite-stage{ display:flex;justify-content:center;align-items:center;min-height:230px;background:linear-gradient(180deg,rgba(var(--p-rgb),.06),transparent);border-radius:18px;margin-bottom:.5rem;overflow:hidden; }
.kite-sky{ background:linear-gradient(180deg,#bfe3ff,#eaf6ff); }
.kite-svg{ width:160px;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12)); }
.kite-flying{ animation:kiteFly 3s ease-in-out infinite; transform-origin:50% 0; }
@keyframes kiteFly{ 0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-12px) rotate(4deg)} }
.kite-materials,.doogh-materials{ background:var(--bg3);border-radius:12px;padding:.7rem .9rem;font-size:.82rem;color:var(--text2);line-height:1.7;margin-bottom:.4rem; }
.kite-step{ background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1.25rem; }
.kite-step-num{ font-size:.78rem;color:var(--p);font-weight:800;margin-bottom:.5rem; }
.kite-step-txt{ font-size:1rem;line-height:2;color:var(--text);font-weight:600; }
.kite-step-hint{ font-size:.82rem;color:var(--text3);background:var(--bg3);border-radius:10px;padding:.6rem .8rem;margin:.7rem 0;line-height:1.7; }

/* ════════ آزمایشِ دوغِ گازدار ════════ */
.doogh-card{ background:var(--card);border:1.5px solid var(--border);border-radius:18px;padding:1.5rem 1.25rem;text-align:center; }
.doogh-emoji{ font-size:3rem;margin-bottom:.6rem; }
.doogh-clock{ animation:dooghSpin 1.4s linear infinite;display:inline-block; }
@keyframes dooghSpin{ from{transform:rotate(0)}to{transform:rotate(360deg)} }
.doogh-q{ font-weight:700;font-size:.95rem;line-height:1.9;color:var(--text);margin-bottom:.7rem; }
.doogh-fizz{ position:relative; }
.fizz-bottle{ position:relative;font-size:3.5rem;display:inline-block; }
.fizz{ position:absolute;color:#7fd3ff;font-weight:900;opacity:0; }
.fizz.b1{ left:18%;animation:fizzUp 1.1s ease-out .0s 2; }
.fizz.b2{ left:40%;animation:fizzUp 1.0s ease-out .15s 2; }
.fizz.b3{ left:60%;animation:fizzUp 1.2s ease-out .3s 2; }
.fizz.b4{ left:30%;animation:fizzUp 0.9s ease-out .45s 2; }
.fizz.b5{ left:52%;animation:fizzUp 1.1s ease-out .25s 2; }
@keyframes fizzUp{ 0%{opacity:0;transform:translateY(0) scale(.6)}30%{opacity:1}100%{opacity:0;transform:translateY(-60px) scale(1.3)} }
.doogh-pop{ font-size:1.3rem;font-weight:900;color:var(--p);margin:.5rem 0;animation:sgFbIn .4s ease; }

/* ════════ فصل ۳: درسنامه ════════ */
.sci3-rainbow-band{ display:flex;height:18px;border-radius:10px;overflow:hidden;margin:.85rem 0; }
.sci3-rainbow-band span{ flex:1; }
.sci3-prism-demo{ position:relative;height:90px;display:flex;align-items:center;justify-content:center;gap:6px;margin:.85rem 0; }
.sci3-white-ray{ width:70px;height:5px;background:linear-gradient(90deg,transparent,#fff,#fff);border-radius:3px;box-shadow:0 0 8px #fff; }
.sci3-prism{ font-size:2.2rem; }
.sci3-fan{ display:flex;flex-direction:column;gap:2px; }
.sci3-fan span{ width:55px;height:4px;border-radius:3px; }
.sci3-magnify-demo{ display:flex;align-items:center;justify-content:center;gap:14px;margin:.85rem 0; }
.sci3-tiny{ font-size:.8rem;color:var(--text3);direction:ltr; }
.sci3-lens{ font-size:2rem; }
.sci3-big{ font-size:1.8rem;font-weight:900;color:var(--p);direction:ltr; }
.sci3-apps{ display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.6rem; }
.sci3-app{ background:var(--bg3);border-radius:12px;padding:.8rem;text-align:center;font-size:1.6rem; }
.sci3-app span{ display:block;font-size:.78rem;color:var(--text2);font-weight:600;margin-top:.25rem; }

/* ════════ فصل ۳: آزمایش‌ها ════════ */
/* منشور */
.prism-stage{ position:relative;height:200px;background:#10131f;border-radius:18px;overflow:hidden;display:flex;align-items:center;margin-bottom:1rem; }
.prism-ray{ position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:6px;background:linear-gradient(90deg,transparent,#fff);box-shadow:0 0 12px #fff;transition:width .5s ease; }
.prism-tri{ position:absolute;left:42%;top:50%;transform:translateY(-50%);font-size:3.5rem;z-index:2; }
.prism-fan{ position:absolute;left:55%;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3px;opacity:0;transition:opacity .6s ease .4s; }
.prism-fan i{ display:block;height:5px;width:0;border-radius:3px;transition:width .6s ease .4s;box-shadow:0 0 6px currentColor; }
.prism-screen{ position:absolute;right:6px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;color:#667;font-size:.75rem;background:rgba(255,255,255,.1);padding:6px 3px;border-radius:6px; }
.prism-stage.on .prism-ray{ width:42%; }
.prism-stage.on .prism-fan{ opacity:1; }
.prism-stage.on .prism-fan i{ width:120px; }
.prism-fan i:nth-child(1){ transform:rotate(-15deg) } .prism-fan i:nth-child(2){ transform:rotate(-9deg) }
.prism-fan i:nth-child(3){ transform:rotate(-3deg) } .prism-fan i:nth-child(4){ transform:rotate(3deg) }
.prism-fan i:nth-child(5){ transform:rotate(9deg) } .prism-fan i:nth-child(6){ transform:rotate(15deg) }
/* آب‌فشان رنگین‌کمان */
.spray-stage{ position:relative;height:200px;background:linear-gradient(180deg,#bfe3ff,#eaf6ff);border-radius:18px;overflow:hidden;margin-bottom:1rem; }
.spray-sun{ position:absolute;top:12px;right:18px;font-size:2.4rem; }
.spray-mist{ position:absolute;bottom:18px;left:24px;font-size:2.2rem;animation:bob 2s ease-in-out infinite; }
.spray-rainbow{ position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;opacity:0;animation:fadein 1s ease .3s forwards; }
.spray-rainbow span{ height:7px;border-radius:4px;width:60%; }
.spray-rainbow span:nth-child(1){width:64%}.spray-rainbow span:nth-child(2){width:60%}.spray-rainbow span:nth-child(3){width:56%}.spray-rainbow span:nth-child(4){width:52%}.spray-rainbow span:nth-child(5){width:48%}.spray-rainbow span:nth-child(6){width:44%}
/* ذره‌بین کانون */
.focus-stage{ position:relative;height:150px;background:linear-gradient(180deg,#fff5e0,#fff);border:1.5px solid var(--border);border-radius:18px;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;margin-bottom:.75rem; }
.focus-sun{ font-size:2.4rem; } .focus-lens{ font-size:2.6rem; }
.focus-paper{ position:relative;width:70px;height:90px;background:#fff;border:1.5px solid #e0d5b8;border-radius:6px;display:flex;align-items:center;justify-content:center; }
.focus-dot{ border-radius:50%;background:#ffe9a8;transition:all .15s; }
.focus-smoke{ position:absolute;top:-10px;font-size:1.4rem;opacity:0; }
.focus-smoke.on::after{ content:'💨'; } .focus-smoke.on{ opacity:1;animation:smokeUp 1.5s ease-out infinite; }
@keyframes smokeUp{ 0%{transform:translateY(0);opacity:.8}100%{transform:translateY(-25px);opacity:0} }
.focus-control{ display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--text3);margin-bottom:.5rem; }
.focus-control input{ flex:1; accent-color:var(--p); }
.focus-readout{ text-align:center;font-size:.88rem;font-weight:700;color:var(--text2);min-height:24px; }
/* بزرگ‌نمایی */
.mag-stage{ position:relative;height:160px;background:var(--card);border:1.5px solid var(--border);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;margin-bottom:.75rem;overflow:hidden; }
.mag-text{ font-size:.85rem;color:var(--text3); }
.mag-lens{ width:120px;height:80px;border:4px solid var(--p);border-radius:50%;background:rgba(var(--p-rgb),.06);display:flex;align-items:center;justify-content:center;overflow:hidden; }
.mag-zoom{ font-weight:800;color:var(--p);white-space:nowrap;transition:font-size .12s; }
/* وارونگی */
.flip-stage{ position:relative;height:170px;background:linear-gradient(180deg,#eef2ff,#fff);border:1.5px solid var(--border);border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem; }
.flip-arrow{ font-size:3rem;transition:transform .5s ease;z-index:1; }
.flip-arrow.flipped{ transform:scaleX(-1); }
.flip-glass{ position:absolute;width:90px;height:110px;border:3px solid rgba(120,140,200,.5);border-top:none;border-radius:0 0 16px 16px;overflow:hidden;background:rgba(200,220,255,.12); }
.flip-water{ position:absolute;bottom:0;width:100%;height:0;background:rgba(120,180,255,.35);transition:height .6s ease; }
.flip-glass.full .flip-water{ height:90%; }

/* ════════ فصل ۴: درسنامه ════════ */
.sci4-hardsoft{ display:flex;gap:.7rem;margin:.85rem 0; }
.sci4-hs{ flex:1;border-radius:14px;padding:1rem .6rem;text-align:center;font-size:2rem;border:1.5px solid var(--border); }
.sci4-hs span{ display:block;font-size:.85rem;font-weight:700;margin-top:.3rem;color:var(--text); }
.sci4-hs small{ color:var(--text3);font-weight:400; }
.sci4-hs.soft{ background:rgba(255,79,123,.08); } .sci4-hs.hard{ background:rgba(67,217,173,.1); }
.sci4-stages{ display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem; }
.sci4-stage{ display:flex;align-items:center;gap:10px;background:var(--bg3);border-radius:12px;padding:.7rem .9rem;font-size:.88rem;color:var(--text2);line-height:1.6; }
.s4n{ width:24px;height:24px;border-radius:50%;background:var(--p);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0; }
.sci4-layers-mini{ display:flex;flex-direction:column;border-radius:12px;overflow:hidden;margin-top:.6rem; }
.sci4-layers-mini div{ padding:.6rem;text-align:center;color:#fff;font-size:.8rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3); }
.sci4-uses{ display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.6rem 0; }
.sci4-uses div{ background:var(--bg3);border-radius:10px;padding:.7rem;font-size:.82rem;color:var(--text2);line-height:1.5; }

/* ════════ فصل ۴: آزمایش‌ها ════════ */
.hand-stage{ height:170px;background:#c9a063;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:inset 0 4px 16px rgba(0,0,0,.25); }
.hand-print{ font-size:5rem;filter:drop-shadow(0 3px 5px rgba(0,0,0,.4)); }
/* مراحلِ فسیل */
.form-stage{ position:relative;height:200px;border-radius:18px;overflow:hidden;margin-bottom:.75rem;background:linear-gradient(180deg,#bfe3ff 60%,#d9c08a 60%); }
.form-water{ position:absolute;inset:0 0 40% 0;background:linear-gradient(180deg,#9ad0f5,#5fa8e0);opacity:.6; }
.form-sand{ position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,#d9c08a,#b5965a); }
.form-creature{ position:absolute;left:50%;top:35%;transform:translateX(-50%);font-size:3rem;transition:all 1s ease;z-index:2; }
.form-mudlayer{ position:absolute;left:0;right:0;bottom:0;height:0;background:repeating-linear-gradient(180deg,#b5965a,#b5965a 6px,#9c7f49 6px,#9c7f49 12px);transition:height 1s ease; }
.f-dead .form-creature{ top:62%;transform:translateX(-50%) rotate(180deg); }
.f-mud .form-creature{ top:64%;transform:translateX(-50%) rotate(180deg);opacity:.7; }
.f-mud .form-mudlayer{ height:18%; }
.f-rock .form-creature{ top:70%;transform:translateX(-50%) rotate(180deg);opacity:.45; }
.f-rock .form-mudlayer{ height:42%; }
.form-dots{ display:flex;justify-content:center;gap:8px;margin-bottom:.6rem; }
.form-dots span{ width:9px;height:9px;border-radius:50%;background:var(--border); }
.form-dots span.on{ background:var(--p); }
/* لایه‌های رسوبی (لیوان) */
.cup-wrap{ display:flex;justify-content:center;margin-bottom:1rem; }
.cup{ width:150px;min-height:60px;display:flex;flex-direction:column-reverse;border:3px solid #b9b9c8;border-top:none;border-radius:0 0 14px 14px;background:#f4f4f8;overflow:hidden;box-shadow:inset 0 -3px 8px rgba(0,0,0,.1); }
.cup-layer{ height:34px;position:relative;transition:opacity .4s,height .4s;display:flex;align-items:center;justify-content:center; }
.cup-layer.thin{ height:24px; }
.cup-layer.removed{ opacity:0;height:0; }
.cup-fossil{ font-size:1.3rem;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3)); }
/* ردّ پا */
.track-box{ width:130px;height:130px;margin:0 auto 1rem;background:#fff;border:2px solid var(--border);border-radius:18px;display:flex;align-items:center;justify-content:center;padding:14px; }
.track-box svg{ width:100%;height:100%; }
.track-opts{ display:grid;grid-template-columns:1fr 1fr;gap:.6rem; }
.track-opts .sci2-pred{ font-size:.88rem; }
/* کدام قدیمی‌تر */
.older-q{ text-align:center;font-weight:800;font-size:1rem;margin-bottom:.8rem; }
.older-stack{ display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:2px solid var(--border);margin-bottom:.5rem; }
.older-layer{ height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;cursor:pointer;color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .12s; }
.older-layer:hover{ transform:scale(.99);filter:brightness(1.08); }
.older-name{ font-size:.9rem; } .older-fossil{ font-size:1.5rem; }

/* ════════ فصل ۵: درسنامه ════════ */
.sci5-vol{ display:flex;gap:.7rem;margin:.85rem 0; }
.sci5-vol-card{ flex:1;border-radius:14px;padding:1rem .6rem;text-align:center;border:1.5px solid var(--border); }
.sci5-vol-card.vol{ background:rgba(67,217,173,.1); } .sci5-vol-card.inv{ background:rgba(255,79,123,.08); }
.vh{ font-weight:800;font-size:1rem;margin-bottom:.4rem; } .vd{ font-size:.84rem;color:var(--text2);line-height:1.7; } .vd small{ color:var(--text3); }
.sci5-path{ display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin:.85rem 0;background:var(--bg3);border-radius:12px;padding:.8rem; }
.sci5-path span{ background:var(--card);border:1px solid var(--border);border-radius:10px;padding:6px 10px;font-size:.82rem;font-weight:700; }
.sci5-path b{ color:var(--p); }

/* ════════ فصل ۵: مدلِ بازو ════════ */
.arm-wrap{ background:linear-gradient(180deg,#fff,#f6f7fb);border:1.5px solid var(--border);border-radius:18px;padding:.5rem;margin-bottom:1rem;display:flex;justify-content:center; }
.arm-svg{ width:100%;max-width:300px;height:auto; }
.arm-fore{ transform-box:view-box;transform-origin:140px 110px;transition:transform .6s cubic-bezier(.5,.05,.3,1.3); }
.arm-wrap.arm-straight .arm-fore{ transform:rotate(0deg); }
.arm-wrap.arm-bent .arm-fore{ transform:rotate(-118deg); }
.arm-biceps{ transform-box:fill-box;transform-origin:center;transition:transform .5s,fill .5s;fill:#f3b4b4; }
.arm-triceps{ transform-box:fill-box;transform-origin:center;transition:transform .5s,fill .5s;fill:#b4c8f3; }
.arm-wrap.arm-bent .arm-biceps{ fill:#e74c3c;transform:scale(1.15,1.45); }
.arm-wrap.arm-straight .arm-triceps{ fill:#3498db;transform:scale(1.12,1.4); }
.arm-btns{ display:grid;grid-template-columns:1fr 1fr;gap:.7rem; }
.arm-btn{ padding:13px 8px;border:none;border-radius:14px;color:#fff;font-family:'Estedad',sans-serif;font-size:.9rem;font-weight:800;cursor:pointer;transition:transform .12s; }
.arm-btn:active{ transform:scale(.96); }
.arm-btn.red{ background:linear-gradient(135deg,#e74c3c,#c0392b); }
.arm-btn.blue{ background:linear-gradient(135deg,#3498db,#2471a3); }
.arm-msg:not(:empty){ margin-top:.85rem; }

/* ════════ فصل ۵: مسیرِ عصب ════════ */
.nerve-path{ display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:.75rem;flex-wrap:wrap; }
.nerve-node{ display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card);border:2px solid var(--border);border-radius:14px;padding:.6rem .5rem;min-width:58px;opacity:.5;transition:all .3s; }
.nerve-node.on{ opacity:1;border-color:var(--p);background:rgba(var(--p-rgb),.12);transform:scale(1.08);box-shadow:0 4px 14px rgba(var(--p-rgb),.3); }
.nn-ico{ font-size:1.5rem; } .nn-lbl{ font-size:.74rem;font-weight:700; }
.nerve-arrow{ color:var(--text3);font-weight:900; }

/* ════════ فصل ۵: ارادی/غیرارادی ════════ */
.vol-card{ background:var(--card);border:2px solid var(--border2);border-radius:18px;padding:1.5rem;text-align:center;margin-bottom:1rem; }
.vol-ico{ font-size:3rem; } .vol-name{ font-size:1.15rem;font-weight:800;margin-top:.4rem; }

/* ════════ فصل ۵: اسکلت ════════ */
.skel-stage{ display:flex;justify-content:center;background:linear-gradient(180deg,#eef2ff,#fff);border:1.5px solid var(--border);border-radius:18px;padding:1rem;margin-bottom:.75rem; }
.skel-svg{ height:280px;width:auto; }
.skel-part{ fill:#cfd6e6;stroke:#cfd6e6;cursor:pointer;transition:all .2s; }
.skel-part:hover{ fill:#a9b4d6;stroke:#a9b4d6; }
.skel-part.seen{ fill:#9fb0e0;stroke:#9fb0e0; }
.skel-part.active{ fill:var(--p);stroke:var(--p);filter:drop-shadow(0 0 6px rgba(var(--p-rgb),.6)); }
.skel-info{ background:var(--bg3);border-radius:12px;padding:.85rem 1rem;font-size:.9rem;color:var(--text2);line-height:1.8;min-height:30px;text-align:center; }
.skel-info b{ color:var(--p); }
.skel-prog{ text-align:center;font-size:.8rem;color:var(--text3);margin-top:.5rem; }

/* ════════ فصل ۵: مفصل/انگشت ════════ */
.finger-stage{ display:flex;justify-content:center;background:linear-gradient(180deg,#fff,#f6f7fb);border:1.5px solid var(--border);border-radius:18px;padding:1rem;margin-bottom:1rem; }
.finger-svg{ width:100%;max-width:260px;height:auto; }
.finger-svg .seg2{ transform-box:view-box;transform-origin:78px 70px;transition:transform .5s; }
.finger-svg .seg3{ transform-box:view-box;transform-origin:129px 69px;transition:transform .5s; }
.finger-svg.bent .seg2{ transform:rotate(50deg); }
.finger-svg.bent .seg3{ transform:rotate(45deg); }
.joint-dot{ fill:#e74c3c;opacity:.7; }

/* safety: prevent any horizontal overflow leaking (clip preserves sticky topbar) */
.main{ overflow-x:clip; }
.sci-sum-item,.sci-summary,.sci2-comp-eg,.sci2-why,.kite-step-txt{ word-break:normal;overflow-wrap:normal; }

/* ════════ اسکلتِ واقعی ════════ */
.skel-stage{ background:radial-gradient(circle at 50% 26%, #2d3052, #15172b)!important; border:none!important; padding:.75rem!important; }
.skel-svg{ height:330px;width:auto; }
.bf{ fill:#ece4cc; stroke:#c9bd99; stroke-width:1; transition:fill .2s,stroke .2s; }
.bs{ fill:none; stroke:#ece4cc; transition:stroke .2s; }
.skel-part{ cursor:pointer; }
.skel-part:hover .bf{ fill:#fff7e2; } .skel-part:hover .bs{ stroke:#fff7e2; }
.skel-part.seen .bf{ fill:#cfc4f7; stroke:#b3a6e8; } .skel-part.seen .bs{ stroke:#cfc4f7; }
.skel-part.active .bf{ fill:#8b7bff; stroke:var(--p); } .skel-part.active .bs{ stroke:#8b7bff; filter:drop-shadow(0 0 4px rgba(139,123,255,.85)); }
.skel-info{ background:var(--bg3);border-radius:12px;padding:.85rem 1rem;font-size:.9rem;color:var(--text2);line-height:1.8;min-height:30px;text-align:center; }

/* ════════ مسیرِ عصب: انیمیشنِ سیگنال ════════ */
.nerve-wrap{ display:flex;justify-content:center;background:linear-gradient(180deg,#f3f1ff,#fff);border:1.5px solid var(--border);border-radius:18px;padding:.75rem;margin-bottom:1rem; }
.nerve-fig{ width:100%;max-width:280px;height:auto; }
.nsignal{ offset-path:path('M120 52 L120 122 Q138 134 158 140'); offset-distance:0%; fill:#FF3B6B; opacity:0; filter:drop-shadow(0 0 6px rgba(255,59,107,.9)); }
.nerve-wrap.go .nsignal{ animation:nsig 2.1s ease-in-out forwards; }
@keyframes nsig{ 0%{offset-distance:0%;opacity:0} 6%{opacity:1} 100%{offset-distance:100%;opacity:1} }
.nerve-fore2{ transform-box:view-box;transform-origin:184px 150px;transition:transform .55s cubic-bezier(.5,.05,.3,1.3); }
.nerve-wrap.bent .nerve-fore2{ transform:rotate(-112deg); }
.nmuscle{ fill:#f3b4b4;transition:fill .4s; }
.nerve-wrap.bent .nmuscle{ fill:#e74c3c; }
.ncap{ fill:#9294B8;font-family:'Estedad',sans-serif;font-weight:600;transition:fill .2s; }
.ncap.on{ fill:var(--p);font-weight:800; }

/* ════════ بازیِ گِل (فصل ۴) ════════ */
.clay-tools{ display:flex;gap:.4rem;margin-bottom:.55rem;flex-wrap:wrap; }
.clay-tool{ flex:1;min-width:44px;padding:9px 6px;border:1.5px solid var(--border);border-radius:10px;background:var(--card);font-size:1.05rem;cursor:pointer;font-family:'Estedad',sans-serif;color:var(--text);transition:all .15s; }
.clay-tool.active{ border-color:var(--p);background:rgba(var(--p-rgb),.14); }
.clay-wrap{ position:relative;border-radius:16px;overflow:hidden;box-shadow:inset 0 4px 18px rgba(0,0,0,.3);border:4px solid #8a6a3f; }
#clay-canvas{ display:block;width:100%;height:auto;touch-action:none;cursor:crosshair; }
.clay-dry-label{ position:absolute;top:10px;left:50%;transform:translateX(-50%);background:rgba(67,217,173,.96);color:#04402f;font-weight:800;font-size:.85rem;padding:5px 14px;border-radius:20px;opacity:0;transition:opacity .4s; }
.clay-dry-label.on{ opacity:1; }
.sci-learn{ overflow-x:clip; }

/* ════════ کارگاهِ فسیل‌سازی (فصل ۴) ════════ */
.foss-wrap{ display:flex;flex-direction:column;gap:.7rem; }
.foss-head{ background:linear-gradient(135deg,#5b4a36,#3c3020);border-radius:16px;padding:.85rem 1rem;color:#f3ead8; }
.foss-title{ font-weight:900;font-size:1.05rem;margin-bottom:.5rem; }
.foss-steps{ display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:.74rem; }
.fstep{ padding:3px 9px;border-radius:20px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.5);font-weight:700;transition:all .3s; }
.fstep.on{ background:rgba(255,209,102,.25);color:#FFD166; }
.fstep.now{ background:#FFD166;color:#3c3020;box-shadow:0 0 12px rgba(255,209,102,.5); }
.fsep{ color:rgba(255,255,255,.3); }
.foss-scene{ display:flex;justify-content:center;padding:.6rem;background:radial-gradient(circle at 50% 35%,#3a3324,#211b12);border-radius:16px; }
.foss-slab{ position:relative;width:100%;max-width:420px;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.5),inset 0 2px 10px rgba(255,255,255,.08);border:5px solid #6b5740;transition:transform .25s; }
.foss-slab.pressing{ animation:fossPress 1.4s ease-in-out; }
@keyframes fossPress{ 0%,100%{transform:scaleY(1)}40%{transform:scaleY(.965)}70%{transform:scaleY(.98)} }
.foss-slab canvas{ display:block;width:100%;height:auto;touch-action:none; }
#foss-base{ position:relative;z-index:1; }
#foss-cover{ position:absolute;inset:0;z-index:2;cursor:crosshair; }
.foss-era{ position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:3;background:rgba(20,16,10,.75);color:#FFD166;font-weight:800;font-size:.85rem;padding:4px 14px;border-radius:20px;pointer-events:none; }
.foss-tools{ display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem; }
.foss-tool{ flex:1;min-width:52px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:1.5px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;font-size:1.3rem;transition:all .15s; }
.foss-tool span{ font-size:.68rem;color:var(--text2);font-weight:600;font-family:'Estedad',sans-serif; }
.foss-tool.active{ border-color:#b07f44;background:rgba(176,127,68,.14); }
.foss-btn{ width:100%;padding:13px;border:none;border-radius:14px;color:#fff;font-family:'Estedad',sans-serif;font-size:.96rem;font-weight:800;cursor:pointer;transition:transform .12s; }
.foss-btn:active{ transform:scale(.98); }
.foss-btn:disabled{ opacity:.45;cursor:not-allowed; }
.foss-btn.go{ background:linear-gradient(135deg,#b07f44,#8a5f2e); }
.foss-btn.pour{ background:linear-gradient(135deg,#43D9AD,#2BB88E); }
.foss-btn.time{ background:linear-gradient(135deg,#9b59b6,#7d3c98); }
.foss-hint-brush{ text-align:center;font-size:.9rem;color:var(--text2);font-weight:600;padding:.4rem; }
.foss-concept{ background:rgba(176,127,68,.1);border:1px solid rgba(176,127,68,.25);border-radius:12px;padding:.8rem 1rem;font-size:.84rem;color:var(--text2);line-height:1.85; }
.foss-concept b{ color:var(--text); }

/* ════════ آزمایشگاهِ بازو — تمام‌صفحه ════════ */
.armlab-overlay{ position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 50% 18%,#16243a,#0a0f1a);display:flex;flex-direction:column;animation:fadein .3s; }
.armlab-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem 1rem;flex-shrink:0; }
.armlab-title{ font-weight:900;font-size:1.05rem;color:#fff; }
.armlab-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem;cursor:pointer;z-index:10;flex-shrink:0; }
.armlab-stage{ flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0; }
.al-svg{ height:min(56vh,470px);max-width:96%;width:auto;touch-action:none;cursor:grab; }
.armlab-stage.dragging{ cursor:grabbing; }
.al-lab{ fill:#cfe0ff;font-family:'Estedad',sans-serif;font-size:13px;font-weight:600; }
#al-labels{ transition:opacity .25s; }
.armlab-hint{ position:absolute;bottom:6px;left:0;right:0;text-align:center;color:rgba(255,255,255,.45);font-size:.8rem;transition:opacity .3s; }
.armlab-panel{ background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.09);padding:.9rem 1rem 1.3rem;flex-shrink:0; }
.armlab-readout{ background:rgba(255,255,255,.08);border-radius:12px;padding:.7rem 1rem;color:#eef;font-size:.9rem;text-align:center;min-height:22px;margin-bottom:.7rem;line-height:1.8; }
.armlab-readout b{ color:#fff; }
.armlab-controls{ display:flex;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap; }
.armlab-btn{ flex:1;min-width:74px;padding:11px 6px;border:none;border-radius:12px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.84rem;color:#fff;cursor:pointer;transition:transform .12s,opacity .2s; }
.armlab-btn:active{ transform:scale(.96); }
.armlab-concept{ color:rgba(255,255,255,.62);font-size:.8rem;line-height:1.9; }
.armlab-concept b{ color:#fff; }

/* ════════ کارگاهِ تغییرِ ماده — تمام‌صفحه (فصل ۲) ════════ */
.mlab-overlay{ position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 50% 20%,#1b2030,#0c0e16);display:flex;flex-direction:column;animation:fadein .3s; }
.mlab-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem 1rem;flex-shrink:0; }
.mlab-title{ font-weight:900;font-size:1.05rem;color:#fff; }
.mlab-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.mlab-stage{ flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:0;padding:.5rem; }
.mlab-bench{ width:min(92%,420px);height:min(42vh,300px);border-radius:18px;background:linear-gradient(180deg,#23283a,#171b28);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 6px 24px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden; }
.ml-scene{ width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative; }
.ml-empty{ color:rgba(255,255,255,.4);font-size:.92rem; }
.ml-idle{ font-size:5rem;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4));animation:fadein .4s; }
.mlab-tally{ margin-top:.7rem;color:#FFD166;font-weight:700;font-size:.85rem; }
.mlab-panel{ background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.09);padding:.85rem 1rem 1.3rem;flex-shrink:0; }
.mlab-readout{ color:#eef;font-size:.9rem;text-align:center;min-height:22px;margin-bottom:.7rem;line-height:1.85; }
.mlab-readout b{ color:#fff; }
.mlab-verdict{ font-weight:800;margin-bottom:.4rem; } .mlab-verdict.ok{ color:#43D9AD; } .mlab-verdict.no{ color:#FF8FA8; }
.mlab-why{ color:rgba(255,255,255,.75);font-size:.85rem;line-height:1.9;margin-bottom:.5rem; } .mlab-why b{ color:#FFD166; }
.mlab-badges{ display:flex;justify-content:center;margin-bottom:.5rem; }
.mlb{ font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:20px; } .mlb.rev{ background:rgba(67,217,173,.18);color:#43D9AD; } .mlb.new{ background:rgba(255,143,168,.18);color:#FF8FA8; }
.mlab-actions{ display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:.7rem; }
.mlab-actbtn{ padding:11px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.88rem;cursor:pointer; }
.mlab-actbtn.next{ background:linear-gradient(135deg,#43D9AD,#2BB88E); }
.mlab-guess{ flex:1;max-width:180px;padding:13px;border:none;border-radius:12px;color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer; }
.mlab-guess.phys{ background:linear-gradient(135deg,#3498db,#2471a3); } .mlab-guess.chem{ background:linear-gradient(135deg,#e67e22,#ca6510); }
.mlab-tray{ display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap; }
.mlab-mat{ display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;border:1.5px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05);color:#cdd3e6;font-family:'Estedad',sans-serif;font-size:.72rem;font-weight:600;cursor:pointer;transition:all .15s; }
.mlab-mat .mm-ico{ font-size:1.5rem; }
.mlab-mat.on{ border-color:var(--p);background:rgba(var(--p-rgb),.2);color:#fff; }
/* animations */
.ml-ice{ width:96px;height:96px;border-radius:16px;background:linear-gradient(135deg,#dff2ff,#a7dbf6);box-shadow:0 6px 16px rgba(0,0,0,.3),inset 0 2px 8px rgba(255,255,255,.6);transition:all 1.9s ease-in; }
.ml-ice.go{ transform:scale(.18) translateY(40px);opacity:0; }
.ml-puddle{ position:absolute;bottom:34px;width:40px;height:8px;background:#5fb6ec;border-radius:50%;opacity:.5;transition:all 1.9s ease; }
.ml-puddle.go{ width:150px;height:20px;opacity:.85; } .ml-puddle.big{ width:170px;height:22px; }
.ml-water{ width:150px;height:90px;border-radius:0 0 16px 16px;background:linear-gradient(180deg,#7cc6f0,#4a9fd8);transition:all 1.6s; }
.ml-water.frozen{ background:linear-gradient(135deg,#dff2ff,#a7dbf6);border-radius:14px;box-shadow:inset 0 2px 8px rgba(255,255,255,.6); }
.ml-flake{ position:absolute;top:-10%;font-size:1.2rem;animation:mlFall 1.6s linear forwards; }
@keyframes mlFall{ to{ transform:translateY(260px) rotate(180deg);opacity:0; } }
.ml-beaker{ width:120px;height:140px;border:4px solid rgba(255,255,255,.5);border-top:none;border-radius:0 0 22px 22px;position:relative;overflow:hidden; }
.ml-bwater{ position:absolute;bottom:0;left:0;right:0;height:78%;background:linear-gradient(180deg,#8fd0f5,#5aa9dd); }
.ml-grains{ position:absolute;inset:0;transition:opacity 1.6s; } .ml-grains.gone{ opacity:0; }
.ml-grain{ position:absolute;width:7px;height:7px;background:#fff;border-radius:2px;box-shadow:0 0 3px rgba(0,0,0,.2);animation:mlSink 1.8s ease-in forwards; }
@keyframes mlSink{ to{ transform:translateY(90px);opacity:.2; } }
.ml-pile{ width:70px;height:46px;border-radius:50% 50% 14px 14px;background:#f3ead8;transition:background 2.1s; }
.ml-pile.burn{ background:#1c140c; } 
.ml-fire{ position:absolute;bottom:18px;font-size:2.4rem;animation:mlFlick .3s infinite alternate; }
@keyframes mlFlick{ from{transform:scale(1) translateY(0);opacity:.9} to{transform:scale(1.12) translateY(-3px);opacity:1} }
.ml-paper{ width:90px;height:110px;background:linear-gradient(180deg,#fff,#eee);border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,.3);transition:all 2.1s ease-in; }
.ml-paper.burning{ transform:scale(.3) translateY(60px) rotate(8deg);background:#2a2018;opacity:.3; }
.ml-flames{ position:absolute;bottom:30px;left:0;right:0;height:60px; }
.ml-flame{ position:absolute;bottom:0;font-size:1.8rem;animation:mlFlick .25s infinite alternate; }
.ml-ash{ font-size:3rem;opacity:.7;animation:fadein .5s; }
.ml-ashpile{ position:absolute;bottom:40px;width:80px;height:14px;background:#3a3a3a;border-radius:50%;opacity:.7; }
.ml-bar{ width:150px;height:34px;border-radius:6px;background:linear-gradient(180deg,#c4c8cf,#9aa0a8);position:relative;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.3); }
.ml-rust{ position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,#b5651d 0,transparent 28%),radial-gradient(circle at 55% 40%,#a0522d 0,transparent 30%),radial-gradient(circle at 80% 60%,#8b4513 0,transparent 32%);opacity:0;transition:opacity 2.1s; }
.ml-rust.go{ opacity:.95; }
.ml-clock{ position:absolute;top:10px;font-size:1.6rem;animation:mlFlick .8s infinite alternate; }
.ml-smoke{ position:absolute;bottom:60px;width:16px;height:16px;background:rgba(180,180,180,.5);border-radius:50%;animation:mlSmoke 1.6s ease-out forwards; }
@keyframes mlSmoke{ to{ transform:translateY(-120px) scale(2.4);opacity:0; } }
.ml-drip{ position:absolute;top:40%;width:6px;height:10px;background:#5fb6ec;border-radius:50%;animation:mlDrip .7s ease-in forwards; }
@keyframes mlDrip{ to{ transform:translateY(80px);opacity:0; } }

/* ════════ آزمایشگاهِ نور — تمام‌صفحه (فصل ۳) ════════ */
.lab3-overlay{ position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 50% 30%,#10141f,#05070d);display:flex;flex-direction:column;animation:fadein .3s; }
.lab3-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .6rem;flex-shrink:0; }
.lab3-title{ font-weight:900;font-size:1.05rem;color:#fff; }
.lab3-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.lab3-modes{ display:flex;gap:.5rem;justify-content:center;padding:.2rem 1rem .6rem;flex-shrink:0; }
.lab3-modebtn{ padding:9px 20px;border:1.5px solid rgba(255,255,255,.15);border-radius:30px;background:rgba(255,255,255,.05);color:#cdd3e6;font-family:'Estedad',sans-serif;font-weight:800;font-size:.88rem;cursor:pointer;transition:all .15s; }
.lab3-modebtn.on{ border-color:#FFD166;background:rgba(255,209,102,.18);color:#FFD166; }
.lab3-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.4rem; }
.lab3-svg{ width:min(96%,440px);height:auto;touch-action:none;cursor:grab; }
.lab3-handle{ cursor:grab; }
.lab3-panel{ background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.09);padding:.85rem 1.1rem 1.3rem;flex-shrink:0; }
.lab3-readout{ color:#eef;font-size:.92rem;text-align:center;min-height:22px;margin-bottom:.55rem;line-height:1.85; }
.lab3-readout b{ color:#FFD166; }
.lab3-concept{ color:rgba(255,255,255,.62);font-size:.8rem;line-height:1.95; }
.lab3-concept b{ color:#fff; }

/* ════════ کاوشگاهِ فسیل — تمام‌صفحه (فصل ۴) ════════ */
.dig4-overlay{ position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 50% 20%,#241a10,#120d07);display:flex;flex-direction:column;animation:fadein .3s; }
.dig4-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .6rem;flex-shrink:0; }
.dig4-title{ font-weight:900;font-size:1.05rem;color:#fff; }
.dig4-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.dig4-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.4rem;gap:8px; }
.dig4-ruler{ display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:min(52vh,440px);color:rgba(255,255,255,.55);font-size:.7rem;font-weight:700;writing-mode:vertical-rl; }
.dr-line{ flex:1;width:3px;background:linear-gradient(180deg,#7a5a38,#4f5563);border-radius:3px;margin:6px 0; }
.dig4-pit{ position:relative;width:min(90%,440px);border-radius:14px;overflow:hidden;border:5px solid #6b5740;box-shadow:0 10px 30px rgba(0,0,0,.5); }
.dig4-pit canvas{ display:block;width:100%;height:auto; }
#dig-base{ position:relative;z-index:1; }
#dig-cover{ position:absolute;inset:0;z-index:2;cursor:crosshair;touch-action:none; }
.dig4-panel{ background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.09);padding:.8rem 1rem 1.2rem;flex-shrink:0; }
.dig4-readout{ color:#eef;font-size:.88rem;text-align:center;min-height:22px;margin-bottom:.6rem;line-height:1.8; } .dig4-readout b{ color:#FFD166; }
.dig4-tools{ display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem; }
.dig4-tool{ flex:1;padding:10px;border:1.5px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.05);color:#cdd3e6;font-family:'Estedad',sans-serif;font-weight:800;font-size:.86rem;cursor:pointer;transition:all .15s; }
.dig4-tool.on{ border-color:#FFD166;background:rgba(255,209,102,.18);color:#FFD166; }
.dig4-count{ color:#43D9AD;font-weight:800;font-size:.85rem;white-space:nowrap;padding:0 .4rem; }
.dig4-journal{ display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap; }
.dig4-chip{ display:flex;flex-direction:column;align-items:center;gap:1px;min-width:58px;padding:7px 6px;border-radius:12px;background:rgba(255,255,255,.05);border:1.5px dashed rgba(255,255,255,.16); }
.dig4-chip.got{ border-style:solid;border-color:#43D9AD;background:rgba(67,217,173,.12);cursor:pointer; }
.dc-e{ font-size:1.4rem; } .dc-n{ font-size:.72rem;color:#eef;font-weight:700; } .dc-age{ font-size:.62rem;color:#FFD166; }

/* ════════ کارآگاهِ علم — تمام‌صفحه (فصل ۱) ════════ */
.bio1-overlay{ position:fixed;inset:0;z-index:500;background:radial-gradient(circle at 50% 18%,#0f2418,#07120c);display:flex;flex-direction:column;animation:fadein .3s; }
.bio1-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .5rem;flex-shrink:0; }
.bio1-title{ font-weight:900;font-size:1.05rem;color:#fff; }
.bio1-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.bio1-steps{ display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:.1rem 1rem .5rem;flex-shrink:0;font-size:.74rem; }
.bio1-stp{ padding:3px 10px;border-radius:20px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.5);font-weight:700; }
.bio1-stp.now{ background:#43D9AD;color:#04332a; }
.bio1-sep{ color:rgba(255,255,255,.3); }
.bio1-stage{ flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:.5rem;gap:.5rem; }
.bio-scene{ text-align:center;color:#dfe; } .bio-greenhouse{ font-size:3rem;margin-bottom:.5rem; } .bio-bignote{ font-size:4rem; }
.bio-q{ color:#cfe; font-size:1rem;line-height:1.9;max-width:340px;margin:0 auto; } .bio-q b{ color:#FFD166; }
.bio-pots{ display:flex;gap:1.2rem;justify-content:center;align-items:flex-end; }
.bio-pot-wrap{ display:flex;flex-direction:column;align-items:center; }
.bio-plant{ width:min(40vw,150px);height:auto; }
.bio-cond{ margin-bottom:.3rem;min-height:24px; }
.cc{ font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap; } .cc.on{ background:rgba(255,209,102,.2);color:#FFD166; } .cc.off{ background:rgba(255,255,255,.1);color:#9aa; }
.bio-label{ margin-top:.2rem;font-size:.8rem;color:#cfe;font-weight:700; }
.bio-same{ text-align:center;color:rgba(255,255,255,.65);font-size:.78rem;line-height:1.7;max-width:340px; } .bio-same b{ color:#fff; }
.bio1-panel{ background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.09);padding:.85rem 1rem 1.3rem;flex-shrink:0; }
.bio1-read,.bio1-read2{ color:#eef;font-size:.9rem;text-align:center;margin-bottom:.7rem;line-height:1.85; } .bio1-read b,.bio1-read2 b{ color:#FFD166; } .bio1-read2 small{ color:rgba(255,255,255,.6); }
.bio1-factors{ display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:.7rem; }
.bio1-fbtn{ padding:11px 16px;border:1.5px solid rgba(255,255,255,.15);border-radius:12px;background:rgba(255,255,255,.06);color:#eef;font-family:'Estedad',sans-serif;font-weight:800;font-size:.9rem;cursor:pointer; }
.bio1-fbtn.done{ opacity:.5;border-color:#43D9AD;color:#43D9AD; }
.bio1-hypo{ display:flex;gap:.6rem;justify-content:center; }
.bio1-hbtn{ flex:1;max-width:180px;padding:13px;border:none;border-radius:12px;color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer; }
.bio1-hbtn.yes{ background:linear-gradient(135deg,#43D9AD,#2BB88E); } .bio1-hbtn.no{ background:linear-gradient(135deg,#FF6584,#d8456a); }
.bio1-run{ display:block;width:100%;max-width:280px;margin:0 auto;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer; }
.bio1-run.next{ background:linear-gradient(135deg,#43D9AD,#2BB88E); }
.bio1-verdict{ font-weight:800;text-align:center;margin-bottom:.4rem; } .bio1-verdict.ok{ color:#43D9AD; } .bio1-verdict.no{ color:#FFD166; }
.bio1-board{ display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center; }
.bio1-bchip{ display:flex;flex-direction:column;align-items:center;min-width:62px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.05);color:#cfe;font-size:.76rem;font-weight:700;border:1px solid rgba(255,255,255,.1); }
.bio1-bchip small{ font-size:.62rem;color:#FFD166;font-weight:600;margin-top:1px; } .bio1-bchip.on{ border-color:#43D9AD; }
.bio1-final{ text-align:center;color:#dfe;font-size:.86rem;line-height:1.9;margin-top:.7rem;background:rgba(67,217,173,.1);border:1px solid rgba(67,217,173,.3);border-radius:12px;padding:.8rem; } .bio1-final b{ color:#43D9AD; }

/* ════════ حالت‌های ماده — تمام‌صفحه روشن (فصل ۲) ════════ */
.st2-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(160deg,#eaf3ff 0%,#fef6ee 60%,#ffeaf0 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.st2-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .6rem;flex-shrink:0; }
.st2-title{ font-weight:900;font-size:1.05rem;color:#2a2d4a; }
.st2-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(42,45,74,.1);color:#2a2d4a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.st2-stage{ flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;overflow:hidden;padding:.4rem;gap:.45rem; }
.st2-macro{ text-align:center; }
.st2-emoji{ font-size:2rem;line-height:1; } .st2-state{ font-weight:900;color:#2a2d4a;font-size:1.05rem;margin-top:2px; } .st2-temp{ color:#e07b39;font-weight:800;font-size:.85rem; }
.st2-box{ width:min(82%,300px);max-height:48vh;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#ffffff,#eef5ff);border:3px solid #fff;box-shadow:0 10px 30px rgba(90,120,200,.25),inset 0 2px 10px rgba(120,160,230,.15); }
.st2-box canvas{ display:block;width:100%;height:auto;touch-action:none; }
.st2-panel{ background:rgba(255,255,255,.7);backdrop-filter:blur(6px);border-top:1px solid rgba(120,140,200,.18);padding:.7rem 1rem 1.1rem;flex-shrink:0; }
.st2-presets{ display:flex;gap:.5rem;justify-content:center;margin-bottom:.7rem;flex-wrap:wrap; }
.st2-pre{ flex:1;min-width:96px;padding:11px 8px;border:none;border-radius:12px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.82rem;color:#fff;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.12); }
.st2-pre.solid{ background:linear-gradient(135deg,#5ab0ff,#3a8fe0); } .st2-pre.liquid{ background:linear-gradient(135deg,#43D9AD,#2BB88E); } .st2-pre.gas{ background:linear-gradient(135deg,#ff8a5b,#f0623a); }
.st2-thermo{ display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem; }
.st2-thermo span{ font-size:1.2rem; }
.st2-thermo input[type=range]{ flex:1;-webkit-appearance:none;appearance:none;height:12px;border-radius:10px;background:linear-gradient(90deg,#3aa0ff,#43D9AD,#ffd24a,#ff6a3d);outline:none; }
.st2-thermo input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--p);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.25); }
.st2-thermo input[type=range]::-moz-range-thumb{ width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--p);cursor:pointer; }
.st2-concept{ color:#41476b;font-size:.78rem;line-height:1.8;text-align:center; } .st2-concept b{ color:#2a2d4a; }

/* ════════ سرعتِ واکنش — تمام‌صفحه روشن (فصل ۵) ════════ */
.react5-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(160deg,#fff3e6 0%,#ffe9f0 55%,#eef3ff 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.react5-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .5rem;flex-shrink:0; }
.react5-title{ font-weight:900;font-size:1.05rem;color:#3a2d2d; }
.react5-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(58,45,45,.1);color:#3a2d2d;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.react5-diagram{ display:flex;justify-content:center;padding:.2rem 1rem;flex-shrink:0; }
.r5-path{ width:min(90%,320px);height:auto; }
.r5-signal{ offset-path:path('M40 35 L280 35'); offset-distance:0%; opacity:0; }
.react5-diagram.go .r5-signal{ animation:r5sig .5s ease-in forwards; }
@keyframes r5sig{ 0%{offset-distance:0%;opacity:1} 100%{offset-distance:100%;opacity:1} }
.react5-target{ flex:1;margin:.6rem 1rem;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:background .15s;box-shadow:0 10px 30px rgba(0,0,0,.1);min-height:0; }
.react5-target.idle{ background:linear-gradient(135deg,#fff,#fdeede);color:#5a4a3a; }
.react5-target.seq{ background:linear-gradient(160deg,#2b2f3e,#161922);color:#fff; }
.react5-target.wait{ background:linear-gradient(135deg,#ff8a5b,#f0623a);color:#fff; }
.react5-target.go{ background:linear-gradient(135deg,#43D9AD,#22b07e);color:#fff;animation:r5pop .2s; }
.react5-target.early{ background:linear-gradient(135deg,#ffd166,#f0b429);color:#5a4500; }
.react5-target.result{ background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff; }
@keyframes r5pop{ from{transform:scale(.96)} to{transform:scale(1)} }
.r5-lights{ display:flex;gap:.9rem;margin-bottom:1.1rem; }
.r5-light{ width:clamp(40px,13vw,58px);height:clamp(40px,13vw,58px);border-radius:50%;background:#3a1414;box-shadow:inset 0 -4px 8px rgba(0,0,0,.55),inset 0 4px 6px rgba(255,255,255,.06);transition:all .1s; }
.r5-light.on{ background:radial-gradient(circle at 40% 33%,#ff8a8a,#e01010);box-shadow:0 0 24px rgba(255,40,40,.9),inset 0 -3px 6px rgba(120,0,0,.5); }
.r5-big{ font-size:4rem;line-height:1; } .r5-ms{ font-size:1.8rem;font-weight:900;margin:.3rem 0; } .r5-txt{ font-size:1rem;font-weight:700;max-width:300px;line-height:1.7; } .r5-txt b{ text-decoration:underline; }
.react5-panel{ background:rgba(255,255,255,.7);backdrop-filter:blur(6px);border-top:1px solid rgba(180,150,150,.18);padding:.7rem 1rem 1.1rem;flex-shrink:0; }
.react5-stats{ display:flex;gap:.5rem;margin-bottom:.6rem; }
.r5s{ flex:1;background:rgba(var(--p-rgb),.08);border-radius:12px;padding:7px;text-align:center; }
.r5v{ font-size:1.05rem;font-weight:900;color:#4B44CC; } .r5l{ font-size:.68rem;color:#7a7a92;margin-top:1px; }
.react5-btn{ display:block;width:100%;max-width:280px;margin:0 auto .6rem;padding:13px;border:none;border-radius:12px;background:linear-gradient(135deg,#FF6584,#e0476a);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer; }
.react5-concept{ color:#5a5066;font-size:.78rem;line-height:1.85;text-align:center; } .react5-concept b{ color:#3a2d2d; }

/* ════════ ترکیبِ رنگِ نور — تمام‌صفحه (فصل ۳) ════════ */
.mix3-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(160deg,#fef0f7,#eaf0ff);display:flex;flex-direction:column;animation:fadein .3s; }
.mix3-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .5rem;flex-shrink:0; }
.mix3-title{ font-weight:900;font-size:1.05rem;color:#3a2d4a; }
.mix3-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(58,45,74,.1);color:#3a2d4a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.mix3-stage{ flex:1;position:relative;margin:.5rem 1rem;border-radius:20px;background:radial-gradient(circle at 50% 40%,#15151f,#050507);overflow:hidden;min-height:0;box-shadow:0 10px 30px rgba(0,0,0,.3),inset 0 0 30px rgba(0,0,0,.6);touch-action:none; }
.mix-light{ position:absolute;width:clamp(130px,42vw,180px);height:clamp(130px,42vw,180px);border-radius:50%;mix-blend-mode:screen;cursor:grab;touch-action:none; }
.mix-light.red{ background:radial-gradient(circle,rgba(255,30,30,1) 0%,rgba(255,0,0,0) 68%); }
.mix-light.green{ background:radial-gradient(circle,rgba(40,255,40,1) 0%,rgba(0,255,0,0) 68%); }
.mix-light.blue{ background:radial-gradient(circle,rgba(50,90,255,1) 0%,rgba(0,40,255,0) 68%); }
.mix3-panel{ background:rgba(255,255,255,.72);backdrop-filter:blur(6px);border-top:1px solid rgba(150,130,200,.18);padding:.8rem 1rem 1.2rem;flex-shrink:0; }
.mix3-read{ text-align:center;font-size:1.05rem;font-weight:800;color:#3a2d4a;min-height:26px;margin-bottom:.7rem; } .mix3-read b{ color:var(--p); }
.mix3-toggles{ display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;margin-bottom:.7rem; }
.mix3-tg{ padding:9px 13px;border:2px solid transparent;border-radius:20px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.8rem;cursor:pointer;background:#eee;color:#999;opacity:.55;transition:all .15s; }
.mix3-tg.on{ opacity:1; } .mix3-tg.red.on{ background:#ffe2e2;color:#d11;border-color:#ff9a9a; } .mix3-tg.green.on{ background:#dcffe2;color:#0a0;border-color:#86e69a; } .mix3-tg.blue.on{ background:#e2e8ff;color:#34c;border-color:#9ab0ff; }
.mix3-tg.white{ background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;opacity:1; }
.mix3-concept{ color:#5a5066;font-size:.78rem;line-height:1.85;text-align:center; } .mix3-concept b{ color:#3a2d4a; }

/* ════════ مدلِ بدنِ انسان — تمام‌صفحه (فصل ۵) ════════ */
.body5-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#eef4ff,#fff0f5);display:flex;flex-direction:column;animation:fadein .3s; }
.body5-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .4rem;flex-shrink:0; }
.body5-title{ font-weight:900;font-size:1.05rem;color:#2a2d4a; }
.body5-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(42,45,74,.1);color:#2a2d4a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.body5-tabs{ display:flex;gap:.4rem;justify-content:center;padding:.1rem .8rem .5rem;flex-shrink:0;flex-wrap:wrap; }
.body5-tab{ padding:8px 13px;border:1.5px solid rgba(var(--p-rgb),.2);border-radius:24px;background:#fff;color:#6b6f8c;font-family:'Estedad',sans-serif;font-weight:800;font-size:.8rem;cursor:pointer;transition:all .15s; }
.body5-tab.on{ background:var(--p);color:#fff;border-color:var(--p); }
.body5-stage{ flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.body5-svg{ height:100%;max-height:100%;width:auto;max-width:96%;touch-action:none; }
.body5-reset{ position:absolute;top:8px;left:8px;padding:8px 14px;border:none;border-radius:20px;background:rgba(var(--p-rgb),.92);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.78rem;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.2); }
.body5-info{ background:rgba(255,255,255,.82);backdrop-filter:blur(6px);border-top:1px solid rgba(150,150,200,.18);padding:.85rem 1.1rem 1.3rem;flex-shrink:0;color:#41476b;font-size:.86rem;line-height:1.9;text-align:center;min-height:64px; }
.body5-info b{ color:#2a2d4a;font-size:.95rem; }
/* قطعات */
.bp{ cursor:pointer; } .bp.sel{ filter:drop-shadow(0 0 5px var(--p)) brightness(1.12); }
.bone{ fill:#ece4cc;stroke:#c9bd99;stroke-width:1.2; }
.bone-s{ fill:none;stroke:#ece4cc;stroke-width:7;stroke-linecap:round; }
.mus{ fill:#e25b5b;stroke:#c0392b;stroke-width:1; }
.mus-h{ fill:#e0405a;stroke:#b81f3a;stroke-width:1; }
.brain{ fill:#f3a6c4;stroke:#d46a92;stroke-width:1.5; } .brain-l{ fill:none;stroke:#d46a92;stroke-width:1.4; }
.cord{ stroke:#ffc107;stroke-width:7;stroke-linecap:round; }
.nrv{ fill:none;stroke:#ffca28;stroke-width:3;stroke-dasharray:5 4;stroke-linecap:round; }
/* حرکت */
#sil-head{ transform-box:view-box;transform-origin:120px 100px; } #sil-armR{ transform-box:view-box;transform-origin:162px 132px; } #sil-forearmR{ transform-box:view-box;transform-origin:182px 226px; } #sil-legR{ transform-box:view-box;transform-origin:136px 350px; } #sil-shinR{ transform-box:view-box;transform-origin:142px 456px; }
.moving #sil-head{ animation:mvHead 2.4s ease-in-out infinite; } .moving #sil-armR{ animation:mvArm 2s ease-in-out infinite; } .moving #sil-forearmR{ animation:mvFore 1.3s ease-in-out infinite; } .moving #sil-legR{ animation:mvLeg 2.2s ease-in-out infinite; } .moving #sil-shinR{ animation:mvShin 1.6s ease-in-out infinite; }
@keyframes mvHead{ 0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)} }
@keyframes mvArm{ 0%,100%{transform:rotate(0deg)}50%{transform:rotate(-42deg)} }
@keyframes mvFore{ 0%,100%{transform:rotate(0deg)}50%{transform:rotate(-46deg)} }
@keyframes mvLeg{ 0%,100%{transform:rotate(0deg)}50%{transform:rotate(26deg)} }
@keyframes mvShin{ 0%,100%{transform:rotate(0deg)}50%{transform:rotate(-40deg)} }

/* ════════ آتشفشان و دلِ زمین — تمام‌صفحه (فصل ۴) ════════ */
.volc-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#bfe6ff,#eaf6ff 40%,#fff3e8);display:flex;flex-direction:column;animation:fadein .3s; }
.volc-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .4rem;flex-shrink:0; }
.volc-title{ font-weight:900;font-size:1.05rem;color:#3a2d2d; }
.volc-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(58,45,45,.12);color:#3a2d2d;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.volc-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.4rem; }
.volc-scene{ position:relative;width:min(94%,400px); }
.volc-scene .volc-svg{ display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 8px 26px rgba(0,0,0,.22); }
#volc-canvas{ position:absolute;inset:0;width:100%;height:100%;pointer-events:none; }
.volc-scene.erupting{ animation:volcShake .12s linear infinite; }
@keyframes volcShake{ 0%{transform:translate(0,0)}25%{transform:translate(-2px,1px)}50%{transform:translate(2px,-1px)}75%{transform:translate(-1px,-1px)}100%{transform:translate(1px,1px)} }
#volc-lavacol{ transform:scaleY(0);transform-box:fill-box;transform-origin:bottom;transition:none; }
.volc-scene.erupting #volc-lavacol{ animation:lavaRise .7s ease-out forwards; }
.volc-scene.cooled #volc-lavacol{ transform:scaleY(1);opacity:.35;filter:saturate(.4) brightness(.6); }
@keyframes lavaRise{ from{transform:scaleY(0)} to{transform:scaleY(1)} }
.volc-scene.erupting #volc-flowL,.volc-scene.erupting #volc-flowR{ animation:lavaFlow 1.6s ease-out .3s forwards; }
.volc-scene.cooled #volc-flowL,.volc-scene.cooled #volc-flowR{ stroke-dashoffset:0;stroke:#4a4038; }
@keyframes lavaFlow{ from{stroke-dashoffset:100} to{stroke-dashoffset:0} }
.vp{ cursor:pointer; } .vp.sel{ filter:drop-shadow(0 0 5px #ff8c1a); }
.volc-panel{ background:rgba(255,255,255,.78);backdrop-filter:blur(6px);border-top:1px solid rgba(180,150,120,.2);padding:.75rem 1rem 1.2rem;flex-shrink:0; }
.volc-read{ text-align:center;font-size:.88rem;color:#3a2d2d;line-height:1.85;min-height:24px;margin-bottom:.6rem; } .volc-read b{ color:#e0531a; }
.volc-gauge{ position:relative;height:22px;border-radius:14px;background:#eadfd4;overflow:hidden;margin-bottom:.6rem;border:1px solid #d8c4b0; }
.volc-gfill{ position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#ffd24a,#ff7a1a,#e0531a);transition:width .25s; }
.volc-gauge span{ position:relative;z-index:1;display:block;text-align:center;font-size:.75rem;font-weight:800;line-height:22px;color:#5a3a20; }
.volc-btns{ display:flex;gap:.5rem;margin-bottom:.6rem; }
.volc-btn{ flex:1;padding:11px 6px;border:none;border-radius:12px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.84rem;color:#fff;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.12); }
.volc-btn.heat{ background:linear-gradient(135deg,#ff9b2d,#f0731a); } .volc-btn.erupt{ background:linear-gradient(135deg,#e0531a,#c0341a); } .volc-btn.reset{ background:linear-gradient(135deg,#8a8f9c,#6b7280); }
.volc-concept{ color:#5a4a3a;font-size:.78rem;line-height:1.85;text-align:center; } .volc-concept b{ color:#3a2d2d; }

/* مسیرِ علوم (چیپ‌ها) — درسنامه */
.sci-chip{ background:#eef2ff;border:1px solid #d4dbf2;border-radius:20px;padding:5px 12px;font-size:.82rem;font-weight:700;color:#3a3f66;white-space:nowrap; }
.sci-chip.brain{ background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;border-color:transparent; }
.sci-ar{ color:#9aa0c8;font-weight:800; }

/* ════════ آزمایشگاهِ چشم — تمام‌صفحه (فصل ۶) ════════ */
.eye6-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#eaf6ff,#f3fbff,#fff3fa);display:flex;flex-direction:column;animation:fadein .3s; }
.eye6-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .4rem;flex-shrink:0; }
.eye6-title{ font-weight:900;font-size:1.05rem;color:#243a4a; }
.eye6-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(36,58,74,.1);color:#243a4a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.eye6-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.5rem; }
.eye6-svg{ width:100%;max-width:420px;height:auto; }
.ep{ cursor:pointer; } .ep.sel{ filter:drop-shadow(0 0 5px #2d7bff); }
.eye6-panel{ background:rgba(255,255,255,.82);backdrop-filter:blur(6px);border-top:1px solid rgba(150,180,210,.2);padding:.8rem 1rem 1.2rem;flex-shrink:0; }
.eye6-read{ text-align:center;font-size:.86rem;color:#2c3e50;line-height:1.9;min-height:24px;margin-bottom:.7rem; } .eye6-read b{ color:#1d6fd0; }
.eye6-ctrl{ display:flex;gap:.4rem;align-items:center;margin-bottom:.55rem;flex-wrap:wrap; }
.eye6-lbl{ font-size:.8rem;font-weight:800;color:#2c3e50;white-space:nowrap; }
.eye6-b{ flex:1;min-width:60px;padding:9px 6px;border:1.5px solid rgba(45,123,255,.2);border-radius:11px;background:#fff;color:#5a6a8c;font-family:'Estedad',sans-serif;font-weight:800;font-size:.8rem;cursor:pointer;transition:all .15s; }
.eye6-b.on{ background:#2d7bff;color:#fff;border-color:#2d7bff; }
.eye6-b.glass{ flex:0 0 auto;min-width:auto;border-color:#43D9AD;color:#2BB88E; } .eye6-b.glass.on{ background:#43D9AD;color:#fff;border-color:#43D9AD; }

/* ════════ آزمایشگاهِ گوش — تمام‌صفحه (فصل ۶) ════════ */
.ear6-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#f3efff,#fbf7ff,#fff3f8);display:flex;flex-direction:column;animation:fadein .3s; }
.ear6-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .4rem;flex-shrink:0; }
.ear6-title{ font-weight:900;font-size:1.05rem;color:#3a2d4a; }
.ear6-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(58,45,74,.1);color:#3a2d4a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.ear6-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.5rem; }
.ear6-svg{ width:100%;max-width:430px;height:auto; }
.ear-wave{ transform-box:view-box;transform-origin:center;opacity:0; }
.ear6-svg.playing .ear-wave.w1{ animation:earWave 0.7s linear infinite; } .ear6-svg.playing .ear-wave.w2{ animation:earWave 0.7s linear infinite .23s; } .ear6-svg.playing .ear-wave.w3{ animation:earWave 0.7s linear infinite .46s; }
@keyframes earWave{ 0%{opacity:0;transform:translateX(0)} 30%{opacity:.9} 100%{opacity:0;transform:translateX(46px)} }
.ear6-panel{ background:rgba(255,255,255,.82);backdrop-filter:blur(6px);border-top:1px solid rgba(180,160,210,.2);padding:.8rem 1rem 1.2rem;flex-shrink:0; }
.ear6-read{ text-align:center;font-size:.86rem;color:#3a2d4a;line-height:1.9;min-height:24px;margin-bottom:.6rem; } .ear6-read b{ color:var(--p); }
.ear6-play{ display:block;width:100%;max-width:300px;margin:0 auto .6rem;padding:13px;border:none;border-radius:13px;background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer; }
.ear6-ctrl{ display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap; }
.ear6-lbl{ font-size:.8rem;font-weight:800;color:#3a2d4a;white-space:nowrap; }
.ear6-b{ flex:1;min-width:60px;padding:9px 6px;border:1.5px solid rgba(var(--p-rgb),.2);border-radius:11px;background:#fff;color:#6b6f8c;font-family:'Estedad',sans-serif;font-weight:800;font-size:.8rem;cursor:pointer;transition:all .15s; }
.ear6-b.on{ background:var(--p);color:#fff;border-color:var(--p); }
.ear6-b.help{ border-color:#43D9AD;color:#2BB88E; } .ear6-b.help.on{ background:#43D9AD;color:#fff;border-color:#43D9AD; }

/* ════════ آزمایشگاهِ چشایی — تمام‌صفحه انیمیشنی (فصل ۷) ════════ */
.taste7-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#fff0f5,#fff7ec,#f0fff6);display:flex;flex-direction:column;animation:fadein .3s; }
.taste7-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.taste7-title{ font-weight:900;font-size:1.05rem;color:#5a2d4a; }
.taste7-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(90,45,74,.1);color:#5a2d4a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.taste7-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.2rem; }
.taste7-svg{ height:100%;max-height:100%;width:auto;max-width:96%; }
.t-bud{ transition:fill .2s; transform-box:fill-box;transform-origin:center; }
.t-bud.pulse{ animation:tBud .5s ease var(--d) 2; }
@keyframes tBud{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.7)} }
#taste-dissolve.go{ animation:tDiss .5s ease forwards; }
@keyframes tDiss{ 0%{opacity:1;transform:translateY(-10px) scale(1)} 100%{opacity:0;transform:translateY(8px) scale(.4)} }
#taste-react.pop{ animation:tPop .4s ease; } @keyframes tPop{ 0%{transform:scale(.5)} 60%{transform:scale(1.15)} 100%{transform:scale(1)} }
.taste7-react{ }
.taste7-read{ text-align:center;font-size:.9rem;color:#5a2d4a;line-height:1.8;padding:0 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .taste7-read b{ font-weight:900; }
.taste7-board{ display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;padding:.3rem 1rem .5rem;flex-shrink:0; }
.taste7-chip{ padding:6px 13px;border-radius:20px;background:#fff;border:2px dashed #e0d0d8;color:#9a8a92;font-size:.82rem;font-weight:800; }
.taste7-chip.got{ border-style:solid;border-color:var(--tc);color:var(--tc);background:#fff; }
.taste7-tray{ display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;background:rgba(255,255,255,.7);backdrop-filter:blur(6px);border-top:1px solid rgba(200,170,190,.25);padding:.8rem 1rem 1.2rem;flex-shrink:0; }
.taste7-food{ display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 10px;border-radius:14px;background:#fff;border:1.5px solid #f0e0e8;cursor:grab;touch-action:none;transition:transform .12s,box-shadow .12s;box-shadow:0 2px 6px rgba(0,0,0,.06); }
.taste7-food:active{ transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.15); }
.tf-e{ font-size:1.9rem;line-height:1; } .tf-n{ font-size:.72rem;font-weight:700;color:#6a5a62; }
.taste7-ghost{ position:fixed;transform:translate(-50%,-50%);font-size:2.6rem;z-index:600;pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3)); }

/* ════════ ارتقای چشایی: ناحیه‌های زبان ════════ */
.tz{ transition:fill-opacity .25s; } .taste7-svg.predicting .tz{ cursor:pointer; }
.taste7-svg.predicting .tz:hover{ fill:var(--p); fill-opacity:.1; }
.tz.lit{ animation:tzPulse .6s ease 2; } @keyframes tzPulse{ 0%,100%{fill-opacity:.55} 50%{fill-opacity:.92} }
.taste7-food.sel{ outline:3px solid var(--p); outline-offset:1px;transform:scale(1.06); }

/* ════════ آزمایشگاهِ بویایی — تمام‌صفحه انیمیشنی (فصل ۷) ════════ */
.smell7-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#f0f7ff,#f3fff7,#fff7f0);display:flex;flex-direction:column;animation:fadein .3s; }
.smell7-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.smell7-title{ font-weight:900;font-size:1.05rem;color:#2d4a3a; }
.smell7-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(45,74,58,.1);color:#2d4a3a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.smell7-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.2rem; }
.smell7-svg{ height:100%;max-height:100%;width:auto;max-width:96%; }
.smell-recep{ transition:all .2s; } .smell-recep.lit{ stroke:#ff5a1a;animation:smRecep .4s ease 2; }
@keyframes smRecep{ 0%,100%{stroke-width:3} 50%{stroke-width:5;stroke:#ffb300} }
#smell-react.pop{ animation:tPop .4s ease; }
.smell7-read{ text-align:center;font-size:.9rem;color:#2d4a3a;line-height:1.8;padding:0 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .smell7-read b{ font-weight:900; }
.smell7-board{ display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;padding:.3rem 1rem .5rem;flex-shrink:0; }
.smell7-chip{ padding:6px 13px;border-radius:20px;background:#fff;border:2px dashed #d0e0d8;color:#8a9a92;font-size:.82rem;font-weight:800; }
.smell7-chip.got{ border-style:solid;border-color:var(--cc);color:var(--cc); }
.smell7-tray{ display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;background:rgba(255,255,255,.7);backdrop-filter:blur(6px);border-top:1px solid rgba(170,200,190,.25);padding:.8rem 1rem 1.2rem;flex-shrink:0; }
.smell7-src-btn{ display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 10px;border-radius:14px;background:#fff;border:1.5px solid #e0ece6;cursor:pointer;transition:transform .12s,box-shadow .12s;box-shadow:0 2px 6px rgba(0,0,0,.06); }
.smell7-src-btn:active,.smell7-src-btn.sel{ transform:scale(1.08);box-shadow:0 6px 16px rgba(0,0,0,.14);border-color:#2BB88E; }
.ss-e{ font-size:1.9rem;line-height:1; } .ss-n{ font-size:.72rem;font-weight:700;color:#5a6a62; }

/* ════════ آزمایشگاهِ لمس — تمام‌صفحه عمیق و تعاملی (فصل ۷) ════════ */
.touch7-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#fff4ec,#f6f4ff,#eefcff);display:flex;flex-direction:column;animation:fadein .3s;overflow-y:auto; }
.touch7-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.touch7-title{ font-weight:900;font-size:1.05rem;color:#5a3a2d; }
.touch7-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(90,58,45,.1);color:#5a3a2d;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.touch7-stage{ display:flex;align-items:center;justify-content:center;padding:.2rem;flex-shrink:0; }
.touch7-svg{ width:auto;max-width:92%;max-height:44vh; }
.touch-field{ transition:fill .15s; } .touch-field.hit{ animation:tfHit .4s ease 2; } @keyframes tfHit{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.25)} } .touch-field{ transform-box:fill-box;transform-origin:center; }
#touch-react.pop{ animation:tPop .4s ease; }
.touch7-read{ text-align:center;font-size:.88rem;color:#5a3a2d;line-height:1.8;padding:.2rem 1.2rem;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .touch7-read b{ font-weight:900; }
.touch7-parts{ display:flex;gap:.35rem;justify-content:center;flex-wrap:wrap;padding:.3rem 1rem;flex-shrink:0; }
.touch7-pchip{ padding:7px 12px;border-radius:20px;background:#fff;border:1.5px solid #ecd9cc;color:#7a5a4a;font-family:'Estedad',sans-serif;font-size:.8rem;font-weight:800;cursor:pointer; }
.touch7-pchip.on{ background:#f0731a;color:#fff;border-color:#f0731a; }
.touch7-slider{ display:flex;align-items:center;gap:.6rem;justify-content:center;flex-wrap:wrap;padding:.5rem 1rem;flex-shrink:0; }
.touch7-slider span{ font-size:.84rem;font-weight:800;color:#5a3a2d;white-space:nowrap; }
.touch7-slider input[type=range]{ flex:1;max-width:200px;accent-color:#f0731a; }
.touch7-poke{ padding:10px 18px;border:none;border-radius:12px;background:linear-gradient(135deg,#f0731a,#d65a10);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.86rem;cursor:pointer; }
.touch7-board{ max-width:380px;margin:0 auto;padding:.4rem 1rem 1.4rem;width:100%;flex-shrink:0; }
.touch7-bttl{ text-align:center;font-size:.78rem;font-weight:800;color:#7a5a4a;margin-bottom:.4rem; }
.touch7-brow{ display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #f0e0d6;border-radius:10px;padding:7px 12px;margin-bottom:5px;font-size:.84rem;color:#5a3a2d; } .touch7-brow b{ color:#f0731a; }
.touch7-concl{ background:rgba(67,217,173,.1);border:1px solid rgba(67,217,173,.3);border-radius:11px;padding:.7rem .9rem;font-size:.82rem;line-height:1.8;color:#2d5a4a;margin-top:.5rem; } .touch7-concl b{ color:#1f7a5a; }

/* ════════ آزمایشگاهِ الّاکلنگ — متحرک و قابل‌کشیدن (فصل ۸) ════════ */
.lever8-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#eaf3ff,#f3f7ff,#fff3f6);display:flex;flex-direction:column;animation:fadein .3s; }
.lever8-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.lever8-title{ font-weight:900;font-size:1.05rem;color:#3a3a5a; }
.lever8-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(58,58,90,.1);color:#3a3a5a;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.lever8-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.4rem; }
.lever8-svg{ width:100%;max-width:440px;height:auto;touch-action:none; }
.lever8-read{ text-align:center;font-size:.9rem;color:#3a3a5a;line-height:1.85;padding:0 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .lever8-read b{ font-weight:900; }
.lever8-tray{ display:flex;gap:.5rem;justify-content:center;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.72);backdrop-filter:blur(6px);border-top:1px solid rgba(150,160,210,.2);padding:.9rem 1rem 1.3rem;flex-shrink:0; }
.lever8-wsrc{ padding:12px 16px;border-radius:13px;background:var(--wc);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.86rem;cursor:grab;touch-action:none;box-shadow:0 3px 8px rgba(0,0,0,.14);user-select:none; }
.lever8-wsrc:active{ transform:scale(1.08); }
.lever8-reset{ padding:12px 16px;border-radius:13px;border:1.5px solid #c9b8b0;background:#fff;color:#7a6a62;font-family:'Estedad',sans-serif;font-weight:800;font-size:.86rem;cursor:pointer; }
.lever8-ghost{ position:fixed;transform:translate(-50%,-50%);z-index:600;pointer-events:none;background:var(--wc);color:#fff;font-weight:800;font-family:'Estedad',sans-serif;padding:10px 14px;border-radius:11px;box-shadow:0 6px 14px rgba(0,0,0,.3); }

/* ════════ آزمایشگاهِ انواع اهرم — متحرک (فصل ۸) ════════ */
.types8-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#fff3ec,#f4f7ff,#eefcff);display:flex;flex-direction:column;animation:fadein .3s;overflow-y:auto; }
.types8-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.types8-title{ font-weight:900;font-size:1.05rem;color:#4a3a2d; }
.types8-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(74,58,45,.1);color:#4a3a2d;font-size:1.3rem;cursor:pointer;flex-shrink:0;z-index:10; }
.types8-stage{ display:flex;align-items:center;justify-content:center;padding:.3rem;flex-shrink:0; }
.types8-svg{ width:100%;max-width:420px;height:auto; }
#t8-rot{ } 
.types8-read{ text-align:center;font-size:.88rem;color:#4a3a2d;line-height:1.85;padding:.2rem 1.2rem;min-height:52px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .types8-read b{ font-weight:900; }
.types8-guess{ display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;padding:.3rem 1rem;flex-shrink:0; }
.types8-gb{ padding:10px 14px;border-radius:12px;border:1.5px solid #d4c4b8;background:#fff;color:#5a4a3a;font-family:'Estedad',sans-serif;font-weight:800;font-size:.84rem;cursor:pointer;transition:all .15s; }
.types8-gb:hover{ border-color:#f0731a; } .types8-gb:disabled{ opacity:.55;cursor:default; } .types8-gb.play{ background:#f0731a;color:#fff;border-color:#f0731a; }
.types8-tools{ display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;padding:.5rem 1rem;flex-shrink:0; }
.types8-tchip{ padding:8px 12px;border-radius:20px;background:#fff;border:1.5px solid #e0d4c8;color:#6a5a4a;font-family:'Estedad',sans-serif;font-size:.8rem;font-weight:800;cursor:pointer; }
.types8-tchip.on{ background:#f0731a;color:#fff;border-color:#f0731a; }
.types8-score{ text-align:center;font-size:.82rem;font-weight:800;color:#7a5a4a;padding:.2rem 1rem 1.2rem;flex-shrink:0; }

/* ════════ ترازوی اهرمی (فصل ۸) ════════ */
.scale8-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#eef6ff,#f3fff7,#fff6ee);display:flex;flex-direction:column;animation:fadein .3s; }
.scale8-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.scale8-title{ font-weight:900;font-size:1.05rem;color:#3a4a5a; }
.scale8-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(58,74,90,.1);color:#3a4a5a;font-size:1.3rem;cursor:pointer;flex-shrink:0; }
.scale8-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.4rem; }
.scale8-svg{ width:100%;max-width:430px;height:auto; }
.scale8-read{ text-align:center;font-size:.9rem;color:#3a4a5a;line-height:1.85;padding:0 1.2rem;min-height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .scale8-read b{ font-weight:900; }
.scale8-ctrl{ display:flex;gap:.7rem;align-items:center;justify-content:center;padding:.5rem;flex-shrink:0; }
.scale8-ctrl span{ font-size:.95rem;font-weight:800;color:#3a4a5a;min-width:80px;text-align:center; }
.scale8-b{ padding:11px 18px;border:none;border-radius:12px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.86rem;color:#fff;cursor:pointer; }
.scale8-b.plus{ background:#2BB88E; } .scale8-b.minus{ background:#FF6584; }
.scale8-objs{ display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;padding:.6rem 1rem 1.3rem;flex-shrink:0; }
.scale8-ochip{ padding:8px 13px;border-radius:20px;background:#fff;border:1.5px solid #d4ddec;color:#5a6a7a;font-family:'Estedad',sans-serif;font-size:.8rem;font-weight:800;cursor:pointer; }
.scale8-ochip.on{ background:#2d7bff;color:#fff;border-color:#2d7bff; }

/* ════════ دسته‌بندیِ اهرم‌ها (فصل ۸) ════════ */
.sort8-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#fff3ec,#f4f7ff,#eefcff);display:flex;flex-direction:column;animation:fadein .3s; }
.sort8-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.sort8-title{ font-weight:900;font-size:1.05rem;color:#4a3a2d; }
.sort8-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(74,58,45,.1);color:#4a3a2d;font-size:1.3rem;cursor:pointer;flex-shrink:0; }
.sort8-read{ text-align:center;font-size:.88rem;color:#4a3a2d;line-height:1.8;padding:.4rem 1.2rem;min-height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.sort8-buckets{ display:flex;gap:.5rem;padding:.4rem 1rem;flex:1;min-height:0; }
.sort8-bucket{ flex:1;display:flex;flex-direction:column;background:rgba(255,255,255,.7);border:2px dashed #d0c0b0;border-radius:14px;padding:.5rem;transition:all .15s;min-height:0; }
.sort8-bucket.over{ border-color:#f0731a;background:rgba(240,115,26,.08);transform:scale(1.02); }
.sort8-bucket.shake{ animation:sortShake .4s; } @keyframes sortShake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }
.sb-h{ font-size:.78rem;font-weight:800;text-align:center;color:#5a4a3a;margin-bottom:.4rem; }
.sb-drop{ flex:1;display:flex;flex-direction:column;gap:4px;overflow-y:auto; }
.sort8-placed{ background:#43D9AD;color:#fff;border-radius:9px;padding:6px 4px;font-size:.76rem;font-weight:800;text-align:center; }
.sort8-tray{ display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;background:rgba(255,255,255,.72);backdrop-filter:blur(6px);border-top:1px solid rgba(200,180,160,.25);padding:.7rem 1rem 1.2rem;flex-shrink:0;max-height:32vh;overflow-y:auto; }
.sort8-tool{ display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 10px;border-radius:12px;background:#fff;border:1.5px solid #e0d4c8;cursor:grab;touch-action:none;box-shadow:0 2px 6px rgba(0,0,0,.06); }
.st8-e{ font-size:1.6rem;line-height:1; } .st8-n{ font-size:.7rem;font-weight:700;color:#6a5a4a; }
.sort8-ghost{ position:fixed;transform:translate(-50%,-50%);z-index:600;pointer-events:none;background:#f0731a;color:#fff;font-weight:800;font-family:'Estedad',sans-serif;padding:8px 12px;border-radius:11px;font-size:.82rem;box-shadow:0 6px 14px rgba(0,0,0,.3); }
.skin-recep.lit{ animation:smRecep .4s ease 2; }

/* ════════ آزمایشگاهِ سطح شیب‌دار — متحرک (فصل ۹) ════════ */
.ramp9-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(165deg,#ecfff6,#f3fff7,#fff8ee);display:flex;flex-direction:column;animation:fadein .3s; }
.ramp9-top{ display:flex;align-items:center;justify-content:space-between;padding:max(1rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.ramp9-title{ font-weight:900;font-size:1.05rem;color:#2d5a4a; }
.ramp9-close{ width:46px;height:46px;border-radius:50%;border:none;background:rgba(45,90,74,.1);color:#2d5a4a;font-size:1.3rem;cursor:pointer;flex-shrink:0; }
.ramp9-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.4rem; }
.ramp9-svg{ width:100%;max-width:440px;height:auto;touch-action:none; }
.ramp9-read{ text-align:center;font-size:.9rem;color:#2d5a4a;line-height:1.85;padding:0 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .ramp9-read b{ font-weight:900; }
.ramp9-slider{ display:flex;align-items:center;gap:.6rem;justify-content:center;flex-wrap:wrap;padding:.5rem 1rem;flex-shrink:0; }
.ramp9-slider span{ font-size:.84rem;font-weight:800;color:#2d5a4a;white-space:nowrap; }
.ramp9-slider input[type=range]{ flex:1;max-width:200px;accent-color:#2BB88E; }
.ramp9-btns{ display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding:.3rem 1rem 1.3rem;flex-shrink:0; }
.ramp9-b{ padding:11px 16px;border:none;border-radius:12px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.84rem;color:#fff;cursor:pointer; }
.ramp9-b.up{ background:#2BB88E; } .ramp9-b.dn{ background:var(--p); } .ramp9-b.cmp{ background:#fff;color:#FF6584;border:1.5px solid #FF6584; } .ramp9-b.cmp.on{ background:#FF6584;color:#fff; }

/* ════════ بازیِ جرثقیل و قرقره (فصل ۹) ════════ */
.pulley9-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#bfe3ff 0%,#dff0ff 55%,#eef9ff 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.pulley9-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.pulley9-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(40,60,90,.14);color:#2a3c5a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.pulley9-lvl{ font-weight:900;font-size:.95rem;color:#2a3c5a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.pulley9-stars{ font-size:1.1rem;min-width:60px;text-align:left; }
.pulley9-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.pulley9-svg{ height:100%;max-height:100%;width:auto;max-width:98%;touch-action:none; }
.p9-band{ animation:p9glow 1.4s ease-in-out infinite; } @keyframes p9glow{ 0%,100%{opacity:.22} 50%{opacity:.45} }
.pulley9-read{ text-align:center;font-size:.92rem;color:#2a3c5a;line-height:1.8;padding:.2rem 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.55); } .pulley9-read b{ font-weight:900; }
.pulley9-btns{ display:flex;gap:.5rem;justify-content:center;padding:.5rem 1rem 1.3rem;flex-shrink:0;background:rgba(255,255,255,.55);min-height:10px; }
.pulley9-b{ padding:12px 26px;border:none;border-radius:14px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;color:#fff;cursor:pointer;box-shadow:0 4px 12px rgba(var(--p-rgb),.35); }
.pulley9-b.next{ background:linear-gradient(135deg,#43D9AD,#2BB88E); }

/* ════════ ارتقای قرقره: کنترلِ تعداد قرقره ════════ */
.pulley9-pctrl{ display:flex;gap:.45rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:.3rem 1rem;flex-shrink:0;background:rgba(255,255,255,.55);font-size:.84rem;font-weight:800;color:#2a3c5a; }
.p9n{ width:38px;height:38px;border-radius:11px;border:1.5px solid #b9c2e0;background:#fff;color:#2a3c5a;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer; }
.p9n.on{ background:#43D9AD;color:#fff;border-color:#43D9AD; }

/* ════════ بازیِ گوه «بشکن!» (فصل ۹) ════════ */
.wedge9-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#fff3e0,#ffeccc,#ffe4d0);display:flex;flex-direction:column;animation:fadein .3s; }
.wedge9-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.wedge9-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(120,80,40,.14);color:#7a4a1a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.wedge9-lvl{ font-weight:900;font-size:.95rem;color:#7a4a1a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.wedge9-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.wedge9-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.wedge9-svg{ height:100%;max-height:100%;width:auto;max-width:98%; }
.wedge9-stage.shake{ animation:w9shake .35s; } @keyframes w9shake{ 0%,100%{transform:translate(0,0)} 20%{transform:translate(-5px,3px)} 40%{transform:translate(5px,-2px)} 60%{transform:translate(-4px,2px)} 80%{transform:translate(3px,-3px)} }
.w9-half{ animation:w9hl .6s ease-out forwards; } @keyframes w9hl{ to{ transform:translate(-46px,-10px) rotate(-40deg);opacity:0 } }
.w9-half2{ animation:w9hr .6s ease-out forwards; } @keyframes w9hr{ to{ transform:translate(46px,-6px) rotate(40deg);opacity:0 } }
.wedge9-read{ text-align:center;font-size:.9rem;color:#7a4a1a;line-height:1.8;padding:.2rem 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .wedge9-read b{ font-weight:900; }
.wedge9-meter{ padding:.2rem 1.4rem;flex-shrink:0; }
.wm-track{ position:relative;height:18px;background:#f0e0d0;border-radius:10px;overflow:hidden;border:1.5px solid #e0c8a8; }
.wm-fill{ height:100%;width:0%;background:#43D9AD;border-radius:10px;transition:background .1s; }
.wm-target{ position:absolute;top:-3px;bottom:-3px;width:3px;background:#FF6584;z-index:2; }
.wedge9-ctrl{ display:flex;gap:.45rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:.5rem 1rem;flex-shrink:0; }
.wedge9-tool{ padding:10px 13px;border-radius:12px;border:1.5px solid #e0c0a0;background:#fff;color:#7a4a1a;font-family:'Estedad',sans-serif;font-weight:800;font-size:.82rem;cursor:pointer; }
.wedge9-tool.on{ background:#8a5a2a;color:#fff;border-color:#8a5a2a; }
.wedge9-hit{ padding:11px 22px;border:none;border-radius:13px;background:linear-gradient(135deg,#FF6584,#e0455f);color:#fff;font-family:'Estedad',sans-serif;font-weight:900;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(255,101,132,.4); }
.wedge9-btns{ display:flex;justify-content:center;padding:.3rem 1rem 1.2rem;flex-shrink:0;min-height:8px; }
.wedge9-b.next{ padding:12px 26px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(67,217,173,.4); }

/* ════════ بازیِ چرخِ چاه (فصل ۹) ════════ */
.well9-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#bfe3ff,#dff0ff,#eef9ff);display:flex;flex-direction:column;animation:fadein .3s; }
.well9-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.well9-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(40,60,90,.14);color:#2a3c5a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.well9-lvl{ font-weight:900;font-size:.95rem;color:#2a3c5a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.well9-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.well9-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.well9-svg{ height:100%;max-height:100%;width:auto;max-width:98%;touch-action:none; }
.well9-read{ text-align:center;font-size:.92rem;color:#2a3c5a;line-height:1.8;padding:.2rem 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.5); } .well9-read b{ font-weight:900; }
.well9-btns{ display:flex;justify-content:center;padding:.5rem 1rem 1.3rem;flex-shrink:0;min-height:10px;background:rgba(255,255,255,.5); }
.well9-b.next{ padding:12px 26px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(67,217,173,.4); }

/* ════════ بازیِ سطح شیب‌دار: فرغون (فصل ۹) ════════ */
.slope9-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#bfe3ff,#dff0ff,#eef9ff);display:flex;flex-direction:column;animation:fadein .3s; }
.slope9-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.slope9-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(40,60,90,.14);color:#2a3c5a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.slope9-lvl{ font-weight:900;font-size:.95rem;color:#2a3c5a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.slope9-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.slope9-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.slope9-svg{ height:100%;max-height:100%;width:auto;max-width:98%;touch-action:none; }
.slope9-read{ text-align:center;font-size:.9rem;color:#2a3c5a;line-height:1.8;padding:.2rem 1.2rem;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.5); } .slope9-read b{ font-weight:900; }
.slope9-ctrl{ display:flex;gap:.45rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:.5rem 1rem;flex-shrink:0;background:rgba(255,255,255,.5);font-size:.84rem;font-weight:800;color:#2a3c5a; }
.s9b{ padding:9px 15px;border-radius:11px;border:1.5px solid #b9c2e0;background:#fff;color:#2a3c5a;font-family:'Estedad',sans-serif;font-weight:800;font-size:.82rem;cursor:pointer; }
.s9b.on{ background:#2d7bff;color:#fff;border-color:#2d7bff; }
.slope9-btns{ display:flex;justify-content:center;padding:.3rem 1rem 1.2rem;flex-shrink:0;min-height:8px;background:rgba(255,255,255,.5); }
.slope9-b.next{ padding:12px 26px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(67,217,173,.4); }

/* ════════ بازیِ معمای تعادل (فصل ۸) ════════ */
.bal8-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#eef1ff,#f3f7ff,#fff3f6);display:flex;flex-direction:column;animation:fadein .3s; }
.bal8-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.bal8-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(58,58,90,.12);color:#3a3a5a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.bal8-lvl{ font-weight:900;font-size:.95rem;color:#3a3a5a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.bal8-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.bal8-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.bal8-svg{ width:100%;max-width:440px;height:auto;touch-action:none; }
.bal8-read{ text-align:center;font-size:.88rem;color:#3a3a5a;line-height:1.8;padding:.2rem 1.2rem;min-height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .bal8-read b{ font-weight:900; }
.bal8-tray{ display:flex;gap:.5rem;justify-content:center;align-items:center;flex-wrap:wrap;background:rgba(255,255,255,.7);backdrop-filter:blur(6px);border-top:1px solid rgba(150,160,210,.2);padding:.8rem 1rem .9rem;flex-shrink:0; }
.bal8-wsrc{ width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:var(--wc);color:#fff;font-family:'Estedad',sans-serif;font-weight:900;font-size:1.1rem;cursor:grab;touch-action:none;box-shadow:0 3px 8px rgba(0,0,0,.14); }
.bal8-wsrc:active{ transform:scale(1.1); }
.bal8-reset{ width:46px;height:46px;border-radius:13px;border:1.5px solid #c9b8b0;background:#fff;color:#7a6a62;font-size:1.2rem;cursor:pointer; }
.bal8-ghost{ position:fixed;transform:translate(-50%,-50%);z-index:600;pointer-events:none;width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--wc);color:#fff;font-weight:900;font-family:'Estedad',sans-serif;border-radius:11px;box-shadow:0 6px 14px rgba(0,0,0,.3); }
.bal8-btns{ display:flex;justify-content:center;padding:.2rem 1rem 1.1rem;flex-shrink:0;min-height:8px; }
.bal8-b.next{ padding:12px 26px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(67,217,173,.4); }

/* ════════ بازیِ مزه‌ها (فصل ۷) ════════ */
.taste7-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#fff0f3,#fff6ec,#f0fff8);display:flex;flex-direction:column;animation:fadein .3s; }
.taste7-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.taste7-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(120,80,90,.12);color:#7a4a5a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.taste7-lvl{ font-weight:900;font-size:.95rem;color:#7a4a5a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.taste7-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.taste7-read{ text-align:center;font-size:.92rem;color:#5a3a45;line-height:1.7;padding:.4rem 1.2rem;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .taste7-read b{ font-weight:900; }
.taste7-stage{ flex:1;position:relative;min-height:0; }
.taste7-food{ position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:108px;height:108px;background:#fff;border-radius:24px;box-shadow:0 8px 22px rgba(0,0,0,.16);cursor:grab;touch-action:none;z-index:5; }
.taste7-food:active{ cursor:grabbing; }
.t7-fe{ font-size:46px;line-height:1; } .t7-fn{ font-size:.82rem;font-weight:800;color:#5a3a45; }
.taste7-bins{ display:flex;gap:.5rem;justify-content:center;padding:.7rem .8rem 1rem;flex-shrink:0; }
.taste7-bin{ flex:1;max-width:88px;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.7rem .3rem;border-radius:16px;background:#fff;border:2.5px solid var(--c);transition:transform .15s,background .15s; }
.t7-be{ font-size:26px;line-height:1; } .t7-bn{ font-size:.8rem;font-weight:900;color:var(--c); }
.taste7-bin.hit{ background:var(--c);transform:scale(1.08); } .taste7-bin.hit .t7-bn{ color:#fff; }
.taste7-bin.miss{ animation:t7shake .4s; } @keyframes t7shake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }
.taste7-bin.show{ animation:t7pulse .5s 2; } @keyframes t7pulse{ 0%,100%{background:#fff} 50%{background:var(--c)} }
.taste7-btns{ display:flex;justify-content:center;padding:0 1rem 1.1rem;flex-shrink:0;min-height:6px; }
.taste7-b.next{ padding:12px 26px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(67,217,173,.4); }

/* ════════ بازیِ بویایی (فصل ۷) ════════ */
.smell7-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#eafff6,#f0fff8,#fffaf0);display:flex;flex-direction:column;animation:fadein .3s; }
.smell7-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.smell7-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(60,100,80,.12);color:#2d5a4a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.smell7-lvl{ font-weight:900;font-size:.95rem;color:#2d5a4a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.smell7-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.smell7-nose{ font-size:48px;text-align:center;padding:.2rem;flex-shrink:0;transition:transform .2s; }
.smell7-read{ text-align:center;font-size:.92rem;color:#2d5a4a;line-height:1.7;padding:.2rem 1.2rem;min-height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .smell7-read b{ font-weight:900; }
.smell7-stage{ flex:1;position:relative;min-height:0; }
.smell7-src{ position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;width:108px;height:108px;background:#fff;border-radius:24px;box-shadow:0 8px 22px rgba(0,0,0,.16);cursor:grab;touch-action:none;z-index:5; }
.smell7-src:active{ cursor:grabbing; }
.s7-waft{ font-size:18px;opacity:.6;animation:s7waft 1.6s ease-in-out infinite; } @keyframes s7waft{ 0%{transform:translateY(4px);opacity:.2} 50%{transform:translateY(-6px);opacity:.7} 100%{transform:translateY(-14px);opacity:0} }
.s7-se{ font-size:42px;line-height:1; } .s7-sn{ font-size:.8rem;font-weight:800;color:#2d5a4a; }
.smell7-bins{ display:flex;gap:.8rem;justify-content:center;padding:.7rem 1rem 1rem;flex-shrink:0; }
.smell7-bin{ flex:1;max-width:130px;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.9rem .3rem;border-radius:18px;background:#fff;border:2.5px solid var(--c);transition:transform .15s,background .15s; }
.s7-bf{ font-size:32px;line-height:1; } .s7-bn{ font-size:.9rem;font-weight:900;color:var(--c); }
.smell7-bin.hit{ background:var(--c);transform:scale(1.07); } .smell7-bin.hit .s7-bn{ color:#fff; }
.smell7-bin.miss{ animation:s7shake .4s; } @keyframes s7shake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }
.smell7-bin.show{ animation:s7pulse .5s 2; } @keyframes s7pulse{ 0%,100%{background:#fff} 50%{background:var(--c)} }
.smell7-btns{ display:flex;justify-content:center;padding:0 1rem 1.1rem;flex-shrink:0;min-height:6px; }
.smell7-b.next{ padding:12px 26px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(67,217,173,.4); }

/* ════════ بازیِ گوشِ تیزبین (فصل ۶) ════════ */
.ear6-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#eef1ff,#f3f0ff,#fff0f6);display:flex;flex-direction:column;animation:fadein .3s; }
.ear6-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.ear6-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(60,58,100,.12);color:#3a3a6a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.ear6-lvl{ font-weight:900;font-size:.95rem;color:#3a3a6a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.ear6-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.ear6-read{ text-align:center;font-size:.95rem;color:#3a3a6a;line-height:1.7;padding:.5rem 1.2rem;min-height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .ear6-read b{ font-weight:900; }
.ear6-pads{ flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;place-items:stretch;max-width:340px;max-height:340px;width:100%;margin:0 auto;padding:1rem;position:relative;min-height:0; }
.ear6-pad{ border:none;border-radius:20px;background:var(--c);opacity:.45;cursor:pointer;transition:opacity .12s,transform .12s;box-shadow:0 4px 12px rgba(0,0,0,.12); }
.ear6-pad:active{ transform:scale(.97); }
.ear6-pad.lit{ opacity:1;transform:scale(1.03);box-shadow:0 0 26px var(--c); }
.ear6-center{ position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:2; }
.ear6-btns{ display:flex;justify-content:center;padding:.5rem 1rem 1.3rem;flex-shrink:0;min-height:10px; }
.ear6-b.start{ padding:13px 32px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--p),#4B44CC);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 4px 12px rgba(var(--p-rgb),.4); }

/* ════════ بازیِ چشمِ تیزبین (فصل ۶) ════════ */
.eye6-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#eaf4ff,#f0f7ff,#fff6ef);display:flex;flex-direction:column;animation:fadein .3s; }
.eye6-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.eye6-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(40,70,110,.12);color:#2a4a6a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.eye6-time{ font-weight:900;font-size:.95rem;color:#2a4a6a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.eye6-score{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.eye6-read{ text-align:center;font-size:.92rem;color:#2a4a6a;line-height:1.6;padding:.4rem 1.2rem;min-height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .eye6-read b{ font-weight:900; }
.eye6-grid{ flex:1;display:grid;gap:6px;place-content:center;max-width:380px;width:100%;margin:0 auto;padding:.5rem 1rem;min-height:0;align-content:center; }
.eye6-cell{ aspect-ratio:1;border:none;border-radius:12px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.08);transition:transform .1s;min-width:0; }
.eye6-cell:active{ transform:scale(.92); }
.eye6-cell.wrong{ animation:e6shake .35s;background:#ffe0e6; } @keyframes e6shake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }
.eye6-end{ text-align:center;font-size:1.1rem;color:#2a4a6a;line-height:1.9;font-weight:700; } .eye6-end b{ font-size:1.8rem;color:var(--p); }
.eye6-btns{ display:flex;justify-content:center;padding:.5rem 1rem 1.3rem;flex-shrink:0;min-height:10px; }
.eye6-b.start{ padding:13px 32px;border:none;border-radius:14px;background:linear-gradient(135deg,#2d7bff,#1b5fd0);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 4px 12px rgba(45,123,255,.4); }

/* ════════ بازیِ لمس: کدام حسّاس‌تره؟ (فصل ۷) ════════ */
.touch7-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#fff0ec,#fff6f0,#f0f6ff);display:flex;flex-direction:column;animation:fadein .3s; }
.touch7-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.touch7-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(120,80,70,.12);color:#7a4a3a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.touch7-lvl{ font-weight:900;font-size:.95rem;color:#7a4a3a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.touch7-stars{ font-size:1rem;font-weight:900;color:#e0921a;min-width:50px;text-align:left; }
.touch7-read{ text-align:center;font-size:.94rem;color:#7a4a3a;line-height:1.7;padding:.5rem 1.2rem;min-height:50px;display:flex;align-items:center;justify-content:center;flex-shrink:0; } .touch7-read b{ font-weight:900; }
.touch7-cards{ flex:1;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1rem;min-height:0; }
.touch7-card{ flex:1;max-width:150px;background:#fff;border:2.5px solid #f0d8d0;border-radius:22px;padding:1.4rem .8rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:transform .15s,border-color .15s;box-shadow:0 4px 14px rgba(0,0,0,.08); }
.touch7-card:active{ transform:scale(.96); }
.touch7-card.right{ border-color:#43D9AD;background:#eafff7; }
.touch7-card.wrong{ border-color:#FF6584;background:#fff0f3; }
.t7-ce{ font-size:52px;line-height:1; } .t7-cn{ font-size:.92rem;font-weight:800;color:#5a3a32;text-align:center; }
.t7-bar{ width:100%;height:10px;background:#f0e4e0;border-radius:6px;overflow:hidden;margin-top:.2rem; }
.t7-fill{ height:100%;width:0%;background:linear-gradient(90deg,#43D9AD,#2BB88E);border-radius:6px;transition:width .6s ease; }
.touch7-vs{ font-size:1rem;font-weight:900;color:#b89890;flex-shrink:0; }
.touch7-endbox{ text-align:center;font-size:1.1rem;color:#7a4a3a;line-height:1.9;font-weight:700; } .touch7-endbox b{ font-size:1.7rem;color:#FF6584; }
.touch7-btns{ display:flex;justify-content:center;padding:.5rem 1rem 1.3rem;flex-shrink:0;min-height:10px; }
.touch7-b.start{ padding:13px 32px;border:none;border-radius:14px;background:linear-gradient(135deg,#FF8A3D,#e0531a);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:0 4px 12px rgba(255,138,61,.4); }

/* ═══ 🧊 آزمایشِ یخ و سنگ (فصل ۱۰) ═══ */
.ice10-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#8fd0ff 0%,#c3e8ff 50%,#e8f6ff 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.ice10-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.ice10-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(30,50,80,.16);color:#20344f;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.ice10-lvl{ font-weight:900;font-size:.92rem;color:#20344f;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.ice10-stars{ font-size:1.1rem;min-width:64px;text-align:left; }
.ice10-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.ice10-svg{ height:100%;max-height:100%;width:auto;max-width:99%;touch-action:none; }
.ice10-read{ text-align:center;font-size:.92rem;color:#20344f;line-height:1.8;padding:.5rem 1.2rem;min-height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.6);direction:rtl;unicode-bidi:plaintext;word-break:normal;overflow-wrap:normal; } .ice10-read b{ font-weight:900;unicode-bidi:isolate; }
.ice10-ctrl{ display:flex;gap:.6rem;justify-content:center;padding:.55rem 1rem;flex-shrink:0;background:rgba(255,255,255,.6);flex-wrap:wrap; }
.ice10-b{ padding:12px 22px;border:none;border-radius:14px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;color:#fff;cursor:pointer; }
.ice10-b.water{ background:linear-gradient(135deg,#4da8e8,#2b7fc4);box-shadow:0 4px 12px rgba(43,127,196,.35); }
.ice10-b.freeze{ background:linear-gradient(135deg,#7ec4ec,#4f9fd8);box-shadow:0 4px 12px rgba(90,168,222,.4); }
.ice10-b:disabled{ opacity:.45;cursor:default; }
.ice10-btns{ display:flex;gap:.5rem;justify-content:center;padding:.4rem 1rem 1.3rem;flex-shrink:0;background:rgba(255,255,255,.6);min-height:10px; }
.ice10-nb{ padding:12px 28px;border:none;border-radius:14px;background:linear-gradient(135deg,#43D9AD,#2BB88E);color:#fff;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 4px 12px rgba(43,217,173,.4); }

/* ═══ 💧 آزمایشِ نفوذِ آب در خاک (فصل ۱۰) ═══ */
.perc10-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#dff1ff 0%,#eef8ff 55%,#f6fbff 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.perc10-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.perc10-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(30,50,80,.14);color:#20344f;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.perc10-ttl{ font-weight:900;font-size:.95rem;color:#20344f;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.perc10-star{ font-size:1.2rem;min-width:44px;text-align:left; }
.perc10-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.perc10-svg{ height:100%;max-height:100%;width:auto;max-width:99%;touch-action:none; }
.perc10-read{ text-align:center;font-size:.9rem;color:#20344f;line-height:1.8;padding:.5rem 1.2rem;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.62);direction:rtl;unicode-bidi:plaintext;word-break:normal;overflow-wrap:normal; } .perc10-read b{ font-weight:900;unicode-bidi:isolate; }
.perc10-ctrl{ display:flex;gap:.5rem;justify-content:center;padding:.5rem 1rem;flex-shrink:0;background:rgba(255,255,255,.62);min-height:10px; }
.perc10-b{ padding:12px 26px;border:none;border-radius:14px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.92rem;color:#fff;cursor:pointer; }
.perc10-b.pour{ background:linear-gradient(135deg,#4da8e8,#2b7fc4);box-shadow:0 4px 12px rgba(43,127,196,.35); }
.perc10-b.pour:disabled{ opacity:.45;cursor:default; }
.perc10-b.again{ background:linear-gradient(135deg,#43D9AD,#2BB88E);box-shadow:0 4px 12px rgba(43,217,173,.4); }
.perc10-expl{ flex-shrink:0;background:rgba(255,255,255,.62);padding:0 1rem;max-height:38vh;overflow-y:auto; }
.perc10-why{ background:#fff;border:1.5px solid #e3ebf2;border-radius:14px;padding:.85rem 1rem;margin:.2rem 0 1rem;direction:rtl; }
.p10w-h{ font-weight:900;font-size:.98rem;color:#20344f;margin-bottom:.5rem;text-align:center; }
.p10w-row{ display:flex;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.75;color:#33465e;margin-bottom:.5rem;direction:rtl;unicode-bidi:plaintext; } .p10w-row b{ font-weight:900; }
.p10w-dot{ width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:5px;border:1px solid rgba(0,0,0,.15); }
.p10w-note{ background:linear-gradient(135deg,#eafaf3,#fff);border-radius:10px;padding:.7rem .85rem;font-size:.87rem;line-height:1.75;color:#1f7a5a;direction:rtl;unicode-bidi:plaintext; } .p10w-note b{ font-weight:900; }

/* ═══ 🌱 آزمایشِ انواعِ خاک و ته‌نشینی (فصل ۱۰) ═══ */
.soil10-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#eaf6ee 0%,#f2f9f4 55%,#f8fcfa 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.soil10-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.soil10-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(40,70,50,.14);color:#294a34;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.soil10-ttl{ font-weight:900;font-size:.92rem;color:#294a34;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.soil10-star{ font-size:1.05rem;min-width:56px;text-align:left; }
.soil10-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.soil10-svg{ height:100%;max-height:100%;width:auto;max-width:99%;touch-action:none; }
.soil10-read{ text-align:center;font-size:.9rem;color:#294a34;line-height:1.8;padding:.5rem 1.2rem;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.62);direction:rtl;unicode-bidi:plaintext;word-break:normal;overflow-wrap:normal; } .soil10-read b{ font-weight:900;unicode-bidi:isolate; }
.soil10-ctrl{ display:flex;gap:.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;flex-shrink:0;background:rgba(255,255,255,.62);min-height:10px;flex-wrap:wrap; }
.soil10-b{ padding:11px 22px;border:none;border-radius:14px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.9rem;color:#fff;cursor:pointer; }
.soil10-b.settle{ background:linear-gradient(135deg,#7c8fa8,#566b86);box-shadow:0 4px 12px rgba(86,107,134,.35); }
.soil10-b.mag{ background:linear-gradient(135deg,var(--p),#4b44cc);box-shadow:0 4px 12px rgba(var(--p-rgb),.35); }
.soil10-b.back{ background:linear-gradient(135deg,#43D9AD,#2BB88E);box-shadow:0 4px 12px rgba(43,217,173,.4); }
.s10-mixbar{ position:relative;width:min(280px,80vw);height:34px;background:#e7eef3;border-radius:17px;overflow:hidden;border:1.5px solid #cdd9e2; }
.s10-mixfill{ position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,#7ec4ec,#4f9fd8);transition:width .05s; }
.s10-mixtxt{ position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#20344f; }
.soil10-expl{ flex-shrink:0;background:rgba(255,255,255,.62);padding:0 1rem;max-height:36vh;overflow-y:auto; }
.soil10-note{ background:#fff;border:1.5px solid #e3ebe6;border-radius:12px;padding:.75rem .95rem;margin:.2rem 0 1rem;font-size:.87rem;line-height:1.8;color:#33465e;direction:rtl;unicode-bidi:plaintext; } .soil10-note b{ font-weight:900; }
.soil10-why{ background:#fff;border:1.5px solid #e3ebe6;border-radius:14px;padding:.85rem 1rem;margin:.2rem 0 1rem;direction:rtl; }
.s10w-h{ font-weight:900;font-size:.98rem;color:#294a34;margin-bottom:.5rem;text-align:center; }
.s10w-row{ display:flex;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.75;color:#33465e;margin-bottom:.5rem;direction:rtl;unicode-bidi:plaintext; } .s10w-row b{ font-weight:900; }
.s10w-dot{ width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:5px;border:1px solid rgba(0,0,0,.15); }
.s10w-note{ background:linear-gradient(135deg,#eafaf3,#fff);border-radius:10px;padding:.7rem .85rem;font-size:.87rem;line-height:1.8;color:#1f7a5a;direction:rtl;unicode-bidi:plaintext; } .s10w-note b{ font-weight:900; }

/* ═══ 🌬️ آزمایشِ فرسایشِ خاک (فصل ۱۰) ═══ */
.ero10-overlay{ position:fixed;inset:0;z-index:500;background:linear-gradient(180deg,#bfe3ff 0%,#dff0ff 50%,#f0f9ef 100%);display:flex;flex-direction:column;animation:fadein .3s; }
.ero10-hud{ display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:max(.9rem,env(safe-area-inset-top,0px)) 1.2rem .3rem;flex-shrink:0; }
.ero10-close{ width:44px;height:44px;border-radius:50%;border:none;background:rgba(40,60,40,.14);color:#2a4a2a;font-size:1.25rem;cursor:pointer;flex-shrink:0; }
.ero10-ttl{ font-weight:900;font-size:.95rem;color:#2a4a2a;background:#fff;border-radius:20px;padding:6px 14px;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.ero10-star{ font-size:1.05rem;min-width:56px;text-align:left; }
.ero10-stage{ flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:.3rem; }
.ero10-svg{ height:100%;max-height:100%;width:auto;max-width:99%;touch-action:none; }
.ero10-read{ text-align:center;font-size:.9rem;color:#2a4a2a;line-height:1.8;padding:.5rem 1.2rem;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(255,255,255,.62);direction:rtl;unicode-bidi:plaintext;word-break:normal;overflow-wrap:normal; } .ero10-read b{ font-weight:900;unicode-bidi:isolate; }
.ero10-ctrl{ display:flex;gap:.5rem;justify-content:center;align-items:center;padding:.5rem 1rem;flex-shrink:0;background:rgba(255,255,255,.62);min-height:10px;flex-wrap:wrap; }
.ero10-b{ padding:11px 20px;border:none;border-radius:14px;font-family:'Estedad',sans-serif;font-weight:800;font-size:.9rem;color:#fff;cursor:pointer; }
.ero10-b.rain{ background:linear-gradient(135deg,#4da8e8,#2b7fc4);box-shadow:0 4px 12px rgba(43,127,196,.35); }
.ero10-b.wind{ background:linear-gradient(135deg,#9fb6c9,#6d8aa3);box-shadow:0 4px 12px rgba(109,138,163,.35); }
.ero10-b.result{ background:linear-gradient(135deg,#FFB800,#f39200);box-shadow:0 4px 12px rgba(243,146,0,.35); }
.ero10-b.plant{ background:linear-gradient(135deg,#43D9AD,#2BB88E);box-shadow:0 4px 12px rgba(43,217,173,.4); }
.ero10-b.back{ background:linear-gradient(135deg,#43D9AD,#2BB88E);box-shadow:0 4px 12px rgba(43,217,173,.4); }
.e10-plantcount{ font-size:.9rem;font-weight:800;color:#2a4a2a;background:#eafaf3;border-radius:12px;padding:9px 18px; }
.ero10-expl{ flex-shrink:0;background:rgba(255,255,255,.62);padding:0 1rem;max-height:36vh;overflow-y:auto; }
.ero10-why{ background:#fff;border:1.5px solid #e3ebe6;border-radius:14px;padding:.85rem 1rem;margin:.2rem 0 1rem;direction:rtl; }
.e10w-h{ font-weight:900;font-size:.98rem;color:#2a4a2a;margin-bottom:.5rem;text-align:center; }
.e10w-row{ display:flex;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.75;color:#33465e;margin-bottom:.5rem;direction:rtl;unicode-bidi:plaintext; } .e10w-row b{ font-weight:900; }
.e10w-dot{ width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:5px;border:1px solid rgba(0,0,0,.15); }
.e10w-em{ font-size:1.05rem;flex-shrink:0;line-height:1.5; }
.e10w-note{ background:linear-gradient(135deg,#eafaf3,#fff);border-radius:10px;padding:.7rem .85rem;font-size:.87rem;line-height:1.8;color:#1f7a5a;direction:rtl;unicode-bidi:plaintext;margin-top:.3rem; } .e10w-note b{ font-weight:900; }

/* ═══════════ 🌱 آزمایشگاهِ رشدِ گیاه — فصل ۱۱ ═══════════ */
.grow11-overlay{ position:fixed; inset:0; z-index:9999; background:linear-gradient(160deg,#f4fff7,#eef6ff); display:flex; flex-direction:column; align-items:center; overflow-y:auto; padding:10px 12px 24px; }
.grow11-hud{ width:100%; max-width:440px; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.grow11-close{ width:38px; height:38px; border-radius:50%; border:none; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.12); font-size:1.1rem; cursor:pointer; flex-shrink:0; }
.grow11-mtitle{ flex:1; text-align:center; font-weight:800; font-size:.92rem; color:#2e7d32; }
.grow11-stars{ font-weight:800; font-size:.95rem; color:#FFB800; flex-shrink:0; }
.grow11-q{ width:100%; max-width:440px; background:rgba(67,217,173,.12); border:2px dashed rgba(46,125,50,.35); border-radius:14px; padding:.7rem .9rem; font-size:.9rem; font-weight:700; color:#2e7d32; text-align:center; line-height:1.7; margin-bottom:10px; }
.grow11-stage{ width:100%; max-width:340px; aspect-ratio:300/260; background:#fff; border-radius:18px; box-shadow:0 6px 20px rgba(0,0,0,.08); overflow:hidden; }
.grow11-svg{ width:100%; height:100%; display:block; }
.grow11-read{ width:100%; max-width:440px; text-align:center; font-size:.9rem; line-height:1.7; color:#333; margin:10px 0; min-height:22px; }
.g11-r-good{ color:#2BB88E; font-weight:800; }
.g11-r-mid{ color:#FFA000; font-weight:800; }
.g11-r-bad{ color:#FF6584; font-weight:800; }
.g11-learn{ background:linear-gradient(135deg,#fff8e6,#fff0f4); border:1px solid #ffd54f; border-radius:12px; padding:.7rem .9rem; margin-top:.6rem; font-size:.85rem; line-height:1.7; color:#333; font-weight:600; }
.g11-hint{ background:rgba(255,101,132,.08); border-radius:12px; padding:.6rem .9rem; margin-top:.6rem; font-size:.85rem; color:#c1476a; font-weight:600; }
.grow11-panel{ width:100%; max-width:440px; display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.g11-frow{ background:#fff; border-radius:14px; padding:.6rem .7rem; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.g11-frow.locked{ opacity:.62; background:#f4f4f7; }
.g11-flabel{ font-weight:800; font-size:.82rem; color:#444; margin-bottom:.4rem; }
.g11-fopts{ display:flex; gap:6px; flex-wrap:wrap; }
.g11-opt{ flex:1; min-width:62px; display:flex; flex-direction:column; align-items:center; gap:2px; background:#f0f3f8; border:2px solid transparent; border-radius:12px; padding:.5rem .3rem; cursor:pointer; transition:.15s; font-family:inherit; }
.g11-opt:hover:not(.dim){ transform:translateY(-2px); }
.g11-opt.sel{ border-color:#43D9AD; background:#e6fbf3; box-shadow:0 3px 10px rgba(67,217,173,.25); }
.g11-opt.dim{ cursor:default; }
.g11-oe{ font-size:1.3rem; }
.g11-ot{ font-size:.72rem; font-weight:700; color:#555; text-align:center; line-height:1.3; }
.grow11-ctrl{ width:100%; max-width:440px; display:flex; justify-content:center; margin-bottom:8px; }
.grow11-b{ border:none; border-radius:14px; padding:13px 26px; font-size:1rem; font-weight:800; cursor:pointer; font-family:inherit; color:#fff; box-shadow:0 4px 14px rgba(0,0,0,.15); transition:.15s; }
.grow11-b:active{ transform:scale(.96); }
.grow11-b.plant{ background:linear-gradient(135deg,#43D9AD,#2BB88E); }
.grow11-b.plant:disabled{ opacity:.6; }
.grow11-b.next{ background:linear-gradient(135deg,var(--p),#4B44CC); }
.grow11-btns{ width:100%; max-width:440px; display:flex; justify-content:center; gap:10px; }
.g11-final{ background:linear-gradient(135deg,rgba(67,217,173,.1),rgba(var(--p-rgb),.08)); border-radius:14px; padding:1rem; line-height:1.8; font-size:.9rem; }
.g11-fscore{ margin-top:.6rem; font-weight:800; font-size:1.05rem; color:#2e7d32; }

/* ═══════════ 💧 آزمایشگاهِ سفرِ آب — فصل ۱۲ ═══════════ */
.jour12-overlay{ position:fixed; inset:0; z-index:9999; background:linear-gradient(160deg,#eef7ff,#f4fff9); display:flex; flex-direction:column; align-items:center; overflow-y:auto; padding:10px 12px 24px; }
.jour12-hud{ width:100%; max-width:440px; display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.jour12-close{ width:38px; height:38px; border-radius:50%; border:none; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.12); font-size:1.1rem; cursor:pointer; flex-shrink:0; }
.jour12-title{ flex:1; text-align:center; font-weight:800; font-size:.95rem; color:#0088A9; }
.jour12-stars{ font-weight:800; font-size:.95rem; color:#FFB800; flex-shrink:0; }
.jour12-q{ width:100%; max-width:440px; background:rgba(0,200,150,.1); border:2px dashed rgba(0,136,169,.35); border-radius:14px; padding:.7rem .9rem; font-size:.9rem; font-weight:700; color:#0088A9; text-align:center; line-height:1.7; margin-bottom:10px; }
.jour12-stage{ width:100%; max-width:300px; aspect-ratio:1/1; background:#fff; border-radius:18px; box-shadow:0 6px 20px rgba(0,0,0,.08); overflow:hidden; }
.jour12-svg{ width:100%; height:100%; display:block; }
.jour12-read{ width:100%; max-width:440px; text-align:center; font-size:.9rem; line-height:1.7; color:#333; margin:10px 0; min-height:22px; }
.j12-good{ color:#2BB88E; font-weight:800; }
.j12-bad{ color:#FF6584; font-weight:800; }
.j12-learn{ display:block; margin-top:.4rem; background:linear-gradient(135deg,#e9fbf4,#eef7ff); border-radius:12px; padding:.6rem .9rem; font-size:.85rem; color:#333; font-weight:600; }
.jour12-opts{ width:100%; max-width:440px; display:flex; flex-direction:column; gap:8px; }
.jour12-opt{ background:#fff; border:2px solid #d8e6ee; border-radius:14px; padding:13px 16px; font-size:1rem; font-weight:800; color:#333; cursor:pointer; font-family:inherit; transition:.15s; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.jour12-opt:hover:not(:disabled){ transform:translateY(-2px); border-color:#00C896; }
.jour12-opt:active{ transform:scale(.97); }
.jour12-opt:disabled{ cursor:default; }
.jour12-opt.correct{ background:#e6fbf3; border-color:#2BB88E; color:#1c8f6e; }
.jour12-opt.wrong{ background:#ffe6ec; border-color:#FF6584; color:#c1476a; }
.jour12-opt.next{ background:linear-gradient(135deg,#00C896,#0088A9); color:#fff; border:none; box-shadow:0 4px 14px rgba(0,136,169,.3); }
.j12-final{ background:linear-gradient(135deg,rgba(0,200,150,.1),rgba(74,144,217,.08)); border-radius:14px; padding:1rem; line-height:1.8; font-size:.9rem; }
.j12-fscore{ margin-top:.6rem; font-weight:800; font-size:1.05rem; color:#0088A9; }

/* ═══════════ 📢 تابلوی اعلانات (لندینگ) ═══════════ */
.announce-board{ max-width:1100px; margin:1.2rem auto; padding:1.1rem 1.4rem; border-radius:18px;
  background:linear-gradient(135deg,#fff7e6,#fff0f4); border:2px solid #ffd76a;
  box-shadow:0 6px 22px rgba(255,184,0,.15); position:relative; overflow:hidden; }
.announce-board::before{ content:''; position:absolute; inset:0 auto 0 0; width:6px;
  background:linear-gradient(#FFB800,#FF7043); }
.ann-title{ font-weight:900; font-size:1.05rem; color:#c96a00; margin-bottom:.5rem; }
.ann-text{ font-size:.95rem; line-height:1.9; color:#5a4a2a; white-space:normal; }
@media(max-width:600px){ .announce-board{ margin:1rem .8rem; padding:1rem 1.1rem; border-radius:14px; } }

/* ═══════════ 📽️ بخشِ تدریس + حالتِ ارائه ═══════════ */
.teach-group-title{ font-weight:800; font-size:1rem; color:var(--p); margin:1rem 0 .6rem; }
.teach-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:.8rem; }
.teach-card{ background:var(--card); border:1.5px solid var(--border); border-radius:16px; padding:1.1rem; cursor:pointer; transition:.15s; text-align:center; }
.teach-card:hover{ transform:translateY(-3px); border-color:var(--p); box-shadow:0 6px 18px rgba(var(--p-rgb),.15); }
.teach-card-ico{ font-size:2rem; margin-bottom:.5rem; }
.teach-card-t{ font-weight:800; font-size:.92rem; margin-bottom:.3rem; }
.teach-card-d{ font-size:.78rem; color:var(--text3); line-height:1.6; margin-bottom:.5rem; }
.teach-card-go{ font-size:.82rem; font-weight:800; color:var(--g); }
.teach-empty{ text-align:center; padding:2.5rem 1rem; color:var(--text3); line-height:2; background:var(--bg3); border-radius:16px; }
.teach-soon{ margin-top:1.5rem; background:linear-gradient(135deg,rgba(var(--p-rgb),.06),rgba(0,200,150,.05)); border:1.5px dashed var(--border); border-radius:16px; padding:1.1rem 1.3rem; }
.teach-soon-h{ font-weight:800; color:var(--text2); margin-bottom:.6rem; }
.teach-soon-i{ font-size:.85rem; color:var(--text3); padding:.35rem 0; }

.pres-overlay{ position:fixed; inset:0; z-index:10000; background:#111; display:flex; flex-direction:column; }
.pres-stage{ flex:1; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.pres-canvas{ display:block; max-width:100%; max-height:100%; box-shadow:0 0 40px rgba(0,0,0,.5); background:#fff; }
.pres-draw{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
.pres-loading{ position:absolute; color:#fff; font-size:1rem; text-align:center; line-height:2; }
.pres-laser{ position:absolute; width:18px; height:18px; margin:-9px 0 0 -9px; border-radius:50%; background:radial-gradient(circle,#ff3b3b,rgba(255,59,59,0)); pointer-events:none; box-shadow:0 0 12px #ff3b3b; z-index:5; }
.pres-black{ position:absolute; inset:0; background:#000; z-index:6; }
.pres-bar{ display:flex; align-items:center; justify-content:center; gap:.35rem; padding:.5rem; background:#1c1c22; flex-wrap:wrap; }
.pres-btn{ min-width:40px; height:40px; border:none; border-radius:10px; background:#2c2c36; color:#fff; font-size:1.1rem; cursor:pointer; transition:.15s; padding:0 10px; }
.pres-btn:hover{ background:#3a3a48; }
.pres-btn.active{ background:var(--p); }
.pres-btn.pres-close{ background:#b93b4e; }
.pres-page{ color:#fff; font-weight:800; min-width:70px; text-align:center; font-size:.9rem; }
.pres-sep{ width:1px; height:26px; background:#3a3a48; margin:0 .3rem; }
.pres-thumbs{ display:flex; gap:.4rem; padding:.5rem; background:#16161b; overflow-x:auto; }
.pres-thumb{ min-width:34px; height:34px; border-radius:8px; background:#2c2c36; color:#aaa; display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700; cursor:pointer; flex-shrink:0; }
.pres-thumb.on{ background:var(--p); color:#fff; }
@media(max-width:600px){ .pres-btn{ min-width:36px; height:36px; font-size:1rem; } .pres-page{ min-width:56px; font-size:.8rem; } }

/* ═══════════ 🏡 خانه‌ی من ═══════════ */
.mh-wrap{ border-radius:18px; overflow:hidden; padding:1rem; background:linear-gradient(180deg,#bfe6ff 0%,#d9f5e0 55%,#c7ecb0 100%); transition:background .8s; }
.mh-wrap.night{ background:linear-gradient(180deg,#1b2447 0%,#28315c 55%,#20304a 100%); color:#eef; }
.mh-top{ display:flex; gap:.6rem; margin-bottom:.9rem; }
.mh-stat{ flex:1; background:rgba(255,255,255,.75); border-radius:14px; padding:.6rem; text-align:center; }
.mh-wrap.night .mh-stat{ background:rgba(255,255,255,.12); }
.mh-stat-v{ font-weight:900; font-size:1.15rem; }
.mh-stat-l{ font-size:.72rem; opacity:.8; margin-top:.15rem; }
.mh-land{ display:grid; gap:4px; background:rgba(0,0,0,.06); padding:6px; border-radius:14px; margin-bottom:.9rem; }
.mh-wrap.night .mh-land{ background:rgba(0,0,0,.25); }
.mh-tile{ aspect-ratio:1/1; border-radius:9px; display:flex; align-items:center; justify-content:center; cursor:pointer; position:relative; transition:transform .12s, background .3s; user-select:none; }
.mh-tile.locked{ background:repeating-linear-gradient(45deg,#9aa2ad,#9aa2ad 6px,#8b93a0 6px,#8b93a0 12px); }
.mh-tile.locked:hover{ background:repeating-linear-gradient(45deg,#8b93a0,#8b93a0 6px,#7c8490 6px,#7c8490 12px); }
.mh-lock{ font-size:1rem; opacity:.7; }
.mh-tile.open{ background:linear-gradient(135deg,#a9e59a,#8fd97e); box-shadow:inset 0 0 0 1px rgba(255,255,255,.4); }
.mh-wrap.night .mh-tile.open{ background:linear-gradient(135deg,#3f6b4e,#345c43); }
.mh-tile.open:hover{ transform:scale(1.06); }
.mh-tile.has{ background:linear-gradient(135deg,#bdeeb0,#a3e592); }
.mh-item{ font-size:1.7rem; line-height:1; filter:drop-shadow(0 2px 2px rgba(0,0,0,.2)); animation:mhPop .25s ease; }
@keyframes mhPop{ 0%{transform:scale(0)} 70%{transform:scale(1.2)} 100%{transform:scale(1)} }
.mh-tile.shake{ animation:mhShake .4s; }
@keyframes mhShake{ 0%,100%{transform:translateX(0)} 25%{transform:translateX(-4px)} 75%{transform:translateX(4px)} }
.mh-celebrate{ animation:mhGlow 1.2s ease; }
@keyframes mhGlow{ 0%,100%{box-shadow:none} 50%{box-shadow:0 0 0 4px #ffd54f, 0 0 24px #ffd54f} }
.mh-tools{ display:flex; gap:.5rem; margin-bottom:.9rem; }
.mh-tool{ flex:1; padding:.6rem; border:none; border-radius:12px; background:rgba(255,255,255,.8); font-family:inherit; font-weight:800; font-size:.85rem; cursor:pointer; transition:.15s; }
.mh-wrap.night .mh-tool{ background:rgba(255,255,255,.15); color:#eef; }
.mh-tool.on{ background:var(--p); color:#fff; }
.mh-shop-title{ font-weight:800; margin-bottom:.5rem; }
.mh-shop-title small{ font-weight:500; opacity:.7; font-size:.75rem; }
.mh-shop{ display:grid; grid-template-columns:repeat(auto-fill,minmax(74px,1fr)); gap:.5rem; }
.mh-buy{ background:rgba(255,255,255,.85); border:2px solid transparent; border-radius:12px; padding:.5rem .2rem; cursor:pointer; font-family:inherit; display:flex; flex-direction:column; align-items:center; gap:2px; transition:.15s; }
.mh-wrap.night .mh-buy{ background:rgba(255,255,255,.14); color:#eef; }
.mh-buy:hover{ transform:translateY(-2px); }
.mh-buy.sel{ border-color:var(--p); box-shadow:0 3px 10px rgba(var(--p-rgb),.3); }
.mh-buy.poor{ opacity:.45; }
.mh-buy-e{ font-size:1.5rem; }
.mh-buy-n{ font-size:.72rem; font-weight:700; }
.mh-buy-p{ font-size:.72rem; font-weight:800; color:#c96a00; }
.mh-wrap.night .mh-buy-p{ color:#ffd76a; }
.mh-hint{ margin-top:.8rem; background:rgba(255,255,255,.6); border-radius:12px; padding:.6rem .8rem; font-size:.82rem; line-height:1.7; }
.mh-wrap.night .mh-hint{ background:rgba(255,255,255,.12); }
.mh-loading{ text-align:center; padding:2.5rem; color:var(--text3); }

/* ═══════════ 🧰 ابزارهای معلم ═══════════ */
.tt-loading{ text-align:center; padding:2.5rem; color:var(--text3); }
.tt-tabs{ display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.tt-tab{ padding:.62rem 1.05rem; border:1.5px solid var(--border); border-radius:14px; background:var(--card); color:var(--text2); font-family:inherit; font-weight:700; font-size:.86rem; cursor:pointer; transition:.15s; display:inline-flex; align-items:center; gap:7px; }
.tt-tab .tt-tab-ico{ font-size:1.3rem; line-height:1; }
.tt-tab:hover{ border-color:var(--border2); }
.tt-tab.on{ background:var(--p); color:#fff; border-color:var(--p); }
.tt-card{ background:var(--card); border:1.5px solid var(--border); border-radius:16px; padding:1.1rem; margin-bottom:1rem; }
.tt-card-h{ font-weight:800; font-size:.95rem; margin-bottom:.7rem; }
.tt-in{ width:100%; background:var(--bg3); border:1.5px solid var(--border); border-radius:12px; color:var(--text); font-family:inherit; font-size:.9rem; padding:11px 13px; margin-bottom:.6rem; }
.tt-ta{ width:100%; min-height:90px; background:var(--bg3); border:1.5px solid var(--border); border-radius:12px; color:var(--text); font-family:inherit; font-size:.9rem; padding:11px 13px; line-height:1.9; margin-bottom:.6rem; }
.tt-btn{ background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; border:none; border-radius:12px; padding:11px 20px; font-family:inherit; font-weight:800; font-size:.9rem; cursor:pointer; }
.tt-btn.sm{ padding:10px 14px; font-size:.82rem; }
.tt-btn.ghost{ background:var(--bg3); color:var(--text2); }
.tt-row{ display:flex; gap:.5rem; align-items:center; }
.tt-row .tt-in{ margin-bottom:0; }
.tt-list{ display:flex; flex-direction:column; gap:.6rem; }
.tt-item{ background:var(--bg3); border-radius:12px; padding:.8rem .9rem; }
.tt-item-t{ font-weight:800; font-size:.9rem; margin-bottom:.3rem; }
.tt-item-b{ font-size:.87rem; line-height:1.8; color:var(--text2); }
.tt-item-f{ display:flex; justify-content:space-between; align-items:center; margin-top:.5rem; font-size:.75rem; color:var(--text3); }
.tt-del{ background:rgba(255,79,123,.12); color:#e0466e; border:none; border-radius:8px; padding:4px 10px; font-family:inherit; font-size:.75rem; cursor:pointer; }
.tt-empty{ text-align:center; padding:1.5rem; color:var(--text3); background:var(--bg3); border-radius:12px; font-size:.85rem; }
.tt-note-hint{ font-size:.78rem; color:var(--text3); margin-bottom:.6rem; line-height:1.7; }
.tt-table-wrap{ overflow-x:auto; }
.tt-table{ width:100%; border-collapse:collapse; font-size:.82rem; }
.tt-table th,.tt-table td{ border:1px solid var(--border); padding:.4rem; text-align:center; }
.tt-table th{ background:var(--bg3); font-weight:800; white-space:nowrap; }
.tt-table .tt-name{ text-align:right; white-space:nowrap; font-weight:700; }
.tt-grade-cell{ width:56px; background:var(--card); border:1px solid var(--border); border-radius:6px; color:var(--text); text-align:center; padding:5px; font-family:inherit; }
.tt-delcol{ background:none; border:none; color:#e0466e; cursor:pointer; font-size:.7rem; }
.tt-sched-row{ display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem; }
.tt-sched-day{ min-width:70px; font-weight:800; font-size:.85rem; }
.tt-sched-in{ margin-bottom:0; }
.tt-assist-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:.8rem; }
.tt-atool{ background:var(--card); border:1.5px solid var(--border); border-radius:16px; padding:1.4rem 1rem; text-align:center; cursor:pointer; transition:.15s; }
.tt-atool:hover{ transform:translateY(-3px); border-color:var(--p); box-shadow:0 6px 18px rgba(var(--p-rgb),.15); }
.tt-atool-e{ font-size:2.2rem; margin-bottom:.5rem; }
.tt-atool-t{ font-weight:800; font-size:.88rem; }
/* overlay ابزارها */
.tt-ov{ position:fixed; inset:0; z-index:10000; background:rgba(20,20,30,.6); backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; padding:1rem; }
.tt-ov-box{ background:var(--card); border-radius:20px; padding:1.5rem; width:100%; max-width:380px; position:relative; text-align:center; }
.tt-ov-close{ position:absolute; top:.8rem; left:.8rem; width:34px; height:34px; border-radius:50%; border:none; background:var(--bg3); color:var(--text2); font-size:1rem; cursor:pointer; }
.tt-timer-tabs{ display:flex; gap:.5rem; justify-content:center; margin-bottom:1rem; }
.tt-timer-tabs button{ padding:.5rem 1rem; border:1.5px solid var(--border); border-radius:10px; background:var(--bg3); color:var(--text2); font-family:inherit; font-weight:700; font-size:.82rem; cursor:pointer; }
.tt-timer-tabs button.on{ background:var(--p); color:#fff; border-color:var(--p); }
.tt-timer-disp{ font-size:3.4rem; font-weight:900; letter-spacing:.05em; margin:.6rem 0; font-variant-numeric:tabular-nums; }
.tt-timer-disp.tt-ring{ color:#FF4F4F; animation:ttRing .5s ease infinite; }
@keyframes ttRing{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }
.tt-timer-set{ display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-bottom:1rem; }
.tt-timer-set button{ padding:.6rem; border:1.5px solid var(--border); border-radius:10px; background:var(--bg3); color:var(--text2); font-family:inherit; font-weight:700; font-size:.82rem; cursor:pointer; }
.tt-timer-ctrl{ display:flex; gap:.5rem; }
.tt-timer-ctrl .tt-btn{ flex:1; }
.tt-noise-title,.tt-noise-msg{ font-weight:700; }
.tt-noise-title{ font-size:1.05rem; margin-bottom:1rem; }
.tt-noise-meter{ height:26px; background:var(--bg3); border-radius:13px; overflow:hidden; margin-bottom:1rem; }
.tt-noise-fill{ height:100%; width:0%; background:#43D9AD; border-radius:13px; transition:width .12s, background .3s; }
.tt-noise-face{ font-size:3rem; margin:.5rem 0; }
.tt-noise-msg{ font-size:.9rem; color:var(--text2); margin-bottom:1rem; min-height:22px; }
.tt-grp-out{ display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:.7rem; margin-top:1rem; }
.tt-grp{ border:2px solid; border-radius:14px; padding:.7rem; }
.tt-grp-h{ font-weight:800; font-size:.85rem; margin-bottom:.5rem; }
.tt-grp-m{ font-size:.82rem; padding:.25rem 0; }

/* پیام‌های والدین */
.pm-note{ background:linear-gradient(135deg,#fff7e6,#fff0f4); border:1.5px solid #ffd76a; border-radius:14px; padding:1rem; margin-bottom:1rem; }
.pm-note-h{ font-weight:800; color:#c96a00; margin-bottom:.4rem; font-size:.9rem; }
.pm-note-b{ font-size:.87rem; line-height:1.8; color:#5a4a2a; }
.pm-h{ font-weight:800; font-size:.95rem; margin-bottom:.6rem; }
.pm-list{ display:flex; flex-direction:column; gap:.6rem; }
.pm-item{ background:var(--card); border:1px solid var(--border); border-radius:12px; padding:.8rem .9rem; }
.pm-item-t{ font-weight:800; font-size:.9rem; margin-bottom:.3rem; }
.pm-item-b{ font-size:.87rem; line-height:1.8; color:var(--text2); }
.pm-item-d{ font-size:.72rem; color:var(--text3); margin-top:.5rem; }
.pm-empty{ text-align:center; padding:1.4rem; color:var(--text3); background:var(--bg3); border-radius:12px; font-size:.85rem; }

/* ═══════════ 🎵 پنل کنترل صدا ═══════════ */
.music-panel{ position:fixed; top:64px; left:12px; z-index:10001; background:var(--card); border:1.5px solid var(--border);
  border-radius:16px; padding:1rem; box-shadow:0 8px 30px rgba(0,0,0,.25); width:230px; }
.mp-row{ display:flex; align-items:center; gap:.6rem; margin-bottom:.7rem; }
.mp-title{ font-weight:800; font-size:.9rem; flex:1; }
.mp-play{ width:38px; height:38px; border-radius:50%; border:none; background:var(--p); color:#fff; font-size:1rem; cursor:pointer; }
.mp-x{ background:var(--bg3); border:none; color:var(--text2); width:28px; height:28px; border-radius:50%; cursor:pointer; }
.mp-ico{ font-size:1rem; }
.mp-slider{ flex:1; accent-color:var(--p); }
.mp-val{ text-align:center; font-weight:800; color:var(--p); font-size:.85rem; }

/* ═══════════ 🏡 خانه‌ی من — بخش‌های جدید ═══════════ */
.mh-cat{ font-weight:800; font-size:.9rem; margin:1rem 0 .5rem; color:var(--text2); }
.mh-cat.wish{ background:linear-gradient(135deg,#FFD700,#FF8C00); -webkit-background-clip:text; background-clip:text; color:transparent; font-size:1rem; }
.mh-cat small{ font-weight:600; opacity:.75; }
.mh-cat-items{ display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:.5rem; margin-bottom:.5rem; }
.mh-buy.wish{ background:linear-gradient(135deg,#fff9e6,#fff2cc); border:2px solid #FFD700; box-shadow:0 2px 10px rgba(255,180,0,.2); }
.mh-wrap.night .mh-buy.wish{ background:linear-gradient(135deg,rgba(255,215,0,.15),rgba(255,140,0,.1)); }
.mh-buy.wish .mh-buy-p{ color:#e08600; }
.mh-credithelp{ margin-top:.7rem; background:rgba(var(--p-rgb),.08); border-radius:12px; padding:.7rem .9rem; font-size:.8rem; line-height:1.8; color:var(--text2); }
.mh-wrap.night .mh-credithelp{ background:rgba(255,255,255,.1); color:#dde; }
/* زمینِ بزرگ‌تر: کاشی‌های کمی کوچک‌تر تا ۱۰×۱۰ جا شود */
.mh-land .mh-tile{ border-radius:7px; }
.mh-item{ font-size:1.4rem; }
/* فاصله از پایین تا نوار ابزار پیدا نشود */
#sec-myhome{ padding-bottom:80px; }

/* ═══════════ 📒 کارت‌های هاب (دفترِ کلاسی) ═══════════ */
.hub-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }
.hub-card{ background:var(--card); border:none; border-right:5px solid var(--hc,var(--p));
  border-radius:14px; padding:.85rem .8rem; cursor:pointer; transition:.15s; box-shadow:0 4px 13px rgba(var(--p-rgb),.07); }
.hub-card:hover{ transform:translateY(-2px); box-shadow:0 8px 20px rgba(var(--p-rgb),.12); }
.hub-ico{ font-size:1.5rem; margin-bottom:.35rem; }
.hub-t{ font-weight:800; font-size:.88rem; margin-bottom:.2rem; }
.hub-d{ font-size:.72rem; color:var(--text3); line-height:1.5; }
/* نسخه‌ی جمع‌وجورِ دفترِ کلاسی (آیکون‌های کوچک‌تر، ۳تایی) */
.hub-grid-sm{ grid-template-columns:repeat(3,1fr); gap:.55rem; }
.hub-grid-sm .hub-card{ padding:.7rem .5rem; text-align:center; border-right:none; border-top:4px solid var(--hc,var(--p)); }
.hub-grid-sm .hub-ico{ font-size:1.15rem; margin-bottom:.25rem; }
.hub-grid-sm .hub-t{ font-size:.75rem; }
.hub-grid-sm .hub-d{ font-size:.6rem; line-height:1.35; }
@media(max-width:360px){ .hub-grid-sm{ gap:.45rem; } .hub-grid-sm .hub-t{ font-size:.68rem; } }
@media(min-width:720px){ .hub-grid{ grid-template-columns:repeat(3,1fr); gap:1rem; } .hub-card{ padding:1.1rem; } .hub-ico{ font-size:2rem; } }

/* ═══════════ مدیریت دانش‌آموز (کم/زیاد) ═══════════ */
.stu-manage-bar{ display:flex; gap:.5rem; margin-bottom:1rem; }
.stu-add-in{ flex:1; background:var(--bg3); border:1.5px solid var(--border); border-radius:12px; color:var(--text); font-family:inherit; font-size:.9rem; padding:11px 13px; }
.stu-add-btn{ background:linear-gradient(135deg,var(--g),#2BB88E); color:#fff; border:none; border-radius:12px; padding:11px 18px; font-family:inherit; font-weight:800; font-size:.88rem; cursor:pointer; white-space:nowrap; }
.st-del-btn{ background:rgba(255,79,123,.12); border:none; border-radius:9px; padding:6px 10px; cursor:pointer; font-size:.95rem; margin-right:.4rem; }
.st-del-btn:hover{ background:rgba(255,79,123,.25); }
/* نتایج/جدول‌ها فاصله از نوار ابزار */
#sec-teacher-results, #sec-teacher-students{ padding-bottom:80px; }

/* ═══════════ نوار کناری: دکمه‌ی بستن + بازگشت به خانه ═══════════ */
.sb-close{ display:none; position:absolute; top:.8rem; left:.8rem; width:34px; height:34px; border-radius:50%;
  border:none; background:rgba(255,255,255,.1); color:var(--text2); font-size:1rem; cursor:pointer; z-index:2; }
.sb-home-btn{ width:100%; background:rgba(var(--p-rgb),.12); color:var(--p); border:1.5px solid rgba(var(--p-rgb),.3);
  border-radius:12px; padding:11px; font-family:inherit; font-weight:800; font-size:.85rem; cursor:pointer; margin-bottom:.7rem; }
.sb-home-btn:hover{ background:rgba(var(--p-rgb),.2); }
@media(max-width:720px){ .sb-close{ display:flex; align-items:center; justify-content:center; } .sidebar{ z-index:9998; } }

/* ═══════════ رفعِ دکمه‌های بستنِ آزمایش‌ها (z-index بالا) ═══════════ */
.eye6-close, .ear6-close, .grow11-close, .jour12-close, .tongue6-close{ position:relative; z-index:20; }
.eye6-top, .ear6-top{ position:relative; z-index:20; }

/* ═══════════ آزمایشگاهِ چشایی: کارت‌های غذا ═══════════ */
.taste7-tray{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; padding:.5rem; }
.taste7-food{ position:relative; min-width:72px; background:var(--card,#fff); border:2px solid var(--border,#e5e5e5);
  border-radius:14px; padding:.6rem .4rem; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:3px; transition:.15s; }
.taste7-food .tf-e{ font-size:1.7rem; line-height:1; }
.taste7-food .tf-n{ font-size:.8rem; font-weight:700; white-space:nowrap; color:var(--text,#222); }
.taste7-food.sel{ border-color:var(--p); box-shadow:0 3px 12px rgba(var(--p-rgb),.3); transform:translateY(-2px); }
.taste7-food.done{ opacity:.5; order:1; }
.taste7-food.done .tf-tick{ position:absolute; top:-6px; left:-6px; background:#2BB88E; color:#fff; width:20px; height:20px; border-radius:50%; font-size:.7rem; display:flex; align-items:center; justify-content:center; font-weight:800; }

/* ═══════════ رفعِ چیدمانِ بازی اردک (تمام‌صفحه) ═══════════ */
.duck-game .river-track{ height:100%; }
.duck-game .river-flag{ top:auto; bottom:8px; }
.duck-game .river-lily{ /* top به‌صورت درصدی از JS می‌آید */ }
.duck-game .river-duck{ transform:translateY(-50%); }
/* ناحیه‌ی آب واضح‌تر: آب از حدود ۴۰٪ به پایین */
.duck-game .river-world{ background:linear-gradient(180deg,transparent 0%,transparent 34%,#8FD0F2 40%,#5BB8E0 58%,#3A9AD0 80%,#2080B8 100%); }
/* توپبار حتماً بالای صحنه و جدا */
.duck-game .duck-topbar{ background:rgba(0,0,0,.12); backdrop-filter:blur(2px); }

/* ═══════════ آزمایشگاهِ رشد: بهبودِ موبایل (گل واضح‌تر) ═══════════ */
@media(max-width:560px){
  .grow11-stage{ max-width:300px; }   /* صحنه جمع‌وجورتر تا کاملِ گل در کادر بماند */
  /* قیمت‌ها و گزینه‌های فروشگاه کوچیک‌تر */
  .grow11-opt, .grow11-panel button, .grow11-ctrl button{ font-size:.78rem !important; padding:7px 9px !important; }
  .grow11-opt .g11-price, .g11-price{ font-size:.72rem !important; }
  .grow11-panel{ gap:6px; }
}
/* قیمت‌ها به‌طور کلی جمع‌وجورتر */
.g11-price{ font-size:.8rem; opacity:.9; }

/* ═══════════ پیام والد↔معلم ═══════════ */
.pm-send{ background:linear-gradient(135deg,rgba(var(--p-rgb),.08),rgba(0,200,150,.06)); border:1.5px solid var(--border); border-radius:14px; padding:1rem; margin-bottom:1.2rem; }
.pm-send-h{ font-weight:800; font-size:.92rem; margin-bottom:.6rem; }
.pm-ta{ width:100%; min-height:80px; background:var(--card); border:1.5px solid var(--border); border-radius:12px; color:var(--text); font-family:inherit; font-size:.9rem; padding:11px; line-height:1.8; margin-bottom:.6rem; }
.pm-send-btn{ background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; border:none; border-radius:12px; padding:10px 20px; font-family:inherit; font-weight:800; font-size:.88rem; cursor:pointer; }
.tt-badge{ background:#FF4F7B; color:#fff; font-size:.7rem; padding:2px 9px; border-radius:20px; font-weight:800; }
.tt-item.unread{ border-right:3px solid #FF4F7B; background:rgba(255,79,123,.05); }

/* ═══════════ 🎓 سیستمِ پایه‌ها ═══════════ */
.grade-bar{ display:inline-flex; align-items:center; gap:.5rem; background:color-mix(in srgb, var(--gc) 12%, transparent);
  color:var(--gc); border:1.5px solid color-mix(in srgb, var(--gc) 35%, transparent); border-radius:14px;
  padding:.5rem 1rem; font-weight:800; font-size:.9rem; margin-bottom:1rem; }
.grade-soon{ text-align:center; padding:2.5rem 1.5rem; background:var(--bg3); border-radius:20px; }
.grade-soon-ico{ font-size:3.5rem; margin-bottom:1rem; }
.grade-soon-t{ font-weight:800; font-size:1.1rem; margin-bottom:.6rem; }
.grade-soon-d{ font-size:.9rem; color:var(--text3); line-height:1.9; max-width:400px; margin:0 auto; }
/* انتخابگر پایه (پنل ادمین) */
.grade-pick{ display:flex; gap:.6rem; flex-wrap:wrap; }
.grade-pick-btn{ flex:1; min-width:90px; background:var(--bg3); border:2px solid var(--border); border-radius:14px;
  padding:1rem; text-align:center; cursor:pointer; font-family:inherit; transition:.15s; }
.grade-pick-btn.on{ border-color:var(--p); background:rgba(var(--p-rgb),.08); }
.grade-pick-e{ font-size:1.8rem; display:block; margin-bottom:.3rem; }
.grade-pick-n{ font-weight:800; font-size:.9rem; }
.grade-pick-s{ font-size:.72rem; color:var(--text3); margin-top:.2rem; }

/* ═══════════ نشان‌های پایه در صفحه‌ی اصلی ═══════════ */
.ld-grades-row{ display:flex; gap:.6rem; margin:1.2rem 0; flex-wrap:wrap; }
.ld-grade-chip{ background:rgba(255,255,255,.7); border:1.5px solid rgba(var(--p-rgb),.2); border-radius:20px;
  padding:.4rem 1rem; font-weight:800; font-size:.85rem; color:#555; }
.ld-grade-chip.on{ background:linear-gradient(135deg,var(--p),#4B44CC); color:#fff; border-color:transparent; box-shadow:0 4px 14px rgba(var(--p-rgb),.3); }

/* ═══════════ بخش درس‌ها و پایه‌ها (صفحه‌ی اصلی) ═══════════ */
.ld-subjects{ max-width:1000px; margin:0 auto; padding:3rem 1.5rem; text-align:center; }
.ld-subj-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.2rem; margin:1.5rem 0; }
.ld-subj-card{ background:#fff; border:1.5px solid #eee; border-top:5px solid var(--sc); border-radius:20px; padding:2rem 1.5rem; box-shadow:0 8px 24px rgba(0,0,0,.06); }
.ld-subj-e{ font-size:3rem; margin-bottom:.6rem; }
.ld-subj-t{ font-weight:900; font-size:1.3rem; color:var(--sc); margin-bottom:.4rem; }
.ld-subj-d{ font-size:.9rem; color:#666; line-height:1.8; }
.ld-grade-cards{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:1.5rem; }
.ld-gcard{ display:flex; flex-direction:column; align-items:center; gap:.3rem; background:#fff; border:2px solid #eee; border-radius:18px; padding:1.2rem 1.8rem; min-width:110px; }
.ld-gcard.ready{ border-color:var(--p); background:linear-gradient(135deg,#fff,#f5f4ff); box-shadow:0 6px 18px rgba(var(--p-rgb),.15); }
.ld-gcard.soon{ opacity:.65; }
.ld-gc-e{ font-size:2.2rem; }
.ld-gc-n{ font-weight:800; font-size:1rem; }
.ld-gc-s{ font-size:.78rem; color:#888; font-weight:700; }
.ld-gcard.ready .ld-gc-s{ color:var(--p); }

/* ═══════════ 🚀 کارت‌های ناوبریِ داشبورد ═══════════ */
.dash-nav-title{ font-weight:900; font-size:1.1rem; margin:1.5rem 0 1rem; }
.dash-nav{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem; }
.dnav-card{ position:relative; background:var(--card); border:1.5px solid var(--border);
  border-radius:18px; padding:1.3rem 1rem; cursor:pointer; overflow:hidden;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .18s; }
.dnav-card::before{ content:''; position:absolute; top:0; right:0; left:0; height:4px; background:var(--dc); }
.dnav-card::after{ content:''; position:absolute; top:-40px; left:-40px; width:90px; height:90px;
  background:var(--dc); opacity:.08; border-radius:50%; transition:transform .3s; }
.dnav-card:hover{ transform:translateY(-5px) scale(1.02); box-shadow:0 12px 28px rgba(0,0,0,.12); }
.dnav-card:hover::after{ transform:scale(2.4); }
.dnav-card:active{ transform:translateY(-2px) scale(.99); }
.dnav-ico{ font-size:2.4rem; margin-bottom:.5rem; position:relative; z-index:1;
  transition:transform .2s; display:inline-block; }
.dnav-card:hover .dnav-ico{ transform:scale(1.15) rotate(-6deg); }
.dnav-t{ font-weight:800; font-size:.98rem; margin-bottom:.2rem; position:relative; z-index:1; }
.dnav-d{ font-size:.76rem; color:var(--text3); line-height:1.5; position:relative; z-index:1; }

/* ═══════════ 💎 ویرایشگر پنل‌های اشتراک (ادمین) ═══════════ */
.tier-edit{ background:var(--bg3); border:2px solid; border-radius:14px; padding:1rem; margin-bottom:.9rem; }
.tier-edit-h{ font-weight:800; font-size:1rem; margin-bottom:.7rem; }
.tier-cols{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:.8rem; }
.tier-col{ background:var(--card); border:1px solid var(--border); border-radius:10px; padding:.6rem .7rem; }
.tier-col-h{ font-weight:800; font-size:.82rem; margin-bottom:.4rem; color:var(--text2); }
.tier-feat{ display:flex; align-items:center; gap:6px; font-size:.78rem; padding:.25rem 0; cursor:pointer; }
.tier-feat input{ width:16px; height:16px; flex:none; }
.tier-panels{ display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; background:var(--card); border:1px dashed var(--border2); border-radius:10px; padding:.5rem .7rem; margin-bottom:.7rem; }
.tier-panels-h{ font-weight:800; font-size:.8rem; color:var(--text2); }
.tier-panel{ display:inline-flex; align-items:center; gap:6px; font-size:.82rem; font-weight:700; cursor:pointer; }
.tier-panel input{ width:17px; height:17px; flex:none; }
@media(max-width:720px){ .tier-cols{ grid-template-columns:1fr; } }

/* ═══════════ مدیریت فایل‌های تدریس (ادمین) ═══════════ */
.tf-in{ background:var(--bg3); border:1.5px solid var(--border); border-radius:10px; color:var(--text); font-family:inherit; font-size:.85rem; padding:9px 11px; }
.tf-item{ display:flex; align-items:center; gap:.7rem; background:var(--bg3); border-radius:12px; padding:.7rem .9rem; margin-bottom:.5rem; }
.tf-item-ico{ font-size:1.5rem; }
.tf-item-info{ flex:1; }
.tf-item-t{ font-weight:700; font-size:.88rem; }
.tf-item-d{ font-size:.75rem; color:var(--text3); }
.tf-del{ background:rgba(255,79,123,.12); border:none; border-radius:9px; padding:6px 10px; cursor:pointer; }
.teach-card.vid{ border-color:rgba(255,79,123,.3); }
.teach-card.vid:hover{ border-color:#FF4F7B; }
/* پخش‌کننده ویدیو */
.vid-top{ display:flex; align-items:center; justify-content:space-between; padding:.7rem 1rem; background:#1c1c22; }
.vid-title{ color:#fff; font-weight:800; font-size:.95rem; }
.vid-stage{ flex:1; display:flex; align-items:center; justify-content:center; background:#000; overflow:hidden; }

/* ═══════════ ✨ موشنِ صفحه‌ی نخست (الهام از Aleric + Charifund) ═══════════ */
/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(40px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal.d1{ transition-delay:.08s } .reveal.d2{ transition-delay:.16s } .reveal.d3{ transition-delay:.24s } .reveal.d4{ transition-delay:.32s }
/* حرکتِ افقی برای تنوع */
.reveal-r{ opacity:0; transform:translateX(50px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal-r.in{ opacity:1; transform:translateX(0); }
.reveal-l{ opacity:0; transform:translateX(-50px); transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal-l.in{ opacity:1; transform:translateX(0); }
/* zoom in برای کارت‌ها */
.reveal-z{ opacity:0; transform:scale(.88); transition:opacity .6s ease, transform .6s cubic-bezier(.34,1.56,.64,1); }
.reveal-z.in{ opacity:1; transform:scale(1); }

/* عنوانِ بزرگِ متحرک (امضای Aleric) */
.ld-h1{ background-size:200% auto; }
.ld-grad{ background:linear-gradient(120deg,var(--p),#FF4F7B,#FFB800,var(--p)); background-size:300% auto;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:gradFlow 6s linear infinite; }
@keyframes gradFlow{ to{ background-position:300% center; } }

/* دکمه‌ها با موجِ hover */
.ld-cta-main{ position:relative; overflow:hidden; }
.ld-cta-main::after{ content:''; position:absolute; top:50%; left:50%; width:0; height:0; border-radius:50%;
  background:rgba(255,255,255,.3); transform:translate(-50%,-50%); transition:width .5s,height .5s; }
.ld-cta-main:hover::after{ width:300px; height:300px; }

/* شمارنده‌ی آمار: تپش هنگام ورود */
.ld-stat-n.counting{ animation:statPop .5s ease; }
@keyframes statPop{ 0%{transform:scale(.6);opacity:.3} 60%{transform:scale(1.12)} 100%{transform:scale(1);opacity:1} }

/* کارت‌های ویژگی: بالا آمدن نرم هنگام hover */
.ld-feat{ transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s; }
.ld-feat:hover{ transform:translateY(-8px); box-shadow:0 16px 36px rgba(0,0,0,.1); }
.ld-feat-ico{ transition:transform .3s; display:inline-block; }
.ld-feat:hover .ld-feat-ico{ transform:scale(1.2) rotate(-8deg); }

/* نشان‌های شناور در HERO (حرکتِ ملایم) */
.ld-grade-chip{ transition:transform .2s; }
.ld-grade-chip:hover{ transform:translateY(-3px) scale(1.05); }

@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-r,.reveal-l,.reveal-z{ opacity:1 !important; transform:none !important; }
  .ld-grad{ animation:none; }
}

/* ═══════════ نوار دوره‌ی آزمایشی ═══════════ */
.trial-bar{ background:linear-gradient(135deg,#43D9AD,#00C896); color:#fff; border-radius:14px;
  padding:.8rem 1.2rem; margin-bottom:1rem; font-size:.9rem; text-align:center; box-shadow:0 4px 14px rgba(0,200,150,.25); }

/* ═══════════════════════════════════════════════════════
   🎨 مودهای رنگیِ سال تحصیلی — روی <html data-grade="4|5|6">
   خودکار با ورودِ دانش‌آموز/معلم/والدین اعمال می‌شود.
   ═══════════════════════════════════════════════════════ */

/* ── چهارم: هلوییِ گرمِ ملایم ── */
html[data-grade="4"]{
  --p:#E8895A; --p2:#D97545; --p3:rgba(232,137,90,.10); --p-rgb:232,137,90;
  --g:#3FBF97; --y:#F0A63C; --r:#EE7A8E;
  --bg:#FBF4EF; --bg2:#FFFFFF; --bg3:#F5E6DA;
  --card:#FFFFFF;
  --border:rgba(232,137,90,.20); --border2:rgba(232,137,90,.40);
  --shadow:0 4px 22px rgba(232,137,90,.10);
  --text:#33231A; --text3:#8a6d5c;
}
/* ── پنجم: سبزِ دریاییِ آرام ── */
html[data-grade="5"]{
  --p:#4FB6A0; --p2:#3E9E8A; --p3:rgba(79,182,160,.10); --p-rgb:79,182,160;
  --g:#3FBF97; --y:#F0A63C; --r:#EE7A8E;
  --bg:#EEF7F4; --bg2:#FFFFFF; --bg3:#DCEEE9;
  --card:#FFFFFF;
  --border:rgba(79,182,160,.22); --border2:rgba(79,182,160,.42);
  --shadow:0 4px 22px rgba(79,182,160,.10);
  --text:#1B2E2A; --text3:#5c817a;
}
/* ── ششم: یاسیِ آرام ── */
html[data-grade="6"]{
  --p:#8B7BE0; --p2:#6F5FC9; --p3:rgba(139,123,224,.10); --p-rgb:139,123,224;
  --g:#3FBF97; --y:#F0A63C; --r:#EE7A8E;
  --bg:#F2EFFB; --bg2:#FFFFFF; --bg3:#E7E1F7;
  --card:#FFFFFF;
  --border:rgba(139,123,224,.22); --border2:rgba(139,123,224,.42);
  --shadow:0 4px 22px rgba(139,123,224,.12);
  --text:#221E33; --text3:#615c85;
}
/* گذارِ نرم هنگام تغییرِ مود */
html[data-grade] body{transition:background-color .35s ease,color .35s ease}

/* هماهنگ‌کردنِ عناصرِ رنگ‌ثابت با مودِ پایه */
html[data-grade="4"] .g4{--a:#E8895A;--a2:#D97545}
html[data-grade="5"] .g4{--a:#4FB6A0;--a2:#3E9E8A}
html[data-grade="6"] .g4{--a:#8B7BE0;--a2:#6F5FC9}

/* ═══════════════════════════════════════════════════════
   🎬 صفحه‌ی اولِ سینمایی — صحنه‌های اسکرولی (lxs-*)
   ═══════════════════════════════════════════════════════ */
.lxs-wrap{ background:#000; }
.lxs-scene{ position:relative; min-height:100svh; display:flex; align-items:flex-start; justify-content:center;
  overflow:hidden; isolation:isolate; background:#000; }
.lxs-media{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.lxs-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.02); transform:scale(1.1); }
.lxs-video-v{ display:none; }
/* محوِ لبه‌ی بالا و پایینِ هر ویدیو → دو ویدیوی پشتِ‌هم نرم به هم می‌چسبند و لبه‌ی سیاهِ داخلِ ویدیو پنهان می‌شود */
.lxs-media::before, .lxs-media::after{ content:""; position:absolute; left:0; right:0; height:18%; z-index:1; pointer-events:none; }
.lxs-media::before{ top:0; background:linear-gradient(180deg,#000 0%, rgba(0,0,0,0) 100%); }
.lxs-media::after{ bottom:0; background:linear-gradient(0deg,#000 0%, rgba(0,0,0,0) 100%); }
.lxs-veil{ position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(8,20,18,.55) 0%, rgba(8,20,18,.32) 45%, rgba(8,20,18,.72) 100%); }
@media(max-width:640px){
  .lxs-video-h{ display:none; }   /* روی موبایل نسخه‌ی افقی مخفی، عمودی نشان داده می‌شود */
  .lxs-video-v{ display:block; }
}
.lxs-inner{ position:relative; z-index:2; width:min(620px,92%); text-align:center; color:#fff;
  padding:clamp(3.5rem,12vh,7rem) 0 1rem; opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1); }
.lxs-scene.in .lxs-inner{ opacity:1; transform:none; }
.lxs-badge{ display:inline-block; background:rgba(255,255,255,.16); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.28); color:#fff; border-radius:999px; padding:6px 16px;
  font-size:.82rem; font-weight:800; margin-bottom:1rem; }
.lxs-title{ font-size:clamp(1.25rem,3.8vw,2.1rem); font-weight:900; line-height:1.3; margin:0 0 .5rem;
  text-shadow:0 4px 26px rgba(0,0,0,.5); }
.lxs-text{ font-size:clamp(.8rem,2vw,.98rem); line-height:1.75; opacity:.95; margin:0 auto 1rem;
  max-width:520px; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.lxs-cta{ display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
.lxs-btn{ font-family:inherit; font-weight:800; font-size:.9rem; border-radius:999px; padding:11px 24px;
  cursor:pointer; border:1.5px solid transparent; transition:transform .18s, box-shadow .2s, background .2s; }
.lxs-btn:active{ transform:scale(.97); }
.lxs-btn-p{ background:#2F9E93; color:#fff; box-shadow:0 12px 30px -10px rgba(47,158,147,.7); }
.lxs-btn-p:hover{ background:#26857C; }
.lxs-btn-g{ background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.4); backdrop-filter:blur(6px); }
.lxs-btn-g:hover{ background:rgba(255,255,255,.24); }
/* دکمه‌ی اطلاعاتِ تکمیلی (پایانِ ویدیوها) */
.lx-more-wrap{ background:#000; text-align:center; padding:26px 16px 44px; }
.lx-more-btn{ font-family:inherit; font-weight:800; font-size:1rem; color:#000; background:#fff; border:none; border-radius:999px; padding:14px 34px; cursor:pointer; box-shadow:0 12px 30px -10px rgba(0,0,0,.4); transition:transform .15s; display:inline-flex; align-items:center; gap:8px; }
.lx-more-btn span{ font-size:1.3rem; line-height:1; }
.lx-more-btn:hover{ transform:translateY(-2px); }
/* صفحه‌ی اختصاصیِ معلم/دانش‌آموز/والدین (overlay) */
.lxp-ov{ position:fixed; inset:0; z-index:9500; background:rgba(8,14,13,.62); backdrop-filter:blur(5px); display:flex; align-items:flex-start; justify-content:center; overflow-y:auto; padding:24px 16px; opacity:0; transition:opacity .22s ease; -webkit-overflow-scrolling:touch; }
.lxp-ov.on{ opacity:1; }
body.lxp-open{ overflow:hidden; }
.lxp-inner{ position:relative; width:100%; max-width:600px; margin:auto; background:#fff; border-radius:24px; padding:30px 22px 26px; direction:rtl; box-shadow:0 30px 70px -20px rgba(0,0,0,.5); transform:translateY(14px); transition:transform .22s ease; }
.lxp-ov.on .lxp-inner{ transform:none; }
.lxp-close{ position:absolute; top:14px; left:14px; width:38px; height:38px; border-radius:50%; border:none; background:#F1F4F3; color:#444; font-size:1rem; cursor:pointer; }
.lxp-head{ text-align:center; margin-bottom:20px; }
.lxp-emoji{ font-size:2.6rem; }
.lxp-head h1{ font-size:1.5rem; font-weight:900; color:#1b2430; margin:.25rem 0; }
.lxp-head p{ font-size:.92rem; color:#5a6675; line-height:1.85; max-width:440px; margin:0 auto; }
.lxp-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lxp-card{ background:#F8FBFA; border:1px solid #EAF0EE; border-radius:14px; padding:15px; transition:transform .15s; border-top:3px solid var(--pc,#2F9E93); }
.lxp-card:hover{ transform:translateY(-3px); }
.lxp-card-e{ font-size:1.55rem; }
.lxp-card-t{ font-weight:800; font-size:.98rem; color:#1b2430; margin:.35rem 0 .25rem; }
.lxp-card-d{ font-size:.82rem; color:#5a6675; line-height:1.8; }
.lxp-cta{ text-align:center; margin-top:22px; }
@media(max-width:520px){ .lxp-grid{ grid-template-columns:1fr; } }
.lxs-scroll-hint{ position:absolute; bottom:22px; left:0; right:0; text-align:center; color:#fff;
  font-size:1.6rem; opacity:.75; z-index:2; animation:lxsBob 1.8s ease-in-out infinite; }
@keyframes lxsBob{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(7px)} }
@media (prefers-reduced-motion: reduce){
  .lxs-inner{ transition:none; opacity:1; transform:none }
  .lxs-scroll-hint{ animation:none }
}

/* ═══════════ 🦕 برندِ داینو + عناصرِ لندینگِ جدید ═══════════ */
.lx-brand-word{ font-family:'Lalezar','Estedad',sans-serif; font-weight:400; font-size:1.4rem; letter-spacing:.5px; line-height:1; }
.lx-foot-brand .lx-brand-word{ font-size:1.25rem; }
.lx-btn-sm{ padding:8px 18px !important; font-size:.85rem !important; }
.lx-plans-note{ margin-top:20px; text-align:center; font-size:.85rem; color:var(--text2); line-height:1.9; }
.lx-plans-note a{ color:var(--p); font-weight:800; }
.lx-subj.soon{ opacity:.9; }
.lx-soon-tag{ font-size:.62rem; font-weight:800; background:var(--bg3); color:var(--text3); padding:2px 8px; border-radius:50px; vertical-align:middle; margin-inline-start:6px; }
/* ═══ 🎞️ بنرِ کشویی (موبایل) — صحنه‌ها روی هم، یکی دیده می‌شود ═══ */
@media(max-width:760px){
  .lxs-wrap.lxs-banner{ position:relative; height:52svh; min-height:290px; max-height:420px; overflow:hidden; border-radius:0 0 20px 20px }
  .lxs-banner .lxs-scene{
    position:absolute; inset:0; min-height:0; height:100%;
    opacity:0; visibility:hidden; transition:opacity .55s ease;
    display:flex; align-items:flex-end;
  }
  .lxs-banner .lxs-scene.on{ opacity:1; visibility:visible; z-index:1 }
  .lxs-banner .lxs-inner{
    opacity:1 !important; transform:none !important;
    padding:0 18px 22px; width:100%; text-align:right;
  }
  .lxs-banner .lxs-veil{
    background:linear-gradient(180deg, rgba(8,20,18,.18) 0%, rgba(8,20,18,.42) 55%, rgba(8,20,18,.82) 100%);
  }
  /* برشِ ویدیو: سوژه‌ی اصلی پایینِ کادر است، پس پنجره‌ی دید را پایین می‌بریم
     تا کلِ سوژه دیده شود (نه فقط بالای ویدیو). */
  .lxs-banner .lxs-video{ object-position:center bottom; transform:none }
  .lxs-banner .lxs-media::before, .lxs-banner .lxs-media::after{ display:none }
  .lxs-banner .lxs-badge{ font-size:.64rem; padding:3px 10px; margin-bottom:.45rem }
  .lxs-banner .lxs-title{ font-size:1.12rem !important; margin-bottom:.3rem }
  .lxs-banner .lxs-text{ font-size:.76rem !important; line-height:1.65 !important; margin:0; max-width:none }
  /* نوارِ ناوبریِ زیرِ بنر */
  .lxb-nav{ display:flex; align-items:center; justify-content:center; gap:14px; padding:11px 16px 4px; background:var(--bg,#fff) }
  .lxb-dots{ display:flex; gap:7px }
  .lxb-dot{ width:7px; height:7px; padding:0; border:0; border-radius:50%; background:var(--border2,#CBD5E1); cursor:pointer; transition:.2s }
  .lxb-dot.on{ background:var(--p,#6C63FF); width:20px; border-radius:4px }
  .lxb-arw{
    width:30px; height:30px; flex:none; border-radius:50%; cursor:pointer;
    border:1px solid var(--border,#E2E8F0); background:var(--card,#fff);
    color:var(--text2,#475569); font-size:1.1rem; line-height:1; display:grid; place-items:center;
  }
  .lxb-arw:active{ transform:scale(.94) }
}
@media(min-width:761px){ .lxb-nav{ display:none } }

/* ═══ موبایل: همه‌چیزِ صفحهٔ اصلی جمع‌وجور و کوچک ═══ */
@media(max-width:640px){
  .lxs-scene{ min-height:54svh; }
  .lxs-inner{ padding:clamp(2rem,7vh,3.4rem) 0 .6rem }
  .lxs-title{ font-size:1.12rem !important }
  .lxs-text{ font-size:.76rem !important; line-height:1.65 !important }
  .lxs-badge{ font-size:.68rem; padding:4px 12px; margin-bottom:.6rem }
  .lxs-btn{ font-size:.78rem; padding:8px 17px }
  .lxs-veil{ background:linear-gradient(180deg, rgba(8,20,18,.35) 0%, rgba(8,20,18,.15) 45%, rgba(8,20,18,.55) 100%); }
  .lxs-wrap{ background:var(--bg,#fff); }
  /* فاصله‌ی عمودیِ بخش‌ها نصف */
  .lx .lx-section{ padding-block:34px !important; }
  .lx .lx-container{ padding-inline:14px; }
  /* سرتیترها و متن‌ها کوچک‌تر */
  .lx .lx-h1{ font-size:1.45rem !important; margin-top:8px }
  .lx .lx-h2{ font-size:1.12rem !important; }
  .lx .lx-lead, .lx .lx-sub{ font-size:.82rem !important; line-height:1.75 !important; }
  .lx .lx-eyebrow{ font-size:.68rem; padding:5px 11px; }
  /* داینوی راوی جمع‌وجور */
  .lx .lx-narrate{ gap:9px; margin-bottom:6px }
  .lx .lx-narrate img{ width:34px; height:34px }
  .lx .lx-narrate-bubble{ font-size:.74rem; padding:8px 11px; line-height:1.7; border-radius:13px 13px 13px 4px }
  /* صحنه‌ی داینوی هیرو کوچک‌تر */
  .lx .lx-dino-stage{ min-height:170px }
  .lx .lx-dino-img{ width:min(56%,200px) }
  .lx .lx-spark{ font-size:1.05rem }
  /* کارت‌های پنل: جمع‌وجور — دو ستونه‌ی کوچک، توضیحاتِ اضافه پنهان */
  .lx .by-grid{ grid-template-columns:1fr 1fr !important; gap:9px; max-width:none !important }
  .lx .by-card{ padding:13px 10px; border-radius:14px }
  .lx .by-name{ font-size:.9rem }
  .lx .by-desc{ display:none }                 /* توضیحِ بلند روی موبایل جا نمی‌شود */
  .lx .by-price{ font-size:1.15rem; margin-bottom:9px }
  .lx .by-price span{ font-size:.6rem; margin-top:4px }
  .lx .by-feats{ margin-bottom:11px }
  .lx .by-feats li{ font-size:.65rem; padding:3px 0; gap:5px }
  .lx .by-feats li:nth-child(n+5){ display:none }   /* فقط ۴ ویژگیِ اصلی */
  .lx .by-btn{ padding:8px; font-size:.72rem; border-radius:10px }
  .lx .by-tag{ font-size:.6rem; padding:3px 9px; top:-10px; right:10px }
  /* چیپ‌های پایه و آمار */
  .lx .lx-gchip{ font-size:.76rem; padding:6px 12px }
  .lx .lx-stat-n{ font-size:1.5rem }
  .lx .lx-stat-l{ font-size:.7rem }
  .lx .lx-stats-grid{ gap:10px }
  /* فوتر */
  .lx .lx-foot-about{ font-size:.76rem }
  .lx .lx-foot-col h4{ font-size:.82rem }
  .lx .lx-foot-col a{ font-size:.76rem }
}

/* ═══════════ 🌿 داشبوردِ دایره‌ای (student-dash-nav) ═══════════ */
.rdash{ position:relative; width:100%; max-width:400px; margin:.4rem auto 0; aspect-ratio:1/1;
  background:radial-gradient(circle at 50% 44%, var(--bg3) 0%, transparent 62%); border-radius:24px; }
.rdash-lines{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.rdash-lines line{ stroke:var(--p); stroke-width:.45; opacity:.28; stroke-dasharray:1.4 2; }
.rnode{ position:absolute; transform:translate(-50%,-50%); display:flex; flex-direction:column;
  align-items:center; gap:3px; background:none; border:none; cursor:pointer; padding:0; z-index:2; }
.rnode-disc{ width:60px; height:60px; border-radius:50%; background:var(--card);
  box-shadow:0 8px 20px rgba(60,70,90,.12); display:flex; align-items:center; justify-content:center;
  font-size:1.45rem; border:2px solid var(--border); transition:transform .2s, box-shadow .2s, border-color .2s; }
/* مرکز: خودِ دایناسورِ کامل، بدونِ دایره/برش */
.rnode-disc.center{ width:104px; height:104px; border:none; background:none; overflow:visible;
  box-shadow:none; border-radius:0; }
.rnode-disc.center img{ width:100%; height:100%; object-fit:contain; display:block;
  filter:drop-shadow(0 9px 18px rgba(60,70,90,.28)); }
.rnode-center{ left:50%; top:47%; }
.rnode-center .rnode-lbl{ margin-top:-6px; }
.rnode-center:hover .rnode-disc.center{ box-shadow:none; transform:scale(1.06); }
.rnode-lbl{ font-size:.73rem; font-weight:800; color:var(--p2); text-align:center; }
.rnode:hover .rnode-disc, .rnode.on .rnode-disc{ transform:scale(1.09); border-color:var(--p);
  box-shadow:0 0 0 4px var(--p3), 0 10px 24px rgba(60,70,90,.16); }
.rdash-branch{ margin-top:.5rem; }
.rbranch-card{ background:var(--card); border:1.5px solid var(--border); border-radius:16px;
  padding:.9rem 1rem; box-shadow:var(--shadow); animation:sec-in .3s ease both; }
.rbranch-h{ font-weight:800; color:var(--p2); margin-bottom:.6rem; }
.rbranch-pills{ display:flex; flex-wrap:wrap; gap:.5rem; }
.rbranch-pill{ background:var(--p); color:#fff; border:none; border-radius:22px; padding:10px 18px;
  font-family:inherit; font-weight:800; font-size:.86rem; cursor:pointer; box-shadow:0 5px 14px var(--p3); }
.rbranch-pill:active{ transform:scale(.96); }
@media(max-width:430px){
  .rnode-disc{ width:52px; height:52px; font-size:1.25rem }
  .rnode-disc.center{ width:88px; height:88px }
  .rnode-lbl{ font-size:.67rem }
}

/* تب‌های انتخابِ بازی (درس‌های چندبازی) */
.g4-gtab{background:var(--card);border:2px solid var(--border);color:var(--text3);border-radius:12px;
  padding:9px 14px;font-family:inherit;font-weight:800;font-size:.82rem;cursor:pointer;transition:.15s}
.g4-gtab:active{transform:scale(.96)}
.g4-gtab.on{background:var(--p);border-color:var(--p);color:#fff}

/* ── ورودیِ متنیِ آزمونِ علوم (جای‌خالی و کوتاه‌پاسخ) ── */
.sci-quiz-input{ width:100%; box-sizing:border-box; margin-top:.5rem; padding:12px 14px;
  border:2px solid var(--border); border-radius:12px; background:var(--card);
  color:var(--text); font-family:inherit; font-size:.95rem; text-align:right; direction:rtl; outline:none; transition:border-color .15s; }
.sci-quiz-input:focus{ border-color:var(--p); }
.sci-quiz-input.correct{ border-color:#22C55E; background:rgba(34,197,94,.10); color:#15803D; font-weight:700; }
.sci-quiz-input.wrong{ border-color:#EF4444; background:rgba(239,68,68,.08); color:#B91C1C; font-weight:700; }
.sci-quiz-ans{ margin-top:.5rem; background:rgba(34,197,94,.08); border-radius:10px; padding:.6rem .9rem;
  font-size:.85rem; color:#15803D; line-height:1.7; }
.sci-quiz-exp{ margin-top:.5rem; background:rgba(var(--p-rgb),.07); border-radius:10px; padding:.7rem .9rem;
  font-size:.82rem; color:var(--text2); line-height:1.7; }

/* ═══════════════════════════════════════════════════════════
   بازیِ اردک‌ها — بازطراحیِ تمِ کودک‌پسند (۲۰۲۶-۰۷)
   بلوکِ override: رودخانه‌ای تمیز با ساحلِ سبز، به‌جای چمنِ شناورِ وسط.
   ═══════════════════════════════════════════════════════════ */
.duck-game{
  background:linear-gradient(180deg,#8FE0FF 0%,#BFF0FF 22%,#7ED957 30%,#6FCF57 34%,#79C7EC 40%,#4AA8E0 70%,#2E86C4 100%) !important;
}
/* آسمانِ نرم با محوشدگیِ ملایم */
.duck-sky{ height:32% !important;
  background:linear-gradient(180deg,#7CC9FF 0%,#A9E1FF 55%,#DFF6FF 100%) !important; }
/* خورشیدِ گرم‌تر */
.duck-sun{ box-shadow:0 0 46px rgba(255,210,80,.85), 0 0 90px rgba(255,225,120,.5) !important; }

/* ساحلِ سبزِ افق: یک نوارِ تپه‌ایِ یکدست و تمیز (نه لکه‌ی وسط) */
.duck-hills{
  top:auto !important; bottom:auto !important;
  top:29% !important; height:6% !important; z-index:1 !important;
  background:
    radial-gradient(ellipse 120% 140% at 20% 100%, #86DB6B 0 70%, transparent 72%),
    radial-gradient(ellipse 120% 130% at 55% 100%, #74CF57 0 70%, transparent 72%),
    radial-gradient(ellipse 120% 150% at 88% 100%, #8FE07A 0 70%, transparent 72%) !important;
  filter:drop-shadow(0 3px 4px rgba(0,80,30,.18));
}
/* نی‌های ساحلی برای حال‌وهوای رودخانه */
.duck-hills::after{
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:10px;
  background:repeating-linear-gradient(90deg,#5FAF43 0 3px,transparent 3px 13px);
  opacity:.55;
}

/* آبِ رودخانه: آبیِ زلال‌تر و شفاف‌تر */
.duck-game .river-world{
  background:linear-gradient(180deg,
    transparent 0%, transparent 33%,
    rgba(126,200,230,.35) 35%,
    #7FCBEA 39%, #57B4E2 60%, #2E8FCE 100%) !important;
  box-shadow:inset 0 14px 26px rgba(255,255,255,.35), inset 0 -20px 40px rgba(0,70,130,.25) !important;
}
/* بازتابِ نورِ آب کمی روشن‌تر */
.river-shine{ height:30% !important;
  background:linear-gradient(180deg,rgba(255,255,255,.45),transparent) !important; }
/* موجِ آب نرم‌تر */
.river-wave{ opacity:.4 !important }

/* کارت‌های امتیازِ بالا: شیشه‌ای و خواناتر */
.duck-game .duck-hud .hud-card{
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 4px 12px rgba(0,60,120,.18) !important; border-radius:14px !important;
}
.duck-game .hud-v{ color:#1C6E9C }

/* دکمه‌ی خروج شادتر */
.duck-exit{ background:linear-gradient(180deg,#FFC2CE,#FF8FA6) !important; border:2px solid #FFB0C0 !important;
  box-shadow:0 6px 14px -4px rgba(200,40,80,.5) !important }

/* کارتِ سؤال گرم‌تر و برجسته‌تر */
.duck-game .duck-q-card{
  border-radius:20px 20px 0 0 !important;
  box-shadow:0 -6px 28px rgba(0,40,90,.22) !important;
}

/* ═══════════════════════════════════════════════════════════
   داینوی خوابالو — استفاده از داینوی واقعیِ سایت + افکتِ حالت
   ═══════════════════════════════════════════════════════════ */
.sd-dino{ position:relative; display:grid; place-items:center; width:min(56vw,240px); margin:0 auto; }
.sd-img{ width:100%; height:auto; display:block; filter:drop-shadow(0 12px 18px rgba(0,40,20,.28));
  transition:filter .3s, transform .3s; transform-origin:bottom center; }
.sd-glow{ position:absolute; inset:-6% -6% 8%; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(126,220,120,.45),transparent 68%); filter:blur(6px); transition:.3s; }
.sd-mood{ position:absolute; top:-4%; right:6%; font-size:2rem;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.25)); }

/* خواب: آرام نفس می‌کشد، هاله‌ی سبزِ ملایم، 💤 شناور */
.sd-dino.sd-sleep .sd-img{ animation:sdBreathe 3.6s ease-in-out infinite; filter:drop-shadow(0 12px 18px rgba(0,40,20,.28)) saturate(.92) brightness(.98); }
.sd-dino.sd-sleep .sd-mood{ animation:sdFloatZ 2.8s ease-in-out infinite; }
@keyframes sdBreathe{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.035)} }
@keyframes sdFloatZ{ 0%{transform:translateY(0) scale(.9);opacity:.5} 50%{opacity:1} 100%{transform:translateY(-16px) scale(1.15);opacity:0} }

/* بیدار شدن: کمی کج و هوشیار */
.sd-dino.sd-stir .sd-img{ animation:sdStir 1.4s ease-in-out infinite; }
@keyframes sdStir{ 0%,100%{transform:rotate(-2deg)} 50%{transform:rotate(2deg)} }
.sd-dino.sd-stir .sd-glow{ background:radial-gradient(circle,rgba(255,205,90,.5),transparent 68%); }

/* عصبانی/بیدار: می‌لرزد، هاله‌ی قرمز */
.sd-dino.sd-angry .sd-img{ animation:sdShake .28s ease-in-out infinite; filter:drop-shadow(0 10px 16px rgba(120,0,0,.35)) saturate(1.1); }
.sd-dino.sd-angry .sd-glow{ background:radial-gradient(circle,rgba(255,90,90,.55),transparent 66%); }
@keyframes sdShake{ 0%,100%{transform:translateX(0) rotate(0)} 25%{transform:translateX(-5px) rotate(-2deg)} 75%{transform:translateX(5px) rotate(2deg)} }

/* ═══════════════════════════════════════════════════════════
   داینوی خوابالوی سفارشی (SVG) — نسخه‌ی نهایی با حالت‌ها
   (این بلوک بر بلوکِ .sd-img قبلی اولویت دارد)
   ═══════════════════════════════════════════════════════════ */
.sd-dino{ position:relative; width:min(66vw,300px); margin:0 auto; display:block; }
.sd-img{ width:100%; height:auto; display:block; filter:drop-shadow(0 8px 16px rgba(60,80,50,.22)); transition:transform .2s }
/* داینوی ویدئویی: ویدئوی فعال در جریانِ عادی (تعیین‌کننده‌ی ارتفاع) و بقیه پنهان */
.sd-vid{ width:100%; height:auto; display:block; border-radius:18px; object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(20,60,30,.30)); }
.sd-vid:not(.on){ position:absolute; inset:0; height:100%; opacity:0; visibility:hidden; pointer-events:none; }
/* بدونِ لرزش/تکان روی ویدئو هنگامِ بیدارشدن — خودِ ویدئو حرکت دارد */
.sd-dino.sd-sleep .sd-img{ animation:sd-breathe 3.2s ease-in-out infinite }
.sd-dino.sd-awake .sd-img{ animation:s-shake .28s ease-in-out infinite }
.sd-dino.sd-angry .sd-img{ animation:s-shake .16s ease-in-out infinite }
@keyframes sd-breathe{ 0%,100%{transform:scale(1)} 50%{transform:scale(1.03)} }
.sd-svg{ width:100%; height:auto; display:block; overflow:visible;
  filter:drop-shadow(0 10px 16px rgba(20,60,30,.28)); }
.sd-glow{ position:absolute; left:50%; top:52%; width:78%; height:60%; transform:translate(-50%,-50%);
  border-radius:50%; z-index:-1; filter:blur(14px); transition:background .4s;
  background:radial-gradient(circle,rgba(120,220,110,.5),transparent 70%); }

/* اجزای متحرک */
.sd-body{ transform-box:fill-box; transform-origin:50% 100%; }
.sd-tail{ transform-box:fill-box; transform-origin:90% 60%; }
.sd-arm-l,.sd-arm-r{ transform-box:fill-box; transform-origin:center; }

/* Zzz فقط موقعِ خواب */
.sd-z{ position:absolute; font-weight:900; color:#7fd0ff; opacity:0;
  text-shadow:0 2px 3px rgba(0,60,120,.25); font-family:'Estedad',sans-serif; }
.sd-z.z1{ left:64%; top:6%; font-size:1.6rem }
.sd-z.z2{ left:72%; top:-4%; font-size:2.1rem }
.sd-z.z3{ left:58%; top:16%; font-size:1.2rem }

/* ── خواب: نفس‌کشیدنِ آرام + Zzz شناور + هاله‌ی سبز ── */
.sd-dino.sd-sleep .sd-body{ animation:sdBreathe 3.8s ease-in-out infinite; }
.sd-dino.sd-sleep .sd-tail{ animation:sdTailSlow 4.4s ease-in-out infinite; }
.sd-dino.sd-sleep .sd-z{ animation:sdZ 3.4s ease-in-out infinite; }
.sd-dino.sd-sleep .sd-z.z2{ animation-delay:1.1s } .sd-dino.sd-sleep .sd-z.z3{ animation-delay:2.2s }
@keyframes sdBreathe{ 0%,100%{transform:scaleY(1) scaleX(1)} 50%{transform:scaleY(1.04) scaleX(1.015)} }
@keyframes sdTailSlow{ 0%,100%{rotate:0deg} 50%{rotate:-7deg} }
@keyframes sdZ{ 0%{transform:translateY(6px) scale(.7);opacity:0} 30%{opacity:1} 100%{transform:translateY(-30px) scale(1.2);opacity:0} }

/* ── بیدار شدن: کمی هوشیار و تکان‌های ریز، هاله‌ی زرد ── */
.sd-dino.sd-stir .sd-body{ animation:sdStir 1.1s ease-in-out infinite; }
.sd-dino.sd-stir .sd-tail{ animation:sdTailFast 0.9s ease-in-out infinite; }
.sd-dino.sd-stir .sd-glow{ background:radial-gradient(circle,rgba(255,205,90,.55),transparent 70%); }
@keyframes sdStir{ 0%,100%{transform:rotate(-2.5deg)} 50%{transform:rotate(2.5deg)} }
@keyframes sdTailFast{ 0%,100%{rotate:-10deg} 50%{rotate:12deg} }

/* ── بیدار/عصبانی: می‌پرد و می‌لرزد، دست‌ها بالا، هاله‌ی قرمز ── */
.sd-dino.sd-awake .sd-body{ animation:sdAwake .32s ease-in-out infinite; }
.sd-dino.sd-awake .sd-arm-l{ animation:sdArmL .5s ease-in-out infinite; }
.sd-dino.sd-awake .sd-arm-r{ animation:sdArmR .5s ease-in-out infinite; }
.sd-dino.sd-awake .sd-tail{ animation:sdTailFast .35s ease-in-out infinite; }
.sd-dino.sd-awake .sd-glow{ background:radial-gradient(circle,rgba(255,110,110,.6),transparent 68%); }
.sd-dino.sd-awake .sd-pupil{ transform-box:fill-box; transform-origin:center; animation:sdPupil 1.6s ease-in-out infinite; }
@keyframes sdAwake{ 0%,100%{transform:translateX(0) rotate(0)} 25%{transform:translateX(-4px) rotate(-2deg)} 75%{transform:translateX(4px) rotate(2deg)} }
@keyframes sdArmL{ 0%,100%{transform:rotate(0)} 50%{transform:translateY(-6px) rotate(-18deg)} }
@keyframes sdArmR{ 0%,100%{transform:rotate(0)} 50%{transform:translateY(-6px) rotate(18deg)} }
@keyframes sdPupil{ 0%,100%{transform:translateX(0)} 50%{transform:translateX(2px)} }

/* ── اصلاحِ نهاییِ چمنِ اردک: از وسط به ساحلِ پایین منتقل شد ── */
.duck-hills{
  top:auto !important; bottom:0 !important;
  height:9% !important; z-index:2 !important;
  background:
    radial-gradient(ellipse 120% 150% at 18% 0%, #74CF57 0 72%, transparent 74%),
    radial-gradient(ellipse 120% 140% at 52% 0%, #63C247 0 72%, transparent 74%),
    radial-gradient(ellipse 120% 160% at 86% 0%, #82DC6A 0 72%, transparent 74%),
    linear-gradient(180deg, transparent 0 40%, #4FAE3C 40%, #3E9A32 100%) !important;
  filter:drop-shadow(0 -3px 5px rgba(0,80,30,.2)) !important;
}
.duck-hills::after{
  content:'' !important; position:absolute !important; left:0; right:0; top:-8px; bottom:auto !important;
  height:12px !important;
  background:repeating-linear-gradient(90deg,#4FAE3C 0 3px,transparent 3px 14px) !important; opacity:.6 !important;
}
/* آسمان کمی بلندتر تا آب فضای بیشتری بگیرد و چمن فقط ته صفحه باشد */
.duck-game .river-world{ margin-bottom:0 !important }

/* ── سربرگِ برگه‌ی آزمون: نامِ مدرسه + آموزگار ── */
.ps-hdr-in{ display:flex; flex:1 1 200px; gap:6px; margin:0 4px; min-width:0; }
.ps-inp{ font-family:'Estedad',sans-serif; font-size:.78rem; font-weight:700; color:#1b2a4a;
  border:1.5px solid #cdd6e6; border-radius:9px; padding:6px 8px; min-width:0; flex:1 1 0; width:100%; background:#fff; }
.ps-inp:focus{ outline:none; border-color:var(--p); }
.ps-bism{ text-align:center; font-weight:700; font-size:.82rem; color:#444; margin:2px 0 4px; }
.ps-school{ text-align:center; font-weight:900; font-size:1.05rem; color:#12203e; min-height:1.2em;
  letter-spacing:.2px; margin-bottom:8px; }
.ps-school:empty{ min-height:0; margin:0; }
@media print{ .ps-inp, .ps-hdr-in{ display:none !important; } }

/* ═══════════════════════════════════════════════════════
   📋 کارنامه‌ی توصیفی — نمایش و چاپِ A4
   ═══════════════════════════════════════════════════════ */
.kn-sheet{
  background:#fff; color:#1a1a2e; border-radius:14px; padding:1.4rem 1.2rem;
  border:1px solid #e3e6f0; max-width:820px; margin:0 auto;
  box-shadow:0 4px 22px rgba(0,0,0,.06); line-height:1.9;
}
.kn-head{ text-align:center; border-bottom:2px solid var(--p); padding-bottom:.4rem; margin-bottom:.6rem }
.kn-bism{ font-size:.68rem; color:var(--p); font-weight:700; margin-bottom:.05rem }
.kn-org{ font-size:.66rem; color:#666; display:inline; margin-inline-start:8px }
.kn-school{ font-size:.82rem; font-weight:800; margin:.05rem 0; display:inline }
.kn-title{ font-size:1rem; font-weight:900; color:var(--p); margin:.18rem 0 .3rem }
.kn-meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:.2rem 1.1rem; font-size:.78rem }
/* صفحه‌ی بعدِ کارنامه */
.kn-pagebreak{ break-before:page; page-break-before:always; height:0 }
.kn-sec-h2{ font-size:1rem; font-weight:900; color:var(--p); text-align:center; background:rgba(var(--p-rgb),.08);
  border-radius:9px; padding:.5rem; margin:.2rem 0 .8rem }
.kn-meta b{ color:#1a1a2e }
.kn-blank{ color:#aaa; letter-spacing:1px }

.kn-overall{ display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; margin-bottom:1.1rem }
.kn-ov-box{ background:#F7F8FF; border:1px solid #e6e8f5; border-radius:11px; padding:.65rem .4rem; text-align:center }
.kn-ov-l{ font-size:.72rem; color:#777; margin-bottom:.18rem }
.kn-ov-v{ font-size:1.02rem; font-weight:900 }

.kn-sec{ margin-bottom:1.05rem; break-inside:avoid; page-break-inside:avoid }
.kn-sec-h{ font-size:.94rem; font-weight:900; color:var(--p); border-inline-start:4px solid var(--p);
  padding-inline-start:.55rem; margin-bottom:.55rem }
.kn-empty{ font-size:.83rem; color:#999; background:#FAFAFC; border-radius:9px; padding:.65rem .8rem }
.kn-note{ font-size:.82rem; color:#555; background:#F7F8FF; border-radius:9px; padding:.6rem .8rem; margin-top:.5rem }

.kn-tbl{ width:100%; border-collapse:collapse; font-size:.84rem; margin-bottom:.5rem }
.kn-tbl th, .kn-tbl td{ border:1px solid #e0e3f0; padding:.42rem .5rem; text-align:center }
.kn-tbl thead th{ background:#F2F4FD; font-weight:800; font-size:.8rem }
.kn-tbl tbody tr:nth-child(even){ background:#FBFCFF }
.kn-pill{ display:inline-block; border-radius:20px; padding:2px 9px; font-size:.74rem; font-weight:800; white-space:nowrap }

.kn-comment{ background:#FFFDF5; border:1px dashed #E3C97A; border-radius:11px;
  padding:.75rem .9rem; font-size:.86rem; min-height:64px; line-height:2.1 }

.kn-sign{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:1.6rem; text-align:center }
.kn-sign span{ font-size:.8rem; color:#666 }
.kn-line{ border-bottom:1.4px solid #bbb; margin-top:2.1rem }
.kn-foot{ margin-top:.9rem; font-size:.76rem; color:#888; text-align:center }

@media (max-width:600px){
  .kn-overall{ grid-template-columns:repeat(2,1fr) }
  .kn-meta{ gap:.3rem .8rem; font-size:.78rem }
  .kn-tbl{ font-size:.76rem }
  .kn-tbl th, .kn-tbl td{ padding:.35rem .25rem }
}

/* ── چاپ: فقط برگه‌ی کارنامه ── */
@media print{
  @page{ size:A4; margin:11mm }
  body *{ visibility:hidden !important }
  #kn-sheet, #kn-sheet *{ visibility:visible !important }
  #kn-sheet{ position:absolute; inset-inline-start:0; top:0; width:100%; max-width:none;
    box-shadow:none; border:none; border-radius:0; padding:0; font-size:11pt }
  .kn-noprint{ display:none !important }
  .kn-sheet{ background:#fff !important; color:#000 !important }
  .kn-tbl thead th{ background:#eee !important; -webkit-print-color-adjust:exact; print-color-adjust:exact }
  .kn-pill, .kn-ov-box, .kn-comment, .kn-note{ -webkit-print-color-adjust:exact; print-color-adjust:exact }
}

/* ── طرحِ درس ── */
.lp-field{display:flex;flex-direction:column;margin-bottom:.7rem}
.lp-field label{font-size:.82rem;font-weight:700;color:var(--text2);margin-bottom:.3rem}
.lp-field input,.lp-field textarea{background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;color:var(--text);font-family:Estedad,sans-serif;font-size:.88rem;padding:9px 12px;line-height:1.9;width:100%}
.lp-field textarea{resize:vertical}
.lp-field input[readonly]{opacity:.7}
@media print{ .lp-noprint{display:none!important} }

/* ═══════════ تیزهوشان ═══════════ */
.tz-hero{background:linear-gradient(135deg,var(--p),#8B7BFF);color:#fff;border-radius:20px;padding:1.4rem;margin-bottom:1.2rem;box-shadow:0 12px 30px rgba(var(--p-rgb),.3)}
.tz-hero h2{margin:.3rem 0;font-size:1.4rem}
.tz-hero p{font-size:.92rem;opacity:.95;line-height:1.9;margin:0}
.tz-hero-badge{display:inline-block;background:rgba(255,255,255,.2);border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:700}
.tz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}
.tz-skill{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1rem;cursor:pointer;transition:all .18s;position:relative}
.tz-skill:hover{border-color:var(--p);transform:translateY(-3px);box-shadow:0 8px 20px rgba(var(--p-rgb),.15)}
.tz-skill.off{opacity:.55;cursor:default}
.tz-skill.off:hover{transform:none;border-color:var(--border);box-shadow:none}
.tz-skill-emoji{font-size:2rem}
.tz-skill-name{font-weight:800;font-size:1rem;margin:.3rem 0}
.tz-skill-desc{font-size:.8rem;color:var(--text3);line-height:1.7;min-height:38px}
.tz-skill-go{color:var(--p);font-weight:700;font-size:.85rem;margin-top:.4rem}
.tz-skill-soon{color:var(--text3);font-size:.8rem;margin-top:.4rem}
.tz-modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem}
.tz-mode{background:var(--card);border:1.5px solid var(--border);border-radius:14px;padding:1rem;text-align:center;cursor:pointer;transition:all .18s}
.tz-mode:hover{border-color:var(--p);transform:translateY(-2px)}
.tz-mode .e{font-size:1.8rem}.tz-mode .t{font-weight:800;margin:.3rem 0;font-size:.95rem}.tz-mode .d{font-size:.76rem;color:var(--text3)}
.tz-panel{background:var(--card);border:1.5px solid var(--border);border-radius:18px;padding:1.1rem}
.tz-say{display:flex;gap:10px;align-items:flex-start;margin-bottom:1rem}
.tz-dino{font-size:2rem;flex-shrink:0}
img.tz-dino{width:54px;height:auto;margin-top:-2px;image-rendering:auto}
.tz-bubble{background:var(--bg3);border-radius:14px;padding:.8rem 1rem;font-size:.9rem;line-height:1.9}
.tz-hero-flex{display:flex;align-items:center;gap:1rem}
.tz-hero-txt{flex:1;min-width:0}
.tz-hero-dino{width:120px;height:auto;flex-shrink:0;filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}
@media(max-width:560px){.tz-hero-dino{width:84px} img.tz-dino{width:46px}}
.tz-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}
@media(max-width:520px){.tz-opts{grid-template-columns:repeat(2,1fr)}}
.tz-opt{background:var(--bg3);border:2.5px solid var(--border);border-radius:14px;padding:.5rem;cursor:pointer;transition:all .18s;position:relative;display:flex;align-items:center;justify-content:center}
.tz-opt:hover{border-color:var(--p)}
.tz-opt svg{max-width:100%;height:auto}
.tz-opt-n{position:absolute;top:5px;right:8px;font-size:.75rem;font-weight:800;color:var(--text3)}
.tz-opt.tz-correct,.tz-opt.tz-same{border-color:#00C896;background:rgba(0,200,150,.12)}
.tz-opt.tz-wrong,.tz-opt.tz-diff{border-color:#FF4F7B;background:rgba(255,79,123,.12)}
.tz-opt.tz-diff{box-shadow:0 0 0 3px rgba(255,79,123,.25)}
.tz-note{background:#FFFDF5;border:1px dashed #E3C97A;border-radius:12px;padding:.8rem 1rem;font-size:.86rem;line-height:2;color:#5a4a1a}
:root[data-theme="dark"] .tz-note{background:#2a2618;color:#e8d9a8}
.tz-chip{background:rgba(var(--p-rgb),.14);color:var(--p);border-radius:20px;padding:5px 12px;font-size:.82rem;font-weight:800}
.tz-teach-ov{position:fixed;inset:0;background:var(--bg);z-index:9999;overflow:auto;padding:2rem 1rem}
.tz-teach-x{position:fixed;top:1rem;left:1rem;background:var(--card);border:1px solid var(--border);border-radius:50%;width:44px;height:44px;font-size:1.2rem;cursor:pointer;z-index:2}
.tz-teach-inner{max-width:900px;margin:0 auto;text-align:center}
.tz-teach-inner h1{font-size:1.8rem;margin-bottom:1.5rem}
.tz-opts-big{grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:700px){.tz-opts-big{grid-template-columns:repeat(2,1fr)}}

/* تیزهوشان — نمایشِ دنباله/تناظر/عددی */
.tz-header{margin-bottom:1rem}
.tz-seq,.tz-analogy{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap}
.tz-cell{background:var(--bg3);border:2px solid var(--border);border-radius:12px;padding:.3rem;display:flex;align-items:center;justify-content:center}
.tz-cell svg{max-width:100%;height:auto}
.tz-qcell{width:74px;height:74px;font-size:2rem;font-weight:900;color:var(--p)}
.tz-arrow{color:var(--text3);font-size:1.2rem}
.tz-sep{color:var(--border2);font-size:1.6rem;margin:0 .3rem}
.tz-nseq{display:flex;align-items:center;justify-content:center;gap:.15rem;flex-wrap:wrap;font-size:1.5rem;font-weight:900;background:var(--bg3);border-radius:14px;padding:1rem}
.tz-num{padding:0 .2rem}.tz-comma{color:var(--text3)}
.tz-qnum{color:var(--p)}

/* تیزهوشان — وضوحِ تصویرها (override) */
.tz-opt{min-height:104px;padding:.7rem}
.tz-opt svg.tz-fig{width:100%;max-width:130px;height:auto;aspect-ratio:1/1}
.tz-cell svg.tz-fig{width:100%;max-width:96px;height:auto;aspect-ratio:1/1}
.tz-opts-big .tz-opt svg.tz-fig{max-width:190px}
.tz-header{overflow-x:auto}

/* تیزهوشان — درسنامه */
.tz-lesson{max-width:720px;margin:0 auto}
.tz-lcard{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:1rem 1.2rem;margin-bottom:.9rem}
.tz-lcard-h{font-weight:800;font-size:1.02rem;margin-bottom:.5rem}
.tz-lcard p{line-height:2;font-size:.92rem;margin:.4rem 0}
.tz-exrow{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:.7rem 0;background:var(--bg3);border-radius:12px;padding:.7rem}
.tz-exrow svg{background:#fff;border-radius:8px}
:root[data-theme="dark"] .tz-exrow svg{background:#1b1e2b}
.tz-exlbl{font-size:.72rem;color:var(--text3);text-align:center;margin-top:3px}
.tz-numex{text-align:center;font-size:1.5rem;font-weight:900;letter-spacing:3px;background:var(--bg3);border-radius:12px;padding:.7rem;margin:.5rem 0}

/* ═══════════════════════════════════════════════════
   🌿 پوسته‌ی آرامش‌دهنده‌ی تیزهوشان (فقط این بخش)
   رنگ‌های ملایمِ طبیعی، فضای باز، گوشه‌های نرم
   ═══════════════════════════════════════════════════ */
#sec-tizhoshan{
  --p:#5FA98D; --p2:#B8A9E0; --p3:rgba(127,179,163,.12); --p-rgb:95,169,141;
  --card:#ffffff; --card2:#F7F4EE; --bg3:#F1F4F0;
  --border:#E4E9E4; --border2:#CFE0D5;
  --text:#3D4A45; --text2:#5A665F; --text3:#94A099;
  --shadow:0 6px 18px rgba(90,110,100,.10);
  background:linear-gradient(180deg,#EAF1EC 0%,#F6F1E9 55%,#F3EDF4 100%);
  border-radius:26px; padding:18px 16px; margin-top:.4rem;
}
#sec-tizhoshan .tz-hero{ background:linear-gradient(135deg,#DCEBE1,#EFE7F3); color:#3D4A45; box-shadow:0 10px 26px rgba(120,140,130,.16); border-radius:24px }
#sec-tizhoshan .tz-hero p{ opacity:.92; color:#5A665F }
#sec-tizhoshan .tz-hero-badge{ background:rgba(255,255,255,.6); color:#5A665F }
#sec-tizhoshan .tz-hero-dino{ filter:drop-shadow(0 8px 14px rgba(120,140,130,.25)) }
#sec-tizhoshan .tz-skill,
#sec-tizhoshan .tz-mode,
#sec-tizhoshan .tz-panel,
#sec-tizhoshan .tz-lcard,
#sec-tizhoshan .tz-cell{ background:#fff; border-color:#E4E9E4; box-shadow:0 4px 14px rgba(120,140,130,.08); border-radius:20px }
#sec-tizhoshan .tz-skill:hover,
#sec-tizhoshan .tz-mode:hover{ border-color:#8FC1AC; box-shadow:0 10px 22px rgba(120,150,135,.16); transform:translateY(-3px) }
#sec-tizhoshan .tz-bubble{ background:#F4F1EA; color:#4A554F; border-top-right-radius:4px }
#sec-tizhoshan .tz-note{ background:#F3F6F1; border:1px dashed #CFE0D5; color:#4A554F }
#sec-tizhoshan .tz-chip{ background:rgba(127,179,163,.16); color:#4E8C74 }
#sec-tizhoshan .tz-opt{ background:#F9FBF8; border-color:#E4E9E4; box-shadow:0 3px 10px rgba(120,140,130,.06) }
#sec-tizhoshan .tz-opt:hover{ border-color:#8FC1AC }
#sec-tizhoshan .tz-opt.tz-correct,
#sec-tizhoshan .tz-opt.tz-same{ border-color:#7FB3A3; background:rgba(127,179,163,.16) }
#sec-tizhoshan .tz-opt.tz-wrong,
#sec-tizhoshan .tz-opt.tz-diff{ border-color:#E39AA2; background:rgba(227,154,162,.14) }
#sec-tizhoshan .tz-opt.tz-diff{ box-shadow:0 0 0 3px rgba(227,154,162,.22) }
#sec-tizhoshan .tz-exrow{ background:#F5F7F3 }
#sec-tizhoshan .btn-add{ background:linear-gradient(90deg,#8FC1AC,#A99BD6); border:none; box-shadow:0 8px 18px rgba(140,150,190,.26) }
#sec-tizhoshan .btn-add:hover{ filter:brightness(1.03) }
/* نوارِ پیشرفت و دکمه‌های درون‌خطی که رنگِ بنفش داشتند، ملایم شوند */
#sec-tizhoshan [style*="var(--p)"]{ }

/* ── پنلِ ظاهر ── */
.ap-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem}
.ap-swatch{border:2px solid var(--border);border-radius:14px;padding:.7rem;cursor:pointer;text-align:center;transition:all .15s}
.ap-swatch:hover{border-color:var(--c)}
.ap-swatch.on{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 25%,transparent)}
.ap-swatch-dot{width:40px;height:40px;border-radius:50%;margin:0 auto .4rem}
.ap-swatch-n{font-size:.8rem;font-weight:700}
.ap-row{display:flex;gap:.5rem;flex-wrap:wrap}
.ap-chip{border:1.5px solid var(--border);background:var(--bg3);color:var(--text2);border-radius:12px;padding:9px 16px;font-family:Estedad,sans-serif;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .15s}
.ap-chip:hover{border-color:var(--border2)}
.ap-chip.on{background:var(--p);color:#fff;border-color:var(--p)}

/* ── بهبودهای موبایل (ایمن و سراسری) ── */
@media(max-width:600px){
  /* هدفِ لمسِ بزرگ‌تر برای دکمه‌ها و آیتم‌های منو */
  .nav-item{min-height:46px;display:flex;align-items:center}
  .btn-add,.btn-sm,.btn-edit,.subj-card,.chap-card,.tz-mode,.tz-skill{min-height:44px}
  /* جلوگیری از سرریزِ افقی محتوای عریض */
  .ccard,.qcard,.info-box{max-width:100%;overflow-wrap:anywhere}
  table{display:block;overflow-x:auto;max-width:100%}
  /* فاصله‌ی راحت‌تر */
  .sec-head h2{font-size:1.25rem}
  .g3{grid-template-columns:1fr 1fr}
}
/* هیچ عنصری صفحه را افقی نکشد */
img,svg,pre,table{max-width:100%}

/* ═══════════════════════════════════════════════════════════
   لایه‌ی حرفه‌ای — عرضِ محدودِ محتوا، ریتم و ظرافتِ یکدست
   ═══════════════════════════════════════════════════════════ */
/* محتوا روی نمایشگرِ بزرگ کش نیاید؛ وسط‌چین با عرضِ خوانا */
.main>.sec{max-width:1160px;margin-inline:auto;width:100%;box-sizing:border-box}
@media(min-width:1500px){ .main>.sec{max-width:1240px} }

/* کارت‌ها: مرزِ ظریف‌تر، سایه‌ی نرم‌ترِ چندلایه، حرکتِ ملایم‌تر */
.scard,.ccard{border-width:1px}
.scard{box-shadow:0 1px 2px rgba(60,50,120,.04), 0 6px 20px rgba(60,50,120,.06)}
.scard:hover{transform:translateY(-4px); box-shadow:0 2px 6px rgba(60,50,120,.08), 0 14px 32px rgba(60,50,120,.12)}
.ccard{box-shadow:0 1px 2px rgba(60,50,120,.04), 0 4px 16px rgba(60,50,120,.05)}

/* هدرِ بخش: فاصله و وزنِ متناسب */
.sec-head{margin-bottom:1.4rem}
.sec-head p{max-width:64ch}

/* تایپوگرافی: صافیِ فونت + خطِ راحت‌تر */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* تول‌بارِ بالا: نازک‌ترین مرز + سایه‌ی ظریف */
.topbar{border-bottom-width:1px; box-shadow:0 1px 12px rgba(60,50,120,.05)}
.tb-btn{color:var(--text2)}
.tb-btn:hover{color:var(--p); background:color-mix(in srgb, var(--p) 8%, var(--card))}

/* نوار کناری: مرزِ ظریف‌تر */
.sidebar{border-left-width:1px}

/* ── بخش‌هایِ «به‌زودی» (قفل) ── */
.sec.cs-lock > :not(.cs-box){display:none !important}
.cs-box{max-width:520px;margin:2.5rem auto;text-align:center;padding:3rem 1.6rem;
  background:var(--card);border:1.5px solid var(--border);border-radius:var(--rad);box-shadow:var(--shadow)}
.cs-ico{width:88px;height:88px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;
  font-size:2.6rem;border-radius:50%;background:rgba(var(--p-rgb),.10);box-shadow:0 8px 22px rgba(var(--p-rgb),.14)}
.cs-t{font-weight:900;font-size:1.35rem;color:var(--p);margin-bottom:.5rem}
.cs-d{color:var(--text2);font-size:.92rem;line-height:2;max-width:42ch;margin-inline:auto}
.nav-badge-soon{margin-inline-start:auto;font-size:.6rem;font-weight:800;color:var(--p);
  background:rgba(var(--p-rgb),.13);border-radius:20px;padding:2px 8px;white-space:nowrap}
.nav-item.nav-soon{opacity:.72}
body.sb-collapsed .nav-badge-soon{display:none}

/* ── دسترسیِ per-teacher (پنلِ ادمین) ── */
.et-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.et-acc{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;cursor:pointer;font-size:.82rem;background:var(--card);transition:border-color .15s}
.et-acc:hover{border-color:var(--border2)}
.et-acc input{width:17px;height:17px;flex:none;accent-color:var(--p)}
@media(max-width:520px){.et-access-grid{grid-template-columns:1fr}}

/* ── سیستمِ بازخورد ── */
.fbx-fab{position:fixed;left:16px;bottom:16px;z-index:85;width:48px;height:48px;border-radius:50%;
  border:none;cursor:pointer;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(var(--p-rgb),.4);transition:transform .15s}
.fbx-fab:hover{transform:scale(1.08)} .fbx-fab:active{transform:scale(.94)}
@media(max-width:820px){ body.has-fbar .fbx-fab{bottom:92px} }
.fbx-ov{position:fixed;inset:0;z-index:200;background:rgba(20,20,40,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;padding:1rem}
.fbx-ov.on{display:flex}
.fbx-box{width:100%;max-width:440px;background:var(--card);border-radius:var(--rad);border:1px solid var(--border);
  box-shadow:0 20px 60px rgba(0,0,0,.3);padding:1.2rem;animation:fbx-in .2s ease}
@keyframes fbx-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.fbx-h{display:flex;align-items:center;justify-content:space-between;font-weight:800;margin-bottom:.6rem}
.fbx-x{cursor:pointer;color:var(--text3);font-size:1.1rem}
.fbx-where{font-size:.78rem;color:var(--text3);background:var(--bg3);border-radius:9px;padding:.5rem .7rem;margin-bottom:.7rem}
.fbx-ta{width:100%;min-height:110px;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;
  font-family:inherit;font-size:.95rem;line-height:1.9;background:var(--card);color:var(--text);resize:vertical;box-sizing:border-box}
.fbx-row{display:flex;gap:.6rem;margin-top:.8rem}
.q-report{background:none;border:none;cursor:pointer;color:var(--text3);font-family:inherit;font-size:.74rem;padding:2px 4px;transition:color .15s}
.q-report:hover{color:var(--r)}
[data-theme="dark"] .fbx-ov{background:rgba(0,0,0,.55)}

/* ── کلاسِ آنلاین (cm-*) ── */
/* ═══════ کلاسِ آنلاین — نسخهٔ روشن و شاد و موبایلی (v386) ═══════ */
:root{ --cmv:#6D5EF7; --cmv2:#4B3FD4; --cmg:#12B886; --cmgold:#F5A524; --cmrose:#F0416A; --cmsky:#2E9BD6;
  --cm-ink:#211F45; --cm-ink2:#5A5A82; --cm-ink3:#9A9AC0; --cm-line:rgba(33,31,69,.09); --cm-surf:#FFFFFF; --cm-surf2:#F5F4FC; }
.cm-root{border:1px solid var(--cm-line);border-radius:20px;overflow:hidden;color:var(--cm-ink);
  background:radial-gradient(900px 460px at 88% -8%, #EAE6FF, transparent 60%),
    radial-gradient(700px 380px at 4% 8%, #FFF0E0, transparent 55%), #F1F0FC}
.cm-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 15px;background:linear-gradient(120deg,#fff,#faf9ff);border-bottom:1px solid var(--cm-line)}
.cm-bar-l{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.cm-bar-l b{font-size:.95rem;color:var(--cm-ink)} .cm-bar-r{display:flex;gap:7px;margin-inline-start:auto;flex-wrap:wrap}
.cm-live{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#FF5C8A,var(--cmrose));padding:5px 11px;border-radius:50px;box-shadow:0 4px 11px rgba(240,65,106,.32)}
.cm-live-dot{width:7px;height:7px;border-radius:50%;background:#fff;animation:cmblink 1.4s infinite}
@keyframes cmblink{50%{opacity:.35}}
.cm-role{font-size:.72rem;font-weight:700;background:var(--cmv);color:#fff;padding:3px 9px;border-radius:50px}
.cm-status{font-size:.72rem;color:var(--cm-ink3);font-weight:600} .cm-status.cm-connected{color:var(--cmg)} .cm-status.cm-error{color:var(--cmrose)} .cm-status.cm-connecting{color:var(--cmgold)}
.cm-chip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--cm-ink2);background:var(--cm-surf2);border:1px solid var(--cm-line);padding:6px 12px;border-radius:50px}
.cm-body{display:flex;gap:12px;padding:12px;min-height:56vh}
.cm-stage{flex:1;min-width:0;display:flex;flex-direction:column}
.cm-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;align-content:start}
.cm-tile{position:relative;background:#14142A;border-radius:14px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 6px 16px rgba(33,31,69,.12)}
.cm-tile video{width:100%;height:100%;object-fit:contain;background:#14142A}
.cm-tile-label{position:absolute;bottom:7px;inset-inline-start:8px;background:rgba(255,255,255,.92);color:var(--cm-ink);font-size:.72rem;font-weight:800;padding:2px 9px;border-radius:50px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.cm-tile-fs{position:absolute;top:7px;inset-inline-end:7px;background:rgba(0,0,0,.45);color:#fff;border:none;border-radius:9px;padding:3px 8px;font-size:.9rem;cursor:pointer}
.cm-tile-fs:hover{background:rgba(0,0,0,.7)}
.cm-tile:fullscreen video, .cm-tile:-webkit-full-screen video{object-fit:contain;background:#000}
.cm-side{width:270px;flex:none;background:var(--cm-surf);border:1px solid var(--cm-line);border-radius:16px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--sh,0 6px 18px rgba(33,31,69,.08))}
.cm-side-h{padding:10px 13px;font-size:.8rem;font-weight:800;color:var(--cm-ink);background:var(--cm-surf2);border-bottom:1px solid var(--cm-line)}
.cm-parts{max-height:180px;overflow-y:auto;padding:6px 11px}
.cm-part{font-size:.82rem;padding:6px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--cm-ink);border-bottom:1px solid var(--cm-line)}
.cm-part:last-child{border-bottom:none}
.cm-part.cm-done{background:rgba(18,184,134,.08);border-radius:8px;padding-inline:7px;border-bottom-color:transparent}
.cm-part.cm-warn{background:rgba(240,65,106,.09);border-radius:8px;padding-inline:7px;border-bottom-color:transparent}
.cm-attn-warn{margin-inline-start:auto;font-size:.68rem;font-weight:800;color:#fff;background:var(--cmrose,#F0416A);padding:2px 8px;border-radius:50px;white-space:nowrap}
#cm-actlist .cm-side-h{background:var(--emerald-tint,#DBF5EC);color:#0E7A5A}
.cm-pc{margin-inline-start:auto;display:flex;gap:4px} .cm-pc button{background:var(--cm-surf2);border:1px solid var(--cm-line);color:var(--cm-ink);border-radius:8px;padding:3px 7px;cursor:pointer;font-size:.8rem}
.cm-pc button.cm-grant{background:var(--cmg);color:#fff;border-color:transparent}
.cm-chat{flex:1;overflow-y:auto;padding:9px 11px;min-height:120px} .cm-msg{font-size:.82rem;line-height:1.7;margin-bottom:6px;color:var(--cm-ink)} .cm-msg b{color:var(--cmv2)} .cm-time{color:var(--cm-ink3);font-size:.66rem}
.cm-chat-in{display:flex;gap:6px;padding:9px;border-top:1px solid var(--cm-line)}
.cm-chat-in input{flex:1;background:var(--cm-surf2);border:1px solid var(--cm-line);border-radius:11px;color:var(--cm-ink);padding:9px 11px;font-family:inherit;font-size:.82rem}
.cm-exit-empty{font-size:.78rem;color:var(--cm-ink3);padding:4px 0}
.cm-wait{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--cm-ink);font-size:1.15rem;font-weight:800;padding:2rem;min-height:38vh}
.cm-wait-s{font-size:.85rem;font-weight:500;color:var(--cm-ink3);margin-top:.5rem}
/* نوارِ ابزارِ پایین — دکمه‌های شاد و گِرد */
.cm-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(120deg,#fff,#faf9ff);border-top:1px solid var(--cm-line);flex-wrap:wrap}
.cm-b{display:inline-flex;align-items:center;gap:7px;background:var(--cm-surf2);color:var(--cm-ink);border:1px solid var(--cm-line);border-radius:14px;padding:9px 14px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:.15s;box-shadow:0 2px 6px rgba(33,31,69,.05)}
.cm-b:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(33,31,69,.12)}
.cm-b.on{background:linear-gradient(135deg,var(--cmv),var(--cmv2));color:#fff;border-color:transparent}
.cm-b.off{background:var(--cmrose);color:#fff;border-color:transparent}
.cm-b.cm-danger{background:linear-gradient(135deg,#FF5C8A,var(--cmrose));color:#fff;border-color:transparent}
.cm-b:disabled{cursor:not-allowed}
/* تمام‌صفحه */
body.cm-fullscreen{overflow:hidden}
body.cm-fullscreen .sidebar,body.cm-fullscreen .topbar,body.cm-fullscreen #fbar,body.cm-fullscreen #fbx-fab,body.cm-fullscreen .sb-backdrop{display:none!important}
body.cm-fullscreen .cm-root{position:fixed;inset:0;z-index:9998;border-radius:0;height:100vh;height:100dvh;display:flex;flex-direction:column}
body.cm-fullscreen .cm-body{flex:1;min-height:0;overflow:hidden}
body.cm-fullscreen .cm-grid{overflow-y:auto}
/* تخته — روشن */
.cm-board-wrap{flex:1;display:flex;flex-direction:column;background:var(--cm-surf2);border-radius:14px;min-width:0;overflow:hidden}
/* تختهٔ نووا بورد داخلِ کلاس — هر بار تازه بارگذاری می‌شود */
.cm-board-host{flex:1;min-height:0;display:flex}
.cm-board-frame{flex:1;width:100%;height:100%;border:0;display:block;background:#fff;border-radius:12px}
.cm-tools{display:flex;gap:8px;flex-wrap:wrap;padding:8px 10px;background:var(--cm-surf);border-bottom:1px solid var(--cm-line);align-items:center}
.cm-tgrp{display:flex;gap:4px;align-items:center;padding-inline-end:8px;border-inline-end:1px solid var(--cm-line)}
.cm-tbtn{background:var(--cm-surf2);color:var(--cm-ink);border:1px solid var(--cm-line);border-radius:9px;padding:6px 9px;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.cm-tbtn.on{background:var(--cmv);border-color:transparent;color:#fff} .cm-tbtn:hover{border-color:var(--cmv)} .cm-tbtn.cm-danger{background:var(--cmrose);color:#fff;border-color:transparent}
.cm-color{width:24px;height:24px;border-radius:50%;border:2px solid var(--cm-line);cursor:pointer} .cm-color.on{border-color:var(--cmv);transform:scale(1.15)}
.cm-size{width:30px;height:26px;background:var(--cm-surf2);border:1px solid var(--cm-line);border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center} .cm-size.on{background:var(--cmv)} .cm-size span{background:var(--cm-ink);border-radius:50%;display:block} .cm-size.on span{background:#fff}
.cm-canvas-wrap{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}
#cm-canvas{background:#fff;border-radius:10px;max-width:100%;max-height:100%;box-shadow:0 6px 20px rgba(33,31,69,.18);touch-action:none;cursor:crosshair;aspect-ratio:16/9;width:100%}
.cm-guide{position:absolute;user-select:none;opacity:.95;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}
.cm-guide-bar{display:flex;gap:3px;justify-content:flex-end;margin-bottom:2px}
.cm-gb{width:24px;height:24px;border:none;border-radius:6px;background:var(--cm-surf2);color:var(--cm-ink);font-size:.9rem;cursor:pointer;line-height:1;border:1px solid var(--cm-line)}
.cm-gb:hover{background:var(--cmv);color:#fff}
.cm-guide-svg{pointer-events:none}
/* PDF — روشن */
.cm-pdf-wrap{flex:1;display:flex;flex-direction:column;background:var(--cm-surf2);border-radius:14px;min-width:0;overflow:hidden}
.cm-pdf-view{flex:1;overflow:auto;padding:12px;display:flex;justify-content:center;align-items:flex-start}
.cm-pdf-view img{max-width:100%;border-radius:8px;box-shadow:0 6px 20px rgba(33,31,69,.18)}
.cm-pdf-empty{color:var(--cm-ink3);font-size:.95rem;margin:auto;text-align:center}
/* ── موبایل ── */
@media(max-width:760px){
  .cm-body{flex-direction:column;padding:10px;gap:10px}
  .cm-side{width:auto}
  .cm-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
  .cm-toolbar{gap:6px;padding:10px 8px;overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap}
  .cm-b{flex:none;padding:9px 12px;font-size:.78rem}
  body.cm-fullscreen .cm-body{overflow-y:auto}
}

/* آیکونِ کارت‌های آمار: رنگِ برند/پایه، درونِ حبابِ نرم */
.scard-ico{color:var(--p); line-height:0; margin-bottom:.7rem}
.scard-ico svg{display:block}
.scard.a2 .scard-ico{color:#2FA37A}
.scard.a3 .scard-ico{color:#E0932F}
.scard.a4 .scard-ico{color:#D98A3D}
/* آیکونِ هیرو: سفید با سایه‌ی ملایم */
.hero-emoji{color:#fff; line-height:0}
.hero-emoji svg{filter:drop-shadow(0 3px 8px rgba(0,0,0,.18))}

/* جدول‌ها: سرستونِ خوانا، جداکننده‌ی واضح، راه‌راهِ ملایم، هاورِ نرم */
.tbl th{background:rgba(var(--p-rgb),.045); color:var(--text2); font-weight:700; border-bottom:1.5px solid rgba(var(--p-rgb),.15)}
.tbl td{border-bottom:1px solid rgba(var(--p-rgb),.07)}
.tbl tbody tr{transition:background .15s}
.tbl tbody tr:nth-child(even) td{background:rgba(var(--p-rgb),.03)}
.tbl tbody tr:hover td{background:rgba(var(--p-rgb),.08)}

/* اسکلتِ بارگذاری — درخششِ ملایم هنگامِ لود */
.skeleton{background:linear-gradient(90deg, rgba(var(--p-rgb),.07) 25%, rgba(var(--p-rgb),.14) 37%, rgba(var(--p-rgb),.07) 63%); background-size:400% 100%; animation:skl 1.4s ease infinite; border-radius:10px}
@keyframes skl{0%{background-position:100% 0}100%{background-position:-100% 0}}
.skeleton-row{height:46px; margin-bottom:9px}
.skeleton-card{height:104px}

/* ═══════════════════════════════════════════════════════
   🎓 داشبوردِ دانش‌آموز — بازطراحیِ کارتیِ حرفه‌ای
   (الهام‌گرفته: کارتِ هیرو + آماری + نمودار + میان‌بُر)
   با var(--p/--card/--text) خودکار با تمِ پایه و حالتِ شب هماهنگ است.
   ═══════════════════════════════════════════════════════ */
#sec-student-dash{padding-top:.2rem}

/* نوارِ بالا — پروفایل */
.sd-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:.1rem 0 1.15rem}
.sd-user{display:flex;align-items:center;gap:12px;min-width:0}
.sd-ava{width:52px;height:52px;border-radius:18px;overflow:hidden;flex:none;background:var(--p3);
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(var(--p-rgb),.22)}
.sd-ava img{width:100%;height:100%;object-fit:cover}
.sd-hi{display:flex;flex-direction:column;min-width:0}
.sd-hi b{font-size:1.12rem;font-weight:800;color:var(--text);line-height:1.3}
.sd-hi span{font-size:.8rem;color:var(--text3)}
.sd-bell{width:46px;height:46px;border-radius:15px;border:none;background:var(--card);
  cursor:pointer;font-size:1.15rem;flex:none;box-shadow:0 6px 16px rgba(var(--p-rgb),.12);transition:transform .2s}
.sd-bell:hover{transform:translateY(-2px)}

/* کارتِ هیرو — چیدمانِ دو ستونیِ flex (متن راست، داینو چپ؛ هرگز روی هم نمی‌افتند) */
.sd-hero{position:relative;overflow:hidden;border-radius:26px;padding:20px 20px 18px;margin-bottom:1.15rem;color:#fff;min-height:160px;cursor:pointer;
  box-shadow:0 18px 40px rgba(var(--p-rgb),.34);display:flex;align-items:flex-end;gap:6px;
  background:
    radial-gradient(circle at 86% 20%, rgba(255,255,255,.20) 0 3px, transparent 4px),
    radial-gradient(circle at 66% 12%, rgba(255,255,255,.15) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 60%, rgba(255,255,255,.13) 0 2px, transparent 3px),
    linear-gradient(140deg,var(--p),var(--p2))}
.sd-hero::after{content:'';position:absolute;top:-46px;left:-34px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);pointer-events:none}
.sd-hero-txt{flex:1;min-width:0;display:flex;flex-direction:column;text-align:right;position:relative;z-index:2;padding-bottom:4px}
.sd-hero-ill{width:106px;flex:none;align-self:flex-end;margin-bottom:-2px;pointer-events:none;position:relative;z-index:1;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.26))}
.sd-hero-badge{align-self:flex-start;background:rgba(255,255,255,.24);border-radius:20px;padding:6px 13px;
  font-size:.72rem;font-weight:800;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sd-hero h3{font-size:1.4rem;line-height:1.32;margin:.55rem 0 .3rem;text-shadow:0 1px 3px rgba(0,0,0,.16)}
.sd-hero p{font-size:.8rem;opacity:.94;line-height:1.6;text-shadow:0 1px 3px rgba(0,0,0,.16)}
.sd-code{align-self:flex-start;background:rgba(255,255,255,.96);color:var(--p);font-weight:800;
  border-radius:13px;padding:5px 13px;margin-top:9px;font-size:.8rem;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.sd-code b{font-size:1.05rem;letter-spacing:.12em;margin-inline-start:5px;font-family:'Estedad',sans-serif}

/* کارت‌های آماری — پس‌زمینه‌ی تیره‌رنگِ ملایم + چیپِ رنگیِ توپُر (شکیل و زنده) */
.sd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:1.15rem}
.sd-stat{border:none;border-radius:20px;padding:16px 8px 14px;text-align:center;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
.sd-stat-ico{width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin:0 auto 9px;color:#fff;box-shadow:0 5px 12px rgba(0,0,0,.14)}
.sd-stat-ico svg{width:21px;height:21px}
.sd-stat.s1{background:rgba(240,166,60,.15)} .sd-stat.s1 .sd-stat-ico{background:linear-gradient(135deg,#F4B24C,#E8963C)}
.sd-stat.s2{background:rgba(63,191,151,.15)} .sd-stat.s2 .sd-stat-ico{background:linear-gradient(135deg,#4FCBA3,#33B588)}
.sd-stat.s3{background:rgba(var(--p-rgb),.15)} .sd-stat.s3 .sd-stat-ico{background:linear-gradient(135deg,var(--p),var(--p2))}
.sd-stat.s4{background:rgba(59,130,246,.15)} .sd-stat.s4 .sd-stat-ico{background:linear-gradient(135deg,#5B9BF8,#3B82F6)}
.sd-stats.four{grid-template-columns:1fr 1fr}
.sd-stats.four .sd-stat-v{font-size:1.35rem}
.sd-stat-v{font-size:1.5rem;font-weight:900;color:var(--text);line-height:1}
.sd-stat-l{font-size:.68rem;color:var(--text3);margin-top:5px;font-weight:600}

/* کارتِ پیشرفتِ درس‌ها (نمودارِ میله‌ای) */
.sd-prog{background:var(--card);border:none;border-radius:22px;padding:17px 18px;margin-bottom:1.15rem;box-shadow:0 8px 22px rgba(var(--p-rgb),.09)}
.sd-prog-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.sd-prog-h b{font-size:.95rem;font-weight:800;color:var(--text)}
.sd-prog-h span{font-size:.72rem;color:var(--text3);font-weight:700}
.sd-bar-row{display:flex;align-items:center;gap:11px}
.sd-bar-row+.sd-bar-row{margin-top:13px}
.sd-bar-ico{width:32px;height:32px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex:none}
.sd-bar-main{flex:1;min-width:0}
.sd-bar-top{display:flex;justify-content:space-between;font-size:.77rem;margin-bottom:6px}
.sd-bar-top b{font-weight:700;color:var(--text)}
.sd-bar-top span{color:var(--text3)}
.sd-bar-track{height:9px;border-radius:6px;background:var(--bg3);overflow:hidden}
.sd-bar-fill{height:100%;border-radius:6px;min-width:6px;transition:width .9s cubic-bezier(.2,.8,.2,1)}

/* میان‌بُرها + کارهای پیشنهادی */
/* کارتِ مشکیِ امضاوار (featured) */
.sd-feat{position:relative;overflow:hidden;border-radius:22px;padding:18px 20px;margin-bottom:1.2rem;cursor:pointer;
  background:linear-gradient(135deg,#2A2A3F 0%,#1A1A2E 100%);color:#fff;
  box-shadow:0 14px 32px rgba(20,18,40,.32);display:flex;align-items:center;gap:14px;min-height:96px}
.sd-feat::before{content:'';position:absolute;top:-30px;right:-20px;width:130px;height:130px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--p-rgb),.42),transparent 70%);pointer-events:none}
.sd-feat-ill{width:90px;height:auto;max-height:92px;object-fit:contain;flex:none;position:relative;z-index:1;filter:drop-shadow(0 8px 12px rgba(0,0,0,.4))}
.sd-feat-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;position:relative;z-index:1}
.sd-feat-tag{align-self:flex-start;background:rgba(var(--p-rgb),.9);color:#fff;font-size:.64rem;font-weight:800;border-radius:14px;padding:3px 10px;margin-bottom:2px}
.sd-feat-body b{font-size:1.05rem;font-weight:900;color:#fff}
.sd-feat-sub{font-size:.75rem;color:rgba(255,255,255,.7);line-height:1.5}
.sd-feat-go{width:44px;height:44px;border-radius:50%;background:#fff;color:#1A1A2E;font-size:1.3rem;font-weight:900;
  display:flex;align-items:center;justify-content:center;flex:none;position:relative;z-index:1;box-shadow:0 6px 14px rgba(0,0,0,.3)}

.sd-nav-h{font-size:.98rem;font-weight:800;color:var(--text);margin:.3rem 3px .7rem}
.sd-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.1rem}
.sd-card{position:relative;overflow:hidden;border-radius:22px;padding:16px 15px;cursor:pointer;border:none;
  background:var(--card);box-shadow:0 8px 22px rgba(var(--p-rgb),.10);transition:transform .22s,box-shadow .22s;
  display:flex;flex-direction:column;gap:8px;min-height:120px}
.sd-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(var(--p-rgb),.18)}
.sd-card-ico{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;box-shadow:0 5px 12px rgba(0,0,0,.13)}
.sd-card-ico svg{width:26px;height:26px}
.sd-card-ico img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
.sd-card b{font-size:.96rem;font-weight:800;color:var(--text)}
.sd-card span{font-size:.72rem;color:var(--text3);line-height:1.45}
.sd-card-arrow{position:absolute;top:15px;left:15px;color:var(--cc);opacity:.55;font-size:1.15rem;font-weight:900}
/* کارتِ قفلِ دانش‌آموز/والدین */
.sd-card.locked{opacity:.6;filter:grayscale(.5)}
.sd-card-lock{position:absolute;top:13px;left:14px;font-size:1rem}
.sd-panel-locked{background:var(--card);border:1.5px dashed var(--border2);border-radius:20px;padding:26px 20px;text-align:center;margin-bottom:1.1rem}
.sd-panel-locked{font-size:34px}
.sd-panel-locked b{display:block;font-size:1.05rem;color:var(--text);margin:8px 0 4px}
.sd-panel-locked p{font-size:.86rem;color:var(--text2);line-height:1.8;margin:0}

.sd-tasks{display:flex;flex-direction:column;gap:10px;margin-bottom:.6rem}
.sd-task{display:flex;align-items:center;gap:12px;background:var(--card);border:none;
  border-radius:17px;padding:12px 14px;cursor:pointer;box-shadow:0 6px 18px rgba(var(--p-rgb),.08);transition:transform .2s}
.sd-task:hover{transform:translateX(-3px)}
.sd-task-ico{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex:none}
.sd-task-ico svg{width:24px;height:24px}
.sd-task-ico img{width:27px;height:27px;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}
.sd-task-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sd-task-body b{font-size:.9rem;font-weight:800;color:var(--text)}
.sd-task-body span{font-size:.74rem;color:var(--text3)}
.sd-task-arrow{color:var(--cc);font-size:1.2rem;font-weight:900;opacity:.6}

@media(min-width:560px){ .sd-nav{grid-template-columns:repeat(3,1fr)} }

/* ── هابِ کاشیِ «درس‌های من» ── */
.sh-gradebar{grid-column:1/-1;display:flex;align-items:center;gap:8px;justify-content:center;
  background:color-mix(in srgb, var(--gc) 12%, transparent);color:var(--gc);font-weight:800;font-size:.9rem;
  border-radius:15px;padding:10px 14px;margin-bottom:2px}
.sh-subj{min-height:146px}
.sh-subj .sh-bar{height:8px;border-radius:5px;background:var(--bg3);overflow:hidden;margin-top:auto}
.sh-subj .sh-bar-f{height:100%;border-radius:5px;transition:width .8s cubic-bezier(.2,.8,.2,1)}

/* ═══════ پنلِ والدینِ تک‌صفحه‌ای (pp-*) — ساده و همه‌سن‌پسند ═══════ */
#sec-parent-body{max-width:640px;margin:0 auto}
.pp-hero{position:relative;overflow:hidden;border-radius:26px;padding:20px 20px 18px;margin-bottom:1.1rem;color:#fff;min-height:126px;
  display:flex;align-items:flex-end;gap:6px;box-shadow:0 16px 36px rgba(var(--p-rgb),.32);
  background:radial-gradient(circle at 86% 22%,rgba(255,255,255,.2) 0 3px,transparent 4px),radial-gradient(circle at 70% 70%,rgba(255,255,255,.12) 0 2px,transparent 3px),linear-gradient(140deg,var(--p),var(--p2))}
.pp-hero-txt{flex:1;min-width:0;text-align:right}
.pp-hero-badge{display:inline-block;background:rgba(255,255,255,.24);border-radius:20px;padding:5px 12px;font-size:.72rem;font-weight:800}
.pp-hero-txt h2{font-family:'Lalezar','Estedad',sans-serif;font-weight:400;font-size:1.6rem;margin:.5rem 0 .2rem;text-shadow:0 1px 3px rgba(0,0,0,.18)}
.pp-hero-txt p{font-size:.82rem;opacity:.94}
.pp-hero-ill{width:96px;flex:none;align-self:flex-end;margin-bottom:-2px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.26))}
.pp-stats{margin-bottom:1.1rem}
.pp-card{background:var(--card);border:none;border-radius:22px;padding:17px 18px;margin-bottom:1.1rem;box-shadow:0 8px 22px rgba(var(--p-rgb),.09)}
.pp-card-h{font-size:1rem;font-weight:800;color:var(--text);margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.pp-hint{font-size:.72rem;font-weight:600;color:var(--text3)}
.pp-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pp-msg{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.85;background:rgba(var(--p-rgb),.07);border-radius:14px;padding:12px 14px}
.pp-msg span:first-child{font-size:1.4rem;flex:none}
.pp-dim{font-size:.8rem;color:var(--text3)}
/* کارنامه‌ی ماهانه */
.pp-month{border:1.5px solid rgba(var(--p-rgb),.3)}
.pp-mchips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.pp-mchip{border:1.5px solid var(--border);background:var(--card2,transparent);color:var(--text2);border-radius:12px;
  padding:8px 13px;font-family:'Estedad',sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:.15s}
.pp-mchip.sel{border-color:var(--p);color:var(--p);box-shadow:0 0 0 3px rgba(var(--p-rgb),.14)}
.pp-mchip.cur{border-color:var(--p)}
.pp-mchip.done{background:rgba(0,200,150,.14);border-color:transparent;color:#0a9e77}
.pp-sign-row{display:flex;flex-direction:column;gap:12px;background:rgba(var(--p-rgb),.06);border-radius:14px;padding:14px}
.pp-sign-txt{font-size:.9rem;line-height:1.8;color:var(--text2)}
.pp-sign-btn{border:none;border-radius:14px;padding:14px;font-family:'Estedad',sans-serif;font-size:1rem;font-weight:800;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#12B981,#0a9e77);box-shadow:0 8px 20px rgba(0,200,150,.3);transition:transform .15s;width:100%}
.pp-sign-btn:hover{transform:translateY(-2px)}
.pp-signed{background:rgba(0,200,150,.12);color:#0a9e77;border-radius:14px;padding:14px;font-size:.95rem;font-weight:700;text-align:center}
.pp-signed .pp-dim{color:#0a9e77;opacity:.75;font-weight:600}
/* غیبت */
.pp-abs{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg3);border-radius:12px;padding:10px 13px;margin-bottom:8px;font-size:.86rem}
.pp-abs-btn{border:none;background:var(--p);color:#fff;border-radius:10px;padding:8px 14px;font-family:'Estedad',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;flex:none}
/* پیام‌ها */
.pp-note{background:rgba(255,184,0,.1);border-radius:12px;padding:11px 13px;font-size:.86rem;line-height:1.8;margin-bottom:10px}
.pp-msgitem{background:var(--bg3);border-radius:12px;padding:10px 13px;font-size:.86rem;line-height:1.8;margin-bottom:8px}
.pp-ta{width:100%;min-height:70px;background:var(--bg3);border:1.5px solid var(--border);border-radius:12px;color:var(--text);
  font-family:'Estedad',sans-serif;font-size:.9rem;padding:10px 13px;line-height:1.9;margin:6px 0 10px}
.pp-foot{margin-top:.4rem}
.pp-foot-btn{width:100%;border:none;background:var(--card);color:var(--text2);border-radius:16px;padding:14px;
  font-family:'Estedad',sans-serif;font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
/* لیستِ نام‌ها در کارنامه‌ی معلم */
.tr-list{display:flex;flex-wrap:wrap;gap:8px}
.tr-name{font-size:.85rem;font-weight:700;border-radius:12px;padding:7px 13px;border:none;font-family:inherit;cursor:pointer;transition:transform .1s}
.tr-name:hover{transform:translateY(-1px);filter:brightness(.97)}
.tr-name.tr-no{background:rgba(255,79,123,.12);color:#d43d63}
.tr-name.tr-yes{background:rgba(0,200,150,.13);color:#0a9e77}

/* ───────── لیستِ دانش‌آموزانِ معلم — ردیفِ باریکِ آکاردئونی ───────── */
.tsl-hint{font-size:.75rem;color:var(--text3);margin:.2rem 3px .7rem}
.tsl-item{background:var(--card);border-radius:15px;box-shadow:0 4px 14px rgba(var(--p-rgb),.07);margin-bottom:8px;overflow:hidden;transition:box-shadow .2s}
.tsl-item.open{box-shadow:0 8px 22px rgba(var(--p-rgb),.14)}
.tsl-row{display:flex;align-items:center;gap:11px;padding:10px 13px;cursor:pointer}
.tsl-av{width:40px;height:40px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem}
.tsl-main{flex:1;min-width:0}
.tsl-name{font-size:.92rem;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tsl-pin{font-size:.68rem;color:var(--p);font-weight:700;margin-inline-start:3px}
.tsl-meta{display:flex;gap:11px;font-size:.72rem;color:var(--text3);margin-top:3px}
.tsl-chev{color:var(--text3);font-size:1.3rem;transition:transform .25s;flex:none;line-height:1}
.tsl-item.open .tsl-chev{transform:rotate(90deg);color:var(--p)}
.tsl-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 12px}
.tsl-item.open .tsl-actions{max-height:220px;padding:0 12px 12px}
.tsl-actions button{border:none;border-radius:11px;padding:10px 5px;font-family:inherit;font-size:.75rem;font-weight:700;cursor:pointer;
  background:rgba(var(--p-rgb),.1);color:var(--p);display:flex;align-items:center;justify-content:center;gap:4px;transition:filter .15s}
.tsl-actions button:hover{filter:brightness(.96)}
.tsl-actions button.tsl-results{grid-column:1 / -1;background:linear-gradient(135deg,rgba(236,72,153,.16),rgba(108,99,255,.14));color:#c026a3}
.tsl-actions button.del{background:rgba(255,79,123,.12);color:#e23c62}
@media(min-width:560px){ .tsl-meta{gap:16px} }

/* پنلِ مشخصاتِ دانش‌آموز — کادرِ خوانا + فرمِ دوستونیِ جمع‌وجور */
.si-note{font-size:.8rem;line-height:1.75;border-radius:12px;padding:9px 13px;margin-bottom:.8rem;color:var(--text);background:rgba(var(--p-rgb),.09)}
.si-note.ok{background:rgba(0,200,150,.13);color:#0a8f66}
.si-note b{font-weight:800}
[data-theme="dark"] .si-note.ok{color:#5fd3ab}
.si-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.si-fg{display:flex;flex-direction:column;gap:3px;min-width:0}
.si-fg.wide{grid-column:1 / -1}
.si-fg label{font-size:.75rem;color:var(--text3);font-weight:600}
.si-fg input,.si-fg textarea{width:100%;background:var(--bg3);border:1.5px solid var(--border);border-radius:10px;
  color:var(--text);font-family:'Estedad',sans-serif;font-size:.86rem;padding:8px 11px}
.si-fg textarea{min-height:58px;line-height:1.7;resize:vertical}
@media(max-width:440px){ .si-grid{grid-template-columns:1fr} }

/* ───────── باکس‌های آماریِ کوچکِ کنارِ هم (نتایج/حضور) ───────── */
.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:1.05rem}
.mini-stat{background:var(--card);border-radius:14px;padding:11px 5px;text-align:center;box-shadow:0 4px 13px rgba(var(--p-rgb),.07)}
.mini-stat .v{font-size:1.2rem;font-weight:900;color:var(--text);line-height:1}
.mini-stat .l{font-size:.62rem;color:var(--text3);margin-top:4px;font-weight:600;white-space:nowrap}
.mini-stat.c1 .v{color:var(--p)} .mini-stat.c2 .v{color:var(--g)} .mini-stat.c3 .v{color:#E8963C} .mini-stat.c4 .v{color:#EC4899}

/* ───────── جدولِ نتایج — ردیف‌های باریک ───────── */
.trr-head{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text3);font-weight:700;margin:0 6px .5rem}
.trr-list{display:flex;flex-direction:column;gap:7px}
.trr-row{display:flex;align-items:center;gap:11px;background:var(--card);border-radius:14px;padding:9px 12px;cursor:pointer;
  box-shadow:0 4px 13px rgba(var(--p-rgb),.07);transition:transform .15s,box-shadow .2s}
.trr-row:hover{transform:translateX(-2px);box-shadow:0 7px 18px rgba(var(--p-rgb),.13)}
.trr-av{width:36px;height:36px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.98rem}
.trr-main{flex:1;min-width:0}
.trr-name{font-size:.88rem;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trr-bar{height:6px;border-radius:4px;background:var(--bg3);overflow:hidden;margin-top:5px}
.trr-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--p),var(--p2));min-width:4px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.trr-side{text-align:left;flex:none}
.trr-score{font-size:.82rem;font-weight:800;color:var(--p)}
.trr-sub{font-size:.64rem;color:var(--text3);margin-top:2px;white-space:nowrap}
.trr-go{color:var(--text3);font-size:1.2rem;flex:none}
.trr-sub{font-size:.68rem;color:var(--text3);margin-top:3px}

/* ───────── بخشِ رفتار و انضباط — جمع‌وجور ───────── */
.bh-toolbar{display:flex;gap:8px;margin-bottom:.3rem}
.bh-mini-btn{flex:1;border:none;border-radius:12px;padding:10px 6px;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;
  background:rgba(var(--p-rgb),.1);color:var(--p);transition:filter .15s}
.bh-mini-btn.add{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.bh-mini-btn:hover{filter:brightness(.97)}
.bh-score-pill{flex:none;font-size:.78rem;font-weight:800;border-radius:10px;padding:4px 10px}
.bh-score-pill.pos{background:rgba(0,200,150,.14);color:#0a9e77}
.bh-score-pill.neg{background:rgba(255,79,123,.14);color:#e23c62}
/* هدرِ نمای یک دانش‌آموز */
.bh-dhead{display:flex;align-items:center;gap:10px;margin-bottom:.9rem}
.bh-back{width:38px;height:38px;border-radius:11px;border:none;background:var(--card);box-shadow:0 3px 10px rgba(var(--p-rgb),.1);
  cursor:pointer;font-size:1.2rem;color:var(--p);flex:none;font-weight:900}
.bh-dh-av{width:42px;height:42px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}
.bh-dh-info{flex:1;min-width:0}
.bh-dh-name{font-size:1.05rem;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-dh-sub{font-size:.76rem;color:var(--text3);margin-top:1px}
/* نمودارِ کلی */
.bh-overall .bh-ov-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:.4rem 0 .2rem}
.bh-ov-s{background:var(--bg3);border-radius:11px;padding:8px 4px;text-align:center}
.bh-ov-s .v{font-size:1.15rem;font-weight:900;line-height:1}
.bh-ov-s .l{font-size:.6rem;color:var(--text3);margin-top:3px;font-weight:600}
.bh-ov-t{font-size:.76rem;font-weight:700;color:var(--text3);margin:.9rem 0 .2rem}
.bh-warn{background:rgba(255,79,123,.1);border:1px solid rgba(255,79,123,.32);border-radius:12px;padding:10px 13px;
  font-size:.82rem;line-height:1.75;color:var(--text);margin:.6rem 0 .2rem}
.bh-warn b{color:#e23c62}
/* دکمه‌های هفتگی/ماهانه — کوچک کنارِ هم */
.bh-report-btns{display:flex;gap:9px;margin-bottom:1rem}
.bh-report-btns button{flex:1;border:none;border-radius:13px;padding:11px 6px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;box-shadow:0 6px 14px rgba(var(--p-rgb),.22)}
.bh-report-btns button.m{background:linear-gradient(135deg,#F4B24C,#E8963C);box-shadow:0 6px 14px rgba(240,166,60,.28)}
/* انتخابِ رفتار — ۲×۲ باکسِ مربعی، حاشیه‌ی نازک */
/* ۴ دسته‌ی رفتار کنارِ هم (۲×۲) */
.bh-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem}
.bh-cat{margin-bottom:0!important;padding:11px 10px}
.bh-cat .ccard-h{font-size:.86rem;margin-bottom:.6rem}
.bh-pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bh-pick{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;
  min-height:58px;padding:7px 5px;border-radius:11px;cursor:pointer;font-family:inherit;
  background:var(--card);transition:transform .12s,box-shadow .12s;border:1.2px solid transparent}
.bh-pick .bh-pick-ico{font-size:1.1rem;line-height:1}
.bh-pick .bh-pick-lbl{font-size:.68rem;font-weight:700;line-height:1.25}
@media(max-width:520px){.bh-cat .bh-pick-grid{grid-template-columns:1fr}.bh-pick{min-height:44px;flex-direction:row;gap:6px;justify-content:flex-start;padding:7px 8px}.bh-pick .bh-pick-lbl{font-size:.7rem}}
.bh-pick.pos{border-color:rgba(67,217,173,.45);background:rgba(67,217,173,.08);color:var(--g)}
.bh-pick.neg{border-color:rgba(255,101,132,.4);background:rgba(255,101,132,.07);color:var(--r)}
.bh-pick:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(var(--p-rgb),.12)}
.bh-pick:active{transform:scale(.97)}

/* ───────── حضور و غیاب — جمع‌وجور ───────── */
.att-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:.6rem}
.att-date{background:var(--card);border-radius:11px;padding:8px 13px;font-weight:800;font-size:.82rem;box-shadow:0 3px 10px rgba(var(--p-rgb),.08)}
.att-mini{border:none;border-radius:11px;padding:8px 12px;font-family:inherit;font-size:.78rem;font-weight:700;cursor:pointer;background:rgba(var(--p-rgb),.1);color:var(--p)}
.att-mini:hover{filter:brightness(.97)}
.att-help-btn{width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;background:rgba(var(--p-rgb),.12);color:var(--p);font-weight:900;font-size:1rem;margin-inline-start:auto;flex:none}
.att-help{position:relative;background:rgba(var(--p-rgb),.07);border:1px solid var(--border);border-radius:13px;
  padding:12px 40px 12px 14px;font-size:.82rem;line-height:1.85;color:var(--text);margin-bottom:.9rem}
.att-help-x{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(0,0,0,.06);color:var(--text3);font-weight:900}
[data-theme="dark"] .att-help-x{background:rgba(255,255,255,.1)}
.att-list{display:flex;flex-direction:column}
.att-row2{display:flex;align-items:center;gap:9px;padding:7px 2px;border-bottom:1px solid var(--border)}
.att-row2:last-child{border-bottom:none}
.att-r-name{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}
.att-r-av{width:31px;height:31px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.82rem}
.att-r-nm{font-size:.85rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.att-btns2{display:flex;gap:5px;flex:none}
.att-btns2 button{width:33px;height:33px;border-radius:9px;border:1.5px solid var(--border);background:transparent;
  font-size:.92rem;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:.12s;line-height:1}
.att-btns2 button.on{color:#fff;transform:scale(1.05)}
.att-btns2 button:not(.on){filter:grayscale(.4);opacity:.75}

/* ───────── دفترِ نمره — توصیفی/نمره‌ای + نقشه‌ی حرارتی ───────── */
.gb-wrap{margin-top:.2rem}
.gb-modes{display:flex;gap:8px;margin-bottom:.7rem}
.gb-mode{flex:1;border:none;border-radius:12px;padding:11px 6px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;background:var(--bg3);color:var(--text3)}
.gb-mode.on{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;box-shadow:0 6px 14px rgba(var(--p-rgb),.22)}
.gb-subjs{display:flex;gap:7px;overflow-x:auto;padding-bottom:6px;margin-bottom:.6rem;scrollbar-width:none}
.gb-subjs::-webkit-scrollbar{display:none}
.gb-subj{flex:none;border:none;border-radius:11px;padding:8px 14px;font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;background:var(--card);color:var(--text2);box-shadow:0 3px 10px rgba(var(--p-rgb),.07);white-space:nowrap}
.gb-subj.on{background:rgba(var(--p-rgb),.14);color:var(--p)}
.gb-addcol{display:flex;gap:7px;margin-bottom:.7rem;flex-wrap:wrap;align-items:center}
.gb-addcol .tt-in{flex:1;min-width:120px}
/* دو دکمهٔ چسبیدهٔ افزودن ستون: نمره | تکلیف */
.gb-addbtns{display:inline-flex;gap:0;flex:none}
.gb-addg,.gb-addhw{border:none;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:800;padding:10px 16px;line-height:1}
.gb-addg{background:#3b82f6;color:#fff;border-start-start-radius:12px;border-end-start-radius:12px}
.gb-addhw{background:#10b981;color:#fff;border-start-end-radius:12px;border-end-end-radius:12px}
.gb-addg:hover,.gb-addhw:hover{filter:brightness(1.07)}
.gb-print-ic{border:none;background:var(--bg3);color:var(--text2);cursor:pointer;border-radius:10px;padding:8px 10px;font-size:.95rem;flex:none}
.gb-print-ic:hover{background:var(--border)}
.gb-th-kind{font-size:.55rem;font-weight:800;border-radius:5px;padding:1px 6px;margin-bottom:2px;display:inline-block}
.gb-th-grade .gb-th-kind{background:rgba(59,130,246,.16);color:#2563eb}
.gb-th-hw .gb-th-kind{background:rgba(16,185,129,.16);color:#0e9f6e}
.gb-legend{display:flex;gap:11px;flex-wrap:wrap;justify-content:center;font-size:.66rem;color:var(--text3);margin-bottom:.6rem}
.gb-legend span{display:inline-flex;align-items:center;gap:4px}
.gb-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.gb-tablewrap{overflow-x:auto;background:var(--card);border-radius:16px;padding:10px;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
.gb-table{width:100%;border-collapse:separate;border-spacing:5px}
.gb-table th{font-size:.68rem;color:var(--text3);font-weight:700;white-space:nowrap;padding:0 3px 4px;position:relative}
.gb-table th.gb-nmh{text-align:right}
.gb-delcol{border:none;background:none;color:var(--text3);cursor:pointer;font-size:.62rem;margin-inline-start:3px;opacity:.6}
.gb-delcol:hover{color:var(--r);opacity:1}
.gb-modehint{font-size:.72rem;color:var(--text3);margin:-.3rem 0 .7rem;text-align:center}
.gb-colbtns{display:inline-flex;gap:2px;margin-inline-start:4px;vertical-align:middle}
.gb-bulk{border:none;background:rgba(var(--p-rgb),.14);color:var(--p);cursor:pointer;font-size:.66rem;border-radius:6px;padding:1px 4px;line-height:1.3}
.gb-bulk:hover{background:var(--p);color:#fff}
.gb-nm{font-size:.76rem;font-weight:700;color:var(--text);white-space:nowrap;padding-inline-end:5px}
.gb-cell{width:52px;text-align:center;border:1.5px solid var(--border);border-radius:9px;padding:6px 2px;font-family:inherit;
  font-size:.82rem;font-weight:800;background:var(--bg3);color:var(--text);transition:.15s}
.gb-cell:focus{outline:none;border-color:var(--p)}
.gb-sel{cursor:pointer;-webkit-appearance:none;appearance:none;font-size:.72rem;width:66px;font-weight:700}
.gb-hint{font-size:.72rem;color:var(--text3);text-align:center;margin-top:.7rem}
/* نوارِ شناورِ نامِ دانش‌آموز هنگامِ ورودِ نمره (با «قبلی/بعدی» صفحه‌کلید) */
.gb-focusbar{position:fixed;top:10px;left:50%;transform:translateX(-50%) translateY(-14px);z-index:9999;
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;padding:7px 16px;border-radius:50px;
  font-size:.86rem;font-weight:700;box-shadow:0 8px 20px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:.18s;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis}
.gb-focusbar.on{opacity:1;transform:translateX(-50%) translateY(0)}
/* ── تاریخِ ستون + سوییچِ تکلیف + ستونِ دوتکه (نمره | تکلیف) ── */
.gb-datein{max-width:110px;flex:0 0 auto;text-align:center}
.gb-lg-sep{font-weight:800;color:var(--text2);margin-inline-start:6px}
.gb-th-title{font-weight:800;color:var(--text2)}
.gb-th-date{font-size:.6rem;color:var(--text3);cursor:pointer;margin-top:1px;font-weight:600}
.gb-th-date:hover{color:var(--p)}
.gb-hwtog{border:none;background:rgba(16,185,129,.14);color:#0e9f6e;cursor:pointer;font-size:.62rem;border-radius:6px;padding:1px 5px;line-height:1.3;font-weight:800}
.gb-hwtog:hover{background:#10b981;color:#fff}
.gb-hwtog.on{background:#10b981;color:#fff}
.gb-th-sub{display:flex;gap:5px;margin-top:3px;justify-content:center}
.gb-th-sub span{flex:1;font-size:.58rem;font-weight:800;border-radius:5px;padding:1px 0}
.gb-th-sub .gb-sub-g{background:rgba(59,130,246,.16);color:#2563eb}
.gb-th-sub .gb-sub-h{background:rgba(16,185,129,.16);color:#0e9f6e}
.gb-th-hw .gb-th-title{color:var(--text)}
.gb-dual{display:flex;gap:0;align-items:stretch;justify-content:center}
.gb-dual .gb-cell{border-radius:0}
.gb-dual .gb-cell:first-child{border-start-start-radius:9px;border-end-start-radius:9px}
.gb-dual .gb-hwsel{border-start-end-radius:9px;border-end-end-radius:9px;border-inline-start:0}
.gb-hwsel{cursor:pointer;-webkit-appearance:none;appearance:none;font-size:.68rem;width:64px;font-weight:800}

/* ───────── نمودارهای داشبوردِ معلم ───────── */
.tc-card{background:var(--card);border-radius:20px;padding:16px;margin-bottom:12px;box-shadow:0 8px 22px rgba(var(--p-rgb),.09)}
.tc-h{font-size:.95rem;font-weight:800;color:var(--text);font-family:'Lalezar','Estedad',sans-serif}
.tc-empty{font-size:.84rem;color:var(--text3);background:var(--bg3);border-radius:12px;padding:14px;line-height:1.8;text-align:center}
/* 📝 صفحه/آزمونِ درس‌های جدیدِ دانش‌آموز */
.xex-ov{display:none;position:fixed;inset:0;z-index:9200;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}
.xex-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--p);color:#fff;box-shadow:0 4px 16px rgba(0,0,0,.15)}
.xex-title{flex:1;font-size:1.05rem;font-weight:800}
.xex-x{flex:none;width:38px;height:38px;border:none;border-radius:11px;background:rgba(255,255,255,.2);color:#fff;font-size:1.1rem;cursor:pointer}
.xex-clock{flex:none;font-weight:800;background:rgba(255,255,255,.2);border-radius:10px;padding:5px 12px;font-size:.9rem}
.xex-body{max-width:720px;margin:0 auto;padding:16px 14px 50px}
.xex-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}
.xex-card{background:var(--card);border-radius:18px;padding:18px 10px;text-align:center;position:relative;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
.xex-card.soon{opacity:.7}
.xex-card.on{cursor:pointer;border:2px solid var(--xc)}
.xex-card.on:hover{transform:translateY(-2px)}
.xex-c-ico{font-size:1.9rem;margin-bottom:6px}
.xex-card b{display:block;font-size:.92rem;color:var(--text)}
.xex-soon{display:inline-block;margin-top:6px;font-size:.66rem;background:var(--bg3);color:var(--text3);border-radius:20px;padding:2px 10px;font-weight:700}
.xex-go{display:inline-block;margin-top:6px;font-size:.72rem;color:var(--xc);font-weight:800}
.xex-note{font-size:.8rem;color:var(--text3);background:var(--card);border-radius:14px;padding:12px 14px;margin-top:16px;line-height:1.8}
.xex-loading{text-align:center;color:var(--text3);padding:30px}
.xex-terms{display:flex;flex-direction:column;gap:11px}
.xex-term{border:none;background:var(--card);border-radius:16px;padding:16px;text-align:right;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
.xex-term b{display:block;font-size:1rem;color:var(--text);margin-bottom:4px}
.xex-term span{font-size:.82rem;color:var(--p);font-weight:700}
.xex-term.dis{opacity:.6;cursor:default}
.xex-term.dis span{color:var(--text3)}
.xex-submit{width:100%;border:none;border-radius:14px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-family:inherit;font-weight:800;font-size:1rem;padding:14px;margin-top:14px;cursor:pointer}
.xex-score{background:var(--card);border:2px solid;border-radius:18px;padding:18px;text-align:center;margin-top:16px}
.qexp{font-size:.8rem;color:var(--text3);background:var(--bg3);border-radius:10px;padding:8px 11px;margin-top:8px;line-height:1.7}
@media(max-width:480px){.xex-cards{grid-template-columns:1fr}}
.tc-s{font-size:.7rem;color:var(--text3);margin:.15rem 0 .8rem}
.tc-svg{width:100%;height:auto;display:block}
.tc-lg{display:flex;gap:12px;flex-wrap:wrap;font-size:.68rem;color:var(--text3);margin-bottom:.4rem}
.se-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.se-tbl{width:100%;border-collapse:collapse;font-size:.8rem;min-width:400px}
.se-tbl th,.se-tbl td{border:1px solid var(--border);padding:7px 6px;text-align:center;white-space:nowrap}
.se-tbl thead th{background:rgba(var(--p-rgb),.09);color:var(--p);font-weight:800;font-size:.74rem}
.se-tbl .se-nm{text-align:right;font-weight:700;color:var(--text)}
.se-tbl tbody tr:nth-child(even){background:rgba(var(--p-rgb),.03)}
.tc-lg span{display:inline-flex;align-items:center;gap:5px}
.tc-lg i{width:9px;height:9px;border-radius:50%}
.tc-lg-wrap{margin-top:.5rem;gap:9px 12px;justify-content:center}
/* ── کاوشگرِ نمراتِ هر درس ── */
.tc-subchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:.3rem}
.tc-subchip{border:1.5px solid var(--border);background:var(--card);color:var(--text2);border-radius:50px;
  padding:5px 12px;font-family:inherit;font-size:.76rem;font-weight:700;cursor:pointer;transition:.15s;position:relative}
.tc-subchip::before{content:'';position:absolute;inset-inline-start:7px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:var(--sc)}
.tc-subchip{padding-inline-start:22px}
.tc-subchip:hover{border-color:var(--sc)}
.tc-subchip.on{background:var(--sc);color:#fff;border-color:var(--sc)}
.tc-subchip.on::before{background:#fff}
.tc-explore-hint{font-size:.74rem;color:var(--text3);text-align:center;margin-top:.7rem;line-height:1.7}
.tc-collist{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:.7rem}
.tc-colrow{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1.5px solid var(--border);
  background:var(--bg3);border-radius:11px;padding:7px 9px;font-family:inherit;cursor:pointer;transition:.15s;text-align:right;min-width:0}
.tc-colrow:hover{border-color:var(--sc)}
.tc-colrow.on{border-color:var(--sc);box-shadow:inset 3px 0 0 var(--sc);background:var(--card)}
.tc-colnm{font-size:.75rem;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tc-coldt{font-size:.62rem;color:var(--text3);white-space:nowrap}
.tc-colchart{margin-top:.9rem;padding-top:.8rem;border-top:1px dashed var(--border)}
.tc-colchart-h{font-size:.8rem;font-weight:800;color:var(--text2);margin-bottom:.7rem;text-align:center}
.tc-empty{font-size:.8rem;color:var(--text3);text-align:center;padding:1.4rem 0}
.tc-donut-wrap{display:flex;align-items:center;gap:16px}
.tc-donut{width:118px;height:118px;border-radius:50%;flex:none;position:relative}
.tc-donut::after{content:'';position:absolute;inset:20px;border-radius:50%;background:var(--card)}
.tc-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}
.tc-donut-c b{font-size:1.25rem;font-weight:900;color:var(--text);font-family:'Lalezar','Estedad',sans-serif}
.tc-donut-c span{font-size:.58rem;color:var(--text3)}
.tc-dleg{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.tc-drow{display:flex;align-items:center;gap:7px;font-size:.74rem}
.tc-drow i{width:9px;height:9px;border-radius:50%;flex:none}
.tc-drow .nm{flex:1;color:var(--text2);min-width:0}
.tc-drow b{font-weight:800;color:var(--text)}

/* ───────── تقویمِ آموزشی + برنامه‌ی امروز ───────── */
/* سربرگِ فشرده + ناوبریِ ماه */
.cal-top2{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-radius:16px;padding:9px 12px;margin-bottom:.7rem;box-shadow:0 8px 20px rgba(var(--p-rgb),.26)}
.cal-hd{flex:1;text-align:center;min-width:0}
.cal-title2{font-size:1.02rem;font-weight:900;font-family:'Lalezar','Estedad',sans-serif;line-height:1.2}
.cal-counter2{font-size:.72rem;opacity:.96;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-counter2 b{font-weight:900}
.cal-nav{flex:none;width:34px;height:34px;border:none;border-radius:11px;background:rgba(255,255,255,.2);color:#fff;font-size:1.3rem;font-weight:900;cursor:pointer;line-height:1}
.cal-nav:hover{background:rgba(255,255,255,.32)}
.today-counter{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;border-radius:14px;padding:11px 14px;margin-bottom:1rem}
.cal-todaybtn{text-align:center;margin-bottom:.6rem}
.cal-todaybtn button{border:none;background:rgba(var(--p-rgb),.12);color:var(--p);font-family:inherit;font-weight:700;font-size:.8rem;padding:6px 14px;border-radius:20px;cursor:pointer}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px}
.cal-wdh{text-align:center;font-size:.66rem;font-weight:800;color:var(--text3);padding:0 0 2px}
.cal-wdh.fri{color:var(--r)}
.cal-cell{position:relative;height:34px;border:none;border-radius:8px;background:var(--card);color:var(--text);
  font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:0 1px 4px rgba(var(--p-rgb),.05);transition:.12s;display:flex;align-items:center;justify-content:center;padding:0}
.cal-cell.empty{background:transparent;box-shadow:none;pointer-events:none}
.cal-cell:hover{transform:translateY(-1px)}
.cal-cell.hol{background:rgba(255,79,123,.12);color:var(--r);font-weight:800}
.cal-cell.today{background:rgba(var(--p-rgb),.18);color:var(--p);font-weight:900}
.cal-cell.today.hol{background:rgba(255,79,123,.2)}
.cal-cell.sel{outline:2.5px solid var(--p);outline-offset:-2px}
.cal-dot{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:var(--g)}
/* فکت‌ها */
.cal-facts{background:var(--card);border-radius:16px;padding:13px 15px;margin-top:1rem;box-shadow:0 6px 18px rgba(var(--p-rgb),.07)}
.cal-facts-h{font-size:.9rem;font-weight:800;color:var(--p);margin-bottom:9px}
.cal-fact{font-size:.82rem;color:var(--text);line-height:1.7;padding:4px 0;border-bottom:1px solid rgba(var(--p-rgb),.06)}
.cal-fact:last-child{border-bottom:none}
.cal-day{background:var(--card);border-radius:18px;padding:15px;margin-top:1rem;box-shadow:0 8px 22px rgba(var(--p-rgb),.09)}
.cal-day-h{font-size:1rem;font-weight:800;color:var(--text);margin-bottom:.7rem;font-family:'Lalezar','Estedad',sans-serif}
.cal-lbl{display:block;font-size:.76rem;color:var(--text3);font-weight:700;margin:.6rem 0 .3rem}
.cal-ta{width:100%;min-height:64px;background:var(--bg3);border:1.5px solid var(--border);border-radius:12px;padding:9px 12px;color:var(--text);font-family:inherit;font-size:.86rem;line-height:1.8;resize:vertical}
.cal-tasks,.today-list{display:flex;flex-direction:column;gap:7px}
.cal-task,.today-item{display:flex;align-items:center;gap:9px;background:var(--bg3);border-radius:11px;padding:8px 11px}
.cal-task span,.today-item span{flex:1;min-width:0;font-size:.85rem;color:var(--text)}
.cal-task span.done,.today-item span.done{text-decoration:line-through;color:var(--text3)}
.cal-chk{width:26px;height:26px;border-radius:8px;border:2px solid var(--border);background:var(--card);cursor:pointer;flex:none;color:#fff;font-weight:900;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.cal-chk.on{background:var(--g);border-color:var(--g)}
.cal-del{border:none;background:none;color:var(--text3);cursor:pointer;font-size:.85rem;flex:none;opacity:.6}
.cal-del:hover{color:var(--r);opacity:1}
.cal-add{display:flex;gap:7px;margin-top:.7rem}
.cal-add input{flex:1;background:var(--bg3);border:1.5px solid var(--border);border-radius:11px;padding:9px 12px;color:var(--text);font-family:inherit;font-size:.85rem}
.cal-add button{border:none;border-radius:11px;padding:9px 15px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-weight:800;cursor:pointer;font-size:1rem}
.today-teach{background:rgba(var(--p-rgb),.09);border-radius:13px;padding:11px 14px;font-size:.85rem;line-height:1.8;color:var(--text);margin-bottom:.9rem}
.today-prog{font-size:.78rem;color:var(--text3);font-weight:700}
/* تدریسِ امروز — وصل به تقویم */
.today-teach-card{background:rgba(var(--p-rgb),.08);border-radius:14px;padding:12px 14px;margin-bottom:1rem}
.today-teach-h{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.9rem;font-weight:800;color:var(--p);margin-bottom:6px}
.today-jump{border:none;background:rgba(var(--p-rgb),.14);color:var(--p);font-family:inherit;font-weight:700;font-size:.74rem;padding:4px 11px;border-radius:16px;cursor:pointer}
.today-teach-body{font-size:.88rem;line-height:1.9;color:var(--text);white-space:pre-wrap}
.today-sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.95rem;font-weight:800;color:var(--text);margin-bottom:.6rem}
.today-src{flex:none!important;font-size:.9rem;opacity:.6}
/* نمای کوچکِ برنامه/تقویم روی داشبورد */
.tpg-card{background:var(--card);border-radius:18px;padding:14px 15px;margin:0 0 1.1rem;box-shadow:0 8px 22px rgba(var(--p-rgb),.09)}
.tpg-head{margin-bottom:10px}
.tpg-title{font-size:.86rem;font-weight:800;color:var(--p);line-height:1.4}
.tpg-title b{font-weight:900}
.tpg-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;cursor:pointer;margin-bottom:12px}
.tpg-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:10px;background:var(--bg3)}
.tpg-day .tpg-wd{font-size:.6rem;color:var(--text3);font-weight:700}
.tpg-day .tpg-dn{font-size:.85rem;font-weight:800;color:var(--text)}
.tpg-day.t{background:var(--p);}
.tpg-day.t .tpg-wd,.tpg-day.t .tpg-dn{color:#fff}
.tpg-day.h .tpg-dn{color:var(--r)}
.tpg-dot{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--g)}
.tpg-day.t .tpg-dot{background:#fff}
.tpg-teach{background:rgba(var(--p-rgb),.07);border-radius:11px;padding:8px 11px;font-size:.82rem;line-height:1.7;color:var(--text);margin-bottom:9px}
.tpg-prog{font-size:.8rem;font-weight:700;color:var(--text3);margin-bottom:7px}
.tpg-tasks{display:flex;flex-direction:column;gap:5px;margin-bottom:4px}
.tpg-task{font-size:.83rem;color:var(--text);padding:2px 0}
.tpg-task.done{text-decoration:line-through;color:var(--text3)}
.tpg-empty{font-size:.82rem;color:var(--text3);padding:4px 0 8px}
.tpg-actions{display:flex;gap:8px;margin-top:10px}
.tpg-actions button{flex:1;border:none;border-radius:12px;padding:10px 6px;font-family:inherit;font-size:.8rem;font-weight:700;cursor:pointer;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.tpg-actions button.alt{background:rgba(var(--p-rgb),.12);color:var(--p)}

/* 📸 انتخاب با چهره */
.fs-overlay{display:none;position:fixed;inset:0;z-index:9200;background:#0c0d12;color:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch}
.fs-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:12px;padding:13px 16px;background:#14151d;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.fs-head .fs-title{flex:1;font-size:1.05rem;font-weight:800}
.fs-x{flex:none;width:38px;height:38px;border:none;border-radius:11px;background:rgba(255,255,255,.12);color:#fff;font-size:1.1rem;cursor:pointer}
.fs-status{flex:none;font-size:.72rem;font-weight:800;padding:4px 12px;border-radius:20px;border:1.5px solid}
.fs-status.off{color:#ff6584;border-color:#ff6584}
.fs-status.on{color:var(--p);border-color:var(--p);background:rgba(var(--p-rgb),.12)}
.fs-stage{position:relative;width:100%;max-width:820px;margin:16px auto 0;aspect-ratio:16/9;background:#000;border-radius:16px;overflow:hidden;border:2px solid rgba(var(--p-rgb),.5);box-shadow:0 0 24px rgba(var(--p-rgb),.35)}
.fs-inner{position:absolute;inset:0;transform-origin:center center;will-change:transform}
.fs-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.fs-inner canvas#fs-overlay-canvas{position:absolute;inset:0;width:100%;height:100%}
.fs-facecount{position:absolute;top:10px;right:10px;z-index:6;background:rgba(0,0,0,.55);color:#fff;font-size:.78rem;font-weight:800;padding:5px 12px;border-radius:20px;border:1.5px solid var(--p);backdrop-filter:blur(4px)}
.fs-scan{position:absolute;top:0;left:0;width:100%;height:2px;background:var(--p);box-shadow:0 0 14px var(--p);animation:fsScan 3s linear infinite;display:none;pointer-events:none;z-index:4}
@keyframes fsScan{0%{top:0}100%{top:100%}}
.fs-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(0,0,0,.8);z-index:5}
.fs-loading.hidden{display:none}
.fs-spin{width:40px;height:40px;border:4px solid rgba(255,255,255,.2);border-top-color:var(--p);border-radius:50%;animation:fsSpin 1s linear infinite}
@keyframes fsSpin{to{transform:rotate(360deg)}}
.fs-loading p{font-size:.9rem;font-weight:700;color:var(--p)}
.fs-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:760px;margin:16px auto 0;padding:0 16px}
.fs-btn{border:none;border-radius:14px;padding:13px 26px;font-family:inherit;font-size:.95rem;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;transition:transform .12s,opacity .15s}
.fs-btn.alt{background:linear-gradient(135deg,#ff2e97,#c400ff)}
.fs-btn.ghost{background:rgba(255,255,255,.1);color:#fff}
.fs-btn:hover:not(:disabled){transform:translateY(-2px)}
.fs-btn:disabled{opacity:.45;cursor:not-allowed}
/* پنلِ تنظیمات */
.fs-settings{max-width:560px;margin:14px auto 0;padding:16px;background:#14151d;border-radius:16px;display:grid;gap:15px;border:1px solid rgba(255,255,255,.08)}
.fs-set{display:flex;flex-direction:column;gap:8px}
.fs-set>span{font-size:.85rem;font-weight:700;color:#dfe3ea;display:flex;justify-content:space-between;align-items:center}
.fs-set>span b{color:var(--p);font-size:.82rem}
.fs-set input[type=range]{width:100%;accent-color:var(--p);height:6px}
.fs-set.fs-toggles,.fs-set:has(.fs-seg){flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.fs-set:has(.fs-seg)>span{flex:1}
.fs-seg{display:flex;gap:0;border-radius:12px;overflow:hidden;border:1.5px solid rgba(255,255,255,.15)}
.fs-seg button{border:none;background:transparent;color:#cbd;font-family:inherit;font-weight:800;font-size:.95rem;padding:8px 16px;cursor:pointer}
.fs-seg button.on{background:var(--p);color:#fff}
.fs-toggles{gap:10px}
.fs-tg{flex:1;border:1.5px solid rgba(255,255,255,.15);background:transparent;color:#cbd;font-family:inherit;font-weight:700;font-size:.85rem;padding:10px;border-radius:12px;cursor:pointer}
.fs-tg.on{background:rgba(var(--p-rgb),.2);color:#fff;border-color:var(--p)}
.fs-note{text-align:center;color:#9aa;font-size:.78rem;margin:14px 16px 40px}
/* چند برنده */
.fs-snaps{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:16px}
.fs-snap-c{width:150px;height:150px;object-fit:cover;border-radius:18px;border:4px solid var(--p);background:#000}
.fs-snaps:has(.fs-snap-c:only-child) .fs-snap-c{width:210px;height:210px}
.fs-result{position:fixed;inset:0;z-index:9300;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.85);backdrop-filter:blur(6px)}
.fs-result.hidden{display:none}
.fs-result-card{position:relative;background:#14151d;border:2px solid rgba(var(--p-rgb),.6);border-radius:24px;padding:26px 22px;max-width:420px;width:100%;text-align:center;box-shadow:0 0 34px rgba(var(--p-rgb),.4)}
.fs-congrat{font-size:1.6rem;font-weight:900;color:var(--p);margin-bottom:16px;font-family:'Lalezar','Estedad',sans-serif}
.fs-snap{width:220px;height:220px;margin:0 auto 16px;border-radius:20px;overflow:hidden;border:4px solid var(--p);background:#000}
.fs-snap canvas{width:100%;height:100%;object-fit:cover}
.fs-result-txt{font-size:1.05rem;line-height:1.7;margin-bottom:20px;color:#eee}
.fs-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:24px}
.fs-confetti i{position:absolute;top:-12px;width:9px;height:9px;border-radius:2px;animation:fsFall 1.9s linear forwards}
@keyframes fsFall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(460px) rotate(540deg);opacity:0}}

/* 📅 بودجه‌بندیِ رسمی — جدولِ مهدآموز */
.bud-head2{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:.7rem}
.bud-tabs{display:flex;gap:6px;flex-wrap:wrap}
.bud-gtab{border:none;background:rgba(var(--p-rgb),.1);color:var(--text);font-family:inherit;font-weight:700;font-size:.82rem;padding:8px 14px;border-radius:20px;cursor:pointer}
.bud-gtab.on{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff}
.bud-print{border:none;background:rgba(var(--p-rgb),.12);color:var(--p);font-family:inherit;font-weight:800;font-size:.82rem;padding:8px 16px;border-radius:20px;cursor:pointer}
.bud-title{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-weight:800;font-size:.92rem;text-align:center;padding:11px 12px;border-radius:14px 14px 0 0;font-family:'Lalezar','Estedad',sans-serif}
.bud-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 14px 14px;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
.bud-tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:760px;font-size:.72rem;background:var(--card)}
.bud-tbl th,.bud-tbl td{border:1px solid var(--border);text-align:center;padding:5px 4px;white-space:nowrap}
.bud-subj-h,.bud-term{background:rgba(var(--p-rgb),.10);color:var(--text);font-weight:800}
.bud-term.t1{background:rgba(var(--p-rgb),.16);color:var(--p)}
.bud-term.t2{background:rgba(14,165,164,.14);color:#0c8f8e}
.bud-m{font-weight:800;font-size:.8rem}
.bud-m.c-y{background:rgba(var(--p-rgb),.22);color:var(--text)}
.bud-m.c-b{background:rgba(14,165,164,.2);color:#0c8f8e}
.bud-m.c-g{background:rgba(30,185,128,.2);color:#1b9e66}
.bud-half{background:var(--bg3);color:var(--text3);font-weight:700;font-size:.62rem}
.bud-subj{background:rgba(var(--p-rgb),.10);color:var(--text);font-weight:800;font-size:.78rem;white-space:nowrap;position:sticky;right:0;z-index:1}
.bud-c{color:var(--text);font-weight:600;position:relative;transition:background .15s}
.bud-c bdi{unicode-bidi:isolate}
.bud-c.tap{cursor:pointer}
.bud-c.tap:hover{background:rgba(30,185,128,.12)}
.bud-c.taught{background:rgba(30,185,128,.22);color:#12805a;font-weight:800}
.bud-c.overdue{background:rgba(232,137,12,.2);color:#b56a08;font-weight:800}
.bud-c.overdue:hover{background:rgba(232,137,12,.32)}
.bud-live{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;background:var(--card);border-radius:0;padding:9px 13px;font-size:.82rem;box-shadow:0 2px 8px rgba(var(--p-rgb),.06)}
.bud-live-d{font-weight:800;color:var(--text)}
.bud-live-s{font-weight:800;padding:3px 12px;border-radius:20px}
.bud-live-s.ahead{background:rgba(30,185,128,.15);color:#1b9e66}
.bud-live-s.mid{background:rgba(232,137,12,.15);color:#c47510}
.bud-live-s.behind{background:rgba(226,60,98,.13);color:#e23c62}
.bud-live-s.ontrack,.bud-live-s.summer{background:rgba(var(--p-rgb),.12);color:var(--p)}
.bud-tick{position:absolute;top:1px;left:3px;font-size:.6rem;color:#1b9e66;font-weight:900}
.bud-c.rev{background:rgba(255,209,102,.18);font-weight:800;color:#b8791b}
.bud-c.emp{background:var(--bg3)}
.bud-nowruz{background:rgba(30,185,128,.28);color:#12805a;font-weight:800;padding:0!important;width:26px}
.bud-nowruz span{writing-mode:vertical-rl;text-orientation:mixed;display:inline-block;white-space:nowrap;font-size:.74rem;letter-spacing:1px}
.bud-note{font-size:.78rem;color:var(--text3);line-height:1.7;margin-top:.8rem;background:var(--card);border-radius:12px;padding:10px 13px}
/* چاپِ بودجه */
.budp-sheet{background:#fff;color:#111;border-radius:16px;padding:20px 16px;max-width:1000px;margin:0 auto}
.budp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid #eee;padding-bottom:12px;margin-bottom:14px}
.budp-head h2{margin:0;font-size:1.2rem;font-weight:800;color:#111}
.budp-sub{font-size:.82rem;color:#666;margin-top:4px}
.bud-tbl.print{min-width:0;width:100%;font-size:.64rem}
.bud-tbl.print .bud-subj{position:static;background:#f6f6f6}
.bud-tbl.print th,.bud-tbl.print td{border-color:#ccc;color:#111}

/* ───────── جعبه‌ابزارِ معلم — گریدِ هم‌اندازه ───────── */
.tt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
@media(min-width:560px){ .tt-grid{grid-template-columns:repeat(4,1fr)} }
.tt-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  border:none;border-radius:18px;background:var(--card);box-shadow:0 6px 18px rgba(var(--p-rgb),.09);
  cursor:pointer;padding:16px 8px;min-height:96px;font-family:inherit;transition:transform .18s,box-shadow .2s}
.tt-tool:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(var(--p-rgb),.16)}
.tt-tool-e{font-size:1.7rem;line-height:1}
.tt-tool-l{font-size:.76rem;font-weight:700;color:var(--text);text-align:center;line-height:1.35}
.tt-viewhead{display:flex;align-items:center;gap:10px;margin-bottom:1rem}
.tt-viewhead h2{font-size:1.1rem;color:var(--text);font-family:'Lalezar','Estedad',sans-serif;margin:0}

/* عکسِ تکلیف */
.tt-imgbtn{display:inline-flex;align-items:center;gap:6px;background:rgba(var(--p-rgb),.1);color:var(--p);border-radius:11px;padding:9px 14px;font-size:.82rem;font-weight:700;cursor:pointer;margin:.5rem 0}
.tt-imgprev{margin-bottom:.5rem}
.tt-imgprev img{max-width:100%;border-radius:12px;display:block;margin-bottom:6px}
.tt-hw-img,.shw-img{max-width:100%;border-radius:12px;margin-top:8px;cursor:zoom-in;display:block}
.tt-imgov{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.tt-imgov img{max-width:100%;max-height:100%;border-radius:12px}
.shw-item{background:var(--card);border-radius:16px;padding:14px;margin-bottom:11px;box-shadow:0 6px 18px rgba(var(--p-rgb),.08)}
.shw-t{font-size:.95rem;font-weight:800;color:var(--text)}
.shw-d{font-size:.85rem;color:var(--text2);line-height:1.8;margin-top:5px}
.shw-f{font-size:.74rem;color:var(--text3);margin-top:8px}

/* نمراتِ درس‌ها در پنلِ والدین */
.pp-grades{display:flex;flex-direction:column;gap:9px}
.pp-grow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pp-gsubj{font-size:.82rem;font-weight:700;color:var(--text);width:70px;flex:none}
.pp-gvals{display:flex;gap:5px;flex-wrap:wrap;flex:1}
.pp-gchip{font-size:.78rem;font-weight:800;border-radius:8px;padding:4px 10px;min-width:30px;text-align:center}
.pp-gdates{flex-basis:100%;margin-inline-start:80px;font-size:.66rem;color:var(--muted);line-height:1.5}
/* نمراتِ والدین — هر نمره با نام و تاریخِ واضح */
.pp-gsub{margin-bottom:14px}
.pp-gsub:last-child{margin-bottom:0}
.pp-gsub-h{font-size:.86rem;font-weight:800;color:var(--text);margin-bottom:7px;padding-inline-start:4px;border-inline-start:3px solid var(--p);line-height:1.4}
.pp-gr{display:flex;align-items:center;gap:10px;background:var(--bg3);border-radius:12px;padding:9px 12px;margin-bottom:6px}
.pp-gr:last-child{margin-bottom:0}
.pp-gr-nm{flex:1;min-width:0;font-size:.82rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-gr-dt{flex:none;font-size:.72rem;color:var(--muted);font-weight:600;white-space:nowrap}
.pp-gr-v{flex:none;font-size:.85rem;font-weight:800;border-radius:9px;padding:5px 11px;min-width:38px;text-align:center}
@media(max-width:400px){ .pp-gr{flex-wrap:wrap;gap:5px 10px} .pp-gr-nm{flex-basis:100%} }

/* ── هیروِ داشبوردِ معلم (سلام + کد + تاریخ + اشتراک + دنیز) ── */
.tea-hero2{display:flex;align-items:stretch;justify-content:space-between;gap:10px;background:linear-gradient(135deg,#2b2e6e,#6C63FF);
  border-radius:22px;padding:16px 18px;margin-bottom:1rem;box-shadow:0 12px 30px rgba(108,99,255,.28);color:#fff;position:relative;overflow:hidden}
/* ستونِ راست: سلام (بالای داینو) → داینو → اشتراک */
.tea-hero-main{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex:none}
.tea-hero-greet{font-size:1.02rem;font-weight:900;color:#fff;font-family:'Lalezar','Estedad',sans-serif;white-space:nowrap}
.tea-hero-dinowrap{position:relative;flex:none;display:flex;align-items:center;justify-content:center}
.tea-hero-mascot{width:72px;height:72px;object-fit:contain;flex:none;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}
.tea-voice-btn{position:absolute;bottom:-4px;inset-inline-start:-8px;width:34px;height:34px;border-radius:50%;border:2px solid #fff;
  background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.28);transition:transform .15s}
.tea-voice-btn:hover{transform:scale(1.1)}
.tea-voice-btn:active{transform:scale(.92)}
.tea-voice-btn.listening{background:linear-gradient(135deg,#FF4F7B,#FF8FA3);animation:voicePulse 1.1s ease-in-out infinite}
/* ستونِ چپ: تاریخ (روبروی سلام) + کدِ کلاس */
.tea-hero-side{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.5rem;min-width:0;flex:1}
.tea-hero-date{font-size:.8rem;color:rgba(255,255,255,.92);font-weight:700}
.tea-hero-code{cursor:pointer;font-size:.8rem}
.tea-hero-code .sd-copy{font-size:.6rem;padding:2px 7px}
.tea-hero2 .tea-sub{background:rgba(255,255,255,.16);color:#fff;border-radius:50px;padding:3px 11px;font-size:.7rem;font-weight:700;text-align:center}
.tea-hero2 .tea-sub.warn{background:rgba(255,209,102,.28);color:#fff}
@media(max-width:400px){ .tea-hero-mascot{width:60px;height:60px} .tea-hero-greet{font-size:.92rem} }
/* ── تقویمِ ماه + چک‌لیست (کنارِ هم) ── */
.tea-caltodo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1rem;align-items:start}
.tea-cal,.tea-todo{background:var(--card);border-radius:16px;padding:10px 11px;box-shadow:0 6px 16px rgba(var(--p-rgb),.07);min-width:0;overflow:hidden}
.tea-cal{cursor:pointer}
.tea-cal:hover{box-shadow:0 8px 20px rgba(var(--p-rgb),.14)}
.tea-cal-h{font-size:.78rem;font-weight:800;color:var(--text2);text-align:center;margin-bottom:.4rem}
.tea-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.tea-cal-wd{font-size:.56rem;color:var(--text3);text-align:center;font-weight:700;padding-bottom:2px}
.tea-cal-d{font-size:.64rem;text-align:center;color:var(--text2);padding:3px 0;border-radius:6px;font-weight:600}
.tea-cal-d.empty{visibility:hidden}
.tea-cal-d.today{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-weight:800}
.tea-todo-h{font-size:.78rem;font-weight:800;color:var(--text2);margin-bottom:.4rem}
.tea-todo-add{display:flex;gap:5px;margin-bottom:.5rem}
.tea-todo-add input{flex:1;min-width:0;border:1.5px solid var(--border);border-radius:9px;padding:6px 9px;font-family:inherit;font-size:.74rem;background:var(--bg3);color:var(--text)}
.tea-todo-add button{border:none;background:var(--p);color:#fff;border-radius:9px;width:30px;font-size:1.1rem;cursor:pointer;flex:none}
.tea-todo-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}
.tea-todo-empty{font-size:.72rem;color:var(--text3);text-align:center;padding:.5rem 0}
.tea-todo-item{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text);background:var(--bg3);border-radius:8px;padding:5px 7px;cursor:pointer}
.tea-todo-item span{flex:1;min-width:0;word-break:break-word}
.tea-todo-item.done span{text-decoration:line-through;color:var(--text3)}
.tea-todo-item input{flex:none;width:15px;height:15px;accent-color:var(--p)}
.tea-todo-del{border:none;background:none;color:var(--text3);cursor:pointer;font-size:.72rem;flex:none}
.tea-todo-del:hover{color:var(--r)}
/* ── مربع‌های کوچکِ ۴تایی در هر ردیف ── */
.tea-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:1rem}
.tea-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;
  background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:11px 5px 9px;cursor:pointer;
  font-family:inherit;transition:transform .12s,box-shadow .12s;box-shadow:0 4px 12px rgba(var(--p-rgb),.06)}
.tea-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(var(--p-rgb),.12)}
.tea-card:active{transform:scale(.96)}
.tea-card-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.13)}
.tea-card-ico svg{width:22px;height:22px}
.tea-card-t{font-size:.7rem;font-weight:700;color:var(--text);text-align:center;line-height:1.3}
@media(max-width:360px){ .tea-card-t{font-size:.64rem} .tea-card-ico{width:36px;height:36px} }
/* کارتِ قفل (پنلِ فعلی بازش نکرده) */
.tea-card{position:relative}
.tea-card.locked{opacity:.62;filter:grayscale(.55)}
.tea-card.locked .tea-card-ico{box-shadow:none}
.tea-card.locked:hover{transform:translateY(-2px);opacity:.8}
.tea-card-lock{position:absolute;top:6px;inset-inline-start:6px;font-size:.82rem;background:var(--card);border:1px solid var(--border);border-radius:50px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.12)}
/* مودالِ دعوت به ارتقا */
.sd-upsell{position:fixed;inset:0;z-index:9999;background:rgba(20,20,45,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s}
.sd-upsell.on{opacity:1}
.sd-upsell-box{position:relative;background:var(--card);border-radius:22px;max-width:360px;width:100%;padding:26px 22px 20px;text-align:center;box-shadow:0 24px 60px rgba(20,20,45,.35);transform:translateY(10px) scale(.97);transition:transform .22s}
.sd-upsell.on .sd-upsell-box{transform:none}
.sd-upsell-x{position:absolute;top:12px;inset-inline-end:12px;border:none;background:var(--bg3);color:var(--text2);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.9rem;font-family:inherit}
.sd-upsell-ico{font-size:40px;margin-bottom:8px}
.sd-upsell-t{font-size:1.15rem;font-weight:800;color:var(--text);margin-bottom:6px}
.sd-upsell-d{font-size:.9rem;color:var(--text2);line-height:1.8;margin-bottom:18px}
.sd-upsell-btns{display:flex;flex-direction:column;gap:9px}
.sd-upsell-go{font-family:inherit;font-weight:800;font-size:.95rem;color:#fff;background:linear-gradient(135deg,var(--p),var(--p2));border:none;border-radius:50px;padding:12px;cursor:pointer;box-shadow:0 6px 16px rgba(var(--p-rgb),.32)}
.sd-upsell-cancel{font-family:inherit;font-weight:700;font-size:.88rem;color:var(--text2);background:transparent;border:none;cursor:pointer;padding:6px}
/* هیروِ معلمِ قدیمی */
.sd-hero-tea{min-height:auto;padding:22px 20px;align-items:center;justify-content:center}
.sd-hero-tea h3{margin:.1rem 0 .6rem}
/* هیروِ جمع‌وجورِ معلم */
.sd-hero-mini{padding:13px 16px;border-radius:18px;margin-bottom:.9rem}
.sd-hero-mini h3{font-size:1.12rem;margin:.05rem 0 .45rem}
.sd-hero-mini .sd-code-c{font-size:.82rem}
.sd-hero-mini .sd-copy{font-size:.62rem;padding:2px 8px}
/* کارت‌های آمار جمع‌وجورتر + رنگِ حضور */
.sd-stats3 .sd-stat{padding:11px 6px 10px;border-radius:16px}
.sd-stats3 .sd-stat-v{font-size:1.28rem}
.sd-stats3 .sd-stat-l{font-size:.64rem}
.sd-stat.att-g .sd-stat-v,.sd-stat.att-g .sd-stat-ico{color:#1eb980}
.sd-stat.att-o .sd-stat-v,.sd-stat.att-o .sd-stat-ico{color:#e8890c}
.sd-stat.att-r .sd-stat-v,.sd-stat.att-r .sd-stat-ico{color:#e23c62}
.sd-stat.att-g{background:linear-gradient(160deg,rgba(30,185,128,.12),var(--card))}
.sd-stat.att-o{background:linear-gradient(160deg,rgba(232,137,12,.13),var(--card))}
.sd-stat.att-r{background:linear-gradient(160deg,rgba(226,60,98,.13),var(--card))}
.sd-code-c{margin-inline-start:0;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}
.sd-copy{font-size:.68rem;background:rgba(255,255,255,.22);border-radius:20px;padding:3px 10px;font-weight:700}
.tea-sub{text-align:center;font-size:.8rem;font-weight:700;color:var(--text3);background:var(--card);border-radius:14px;padding:11px;margin-top:.4rem;box-shadow:0 4px 13px rgba(var(--p-rgb),.07)}
.tea-sub.warn{color:#e23c62;background:rgba(255,79,123,.09)}

/* overlایِ کارنامه‌ی چاپی — از هر بخشی باز می‌شود */
.kn-overlay{position:fixed;inset:0;z-index:9998;background:var(--bg);overflow:auto;display:none;padding:16px 12px 40px}
.kn-overlay-inner{max-width:800px;margin:0 auto}
@media print{
  body{background:#fff!important}
  body>*{display:none!important}
  #kn-overlay,#gb-print{display:block!important;position:static!important;background:#fff!important;overflow:visible!important;padding:0!important}
  #kn-overlay .kn-noprint,#gb-print .kn-noprint{display:none!important}
  .fbar,.sd-bell,.sidebar{display:none!important}
}
/* دفترِ نمره — برگه‌ی چاپ */
.gb-printbtn{background:rgba(var(--p-rgb),.12)!important;color:var(--p)!important}
.gbp-sheet{background:#fff;color:#111;border-radius:16px;padding:22px 20px;max-width:900px;margin:0 auto}
.gbp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid #eee;padding-bottom:12px;margin-bottom:14px}
.gbp-head h2{margin:0;font-size:1.3rem;font-weight:800;color:#111}
.gbp-sub{font-size:.85rem;color:#666;margin-top:4px}
.gbp-x{flex:none;width:38px;height:38px;border:none;border-radius:10px;background:#f2f2f2;color:#333;font-size:1.1rem;cursor:pointer}
.gbp-tbl{width:100%;border-collapse:collapse;font-size:.86rem}
.gbp-tbl th,.gbp-tbl td{border:1px solid #ddd;padding:7px 8px;text-align:center;color:#111}
.gbp-tbl thead th{background:#f6f6f6;font-weight:800}
.gbp-tbl .gbp-nm{text-align:right;font-weight:700;white-space:nowrap}
.gbp-tbl .gbp-avg{font-weight:800;background:#fafafa}
.gbp-tbl tbody tr:nth-child(even){background:#fbfbfb}
.gbp-foot{text-align:center;margin-top:18px}
.gbp-foot button{border:none;background:var(--p);color:#fff;font-family:inherit;font-weight:700;font-size:.9rem;padding:11px 26px;border-radius:12px;cursor:pointer}

/* ── پنلِ والدین (بازطراحیِ کامل) ── */
.pp-titlebar{margin:2px 2px 16px}
.pp-titlebar h2{font-size:1.32rem;font-weight:800;color:var(--text);margin:0}
.pp-dim{color:var(--muted);font-size:.9rem;padding:6px 2px}
.pt-bars{display:flex;flex-direction:column;gap:11px}
.pt-row{display:flex;align-items:center;gap:10px}
.pt-subj{flex:none;width:82px;font-size:.86rem;font-weight:700;color:var(--text)}
.pt-track{flex:1;height:12px;border-radius:8px;background:rgba(var(--p-rgb),.10);overflow:hidden}
.pt-fill{height:100%;border-radius:8px;transition:width .5s ease}
.pt-val{flex:none;width:26px;text-align:center;font-weight:800;font-size:.9rem}
.pp-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1.1rem}
.pp-two .pp-card{margin-bottom:0}
.pp-half{display:flex;flex-direction:column}
.pp-mini-item{font-size:.85rem;color:var(--text);padding:8px 10px;background:rgba(var(--p-rgb),.06);border-radius:12px;margin-bottom:7px;line-height:1.5}
.pp-mini-item:last-child{margin-bottom:0}
.pp-due{color:var(--r);font-size:.76rem;font-weight:700}
.pp-mini-empty{color:var(--muted);font-size:.85rem;padding:10px 2px}
.pp-mini-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pp-open-btn{width:100%;border:none;background:rgba(var(--p-rgb),.10);color:var(--p);font-family:inherit;font-weight:800;font-size:.9rem;padding:13px;border-radius:14px;cursor:pointer;text-align:center;transition:background .2s}
.pp-open-btn:hover{background:rgba(var(--p-rgb),.18)}
.pp-open-btn.warn{background:rgba(255,101,132,.12);color:var(--r)}
.pp-open-btn.warn:hover{background:rgba(255,101,132,.2)}
/* overlای */
.pp-ov{display:none;position:fixed;inset:0;z-index:9000;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}
.pp-ov-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);box-shadow:0 4px 16px rgba(var(--p-rgb),.08)}
.pp-ov-head h3{margin:0;font-size:1.1rem;font-weight:800;color:var(--text)}
.pp-ov-x{flex:none;width:40px;height:40px;border:none;border-radius:12px;background:rgba(var(--p-rgb),.10);color:var(--p);font-size:1.3rem;font-weight:800;cursor:pointer}
.pp-ov-body{padding:16px 14px 44px;max-width:760px;margin:0 auto}
/* چت */
.pp-ov-head.chat{background:linear-gradient(135deg,var(--p),rgba(var(--p-rgb),.78))}
.pp-ov-head.chat h3{color:#fff}
.pp-ov-head.chat .pp-ov-x{background:rgba(255,255,255,.22);color:#fff}
.chat-body{position:absolute;top:68px;bottom:74px;left:0;right:0;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px}
.chat-empty{color:var(--muted);text-align:center;margin:auto;font-size:.9rem}
.chat-b{max-width:76%;padding:9px 13px;border-radius:16px;font-size:.9rem;line-height:1.6;position:relative;word-break:break-word}
.chat-b.them{align-self:flex-start;background:var(--card);color:var(--text);border-bottom-left-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.chat-b.me{align-self:flex-end;background:var(--p);color:#fff;border-bottom-right-radius:5px}
.chat-txt{}
.chat-t{font-size:.66rem;opacity:.6;margin-top:3px;text-align:left}
.chat-input{position:absolute;bottom:0;left:0;right:0;display:flex;gap:8px;padding:12px 14px;background:var(--card);box-shadow:0 -4px 16px rgba(0,0,0,.05)}
.chat-input textarea{flex:1;border:1.5px solid rgba(var(--p-rgb),.2);border-radius:16px;padding:10px 14px;font-family:inherit;font-size:.9rem;resize:none;max-height:100px;background:var(--bg);color:var(--text)}
.chat-input button{flex:none;width:46px;height:46px;border:none;border-radius:50%;background:var(--p);color:#fff;font-size:1.2rem;cursor:pointer}
.chat-priv{position:absolute;top:56px;left:0;right:0;z-index:1;text-align:center;font-size:.72rem;font-weight:700;color:var(--p);background:rgba(var(--p-rgb),.1);padding:6px 10px}
.chat-body{top:88px!important}
@media(max-width:560px){.pp-two{grid-template-columns:1fr}}
/* 💬 پیام‌رسانِ معلم (تلگرام‌وار) */
.msgr-note{font-size:.76rem;color:var(--text3);background:rgba(var(--p-rgb),.07);border-radius:12px;padding:9px 12px;margin-bottom:.8rem;line-height:1.6}
.msgr-list{display:flex;flex-direction:column;gap:2px}
.msgr-row{display:flex;align-items:center;gap:11px;width:100%;border:none;background:var(--card);cursor:pointer;padding:11px 12px;border-radius:14px;text-align:right;font-family:inherit;transition:background .12s}
.msgr-row:hover{background:rgba(var(--p-rgb),.06)}
.msgr-av{flex:none;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center}
.msgr-av.sm{width:32px;height:32px;font-size:.9rem}
.msgr-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.msgr-mid b{font-size:.92rem;color:var(--text)}
.msgr-prev{font-size:.78rem;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msgr-time{flex:none;font-size:.68rem;color:var(--text3);display:flex;flex-direction:column;align-items:center;gap:4px}
.msgr-dot{width:9px;height:9px;border-radius:50%;background:var(--g);display:inline-block}
.msgr-row.unread b{font-weight:900}.msgr-row.unread .msgr-prev{color:var(--text);font-weight:700}
.msgr-chat{display:flex;flex-direction:column;height:calc(100vh - 190px);min-height:360px}
.msgr-chead{display:flex;align-items:center;gap:9px;padding:6px 2px 10px;border-bottom:1px solid var(--border)}
.msgr-chead b{font-size:.95rem}
.msgr-priv{margin-inline-start:auto;font-size:.66rem;color:var(--p);font-weight:700}
.msgr-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:12px 2px}
.msgr-empty{margin:auto;color:var(--text3);font-size:.85rem;text-align:center}
.msgr-b{max-width:78%;padding:8px 12px;border-radius:15px;font-size:.88rem;line-height:1.6;word-break:break-word}
.msgr-b.them{align-self:flex-start;background:var(--card);color:var(--text);border-bottom-left-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.06)}
.msgr-b.me{align-self:flex-end;background:var(--p);color:#fff;border-bottom-right-radius:4px}
.msgr-bt{font-size:.62rem;opacity:.6;margin-top:3px;text-align:left}
.msgr-input{display:flex;gap:8px;padding-top:9px;border-top:1px solid var(--border)}
.msgr-input textarea{flex:1;border:1.5px solid rgba(var(--p-rgb),.2);border-radius:16px;padding:9px 13px;font-family:inherit;font-size:.9rem;resize:none;max-height:90px;background:var(--bg);color:var(--text)}
.msgr-input button{flex:none;width:44px;height:44px;border:none;border-radius:50%;background:var(--p);color:#fff;font-size:1.15rem;cursor:pointer}
/* 📅 سازنده‌ی برنامه‌ی هفتگی */
.sch-pal-h{font-size:.8rem;color:var(--text3);line-height:1.7;margin-bottom:.6rem}
.sch-pal{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.8rem}
.sch-chip{border:1.5px solid var(--sc,#888);background:transparent;color:var(--sc,#555);font-family:inherit;font-weight:700;font-size:.8rem;padding:6px 12px;border-radius:20px;cursor:pointer;transition:.12s}
.sch-chip.on{background:var(--sc,#888);color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.sch-chip.erase{border-color:#999;color:#777}
.sch-chip.erase.on{background:#777;color:#fff}
.sch-tools{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:.9rem}
.sch-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.sch-tbl{border-collapse:separate;border-spacing:0;width:100%;min-width:520px;background:var(--card);font-size:.8rem}
.sch-tbl th,.sch-tbl td{border:1px solid var(--border);padding:9px 5px;text-align:center}
.sch-tbl thead th{background:rgba(var(--p-rgb),.1);color:var(--p);font-weight:800;font-size:.75rem}
.sch-corner{background:rgba(var(--p-rgb),.14)!important}
.sch-day{background:rgba(var(--p-rgb),.08);font-weight:800;color:var(--text);white-space:nowrap}
.sch-cell{cursor:pointer;font-weight:700;color:var(--text3);min-width:66px;height:40px;transition:background .12s}
.sch-cell:hover{background:rgba(var(--p-rgb),.06)}
.sch-cell.has{font-weight:800}
/* کارنامه‌ی ماهانه — برگه */
.pp-mr-sheet{background:rgba(var(--p-rgb),.05);border-radius:16px;padding:14px;margin:12px 0}
.pp-mr-sec{font-weight:800;color:var(--p);font-size:.88rem;margin:2px 0 8px}
.pp-mr-tbl{width:100%;border-collapse:collapse;margin-bottom:12px}
.pp-mr-tbl th{text-align:right;font-size:.84rem;font-weight:700;color:var(--text);padding:6px 4px;white-space:nowrap;vertical-align:top;width:88px}
.pp-mr-tbl td{padding:6px 4px;border-bottom:1px solid rgba(var(--p-rgb),.08)}
.pp-mr-tbl tr:last-child td{border-bottom:none}
.pp-mr-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.pp-mr-box{background:var(--card);border-radius:14px;padding:11px 8px;text-align:center;display:flex;flex-direction:column;gap:2px}
.pp-mr-box .pp-mr-k{font-size:.74rem;color:var(--muted);font-weight:700}
.pp-mr-box b{font-size:1.35rem;font-weight:800;color:var(--text)}
.pp-mr-box small{font-size:.68rem;color:var(--muted)}
.pp-mr-note{margin-top:12px;background:var(--card);border-radius:12px;padding:10px 12px;font-size:.85rem;color:var(--text);line-height:1.6}
@media(max-width:480px){.pp-mr-grid{grid-template-columns:1fr}}

/* ═══════════════ 🎙️ دستیارِ صوتی ═══════════════ */
.voice-fab{position:fixed;bottom:18px;inset-inline-start:16px;z-index:9500;width:54px;height:54px;border-radius:50%;
  border:none;cursor:pointer;font-size:1.5rem;color:#fff;background:linear-gradient(135deg,#6C63FF,#8B7BE0);
  box-shadow:0 8px 22px rgba(108,99,255,.45);transition:transform .15s,box-shadow .2s}
.voice-fab:hover{transform:scale(1.06)}
.voice-fab:active{transform:scale(.94)}
.voice-fab.listening{background:linear-gradient(135deg,#FF4F7B,#FF8FA3);animation:voicePulse 1.1s ease-in-out infinite}
@keyframes voicePulse{0%,100%{box-shadow:0 0 0 0 rgba(255,79,123,.55)}50%{box-shadow:0 0 0 14px rgba(255,79,123,0)}}
#voice-panel{position:fixed;inset:0;z-index:9600;display:none;align-items:flex-end;justify-content:center;
  background:rgba(10,11,30,.45);backdrop-filter:blur(3px)}
.voice-panel-box{background:var(--card);width:100%;max-width:480px;border-radius:22px 22px 0 0;padding:20px 18px 26px;
  text-align:center;position:relative;box-shadow:0 -10px 40px rgba(0,0,0,.25);animation:voiceUp .25s ease}
@keyframes voiceUp{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
.voice-close{position:absolute;top:12px;inset-inline-end:14px;border:none;background:var(--bg3);color:var(--text2);
  width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer}
.voice-mic-anim{font-size:2.6rem;margin:.3rem 0 .5rem}
.voice-status{font-size:.95rem;font-weight:800;color:var(--text);margin-bottom:.4rem}
.voice-status.listening{color:var(--p)}
.voice-status.ok{color:#0e9f6e}
.voice-status.warn{color:#e8863c}
.voice-live{min-height:1.4rem;font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:.5rem}
.voice-hint{font-size:.72rem;color:var(--text3);line-height:1.9;margin-bottom:.9rem}
.voice-again{border:none;background:linear-gradient(135deg,#6C63FF,#8B7BE0);color:#fff;font-family:inherit;font-weight:800;
  font-size:.95rem;border-radius:50px;padding:11px 26px;cursor:pointer}
.voice-title{font-size:1rem;font-weight:900;color:var(--text);font-family:'Lalezar','Estedad',sans-serif;margin-bottom:.3rem}
.voice-examples{background:var(--bg3);border-radius:14px;padding:10px 12px;margin-bottom:.9rem;text-align:right;width:100%}
.voice-ex-h{font-size:.72rem;color:var(--text3);font-weight:700;margin-bottom:.4rem}
.voice-ex{font-size:.84rem;color:var(--text2);font-weight:600;padding:3px 0;line-height:1.7}
/* دکمهٔ صوتیِ درون‌بخشی */
.voice-mini{display:inline-flex;align-items:center;gap:5px;border:none;cursor:pointer;font-family:inherit;
  background:linear-gradient(135deg,#6C63FF,#8B7BE0);color:#fff;border-radius:11px;padding:8px 12px;font-size:.8rem;font-weight:800;flex:none}
.voice-mini:hover{filter:brightness(1.07)}
.voice-mini.listening{background:linear-gradient(135deg,#FF4F7B,#FF8FA3);animation:voicePulse 1.1s ease-in-out infinite}
.voice-mini .voice-mini-ic{font-size:1rem}
.att-toolbar .voice-mini{padding:7px 11px;font-size:.76rem}

/* ═══════════════ 🧮 استودیوی ریاضی ═══════════════ */
.teach-tools-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1rem}
@media(max-width:900px){ .teach-tools-row{grid-template-columns:1fr 1fr} }
@media(max-width:640px){ .teach-tools-row{grid-template-columns:1fr} }
.teach-tools-row .ms-launch{margin:0;height:100%}
.ms-launch{display:flex;align-items:center;gap:12px;cursor:pointer;margin:0 0 1rem;
  background:linear-gradient(135deg,#0EA5A4,#2563EB);color:#fff;border-radius:18px;padding:14px 16px;
  box-shadow:0 10px 26px rgba(37,99,235,.28);transition:transform .15s}
.ms-launch.circuit{background:linear-gradient(135deg,#F59E0B,#EA580C);box-shadow:0 10px 26px rgba(234,88,12,.28)}
.ms-launch.board{background:linear-gradient(135deg,#7C5CE0,#5B3FD0);box-shadow:0 10px 26px rgba(92,63,208,.28)}
.ms-launch:hover{transform:translateY(-2px)}
.ms-launch:active{transform:scale(.98)}
.ms-launch-ico{font-size:2rem;flex:none}
.ms-launch-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ms-launch-body b{font-size:1.02rem;font-weight:900;font-family:'Lalezar','Estedad',sans-serif}
.ms-launch-body span{font-size:.74rem;opacity:.92;line-height:1.5}
.ms-launch-go{font-size:.8rem;font-weight:800;white-space:nowrap;flex:none}
#ms-overlay{display:none;position:fixed;inset:0;z-index:9700;background:#080b16}
.ms-frame{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
/* ✕ کوچک و گوشه‌ای — نباید دکمه‌های خودِ ابزار را بپوشاند */
.ms-close{position:absolute;top:6px;inset-inline-end:6px;z-index:2;border:none;cursor:pointer;
  background:rgba(0,0,0,.42);color:#fff;font-family:inherit;font-weight:700;font-size:.8rem;
  width:28px;height:28px;line-height:1;border-radius:50%;padding:0;
  display:grid;place-items:center;backdrop-filter:blur(6px);opacity:.5;transition:.15s}
.ms-close:hover{opacity:1;background:#EE476B}
@media(max-width:640px){ .ms-close{width:24px;height:24px;font-size:.72rem;top:4px;inset-inline-end:4px} }

/* 📱 دکمهٔ نصبِ اپ (PWA) */
.pwa-install-btn{position:fixed;bottom:18px;inset-inline-end:16px;z-index:9400;display:none;align-items:center;gap:6px;
  border:none;cursor:pointer;font-family:inherit;font-weight:800;font-size:.82rem;color:#fff;
  background:linear-gradient(135deg,#2b2e6e,#6C63FF);border-radius:50px;padding:10px 16px;
  box-shadow:0 10px 24px rgba(108,99,255,.4);animation:pwaPop .4s ease}
@keyframes pwaPop{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}

/* ✨ پالیشِ پریمیومِ صفحهٔ اول */
.lxs-badge{ letter-spacing:.3px; box-shadow:0 6px 18px rgba(0,0,0,.2); }
.lxs-btn{ transition:transform .18s, box-shadow .2s, background .2s, filter .2s; }
.lxs-btn-p{ box-shadow:0 14px 34px -12px rgba(47,158,147,.75); }
.lxs-btn-p:hover{ filter:brightness(1.06); box-shadow:0 18px 42px -12px rgba(47,158,147,.9); }
.lxs-scroll-hint{ animation:lxsBob 1.8s ease-in-out infinite; }
@keyframes lxsBob{ 0%,100%{ transform:translateY(0); opacity:.65 } 50%{ transform:translateY(6px); opacity:1 } }

/* ══════════ ✨ پرداختِ پریمیومِ یک‌دست (افزایشی و بی‌خطر، هماهنگِ تم) ══════════ */
.game-pick{ transition:transform .2s cubic-bezier(.22,.61,.36,1), box-shadow .22s ease; }
.game-pick:hover{ transform:translateY(-3px); box-shadow:0 16px 34px rgba(var(--p-rgb),.17); }
.tc-card{ transition:box-shadow .22s ease, transform .2s ease; }
.tc-card:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(var(--p-rgb),.14); }
.pp-card{ transition:transform .18s ease, box-shadow .2s ease; }
.pp-card:hover{ box-shadow:0 12px 28px rgba(var(--p-rgb),.12); }
.hub-card{ transition:transform .16s cubic-bezier(.22,.61,.36,1), box-shadow .2s ease; }
.hub-card:active{ transform:scale(.97); }
.btn-add,.tt-btn{ transition:transform .16s ease, box-shadow .2s ease, filter .2s ease; }
.btn-add:hover,.tt-btn:hover{ filter:brightness(1.04); }
.btn-add:active,.tt-btn:active{ transform:scale(.97); }
.tea-card{ box-shadow:0 5px 14px rgba(var(--p-rgb),.07); }
/* اسکرول‌بارِ ظریف و مدرن */
.gb-tablewrap::-webkit-scrollbar,.tt-list::-webkit-scrollbar,.tea-todo-list::-webkit-scrollbar{height:8px;width:8px}
.gb-tablewrap::-webkit-scrollbar-thumb,.tt-list::-webkit-scrollbar-thumb,.tea-todo-list::-webkit-scrollbar-thumb{background:rgba(var(--p-rgb),.28);border-radius:8px}
.gb-tablewrap::-webkit-scrollbar-thumb:hover{background:rgba(var(--p-rgb),.45)}

/* ═══════════ 📊 داشبوردِ آمارِ زندهٔ ادمین ═══════════ */
.ls-loading,.ls-err,.ls-dim{font-size:.9rem;color:var(--text3);padding:1rem;text-align:center}
.ls-err{color:var(--r)}
.ls-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:1rem}
.ls-card{background:var(--card);border-radius:16px;padding:14px 10px;text-align:center;box-shadow:0 6px 16px rgba(var(--p-rgb),.08);border-top:4px solid var(--lc,var(--p))}
.ls-card-e{font-size:1.5rem}
.ls-card-v{font-size:1.7rem;font-weight:900;color:var(--lc,var(--p));font-family:'Lalezar','Estedad',sans-serif;line-height:1.1;margin:.15rem 0}
.ls-card-l{font-size:.68rem;color:var(--text3);font-weight:700}
.ls-panel{background:var(--card);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 6px 16px rgba(var(--p-rgb),.07)}
.ls-panel-h{font-size:.9rem;font-weight:800;color:var(--text2);margin-bottom:.6rem}
.ls-row{display:flex;align-items:center;gap:10px;padding:5px 0}
.ls-row-nm{font-size:.82rem;color:var(--text);min-width:90px;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44%}
.ls-bar{flex:1;height:9px;background:var(--bg3);border-radius:50px;overflow:hidden}
.ls-bar-f{height:100%;background:linear-gradient(90deg,var(--p),var(--p2));border-radius:50px}
.ls-row-v{font-weight:800;color:var(--text2);font-size:.82rem;min-width:34px;text-align:left}
.ls-errrow{border-inline-start:3px solid var(--r);background:var(--r3);border-radius:8px;padding:7px 10px;margin-bottom:6px}
.ls-errmsg{font-size:.8rem;color:var(--text);font-weight:600;word-break:break-word}
.ls-errmeta{font-size:.66rem;color:var(--text3);margin-top:2px}
/* ── پنلِ بکاپ ── */
.ls-bk .ls-panel-h{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ls-bk-go{font-family:inherit;font-size:.78rem;font-weight:800;color:#fff;background:linear-gradient(90deg,var(--p),var(--p2));border:none;border-radius:50px;padding:7px 14px;cursor:pointer;box-shadow:0 4px 12px rgba(var(--p-rgb),.32);transition:transform .15s,box-shadow .15s}
.ls-bk-go:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--p-rgb),.42)}
.ls-bk-go:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.ls-bk-last{font-size:.78rem;color:var(--text2);margin-bottom:.5rem}
.ls-bk-rows{border-top:1px dashed var(--bg3);padding-top:.4rem;max-height:230px;overflow:auto}
/* ── پنلِ ادمین: مشخصاتِ کاربران ── */
.aui-search{width:100%;box-sizing:border-box;background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:11px 14px;font-family:inherit;font-size:.9rem;color:var(--text);margin-bottom:1rem}
.aui-search:focus{outline:none;border-color:var(--p)}
.aui-card{background:var(--card);border:1px solid var(--border);border-radius:14px;margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow)}
.aui-head{display:flex;align-items:center;gap:10px;padding:13px 15px;cursor:pointer;flex-wrap:wrap}
.aui-head:hover{background:var(--bg3)}
.aui-nm{font-weight:800;font-size:.98rem;color:var(--text)}
.aui-meta{font-size:.78rem;color:var(--text2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.aui-sub{font-weight:700;padding:1px 8px;border-radius:50px;background:var(--bg3);color:var(--text3)}
.aui-sub.ok{background:var(--g3);color:var(--g2)} .aui-sub.no{background:var(--r3);color:var(--r)}
.aui-exp{margin-inline-start:auto;color:var(--text3);font-size:1.1rem}
.aui-body{border-top:1px solid var(--border);padding:12px 14px;background:var(--bg)}
.aui-loading,.aui-empty{font-size:.85rem;color:var(--text3);padding:.5rem}
.aui-tblwrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}
.aui-tbl{border-collapse:collapse;width:100%;min-width:560px;font-size:.82rem}
.aui-tbl th{background:var(--card2);color:var(--text2);font-weight:700;padding:9px 11px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}
.aui-tbl td{padding:9px 11px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}
.aui-tbl tbody tr:last-child td{border-bottom:none}
.aui-tbl tbody tr:hover td{background:var(--bg3)}
.aui-stu{font-weight:800;white-space:nowrap}
.aui-count{font-size:.78rem;color:var(--text3);font-weight:700;margin-top:8px}
/* ── مدرسه (مدیر/معاون) ── */
.sch-row{display:flex;gap:.6rem;flex-wrap:wrap}
.sch-row>.fg{flex:1;min-width:130px}
.sch-form textarea{width:100%;box-sizing:border-box;background:var(--card2);border:1.5px solid var(--border);border-radius:11px;padding:10px 12px;font-family:inherit;font-size:.88rem;color:var(--text);resize:vertical}
.sch-code-card{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;text-align:center;padding:1.1rem}
.sch-code-lbl{font-size:.82rem;opacity:.92;margin-bottom:6px}
.sch-code{font-size:1.5rem;font-weight:900;letter-spacing:.1em;cursor:pointer;font-family:'Estedad',sans-serif}
.sch-info{display:flex;flex-direction:column;gap:5px;font-size:.86rem;color:var(--text)}
.sch-info b{color:var(--text2)}
.sch-staff{display:flex;gap:6px;flex-wrap:wrap}
.sch-chip{font-size:.78rem;font-weight:700;background:var(--bg3);color:var(--text2);padding:5px 11px;border-radius:50px}
.sch-oly{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--card2);border:1px solid var(--border);border-radius:12px;padding:11px 13px;margin-bottom:8px}
.sch-oly-t{font-weight:800;font-size:.92rem;color:var(--text)}
.sch-oly-subj{font-size:.7rem;font-weight:700;background:var(--y3);color:var(--y);padding:1px 9px;border-radius:50px;margin-inline-start:6px}
.sch-oly-m{font-size:.76rem;color:var(--text3)}
.sch-oly>button{margin-inline-start:auto}
.sch-empty{font-size:.83rem;color:var(--text3);padding:.5rem}

/* ── «مرا به خاطر بسپار» در صفحهٔ ورود ── */
.remember-row{display:flex;align-items:center;gap:8px;margin:.2rem 0 .9rem;cursor:pointer;font-size:.82rem;color:var(--text2);user-select:none}
.remember-row input{width:18px;height:18px;accent-color:var(--p);flex:none;cursor:pointer}

/* ══════════ کلاسِ آنلاین: ابزارها، تمام‌صفحه، دوربینِ خاموش ══════════ */
/* ⛶ و ✕ روی صحنه — گوشه‌ای و کوچک تا محتوا را نپوشانند */
.cm-stage-fs,.cm-stage-x{position:absolute;top:8px;z-index:6;width:32px;height:32px;border:none;cursor:pointer;
  border-radius:50%;background:rgba(15,23,42,.55);color:#fff;font-size:.9rem;line-height:1;padding:0;
  display:grid;place-items:center;backdrop-filter:blur(6px);opacity:.6;transition:.15s}
.cm-stage-fs{inset-inline-end:8px}
.cm-stage-x{inset-inline-end:46px}
.cm-stage-fs:hover,.cm-stage-x:hover{opacity:1;background:#4C6FFF}
.cm-stage-x:hover{background:#EE476B}
.cm-board-wrap{position:relative}
/* در تمام‌صفحه، قابِ ابزار باید کلِ صفحه را بگیرد */
.cm-board-wrap:fullscreen{background:var(--bg,#F4F6FB);padding:0}
.cm-board-wrap:fullscreen .cm-board-host{width:100%;height:100%}
.cm-board-wrap:-webkit-full-screen{background:var(--bg,#F4F6FB)}

/* انتخابگرِ ابزار */
.cm-pick-ov{position:fixed;inset:0;z-index:10050;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);
  display:grid;place-items:center;padding:14px}
.cm-pick{width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--card,#fff);border-radius:18px;
  padding:16px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.cm-pick-h{display:flex;align-items:center;gap:8px;font-size:1.02rem}
.cm-pick-x{margin-inline-start:auto;border:none;background:var(--bg2,#EEF1F8);color:var(--ink,#111827);
  width:30px;height:30px;border-radius:50%;cursor:pointer;font-weight:700}
.cm-pick-sub{color:var(--ink3,#6B7280);font-size:.82rem;margin:6px 0 12px}
.cm-pick-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.cm-pick-i{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:start;cursor:pointer;
  background:var(--bg2,#F4F6FB);border:1.5px solid transparent;border-radius:14px;padding:12px;
  font-family:inherit;color:var(--ink,#111827);transition:.15s}
.cm-pick-i:hover{border-color:#4C6FFF;transform:translateY(-2px)}
.cm-pick-ic{font-size:1.5rem}
.cm-pick-t{font-weight:800;font-size:.9rem}
.cm-pick-d{color:var(--ink3,#6B7280);font-size:.74rem}

/* دوربینِ خاموش → حرفِ اولِ اسم، نه قابِ سیاه */
.cm-tile.cm-cam-off video{opacity:0}
.cm-tile-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;background:linear-gradient(140deg,#2C3A5B,#1B2437);pointer-events:none}
.cm-tile-av{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;
  display:grid;place-items:center;font-size:1.35rem;font-weight:800}
.cm-tile-cam{color:rgba(255,255,255,.62);font-size:.7rem}

@media(max-width:640px){
  .cm-pick{padding:12px;border-radius:14px}
  .cm-pick-g{grid-template-columns:1fr 1fr;gap:8px}
  .cm-pick-i{padding:9px;border-radius:11px}
  .cm-pick-ic{font-size:1.2rem}
  .cm-pick-t{font-size:.8rem}
  .cm-pick-d{font-size:.66rem}
  .cm-tile-av{width:40px;height:40px;font-size:1.05rem}
}

/* تا وقتی بازی/آزمایش باز است، لایه‌ی کلاسِ آنلاین پایین می‌رود تا رویش نیفتد */
body.gb2-playing.cm-fullscreen .cm-root{z-index:100}

/* ردیفِ ابزارهای تدریس — حالا چهار ابزار */
.teach-tools-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:1240px){.teach-tools-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.teach-tools-row{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.teach-tools-row{grid-template-columns:1fr;gap:8px}}
.ms-launch.scilab .ms-launch-ico{background:linear-gradient(140deg,#12B886,#0CA678)}

.ms-launch.lever .ms-launch-ico{background:linear-gradient(140deg,#7C5CCE,#5F3DC4)}

/* ══════════ 🏫 پنلِ مدرسه: معلم‌ها، المپیاد، رتبه‌بندی ══════════ */
.sch-count{margin-inline-start:auto;font-size:.76rem;color:var(--text3);font-weight:700}
.sch-muted{color:var(--text3);font-weight:500}
.sch-sub-h{font-weight:800;font-size:.9rem;margin:.9rem 0 .5rem}

/* کارتِ هر معلم */
.sch-mem{border:1px solid var(--border);border-radius:14px;margin-bottom:.5rem;overflow:hidden;background:var(--bg2)}
.sch-mem.open{border-color:var(--p,#4C6FFF)}
.sch-mem-top{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;cursor:pointer;transition:.15s}
.sch-mem-top:hover{background:var(--bg3)}
.sch-mem-av{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(140deg,#4C6FFF,#7C5CCE);color:#fff;font-weight:800}
.sch-mem-id{display:flex;flex-direction:column;min-width:0}
.sch-mem-id b{font-size:.9rem}
.sch-mem-id span{font-size:.72rem;color:var(--text3)}
.sch-mem-kpi{margin-inline-start:auto;font-size:.78rem;font-weight:700;white-space:nowrap}
.sch-mem-x{font-size:.8rem;color:var(--text3);transition:.2s}
.sch-mem.open .sch-mem-x{transform:rotate(180deg)}
.sch-mem-body{padding:.7rem;border-top:1px solid var(--border);background:var(--card,#fff)}
.sch-mem-row{font-size:.84rem;margin:.35rem 0}
.sch-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.6rem}
.sch-kpi{background:var(--bg2);border-radius:10px;padding:.5rem;text-align:center}
.sch-kpi span{display:block;font-size:.68rem;color:var(--text3)}
.sch-kpi b{font-size:1.05rem}

/* نظرهای والدین */
.sch-rate-box{background:var(--bg2);border-radius:11px;padding:.6rem;margin:.5rem 0}
.sch-rate-h{font-weight:800;font-size:.82rem;margin-bottom:.35rem}
.sch-rate-mo{font-size:.78rem;margin-bottom:.4rem}
.sch-rate-c{font-size:.76rem;color:var(--text2);margin:.2rem 0 .2rem .6rem;padding-inline-start:.5rem;
  border-inline-start:2px solid var(--border)}

/* المپیاد */
.sch-badge{font-size:.68rem;font-weight:800;padding:2px 8px;border-radius:50px;white-space:nowrap}
.sch-badge.live{background:#D3F9D8;color:#2B8A3E}
.sch-badge.draft{background:var(--bg3);color:var(--text3)}
.sch-oly-btns{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem}
.sch-oq-actions{margin:.5rem 0}
.sch-row2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.sch-subform{background:var(--bg2);border-radius:12px;padding:.7rem;margin:.5rem 0}
.sch-q{display:flex;align-items:flex-start;gap:.5rem;border:1px solid var(--border);border-radius:10px;
  padding:.5rem;margin-bottom:.35rem;background:var(--card,#fff)}
.sch-q-t{font-size:.84rem;font-weight:600}
.sch-q-o{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.25rem}
.sch-q-o span{font-size:.72rem;background:var(--bg3);border-radius:6px;padding:2px 7px;color:var(--text2)}
.sch-q-o span.ok{background:#D3F9D8;color:#2B8A3E;font-weight:800}
.sch-q>div{flex:1;min-width:0}

/* کلاس‌ها در نتایج */
.sch-cls{border:1px solid var(--border);border-radius:12px;margin-bottom:.4rem;overflow:hidden}
.sch-cls.open{border-color:var(--p,#4C6FFF)}
.sch-cls-top{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;cursor:pointer;font-size:.85rem}
.sch-cls-top:hover{background:var(--bg3)}
.sch-cls-avg{margin-inline-start:auto;font-weight:800;font-size:.8rem}
.sch-cls-body{border-top:1px solid var(--border);padding:.4rem}

/* جدولِ رتبه‌بندی */
.sch-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.sch-tbl{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}
.sch-tbl th{background:var(--bg3);font-size:.72rem;padding:.4rem .5rem;font-weight:800;text-align:center}
.sch-tbl td{padding:.4rem .5rem;text-align:center;border-top:1px solid var(--border);font-variant-numeric:tabular-nums}
.sch-tbl td:nth-child(2){text-align:start;font-weight:700}
.sch-tbl td.ok{color:#2B8A3E;font-weight:800}
.sch-tbl td.no{color:#C92A2A}
.sch-tbl tr.top3{background:#FFF9DB}

/* ⭐ نمرهٔ والدین به معلم */
.pp-rate .pp-rate-mo{margin-inline-start:auto;font-size:.74rem;color:var(--text3);font-weight:700}
.pp-rate-sub{font-size:.78rem;color:var(--text3);line-height:1.7;margin:.3rem 0 .55rem}
.pp-stars{display:flex;gap:.15rem;justify-content:center;margin:.2rem 0}
.pp-star{background:none;border:none;cursor:pointer;font-size:1.9rem;line-height:1;padding:0 .1rem;
  color:var(--border);transition:.15s;font-family:inherit}
.pp-star:hover{transform:scale(1.15)}
.pp-star.on{color:#F5B301}
.pp-rate-lbl{text-align:center;font-size:.8rem;font-weight:700;color:var(--text2);margin-bottom:.5rem}
.pp-rate-txt{width:100%;border:1px solid var(--border);border-radius:10px;padding:.5rem;font-family:inherit;
  font-size:.82rem;background:var(--bg2);color:var(--text);resize:vertical;margin-bottom:.5rem}

@media(max-width:560px){
  .sch-kpis{grid-template-columns:1fr 1fr}
  .sch-row2{grid-template-columns:1fr}
  .sch-tbl{font-size:.74rem}
  .pp-star{font-size:1.6rem}
}
