:root{--ink:#303d36;--orange:#e67523;--cream:#fbf6ec;--muted:#778078;--green:#4c7560}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Segoe UI,system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b25916;outline-offset:4px}main{max-width:1120px;margin:auto;padding:22px 36px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:14px}.brand img{width:57px;height:57px;border-radius:15px}.brand b{display:block;font-size:12px;letter-spacing:.12em;font-weight:500;color:var(--muted);margin-top:2px}.tag{font-size:12px;color:var(--muted)}.tag i,.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6e9173;margin-right:9px}.heading{text-align:center;margin:24px 0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:#927b61;margin:0 0 12px}h1{font-size:clamp(34px,4.8vw,54px);letter-spacing:-2px;margin:0;font-weight:750;line-height:1.13}h1 em{font-style:normal;color:var(--orange)}.heart{display:inline-block;color:var(--orange);font-size:45px;transform:rotate(12deg);margin-left:14px}.heading>p:last-child{font-size:15px;color:var(--muted);margin:10px 0 0}.game-shell{background:white;border:1px solid #e7e4d9;border-radius:24px;overflow:hidden;box-shadow:0 16px 50px #454a3010}.game-toolbar{padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.stats{display:flex;gap:35px}.stats>div{display:flex;align-items:center;gap:12px}.stats span{font-size:9px;letter-spacing:.1em;color:var(--muted);font-weight:700;max-width:95px}.stats strong{font-size:28px;color:var(--orange);font-variant-numeric:tabular-nums}.stats .record strong{color:var(--green)}.tools{display:flex;gap:8px}.tools button{border:1px solid #e3e5dc;border-radius:10px;background:#fff;color:var(--ink);padding:9px 12px;font-size:15px}.tools span{font-size:11px;margin-left:4px}.playfield{position:relative;background:#e9efe0;aspect-ratio:8/5;margin:0 12px;border-radius:14px;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#eaf0e154;backdrop-filter:blur(3px);padding:12px;overflow:auto}.overlay[hidden],[hidden]{display:none!important}.modal{text-align:center;background:#fffdf7f5;border:1px solid #fff;padding:24px 38px;border-radius:24px;box-shadow:0 14px 50px #40513512;max-width:500px;width:100%}.welcome-logo{width:92px;height:92px;border-radius:19px;object-fit:cover;margin-bottom:13px}.modal h2{font-size:clamp(23px,3vw,33px);line-height:1.2;letter-spacing:-1px;margin:0 0 13px}.modal p:not(.eyebrow){font-size:14px;color:#747c70;line-height:1.6;margin:8px 0 20px}.primary{display:block;border:0;background:var(--orange);color:#fff;padding:14px 24px;border-radius:12px;font-weight:700;min-width:180px;margin:0 auto;box-shadow:0 5px 0 #b6581618}.primary:hover{background:#d86618}.primary span{margin-left:35px}.modal small{display:block;font-size:10px;color:#8d9489;margin-top:14px}.big-symbol{font-size:45px;color:var(--orange);display:block;margin-bottom:8px}.participate{display:flex;justify-content:center;gap:8px;margin-top:12px}.secondary{font-size:12px;color:var(--ink);border:1px solid #dbdfd3;background:transparent;border-radius:10px;padding:11px;text-decoration:none}.text-button{background:none;border:none;font-size:12px;color:var(--green);padding:14px}.modal #share-status{font-size:11px;margin:0}.game-caption{display:flex;align-items:center;padding:13px 24px;min-height:49px}.game-caption p{margin:0;font-size:12px;color:#6e7e6d}.caption-heart{margin-left:auto;color:var(--orange);font-size:24px}.below-game{display:flex;justify-content:space-between;font-size:11px;color:#808779;padding:13px 6px;gap:12px}.below-game p{margin:0}.keyboard{color:#4e624e;font-size:14px;margin-right:6px}.divider{margin:0 10px}.mobile-hint{display:none}.dpad{display:none}footer{border-top:1px solid #e6e2d7;padding:19px 0 9px;display:flex;justify-content:space-between;gap:15px;color:#8d9185;font-size:11px}footer small{font-size:10px}.result{padding:22px 28px}.result .big-symbol{font-size:32px;margin:0}.result #new-record{color:var(--orange);font-weight:bold;margin:0 0 10px}@media(max-width:650px){main{padding:12px}.tag{display:none}.brand img{width:45px;height:45px}.heading{margin:22px 0}.heading .heart{font-size:30px;margin-left:8px}.game-shell{border-radius:18px}.game-toolbar{padding:12px}.stats{gap:15px}.stats>div{gap:7px}.stats span{font-size:8px;max-width:64px}.stats strong{font-size:24px}.tools span{display:none}.tools button{padding:8px 11px}.playfield{aspect-ratio:3/4;margin:0 7px}.modal{padding:23px 16px;border-radius:18px}.welcome-logo{width:84px;height:84px}.modal .eyebrow{font-size:8px}.modal p:not(.eyebrow){font-size:12px}.modal h2{font-size:27px}.game-caption{padding:10px 14px;min-height:50px}.game-caption p{font-size:10px}.below-game{justify-content:center;text-align:center;padding:12px 0}.below-game>p:last-child,.keyboard,.divider{display:none}.below-game>p{font-size:0}.mobile-hint{display:block;font-size:11px}.dpad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,48px);gap:6px;justify-content:center;margin:0 0 18px;touch-action:none}.dpad button{background:#fffdf8;color:var(--green);border:1px solid #dedfd2;border-radius:13px;font-size:26px;touch-action:none;user-select:none}.dpad button:active{background:#f9d9ad}.dpad [data-dir=up]{grid-column:2}.dpad [data-dir=left]{grid-row:2;grid-column:1}.dpad [data-dir=down]{grid-row:2;grid-column:2}.dpad [data-dir=right]{grid-row:2;grid-column:3}footer{display:block;text-align:center;line-height:1.7}footer small{display:block;margin-top:5px}.participate{flex-wrap:wrap}.result{padding:18px 12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Marca em destaque e convite ao final da partida. */
.topbar{padding-bottom:15px;border-bottom:1px solid #eadfcd}.brand{gap:20px;font-size:18px;font-weight:650}.brand img{width:142px;height:142px;border-radius:25px;box-shadow:0 8px 25px #dd8c2530}.brand b{font-size:14px;margin-top:5px}.tag{font-size:13px;max-width:190px;line-height:1.6}.heading{margin:20px 0}.overlay{align-items:safe center}.modal{flex-shrink:0}.result{max-width:520px}.result h2{font-size:27px}.result>p:not(.eyebrow){margin-bottom:10px}.result .big-symbol{display:none}.signup-card{background:#f6efe1;border:1px solid #eddfc8;border-radius:15px;padding:17px;text-align:left;margin:14px 0}.signup-card h3{font-size:19px;line-height:1.2;margin:0}.signup-card .eyebrow{font-size:8px;margin-bottom:8px}.signup-card p:not(.eyebrow){font-size:12px;margin:8px 0 12px}.signup-card label:not(.signup-consent){display:block;font-size:11px;font-weight:600;margin-bottom:5px}.signup-card input[type=email]{width:100%;font:inherit;font-size:14px;background:#fffdf8;border:1px solid #d6c9b4;border-radius:9px;padding:12px}.signup-consent{display:flex;align-items:flex-start;gap:8px;margin:11px 0;color:#64715f;font-size:10px;line-height:1.5}.signup-consent input{margin-top:2px;accent-color:#d76b20;flex-shrink:0;width:16px;height:16px}.signup-card .primary{width:100%;font-size:12px;padding:12px}.signup-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.signup-card #signup-status:empty{display:none}.signup-card #signup-status{margin-bottom:0;color:#376c45;font-weight:600}.signup-card #signup-status.error{color:#a53d20}.replay{padding:11px 28px;color:var(--green);font-weight:600}.game-caption{min-height:94px;gap:9px;position:relative}.game-caption .live-dot{flex-shrink:0;margin:0}.game-caption p{max-width:55%}.level{font-size:10px;color:var(--green);font-weight:700;white-space:nowrap;margin-left:auto}.celebration-slot{position:relative;display:block;flex-shrink:0;width:112px;height:70px}.celebration-slot>span{display:flex;align-items:center;flex-direction:column;gap:4px;position:relative;z-index:1}.celebration-slot img{width:54px;height:54px;object-fit:contain;border-radius:11px;box-shadow:0 4px 10px #dd8c2520}.celebration-slot span span{font-size:9px;color:#b8631b;font-weight:bold;white-space:nowrap}#confetti{position:absolute;inset:-15px -15px;width:142px;height:100px;pointer-events:none}.logo-jump{animation:logo-jump .72s ease-in-out 4}@keyframes logo-jump{0%,100%{transform:translateY(0) rotate(-3deg)}40%{transform:translateY(-14px) rotate(5deg)}65%{transform:translateY(0) scale(1.05,.95)}}@media(max-width:650px){.brand img{width:110px;height:110px}.brand{font-size:16px;gap:16px}.brand b{font-size:12px}.topbar{justify-content:center}.game-caption{padding:8px 10px;gap:6px}.game-caption p{max-width:47%;font-size:10px}.celebration-slot{width:85px}.signup-card{padding:13px}.signup-card h3{font-size:18px}.result{padding:17px 12px}.result .participate{margin-top:8px}.result>p:not(.eyebrow){font-size:12px}.result .eyebrow{margin-bottom:7px}.result h2{margin-bottom:7px}}@media(prefers-reduced-motion:reduce){.logo-jump{animation:none}}
.site-return{font-size:12px;color:var(--green);text-decoration:none;border:1px solid #d8decc;border-radius:10px;padding:11px 14px}.site-return:hover{background:#edf0e3}@media(max-width:650px){.topbar{flex-wrap:wrap}.site-return{font-size:11px;padding:8px 12px}.brand{width:100%;justify-content:center}}
/* A comemoração aparece no centro da praça por dois segundos, sem capturar controles. */
.playfield>.celebration-slot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:280px;height:240px;pointer-events:none;z-index:1}
.playfield>.celebration-slot>span{height:100%;justify-content:center;gap:13px}
.playfield>.celebration-slot img{width:166px;height:166px;border-radius:24px;box-shadow:0 10px 40px #69401a40}
.playfield>.celebration-slot span span{font-size:17px;background:#fffaf0ed;border-radius:20px;padding:7px 16px;box-shadow:0 3px 14px #69401a20}
.playfield #confetti{inset:0;width:100%;height:100%}
.playfield .overlay{z-index:2}
.logo-jump{animation-duration:.5s;animation-iteration-count:4}
.game-caption{min-height:54px}.game-caption p{max-width:80%}
@media(max-width:650px){.playfield>.celebration-slot{width:240px;height:210px}.playfield>.celebration-slot img{width:140px;height:140px}.playfield>.celebration-slot span span{font-size:14px}.game-caption p{max-width:78%}}
