/* Sayt yon paneli — materials/sidebar.py yasaydi, qo'lda tahrirlamang.
   Daftar hoshiyasi: qog'oz fon, qizil chiziq; raqam va vaqtlar chiziqdan chapda.
   Sinf nomlari `sz-` bilan: sahifalarning o'z uslublari bilan to'qnashmasin. */
.sz-side{--sz-paper:#F4F7F6;--sz-card:#FFFFFF;--sz-w:296px;--sz-mcol:64px;
  --sz-gold:#0B6E5F;--sz-orange:#E2603C;--sz-teal:#0E8A76;--sz-dim:#6B7C78;
  --sz-soft:rgba(16,48,42,.86);--sz-strong:#0B211D;--sz-line:rgba(11,110,95,.16);
  --sz-sh:0 1px 2px rgba(11,48,42,.06),0 4px 14px rgba(11,48,42,.06);
  position:fixed;top:0;bottom:0;left:0;z-index:40;width:var(--sz-w);height:auto;display:flex;
  flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:14px 0 16px;margin:0;
  border-right:1px solid var(--sz-line);scrollbar-width:thin;
  scrollbar-color:rgba(11,110,95,.25) transparent;transform:none;
  font:400 14px/1.45 Manrope,"Segoe UI",system-ui,sans-serif;color:var(--sz-soft);
  background:radial-gradient(120% 60% at 0% 0%,rgba(14,138,118,.10),transparent 60%),
    radial-gradient(90% 50% at 100% 100%,rgba(226,96,60,.07),transparent 60%),var(--sz-paper)}
.sz-side *{box-sizing:border-box}
/* panel flex-ustun: bloklar siqilmasin (aks holda brend yozuvi kartaning ostida qoladi) */
.sz-side > *{flex-shrink:0}
/* O'quvchi rejimi (2026-09-12): teacher-only bo'limlar yashirin. Faqat ko'rinish — nazorat
   _worker.js da. `!important` panelning o'z display qoidalaridan kuchli bo'lishi shart. */
body:not(.oqituvchi) [data-oqituvchi]{display:none!important}
/* Mehmon (2026-10-17): o'qituvchining sinf bo'limlari va «Bugun» bloki ko'rinmaydi */
body.mehmon [data-mehmon-yoq]{display:none!important}
body:not(.oqituvchi) [data-oq-faqat]{display:none!important}
body:not(.gadmin) [data-admin-faqat]{display:none!important}
/* sahifaning o'z uslublari panel ichiga tushmasin (Iboralarda `nav` filtr tugmalari uchun
   uslublangan edi va bo'limlar ro'yxati ichkariga surilib ketgandi) */
.sz-side nav,.sz-side section,.sz-side details,.sz-side ol,.sz-side li,.sz-side h3,.sz-side p,.sz-side i{
  display:block;margin:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0;
  width:auto;max-width:none;position:static;float:none;font-style:normal}
.sz-side a,.sz-side span,.sz-side small,.sz-side b,.sz-side summary,.sz-side svg{
  margin:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0;font:inherit;
  color:inherit;letter-spacing:normal;text-transform:none;text-align:left;width:auto;height:auto;
  min-width:0;max-width:none;position:static;float:none;vertical-align:baseline}
.sz-side svg{width:18px;height:18px}
.sz-side a{color:inherit;text-decoration:none}
.sz-side :focus-visible,.sz-burger:focus-visible{outline:2px solid var(--sz-orange);
  outline-offset:-2px;border-radius:10px}
/* Yangi ko'rinish (2026-10-17, o'qituvchi: «professional — grid, plitkalar»):
   brend → profil kartasi → «Bugun» kartasi → guruhlar (ro'yxat + 2 ustunli plitkalar) */
