/* One light portal identity, including account and help pages. */
:root { color-scheme:light; }
body { background:linear-gradient(180deg,#f3f9f6 0,white 560px); }
.site-header { background:#fff; max-width:none; padding-inline:max(16px,calc((100vw - 1208px)/2)); }
.site-nav { gap:4px 10px; }
.site-nav a { padding:6px 9px; }
.btn { gap:.4em; display:inline-flex; align-items:center; justify-content:center; min-height:44px; font-weight:600; transition:background-color .15s,border-color .15s; }
.btn:active { transform:translateY(1px); }
:focus-visible { outline:3px solid #286baf; outline-offset:3px; }
[hidden] { display:none!important; }
[data-category=job-simulators] { --game-accent:#267254; }
[data-category=racing] { --game-accent:#2465aa; }
[data-category=puzzles] { --game-accent:#8b4ca1; }
[data-category=card-games] { --game-accent:#a86418; }
[data-category=combat] { --game-accent:#ab4552; }
.back-link { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; font-weight:600; }
.game { grid-template-areas:'heading heading' 'media action' 'info action'; gap:24px; margin-top:8px; }
.game-heading { grid-area:heading; border-left:5px solid var(--game-accent,var(--cta)); padding-left:20px; }
.game-heading h1 { font-size:clamp(1.8rem,3.6vw,3rem); margin-bottom:8px; }
.game-heading p { margin:0; max-width:760px; }
.game-media { grid-area:media; min-width:0; }
.game-cta { grid-area:action; border:1px solid var(--border); }
.game-info { grid-area:info; min-width:0; }
.shots { grid-template-columns:repeat(3,minmax(0,1fr)); }
.shots img { width:100%; height:auto; aspect-ratio:16/9; }
.shots a { display:block; min-height:44px; }
.save-hint, .game-save-status { font-size:.88rem; color:var(--muted); }
.first-minute { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(120px,1fr); gap:20px; align-items:center; margin-bottom:24px; }
.first-minute h2 { font-size:1.25rem; }
.first-minute img { width:100%; height:auto; border-radius:12px; }
.family-facts { border:1px solid var(--border); border-radius:16px; padding:22px; background:var(--surface); margin-block:24px; }
.family-facts h2 { font-size:1.35rem; }
.guide-directory { border-block:1px solid var(--border); margin:24px 0; }
.guide-directory summary { min-height:48px; padding:14px 0; font-weight:600; cursor:pointer; }
.family-strip { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:28px; border:1px solid #c8dfd4; border-radius:20px; background:#eef7f2; margin:40px 0 24px; }
.family-strip > div { max-width:700px; }
.family-strip p { margin-bottom:12px; }
.parents-page { max-width:1080px; margin:32px auto; }
.parent-heading { max-width:780px; }
.parent-topics { display:flex; flex-wrap:wrap; gap:8px 20px; margin:24px 0; border-block:1px solid var(--border); }
.parent-topics a { display:inline-flex; align-items:center; min-height:48px; }
.parents-page section { margin-block:36px; scroll-margin-top:20px; }
.parent-game-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); gap:16px; }
.parent-game { padding:20px; border:1px solid var(--border); border-top:4px solid var(--game-accent,var(--cta)); border-radius:12px; background:white; }
.parent-game h3 { font-size:1.15rem; }
.parent-game .controls li { background:var(--surface); }
.billing-explanation { padding:20px; text-align:left; border:1px solid var(--border); border-radius:12px; }
.plan-best { border-color:var(--border); }
.recent-games { margin-block:32px; }
.recent-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:16px; }
.recent-card { padding:12px; border:1px solid var(--border); border-radius:14px; background:white; }
.recent-card img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:8px; }
.recent-card h3 { font-size:1.1rem; margin:12px 0; }
.recent-card h3 a { text-decoration:none; }
.family-library-help { max-width:800px; }
@media(max-width:900px) {
 .game { grid-template-columns:minmax(0,1fr); grid-template-areas:'heading' 'action' 'media' 'info'; gap:16px; }
 .game-cta { position:static; padding:16px; }
 .game-cta .btn { width:100%; margin-bottom:6px; }
 .game-cta p { margin:8px 0; }
 .game-cta .save-hint { margin-top:12px; }
 .game-cta .guide-link { min-height:44px; }
}
@media(max-width:600px) {
 .site-header { padding:12px 16px; gap:8px; }
 .site-nav { justify-content:center; gap:4px 8px; }
 .first-minute { grid-template-columns:1fr; }
 .first-minute img { max-height:160px; object-fit:cover; }
 .family-strip, .family-facts { padding:18px; }
 .game-heading { padding-left:12px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

.newsletter input[type=email], .auth input { min-width:0; max-width:100%; }
