/* Homepage content; shared navigation, body, and footer live in site-shell.css. */
.home-polish .home-main { padding:0 20px 34px; }
.home-polish .home-intro { margin:30px 0 25px; }
.home-polish .home-intro h1 { color:#f0f3f5; font:600 clamp(24px,2.2vw,30px)/1.25 system-ui,sans-serif; letter-spacing:-.8px; margin:0 0 10px; padding:0; text-shadow:none; }
.home-polish .home-intro p { font-size:15px; line-height:1.65; color:#bfc9d0; max-width:640px; margin:0; }
.home-polish .home-intro p + p { margin-top:5px; }
.home-polish .home-intro a { color:#88c1ff; text-decoration:underline; text-underline-offset:3px; }
.home-polish .journal-home-feature { background:#eeebe3; border-color:#d9d5cb; margin:0 0 27px; padding:18px; box-shadow:0 2px 9px #0002; }
.home-polish .journal-home-feature h2 { padding:0; font-size:26px; line-height:1.15; }
.home-polish .home-games-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; margin:0 0 13px; }
.home-polish .home-games-heading h2 { margin:0; padding:0; font:600 20px/1.3 system-ui,sans-serif; color:#e5ebef; text-shadow:none; }
.home-polish .home-games-tools { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.home-polish .home-games-tools .stats { font:12px/1.5 system-ui,sans-serif; color:#9daab3; }
.home-polish #autoRefresh { font:12px/1.4 system-ui,sans-serif; padding:7px 10px; border-color:#6b7983; color:#cbd4db; border-radius:4px; }
.home-polish #aboutBody { background:linear-gradient(180deg,#272c30,#222 330px) !important; border-top:1px solid #3c454c; padding:0 18px; }
.home-polish #aboutBody .summary { padding:37px 0 25px; }
.home-polish #aboutBody h2 { font:600 23px/1.4 system-ui,sans-serif; margin:0 0 17px; padding:0; text-shadow:none; color:#dfe7ee; }
.home-polish #aboutBody p { margin:0 0 17px; padding:0; font:15px/1.75 system-ui,sans-serif; text-shadow:none; color:#b9c5ce; }
@media (max-width:760px) {
  .home-polish .home-main { padding:0 16px 28px; }
  .home-polish .home-intro { margin:25px 0 21px; }
  .home-polish .home-games-heading { align-items:flex-start; }
  .home-polish .home-games-tools { justify-content:space-between; width:100%; }
  .home-polish .journal-home-feature h2 { font-size:24px; }
}

/* One, two, or three cards according to the space beside the current ad layout. */
#themedPuzzleBrowser {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
  gap:16px;
  align-items:start;
}
.public-puzzle-card { display:block; min-width:0; overflow:hidden; border:1px solid #454e57; border-radius:6px; background:#282d31; color:#e8edf1; text-decoration:none; box-shadow:0 2px 7px #0002; }
.public-puzzle-card:hover { color:#fff; border-color:#87b8eb; text-decoration:none; }
.public-puzzle-card:focus-visible { outline:3px solid #87b8eb; outline-offset:3px; }
.public-puzzle-image { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; background:#202427; }
.public-puzzle-info { display:block; padding:12px 13px; font:13px/1.5 system-ui,sans-serif; }
.public-puzzle-summary, .public-puzzle-details { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 10px; }
.public-puzzle-pieces { font-weight:650; }
.public-puzzle-players { color:#cbd5dc; font-size:12px; }
.public-puzzle-details { color:#aebcc6; font-size:11px; margin-top:7px; }
.public-puzzle-hard .public-puzzle-region { color:#e2bca4; }
.public-puzzle-progress { display:block; height:3px; margin-top:10px; background:#454e57; border-radius:3px; overflow:hidden; }
.public-puzzle-progress > span { display:block; height:100%; background:#79a4c7; }
.public-puzzle-restriction { display:block; color:#ead2b5; font-size:11px; margin-top:8px; }
.public-puzzle-restriction[hidden] { display:none; }
.public-puzzles-empty { grid-column:1/-1; padding:24px 0; color:#bfc9d0; }
