
.playdot-aw,.playdot-aw *{box-sizing:border-box}.playdot-aw [hidden]{display:none!important}.playdot-aw{position:relative;left:50%;width:100vw;margin:0;padding:38px 16px 100px;transform:translateX(-50%);overflow:hidden;color:#26345c;background:linear-gradient(180deg,#c9f3ff 0%,#f9fcff 43%,#fff0b5 100%);font-family:"Trebuchet MS",Inter,system-ui,sans-serif}.playdot-aw:after{content:"";position:absolute;left:-4%;right:-4%;bottom:-75px;height:190px;background:radial-gradient(ellipse at 12% 55%,#72d578 0 23%,transparent 24%),radial-gradient(ellipse at 40% 55%,#58bc64 0 25%,transparent 26%),radial-gradient(ellipse at 70% 55%,#80df7c 0 25%,transparent 26%),radial-gradient(ellipse at 92% 55%,#59be64 0 23%,transparent 24%)}.pdw-shell{position:relative;z-index:2;width:min(1240px,100%);margin:auto}.pdw-hero{display:grid;grid-template-columns:230px 1fr 230px;align-items:end;gap:14px;margin-bottom:16px}.pdw-character{cursor:pointer}.pdw-character img{display:block;width:100%;height:240px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(40,50,90,.18));animation:pdwIdle 3.6s ease-in-out infinite}.pdw-character:nth-child(3) img{animation-delay:.7s}.pdw-character:hover img,.pdw-character.is-talking img{animation:pdwTalk .45s ease-in-out infinite alternate}@keyframes pdwIdle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}@keyframes pdwTalk{to{transform:translateY(-10px) rotate(3deg) scale(1.03)}}.pdw-hero-copy{text-align:center;padding-bottom:28px}.pdw-badge{display:inline-flex;padding:9px 15px;background:#fff;border:2px solid #e5ddff;border-radius:999px;color:#7045d5;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.pdw-hero-copy h1{margin:14px 0 8px;color:#172254;font-size:clamp(42px,6vw,70px);font-weight:950;letter-spacing:-.055em;line-height:.98}.pdw-hero-copy p{max-width:650px;margin:auto;color:#68738b;font-size:17px}.pdw-panel,.pdw-stage{max-width:1080px;margin:auto;padding:30px;background:rgba(255,255,255,.97);border:3px solid #fff;border-radius:30px;box-shadow:0 28px 72px rgba(45,55,100,.15)}.pdw-age-panel{text-align:center}.pdw-speech{display:inline-block;padding:15px 24px;background:#fff5bd;border:3px solid #ffd166;border-radius:22px;font-size:clamp(27px,4vw,42px);font-weight:950}.pdw-age-panel>p{color:#707b90}.pdw-age-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:25px 0 19px}.pdw-age-btn{display:flex;min-height:78px;align-items:center;justify-content:center;flex-direction:column;background:#fff;border:3px solid #e4e9f3;border-radius:18px;color:#28355b;cursor:pointer;font:inherit;box-shadow:0 8px 17px rgba(37,50,80,.07);transition:.17s}.pdw-age-btn:hover,.pdw-age-btn.is-selected{transform:translateY(-4px);border-color:#8f5be8}.pdw-age-btn strong{font-size:26px}.pdw-age-btn small{font-size:10px}.pdw-main-btn{min-height:55px;padding:13px 27px;border:0;border-radius:17px;background:linear-gradient(135deg,#9d4edd,#4cc9f0);color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:950}.pdw-main-btn:disabled{opacity:.4}.pdw-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;margin-bottom:22px;background:#fff;border-radius:17px;box-shadow:0 11px 28px rgba(37,50,80,.08)}.pdw-toolbar>div{display:flex;gap:10px}.pdw-toolbar button{padding:8px 12px;border:0;border-radius:10px;background:#f1edff;color:#7042d3;font-weight:900}.pdw-section-title{font-size:31px}.pdw-games{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.pdw-game-card{position:relative;display:flex;min-height:342px;padding:15px;flex-direction:column;align-items:flex-start;background:#fff;border:3px solid #fff;border-radius:26px;box-shadow:0 21px 54px rgba(38,51,96,.12);color:inherit;cursor:pointer;font:inherit;text-align:left;transition:.2s}.pdw-game-card:hover{transform:translateY(-7px)}.pdw-game-card.is-recommended{border-color:#ffd166}.pdw-recommended{position:absolute;top:11px;right:11px;display:none;padding:6px 9px;border-radius:999px;background:#fff0ad;font-size:9px;font-weight:950;z-index:3}.pdw-game-card.is-recommended .pdw-recommended{display:inline-flex}.pdw-card-scene{position:relative;display:block;width:100%;height:168px;margin-bottom:16px;border-radius:20px;background-image:var(--scene);background-size:cover;background-position:center;overflow:hidden}.pdw-card-scene img{position:absolute;right:4px;bottom:-8px;width:56%;height:160px;object-fit:contain;animation:pdwIdle 3.6s ease-in-out infinite}.pdw-game-card h3{margin:0 0 7px;font-size:20px}.pdw-game-card p{margin:0 0 18px;color:#707a8e;font-size:13px}.pdw-game-card>strong{margin-top:auto;color:#7042d3}.pdw-back{margin:0 0 17px;border:0;background:transparent;color:#7042d3;font-weight:900}.pdw-stage-layout{display:grid;grid-template-columns:220px 1fr;gap:22px}.pdw-guide{position:sticky;top:20px;align-self:start}.pdw-guide-character img{display:block;width:100%;height:230px;object-fit:contain;animation:pdwIdle 3.4s ease-in-out infinite}.pdw-guide-character.is-happy img{animation:pdwHappy .45s ease-in-out 5 alternate}.pdw-guide-character.is-encourage img{animation:pdwWiggle .28s ease-in-out 4 alternate}@keyframes pdwHappy{to{transform:translateY(-17px) rotate(7deg) scale(1.06)}}@keyframes pdwWiggle{to{transform:rotate(5deg)}}.pdw-guide-bubble{padding:13px 15px;background:#fff5bd;border:3px solid #ffd166;border-radius:20px;font-size:14px;font-weight:900;text-align:center}.pdw-game-area h2{margin:0 0 4px;font-size:29px}.pdw-game-area>p{color:#717c90}.pdw-body{min-height:430px}.pdw-stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:17px}.pdw-stats span{padding:9px 13px;background:#f2f5fa;border-radius:999px;font-size:12px;font-weight:900}.pdw-grid{display:grid;gap:12px}.pdw-choice{padding:0;background:#fff;border:4px solid #e4e9f2;border-radius:19px;overflow:hidden;cursor:pointer}.pdw-choice img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:linear-gradient(145deg,#f2fbff,#fff6da)}.pdw-memory{position:relative;aspect-ratio:1;padding:0;border:0;border-radius:18px;background:transparent;cursor:pointer;perspective:900px}.pdw-memory-inner{position:absolute;inset:0;border-radius:inherit;transform-style:preserve-3d;transition:transform .42s}.pdw-memory.is-open .pdw-memory-inner,.pdw-memory.is-matched .pdw-memory-inner{transform:rotateY(180deg)}.pdw-memory-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;backface-visibility:hidden;overflow:hidden}.pdw-memory-back{background:linear-gradient(135deg,#9d4edd,#4cc9f0)}.pdw-memory-back:after{content:"★";font-size:40px;color:#fff}.pdw-memory-front{background:#fff;transform:rotateY(180deg)}.pdw-memory-front img{width:100%;height:100%;object-fit:contain}.pdw-word-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(300px,1.15fr);gap:22px;align-items:center}.pdw-word-image{aspect-ratio:1;border-radius:24px;background:linear-gradient(145deg,#eafaff,#fff4cf);overflow:hidden}.pdw-word-image img{width:100%;height:100%;object-fit:contain}.pdw-slots,.pdw-letters{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.pdw-slot,.pdw-letter{display:flex;width:57px;height:57px;align-items:center;justify-content:center;border-radius:14px;font-size:25px;font-weight:950}.pdw-slot{background:#f3f6fa;border:3px dashed #b9c3d4}.pdw-letter{border:0;color:#fff;cursor:pointer}.pdw-math-question{margin:25px 0;text-align:center;font-size:clamp(42px,7vw,72px);font-weight:950}.pdw-math-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pdw-math-option{min-height:72px;padding:10px;border:4px solid #dce4f0;border-radius:19px;background:#fff;color:#26355f;cursor:pointer;font:inherit;font-size:28px;font-weight:950}.pdw-math-option:nth-child(1){border-color:#ff8f8f;background:#fff1f1}.pdw-math-option:nth-child(2){border-color:#73d8f5;background:#edfaff}.pdw-math-option:nth-child(3){border-color:#ffd166;background:#fff9dc}.pdw-math-option:nth-child(4){border-color:#84dc93;background:#effff2}.pdw-sequence{display:flex;min-height:128px;padding:19px;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;background:#f5f8fc;border-radius:20px}.pdw-seq-item,.pdw-missing,.pdw-option{display:flex;min-width:76px;min-height:76px;align-items:center;justify-content:center;border:3px solid #e2e8f1;border-radius:17px;background:#fff;font-size:26px;font-weight:950}.pdw-seq-item img,.pdw-option img{width:70px;height:70px;object-fit:contain}.pdw-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}.pdw-sort-items{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;margin-bottom:20px}.pdw-drag{width:112px;aspect-ratio:1;padding:0;border:3px solid #e3e8f1;border-radius:18px;background:#fff;cursor:grab;touch-action:none}.pdw-drag img{width:100%;height:100%;object-fit:contain}.pdw-bins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pdw-bin{min-height:150px;padding:13px;border:4px dashed #c9d3e2;border-radius:21px;background:#fff;text-align:center;font-weight:950}.pdw-shadow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.pdw-shadow-target{min-height:155px;padding:10px;border:4px dashed #cfd7e3;border-radius:21px;background:#fff}.pdw-shadow-target img{width:100%;height:130px;object-fit:contain;filter:grayscale(1) brightness(.15) opacity(.26)}.pdw-pw-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.pdw-pw-card{padding:12px;border:4px solid #e1e7f0;border-radius:20px;background:#fff;text-align:center}.pdw-pw-card img{width:100%;height:145px;object-fit:contain}.pdw-word-choice{display:block;width:100%;margin-top:9px;padding:13px;border:3px solid #dce3ed;border-radius:14px;background:#f8fbff;font-weight:950}.pdw-message{min-height:29px;margin-top:17px;text-align:center;font-size:15px;font-weight:950}.pdw-message.good{color:#07845b}.pdw-message.bad{color:#c53a4d}.pdw-celebration{position:fixed;inset:0;z-index:999998;pointer-events:none;overflow:hidden}.pdw-balloon{position:absolute;bottom:-160px;width:58px;height:76px;border-radius:50%;animation:pdwBalloon 3.8s ease-out forwards}.pdw-balloon:after{content:"";position:absolute;left:50%;top:72px;width:2px;height:100px;background:#777}.pdw-firework{position:absolute;width:8px;height:8px;border-radius:50%;animation:pdwFirework 1.3s ease-out forwards;box-shadow:0 -55px 0 var(--c),39px -39px 0 var(--c),55px 0 0 var(--c),39px 39px 0 var(--c),0 55px 0 var(--c),-39px 39px 0 var(--c),-55px 0 0 var(--c),-39px -39px 0 var(--c)}@keyframes pdwBalloon{to{transform:translateY(-120vh)}}@keyframes pdwFirework{0%{transform:scale(.1);opacity:1}100%{transform:scale(1.5);opacity:0}}
@media(max-width:1050px){.pdw-hero{grid-template-columns:170px 1fr 170px}.pdw-games{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.pdw-hero{grid-template-columns:1fr}.pdw-character{display:none}.pdw-stage-layout{grid-template-columns:1fr}.pdw-guide{position:relative;display:grid;grid-template-columns:120px 1fr;align-items:center}.pdw-guide-character img{height:130px}.pdw-age-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pdw-word-layout{grid-template-columns:1fr}.pdw-bins{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.playdot-aw{padding:30px 10px 75px}.pdw-panel,.pdw-stage{padding:20px 12px}.pdw-age-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pdw-games{grid-template-columns:1fr}.pdw-options,.pdw-math-options{grid-template-columns:repeat(2,minmax(0,1fr))}.pdw-bins,.pdw-shadow-grid,.pdw-pw-row{grid-template-columns:1fr}}

/* Transparent character and speaking animation upgrade */
.pdw-character img,
.pdw-guide-character img,
.pdw-card-scene img{
  background:transparent!important;
}
.pdw-character,
.pdw-guide-character{
  position:relative;
  isolation:isolate;
}
.pdw-character:after,
.pdw-guide-character:after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:2%;
  height:11%;
  border-radius:50%;
  background:rgba(31,45,80,.16);
  filter:blur(10px);
  z-index:-1;
  animation:pdwShadowPulse 3.6s ease-in-out infinite;
}
.pdw-character.is-talking img,
.pdw-guide-character.is-talking img{
  animation:pdwSpeaking .2s ease-in-out infinite alternate!important;
}
@keyframes pdwSpeaking{
  0%{transform:translateY(0) rotate(-1deg) scale(1)}
  100%{transform:translateY(-8px) rotate(2deg) scale(1.035)}
}
@keyframes pdwShadowPulse{
  0%,100%{transform:scaleX(1);opacity:.42}
  50%{transform:scaleX(.82);opacity:.25}
}

/* v3.2: uploaded balloon artwork and stronger character reactions */
.pdw-balloon{
  position:absolute;
  bottom:-180px;
  width:68px;
  height:104px;
  border-radius:0;
  background-color:transparent!important;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  filter:drop-shadow(0 10px 8px rgba(32,43,72,.22));
  transform-origin:50% 100%;
  animation-name:pdwImageBalloon;
  animation-timing-function:ease-out;
  animation-fill-mode:forwards;
}
.pdw-balloon:after{
  display:none!important;
}
@keyframes pdwImageBalloon{
  0%{
    transform:translateY(0) rotate(0deg) scale(.88);
    opacity:0;
  }
  10%{opacity:1}
  55%{
    transform:translateY(-62vh) rotate(var(--pdw-rotate)) scale(1);
    opacity:1;
  }
  100%{
    transform:translateY(-125vh) rotate(calc(var(--pdw-rotate) * -1)) scale(1.04);
    opacity:0;
  }
}
.pdw-guide-character.is-happy img,
.pdw-character.is-talking img{
  filter:drop-shadow(0 18px 18px rgba(40,50,90,.18)) drop-shadow(0 0 18px rgba(255,209,102,.8));
}

/* v3.3: real transparent cut-outs and visible Math hover states */
.pdw-character,
.pdw-guide-character{
  background:transparent!important;
}
.pdw-character img,
.pdw-guide-character img,
.pdw-card-scene img{
  background:transparent!important;
}
.pdw-math-option:hover,
.pdw-math-option:focus-visible{
  color:#172254!important;
  border-color:#7042d3!important;
  background:#e9ddff!important;
  box-shadow:0 0 0 5px rgba(112,66,211,.17),0 13px 28px rgba(37,50,80,.14)!important;
  transform:translateY(-3px);
}
.pdw-math-option:disabled{
  color:#26355f!important;
  opacity:1!important;
  -webkit-text-fill-color:#26355f!important;
}

/* v3.4 — animated character pack, larger balloons, restored game backgrounds */
.pdw-stage{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.92)),
    var(--pdw-stage-bg) center/cover no-repeat!important;
}
.pdw-stage:before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--pdw-stage-bg) center/cover no-repeat;
  opacity:.20;
  pointer-events:none;
}
.pdw-stage>*{position:relative;z-index:1}
.pdw-game-area{
  padding:22px;
  border-radius:24px;
  background:rgba(255,255,255,.88);
  box-shadow:0 16px 42px rgba(31,43,75,.10);
  backdrop-filter:blur(5px);
}
.pdw-guide{
  padding:12px;
  border-radius:24px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(4px);
}
.pdw-character img,
.pdw-guide-character img,
.pdw-card-scene img{
  background:transparent!important;
}
.pdw-balloon{
  width:110px!important;
  height:165px!important;
  filter:drop-shadow(0 16px 12px rgba(32,43,72,.30))!important;
}
@media(max-width:620px){
  .pdw-balloon{
    width:82px!important;
    height:128px!important;
  }
}

