:root{
      --sky1:#8ed8ff;--sky2:#f8fcff;--grass:#91d676;--ink:#18324a;--muted:#60758a;
      --wire:#24384a;--card:rgba(255,255,255,.84);--shadow:0 18px 45px rgba(27,74,112,.20);
      --success:#20a464;--danger:#d94b3d;--gold:#ffc857;
    }
    *{box-sizing:border-box} body{margin:0;min-height:100vh;font-family:ui-rounded,"Nunito","Segoe UI",system-ui,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 12%,rgba(255,255,255,.95) 0 5%,transparent 5.3%),radial-gradient(circle at 24% 10%,rgba(255,255,255,.78) 0 3.8%,transparent 4.1%),radial-gradient(circle at 79% 15%,rgba(255,255,255,.9) 0 4.7%,transparent 5%),linear-gradient(180deg,var(--sky1),var(--sky2) 62%,#dff7d2 62%,var(--grass));overflow-x:hidden}.page{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:24px 0 18px}header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.brand{display:flex;gap:14px;align-items:center}.logo{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:32px;background:linear-gradient(145deg,#fff7cb,#ffcd59);box-shadow:var(--shadow)}h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.06em}.subtitle{margin:4px 0 0;color:var(--muted);font-weight:800}.stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.pill{min-width:92px;padding:10px 14px;border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 10px 22px rgba(22,65,98,.12);text-align:center}.pill span{display:block;font-size:.78rem;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em}.pill strong{display:block;font-size:1.35rem}.panel{border-radius:28px;background:var(--card);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(6px)}.game-card{position:relative;overflow:hidden;min-height:690px;padding:clamp(18px,4vw,34px)}.game-top{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;margin-bottom:14px}.message{min-height:58px;display:flex;align-items:center;padding:14px 18px;border-radius:22px;background:rgba(255,255,255,.72);font-weight:900;line-height:1.35}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}button{border:0;border-radius:18px;padding:13px 17px;font-weight:1000;color:var(--ink);cursor:pointer;box-shadow:0 10px 22px rgba(20,54,80,.13);transition:transform .15s ease,opacity .15s ease}button:hover{transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}.primary{background:linear-gradient(145deg,#ffdc66,#ffb83e)}.secondary,.sound-toggle{background:rgba(255,255,255,.88)}.sound-toggle.off{opacity:.72}.scene{position:relative;min-height:535px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 80% 18%,rgba(255,255,255,.85) 0 7%,transparent 7.3%),radial-gradient(circle at 70% 16%,rgba(255,255,255,.7) 0 4.5%,transparent 4.8%),linear-gradient(180deg,#9be0ff,#edf9ff 67%,#bbeb9f 67%,#82cc6a 100%);border:1px solid rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}.sun{position:absolute;right:10%;top:8%;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#fff7a9 0 40%,#ffd35a 68%,rgba(255,211,90,.2));box-shadow:0 0 42px rgba(255,200,87,.65)}.tree{position:absolute;bottom:-4px;width:130px;height:210px;opacity:.85}.tree.left{left:10px}.tree.right{right:-12px;transform:scaleX(-1)}.trunk{position:absolute;bottom:0;left:56px;width:26px;height:104px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#8d5a30,#b9773a)}.leaf{position:absolute;border-radius:50%;background:#4fb66f}.leaf.a{width:92px;height:92px;left:10px;top:32px}.leaf.b{width:84px;height:84px;left:48px;top:10px;background:#5fc57b}.leaf.c{width:100px;height:100px;left:28px;top:62px;background:#39a963}.wire-wrap{position:absolute;left:5%;right:5%;top:45%;height:210px;transform:translateY(-50%)}.wire-wrap.phase-two{top:49%;height:310px}.wire{position:absolute;left:0;right:0;height:6px;background:linear-gradient(180deg,#4a5d70,var(--wire));border-radius:999px;box-shadow:0 4px 0 rgba(255,255,255,.28),0 12px 22px rgba(18,48,72,.18)}.wire.main{top:164px}.wire.far{display:none;left:9%;right:9%;top:44px;height:4px;opacity:.74;box-shadow:0 3px 0 rgba(255,255,255,.25),0 8px 18px rgba(18,48,72,.12)}.wire-wrap.phase-two .wire.far{display:block}.wire-label{position:absolute;display:none;left:9%;top:13px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.62);color:rgba(24,50,74,.62);font-size:.78rem;font-weight:1000}.wire-wrap.phase-two .wire-label{display:none}.slot{position:absolute;width:82px;height:110px;transform:translateX(-50%);border-radius:24px;border:3px dashed rgba(26,67,94,.14);background:rgba(255,255,255,.12);transition:background .2s ease,border-color .2s ease,transform .2s ease}.slot.far{width:58px;height:78px;border-radius:18px;border-width:2px;opacity:.84}.slot.hover{background:rgba(255,255,255,.46);border-color:rgba(26,67,94,.34);transform:translateX(-50%) scale(1.03)}.slot.locked{border-color:rgba(32,164,100,.32);background:rgba(223,255,238,.32)}.bird{position:absolute;width:78px;height:86px;transform:translate(-50%,0);user-select:none;touch-action:none;cursor:grab;z-index:10;transition:left .45s cubic-bezier(.2,.85,.2,1),top .45s cubic-bezier(.2,.85,.2,1),transform .18s ease;filter:drop-shadow(0 10px 8px rgba(23,54,78,.18))}.bird.far{width:56px;height:62px;filter:drop-shadow(0 7px 6px rgba(23,54,78,.14));z-index:8}.bird.dragging{cursor:grabbing;z-index:30;transition:none;transform:translate(-50%,0) scale(1.08) rotate(2deg)}.bird.locked{cursor:default;animation:happy .55s ease 1}.bird.wrong{animation:shake .36s ease 1}.bird.fly{animation:flutter .52s ease 1}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(19,53,81,.22);backdrop-filter:blur(3px);z-index:50;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease}.overlay.show{opacity:1;pointer-events:auto}.modal{width:min(540px,100%);padding:28px;border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 28px 60px rgba(18,54,84,.25);text-align:center;border:1px solid rgba(255,255,255,.75)}.modal .big{font-size:52px;margin-bottom:4px}.modal h2{margin:0 0 8px;font-size:clamp(1.55rem,4vw,2.35rem);letter-spacing:-.04em}.modal p{margin:0 0 20px;color:var(--muted);font-weight:850;line-height:1.45}.countdown{position:absolute;left:50%;top:18%;transform:translateX(-50%);z-index:80;width:86px;height:86px;border-radius:50%;display:none;place-items:center;background:rgba(255,255,255,.78);font-size:34px;font-weight:1000;box-shadow:var(--shadow);pointer-events:none}.countdown.show{display:grid;animation:pop .35s ease}.scare{position:absolute;left:50%;top:22%;transform:translate(-50%,-50%);font-size:clamp(2.8rem,8vw,5.2rem);font-weight:1000;color:#fff;text-shadow:0 8px 25px rgba(0,0,0,.24);opacity:0;z-index:45;pointer-events:none}.scare.show{animation:scare .8s ease 1}.lightning{position:absolute;left:48%;top:6%;width:92px;height:162px;z-index:44;opacity:0;pointer-events:none;filter:drop-shadow(0 0 18px rgba(255,245,135,.95))}.lightning::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#fff7a8,#ffc857);clip-path:polygon(46% 0,82% 0,58% 40%,91% 40%,31% 100%,45% 56%,10% 56%)}.lightning.show{animation:lightningFlash .78s ease 1}.footer-note{margin:16px 6px 0;color:rgba(24,50,74,.68);font-weight:750;font-size:.95rem;text-align:center}@keyframes lightningFlash{0%,100%{opacity:0;transform:scale(.78) rotate(-7deg)}8%{opacity:1;transform:scale(1.08) rotate(-4deg)}18%{opacity:.15}30%{opacity:1;transform:scale(.98) rotate(2deg)}54%{opacity:.22}72%{opacity:.95}}@keyframes happy{0%,100%{transform:translate(-50%,0) scale(1)}40%{transform:translate(-50%,-10px) scale(1.04) rotate(-4deg)}70%{transform:translate(-50%,-3px) scale(1.02) rotate(3deg)}}@keyframes shake{0%,100%{transform:translate(-50%,0)}25%{transform:translate(calc(-50% - 8px),0) rotate(-4deg)}50%{transform:translate(calc(-50% + 8px),0) rotate(4deg)}75%{transform:translate(calc(-50% - 5px),0) rotate(-3deg)}}@keyframes flutter{0%{transform:translate(-50%,0) rotate(0)}35%{transform:translate(-50%,-82px) rotate(-10deg)}70%{transform:translate(-50%,-32px) rotate(7deg)}100%{transform:translate(-50%,0) rotate(0)}}@keyframes scare{0%{opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(-6deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(3deg)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(0)}}@keyframes pop{0%{transform:translateX(-50%) scale(.7);opacity:0}100%{transform:translateX(-50%) scale(1);opacity:1}}@media(max-width:760px){header{align-items:flex-start;flex-direction:column}.stats{justify-content:flex-start;width:100%}.pill{flex:1;min-width:88px}.game-top{grid-template-columns:1fr}.actions{justify-content:stretch}.actions button{flex:1}.game-card{min-height:700px;padding:14px}.scene{min-height:490px}.wire-wrap{left:2%;right:2%}.wire-wrap.phase-two{left:2%;right:2%;top:51%;height:330px}.slot{width:62px;height:90px}.slot.far{width:48px;height:66px}.bird{width:62px;height:72px}.bird.far{width:48px;height:54px}.modal{padding:22px}}
  
    /* Polimento visual — versão premium casual */
    .scene::before{content:"";position:absolute;left:-8%;right:-8%;bottom:18%;height:92px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.28));opacity:.85;pointer-events:none;z-index:1}.scene::after{content:"";position:absolute;left:8%;right:8%;bottom:27%;height:84px;border-radius:50% 50% 0 0;background:linear-gradient(180deg,rgba(112,185,121,.16),rgba(112,185,121,0));filter:blur(1px);opacity:.75;pointer-events:none;z-index:1}.sun{animation:sunGlow 4s ease-in-out infinite}.tree{z-index:2}.wire-wrap{z-index:5}.wire.main{height:7px;background:linear-gradient(180deg,#5a6f82,#263a4d 68%,#172636);box-shadow:0 4px 0 rgba(255,255,255,.30),0 16px 22px rgba(18,48,72,.20)}.wire.far{background:linear-gradient(180deg,rgba(103,124,143,.72),rgba(46,65,83,.72));filter:blur(.12px)}.wire-wrap.phase-two::before{content:"";position:absolute;left:6%;right:6%;top:-10px;height:92px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,0));z-index:-1;pointer-events:none}.slot{box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}.slot.hover{background:rgba(255,255,255,.56);border-color:rgba(255,200,87,.85);box-shadow:0 0 0 6px rgba(255,200,87,.12),inset 0 1px 0 rgba(255,255,255,.4)}.slot.locked{border-style:solid;box-shadow:0 0 0 6px rgba(32,164,100,.08)}.bird{transform-origin:50% 70%;animation:idlePerch 3.8s ease-in-out infinite}.bird:nth-of-type(odd){animation-delay:.28s}.bird.dragging,.bird.fly,.bird.locked,.bird.wrong{animation:none}.bird.locked{animation:happy .62s ease 1}.bird.fly{animation:flutterPremium .92s cubic-bezier(.19,.9,.22,1) 1}.countdown{background:rgba(255,255,255,.86);box-shadow:0 16px 45px rgba(27,74,112,.21), inset 0 0 0 8px rgba(255,216,102,.20)}.scene.memorizing .wire-wrap{animation:focusIn .55s ease both}.scene.boo-pulse{animation:sceneBoo .86s ease 1}.scene.storm{animation:stormSky .9s ease 1}.scene.storm .sun{filter:saturate(.75) brightness(.9)}.scare{letter-spacing:-.06em;background:linear-gradient(145deg,#ffffff,#ffec99);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 9px 22px rgba(20,40,60,.24)}.lightning{left:52%;top:4%;width:110px;height:184px}.overlay{background:rgba(19,53,81,.24)}.modal{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,253,244,.94));box-shadow:0 30px 75px rgba(18,54,84,.27), inset 0 0 0 1px rgba(255,255,255,.8)}.modal::before{content:"";position:absolute;left:-15%;right:-15%;top:-55%;height:90%;background:radial-gradient(circle,rgba(255,220,102,.24),rgba(255,220,102,0) 62%);pointer-events:none}.modal .big{filter:drop-shadow(0 8px 10px rgba(24,50,74,.12))}.win-birds{display:flex;justify-content:center;align-items:flex-end;gap:4px;margin:-8px 0 8px}.win-birds img{display:block;width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(24,50,74,.16));animation:winBird 1.15s ease-in-out infinite}.win-birds img:nth-child(2){width:78px;height:78px;animation-delay:.14s}.win-birds img:nth-child(3){animation-delay:.28s}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-14px;width:9px;height:14px;border-radius:4px;background:var(--c);left:var(--x);animation:confettiFall 1.5s ease-in forwards;animation-delay:var(--d)}.note{position:absolute;font-weight:1000;color:#18324a;opacity:0;pointer-events:none;animation:musicNote 1.2s ease-out forwards}.phase-ribbon{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;border-radius:999px;background:rgba(255,200,87,.22);color:#7b5200;font-weight:1000}.phase-two-birds{position:relative;width:224px;height:104px;margin:-6px auto 4px}.phase-two-row{position:absolute;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;gap:0}.phase-two-row::after{content:"";position:absolute;left:12%;right:12%;bottom:12px;height:3px;border-radius:999px;background:linear-gradient(180deg,#5a6f82,#263a4d 70%,#172636);box-shadow:0 4px 7px rgba(18,48,72,.16);z-index:0}.phase-two-row img{position:relative;z-index:1;display:block;width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(24,50,74,.14));animation:winBird 1.35s ease-in-out infinite}.phase-two-row img:nth-child(2){animation-delay:.16s}.phase-two-row img:nth-child(3){animation-delay:.32s}.phase-two-row.far{top:-4px;transform:scale(.72);opacity:.82}.phase-two-row.far::after{height:2px;opacity:.7}.phase-two-row.near{bottom:-2px}.footer-note{font-size:.92rem}.scene.phase-two-scene .wire-wrap{filter:drop-shadow(0 18px 16px rgba(37,87,90,.10))}.scene.phase-two-scene .wire.far{opacity:.68}.scene.phase-two-scene .bird.far{opacity:.92;filter:drop-shadow(0 6px 5px rgba(23,54,78,.12)) saturate(.92)}@keyframes idlePerch{0%,100%{transform:translate(-50%,0) rotate(0)}50%{transform:translate(-50%,-2px) rotate(.8deg)}}@keyframes flutterPremium{0%{transform:translate(-50%,0) rotate(0) scale(1)}24%{transform:translate(-50%,-76px) rotate(-12deg) scale(1.02)}52%{transform:translate(calc(-50% + 10px),-110px) rotate(10deg) scale(.98)}78%{transform:translate(calc(-50% - 5px),-38px) rotate(-5deg) scale(1)}100%{transform:translate(-50%,0) rotate(0) scale(1)}}@keyframes sunGlow{0%,100%{box-shadow:0 0 42px rgba(255,200,87,.65)}50%{box-shadow:0 0 58px rgba(255,218,102,.82)}}@keyframes focusIn{0%{transform:translateY(-50%) scale(.985);opacity:.85}100%{transform:translateY(-50%) scale(1);opacity:1}}@keyframes sceneBoo{0%,100%{filter:none}18%{filter:brightness(1.07) saturate(1.1)}36%{filter:brightness(.96) saturate(.96)}58%{filter:brightness(1.04)}}@keyframes stormSky{0%,100%{filter:none}10%{filter:brightness(1.18) saturate(.75)}28%{filter:brightness(.86) saturate(.72)}42%{filter:brightness(1.12)}70%{filter:brightness(.95)}}@keyframes winBird{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-8px) rotate(-7deg)}70%{transform:translateY(-3px) rotate(5deg)}}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translateY(420px) rotate(540deg);opacity:0}}@keyframes musicNote{0%{opacity:0;transform:translateY(0) scale(.8)}18%{opacity:1}100%{opacity:0;transform:translateY(-80px) scale(1.12)}}

    /* Ajustes exclusivos para mobile: a partir de 5 passarinhos no fio principal,
       reduzimos passarinhos, slots e detalhes da cabeça para evitar sobreposição. */
    @media (max-width: 760px) {
      .wire-wrap.mobile-main-5 .slot:not(.far) { width: 54px; height: 78px; top: 76px; border-radius: 20px; }
      .wire-wrap.mobile-main-5 .bird:not(.far) { width: 52px; height: 61px; }

      .wire-wrap.mobile-main-6 .slot:not(.far) { width: 46px; height: 68px; top: 80px; border-radius: 18px; }
      .wire-wrap.mobile-main-6 .bird:not(.far) { width: 46px; height: 54px; }

      .wire-wrap.mobile-main-7 .slot:not(.far), .wire-wrap.mobile-main-8 .slot:not(.far) { width: 40px; height: 62px; top: 83px; border-radius: 16px; border-width: 2px; }
      .wire-wrap.mobile-main-7 .bird:not(.far), .wire-wrap.mobile-main-8 .bird:not(.far) { width: 40px; height: 48px; }
      .wire-wrap.mobile-main-8 .bird:not(.far) { width: 38px; height: 46px; }
    }

    /* Correções exclusivas da versão mobile:
       - os passarinhos compactos descem até encostar no fio;
       - na Fase 2, os passarinhos do segundo fio usam o mesmo tamanho visual dos do primeiro fio. */
    @media (max-width: 760px) {
      .wire-wrap.mobile-main-8 .slot.far {
        width: 40px;
        height: 62px;
        border-radius: 16px;
        border-width: 2px;
      }

      .wire-wrap.mobile-main-8 .bird.far {
        width: 38px;
        height: 46px;
      }
    }

    /* Compactação exclusiva da versão mobile:
       remove textos explicativos iniciais e reduz a área superior para
       que a cena principal caiba melhor na tela do celular. */
    @media (max-width: 760px) {
      .subtitle {
        display: none;
      }

      .game-top {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-bottom: 8px;
      }

      .game-top > div:first-child {
        display: none;
      }

      .actions {
        justify-content: center;
        gap: 8px;
      }

      .actions button {
        flex: 0 1 auto;
        min-width: 96px;
        padding: 12px 14px;
      }

      .page {
        padding-top: 8px;
        padding-bottom: 8px;
      }

      header {
        margin-bottom: 8px;
        gap: 8px;
      }

      .brand {
        gap: 8px;
      }

      .logo {
        width: 46px;
        height: 46px;
        border-radius: 15px;
        font-size: 27px;
      }

      h1 {
        font-size: clamp(1.65rem, 7vw, 2.25rem);
        letter-spacing: -0.04em;
      }

      .game-card {
        min-height: auto;
        padding: 10px;
      }

      .scene {
        min-height: 455px;
      }

      .footer-note {
        display: none;
      }
    }

    /* Padronização CleverJoy Games — navegação, seções informativas, rodapé e cookies */
    .cj-page {
      width: min(1180px, calc(100% - 28px));
      margin: 0 auto;
    }

    .cj-topbar {
      position: sticky;
      top: 12px;
      z-index: 70;
      margin: 14px auto 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 12px 14px;
      border: 4px solid #18324a;
      border-radius: 22px;
      background: rgba(255, 253, 246, 0.9);
      backdrop-filter: blur(12px);
      box-shadow: 0 8px 0 rgba(24, 50, 74, 0.2);
    }

    .cj-brand {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none;
      font-weight: 950;
      letter-spacing: -0.7px;
      font-size: clamp(1.05rem, 2.6vw, 1.5rem);
      color: #18324a;
    }

    .cj-brand-mark {
      width: 48px;
      height: 48px;
      border: 4px solid #18324a;
      border-radius: 16px;
      background:
        radial-gradient(circle at 36% 32%, #fff 0 7px, transparent 8px),
        radial-gradient(circle at 66% 32%, #fff 0 7px, transparent 8px),
        linear-gradient(135deg, #4cc986 0 48%, #ffd74a 49% 100%);
      box-shadow: 0 4px 0 rgba(24, 50, 74, 0.2);
      position: relative;
      flex: 0 0 auto;
      overflow: hidden;
    }

    .cj-brand-mark::before,
    .cj-brand-mark::after {
      content: "";
      position: absolute;
      top: 12px;
      width: 6px;
      height: 6px;
      background: #18324a;
      border-radius: 50%;
      z-index: 2;
    }
    .cj-brand-mark::before { left: 14px; }
    .cj-brand-mark::after { right: 11px; }

    .cj-brand-mark i {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 24px;
      width: 14px;
      height: 12px;
      border: 3px solid #18324a;
      background: #ffd74a;
      clip-path: polygon(50% 100%, 0 0, 100% 0);
    }

    .cj-nav,
    .cj-footer-links,
    .cj-actions,
    .cj-cookie-actions {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }

    .cj-nav { justify-content: flex-end; }

    .cj-nav a,
    .cj-footer-links a {
      text-decoration: none;
      font-weight: 850;
      padding: 9px 12px;
      border-radius: 999px;
      color: inherit;
    }

    .cj-nav a:hover { background: #fff0b7; }

    .cj-nav .cj-pill {
      background: #ffd74a;
      border: 3px solid #18324a;
      box-shadow: 0 4px 0 rgba(24, 50, 74, 0.2);
    }

    .cj-mobile-social-link { display: none !important; }

    .cj-mobile-nav-toggle {
      display: none;
      border: 3px solid #18324a;
      border-radius: 14px;
      background: #ffd74a;
      color: #18324a;
      box-shadow: 0 4px 0 rgba(24, 50, 74, 0.2);
      font-weight: 950;
      padding: 9px 12px;
      cursor: pointer;
    }

    .cj-family-badge {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin: 14px auto 0;
      text-decoration: none;
      font-weight: 900;
      color: #466577;
      background: rgba(255,253,246,.82);
      border: 3px solid #18324a;
      border-radius: 999px;
      padding: 8px 13px;
      box-shadow: 0 5px 0 rgba(24,50,74,.16);
    }

    .cj-section {
      width: min(1120px, calc(100% - 28px));
      margin: 34px auto;
    }

    .cj-section-title {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      margin-bottom: 18px;
    }

    .cj-section-title h2,
    .cj-note h2 {
      margin: 0;
      font-size: clamp(2rem, 5vw, 3.6rem);
      letter-spacing: -2px;
      line-height: .98;
      color: #18324a;
    }

    .cj-section-title p,
    .cj-note p,
    .cj-feature p {
      margin: 0;
      color: #587086;
      line-height: 1.62;
      font-weight: 650;
    }

    .cj-features {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }

    .cj-feature,
    .cj-note {
      border: 4px solid #18324a;
      border-radius: 22px;
      background: rgba(255, 253, 246, 0.9);
      box-shadow: 0 8px 0 rgba(24, 50, 74, 0.2);
      padding: 18px;
    }

    .cj-note {
      border-width: 5px;
      border-radius: 30px;
      padding: clamp(22px, 4vw, 38px);
      overflow: hidden;
      position: relative;
      background:
        radial-gradient(circle at 14% 20%, rgba(255, 215, 74, 0.62) 0 60px, transparent 62px),
        radial-gradient(circle at 90% 76%, rgba(255, 93, 143, 0.32) 0 86px, transparent 88px),
        linear-gradient(135deg, #fffdf6, #e8fff1);
    }

    .cj-note > * { position: relative; z-index: 2; }

    .cj-feature-icon {
      width: 54px;
      height: 54px;
      display: grid;
      place-items: center;
      border: 3px solid #18324a;
      border-radius: 16px;
      background: #ffd74a;
      box-shadow: 0 4px 0 rgba(24, 50, 74, 0.2);
      font-size: 1.6rem;
      margin-bottom: 14px;
    }

    .cj-feature h3 {
      margin: 0 0 8px;
      color: #18324a;
      font-size: 1.1rem;
    }

    .cj-actions {
      margin-top: 20px;
    }

    .cj-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 52px;
      padding: 12px 18px;
      border: 4px solid #18324a;
      border-radius: 16px;
      text-decoration: none;
      font-weight: 950;
      color: #18324a;
      box-shadow: 0 7px 0 rgba(24, 50, 74, 0.2);
      background: #ffd74a;
      transition: transform .1s ease, box-shadow .1s ease;
    }

    .cj-btn.secondary { background: #fffdf6; }
    .cj-btn:hover { transform: translateY(-2px); box-shadow: 0 9px 0 rgba(24, 50, 74, 0.2); }
    .cj-btn:active { transform: translateY(5px); box-shadow: 0 2px 0 rgba(24, 50, 74, 0.2); }

    .cj-studio-footer {
      width: min(1120px, calc(100% - 28px));
      margin: 36px auto 18px;
      border: 3px solid rgba(218, 255, 242, 0.52);
      border-radius: 26px;
      background: linear-gradient(135deg, rgba(23, 63, 79, 0.98), rgba(40, 103, 95, 0.96));
      color: #fffdf6;
      padding: 24px;
      box-shadow: 0 9px 0 rgba(10, 58, 61, 0.22), 0 18px 38px rgba(18, 60, 72, 0.16);
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
      align-items: center;
    }

    .cj-studio-footer strong { font-size: 1.35rem; }
    .cj-studio-footer p { margin: 5px 0 0; color: rgba(255,253,246,.82); font-weight: 650; }
    .cj-studio-footer a { color: #fffdf6; }
    .cj-footer-links a { color: #fffdf6; opacity: .9; padding: 4px 0; }
    .cj-footer-links a:hover { opacity: 1; text-decoration: underline; }

    .cj-cookie-notice {
      position: fixed;
      left: 16px;
      right: 16px;
      bottom: 16px;
      z-index: 1000;
      max-width: 980px;
      margin: 0 auto;
      border: 4px solid #18324a;
      border-radius: 24px;
      background: rgba(255, 253, 246, 0.96);
      box-shadow: 0 10px 0 rgba(24, 50, 74, 0.2);
      padding: 16px;
      display: none;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      backdrop-filter: blur(10px);
    }

    .cj-cookie-notice.is-visible { display: flex; }
    .cj-cookie-notice p { margin: 0; color: #587086; font-weight: 700; line-height: 1.45; }
    .cj-cookie-btn {
      cursor: pointer;
      border: 3px solid #18324a;
      border-radius: 13px;
      background: #ffd74a;
      color: #18324a;
      padding: 10px 14px;
      font: inherit;
      font-weight: 950;
      box-shadow: 0 4px 0 rgba(24, 50, 74, 0.2);
    }
    .cj-cookie-btn.secondary { background: #fff; }

    @media (max-width: 900px) {
      .cj-features { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 700px) {
      .cj-topbar {
        position: static;
        align-items: flex-start;
        border-width: 3px;
        flex-wrap: wrap;
      }

      .cj-mobile-nav-toggle { display: inline-flex; }

      .cj-nav {
        display: none;
        width: 100%;
        justify-content: flex-start;
      }

      .cj-nav.is-open { display: flex; }
      .cj-nav a { font-size: .9rem; padding: 8px 9px; }
      .cj-features { grid-template-columns: 1fr; }
      .cj-section-title { align-items: start; flex-direction: column; }
      .cj-studio-footer { align-items: flex-start; }
      .cj-cookie-notice { align-items: flex-start; flex-direction: column; }
      .cj-cookie-actions { width: 100%; }
      .cj-cookie-btn { flex: 1 1 auto; }
    }

    /* Correções exclusivas do cabeçalho mobile:
       usa o logotipo visual do próprio Passarinhos no Fio e mantém o botão de menu no canto direito. */
    @media (max-width: 700px) {
      .cj-topbar {
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
      }

      .cj-brand {
        flex: 1 1 auto;
        min-width: 0;
        font-size: clamp(1rem, 4.4vw, 1.25rem);
        line-height: 1.05;
      }

      .cj-brand span:last-child {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .cj-mobile-nav-toggle {
        margin-left: auto;
        flex: 0 0 auto;
        align-self: center;
        width: 48px;
        min-width: 48px;
        height: 48px;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
      }

      .cj-nav {
        order: 3;
        flex-basis: 100%;
      }

      .cj-brand-mark {
        width: 48px;
        height: 48px;
        border-radius: 16px;
        display: grid;
        place-items: center;
        background: linear-gradient(145deg, #fff7cb, #ffcd59);
        overflow: hidden;
      }

      .cj-brand-mark i {
        display: none;
      }

      .cj-brand-mark::before {
        content: "🐦";
        position: static;
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        font-size: 28px;
        line-height: 1;
        z-index: 2;
      }

      .cj-brand-mark::after {
        display: none;
      }
    }

    /* Correção final exclusiva do cabeçalho mobile:
       marca e botão do menu ficam obrigatoriamente na mesma linha. */
    @media (max-width: 700px) {
      .cj-topbar {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 52px;
        grid-template-areas:
          "brand toggle"
          "nav nav";
        align-items: center !important;
        column-gap: 8px;
        row-gap: 10px;
        padding: 10px 10px;
      }

      .cj-brand {
        grid-area: brand;
        min-width: 0;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        font-size: clamp(.92rem, 4vw, 1.12rem);
        line-height: 1;
      }

      .cj-brand span:last-child {
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .cj-brand-mark {
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        border-radius: 15px;
      }

      .cj-mobile-nav-toggle {
        grid-area: toggle;
        justify-self: end;
        align-self: center;
        width: 48px;
        min-width: 48px;
        height: 48px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .cj-nav {
        grid-area: nav;
        width: 100%;
      }
    }

    /* Ajuste exclusivo do cabeçalho mobile:
       iguala a espessura da moldura do logotipo à moldura do botão de opções. */
    @media (max-width: 700px) {
      .cj-brand-mark {
        border-width: 3px !important;
      }

      .cj-mobile-nav-toggle {
        border-width: 3px !important;
      }

      .cj-nav.is-open {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 10px;
        border: 1px solid rgba(24, 50, 74, .14);
        border-radius: 18px;
        background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(235,250,246,.96));
        box-shadow: 0 14px 28px rgba(18, 60, 72, .16), inset 0 1px 0 rgba(255,255,255,.9);
        animation: cjMenuReveal .18s ease-out both;
      }

      .cj-nav.is-open a {
        min-width: 0;
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px 12px;
        border: 1px solid rgba(24, 50, 74, .13);
        border-radius: 13px;
        background: rgba(255,255,255,.82);
        color: #18324a;
        box-shadow: 0 4px 12px rgba(24, 50, 74, .08);
        font-size: .88rem;
        font-weight: 900;
        line-height: 1.15;
        text-align: center;
      }

      .cj-nav.is-open a:active { transform: translateY(1px); }

      .cj-nav.is-open .cj-pill {
        border-color: rgba(177, 126, 0, .22);
        background: linear-gradient(145deg, #ffe57b, #ffc94e);
        box-shadow: 0 4px 12px rgba(190, 132, 0, .14);
      }

      .cj-nav.is-open .cj-mobile-social-link {
        grid-column: 1 / -1;
        display: flex !important;
        flex-direction: column;
        gap: 3px;
        min-height: 58px;
        border-color: rgba(40, 103, 95, .24);
        background: linear-gradient(135deg, #fff4c8, #dcf8ed);
      }

      .cj-mobile-social-link span {
        color: #557083;
        font-size: .72rem;
        font-weight: 750;
        letter-spacing: .01em;
      }

      @keyframes cjMenuReveal {
        from { opacity: 0; transform: translateY(-6px); }
        to { opacity: 1; transform: translateY(0); }
      }
    }

    /* Ajuste exclusivo da versão mobile:
       remove o logotipo e o nome do jogo que aparecem logo abaixo do cabeçalho principal. */
    @media (max-width: 760px) {
      main.page > header .brand {
        display: none !important;
      }

      main.page > header {
        margin-bottom: 8px;
      }
    }

    /* Correção exclusiva da versão PC:
       substitui o logotipo herdado do Repete, Papagaio! pelo símbolo visual do Passarinhos no Fio.
       A versão mobile não é alterada. */
    @media (min-width: 701px) {
      .cj-brand-mark {
        width: 54px;
        height: 54px;
        border-radius: 18px;
        display: grid;
        place-items: center;
        background: linear-gradient(145deg, #fff7cb, #ffcd59) !important;
        box-shadow: 0 4px 0 rgba(24, 50, 74, 0.2);
        overflow: hidden;
      }

      .cj-brand-mark i {
        display: none !important;
      }

      .cj-brand-mark::before {
        content: "🐦" !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 32px;
        line-height: 1;
        transform: none !important;
      }

      .cj-brand-mark::after {
        display: none !important;
        content: none !important;
      }
    }

    /* Ajuste exclusivo da versão PC:
       remove o bloco com logotipo, nome do jogo e subtítulo logo abaixo do cabeçalho principal.
       A versão mobile não é alterada. */
    @media (min-width: 761px) {
      main.page > header .brand {
        display: none !important;
      }

      main.page > header {
        justify-content: flex-end;
      }
    }

    /* Ajustes exclusivos da versão PC:
       remove a mensagem inicial e o botão Começar da área superior,
       mantendo o botão "Jogar agora" no modal inicial.
       Os indicadores ficam na mesma linha de Sons/Reiniciar. */
    @media (min-width: 761px) {
      main.page > header {
        display: none !important;
      }

      .game-top {
        display: flex !important;
        justify-content: flex-end;
        align-items: center;
        gap: 12px;
        margin-bottom: 14px;
      }

      .game-top > .message {
        display: none !important;
      }

      #startBtn {
        display: none !important;
      }

      .desktop-inline-stats {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: nowrap;
      }

      .desktop-inline-stats .pill {
        min-width: 92px;
      }

      .actions {
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
      }
    }

    @media (max-width: 760px) {
      .desktop-inline-stats {
        display: none !important;
      }
    }

    /* Ajuste solicitado:
       na versão PC, botões Sons/Reiniciar passam a ter o mesmo tamanho visual
       dos indicadores Fase/Acertos/Tempo. */
    @media (min-width: 761px) {
      .desktop-inline-stats .pill,
      .game-top .actions > #soundBtn,
      .game-top .actions > #resetBtn {
        width: 98px;
        min-width: 98px;
        height: 64px;
        min-height: 64px;
        padding: 0 10px;
        border-radius: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
      }

      .game-top .actions > #soundBtn,
      .game-top .actions > #resetBtn {
        line-height: 1.1;
        text-align: center;
      }
    }

    /* Correção do layout dos indicadores no desktop:
       mantém o rótulo em cima e o valor centralizado abaixo, sem afetar os botões. */
    @media (min-width: 761px) {
      .desktop-inline-stats .pill {
        width: 98px;
        min-width: 98px;
        height: 64px;
        min-height: 64px;
        padding: 8px 10px 6px;
        border-radius: 18px;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 2px;
        text-align: center;
      }

      .desktop-inline-stats .pill span {
        display: block;
        width: 100%;
        line-height: 1;
      }

      .desktop-inline-stats .pill strong {
        display: block;
        width: 100%;
        line-height: 1.05;
      }

      .game-top .actions > #soundBtn,
      .game-top .actions > #resetBtn {
        width: 98px;
        min-width: 98px;
        height: 64px;
        min-height: 64px;
        padding: 0 10px;
        border-radius: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        line-height: 1.1;
      }
    }

    /* Ajustes exclusivos da versão PC:
       1) sobe um pouco o título principal do bloco institucional;
       2) desce um pouco a linha de copyright no rodapé. */
    @media (min-width: 761px) {
      .studio-footer {
        align-items: flex-start;
      }

      .studio-footer p:last-child {
        margin-top: 12px;
      }

      .cta-panel h2,
      .about-cta h2,
      .family-cta h2,
      .promo-panel h2,
      .closing-cta h2 {
        margin-top: -10px;
        margin-bottom: 20px;
      }

      .cta-panel p,
      .about-cta p,
      .family-cta p,
      .promo-panel p,
      .closing-cta p {
        margin-top: 0;
      }
    }

    @media (min-width: 761px) {
      .pc-cta-title {
        margin-top: -10px !important;
        margin-bottom: 24px !important;
      }
      .pc-copyright-line {
        display: inline-block;
        margin-top: 10px;
      }
    }

    /* Ajuste exclusivo da versão mobile:
       remove o botão Começar da barra superior e desloca Sons/Reiniciar
       para depois do quadro do jogo, preservando o botão "Jogar agora" do modal. */
    @media (max-width: 760px) {
      .game-card {
        display: flex;
        flex-direction: column;
      }

      .scene {
        order: 1;
      }

      .game-top {
        order: 2;
        margin: 8px 0 0;
        display: flex !important;
        justify-content: center;
        align-items: center;
      }

      .game-top > div:first-child {
        display: none !important;
      }

      .game-top .actions {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
      }

      #startBtn {
        display: none !important;
      }

      .game-top .actions #soundBtn,
      .game-top .actions #resetBtn {
        flex: 0 1 auto;
        min-width: 118px;
        padding: 12px 14px;
      }
    }

    /* Ajustes exclusivos da versão mobile:
       reduz tipografia e caixas de Fase/Acertos/Tempo e também
       de Sons/Reiniciar para que tudo caiba melhor na tela. */
    @media (max-width: 760px) {
      .stats {
        gap: 8px;
      }

      .stats .pill {
        flex: 1 1 0;
        min-width: 0;
        padding: 8px 8px;
        border-radius: 16px;
      }

      .stats .pill span {
        font-size: .68rem;
        letter-spacing: .05em;
      }

      .stats .pill strong {
        font-size: 1.05rem;
        line-height: 1.05;
      }

      .game-top .actions {
        gap: 8px;
      }

      .game-top .actions #soundBtn,
      .game-top .actions #resetBtn {
        min-width: 104px;
        padding: 10px 10px;
        border-radius: 16px;
        font-size: .92rem;
        line-height: 1.05;
      }
    }

    /* Ajuste exclusivo da versão mobile:
       reduz bicos e cristas dos passarinhos do fio principal para manter
       a proporção correta mesmo com poucos passarinhos na tela. */
    @media (max-width: 760px) {
    }

    /* Redesign com assets originais — CleverJoy Games */
    .game-card{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(232,249,255,.88));border:2px solid rgba(255,255,255,.9);box-shadow:0 24px 60px rgba(23,70,104,.22),inset 0 1px 0 #fff}
    .scene{isolation:isolate;background:#a9e9ff;border:3px solid rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px rgba(23,74,104,.08),0 14px 32px rgba(31,92,113,.16)}
    .scene-art{position:absolute;inset:-3%;z-index:0;background:url('assets/scenery/jardim-parallax.webp') center 48%/cover no-repeat;animation:landscapeDrift 18s ease-in-out infinite alternate;transform-origin:center}
    .parallax-midground{position:absolute;left:-3%;right:-3%;bottom:7%;height:49%;z-index:2;pointer-events:none;background:url('assets/scenery/vegetacao-intermediaria.webp') center bottom/100% auto no-repeat;filter:saturate(.96) brightness(1.04);opacity:.92;animation:midgroundDrift 14s ease-in-out infinite alternate}
    .parallax-foreground{position:absolute;left:-4%;right:-4%;bottom:-2%;height:29%;z-index:4;pointer-events:none;background:url('assets/scenery/vegetacao-primeiro-plano.webp') center bottom/100% auto no-repeat;filter:saturate(1.05) contrast(1.02);animation:foregroundDrift 9s ease-in-out infinite alternate}
    .scene>.sun,.scene>.tree{display:none}
    .scene::before{z-index:2;bottom:15%;height:72px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.13))}
    .scene::after{z-index:2;opacity:.35}
    .wire-wrap{z-index:8}
    .wire.main{height:7px;background:linear-gradient(180deg,#70889a 0,#314b5d 43%,#152a3b 100%);box-shadow:0 3px 0 rgba(255,255,255,.45),0 12px 18px rgba(16,45,55,.3)}
    .wire.main::after,.wire.far::after{content:"";position:absolute;inset:2px 1% auto;height:1px;background:rgba(255,255,255,.26);border-radius:50%}
    .bird{filter:drop-shadow(0 9px 7px rgba(17,52,67,.28));will-change:transform,left,top}
    .bird>div{display:none!important}
    .bird-art{position:absolute;left:-15%;top:-24%;width:130%;height:130%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;transform-origin:52% 62%;animation:birdBreathe 2.8s ease-in-out infinite}
    .bird:nth-of-type(3n) .bird-art{animation-delay:.35s}.bird:nth-of-type(3n+1) .bird-art{animation-delay:.7s}
    .bird.dragging .bird-art{animation:wingRush .22s ease-in-out infinite alternate}
    .bird.fly .bird-art{animation:wingRush .16s ease-in-out infinite alternate}
    .bird.locked .bird-art{animation:birdCelebrate .62s ease 1}
    .bird.far .bird-art{left:-12%;top:-21%;width:124%;height:124%}
    .slot{border-color:rgba(22,73,84,.18);background:rgba(255,255,255,.08)}
    .slot.hover{background:rgba(255,248,190,.4);border-color:#ffd45f;box-shadow:0 0 0 7px rgba(255,212,95,.18)}
    .slot.locked{background:rgba(210,255,223,.22);border-color:rgba(36,166,104,.45)}
    .message{background:linear-gradient(145deg,#fff,#f1fbff);border:1px solid rgba(96,155,179,.2);box-shadow:0 8px 20px rgba(30,83,110,.1)}
    .pill{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.88);box-shadow:0 9px 20px rgba(29,73,99,.13),inset 0 1px 0 #fff}
    .pill::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.42),transparent 54%);pointer-events:none}
    .phase-stat{background:linear-gradient(145deg,#e7ffe7,#aeeaaa)}
    .score-stat{background:linear-gradient(145deg,#fff7c7,#ffd45d)}
    .time-stat{background:linear-gradient(145deg,#e8f7ff,#a8ddff)}
    .pill span,.pill strong{position:relative;z-index:1}
    .actions button{border:1px solid rgba(255,255,255,.92);font-weight:950;box-shadow:0 8px 18px rgba(25,69,94,.13),inset 0 1px 0 #fff}
    .sound-toggle{background:linear-gradient(145deg,#efeaff,#cfc4ff)}
    #resetBtn{background:linear-gradient(145deg,#fff0ea,#ffcbbd)}
    .primary{background:linear-gradient(145deg,#ffe882,#ffbc45);box-shadow:0 10px 22px rgba(181,118,13,.2)!important}
    .modal{border:2px solid rgba(255,255,255,.95);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,253,244,.96));box-shadow:0 28px 65px rgba(16,62,77,.3)}
    @media(min-width:761px){.game-top>.message{display:flex!important;flex:1;min-width:230px}.game-top{justify-content:space-between!important}.actions{flex-wrap:nowrap}}
    @media(min-width:761px) and (max-width:980px){
      .game-top{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
      .game-top>.message{width:100%;min-width:0}
      .game-top>.actions{width:100%;justify-content:center!important;flex-wrap:wrap!important;gap:8px!important}
      .desktop-inline-stats{gap:8px!important}
      .desktop-inline-stats .pill,.game-top .actions>#soundBtn,.game-top .actions>#resetBtn{width:94px!important;min-width:94px!important}
    }
    @keyframes landscapeDrift{0%{transform:scale(1.04) translate3d(-.6%,0,0)}100%{transform:scale(1.065) translate3d(.7%,-.5%,0)}}
    @keyframes midgroundDrift{0%{transform:translateX(-.45%) scale(1.01)}100%{transform:translateX(.55%) scale(1.025)}}
    @keyframes foregroundDrift{0%{transform:translateX(-.6%) scale(1.035)}100%{transform:translateX(.7%) scale(1.055)}}
    @keyframes birdBreathe{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-2px) rotate(.6deg)}52%{transform:translateY(-3px) rotate(-.4deg)}}
    @keyframes wingRush{0%{transform:rotate(-3deg) scaleY(.96)}100%{transform:rotate(3deg) scaleY(1.04)}}
    @keyframes birdCelebrate{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(-12px) rotate(-6deg) scale(1.05)}68%{transform:translateY(-4px) rotate(5deg)}100%{transform:translateY(0) rotate(0)}}
    @media(max-width:760px){
      .scene-art{inset:-1%;background-position:center 48%}.parallax-midground{height:42%;bottom:10%;background-size:auto 100%}.parallax-foreground{height:24%;background-size:auto 100%}
      .game-card{padding:10px;border-radius:23px}.scene{border-radius:20px}
      .stats{gap:7px}.pill{padding:8px 7px;border-radius:15px}.pill span{font-size:.7rem}.pill strong{font-size:1.22rem}
      .game-top{margin-bottom:10px}.message{font-size:.93rem;padding:12px 14px;min-height:52px}
      .actions button{min-height:48px;padding:10px 11px}
      .bird-art{left:-18%;top:-27%;width:136%;height:136%}
    }
    @media(prefers-reduced-motion:reduce){.scene-art,.parallax-midground,.parallax-foreground,.bird,.bird-art,.sun{animation:none!important;transition-duration:.01ms!important}}

    /* Identidade unificada: mesmo logotipo ilustrado das páginas internas. */
    @media (min-width: 701px) {
      .cj-brand-mark {
        background-color: #ffdf6b !important;
        background-image: url("assets/birds/bird-01.webp") !important;
        background-position: center !important;
        background-size: 115% !important;
        background-repeat: no-repeat !important;
        border: 3px solid #18324a !important;
        box-shadow: 0 4px 0 rgba(24,65,88,.18) !important;
      }
      .cj-brand-mark::before,
      .cj-brand-mark::after,
      .cj-brand-mark i { display: none !important; content: none !important; }
    }

    @media (max-width: 700px) {
      .cj-brand-mark {
        background-color: #ffdf6b !important;
        background-image: url("assets/birds/bird-01.webp") !important;
        background-position: center !important;
        background-size: 115% !important;
        background-repeat: no-repeat !important;
        border: 3px solid #18324a !important;
        box-shadow: 0 4px 0 rgba(24,65,88,.18) !important;
      }
      .cj-brand-mark::before,
      .cj-brand-mark::after,
      .cj-brand-mark i { display: none !important; content: none !important; }
    }

    /* Portal de jogo: mesma arquitetura editorial do Repete, Papagaio!,
       preservando a identidade visual e a mecânica do Passarinhos no Fio. */
    .portal-main {
      width: min(1460px, calc(100% - 40px));
      margin: 22px auto 82px;
    }
    .play-layout { width: 100%; min-width: 0; }
    .primary-game-column { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
    .game-section { min-width: 0; }
    .game-toolbar {
      min-height: 48px;
      padding: 9px 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      color: #18324a;
      background: rgba(255,255,255,.92);
      border: 1px solid rgba(24,50,74,.12);
      border-bottom: 0;
      border-radius: 18px 18px 0 0;
      box-shadow: 0 8px 24px rgba(24,65,88,.08);
    }
    .game-toolbar-title { display: flex; align-items: center; gap: 9px; min-width: 0; }
    .game-toolbar-title strong { font-size: .96rem; }
    .game-toolbar-title small { color: #587287; font-weight: 700; }
    .game-status-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #78cf61; box-shadow: 0 0 0 4px rgba(120,207,97,.18); }
    .game-toolbar-badge { padding: 6px 10px; border-radius: 999px; color: #315369; background: #eef8fb; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
    .game-frame {
      padding: 12px;
      overflow: hidden;
      background:
        radial-gradient(circle at 8% 10%, rgba(255,221,105,.25), transparent 25%),
        radial-gradient(circle at 92% 80%, rgba(122,207,98,.22), transparent 28%),
        linear-gradient(145deg, #173f4f, #28675f);
      border: 1px solid rgba(24,50,74,.16);
      border-radius: 18px;
      box-shadow: 0 20px 48px rgba(24,65,88,.16);
    }
    .game-page-embedded { width: 100%; max-width: none; padding: 0; margin: 0; }
    .mobile-game-note { display: none; margin: 10px 4px 0; color: #587287; font-size: .82rem; text-align: center; }
    .desktop-sidebar, .desktop-ad { display: none; }
    .sidebar-card {
      overflow: hidden;
      background: rgba(255,255,255,.96);
      border: 1px solid #d9e7eb;
      border-radius: 18px;
      box-shadow: 0 12px 30px rgba(24,65,88,.09);
    }
    .sidebar-card-inner { padding: 20px; }
    .sidebar-eyebrow { margin: 0 0 7px; color: #df496d; font-size: .72rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
    .sidebar-card h2 { margin: 0 0 10px; color: #18324a; font-size: 1.22rem; line-height: 1.15; }
    .sidebar-card p { margin: 0; color: #526d80; font-size: .9rem; line-height: 1.58; }
    .sidebar-how summary { padding: 18px 20px; color: #18324a; font-weight: 950; cursor: pointer; list-style: none; }
    .sidebar-how summary::-webkit-details-marker { display: none; }
    .sidebar-how summary::after { content: "+"; float: right; color: #df496d; font-size: 1.2rem; }
    .sidebar-how[open] summary::after { content: "−"; }
    .sidebar-how ol { margin: 0; padding: 0 22px 20px 40px; color: #526d80; font-size: .88rem; line-height: 1.55; }
    .sidebar-how li + li { margin-top: 8px; }
    .ad-card { min-height: 250px; display: grid; place-items: center; padding: 12px; }
    .ad-placeholder { width: 100%; height: 100%; min-height: 224px; display: grid; place-items: center; color: #78909f; background: repeating-linear-gradient(135deg,#f5f9fa,#f5f9fa 10px,#edf4f6 10px,#edf4f6 20px); border: 1px dashed #bdcdd3; border-radius: 12px; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .desktop-ad-below-game { min-height: 90px; }
    .desktop-ad-below-game .ad-placeholder { min-height: 90px; }
    .related-games { padding: 20px; }
    .sidebar-title-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: 13px;
    }
    .sidebar-title-row h2 { margin: 0; }
    .sidebar-title-row > a {
      color: #087d94;
      font-size: .58rem;
      font-weight: 900;
      text-decoration: none;
    }
    .related-games-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .related-game-card {
      min-width: 0;
      overflow: hidden;
      border: 1px solid #d8e6e9;
      border-radius: 12px;
      color: #173744;
      background: #f7fafb;
      text-decoration: none;
      transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
    }
    .related-game-card:hover,
    .related-game-card:focus-visible {
      transform: translateY(-2px);
      border-color: #65cad9;
      box-shadow: 0 9px 20px rgba(18,74,91,.12);
    }
    .related-game-card > img {
      display: block;
      width: 100%;
      height: 68px;
      object-fit: cover;
    }
    .related-game-card > span:last-child {
      display: block;
      padding: 8px 7px 9px;
      overflow: hidden;
      color: #173744;
      font-size: .58rem;
      font-weight: 900;
      line-height: 1.25;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .repeat-related-card > img {
      padding: 7px;
      object-fit: contain;
      background: linear-gradient(145deg,#0b3046,#0b5162);
    }

    @media (min-width: 761px) {
      .game-page-embedded > header { display: none !important; }
    }
    @media (min-width: 1100px) {
      .play-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
      .primary-game-column { position: sticky; top: 12px; align-self: start; }
      .portal-main { margin-top: 12px; }
      .game-frame { padding: 8px; }
      .game-page-embedded .game-card { min-height: 0; padding: clamp(14px, 1.8vw, 20px); }
      .game-page-embedded .scene {
        height: clamp(360px, calc(100vh - 350px), 535px);
        min-height: 0;
      }
      .desktop-sidebar { display: flex; flex-direction: column; gap: 16px; }
      .desktop-ad { display: block; }
      body > .cj-section { display: none; }
    }
    @media (max-width: 1099px) {
      .portal-main { width: min(1120px, calc(100% - 28px)); margin-top: 16px; }
    }
    @media (max-width: 760px) {
      .portal-main { width: calc(100% - 16px); margin: 10px auto 42px; }
      .game-toolbar { display: none; }
      .game-frame { padding: 0; overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
      .game-page-embedded > header { display: flex; }
      .game-page-embedded > header .brand { display: none; }
      .mobile-game-note { display: block; }
    }
