@my-games/sudoku-core 0.0.0-stage → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +20 -2
- package/dist/index.cjs +21 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.iife.js +24 -0
- package/dist/index.iife.js.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/index.umd.js +25 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +80 -3
- package/src/index.ts +17 -0
- package/src/style.css +17 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 xyj2156
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @my-games/sudoku-core
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> 数独引擎核心,纯 TypeScript、无框架依赖。**当前为 `0.0.0` 占位版本**,
|
|
4
|
+
> 仅导出占位常量,用于种下 npm 首版并配置 Trusted Publisher。
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
pnpm add @my-games/sudoku-core
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
```ts
|
|
11
|
+
import { SUDOKU_PACKAGE, SUDOKU_STAGE } from '@my-games/sudoku-core';
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
真实引擎(`Sudoku` 类 + 求解器 + 生成器 + 存档)将在占位包发布后作为后续提交补入。
|
|
15
|
+
产出 ESM / CJS / UMD / IIFE 四格式;IIFE/UMD 全局名 `SudokuCore`。样式:`@my-games/sudoku-core/style.css`。
|
|
16
|
+
|
|
17
|
+
完整说明见仓库根 README:<https://github.com/my-gam/sudoku#readme>
|
|
18
|
+
|
|
19
|
+
## License
|
|
20
|
+
|
|
21
|
+
MIT.
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
// src/index.ts
|
|
3
|
+
/**
|
|
4
|
+
* @my-games/sudoku-core —— `0.0.0` 占位实现。
|
|
5
|
+
*
|
|
6
|
+
* 这是一个「空包」骨架:目的仅是把 monorepo 的
|
|
7
|
+
* `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,
|
|
8
|
+
* 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。
|
|
9
|
+
*
|
|
10
|
+
* 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机
|
|
11
|
+
* (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包
|
|
12
|
+
* 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。
|
|
13
|
+
*/
|
|
14
|
+
/** 包标识占位。 */
|
|
15
|
+
var SUDOKU_PACKAGE = "sudoku-core";
|
|
16
|
+
/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */
|
|
17
|
+
var SUDOKU_STAGE = "0.0.0";
|
|
18
|
+
exports.SUDOKU_PACKAGE = SUDOKU_PACKAGE;
|
|
19
|
+
exports.SUDOKU_STAGE = SUDOKU_STAGE;
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * @my-games/sudoku-core —— `0.0.0` 占位实现。\n *\n * 这是一个「空包」骨架:目的仅是把 monorepo 的\n * `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,\n * 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。\n *\n * 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机\n * (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包\n * 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。\n */\n\n/** 包标识占位。 */\nexport const SUDOKU_PACKAGE = 'sudoku-core' as const;\n\n/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */\nexport const SUDOKU_STAGE = '0.0.0' as const;\n"],"mappings":";;;;;;;;;;;;;;AAaA,IAAa,iBAAiB;;AAG9B,IAAa,eAAe"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @my-games/sudoku-core —— `0.0.0` 占位实现。
|
|
3
|
+
*
|
|
4
|
+
* 这是一个「空包」骨架:目的仅是把 monorepo 的
|
|
5
|
+
* `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,
|
|
6
|
+
* 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。
|
|
7
|
+
*
|
|
8
|
+
* 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机
|
|
9
|
+
* (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包
|
|
10
|
+
* 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。
|
|
11
|
+
*/
|
|
12
|
+
/** 包标识占位。 */
|
|
13
|
+
export declare const SUDOKU_PACKAGE: "sudoku-core";
|
|
14
|
+
/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */
|
|
15
|
+
export declare const SUDOKU_STAGE: "0.0.0";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,aAAa;AACb,eAAO,MAAM,cAAc,EAAG,aAAsB,CAAC;AAErD,wDAAwD;AACxD,eAAO,MAAM,YAAY,EAAG,OAAgB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var SudokuCore = (function(exports) {
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
// src/index.ts
|
|
4
|
+
/**
|
|
5
|
+
* @my-games/sudoku-core —— `0.0.0` 占位实现。
|
|
6
|
+
*
|
|
7
|
+
* 这是一个「空包」骨架:目的仅是把 monorepo 的
|
|
8
|
+
* `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,
|
|
9
|
+
* 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。
|
|
10
|
+
*
|
|
11
|
+
* 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机
|
|
12
|
+
* (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包
|
|
13
|
+
* 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。
|
|
14
|
+
*/
|
|
15
|
+
/** 包标识占位。 */
|
|
16
|
+
var SUDOKU_PACKAGE = "sudoku-core";
|
|
17
|
+
/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */
|
|
18
|
+
var SUDOKU_STAGE = "0.0.0";
|
|
19
|
+
exports.SUDOKU_PACKAGE = SUDOKU_PACKAGE;
|
|
20
|
+
exports.SUDOKU_STAGE = SUDOKU_STAGE;
|
|
21
|
+
return exports;
|
|
22
|
+
})({});
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=index.iife.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.iife.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * @my-games/sudoku-core —— `0.0.0` 占位实现。\n *\n * 这是一个「空包」骨架:目的仅是把 monorepo 的\n * `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,\n * 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。\n *\n * 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机\n * (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包\n * 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。\n */\n\n/** 包标识占位。 */\nexport const SUDOKU_PACKAGE = 'sudoku-core' as const;\n\n/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */\nexport const SUDOKU_STAGE = '0.0.0' as const;\n"],"mappings":";;;;;;;;;;;;;;;CAaA,IAAa,iBAAiB;;CAG9B,IAAa,eAAe"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// src/index.ts
|
|
2
|
+
/**
|
|
3
|
+
* @my-games/sudoku-core —— `0.0.0` 占位实现。
|
|
4
|
+
*
|
|
5
|
+
* 这是一个「空包」骨架:目的仅是把 monorepo 的
|
|
6
|
+
* `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,
|
|
7
|
+
* 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。
|
|
8
|
+
*
|
|
9
|
+
* 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机
|
|
10
|
+
* (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包
|
|
11
|
+
* 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。
|
|
12
|
+
*/
|
|
13
|
+
/** 包标识占位。 */
|
|
14
|
+
var SUDOKU_PACKAGE = "sudoku-core";
|
|
15
|
+
/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */
|
|
16
|
+
var SUDOKU_STAGE = "0.0.0";
|
|
17
|
+
export { SUDOKU_PACKAGE, SUDOKU_STAGE };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * @my-games/sudoku-core —— `0.0.0` 占位实现。\n *\n * 这是一个「空包」骨架:目的仅是把 monorepo 的\n * `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,\n * 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。\n *\n * 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机\n * (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包\n * 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。\n */\n\n/** 包标识占位。 */\nexport const SUDOKU_PACKAGE = 'sudoku-core' as const;\n\n/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */\nexport const SUDOKU_STAGE = '0.0.0' as const;\n"],"mappings":";;;;;;;;;;;;;AAaA,IAAa,iBAAiB;;AAG9B,IAAa,eAAe"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
(function(global, factory) {
|
|
2
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.SudokuCore = {}));
|
|
3
|
+
})(this, function(exports) {
|
|
4
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
5
|
+
// src/index.ts
|
|
6
|
+
/**
|
|
7
|
+
* @my-games/sudoku-core —— `0.0.0` 占位实现。
|
|
8
|
+
*
|
|
9
|
+
* 这是一个「空包」骨架:目的仅是把 monorepo 的
|
|
10
|
+
* `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,
|
|
11
|
+
* 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。
|
|
12
|
+
*
|
|
13
|
+
* 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机
|
|
14
|
+
* (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包
|
|
15
|
+
* 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。
|
|
16
|
+
*/
|
|
17
|
+
/** 包标识占位。 */
|
|
18
|
+
var SUDOKU_PACKAGE = "sudoku-core";
|
|
19
|
+
/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */
|
|
20
|
+
var SUDOKU_STAGE = "0.0.0";
|
|
21
|
+
exports.SUDOKU_PACKAGE = SUDOKU_PACKAGE;
|
|
22
|
+
exports.SUDOKU_STAGE = SUDOKU_STAGE;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=index.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * @my-games/sudoku-core —— `0.0.0` 占位实现。\n *\n * 这是一个「空包」骨架:目的仅是把 monorepo 的\n * `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,\n * 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。\n *\n * 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机\n * (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包\n * 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。\n */\n\n/** 包标识占位。 */\nexport const SUDOKU_PACKAGE = 'sudoku-core' as const;\n\n/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */\nexport const SUDOKU_STAGE = '0.0.0' as const;\n"],"mappings":";;;;;;;;;;;;;;;;;CAaA,IAAa,iBAAiB;;CAG9B,IAAa,eAAe"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,83 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@my-games/sudoku-core",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Framework-agnostic Sudoku game engine with a backtracking solver and unique-puzzle generator; ships ESM, CJS, UMD and IIFE builds. 无框架依赖的数独引擎,四格式产出。",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"browser": "./dist/index.iife.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"unpkg": "./dist/index.iife.js",
|
|
11
|
+
"jsdelivr": "./dist/index.iife.js",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js",
|
|
16
|
+
"require": "./dist/index.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./umd": "./dist/index.umd.js",
|
|
19
|
+
"./iife": "./dist/index.iife.js",
|
|
20
|
+
"./style.css": "./src/style.css",
|
|
21
|
+
"./package.json": "./package.json"
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"src",
|
|
26
|
+
"README.md"
|
|
27
|
+
],
|
|
28
|
+
"sideEffects": [
|
|
29
|
+
"./src/style.css"
|
|
30
|
+
],
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"typescript": "^7.0.2",
|
|
33
|
+
"vite": "^8.3.5",
|
|
34
|
+
"vite-plugin-dts": "^5.1.2",
|
|
35
|
+
"vitest": "^5.0.5"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=18"
|
|
39
|
+
},
|
|
40
|
+
"keywords": [
|
|
41
|
+
"sudoku",
|
|
42
|
+
"game",
|
|
43
|
+
"game-engine",
|
|
44
|
+
"puzzle",
|
|
45
|
+
"core",
|
|
46
|
+
"solver",
|
|
47
|
+
"generator",
|
|
48
|
+
"backtracking",
|
|
49
|
+
"typescript",
|
|
50
|
+
"esm",
|
|
51
|
+
"cjs",
|
|
52
|
+
"umd",
|
|
53
|
+
"iife",
|
|
54
|
+
"browser",
|
|
55
|
+
"h5",
|
|
56
|
+
"mobile-web",
|
|
57
|
+
"zero-dependencies",
|
|
58
|
+
"cross-framework"
|
|
59
|
+
],
|
|
60
|
+
"license": "MIT",
|
|
61
|
+
"author": {
|
|
62
|
+
"name": "xyj2156"
|
|
63
|
+
},
|
|
64
|
+
"repository": {
|
|
65
|
+
"type": "git",
|
|
66
|
+
"url": "git+https://github.com/my-gam/sudoku.git",
|
|
67
|
+
"directory": "packages/core"
|
|
68
|
+
},
|
|
69
|
+
"homepage": "https://github.com/my-gam/sudoku/tree/main/packages/core#readme",
|
|
70
|
+
"bugs": {
|
|
71
|
+
"url": "https://github.com/my-gam/sudoku/issues"
|
|
72
|
+
},
|
|
73
|
+
"publishConfig": {
|
|
74
|
+
"access": "public"
|
|
75
|
+
},
|
|
76
|
+
"scripts": {
|
|
77
|
+
"build": "vite build --mode lib",
|
|
78
|
+
"dev": "vite build --mode lib --watch",
|
|
79
|
+
"test": "vitest run",
|
|
80
|
+
"test:watch": "vitest",
|
|
81
|
+
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
82
|
+
}
|
|
6
83
|
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @my-games/sudoku-core —— `0.0.0` 占位实现。
|
|
3
|
+
*
|
|
4
|
+
* 这是一个「空包」骨架:目的仅是把 monorepo 的
|
|
5
|
+
* `build → verify:dist → typecheck → test` 门禁与 npm Trusted Publisher 链路跑通,
|
|
6
|
+
* 好让首版(可信发布者无法发某包的第一个版本)能先手工种进 registry。
|
|
7
|
+
*
|
|
8
|
+
* 真实数独引擎 —— 棋盘校验、回溯求解器、唯一解题生成、`Sudoku` 状态机
|
|
9
|
+
* (选格/填数/擦除/笔记/提示/撤销/计时)、注入式存档与最佳用时 —— 已在占位包
|
|
10
|
+
* 发布前按同一三层结构写好并暂存,待 `0.0.0` 上线后作为后续提交补回。
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** 包标识占位。 */
|
|
14
|
+
export const SUDOKU_PACKAGE = 'sudoku-core' as const;
|
|
15
|
+
|
|
16
|
+
/** 占位版本,与 package.json 的 version 对齐,便于确认发的是 stage 包。 */
|
|
17
|
+
export const SUDOKU_STAGE = '0.0.0' as const;
|
package/src/style.css
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @my-games/sudoku-core —— 0.0.0 占位样式表(单数命名 ./style.css)。
|
|
3
|
+
*
|
|
4
|
+
* 空骨架阶段只放最小基类,保证三包各自构建能产出非空 dist/index.css
|
|
5
|
+
* (verify:dist 守卫要求 vue/react 的 index.css 存在且非 0 字节)。
|
|
6
|
+
* 真实棋盘样式(3×3 宫格布局、题面/用户/冲突配色、铅笔笔记迷你格)随引擎补入。
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
.game-sudoku {
|
|
10
|
+
display: inline-flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: 8px;
|
|
13
|
+
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
|
|
14
|
+
color: #1f2d3d;
|
|
15
|
+
user-select: none;
|
|
16
|
+
-webkit-tap-highlight-color: transparent;
|
|
17
|
+
}
|