/* v3.5 — visible game backgrounds, extra-large balloons, no fireworks */
.pdw-card-scene{
  background-image:
    linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),
    var(--scene)!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:#dff6ff!important;
}
.pdw-game-card:nth-child(1) .pdw-card-scene,
.pdw-game-card:nth-child(4) .pdw-card-scene{
  background-position:center 40%!important;
}
.pdw-game-card:nth-child(2) .pdw-card-scene{
  background-position:center!important;
}
.pdw-game-card:nth-child(3) .pdw-card-scene{
  background-position:center!important;
}
.pdw-balloon{
  width:220px!important;
  height:330px!important;
  max-width:none!important;
}
.pdw-firework{
  display:none!important;
}
@media(max-width:820px){
  .pdw-balloon{
    width:185px!important;
    height:280px!important;
  }
}
@media(max-width:620px){
  .pdw-balloon{
    width:164px!important;
    height:248px!important;
  }
}

/* v3.6 — replacement artwork and readability fixes */
.pdw-shadow-target.is-matched{
  background:#effff3!important;
  border-color:#6bcb77!important;
  box-shadow:0 12px 26px rgba(38,145,82,.16);
}
.pdw-shadow-target.is-matched img{
  filter:none!important;
  opacity:1!important;
}

.pdw-word-choice,
.pdw-word-choice:hover,
.pdw-word-choice:focus,
.pdw-word-choice:focus-visible,
.pdw-word-choice:active,
.pdw-word-choice:disabled{
  color:#26355e!important;
  -webkit-text-fill-color:#26355e!important;
  opacity:1!important;
  text-shadow:none!important;
}
.pdw-word-choice{
  background:#f8fbff!important;
  border-color:#cfd9e8!important;
}
.pdw-word-choice:hover,
.pdw-word-choice:focus-visible{
  background:#e8ddff!important;
  border-color:#7042d3!important;
  box-shadow:0 0 0 4px rgba(112,66,211,.14)!important;
}
.pdw-word-choice:disabled{
  background:#f2f5fa!important;
  color:#26355e!important;
  cursor:default;
}
.pdw-pw-card{
  background:rgba(255,255,255,.96)!important;
}

