/* Home introduces the platform; Games keeps the complete searchable catalogue. */
.home-page main{max-width:1320px;margin-inline:auto;padding:0 24px}
.home-page [hidden]{display:none!important}
.home-page:not(.home-games-view) #library{display:none}
.home-page.home-games-view [data-home-only]{display:none!important}
.home-page .home-hero.hero{min-height:0;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:34px;padding:34px;margin:8px 0 32px}
.home-page .home-hero .hero-copy{padding:0;max-width:none}
.home-page .home-hero h1{font-size:clamp(36px,4.1vw,54px);line-height:1.06;margin:12px 0 18px}
.home-page .home-hero .hero-copy>p:not(.eyebrow){max-width:46ch;font-size:17px;line-height:1.55}
.home-page .home-hero .hero-copy>p.hero-reassurance{font-size:14px;color:#b8d2df;margin:14px 0 0}
.hero-curriculum{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin:4px 0 0;max-width:100%;font-size:13px;line-height:1.4}
.hero-curriculum>span{flex-basis:100%;color:#b8d2df;font-size:12px}
.hero-curriculum a{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:#8becd9;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.hero-curriculum a:hover{color:#cafff1}
.hero-curriculum a:focus-visible{outline:3px solid var(--mint);outline-offset:3px;border-radius:3px}
.home-activities{margin-top:24px;min-width:0}
.home-path-heading{font-size:18px;line-height:1.4;font-weight:650;letter-spacing:0;margin:0 0 12px;color:#eff8ff}
.home-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.home-path{--path-accent:#78e7cf;display:flex;flex-direction:column;min-width:0;border:1px solid #416677;border-radius:16px;background:#153446;color:#f0fbfa;text-decoration:none;overflow-wrap:anywhere;box-shadow:0 3px 12px #020d161a}
.home-path--labs{--path-accent:#ffd582}
.home-path--create{--path-accent:#d4b9ff}
.home-path-art{display:block;flex-shrink:0;aspect-ratio:320/190;margin:9px 9px 0;border-radius:10px;overflow:hidden;background:#0c2638}
.home-path-art img{display:block;width:100%;height:100%;object-fit:cover}
.home-path-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:13px 13px 16px}
.home-path strong{font-size:22px;line-height:1.2;color:#f0fbfa}
.home-path-description{display:block;font-size:16px;line-height:1.4;color:#cbdfe9}
.home-path-action{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:5px;color:var(--path-accent);font-size:15px;line-height:1.4;font-weight:750}
.home-path:hover{border-color:var(--path-accent);background:#1b4052}
.home-path:active{background:#21495a}
.home-path:focus-visible,.home-lab-card:focus-visible,.home-making a:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .home-path{transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease}
 .home-path:hover{transform:translateY(-2px)}
}
/* The desktop hero has a narrow copy column on tablets. Keep every choice readable. */
@media(min-width:701px) and (max-width:1100px){
 .home-paths{grid-template-columns:minmax(0,1fr);gap:10px}
 .home-path{flex-direction:row-reverse;align-items:center;gap:8px;padding:12px}
 .home-path-art{flex:0 0 92px;width:92px;margin:0;aspect-ratio:1}
 .home-path-copy{padding:0;gap:5px}
 .home-path strong{font-size:22px}
 .home-path-action{padding-top:2px}
}
.home-page .home-hero .showcase-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.home-page .home-hero .showcase-card--featured .showcase-art{aspect-ratio:16/8.5;min-height:0}
.home-page .home-hero .showcase-card--featured .showcase-caption{padding:15px 17px}
.home-page .home-hero .showcase-card--featured .showcase-title{font-size:23px}
.home-page .home-hero .showcase-card--featured .showcase-hook{font-size:13px;line-height:1.45}
.home-page .home-hero .hero-crew{margin-top:10px;min-height:44px}
.home-game-discovery,.home-lab-discoveries,.home-making,.home-continue{margin:0 0 34px}
.home-game-discovery>.featured{padding:0}
.home-game-discovery .section-heading{margin-bottom:18px}
.home-game-discovery .section-heading h2{font-size:28px}
.home-game-discovery .library-pick{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid #416677;border-radius:10px;background:#17394a;color:var(--mint);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.home-game-discovery .library-pick:focus-visible{outline:3px solid var(--mint);outline-offset:3px}
.home-game-discovery .featured-grid{gap:16px}
.home-page .home-origin-spotlight{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:22px;align-items:center;max-width:none;padding:18px;margin:20px 0 0;border-radius:18px}
.home-origin-spotlight .origin-art{min-width:0}
.home-origin-spotlight .origin-art img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.home-origin-spotlight .origin-feature-kicker{font-size:11px}
.home-origin-spotlight h2{font-size:25px;line-height:1.2;margin:8px 0}
.home-origin-spotlight p{font-size:14px;line-height:1.5;margin:8px 0}
.home-origin-spotlight .origin-feature-cta{padding:10px 14px;min-height:44px;font-size:13px}
.home-origin-spotlight small{display:none}
/* Image-led science experiments: rich desktop visuals, concise mobile choices. */
.home-lab-discoveries .section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.home-lab-discoveries .section-heading h2{font-size:clamp(25px,2.5vw,31px);line-height:1.15;letter-spacing:-.025em;margin:0}
.home-lab-discoveries .section-heading p{margin:5px 0 0;color:#bdd4e3;font-size:14px;line-height:1.45}
.home-lab-discoveries .section-heading>a{color:#80eed7;display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:4px;padding:5px 0;font-size:14px;font-weight:800;white-space:nowrap;text-decoration:none}
.home-lab-discoveries .section-heading>a:hover{text-decoration:underline;text-underline-offset:4px}
.home-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-lab-card{--lab-accent:#79e8d4;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #3b6075;border-radius:19px;background:linear-gradient(145deg,#142f46,#0b2436);color:#f3fbff;text-decoration:none;box-shadow:0 9px 23px #0000001c}
.home-lab-card--vision{--lab-accent:#d3bbff}
.home-lab-card--earth{--lab-accent:#ffdc96}
.home-lab-thumb{display:block;height:clamp(132px,13.8vw,187px);overflow:hidden;background:#13364e}
.home-lab-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 200ms ease}
.home-lab-card-copy{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0;padding:16px 18px 18px}
.home-lab-card small{font-size:10px;line-height:1.4;color:var(--lab-accent);font-weight:800;letter-spacing:.1em}
.home-lab-card h3{font-size:clamp(18px,1.65vw,23px);font-weight:800;line-height:1.2;letter-spacing:-.02em;margin:0;overflow-wrap:break-word}
.home-lab-card p{font-size:14px;line-height:1.45;margin:0;color:#c5d9e6;overflow-wrap:break-word}
.home-lab-card .home-lab-action{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:auto;padding-top:7px;color:var(--lab-accent);font-size:14px;line-height:1.4;font-weight:800}
.home-lab-mobile-arrow{display:none}
.home-lab-card:hover{border-color:var(--lab-accent);box-shadow:0 12px 28px #0003}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.home-lab-card:hover .home-lab-thumb img{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.home-lab-thumb img{transition:none}}

/* One creator invitation with two actions; no redundant nested cards. */
.home-making{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) minmax(225px,300px);grid-template-rows:auto auto;column-gap:22px;row-gap:3px;align-items:center;min-width:0;padding:19px 24px;border:1px solid #4d5c83;border-radius:20px;background:linear-gradient(112deg,#152b44 0%,#1b2b49 55%,#273354 100%);box-shadow:0 10px 28px #00000021}
.home-making-visual{grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;min-width:0;border:1px solid #6b7eaf44;border-radius:14px;background:#142c43}
.home-making-visual img{display:block;width:100%;height:auto;max-height:120px;object-fit:contain;object-position:center}
.home-making-copy{grid-column:2;grid-row:1;min-width:0;align-self:end}
.home-making .eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:#c5afff;margin:0 0 6px}
.home-making h2{font-size:clamp(24px,2.4vw,31px);line-height:1.15;letter-spacing:-.025em;margin:0 0 6px}
.home-making-copy>p:not(.eyebrow){font-size:14px;line-height:1.45;color:#d0dcec;max-width:43ch;margin:0}
.home-making-grid{grid-column:3;grid-row:1/3;display:grid;grid-template-columns:minmax(0,1fr);gap:9px;min-width:0}
.home-making-grid a{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:53px;min-width:0;padding:12px 16px;border:1px solid #a5e8d9;border-radius:12px;background:#67dfc5;color:#092c36;font-size:15px;font-weight:800;line-height:1.3;text-decoration:none;text-align:left}
.home-making-grid a:hover{border-color:#d3fff4;background:#9df4de}
.home-making-grid a:nth-child(2){border-color:#b9a5ee;background:#403c68;color:#f1e6ff}
.home-making-grid a:nth-child(2):hover{border-color:#ddd0ff;background:#514b80}
.home-making-grid a span:last-child{flex:none;font-size:21px;line-height:1}
.home-making-note{grid-column:2;grid-row:2;align-self:start;margin:8px 0 0;color:#baccdc;font-size:12px;line-height:1.4}
@media(min-width:701px) and (max-width:1050px){
 .home-making{grid-template-columns:115px minmax(0,1fr);column-gap:16px;row-gap:10px}
 .home-making-visual{grid-row:1}
 .home-making-copy{grid-column:2;grid-row:1}
 .home-making-grid{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-making-note{grid-column:1/-1;grid-row:3;margin:0}
}
.home-community-labs{margin-top:22px;padding-top:20px;border-top:1px solid #35566a}
.home-community-labs h3{font-size:21px;margin:0 0 14px}
.home-community-labs>p{font-size:14px;line-height:1.5;color:#c1d6e2}
.home-community-labs>a{display:inline-flex;align-items:center;min-height:44px;color:var(--mint);font-size:14px}
.home-community-labs .labs-community-card{background:#102d3e;color:var(--ink);border-color:#35566a}
.home-community-labs .labs-community-card small,.home-community-labs .labs-community-card p{color:#bfd5e1}
.home-community-labs .labs-community-link{color:var(--mint)}
.home-page .multiplayer-showcase,.home-page .creator-showcase{padding-top:0;margin-top:0}
.home-page .creator-showcase-grid{gap:16px}
.home-page .library-finder{padding-top:22px;scroll-margin-top:14px}
.home-page.home-games-view #library .library-heading{display:block}
.home-page .library-search label{pointer-events:none}
@media(max-width:950px){
 .home-page .home-hero.hero{gap:22px;padding:25px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .home-lab-card{padding:17px}
}
@media(max-width:700px),(max-width:950px) and (max-height:500px){
 .home-page main{padding-inline:14px}
 .home-page .home-hero.hero{grid-template-columns:1fr;gap:18px;padding:12px 2px 16px;margin:0 0 24px}
 .home-page .home-hero h1{font-size:36px;line-height:1.08;margin:0 0 12px}
 .home-page .home-hero .hero-copy>.hero-kicker{font-size:11px;margin-bottom:12px}
 .home-page .home-hero .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.5}
 .home-page .home-hero .hero-copy>p.hero-reassurance{font-size:14px;margin:12px 0 0}
 .home-activities{margin-top:20px}
 .home-path-heading{font-size:18px;margin-bottom:10px}
 .home-paths{grid-template-columns:minmax(0,1fr);gap:10px}
 .home-path{flex-direction:row-reverse;align-items:center;gap:12px;min-height:112px;padding:12px 14px}
 .home-path-art{flex:0 0 88px;width:88px;margin:0;aspect-ratio:1}
 .home-path--games .home-path-art img{object-position:60% center}
 .home-path--labs .home-path-art img,.home-path--create .home-path-art img{object-fit:contain}
 .home-path-copy{gap:5px;padding:0}
 .home-path strong{font-size:22px}
 .home-path-action{padding-top:2px}
 .home-page .home-hero .showcase-card:not(.showcase-card--featured){display:none}
 .home-page .home-hero .showcase-card--featured .showcase-art{aspect-ratio:16/8}
 .home-page .home-hero .showcase-card--featured .showcase-caption{padding:12px 14px}
 .home-page .home-hero .showcase-card--featured .showcase-title{font-size:21px}
 .home-page .home-hero .hero-crew{display:none}
 .home-game-discovery .section-heading{gap:10px;align-items:center;margin-bottom:12px}
 .home-game-discovery .section-heading h2{font-size:24px}
 .home-game-discovery .browse-popular{display:none}
 .home-game-discovery .library-pick{min-height:44px;padding:8px;border:0;background:none;color:var(--mint)}
 .home-game-discovery .featured-card :is(.playstyle,.focus,.card-stats){display:none}
 .home-game-discovery .featured-card .description{font-size:13px}
 .home-page .home-origin-spotlight{grid-template-columns:100px minmax(0,1fr);gap:13px;padding:14px;margin-top:15px}
 .home-origin-spotlight h2{font-size:20px;margin:7px 0}
 .home-origin-spotlight .origin-feature-kicker{font-size:11px;letter-spacing:0}
 .home-origin-spotlight p{display:none}
 .home-origin-spotlight .origin-art{aspect-ratio:3/4}
 .home-origin-spotlight .origin-art img{height:100%;aspect-ratio:3/4;object-fit:cover}
 .home-origin-spotlight .origin-feature-cta{font-size:12px;padding:9px 10px}
 .home-lab-discoveries{margin-bottom:18px}
 .home-lab-discoveries .section-heading{gap:8px;margin-bottom:11px}
 .home-lab-discoveries .section-heading h2{font-size:24px;line-height:1.17}
 .home-lab-discoveries .section-heading p{display:none}
 .home-lab-discoveries .section-heading>a{font-size:13px}
 .home-lab-grid{grid-template-columns:minmax(0,1fr);gap:9px}
 .home-lab-card{display:grid;grid-template-columns:80px minmax(0,1fr) 22px;align-items:center;gap:11px;min-height:100px;padding:9px;border-radius:15px;box-shadow:none}
 .home-lab-thumb{grid-column:1;grid-row:1;display:block;width:80px;height:80px;border-radius:11px}
 .home-lab-thumb img{height:100%;object-fit:cover}
 .home-lab-card-copy{grid-column:2;grid-row:1;gap:5px;min-width:0;padding:0}
 .home-lab-card small,.home-lab-card .home-lab-action{display:none}
 .home-lab-card h3{font-size:17px;line-height:1.19;letter-spacing:-.01em}
 .home-lab-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:12.5px;line-height:1.35;color:#c9dbe8}
 .home-lab-mobile-arrow{grid-column:3;grid-row:1;display:grid;place-items:center;color:var(--lab-accent);font-size:22px;line-height:1}
 .home-making{grid-template-columns:65px minmax(0,1fr);grid-template-rows:auto auto auto;gap:9px 12px;padding:15px;border-radius:17px}
 .home-making-visual{grid-column:1;grid-row:1;width:65px;height:65px;border-radius:12px}
 .home-making-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
 .home-making-copy{grid-column:2;grid-row:1;align-self:center}
 .home-making .eyebrow{font-size:9px;line-height:1.2;margin-bottom:5px}
 .home-making h2{font-size:21px;line-height:1.12;margin:0 0 4px}
 .home-making-copy>p:not(.eyebrow){font-size:12px;line-height:1.32}
 .home-making-grid{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}
 .home-making-grid a{min-height:48px;padding:9px 10px;font-size:12.5px;line-height:1.2;border-radius:10px}
 .home-making-grid a span:last-child{font-size:18px}
 .home-making-note{grid-column:1/-1;grid-row:3;margin:0;color:#c5d6e2;font-size:11.5px;line-height:1.35}
 .home-page.home-games-view .library-finder{padding-top:10px}
 .home-community-labs .labs-community-grid{grid-template-columns:1fr}
}
@media(max-width:360px){.home-path{padding:12px;gap:10px}.home-path-art{flex-basis:70px;width:70px}.home-origin-spotlight{gap:10px!important;grid-template-columns:84px minmax(0,1fr)!important}.home-lab-card{grid-template-columns:68px minmax(0,1fr) 18px;gap:8px;padding:8px}.home-lab-thumb{width:68px;height:68px}.home-lab-card h3{font-size:16px}.home-making{padding:12px}.home-making-grid a{font-size:12px;padding:9px}}
@media print{.home-page:not(.home-games-view) #library{display:block}}


/* Keep primary Home choices visible sooner on phone-sized screens.
   The full Games, Labs and Create links remain present and directly tappable. */
@media (max-width: 700px) {
  body.home-page .home-hero.hero { gap: 13px; margin-bottom: 18px; padding-top: 8px; padding-bottom: 10px; }
  body.home-page .home-hero h1 { font-size: clamp(29px, 7.8vw, 34px); line-height: 1.04; margin: 0 0 8px; }
  body.home-page .home-hero .hero-copy > .hero-kicker { margin-bottom: 7px; }
  body.home-page .home-hero .hero-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.38; }
  body.home-page .home-hero .hero-copy > p.hero-reassurance { margin-top: 8px; font-size: 12px; }
  .home-activities { margin-top: 13px; }
  .home-path-heading { font-size: 16px; margin-bottom: 8px; }
  .home-paths { gap: 8px; }
  .home-path { min-height: 96px; gap: 9px; padding: 10px 12px; }
  .home-path-art { flex: 0 0 72px; width: 72px; }
  .home-path-copy { gap: 4px; }
  .home-path strong { font-size: 19px; }
  .home-path-description { font-size: 13px; line-height: 1.28; }
  .home-path-action { font-size: 13px; line-height: 1.2; }
}
@media (max-width: 360px) {
  .home-path { min-height: 90px; gap: 8px; padding: 9px 10px; }
  .home-path-art { flex-basis: 62px; width: 62px; }
}
/* Tablet landscape and zoomed-in, short desktop viewports should not bury
   the next action beneath several rows of large hero copy. */
@media (min-width: 701px) and (max-width: 1100px) and (max-height: 650px) {
  .home-page .home-hero.hero { gap: 18px; padding: 18px; margin: 6px 0 20px; }
  .home-page .home-hero h1 { font-size: clamp(30px, 4vw, 37px); line-height: 1.05; margin: 4px 0 10px; }
  .home-page .home-hero .hero-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.4; }
  .home-activities { margin-top: 14px; }
  .home-paths { gap: 8px; }
  .home-path { min-height: 78px; padding: 8px 10px; }
  .home-path-art { flex-basis: 67px; width: 67px; }
  .home-path strong { font-size: 19px; }
  .home-path-description { font-size: 12px; line-height: 1.25; }
  .home-path-action { font-size: 12px; }
}

