@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";.main-layout[data-v-989f8cda]{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.content[data-v-989f8cda]{background:linear-gradient(145deg,#1a0a2e,#2d1b4e);border-radius:20px;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:480px;padding:2.5rem;display:flex;box-shadow:0 25px 50px #00000080,0 0 0 1px #6b21a84d}.form[data-v-320e86b6]{flex-direction:column;gap:.5rem;width:100%;display:flex}label[data-v-320e86b6]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.buttons-container[data-v-320e86b6]{gap:1rem;width:100%;margin-top:.5rem;display:flex}.action-button[data-v-320e86b6]{flex-grow:1;text-decoration:none}.action-button button[data-v-320e86b6]{width:100%}.error-message[data-v-320e86b6]{text-align:center;color:var(--error);margin:0;font-size:.9rem;font-weight:600}.cell[data-v-26f53190]{aspect-ratio:1;color:#0000;cursor:pointer;background:#ffffff0a;border-radius:10px;flex:1;padding:0;font-size:3.5rem;font-weight:700;transition:background-color .15s,transform .1s;border:1px solid #ffffff14!important}.cell.x[data-v-26f53190]{color:var(--pink)}.cell.o[data-v-26f53190]{color:#a78bca}.cell.winning[data-v-26f53190]{background:#f472b61a}.cell[data-v-26f53190]:hover:not(.x):not(.o){background:#f472b614;transform:scale(1.03)}.cell[data-v-26f53190]:active{transform:scale(.97)}.winning-line[data-v-0ed46ba6]{height:var(--strike-thickness,3px);pointer-events:none;position:absolute}.winning-line-fill[data-v-0ed46ba6]{background:var(--pink);transform-origin:50%;border-radius:999px;width:100%;height:100%;animation:.35s ease-out both draw-0ed46ba6;box-shadow:0 0 12px #f472b699}@keyframes draw-0ed46ba6{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.winning-line-fill[data-v-0ed46ba6]{animation:none}}.board[data-v-f025f009]{--strike-thickness:5px;flex-direction:column;gap:.4rem;width:100%;display:flex;position:relative}.row[data-v-f025f009]{gap:.4rem;width:100%;display:flex}.loading[data-v-dc86b270]{color:var(--text-muted);font-size:.95rem}.error-message[data-v-dc86b270]{text-align:center;color:var(--text);margin:0;font-size:1rem;font-weight:600}.players[data-v-dc86b270]{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;width:100%;display:grid}.player[data-v-dc86b270]{flex-direction:column;gap:.2rem;display:flex}.player-symbol[data-v-dc86b270]{color:var(--pink);font-size:2rem;font-weight:700;line-height:1}.player-name[data-v-dc86b270]{color:var(--text);font-size:.95rem;font-weight:600}.player-label[data-v-dc86b270]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.player.you[data-v-dc86b270]{align-items:flex-start}.player.opponent[data-v-dc86b270]{align-items:flex-end}.player.gone[data-v-dc86b270]{opacity:.45}.status-message[data-v-dc86b270]{text-align:center;white-space:nowrap;color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;flex:1;padding:.5rem;font-size:.95rem;font-weight:600}.buttons-container[data-v-dc86b270]{gap:1rem;width:100%;display:flex}.action-button[data-v-dc86b270]{flex-grow:1;text-decoration:none}.action-button button[data-v-dc86b270]{width:100%}.game-link[data-v-dc86b270]{flex-direction:column;gap:.4rem;width:100%;display:flex}.game-link-label[data-v-dc86b270]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.game-link-row[data-v-dc86b270]{align-items:center;gap:.5rem;display:flex}.game-link-url[data-v-dc86b270]{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;flex:1;padding:.4rem .6rem;font-size:.75rem;overflow:hidden}button[data-v-dc86b270]{white-space:nowrap}.demo-board[data-v-949dba99]{flex-direction:column;gap:.4rem;width:100%;max-width:240px;display:flex;position:relative}.demo-row[data-v-949dba99]{gap:.4rem;width:100%;display:flex}.demo-cell[data-v-949dba99]{aspect-ratio:1;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;flex:1;justify-content:center;align-items:center;font-size:2.2rem;font-weight:700;line-height:1;transition:background-color .25s;display:flex}.demo-cell.x[data-v-949dba99]{color:var(--pink)}.demo-cell.o[data-v-949dba99]{color:var(--text-muted)}.demo-cell.winning[data-v-949dba99]{background:#f472b61a}@media (prefers-reduced-motion:no-preference){.demo-cell span[data-v-949dba99]{animation:.28s ease-out pop-949dba99}}@keyframes pop-949dba99{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.buttons-container[data-v-e2214ed8]{gap:1rem;width:100%;display:flex}.action-button[data-v-e2214ed8]{flex-grow:1;text-decoration:none}.action-button button[data-v-e2214ed8]{width:100%}.intro[data-v-e462b791]{text-align:center;color:var(--text-muted);margin:0;font-size:.95rem}.form[data-v-e462b791]{flex-direction:column;gap:.5rem;width:100%;display:flex}label[data-v-e462b791]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.buttons-container[data-v-e462b791]{gap:1rem;width:100%;margin-top:.5rem;display:flex}.action-button[data-v-e462b791]{flex-grow:1;text-decoration:none}.action-button button[data-v-e462b791]{width:100%}:root{--bg:#0f0f1a;--purple-dark:#1a0a2e;--purple-mid:#2d1b4e;--purple-light:#6b21a8;--purple-hover:#7c3aed;--pink:#f472b6;--pink-light:#fbcfe8;--text:#f8f8f8;--text-muted:#a78bca;--error:#f87171;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}body{min-height:100vh;margin:0;font-size:1rem}h1{color:var(--pink);text-align:center;letter-spacing:-.02em;margin:0;font-size:2.5rem;font-weight:700}button{cursor:pointer;background-color:var(--purple-light);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;font-weight:600;transition:background-color .15s,transform .1s}button:hover{background-color:var(--purple-hover);transform:translateY(-1px)}button:active{transform:translateY(0)}input{border:2px solid var(--purple-light);background:var(--purple-dark);color:var(--text);border-radius:8px;outline:none;padding:.5rem .75rem;font-size:1rem;transition:border-color .15s}input:focus{border-color:var(--pink)}input:user-invalid{border-color:#ef4444}
