.connection-status-module__9c-pPa__status{height:30px;color:var(--status-neutral);background:var(--status-neutral-tint);border-radius:128px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.connection-status-module__9c-pPa__dot{background:currentColor;border-radius:50%;width:8px;height:8px}.connection-status-module__9c-pPa__status[data-status=connected]{color:var(--status-success);background:var(--status-success-tint)}.connection-status-module__9c-pPa__status[data-status=disconnected]{color:var(--status-danger);background:var(--status-danger-tint)}.connection-status-module__9c-pPa__status[data-status=connecting]{color:var(--status-warning);background:var(--status-warning-tint)}@media (prefers-reduced-motion:no-preference){.connection-status-module__9c-pPa__status[data-status=connecting] .connection-status-module__9c-pPa__dot{animation:1.2s ease-in-out infinite connection-status-module__9c-pPa__pulse}}@keyframes connection-status-module__9c-pPa__pulse{0%,to{opacity:1}50%{opacity:.35}}
.lobby-module__lC0qdW__joinForm{flex-direction:column;align-items:flex-start;gap:12px;width:100%;max-width:320px;display:flex}.lobby-module__lC0qdW__joinForm label{color:var(--text-secondary);font-size:14px;font-weight:600}.lobby-module__lC0qdW__joinForm input{border:2px solid var(--border-color);width:100%;height:48px;color:var(--text-primary);background:var(--surface-card);border-radius:14px;padding:0 16px;font-size:16px;transition:border-color .15s,box-shadow .15s}.lobby-module__lC0qdW__joinForm input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-tint);outline:none}.lobby-module__lC0qdW__joinForm input:disabled{opacity:.6}.lobby-module__lC0qdW__joinForm button,.lobby-module__lC0qdW__lobbyHeader button{background:var(--color-primary-solid);height:44px;color:var(--button-primary-text);cursor:pointer;border:1px solid #0000;border-radius:128px;padding:0 22px;font-size:14px;font-weight:600;transition:background-color .15s,opacity .15s,transform .1s}.lobby-module__lC0qdW__joinForm button:disabled{opacity:.5;cursor:not-allowed}.lobby-module__lC0qdW__joinForm button:not(:disabled):active,.lobby-module__lC0qdW__lobbyHeader button:not(:disabled):active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.lobby-module__lC0qdW__joinForm button:not(:disabled):hover,.lobby-module__lC0qdW__lobbyHeader button:hover{background:var(--color-primary-solid-hover)}}.lobby-module__lC0qdW__error{color:var(--status-danger);font-size:14px;font-weight:500}.lobby-module__lC0qdW__lobby{flex-direction:column;gap:18px;width:100%;display:flex}.lobby-module__lC0qdW__lobbyHeader{justify-content:space-between;align-items:center;display:flex}.lobby-module__lC0qdW__lobbyHeader h2{color:var(--color-primary);font-size:21px}.lobby-module__lC0qdW__lobbyHeader button{border:2px solid var(--border-color);color:var(--text-secondary);background:0 0}@media (hover:hover) and (pointer:fine){.lobby-module__lC0qdW__lobbyHeader button:hover{background:var(--button-secondary-hover);border-color:var(--color-primary);color:var(--color-primary)}}.lobby-module__lC0qdW__players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lobby-module__lC0qdW__player{border:2px solid var(--border-color);color:var(--text-primary);border-radius:14px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:15px;display:flex}.lobby-module__lC0qdW__playerName{font-weight:600}.lobby-module__lC0qdW__you{color:var(--color-secondary);font-weight:500}.lobby-module__lC0qdW__playerActions{align-items:center;gap:10px;display:flex}.lobby-module__lC0qdW__playerStatus{height:26px;color:var(--text-secondary);background:var(--status-neutral-tint);border-radius:128px;align-items:center;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.lobby-module__lC0qdW__playerStatus[data-status=available]{color:var(--status-success);background:var(--status-success-tint)}.lobby-module__lC0qdW__playerStatus[data-status=busy]{color:var(--status-warning);background:var(--status-warning-tint)}.lobby-module__lC0qdW__playerStatus[data-status=in-game]{color:var(--status-neutral);background:var(--status-neutral-tint)}.lobby-module__lC0qdW__empty{color:var(--text-secondary);padding:10px 14px;font-size:14px}.lobby-module__lC0qdW__challengeButton{border:2px solid var(--color-secondary);height:44px;color:var(--color-secondary);cursor:pointer;background:0 0;border-radius:128px;padding:0 20px;font-size:13px;font-weight:600;transition:background-color .15s,opacity .15s,transform .1s}.lobby-module__lC0qdW__challengeButton:disabled{opacity:.5;cursor:not-allowed}.lobby-module__lC0qdW__challengeButton:not(:disabled):active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.lobby-module__lC0qdW__challengeButton:not(:disabled):hover{background:var(--color-secondary-tint)}}.lobby-module__lC0qdW__notice{color:var(--text-secondary);font-size:14px}.lobby-module__lC0qdW__challengePanel{border:2px solid var(--color-primary-tint);background:var(--color-primary-tint);color:var(--text-primary);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:16px;font-size:15px;display:flex}.lobby-module__lC0qdW__challengeTimer{color:var(--color-primary);font-size:13px;font-weight:700}.lobby-module__lC0qdW__challengeActions{gap:10px;display:flex}.lobby-module__lC0qdW__challengeActions button{background:var(--color-primary-solid);height:40px;color:var(--button-primary-text);cursor:pointer;border:1px solid #0000;border-radius:128px;padding:0 18px;font-size:14px;font-weight:600;transition:background-color .15s,transform .1s}.lobby-module__lC0qdW__challengeActions button:active{transform:scale(.96)}.lobby-module__lC0qdW__challengeActions .lobby-module__lC0qdW__declineButton{border:2px solid var(--surface-card);color:var(--text-secondary);background:0 0}@media (hover:hover) and (pointer:fine){.lobby-module__lC0qdW__challengeActions button:hover{background:var(--color-primary-solid-hover)}.lobby-module__lC0qdW__challengeActions .lobby-module__lC0qdW__declineButton:hover{background:var(--surface-card);color:var(--text-primary)}}.lobby-module__lC0qdW__bots{flex-direction:column;gap:10px;display:flex}.lobby-module__lC0qdW__bots h3{color:var(--text-primary);font-size:15px}.lobby-module__lC0qdW__botList{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lobby-module__lC0qdW__botList button{border:2px solid var(--status-neutral-tint);background:var(--status-neutral-tint);height:44px;color:var(--status-neutral);cursor:pointer;border-radius:128px;padding:0 18px;font-size:14px;font-weight:600;transition:background-color .15s,border-color .15s,opacity .15s,transform .1s}.lobby-module__lC0qdW__botList button[data-difficulty=easy]{border-color:var(--status-success-tint);background:var(--status-success-tint);color:var(--status-success)}.lobby-module__lC0qdW__botList button[data-difficulty=medium]{border-color:var(--status-warning-tint);background:var(--status-warning-tint);color:var(--status-warning)}.lobby-module__lC0qdW__botList button[data-difficulty=hard]{border-color:var(--status-danger-tint);background:var(--status-danger-tint);color:var(--status-danger)}.lobby-module__lC0qdW__botList button:disabled{opacity:.5;cursor:not-allowed}.lobby-module__lC0qdW__botList button:not(:disabled):active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.lobby-module__lC0qdW__botList button[data-difficulty=easy]:not(:disabled):hover{border-color:var(--status-success)}.lobby-module__lC0qdW__botList button[data-difficulty=medium]:not(:disabled):hover{border-color:var(--status-warning)}.lobby-module__lC0qdW__botList button[data-difficulty=hard]:not(:disabled):hover{border-color:var(--status-danger)}}
.match-module__24HA8q__match{flex-direction:column;gap:20px;width:100%;display:flex}.match-module__24HA8q__header{flex-direction:column;gap:4px;display:flex}.match-module__24HA8q__header h2{color:var(--text-primary);font-size:19px}.match-module__24HA8q__status{color:var(--color-primary);font-size:15px;font-weight:600}.match-module__24HA8q__marks,.match-module__24HA8q__markCount{color:var(--text-secondary);font-size:13px}.match-module__24HA8q__board{aspect-ratio:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.match-module__24HA8q__cell{border:2px solid var(--border-color);background:var(--surface-page);color:var(--text-primary);font-family:var(--font-display), var(--font-geist-sans), system-ui, sans-serif;cursor:pointer;border-radius:16px;justify-content:center;align-items:center;font-size:36px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:flex}.match-module__24HA8q__cell:disabled{cursor:not-allowed}.match-module__24HA8q__cell[data-mark=X]{color:var(--color-primary);border-color:var(--color-primary-tint);background:var(--color-primary-tint)}.match-module__24HA8q__cell[data-mark=O]{color:var(--color-secondary);border-color:var(--color-secondary-tint);background:var(--color-secondary-tint)}.match-module__24HA8q__cell[data-winning]{border-width:3px;border-color:var(--status-success);color:var(--status-success);background:var(--status-success-tint)}.match-module__24HA8q__cell[data-just-vanished]{border-color:var(--status-attention);border-style:dashed}@media (prefers-reduced-motion:no-preference){.match-module__24HA8q__cell[data-just-vanished]{animation:1s ease-out match-module__24HA8q__vanish-flash}}@keyframes match-module__24HA8q__vanish-flash{0%{background:color-mix(in srgb, var(--status-attention) 35%, transparent)}to{background:0 0}}@media (hover:hover) and (pointer:fine){.match-module__24HA8q__cell:not(:disabled):hover{border-color:var(--color-primary)}}.match-module__24HA8q__cell:not(:disabled):active{transform:scale(.95)}.match-module__24HA8q__error{color:var(--status-danger);font-size:14px;font-weight:500}.match-module__24HA8q__resultActions{gap:12px;display:flex}.match-module__24HA8q__resultActions button{background:var(--color-primary-solid);height:44px;color:var(--button-primary-text);cursor:pointer;border:1px solid #0000;border-radius:128px;padding:0 22px;font-size:14px;font-weight:600;transition:background-color .15s,transform .1s}.match-module__24HA8q__resultActions button:disabled{opacity:.5;cursor:not-allowed}.match-module__24HA8q__resultActions button:not(:disabled):active{transform:scale(.96)}.match-module__24HA8q__resultActions .match-module__24HA8q__leaveButton{color:var(--text-secondary);border:2px solid var(--border-color);background:0 0}@media (hover:hover) and (pointer:fine){.match-module__24HA8q__resultActions button:not(:disabled):hover{background:var(--color-primary-solid-hover)}.match-module__24HA8q__resultActions .match-module__24HA8q__leaveButton:not(:disabled):hover{background:var(--button-secondary-hover);color:var(--text-primary)}}
.page-module___8aEwW__page{min-height:100vh;font-family:var(--font-geist-sans);background:radial-gradient(circle at 15% 12%, var(--color-primary-tint) 0%, transparent 45%), radial-gradient(circle at 88% 82%, var(--color-secondary-tint) 0%, transparent 42%), var(--surface-page);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex}.page-module___8aEwW__main{background-color:var(--surface-card);width:100%;max-width:480px;box-shadow:0 24px 48px -20px color-mix(in srgb, var(--foreground) 22%, transparent);border-radius:28px;flex-direction:column;gap:32px;padding:48px;display:flex}.page-module___8aEwW__top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-module___8aEwW__top h1{letter-spacing:-.02em;color:var(--color-primary);font-size:26px}@media (max-width:600px){.page-module___8aEwW__main{border-radius:22px;gap:24px;padding:32px 22px}.page-module___8aEwW__top h1{font-size:21px}}
