.fl-game[data-v-bc0ea031]{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-md);touch-action:manipulation}.fl-tabs[data-v-bc0ea031]{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center;align-items:center}.fl-seg[data-v-bc0ea031]{display:flex;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius-chip);padding:3px;background:var(--color-surface)}.fl-seg-btn[data-v-bc0ea031]{border:none;background:transparent;border-radius:calc(var(--radius-chip) - 3px);padding:5px 12px;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.fl-seg-btn.on[data-v-bc0ea031]{background:var(--color-primary);color:#fff}.fl-daily-tag[data-v-bc0ea031]{font-weight:700;color:var(--game-color, var(--color-primary));display:inline-flex;align-items:center;gap:6px}.fl-wrap[data-v-bc0ea031]{width:100%;display:flex;justify-content:center}.fl-board[data-v-bc0ea031]{position:relative;background:#fff;border-radius:4px;box-shadow:var(--shadow-board);box-sizing:border-box;user-select:none}.fl-cell[data-v-bc0ea031]{position:absolute;margin:0;padding:0;border-width:0;border-style:none;background:#fff;box-sizing:border-box;cursor:pointer;font-size:18px;font-weight:700;color:#0f172a;display:flex;align-items:center;justify-content:center}.fl-cell.given[data-v-bc0ea031]{color:#1d4ed8}.fl-cell.sel[data-v-bc0ea031]{background:#fff3d6!important;outline:2px solid #F59E0B;outline-offset:-2px;z-index:2}.fl-cell.bad[data-v-bc0ea031]{background:#ef44444d!important;color:#b91c1c}.fl-pad[data-v-bc0ea031]{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.fl-pad-btn[data-v-bc0ea031]{width:40px;height:40px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);font-size:16px;font-weight:700;color:var(--color-text);cursor:pointer}.fl-pad-btn[data-v-bc0ea031]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.fl-pad-btn[data-v-bc0ea031]:disabled{opacity:.35;cursor:default}.fl-pad-erase[data-v-bc0ea031]{color:var(--color-text-muted)}.fl-info[data-v-bc0ea031]{display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.fl-timer[data-v-bc0ea031],.fl-best[data-v-bc0ea031]{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:14px}.fl-conflict-tag[data-v-bc0ea031]{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:13px;color:#b91c1c}.fl-best[data-v-bc0ea031]{color:var(--game-color, var(--color-primary))}.fl-actions[data-v-bc0ea031]{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.fl-btn[data-v-bc0ea031]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-button);padding:8px 14px;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.fl-btn[data-v-bc0ea031]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.fl-btn[data-v-bc0ea031]:disabled{opacity:.4;cursor:default}.fl-legend[data-v-bc0ea031]{font-size:13px;color:var(--color-text-muted);text-align:center;margin:0;max-width:640px}.fl-overlay[data-v-bc0ea031]{position:fixed;inset:0;z-index:300;background:#1118278c;display:flex;align-items:center;justify-content:center}.fl-modal[data-v-bc0ea031]{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;max-width:320px;width:86%;box-shadow:var(--shadow-board)}.fl-close[data-v-bc0ea031]{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:15px;cursor:pointer;line-height:1}.fl-close[data-v-bc0ea031]:hover{background:var(--color-surface-hover);color:var(--color-text)}.fl-modal h2[data-v-bc0ea031]{margin-bottom:var(--space-md)}.fl-msg[data-v-bc0ea031]{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.fl-acts[data-v-bc0ea031]{display:flex;flex-direction:column;gap:var(--space-sm)}
