
/* Deszera — Release Candidate Human QA / 2026-08-10 */
:root{--dz-safe-top:max(10px,env(safe-area-inset-top));--dz-safe-bottom:max(10px,env(safe-area-inset-bottom));}
html,body{font-size:16px}
/* Exact user-provided world map with flags; old dotted map remains in source only as unreachable legacy CSS. */
#bg{background:
  linear-gradient(180deg,rgba(5,12,34,.74),rgba(5,11,29,.87)),
  url("img/world-map-bg.png") center center/cover no-repeat!important;}
#splash{background:
  linear-gradient(180deg,rgba(5,12,34,.72),rgba(5,11,29,.86)),
  url("img/world-map-bg.png") center center/cover no-repeat!important;}
#s-lesson::before,.fit-pad::before{opacity:.18}
/* Scroll is allowed when content really needs it; no tiny type to fake a no-scroll screen. */
.screen{overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
#s-lesson{overflow:hidden!important}
#larea{overflow-y:auto!important;min-height:0;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(18px + var(--dz-safe-bottom))}
.fit-pad{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
input,textarea,select{font-size:16px!important}
button,.press,[role="button"]{min-height:44px}
/* Home: reduce only the central lesson ring, not important text. */
#s-path .dz-hero-card>div[style*="width:172px"]{width:144px!important;height:144px!important}
#s-path #dz-ring-svg{width:144px!important;height:144px!important}
#s-path .dz-hero-card>div[style*="width:172px"] img{max-width:112px!important;max-height:112px!important}
#s-path>div[style*="overflow:hidden"]{overflow-y:auto!important;overscroll-behavior-y:contain}
#dz-sections{gap:9px!important}
#dz-sections .explore-ball{min-height:82px!important;padding:9px 5px!important}
/* bugfix (rodada de lançamento): min-height sozinho, sem flex-shrink:0, deixava o
   flexbox "achatar" o ícone (aspect-ratio:1/1 vira oval) quando o card não tinha
   altura de sobra — reproduzido em qualquer tela com viewport baixo (comum com a
   barra de endereço visível). flex-shrink:0 garante que o círculo nunca deforma;
   o min-height do card (abaixo) é dimensionado pra realmente caber ícone+rótulo. */
#dz-sections .eb-ico{min-width:36px;min-height:36px;flex-shrink:0}
@media(max-height:740px){
  /* Pedido explícito do usuário: os 6 ícones de EXPLORAR (Tempos Verbais/
     Essenciais/Quiz/Favoritos/Dificuldades/Trilhas) precisam caber INTEIROS
     na tela inicial, sem precisar tocar numa seta ou arrastar pra ver o
     resto -- por isso a versão anterior (rolagem horizontal, só 3 visíveis
     por vez + dica de seta) foi substituída por uma grade de 2 linhas × 3
     colunas (os 6 sempre visíveis de uma vez), com o card da lição atual
     (hero) reduzido um pouco mais nesse modo compacto pra abrir espaço,
     igual ao comentário já existente em index.html ("corpo sem rolagem —
     tudo cabe na tela") -- aqui isso passa a valer de verdade também pros
     6 ícones, não só pro card. */
  #dz-sections{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:6px!important;overflow:visible!important;padding-right:0!important}
  /* altura enxuta o bastante pra 2 linhas caberem no espaço que sobra depois
     do card reduzido abaixo: ícone(34px)+gap(4px)+rótulo de 2 linhas(19px)+
     padding(12px) ≈ 74px de conteúdo, com folga extra pra telas bem baixas
     (viewport com barra de endereço visível, ~600-620px de altura útil). */
  #dz-sections .explore-ball{min-height:74px!important;padding:6px 3px 5px!important}
  #dz-sections .eb-ico{max-width:34px!important;min-width:30px!important;min-height:30px!important}
  #dz-sections .eb-t{font-size:10px!important;min-height:19px!important;line-height:1.1!important}
  /* card principal (hero) mais enxuto especificamente nas telas baixas onde o
     espremimento acontecia — não muda em telas altas, onde já cabia bem.
     Reduzido um pouco mais que antes pra abrir espaço pra grade de 2 linhas
     acima em vez da rolagem horizontal de 1 linha que havia antes. */
  #s-path .dz-hero-card{padding-top:6px!important;padding-bottom:5px!important}
  #s-path .dz-hero-card>div[style*="width:172px"]{width:88px!important;height:88px!important;margin-top:0!important}
  #s-path #dz-ring-svg{width:88px!important;height:88px!important}
  #s-path .dz-hero-card>div[style*="width:172px"] img{max-width:68px!important;max-height:68px!important}
  #s-path #dz-title{font-size:17px!important}
  #s-path #dz-sub{font-size:10px!important;margin-top:1px!important}
  #s-path .home-today-btn{margin-top:4px!important;padding:6px 10px!important}
  #s-path #dz-btn{padding:6px!important;margin-top:3px!important}
  #dz-explore-label{margin-top:1px!important;margin-bottom:3px!important}
  /* a seta de "arraste pra ver mais" só fazia sentido na rolagem horizontal
     de 1 linha (removida acima) -- com os 6 ícones sempre visíveis na
     grade de 2 linhas, não há mais nada escondido pra indicar. */
  #dz-home-rail-hint{display:none!important}
}

/* ========================================================================
   Commerce V1 — readable paywall, premium locks and profile access status
   ======================================================================== */
html.dz-paywall-open,
html.dz-paywall-open body{overflow:hidden!important}
.dz-paywall{position:fixed;inset:0;z-index:10050;background:rgba(3,7,20,.78);display:flex;align-items:flex-end;justify-content:center;padding:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.dz-paywall-sheet{position:relative;width:min(100%,680px);max-height:94dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#111d3e 0%,#09132e 100%);border:1px solid rgba(126,176,255,.28);border-radius:28px 28px 0 0;padding:28px 18px calc(24px + env(safe-area-inset-bottom));color:#f3f6ff;box-shadow:0 -20px 70px rgba(0,0,0,.5)}
.dz-paywall-x{position:absolute;right:14px;top:14px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.dz-offer-badge{width:max-content;max-width:calc(100% - 58px);margin:0 auto 10px;padding:7px 13px;border-radius:999px;background:rgba(255,168,85,.14);border:1px solid rgba(255,168,85,.42);color:#ffc075;font-size:12px;font-weight:900;letter-spacing:.9px;text-align:center}
.dz-offer-mark{width:58px;height:58px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#ffa855,#ff713f);box-shadow:0 8px 25px rgba(255,122,61,.35)}
.dz-paywall h2{max-width:560px;margin:0 auto;font-size:clamp(24px,6vw,32px);line-height:1.13;text-align:center;font-weight:950;letter-spacing:-.5px;color:#fff}
.dz-offer-sub{max-width:540px;margin:10px auto 0;text-align:center;color:#c4d2ee;font-size:16px;line-height:1.5}
.dz-offer-milestone{max-width:520px;margin:10px auto 0;padding:10px 13px;border-radius:14px;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.34);color:#89efab;text-align:center;font-size:14px;font-weight:850;line-height:1.4}
.dz-offer-included{max-width:580px;margin:18px auto 0;padding:16px;border-radius:19px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}
.dz-offer-included>strong{display:block;font-size:16px;color:#fff;margin-bottom:10px}
.dz-offer-included ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 13px}
.dz-offer-included li{display:flex;align-items:flex-start;gap:8px;color:#d9e4f8;font-size:14px;line-height:1.35}
.dz-offer-included li>span:first-child{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:rgba(74,222,128,.16);color:#74e99a;font-size:12px;font-weight:950}
.dz-offer-options{max-width:610px;margin:16px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.dz-offer-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:17px 15px 15px;border-radius:21px;background:rgba(255,255,255,.07);border:1.5px solid rgba(126,176,255,.24);overflow:hidden}
.dz-offer-card-best{border-color:rgba(255,168,85,.78);background:linear-gradient(155deg,rgba(255,168,85,.14),rgba(77,141,255,.1));box-shadow:0 8px 28px rgba(255,122,61,.13)}
.dz-best-ribbon{margin:-17px -15px 14px;padding:7px 10px;background:linear-gradient(90deg,#ffa855,#ff713f);color:#fff;font-size:13px;font-weight:950;text-align:center}
.dz-offer-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:54px}
.dz-offer-product{display:block;color:#fff;font-size:17px;font-weight:950;line-height:1.2}
.dz-offer-card-top small{display:block;margin-top:4px;color:#b9c9e7;font-size:13px;line-height:1.35}
.dz-plan-tag{flex:0 0 auto;border-radius:999px;padding:5px 7px;background:rgba(77,141,255,.2);color:#a9c9ff;font-size:10px;font-weight:950;letter-spacing:.5px}
.dz-price{margin-top:10px;color:#fff;font-size:clamp(28px,7vw,37px);font-weight:950;line-height:1;letter-spacing:-1px}
.dz-once{color:#b9c9e7;font-size:13px;margin-top:5px}
.dz-app-prices{color:#f4f7ff;font-size:13px;font-weight:800;line-height:1.4;margin-top:8px}
.dz-separate{min-height:18px;color:#b9c9e7;font-size:13px;margin-top:7px}
.dz-buy{width:100%;min-height:48px;margin-top:auto;padding:13px 10px;border:0;border-radius:15px;color:#fff;font-size:13.5px;font-weight:950;line-height:1.2;cursor:pointer}
.dz-buy-single{background:linear-gradient(140deg,#548fff,#2865d5)}
.dz-buy-bundle{background:linear-gradient(140deg,#ffa855,#ff713f);box-shadow:0 7px 20px rgba(255,122,61,.26)}
.dz-checkout-note{max-width:610px;margin:12px auto 0;border-radius:14px;padding:11px 13px;background:rgba(255,193,7,.12);border:1px solid rgba(255,193,7,.3);color:#ffe09a;font-size:13px;line-height:1.45;text-align:center}
.dz-offer-trust{margin:15px auto 0;color:#b9c9e7;font-size:13px;line-height:1.55;text-align:center}
.dz-offer-trust strong{color:#fff;font-size:14px}
.dz-offer-close{display:block;min-height:44px;margin:8px auto 0;border:0;background:transparent;color:#aebede;font-size:13.5px;font-weight:800;text-decoration:underline;cursor:pointer}
.dz-premium-locked{position:relative!important;opacity:.78!important;border-color:rgba(255,168,85,.34)!important;cursor:pointer!important}
.dz-premium-pill{width:max-content;display:flex;align-items:center;gap:4px;margin-top:6px;padding:4px 8px;border-radius:999px;background:rgba(255,168,85,.13);border:1px solid rgba(255,168,85,.28);color:#ffc075;font-size:11.5px!important;font-weight:900;line-height:1}
.dz-topic-premium{position:relative!important;cursor:pointer}
.dz-topic-premium:after{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(5,10,25,.14);pointer-events:none}
.dz-topic-lock{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:rgba(7,14,35,.78);border:1px solid rgba(255,168,85,.42);color:#ffc075;font-size:10.5px;font-weight:950;line-height:1;backdrop-filter:blur(5px)}
.dz-access-card{display:grid!important;grid-template-columns:44px 1fr;gap:11px!important;align-items:start!important;padding:15px!important;border-color:rgba(255,168,85,.35)!important;background:linear-gradient(145deg,rgba(255,168,85,.08),rgba(77,141,255,.07))!important}
.dz-access-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#ffa855,#ff713f)}
.dz-access-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.dz-access-copy strong{font-size:16px;color:var(--ink)}
.dz-access-copy span{font-size:14px;font-weight:850;color:var(--orange2)}
.dz-access-copy small{font-size:12.5px;line-height:1.4;color:var(--sub)}
.dz-access-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.dz-access-actions button{min-height:44px;border-radius:13px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px;font-weight:900;padding:10px;cursor:pointer}
.dz-access-actions button:first-child{border:0;background:linear-gradient(140deg,var(--orange1),var(--orange2));color:#fff}
.dz-milestone-card{margin:14px 0 5px;padding:14px 15px;border-radius:17px;background:linear-gradient(145deg,rgba(74,222,128,.13),rgba(77,141,255,.09));border:1px solid rgba(74,222,128,.36);text-align:center}
.dz-milestone-card strong{display:block;color:#86ecaa;font-size:15px;line-height:1.35}
.dz-milestone-card span{display:block;color:var(--onbg);font-size:13.5px;line-height:1.45;margin-top:5px}
@media(min-width:681px){.dz-paywall{align-items:center;padding:24px}.dz-paywall-sheet{border-radius:28px;padding:30px 28px;max-height:calc(100dvh - 48px)}}
@media(max-width:520px){.dz-offer-included ul{grid-template-columns:1fr}.dz-offer-options{grid-template-columns:1fr}.dz-offer-card-top{min-height:0}.dz-paywall-sheet{padding-left:15px;padding-right:15px}.dz-offer-card{padding:16px 14px}.dz-best-ribbon{margin:-16px -14px 14px}}
#dz-home-rail-hint{display:none;position:fixed;right:5px;top:64%;z-index:120;width:24px;height:36px;border-radius:14px 0 0 14px;background:rgba(7,17,38,.82);color:#FEA82D;align-items:center;justify-content:center;font-size:23px;font-weight:900;pointer-events:none;box-shadow:0 4px 18px rgba(0,0,0,.25)}
/* One safe tools trigger instead of four permanently floating circles. */
#dz-tools-toggle{position:fixed;right:12px;top:calc(var(--dz-safe-top) + 48px);z-index:9950;width:48px;height:48px;min-height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.22);background:rgba(7,17,38,.92);backdrop-filter:blur(12px);color:#fff;font-size:26px;font-weight:900;display:none;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.32);cursor:pointer}
#float-tools{position:fixed!important;right:12px!important;top:calc(var(--dz-safe-top) + 103px)!important;bottom:auto!important;z-index:9949!important;max-height:calc(100dvh - 175px);overflow-y:auto;padding:8px!important;border-radius:20px!important;background:rgba(7,17,38,.95)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 12px 34px rgba(0,0,0,.38)!important;backdrop-filter:blur(14px);opacity:0;transform:translateY(-5px) scale(.96);pointer-events:none;transition:opacity .16s ease,transform .16s ease}
#float-tools.dz-open{opacity:1;transform:none;pointer-events:auto}
#float-tools .fbtool{width:48px!important;height:48px!important;min-height:48px!important;flex:0 0 48px!important}
/* Essentials / Verb Tenses — two-row horizontal catalogue.
   The canonical JS still creates every card and owns all progress/click logic;
   this layer only changes the catalogue's layout and interaction surface. */
html.dz-catalog-screen #app{max-width:1120px}
html.dz-catalog-screen #bg{background:linear-gradient(155deg,#07142d 0%,#091a38 46%,#061126 100%)!important}
#s-essentials,#s-basics{overflow-x:hidden!important;background:linear-gradient(165deg,rgba(8,24,52,.97),rgba(5,15,34,.98));padding-bottom:calc(76px + var(--dz-safe-bottom))}
#s-essentials .mc-topbar,#s-basics .mc-topbar{width:100%;min-width:0}
.mc-topbar.dz-catalog-open{max-height:none!important;overflow:visible!important;flex:0 0 auto!important}
.mc-topbar.dz-catalog-open .mc-drag-handle{display:none!important}
#s-essentials .mc-topbar-full,#s-basics .mc-topbar-full{min-width:0}
#essentials-head,#basics-head{padding:22px 20px 4px!important}
.dz-menu-heading{display:flex;align-items:center;gap:11px;color:var(--orange2)}
.dz-menu-heading svg{width:30px!important;height:30px!important;flex:0 0 30px}
.dz-menu-title{color:var(--ink);font-size:clamp(27px,7.2vw,34px);line-height:1.12;font-weight:950;letter-spacing:-.6px}
.dz-menu-subtitle{margin-top:7px;color:var(--sub);font-size:clamp(15px,4vw,17px);line-height:1.45}
.dz-menu-stat-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;margin-top:16px!important;padding:10px;border:1px solid rgba(126,176,255,.20);border-radius:18px;background:rgba(7,18,42,.72);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.dz-menu-stat-row .mc-gchip{min-width:0!important;min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 7px!important;border:0!important;background:transparent!important;font-size:14px!important;line-height:1.25!important;text-align:center;white-space:normal}
.dz-menu-stat-row .dz-stat-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--orange2)}
.dz-menu-stat-row .mc-gchip:nth-child(2) .dz-stat-icon{color:#ff824d}.dz-menu-stat-row .mc-gchip:nth-child(3) .dz-stat-icon{color:#f8c74e}.dz-menu-stat-row .mc-gchip:nth-child(4) .dz-stat-icon{color:#a78bfa}
.dz-menu-stat-row .mc-gchip:nth-child(4){grid-column:1/-1;justify-self:end;width:max-content;max-width:100%;min-height:36px;padding:7px 11px!important;background:rgba(139,92,246,.16)!important;border:1px solid rgba(167,139,250,.34)!important}
.dz-menu-explore-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:19px}
.dz-menu-explore-copy{min-width:0}
.dz-menu-explore-copy strong{display:block;color:var(--ink);font-size:20px;line-height:1.25;font-weight:900}
.dz-menu-explore-copy span{display:block;margin-top:4px;color:var(--mut);font-size:14px;line-height:1.35;font-weight:650}
.dz-carousel-shell{position:relative;width:100%;min-width:0;overflow:hidden}
.dz-carousel-shell:not(.is-open){display:none}
.ess-carousel.dz-topic-grid,.dz-topic-grid{display:grid!important;grid-template-columns:none!important;grid-template-rows:repeat(2,minmax(152px,auto))!important;grid-auto-flow:column!important;grid-auto-columns:clamp(268px,82vw,360px)!important;align-items:stretch!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;padding:12px 50px 24px 20px!important;scroll-padding-inline:20px 50px;scroll-snap-type:x mandatory!important;scroll-behavior:smooth;scrollbar-width:none!important;-ms-overflow-style:none!important;transform:none!important}
.dz-topic-grid::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.dz-topic-grid .ess-card{position:relative!important;display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;align-items:center!important;gap:13px!important;width:auto!important;max-width:none!important;min-width:0!important;min-height:152px!important;height:100%!important;margin:0!important;padding:15px 14px!important;border:1px solid rgba(126,176,255,.30)!important;border-radius:21px!important;background:linear-gradient(145deg,rgba(17,42,83,.96),rgba(8,25,55,.98))!important;box-shadow:0 9px 25px rgba(0,0,0,.20)!important;overflow:visible!important;scroll-snap-align:start!important;scroll-snap-stop:normal!important;text-align:left!important;opacity:1!important;transform:none!important;transition:transform .16s ease,border-color .16s ease,background .16s ease!important}
.dz-topic-grid .ess-card:hover{border-color:rgba(126,176,255,.52)!important;background:linear-gradient(145deg,rgba(20,50,96,.98),rgba(9,28,61,.98))!important}
.dz-topic-grid .ess-card:active{transform:scale(.975)!important}
.dz-topic-grid .ess-card:focus-visible{outline:3px solid var(--orange2);outline-offset:3px}
.dz-topic-grid .ess-card.on{border-color:rgba(74,222,128,.52)!important}
.dz-topic-grid .ess-card-img{box-sizing:border-box!important;width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;aspect-ratio:1/1!important;flex:0 0 68px!important;border-radius:50%!important;border:1.5px solid rgba(255,255,255,.27)!important;box-shadow:0 6px 14px rgba(0,0,0,.20)!important;display:flex!important;align-items:center!important;justify-content:center!important}
.dz-topic-grid .ess-ico-wrap{box-sizing:border-box!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;aspect-ratio:1/1!important;flex:0 0 48px!important;border-radius:50%!important;background:rgba(5,15,35,.18)!important;box-shadow:none!important;backdrop-filter:none!important}
.dz-topic-grid .ess-ico-wrap svg{width:28px!important;height:28px!important;stroke-width:1.9!important}
.dz-topic-grid .ess-card-body{min-width:0!important;width:100%!important;padding:0!important;text-align:left!important;align-self:center}
.dz-topic-grid .ess-card-t{font-size:clamp(17px,4.6vw,19px)!important;line-height:1.24!important;font-weight:900!important;white-space:normal!important;min-height:0!important;display:block!important;overflow-wrap:anywhere!important;word-break:normal!important}
.dz-topic-grid .ess-card-n{font-size:14px!important;line-height:1.35!important;margin-top:6px!important;font-weight:650!important;color:var(--sub)!important}
.dz-topic-grid .ess-progress-track{height:7px!important;margin:10px 0 0!important;width:100%!important;background:rgba(174,197,232,.19)!important}
.dz-topic-grid .ess-card-foot{font-size:14px!important;line-height:1.3!important;margin-top:7px!important;justify-content:space-between!important}
.dz-topic-grid .ess-pct{font-size:14px!important;font-weight:850!important}
.dz-topic-grid .ess-arrow{display:flex!important;color:var(--mut)}
.dz-topic-grid .ess-badge{position:absolute;right:9px;top:8px;font-size:17px}
.dz-carousel-arrow{display:none;position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(7,18,42,.94);color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.28);align-items:center;justify-content:center;cursor:pointer}
.dz-carousel-arrow.prev{left:5px}.dz-carousel-arrow.next{right:5px}
.dz-carousel-arrow:disabled{opacity:.25;cursor:default}
@media(hover:hover) and (pointer:fine) and (min-width:700px){.dz-carousel-arrow{display:flex}}
@media(max-width:350px){
  #essentials-head,#basics-head{padding-left:16px!important;padding-right:16px!important}
  .dz-menu-stat-row{gap:4px!important;padding:8px 5px}
  .dz-menu-stat-row .mc-gchip{font-size:12.5px!important;padding:7px 3px!important}
  .ess-carousel.dz-topic-grid,.dz-topic-grid{grid-auto-columns:calc(100vw - 50px)!important;padding-left:16px!important;scroll-padding-left:16px}
  .dz-topic-grid .ess-card{grid-template-columns:60px minmax(0,1fr)!important;gap:11px!important;padding:13px 12px!important}
  .dz-topic-grid .ess-card-img{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;flex-basis:60px!important}
  .dz-topic-grid .ess-ico-wrap{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  .dz-topic-grid .ess-card-t{font-size:17px!important}
}
@media(min-width:700px){
  #essentials-head,#basics-head{padding-left:28px!important;padding-right:28px!important}
  .ess-carousel.dz-topic-grid,.dz-topic-grid{grid-auto-columns:360px!important;padding-left:28px!important;padding-right:76px!important;scroll-padding-left:28px}
}
.dz-catalog-back{width:100%;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:16px;padding:11px 14px;font-size:14px;font-weight:850;cursor:pointer;margin-bottom:11px;text-align:left}
.dz-verb-intro{margin:4px 0 18px;padding:clamp(18px,5vw,24px);border-radius:24px;border:1.5px solid rgba(126,176,255,.34);background:linear-gradient(150deg,rgba(20,49,94,.97),rgba(8,25,57,.98));box-shadow:0 14px 38px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.045);text-align:left}
.dz-verb-intro-kicker{font-size:13px;font-weight:950;color:var(--orange2);letter-spacing:1px}
.dz-verb-intro h3{margin:7px 0 10px;font-size:clamp(25px,6.6vw,31px);line-height:1.18;color:var(--ink)}
.dz-verb-intro p{margin:9px 0;font-size:clamp(16px,4.2vw,18px);line-height:1.55;color:var(--sub)}
.dz-verb-tip{padding:11px 13px;border-radius:15px;background:rgba(254,168,45,.09);border:1px solid rgba(254,168,45,.22);color:var(--ink)!important}
.dz-verb-tip>span{color:var(--orange2);font-size:24px;line-height:0;vertical-align:-2px}
.dz-verb-forms{display:grid;grid-template-columns:1fr;gap:9px;margin-top:15px}
.dz-verb-forms>div{min-width:0;padding:12px 13px;border-radius:16px;border:1px solid rgba(126,176,255,.20);background:rgba(77,141,255,.09);font-size:15.5px;line-height:1.45;color:var(--sub);overflow-wrap:anywhere}
.dz-verb-forms>div b{display:inline-block;margin-bottom:3px;color:#9fc3ff;font-size:13px;letter-spacing:.25px}
.dz-verb-forms>div span{color:var(--ink);font-weight:800}
.dz-verb-start{display:flex!important;align-items:center;justify-content:center;gap:9px;width:100%;min-height:56px;margin-top:18px!important;font-size:18px!important}
.dz-verb-start svg{flex:0 0 auto}
@media(min-width:700px){.dz-verb-forms{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Error feedback uses the same grammar source as Pocket Teacher. */
.dz-error-rule{margin-top:12px;padding:12px 13px;border-radius:15px;border:1px solid rgba(254,168,45,.35);background:rgba(254,168,45,.08);text-align:left}
.dz-error-rule .dz-er-title{font-size:14px;font-weight:900;color:var(--orange2)}
.dz-error-rule .dz-er-body{font-size:13.5px;line-height:1.5;color:var(--sub);margin-top:5px}
.dz-attempt{font-size:12px;color:var(--mut);margin:0 0 7px}
/* Celebration is visible long enough to feel rewarding, without blocking Continue. */
.dz-success-halo{position:fixed;z-index:9700;left:50%;top:46%;transform:translate(-50%,-50%);font-size:50px;pointer-events:none;animation:dzCelebrate 2.55s ease-out both}
@keyframes dzCelebrate{0%{opacity:0;transform:translate(-50%,-35%) scale(.55)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}65%{opacity:1;transform:translate(-50%,-56%) scale(1)}100%{opacity:0;transform:translate(-50%,-78%) scale(.88)}}
/* Manual speech review. */
.dz-speech-result{margin-top:12px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);text-align:left}
.dz-speech-result .heard{font-size:18px;font-weight:900;color:var(--ink);margin-top:4px;overflow-wrap:anywhere}
.dz-action-row{display:flex;gap:8px;margin-top:12px}.dz-action-row button{flex:1;border-radius:14px;padding:11px 10px;font-size:13.5px;font-weight:850;cursor:pointer}
/* AI guided conversation: modal, not a general chatbot. */
.dz-ai-chip{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;border:1.5px solid rgba(126,176,255,.35);background:rgba(77,141,255,.12);color:var(--ink);border-radius:17px;padding:12px 14px;font-size:14px;font-weight:900;cursor:pointer;margin:9px 0 2px}
.dz-ai-modal{position:fixed;inset:0;z-index:9999;background:rgba(1,5,18,.74);backdrop-filter:blur(7px);display:flex;align-items:flex-end;justify-content:center}
.dz-ai-sheet{width:min(590px,100%);max-height:90dvh;overflow:auto;background:#09162F;border:1px solid rgba(255,255,255,.16);border-radius:26px 26px 0 0;padding:18px 18px calc(20px + var(--dz-safe-bottom));box-shadow:0 -14px 50px rgba(0,0,0,.5)}
.dz-ai-msg{padding:11px 13px;border-radius:17px;margin:8px 0;line-height:1.45;font-size:16px}.dz-ai-msg.ai{background:rgba(77,141,255,.14);border:1px solid rgba(77,141,255,.24)}.dz-ai-msg.user{background:rgba(47,179,155,.12);border:1px solid rgba(47,179,155,.24);margin-left:26px}
.dz-mode-row{display:flex;gap:7px;margin:10px 0;overflow-x:auto}.dz-mode-row button{flex:1;min-width:90px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--ink);padding:10px;font-weight:850}
.dz-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.dz-score-grid>div{text-align:center;padding:9px 5px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.05)}.dz-score-grid b{display:block;font-size:18px;color:var(--teal)}.dz-score-grid span{font-size:10px;color:var(--mut)}
/* Large enough controls; responsive text remains readable. */
@media(max-width:430px){.opt{font-size:16px!important;min-height:50px}.cta{font-size:16px!important}.chip{font-size:15px!important}}

/* Every circular control keeps a true 1:1 box. In particular, the global
   44px touch target can no longer stretch a 32px-wide audio button into an oval. */
button.dz-round-icon,button[style*="border-radius:50%"]{box-sizing:border-box!important;min-width:44px!important;min-height:44px!important;aspect-ratio:1/1!important;flex-shrink:0!important;padding:0!important;border-radius:50%!important}
#dz-tools-toggle,#float-tools .fbtool,#dz-sections .eb-ico,.ess-card-img,.ess-ico-wrap,.basic-card .bc-ico,.mc-mini-ball,.header-icon-btn,.sec-card .sc-arrow{aspect-ratio:1/1!important;flex-shrink:0!important}

/* Reading controls live before the passage and remain solid orange in both
   translation states, as requested. */
.dz-reading-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0 8px}
.dz-reading-tool{width:100%;min-width:0;border:1.5px solid rgba(255,255,255,.22)!important;border-radius:16px!important;padding:12px 9px!important;background:linear-gradient(135deg,var(--orange2),var(--orange-deep))!important;color:#071126!important;box-shadow:0 6px 16px rgba(254,168,45,.22);font-size:15px!important;font-weight:900!important;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;white-space:normal;text-align:center}
.dz-reading-tool[aria-pressed="true"]{outline:2px solid rgba(255,255,255,.72);outline-offset:2px}
.dz-reading-line-audio{width:44px!important;height:44px!important;flex:0 0 44px!important;margin-top:1px}
.dz-reading-copy{min-width:0;flex:1}
.dz-reading-en{font-size:19px!important;line-height:1.48!important}
.dz-reading-translation{font-size:16px!important;line-height:1.48!important;margin-top:5px!important}

/* Legibility floor for the two study catalogues. These labels were 9–12px in
   the inherited layout, which is too small on a real phone. */
#s-essentials .mc-mini-item,#s-basics .mc-mini-item{width:88px!important;gap:7px!important}
#s-essentials .mc-mini-ball,#s-basics .mc-mini-ball{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important}
#s-essentials .mc-mini-label,#s-basics .mc-mini-label{font-size:12px!important;line-height:1.28!important;max-width:88px!important;font-weight:800!important}
#s-essentials .mc-gchip,#s-basics .mc-gchip,#s-essentials .mc-mastered-chip,#s-basics .mc-mastered-chip{font-size:13px!important;padding:7px 11px!important}
#s-essentials .mc-stat-l,#s-basics .mc-stat-l{font-size:12px!important;line-height:1.25!important;letter-spacing:.2px!important}
#s-essentials .mc-stat-v,#s-basics .mc-stat-v{font-size:17px!important}
#s-essentials .mc-cta-locked,#s-basics .mc-cta-locked{font-size:14px!important;line-height:1.4!important}
#s-essentials .mc-flash-hint,#s-basics .mc-flash-hint{font-size:13.5px!important}
#s-essentials .mc-flash-ex,#s-basics .mc-flash-ex{font-size:16px!important;line-height:1.5!important}
#s-essentials .mc-flash-ex span,#s-basics .mc-flash-ex span{font-size:15px!important;line-height:1.45!important;margin-top:5px!important}
#s-essentials .mc-q-type,#s-basics .mc-q-type{font-size:13px!important;line-height:1.35!important}
#s-essentials .mc-q-sub,#s-basics .mc-q-sub{font-size:15px!important;line-height:1.45!important}
#s-essentials .mc-q-progress .cnt,#s-basics .mc-q-progress .cnt{font-size:13px!important}
#s-essentials .mc-match-item,#s-basics .mc-match-item{font-size:15px!important;line-height:1.35!important;padding:11px 9px!important}
#s-essentials .mc-fb,#s-basics .mc-fb{font-size:15px!important;line-height:1.4!important}
#s-essentials .mc-word-chip,#s-basics .mc-word-chip{font-size:15px!important;line-height:1.35!important;padding:9px 12px!important}
@media(max-width:350px){.dz-reading-tools{grid-template-columns:1fr}.dz-reading-tool{min-height:44px}}
@media(prefers-reduced-motion:reduce){.dz-success-halo{animation:none!important;opacity:1}.dz-ai-sheet,#float-tools{transition:none!important}}

/* ========================================================================
   Visual Standard V2 — one readable scale across the whole application
   ========================================================================
   The catalogue redesign established the app's reference scale. This layer
   brings the remaining screens to the same family without touching generated
   content, pedagogical data, progress keys, navigation or click handlers. */
:root{
  --dz-text-caption:clamp(13px,3.25vw,14px);
  --dz-text-support:clamp(14px,3.65vw,15.5px);
  --dz-text-body:clamp(15.5px,4vw,17px);
  --dz-text-card:clamp(17px,4.55vw,19px);
  --dz-text-heading:clamp(25px,6.8vw,31px);
  --dz-card-radius:21px;
  --dz-card-pad:clamp(15px,4vw,19px);
  --dz-card-min:78px;
}
body{font-size:var(--dz-text-body);line-height:1.45}

/* Shared list cards: lessons, reading, favourites, notes, profile and tracks. */
.row-card{
  min-height:var(--dz-card-min);gap:15px!important;padding:var(--dz-card-pad)!important;
  border-radius:var(--dz-card-radius)!important;
  background:linear-gradient(145deg,rgba(18,42,82,.90),rgba(8,24,53,.94))!important;
  box-shadow:0 9px 25px rgba(0,0,0,.20)!important
}
.row-badge{width:50px!important;height:50px!important;min-width:50px!important;border-radius:50%!important;font-size:16px!important}
.row-card>div[style*="flex:1"]>div:first-child{font-size:var(--dz-text-card)!important;line-height:1.28!important}
.row-card>div[style*="flex:1"]>div:not(:first-child),
.row-card>div[style*="flex:1"]>span{font-size:var(--dz-text-support)!important;line-height:1.42!important;margin-top:4px}

/* Headings and subtitles generated inline by the legacy renderers. */
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:23px"]{font-size:var(--dz-text-heading)!important;line-height:1.18!important;letter-spacing:-.35px}
:is(#quiz-area,#shadow-area,#reading-area,#difficulty-body,#favorites-body,#notes-body)
  [style*="font-size:13.5px"]{font-size:var(--dz-text-support)!important;line-height:1.48!important}

/* Replace inherited 10–13px information text only inside content zones. */
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:10px"],
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:10.5px"],
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:11px"],
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:11.5px"]{font-size:var(--dz-text-caption)!important;line-height:1.4!important}
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:12px"],
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:12.5px"],
:is(#today-content,#lessons-list,#quiz-area,#shadow-area,#profile-body,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:13px"]{font-size:var(--dz-text-support)!important;line-height:1.45!important}
:is(#lessons-list,#quiz-area,#shadow-area,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:14.5px"],
:is(#lessons-list,#quiz-area,#shadow-area,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:15px"],
:is(#lessons-list,#quiz-area,#shadow-area,#favorites-body,#tracks-body,#track-detail-body,#difficulty-body,#notes-body,#reading-area)
  [style*="font-size:16px"]{font-size:var(--dz-text-card)!important;line-height:1.3!important}

/* Plan of today: compact remains compact, but never tiny. */
.today-card{padding:var(--dz-card-pad)!important;border-radius:var(--dz-card-radius)!important;box-shadow:0 9px 25px rgba(0,0,0,.20)!important}
.today-label{font-size:var(--dz-text-caption)!important;line-height:1.3!important;letter-spacing:.75px!important}
.today-value{font-size:clamp(22px,5.7vw,26px)!important}
.today-kpi{min-height:105px;padding:15px!important;border-radius:18px!important}
.today-action{min-height:52px;padding:14px 16px!important;font-size:var(--dz-text-body)!important;border-radius:17px!important}
.goal-chip{min-height:46px!important;font-size:var(--dz-text-support)!important}

/* Quiz and shadowing use generated cards rather than .row-card. */
#quiz-area>div:nth-child(2)>.press,
#shadow-area>div:nth-child(2)>.press{
  min-height:82px!important;padding:15px 16px!important;gap:15px!important;border-radius:21px!important;
  background:linear-gradient(145deg,rgba(18,42,82,.90),rgba(8,24,53,.94))!important;
  box-shadow:0 9px 25px rgba(0,0,0,.20)
}
#quiz-area>div:nth-child(2)>.press>div[style*="border-radius:50%"],
#shadow-area>div:nth-child(2)>.press>div[style*="border-radius:50%"]{
  width:50px!important;height:50px!important;min-width:50px!important;aspect-ratio:1/1!important
}

/* Profile cards and labels follow the same readable hierarchy. */
#profile-title{font-size:var(--dz-text-heading)!important;line-height:1.18!important}
#profile-body>div[style*="grid-template-columns:1fr 1fr"]>div{min-height:126px!important;padding:18px!important;border-radius:21px!important}
#profile-body>div[style*="grid-template-columns:1fr 1fr"] [style*="font-size:11px"]{font-size:var(--dz-text-support)!important}
#profile-body>div[style*="grid-template-columns:1fr 1fr"] [style*="font-size:26px"]{font-size:30px!important}
.dz-access-card{grid-template-columns:50px 1fr!important;padding:17px!important;border-radius:21px!important}
.dz-access-icon{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;aspect-ratio:1/1!important;border-radius:50%!important}
.dz-access-copy strong{font-size:var(--dz-text-card)!important}.dz-access-copy span{font-size:var(--dz-text-support)!important}.dz-access-copy small{font-size:var(--dz-text-caption)!important}

/* Home: preserve the 2×3 Explore grid, with a legible label and larger touch card. */
#dz-explore-label{font-size:14px!important;letter-spacing:2px!important}
#dz-sections{gap:10px!important}
#dz-sections .explore-ball{min-height:104px!important;padding:10px 6px 9px!important;border-radius:20px!important}
#dz-sections .eb-ico{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important}
#dz-sections .eb-t{font-size:clamp(13px,3.5vw,15px)!important;line-height:1.18!important;min-height:34px!important}
#s-path #dz-title{font-size:clamp(22px,5.8vw,27px)!important;line-height:1.16!important}
#s-path #dz-sub{font-size:var(--dz-text-support)!important;line-height:1.35!important}
#s-path #dz-prog,#s-path #dz-mins,#s-path #dz-today-label,#s-path #dz-today-days{font-size:var(--dz-text-support)!important;line-height:1.35!important}
#s-path #dz-btn{font-size:clamp(17px,4.5vw,19px)!important;min-height:52px!important}
@media(max-height:740px){
  #dz-sections{gap:7px!important}
  #dz-sections .explore-ball{min-height:86px!important;padding:7px 4px 6px!important}
  #dz-sections .eb-ico{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important}
  #dz-sections .eb-t{font-size:12.5px!important;line-height:1.15!important;min-height:29px!important}
  #s-path #dz-title{font-size:20px!important}
  #s-path #dz-sub{font-size:13px!important}
}

/* Bottom navigation is persistent information, so it gets a readable floor too. */
.nav-tab{font-size:12.5px!important;gap:4px!important;padding-top:10px!important;padding-bottom:9px!important}
.nav-tab svg{width:23px!important;height:23px!important}

/* A single restrained icon behaviour across content screens. */
@keyframes dzIconBreathe{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 3px var(--dz-icon-glow,rgba(126,176,255,.30))) brightness(1)}
  50%{transform:scale(1.035);filter:drop-shadow(0 0 10px var(--dz-icon-glow,rgba(126,176,255,.48))) brightness(1.07)}
}
:is(.eb-ico,.row-badge,.ess-card-img,.basic-card .bc-ico,.today-ico-wrap,.dz-access-icon,.dz-offer-mark,.pt-icon,.sc-ico,.mc-mini-ball,.header-icon-btn,.dz-carousel-arrow),
#dz-tools-toggle,#float-tools .fbtool,button.dz-round-icon>svg,button[style*="border-radius:50%"]>svg,
#quiz-area>div:nth-child(2)>.press>div[style*="border-radius:50%"],
#shadow-area>div:nth-child(2)>.press>div[style*="border-radius:50%"]{
  box-sizing:border-box!important;aspect-ratio:1/1!important;flex-shrink:0!important;
  transform-origin:center;will-change:transform,filter;
  animation:dzIconBreathe 4.2s ease-in-out infinite!important
}
:is(.row-card,.ess-card,.basic-card,.explore-ball,.sec-card):nth-child(3n+2) :is(.row-badge,.ess-card-img,.bc-ico,.eb-ico,.sc-ico){animation-delay:.35s!important}
:is(.row-card,.ess-card,.basic-card,.explore-ball,.sec-card):nth-child(3n) :is(.row-badge,.ess-card-img,.bc-ico,.eb-ico,.sc-ico){animation-delay:.7s!important}
.nav-tab.on svg{filter:drop-shadow(0 0 7px rgba(254,168,45,.65));animation:dzNavGlow 3.8s ease-in-out infinite}
@keyframes dzNavGlow{0%,100%{filter:drop-shadow(0 0 3px rgba(254,168,45,.34))}50%{filter:drop-shadow(0 0 9px rgba(254,168,45,.74))}}

/* Tablet/desktop: grow density, not individual elements without limit. */
@media(min-width:700px){
  :root{--dz-card-min:84px;--dz-card-pad:18px}
  .row-badge{width:54px!important;height:54px!important;min-width:54px!important}
  #dz-sections .explore-ball{min-height:112px!important}
}

/* Accessibility: motion-sensitive users receive the glow colour, but no pulse. */
@media(prefers-reduced-motion:reduce){
  :is(.eb-ico,.row-badge,.ess-card-img,.basic-card .bc-ico,.today-ico-wrap,.dz-access-icon,.dz-offer-mark,.pt-icon,.sc-ico,.mc-mini-ball,.header-icon-btn,.dz-carousel-arrow),
  #dz-tools-toggle,#float-tools .fbtool,button.dz-round-icon>svg,button[style*="border-radius:50%"]>svg,
  #quiz-area>div:nth-child(2)>.press>div[style*="border-radius:50%"],
  #shadow-area>div:nth-child(2)>.press>div[style*="border-radius:50%"],
  .nav-tab.on svg{animation:none!important;transform:none!important;will-change:auto!important}
}

/* ========================================================================
   Pocket Guide V1 — contextual feedback and learner questions
   ======================================================================== */
html.dz-doubt-open,html.dz-doubt-open body{overflow:hidden!important}
#lfb{padding-bottom:calc(18px + var(--dz-safe-bottom))!important}
#lfb::before{content:'';position:fixed;inset:0;background:rgba(2,7,20,.48);backdrop-filter:blur(3px);z-index:-1;pointer-events:none}
.dz-feedback-card{position:relative;max-height:min(76dvh,620px);overflow-y:auto;padding:18px;border:1.5px solid rgba(126,176,255,.30);border-radius:23px;background:linear-gradient(155deg,rgba(17,39,77,.98),rgba(7,20,47,.99));box-shadow:0 -12px 42px rgba(0,0,0,.46);color:var(--ink);animation:dzFeedbackUp .22s ease-out both}
.dz-feedback-card.correct{border-color:rgba(74,222,128,.42)}
.dz-feedback-card.wrong{border-color:rgba(255,122,61,.36)}
.dz-feedback-status{font-size:21px;font-weight:950;color:var(--success);line-height:1.2}
.dz-feedback-important{font-size:var(--dz-text-support);color:var(--sub);margin-top:4px}
.dz-feedback-answer{font-size:clamp(20px,5.6vw,25px);line-height:1.3;font-weight:950;color:var(--terra);margin-top:10px}
.dz-feedback-card .dz-error-rule{max-height:190px;overflow:auto;margin-top:12px}
.dz-feedback-card .dz-er-title{font-size:15px!important}.dz-feedback-card .dz-er-body{font-size:14.5px!important;line-height:1.46!important}
.dz-error-compare{border-color:rgba(126,176,255,.22)!important;background:rgba(77,141,255,.07)!important}
.dz-doubt-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin-top:12px;padding:12px 14px;border:1.5px solid rgba(126,176,255,.42);border-radius:17px;background:rgba(77,141,255,.14);color:#eaf1ff;font-size:16px;font-weight:900;cursor:pointer}
.dz-doubt-trigger svg{color:#8bb8ff;filter:drop-shadow(0 0 7px rgba(77,141,255,.5))}
.dz-feedback-continue{width:100%;min-height:52px;margin-top:9px;padding:14px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--success),var(--success-deep));color:#fff;font-size:17px;font-weight:950;cursor:pointer}
@keyframes dzFeedbackUp{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}

.dz-doubt-modal{position:fixed;inset:0;z-index:11000;display:flex;align-items:flex-end;justify-content:center;background:rgba(2,7,20,.78);backdrop-filter:blur(7px);overscroll-behavior:contain}
.dz-pocket-sheet{box-sizing:border-box;width:min(100%,720px);height:min(96dvh,860px);max-height:calc(100dvh - env(safe-area-inset-top,0px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(126,176,255,.25);border-radius:25px 25px 0 0;background:radial-gradient(circle at 50% -10%,rgba(67,105,195,.20),transparent 34%),linear-gradient(180deg,#0b1c3e 0%,#06132d 100%);box-shadow:0 -18px 62px rgba(0,0,0,.54);color:var(--ink);animation:dzDoubtUp .24s ease-out both}
.dz-pocket-header{display:grid;grid-template-columns:46px minmax(0,1fr) 38px 44px;align-items:center;gap:10px;padding:16px 16px 12px;border-bottom:1px solid rgba(126,176,255,.10)}
.dz-pocket-mark{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(157,117,255,.72);border-radius:50%;background:rgba(117,81,220,.12);color:#a77bff}
.dz-pocket-header h2{margin:0;font-size:clamp(20px,5.3vw,25px);line-height:1.15;font-weight:950;color:#fff}.dz-pocket-header p{margin:3px 0 0;color:#9fb3d8;font-size:13.5px;line-height:1.3}
.dz-pocket-head-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(126,176,255,.22);border-radius:50%;background:rgba(255,255,255,.045);color:#dce8ff;font-size:16px;font-weight:900;cursor:pointer}.dz-pocket-head-btn:hover{background:rgba(126,176,255,.12)}#dz-doubt-x{width:44px;height:44px}
.dz-pocket-privacy{margin:9px 14px 0;padding:9px 11px;border-radius:12px;background:rgba(126,176,255,.08);color:#aebddb;font-size:12px;line-height:1.42}
.dz-pocket-context{flex:0 0 auto;margin:10px 14px 0;border:1px solid rgba(126,176,255,.24);border-radius:16px;background:rgba(55,93,166,.09);overflow:hidden}.dz-pocket-context summary{min-height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;color:#dce8ff;cursor:pointer;list-style:none}.dz-pocket-context summary::-webkit-details-marker{display:none}.dz-pocket-context summary svg{color:#9b75ff}.dz-pocket-context summary span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:780}.dz-pocket-context summary b{font-size:20px;color:#9fb3d8;transition:transform .2s ease}.dz-pocket-context[open] summary b{transform:rotate(180deg)}
.dz-pocket-context-more{display:grid;gap:8px;padding:0 13px 12px}.dz-pocket-context-more>div{padding-top:8px;border-top:1px solid rgba(126,176,255,.10)}.dz-pocket-context-more span{display:block;margin-bottom:3px;color:#8fa6cf;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.35px}.dz-pocket-context-more strong{display:block;color:#e7efff;font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}
.dz-pocket-chat{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:15px 14px 20px;scroll-behavior:smooth}.dz-pocket-intro{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 4px}.dz-pocket-intro-mark{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(126,96,242,.14);color:#a77bff}.dz-pocket-intro p{max-width:420px;margin:12px auto 15px;color:#b4c3df;font-size:14.5px;line-height:1.5}
.dz-pocket-student-row{display:flex;justify-content:flex-end;margin:2px 0 13px}.dz-pocket-student{max-width:min(82%,520px);padding:12px 14px;border-radius:18px 18px 4px 18px;background:linear-gradient(145deg,#28447d,#24376a);color:#fff;font-size:15.5px;line-height:1.45;overflow-wrap:anywhere;box-shadow:0 7px 18px rgba(0,0,0,.16)}
.dz-pocket-answer-card{margin:0 0 13px;padding:15px;border:1px solid rgba(126,176,255,.22);border-radius:20px;background:linear-gradient(150deg,rgba(18,42,82,.96),rgba(9,25,56,.98));box-shadow:0 10px 28px rgba(0,0,0,.20)}.dz-pocket-answer-head{display:flex;align-items:center;gap:9px;color:#a77bff;font-size:14px}.dz-pocket-answer-mark{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(167,123,255,.5);border-radius:50%;background:rgba(126,96,242,.10)}.dz-pocket-answer-main{margin:11px 0 0;color:#fff;font-size:clamp(17px,4.8vw,21px);font-weight:760;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.dz-pocket-section{margin-top:13px;padding-top:12px;border-top:1px solid rgba(126,176,255,.12)}.dz-pocket-section h3,.dz-pocket-example h3,.dz-pocket-tip h3{margin:0 0 5px;color:#9db4dc;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.dz-pocket-section p,.dz-pocket-tip p{margin:0;color:#d5e0f5;font-size:14.5px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}
.dz-pocket-example{display:flex;align-items:center;gap:10px;margin-top:13px;padding:12px 13px;border:1px solid rgba(245,166,35,.40);border-radius:16px;background:rgba(245,166,35,.055)}.dz-pocket-example-copy{min-width:0;flex:1}.dz-pocket-example strong{display:block;color:#fff;font-size:17px;line-height:1.4;overflow-wrap:anywhere}.dz-pocket-example p{margin:3px 0 0;color:#aebddb;font-size:13.5px;line-height:1.4}.dz-pocket-example-hear{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(126,96,242,.14);color:#ad89ff;cursor:pointer}
.dz-pocket-tip{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;margin-top:13px;padding:11px 12px;border:1px solid rgba(69,204,166,.34);border-radius:15px;background:rgba(38,174,136,.07)}.dz-pocket-tip>span{color:#58d7b4}.dz-pocket-tip h3{color:#58d7b4}.dz-pocket-tip p{color:#ccebe3}
.dz-pocket-answer-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin-top:13px}.dz-pocket-answer-actions button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:13px;background:rgba(126,96,242,.10);color:#c9b8ff;font-size:13.5px;font-weight:850;cursor:pointer}.dz-pocket-answer-actions button:hover{background:rgba(126,96,242,.18)}
.dz-pocket-report-link{margin-top:11px;padding:4px 0;border:0;border-bottom:1px dashed rgba(159,179,216,.50);background:transparent;color:#8297bd;font:inherit;font-size:11.5px;cursor:pointer}.dz-pocket-report-panel{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(126,176,255,.10)}.dz-pocket-report-panel p{flex:0 0 100%;margin:0 0 2px;color:#aebddb;font-size:12px}.dz-pocket-report-panel button{min-height:34px;padding:6px 9px;border:1px solid rgba(126,176,255,.18);border-radius:10px;background:rgba(255,255,255,.035);color:#d3ddf0;font-size:11.5px}.dz-pocket-report-panel .dz-pocket-report-thanks{color:#58d7b4}
.dz-pocket-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.dz-pocket-chips button{min-height:38px;padding:8px 11px;border:1px solid rgba(126,176,255,.23);border-radius:18px;background:rgba(55,93,166,.09);color:#c7d4eb;font-size:12.5px;line-height:1.25;cursor:pointer}.dz-pocket-followups{justify-content:flex-start;margin:2px 0 15px}.dz-pocket-followups button{display:flex;align-items:center;gap:6px}
.dz-pocket-loading{width:max-content;display:flex;gap:5px;margin:0 0 13px;padding:13px 15px;border:1px solid rgba(126,176,255,.16);border-radius:16px;background:rgba(255,255,255,.035)}.dz-pocket-loading span{width:7px;height:7px;border-radius:50%;background:#9a78f5;animation:dzPocketThinking 1.1s infinite ease-in-out}.dz-pocket-loading span:nth-child(2){animation-delay:.14s}.dz-pocket-loading span:nth-child(3){animation-delay:.28s}
.dz-pocket-error{margin:0 0 13px;padding:13px;border:1px solid rgba(245,166,35,.28);border-radius:16px;background:rgba(245,166,35,.06)}.dz-pocket-error p{margin:0;color:#e3e9f5;font-size:14px;line-height:1.45}.dz-pocket-error button{margin-top:9px;min-height:39px;padding:8px 12px;border:1px solid rgba(245,166,35,.38);border-radius:12px;background:transparent;color:#ffc36a;font-weight:850}
.dz-pocket-composer{flex:0 0 auto;padding:10px 12px calc(10px + var(--dz-safe-bottom));border-top:1px solid rgba(126,176,255,.13);background:rgba(5,17,40,.96);box-shadow:0 -10px 28px rgba(0,0,0,.15)}.dz-pocket-transcript{margin:0 3px 7px;color:#96a9cb;font-size:11.5px}.dz-pocket-input-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 50px;align-items:end;gap:7px;padding:6px 6px 6px 13px;border:1px solid rgba(126,176,255,.26);border-radius:20px;background:rgba(255,255,255,.04)}.dz-pocket-input-row textarea{box-sizing:border-box;width:100%;min-height:42px;max-height:112px;resize:none;padding:10px 0;border:0;background:transparent;color:#fff;font:650 16px/1.4 inherit;outline:none;overflow-y:auto}.dz-pocket-input-row textarea::placeholder{color:#7890ba}.dz-pocket-mic,.dz-pocket-send{display:flex;align-items:center;justify-content:center;cursor:pointer}.dz-pocket-mic{width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:#9fb3d8}.dz-pocket-mic.listening{color:#ffb24d;background:rgba(245,166,35,.10);animation:dzIconBreathe 1.1s ease-in-out infinite}.dz-pocket-send{width:48px;height:48px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--orange1),var(--orange2));color:#fff;box-shadow:0 7px 18px rgba(245,166,35,.25)}.dz-pocket-send:disabled,.dz-pocket-mic:disabled{opacity:.45;cursor:not-allowed}
.dz-pocket-sheet button:focus-visible,.dz-pocket-sheet textarea:focus-visible,.dz-pocket-sheet summary:focus-visible{outline:3px solid rgba(126,176,255,.75);outline-offset:2px}
.dz-legal-links{display:flex;justify-content:center;align-items:center;gap:9px;padding:8px 0 18px;color:var(--mut);font-size:12.5px}.dz-legal-links a{color:var(--sub);text-decoration:underline;text-underline-offset:3px}
@keyframes dzDoubtUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes dzPocketThinking{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1}}
@media(min-width:700px){.dz-doubt-modal{align-items:center;padding:24px}.dz-pocket-sheet{height:min(86dvh,820px);border-radius:25px}.dz-pocket-chat{padding-left:22px;padding-right:22px}.dz-pocket-context{margin-left:22px;margin-right:22px}.dz-pocket-composer{padding-left:22px;padding-right:22px}}
@media(max-width:350px){.dz-pocket-header{grid-template-columns:40px minmax(0,1fr) 34px 40px;gap:7px;padding-left:11px;padding-right:11px}.dz-pocket-mark{width:40px;height:40px}.dz-pocket-header h2{font-size:19px}.dz-pocket-header p{font-size:12px}.dz-pocket-context,.dz-pocket-privacy{margin-left:10px;margin-right:10px}.dz-pocket-chat{padding-left:10px;padding-right:10px}.dz-pocket-answer-card{padding:13px}.dz-pocket-answer-actions{grid-template-columns:1fr}.dz-pocket-composer{padding-left:8px;padding-right:8px}.dz-pocket-input-row{grid-template-columns:minmax(0,1fr) 40px 46px;padding-left:10px}.dz-pocket-mic{width:38px}.dz-pocket-send{width:44px;height:44px}.dz-pocket-student{max-width:90%}}
@media(prefers-reduced-motion:reduce){.dz-feedback-card,.dz-pocket-sheet,.dz-pocket-loading span,.dz-pocket-mic.listening{animation:none!important}.dz-pocket-chat{scroll-behavior:auto}}

/* Professor sob demanda: fica sempre ao alcance durante a lição, acima da
   navegação e fora da área do enunciado. O rótulo some em telas muito estreitas
   para preservar espaço, mas o alvo de toque continua com 50px. */
#dz-doubt-fab{position:fixed;right:max(14px,calc((100vw - 520px)/2 + 14px));bottom:calc(78px + var(--dz-safe-bottom));z-index:9700;display:flex;align-items:center;justify-content:center;gap:8px;min-width:52px;min-height:52px;padding:0 16px;border:1px solid rgba(151,122,255,.58);border-radius:26px;background:linear-gradient(145deg,#635ccf,#7656d9);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 24px rgba(58,47,150,.40);cursor:pointer;animation:dzDoubtFabBreathe 4s ease-in-out infinite}
body:has(#s-lesson:not(.hidden)) #dz-doubt-fab{bottom:calc(76px + var(--dz-safe-bottom))}
html.dz-doubt-open #dz-doubt-fab{visibility:hidden;pointer-events:none}
#dz-doubt-fab svg{flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}
@keyframes dzDoubtFabBreathe{0%,100%{transform:scale(1);box-shadow:0 8px 26px rgba(90,77,220,.38),0 0 12px rgba(126,113,255,.20)}50%{transform:scale(1.035);box-shadow:0 10px 30px rgba(90,77,220,.50),0 0 22px rgba(126,113,255,.34)}}
@media(max-width:430px){#dz-doubt-fab{width:52px;padding:0;border-radius:50%}#dz-doubt-fab span{display:none}}
@media(prefers-reduced-motion:reduce){#dz-doubt-fab{animation:none!important}}
.mc-error-why{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.13);font-size:14px;line-height:1.42;color:var(--sub);font-weight:700}

/* ========================================================================
   RESPONSIVE THEMES V1 — visual system shared by every Deszera screen
   ======================================================================== */
:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--radius-pill:999px;
  --header-height:64px;--bottom-nav-height:76px;--content-max-width:520px;
  --orange:#f5a623;--orange-strong:#ff9418;--green:#22c96b;--blue:#3488f4;--violet:#7b55e7;--red:#e44949;
  --font-xs:clamp(.72rem,.69rem + .12vw,.78rem);--font-sm:clamp(.82rem,.78rem + .18vw,.90rem);
  --font-md:clamp(.95rem,.90rem + .22vw,1.05rem);--font-lg:clamp(1.15rem,1.06rem + .38vw,1.32rem);--font-xl:clamp(1.45rem,1.30rem + .60vw,1.75rem)
}
html[data-theme="light"]{
  --bg:#f7f8fc;--surface:#fff;--surface-soft:#f2f5fa;--surface-raised:#fff;
  --text-primary:#10234d;--text-secondary:#607092;--text-muted:#657188;
  --border:rgba(16,35,77,.12);--border-strong:rgba(16,35,77,.18);
  --shadow-sm:0 2px 8px rgba(25,48,88,.07);--shadow-md:0 8px 24px rgba(25,48,88,.10);
  --cream:var(--surface-soft);--paper:var(--surface);--ink:var(--text-primary);--sub:var(--text-secondary);--mut:var(--text-muted);--onbg:var(--text-secondary);--line:var(--border);--coral:var(--blue);
  --orange1:#ff9f1c;--orange2:#f47b0b;--orange-deep:#df5f00;--orange-strong:#e96d00;--success:var(--green);--success-deep:#159a50;--wrong:#d83939;--go:#168f49;
  color-scheme:light
}
html[data-theme="dark"]{
  --bg:#07152d;--surface:#10213d;--surface-soft:#132743;--surface-raised:#172c49;
  --text-primary:#f5f8ff;--text-secondary:#bac8e4;--text-muted:#91a0ba;
  --border:rgba(190,211,255,.16);--border-strong:rgba(190,211,255,.24);
  --shadow-sm:0 2px 8px rgba(0,0,0,.18);--shadow-md:0 10px 28px rgba(0,0,0,.25);
  --cream:var(--surface-soft);--paper:var(--surface);--ink:var(--text-primary);--sub:var(--text-secondary);--mut:var(--text-muted);--onbg:var(--text-secondary);--line:var(--border);--coral:#77aaff;
  --orange1:#ff9f1c;--orange2:#f47b0b;--orange-deep:#df5f00;--orange-strong:#ff9418;--success:#35d47a;--success-deep:#18a858;--wrong:#ff7471;--go:#24bc63;
  color-scheme:dark
}
*,*::before,*::after{box-sizing:border-box;min-width:0}
html,body{width:100%;max-width:100%;min-height:100%;overflow-x:hidden;background:var(--bg)!important;color:var(--text-primary)!important}
body{min-height:100dvh;font-size:var(--font-md);line-height:1.45}
#app{width:100%;max-width:var(--content-max-width);min-height:100dvh;margin-inline:auto;background:var(--bg);box-shadow:0 0 0 1px var(--border)}
.screen{width:100%;max-width:100%;min-height:100dvh;background:var(--bg)!important;color:var(--text-primary)}
#bg{display:none!important}
button,input,textarea,select{font:inherit}
button{touch-action:manipulation}
.press{transition:transform .18s ease,opacity .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.press:active{transform:scale(.975)}
.press:disabled{opacity:.48;cursor:not-allowed}
:where(button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 72%,white);outline-offset:2px}
html.dz-theme-ready body,html.dz-theme-ready #app,html.dz-theme-ready .screen,html.dz-theme-ready #bottom-nav{transition:background-color .20s ease,color .20s ease,border-color .20s ease}

/* Global surfaces and typography. */
.row-card,.explore-ball,.mc-stat,.mc-flash-face,.mc-input,.mc-match-item,.dz-access-card,.dz-theme-panel{background:var(--surface)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important;color:var(--text-primary)!important}
.row-card,.sec-card,.basic-card,.ess-card{border-radius:var(--radius-lg)!important}
.row-card>div,.row-card strong,.row-card span,.mc-flash-en,.mc-q-prompt{overflow-wrap:anywhere}
.header-icon-btn{background:var(--surface)!important;border-color:var(--border)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-sm)}
.track,.mc-q-progress .track{background:color-mix(in srgb,var(--text-primary) 11%,transparent)!important}
.opt{width:100%!important;min-height:68px!important;margin-left:0!important;margin-right:0!important;padding:12px 16px 12px 62px!important;border-radius:14px!important;background:var(--surface-raised)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-sm)!important}
.opt-badge{left:14px!important;width:40px!important;height:40px!important;background:var(--surface-soft)!important;border-color:var(--border)!important;color:var(--text-primary)!important}
.opt.right{border-color:color-mix(in srgb,var(--green) 66%,transparent)!important;background:color-mix(in srgb,var(--green) 10%,var(--surface))!important}
.opt.wrong{border-color:color-mix(in srgb,var(--red) 65%,transparent)!important;background:color-mix(in srgb,var(--red) 9%,var(--surface))!important}
.cta,.dz-feedback-continue{background:linear-gradient(135deg,#0f7f3f,#0b6731)!important;color:#fff!important;animation:none!important}
:is(.eb-ico,.row-badge,.ess-card-img,.basic-card .bc-ico,.today-ico-wrap,.dz-access-icon,.dz-offer-mark,.pt-icon,.sc-ico,.mc-mini-ball,.header-icon-btn,.dz-carousel-arrow),.nav-tab.on svg{animation:none!important;will-change:auto!important}

/* The world map belongs only to the current-lesson hero. */
.dz-hero-card{
  width:100%!important;max-width:100%!important;margin:0 auto!important;padding:14px 16px 13px!important;border-radius:24px!important;
  border:1px solid var(--border-strong)!important;box-shadow:var(--shadow-md)!important;backdrop-filter:none!important;animation:none!important;
  background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important
}
html[data-theme="light"] .dz-hero-card{background-image:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.94)),url('img/world-map-bg.png')!important}
html[data-theme="dark"] .dz-hero-card{background-image:linear-gradient(rgba(5,18,42,.76),rgba(5,18,42,.93)),url('img/world-map-bg.png')!important}
.dz-hero-card::before{display:none!important}.dz-hero-card *{animation:none!important}
#s-path>div:first-of-type{min-height:var(--header-height);padding:calc(10px + env(safe-area-inset-top)) 16px 8px!important;align-items:center!important}
#s-path>div:nth-of-type(2){padding:8px 16px calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 10px)!important;overflow-y:auto!important}
#dz-em>div:first-child,#s-path #dz-title{color:var(--text-primary)!important}
#dz-streak{color:var(--text-secondary)!important}
#s-path .dz-hero-card>div[style*="width:172px"]{width:clamp(94px,15dvh,126px)!important;height:clamp(94px,15dvh,126px)!important;margin-top:0!important}
#s-path #dz-ring-svg{width:100%!important;height:100%!important}
#s-path .dz-hero-card>div[style*="width:172px"] img{max-width:92px!important;max-height:92px!important}
#s-path #dz-title{font-size:clamp(20px,5.4vw,24px)!important}
#s-path #dz-sub{font-size:var(--font-sm)!important;color:var(--text-secondary)!important}
#s-path #dz-prog,#s-path #dz-mins{font-size:var(--font-xs)!important;color:var(--text-secondary)!important}
#s-path #dz-btn{min-height:56px!important;border-radius:var(--radius-pill)!important;font-size:var(--font-lg)!important;box-shadow:0 7px 18px color-mix(in srgb,var(--green) 28%,transparent)!important;animation:none!important}
.home-today-btn{min-height:60px!important;border-radius:var(--radius-md)!important;background:color-mix(in srgb,var(--surface) 92%,transparent)!important;border-color:var(--border)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-sm)!important}
#dz-explore-label{margin:10px 0 8px!important;color:var(--text-secondary)!important;font-size:var(--font-sm)!important;letter-spacing:1.7px!important}
#dz-sections{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;overflow:visible!important;padding-bottom:8px!important}
#dz-sections .explore-ball{min-height:108px!important;padding:10px 7px!important;border-radius:19px!important;backdrop-filter:none!important;animation:none!important}
#dz-sections .explore-ball::before,#dz-sections .explore-ball::after{display:none!important}
#dz-sections .eb-ico{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;max-width:50px!important;animation:none!important}
#dz-sections .eb-t{font-size:clamp(12px,3.3vw,14px)!important;line-height:1.2!important;min-height:34px!important;color:var(--text-primary)!important}

/* One identical five-item bottom navigation on every main screen. */
#bottom-nav{
  left:50%!important;right:auto!important;bottom:0!important;transform:translateX(-50%)!important;width:min(100%,var(--content-max-width))!important;max-width:var(--content-max-width)!important;
  height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))!important;padding:7px 8px env(safe-area-inset-bottom)!important;margin:0!important;
  grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;background:color-mix(in srgb,var(--surface) 94%,transparent)!important;
  border-top:1px solid var(--border)!important;box-shadow:0 -6px 24px color-mix(in srgb,#000 15%,transparent)!important;backdrop-filter:blur(16px)!important;z-index:1000!important
}
.nav-tab{min-height:48px!important;padding:5px 2px!important;gap:3px!important;color:var(--text-secondary)!important;font-size:clamp(11px,2.9vw,12.5px)!important;line-height:1.15!important}
.nav-tab.on{color:var(--orange-strong)!important}.nav-tab svg{width:23px!important;height:23px!important;animation:none!important;filter:none!important}
.scr-pad{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 20px)!important}

/* Essentials and Verb Tenses share the same compact catalogue/detail system. */
#s-essentials,#s-basics{background:var(--bg)!important;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))!important}
#essentials-head,#basics-head{padding:calc(14px + env(safe-area-inset-top)) 16px 3px!important}
.dz-menu-title{font-size:var(--font-xl)!important;color:var(--text-primary)!important}.dz-menu-subtitle{font-size:var(--font-sm)!important;color:var(--text-secondary)!important}
.dz-menu-stat-row{margin-top:12px!important;padding:8px!important;background:var(--surface)!important;border-color:var(--border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important}
.dz-menu-stat-row .mc-gchip{font-size:var(--font-sm)!important;color:var(--text-primary)!important}
.dz-menu-explore-head{margin-top:13px!important}.dz-menu-explore-copy strong{font-size:var(--font-lg)!important;color:var(--text-primary)!important}.dz-menu-explore-copy span{font-size:var(--font-sm)!important;color:var(--text-secondary)!important}
.ess-carousel.dz-topic-grid,.dz-topic-grid{
  grid-template-rows:minmax(132px,auto)!important;grid-auto-columns:min(82%,340px)!important;gap:12px!important;
  padding:10px 48px 18px 16px!important;scroll-padding-left:16px!important;scroll-snap-type:x mandatory!important
}
.dz-topic-grid .ess-card{min-height:132px!important;height:132px!important;grid-template-columns:64px minmax(0,1fr)!important;padding:13px!important;border-radius:20px!important;background:var(--surface)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}
.dz-topic-grid .ess-card:hover{background:var(--surface-raised)!important;border-color:var(--border-strong)!important}
.dz-topic-grid .ess-card-t{font-size:var(--font-md)!important;color:var(--text-primary)!important}.dz-topic-grid .ess-card-n,.dz-topic-grid .ess-card-foot{font-size:var(--font-sm)!important;color:var(--text-secondary)!important}
.dz-topic-grid .ess-card-img{width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;animation:none!important}.dz-topic-grid .ess-ico-wrap{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}
.mc-topbar.collapsed{max-height:126px!important}.mc-mini-row{min-height:112px;gap:8px!important;padding:8px 16px 7px!important}.mc-mini-item{width:82px!important;min-width:82px!important}.mc-mini-ball{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;animation:none!important}.mc-mini-label{max-width:82px!important;font-size:11.5px!important;color:var(--text-secondary)!important;line-height:1.2!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
#essentials-list,#basics-detail{padding:7px 16px calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 18px)!important;overflow-y:auto!important}
.dz-catalog-back{min-height:44px;background:var(--surface)!important;border-color:var(--border)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-sm)!important}
.mc-stats-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.mc-stat{height:78px!important;padding:9px 6px!important;display:flex;flex-direction:column;justify-content:center}.mc-stat-v{font-size:clamp(19px,5vw,23px)!important;color:var(--text-primary)!important}.mc-stat-l{font-size:clamp(10px,2.8vw,12px)!important;color:var(--text-secondary)!important;line-height:1.2!important;white-space:normal!important;overflow:visible!important}
.mc-block-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important;overflow:visible!important;padding-bottom:8px!important}.mc-block-tabs>button{width:100%!important;min-width:0!important;min-height:40px!important;padding:7px 3px!important;font-size:clamp(10px,2.9vw,12px)!important;white-space:nowrap!important}
.mc-flash-wrap{height:clamp(210px,29dvh,280px)!important;margin-top:2px!important}.mc-flash{height:100%!important;min-height:0!important}.mc-flash-face{padding:20px!important;border-radius:22px!important;backdrop-filter:none!important}.mc-flash-pt{color:var(--green)!important}.mc-flash-en{font-size:clamp(24px,6.3vw,30px)!important}.mc-flash-ex{font-size:var(--font-md)!important}.mc-flash-ex span{font-size:var(--font-sm)!important}
.mc-flash-dots{min-height:18px;margin-top:7px!important}.mc-dot{background:color-mix(in srgb,var(--text-primary) 18%,transparent)!important}.mc-dot.on{background:var(--orange-strong)!important}.mc-flash-controls{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;gap:12px!important;margin-top:8px!important}.mc-flash-controls>button:first-child,.mc-flash-controls>button:last-child{width:48px!important;height:48px!important}.mc-flash-controls>button:nth-child(2){height:52px!important;border-radius:var(--radius-pill)!important;background:linear-gradient(135deg,var(--orange2),var(--orange-deep))!important;font-size:var(--font-md)!important;color:#fff!important}
.mc-cta-locked{font-size:var(--font-sm)!important;background:var(--surface-soft)!important;border-color:var(--border)!important;color:var(--text-secondary)!important}
.dz-verb-intro{background:var(--surface)!important;border-color:var(--border)!important;box-shadow:var(--shadow-md)!important}.dz-verb-intro p,.dz-verb-forms>div{color:var(--text-secondary)!important}.dz-verb-forms>div{background:var(--surface-soft)!important;border-color:var(--border)!important}.dz-verb-forms>div b{color:var(--blue)!important}.dz-verb-forms>div span{color:var(--text-primary)!important}

/* Exercise layout: full-width answers, safe navigation and reserved help zone. */
#s-lesson{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))!important;background:var(--bg)!important}
#s-lesson-bg{display:none!important}.exercise-topbar{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;padding:calc(10px + env(safe-area-inset-top)) 16px 8px!important;min-height:64px!important}.exercise-topbar>button:first-child{width:48px!important;height:48px!important;border-radius:16px!important;background:var(--surface)!important;border-color:var(--border)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-sm)!important}.exercise-topbar>div[style*="height:10px"]{background:color-mix(in srgb,var(--text-primary) 11%,transparent)!important}.exercise-main{width:100%!important;max-width:520px!important;margin-inline:auto!important;padding:14px 16px calc(86px + env(safe-area-inset-bottom))!important;justify-content:safe center!important;gap:0}.exercise-main>*{max-width:100%}
#larea button[style*="width:92px"]{width:104px!important;height:104px!important;margin:10px auto 18px!important;box-shadow:0 8px 22px color-mix(in srgb,var(--orange) 30%,transparent)!important}
#lfb{left:50%!important;right:auto!important;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;width:min(100%,520px)!important;padding:12px 16px!important;z-index:950!important}.dz-feedback-card{background:var(--surface-raised)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important;box-shadow:0 -12px 34px color-mix(in srgb,#000 20%,transparent)!important}.dz-feedback-important,.dz-feedback-card .dz-er-body{color:var(--text-secondary)!important}

/* Identifiable, collapsible Pocket Teacher. */
#dz-doubt-fab{position:fixed;right:max(12px,calc((100vw - 520px)/2 + 12px));bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 12px);z-index:900;display:flex;align-items:center;max-width:min(146px,calc(100vw - 32px));height:52px;padding:0;border:1px solid color-mix(in srgb,var(--violet) 65%,white);border-radius:var(--radius-pill);background:linear-gradient(135deg,#6543c9,var(--violet));box-shadow:0 7px 20px rgba(70,45,150,.28);animation:none!important;overflow:visible;transition:max-width .20s ease}
.dz-doubt-fab-open{height:50px;min-width:100px;display:flex;align-items:center;gap:7px;padding:3px 6px 3px 4px;border:0;border-radius:var(--radius-pill);background:transparent;color:#fff;font-size:14px;font-weight:800;cursor:pointer}.dz-teacher-avatar{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f3c7a1;border:2px solid rgba(255,255,255,.66);font-size:26px;line-height:1;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}.dz-teacher-help-label{white-space:nowrap}.dz-doubt-fab-toggle{width:44px;height:50px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-left:1px solid rgba(255,255,255,.18);border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:transparent;color:#fff;cursor:pointer}
#dz-doubt-fab.is-collapsed{max-width:52px;border-color:rgba(255,255,255,.35)}#dz-doubt-fab.is-collapsed .dz-doubt-fab-open{min-width:50px;width:50px;padding:3px}#dz-doubt-fab.is-collapsed .dz-teacher-help-label,#dz-doubt-fab.is-collapsed .dz-doubt-fab-toggle{display:none}
html.dz-doubt-open #dz-doubt-fab{visibility:hidden;pointer-events:none}

/* Pocket Teacher sheet follows the selected theme and keyboard viewport. */
.dz-doubt-modal{align-items:flex-end!important;padding:0!important;background:rgba(2,7,20,.56)!important;z-index:1200!important}.dz-pocket-sheet{width:min(100%,520px)!important;height:auto!important;max-height:var(--dz-pocket-max-height,min(78dvh,680px))!important;border-radius:24px 24px 0 0!important;background:var(--surface)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important;box-shadow:0 -12px 40px rgba(0,0,0,.20)!important}.dz-pocket-sheet.dragging{transition:none!important}.dz-pocket-drag-handle{width:42px;height:5px;margin:8px auto 0;border-radius:5px;background:var(--border-strong)}.dz-pocket-header{padding:9px 14px 10px!important;border-color:var(--border)!important;touch-action:pan-y}.dz-pocket-header h2{color:var(--text-primary)!important}.dz-pocket-header p{color:var(--text-secondary)!important}.dz-pocket-head-btn{background:var(--surface-soft)!important;border-color:var(--border)!important;color:var(--text-primary)!important}.dz-pocket-privacy,.dz-pocket-context,.dz-pocket-input-row{background:var(--surface-soft)!important;border-color:var(--border)!important;color:var(--text-secondary)!important}.dz-pocket-context summary,.dz-pocket-context-more strong{color:var(--text-primary)!important}.dz-pocket-context-more span,.dz-pocket-intro p{color:var(--text-secondary)!important}.dz-pocket-chat{padding-bottom:14px!important}.dz-pocket-answer-card{background:var(--surface-raised)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}.dz-pocket-answer-main,.dz-pocket-example strong{color:var(--text-primary)!important}.dz-pocket-section p,.dz-pocket-tip p,.dz-pocket-example p{color:var(--text-secondary)!important}.dz-pocket-composer{background:var(--surface)!important;border-color:var(--border)!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}.dz-pocket-input-row textarea{color:var(--text-primary)!important}.dz-pocket-input-row textarea::placeholder{color:var(--text-muted)!important}.dz-pocket-student{background:linear-gradient(145deg,#31518f,#284274)!important}.dz-pocket-chips button,.dz-pocket-answer-actions button{background:var(--surface-soft)!important;border-color:var(--border)!important;color:var(--violet)!important}.dz-pocket-loading,.dz-pocket-error{background:var(--surface-soft)!important;border-color:var(--border)!important}

/* Appearance controls in Profile. */
.dz-theme-panel{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg)}.dz-theme-heading h2{margin:0;color:var(--text-primary);font-size:var(--font-lg);font-weight:800}.dz-theme-heading p{margin:4px 0 13px;color:var(--text-secondary);font-size:var(--font-sm);line-height:1.4}.dz-theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dz-theme-option{min-height:78px;padding:8px 5px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}.dz-theme-option>span{font-size:23px;line-height:1}.dz-theme-option strong{font-size:var(--font-sm);color:inherit}.dz-theme-option small{max-width:92px;color:var(--text-muted);font-size:9px;line-height:1.15}.dz-theme-option.is-active{border-color:var(--orange)!important;background:color-mix(in srgb,var(--orange) 10%,var(--surface))!important;color:var(--orange-strong)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--orange) 45%,transparent)!important}

/* Explicit light-theme corrections for inherited dark-only inline layers. */
html[data-theme="light"] :is(.dz-ai-sheet,.dz-paywall-sheet){background:var(--surface-raised)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
html[data-theme="light"] #float-tools{background:color-mix(in srgb,var(--surface) 96%,transparent)!important;border-color:var(--border)!important}
html[data-theme="light"] .dz-ai-msg.ai,html[data-theme="light"] .dz-ai-msg.user{color:var(--text-primary)!important}
html[data-theme="light"] input,html[data-theme="light"] textarea{caret-color:var(--text-primary)}

@media(max-width:350px){
  #s-path>div:nth-of-type(2){padding-left:10px!important;padding-right:10px!important}
  #dz-sections{gap:6px!important}#dz-sections .explore-ball{min-height:98px!important;padding:8px 4px!important}#dz-sections .eb-ico{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important}#dz-sections .eb-t{font-size:11.5px!important}
  .ess-carousel.dz-topic-grid,.dz-topic-grid{grid-auto-columns:calc(100vw - 52px)!important;padding-left:12px!important;padding-right:44px!important;scroll-padding-left:12px!important}
  #essentials-list,#basics-detail{padding-left:10px!important;padding-right:10px!important}.mc-stats-row{gap:5px!important}.mc-stat{padding:7px 3px!important}.mc-stat-l{font-size:9.5px!important}.mc-block-tabs{gap:4px!important}.mc-block-tabs>button{font-size:9.5px!important}
  .exercise-main{padding-left:10px!important;padding-right:10px!important}.opt{padding-left:58px!important}.dz-theme-options{gap:5px}.dz-theme-option{padding-inline:2px}
}
@media(max-height:650px){
  #s-path>div:first-of-type{min-height:54px;padding-top:calc(6px + env(safe-area-inset-top))!important}
  #s-path>div:nth-of-type(2){padding-top:4px!important}#s-path .dz-hero-card>div[style*="width:172px"]{width:76px!important;height:76px!important}#s-path .dz-hero-card>div[style*="width:172px"] img{max-width:58px!important;max-height:58px!important}
  #s-path .dz-hero-card{padding:8px 12px!important}#s-path #dz-btn{min-height:48px!important}#dz-explore-label{margin-top:6px!important}#dz-sections .explore-ball{min-height:82px!important}#dz-sections .eb-ico{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important}
  .exercise-main{justify-content:flex-start!important}.mc-flash-wrap{height:210px!important}
}
@media(min-width:700px){
  #app{max-width:520px}.screen{max-width:520px}.dz-doubt-modal{align-items:center!important;padding:24px!important}.dz-pocket-sheet{border-radius:24px!important}.dz-pocket-drag-handle{display:none!important}
  #bottom-nav{width:min(100%,520px)!important;max-width:520px!important}#dz-doubt-fab{right:max(18px,calc((100vw - 520px)/2 + 18px))}
  .ess-carousel.dz-topic-grid,.dz-topic-grid{grid-auto-columns:340px!important}.dz-carousel-arrow{background:var(--surface)!important;color:var(--text-primary)!important;border-color:var(--border)!important}
}
@media(orientation:landscape) and (max-height:600px){.exercise-main{justify-content:flex-start!important;padding-top:8px!important}.dz-pocket-sheet{max-height:88dvh!important}.dz-hero-card{max-width:460px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ========================================================================
   RESPONSIVE THEMES V2 — compact Home and readable light Shadowing
   ======================================================================== */

/* Keep both Explore rows visible: compress only the header and lesson hero. */
#s-path>div:first-of-type{
  min-height:56px!important;
  padding:calc(7px + env(safe-area-inset-top)) 16px 5px!important
}
#s-path #dz-em>div:first-child{font-size:25px!important;line-height:.9!important}
#s-path #dz-em>div:nth-child(2){font-size:11px!important;letter-spacing:5px!important;margin-top:4px!important}
#s-path .header-icon-btn{width:40px!important;height:40px!important}
#s-path>div:nth-of-type(2){padding:5px 16px calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 7px)!important}
#s-path .dz-hero-card{
  padding:9px 12px 8px!important;
  border-radius:21px!important
}

/* The former 172px target ring becomes a compact lesson label. */
#s-path .dz-hero-card>div[style*="width:172px"]{
  width:100%!important;
  height:25px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important
}
#s-path #dz-ring-svg,
#s-path .dz-hero-card>div[style*="width:172px"]>div:first-child,
#s-path #dz-cover-ring,
#s-path #dz-icon-fallback-wrap{display:none!important}
#s-path .dz-hero-card>div[style*="width:172px"]>div[style*="position:absolute;inset:0"]{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important
}
#s-path .dz-hero-card>div[style*="width:172px"]>div[style*="position:absolute;inset:0"]>div{
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  border-radius:0!important
}
#s-path #dz-num{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:23px!important;
  padding:3px 10px!important;
  font-size:9px!important;
  line-height:1!important
}
#s-path .dz-hero-card>div[style*="text-align:center"]{margin-top:3px!important}
#s-path #dz-title{font-size:clamp(19px,5vw,22px)!important;line-height:1.08!important}
#s-path #dz-sub{margin-top:1px!important;line-height:1.2!important}
#s-path .dz-hero-card>div[style*="gap:10px"]{margin-top:2px!important}
#s-path #dz-btn{
  min-height:46px!important;
  margin-top:5px!important;
  padding:7px 10px!important;
  font-size:clamp(15px,4.2vw,18px)!important
}
#s-path .home-today-btn{
  min-height:48px!important;
  max-width:none!important;
  margin-top:5px!important;
  padding:6px 9px!important
}
#s-path .today-ico-wrap{width:30px!important;height:30px!important}
#s-path .today-ring-wrap,#s-path .today-ring-wrap svg{width:34px!important;height:34px!important}
#dz-explore-label{margin:7px 0 7px!important}

/* Do not shrink the Explore cards; only remove internal scrolling on common phones. */
#s-path>div:nth-of-type(2)>div:last-child{overflow-y:visible!important}

/* Light mode: replace legacy dark/grey Shadowing cards and force readable text. */
html[data-theme="light"] #shadow-area .press{
  opacity:1!important;
  background:var(--surface-raised)!important;
  border:1px solid var(--border-strong)!important;
  color:var(--text-primary)!important;
  box-shadow:var(--shadow-sm)!important
}
html[data-theme="light"] #shadow-area .press>div:nth-child(2),
html[data-theme="light"] #shadow-area .press>div:nth-child(2) *{
  color:var(--text-primary)!important;
  opacity:1!important
}
html[data-theme="light"] #shadow-area .press>div:nth-child(2) :is(span,small){color:var(--text-secondary)!important}
html[data-theme="light"] #shadow-area .press>div:last-child{color:var(--text-secondary)!important;opacity:1!important}
html[data-theme="light"] #shadow-area .press.dz-premium-locked,
html[data-theme="light"] #shadow-area .press[aria-disabled="true"],
html[data-theme="light"] #shadow-area .press[onclick=""],
html[data-theme="light"] #shadow-area .press[style*="cursor:default"],
html[data-theme="light"] #shadow-area .press:disabled{
  background:#e8edf5!important;
  border-color:rgba(16,35,77,.16)!important;
  color:#3b4f70!important
}
html[data-theme="light"] #shadow-area .press.dz-premium-locked>div:nth-child(2),
html[data-theme="light"] #shadow-area .press.dz-premium-locked>div:nth-child(2) *,
html[data-theme="light"] #shadow-area .press[aria-disabled="true"]>div:nth-child(2),
html[data-theme="light"] #shadow-area .press[aria-disabled="true"]>div:nth-child(2) *,
html[data-theme="light"] #shadow-area .press[onclick=""]>div:nth-child(2),
html[data-theme="light"] #shadow-area .press[onclick=""]>div:nth-child(2) *,
html[data-theme="light"] #shadow-area .press[style*="cursor:default"]>div:nth-child(2),
html[data-theme="light"] #shadow-area .press[style*="cursor:default"]>div:nth-child(2) *{
  color:#526482!important;
  opacity:1!important
}

@media(max-height:760px){
  #s-path>div:first-of-type{min-height:52px!important;padding-top:calc(5px + env(safe-area-inset-top))!important}
  #s-path #dz-em>div:first-child{font-size:23px!important}
  #s-path .dz-hero-card{padding-top:7px!important;padding-bottom:7px!important}
  #s-path #dz-btn{min-height:44px!important}
  #s-path .home-today-btn{min-height:45px!important}
  #dz-explore-label{margin-top:5px!important}
}

/* ========================================================================
   EXERCISE POLISH V3 — audio, fixed-height cards, matching and full answers
   ======================================================================== */

/* Audio actions use the app's vivid orange; the slow model is blue. */
#s-lesson button[onclick*="sayAsset"],
#s-lesson button[onclick*="speak("],
#s-lesson button[onclick*="say("]{
  background:linear-gradient(135deg,#ffad32,#f47b0b)!important;
  border-color:#ffc261!important;
  color:#fff!important;
  box-shadow:0 7px 18px color-mix(in srgb,#f47b0b 27%,transparent)!important
}
#s-lesson button[onclick*="sayAsset"][onclick*="0.6"],
#s-lesson button[onclick*="sayAsset"][onclick*="0.7"],
#s-lesson button[onclick*="sayAsset"][onclick*="0.8"]{
  background:linear-gradient(135deg,#55a8ff,#2877de)!important;
  border-color:#87c2ff!important;
  box-shadow:0 7px 18px color-mix(in srgb,#2877de 26%,transparent)!important
}
#larea[data-step-kind="pick"] button[style*="width:92px"],
#larea[data-step-kind="revpick"] button[style*="width:92px"],
#larea[data-step-kind="rcy_pick"] button[style*="width:92px"]{
  background:linear-gradient(135deg,#ffad32,#f47b0b)!important;
  border-color:#ffc261!important
}
.mc-flash-controls>button:nth-child(2){
  background:linear-gradient(135deg,#ffad32,#f47b0b)!important;
  border-color:#ffc261!important
}

/* Short vocabulary cards keep one predictable footprint and fit the common
   mobile viewport. Authored long passages keep their natural scroll. */
#larea[data-step-kind="card"].dz-short-card>.rise:first-child{
  height:min(390px,52dvh)!important;
  min-height:292px!important;
  margin-top:0!important;
  padding:clamp(13px,2dvh,20px) 18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  overflow:hidden!important
}
#larea[data-step-kind="card"].dz-short-card .dz-emoji-anchor{
  width:clamp(112px,21dvh,168px)!important;
  height:clamp(112px,21dvh,168px)!important;
  margin:0 auto clamp(7px,1.4dvh,12px)!important
}
#larea[data-step-kind="card"].dz-short-card>.rise:first-child>div[style*="margin-top:20px"]{
  margin-top:12px!important
}
#larea[data-step-kind="card"].dz-short-card+.rise,
#larea[data-step-kind="card"].dz-short-card>div[style*="margin-top:14px"]{
  margin-top:10px!important
}

/* Listen-and-choose options span the entire usable exercise width. */
#larea[data-step-kind="pick"] #po,
#larea[data-step-kind="revpick"] #po,
#larea[data-step-kind="rcy_pick"] #po{
  width:calc(100% + 32px)!important;
  max-width:none!important;
  margin-left:-16px!important;
  margin-right:-16px!important
}
#larea[data-step-kind="pick"] #po>.opt,
#larea[data-step-kind="revpick"] #po>.opt,
#larea[data-step-kind="rcy_pick"] #po>.opt{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  text-align:left!important
}

/* Matching: English is blue, the support-language column is green. */
.dz-match-title{
  margin:6px 0 14px;
  color:var(--text-secondary);
  font-size:13px;
  font-weight:850;
  letter-spacing:.55px;
  text-align:center;
  text-transform:uppercase
}
.dz-match-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 9px;
  width:100%;
  align-items:stretch
}
.dz-match-option{
  width:100%!important;
  min-width:0!important;
  min-height:78px!important;
  padding:11px 9px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1.5px solid var(--border-strong)!important;
  border-radius:17px!important;
  color:var(--text-primary)!important;
  font-size:clamp(14px,4vw,17px)!important;
  font-weight:750!important;
  line-height:1.25!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
  box-shadow:var(--shadow-sm)!important
}
.dz-match-en{
  background:color-mix(in srgb,var(--blue) 12%,var(--surface-raised))!important;
  border-color:color-mix(in srgb,var(--blue) 34%,var(--border))!important
}
.dz-match-native{
  background:color-mix(in srgb,var(--green) 11%,var(--surface-raised))!important;
  border-color:color-mix(in srgb,var(--green) 33%,var(--border))!important
}
.dz-match-option.is-selected{
  background:linear-gradient(145deg,#438ff4,#286bc9)!important;
  border-color:#9dccff!important;
  color:#fff!important;
  transform:translateY(-1px)
}
.dz-match-option.is-correct{
  background:linear-gradient(145deg,#34cf7b,#159653)!important;
  border-color:#9af0be!important;
  color:#fff!important
}
.dz-match-option.is-wrong{
  background:linear-gradient(145deg,#ff8582,#e44f53)!important;
  border-color:#ffc1c0!important;
  color:#fff!important
}
.dz-match-option:disabled{opacity:.72!important}

@media(max-width:350px){
  #larea[data-step-kind="pick"] #po,
  #larea[data-step-kind="revpick"] #po,
  #larea[data-step-kind="rcy_pick"] #po{width:calc(100% + 20px)!important;margin-inline:-10px!important}
  .dz-match-grid{gap:8px 7px}.dz-match-option{min-height:70px!important;padding:9px 6px!important;font-size:13.5px!important}
  #larea[data-step-kind="card"].dz-short-card>.rise:first-child{min-height:280px!important;height:min(360px,51dvh)!important;padding-inline:13px!important}
}

@media(max-height:650px){
  #larea[data-step-kind="card"].dz-short-card>.rise:first-child{height:min(335px,50dvh)!important;min-height:260px!important}
  #larea[data-step-kind="card"].dz-short-card .dz-emoji-anchor{width:112px!important;height:112px!important}
  .dz-match-option{min-height:62px!important;padding-block:8px!important}
}

/* ========================================================================
   HUMAN QA FINAL — full-width answers, vivid orange and story-first actions
   ======================================================================== */

/* Story-comprehension answers use all of the lesson's usable mobile width. */
#larea[data-step-kind="story"] #po{
  width:calc(100% + 32px)!important;
  max-width:none!important;
  margin-left:-16px!important;
  margin-right:-16px!important
}
#larea[data-step-kind="story"] #po>.opt{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
  text-align:left!important
}

/* Word-order chips and every lesson audio action share the same bright orange. */
#larea[data-step-kind="transform"] #bank>.chip,
#larea[data-step-kind="transform"] #slot>.chip,
#s-lesson button[onclick*="sayAsset"],
#s-lesson button[onclick*="speak("],
#s-lesson button[onclick*="say("]{
  background:linear-gradient(135deg,#ff9f1c,#f47b0b)!important;
  border-color:#ffbd5b!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(244,123,11,.27)!important
}

/* Global story actions appear before the passage, while line-by-line audio stays. */
.dz-story-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  width:100%;
  margin:0 0 14px
}
.dz-story-actions>button{
  min-height:50px;
  padding:12px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1.5px solid var(--border-strong);
  border-radius:18px;
  background:var(--surface-raised);
  color:var(--text-primary);
  box-shadow:var(--shadow-sm);
  font-size:14px;
  font-weight:850;
  cursor:pointer
}
.dz-story-actions>button:first-child{
  background:linear-gradient(135deg,#ff9f1c,#f47b0b)!important;
  border-color:#ffbd5b!important;
  color:#fff!important
}
.dz-action-row.dz-retry-only{grid-template-columns:1fr!important}

@media(max-width:350px){
  #larea[data-step-kind="story"] #po{width:calc(100% + 20px)!important;margin-inline:-10px!important}
  .dz-story-actions{gap:8px}.dz-story-actions>button{font-size:13px;padding-inline:7px}
}

/* ========================================================================
   RESPONSIVE THEMES V4 — footer teacher, stable Essentials cards and map
   ======================================================================== */

/* A single subtle world map now belongs to the app background, not to an
   isolated screen. Strong overlays preserve contrast in both appearances. */
#app{background-color:var(--bg)!important}
#app>.screen{
  background-color:transparent!important;
  background-image:linear-gradient(rgba(7,21,45,.91),rgba(7,21,45,.965)),url('img/world-map-bg.png')!important;
  background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important;background-attachment:fixed!important
}
html[data-theme="light"] #app>.screen{
  background-image:linear-gradient(rgba(247,248,252,.92),rgba(247,248,252,.975)),url('img/world-map-bg.png')!important
}

/* The inline style on Essentials used a shrinking flex column. The flashcard
   therefore collapsed while the identical Verb Tenses card stayed correct. */
#essentials-list{display:block!important;min-width:0!important}
#essentials-list .mc-flash-wrap{
  display:block!important;flex:none!important;height:clamp(210px,29dvh,280px)!important;min-height:210px!important;max-height:280px!important
}
#essentials-list .mc-flash{height:100%!important;min-height:100%!important}
#essentials-list .mc-flash-face{inset:0!important;height:100%!important;min-height:100%!important}

/* The floating button is retired. Pocket Teacher occupies the fifth footer
   cell and is visually distinct without covering any activity. */
#dz-doubt-fab{display:none!important;visibility:hidden!important;pointer-events:none!important}
.nav-tab.dz-pocket-nav{color:#a98cff!important}
.nav-tab.dz-pocket-nav .dz-pocket-nav-icon{
  width:27px;height:27px;display:grid;place-items:center;border-radius:50%;
  background:linear-gradient(145deg,#8b6cff,#5937c2);border:1px solid rgba(255,255,255,.38);
  color:#fff;font-size:17px;line-height:1;box-shadow:0 3px 9px rgba(82,51,174,.34)
}
.nav-tab.dz-pocket-nav.is-open{color:#c7b8ff!important}
.nav-tab.dz-pocket-nav.is-open .dz-pocket-nav-icon{box-shadow:0 0 0 3px color-mix(in srgb,var(--violet) 28%,transparent),0 3px 9px rgba(82,51,174,.34)}
.dz-notes-tool{color:#a98cff!important}

/* Free catalogue labels make the expanded trial explicit without changing
   card dimensions or pushing content below the fold. */
.dz-topic-free-label{
  position:absolute;top:8px;right:8px;z-index:2;padding:5px 8px;border-radius:999px;
  background:color-mix(in srgb,var(--green) 18%,var(--surface-raised));
  border:1px solid color-mix(in srgb,var(--green) 48%,var(--border));
  color:color-mix(in srgb,var(--green) 82%,var(--text-primary));font-size:10px;font-weight:950;line-height:1
}

@media(max-height:650px){
  #essentials-list .mc-flash-wrap{height:200px!important;min-height:200px!important}
}
