    .reveal-final{
      --neo-wipe-x:50vw;
      --neo-wipe-y:50vh;
      --neo-wipe-start:36px;
      --neo-wipe-rx:0px;
      --neo-wipe-ry:0px;
      --neo-wipe-radius:0px;
      --neo-overlay-alpha:0;
      --neo-window-alpha:0;
      --neo-window-blur:16px;
      position:fixed;
      left:0;
      right:0;
      bottom:0;
      width:100vw;
      min-height:100vh;
      height:100vh;
      padding:0;
      overflow:hidden;
      isolation:isolate;
      z-index:0;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      clip-path:circle(0px at 50% 50%);
    }

    .reveal-final.is-visible{
      z-index:42;
      opacity:1;
      visibility:visible;
      pointer-events:auto;
    }

    .reveal-final.is-o-wipe{
      animation:neoCircleReveal .82s cubic-bezier(.16,1,.3,1) both;
      will-change:clip-path;
    }

    .reveal-final.is-o-unwipe{
      animation:neoCircleHide .74s cubic-bezier(.4,0,.2,1) both;
      will-change:clip-path;
    }

    .reveal-final.is-o-interactive{
      clip-path:circle(var(--neo-wipe-radius) at var(--neo-wipe-x) var(--neo-wipe-y));
      will-change:clip-path;
    }

    .reveal-final::before,
    .reveal-final::after,
    .reveal-final .cut{
      display:none;
    }

    .reveal-underlay{
      --final-grid-cell:92px;
      --final-grid-snap-x:0px;
      --final-grid-snap-y:0px;
      position:relative;
      width:100%;
      height:100vh;
      z-index:1;
      overflow:hidden;
      background:
        radial-gradient(1200px 800px at 50% 40%, rgba(0,194,110,.2), transparent 65%),
        linear-gradient(180deg, #02231c 0%, #031d18 55%, #042620 100%);
      opacity:var(--neo-window-alpha, 1);
      filter:blur(var(--neo-window-blur, 0px));
    }

    .reveal-underlay::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(90deg, rgba(125,255,197,.08), rgba(125,255,197,.08) 1px, transparent 1px, transparent var(--final-grid-cell)),
        repeating-linear-gradient(0deg, rgba(125,255,197,.06), rgba(125,255,197,.06) 1px, transparent 1px, transparent var(--final-grid-cell));
      opacity:.4;
      pointer-events:none;
    }

    .reveal-underlay::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(1220px 920px at 50% 48%, rgba(0,0,0,0) 42%, rgba(0,0,0,.24) 100%);
      pointer-events:none;
    }

    .reveal-under-content{
      position:relative;
      z-index:2;
      height:100%;
      display:grid;
      place-items:center;
      text-align:center;
      padding:120px 18px 200px;
      color:#f0fff8;
      opacity:0;
      transform:translateY(28px);
      filter:blur(8px);
      transition:opacity .75s ease, transform .85s cubic-bezier(.16,1,.3,1), filter .85s ease;
    }

    .reveal-under-shell{
      width:min(860px, 100%);
      display:grid;
      justify-items:center;
    }

    .final-variant{
      width:min(860px, 100%);
      display:grid;
      justify-items:center;
    }

    .reveal-under-content h2{
      margin:0 0 8px;
      max-width:none;
      font-size:clamp(2.1rem,4.5vw,4rem);
      color:#f2fff9;
      text-shadow:0 16px 34px rgba(0,0,0,.32);
    }

    .reveal-under-content p{
      margin:0 auto 12px;
      color:rgba(233,255,246,.86);
      max-width:58ch;
    }

    .dog-stage{
      --dog-image-w:min(calc(var(--final-grid-cell) * 4.2), 62vw);
      position:relative;
      width:min(calc(var(--final-grid-cell) * 7.35), 92vw);
      height:calc(var(--final-grid-cell) * 4.35);
      margin:22px auto 0;
      display:grid;
      place-items:center;
      opacity:0;
      transform:translateY(24px) scale(.985);
      filter:blur(6px);
      transition:opacity .7s ease .16s, transform .85s cubic-bezier(.16,1,.3,1) .16s, filter .8s ease .16s;
      pointer-events:none;
    }

    .dog-stage::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      z-index:1;
      background:none;
      filter:none;
      opacity:0;
    }

    .dog-stage-image{
      width:var(--dog-image-w);
      max-height:100%;
      object-fit:contain;
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%, -50%);
      z-index:2;
      filter:
        drop-shadow(0 0 12px rgba(157,255,219,.16));
      opacity:.97;
    }

    .dog-hand-cube{
      position:absolute;
      left:26.9%;
      top:calc(39.8% - 30px);
      width:min(calc(var(--final-grid-cell) * 1.1), 96px);
      transform:translate(-50%, -50%);
      z-index:4;
      padding:0;
      border:0;
      background:transparent;
      cursor:pointer;
      pointer-events:auto;
      filter:
        drop-shadow(0 0 12px rgba(132,255,231,.36))
        drop-shadow(0 0 30px rgba(132,255,231,.26));
      transition:opacity .22s ease, transform .22s ease, filter .22s ease;
    }

    .dog-hand-cube:focus-visible{
      outline:2px solid var(--accent-3);
      outline-offset:4px;
      border-radius:12px;
    }

    .dog-hand-cube.is-handoff-active{
      z-index:46;
      pointer-events:none;
      transition:
        transform 1.24s cubic-bezier(.18,.72,.24,1),
        opacity .24s ease,
        filter 1.24s ease;
      will-change:transform, opacity, filter;
    }

    .dog-hand-cube.is-handoff-active .dog-hand-cube-fx{
      animation:none;
    }

    .dog-hand-cube.is-handoff-moving{
      transform:translate(-50%, -50%) translate(var(--dog-handoff-dx), var(--dog-handoff-dy)) scale(var(--dog-handoff-scale)) rotate(-8deg);
      filter:
        drop-shadow(0 0 18px rgba(182,241,255,.28))
        drop-shadow(0 0 38px rgba(116,220,255,.22));
    }

    .dog-hand-cube.is-handoff-settled{
      transform:translate(-50%, -50%) translate(var(--dog-handoff-dx), var(--dog-handoff-dy)) scale(calc(var(--dog-handoff-scale) * 1.02)) rotate(-8deg);
      filter:
        drop-shadow(0 0 22px rgba(182,241,255,.32))
        drop-shadow(0 0 44px rgba(116,220,255,.26));
    }

    .dog-hand-cube.is-handoff-fading{
      opacity:0;
      transform:translate(-50%, -50%) translate(var(--dog-handoff-dx), var(--dog-handoff-dy)) scale(calc(var(--dog-handoff-scale) * 1.08)) rotate(-8deg);
      filter:
        drop-shadow(0 0 14px rgba(182,241,255,.18))
        drop-shadow(0 0 28px rgba(116,220,255,.14));
    }

    .dog-hand-cube-fx{
      position:relative;
      width:100%;
      height:100%;
      display:block;
      animation:eyebrowFloat 4.8s ease-in-out infinite;
    }

    .dog-hand-cube-image{
      display:block;
      width:100%;
      height:auto;
      object-fit:contain;
      opacity:.95;
      mix-blend-mode:screen;
      filter:
        drop-shadow(0 0 8px rgba(166,255,236,.34))
        drop-shadow(0 0 20px rgba(166,255,236,.22));
      animation:none;
    }

    .dog-hand-cube::before,
    .dog-hand-cube::after,
    .dog-hand-cube-fx::before,
    .dog-hand-cube-fx::after{
      content:none !important;
      display:none !important;
    }

    @media (min-width: 761px){
      .reveal-final .reveal-underlay{
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        overflow-y:auto;
        overflow-x:hidden;
      }

      .reveal-final .reveal-under-content{
        order:1;
        height:auto;
        display:block;
        text-align:center;
        padding:112px 18px 0;
      }

      .reveal-final .final-variant--dog{
        position:relative;
        width:min(980px, 100%);
        display:flex;
        flex-direction:column;
        align-items:center;
      }

      .reveal-final .dog-stage{
        position:relative;
        left:auto;
        right:auto;
        top:auto;
        transform:none;
        margin:28px auto 0;
        width:min(calc(var(--final-grid-cell) * 5.35), 44vw);
        height:calc(var(--final-grid-cell) * 4.4);
      }

      .reveal-final .dog-stage-image{
        width:min(calc(var(--final-grid-cell) * 5.2), 43vw);
      }

      .reveal-final .dog-hand-cube{
        left:27.9%;
        top:calc(38.9% - 30px);
        width:min(calc(var(--final-grid-cell) * 1.26), 122px);
      }

      .reveal-final .reveal-under-footer{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        order:2;
        width:min(900px, calc(100% - 36px));
        margin:-18px auto 10px;
        padding-bottom:8px;
        gap:16px 56px;
      }

      .reveal-final .reveal-under-footer > :first-child{
        justify-self:start;
        margin-left:138px;
      }

      .reveal-final .reveal-under-footer > :last-child{
        justify-self:end;
      }
    }


    .reveal-under-footer{
      position:absolute;
      left:0;
      right:0;
      bottom:24px;
      z-index:2;
      width:min(640px, calc(100% - 36px));
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:16px 28px;
      justify-content:center;
      justify-items:center;
      text-align:left;
      color:rgba(224,255,238,.72);
      font-size:.92rem;
      opacity:0;
      transform:translateY(24px);
      filter:blur(8px);
      transition:opacity .75s ease .08s, transform .85s cubic-bezier(.16,1,.3,1) .08s, filter .85s ease .08s;
    }

    .reveal-under-footer > div{
      width:min(240px, 100%);
      text-align:left;
    }

    .reveal-under-footer h4{
      margin:0 0 8px;
      font-size:.98rem;
      color:rgba(244,255,250,.92);
      letter-spacing:-.01em;
    }

    .reveal-under-footer p{
      margin:0 0 6px;
      font-size:.92rem;
      color:rgba(224,255,238,.72);
      max-width:none;
    }

    .reveal-final.is-visible .reveal-under-content,
    .reveal-final.is-visible .reveal-under-footer{
      opacity:1;
      transform:translateY(0);
      filter:blur(0);
    }

    .reveal-final.is-visible .dog-stage{
      opacity:1;
      transform:translateY(0) scale(1);
      filter:blur(0);
    }

    .reveal-final.is-visible.is-o-interactive .reveal-under-content,
    .reveal-final.is-visible.is-o-interactive .reveal-under-footer{
      opacity:var(--neo-overlay-alpha);
      transform:translateY(calc((1 - var(--neo-overlay-alpha)) * 28px));
      filter:blur(calc((1 - var(--neo-overlay-alpha)) * 8px));
      transition:none;
    }

    .reveal-final.is-visible.is-o-interactive .dog-stage{
      opacity:var(--neo-overlay-alpha);
      transform:translateY(calc((1 - var(--neo-overlay-alpha)) * 24px)) scale(calc(.96 + var(--neo-overlay-alpha) * .04));
      filter:blur(calc((1 - var(--neo-overlay-alpha)) * 6px));
      transition:none;
    }

    @keyframes neoCircleReveal{
      0%{
        clip-path:circle(var(--neo-wipe-start) at var(--neo-wipe-x) var(--neo-wipe-y));
      }
      100%{
        clip-path:circle(170vmax at var(--neo-wipe-x) var(--neo-wipe-y));
      }
    }

    @keyframes neoCircleHide{
      0%{
        clip-path:circle(170vmax at var(--neo-wipe-x) var(--neo-wipe-y));
      }
      100%{
        clip-path:circle(var(--neo-wipe-start) at var(--neo-wipe-x) var(--neo-wipe-y));
      }
    }

    .reveal-spacer{
      height:0;
      width:100%;
      overflow:hidden;
      pointer-events:none;
    }

    body.is-final-overlay{
      overflow:hidden;
    }

    body.is-game-launching{
      overflow:hidden;
      cursor:progress;
    }

    body.is-game-launching #final-reveal-panel .reveal-under-content,
    body.is-game-launching #final-reveal-panel .reveal-under-footer{
      opacity:.06;
      transform:translateY(-26px) scale(.985);
      filter:blur(14px);
      transition:opacity .62s ease, transform .82s cubic-bezier(.16,1,.3,1), filter .82s ease;
    }

    body.is-game-launching #final-reveal-panel .dog-stage{
      opacity:.08;
      filter:blur(4px);
      transform:translateY(-34px) scale(.93);
      transition:opacity .58s ease, transform .82s cubic-bezier(.16,1,.3,1), filter .82s ease;
    }

    .game-launch-fx{
      --launch-start-x:50vw;
      --launch-start-y:50vh;
      --launch-size:68px;
      position:fixed;
      inset:0;
      background:transparent;
      z-index:48;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      overflow:hidden;
    }

    .game-launch-fx::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, rgba(2,6,14,0) 0%, rgba(2,6,14,.24) 68%, rgba(2,6,14,.42) 100%);
      opacity:0;
    }

    .game-launch-fx::after{
      content:"";
      position:absolute;
      inset:-12%;
      background:radial-gradient(ellipse at center, rgba(0,0,0,0) 26%, rgba(0,0,0,.18) 100%);
      opacity:0;
      transform:scale(1.08);
    }

    .game-launch-fx.is-active{
      opacity:1;
      visibility:visible;
    }

    .game-launch-fx.is-active::before{
      animation:launchShadeIn 1.2s ease-out forwards;
    }

    .game-launch-fx.is-active::after{
      animation:launchVignetteIn 1.3s ease-out forwards;
    }

    .launch-world{
      position:absolute;
      inset:-12% -8% -18% -8%;
      transform:translateY(102%);
      background:radial-gradient(1200px 600px at 70% 20%, #243451 0%, #0f1624 45%, #090c12 100%);
      filter:none;
    }

    .launch-world::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(120deg, rgba(255,255,255,.05), transparent 60%);
      pointer-events:none;
    }

    .game-launch-fx.is-active .launch-world{
      animation:launchWorldReveal 1.55s cubic-bezier(.16,1,.3,1) .5s forwards;
    }

    .launch-cube{
      position:absolute;
      left:0;
      top:0;
      width:var(--launch-size);
      height:var(--launch-size);
      opacity:0;
      transform:translate(var(--launch-start-x), var(--launch-start-y)) translate(-50%, -50%) rotate(-7deg);
      transform-origin:center;
      filter:
        drop-shadow(0 0 10px rgba(166,255,236,.24))
        drop-shadow(0 0 26px rgba(116,220,255,.2));
    }

    .launch-cube::before,
    .launch-cube::after{
      content:none;
    }

    .game-launch-fx.is-active .launch-cube{
      animation:launchCubeDrop 2.05s cubic-bezier(.18,.74,.22,1) .14s forwards;
    }

    .game-launch-fx.from-handoff.is-active .launch-cube{
      animation:launchCubeFromHandoff 2.05s cubic-bezier(.18,.74,.22,1) 0s forwards;
    }

    @keyframes launchShadeIn{
      from{ opacity:0; }
      to{ opacity:1; }
    }

    @keyframes launchVignetteIn{
      0%{
        opacity:0;
        transform:scale(1.12);
      }
      100%{
        opacity:1;
        transform:scale(1);
      }
    }

    @keyframes launchWorldReveal{
      0%{
        transform:translateY(104%) scale(1.06);
      }
      72%{
        transform:translateY(0) scale(1.01);
      }
      100%{
        transform:translateY(0) scale(1);
      }
    }

    @keyframes launchCubeDrop{
      0%{
        opacity:0;
        transform:translate(var(--launch-start-x), var(--launch-start-y)) translate(-50%, -50%) scale(1) rotate(-8deg);
      }
      10%{
        opacity:1;
      }
      28%{
        opacity:1;
        transform:translate(50vw, 50vh) translate(-50%, -50%) scale(1.12) rotate(-2deg);
      }
      44%{
        opacity:1;
        transform:translate(50vw, 40vh) translate(-50%, -50%) scale(1.28) rotate(0deg);
      }
      62%{
        opacity:1;
        transform:translate(50vw, 46vh) translate(-50%, -50%) scale(1.18) rotate(1deg);
      }
      100%{
        opacity:1;
        transform:translate(50vw, 126vh) translate(-50%, -50%) scale(1.04) rotate(3deg);
      }
    }

    @keyframes launchCubeFromHandoff{
      0%{
        opacity:.14;
        transform:translate(var(--launch-start-x), calc(var(--launch-start-y) - 18px)) translate(-50%, -50%) scale(.94) rotate(-6deg);
      }
      8%{
        opacity:.42;
        transform:translate(var(--launch-start-x), calc(var(--launch-start-y) - 10px)) translate(-50%, -50%) scale(.99) rotate(-5deg);
      }
      22%{
        opacity:.88;
        transform:translate(50vw, 50vh) translate(-50%, -50%) scale(1.08) rotate(-4deg);
      }
      38%{
        opacity:1;
        transform:translate(50vw, 43.5vh) translate(-50%, -50%) scale(1.18) rotate(-2deg);
      }
      58%{
        opacity:1;
        transform:translate(50vw, 46vh) translate(-50%, -50%) scale(1.14) rotate(1deg);
      }
      100%{
        opacity:1;
        transform:translate(50vw, 126vh) translate(-50%, -50%) scale(1.04) rotate(3deg);
      }
    }

    @media (max-width: 760px){
      .reveal-underlay{
        --final-grid-cell:46px;
        height:100vh;
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        overflow-y:auto;
        overflow-x:hidden;
        -webkit-overflow-scrolling:touch;
      }

      .reveal-under-content{
        order:1;
        height:auto;
        display:block;
        text-align:center;
        padding:112px 16px 0;
      }

      .final-variant--dog{
        width:min(360px, calc(100vw - 24px));
      }

      .reveal-under-content h2{
        width:min(320px, calc(100vw - 36px));
        margin:0 auto 10px;
        font-size:clamp(1.95rem, 10vw, 3rem);
        line-height:1.02;
        overflow-wrap:anywhere;
        transform:none;
      }

      .reveal-under-content p{
        width:min(328px, calc(100vw - 40px));
        margin:0 auto 12px;
        transform:none;
      }

      .reveal-under-content .btn{
        transform:none;
      }

      .reveal-under-shell{
        display:flex;
        flex-direction:column;
        align-items:center;
        width:100%;
      }

      .dog-stage{
        width:min(360px, calc(100vw - 8px));
        height:330px;
        margin:18px auto 0;
        overflow:visible;
      }

      .dog-stage-image{
        width:min(292px, 82vw);
        left:50%;
      }

      .dog-hand-cube{
        left:26.4%;
        top:31.9%;
        width:min(96px, 26vw);
      }

      .reveal-under-footer{
        position:relative;
        left:auto;
        right:auto;
        bottom:auto;
        order:2;
        width:min(360px, calc(100% - 24px));
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:10px 14px;
        margin:56px auto 26px;
        padding-bottom:8px;
      }

      .reveal-under-footer h4{
        margin:0 0 6px;
        font-size:.92rem;
      }

      .reveal-under-footer p{
        margin:0 0 5px;
        font-size:.84rem;
        line-height:1.34;
      }
    }
