:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-size:16px;background:#0d1117;color:#f0f3ee;--muted:#a9b6c4;--line:#34414f;--accent:#c3f85b}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}header{padding:24px clamp(20px,5vw,70px);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}header a{font-size:20px;font-weight:700;text-decoration:none}header span{font:14px ui-monospace,monospace;color:var(--accent);letter-spacing:3px}main{max-width:1180px;margin:auto;padding:44px 24px}h1{font-size:clamp(32px,5vw,54px);letter-spacing:-2px;margin:0 0 12px}h2{font-size:28px;margin:12px 0}p{font-size:16px;line-height:1.6;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px}.name-field{width:240px;flex-shrink:0}label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}input,select{font:inherit;background:#111d29;color:inherit;width:100%;min-height:46px;padding:10px 12px;border:1px solid #4e6070;border-radius:6px}button,.button{font:700 16px Arial;display:inline-block;min-height:46px;padding:12px 18px;background:var(--accent);color:#142011;border-top:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-left:1px solid transparent;box-shadow:none;border-radius:6px;cursor:pointer;text-decoration:none}button:disabled{opacity:.45;cursor:default}.secondary{background:#203344;color:#ecf2f4}.games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game{padding:28px;background:#14212c;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:6px}.game:nth-child(2){border-top-color:#65baff}.kind{font:14px ui-monospace,monospace;color:var(--accent)}.game>p:not(.kind){min-height:52px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.join{margin-top:42px;padding-top:24px;border-top:1px solid var(--line)}.join h2{font-size:22px}.join form{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:14px}.join label{margin:0}.invite{border:1px solid #a4cd65;padding:22px 26px;margin-bottom:26px;background:#1e3023}.invite h2{font-size:24px}.invite p{margin:6px 0 18px}footer{margin-top:38px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:20px}footer p,footer a{font-size:14px}#status{color:var(--accent)}:focus-visible{outline:3px solid #79d8ff;outline-offset:4px}[hidden]{display:none!important}pre{padding:20px;background:#172532;overflow:auto;line-height:1.6}code{font:14px ui-monospace,monospace}.docs{max-width:860px}.docs h2{margin-top:38px}.docs li{line-height:1.7;margin:10px 0}.board{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;background:#1c3044;padding:18px;border-radius:10px;max-width:640px;margin:24px auto}.cell{aspect-ratio:1;border-radius:50%;background:#0b151f;border:1px solid #42576b}.cell.a{background:#c3f85b}.cell.b{background:#65baff}.cell.win{outline:3px solid white;outline-offset:2px}.columns{max-width:640px;margin:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:0 18px}.columns button{padding:8px;min-width:0}.game-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.game-toolbar input{max-width:170px}.game-toolbar p{margin:0}.four-main{text-align:center;max-width:850px}.four-main .game-toolbar{justify-content:center}.four-main header{text-align:left}.four-main #game-message{min-height:27px}.room-status{font-size:14px}.instructions{max-width:640px;margin:20px auto}.form-inline{display:flex;align-items:end;justify-content:center;gap:12px;flex-wrap:wrap}.form-inline>div{max-width:210px;text-align:left}@media(max-width:700px){main{padding:28px 18px}.heading{display:block}.name-field{width:100%;margin-top:20px}.games{grid-template-columns:1fr}.game{padding:24px}.join form{grid-template-columns:1fr}.join label{margin-top:8px}footer{display:block}.board{gap:5px;padding:12px}.columns{gap:5px;padding:0 12px}.columns button{font-size:14px}.game-toolbar{gap:8px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
