/* Shared PLAYROOM game art direction: bright flat cartoon, chunky ink outlines. */
:root{--game-ink:#102329;--game-mint:#95f5d8;--game-green:#16d9ad;--game-cream:#fff5d9;--game-yellow:#ffd55c;--game-coral:#ff947d;--game-line:4px solid var(--game-ink);--game-radius:16px;--game-shadow:0 5px 0 var(--game-ink)}
.game-shell{font-family:Arial,Helvetica,sans-serif;color:var(--game-ink)}
.game-header{background:var(--game-mint)}
.game-button{background:var(--game-yellow);color:var(--game-ink);border:var(--game-line);border-radius:12px;box-shadow:var(--game-shadow);font-weight:900;transition:transform .1s,box-shadow .1s}
.game-button:hover{background:#ffe28a;transform:translateY(-1px);box-shadow:0 6px 0 var(--game-ink)}
.game-button:active{transform:translateY(4px);box-shadow:0 1px 0 var(--game-ink)}
.game-target{border:var(--game-line);background:var(--sphere);box-shadow:inset -4px -5px 0 #10232924;border-radius:50%}
.game-shell button:focus-visible,.fast-click-card button:focus-visible{outline:3px solid #fff;outline-offset:5px;box-shadow:0 0 0 7px var(--game-ink)}
#fast-click-dialog.game-shell{border:5px solid var(--game-ink);border-radius:22px;background:var(--game-mint);box-shadow:9px 10px 0 #0005}
#fast-click-dialog::backdrop{background:#081a19bb;backdrop-filter:blur(5px)}
.game-shell .fc-header{border-bottom:var(--game-line);padding:17px 25px}
.game-shell .fc-kicker{color:var(--game-ink);font-weight:900;letter-spacing:1.1px}
.game-shell .fc-header h2{font-style:normal;font-size:30px;letter-spacing:-1.2px;font-weight:900;text-transform:uppercase}
.game-shell .fc-header h2 span{color:var(--game-ink)}
.game-shell .fc-header button{background:var(--game-coral);border:3px solid var(--game-ink);border-radius:10px;color:var(--game-ink);font-weight:900;box-shadow:0 3px 0 var(--game-ink)}
.game-shell .fc-header button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--game-ink)}
.game-shell .fc-arena{background:#000;border-bottom:var(--game-line)}
.game-shell .fc-hud{top:16px;left:19px;right:19px;align-items:flex-start}
.game-shell .fc-hud>span{background:var(--game-cream);border:3px solid var(--game-ink);color:var(--game-ink);font-weight:900;border-radius:10px;padding:9px 13px;font-size:16px;box-shadow:0 3px 0 #fff2}
.game-shell .fc-hud>div{background:var(--game-mint);border:3px solid var(--game-ink);border-radius:12px;padding:7px 13px 8px;min-width:137px;box-shadow:0 3px 0 #fff2}
.game-shell .fc-time-label{color:var(--game-ink);font-size:9px;font-weight:900;margin-bottom:2px;letter-spacing:1.5px}
.game-shell #fc-timer{color:var(--game-ink);font-size:29px;letter-spacing:-.7px}
.game-shell #fc-timer span{color:#375751}
.game-shell #fc-targets{top:100px}
.game-shell .fc-sphere{border:4px solid var(--game-ink);background:var(--sphere);box-shadow:inset -4px -5px 0 #10232926;outline:2px solid var(--sphere)}
.game-shell .fc-sphere:active{filter:none}
.game-shell .fc-overlay{inset:102px 24px 22px;background:var(--game-cream);border:4px solid var(--game-ink);border-radius:20px;max-width:640px;margin:0 auto;padding:15px 20px;box-shadow:5px 5px 0 #35554880}
.game-shell .fc-overlay h3{color:var(--game-ink);font-size:clamp(31px,4.5vw,56px);font-weight:900;letter-spacing:-1.7px;margin:12px 0;line-height:1.03}
.game-shell .fc-overlay h3 span{color:#007761}
.game-shell .fc-overlay>p:not(.fc-kicker){color:#35504b;line-height:1.5;font-size:14px;margin:0 0 12px}
.game-shell .fc-overlay>.fc-kicker{margin:0;font-size:10px;line-height:1.5}
.game-shell .fc-start{border:4px solid var(--game-ink);background:var(--game-yellow);border-radius:12px;color:var(--game-ink);font-weight:900;padding:12px 39px;min-width:180px;box-shadow:0 5px 0 var(--game-ink);text-transform:uppercase;letter-spacing:.4px;font-size:15px;flex-shrink:0}
.game-shell .fc-start:hover{background:#ffe48e}
.game-shell .fc-start:active{box-shadow:0 1px 0 var(--game-ink);transform:translateY(4px)}
.game-shell .fc-result{color:#087960;font-size:clamp(39px,6vw,68px);margin:0 0 10px;line-height:1;font-weight:900;letter-spacing:-2px}
.game-shell .fc-result span{color:#35504b;font-size:21px}
.game-shell #fc-save-status{max-width:460px;font-size:13px;margin-bottom:12px}
.game-shell .fc-bottom{padding:18px 23px;background:var(--game-mint)}
.game-shell .fc-best-label{color:#264d42;font-weight:900;letter-spacing:1px}
.game-shell #fc-best{color:var(--game-ink);font-weight:900}
.game-shell #fc-account-note{color:#264d42}
.game-shell .fc-bottom-actions button,.game-shell .fc-save-retry{background:var(--game-cream);border:3px solid var(--game-ink);border-radius:9px;box-shadow:0 3px 0 var(--game-ink);color:var(--game-ink);font-weight:800}
.game-shell .fc-bottom-actions button:hover,.game-shell .fc-save-retry:hover{background:var(--game-yellow)}
.game-shell .fc-save-retry{padding:6px 10px;margin-top:10px;font-size:12px}
.game-shell .fc-hint{color:#264d42;padding:0 23px 16px}
.fast-click-card{border:3px solid var(--game-ink);border-radius:14px;box-shadow:4px 4px 0 #0005;background:var(--game-cream)}
.fast-click-card .fast-click-art{background:var(--game-mint);color:var(--game-ink);border-bottom:4px solid var(--game-ink)}
.fast-click-card .card-number{color:#244d42;font-weight:900}
.fast-click-card .card-name-art{font-style:normal;font-weight:900;letter-spacing:-1.8px;line-height:.87}
.fast-click-card h3{color:var(--game-ink);font-weight:900}
.fast-click-card p{color:#35504b}
.fast-click-card .play-badge{color:#006a50;font-weight:900}
.fast-click-card .bookmark{border:2px solid var(--game-ink);background:var(--game-cream);color:var(--game-ink)}
.fast-click-card .bookmark.saved{background:var(--game-yellow);color:var(--game-ink)}
.fast-click-card .play-fast-click{border:3px solid var(--game-ink);background:var(--game-yellow);color:var(--game-ink);border-radius:8px;box-shadow:0 3px 0 var(--game-ink);font-weight:900;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;padding:9px}
.fast-click-card .play-fast-click:hover{background:#ffe48e}
.fast-click-card .play-fast-click:active{transform:translateY(2px);box-shadow:0 1px 0 var(--game-ink)}
@media(max-width:800px){.game-shell .fc-overlay{padding:12px 14px}.game-shell .fc-overlay h3{font-size:35px}.game-shell .fc-overlay>p:not(.fc-kicker){font-size:13px}.game-shell .fc-start{padding:10px 30px}.game-shell .fc-result{font-size:48px}}
@media(max-width:540px){#fast-click-dialog.game-shell{border:0;border-radius:0;box-shadow:none}.game-shell .fc-header{padding:13px 17px}.game-shell .fc-header h2{font-size:25px}.game-shell .fc-arena{min-height:400px}.game-shell .fc-hud{left:13px;right:13px;top:13px}.game-shell .fc-hud>div{min-width:126px;padding:6px 11px}.game-shell .fc-hud>span{padding:8px 11px}.game-shell #fc-timer{font-size:27px}.game-shell .fc-overlay{inset:98px 14px 19px;padding:16px 13px;border-radius:16px}.game-shell .fc-overlay h3{font-size:34px;letter-spacing:-1px}.game-shell .fc-overlay>.fc-kicker{font-size:9px;letter-spacing:.6px}.game-shell .fc-overlay>p:not(.fc-kicker){font-size:12px}.game-shell .fc-start{font-size:14px;padding:11px 24px}.game-shell .fc-bottom{padding:16px}.game-shell .fc-hint{padding:0 16px 14px}.game-shell .fc-result{font-size:45px}.game-shell #fc-save-status{font-size:12px}}
@media(prefers-reduced-motion:reduce){.game-button{transition:none}}
/* Keep the result and retry controls inside the card on short screens. */
.game-shell .fc-arena{min-height:460px}
.game-shell .fc-overlay:has(.fc-result:not([hidden])) h3{font-size:28px;letter-spacing:-.8px;margin:9px 0}
.game-shell .fc-overlay:has(.fc-result:not([hidden])) #fc-description{display:none}
@media(max-width:540px){.game-shell .fc-arena{min-height:450px}.game-shell .fc-overlay:has(.fc-result:not([hidden])) h3{font-size:25px}}
