/* Game landing only; projection and platform hub keep their own styles. */
.game-home .hero { display:block; padding:32px 0 28px; }
.game-home .intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); align-items:start; column-gap:48px; max-width:none; margin:0; text-align:left; }
.game-home .intro>h1 { grid-column:1; grid-row:1 / span 7; align-self:center; }
.game-home .intro>:not(h1) { grid-column:2; }
.game-home h1 { font-size:clamp(44px,5vw,68px); line-height:1.12; letter-spacing:-1px; }
.game-home .mode-selection { display:flex; justify-content:center; align-items:start; flex-wrap:wrap; gap:12px; margin:8px 0 0; }
.game-home .mode-slot { min-width:0; }
.game-home .mode-action { display:inline-flex; justify-content:center; align-items:center; gap:20px; min-height:54px; min-width:190px; padding:14px 20px; border:1px solid #637a6c; border-radius:6px; background:#1c2923; color:#d7e8dd; font-size:17px; font-weight:650; line-height:1.3; text-decoration:none; }
.game-home button.mode-action { background:var(--button); border-color:var(--button); color:#102117; }
.game-home .mode-action:hover { border-color:var(--accent); background:#2c4034; color:var(--ink); }
.game-home button.mode-action:hover:enabled { background:#8acf9f; color:#102117; }
.game-home .mode-action:focus-visible,.game-home .mode-selection:focus-visible { outline:2px solid #b3ebca; outline-offset:5px; }
.game-home .mode-action:disabled { opacity:.5; cursor:not-allowed; }
.game-home .actions { margin:0; }
.game-home .daily-card-heading { justify-content:flex-start; margin:12px 0 0; min-height:24px; font-size:14px; color:var(--muted); }
.game-home .daily-card-status { padding:0; border:0; background:none; color:var(--accent); font-size:14px; }
.game-home .daily-card-status[data-state="unavailable"] { color:var(--error); }
.game-home #classic-panel { margin:8px 0 0; max-width:540px; }
.game-home .classic-settings { text-align:left; border-radius:6px; }
.game-home .classic-settings>summary { width:fit-content; margin:0; padding:12px 16px; min-height:44px; cursor:pointer; color:var(--muted); font-size:14px; }
.game-home .classic-settings>summary::marker { color:var(--accent); }
.game-home .classic-settings[open] { border:1px solid var(--line); background:var(--panel); }
.game-home .genre-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; margin:0; max-width:none; padding:12px 20px 20px; }
.game-home .genre-choice label { font-size:14px; font-weight:600; }
.game-home label[for="genre"] { grid-column:1; grid-row:1; }
.game-home #genre { grid-column:1; grid-row:2; }
.game-home label[for="difficulty"] { grid-column:2; grid-row:1; }
.game-home #difficulty { grid-column:2; grid-row:2; }
.game-home .genre-choice select { min-width:0; width:100%; font-size:16px; }
.game-home #difficulty-help,.game-home #genre-status { grid-column:1/-1; font-size:14px; margin:2px 0 0; line-height:1.5; }
.game-home #home-status { max-width:560px; margin:12px auto 0; font-size:14px; color:var(--error); }
.game-home #home-status:empty { display:none; }
.game-home #daily-panel { max-width:680px; margin:12px auto 0; }
.game-home .daily-info { margin:0; font-size:14px; }
.game-home .daily-info p:empty { display:none; }
.game-home .daily-date { color:var(--muted); font-size:13px; }
.game-home .daily-streak { color:var(--ink); font-size:14px; font-variant-numeric:tabular-nums; line-height:1.6; }
.game-home .daily-rules { margin-top:8px; color:var(--muted); font-size:14px; }
.game-home .daily-rules>summary { padding:10px; min-height:44px; cursor:pointer; }
.game-home .daily-rules p { line-height:1.5; }
.game-home .gallery-panel { width:100%; max-width:none; margin:32px auto 0; }
.game-home .film-collage { max-width:none; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; pointer-events:auto; }
.game-home .gallery-tile { position:relative; aspect-ratio:4/3; border:0; border-radius:0; }
.game-home .gallery-tile img { display:block; width:100%; height:100%; object-fit:cover; filter:none; }
.game-home .gallery-tile::after { content:""; position:absolute; inset:0; background:url('../assets/textures/film-grain.svg') repeat; opacity:.07; pointer-events:none; }
.game-home .gallery-toolbar { justify-content:flex-end; margin:8px 0 0; padding:0; border:0; background:none; }
.game-home .gallery-toggle { margin:0; min-height:44px; border-color:transparent; background:none; color:var(--muted); font-size:14px; }
@media (prefers-reduced-motion:no-preference) {
 .game-home .mode-action { transition:background-color .2s,border-color .2s; }
}
@media (max-width:1000px) {
 .game-home .intro { column-gap:24px; }
 .game-home .mode-action { min-width:0; padding:12px 14px; font-size:16px; }
}
@media (max-width:760px) {
 .game-home .intro { display:block; }
 .game-home .intro>h1 { max-width:18ch; }
 .game-home .hero { padding:30px 0 20px; }
 .game-home h1 { font-size:clamp(36px,7.8vw,54px); letter-spacing:-1.6px; }
 .game-home .mode-selection { margin-top:24px; gap:10px; flex-wrap:nowrap; }
 .game-home .mode-slot { flex:1; }
 .game-home .mode-action { min-width:0; width:100%; min-height:52px; padding:12px 8px; gap:8px; font-size:15px; }
 .game-home .daily-card-heading { font-size:13px; gap:4px 8px; }
 .game-home .daily-card-status { font-size:13px; }
 .game-home .genre-choice { padding:10px 14px 16px; gap:8px 10px; }
 .game-home .film-collage { gap:8px; }
 .game-home .gallery-panel { max-width:none; margin-top:20px; }
 .game-home .gallery-tile { aspect-ratio:3/4; border-radius:0; }
 .game-home .daily-info,.game-home .daily-rules { text-align:left; }
}