.sz-side .sz-brand{display:flex;padding:4px 16px 14px 60px;min-height:46px}
.sz-side .sz-brand b{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  font-size:30px;line-height:1;color:var(--sz-strong);letter-spacing:-.01em}
.sz-side .sz-brand b em{font-style:italic;color:var(--sz-orange)}
.sz-side .sz-brand small{display:block;font-size:11px;line-height:1.35;color:var(--sz-dim);white-space:normal;overflow-wrap:anywhere}
.sz-side .sz-brand{flex-direction:column;align-items:flex-start;gap:3px}
/* Soat (2026-10-19, o'qituvchi so'rovi): bosh sahifadagi katta soat boshqa
   sahifalarda panelga ko'chadi — vaqt doim ko'z oldida. Bosh sahifada (#soat bor) yashirin. */
.sz-side .sz-clk{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 14px 12px;
  padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,#0B6E5F,#0B4F45);color:#fff;
  box-shadow:var(--sz-sh)}
.sz-side .sz-clk[hidden]{display:none}
.sz-side .sz-clk b{display:block;font-size:26px;font-weight:800;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.sz-side .sz-clk b i{display:inline;font-style:normal;font-size:.55em;font-weight:700;opacity:.72;margin-left:.08em}
.sz-side .sz-clk small{font-size:11.5px;line-height:1.3;text-align:right;opacity:.85}
.sz-side .sz-card{margin:0 14px 12px;padding:12px;border:1px solid var(--sz-line);border-radius:16px;
  background:var(--sz-card);box-shadow:var(--sz-sh)}
/* profil */
.sz-side .sz-me{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 10px;align-items:center}
.sz-side .sz-av{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;
  background:linear-gradient(140deg,#0E8A76,#0B6E5F);color:#fff;font-weight:800;font-size:15px;letter-spacing:.02em}
.sz-side .sz-me.sz-r-oquvchi .sz-av{background:linear-gradient(140deg,#3B82F6,#1D4ED8)}
.sz-side .sz-me.sz-r-mehmon .sz-av{background:linear-gradient(140deg,#94A3B8,#64748B)}
.sz-side .sz-kim{display:block;margin:0;font-size:12px;line-height:1.35;color:var(--sz-dim);min-width:0}
.sz-side .sz-kim b{display:block;color:var(--sz-strong);font-size:14px;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sz-side .sz-kod{display:block;grid-column:1 / -1;margin:6px 0 0;padding:0}
.sz-side .sz-kod [hidden]{display:none!important}
.sz-side .sz-install{display:block;width:100%;margin:0;padding:9px 12px;border:1px solid var(--sz-line);
  border-radius:10px;background:#F7FAF9;color:var(--sz-gold);font:600 12.5px/1.2 inherit;text-align:center;cursor:pointer}
.sz-side .sz-install:hover{border-color:var(--sz-orange);color:var(--sz-orange);background:#fff}
.sz-side > .sz-install{width:auto;margin:4px 14px 0}
/* «Qulflash» (2026-09-16) — chiqish: cookie serverda o'chadi, kod oynasi qaytadi */
.sz-side .sz-lock{color:#9c4530}
.sz-side .sz-gin{text-decoration:none;color:var(--strong,#0B211D);margin-top:6px}
.sz-side .sz-gin b{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:4px;border-radius:50%;
  background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);color:#fff;font-size:11px;font-weight:800}
.sz-side .sz-lock:hover{border-color:#B8472E;color:#B8472E}
/* «To'liq ekran» (2026-10-19): global rejim — yoqilgan bo'lsa yashil */
.sz-side .sz-fs{margin-top:6px!important}
.sz-side .sz-fs.sz-fon{background:var(--sz-gold);border-color:var(--sz-gold);color:#fff}
.sz-side .sz-fs.sz-fon:hover{filter:brightness(1.08);color:#fff;background:var(--sz-gold)}
.sz-side .sz-kodf{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.sz-side .sz-kodf input{flex:1 1 120px;min-width:0;height:38px;padding:0 10px;border:1px solid var(--sz-line);
  border-radius:10px;background:#fff;font:600 14px/1 inherit;letter-spacing:.08em;color:var(--sz-strong)}
.sz-side .sz-kodf button{height:38px;padding:0 14px;border:0;border-radius:10px;background:var(--sz-gold);
  color:#fff;font:700 13px/1 inherit;cursor:pointer}
.sz-side .sz-kodm{flex-basis:100%;margin:2px 0 0;font-size:12px;color:var(--sz-dim);min-height:1em}
/* guruh sarlavhalari */
.sz-side .sz-hd{display:flex;align-items:center;gap:8px;margin:0;padding:10px 18px 7px;
  font:700 10.5px/1.2 Manrope,"Segoe UI",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--sz-dim)}
.sz-side .sz-hd::after{content:"";flex:1;height:1px;background:var(--sz-line)}
/* «Bugun» kartasi */
.sz-day[hidden]{display:none}
.sz-side .sz-day{padding:10px 8px 6px}
.sz-side .sz-day .sz-dh{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 6px 6px}
.sz-side .sz-day .sz-dh h3{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:600;
  font-size:19px;line-height:1.1;color:var(--sz-gold)}
.sz-side .sz-day .sz-dn{font-size:11px;font-weight:700;color:var(--sz-dim);white-space:nowrap}
.sz-side .sz-day ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.sz-side .sz-day a{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:10px;
  align-items:start;padding:7px 6px;border-radius:11px}
.sz-side .sz-day a:hover{background:rgba(11,110,95,.06)}
.sz-day .sz-tm{justify-self:stretch;text-align:center;padding:3px 0;border-radius:7px;background:rgba(11,110,95,.08);
  font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--sz-gold)}
.sz-side .sz-day .sz-cls{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--sz-strong)}
.sz-side .sz-day .sz-cls b{display:inline-block;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:800;
  color:#fff;background:#64748B}
.sz-day a[data-g="7"] .sz-cls b{background:#0E8A76}
.sz-day a[data-g="8"] .sz-cls b{background:#7C3AED}
.sz-day a[data-g="9"] .sz-cls b{background:#2563EB}
.sz-day a[data-g="10"] .sz-cls b{background:#E2603C}
.sz-day a[data-g="11"] .sz-cls b{background:#DB2777}
.sz-day .sz-cls small{font-size:11.5px;font-weight:600;color:var(--sz-dim)}
/* Mavzu QISQARTIRILMAYDI (2026-10-15, o'qituvchi so'rovi) — kerak bo'lsa qatorga o'raladi */
.sz-side .sz-day .sz-tp{grid-column:2;margin-top:2px;overflow-wrap:anywhere;font-size:12.5px;line-height:1.4;color:var(--sz-soft)}
.sz-day a.sz-done{opacity:.45}
.sz-day a.sz-now{background:rgba(14,138,118,.10);box-shadow:inset 3px 0 0 var(--sz-teal)}
.sz-day a.sz-now .sz-tm{background:var(--sz-teal);color:#fff}
.sz-day a.sz-now .sz-cls::after{content:"hozir";margin-left:auto;padding:1px 7px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sz-teal);
  background:rgba(14,138,118,.14)}
/* ro'yxat (Asosiy, Jurnallar) */
.sz-side .sz-list{display:grid;gap:2px;padding:0 10px}
.sz-side .sz-list a{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;
  column-gap:10px;min-height:40px;padding:4px 8px;border-radius:11px;font-size:14px;font-weight:600}
.sz-side .sz-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;
  background:rgba(11,110,95,.08);color:var(--sz-gold)}
.sz-side .sz-list a:hover{background:rgba(11,110,95,.06)}
.sz-side .sz-list a.sz-on{background:var(--sz-card);color:var(--sz-strong);box-shadow:var(--sz-sh)}
.sz-side .sz-list a.sz-on .sz-ic{background:var(--sz-orange);color:#fff}
/* plitkalar (Materiallar) — 2 ustun */
.sz-side .sz-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px}
.sz-side .sz-tiles a{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  min-height:76px;padding:11px 11px 10px;border:1px solid var(--sz-line);border-radius:14px;
  background:var(--sz-card);box-shadow:var(--sz-sh);font-size:13px;font-weight:700;line-height:1.2;color:var(--sz-strong);
  transition:transform .16s,box-shadow .16s,border-color .16s}
.sz-side .sz-tiles a:hover{transform:translateY(-1px);border-color:rgba(11,110,95,.32);
  box-shadow:0 2px 4px rgba(11,48,42,.06),0 10px 22px rgba(11,48,42,.10)}
.sz-side .sz-tiles .sz-ic{color:#fff;background:var(--sz-tc,#0E8A76)}
.sz-side .sz-tiles a.sz-on{border-color:var(--sz-tc,#0E8A76);box-shadow:0 0 0 2px var(--sz-tc,#0E8A76) inset,var(--sz-sh)}
.sz-side .sz-tiles a span{display:block;overflow-wrap:anywhere}
.sz-side .sz-foot{margin:auto 0 0;padding:18px 18px 0;font-size:11px;line-height:1.5;color:var(--sz-dim)}
/* «Yangi versiya» oynasi — pastda markazda, hamma sahifada */
.sz-yangi{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:90;display:flex;
  align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:10px 10px 10px 18px;border-radius:14px;
  background:#0B211D;color:#fff;font:600 14px/1.3 Manrope,"Segoe UI",system-ui,sans-serif;
  box-shadow:0 10px 30px rgba(0,0,0,.28);animation:szYangi .35s ease-out}
.sz-yangi button{border:0;border-radius:10px;cursor:pointer;font:700 14px/1 inherit;padding:10px 16px}
.sz-yangi .sz-yangi-ha{background:#E2603C;color:#fff}
.sz-yangi .sz-yangi-x{background:transparent;color:#fff;opacity:.7;padding:8px 10px;font-size:18px}
@keyframes szYangi{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
.sz-burger{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;
  margin:-8px 2px -8px -6px;padding:0;border:1px solid rgba(11,110,95,.26);border-radius:10px;
  background:#fff;color:#0B211D;cursor:pointer}
/* 2026-10-15 (o'qituvchi so'rovi): ☰ HAR DOIM chap yuqori burchakda qotib turadi —
   avval .back paneli ichida edi va sahifa surilganda tepada qolib ketardi. */
.sz-burger.sz-float{position:fixed;top:10px;left:10px;z-index:70;margin:0;
  box-shadow:0 4px 14px rgba(11,60,50,.2)}
.sz-scrim{position:fixed;inset:0;z-index:35;background:rgba(11,48,42,.45);opacity:0;
  visibility:hidden;transition:opacity .24s,visibility .24s}
@media (min-width:1100px){
  body{padding-left:296px}
  .sz-scrim{display:none}
  /* Yig'iladigan panel (2026-10-05, o'qituvchi so'rovi): standart — ochiq; ☰ bilan
     yig'iladi, tanlov localStorage «szSideMin» da (hamma sahifada amal qiladi) */
  /* animatsiya faqat foydalanuvchi bosganda — sahifa ochilishida panel «sakramasin» */
  html.sz-anim body{transition:padding-left .26s cubic-bezier(.2,.8,.2,1)}
  html.sz-anim .sz-side{transition:width .26s cubic-bezier(.2,.8,.2,1)}
  /* Yig'iq holat = IKONKALI TOR USTUN (2026-10-15, o'qituvchi tanlovi): panel
     yo'qolmaydi, 64px qoladi — faqat bo'lim ikonkalari, nomi `title` da (hover).
     Avval butunlay yashirinardi va keng ekranda ikki chetda bo'sh joy qolardi. */
  html.sz-min body{padding-left:64px}
  html.sz-min .sz-side{width:64px;overflow-x:hidden;padding-top:62px;background:var(--sz-paper)}
  html.sz-min .sz-side .sz-brand,html.sz-min .sz-side .sz-hd,html.sz-min .sz-side .sz-day,
  html.sz-min .sz-side .sz-card,html.sz-min .sz-side > .sz-install,html.sz-min .sz-side .sz-foot{display:none!important}
  html.sz-min .sz-side .sz-list,html.sz-min .sz-side .sz-tiles{display:grid;grid-template-columns:64px;gap:4px;padding:0}
  html.sz-min .sz-side .sz-list a,html.sz-min .sz-side .sz-tiles a{display:grid;grid-template-columns:1fr;place-items:center;min-height:42px;
    padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none}
  html.sz-min .sz-side .sz-list a span,html.sz-min .sz-side .sz-tiles a span{display:none}
  html.sz-min .sz-side .sz-tiles{margin-top:4px}
  html.sz-min .sz-side .sz-list a.sz-on .sz-ic,html.sz-min .sz-side .sz-tiles a.sz-on .sz-ic{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--sz-orange)}
  html.sz-min .sz-burger.sz-float{left:14px}
  html.sz-min .sz-side .sz-clk{display:block;margin:0 6px 8px;padding:7px 0;border-radius:12px;text-align:center}
  html.sz-min .sz-side .sz-clk[hidden]{display:none}
  html.sz-min .sz-side .sz-clk b{font-size:15px}
  html.sz-min .sz-side .sz-clk b i,html.sz-min .sz-side .sz-clk small{display:none}
}
@media (max-width:1099.98px){
  body > .back,body > .sz-back{padding-left:60px}
  .sz-side{width:min(86vw,var(--sz-w));transform:translateX(-102%);
    transition:transform .26s cubic-bezier(.2,.8,.2,1)}
  body.sz-open{overflow:hidden}
  body.sz-open .sz-side{transform:none;box-shadow:0 18px 44px rgba(11,60,50,.28)}
  body.sz-open .sz-scrim{opacity:1;visibility:visible}
}
/* SUZUVCHI REJIM (html.sz-over): o'yinlar, fleshkartalar va boshqa to'liq ekranli
   sahifalar. ☰ har doim chap burchakda, panel bosilganda ustidan chiqadi
   (2026-10-15, o'qituvchi: «hamburger menu har joyda qo'l ostida bo'lsin»). */
html.sz-over body{padding-left:0!important}
html.sz-over .sz-side{width:min(86vw,var(--sz-w))!important;padding-top:22px!important;
  transform:translateX(-102%)!important;transition:transform .26s cubic-bezier(.2,.8,.2,1)}
html.sz-over body.sz-open .sz-side{transform:none!important;box-shadow:0 18px 44px rgba(11,60,50,.28)}
html.sz-over .sz-scrim{display:block}
html.sz-over body.sz-open .sz-scrim{opacity:1;visibility:visible}
html.sz-over .sz-burger.sz-float{left:10px}
html.sz-over body > .back,html.sz-over body > .sz-back{padding-left:60px}
/* o'yin paytida (body.playing) hisob qatori ☰ ostida qolmasin — chapdan joy */
html.sz-over body.playing .bar{padding-left:62px!important}
/* 📱 Pastki dock (2026-10-29, o'qituvchi: «mobile uchun dock panel»): FAQAT telefon/planshetda (<1100px),
   rolga qarab 5 tugma; 5-si — to'liq panel (☰). Suzuvchi rejimda (o'yin, kartalar, html.sz-over) va
   o'yin paytida (body.playing) yo'q. Pastga aylantirganda yashirinadi, tepaga — qaytadi.
   Pastki chiziq: iPhone safe-area va Telegram Mini App (--tg-safe-area-inset-bottom). */
.sz-dock,.sz-dockpad{display:none}
@media (max-width:1099.98px){
  html.sz-dockon .sz-dock{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);
    padding:6px 6px calc(6px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)));
    background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    border-top:1px solid rgba(11,110,95,.16);box-shadow:0 -6px 20px rgba(11,48,42,.08);
    font:600 11px/1.15 Manrope,"Segoe UI",system-ui,sans-serif;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
  html.sz-dockon .sz-dockpad{display:block;height:calc(64px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)))}
  html.sz-dockon.sz-dockyoq .sz-dock{transform:translateY(110%)}
  .sz-dock a,.sz-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;
    padding:4px 2px;border:0;border-radius:12px;background:none;color:#4F625E;font:inherit;text-decoration:none;cursor:pointer;
    -webkit-tap-highlight-color:transparent;min-width:0}
  .sz-dock span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sz-dock i{display:grid;place-items:center;width:40px;height:26px;border-radius:999px;font-style:normal}
  .sz-dock svg{width:21px;height:21px}
  .sz-dock .sz-on{color:#0B6E5F}
  .sz-dock .sz-on i{background:rgba(11,110,95,.13)}
  .sz-dock a:active i,.sz-dock button:active i{background:rgba(11,110,95,.2)}
  /* pastda suzadigan boshqa oynalar dock ustiga chiqsin (faqat dock haqiqatan chizilgan sahifada) */
  html.sz-dockon:not(.sz-over):not(.sz-dockkb) body:not(.playing):not(.sz-open) .sz-yangi{bottom:calc(76px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)))}
  html.sz-dockon:not(.sz-over):not(.sz-dockkb) body:not(.playing):not(.sz-open) .dk-scrg.dk-float{bottom:calc(84px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)))}
  /* o'yin sozlash sahifasi (grammatika/vocabulary play, oyin/setup.css): «Boshlash» paneli dock ostida qolmasin;
     dock yashiringanda (pastga aylantirilgan) panel yana pastga tushadi */
  html.sz-dockon:not(.sz-over):not(.sz-dockkb):not(.sz-dockyoq) body:not(.playing):not(.sz-open) .sx-foot{bottom:calc(64px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)))}
  html.sz-dockon .sx-foot{transition:bottom .22s cubic-bezier(.2,.8,.2,1)}
  /* dars sahifasi so'z navigatori va sinf so'rovi tugmalari: Telegram'da (env()=0) ham dock ustida */
  html.sz-dockon:not(.sz-over):not(.sz-dockkb) body:not(.playing):not(.sz-open) .dk-wcard > .dk-wnav,
  html.sz-dockon:not(.sz-over):not(.sz-dockkb) body:not(.playing):not(.sz-open) .sq-acts{bottom:calc(84px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)))}
}
html.sz-over .sz-dock,html.sz-over .sz-dockpad,body.playing .sz-dock,body.playing .sz-dockpad,
body.sz-open .sz-dock,html.sz-dockkb .sz-dock,
/* «Bir xil» jamoaviy o'yin (grammatika/vocabulary play) — body.playing qo'yilmaydi, taxta (#board.on) ochiq */
body:has(#board.on) .sz-dock,body:has(#board.on) .sz-dockpad{display:none!important}
@media print{.sz-dock,.sz-dockpad{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .sz-side,.sz-scrim,.sz-dock{transition:none}
}

/* Matnni belgilash o'chirilgan (2026-10-16, o'qituvchi so'rovi): katta sensorli panelda
   o'quvchilar tasodifan matnni ko'k qilib belgilab qo'yardi. Yozish maydonlarida ishlaydi. */
/* har bir elementga — to'liq ekranli sinf rejimi (top layer) va tugmalar ham */
html,html *,:fullscreen,:fullscreen *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none}
html input,html textarea,html select,html [contenteditable=""],html [contenteditable="true"],html [contenteditable="true"] *,
:fullscreen input,:fullscreen textarea{
  -webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:default}
img{-webkit-user-drag:none}
