.game-card{border-radius:26px;overflow:hidden;border:1px solid #e3e5d8;box-shadow:0 8px 24px #58614508;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #58614513}.game-cover{position:relative;background-image:radial-gradient(circle at 20% 20%,#fff7 0 30px,transparent 31px),radial-gradient(circle at 90% 80%,#fff5 0 64px,transparent 65px)!important}.game-tag{border:1px solid #fff8;backdrop-filter:blur(8px)}.game-copy h2{font-size:25px}.game-copy p{min-height:52px}.game-bottom button{border-radius:12px;padding:12px 22px}.modal.game-modal{max-width:650px;background:#fcfbf5;border:1px solid #fff;border-radius:28px}.game-meta{padding:14px 18px;background:#edf1e6;border-radius:16px;margin:16px 0;font-weight:700;gap:12px}.game-canvas{border:5px solid #fff;border-radius:23px;box-shadow:0 9px 24px #38463215;max-height:53dvh;object-fit:contain;background:#ecefe3;touch-action:manipulation}.game-action{width:100%;min-height:48px;margin-top:14px;font-size:16px}.arcade-pause{width:100%;margin-top:8px;padding:12px;border-radius:12px}.game-start-art{max-width:240px;margin:auto}.game-result{padding:16px 0}.memory-board{gap:12px;padding:12px;background:#eee6ed;border-radius:22px}.memory-board button{border-radius:16px;border:3px solid #fff9;min-height:74px;box-shadow:0 4px 0 #bca4bf55;background:linear-gradient(145deg,#d2b9cf,#b9a7c3);color:#fff;font-size:35px;transition:transform .25s,background .25s}.memory-board button:active{transform:scale(.93)}.memory-board button.matched{background:#e2ebcb;color:#536b48;opacity:1;box-shadow:none;transform:scale(.94)}.lights-board{padding:16px;background:#293e38;border-radius:25px;gap:14px}.lights-board button{border:4px solid #ffffff50;border-radius:25px;box-shadow:inset 0 -8px #0001;min-height:110px;transition:filter .15s,transform .15s}.lights-board button.lit{filter:brightness(1.45);transform:scale(1.05);box-shadow:0 0 25px #fff8}.harvest-field{position:relative;height:320px;overflow:hidden;border-radius:24px;background:radial-gradient(ellipse at 15% 100%,#8ead78 0 20%,transparent 21%),radial-gradient(ellipse at 85% 100%,#a1bc83 0 30%,transparent 31%),linear-gradient(#e1edd7 0 72%,#c1ce95 73%);border:5px solid white;box-shadow:0 8px 20px #39472c13}.harvest-sun{position:absolute;right:20px;top:8px;font-size:49px;color:#d5ae59}.harvest-basket{position:absolute;bottom:3px;left:42%;font-size:66px}.harvest-field .fruit{position:absolute;width:65px;height:65px;padding:0;border-radius:50%;font-size:43px;background:#fff9;box-shadow:0 5px 0 #76815628;border:2px solid #fff;animation:fruit-appear .25s ease-out;touch-action:manipulation}.harvest-field .fruit-fading{opacity:.5;transform:scale(.9)}.fruit-pop{position:absolute;font-weight:800;color:#506c39;pointer-events:none;animation:fruit-pop .7s forwards}.harvest-clock{height:8px;background:#e0e6d4;border-radius:20px;overflow:hidden;margin-top:14px}.harvest-clock i{display:block;height:100%;width:100%;background:#92aa73;transition:width .1s linear}@keyframes fruit-pop{to{transform:translateY(-40px);opacity:0}}@keyframes fruit-appear{from{transform:scale(.2)}to{transform:scale(1)}}.sport-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-right:30px}.sport-heading h2{margin-bottom:2px}.sport-heading .eyebrow{font-size:9px}.sport-scoreboard{display:flex;justify-content:space-between;align-items:center;background:#edf0e4;padding:10px 24px;border-radius:18px;margin:15px 0}.sport-scoreboard div{text-align:center;min-width:65px}.sport-scoreboard span{display:block;font-size:10px;letter-spacing:1.4px;font-weight:700;color:#7c8b75}.sport-scoreboard strong{font-family:Outfit,system-ui;font-size:34px;line-height:1.2}.sport-scoreboard p{font-size:12px;text-align:center}.sport-arena{position:relative;max-width:370px;margin:0 auto;border-radius:22px;overflow:hidden;border:5px solid #fff;box-shadow:0 7px 24px #30452f18}.sport-arena canvas{display:block;width:100%;height:auto;max-height:49dvh;object-fit:contain;background:#d9e3ca;touch-action:none}.sport-message{min-height:24px;text-align:center;font-size:14px!important;color:#57694d!important;margin:12px 0!important}.sport-instruction{font-size:12px;line-height:1.6;margin-top:12px}.bowling-sliders{display:flex;gap:18px}.bowling-sliders label{flex:1;font-size:12px;font-weight:700}.bowling-sliders input{display:block;width:100%;accent-color:#9581b5;height:32px}.tennis-controls{display:flex;gap:10px}.tennis-controls button{min-height:48px;touch-action:none}.tennis-controls .primary{flex:1}.tennis-controls .secondary{min-width:64px;font-size:24px}#sport-pause-cover{position:absolute;inset:0;background:#f7f5edee;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:2}#sport-pause-cover[hidden]{display:none}#sport-pause-cover strong{font-size:28px}.sport-result{text-align:center;padding:20px 0}.sport-result .eyebrow{display:block}.sport-trophy{display:block;font-size:70px;margin-bottom:20px}.sport-result p b{font-size:28px}.sport-result .modal-row{justify-content:center;margin-top:20px}.google-reward-prompt{position:fixed;inset:0;z-index:200;background:#29382c99;display:grid;place-items:center;padding:20px}.google-reward-prompt section{max-width:420px;background:#fffdf5;padding:28px;border-radius:24px;text-align:center}.google-reward-prompt button{margin:8px;min-height:44px}@media(max-width:600px){.modal.game-modal{padding:22px 16px;max-height:94dvh}.sport-heading h2{font-size:22px}.sport-scoreboard{padding:8px 15px;margin:12px 0}.sport-arena canvas{max-height:43dvh}.game-copy h2{font-size:23px}.memory-board{gap:8px}.memory-board button{min-height:60px}.harvest-field{height:290px}.sport-instruction{font-size:11px}}@media(prefers-reduced-motion:reduce){.game-card,.memory-board button,.lights-board button{transition:none}.fruit-pop,.harvest-field .fruit{animation:none}}
.sport-arena{max-width:min(370px,37dvh)}.sport-arena canvas{max-height:none}@media(max-width:600px){.sport-arena{max-width:min(370px,33dvh)}.sport-arena canvas{max-height:none}}
@media(max-height:760px){.modal:has(.sport-heading){padding:20px 24px}.sport-arena{max-width:min(320px,29dvh)}.sport-scoreboard{margin:8px 0;padding:6px 20px}.sport-heading h2{font-size:24px}.sport-message{margin:8px 0!important}.sport-instruction{margin:8px 0 0;font-size:11px}.bowling-sliders input{height:24px}}
