/* Homepage composition. Game rules, data and actions are owned by app.js. */
.home-intro{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:32px}
.home-intro h1{font-size:clamp(2.5rem,4.6vw,3.65rem);line-height:1.06;max-width:650px;margin:0;letter-spacing:-.035em;font-weight:800;text-wrap:balance}
.home-intro p{max-width:290px;margin:0 0 4px;color:var(--body);font-size:1rem}
.home-game{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:42px;align-items:start}
.challenge-launch{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px;min-width:0}
.challenge-launch h2{font-size:clamp(1.8rem,3vw,2.25rem);margin-bottom:8px;font-weight:700}
.challenge-dates{font-size:.85rem;color:var(--muted);margin-bottom:22px}
.challenge-description{color:var(--body);max-width:55ch;margin-bottom:28px}
.challenge-rules{display:flex;gap:30px;margin:0 0 28px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.challenge-rules div{flex:1}.challenge-rules dt{font-size:.8rem;color:var(--muted);margin-bottom:6px}.challenge-rules dd{margin:0;font-weight:650;font-size:1.05rem;color:var(--ink)}
.launch-action{display:flex;align-items:center;gap:20px}.launch-action .primary{display:flex;align-items:center;justify-content:space-between;gap:32px;flex:1;min-height:56px;font-size:1.05rem;border-radius:8px}.launch-action p{font-size:.82rem;line-height:1.5;max-width:135px;color:var(--muted);margin:0}
.launch-arrow{font-size:1.35rem;font-weight:400}.challenge-launch .error{margin-bottom:0}
.home-board{padding-top:5px;min-width:0}.home-board h2{font-size:1.45rem;margin-bottom:4px}.home-board>p{font-size:.85rem;color:var(--muted);margin-bottom:20px}
.home-board .leader-list{margin:0 0 18px}.home-board .leader-list li{padding:17px 0;gap:12px;grid-template-columns:25px minmax(0,1fr) auto}.home-board .leader-list li>span{overflow-wrap:anywhere}.home-board .leader-list .you{color:var(--ink)}.home-board .leader-list li>strong:first-child{font-size:.85rem;font-weight:500;color:var(--muted)}.home-board .leader-list li>strong:last-child{color:var(--accent);font-size:1.5rem;font-family:var(--font-display);font-variant-numeric:tabular-nums}.home-board a{font-size:.88rem}
.board-invitation{padding:20px 0;margin-bottom:12px;border-bottom:1px solid var(--line);color:var(--body)}.board-invitation strong{display:block;font-size:1rem;color:var(--ink);margin-bottom:5px}.board-invitation p{font-size:.88rem;margin:0}.home-board .empty{margin:0;padding-top:5px}
.home-progress{display:flex;align-items:center;flex-wrap:wrap;gap:16px 36px;margin-top:25px;font-size:.86rem;color:var(--muted)}.home-progress p{margin:0}.home-progress strong{font-size:1.1rem;margin-left:8px;color:var(--ink);font-variant-numeric:tabular-nums}.home-progress .personal-best{color:var(--accent)}
.home-after{display:flex;justify-content:space-between;gap:45px;align-items:center;border-top:1px solid var(--line);padding-top:28px;margin-top:38px}.home-after h2{font-size:1.4rem;max-width:310px;margin:0}.home-after p{color:var(--body);font-size:.94rem;max-width:480px;margin:0}.home-after a{display:inline-block;margin-top:8px;font-size:.87rem}
@media(max-width:850px){.home-intro{align-items:start}.home-intro p{max-width:220px}.home-game{gap:28px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.challenge-launch{padding:25px}.launch-action{display:block}.launch-action .primary{width:100%}.launch-action p{max-width:none;margin-top:16px}.challenge-rules{gap:20px}.home-after{gap:28px}}
@media(max-width:650px){.home-intro{display:block;margin-bottom:26px}.home-intro h1{font-size:2.6rem;max-width:360px}.home-intro p{max-width:36ch;margin-top:18px;font-size:.95rem}.home-game{grid-template-columns:1fr;gap:32px}.challenge-launch{padding:24px 20px}.challenge-launch h2{font-size:1.85rem}.challenge-description{font-size:.95rem}.challenge-rules{gap:16px}.challenge-rules dd{font-size:1rem}.challenge-dates{font-size:.8rem}.home-board{padding-top:0}.home-progress{gap:12px 24px;margin-top:22px}.home-after{display:block;margin-top:28px;padding-top:24px}.home-after h2{max-width:none;margin-bottom:12px}.home-after p{max-width:40ch}}
