/* Phone navigation and reading layout. Game modules retain their board geometry. */
.mobile-nav, .game-guide-toggle { display:none; }
.game-guide .eyebrow { font-size:.58rem; letter-spacing:.12em; }

@media (max-width:700px), (max-width:950px) and (pointer:coarse) {
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  .topbar,.wrap,.foot { padding-left:max(12px,env(safe-area-inset-left)); padding-right:max(12px,env(safe-area-inset-right)); }
  .topbar { min-height:62px; padding-top:max(8px,env(safe-area-inset-top)); padding-bottom:8px; margin-bottom:10px; }
  .brand { min-height:44px; }.brand-name { font-size:1.03rem; }
  .topnav { gap:3px; }.topnav>a { display:none; }.topnav .install { min-height:44px; font-size:.8rem; padding:9px 12px; }
  .mobile-nav { display:grid; grid-template-columns:repeat(4,1fr); position:fixed; bottom:0; left:0; right:0; z-index:40; background:#fffdf8; border-top:1px solid #ddd6c8; box-shadow:0 -4px 18px #32291b0a; padding:5px max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left)); }
  .mobile-nav a { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; min-height:56px; border-radius:10px; font-size:12px; font-weight:600; color:#706b60; text-decoration:none; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
  .mobile-nav svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
  .mobile-nav a[aria-current="page"] { background:#f2e7d8; color:#974823; }.mobile-nav a:active { background:#ebe2d4; }
  body:has(.dg-expanded) .mobile-nav { display:none; }
  .home-stack { gap:22px; }.arcade-intro { padding:0; }.arcade-intro>.home-facts { display:none; }.arcade-intro .eyebrow { display:none; }
  .arcade-intro h1 { font-size:31px; letter-spacing:-1.2px; line-height:1.12; margin:0 0 10px; }.arcade-intro h1 span { display:inline; }
  .arcade-intro p { font-size:14px; line-height:1.5; }.intro-browse { display:none; }
  .hero { padding:14px; gap:10px 12px; border-radius:13px; grid-template-columns:minmax(0,1fr) 100px; }
  .hero-title { font-size:25px; }.daily-kicker { font-size:11px; }.daily-kicker .eyebrow { font-size:10px; letter-spacing:.03em; }.hero-tag { font-size:13px; line-height:1.45; }
  .hero .daily-image,.hero .daily-image .game-art { height:100px; }.hero .daily-image img { object-fit:cover; }.hero-actions .btn { min-height:44px; font-size:13px; }
  .daily-info { gap:8px; padding-top:5px; }.countdown-label { font-size:11px; }.countdown { font-size:13px; }.upcoming { font-size:12px; }.upcoming summary { min-height:44px; display:flex; align-items:center; }.upcoming summary::before { content:'▸'; margin-right:5px; }.upcoming[open] summary::before { content:'▾'; }.upcoming-list { right:12px; max-width:calc(100% - 24px); }
  .shelf-heading { align-items:center; margin-bottom:12px; }.shelf-heading h2 { font-size:21px; }.shelf-heading .eyebrow { font-size:10px; }.shelf-heading button { min-height:44px; font-size:12px; }
  .featured-grid { gap:12px; padding-bottom:8px; }.feature-card { flex-basis:76%; }.feature-card .game-art { aspect-ratio:2.6/1; }.feature-copy { padding:13px; }.feature-copy .eyebrow { font-size:10px; }.feature-copy h3 { font-size:17px; }.feature-copy p { font-size:13px; line-height:1.5; }.feature-foot { font-size:11px; }
  .library-zone { gap:12px; padding-top:18px; }.lib-head { position:sticky; top:0; z-index:25; background:#f7f5f0; padding:10px 0 12px; margin-bottom:0; gap:10px; box-shadow:0 8px 10px #f7f5f0; scroll-margin-top:0; }
  .section-head { font-size:22px; }.library-caption { display:none; }.lib-search-row { gap:7px; }.lib-search { font-size:16px; min-height:48px; padding:11px 12px; }.random-game { min-height:48px; max-width:88px; font-size:12px; padding:8px 10px; }
  .collections { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }.collection { min-height:46px; padding:8px 3px; border-radius:9px; font-size:12px; gap:3px; justify-content:center; flex-wrap:wrap; }.collection-count { font-size:10px; }
  .filters { display:flex; gap:2px; justify-content:space-between; }.filter { min-height:44px; padding:8px; font-size:12px; }.lib-found { font-size:13px; }
  .cat-head { margin:6px 0 12px; padding-bottom:10px; }.cat-title { font-size:17px; }.cat-blurb { font-size:12px; line-height:1.45; }.cat-count { font-size:10px; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.tile-body { padding:12px; }.tile-name { font-size:15px; line-height:1.3; }.tile-tag { font-size:12px; line-height:1.5; }.tile-kicker { font-size:10px; }.tile-kicker>span:first-child { display:none; }.tile-kicker>span:last-child { padding:3px 5px; }.tile-match { font-size:11px; line-height:1.45; }.tile-bottom { flex-wrap:wrap; gap:7px; }.tile-chips { font-size:11px; line-height:1.4; }.chip { font-size:10px; }.play-dot { font-size:12px; margin-left:auto; }.show-category { min-height:48px; font-size:13px; }
  body[data-view="game"] .topbar { display:none; }
  body[data-view="game"] .wrap { padding-top:max(10px,env(safe-area-inset-top)); }
  .game-layout { gap:16px; }.game-main:not(.dg-expanded) { gap:10px; }
  .game-main:not(.dg-expanded)>.game-head { grid-template-columns:44px minmax(0,1fr) 44px 44px; padding:9px; gap:7px; }
  .game-main:not(.dg-expanded) .game-name { font-size:16px; overflow-wrap:anywhere; }.game-main:not(.dg-expanded) .game-mode { font-size:12px; }
  .game-main:not(.dg-expanded) .score-slot { font-size:12px; line-height:1.5; white-space:normal; overflow-wrap:anywhere; min-width:0; }
  .game-main:not(.dg-expanded) .game-fullscreen { min-height:44px; font-size:12px; padding:8px 7px; }
  .game-main:not(.dg-expanded)>.game-context { font-size:13px; line-height:1.5; }.game-main:not(.dg-expanded)>.match-brief span { font-size:11px; }
  .game-main:not(.dg-expanded)>.game-box { padding:6px; border-radius:10px; box-shadow:none; }
  .game-box .btn,.game-box :is(.ch-b,.am-b,.f-b,.rv-b,.s-b,.s9-b) { min-height:44px; font-size:13px; touch-action:manipulation; }
  .game-guide { padding:0; position:static; overflow:hidden; }
  .game-guide-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:52px; padding:16px; border:0; background:#fffdf7; color:#725032; text-align:left; font:inherit; font-size:14px; font-weight:650; cursor:pointer; touch-action:manipulation; }
  .game-guide-content { padding:4px 18px 18px; }.game-guide.is-collapsed .game-guide-content { display:none; }.game-guide h2 { font-size:20px; }.game-guide .rules,.game-guide .guide-panel { font-size:14px; line-height:1.65; }.guide-tabs button { min-height:46px; font-size:13px; }.guide-facts dt { font-size:11px; }.guide-facts dd { font-size:13px; }.guide-mode,.related-games a { font-size:13px; }.game-guide .btn { min-height:46px; font-size:13px; }
  .modal-back { padding:12px; }.modal-box { padding:20px; max-height:calc(100dvh - 24px); }.modal-actions .btn { min-height:46px; font-size:14px; }
  .consent,.ios-hint { bottom:calc(76px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 100px - env(safe-area-inset-bottom)); overflow:auto; padding:16px; }.consent-title { font-size:17px; }.consent-text { font-size:13px; }.consent-actions { display:grid; grid-template-columns:1fr; }.consent-actions .btn { min-height:46px; font-size:14px; }
  body>.toast { bottom:calc(82px + env(safe-area-inset-bottom)); max-width:calc(100% - 24px); font-size:13px; text-align:center; }
  .foot { font-size:12px; line-height:1.65; padding-bottom:18px; }.foot-links a { min-height:44px; }.watermark { font-size:12px; }
  a,button { -webkit-tap-highlight-color:#a64c271c; }
}
@media (max-width:350px) {
  .arcade-intro h1 { font-size:28px; }.hero { grid-template-columns:minmax(0,1fr) 84px; padding:12px; }.hero .daily-image,.hero .daily-image .game-art { height:84px; }
  .collection { font-size:11px; }.collection-count { display:none; }.filter { padding:8px 6px; }.tile-body { padding:10px; }.featured-grid .feature-card { flex-basis:88%; }
  .daily-info { padding-left:0; padding-right:0; gap:6px; }
  .game-box .g-bounty .bt-pad { flex-wrap:wrap; justify-content:center; }
}
