.winning-page .page-body.game-page-body { max-width:1120px; padding:0; border:0; background:transparent; }
.winning-page .page-title { font-size:2.4rem; margin-bottom:1.5rem; }
.wt-game { --wt-face:#fffdf5; --wt-ink:#12261d; color:var(--text); }
.wt-game [hidden] { display:none !important; }
.wt-game h2 { font-size:1.3rem; margin:0 0 1rem; line-height:1.45; }
.wt-game h3 { font-size:1.1rem; }
.wt-game .wt-intro { font-size:1.15rem; color:var(--text); margin:0 0 .5rem; }
.wt-game p { max-width:850px; }
.wt-rules { color:var(--text-dim); font-size:.88rem; margin-bottom:1.25rem; }
.wt-rules summary { cursor:pointer; color:var(--jade); }
.wt-rules p { padding-top:.7rem; }
.wt-stats { display:flex; gap:3rem; margin:1rem 0 2rem; padding:1rem 0; border-block:1px solid var(--border); }
.wt-stats dt { font-size:.78rem; color:var(--text-dim); }
.wt-stats dd { font-size:1.3rem; color:var(--ivory); font-variant-numeric:tabular-nums; }
.wt-levels { border:0; display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.wt-levels legend { margin-bottom:.6rem; font-weight:600; }
.wt-levels label { position:relative; cursor:pointer; }
.wt-levels input { position:absolute; opacity:0; }
.wt-levels span { display:block; padding:.5rem .9rem; border:1px solid var(--border); border-radius:6px; }
.wt-levels input:checked + span { color:var(--bg); background:var(--jade); border-color:var(--jade); }
.wt-game button { font:inherit; font-size:.9rem; cursor:pointer; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text); padding:.65rem 1.15rem; }
.wt-game button.wt-primary { background:var(--jade); border-color:var(--jade); color:#092017; font-weight:700; }
.wt-game button:disabled { cursor:default; }
.wt-game button.wt-primary:disabled { opacity:.45; }
.wt-game button:focus-visible,.wt-levels input:focus-visible + span,.wt-game a:focus-visible,.wt-game summary:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.wt-hand-section { padding:1.5rem 0; border-bottom:1px solid var(--border); margin-bottom:1.5rem; }
.wt-game [tabindex="-1"] { scroll-margin-top:90px; }
.wt-hand { display:grid; grid-template-columns:repeat(13,minmax(0,1fr)); gap:.4rem; max-width:1000px; }
.wt-tile { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; min-width:0; aspect-ratio:3 / 4; border:1px solid #bcc9be; border-radius:6px; background:var(--wt-face); color:var(--wt-ink); box-shadow:inset 0 -4px 0 #c8ddcc; overflow:hidden; }
.wt-tile > span { font-family:'Apple Symbols','Noto Sans Symbols 2',serif; font-size:3rem; line-height:1.12; }
.wt-tile small { display:block; font-size:.62rem; line-height:1.2; text-align:center; max-width:100%; padding:0 2px; }
.wt-suit { border:0; margin:0 0 .85rem; padding:0; }
.wt-suit legend { color:var(--text-dim); font-size:.8rem; margin-bottom:.4rem; }
.wt-options { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:.55rem; max-width:750px; }
.wt-game .wt-option { display:flex; flex-direction:column; align-items:stretch; min-width:0; border:2px solid transparent; background:transparent; padding:2px; border-radius:8px; }
.wt-game .wt-option.is-selected { border-color:var(--jade); background:var(--surface); }
.wt-game .wt-option.is-winning { border-color:var(--jade); }
.wt-game .wt-option.is-wrong { border-color:#f09084; }
.wt-option:disabled:not(.is-winning):not(.is-wrong):not(.is-selected) { opacity:.45; }
.wt-mark { min-height:2.6em; padding-top:.25rem; font-size:.62rem; line-height:1.25; color:var(--ivory); }
.wt-game .wt-actions { display:flex; gap:.75rem; margin:1rem 0 2rem; flex-wrap:wrap; }
.wt-feedback { padding-top:1.5rem; border-top:1px solid var(--border); outline:none; }
.wt-solution { border-bottom:1px solid var(--border); padding:1rem 0; }
.wt-solution summary { cursor:pointer; color:var(--ivory); font-weight:700; }
.wt-solution summary span { font-size:.75rem; color:var(--jade); margin-left:1rem; }
.wt-melds { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; }
.wt-meld { text-align:center; }
.wt-meld-tiles { display:flex; gap:.25rem; }
.wt-meld .wt-tile { width:48px; }
.wt-meld .wt-tile > span { font-size:2.4rem; }
.wt-meld .wt-tile small { font-size:.48rem; }
.wt-meld > small { color:var(--text-dim); }
.wt-tile.wt-added { border:3px solid var(--jade); background:#e2f5da; }
.wt-result { border-bottom:1px solid var(--border); padding:0 0 2rem; margin-bottom:2rem; }
.wt-game .wt-percent { font-size:3rem; color:var(--jade); font-variant-numeric:tabular-nums; }
.wt-percent span { font-size:1rem; color:var(--text-dim); }
.wt-game .wt-best { margin:1rem 0; font-size:.85rem; }
.wt-links { display:flex; flex-wrap:wrap; gap:1.5rem; border-top:1px solid var(--border); margin-top:2rem; padding-top:1rem; font-size:.9rem; }
.wt-paused { padding:2rem 0; }
@media(max-width:800px) {
  .wt-hand { grid-template-columns:repeat(7,minmax(0,1fr)); max-width:500px; }
  .wt-options { grid-template-columns:repeat(9,minmax(0,1fr)); }
  .wt-tile > span { font-size:2.5rem; }
  .wt-options .wt-tile small { font-size:.52rem; }
}
@media(max-width:560px) {
  .winning-page .page-title { font-size:1.8rem; }
  .wt-options { grid-template-columns:repeat(5,minmax(0,1fr)); gap:.3rem; }
  .wt-hand { gap:.2rem; }
  .wt-hand .wt-tile > span { font-size:1.85rem; }
  .wt-hand .wt-tile small { font-size:.44rem; }
  .wt-stats { gap:1.2rem; justify-content:space-between; }
  .wt-levels span { padding:.5rem .65rem; }
}
