/* Large picture targets keep each adventure playable before children can read. */
.arcade-picker{text-align:center;padding:3px 0 8px}.arcade-picker h2{margin:0 0 16px;font-size:57px;line-height:1.2}.arcade-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:750px;margin:auto}.arcade-level{position:relative;min-height:100px;border:2px solid #e0d6ab;background:linear-gradient(#fff5d5,#eddfb0);border-radius:21px;color:#2c655b;box-shadow:0 5px 0 #baa57944;display:flex;align-items:center;justify-content:center;gap:10px}.arcade-level b{font-size:35px}.arcade-level>span{font-size:24px}.arcade-level.completed{background:#daedd0;border-color:#9cc495}.arcade-level.locked{background:#e9e5d8;border-color:#d9d3c3;opacity:.48}.arcade-heroes{display:flex;gap:16px;justify-content:center}.arcade-hero-choice{border:2px solid color-mix(in srgb,var(--hero-color),white 20%);border-radius:24px;background:linear-gradient(#ffffffc9,color-mix(in srgb,var(--hero-color),white 87%));min-width:100px;width:16%;height:210px;padding:10px;box-shadow:0 6px 0 #203b3b13;color:var(--hero-color);display:flex;align-items:center;flex-direction:column;justify-content:center}.arcade-hero-choice small{font-size:13px;font-weight:bold;margin-top:22px}.hero-doll{position:relative;display:block;width:52px;height:84px;border-radius:18px 18px 14px 14px;background:var(--hero-color);box-shadow:inset -8px 0 0 #0002,0 5px 0 #0002}.hero-doll:before{content:'';position:absolute;width:36px;height:34px;left:8px;top:-25px;background:#edc395;border-radius:15px;box-shadow:inset 0 10px var(--hero-color),0 3px 0 #0002}.hero-doll:after{content:'';position:absolute;left:-21px;top:0;width:93px;height:92px;z-index:-1;background:var(--hero-color);opacity:.5;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}.hero-doll i:before,.hero-doll i:after{content:'';position:absolute;bottom:-28px;width:17px;height:40px;background:var(--hero-color);border-radius:0 0 7px 7px;box-shadow:inset -4px 0 #0002}.hero-doll i:before{left:4px;rotate:6deg}.hero-doll i:after{right:4px;rotate:-6deg}.hero-doll b{font-size:26px;display:grid;place-items:center;height:70px;color:#fff8da}.arcade-hero-choice:hover .hero-doll{animation:arcade-hero-hover .8s ease-in-out infinite}.arcade-target{--target-color:#75a79a;position:absolute;width:9.5%;height:16%;min-width:62px;min-height:69px;transform:translate(-50%,-50%);z-index:29;border:0;background:transparent;padding:0;border-radius:40%;display:grid;place-items:center;isolation:isolate;filter:drop-shadow(0 6px 4px #26382c33);animation:arcade-target-bob 2.6s ease-in-out infinite;animation-delay:var(--phase)}.arcade-word{position:relative;display:grid;place-items:center;background:#fffcf0f5;border:3px solid var(--target-color);border-radius:22px;box-shadow:0 4px 0 color-mix(in srgb,var(--target-color),#213b3b 25%);width:76%;height:74%;font-family:var(--font);font-size:clamp(24px,4.3vw,65px);font-weight:bold;color:var(--target-color);line-height:1;z-index:2;pointer-events:none}.arcade-target-carrier{position:absolute;font-size:clamp(28px,5.4vw,78px);top:-38%;right:-15%;rotate:10deg;z-index:1;pointer-events:none}.arcade-hero .arcade-target-carrier,.arcade-duo .arcade-target-carrier{top:-29%;right:-20%;font-size:clamp(24px,4.3vw,62px);rotate:8deg}.arcade-target:before{content:'';position:absolute;width:112%;height:45%;bottom:0;border-radius:25px;background:linear-gradient(135deg,#a8bd91,#4e6c49);border:2px solid #e3e6c8;z-index:0;box-shadow:0 4px 0 #2e4b3e99}.arcade-target:after{content:'';position:absolute;width:30%;height:30%;bottom:-5%;background:#3d594b;left:8%;border-radius:8px;box-shadow:4.5vw 0 #3d594b;z-index:0}.arcade-hero:before,.arcade-duo:before{background:linear-gradient(135deg,#d3d9df,#7496a3);border-color:#f5f2d7}.arcade-hero:after,.arcade-duo:after{background:#56737f;box-shadow:4.5vw 0 #56737f}.arcade-heli:before{clip-path:polygon(0 45%,14% 45%,14% 0,85% 0,85% 45%,100% 45%,100% 100%,0 100%)}.arcade-hits{position:absolute;top:87%;font-size:11px;letter-spacing:3px;color:#fff9ce;text-shadow:0 1px 3px #31483c;z-index:4;pointer-events:none}.arcade-target-name{position:absolute;top:110%;font-size:10px;white-space:nowrap;font-weight:bold;color:#214e45;background:#fff9e7eb;border-radius:10px;padding:3px 8px;opacity:0;pointer-events:none}.arcade-target:hover .arcade-target-name,.arcade-target:focus-visible .arcade-target-name{opacity:1}.arcade-target:hover .arcade-word{scale:1.07;background:#fff8cb}.arcade-target.waiting{filter:grayscale(.7) drop-shadow(0 3px 3px #26382c55);opacity:.7}.arcade-target.waiting .arcade-hits{display:none}.arcade-police .arcade-target-carrier{top:-15%;right:-18%;font-size:clamp(18px,2.8vw,38px);z-index:3}.arcade-police:before,.arcade-police:after{display:none}.arcade-police .arcade-word{border-radius:50%;box-shadow:0 4px 0 #4c8ca950}.arcade-police.suspect{width:13%;height:17%;animation:arcade-car-cruise 2s ease-in-out infinite}.arcade-police.suspect .arcade-word{border:0;background:transparent;box-shadow:none;font-size:clamp(48px,7.6vw,112px)}.arcade-police.suspect .arcade-target-carrier{display:none}.arcade-police.suspect .arcade-hits{top:98%}.arcade-check{position:absolute;display:none;font-size:45px;color:#fffce0;text-shadow:0 3px 4px #416b4d;z-index:6}.arcade-target.cleared{pointer-events:none!important;opacity:.3;filter:none;animation:none}.arcade-target.cleared .arcade-check{display:block}.arcade-target.cleared .arcade-target-carrier{display:none}.arcade-target.cleared .arcade-word{scale:.7;filter:grayscale(.5)}.arcade-impacted:not(.cleared) .arcade-word{animation:arcade-impact .25s ease-out}.arcade-catch-me .arcade-word{filter:drop-shadow(0 0 9px #ffdd68)}.arcade-control{border:1px solid #c5d8c6;background:#edf3dd;border-radius:17px;min-width:53px;min-height:48px;font-size:29px;box-shadow:0 3px 0 #b3c5a855;color:#236d60}.arcade-control[aria-pressed="true"]{background:linear-gradient(100deg,#fe847a,#8bbaf3);animation:arcade-siren .7s steps(2) infinite}.arcade-control.rifle{outline:3px solid #edc66d;transform:scaleX(1.12)}.arcade-exit{background:#ffedd2}.arcade-room-shortcuts{display:flex;align-items:center;gap:7px;flex:1}.arcade-room-button{position:relative;background:#e8eedc;border:2px solid transparent;border-radius:14px;padding:4px 12px;min-width:48px;min-height:48px}.arcade-room-button>span{font-size:28px}.arcade-room-button>small{position:absolute;bottom:-3px;right:-1px;background:#fff6d8;border-radius:10px;color:#397162;padding:1px 5px;min-width:17px;font-size:10px;font-weight:bold;border:1px solid #d1dcbf}.arcade-room-button.current{border-color:#579f8c;background:#d6e9ca}.arcade-room-button.finished{opacity:.55}.arcade-progress-dots{font-size:21px;color:#3b7a68;margin-top:8px}.arcade-room-guide{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);z-index:35;border:2px solid #fff3c3;background:#fff9e6ed;border-radius:32px;padding:16px 30px;display:flex;align-items:center;gap:25px;box-shadow:0 7px 30px #1b3d3344;animation:arcade-guide 1.3s ease-in-out infinite;color:#39836f}.arcade-room-guide span{font-size:43px}.arcade-room-guide b{font-size:54px}.arcade-room-guide i{font-size:43px;font-style:normal}.arcade-celebration{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:38;pointer-events:none;display:flex;align-items:center;gap:25px;color:#fff9d5;filter:drop-shadow(0 4px 5px #23443288);animation:arcade-win .5s cubic-bezier(.2,1.4,.5,1)}.arcade-celebration>span{font-size:110px}.arcade-celebration>b{font-size:44px;text-shadow:0 3px 0 #32785b}.arcade-world:before{content:'';position:absolute;inset:0;border:15px solid #d9c38810;pointer-events:none;z-index:23}.arcade-world[data-arcade-kind="heli"]:before{border-color:#91b47115}.arcade-world[data-arcade-kind="hero"]:before{border-color:#b7a0ee14}.arcade-world[data-arcade-kind="police"]:before{border-color:#5b9adc14}
.hero-doll.hero-sprite{width:100%;height:135px;background-image:url('assets/supereroi.png');background-size:500% 100%;background-repeat:no-repeat;background-position:calc(var(--hero-index)*25%) center;background-color:transparent;border-radius:0;box-shadow:none}.hero-doll.hero-sprite:before,.hero-doll.hero-sprite:after{display:none}.hero-doll.hero-sprite b{position:absolute;right:0;bottom:0;height:32px;width:32px;font-size:21px;border-radius:50%;background:var(--hero-color);box-shadow:0 2px 3px #0003}
/* A target's button follows the same simulation coordinates as each dart.
   Decorative motion stays inside the hit area, so aiming never drifts. */
.arcade-target,.arcade-police.suspect{animation:none;translate:none;rotate:none;cursor:crosshair;touch-action:manipulation;transition:opacity .24s ease,filter .2s ease}
.arcade-target .arcade-target-carrier{rotate:calc(var(--patrol-direction,1)*5deg);transition:rotate .25s ease}
.arcade-target .arcade-target-carrier.carrier-art{top:-48%;right:-24%;width:119%;height:153%;font-size:0;filter:drop-shadow(0 4px 2px #26382c22)}
.arcade-target .carrier-art img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.arcade-heli:before,.arcade-heli:after,.arcade-hero:before,.arcade-hero:after,.arcade-duo:before,.arcade-duo:after{display:none}
.arcade-target.waiting{cursor:pointer}
.arcade-target .arcade-word{transition:background-color .18s ease,scale .18s ease}
.arcade-target:hover .arcade-word{scale:1.035;background:#fffcdf}
.arcade-aim-ring{position:absolute;inset:-6% -9%;border-radius:27%;border:2px solid #fff6c5;box-shadow:0 0 0 2px #377d7599;opacity:0;transition:opacity .18s ease;pointer-events:none;z-index:5;background:linear-gradient(#fff6c5,#fff6c5) center top/2px 11px no-repeat,linear-gradient(#fff6c5,#fff6c5) center bottom/2px 11px no-repeat,linear-gradient(#fff6c5,#fff6c5) left center/11px 2px no-repeat,linear-gradient(#fff6c5,#fff6c5) right center/11px 2px no-repeat}
.arcade-target:hover .arcade-aim-ring,.arcade-target:focus-visible .arcade-aim-ring{opacity:1}
.arcade-target.selected .arcade-aim-ring{opacity:.65}
.arcade-target.waiting .arcade-aim-ring,.arcade-target.cleared .arcade-aim-ring{display:none}
.arcade-target:focus-visible{outline:3px solid #fff9d5;outline-offset:8px}
.arcade-aim-marker{position:absolute;z-index:27;width:32px;height:32px;transform:translate(-50%,-50%);border:2px solid #fff6d0cc;border-radius:50%;box-shadow:0 0 0 2px #427d7477;pointer-events:none;background:linear-gradient(#fff7d0,#fff7d0) center/2px 9px no-repeat,linear-gradient(#fff7d0,#fff7d0) center/9px 2px no-repeat}
.weapon-control{position:relative;padding-right:18px}.weapon-mode{display:block;position:absolute;bottom:1px;left:0;width:100%;font-size:13px;line-height:1;color:#467568;letter-spacing:2px}
.weapon-control.rifle{transform:none;background:#ffedb8;outline:2px solid #d6b66b}
.weapon-control[aria-pressed="true"]{animation:none;filter:none}
@keyframes arcade-target-bob{50%{translate:0 -5px;rotate:2deg}}@keyframes arcade-car-cruise{50%{translate:12px 0;rotate:-1deg}}@keyframes arcade-impact{40%{scale:1.2;rotate:8deg}100%{scale:1;rotate:0deg}}@keyframes arcade-siren{50%{filter:hue-rotate(160deg)}}@keyframes arcade-win{from{scale:.3;opacity:.3}to{scale:1;opacity:1}}@keyframes arcade-guide{50%{margin-left:8px}}@keyframes arcade-hero-hover{50%{translate:0 -10px}}
@media(max-width:750px){.arcade-target{min-width:47px;min-height:56px}.arcade-control{min-width:40px;min-height:40px;font-size:23px;padding:3px}.arcade-room-button{min-width:35px;min-height:40px;padding:3px 7px}.arcade-room-button>span{font-size:23px}.arcade-room-shortcuts{gap:3px}.arcade-heroes{gap:8px}.arcade-hero-choice{min-width:0;height:170px;width:19%;padding:3px}.arcade-hero-choice small{font-size:10px}.hero-doll{scale:.8}.arcade-levels{gap:8px}.arcade-level{min-height:75px;border-radius:16px;gap:5px}.arcade-level b{font-size:28px}.arcade-level>span{font-size:19px}.arcade-target-name{font-size:8px}.arcade-hits{font-size:8px}.arcade-progress-dots{font-size:17px}}@media(max-height:500px){.arcade-picker h2{font-size:38px;margin-bottom:9px}.arcade-level{min-height:65px}.arcade-hero-choice{height:155px}.hero-doll{scale:.75}.arcade-target{min-height:43px;min-width:42px}.arcade-target-carrier{font-size:32px}.arcade-control{min-height:37px;min-width:40px;font-size:24px}.arcade-room-button{min-height:37px}.arcade-room-button>span{font-size:24px}.arcade-levels{gap:8px}}@media(prefers-reduced-motion:reduce){.arcade-target,.arcade-police.suspect,.arcade-control,.arcade-room-guide,.arcade-celebration{animation:none!important}}
