:root {
  --ink:#123253;
  --muted:#6b7f92;
  --line:#dce7ef;
  --paper:#fffaf4;
  --card:rgba(255,255,255,.92);
  --teal:#18bfa8;
  --teal-dark:#0f766e;
  --blue:#4d76ff;
  --violet:#7357e8;
  --pink:#f04c9f;
  --orange:#ff8636;
  --yellow:#f6b61f;
  --green:#4fb56d;
  --danger:#e94d72;
  --shadow:0 16px 42px rgba(28,56,87,.11);
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:16px;
  --max:1280px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#fffdf9 0%,#f5f9fc 100%)}
button,a{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:3px solid rgba(77,118,255,.38);outline-offset:3px}
.is-hidden{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen{display:none}
.screen.is-active{display:block}
.app-shell{width:min(100%,var(--max));max-width:100%;margin:0 auto;padding:14px 18px 26px;min-width:0}
.screen-game{min-width:0;max-width:100%}
.screen-game.is-active{
  --game-glow:rgba(24,191,168,.16);
}
body:has(.screen-game.is-active){
  background:
    radial-gradient(ellipse 55% 40% at 0% 0%,rgba(120,190,255,.26),transparent 70%),
    radial-gradient(ellipse 50% 38% at 100% 0%,rgba(255,220,120,.28),transparent 68%),
    radial-gradient(ellipse 40% 30% at 50% 100%,rgba(180,210,255,.14),transparent 70%),
    #f7fbff;
}
body:has(.screen-game.is-active) .app-header{
  display:none;
}
.app-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin-bottom:18px;padding:10px 14px;border:1px solid rgba(220,231,239,.95);border-radius:999px;background:rgba(255,255,255,.84);backdrop-filter:blur(14px);box-shadow:0 10px 24px rgba(28,56,87,.06);position:sticky;top:8px;z-index:30}
.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0;justify-self:start}
.brand-symbol{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;font-weight:1000;color:white;background:conic-gradient(from 210deg,#ffb51c,#f5489f,#7357e8,#18bfa8,#ffb51c);box-shadow:inset 0 0 0 3px rgba(255,255,255,.56),0 8px 18px rgba(24,191,168,.18)}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:.98rem;white-space:nowrap}.brand-copy strong span{background:linear-gradient(90deg,#2776e9,#18bfa8,#ff9b1f,#ed497a,#7357e8);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-copy small{font-size:.74rem;color:var(--muted);font-weight:700;margin-top:3px}
.header-actions{display:flex;gap:8px;justify-self:end}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:900;box-shadow:0 7px 16px rgba(28,56,87,.07);transition:.15s transform,.15s box-shadow}.icon-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(28,56,87,.11)}.icon-btn:active{transform:scale(.96)}
.splash{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#fff;padding:10px;opacity:1;visibility:visible;transition:opacity .38s ease,visibility .38s ease}.splash.fade{opacity:0;visibility:hidden}.splash-picture{width:min(100%,1200px);display:block;border-radius:26px;overflow:hidden;box-shadow:0 22px 60px rgba(28,56,87,.16)}.splash-picture img{display:block;width:100%;height:auto}
.config-card{width:min(100%,980px);margin:28px auto 0;padding:28px;border:1px solid var(--line);border-radius:var(--radius-xl);background:rgba(255,255,255,.9);box-shadow:var(--shadow)}
.config-intro{text-align:center;max-width:700px;margin:0 auto 20px}.eyebrow{display:inline-block;font-size:.72rem;font-weight:900;letter-spacing:.12em;color:var(--violet);background:linear-gradient(90deg,rgba(77,118,255,.10),rgba(240,76,159,.10));padding:7px 10px;border-radius:999px}.config-intro h1{font-size:clamp(1.8rem,1.25rem + 2vw,3rem);line-height:1.02;letter-spacing:-.045em;margin:12px 0 9px}.config-intro p{color:var(--muted);font-size:.96rem;margin:0}
.mode-switch{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:620px;margin:0 auto 24px;padding:6px;border-radius:20px;background:#f4f7fb;border:1px solid #e4edf4}.mode-option{min-height:68px;border:0;border-radius:15px;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900}.mode-option small{display:block;font-size:.72rem;color:var(--muted);font-weight:700;margin-top:3px}.mode-option.is-active{background:#fff;box-shadow:0 9px 20px rgba(28,56,87,.09);color:var(--teal-dark)}
.journey-summary{margin:0 0 18px}.level-selector{display:grid;grid-template-columns:52px 1fr 52px;gap:10px;align-items:center;min-height:114px;padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,rgba(24,191,168,.10),rgba(115,87,232,.08));border:1.5px solid rgba(24,191,168,.28)}.level-nav{width:48px;height:48px;border:1.5px solid var(--line);border-radius:15px;background:#fff;color:var(--teal-dark);font-size:2rem;line-height:1;box-shadow:0 6px 18px rgba(28,56,87,.07)}.level-nav:disabled{opacity:.32;cursor:not-allowed}.level-center{text-align:center;display:grid;gap:4px;min-width:0}.level-center>span{color:var(--muted);font-size:.72rem;font-weight:800}.level-center>strong{color:var(--ink);font-size:1.7rem;letter-spacing:-.03em}.level-center b{color:var(--teal-dark)}.level-selector.is-replay{border-color:rgba(77,118,255,.35);background:linear-gradient(135deg,rgba(77,118,255,.08),rgba(24,191,168,.08))}
.config-section{padding-top:18px;border-top:1px solid #edf2f6;margin-top:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}.section-heading>div{display:flex;align-items:center;gap:9px}.section-heading strong{font-size:1rem}.section-heading small{color:var(--muted);font-size:.82rem}.step{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:#edf4ff;color:var(--blue);font-size:.77rem;font-weight:1000}
.choice-grid{display:grid;gap:10px}.choice-grid.difficulties{grid-template-columns:repeat(3,1fr)}.choice-card{min-height:84px;border:1.5px solid var(--line);background:#fff;border-radius:16px;padding:12px 10px;text-align:left;color:var(--ink);position:relative;transition:.15s transform,.15s border-color,.15s box-shadow}.choice-card:hover{transform:translateY(-1px)}.choice-card.is-active{border-color:rgba(24,191,168,.60);background:linear-gradient(180deg,#fff,#f1fffb);box-shadow:0 10px 22px rgba(24,191,168,.12)}.choice-card.is-active:after{content:"✓";position:absolute;top:8px;right:9px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:.75rem;font-weight:1000}.choice-card .choice-icon{font-size:1.15rem;display:block;margin-bottom:6px}.choice-card strong{display:block;font-size:.9rem}.choice-card small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px;line-height:1.25}
.config-footer{display:grid;grid-template-columns:1fr minmax(240px,340px);gap:16px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid #edf2f6}.selected-summary{color:var(--muted);font-size:.87rem;line-height:1.45}.selected-summary strong{color:var(--ink)}.play-btn{border:0;border-radius:17px;min-height:58px;background:linear-gradient(135deg,#18bfa8,#4d76ff 85%);color:#fff;font-weight:1000;box-shadow:0 14px 28px rgba(77,118,255,.20);font-size:1rem}.play-btn span{margin-right:8px}
.game-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 12px}.game-head h1{font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);margin:6px 0 2px;letter-spacing:-.04em}.game-head p{margin:0;color:var(--muted);font-size:.9rem}.game-head-actions{display:flex;gap:8px}

/* ---- Partida: HUD compacto + grid em foco (máximo da viewport) ---- */
body.is-playing{
  min-height:100dvh;
  min-height:100svh;
  overflow-x:hidden;
}
body.is-playing .app-shell{
  padding:8px 12px 10px;
  min-height:100dvh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
body.is-playing .screen-game.is-active{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  min-width:0;
  width:100%;
}
.screen-game .game-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,260px);
  grid-template-rows:auto minmax(0,1fr);
  grid-template-areas:
    "hud hud"
    "board side";
  column-gap:16px;
  row-gap:10px;
  align-items:start;
  min-width:0;
  max-width:100%;
  width:100%;
  flex:1 1 auto;
  min-height:0;
}
.game-layout > .hud{
  grid-area:hud;
  width:100%;
  max-width:100%;
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  align-self:stretch;
  min-height:var(--nb-gs-safe, 60px);
  box-sizing:border-box;
}
.board-zone{
  grid-area:board;
  min-width:0;
  max-width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
  min-height:0;
}
.hud-item{
  padding:10px 12px;
  border-radius:18px;
  border:1px solid transparent;
  box-shadow:0 8px 18px rgba(28,56,87,.07);
  text-align:left;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  font:inherit;
  color:inherit;
}
.hud-item .hud-ico{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-size:1.05rem;
  line-height:1;
}
.hud-item .hud-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.hud-item span:not(.hud-ico){
  display:block;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  opacity:.88;
}
.hud-item strong{
  font-size:1.05rem;
  letter-spacing:-.03em;
  line-height:1.1;
  color:var(--ink);
}
.hud-item b{font:inherit}
.hud-item--time{
  background:linear-gradient(145deg,#eaf6ff,#d8ecff);
  border-color:rgba(77,118,255,.18);
}
.hud-item--time .hud-ico{background:rgba(77,118,255,.14);color:#3b6cb5}
.hud-item--time span:not(.hud-ico){color:#3b6cb5}
.hud-item--words{display:none!important}
.hud-item--score{
  background:linear-gradient(145deg,#fff6e8,#ffe8c4);
  border-color:rgba(255,134,54,.22);
}
.hud-item--score .hud-ico{background:rgba(255,155,46,.18);color:#c06210}
.hud-item--score span:not(.hud-ico){color:#c06210}
.hud-item--hints{
  background:linear-gradient(145deg,#f5efff,#ebe2ff);
  border-color:rgba(115,87,232,.22);
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.hud-item--hints .hud-ico{background:rgba(115,87,232,.16);color:#7357e8}
.hud-item--hints span:not(.hud-ico){color:#7357e8}
.hud-item--hints:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(115,87,232,.14);
}
.hud-item--hints:active{transform:scale(.98)}
.hud-item--hints.is-empty{opacity:.62;cursor:default}

.mobile-words{display:none}
.words-panel{
  width:100%;
  background:#fff;
  border:1px solid rgba(220,231,239,.95);
  border-radius:20px;
  box-shadow:0 8px 20px rgba(28,56,87,.06);
  padding:10px 12px 12px;
  box-sizing:border-box;
}
.words-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
  padding:2px 2px 0;
}
.words-panel__head strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.95rem;
  color:#1a3d6e;
  letter-spacing:-.02em;
}
.words-panel__icon{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:rgba(77,118,255,.12);
  color:#4d76ff;
  font-size:.85rem;
  font-weight:900;
}
.mobile-words__count{
  flex:0 0 auto;
  min-width:2.6rem;
  height:1.7rem;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.72rem;
  font-weight:900;
  color:#0f8a76;
  background:linear-gradient(145deg,#e7fff8,#cff8ea);
  border:1px solid rgba(24,191,168,.28);
  box-shadow:0 3px 8px rgba(24,191,168,.12);
}

.board-card,.side-card{
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 12px 30px rgba(28,56,87,.08);
}
.board-card{
  padding:12px;
  min-width:0;
  max-width:100%;
  margin:0 auto;
  width:fit-content;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:0;
  background:#fff;
  border:1px solid rgba(220,231,239,.9);
  border-radius:26px;
  box-shadow:0 12px 28px rgba(28,56,87,.08);
}
.board-toolbar{display:none}
.progress-pill{display:none}

.board-wrapper{
  position:relative;
  width:var(--board-size,100%);
  height:var(--board-size,auto);
  max-width:100%;
  max-height:100%;
  aspect-ratio:1;
  margin:0 auto;
  border-radius:20px;
  background:#ffffff;
  border:1px solid rgba(220,231,239,.85);
  overflow:hidden;
  touch-action:none;
  user-select:none;
  box-shadow:none;
  min-width:0;
  flex:0 0 auto;
}
.board-wrapper:before{display:none}
#highlightLayer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
#wordGrid{position:absolute;inset:0;display:grid;padding:8px;z-index:2;min-width:0;width:100%;height:100%;grid-auto-rows:minmax(0,1fr)}
.cell{
  display:grid;place-items:center;
  font-weight:900;color:#163a5f;text-transform:uppercase;line-height:1;
  touch-action:none;border-radius:10px;transition:.08s transform,.08s background,.08s color;
  background:transparent;
  letter-spacing:.02em;
}
.cell:hover{background:rgba(77,118,255,.06)}
.cell:active{transform:scale(.93)}
.cell.preview{color:#0c4f9b;background:rgba(77,118,255,.10);font-weight:1000}
.cell.hint-flash{background:rgba(246,182,31,.32);animation:pulse .55s ease;color:#8a5a00}
.cell.error{background:rgba(233,77,114,.18);animation:shake .25s ease}
.message{display:none}

.side-zone{
  grid-area:side;
  display:grid;
  gap:10px;
  align-self:start;
  position:sticky;
  top:max(8px, env(safe-area-inset-top, 0px));
  min-width:0;
  width:100%;
}
.side-card{padding:14px}
.side-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.side-title strong{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.95rem;
  color:#1a3d6e;
}
.side-title span{
  font-size:.72rem;font-weight:900;color:#0f8a76;
  background:linear-gradient(145deg,#e7fff8,#cff8ea);
  border:1px solid rgba(24,191,168,.28);
  padding:4px 10px;border-radius:999px;
}
.word-list{display:flex;flex-wrap:wrap;gap:8px}
.word-chip{
  padding:8px 12px;border-radius:999px;
  background:#ffffff;
  border:1px solid #e2ebf2;color:#1a3d6e;
  font-size:.72rem;font-weight:800;text-transform:uppercase;
  transition:.15s transform,.15s background,.15s box-shadow,.15s border-color;
  box-shadow:0 3px 10px rgba(28,56,87,.05);
  letter-spacing:.02em;
}
.word-chip:hover{transform:translateY(-1px);border-color:rgba(77,118,255,.28)}
.word-chip.is-found{color:#fff;text-decoration:line-through;border-color:transparent;box-shadow:0 6px 14px rgba(28,56,87,.12)}
.word-chip.is-hint{background:rgba(246,182,31,.28);border-color:rgba(246,182,31,.45);animation:pulse .6s ease;color:#8a5a00}
.controls-card,.action-btn{display:none!important}
.mobile-word-strip,.mobile-actions{display:none}
.mobile-word-strip .word-chip{
  background:#fff;
  border-color:#e2ebf2;
}
.overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;background:rgba(18,50,83,.52);backdrop-filter:blur(8px)}.modal-card{width:min(100%,430px);border-radius:26px;background:#fff;padding:24px;text-align:center;box-shadow:0 24px 60px rgba(18,50,83,.22);position:relative}.modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f4f6f8;color:var(--muted);font-size:1.25rem}.modal-icon,.result-icon{display:block;font-size:2rem;margin-bottom:6px}.modal-card h2{margin:4px 0 8px;font-size:1.7rem}.modal-card p{margin:0 0 16px;color:var(--muted);line-height:1.5;font-size:.9rem}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.help-grid span{padding:10px;border-radius:12px;background:#f7f9fb;color:var(--ink);font-size:.78rem;font-weight:800}.modal-primary,.modal-secondary{width:100%;min-height:52px;border-radius:14px;font-weight:900}.modal-primary{border:0;background:linear-gradient(135deg,#18bfa8,#4d76ff 85%);color:#fff}.modal-secondary{border:1px solid var(--line);background:#fff;color:var(--ink);margin-top:8px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.result-stats>div{padding:12px 8px;border-radius:13px;background:#f6f8fb;border:1px solid #e5edf2}.result-stats span{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.result-stats strong{display:block;margin-top:4px;font-size:1rem}
.found-pop{position:fixed;z-index:1400;font-weight:1000;color:var(--violet);font-size:1.4rem;pointer-events:none;animation:floatup .9s ease forwards}.confetti{position:fixed;width:8px;height:8px;border-radius:2px;z-index:1400;pointer-events:none;animation:fall 1.5s ease-out forwards}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}@keyframes floatup{from{opacity:1;transform:translateY(0) scale(.7)}to{opacity:0;transform:translateY(-70px) scale(1.1)}}@keyframes fall{from{opacity:1;transform:translateY(-10px) rotate(0)}to{opacity:0;transform:translateY(80vh) rotate(520deg)}}
@media (max-width:1024px){
  .screen-game .game-layout{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    grid-template-areas:
      "hud"
      "board";
    column-gap:0;
  }
  .side-zone{display:none}
  .game-layout > .hud,
  .board-card,
  .mobile-words{
    max-width:100%;
  }
  .board-card{width:100%}
  .board-wrapper{width:var(--board-size,100%);max-width:100%}
  /* Tempo + Pontos + Dicas; reserva espaço à direita só para a engrenagem */
  .game-layout > .hud{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:center;
    min-height:var(--nb-gs-safe, 60px);
    padding-right:calc(var(--nb-gs-safe, 60px) + 8px);
    box-sizing:border-box;
    gap:8px;
    width:100%;
    max-width:100%;
  }
  .hud-item{
    min-height:52px;
    padding:8px 10px;
    border-radius:16px;
    gap:8px;
  }
  .hud-item .hud-ico{
    width:30px;
    height:30px;
    border-radius:10px;
    font-size:.95rem;
  }
  .mobile-words{
    display:block;
    width:100%;
    max-width:100%;
    margin:0 auto;
    padding:0;
    box-sizing:border-box;
    flex:0 0 auto;
  }
  .mobile-word-strip{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    overflow:visible;
    padding:0;
    min-width:0;
    margin:0;
    width:100%;
  }
  .mobile-word-strip .word-chip{
    flex:0 1 auto;
    max-width:100%;
    white-space:normal;
    word-break:break-word;
    line-height:1.2;
    padding:7px 11px;
    font-size:.7rem;
  }
  .word-card{display:none}
}
@media (max-width:720px){
  .app-shell{padding:8px 10px 20px}
  .app-header{top:4px;margin-bottom:10px;padding:8px 10px;border-radius:22px}
  .brand-symbol{width:38px;height:38px;border-radius:13px}
  .brand-copy strong{font-size:.88rem}
  .brand-copy small{font-size:.68rem}
  .icon-btn{width:40px;height:40px}
  .config-card{margin:10px auto 0;padding:18px 14px;border-radius:22px}
  .config-intro{margin-bottom:16px}
  .config-intro h1{font-size:1.8rem}
  .mode-switch{margin-bottom:14px}
  .mode-option{min-height:60px;font-size:.86rem}
  .mode-option small{display:none}
  .level-selector{grid-template-columns:44px 1fr 44px;min-height:96px;padding:10px}
  .level-nav{width:42px;height:42px;font-size:1.7rem}
  .level-center>strong{font-size:1.4rem}
  .choice-grid.difficulties{grid-template-columns:repeat(2,1fr)}
  .choice-card{min-height:64px;padding:10px}
  .choice-card small{display:none}
  .choice-card strong{font-size:.86rem}
  .choice-card .choice-icon{margin-bottom:4px}
  .section-heading{align-items:flex-start}
  .section-heading small{max-width:150px;text-align:right}
  .config-section{padding-top:14px;margin-top:14px}
  .config-footer{grid-template-columns:1fr;gap:10px}
  .selected-summary{text-align:center}
  .play-btn{width:100%}
  .board-zone{gap:8px}
  .game-layout > .hud{
    gap:6px;
    max-width:100%;
    min-height:var(--nb-gs-safe, 60px);
    padding-right:calc(var(--nb-gs-safe, 60px) + 6px);
  }
  .hud-item{padding:6px 8px;border-radius:14px;min-height:48px;gap:6px}
  .hud-item .hud-ico{width:26px;height:26px;border-radius:8px;font-size:.85rem}
  .hud-item span:not(.hud-ico){font-size:.52rem;letter-spacing:.04em}
  .hud-item strong{font-size:.86rem}
  .words-panel{padding:8px 10px 10px;border-radius:18px}
  .words-panel__head{margin-bottom:8px}
  .words-panel__head strong{font-size:.88rem}
  .words-panel__icon{width:24px;height:24px;border-radius:8px;font-size:.75rem}
  .mobile-words__count{min-width:2.4rem;height:1.55rem;font-size:.68rem;padding:0 8px}
  .mobile-word-strip{gap:6px}
  .mobile-word-strip .word-chip{font-size:.64rem;padding:6px 9px}
  .screen-game .game-layout{gap:8px}
  .board-card{padding:8px;border-radius:22px;max-width:100%}
  .board-wrapper{width:var(--board-size,100%);max-width:100%;border-radius:16px;border-width:1px}
  #wordGrid{padding:4px}
  .side-zone{display:none}
  .help-grid{grid-template-columns:1fr}
  .result-stats{grid-template-columns:1fr 1fr 1fr}
  .splash{padding:0}
  .splash-picture{border-radius:0;width:100%;height:100%;box-shadow:none}
  .splash-picture img{width:100%;height:100%;object-fit:cover}
}
@media (max-width:420px){
  .brand-copy strong{font-size:.8rem}
  .brand-copy small{display:none}
  .header-actions{gap:5px}
  .hud-item span{letter-spacing:.02em}
  .hud-item strong{font-size:.84rem}
  .section-heading small{display:none}
  .board-wrapper{width:var(--board-size,100%);max-width:100%}
  .cell{border-radius:5px}
}
html.nb-embed .board-wrapper{width:var(--board-size,100%);max-width:100%}
html.nb-embed .screen-game .board-wrapper{width:var(--board-size,100%);max-width:100%}
html.nb-embed .screen-game .app-header,
html.nb-embed.nb-playing .app-header{margin-bottom:6px}
html.nb-embed body.is-playing .app-shell{padding:6px 8px 8px}
@media (max-width:1024px){html.nb-embed .screen-game .board-wrapper{width:var(--board-size,100%);max-width:100%}}
@media (max-width:720px){html.nb-embed .app-shell{padding-top:4px}html.nb-embed .screen-game .board-wrapper{width:var(--board-size,100%);max-width:100%}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Dica flutuante desativada — dicas ficam no HUD */
.cp-float-hint{display:none!important}

/* Abertura: esconder localmente (fallback se nb-game-opening.css não carregar) */
.game-opening{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Logo na partida (como no mockup) */
.game-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:100%;
  padding:2px 56px 4px 8px;
  box-sizing:border-box;
  flex:0 0 auto;
}
.game-brand picture{
  display:block;
  width:min(100%,280px);
  margin:0 auto;
}
.game-brand__logo{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 6px 14px rgba(30,80,160,.14));
}
body.is-playing .app-shell{
  padding-top:max(8px, env(safe-area-inset-top, 0px));
}
@media (max-width:720px){
  .game-brand{padding:0 52px 2px 4px}
  .game-brand picture{width:min(100%,220px)}
}
@media (max-width:420px){
  .game-brand picture{width:min(100%,190px)}
}

/* ===== Config v2.3 — tela no estilo do mockup ===== */
html,body{
  font-family:"Nunito",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  background:#ffffff;
}
body:not(.is-playing){
  background:
    radial-gradient(ellipse 55% 40% at 0% 0%,rgba(120,190,255,.28),transparent 70%),
    radial-gradient(ellipse 50% 38% at 100% 0%,rgba(255,220,120,.32),transparent 68%),
    radial-gradient(ellipse 40% 30% at 100% 100%,rgba(180,210,255,.18),transparent 70%),
    #ffffff;
}
body:not(.is-playing) .app-header{display:none!important}
body:not(.is-playing) .app-shell{
  padding:12px 16px 28px;
  padding-top:max(56px, calc(env(safe-area-inset-top, 0px) + 52px));
}

.screen-config{
  position:relative;
}
.config-blobs{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  overflow:hidden;
}
.config-blobs .blob{
  position:absolute;
  border-radius:50%;
  filter:blur(2px);
}
.blob-a{
  width:min(52vw,340px);height:min(52vw,340px);
  top:-12%;left:-14%;
  background:radial-gradient(circle,#9fd0ff 0%,rgba(159,208,255,.35) 45%,transparent 70%);
}
.blob-b{
  width:min(48vw,300px);height:min(48vw,300px);
  top:-10%;right:-12%;
  background:radial-gradient(circle,#ffe08a 0%,rgba(255,224,138,.4) 48%,transparent 72%);
}
.blob-c{
  width:min(40vw,240px);height:min(40vw,240px);
  bottom:8%;right:-8%;
  background:radial-gradient(circle,rgba(167,210,255,.45) 0%,transparent 70%);
  opacity:.7;
}

.screen-config .config-card{
  position:relative;
  z-index:1;
  width:min(100%,720px);
  margin:8px auto 0;
  padding:22px 22px 24px;
  border:0;
  border-radius:28px;
  background:transparent;
  box-shadow:none;
}

.config-intro{
  text-align:center;
  max-width:560px;
  margin:0 auto 18px;
  padding-top:8px;
}
.config-intro picture{
  display:block;
  width:min(100%,440px);
  margin:0 auto 6px;
}
.config-logo{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  margin:0;
  object-fit:contain;
  object-position:center;
  overflow:visible;
  filter:drop-shadow(0 8px 18px rgba(30,80,160,.18));
  animation:cp-logo-in .55s ease both;
}
.config-tagline{
  margin:0;
  font-size:clamp(1.05rem, .95rem + .6vw, 1.35rem);
  font-weight:800;
  color:#1a3d6e;
  letter-spacing:-.02em;
  line-height:1.25;
}

.screen-config .mode-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  max-width:100%;
  margin:0 0 22px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.screen-config .mode-option{
  min-height:78px;
  border:0;
  border-radius:20px;
  background:#eef2f7;
  color:#1a3558;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding:12px 16px;
  font-weight:800;
  text-align:left;
  box-shadow:0 4px 14px rgba(28,56,87,.05);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.screen-config .mode-option:hover{transform:translateY(-1px)}
.screen-config .mode-option .mode-icon{
  font-size:1.45rem;
  line-height:1;
  flex-shrink:0;
}
.screen-config .mode-option .mode-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.screen-config .mode-option .mode-copy b{
  font-size:.98rem;
  font-weight:900;
  letter-spacing:-.02em;
}
.screen-config .mode-option .mode-copy small{
  display:block;
  font-size:.72rem;
  color:#6b7f96;
  font-weight:700;
  margin:0;
  line-height:1.3;
}
.screen-config .mode-option.is-active{
  background:linear-gradient(135deg,#4ea8ff 0%,#3b6fff 55%,#4d76ff 100%);
  color:#fff;
  box-shadow:0 12px 28px rgba(61,118,255,.32);
}
.screen-config .mode-option.is-active .mode-copy small{color:rgba(255,255,255,.88)}

.screen-config .config-section{
  padding-top:0;
  border-top:0;
  margin-top:0;
  margin-bottom:20px;
}
.screen-config .section-heading{
  margin-bottom:12px;
  align-items:center;
}
.screen-config .section-heading strong{
  font-size:1.05rem;
  font-weight:900;
  color:#153a66;
}
.screen-config .step{
  width:28px;height:28px;
  border-radius:50%;
  background:linear-gradient(145deg,#4d8cff,#3b6fff);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  box-shadow:0 6px 14px rgba(61,118,255,.28);
}

.theme-trigger{
  width:100%;
  min-height:58px;
  padding:10px 46px 10px 14px;
  border-radius:18px;
  border:1.5px solid var(--line);
  background:linear-gradient(180deg,#fff,#f7fbff);
  color:var(--ink);
  text-align:left;
  display:flex;
  align-items:center;
  gap:12px;
  position:relative;
  box-shadow:0 8px 20px rgba(28,56,87,.06);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.theme-trigger:hover{
  transform:translateY(-1px);
  border-color:rgba(24,191,168,.45);
  box-shadow:0 12px 24px rgba(24,191,168,.12);
}
.theme-trigger-icon{
  width:42px;height:42px;
  border-radius:14px;
  display:grid;place-items:center;
  font-size:1.25rem;
  background:linear-gradient(135deg,rgba(77,118,255,.12),rgba(24,191,168,.16));
  flex:0 0 auto;
}
.theme-trigger-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.theme-trigger-copy small{
  font-size:.72rem;
  font-weight:800;
  color:var(--muted);
  letter-spacing:.02em;
}
.theme-trigger-copy strong{
  font-size:1rem;
  font-weight:900;
  color:var(--ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.theme-trigger-chevron{
  position:absolute;
  right:18px;
  top:50%;
  width:10px;height:10px;
  border-right:2.5px solid var(--muted);
  border-bottom:2.5px solid var(--muted);
  transform:translateY(-65%) rotate(45deg);
}
.theme-modal-card{width:min(100%,480px);text-align:left}
.theme-modal-hint{margin:-6px 0 14px;color:var(--muted);font-size:.88rem;line-height:1.45}
.theme-popup-list{
  display:grid;
  gap:10px;
  max-height:min(48vh,340px);
  overflow:auto;
  margin:0 0 16px;
  padding:2px;
  -webkit-overflow-scrolling:touch;
}
.theme-chip{
  width:100%;
  min-height:54px;
  padding:10px 12px;
  border-radius:16px;
  border:1.5px solid var(--line);
  background:#fff;
  color:var(--ink);
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.theme-chip:hover{border-color:rgba(77,118,255,.35);box-shadow:0 8px 18px rgba(28,56,87,.06)}
.theme-chip.is-active{
  border-color:rgba(24,191,168,.62);
  background:linear-gradient(180deg,#fff,#f1fffb);
  box-shadow:0 10px 22px rgba(24,191,168,.12);
}
.theme-chip-icon{
  width:38px;height:38px;
  border-radius:12px;
  display:grid;place-items:center;
  font-size:1.1rem;
  background:#f4f8fc;
  flex:0 0 auto;
}
.theme-chip-copy{display:grid;gap:2px;min-width:0}
.theme-chip-copy strong{font-size:.92rem;font-weight:900}
.theme-chip-copy small{font-size:.72rem;color:var(--muted);font-weight:700;line-height:1.25}

.screen-config .choice-grid{
  gap:10px;
  width:100%;
}
/* Tema: carrossel horizontal com o dedo (mesmo padrão do Jogo da Memória) */
.screen-config .config-section--scroll{
  position:relative;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.screen-config .config-section--scroll::after{
  content:"";
  position:absolute;
  top:auto;
  right:0;
  bottom:0;
  width:36px;
  height:calc(100% - 42px);
  z-index:2;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0),#fff 88%);
  opacity:0;
  transition:opacity .18s ease;
}
.screen-config .config-section--scroll.is-scrollable::after{opacity:1}
.screen-config .config-section--scroll.is-at-end::after{opacity:0}
.screen-config .choice-grid.categories{
  display:flex;
  gap:10px;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding-inline:10px;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:2px 4px 10px;
  margin:0;
  cursor:grab;
}
.screen-config .choice-grid.categories:active{cursor:grabbing}
.screen-config .choice-grid.categories::-webkit-scrollbar{display:none;width:0;height:0}
.screen-config .choice-grid.categories .choice-card{
  flex:0 0 auto;
  width:132px;
  min-width:132px;
  max-width:148px;
  scroll-snap-align:center;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.screen-config .choice-grid.difficulties{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.screen-config .choice-card{
  min-height:96px;
  min-width:0;
  width:100%;
  border:2px solid #e4ebf2;
  background:#fff;
  border-radius:18px;
  padding:14px 8px 12px;
  text-align:center;
  color:#153a66;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  box-shadow:0 6px 16px rgba(28,56,87,.05);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.screen-config .choice-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(28,56,87,.09);
}
.screen-config .choice-card .choice-icon{
  font-size:1.55rem;
  margin:0 0 2px;
  line-height:1;
}
.screen-config .choice-card strong{
  font-size:.82rem;
  font-weight:900;
  line-height:1.2;
}
.screen-config .choice-card small{
  font-size:.68rem;
  color:#8a9bb0;
  font-weight:700;
  margin:0;
}
.screen-config .choice-card.is-active:after{
  content:"✓";
  position:absolute;
  top:6px;right:6px;
  width:22px;height:22px;
  border-radius:50%;
  display:grid;place-items:center;
  color:#fff;
  font-size:.72rem;
  font-weight:1000;
  box-shadow:0 4px 10px rgba(28,56,87,.18);
}
.screen-config .choice-card--theme.is-active{
  border-color:#4d76ff;
  background:linear-gradient(180deg,#fff,#f3f7ff);
  box-shadow:0 10px 24px rgba(77,118,255,.16);
}
.screen-config .choice-card--theme.is-active:after{
  background:#4d76ff;
}
.screen-config .choice-card--diff.is-active{
  background:linear-gradient(180deg,#fff,#f4fff7);
}
.screen-config .choice-card--facil.is-active{
  border-color:#3ecf6a;
  box-shadow:0 10px 24px rgba(62,207,106,.18);
}
.screen-config .choice-card--facil.is-active:after{background:#3ecf6a}
.screen-config .choice-card--medio.is-active{
  border-color:#ff8636;
  box-shadow:0 10px 24px rgba(255,134,54,.18);
}
.screen-config .choice-card--medio.is-active:after{background:#ff8636}
.screen-config .choice-card--dificil.is-active{
  border-color:#4d76ff;
  box-shadow:0 10px 24px rgba(77,118,255,.18);
}
.screen-config .choice-card--dificil.is-active:after{background:#4d76ff}
.screen-config .choice-card--expert.is-active{
  border-color:#7357e8;
  box-shadow:0 10px 24px rgba(115,87,232,.18);
}
.screen-config .choice-card--expert.is-active:after{background:#7357e8}

.screen-config .config-footer{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:8px;
  padding-top:0;
  border-top:0;
}
.screen-config .selected-summary{
  width:100%;
  color:inherit;
  font-size:inherit;
  text-align:left;
}
.screen-config .selected-summary.is-hidden,
.screen-config .selected-summary:empty{
  display:none!important;
}
.summary-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:20px;
  background:linear-gradient(135deg,#e8f4ff 0%,#f0f7ff 55%,#eef6ff 100%);
  border:1.5px solid rgba(77,118,255,.16);
  box-shadow:0 8px 22px rgba(61,118,255,.08);
  min-height:88px;
}
.summary-icon{
  width:48px;height:48px;
  border-radius:50%;
  display:grid;place-items:center;
  font-size:1.45rem;
  background:#fff;
  box-shadow:0 6px 16px rgba(28,56,87,.1);
}
.summary-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.summary-copy small{
  font-size:.72rem;
  font-weight:800;
  color:#7a8fa6;
}
.summary-copy strong{
  font-size:1rem;
  font-weight:900;
  color:#153a66;
  letter-spacing:-.02em;
}
.summary-copy span{
  font-size:.78rem;
  font-weight:700;
  color:#5f7590;
}
.summary-art{
  width:72px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 6px 12px rgba(28,56,87,.12));
  justify-self:end;
}

.screen-config .play-btn{
  width:100%;
  min-height:62px;
  border:0;
  border-radius:18px;
  background:linear-gradient(90deg,#1fd1a5 0%,#2bb8d9 42%,#4d76ff 100%);
  color:#fff;
  font-weight:900;
  font-size:1.08rem;
  letter-spacing:.04em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:0 14px 32px rgba(61,118,255,.28);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.screen-config .play-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(61,118,255,.34);
  filter:brightness(1.03);
}
.screen-config .play-btn:active{transform:scale(.98)}
.screen-config .play-btn .play-icon{
  margin:0;
  width:28px;height:28px;
  border-radius:50%;
  display:inline-grid;place-items:center;
  background:rgba(255,255,255,.22);
  font-size:.85rem;
  line-height:1;
  padding-left:2px;
}
.screen-config .play-btn > span:last-child{margin:0}

.screen-config .journey-summary{margin:0 0 18px}
.screen-config .level-selector{
  border-radius:20px;
  background:linear-gradient(135deg,rgba(77,118,255,.10),rgba(24,191,168,.10));
  border:1.5px solid rgba(77,118,255,.22);
}

@keyframes cp-logo-in{
  from{opacity:0;transform:translateY(-8px) scale(.96)}
  to{opacity:1;transform:none}
}
@keyframes cp-card-in{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
.screen-config .mode-switch,
.screen-config .config-section,
.screen-config .config-footer{
  animation:cp-card-in .45s ease both;
}
.screen-config .mode-switch{animation-delay:.06s}
.screen-config #categorySection{animation-delay:.12s}
.screen-config #difficultySection{animation-delay:.18s}
.screen-config .config-footer{animation-delay:.24s}

@media (max-width:720px){
  body:not(.is-playing) .app-shell{padding:8px 12px 24px}
  .screen-config .config-card{padding:12px 8px 18px;margin-top:4px}
  .config-logo{width:min(100%,360px)}
  .config-tagline{font-size:1.05rem;margin-bottom:4px}
  .screen-config .mode-option{min-height:70px;padding:10px 12px;border-radius:16px}
  .screen-config .mode-option .mode-copy b{font-size:.9rem}
  .screen-config .mode-option .mode-copy small{font-size:.66rem}
  .screen-config .choice-grid.categories{
    gap:8px;
    padding:2px 2px 8px;
  }
  .screen-config .choice-grid.categories .choice-card{
    width:118px;
    min-width:118px;
    max-width:130px;
  }
  .screen-config .choice-grid.difficulties{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .screen-config .choice-card{
    min-height:84px;
    padding:10px 6px;
    border-radius:14px;
  }
  .screen-config .choice-card strong{
    font-size:.74rem;
    overflow-wrap:anywhere;
    hyphens:auto;
  }
  .screen-config .choice-card small{display:block;font-size:.62rem}
  .screen-config .choice-card .choice-icon{font-size:1.3rem}
  .summary-card{padding:12px;gap:10px;min-height:78px;border-radius:16px}
  .summary-icon{width:42px;height:42px;font-size:1.25rem}
  .summary-copy strong{font-size:.92rem}
  .summary-art{width:58px}
  .screen-config .play-btn{min-height:58px;font-size:1rem;border-radius:16px}
}
@media (max-width:420px){
  .screen-config .choice-grid.categories .choice-card{
    width:108px;
    min-width:108px;
    max-width:120px;
  }
  .screen-config .choice-grid.difficulties{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .screen-config .choice-card{min-height:78px;padding:8px 4px}
  .screen-config .choice-card strong{font-size:.7rem}
  .screen-config .mode-option .mode-copy small{display:none}
  .summary-art{width:48px}
}
@media (prefers-reduced-motion:reduce){
  .config-logo,
  .screen-config .mode-switch,
  .screen-config .config-section,
  .screen-config .config-footer{animation:none}
}