/* v3.7 — replay, progressive levels and interactive balloons */
.pdw-replay{
  display:block;
  min-width:170px;
  margin:22px auto 0;
  padding:13px 22px;
  border:3px solid #7042d3;
  border-radius:16px;
  background:linear-gradient(135deg,#8f5be8,#4cc9f0);
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  cursor:pointer;
  font:inherit;
  font-size:15px;
  font-weight:950;
  box-shadow:0 12px 28px rgba(80,65,175,.24);
  transition:transform .17s,box-shadow .17s;
}
.pdw-replay:hover,
.pdw-replay:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 17px 34px rgba(80,65,175,.30);
  background:linear-gradient(135deg,#7c4ad8,#38b8e2);
}
.pdw-celebration{
  pointer-events:none;
}
.pdw-balloon{
  pointer-events:auto!important;
  cursor:pointer;
  animation-duration:5s!important;
  transition:transform .2s,opacity .2s,filter .2s;
}
.pdw-balloon.is-popped{
  animation:none!important;
  transform:scale(1.75)!important;
  opacity:0!important;
  filter:blur(3px) brightness(1.25)!important;
}
.pdw-bins{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
}
.pdw-shadow-grid{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
}
.pdw-pw-row{
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
}

/* v3.8 living animated characters */
.playdot-character-alive{
  display:block;
  transform-origin:50% 88%;
  will-change:transform,filter;
}
.playdot-character-alive.playdot-speaking{
  animation:pdwVoiceBounce .22s ease-in-out infinite alternate!important;
}
.playdot-action-jump{animation:pdwRealJump 1.05s cubic-bezier(.2,.8,.25,1)!important}
.playdot-action-hop{animation:pdwRealHop .48s ease-in-out 4 alternate!important}
.playdot-action-laugh{animation:pdwRealLaugh .26s ease-in-out 6 alternate!important}
@keyframes pdwVoiceBounce{
  from{transform:translateY(0) scale(1)}
  to{transform:translateY(-7px) scale(1.025)}
}
@keyframes pdwRealJump{
  0%,100%{transform:translateY(0) rotate(0)}
  38%{transform:translateY(-34px) rotate(-3deg) scale(1.04)}
  62%{transform:translateY(-18px) rotate(3deg)}
}
@keyframes pdwRealHop{
  from{transform:translateY(0) rotate(-2deg)}
  to{transform:translateY(-14px) rotate(3deg)}
}
@keyframes pdwRealLaugh{
  from{transform:rotate(-2deg) scale(1)}
  to{transform:rotate(2deg) scale(1.045)}
}

.pdw-card-scene [data-playdot-character],
.pdw-guide-character [data-playdot-character],
.pdw-character [data-playdot-character]{
  object-fit:contain!important;
  background:transparent!important;
}

/* v4.0 — new worlds and games */
.pdw-world-scenes{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
  margin-top:18px;
}
.pdw-world-scene{
  position:relative;
  min-height:230px;
  padding:52px 14px 14px;
  border:4px dashed rgba(255,255,255,.92);
  border-radius:24px;
  background-position:center;
  background-size:cover;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(30,45,85,.16);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.pdw-world-scene:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(15,32,64,.10));
  pointer-events:none;
}
.pdw-world-title{
  position:absolute;
  z-index:2;
  top:10px;left:10px;right:10px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:9px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  color:#22325d;
  font-weight:950;
}
.pdw-world-placed{
  position:relative;
  z-index:2;
  display:flex;
  min-height:150px;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
}
.pdw-world-animal{
  width:74px;
  height:74px;
  object-fit:contain;
  filter:drop-shadow(0 7px 6px rgba(30,40,75,.24));
  animation:pdwPlacedPop .48s cubic-bezier(.2,.9,.3,1);
}
.pdw-world-scene.is-receiving{transform:scale(1.025);border-color:#ffd166}
.pdw-world-scene.is-complete{border-color:#6bcb77;box-shadow:0 0 0 5px rgba(107,203,119,.18),0 18px 36px rgba(30,45,85,.18)}
@keyframes pdwPlacedPop{from{transform:scale(.2) translateY(-20px);opacity:0}to{transform:scale(1);opacity:1}}

.pdw-count-board{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(82px,1fr));
  gap:10px;
  align-items:center;
  justify-items:center;
  max-height:390px;
  padding:20px;
  overflow:auto;
  border-radius:23px;
  background:rgba(255,255,255,.82);
  border:3px solid #e4e9f3;
}
.pdw-count-board img{width:82px;height:82px;object-fit:contain;animation:pdwPlacedPop .38s ease both}

.pdw-color-baskets{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
  margin-top:18px;
}
.pdw-color-basket{
  min-height:180px;
  padding:16px 12px;
  border:5px dashed currentColor;
  border-radius:25px;
  background:rgba(255,255,255,.92);
  text-align:center;
  transition:transform .2s,box-shadow .2s;
}
.pdw-color-basket strong{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  color:#26355e;
  font-size:15px;
  box-shadow:0 7px 16px rgba(35,45,80,.12);
}
.pdw-color-red{color:#ef4e5b;background:#fff0f1}
.pdw-color-green{color:#43b965;background:#effff2}
.pdw-color-yellow{color:#d6a900;background:#fff9d9}
.pdw-color-blue{color:#3b8fe8;background:#edf7ff}
.pdw-color-orange{color:#ef8a2e;background:#fff4e9}
.pdw-color-purple{color:#8e5bd8;background:#f4edff}
.pdw-color-basket.is-receiving{transform:scale(1.04);box-shadow:0 0 0 7px rgba(255,209,102,.25)}
.pdw-basket-fill{display:flex;min-height:105px;align-items:flex-end;justify-content:center;gap:4px;flex-wrap:wrap}
.pdw-basket-fill img{width:58px;height:58px;object-fit:contain;animation:pdwPlacedPop .4s ease}

.pdw-feed-scene{
  position:relative;
  min-height:320px;
  border-radius:26px;
  background:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.15)),url("../images/backgrounds/farm.webp") center/cover no-repeat;
  overflow:hidden;
  border:4px solid rgba(255,255,255,.9);
}
.pdw-feed-animal{
  position:absolute;
  left:50%;
  bottom:26px;
  transform:translateX(-50%);
  text-align:center;
}
.pdw-feed-animal img{width:210px;height:210px;object-fit:contain;filter:drop-shadow(0 14px 12px rgba(35,45,80,.25))}
.pdw-feed-animal strong{display:block;padding:8px 13px;border-radius:999px;background:#fff;color:#25345d}
.pdw-feed-animal.is-fed img{animation:pdwRealLaugh .26s ease-in-out 7 alternate!important}
.pdw-feed-mouth{
  position:absolute;
  left:50%;
  bottom:115px;
  width:100px;height:100px;
  transform:translateX(-50%);
}
.pdw-feed-mouth img{width:100%;height:100%;object-fit:contain;animation:pdwPlacedPop .4s ease}
.pdw-feed-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}

.pdw-fruit-hud{
  position:absolute;
  z-index:5;
  top:14px;left:14px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  color:#26355e;
  box-shadow:0 10px 26px rgba(35,45,80,.18);
}
.pdw-fruit-hud span{font-size:31px;font-weight:950;color:#7042d3}
.pdw-fruit-hud span.is-bumping{animation:pdwCounterBump .25s ease}
.pdw-fruit-arena{
  position:relative;
  min-height:600px;
  overflow:hidden;
  border-radius:26px;
  background:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),url("../images/backgrounds/city.webp") center/cover no-repeat;
  border:4px solid rgba(255,255,255,.9);
  touch-action:none;
}
.pdw-flying-fruit{
  position:absolute;
  z-index:2;
  bottom:-170px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  animation:pdwFruitFly linear forwards;
  filter:drop-shadow(0 15px 12px rgba(32,42,76,.25));
}
.pdw-flying-fruit img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.pdw-fruit-half{
  position:absolute;
  z-index:4;
  pointer-events:none;
  animation:pdwFruitHalf .82s ease-out forwards;
}
.pdw-fruit-half img{width:100%;height:100%;object-fit:contain}
.pdw-fruit-half.left{clip-path:polygon(0 0,52% 0,47% 100%,0 100%);--half-x:-90px;--half-r:-70deg}
.pdw-fruit-half.right{clip-path:polygon(50% 0,100% 0,100% 100%,46% 100%);--half-x:90px;--half-r:70deg}
.pdw-juice-drop{
  position:absolute;
  z-index:3;
  width:14px;height:14px;
  border-radius:50%;
  pointer-events:none;
  animation:pdwJuice .6s ease-out forwards;
}
@keyframes pdwFruitFly{
  0%{transform:translate3d(0,0,0) rotate(-8deg)}
  48%{transform:translate3d(var(--fruit-x),-690px,0) rotate(14deg)}
  100%{transform:translate3d(calc(var(--fruit-x) * 1.25),40px,0) rotate(38deg)}
}
@keyframes pdwFruitHalf{
  to{transform:translate(var(--half-x),180px) rotate(var(--half-r));opacity:0}
}
@keyframes pdwJuice{to{transform:translate(var(--jx),var(--jy)) scale(.3);opacity:0}}
@keyframes pdwCounterBump{50%{transform:scale(1.32)}}

@media(max-width:720px){
  .pdw-world-scenes{grid-template-columns:1fr}
  .pdw-fruit-arena{min-height:500px}
  .pdw-fruit-hud{top:8px;left:8px;padding:9px 12px}
  .pdw-fruit-hud span{font-size:25px}
}

/* v4.1 — slower fruit game, three misses and vegetable pack */
.pdw-flying-fruit,
.pdw-flying-fruit:hover,
.pdw-flying-fruit:focus,
.pdw-flying-fruit:focus-visible,
.pdw-flying-fruit:active{
  outline:none!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  -webkit-tap-highlight-color:transparent!important;
}
.pdw-flying-fruit img{
  user-select:none;
  -webkit-user-drag:none;
}
.pdw-fruit-hud{
  right:14px;
  justify-content:space-between;
}
.pdw-fruit-hud>div{
  display:flex;
  align-items:center;
  gap:12px;
}
.pdw-miss-counter{
  padding-left:16px;
  border-left:2px solid #e2e7f1;
}
.pdw-miss-counter span{
  color:#d83c52!important;
}
.pdw-cut-game-over{
  position:absolute;
  z-index:10;
  left:50%;
  top:50%;
  display:flex;
  min-width:min(420px,88%);
  padding:28px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  transform:translate(-50%,-50%);
  border:5px solid rgba(255,255,255,.95);
  border-radius:28px;
  background:rgba(255,255,255,.96);
  color:#24335d;
  text-align:center;
  box-shadow:0 26px 70px rgba(31,43,75,.28);
  animation:pdwGameOverPop .45s cubic-bezier(.2,.9,.3,1);
}
.pdw-cut-game-over strong{
  font-size:clamp(34px,6vw,58px);
  font-weight:950;
}
.pdw-cut-game-over span{
  font-size:20px;
  font-weight:900;
  color:#7042d3;
}
@keyframes pdwGameOverPop{
  from{transform:translate(-50%,-50%) scale(.65);opacity:0}
  to{transform:translate(-50%,-50%) scale(1);opacity:1}
}
@media(max-width:620px){
  .pdw-fruit-hud{
    right:8px;
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
  .pdw-miss-counter{
    padding-left:0;
    border-left:0;
  }
}

/* v4.2 final-today controls, progress and mobile polish */
.pdw-global-controls{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  width:min(1240px,100%);
  margin:0 auto 12px;
}
.pdw-global-controls button{
  padding:9px 13px;
  border:2px solid rgba(112,66,211,.20);
  border-radius:13px;
  background:rgba(255,255,255,.94);
  color:#26355e;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:950;
  box-shadow:0 8px 20px rgba(35,45,80,.10);
}
.pdw-global-controls button:hover,
.pdw-global-controls button:focus-visible{
  background:#eee5ff;
  border-color:#7042d3;
  outline:none;
}
.pdw-stats-modal{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(21,30,58,.56);
  backdrop-filter:blur(8px);
}
.pdw-stats-dialog{
  position:relative;
  width:min(760px,100%);
  padding:30px;
  border:4px solid #fff;
  border-radius:28px;
  background:#fff;
  color:#26355e;
  box-shadow:0 34px 90px rgba(20,30,60,.34);
}
.pdw-stats-dialog h2{margin:0 0 22px;text-align:center;font-size:34px}
.pdw-stats-close{
  position:absolute;
  top:10px;right:12px;
  width:42px;height:42px;
  border:0;border-radius:50%;
  background:#f1edff;color:#7042d3;
  cursor:pointer;font-size:28px;font-weight:900;
}
.pdw-progress-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pdw-progress-grid>div{
  display:flex;
  min-height:120px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:15px;
  border:2px solid #e3e8f1;
  border-radius:20px;
  background:linear-gradient(145deg,#f7fbff,#fff8dd);
  text-align:center;
}
.pdw-progress-grid strong{font-size:30px;color:#7042d3}
.pdw-progress-grid span{margin-top:5px;font-size:12px;font-weight:900;color:#68738b}
.pdw-cut-game-over small{font-size:16px;font-weight:900;color:#68738b}
.playdot-aw:fullscreen{
  overflow:auto;
  padding-top:20px;
}
@media(max-width:620px){
  .pdw-global-controls{
    justify-content:center;
    flex-wrap:wrap;
  }
  .pdw-global-controls button{
    min-width:96px;
    min-height:44px;
  }
  .pdw-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdw-drag,.pdw-word-choice,.pdw-math-option,.pdw-choice{
    min-height:54px;
  }
}

/* ==========================================================
   PLAYDOT V5 PREMIUM — ALL 12 GAMES
   ========================================================== */
.pdw-premium-complete{
  display:flex;
  min-height:330px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:13px;
  padding:28px;
  border:5px solid #fff;
  border-radius:28px;
  background:
    radial-gradient(circle at 30% 15%,rgba(255,209,102,.55),transparent 28%),
    radial-gradient(circle at 75% 20%,rgba(76,201,240,.38),transparent 30%),
    linear-gradient(145deg,#f4eeff,#effff2);
  box-shadow:0 24px 60px rgba(40,50,95,.18);
  text-align:center;
  animation:pdwPremiumEnter .55s cubic-bezier(.2,.9,.3,1);
}
.pdw-premium-complete strong{
  color:#26355e;
  font-size:clamp(38px,7vw,72px);
  font-weight:950;
  letter-spacing:-.045em;
}
.pdw-premium-complete span{
  color:#7042d3;
  font-size:20px;
  font-weight:950;
}
.pdw-pop{animation:pdwPremiumPop .3s cubic-bezier(.2,.9,.3,1)}
.pdw-shake{animation:pdwPremiumShake .38s ease}
.pdw-breathe{animation:pdwPremiumBreathe 2.8s ease-in-out infinite}
.pdw-pulse{animation:pdwPremiumPulse 1.2s ease-in-out infinite}
.pdw-glow-success{
  border-color:#6bcb77!important;
  box-shadow:0 0 0 6px rgba(107,203,119,.17),0 16px 32px rgba(38,145,82,.18)!important;
}
.pdw-celebrate-object{animation:pdwPremiumCelebrate .55s ease-in-out 4 alternate!important}
@keyframes pdwPremiumEnter{from{transform:scale(.78);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes pdwPremiumPop{50%{transform:scale(1.28)}}
@keyframes pdwPremiumShake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
@keyframes pdwPremiumBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes pdwPremiumPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.7}}
@keyframes pdwPremiumCelebrate{to{transform:translateY(-9px) rotate(2deg) scale(1.05)}}

/* Memory */
.pdw-memory-premium .pdw-memory{
  transition:transform .18s,filter .18s;
}
.pdw-memory-premium .pdw-memory:hover{transform:translateY(-4px)}
.pdw-memory.is-matched{pointer-events:none}
.pdw-memory.is-matched .pdw-memory-inner{
  filter:saturate(1.12) brightness(1.04);
}
.pdw-memory-back{
  background:
    radial-gradient(circle at 28% 28%,rgba(255,255,255,.28),transparent 18%),
    linear-gradient(135deg,#9d4edd,#4cc9f0)!important;
}

/* Build word */
.pdw-slot.is-filled{
  border-style:solid;
  border-color:#6bcb77;
  background:#effff2;
  color:#26355e;
}
.pdw-letter.is-used{opacity:.28!important;transform:scale(.86)}
.pdw-letter.is-wrong{filter:saturate(1.3) brightness(.92)}
.pdw-letter{transition:transform .17s,opacity .17s,filter .17s}
.pdw-letter:hover{transform:translateY(-4px) rotate(-2deg)}

/* Math */
.pdw-math-visual{
  display:flex;
  max-width:760px;
  min-height:110px;
  margin:0 auto 10px;
  padding:13px;
  align-items:center;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
  border-radius:22px;
  background:rgba(255,255,255,.78);
}
.pdw-math-visual img{
  width:55px;height:55px;object-fit:contain;
  animation:pdwPlacedPop .36s ease both;
}
.pdw-math-option.is-correct{
  border-color:#56c875!important;
  background:#eaffef!important;
  color:#145c31!important;
  box-shadow:0 0 0 5px rgba(86,200,117,.18)!important;
}
.pdw-math-option.is-wrong{
  border-color:#ef6c78!important;
  background:#fff0f1!important;
  color:#8e2530!important;
}

/* Difference and Pattern */
.pdw-difference-grid .pdw-choice{transition:transform .18s,border-color .18s,box-shadow .18s}
.pdw-difference-grid .pdw-choice:hover{transform:translateY(-5px) scale(1.02)}
.pdw-missing.is-correct{
  border-style:solid;
  border-color:#6bcb77;
  background:#effff2;
}
.pdw-option{transition:transform .17s,border-color .17s}
.pdw-option:hover{transform:translateY(-4px);border-color:#9d4edd}

/* Build the World */
.pdw-world-alive{
  animation:pdwWorldAlive 3.2s ease-in-out infinite!important;
}
.pdw-world-alive:nth-child(2n){animation-delay:.45s!important}
.pdw-world-alive:nth-child(3n){animation-delay:.9s!important}
@keyframes pdwWorldAlive{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-5px) rotate(1deg)}
}

/* Shadow */
.pdw-shadow-reveal img{animation:pdwShadowReveal .55s cubic-bezier(.2,.9,.3,1)}
@keyframes pdwShadowReveal{
  from{transform:scale(.72);filter:grayscale(1) brightness(.15);opacity:.25}
  to{transform:scale(1);filter:none;opacity:1}
}

/* Picture & Word */
.pdw-word-choice.is-correct{
  background:#effff2!important;
  border-color:#6bcb77!important;
  color:#145c31!important;
}
.pdw-word-choice.is-wrong{
  background:#fff0f1!important;
  border-color:#ef6c78!important;
}

/* Counting */
.pdw-count-board img{
  filter:drop-shadow(0 7px 6px rgba(35,45,80,.18));
}

/* Feed animals */
.pdw-chew img{
  animation:pdwChew .22s ease-in-out 8 alternate!important;
}
@keyframes pdwChew{
  from{transform:translateY(0) scale(1)}
  to{transform:translateY(-5px) scale(1.035)}
}

/* Cut the Fruits combo */
.pdw-combo{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:13px;
  background:#f3f5fa;
  color:#7a8496;
  font-size:12px;
  font-weight:950;
  opacity:.56;
  transform:scale(.92);
  transition:.18s;
}
.pdw-combo span{font-size:20px!important;color:#7042d3!important}
.pdw-combo.is-active{
  opacity:1;
  transform:scale(1.06);
  background:#fff0ad;
  box-shadow:0 8px 18px rgba(255,180,30,.2);
}

/* Drag polish */
.pdw-drag{
  transition:transform .16s,box-shadow .16s,border-color .16s;
}
.pdw-drag:hover{
  transform:translateY(-5px) scale(1.025);
  border-color:#9d4edd;
  box-shadow:0 14px 30px rgba(65,55,135,.16);
}
@media(max-width:620px){
  .pdw-math-visual img{width:43px;height:43px}
  .pdw-premium-complete{min-height:280px}
  .pdw-combo{display:none}
}

/* v5.1 gameplay upgrades */
.pdw-memory.is-matched .pdw-memory-inner{transform:rotateY(180deg)!important}
.pdw-memory.is-matched .pdw-memory-front{visibility:visible!important;opacity:1!important}
.pdw-memory.is-matched .pdw-memory-back{visibility:hidden!important}
.pdw-two-scenes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pdw-world-side-left .pdw-world-placed{justify-content:flex-start!important;padding-left:8px}
.pdw-world-side-right .pdw-world-placed{justify-content:flex-end!important;padding-right:8px}
.pdw-world-side-left .pdw-world-animal:nth-child(even){margin-left:auto}
.pdw-world-side-right .pdw-world-animal:nth-child(even){margin-right:auto}
@media(max-width:720px){
 .pdw-two-scenes{grid-template-columns:1fr!important}
 .pdw-world-side-left .pdw-world-placed,.pdw-world-side-right .pdw-world-placed{justify-content:space-around!important;padding-left:0;padding-right:0}
}

/* v5.2 Match the Animals: farm, jungle and underwater worlds */
.pdw-animal-scenes{
  display:grid!important;
  align-items:stretch;
}
.pdw-animal-scenes.pdw-scenes-2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.pdw-animal-scenes.pdw-scenes-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.pdw-animal-scene{
  min-height:280px!important;
}
.pdw-animal-scene .pdw-world-placed{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  min-height:190px;
  align-items:end;
  justify-items:center;
  gap:3px;
  padding:6px!important;
}
.pdw-animal-scene .pdw-world-animal{
  width:72px!important;
  height:72px!important;
  margin:0!important;
}
.pdw-scene-underwater .pdw-world-animal{
  animation:pdwUnderwaterFloat 3.4s ease-in-out infinite!important;
}
.pdw-scene-underwater .pdw-world-animal:nth-child(2n){
  animation-delay:.55s!important;
}
@keyframes pdwUnderwaterFloat{
  0%,100%{transform:translateY(0) rotate(-1deg)}
  50%{transform:translateY(-9px) rotate(2deg)}
}
@media(max-width:980px){
  .pdw-animal-scenes.pdw-scenes-3{
    grid-template-columns:1fr 1fr!important;
  }
  .pdw-animal-scenes.pdw-scenes-3 .pdw-animal-scene:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .pdw-animal-scenes.pdw-scenes-2,
  .pdw-animal-scenes.pdw-scenes-3{
    grid-template-columns:1fr!important;
  }
  .pdw-animal-scenes.pdw-scenes-3 .pdw-animal-scene:last-child{
    grid-column:auto;
  }
}


/* ==========================================================
   PLAYDOT V6 MASTER UPGRADE
   ========================================================== */

/* Real animated WebP characters — do not fake movement by moving the whole image. */
.pdw-character img,
.pdw-guide-character img,
.playdot-character-alive,
.playdot-action-jump,
.playdot-action-hop,
.playdot-action-laugh{
  animation:none!important;
  transform:none!important;
}
.pdw-character,
.pdw-guide-character{position:relative}
.pdw-home-bubble{
  position:absolute;
  z-index:4;
  top:-6px;
  left:50%;
  width:170px;
  padding:9px 11px;
  transform:translateX(-50%);
  border:2px solid #ffd166;
  border-radius:17px;
  background:rgba(255,250,217,.96);
  color:#344160;
  font-size:11px;
  font-weight:900;
  line-height:1.3;
  text-align:center;
  box-shadow:0 8px 20px rgba(35,45,80,.12);
}

/* Game covers show the game concept, not a repeated mascot. */
.pdw-card-scene{
  background-image:var(--scene)!important;
}
.pdw-card-scene:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(22,35,70,.08));
  pointer-events:none
}
.pdw-cover-item{
  position:absolute!important;
  width:42%!important;
  height:58%!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 9px rgba(25,40,75,.24));
  animation:none!important;
  z-index:2
}
.pdw-cover-item-1{left:3%!important;bottom:5%!important;right:auto!important}
.pdw-cover-item-2{left:29%!important;bottom:30%!important;right:auto!important}
.pdw-cover-item-3{right:2%!important;left:auto!important;bottom:4%!important}
.pdw-cover-memory .pdw-cover-item-1,
.pdw-cover-memory .pdw-cover-item-3{border:5px solid #fff;border-radius:15px;background:#fff}
.pdw-cover-shadow .pdw-cover-item-2{filter:grayscale(1) brightness(.18) opacity(.45)}
.pdw-cover-color .pdw-cover-effect{
  position:absolute;left:8%;right:8%;bottom:8%;height:35px;
  border-radius:12px;
  background:linear-gradient(90deg,#ff5f68 0 33%,#ffd44e 33% 66%,#5fcf7a 66%);
  opacity:.82
}
.pdw-cover-math:before{
  content:"+  =  ?";
  position:absolute;z-index:3;top:12px;left:12px;
  padding:5px 9px;border-radius:10px;background:#fff;color:#7042d3;font-weight:950
}
.pdw-cover-word:before{
  content:"A  B  C";
  position:absolute;z-index:3;top:12px;left:12px;
  padding:5px 9px;border-radius:10px;background:#fff;color:#7042d3;font-weight:950
}

/* Universal drag ghost */
.pdw-drag-ghost{
  display:block!important;
  visibility:visible!important;
  opacity:.98!important;
  background:rgba(255,255,255,.98)!important;
  border:4px solid #8f5be8!important;
  border-radius:20px!important;
  box-shadow:0 22px 46px rgba(30,40,80,.34)!important;
  overflow:hidden!important;
  scale:1.08!important;
}
.pdw-drag-ghost img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;pointer-events:none!important
}
.pdw-drop-hover{
  outline:6px solid rgba(255,209,102,.85)!important;
  outline-offset:3px!important;
  transform:scale(1.025)!important;
  transition:.14s!important
}
.pdw-returning{animation:pdwV6Return .48s ease}
@keyframes pdwV6Return{35%{transform:translateX(-8px)}70%{transform:translateX(8px)}}

/* Memory */
.pdw-v6-memory{
  grid-template-columns:repeat(var(--pdw-memory-cols),minmax(0,1fr))!important
}
.pdw-memory.is-matched .pdw-memory-inner,
.pdw-memory.pdw-memory-locked-open .pdw-memory-inner{
  transform:rotateY(180deg)!important
}
.pdw-memory.is-matched .pdw-memory-front,
.pdw-memory.pdw-memory-locked-open .pdw-memory-front{
  visibility:visible!important;opacity:1!important
}
.pdw-memory.is-matched .pdw-memory-back,
.pdw-memory.pdw-memory-locked-open .pdw-memory-back{
  visibility:hidden!important;opacity:0!important
}

/* Build the Word completed reward */
.pdw-word-work{display:flex;flex-direction:column;gap:18px}
.pdw-word-complete{
  grid-template-columns:1fr!important;
  justify-items:center!important;
  text-align:center!important
}
.pdw-word-complete .pdw-word-image{
  width:min(430px,86vw)!important;
  animation:pdwWordReward 1.15s cubic-bezier(.2,.9,.3,1) both!important;
  box-shadow:0 0 0 8px rgba(255,209,102,.22),0 28px 65px rgba(40,50,90,.22)!important
}
.pdw-word-complete .pdw-word-work{width:100%}
.pdw-word-complete .pdw-letters{opacity:.25;pointer-events:none}
@keyframes pdwWordReward{
  0%{transform:scale(.72);opacity:.5}
  60%{transform:scale(1.08) translateY(-8px)}
  100%{transform:scale(1)}
}

/* Math visual story */
.pdw-math-scene{
  position:relative;
  min-height:270px;
  padding:48px 22px 20px;
  border:4px solid rgba(255,255,255,.94);
  border-radius:26px;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(35,45,80,.15)
}
.pdw-math-story{
  display:flex;min-height:195px;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap
}
.pdw-math-group{
  display:flex;max-width:340px;padding:12px;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;
  border-radius:20px;background:rgba(255,255,255,.84)
}
.pdw-math-object{display:inline-grid;width:54px;height:54px;place-items:center}
.pdw-math-object img{width:100%;height:100%;object-fit:contain}
.pdw-math-symbol{
  display:grid;width:58px;height:58px;place-items:center;border-radius:50%;
  background:#fff;color:#7042d3;font-size:30px;box-shadow:0 8px 22px rgba(35,45,80,.14)
}
.pdw-math-multiply{display:grid;gap:5px;padding:12px;border-radius:20px;background:rgba(255,255,255,.83)}
.pdw-math-row{display:flex;gap:4px;justify-content:center}
.pdw-math-divide{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pdw-math-basket{
  min-width:120px;padding:10px;border:3px solid #ffd166;border-radius:18px;background:rgba(255,255,255,.88);text-align:center
}
.pdw-math-basket>span{display:block;font-weight:950;color:#7042d3}
.pdw-math-solved .pdw-math-object{animation:pdwMathSolved .65s ease-in-out 2 alternate}
@keyframes pdwMathSolved{to{transform:translateY(-9px) scale(1.08)}}

/* Animal scenes */
.pdw-v6-animal-scenes{display:grid!important;gap:14px!important}
.pdw-v6-animal-scenes.pdw-scenes-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pdw-v6-animal-scenes.pdw-scenes-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.pdw-animal-scene{min-height:275px!important}
.pdw-animal-scene .pdw-world-placed{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;min-height:190px!important;align-items:end!important;justify-items:center!important;
  gap:4px!important;padding:8px!important
}
.pdw-animal-scene .pdw-world-animal{width:78px!important;height:78px!important;margin:0!important}
.pdw-landed{animation:pdwLand .48s cubic-bezier(.2,.9,.3,1),pdwWorldAlive 3.2s ease-in-out .5s infinite!important}
@keyframes pdwLand{from{transform:translateY(-32px) scale(.4);opacity:0}to{transform:none;opacity:1}}

/* Counting Adventure */
.pdw-count-scene{
  position:relative;min-height:400px;border:4px solid #fff;border-radius:27px;
  background-size:cover;background-position:center;overflow:hidden;
  box-shadow:0 18px 40px rgba(35,45,80,.15)
}
.pdw-count-prompt{
  position:absolute;z-index:4;top:13px;left:50%;transform:translateX(-50%);
  max-width:88%;padding:10px 17px;border-radius:999px;background:rgba(255,255,255,.94);
  color:#26355e;font-size:18px;font-weight:950;text-align:center;white-space:nowrap
}
.pdw-count-objects{position:absolute;inset:58px 8px 8px}
.pdw-count-object{
  position:absolute;left:var(--rx);top:var(--ry);width:88px;height:88px;
  transform:translate(-50%,-50%);padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation
}
.pdw-count-object img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(35,45,80,.22))}
.pdw-count-object span{
  position:absolute;right:-3px;top:-4px;display:none;width:28px;height:28px;place-items:center;
  border-radius:50%;background:#7042d3;color:#fff;font-weight:950
}
.pdw-count-object.is-counted{filter:saturate(1.15);transform:translate(-50%,-50%) scale(1.1)}
.pdw-count-object.is-counted span{display:grid}
.pdw-count-live{
  width:max-content;max-width:100%;margin:15px auto;padding:12px 18px;border-radius:16px;
  background:#f0eaff;color:#7042d3;font-size:18px;font-weight:950
}
.pdw-count-success .pdw-count-object{animation:pdwPlacedPop .5s ease}

/* Feed the Animals redesign */
.pdw-v6-feed-scene{
  min-height:390px!important;background-size:cover!important;background-position:center!important
}
.pdw-feed-food{
  display:flex!important;min-width:126px!important;min-height:132px!important;
  align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important
}
.pdw-feed-food img{width:92px!important;height:92px!important}
.pdw-feed-food span{color:#26355e;font-size:11px;font-weight:950}
.pdw-feed-animal img{transition:transform .18s ease}
.pdw-feed-scene.pdw-drop-hover .pdw-feed-animal img{transform:scale(1.08) translateY(-5px)!important}
.pdw-feed-reaction{
  position:absolute;z-index:6;top:17px;left:50%;transform:translateX(-50%);
  min-width:130px;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.95);
  color:#7042d3;text-align:center;font-weight:950;box-shadow:0 9px 20px rgba(35,45,80,.14)
}
.pdw-feed-reaction:empty{display:none}
.pdw-feed-mouth.is-eating{animation:pdwFoodIntoMouth .72s cubic-bezier(.2,.85,.3,1) forwards}
.pdw-feed-no img{animation:pdwAnimalNo .22s ease-in-out 5 alternate!important}
@keyframes pdwFoodIntoMouth{
  0%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}
  80%{transform:translateX(-50%) translateY(16px) scale(.35);opacity:1}
  100%{transform:translateX(-50%) translateY(22px) scale(.1);opacity:0}
}
@keyframes pdwAnimalNo{from{transform:translateX(-7px) rotate(-2deg)}to{transform:translateX(7px) rotate(2deg)}}

/* Celebration */
.pdw-v6-celebration-layer{
  position:fixed;inset:0;z-index:2147483640;pointer-events:none;overflow:hidden
}
.pdw-v6-balloon{pointer-events:auto!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important}
.pdw-v6-balloon:after{top:88%!important;height:120px!important}

/* Stage/fullscreen controls */
.pdw-stage-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.pdw-stage-controls .pdw-back{margin:0!important}
.pdw-stage-fullscreen{
  display:grid;width:42px;height:42px;place-items:center;border:0;border-radius:13px;
  background:#f0eaff;color:#7042d3;cursor:pointer;font-size:20px;font-weight:950
}
.pdw-stage:fullscreen,
.pdw-stage.is-pdw-fullscreen{
  max-width:none!important;width:100vw!important;height:100vh!important;margin:0!important;
  padding:14px!important;border:0!important;border-radius:0!important;overflow:auto!important;background:#f7fbff!important
}
.pdw-stage:fullscreen .pdw-stage-layout,
.pdw-stage.is-pdw-fullscreen .pdw-stage-layout{
  display:block!important
}
.pdw-stage:fullscreen .pdw-guide,
.pdw-stage.is-pdw-fullscreen .pdw-guide{
  position:fixed!important;z-index:20!important;right:14px!important;bottom:12px!important;top:auto!important;
  width:105px!important;display:block!important;pointer-events:none!important
}
.pdw-stage:fullscreen .pdw-guide-character img,
.pdw-stage.is-pdw-fullscreen .pdw-guide-character img{height:92px!important}
.pdw-stage:fullscreen .pdw-guide-bubble,
.pdw-stage.is-pdw-fullscreen .pdw-guide-bubble{
  padding:6px 8px!important;font-size:10px!important;border-width:2px!important
}
.pdw-stage:fullscreen .pdw-game-area,
.pdw-stage.is-pdw-fullscreen .pdw-game-area{
  width:min(1500px,100%)!important;margin:auto!important
}
.pdw-stage:fullscreen .pdw-game-area>h2,
.pdw-stage:fullscreen .pdw-game-area>p,
.pdw-stage.is-pdw-fullscreen .pdw-game-area>h2,
.pdw-stage.is-pdw-fullscreen .pdw-game-area>p{
  display:none!important
}
.pdw-stage:fullscreen .pdw-body,
.pdw-stage.is-pdw-fullscreen .pdw-body{
  min-height:calc(100vh - 135px)!important
}
.pdw-stage:fullscreen .pdw-replay,
.pdw-stage.is-pdw-fullscreen .pdw-replay{
  position:fixed!important;z-index:25!important;right:18px!important;top:16px!important
}

/* Tablet */
@media(max-width:1024px){
 .playdot-aw{padding-left:10px!important;padding-right:10px!important}
 .pdw-shell{width:100%!important}
 .pdw-hero{grid-template-columns:145px 1fr 145px!important}
 .pdw-character img{height:170px!important}
 .pdw-home-bubble{width:135px;font-size:9px}
 .pdw-games{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pdw-stage{padding:18px!important}
 .pdw-stage-layout{grid-template-columns:145px minmax(0,1fr)!important;gap:13px!important}
 .pdw-guide-character img{height:155px!important}
 .pdw-drag{width:96px!important;min-width:96px!important}
 .pdw-shadow-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .pdw-color-baskets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pdw-v6-animal-scenes.pdw-scenes-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pdw-v6-animal-scenes.pdw-scenes-3 .pdw-animal-scene:last-child{grid-column:1/-1}
}

/* Phone */
@media(max-width:680px){
 .playdot-aw{padding:12px 6px 80px!important;overflow-x:hidden!important}
 .pdw-hero{grid-template-columns:1fr!important}
 .pdw-hero>.pdw-character{display:none!important}
 .pdw-panel,.pdw-stage{width:100%!important;padding:12px!important;border-radius:20px!important}
 .pdw-age-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .pdw-games{grid-template-columns:1fr!important;gap:12px!important}
 .pdw-game-card{min-height:300px!important}
 .pdw-stage-layout{display:block!important}
 .pdw-guide{
  position:relative!important;top:auto!important;display:flex!important;align-items:center!important;
  gap:8px!important;margin-bottom:10px!important;padding:6px!important
 }
 .pdw-guide-character{width:68px!important;flex:0 0 68px!important}
 .pdw-guide-character img{width:68px!important;height:68px!important}
 .pdw-guide-bubble{flex:1!important;padding:8px!important;font-size:11px!important}
 .pdw-game-area{padding:4px!important}
 .pdw-body{min-height:300px!important}
 .pdw-v6-memory{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
 .pdw-memory{min-width:0!important;width:100%!important}
 .pdw-sort-items{gap:7px!important}
 .pdw-drag{width:78px!important;min-width:78px!important}
 .pdw-shadow-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .pdw-shadow-target{min-height:120px!important;padding:6px!important}
 .pdw-shadow-target img{height:105px!important}
 .pdw-color-baskets{grid-template-columns:1fr!important;gap:9px!important}
 .pdw-color-basket{min-height:140px!important}
 .pdw-v6-animal-scenes.pdw-scenes-2,
 .pdw-v6-animal-scenes.pdw-scenes-3{grid-template-columns:1fr!important}
 .pdw-v6-animal-scenes.pdw-scenes-3 .pdw-animal-scene:last-child{grid-column:auto}
 .pdw-word-layout,.pdw-pw-row{grid-template-columns:1fr!important}
 .pdw-options,.pdw-math-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .pdw-math-scene{min-height:300px;padding:42px 8px 10px}
 .pdw-math-object{width:39px;height:39px}
 .pdw-math-story{gap:8px}
 .pdw-math-symbol{width:44px;height:44px;font-size:22px}
 .pdw-count-scene{min-height:410px}
 .pdw-count-prompt{font-size:13px;white-space:normal}
 .pdw-count-object{width:68px;height:68px}
 .pdw-feed-food{min-width:84px!important;min-height:105px!important}
 .pdw-feed-food img{width:70px!important;height:70px!important}
 .pdw-fruit-arena{min-height:calc(100vh - 220px)!important}
}
@media(max-width:390px){
 .pdw-drag{width:68px!important;min-width:68px!important}
 .pdw-slot,.pdw-letter{width:44px!important;height:44px!important;font-size:20px!important}
 .pdw-count-object{width:60px;height:60px}
}

/* ==========================================================
   V6.1 MOBILE FULLSCREEN FIX
   Native fullscreen when supported + fixed viewport fallback for iOS/mobile.
   ========================================================== */
html.pdw-html-fullscreen,
body.pdw-body-fullscreen{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none;
}
body.pdw-body-fullscreen{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

/* CSS fallback: behaves like fullscreen even when the mobile browser
   does not allow the Fullscreen API for arbitrary elements. */
.pdw-stage.is-pdw-fallback-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  height:100vh!important;
  height:100dvh!important;
  max-height:none!important;
  margin:0!important;
  padding:max(8px,env(safe-area-inset-top))
          max(8px,env(safe-area-inset-right))
          max(8px,env(safe-area-inset-bottom))
          max(8px,env(safe-area-inset-left))!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  border:0!important;
  border-radius:0!important;
  background:#f7fbff!important;
}

/* Only the game itself is visible in fullscreen. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-layout{
  display:block!important;
  width:100%!important;
  min-height:calc(100dvh - 72px)!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area>h2,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area>p{
  display:none!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-body{
  width:100%!important;
  min-height:calc(100dvh - 95px)!important;
  max-width:none!important;
}

/* Keep HUD and controls visible. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-controls{
  position:sticky!important;
  z-index:40!important;
  top:0!important;
  min-height:48px!important;
  margin:0 0 8px!important;
  padding:4px 2px!important;
  background:rgba(247,251,255,.94)!important;
  backdrop-filter:blur(8px)!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-fullscreen{
  position:relative!important;
  z-index:50!important;
  width:44px!important;
  height:44px!important;
  font-size:28px!important;
  line-height:1!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-back{
  min-height:44px!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stats,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-fruit-hud{
  position:relative!important;
  z-index:15!important;
}

/* Compact mascot in mobile fullscreen, without stealing game space. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide{
  position:fixed!important;
  z-index:30!important;
  right:max(8px,env(safe-area-inset-right))!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  top:auto!important;
  left:auto!important;
  width:88px!important;
  margin:0!important;
  padding:3px!important;
  pointer-events:none!important;
  background:transparent!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character{
  width:74px!important;
  margin:auto!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character img{
  width:74px!important;
  height:74px!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-bubble{
  max-width:100px!important;
  margin-top:1px!important;
  padding:5px 6px!important;
  font-size:9px!important;
  line-height:1.2!important;
}

/* Drag ghost must remain above the fallback fullscreen layer. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-drag-ghost,
body.pdw-body-fullscreen .pdw-drag-ghost{
  z-index:2147483646!important;
}

/* Landscape phone: use the available width aggressively. */
@media(max-width:950px) and (orientation:landscape){
  .pdw-stage.is-pdw-fallback-fullscreen{
    padding:6px max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left))!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-body{
    min-height:calc(100dvh - 62px)!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide{
    width:72px!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character img{
    width:60px!important;
    height:60px!important;
  }
}

/* Small portrait phones. */
@media(max-width:480px) and (orientation:portrait){
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-controls{
    min-height:46px!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-body{
    min-height:calc(100dvh - 78px)!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide{
    width:76px!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character img{
    width:64px!important;
    height:64px!important;
  }
}

/* ==========================================================
   V6.2 COLORING GAME
   ========================================================== */
.pdw-cover-coloring .pdw-cover-item-1{
  left:4%!important;bottom:4%!important;width:38%!important;height:58%!important;
  transform:rotate(-18deg)!important
}
.pdw-cover-coloring .pdw-cover-item-2{
  left:34%!important;bottom:16%!important;width:38%!important;height:56%!important;
  filter:grayscale(1) brightness(.35) opacity(.72)!important
}
.pdw-cover-coloring .pdw-cover-item-3{
  right:3%!important;bottom:4%!important;width:34%!important;height:46%!important
}
.pdw-cover-coloring .pdw-cover-effect{
  position:absolute;inset:auto 8% 8% 8%;height:22px;border-radius:999px;
  background:linear-gradient(90deg,#ff4f64,#ff9f32,#ffd43b,#78d64b,#35a7ff,#9b5de5,#ef6db6);
  box-shadow:0 5px 12px rgba(35,45,80,.15)
}
.pdw-coloring-shell{
  width:min(1080px,100%);margin:auto;padding:12px;border-radius:24px;
  background:linear-gradient(145deg,#fff,#f7fbff);box-shadow:0 18px 45px rgba(35,45,80,.13)
}
.pdw-coloring-top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px
}
.pdw-coloring-top strong{color:#26355e;font-size:22px;font-weight:950}
.pdw-coloring-new{
  min-height:42px;padding:9px 14px;border:0;border-radius:13px;background:#f0eaff;color:#7042d3;
  cursor:pointer;font:inherit;font-size:12px;font-weight:950
}
.pdw-coloring-board{
  position:relative;width:min(720px,100%);aspect-ratio:1;margin:auto;border:5px solid #fff;border-radius:24px;
  overflow:hidden;background:#fff;box-shadow:0 18px 38px rgba(35,45,80,.16);
  touch-action:none
}
.pdw-coloring-board.is-finished{animation:pdwColoringFinish .6s ease-in-out 2 alternate}
@keyframes pdwColoringFinish{to{transform:scale(1.025) rotate(.6deg);box-shadow:0 0 0 9px rgba(255,209,102,.25),0 24px 55px rgba(35,45,80,.20)}}
.pdw-coloring-canvas{
  display:block;width:100%;height:100%;background:#fff;cursor:crosshair;touch-action:none
}
.pdw-coloring-toolbar{
  display:grid;grid-template-columns:1fr auto;gap:12px;margin-top:14px;padding:12px;border-radius:20px;background:#eef7ff
}
.pdw-coloring-palette{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap
}
.pdw-color-dot{
  width:38px;height:38px;border:4px solid #fff;border-radius:50%;cursor:pointer;
  box-shadow:0 5px 12px rgba(35,45,80,.15);transition:transform .15s,box-shadow .15s
}
.pdw-color-dot:hover,.pdw-color-dot.is-active{transform:scale(1.14);box-shadow:0 0 0 4px rgba(112,66,211,.22),0 7px 15px rgba(35,45,80,.18)}
.pdw-coloring-tools{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.pdw-coloring-tools button{
  min-height:42px;padding:8px 12px;border:2px solid #e0e6ef;border-radius:12px;background:#fff;color:#344160;
  cursor:pointer;font:inherit;font-size:11px;font-weight:950
}
.pdw-coloring-tools button.is-active{border-color:#8f5be8;background:#f0eaff;color:#7042d3}
.pdw-coloring-done{background:linear-gradient(135deg,#76d66a,#31b965)!important;color:#fff!important;border-color:transparent!important}
.pdw-coloring-sizes{
  grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:13px
}
.pdw-coloring-sizes button{
  display:block;padding:0;border:0;border-radius:50%;background:#344160;cursor:pointer;box-shadow:0 0 0 4px #fff
}
.pdw-coloring-sizes button[data-size="18"]{width:15px;height:15px}
.pdw-coloring-sizes button[data-size="34"]{width:23px;height:23px}
.pdw-coloring-sizes button[data-size="58"]{width:32px;height:32px}
.pdw-coloring-sizes button.is-active{background:#7042d3;box-shadow:0 0 0 4px #fff,0 0 0 7px rgba(112,66,211,.25)}
.pdw-stage:fullscreen .pdw-coloring-shell,
.pdw-stage.is-pdw-fullscreen .pdw-coloring-shell{width:min(1450px,100%)!important}
.pdw-stage:fullscreen .pdw-coloring-board,
.pdw-stage.is-pdw-fullscreen .pdw-coloring-board{width:min(calc(100dvh - 150px),82vw)!important}
@media(max-width:900px){
 .pdw-coloring-toolbar{grid-template-columns:1fr}
 .pdw-coloring-tools{justify-content:center}
}
@media(max-width:680px){
 .pdw-coloring-shell{padding:7px;border-radius:18px}
 .pdw-coloring-top strong{font-size:17px}
 .pdw-coloring-new{min-height:40px;padding:7px 10px}
 .pdw-coloring-board{border-width:3px;border-radius:18px}
 .pdw-coloring-toolbar{gap:8px;margin-top:9px;padding:8px}
 .pdw-coloring-palette{justify-content:center;gap:5px}
 .pdw-color-dot{width:31px;height:31px;border-width:3px}
 .pdw-coloring-tools{gap:5px}
 .pdw-coloring-tools button{min-height:40px;padding:7px 8px;font-size:10px}
 .pdw-stage.is-pdw-fallback-fullscreen .pdw-coloring-board{
   width:min(calc(100dvh - 150px),96vw)!important;
   max-height:calc(100dvh - 150px)!important
 }
}
@media(max-width:420px){
 .pdw-color-dot{width:28px;height:28px}
 .pdw-coloring-tools button{padding:6px 7px}
}

/* ==========================================================
   V6.3 SMART COLORING BRUSH + CENTERED BALLOONS
   ========================================================== */

/* Celebration stays in the central area. */
.pdw-v6-celebration-layer{
  display:block!important;
}
.pdw-v63-balloon{
  bottom:-190px!important;
  transform-origin:center bottom!important;
}
@keyframes pdwV63BalloonRise{
  0%{transform:translate3d(0,0,0) rotate(-3deg);opacity:0}
  8%{opacity:1}
  55%{transform:translate3d(var(--pdw-balloon-drift,0),-52vh,0) rotate(4deg);opacity:1}
  100%{transform:translate3d(calc(var(--pdw-balloon-drift,0) * -.35),-112vh,0) rotate(-3deg);opacity:.92}
}
.pdw-v63-balloon{
  animation-name:pdwV63BalloonRise!important;
  animation-timing-function:ease-out!important;
  animation-fill-mode:forwards!important;
}

/* Smart brush cursor */
.pdw-coloring-board{
  cursor:none!important;
}
.pdw-coloring-canvas{
  cursor:none!important;
}
.pdw-smart-brush{
  position:absolute;
  z-index:8;
  width:70px;
  height:70px;
  transform:translate(-18%,-82%) rotate(-22deg);
  opacity:0;
  pointer-events:none;
  transition:opacity .08s ease;
  filter:drop-shadow(0 8px 7px rgba(30,40,80,.24));
}
.pdw-smart-brush.is-visible{opacity:1}
.pdw-smart-brush img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.pdw-smart-brush:after{
  content:"";
  position:absolute;
  right:5px;
  bottom:3px;
  width:20px;
  height:20px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--brush-colour,#ff4f64);
  box-shadow:0 3px 8px rgba(35,45,80,.20);
}

/* Make colouring feel effortless for young children. */
.pdw-coloring-helper{
  width:max-content;
  max-width:92%;
  margin:10px auto 0;
  padding:8px 13px;
  border-radius:999px;
  background:#fff5c7;
  color:#66520b;
  font-size:12px;
  font-weight:900;
  text-align:center;
}
.pdw-coloring-board:after{
  content:"";
  position:absolute;
  inset:0;
  border:4px solid rgba(112,66,211,.08);
  border-radius:20px;
  pointer-events:none;
}
.pdw-coloring-tool[data-tool="brush"]:before{
  content:"";
  display:inline-block;
  width:20px;
  height:20px;
  margin-right:5px;
  vertical-align:-5px;
  background:url("../images/items/paintbrush.webp") center/contain no-repeat;
}
.pdw-coloring-tool[data-tool="eraser"]:before{
  content:"";
  display:inline-block;
  width:15px;
  height:15px;
  margin-right:5px;
  border-radius:4px;
  background:linear-gradient(135deg,#ff9cb4 0 50%,#e8edf5 50%);
  vertical-align:-3px;
}
@media(max-width:680px){
  .pdw-smart-brush{
    width:58px;
    height:58px;
    transform:translate(-12%,-88%) rotate(-22deg);
  }
  .pdw-smart-brush:after{
    width:16px;
    height:16px;
  }
  .pdw-coloring-helper{
    margin-top:7px;
    padding:6px 10px;
    font-size:10px;
  }
}

/* ==========================================================
   V6.4 BIG MULTICOLOUR BALLOONS + PRECISE COLORING BRUSH
   ========================================================== */

/* Celebration balloons cover the whole page width and are much larger. */
.pdw-v6-celebration-layer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.pdw-v64-balloon{
  bottom:-250px!important;
  pointer-events:auto!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
@keyframes pdwV64BalloonRise{
  0%{transform:translate3d(0,0,0) rotate(-4deg) scale(.92);opacity:0}
  7%{opacity:1}
  48%{transform:translate3d(var(--pdw-balloon-drift,0),-58vh,0) rotate(5deg) scale(1.03);opacity:1}
  100%{transform:translate3d(calc(var(--pdw-balloon-drift,0) * -.35),-125vh,0) rotate(-4deg) scale(1);opacity:.96}
}
.pdw-v64-balloon{
  animation-name:pdwV64BalloonRise!important;
  animation-timing-function:ease-out!important;
  animation-fill-mode:forwards!important;
}

/* Brush image itself; no colour dot beside it. */
.pdw-smart-brush{
  transform:none!important;
  transform-origin:0 0!important;
}
.pdw-smart-brush:after{
  display:none!important;
  content:none!important;
}

/* Coloring illustration uses cleaner, lighter line work. */
.pdw-coloring-canvas{
  image-rendering:auto!important;
}
.pdw-coloring-board{
  background:#fff!important;
}

/* Tablet/phone brush remains accurately aligned to its tip. */
@media(max-width:680px){
  .pdw-smart-brush{
    width:58px!important;
    height:58px!important;
  }
}

/* ==========================================================
   V6.5 BALLOON TAP/CLICK OUTLINE FIX
   Remove browser focus/tap rectangles around celebration balloons.
   ========================================================== */
.pdw-v6-balloon,
.pdw-v64-balloon,
.pdw-balloon{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
  -webkit-touch-callout:none!important;
  user-select:none!important;
}
.pdw-v6-balloon:focus,
.pdw-v6-balloon:focus-visible,
.pdw-v6-balloon:active,
.pdw-v64-balloon:focus,
.pdw-v64-balloon:focus-visible,
.pdw-v64-balloon:active,
.pdw-balloon:focus,
.pdw-balloon:focus-visible,
.pdw-balloon:active{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.pdw-v6-balloon::before,
.pdw-v6-balloon::after,
.pdw-v64-balloon::before,
.pdw-v64-balloon::after{
  pointer-events:none!important;
}

/* ==========================================================
   V6.6 BALLOON SPEED/VISIBILITY + COLORING PAINT FIX
   ========================================================== */

/* Balloons start fully visible, wait briefly, then rise slowly. */
.pdw-v66-balloon{
  bottom:14px!important;
  pointer-events:auto!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
@keyframes pdwV66BalloonRise{
  0%{
    transform:translate3d(0,0,0) rotate(-3deg) scale(.96);
    opacity:0;
  }
  7%{
    transform:translate3d(0,0,0) rotate(-2deg) scale(1);
    opacity:1;
  }
  18%{
    transform:translate3d(0,-4vh,0) rotate(2deg) scale(1);
    opacity:1;
  }
  60%{
    transform:translate3d(var(--pdw-balloon-drift,0),-48vh,0) rotate(4deg) scale(1.02);
    opacity:1;
  }
  100%{
    transform:translate3d(calc(var(--pdw-balloon-drift,0) * -.35),-112vh,0) rotate(-3deg) scale(1);
    opacity:.96;
  }
}
.pdw-v66-balloon{
  animation-name:pdwV66BalloonRise!important;
  animation-timing-function:cubic-bezier(.18,.62,.25,1)!important;
  animation-fill-mode:forwards!important;
}

/* Coloring brush is visible and the tip is the active painting point. */
.pdw-smart-brush{
  z-index:12!important;
  pointer-events:none!important;
}
.pdw-smart-brush:after{
  display:none!important;
  content:none!important;
}
.pdw-coloring-canvas{
  touch-action:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.pdw-coloring-board{
  touch-action:none!important;
}

/* Easier brush sizes for young children. */
.pdw-coloring-sizes button[data-size="28"]{width:17px!important;height:17px!important}
.pdw-coloring-sizes button[data-size="46"]{width:25px!important;height:25px!important}
.pdw-coloring-sizes button[data-size="72"]{width:35px!important;height:35px!important}

@media(max-width:680px){
  .pdw-v66-balloon{
    width:min(132px,28vw)!important;
    height:min(180px,38vw)!important;
  }
}

/* ==========================================================
   V6.7 COLORING — TRUE FREEHAND BRUSH
   ========================================================== */
.pdw-coloring-sizes button[data-size="20"]{width:15px!important;height:15px!important}
.pdw-coloring-sizes button[data-size="34"]{width:23px!important;height:23px!important}
.pdw-coloring-sizes button[data-size="52"]{width:31px!important;height:31px!important}

/* Keep the board comfortable for freehand painting. */
.pdw-coloring-canvas{
  touch-action:none!important;
  cursor:none!important;
}
.pdw-coloring-board{
  touch-action:none!important;
}

/* ==========================================================
   V6.8 COLORING SCENES + FULL-PAGE SLOW BALLOONS
   ========================================================== */

.pdw-v68-balloon{
  bottom:18px!important;
  pointer-events:auto!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
@keyframes pdwV68BalloonRise{
  0%{
    transform:translate3d(0,0,0) rotate(-3deg) scale(.96);
    opacity:0;
  }
  8%{
    transform:translate3d(0,0,0) rotate(-2deg) scale(1);
    opacity:1;
  }
  22%{
    transform:translate3d(0,-3vh,0) rotate(2deg) scale(1);
    opacity:1;
  }
  62%{
    transform:translate3d(var(--pdw-balloon-drift,0),-45vh,0) rotate(4deg) scale(1.02);
    opacity:1;
  }
  100%{
    transform:translate3d(calc(var(--pdw-balloon-drift,0) * -.3),-112vh,0) rotate(-3deg) scale(1);
    opacity:.97;
  }
}
.pdw-v68-balloon{
  animation-name:pdwV68BalloonRise!important;
  animation-timing-function:cubic-bezier(.18,.58,.22,1)!important;
  animation-fill-mode:forwards!important;
}

/* Coloring background scenes stay light and easy to color. */
.pdw-coloring-board{
  background:#fff!important;
}
.pdw-coloring-canvas{
  touch-action:none!important;
}
.pdw-coloring-sizes button[data-size="18"]{width:14px!important;height:14px!important}
.pdw-coloring-sizes button[data-size="30"]{width:22px!important;height:22px!important}
.pdw-coloring-sizes button[data-size="46"]{width:30px!important;height:30px!important}

@media(max-width:680px){
  .pdw-v68-balloon{
    width:min(145px,30vw)!important;
    height:min(200px,42vw)!important;
  }
}

/* V6.9 MAGIC REVEAL + SLOW FULL-SCREEN BALLOONS */
.pdw-v69-balloon{
 bottom:12px!important;pointer-events:auto!important;background-size:contain!important;
 background-repeat:no-repeat!important;background-position:center!important
}
@keyframes pdwV69Rise{
 0%{transform:translate3d(0,0,0) rotate(-3deg);opacity:0}
 7%{transform:translate3d(0,0,0) rotate(-2deg);opacity:1}
 20%{transform:translate3d(0,-2vh,0) rotate(2deg);opacity:1}
 60%{transform:translate3d(var(--pdw-balloon-drift,0),-43vh,0) rotate(4deg);opacity:1}
 100%{transform:translate3d(calc(var(--pdw-balloon-drift,0)*-.3),-112vh,0) rotate(-3deg);opacity:.98}
}
.pdw-v69-balloon{animation-name:pdwV69Rise!important;animation-timing-function:cubic-bezier(.18,.55,.2,1)!important;animation-fill-mode:forwards!important}
.pdw-magic-board{position:relative}
.pdw-magic-progress{position:absolute;left:8%;right:8%;bottom:12px;height:10px;border-radius:999px;background:rgba(255,255,255,.78);overflow:hidden;z-index:7;box-shadow:0 2px 8px rgba(35,45,80,.12)}
.pdw-magic-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#35a7ff,#78d64b,#ffd43b,#ef6db6);transition:width .18s}
.pdw-magic-tools{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px;padding:10px;border-radius:18px;background:#eef7ff}
.pdw-magic-tools>button{min-height:42px;padding:8px 13px;border:2px solid #e0e6ef;border-radius:12px;background:#fff;color:#344160;font:inherit;font-size:11px;font-weight:950;cursor:pointer}
.pdw-magic-tools .pdw-coloring-done{background:linear-gradient(135deg,#76d66a,#31b965)!important;color:#fff!important;border-color:transparent!important}
.pdw-magic-sizes{display:flex;align-items:center;gap:12px;padding:0 8px}
.pdw-magic-sizes button{padding:0;border:0;border-radius:50%;background:#344160;cursor:pointer;box-shadow:0 0 0 4px #fff}
.pdw-magic-sizes button[data-size="44"]{width:17px;height:17px}
.pdw-magic-sizes button[data-size="72"]{width:25px;height:25px}
.pdw-magic-sizes button[data-size="105"]{width:34px;height:34px}
.pdw-magic-sizes button.is-active{background:#7042d3;box-shadow:0 0 0 4px #fff,0 0 0 7px rgba(112,66,211,.22)}
@media(max-width:680px){
 .pdw-v69-balloon{width:min(150px,31vw)!important;height:min(205px,43vw)!important}
 .pdw-magic-progress{bottom:8px;height:8px}
 .pdw-magic-tools{gap:6px;padding:7px}
}

/* ==========================================================
   V7.0 TRUE COLOUR REVEAL + REAL MULTICOLOUR BALLOONS
   ========================================================== */
.pdw-v70-balloon{
  bottom:14px!important;
  pointer-events:auto!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
@keyframes pdwV70Rise{
  0%{
    transform:translate3d(0,0,0) rotate(-3deg) scale(.97);
    opacity:0;
  }
  7%{
    transform:translate3d(0,0,0) rotate(-2deg) scale(1);
    opacity:1;
  }
  22%{
    transform:translate3d(0,-2vh,0) rotate(2deg) scale(1);
    opacity:1;
  }
  62%{
    transform:translate3d(var(--pdw-balloon-drift,0),-42vh,0) rotate(4deg) scale(1.02);
    opacity:1;
  }
  100%{
    transform:translate3d(calc(var(--pdw-balloon-drift,0)*-.28),-111vh,0) rotate(-3deg) scale(1);
    opacity:.98;
  }
}
.pdw-v70-balloon{
  animation-name:pdwV70Rise!important;
  animation-timing-function:cubic-bezier(.18,.52,.20,1)!important;
  animation-fill-mode:forwards!important;
}
.pdw-coloring-done.is-ready{
  box-shadow:0 0 0 5px rgba(70,195,105,.20),0 10px 24px rgba(40,150,80,.20)!important;
  transform:scale(1.03);
}
@media(max-width:680px){
  .pdw-v70-balloon{
    width:min(155px,31vw)!important;
    height:min(212px,43vw)!important;
  }
}

/* ==========================================================
   V7.1 BALLOONS GUARANTEED VISIBLE + 100% MAGIC REVEAL
   ========================================================== */
.pdw-v71-celebration-layer{
  position:fixed!important;
  inset:0!important;
  z-index:2147483600!important;
  width:100vw!important;
  height:100vh!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.pdw-v71-balloon{
  position:absolute!important;
  bottom:18px!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background-color:transparent!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  box-shadow:none!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  -webkit-tap-highlight-color:transparent!important;
  appearance:none!important;
  opacity:0;
}
.pdw-v71-balloon:focus,
.pdw-v71-balloon:focus-visible,
.pdw-v71-balloon:active{
  outline:0!important;
  border:0!important;
  box-shadow:none!important;
}
@keyframes pdwV71Rise{
  0%{
    transform:translate3d(0,0,0) rotate(-3deg) scale(.98);
    opacity:0;
  }
  5%{
    transform:translate3d(0,0,0) rotate(-2deg) scale(1);
    opacity:1;
  }
  22%{
    transform:translate3d(0,-1.5vh,0) rotate(2deg) scale(1);
    opacity:1;
  }
  62%{
    transform:translate3d(var(--pdw-balloon-drift,0),-40vh,0) rotate(4deg) scale(1.02);
    opacity:1;
  }
  100%{
    transform:translate3d(calc(var(--pdw-balloon-drift,0)*-.28),-112vh,0) rotate(-3deg) scale(1);
    opacity:.98;
  }
}
.pdw-v71-balloon{
  animation-name:pdwV71Rise!important;
  animation-timing-function:cubic-bezier(.18,.5,.18,1)!important;
  animation-fill-mode:forwards!important;
}
.pdw-v71-balloon.is-popped{
  animation:none!important;
  transform:scale(1.38)!important;
  opacity:0!important;
  transition:transform .22s ease,opacity .22s ease!important;
}
@media(max-width:680px){
  .pdw-v71-balloon{
    width:min(158px,32vw)!important;
    height:min(218px,44vw)!important;
  }
}

/* ==========================================================
   V7.2 BALLOONS — START AT BOTTOM, HOLD, THEN RISE SLOWLY
   ========================================================== */

/* Override every older balloon animation rule. */
.pdw-v71-balloon{
  top:auto!important;
  bottom:max(12px,env(safe-area-inset-bottom))!important;
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  animation-name:pdwV72SlowRise!important;
  animation-timing-function:linear!important;
  animation-fill-mode:forwards!important;
}

/* They remain near the bottom first so the child has time to tap them,
   then slowly travel all the way to the top. */
@keyframes pdwV72SlowRise{
  0%{
    transform:translate3d(0,0,0) rotate(-2deg) scale(1);
    opacity:1;
  }
  20%{
    transform:translate3d(0,-2vh,0) rotate(2deg) scale(1);
    opacity:1;
  }
  45%{
    transform:translate3d(calc(var(--pdw-balloon-drift,0) * .35),-28vh,0) rotate(-3deg) scale(1.01);
    opacity:1;
  }
  72%{
    transform:translate3d(var(--pdw-balloon-drift,0),-62vh,0) rotate(3deg) scale(1.02);
    opacity:1;
  }
  100%{
    transform:translate3d(calc(var(--pdw-balloon-drift,0) * -.25),-118vh,0) rotate(-2deg) scale(1);
    opacity:.98;
  }
}

/* Make sure no parent clips the celebration. */
html,
body{
  --pdw-balloon-safe-bottom:max(12px,env(safe-area-inset-bottom));
}
.pdw-v71-celebration-layer{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
}

/* Still large on mobile, but fully visible at the bottom. */
@media(max-width:680px){
  .pdw-v71-balloon{
    width:min(150px,30vw)!important;
    height:min(205px,41vw)!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
  }
}

/* ==========================================================
   V7.3 GLOBAL 6-SECOND CONTINUOUS BALLOON CELEBRATION
   ========================================================== */
.pdw-v73-celebration-layer{
 position:fixed!important;
 inset:0!important;
 width:100vw!important;
 height:100dvh!important;
 min-height:100vh!important;
 overflow:hidden!important;
 z-index:2147483600!important;
 pointer-events:none!important;
}

.pdw-v73-balloon{
 position:absolute!important;
 top:auto!important;
 bottom:max(8px,env(safe-area-inset-bottom))!important;
 display:block!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 outline:0!important;
 border-radius:0!important;
 background-color:transparent!important;
 background-position:center!important;
 background-repeat:no-repeat!important;
 background-size:contain!important;
 box-shadow:none!important;
 cursor:pointer!important;
 pointer-events:auto!important;
 -webkit-tap-highlight-color:transparent!important;
 appearance:none!important;
 opacity:1!important;
 animation-name:pdwV73Rise!important;
 animation-timing-function:linear!important;
 animation-fill-mode:forwards!important;
}

@keyframes pdwV73Rise{
 0%{
  transform:translate3d(0,0,0) rotate(-2deg) scale(1);
  opacity:1;
 }
 15%{
  transform:translate3d(calc(var(--pdw-balloon-drift,0)*.12),-5vh,0) rotate(2deg) scale(1);
  opacity:1;
 }
 50%{
  transform:translate3d(calc(var(--pdw-balloon-drift,0)*.55),-48vh,0) rotate(-3deg) scale(1.01);
  opacity:1;
 }
 100%{
  transform:translate3d(var(--pdw-balloon-drift,0),-122vh,0) rotate(3deg) scale(1);
  opacity:1;
 }
}

.pdw-v73-balloon:focus,
.pdw-v73-balloon:focus-visible,
.pdw-v73-balloon:active{
 outline:0!important;
 border:0!important;
 box-shadow:none!important;
}

.pdw-v73-balloon.is-popped{
 animation:none!important;
 transform:scale(1.42)!important;
 opacity:0!important;
 transition:transform .2s ease,opacity .2s ease!important;
}

@media(max-width:680px){
 .pdw-v73-balloon{
  width:min(138px,27vw)!important;
  height:min(190px,38vw)!important;
 }
}

/* ==========================================================
   V7.4 — LARGER BALLOONS + FASTER MAGIC REVEAL BRUSH
   ========================================================== */

/* Keep the existing celebration behaviour, only make balloons larger. */
.pdw-v73-balloon{
  width:clamp(190px,15vw,240px)!important;
  height:clamp(260px,20vw,325px)!important;
}

/* Brush tracking: no transition, no left/top lag, GPU composited. */
.pdw-smart-brush{
  left:0!important;
  top:0!important;
  transition:none!important;
  will-change:transform,opacity!important;
  transform:translate3d(-9999px,-9999px,0);
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  contain:layout paint style!important;
}
.pdw-smart-brush.is-visible{
  opacity:1!important;
}

/* Keep finger movement dedicated to the game canvas. */
.pdw-magic-canvas,
.pdw-magic-board{
  touch-action:none!important;
  overscroll-behavior:contain!important;
}

@media(max-width:680px){
  .pdw-v73-balloon{
    width:min(180px,36vw)!important;
    height:min(245px,49vw)!important;
  }
}

/* ==========================================================
   V7.5 NEW MP4 DUCK + RABBIT CHARACTERS
   ========================================================== */

.pdw-character-video,
.pdw-character video[data-playdot-character],
.pdw-guide-character video[data-playdot-character]{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}

/* Home characters use the same footprint as the old mascots. */
.pdw-character .pdw-character-video{
  height:230px!important;
}

/* In-game guide character. */
.pdw-guide-character .pdw-character-video{
  height:205px!important;
}

/* The motion is inside the MP4 itself — don't move the whole video with CSS. */
.pdw-character-video.playdot-character-alive,
.pdw-character-video.playdot-speaking,
.pdw-character-video.playdot-action-jump,
.pdw-character-video.playdot-action-hop,
.pdw-character-video.playdot-action-laugh{
  animation:none!important;
  transform:none!important;
  filter:none!important;
}

/* Fullscreen keeps the animated guide compact. */
.pdw-stage:fullscreen .pdw-guide-character .pdw-character-video,
.pdw-stage.is-pdw-fullscreen .pdw-guide-character .pdw-character-video{
  width:92px!important;
  height:92px!important;
}

@media(max-width:1024px){
  .pdw-character .pdw-character-video{
    height:170px!important;
  }
  .pdw-guide-character .pdw-character-video{
    height:165px!important;
  }
}

@media(max-width:680px){
  .pdw-guide-character .pdw-character-video{
    width:74px!important;
    height:74px!important;
  }
}

@media(max-width:390px){
  .pdw-guide-character .pdw-character-video{
    width:64px!important;
    height:64px!important;
  }
}

/* ==========================================================
   V7.6 MOBILE + TABLET FULLSCREEN REBUILD
   ========================================================== */

html.pdw-html-fullscreen{
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

body.pdw-body-fullscreen{
  position:fixed!important;
  top:var(--pdw-scroll-y,0)!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}

/* Stable app-style fullscreen for phones/tablets. */
.pdw-stage.is-pdw-fallback-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  flex-direction:column!important;
  width:100vw!important;
  max-width:100vw!important;
  height:var(--pdw-fullscreen-height,100dvh)!important;
  max-height:var(--pdw-fullscreen-height,100dvh)!important;
  margin:0!important;
  padding:
    max(6px,env(safe-area-inset-top))
    max(7px,env(safe-area-inset-right))
    max(7px,env(safe-area-inset-bottom))
    max(7px,env(safe-area-inset-left))!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:#f7fbff!important;
  box-sizing:border-box!important;
}

/* Compact toolbar stays visible and never consumes excessive space. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-controls{
  position:relative!important;
  z-index:60!important;
  display:flex!important;
  flex:0 0 44px!important;
  min-height:44px!important;
  max-height:44px!important;
  align-items:center!important;
  margin:0 0 5px!important;
  padding:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
}

.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-fullscreen,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-back{
  position:relative!important;
  z-index:70!important;
  min-height:40px!important;
  height:40px!important;
}

/* Main game consumes all remaining viewport height. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-layout{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}

.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
}

.pdw-stage.is-pdw-fallback-fullscreen .pdw-body{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:calc(var(--pdw-fullscreen-height,100dvh) - 60px)!important;
  margin:0!important;
  padding:4px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* Fullscreen means GAME ONLY. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area>h2,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area>p{
  display:none!important;
}

/* HUD remains visible but compact. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stats,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-fruit-hud{
  position:sticky!important;
  z-index:30!important;
  top:0!important;
  max-width:100%!important;
  margin:0 auto 6px!important;
}

/* MP4 guide remains small and never blocks touch interaction. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide{
  position:fixed!important;
  z-index:35!important;
  right:max(7px,env(safe-area-inset-right))!important;
  bottom:max(7px,env(safe-area-inset-bottom))!important;
  top:auto!important;
  left:auto!important;
  width:74px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  pointer-events:none!important;
}

.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character{
  width:68px!important;
  height:68px!important;
  margin:auto!important;
}

.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character .pdw-character-video,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character video{
  width:68px!important;
  height:68px!important;
  object-fit:contain!important;
}

.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-bubble{
  display:none!important;
}

/* Every major game component is allowed to shrink to viewport width. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-grid,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-sort-items,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-shadow-grid,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-color-baskets,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-world-scenes,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-v6-animal-scenes,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-word-layout,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-pw-row,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-options,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-math-options,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-coloring-shell,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-magic-shell{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Tablet portrait / landscape. */
@media (pointer:coarse) and (min-width:681px) and (max-width:1180px){
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-v6-animal-scenes.pdw-scenes-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-games{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-coloring-board{
    width:min(72vh,82vw)!important;
    max-height:calc(var(--pdw-fullscreen-height,100dvh) - 150px)!important;
  }
}

/* Mobile portrait. */
@media (pointer:coarse) and (max-width:680px) and (orientation:portrait){
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-controls{
    flex-basis:42px!important;
    min-height:42px!important;
    max-height:42px!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-memory-premium,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-v6-memory{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-shadow-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-color-baskets,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-v6-animal-scenes.pdw-scenes-2,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-v6-animal-scenes.pdw-scenes-3,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-word-layout,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-pw-row{
    grid-template-columns:1fr!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-math-options,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-options{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-coloring-board{
    width:min(94vw,calc(var(--pdw-fullscreen-height,100dvh) - 190px))!important;
    max-width:94vw!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-drag{
    width:76px!important;
    min-width:76px!important;
  }
}

/* Mobile landscape: maximize horizontal play area. */
@media (pointer:coarse) and (max-height:600px) and (orientation:landscape){
  .pdw-stage.is-pdw-fallback-fullscreen{
    padding:
      max(4px,env(safe-area-inset-top))
      max(8px,env(safe-area-inset-right))
      max(4px,env(safe-area-inset-bottom))
      max(8px,env(safe-area-inset-left))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-controls{
    flex-basis:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin-bottom:2px!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-fullscreen,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-back{
    height:36px!important;
    min-height:36px!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-body{
    min-height:calc(var(--pdw-fullscreen-height,100dvh) - 48px)!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide{
    width:58px!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character .pdw-character-video,
  .pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character video{
    width:54px!important;
    height:54px!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-v6-animal-scenes.pdw-scenes-3{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-color-baskets{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-shadow-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .pdw-stage.is-pdw-fallback-fullscreen .pdw-coloring-board{
    width:min(70vh,56vw)!important;
    max-height:calc(var(--pdw-fullscreen-height,100dvh) - 105px)!important;
  }
}

/* Dragged object stays above the mobile fullscreen layer. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-drag-ghost,
body.pdw-body-fullscreen .pdw-drag-ghost{
  position:fixed!important;
  z-index:2147483646!important;
}

/* ==========================================================
   V7.7 — DUCK + RABBIT SAME VISUAL SIZE
   ========================================================== */

/*
 * Both MP4 elements already use the same box dimensions, but the subjects
 * occupy different proportions inside their source videos. Normalize their
 * visible size independently while preserving aspect ratio.
 */

/* Home / main character area */
.pdw-character[data-character="duck"] .pdw-character-video{
  transform:scale(.92)!important;
  transform-origin:center bottom!important;
}
.pdw-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.08)!important;
  transform-origin:center bottom!important;
}

/* In-game guide */
.pdw-guide-character[data-character="duck"] .pdw-character-video{
  transform:scale(.92)!important;
  transform-origin:center bottom!important;
}
.pdw-guide-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.08)!important;
  transform-origin:center bottom!important;
}

/* Override the older rule that removed all transforms from MP4 characters. */
.pdw-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="duck"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-speaking{
  transform:scale(.92)!important;
}
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-speaking{
  transform:scale(1.08)!important;
}

/* Same normalization in phone/tablet fullscreen. */
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character[data-character="duck"] .pdw-character-video{
  transform:scale(.92)!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.08)!important;
}

/* ==========================================================
   V7.8 HOME VOICES — AUDIO INSTEAD OF HOME TEXT
   ========================================================== */
.pdw-home-bubble{
  display:none!important;
}

/* ==========================================================
   V8.1 TRUE TRANSPARENCY + EQUAL SIZE + LOBBY SIDE SWAP
   ========================================================== */
.pdw-hero .pdw-character-video{
  mix-blend-mode:normal!important;
  background:transparent!important;
}

/* Both assets share a 432x320 canvas. These small optical corrections make
   their visible head-to-foot height match, not merely their video boxes. */
.pdw-character[data-character="duck"] .pdw-character-video,
.pdw-guide-character[data-character="duck"] .pdw-character-video,
.pdw-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="duck"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-speaking{
  transform:scale(1)!important;
  transform-origin:center bottom!important;
}
.pdw-character[data-character="rabbit"] .pdw-character-video,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video,
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-speaking{
  transform:scale(1.04)!important;
  transform-origin:center bottom!important;
}

.pdw-hero>.pdw-character[data-character="duck"]{grid-column:1;grid-row:1}
.pdw-hero>.pdw-hero-copy{grid-column:2;grid-row:1}
.pdw-hero>.pdw-character[data-character="rabbit"]{grid-column:3;grid-row:1}
.pdw-hero.pdw-characters-swapped>.pdw-character[data-character="duck"]{grid-column:3}
.pdw-hero.pdw-characters-swapped>.pdw-character[data-character="rabbit"]{grid-column:1}
.pdw-hero>.pdw-character{position:relative;z-index:2;will-change:transform}

@media(max-width:820px){
  .pdw-hero{grid-template-columns:92px minmax(0,1fr) 92px!important;gap:4px!important}
  .pdw-hero>.pdw-character{display:flex!important;min-width:0!important}
  .pdw-hero>.pdw-character .pdw-character-video{width:128px!important;height:150px!important;max-width:none!important}
  .pdw-hero>.pdw-hero-copy{display:block!important}
}

@media(prefers-reduced-motion:reduce){
  .pdw-hero>.pdw-character{transition:none!important}
}
.pdw-hero .pdw-character{
  padding-top:0!important;
}
.pdw-character .pdw-character-video.playdot-speaking{
  animation:none!important;
}
.pdw-guide-bubble{
  display:block;
}

/* ==========================================================
   V7.9 HOME VOICE FIX + STRONGER DUCK/RABBIT SIZE MATCH
   ========================================================== */

/* The source MP4s have different framing:
   Duck fills most of 360x360; Rabbit occupies less of 432x320.
   These values equalise the perceived character height. */
.pdw-character[data-character="duck"] .pdw-character-video{
  transform:scale(.95)!important;
  transform-origin:center bottom!important;
}
.pdw-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.27)!important;
  transform-origin:center bottom!important;
}

/* Same visual balance inside games. */
.pdw-guide-character[data-character="duck"] .pdw-character-video{
  transform:scale(.95)!important;
  transform-origin:center bottom!important;
}
.pdw-guide-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.27)!important;
  transform-origin:center bottom!important;
}

/* Override earlier MP4 no-transform / v7.7 scale rules in every state. */
.pdw-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="duck"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-speaking{
  transform:scale(.95)!important;
}
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-speaking{
  transform:scale(1.27)!important;
}

/* Keep enlarged Rabbit inside its character frame cleanly. */
.pdw-character,
.pdw-guide-character{
  overflow:visible!important;
}

/* Tablet/mobile/fullscreen preserve the same perceived size ratio. */
.pdw-stage.is-pdw-fallback-fullscreen
.pdw-guide-character[data-character="duck"] .pdw-character-video{
  transform:scale(.95)!important;
}
.pdw-stage.is-pdw-fallback-fullscreen
.pdw-guide-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.27)!important;
}

/* ==========================================================
   V8.0 CLEAN CHARACTER VIDEO BACKGROUND + MORE LOBBY VOICES
   ========================================================== */

/*
 * The uploaded MP4s contain a white matte. Multiply makes pure white blend
 * into the blue PlayDot lobby background so the visible square disappears,
 * while preserving the actual animated character.
 */
.pdw-hero .pdw-character-video{
  mix-blend-mode:multiply!important;
  background:transparent!important;
}

/* Keep both mascots on the same visual baseline and perceived size. */
.pdw-hero .pdw-character{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:visible!important;
}

.pdw-character[data-character="duck"] .pdw-character-video{
  transform:scale(.95)!important;
  transform-origin:center bottom!important;
}

.pdw-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.27)!important;
  transform-origin:center bottom!important;
}

/* Avoid any residual box styling around the video itself. */
.pdw-hero .pdw-character,
.pdw-hero .pdw-character-video{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Speaking remains voice-only in the lobby. */
.pdw-home-bubble{
  display:none!important;
}

/* V8.2 final character overrides must remain last in this stylesheet. */
.pdw-hero .pdw-character-video{
  mix-blend-mode:normal!important;
  background:transparent!important;
}
.pdw-character[data-character="duck"] .pdw-character-video,
.pdw-guide-character[data-character="duck"] .pdw-character-video,
.pdw-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="duck"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="duck"] .pdw-character-video.playdot-speaking,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character[data-character="duck"] .pdw-character-video{
  transform:scale(1)!important;
  transform-origin:center bottom!important;
}
.pdw-character[data-character="rabbit"] .pdw-character-video,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video,
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-character[data-character="rabbit"] .pdw-character-video.playdot-speaking,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-character-alive,
.pdw-guide-character[data-character="rabbit"] .pdw-character-video.playdot-speaking,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-guide-character[data-character="rabbit"] .pdw-character-video{
  transform:scale(1.04)!important;
  transform-origin:center bottom!important;
}

/* V8.4 mobile/tablet transparency: animated WebP avoids the opaque MP4
   fallback used by browsers without VP9 alpha support. */
.pdw-character-mobile{
  display:none;
  width:100%;
  height:240px;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 18px 18px rgba(40,50,90,.18));
}
.pdw-guide-character .pdw-character-mobile{height:230px}

@media(max-width:1050px){
  .pdw-character-video:not(.pdw-character-loop){display:none!important}
  .pdw-character-loop{display:block!important}
}

@media(max-width:820px){
  .pdw-hero>.pdw-character .pdw-character-mobile{
    width:128px!important;
    height:150px!important;
    max-width:none!important;
  }
  .pdw-guide-character .pdw-character-mobile{height:130px!important}
}

/* V8.5 has exactly one character element. It is visible at every breakpoint. */
.pdw-character-loop{
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Rabbit keeps its previously working transparent video on every device. */
.pdw-character[data-character="rabbit"]>.pdw-character-video,
.pdw-guide-character[data-character="rabbit"]>.pdw-character-video{
  display:block!important;
}

/* V8.8: reliable edge-to-edge fullscreen on phones and tablets. */
html.pdw-html-fullscreen,
body.pdw-body-fullscreen{
  width:100%!important;
  height:var(--pdw-fullscreen-height,100dvh)!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.pdw-body-fullscreen{inset:0!important;top:0!important}
.pdw-stage.is-pdw-fallback-fullscreen{
  position:fixed!important;
  inset:0!important;
  width:var(--pdw-fullscreen-width,100vw)!important;
  min-width:var(--pdw-fullscreen-width,100vw)!important;
  max-width:var(--pdw-fullscreen-width,100vw)!important;
  height:var(--pdw-fullscreen-height,100dvh)!important;
  min-height:var(--pdw-fullscreen-height,100dvh)!important;
  max-height:var(--pdw-fullscreen-height,100dvh)!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-stage-layout{
  flex:1 1 0!important;
  height:0!important;
  min-height:0!important;
  overflow:auto!important;
}
.pdw-stage.is-pdw-fallback-fullscreen .pdw-game-area,
.pdw-stage.is-pdw-fallback-fullscreen .pdw-body{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.pdw-stage:fullscreen,
.pdw-stage.is-pdw-fullscreen:not(.is-pdw-fallback-fullscreen){
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border-radius:0!important;
  overflow:auto!important;
}


/* v9.5 access limits */
.pdw-game-card.pdw-access-locked{
  position:relative;
  opacity:.48;
  filter:grayscale(.25);
}
.pdw-game-card.pdw-access-locked::after{
  content:"🔒";
  position:absolute;
  top:10px;
  right:10px;
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 6px 18px rgba(20,28,60,.16);
  font-size:17px;
}


/* v9.6 — three challenge tiers + more interactive companions */
.pdw-difficulty-control{
 display:flex;
 align-items:center;
 gap:6px;
 flex-wrap:wrap;
 margin-left:auto;
 margin-right:8px;
 padding:5px;
 background:rgba(255,255,255,.90);
 border:1px solid rgba(93,81,180,.15);
 border-radius:14px;
 box-shadow:0 8px 22px rgba(22,34,70,.08);
}
.pdw-difficulty-title{
 padding:0 5px;
 color:#53607a;
 font-size:11px;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.04em;
}
.pdw-difficulty-control button{
 min-height:34px;
 padding:6px 9px;
 border:1px solid #dde3ef;
 border-radius:10px;
 background:#fff;
 color:#33415f;
 font-size:11px;
 font-weight:850;
 cursor:pointer;
 transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
.pdw-difficulty-control button:hover,
.pdw-difficulty-control button:focus{
 transform:translateY(-1px);
 background:#f6f3ff;
 border-color:#cfc6ff;
}
.pdw-difficulty-control button.is-active{
 color:#fff;
 background:linear-gradient(135deg,#6257e9,#8b5cf6);
 border-color:#6257e9;
 box-shadow:0 7px 16px rgba(91,78,214,.22);
}
.pdw-guide-character{
 cursor:pointer;
 transition:transform .18s ease,filter .18s ease;
}
.pdw-guide-character:hover,
.pdw-guide-character:focus-within{
 transform:translateY(-3px) scale(1.025);
 filter:drop-shadow(0 10px 14px rgba(83,72,180,.18));
}
.pdw-game-card.pdw-card-alive{
 transform:translateY(-4px) scale(1.015);
 box-shadow:0 18px 38px rgba(48,60,102,.15);
}
@media(max-width:780px){
 .pdw-stage-controls{flex-wrap:wrap;gap:7px}
 .pdw-difficulty-control{
  order:3;
  width:100%;
  margin:4px 0 0;
  justify-content:center;
 }
 .pdw-difficulty-title{width:100%;text-align:center}
 .pdw-difficulty-control button{flex:1 1 30%;min-height:40px}
}
