/* Family game selection hub. Scoped so the game boards keep their own styling. */
#family-screen{position:relative;max-width:none;min-height:100dvh;padding:clamp(24px,4vw,48px) max(18px,calc((100vw - 1140px)/2)) 80px;overflow:hidden;background:radial-gradient(ellipse at 12% 12%,#2972a044,transparent 32%),radial-gradient(ellipse at 90% 44%,#8342a140,transparent 38%),linear-gradient(165deg,#091c37,#132144 52%,#131735);color:#fff}
#family-screen:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle,#defaffaa 0 1px,transparent 2px) 0 0/86px 96px,radial-gradient(circle,#b7d7ff77 0 1px,transparent 2px) 28px 34px/127px 151px;opacity:.4}
#family-screen>*{position:relative;z-index:1}
#family-screen .family-heading{display:flex;align-items:center;justify-content:space-between;min-height:210px;gap:30px;padding:0 18px 14px;text-align:left}
#family-screen .family-heading .home-kicker{font-size:13px;letter-spacing:.28em;color:#83eff4}
#family-screen .family-heading h1{margin:9px 0 6px;font-size:clamp(44px,6vw,76px);line-height:1;color:#f2fbff;letter-spacing:-.055em;text-shadow:0 4px #143e60,0 0 30px #4ce6f655}
#family-screen .family-heading p{margin:0;color:#c6dcf4;font-size:clamp(17px,2vw,22px);font-weight:750}
#family-screen .family-heading-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}
#family-screen .family-heading-pills span{padding:6px 11px;border:1px solid #9ddfff77;border-radius:100px;background:#37739545;color:#c9f8ff;font-size:12px;font-weight:850;letter-spacing:.02em}
.family-heading-art{position:relative;flex:none;width:230px;height:180px;border:1px solid #71d7ec88;border-radius:50%;background:radial-gradient(circle at 50% 50%,#4dbece50 0 20%,#1e609051 21% 22%,transparent 23% 52%,#6ac9e773 53% 54%,transparent 55%);box-shadow:inset 0 0 30px #61dbf822,0 0 38px #61dbf82b;transform:rotate(-14deg)}
.family-heading-art:before{content:'';position:absolute;inset:20px 43px;border:1px solid #aefcff99;border-radius:50%;transform:rotate(35deg)}
.family-orbit{position:absolute;display:grid;place-items:center;width:54px;height:54px;border:2px solid #d1faff;border-radius:18px;background:linear-gradient(145deg,#245e85,#102944);box-shadow:0 5px #08223c,0 0 15px #83f5ff88;color:#90f7ff;font-size:35px;font-weight:900;text-shadow:0 0 12px #66f4ff;animation:family-float 3.8s ease-in-out infinite alternate}
.family-orbit.orbit-one{left:4px;top:17px}.family-orbit.orbit-two{right:13px;top:2px;color:#ff9bd7;animation-delay:-1s}.family-orbit.orbit-three{left:53px;bottom:0;color:#ffd26f;animation-delay:-2s}.family-orbit.orbit-four{right:8px;bottom:15px;color:#fa829e;animation-delay:-.5s}
.family-heading-spark{position:absolute;top:47%;left:46%;color:#fff6ba;font-size:35px;text-shadow:0 0 15px #fff0aa;animation:family-twinkle 2.3s ease-in-out infinite alternate}
#family-screen .family-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:12px auto 0;max-width:1140px;align-items:stretch}
#family-screen .family-tiles>.game-tile{position:relative;display:flex;align-items:stretch;justify-content:flex-start;min-width:0;min-height:350px;padding:16px;border:1px solid #84c6dfaa;border-radius:27px;text-align:left;background:linear-gradient(160deg,#244665,#102640 48%,#102039);color:#f4faff;box-shadow:inset 0 1px #d6fbff88,0 8px 0 #08172e,0 20px 30px #0005;transition:transform .22s,box-shadow .22s}
#family-screen .family-tiles>.game-tile:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 50% 6%,var(--card-glow),transparent 55%);opacity:.85}
#family-screen .family-tiles>.tic-tile{--card-glow:#53d7ef4b;--card-accent:#7cf2fa}
#family-screen .family-tiles>.checkers-tile{--card-glow:#9d75db44;--card-accent:#d6b5ff}
#family-screen .family-tiles>.connect-tile{--card-glow:#f0b66b38;--card-accent:#ffdc8e}
#family-screen .family-tiles>.game-tile:hover{transform:translateY(-6px);box-shadow:inset 0 1px #d6fbff88,0 14px 0 #08172e,0 26px 38px #0008}
#family-screen .family-tiles>.game-tile:focus-visible,#family-screen .family-next:focus-visible{outline:3px solid #fff3a3;outline-offset:4px}
.family-card-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:8px;width:100%;color:#c2ddec;font-size:10px;font-weight:900;letter-spacing:.12em}
.family-card-top span:last-child{color:var(--card-accent);text-align:right}
.family-card-visual{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:162px;margin:8px 0 0;overflow:hidden;border:1px solid #b9e9ff55;border-radius:17px;background:radial-gradient(ellipse at 50% 48%,#306c8f66,#0a1c37 68%);box-shadow:inset 0 0 20px #06142688}
.family-card-visual svg{display:block;width:min(100%,205px);height:100%;filter:drop-shadow(0 0 10px #6eefff55)}
.tic-preview svg{filter:drop-shadow(0 0 8px #7cf8ff99)}
.checkers-preview{background:radial-gradient(ellipse at 50% 30%,#5664b966,#081a3b 70%)}
.family-mini-board{position:relative;width:166px;height:130px;border:3px solid #b6d8f2;border-radius:10px;transform:perspective(330px) rotateX(13deg) rotateZ(-8deg);background:repeating-conic-gradient(#8faac8 0 25%,#1b385e 0 50%) 0 0/41px 41px;box-shadow:0 9px 16px #000b,0 0 20px #9cc0ff66}
.family-mini-board img{position:absolute;width:42px;height:42px;filter:drop-shadow(0 3px 2px #000a)}
.family-mini-board img:nth-child(1){left:14px;bottom:5px}.family-mini-board img:nth-child(2){right:12px;top:4px;rotate:180deg}.family-mini-board img:nth-child(3){right:14px;bottom:18px}.family-mini-board img:nth-child(4){left:55px;top:5px;rotate:180deg}
.family-mini-stars{position:absolute;right:12px;top:8px;color:#f6e4ff;font-size:15px;text-shadow:0 0 10px #fff}
.connect-preview{background:radial-gradient(ellipse at 50% 35%,#467dd97a,#102447 72%)}
.family-card-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start;width:100%;padding:2px 4px 0}
#family-screen .family-card-copy strong{margin:7px 0 0;font-size:clamp(21px,2.3vw,28px);line-height:1.1;color:#fff}
#family-screen .family-card-copy small{margin:6px 0 13px;color:#c4dbed;font-size:13px;line-height:1.35}
.family-card-play{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:11px;border-top:1px solid #b2e8ff44;color:var(--card-accent);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.family-card-play b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--card-accent);color:#102940;font-size:18px}
#family-screen .family-next{grid-column:1/-1;display:flex;align-items:center;gap:13px;min-height:68px;padding:12px 18px;border:1px solid #8cafdc77;border-radius:18px;background:linear-gradient(100deg,#253c60bf,#27325bbf);box-shadow:inset 0 1px #c8e8ff66;color:#eaf5ff;text-align:left}
.family-next-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:#aa87e4;color:#fff6c2;font-size:22px;box-shadow:inset 0 1px #fff8,0 3px #51487c}
.family-next strong,.family-next small{display:block}.family-next strong{font-size:15px}.family-next small{margin-top:2px;color:#c4d5eb;font-size:12px}
.family-next-arrow{margin-left:auto;color:#c8deff;font-size:22px}
.family-next.playful .family-next-icon{animation:tile-wiggle .55s ease}
@keyframes family-float{to{translate:0 -8px;rotate:5deg}}
@keyframes family-twinkle{to{opacity:.35;scale:.75}}
@media(max-width:760px){#family-screen{padding:24px 13px 56px}#family-screen .family-heading{min-height:160px;gap:6px;padding:4px 5px 10px}#family-screen .family-heading h1{font-size:clamp(40px,11vw,54px)}#family-screen .family-heading p{font-size:15px;line-height:1.3}#family-screen .family-heading-pills{gap:5px;margin-top:12px}#family-screen .family-heading-pills span{font-size:10px;padding:5px 7px}.family-heading-art{width:105px;height:105px;margin-right:0}.family-heading-art:before{inset:13px 21px}.family-orbit{width:28px;height:28px;border-radius:9px;font-size:19px}.family-orbit.orbit-one{left:0;top:8px}.family-orbit.orbit-two{right:4px;top:0}.family-orbit.orbit-three{left:25px;bottom:0}.family-orbit.orbit-four{right:0;bottom:10px}.family-heading-spark{font-size:21px}#family-screen .family-tiles{grid-template-columns:1fr;gap:13px;margin-top:12px}#family-screen .family-tiles>.game-tile{display:grid;grid-template-columns:125px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:151px;padding:10px 12px;gap:5px 12px;border-radius:21px}.family-card-top{grid-column:1/-1;font-size:9px}.family-card-visual{grid-column:1;grid-row:2;height:102px;margin:0;border-radius:13px}.family-card-visual svg{width:100%}.family-mini-board{width:95px;height:78px;background-size:24px 24px}.family-mini-board img{width:26px;height:26px}.family-mini-board img:nth-child(1){left:7px;bottom:2px}.family-mini-board img:nth-child(2){right:6px;top:1px}.family-mini-board img:nth-child(3){right:7px;bottom:9px}.family-mini-board img:nth-child(4){left:32px;top:2px}.family-mini-stars{font-size:9px;right:4px;top:3px}.family-card-copy{grid-column:2;grid-row:2;padding:0}#family-screen .family-card-copy strong{font-size:20px;margin:1px 0 0}#family-screen .family-card-copy small{font-size:12px;margin:4px 0 5px}.family-card-play{font-size:10px;padding-top:6px;letter-spacing:.04em}.family-card-play b{width:23px;height:23px;font-size:15px}#family-screen .family-next{min-height:58px;padding:8px 12px}.family-next-icon{width:32px;height:32px;font-size:18px}}
@media(max-width:390px){#family-screen .family-heading-pills span:last-child{display:none}#family-screen .family-tiles>.game-tile{grid-template-columns:108px minmax(0,1fr);gap:4px 9px}.family-card-visual{height:94px}#family-screen .family-card-copy strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.family-orbit,.family-heading-spark,.family-next.playful .family-next-icon{animation:none}#family-screen .family-tiles>.game-tile{transition:none}}
