.a1-party { max-width: 780px; margin: 12px auto; padding: 16px; color: var(--lg-ink); overflow-wrap: anywhere; }
.a1-party h1 { font-size: 1.6rem; }
.a1-party button, .a1-party input, .a1-party select { font: inherit; min-height: 44px; }
.a1-party input, .a1-party select { max-width: 100%; border: 1px solid var(--lg-line); border-radius: 8px; padding: 8px; color: var(--lg-ink); background: var(--lg-white); }
.a1-party form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.a1-stats { font-size: .9rem; color: var(--lg-muted); }
.a1-scores, .a1-teams { padding: 0; list-style: none; display: grid; gap: 8px; }
.a1-scores li, .a1-teams li { padding: 8px; background: var(--lg-cream); border-radius: 8px; }
.a1-grid { display: grid; gap: 5px; margin: 12px 0; }
.a1-grid button { min-width: 0; padding: 3px; border: 2px solid var(--lg-line); background: var(--lg-white); color: var(--lg-ink); border-radius: 8px; }
.a1-grid button:focus-visible { outline: 3px solid var(--lg-rose); outline-offset: 1px; }
.a1-grid button[aria-pressed=true] { background: var(--lg-pink); border-style: dashed; }
.a1-grid button:disabled { opacity: 1; }
.a1-word-grid { grid-template-columns: repeat(10, 1fr); gap: 1px; touch-action: none; user-select: none; }
.a1-word-grid button { min-height: 44px; font-size: clamp(12px, 3vw, 18px); padding: 0; border-radius: 2px; }
.a1-patterns { white-space: pre-line; font-family: monospace; line-height: 1.8; }
.a1-scores li { white-space: pre-line; }
.a1-guess-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; max-width: 320px; margin: 12px auto; }
.a1-guess-tile { position: relative; display: grid; place-items: center; min-height: 44px; border: 2px solid var(--lg-line); border-radius: 6px; font-size: 1.1rem; font-weight: 800; background: var(--lg-white); }
.a1-guess-tile[data-state=correct] { background: var(--lg-good); color: var(--lg-cream); }
.a1-guess-tile[data-state=present] { background: var(--lg-warn); color: var(--lg-cream); }
.a1-guess-tile .a1-mark { position: absolute; top: 2px; right: 5px; font-size: .62rem; line-height: 1; font-weight: 800; }
.a1-rows { margin-top: 6px; white-space: normal; }
.a1-guess-tile[data-state=absent] { background: var(--lg-muted); color: var(--lg-white); }
.a1-mask { font-size: 1.8rem; letter-spacing: .18em; white-space: pre-wrap; }
.a1-keys { display: flex; flex-wrap: wrap; gap: 4px; }
.a1-keys button { min-width: 44px; }
.a1-setup { margin: 12px 0; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
@media (max-width: 440px) { .a1-party { padding: 10px; } .a1-word-grid button { min-height: 30px; } }
/* Website theme pass (2026-11-14): the online-mode picker matches the shared inputs and leaves once a game is on screen. */
.a1-setup select { min-height: 44px; max-width: 100%; padding: 6px 10px; border: 1px solid var(--lg-muted); border-radius: 6px; background: var(--lg-white); color: var(--lg-ink); font: inherit; }
body:has(#game:not([hidden])) .a1-setup { display: none; }
