.small-board[data-v-aa43a128]{position:relative;background:#fff;border:2px solid #e2e8f0;padding:10px;min-width:160px;aspect-ratio:1/1;display:flex;flex-direction:column;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.small-board[data-v-aa43a128]:hover:not(.owned){transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#cbd5e1}.small-board.active[data-v-aa43a128]{border-color:var(--accent);box-shadow:0 0 16px #2563eb26;background:linear-gradient(135deg,#f0f7ff,#fff)}.small-board.owned[data-v-aa43a128]{background:linear-gradient(135deg,#f5f5f5,#fafafa);opacity:.85;cursor:default}.owner[data-v-aa43a128]{position:absolute;top:8px;right:8px;bottom:8px;left:8px;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:900;opacity:.15;pointer-events:none;line-height:1}.owner.x[data-v-aa43a128]{color:var(--x-color);opacity:.2}.owner.o[data-v-aa43a128]{color:var(--o-color);opacity:.2}.cells[data-v-aa43a128]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;height:100%}.small-board.owned .cells[data-v-aa43a128]{display:none}.cell[data-v-aa43a128]{background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,4vw,32px);aspect-ratio:1/1;-webkit-user-select:none;user-select:none;transition:all .15s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-sm);border:1px solid #e2e8f0;font-weight:700}.cell[data-v-aa43a128]:hover{box-shadow:0 2px 8px #0f172a1a;transform:scale(1.05)}.cells.inactive .cell[data-v-aa43a128]{cursor:not-allowed;opacity:.4;transform:none!important;box-shadow:none}.cell.allowed[data-v-aa43a128]{background:linear-gradient(135deg,#2563eb14,#06b6d40a);border:1.5px solid rgba(37,99,235,.3);cursor:pointer;box-shadow:0 2px 8px #2563eb1a}.cell.allowed[data-v-aa43a128]:hover{border-color:var(--accent);box-shadow:0 4px 12px #2563eb33}.cell.x[data-v-aa43a128]{color:var(--x-color);text-shadow:0 2px 4px rgba(239,68,68,.1)}.cell.o[data-v-aa43a128]{color:var(--o-color);text-shadow:0 2px 4px rgba(59,130,246,.1)}@media (max-width:600px){.small-board[data-v-aa43a128]{min-width:100px;padding:6px}.cells[data-v-aa43a128]{gap:5px}.cell[data-v-aa43a128]{font-size:clamp(14px,3vw,20px)}.owner[data-v-aa43a128]{font-size:48px}}@media (max-width:480px){.small-board[data-v-aa43a128]{min-width:85px;padding:5px}.cells[data-v-aa43a128]{gap:4px}.cell[data-v-aa43a128]{font-size:clamp(12px,2.5vw,16px)}.owner[data-v-aa43a128]{font-size:40px}}.board-grid[data-v-5c97f18d]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(640px,90vw);margin:0 auto}.ultimate[data-v-5c97f18d]{display:flex;justify-content:center;width:100%}@media (max-width:768px){.board-grid[data-v-5c97f18d]{width:min(320px,95vw);gap:10px}.ultimate[data-v-5c97f18d]{padding:0 4px}}@media (max-width:480px){.board-grid[data-v-5c97f18d]{width:min(280px,98vw);gap:8px}}.share-panel[data-v-4e5bf255]{display:flex;flex-direction:column;gap:12px;padding:12px;background:linear-gradient(135deg,#f0f4f8,#f9fafb);border-radius:var(--radius-lg);border:1px solid #e2e8f0}.share-header[data-v-4e5bf255]{margin:0}.share-header h4[data-v-4e5bf255]{margin:0;color:#1e293b;font-size:.95rem;font-weight:600}.share-controls[data-v-4e5bf255]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.share-input[data-v-4e5bf255]{flex:1;min-width:200px;padding:9px 12px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:.9rem;font-family:monospace;transition:all .2s;cursor:text}.share-input[data-v-4e5bf255]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.btn[data-v-4e5bf255]{padding:8px 12px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#1e293b;cursor:pointer;font-weight:500;transition:all .2s;font-size:.9rem}.btn[data-v-4e5bf255]:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(135deg,#fff,#f0f4f8);box-shadow:var(--shadow-sm)}.btn-icon[data-v-4e5bf255]{padding:8px 10px;font-size:1rem;min-width:auto}.btn[data-v-4e5bf255]:disabled{opacity:.5;cursor:not-allowed}.copied[data-v-4e5bf255]{color:var(--success);font-size:.9rem;font-weight:600;padding:8px 12px;background:#ecfdf5;border-radius:var(--radius-md);border-left:3px solid var(--success)}.qr[data-v-4e5bf255]{display:flex;justify-content:center;padding:12px;background:#fff;border-radius:var(--radius-md);border:1px solid #e2e8f0}.qr img[data-v-4e5bf255]{width:200px;height:200px;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}@media (max-width:600px){.share-panel[data-v-4e5bf255]{padding:10px}.share-input[data-v-4e5bf255]{min-width:120px;font-size:.8rem;padding:7px 8px}.qr img[data-v-4e5bf255]{width:140px;height:140px}}@media (max-width:480px){.share-panel[data-v-4e5bf255]{padding:8px;gap:8px}.share-header h4[data-v-4e5bf255]{font-size:.9rem}.share-controls[data-v-4e5bf255]{gap:6px}.share-input[data-v-4e5bf255]{min-width:100px;font-size:.75rem;padding:6px 8px}.btn[data-v-4e5bf255]{padding:6px 8px;font-size:.8rem}.btn-icon[data-v-4e5bf255]{padding:6px}.qr img[data-v-4e5bf255]{width:120px;height:120px}.copied[data-v-4e5bf255]{font-size:.8rem;padding:6px 8px}}.lobby-panel[data-v-55e118d3]{background:#fff;padding:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #e2e8f0}.header[data-v-55e118d3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.header h3[data-v-55e118d3]{margin:0;color:#1e293b;font-size:1.1rem;font-weight:600}.btn-refresh[data-v-55e118d3]{padding:8px 14px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#1e293b;cursor:pointer;font-weight:500;transition:all .2s;font-size:.9rem}.btn-refresh[data-v-55e118d3]:hover{border-color:var(--accent);background:#f0f4f8}.rooms-container[data-v-55e118d3]{overflow-x:auto}.rooms[data-v-55e118d3]{width:100%;border-collapse:collapse;font-size:.95rem}.rooms thead[data-v-55e118d3]{background:#f8fafc;border-bottom:2px solid #e2e8f0}.rooms th[data-v-55e118d3]{padding:10px 8px;text-align:left;color:#1e293b;font-weight:600;font-size:.9rem}.rooms td[data-v-55e118d3]{padding:10px 8px;border-bottom:1px solid #f1f5f9;color:#475569}.room-row[data-v-55e118d3]:hover{background:#f9fafb}.room-id-cell[data-v-55e118d3]{font-family:monospace;font-weight:600;color:#1e293b}.room-id-cell code[data-v-55e118d3]{background:#f1f5f9;padding:2px 6px;border-radius:var(--radius-sm);font-size:.9rem}.players-cell[data-v-55e118d3],.spectators-cell[data-v-55e118d3]{text-align:center}.player-info[data-v-55e118d3]{display:inline-flex;align-items:center;gap:4px}.ai-badge-small[data-v-55e118d3]{display:inline-flex;align-items:center;gap:1px;padding:1px 4px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:999px;font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;box-shadow:0 1px 4px #f59e0b40}@media (max-width:768px){.ai-badge-small[data-v-55e118d3]{font-size:.65rem;padding:1px 3px;gap:.5px}}@media (max-width:480px){.player-info[data-v-55e118d3]{gap:2px}.ai-badge-small[data-v-55e118d3]{font-size:.6rem;padding:.5px 2px}}.status-cell[data-v-55e118d3]{text-align:center}.actions-cell[data-v-55e118d3]{display:flex;gap:6px;justify-content:flex-end}.btn[data-v-55e118d3]{padding:7px 12px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#1e293b;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s}.btn[data-v-55e118d3]:hover:not(:disabled){border-color:var(--accent);background:#f0f4f8}.btn-primary[data-v-55e118d3]{background:linear-gradient(135deg,var(--accent) 0%,#1d4ed8 100%);color:#fff;border-color:transparent}.btn-primary[data-v-55e118d3]:hover:not(:disabled){box-shadow:0 4px 12px #2563eb4d}.btn[data-v-55e118d3]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-55e118d3]{padding:6px 10px;font-size:.85rem}.badge[data-v-55e118d3]{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.85rem;font-weight:600}.badge-open[data-v-55e118d3]{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.badge-full[data-v-55e118d3]{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}.empty[data-v-55e118d3]{text-align:center;padding:32px 16px;color:var(--muted)}.empty svg[data-v-55e118d3]{color:#cbd5e1;margin-bottom:12px}.empty p[data-v-55e118d3]{margin:12px 0;font-size:1rem;color:#1e293b;font-weight:600}.empty small[data-v-55e118d3]{display:block;color:var(--muted);font-size:.9rem}@media (max-width:768px){.lobby-panel[data-v-55e118d3]{padding:12px}.header[data-v-55e118d3]{margin-bottom:12px;flex-direction:column;align-items:stretch;gap:8px}.btn-refresh[data-v-55e118d3]{width:100%;padding:8px 10px}.rooms[data-v-55e118d3]{font-size:.85rem}.rooms th[data-v-55e118d3],.rooms td[data-v-55e118d3]{padding:8px 6px}.room-id-cell code[data-v-55e118d3]{font-size:.85rem}.actions-cell[data-v-55e118d3]{flex-direction:column;gap:4px}.btn-sm[data-v-55e118d3]{width:100%;min-width:unset}}@media (max-width:480px){.lobby-panel[data-v-55e118d3]{padding:10px;border-radius:8px}.header h3[data-v-55e118d3]{font-size:1rem}.rooms[data-v-55e118d3]{font-size:.8rem}.rooms th[data-v-55e118d3],.rooms td[data-v-55e118d3]{padding:6px 4px}.room-id-cell code[data-v-55e118d3]{padding:2px 4px;font-size:.75rem}.btn[data-v-55e118d3]{padding:5px 8px;font-size:.8rem}.btn-sm[data-v-55e118d3]{padding:5px 8px}}.login-panel[data-v-83e89738]{background:#fff;padding:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:12px;border:1px solid #e2e8f0;max-width:320px;margin:0 auto}.login-panel h3[data-v-83e89738]{margin:0 0 8px;color:#1e293b;font-size:1.1rem}.input-group[data-v-83e89738]{display:flex;gap:10px;align-items:center}.input-group input[data-v-83e89738]{flex:1;padding:9px 12px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#1e293b;transition:all .2s;font-size:.95rem}.input-group input[data-v-83e89738]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.input-group input[data-v-83e89738]::placeholder{color:#94a3b8}.btn[data-v-83e89738]{padding:9px 14px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#1e293b;cursor:pointer;font-weight:500;transition:all .2s}.btn[data-v-83e89738]:hover{border-color:var(--accent);background:#f0f4f8}.btn.primary[data-v-83e89738]{background:linear-gradient(135deg,var(--accent) 0%,#1d4ed8 100%);color:#fff;border-color:transparent;box-shadow:0 4px 12px #2563eb4d}.btn.primary[data-v-83e89738]:hover{box-shadow:0 6px 20px #2563eb66}.error[data-v-83e89738]{color:#dc2626;padding:10px 12px;background:#fee2e2;border-radius:var(--radius-md);font-size:.9rem;border-left:3px solid #dc2626}.hint[data-v-83e89738]{color:var(--muted);font-size:.9rem;padding:8px 0;border-top:1px solid #e2e8f0}@media (max-width:600px){.login-panel[data-v-83e89738]{max-width:100%}.input-group[data-v-83e89738]{flex-direction:column;align-items:stretch}.input-group input[data-v-83e89738],.input-group button[data-v-83e89738]{width:100%}}.app[data-v-212c8e81]{font-family:inherit}.game-area[data-v-212c8e81]{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;width:100%}.top-row[data-v-212c8e81]{display:flex;gap:20px;align-items:flex-start;justify-content:flex-start;width:100%;flex-wrap:wrap}.top-row .meta-card[data-v-212c8e81]{flex:1;min-width:260px;max-width:340px}.top-row .log[data-v-212c8e81]{flex:1;min-width:260px;max-width:400px}@media (max-width:1024px){.game-area[data-v-212c8e81],.top-row[data-v-212c8e81]{justify-content:center}.top-row .meta-card[data-v-212c8e81],.top-row .log[data-v-212c8e81]{max-width:100%}}@media (max-width:768px){.game-area[data-v-212c8e81]{gap:12px;flex-direction:column;align-items:stretch}.top-row[data-v-212c8e81]{flex-direction:column;gap:12px}.top-row .meta-card[data-v-212c8e81]{min-width:auto;max-width:100%;padding:12px}.top-row .log[data-v-212c8e81]{min-width:auto;max-width:100%;padding:12px;max-height:300px}.log-list[data-v-212c8e81]{max-height:250px}.meta-row[data-v-212c8e81]{padding:6px 0;font-size:.9rem}.player-badge[data-v-212c8e81]{min-width:80px;padding:8px 10px}.player-badge .sym[data-v-212c8e81]{font-size:1.2rem}.player-badge .name[data-v-212c8e81]{font-size:.8rem;max-width:70px}.winner-card[data-v-212c8e81]{padding:24px 20px}.winner-symbol[data-v-212c8e81]{font-size:60px}}@media (max-width:480px){.top-row .meta-card[data-v-212c8e81],.top-row .log[data-v-212c8e81]{padding:10px}.meta-row[data-v-212c8e81]{gap:8px;padding:4px 0}.players[data-v-212c8e81]{gap:8px;padding:8px 0}.player-badge[data-v-212c8e81]{min-width:70px;padding:6px 8px;font-size:.85rem}.player-badge .sym[data-v-212c8e81]{font-size:1rem}.log-header[data-v-212c8e81]{margin-bottom:8px;padding-bottom:8px;gap:6px}.log-item[data-v-212c8e81]{padding:6px 8px;font-size:.85rem}}.log[data-v-212c8e81]{background:#fff;padding:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column}.log-header[data-v-212c8e81]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.log-header h4[data-v-212c8e81]{margin:0;color:#1e293b;font-size:1rem;font-weight:600}.log-header small[data-v-212c8e81]{color:var(--muted);font-size:.85rem}.log-list[data-v-212c8e81]{flex:1;max-height:420px;overflow-y:auto;display:flex;flex-direction:column-reverse}.log-item[data-v-212c8e81]{padding:8px 10px;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#475569;font-family:monospace}.log-item[data-v-212c8e81]:hover{background:#f8fafc}.hint[data-v-212c8e81]{color:var(--muted);padding:16px;text-align:center;background:#f9fafb;border-radius:var(--radius-lg);border:1px dashed #cbd5e1}.badge[data-v-212c8e81]{font-size:.95rem;letter-spacing:.5px}.winner-overlay[data-v-212c8e81]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fadeIn-212c8e81 .2s ease}@keyframes fadeIn-212c8e81{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.winner-card[data-v-212c8e81]{background:#fff;padding:32px;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:var(--shadow-lg);animation:slideUp-212c8e81 .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp-212c8e81{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.winner-text[data-v-212c8e81]{font-size:1rem;color:var(--muted);font-weight:600;letter-spacing:1px}.winner-symbol[data-v-212c8e81]{font-size:80px;font-weight:900;line-height:1}.winner-card button[data-v-212c8e81]{margin-top:8px}.meta-card[data-v-212c8e81]{background:linear-gradient(135deg,#fff,#f8fafc);padding:16px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:12px;border:1px solid #e2e8f0}.meta-row[data-v-212c8e81]{display:flex;align-items:center;gap:12px;font-size:.95rem;padding:8px 0;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.meta-row[data-v-212c8e81]:last-child{border-bottom:none}.meta-row strong[data-v-212c8e81]{color:#1e293b;font-weight:600}.meta-row.meta-header[data-v-212c8e81]{justify-content:space-between;align-items:center;border-bottom:none;padding-bottom:8px}.room-id[data-v-212c8e81]{font-weight:600;color:#1e293b}.copy-btn[data-v-212c8e81]{padding:6px 10px;font-size:.85rem}.role[data-v-212c8e81]{color:#1e293b;font-weight:600}.player-label[data-v-212c8e81]{display:inline-block;padding:4px 8px;background:#eef2ff;color:var(--accent);border-radius:var(--radius-sm);font-weight:600;font-size:.9rem}.spectators[data-v-212c8e81]{color:var(--muted)}.players[data-v-212c8e81]{justify-content:flex-start;gap:16px;padding:12px 0;flex-wrap:wrap}.player-badge[data-v-212c8e81]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;background:#f9fafb;border-radius:var(--radius-md);border:1px solid #e2e8f0;min-width:100px;transition:all .2s}.player-badge.active[data-v-212c8e81]{background:linear-gradient(135deg,#eef2ff,#f0f4f8);border-color:var(--accent);box-shadow:0 0 12px #2563eb1a}.player-badge .sym[data-v-212c8e81]{font-size:1.5rem;font-weight:900;color:#1e293b}.player-badge .name[data-v-212c8e81]{font-size:.85rem;color:var(--muted);text-align:center;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:4px}.ai-tag[data-v-212c8e81]{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:999px;font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;box-shadow:0 2px 6px #f59e0b40;animation:pulse-ai-212c8e81 2s ease-in-out infinite}.ai-icon[data-v-212c8e81]{display:inline-flex;font-size:.8rem;animation:float-ai-212c8e81 3s ease-in-out infinite}.ai-label[data-v-212c8e81]{font-size:.65rem;letter-spacing:.5px}@keyframes pulse-ai-212c8e81{0%,to{box-shadow:0 2px 6px #f59e0b40}50%{box-shadow:0 2px 12px #f59e0b66}}@keyframes float-ai-212c8e81{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@media (max-width:768px){.ai-tag[data-v-212c8e81]{animation:none;padding:2px 5px;font-size:.65rem}.ai-icon[data-v-212c8e81]{animation:none;font-size:.75rem}.ai-label[data-v-212c8e81]{font-size:.6rem}.player-badge .name[data-v-212c8e81]{font-size:.8rem;max-width:80px;gap:3px}}@media (max-width:480px){.ai-tag[data-v-212c8e81]{padding:1px 4px;font-size:.6rem}.ai-icon[data-v-212c8e81]{font-size:.7rem}.ai-label[data-v-212c8e81]{font-size:.55rem;letter-spacing:0}.player-badge .name[data-v-212c8e81]{font-size:.75rem;max-width:70px}}.vs[data-v-212c8e81]{color:#cbd5e1;font-weight:700;font-size:1.2rem}.turn[data-v-212c8e81]{font-weight:600;color:#1e293b}.next-board[data-v-212c8e81]{color:var(--muted)}.helper-text[data-v-212c8e81]{padding:12px;background:#f9fafb;border-radius:var(--radius-md);border-left:3px solid #cbd5e1;color:var(--muted);font-size:.9rem;margin:8px 0;width:100%;box-sizing:border-box}.helper-text.canMove[data-v-212c8e81]{border-left-color:var(--success);background:#ecfdf5;color:#065f46;font-weight:500}.status-row[data-v-212c8e81]{justify-content:space-between;flex-wrap:wrap}.requests[data-v-212c8e81]{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;border-bottom:none;padding:12px;background:#fef3c7;border-radius:var(--radius-md);margin:0}.requests .muted[data-v-212c8e81]{margin-right:0}:root{--bg:#f8fafc;--accent:#2563eb;--x-color:#ef4444;--o-color:#3b82f6;--muted:#64748b;--success:#10b981;--shadow-sm:0 2px 6px rgba(15,23,42,.08);--shadow-md:0 4px 12px rgba(15,23,42,.12);--shadow-lg:0 8px 24px rgba(15,23,42,.15);--radius-sm:4px;--radius-md:8px;--radius-lg:12px}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(135deg,#f8fafc,#eef2ff);color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6}.app{padding:16px;max-width:1200px;margin:0 auto}header{text-align:center;border-bottom:1px solid rgba(51,65,85,.1);background:linear-gradient(180deg,#fffc,#fff6);margin:-16px -16px 16px;padding:20px 16px 16px}header h1{font-size:1.8rem;margin:0;background:linear-gradient(135deg,var(--accent) 0%,#06b6d4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}button{padding:9px 14px;border-radius:var(--radius-md);border:1px solid transparent;background:#fff;color:#1e293b;cursor:pointer;font-weight:500;font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}button.primary{background:linear-gradient(135deg,var(--accent) 0%,#1d4ed8 100%);color:#fff;border-color:transparent;font-weight:600;box-shadow:0 4px 12px #2563eb4d}button.primary:hover:not(:disabled){box-shadow:0 6px 20px #2563eb66}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}.controls{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap;background:#fff;padding:14px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.controls input,.controls select{padding:9px 12px;border-radius:var(--radius-md);border:1px solid #cbd5e1;background:#fff;color:#1e293b;transition:border-color .2s;font-size:.95rem}.controls input:focus,.controls select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.controls label{display:flex;align-items:center;gap:6px;font-size:.95rem;color:#334155}.ai-option{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#fef3c7,#fef08a);border:2px solid #fcd34d;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-weight:500;color:#92400e}.ai-option:hover:not(:has(input:disabled)){background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b33}.ai-option input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#f59e0b}.ai-option input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.ai-option-content{display:flex;align-items:center;gap:6px}.ai-option-icon{font-size:1.1rem;display:inline-block;animation:bounce-ai 2s ease-in-out infinite}@keyframes bounce-ai{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.controls .muted{color:var(--muted);font-size:.9rem;margin-left:auto}.error{color:#dc2626;margin-top:8px;padding:10px 12px;background:#fee2e2;border-radius:var(--radius-md);font-size:.95rem}.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#f0f4f8,#f9fafb);border:1px solid #e2e8f0;font-weight:600;font-size:.9rem}.turn-x{color:var(--x-color)}.turn-o{color:var(--o-color)}footer{margin-top:24px;padding-top:16px;border-top:1px solid rgba(51,65,85,.1);color:var(--muted);font-size:.9rem;text-align:center}@media (max-width:768px){.app{padding:12px;max-width:100%}header{padding:12px 12px 8px;margin:-12px -12px 12px}header h1{font-size:1.4rem}.controls{flex-direction:column;align-items:stretch;padding:12px;gap:8px;margin-bottom:12px}.controls input,.controls select,.controls button{width:100%;font-size:.9rem;padding:8px 10px}.controls .muted{margin-left:0;margin-top:6px}.ai-option{width:100%;justify-content:space-between;padding:10px;font-size:.9rem}.ai-option-icon{animation:none}}@media (max-width:480px){.controls input,.controls select,.controls button{padding:8px;font-size:.85rem}.ai-option{padding:8px;gap:6px;font-size:.85rem}.ai-option-icon{font-size:1rem}.ai-option-text{font-size:.85rem}}
