@pieai/swimmer-ui-kit 1.0.0 → 1.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/CHANGELOG.md +12 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +63 -49
- package/dist/styles.css +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to `@pieai/swimmer-ui-kit`.
|
|
4
4
|
Format: [Keep a Changelog](https://keepachangelog.com); versioning: semver.
|
|
5
5
|
|
|
6
|
+
## 1.0.1 — 2026-07-11
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- `GameCallout`, a token-driven notice surface for wallet pitches, onboarding
|
|
11
|
+
hints, warnings, success messages, and other compact product notices.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- `GameButton` keeps a 44px minimum hit target on coarse pointers while allowing
|
|
16
|
+
denser 40px controls for precise pointers.
|
|
17
|
+
|
|
6
18
|
## 1.0.0 — 2026-07-03
|
|
7
19
|
|
|
8
20
|
1.0 is a stability contract, not a feature drop: exported components and
|
package/dist/index.d.ts
CHANGED
|
@@ -892,6 +892,21 @@ export declare interface GameButtonProps extends ButtonHTMLAttributes<HTMLButton
|
|
|
892
892
|
|
|
893
893
|
export declare type GameButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'success';
|
|
894
894
|
|
|
895
|
+
/**
|
|
896
|
+
* Compact product notice (wallet pitch, soft warnings, onboarding hints).
|
|
897
|
+
* Token-driven; products may still override cinema theme in host CSS.
|
|
898
|
+
*/
|
|
899
|
+
export declare function GameCallout({ heading, children, tone, className, ...props }: GameCalloutProps): ReactNode;
|
|
900
|
+
|
|
901
|
+
export declare interface GameCalloutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
902
|
+
/** Visible heading (not HTML title attribute). */
|
|
903
|
+
readonly heading?: ReactNode;
|
|
904
|
+
readonly children: ReactNode;
|
|
905
|
+
readonly tone?: GameCalloutTone;
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
export declare type GameCalloutTone = 'neutral' | 'info' | 'warning' | 'success' | 'danger';
|
|
909
|
+
|
|
895
910
|
export declare function GameCardFan({ cards, className, label }: GameCardFanProps): ReactNode;
|
|
896
911
|
|
|
897
912
|
export declare interface GameCardFanCard {
|
package/dist/index.js
CHANGED
|
@@ -76,6 +76,19 @@ function C({
|
|
|
76
76
|
l && ra(l), i?.(b);
|
|
77
77
|
}, type: s, ...d, children: a });
|
|
78
78
|
}
|
|
79
|
+
function Ti({
|
|
80
|
+
heading: a,
|
|
81
|
+
children: t,
|
|
82
|
+
tone: i = "info",
|
|
83
|
+
className: l,
|
|
84
|
+
...n
|
|
85
|
+
}) {
|
|
86
|
+
const s = ["game-ui-callout", `game-ui-callout--${i}`, l].filter(Boolean).join(" ");
|
|
87
|
+
return /* @__PURE__ */ o("div", { className: s, role: "note", "data-tone": i, ...n, children: [
|
|
88
|
+
a ? /* @__PURE__ */ e("div", { className: "game-ui-callout-title", children: a }) : null,
|
|
89
|
+
/* @__PURE__ */ e("div", { className: "game-ui-callout-body", children: t })
|
|
90
|
+
] });
|
|
91
|
+
}
|
|
79
92
|
function ca({ children: a, className: t, title: i }) {
|
|
80
93
|
const l = Y(), n = ["game-ui-dialog", t].filter(Boolean).join(" ");
|
|
81
94
|
return /* @__PURE__ */ o("section", { "aria-labelledby": l, "aria-modal": "true", className: n, role: "dialog", children: [
|
|
@@ -194,7 +207,7 @@ function ha({ items: a, label: t }) {
|
|
|
194
207
|
function ke({ children: a, tone: t = "info" }) {
|
|
195
208
|
return /* @__PURE__ */ e("div", { className: "game-ui-toast", "data-toast-tone": t, role: t === "danger" ? "alert" : "status", children: a });
|
|
196
209
|
}
|
|
197
|
-
function
|
|
210
|
+
function Ci({ actionLabel: a, children: t, title: i }) {
|
|
198
211
|
return /* @__PURE__ */ o("section", { "aria-label": i, className: "game-ui-prompt", children: [
|
|
199
212
|
/* @__PURE__ */ o("div", { children: [
|
|
200
213
|
/* @__PURE__ */ e("h3", { children: i }),
|
|
@@ -319,7 +332,7 @@ const N = {
|
|
|
319
332
|
terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)",
|
|
320
333
|
buildRailCardSize: "var(--game-ui-build-rail-card-size)",
|
|
321
334
|
brushNumberWidth: "var(--game-ui-brush-number-width)"
|
|
322
|
-
},
|
|
335
|
+
}, Ai = {
|
|
323
336
|
colors: N,
|
|
324
337
|
semantic: ne,
|
|
325
338
|
typography: le,
|
|
@@ -514,16 +527,16 @@ function wa(a) {
|
|
|
514
527
|
return `data:image/svg+xml,${encodeURIComponent(n)}`;
|
|
515
528
|
}
|
|
516
529
|
let be = "inline";
|
|
517
|
-
function
|
|
530
|
+
function Bi(a) {
|
|
518
531
|
be = a;
|
|
519
532
|
}
|
|
520
|
-
function
|
|
533
|
+
function xi() {
|
|
521
534
|
return be;
|
|
522
535
|
}
|
|
523
536
|
function Z(a, t = {}) {
|
|
524
537
|
return t.inline ?? be === "inline" ? wa(a) : he(a, t.style);
|
|
525
538
|
}
|
|
526
|
-
function
|
|
539
|
+
function Ii(a, t) {
|
|
527
540
|
return he(a, t);
|
|
528
541
|
}
|
|
529
542
|
function S({ children: a, className: t, tone: i = "neutral" }) {
|
|
@@ -641,7 +654,7 @@ function Se({ label: a, tone: t = "loading" }) {
|
|
|
641
654
|
/* @__PURE__ */ e("span", { children: a })
|
|
642
655
|
] });
|
|
643
656
|
}
|
|
644
|
-
function
|
|
657
|
+
function Ei() {
|
|
645
658
|
return V.catalog;
|
|
646
659
|
}
|
|
647
660
|
function z({ fallback: a, slot: t }) {
|
|
@@ -809,7 +822,7 @@ function He({
|
|
|
809
822
|
u ? /* @__PURE__ */ e("div", { className: "game-ui-shell-overlay", children: u }) : null
|
|
810
823
|
] });
|
|
811
824
|
}
|
|
812
|
-
const
|
|
825
|
+
const Ri = He;
|
|
813
826
|
function ve({ className: a, density: t = "comfortable", facts: i, label: l, variant: n = "facts" }) {
|
|
814
827
|
const s = ["game-ui-fact-list", a].filter(Boolean).join(" ");
|
|
815
828
|
return /* @__PURE__ */ e("section", { "aria-label": l, className: s, "data-density": t, "data-variant": n, children: i.map((r) => /* @__PURE__ */ o("article", { className: "game-ui-fact", children: [
|
|
@@ -822,7 +835,7 @@ function ve({ className: a, density: t = "comfortable", facts: i, label: l, vari
|
|
|
822
835
|
r.tone ? /* @__PURE__ */ e(S, { tone: r.tone, children: n === "stats" ? r.label : r.value }) : null
|
|
823
836
|
] }, r.id)) });
|
|
824
837
|
}
|
|
825
|
-
const
|
|
838
|
+
const Mi = ve;
|
|
826
839
|
function U({ actions: a, className: t, density: i = "comfortable", iconLabelMode: l = "hidden", label: n, style: s = "button" }) {
|
|
827
840
|
const r = ["game-ui-action-grid", t].filter(Boolean).join(" ");
|
|
828
841
|
return /* @__PURE__ */ o(K, { className: r, "data-icon-label-mode": s === "icon" ? l : void 0, label: n, children: [
|
|
@@ -1062,7 +1075,7 @@ function Ue({
|
|
|
1062
1075
|
s.length > 0 ? /* @__PURE__ */ e(U, { actions: s, density: l, label: `${v} object actions`, style: "icon" }) : null
|
|
1063
1076
|
] }) });
|
|
1064
1077
|
}
|
|
1065
|
-
const
|
|
1078
|
+
const Gi = Ue, fe = {
|
|
1066
1079
|
build: "home",
|
|
1067
1080
|
flatten: "card",
|
|
1068
1081
|
inspect: "compass",
|
|
@@ -1091,7 +1104,7 @@ function Oa(a, t, i, l) {
|
|
|
1091
1104
|
};
|
|
1092
1105
|
return a.ariaLabel && (n.ariaLabel = a.ariaLabel), a.compactLabel && (n.compactLabel = a.compactLabel), a.meta && (n.meta = a.meta), a.shortcut && (n.shortcut = a.shortcut), i && (n.onAction = i), n;
|
|
1093
1106
|
}
|
|
1094
|
-
function
|
|
1107
|
+
function j(a, t, i) {
|
|
1095
1108
|
return Number.isNaN(a) ? t : Math.min(i, Math.max(t, a));
|
|
1096
1109
|
}
|
|
1097
1110
|
function Pa(a, t) {
|
|
@@ -1168,10 +1181,10 @@ function Va({
|
|
|
1168
1181
|
variant: s = "desktop",
|
|
1169
1182
|
"data-testid": r
|
|
1170
1183
|
}) {
|
|
1171
|
-
const d = ["game-ui-brush-controls", a].filter(Boolean).join(" "), u = n.minRadius ?? 1, c = n.maxRadius ?? 8, b = n.radiusStep ?? 0.25, g = n.minStrength ?? 0, v = n.maxStrength ?? 1, y = n.strengthStep ?? 0.05, k =
|
|
1172
|
-
i?.(
|
|
1184
|
+
const d = ["game-ui-brush-controls", a].filter(Boolean).join(" "), u = n.minRadius ?? 1, c = n.maxRadius ?? 8, b = n.radiusStep ?? 0.25, g = n.minStrength ?? 0, v = n.maxStrength ?? 1, y = n.strengthStep ?? 0.05, k = j(n.radius, u, c), p = j(n.strength, g, v), f = !!n.disabled, w = (A) => {
|
|
1185
|
+
i?.(j(Number(A.currentTarget.value), u, c));
|
|
1173
1186
|
}, h = (A) => {
|
|
1174
|
-
l?.(
|
|
1187
|
+
l?.(j(Number(A.currentTarget.value), g, v));
|
|
1175
1188
|
};
|
|
1176
1189
|
return /* @__PURE__ */ o("section", { className: d, "data-ui-hook": "brush-controls", "data-variant": s, "data-testid": r, children: [
|
|
1177
1190
|
/* @__PURE__ */ e(H, { ...t.radiusHint ? { hint: t.radiusHint } : {}, label: t.radius ?? "Brush radius", children: /* @__PURE__ */ o("div", { className: "game-ui-brush-control-row", "data-control": "radius", children: [
|
|
@@ -1430,7 +1443,7 @@ function $a({ status: a }) {
|
|
|
1430
1443
|
) : null
|
|
1431
1444
|
] });
|
|
1432
1445
|
}
|
|
1433
|
-
function
|
|
1446
|
+
function ja({
|
|
1434
1447
|
activeBuildCategoryId: a,
|
|
1435
1448
|
activeMaterialId: t,
|
|
1436
1449
|
activeModeId: i,
|
|
@@ -1493,7 +1506,7 @@ function Te({
|
|
|
1493
1506
|
"data-testid": d,
|
|
1494
1507
|
...u
|
|
1495
1508
|
}) {
|
|
1496
|
-
const c = ["game-ui-terrain-build-toolbox", a].filter(Boolean).join(" "), b = /* @__PURE__ */ e(
|
|
1509
|
+
const c = ["game-ui-terrain-build-toolbox", a].filter(Boolean).join(" "), b = /* @__PURE__ */ e(ja, { ...u, variant: r });
|
|
1497
1510
|
return r === "mobile" || r === "small-mobile" ? /* @__PURE__ */ e(
|
|
1498
1511
|
$e,
|
|
1499
1512
|
{
|
|
@@ -1509,7 +1522,7 @@ function Te({
|
|
|
1509
1522
|
}
|
|
1510
1523
|
) : /* @__PURE__ */ e(B, { className: c, "data-ui-hook": "terrain-build-toolbox", "data-variant": r, "data-testid": d, title: s, tone: "strong", children: /* @__PURE__ */ e("section", { "aria-label": l, children: b }) });
|
|
1511
1524
|
}
|
|
1512
|
-
const
|
|
1525
|
+
const je = {
|
|
1513
1526
|
accepted: "success",
|
|
1514
1527
|
blocked: "danger",
|
|
1515
1528
|
cancelled: "neutral",
|
|
@@ -1518,7 +1531,7 @@ const Fe = {
|
|
|
1518
1531
|
queued: "warning",
|
|
1519
1532
|
readyForReview: "success",
|
|
1520
1533
|
working: "ai"
|
|
1521
|
-
},
|
|
1534
|
+
}, Fe = {
|
|
1522
1535
|
accepted: "check",
|
|
1523
1536
|
blocked: "alert",
|
|
1524
1537
|
cancelled: "close",
|
|
@@ -1527,7 +1540,7 @@ const Fe = {
|
|
|
1527
1540
|
queued: "hourglass",
|
|
1528
1541
|
readyForReview: "vote",
|
|
1529
1542
|
working: "energy"
|
|
1530
|
-
},
|
|
1543
|
+
}, Fa = {
|
|
1531
1544
|
active: "ai",
|
|
1532
1545
|
blocked: "danger",
|
|
1533
1546
|
complete: "success",
|
|
@@ -1631,10 +1644,10 @@ function qe({
|
|
|
1631
1644
|
return /* @__PURE__ */ o("section", { "aria-label": t, className: v, "data-status": s, "data-ui-hook": "construction-progress", "data-variant": b, "data-testid": g, children: [
|
|
1632
1645
|
/* @__PURE__ */ o("header", { className: "game-ui-construction-progress-header", children: [
|
|
1633
1646
|
/* @__PURE__ */ o("span", { children: [
|
|
1634
|
-
/* @__PURE__ */ e(L, { icon:
|
|
1647
|
+
/* @__PURE__ */ e(L, { icon: Fe[s], size: "sm" }),
|
|
1635
1648
|
/* @__PURE__ */ e("strong", { children: l })
|
|
1636
1649
|
] }),
|
|
1637
|
-
n ? /* @__PURE__ */ e(S, { tone:
|
|
1650
|
+
n ? /* @__PURE__ */ e(S, { tone: je[s], children: k }) : null
|
|
1638
1651
|
] }),
|
|
1639
1652
|
/* @__PURE__ */ e(D, { label: l, max: i, showValue: !0, tone: Ka(s), value: y }),
|
|
1640
1653
|
d.length > 0 ? /* @__PURE__ */ e("ol", { className: "game-ui-construction-steps", "aria-label": `${l} steps`, children: d.map((p) => /* @__PURE__ */ o("li", { "data-step-status": p.status, children: [
|
|
@@ -1643,7 +1656,7 @@ function qe({
|
|
|
1643
1656
|
/* @__PURE__ */ e("strong", { children: p.label }),
|
|
1644
1657
|
p.caption ? /* @__PURE__ */ e("small", { children: p.caption }) : null
|
|
1645
1658
|
] }),
|
|
1646
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1659
|
+
/* @__PURE__ */ e(S, { tone: Fa[p.status], children: p.status })
|
|
1647
1660
|
] }, p.id)) }) : null,
|
|
1648
1661
|
u.length > 0 ? /* @__PURE__ */ e("div", { className: "game-ui-construction-warnings", "data-ui-hook": "construction-validation-warnings", children: u.map((p) => /* @__PURE__ */ o("div", { className: "game-ui-construction-warning", "data-warning-tone": p.tone ?? "warning", role: Za(p.tone), children: [
|
|
1649
1662
|
/* @__PURE__ */ e(L, { icon: p.tone === "danger" || p.tone === "warning" ? "alert" : "check", size: "sm" }),
|
|
@@ -1747,14 +1760,14 @@ function ae({
|
|
|
1747
1760
|
return /* @__PURE__ */ o("article", { className: b, "data-density": t, "data-job-id": i.id, "data-selected": s ? "true" : "false", "data-status": i.status, "data-ui-hook": "construction-job-card", "data-variant": u, "data-testid": c, children: [
|
|
1748
1761
|
/* @__PURE__ */ o("header", { className: "game-ui-construction-job-header", children: [
|
|
1749
1762
|
/* @__PURE__ */ o("button", { "aria-pressed": s, className: "game-ui-construction-job-select", disabled: !n, onClick: k, type: "button", children: [
|
|
1750
|
-
/* @__PURE__ */ e(L, { icon:
|
|
1763
|
+
/* @__PURE__ */ e(L, { icon: Fe[i.status], size: v ? "sm" : "md" }),
|
|
1751
1764
|
/* @__PURE__ */ o("span", { children: [
|
|
1752
1765
|
/* @__PURE__ */ e("strong", { children: i.title }),
|
|
1753
1766
|
i.description ? /* @__PURE__ */ e("small", { children: i.description }) : null
|
|
1754
1767
|
] })
|
|
1755
1768
|
] }),
|
|
1756
1769
|
/* @__PURE__ */ o("span", { className: "game-ui-construction-job-badges", children: [
|
|
1757
|
-
/* @__PURE__ */ e(S, { tone:
|
|
1770
|
+
/* @__PURE__ */ e(S, { tone: je[i.status], children: g }),
|
|
1758
1771
|
i.providerMode ? /* @__PURE__ */ e(S, { tone: Ye[i.providerMode], children: We[i.providerMode] }) : null,
|
|
1759
1772
|
i.badges?.map((f) => /* @__PURE__ */ e(S, { tone: f.tone ?? "neutral", children: f.label }, f.label))
|
|
1760
1773
|
] })
|
|
@@ -1957,7 +1970,7 @@ const Qa = {
|
|
|
1957
1970
|
collapse: "Collapse",
|
|
1958
1971
|
expand: "Expand"
|
|
1959
1972
|
};
|
|
1960
|
-
function
|
|
1973
|
+
function Oi({
|
|
1961
1974
|
actions: a,
|
|
1962
1975
|
children: t,
|
|
1963
1976
|
className: i,
|
|
@@ -2010,7 +2023,7 @@ const ei = {
|
|
|
2010
2023
|
minimize: "Minimize",
|
|
2011
2024
|
restore: "Restore"
|
|
2012
2025
|
};
|
|
2013
|
-
function
|
|
2026
|
+
function F({ kind: a }) {
|
|
2014
2027
|
return /* @__PURE__ */ e("svg", { "aria-hidden": "true", fill: "none", height: "14", viewBox: "0 0 14 14", width: "14", children: /* @__PURE__ */ e("path", { d: {
|
|
2015
2028
|
close: "M3 3l8 8M11 3l-8 8",
|
|
2016
2029
|
maximize: "M3 5V3h2M9 3h2v2M11 9v2H9M5 11H3V9",
|
|
@@ -2018,7 +2031,7 @@ function j({ kind: a }) {
|
|
|
2018
2031
|
restore: "M4 6h6v5H4zM6 6V4h6v5h-2"
|
|
2019
2032
|
}[a], stroke: "currentColor", strokeLinecap: "round", strokeWidth: "2" }) });
|
|
2020
2033
|
}
|
|
2021
|
-
function
|
|
2034
|
+
function Pi({
|
|
2022
2035
|
allowMaximize: a = !0,
|
|
2023
2036
|
allowMinimize: t = !0,
|
|
2024
2037
|
children: i,
|
|
@@ -2056,7 +2069,7 @@ function Oi({
|
|
|
2056
2069
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2057
2070
|
onClick: () => w(h ? "normal" : "minimized"),
|
|
2058
2071
|
type: "button",
|
|
2059
|
-
children: /* @__PURE__ */ e(
|
|
2072
|
+
children: /* @__PURE__ */ e(F, { kind: h ? "restore" : "minimize" })
|
|
2060
2073
|
}
|
|
2061
2074
|
) : null,
|
|
2062
2075
|
a ? /* @__PURE__ */ e(
|
|
@@ -2066,7 +2079,7 @@ function Oi({
|
|
|
2066
2079
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2067
2080
|
onClick: () => w(A ? "normal" : "maximized"),
|
|
2068
2081
|
type: "button",
|
|
2069
|
-
children: /* @__PURE__ */ e(
|
|
2082
|
+
children: /* @__PURE__ */ e(F, { kind: A ? "restore" : "maximize" })
|
|
2070
2083
|
}
|
|
2071
2084
|
) : null,
|
|
2072
2085
|
u ? /* @__PURE__ */ e(
|
|
@@ -2076,7 +2089,7 @@ function Oi({
|
|
|
2076
2089
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2077
2090
|
onClick: u,
|
|
2078
2091
|
type: "button",
|
|
2079
|
-
children: /* @__PURE__ */ e(
|
|
2092
|
+
children: /* @__PURE__ */ e(F, { kind: "close" })
|
|
2080
2093
|
}
|
|
2081
2094
|
) : null
|
|
2082
2095
|
] })
|
|
@@ -2089,7 +2102,7 @@ function Oi({
|
|
|
2089
2102
|
}
|
|
2090
2103
|
);
|
|
2091
2104
|
}
|
|
2092
|
-
function
|
|
2105
|
+
function _i({
|
|
2093
2106
|
children: a,
|
|
2094
2107
|
className: t,
|
|
2095
2108
|
closeLabel: i = "Close",
|
|
@@ -2129,7 +2142,7 @@ function Pi({
|
|
|
2129
2142
|
className: "game-ui-icon-button game-ui-window-button",
|
|
2130
2143
|
onClick: s,
|
|
2131
2144
|
type: "button",
|
|
2132
|
-
children: /* @__PURE__ */ e(
|
|
2145
|
+
children: /* @__PURE__ */ e(F, { kind: "close" })
|
|
2133
2146
|
}
|
|
2134
2147
|
)
|
|
2135
2148
|
] }),
|
|
@@ -2877,7 +2890,7 @@ function Ni() {
|
|
|
2877
2890
|
] })
|
|
2878
2891
|
] });
|
|
2879
2892
|
}
|
|
2880
|
-
function
|
|
2893
|
+
function zi({ title: a, body: t }) {
|
|
2881
2894
|
const [i, l] = M("en"), n = Qe[i], s = a && i === "en" ? a : n.heroTitle, r = t && i === "en" ? t : n.heroBody;
|
|
2882
2895
|
return te(() => (document.documentElement.dataset.gameUiPreview = "clay", () => {
|
|
2883
2896
|
delete document.documentElement.dataset.gameUiPreview;
|
|
@@ -2956,7 +2969,7 @@ function _i({ title: a, body: t }) {
|
|
|
2956
2969
|
] })
|
|
2957
2970
|
] }) });
|
|
2958
2971
|
}
|
|
2959
|
-
const
|
|
2972
|
+
const Vi = {
|
|
2960
2973
|
...ne,
|
|
2961
2974
|
...le,
|
|
2962
2975
|
...oe,
|
|
@@ -2965,7 +2978,7 @@ const zi = {
|
|
|
2965
2978
|
...ce,
|
|
2966
2979
|
...de,
|
|
2967
2980
|
...ue
|
|
2968
|
-
},
|
|
2981
|
+
}, Hi = me;
|
|
2969
2982
|
export {
|
|
2970
2983
|
V as CLAY_ASSETS,
|
|
2971
2984
|
ba as CLAY_ASSET_BASE_PATH,
|
|
@@ -2983,12 +2996,12 @@ export {
|
|
|
2983
2996
|
oe as CLAY_SPACE_TOKENS,
|
|
2984
2997
|
me as CLAY_TARGET_TOKENS,
|
|
2985
2998
|
le as CLAY_TYPE_TOKENS,
|
|
2986
|
-
|
|
2999
|
+
Ai as CLAY_UI_TOKENS,
|
|
2987
3000
|
La as FirstSessionHud,
|
|
2988
3001
|
Ta as FirstSessionOnboarding,
|
|
2989
3002
|
ai as GAME_UI_PREVIEW_MESSAGES,
|
|
2990
|
-
|
|
2991
|
-
|
|
3003
|
+
Hi as GAME_UI_TARGETS,
|
|
3004
|
+
Vi as GAME_UI_TOKENS,
|
|
2992
3005
|
U as GameActionGrid,
|
|
2993
3006
|
Ma as GameAssetCard,
|
|
2994
3007
|
L as GameAssetIcon,
|
|
@@ -2999,9 +3012,10 @@ export {
|
|
|
2999
3012
|
Va as GameBrushControls,
|
|
3000
3013
|
Ua as GameBuildLibrary,
|
|
3001
3014
|
C as GameButton,
|
|
3015
|
+
Ti as GameCallout,
|
|
3002
3016
|
Na as GameCardFan,
|
|
3003
3017
|
Aa as GameCheckbox,
|
|
3004
|
-
|
|
3018
|
+
Oi as GameCollapsiblePanel,
|
|
3005
3019
|
$e as GameCompactGameDrawer,
|
|
3006
3020
|
Xa as GameCompactJobDrawer,
|
|
3007
3021
|
Je as GameConstructionApprovalBar,
|
|
@@ -3020,22 +3034,22 @@ export {
|
|
|
3020
3034
|
Sa as GameLanguageMenu,
|
|
3021
3035
|
Se as GameLoadingState,
|
|
3022
3036
|
Ha as GameMaterialSwatches,
|
|
3023
|
-
|
|
3037
|
+
_i as GameModal,
|
|
3024
3038
|
Ea as GameMovementPad,
|
|
3025
|
-
|
|
3039
|
+
Gi as GameObjectToolbar,
|
|
3026
3040
|
ka as GameOrientationGate,
|
|
3027
3041
|
B as GamePanel,
|
|
3028
3042
|
Ue as GamePlacementToolbar,
|
|
3029
3043
|
D as GameProgress,
|
|
3030
|
-
|
|
3044
|
+
Ci as GamePrompt,
|
|
3031
3045
|
ha as GameRadialMenu,
|
|
3032
3046
|
Ze as GameRobotCrewStatus,
|
|
3033
|
-
|
|
3047
|
+
Ri as GameSceneHudLayout,
|
|
3034
3048
|
Pe as GameSegmentedControl,
|
|
3035
3049
|
He as GameShell,
|
|
3036
3050
|
ga as GameSlider,
|
|
3037
3051
|
q as GameStageTile,
|
|
3038
|
-
|
|
3052
|
+
Mi as GameStatList,
|
|
3039
3053
|
ua as GameTabs,
|
|
3040
3054
|
Te as GameTerrainBuildToolbox,
|
|
3041
3055
|
_a as GameTerrainModeControl,
|
|
@@ -3044,15 +3058,15 @@ export {
|
|
|
3044
3058
|
ke as GameToast,
|
|
3045
3059
|
pa as GameToggle,
|
|
3046
3060
|
ma as GameTooltip,
|
|
3047
|
-
|
|
3061
|
+
zi as GameUiPreview,
|
|
3048
3062
|
Da as GameUndoRedoActions,
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3063
|
+
Pi as GameWindowPanel,
|
|
3064
|
+
xi as getClayAssetMode,
|
|
3065
|
+
Ei as getClayCatalogPaths,
|
|
3052
3066
|
Z as getClayIconPath,
|
|
3053
3067
|
_e as getClayIconStyles,
|
|
3054
|
-
|
|
3068
|
+
Ii as getClaySourceAssetPath,
|
|
3055
3069
|
ra as playGameInteractionSound,
|
|
3056
3070
|
sa as playGameInteractionSoundForContext,
|
|
3057
|
-
|
|
3071
|
+
Bi as setClayAssetMode
|
|
3058
3072
|
};
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{color-scheme:light;--game-ui-font-display:"Baloo 2", "Geist Variable", "Noto Sans SC", system-ui, sans-serif;--game-ui-font-body:"Geist Variable", "Noto Sans SC", "Noto Sans", system-ui, sans-serif;--game-ui-font-xs:.72rem;--game-ui-font-sm:.82rem;--game-ui-font-md:.95rem;--game-ui-font-lg:1.18rem;--game-ui-font-xl:clamp(1.5rem, 2.4vw, 2.35rem);--game-ui-font-xxl:clamp(2.3rem, 5vw, 4.5rem);--game-ui-line-tight:1.05;--game-ui-line-body:1.52;--game-ui-weight-body:620;--game-ui-weight-strong:800;--game-ui-weight-title:930;--game-ui-bg:#f3e8d8;--game-ui-playfield-scrim:#2a1e146b;--game-ui-surface:#fff8ecc7;--game-ui-surface-raised:#fffaf0f0;--game-ui-panel:#fff8ece6;--game-ui-panel-strong:#fff8ec;--game-ui-panel-deep:#efd1a3;--game-ui-text:#3b2d23;--game-ui-text-muted:#7b6652;--game-ui-accent:#e8743b;--game-ui-accent-bright:#f28d50;--game-ui-accent-pale:#ffd4a2;--game-ui-accent-contrast:#fff8ec;--game-ui-secondary:#1d9a8b;--game-ui-secondary-pale:#baf5df;--game-ui-success:#4f9d6b;--game-ui-success-bright:#7ee0b6;--game-ui-on-success:#16382d;--game-ui-danger:#d85a45;--game-ui-danger-bright:#ef8a72;--game-ui-warning:#f2b35c;--game-ui-berry:#9b6dd6;--game-ui-berry-pale:#d9c6ff;--game-ui-focus-ring:#1d9a8bb8;--game-ui-border-subtle:#6c4f3838;--game-ui-border-strong:#6c4f386b;--game-ui-disabled:#7b66527a;--game-ui-ink-deep:#3a2518;--game-ui-border-ink:#5c3c27;--game-ui-wood:#6c4f38;--game-ui-ink-title:#4a2f1f;--game-ui-ink-heading:#5a3924;--game-ui-text-on-dark:#fff8ec;--game-ui-glass-night:#1f1812ad;--game-ui-glass-night-soft:#1f1812a3;--game-ui-scrim-strong:#1e140e94;--game-ui-space-2:2px;--game-ui-space-4:4px;--game-ui-space-6:6px;--game-ui-space-8:8px;--game-ui-space-10:10px;--game-ui-space-12:12px;--game-ui-space-16:16px;--game-ui-space-20:20px;--game-ui-space-24:24px;--game-ui-space-32:32px;--game-ui-safe-top:max(14px, env(safe-area-inset-top));--game-ui-safe-right:max(14px, env(safe-area-inset-right));--game-ui-safe-bottom:max(14px, env(safe-area-inset-bottom));--game-ui-safe-left:max(14px, env(safe-area-inset-left));--game-ui-radius-bead:999px;--game-ui-radius-control:999px;--game-ui-radius-card:18px;--game-ui-radius-panel:26px;--game-ui-radius-modal:34px;--game-ui-shadow-button:0 13px 26px #4c341c38, inset 0 2px 0 #ffffff6b;--game-ui-shadow-panel:0 22px 60px #4c341c2e, inset 0 1px 0 #ffffffb3;--game-ui-shadow-modal:0 32px 90px #301e1261, inset 0 1px 0 #ffffffb3;--game-ui-shadow-inset:inset 0 2px 8px #4c341c1f;--game-ui-shadow-scenery:0 28px 70px #00000057, inset 0 8px 20px #ffffff1a;--game-ui-shadow-seat:0 8px 18px #00000052;--game-ui-shadow-callout:0 8px 18px #00000038;--game-ui-stroke:1px solid var(--game-ui-border-subtle);--game-ui-motion-fast:.12s;--game-ui-motion-base:.22s;--game-ui-motion-slow:.36s;--game-ui-ease-pop:cubic-bezier(.2, 1.35, .26, 1);--game-ui-ease-soft:cubic-bezier(.22, 1, .36, 1);--game-ui-reduced-motion-policy:disable non-essential transform/opacity animation;--game-ui-z-playfield:0;--game-ui-z-hud:20;--game-ui-z-sidebar:40;--game-ui-z-overlay:60;--game-ui-z-modal:80;--game-ui-z-toast:100;--game-ui-asset-icon-sm:22px;--game-ui-asset-icon-md:34px;--game-ui-asset-icon-lg:48px;--game-ui-asset-icon-xl:64px;--game-ui-asset-button-min-width:148px;--game-ui-asset-card-fan-width:132px;--game-ui-stage-tile-min-height:122px;--game-ui-terrain-swatch-size:34px;--game-ui-terrain-tool-hit-size:44px;--game-ui-build-rail-card-size:52px;--game-ui-brush-number-width:76px;--game-ui-scenery-canopy:#40543c;--game-ui-scenery-moss:#2d3a2d;--game-ui-scenery-soil:#261b14;--game-ui-scenery-pine:#314b38;--game-ui-scenery-clearing:#5f3b20db;--game-ui-scenery-wood-hi:#9a6c42;--game-ui-scenery-wood-lo:#563621;--game-ui-scenery-dusk-1:#27180e;--game-ui-scenery-dusk-2:#7f5735;--game-ui-scenery-dusk-3:#d7b174;--game-ui-scenery-grid-strong:#ffffff12;--game-ui-scenery-grid-soft:#ffffff0d;--game-ui-preview-glow-warm:#fff6cae6;--game-ui-preview-glow-mint:#7ee0b63d;--game-ui-preview-canvas-1:#f6e8d2;--game-ui-preview-canvas-2:#e4cda8;--game-ui-preview-canvas-3:#b98d5d}[data-game-ui-theme=night]{color-scheme:dark;--game-ui-bg:#221812;--game-ui-playfield-scrim:#0a060480;--game-ui-surface:#34261cb8;--game-ui-surface-raised:#402f22f0;--game-ui-panel:#2e2118eb;--game-ui-panel-strong:#3a2a1e;--game-ui-panel-deep:#2c1f16;--game-ui-text:#f6e7d3;--game-ui-text-muted:#c9ac8d;--game-ui-accent:#ef8148;--game-ui-accent-bright:#ffa06b;--game-ui-accent-pale:#8a4f28;--game-ui-secondary:#2fb3a2;--game-ui-secondary-pale:#1d5c53;--game-ui-success:#63b381;--game-ui-success-bright:#3d7c58;--game-ui-on-success:#eafff3;--game-ui-danger:#e26a55;--game-ui-danger-bright:#8a3a2c;--game-ui-warning:#f2b35c;--game-ui-berry:#b58ae0;--game-ui-berry-pale:#55407a;--game-ui-focus-ring:#2fb3a2bf;--game-ui-border-subtle:#f6e7d329;--game-ui-border-strong:#f6e7d352;--game-ui-disabled:#c9ac8d73;--game-ui-ink-deep:#f6e7d3;--game-ui-border-ink:#e8d3b8;--game-ui-wood:#d8b892;--game-ui-ink-title:#f6e2c8;--game-ui-ink-heading:#ecd6b8;--game-ui-text-on-dark:#fff8ec;--game-ui-scrim-strong:#0000009e;--game-ui-shadow-button:0 13px 26px #00000073, inset 0 2px 0 #ffffff14;--game-ui-shadow-panel:0 22px 60px #0006, inset 0 1px 0 #ffffff0f;--game-ui-shadow-modal:0 32px 90px #0009, inset 0 1px 0 #ffffff0f;--game-ui-shadow-inset:inset 0 2px 8px #00000059;--game-ui-preview-glow-warm:#78582a59;--game-ui-preview-glow-mint:#2fb3a224;--game-ui-preview-canvas-1:#2a1d13;--game-ui-preview-canvas-2:#201510;--game-ui-preview-canvas-3:#150d08}@layer swimmer-ui{html[data-game-ui-preview=clay],html[data-game-ui-preview=clay] body,html[data-game-ui-preview=clay] #root{min-height:100%;margin:0}.game-ui-clay-preview{min-height:100dvh;color:var(--game-ui-text);font-family:var(--game-ui-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 12% 4%, var(--game-ui-preview-glow-warm), transparent 27rem), radial-gradient(circle at 86% 8%, var(--game-ui-preview-glow-mint), transparent 26rem), linear-gradient(160deg, var(--game-ui-preview-canvas-1) 0%, var(--game-ui-preview-canvas-2) 52%, var(--game-ui-preview-canvas-3) 100%);padding:24px}.game-ui-clay-preview *,.game-ui-clay-preview :before,.game-ui-clay-preview :after{box-sizing:border-box}.game-ui-clay-preview code{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);color:var(--game-ui-border-ink);border-radius:8px;padding:1px 6px;font-size:.74em}.game-ui-preview-hero,.game-ui-preview-section{width:min(100%,1180px);margin:0 auto}.game-ui-preview-hero{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:18px 0 22px;display:grid}.game-ui-preview-hero h1{max-width:13ch;color:var(--game-ui-ink-title);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-xxl);font-weight:var(--game-ui-weight-title);text-shadow:0 3px 0 color-mix(in srgb, var(--game-ui-panel-strong) 72%, transparent);grid-column:1/-1;margin:0;line-height:.9}.game-ui-preview-hero p{max-width:72ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-lg);line-height:var(--game-ui-line-body);grid-column:1/-1;margin:0}.game-ui-preview-section{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 50%, transparent);box-shadow:var(--game-ui-shadow-panel);gap:16px;margin-top:22px;padding:clamp(16px,2vw,24px);display:grid}.game-ui-preview-section>h2,.game-ui-token-card h3,.game-ui-dialog h2,.game-ui-panel h3,.game-ui-prompt h3,.swimmer-first-session-onboarding-card h2{color:var(--game-ui-ink-heading);font-family:var(--game-ui-font-display);margin:0;font-weight:900}.game-ui-preview-section>h2{font-size:clamp(1.35rem,2.2vw,2rem)}.game-ui-swatch-grid,.game-ui-token-ledger{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.game-ui-swatch,.game-ui-token-card,.game-ui-type-scale,.game-ui-stage-world,.game-ui-stage-sidecar,.game-ui-proof-frame,.game-ui-dialog,.game-ui-history,.game-ui-panel,.game-ui-prompt,.game-ui-toast{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);box-shadow:var(--game-ui-shadow-panel)}.game-ui-swatch{align-items:center;gap:10px;margin:0;padding:10px;display:flex}.game-ui-swatch>span{border:1px solid color-mix(in srgb, var(--game-ui-ink-deep) 16%, transparent);width:46px;height:46px;box-shadow:var(--game-ui-shadow-inset);border-radius:15px;flex:none}.game-ui-swatch figcaption,.game-ui-token-row,.game-ui-type-scale,.game-ui-stage-tile-copy,.game-ui-hud-chip span,.game-ui-language-popover button span,.game-ui-history-entry-header,.swimmer-first-session-control-copy{gap:2px;display:grid}.game-ui-token-card,.game-ui-dialog,.game-ui-panel,.game-ui-history,.game-ui-prompt{gap:12px;padding:14px;display:grid}.game-ui-token-grid{gap:6px;display:grid}.game-ui-token-row{background:color-mix(in srgb, var(--game-ui-wood) 6%, transparent);border-radius:10px;grid-template-columns:minmax(92px,.42fr) minmax(0,.58fr);align-items:center;padding:7px 8px}.game-ui-token-row span,.game-ui-small-copy,.game-ui-stage-tile small,.game-ui-hud-chip small,.game-ui-hud-chip em,.game-ui-language-popover small,.game-ui-type-kicker{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);letter-spacing:.08em;text-transform:uppercase;font-style:normal;font-weight:820}.game-ui-token-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-token-row>span:first-child{overflow-wrap:anywhere;letter-spacing:.04em;min-width:0;line-height:1.15}.game-ui-type-scale{gap:9px;padding:clamp(18px,3vw,30px)}.game-ui-type-scale h1,.game-ui-type-scale h2,.game-ui-type-scale p,.game-ui-type-scale small{margin:0}.game-ui-type-scale h1{color:var(--game-ui-ink-title);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-xxl);font-weight:var(--game-ui-weight-title);line-height:var(--game-ui-line-tight)}.game-ui-type-scale h2{font-size:var(--game-ui-font-xl);font-weight:880}.game-ui-type-scale p,.game-ui-dialog p,.game-ui-history-entry p,.game-ui-prompt p,.swimmer-first-session-onboarding-card p{max-width:62ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-md);line-height:var(--game-ui-line-body)}.game-ui-component-row,.game-ui-asset-path-grid,.game-ui-hud-cluster,.game-ui-hud-tools,.game-ui-input-strip,.game-ui-tabs,.game-ui-segmented,.game-ui-radial-menu,.game-ui-hud-actions,.swimmer-first-session-onboarding-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.game-ui-button,.game-ui-icon-button,.game-ui-tab,.game-ui-segmented-option,.game-ui-toggle,.game-ui-language-trigger,.game-ui-language-popover button,.game-ui-stage-tile,.game-ui-orientation-card button{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 18%, transparent);border-radius:var(--game-ui-radius-control);min-height:44px;font:inherit;font-family:var(--game-ui-font-body);cursor:pointer;box-shadow:var(--game-ui-shadow-button);transition:transform var(--game-ui-motion-fast) var(--game-ui-ease-pop), scale var(--game-ui-motion-fast) var(--game-ui-ease-pop), box-shadow var(--game-ui-motion-fast) var(--game-ui-ease-soft);font-weight:860}.game-ui-button,.game-ui-icon-button{justify-content:center;align-items:center;gap:8px;min-width:fit-content;padding:0 16px;display:inline-flex}@media (hover:hover){.game-ui-button:hover,.game-ui-icon-button:hover,.game-ui-language-trigger:hover,.game-ui-language-popover button:hover,.game-ui-stage-tile:hover,.game-ui-orientation-card button:hover{transform:translateY(-1px)}}.game-ui-button:active,.game-ui-icon-button:active,.game-ui-tab:active,.game-ui-segmented-option:active,.game-ui-toggle:active,.game-ui-language-trigger:active,.game-ui-language-popover button:active,.game-ui-stage-tile:active,.game-ui-orientation-card button:active{scale:.96}.game-ui-button--primary,.game-ui-orientation-card button{background:linear-gradient(180deg, var(--game-ui-accent-bright), var(--game-ui-accent));color:var(--game-ui-accent-contrast)}.game-ui-button--secondary,.game-ui-icon-button,.game-ui-tab,.game-ui-segmented-option,.game-ui-toggle,.game-ui-language-trigger,.game-ui-language-popover button{background:var(--game-ui-surface-raised);color:var(--game-ui-text)}.game-ui-button--ghost{border-color:var(--game-ui-border-subtle);background:color-mix(in srgb, var(--game-ui-panel-strong) 18%, transparent);color:var(--game-ui-text-muted);box-shadow:none}.game-ui-button--success{background:linear-gradient(180deg, var(--game-ui-success-bright), var(--game-ui-success));color:var(--game-ui-on-success)}.game-ui-button--danger{background:linear-gradient(180deg, var(--game-ui-danger-bright), var(--game-ui-danger));color:var(--game-ui-accent-contrast)}.game-ui-button:disabled{background:color-mix(in srgb, var(--game-ui-text-muted) 16%, transparent);color:var(--game-ui-disabled);cursor:not-allowed;transform:none}.game-ui-asset-icon{width:var(--game-ui-asset-icon-md);height:var(--game-ui-asset-icon-md);flex:none;place-items:center;display:inline-grid}.game-ui-asset-icon[data-icon-size=sm]{width:var(--game-ui-asset-icon-sm);height:var(--game-ui-asset-icon-sm)}.game-ui-asset-icon[data-icon-size=lg]{width:var(--game-ui-asset-icon-lg);height:var(--game-ui-asset-icon-lg)}.game-ui-asset-icon[data-icon-size=xl]{width:var(--game-ui-asset-icon-xl);height:var(--game-ui-asset-icon-xl)}.game-ui-asset-icon img{object-fit:contain;width:100%;height:100%}.game-ui-badge{border:1px solid var(--game-ui-border-subtle);border-radius:var(--game-ui-radius-bead);background:color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);width:fit-content;min-height:28px;color:var(--game-ui-text);font-size:var(--game-ui-font-xs);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 10px;font-weight:900;display:inline-flex}.game-ui-badge[data-badge-tone=success]{border-color:color-mix(in srgb, var(--game-ui-success) 42%, transparent);background:color-mix(in srgb, var(--game-ui-success-bright) 28%, transparent)}.game-ui-badge[data-badge-tone=warning]{border-color:color-mix(in srgb, var(--game-ui-accent) 42%, transparent);background:color-mix(in srgb, var(--game-ui-warning) 28%, transparent)}.game-ui-badge[data-badge-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 16%, transparent)}.game-ui-badge[data-badge-tone=ai]{border-color:color-mix(in srgb, var(--game-ui-secondary) 42%, transparent);background:color-mix(in srgb, var(--game-ui-secondary) 16%, transparent)}.game-ui-toast{padding:12px 14px;font-weight:820}.game-ui-toast[data-toast-tone=success]{border-color:color-mix(in srgb, var(--game-ui-success) 42%, transparent);background:color-mix(in srgb, var(--game-ui-success-bright) 22%, transparent)}.game-ui-toast[data-toast-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 13%, transparent)}.game-ui-history-entry{border-radius:var(--game-ui-radius-card);background:color-mix(in srgb, var(--game-ui-panel-strong) 56%, transparent);gap:4px;padding:12px;display:grid}.game-ui-history-entry[data-entry-kind=mystery]{background:color-mix(in srgb, var(--game-ui-berry) 12%, transparent)}.game-ui-history-entry[data-entry-kind=system]{background:color-mix(in srgb, var(--game-ui-secondary) 12%, transparent)}.game-ui-history-entry-header{grid-template-columns:1fr auto;align-items:center}.game-ui-history-entry-header span{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-weight:760}.game-ui-tab[aria-selected=true],.game-ui-segmented-option[aria-pressed=true]{background:var(--game-ui-secondary);color:var(--game-ui-accent-contrast)}.game-ui-slider{color:var(--game-ui-text-muted);gap:6px;font-weight:820;display:grid}.game-ui-slider input{accent-color:var(--game-ui-secondary)}.game-ui-toggle{justify-content:space-between;align-items:center;gap:10px;padding:0 10px 0 14px;display:inline-flex}.game-ui-toggle-track{border:2px solid var(--game-ui-panel-strong);border-radius:var(--game-ui-radius-bead);background:var(--game-ui-secondary);width:42px;height:24px;box-shadow:inset -8px 0 0 color-mix(in srgb, var(--game-ui-panel-strong) 62%, transparent)}.game-ui-tooltip{display:inline-flex;position:relative}.game-ui-tooltip [role=tooltip]{background:var(--game-ui-text);min-width:150px;color:var(--game-ui-accent-contrast);font-size:var(--game-ui-font-xs);opacity:0;pointer-events:none;transition:opacity var(--game-ui-motion-fast) var(--game-ui-ease-soft), transform var(--game-ui-motion-fast) var(--game-ui-ease-pop);border-radius:12px;padding:7px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(3px)}.game-ui-tooltip [role=tooltip]:after{background:var(--game-ui-text);content:"";border-radius:2px;width:8px;height:8px;margin-top:-5px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.game-ui-tooltip:hover [role=tooltip],.game-ui-tooltip:focus-within [role=tooltip]{opacity:1;transform:translate(-50%)translateY(0)}.game-ui-stage-demo,.game-ui-preview-two-up,.game-ui-proof-frames{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;display:grid}.game-ui-first-session-preview{grid-template-columns:1fr;gap:14px;display:grid}.game-ui-stage-world{background:radial-gradient(ellipse at 50% 66%, var(--game-ui-scenery-clearing) 0 18%, transparent 18.5%), radial-gradient(circle at 25% 32%, color-mix(in srgb, var(--game-ui-secondary) 38%, transparent), transparent 11rem), radial-gradient(circle at 74% 28%, color-mix(in srgb, var(--game-ui-accent) 34%, transparent), transparent 12rem), linear-gradient(160deg, var(--game-ui-scenery-canopy), var(--game-ui-scenery-moss) 48%, var(--game-ui-scenery-soil) 100%);min-height:430px;padding:16px;position:relative;overflow:hidden}.game-ui-stage-world:before{background:linear-gradient(90deg, var(--game-ui-scenery-grid-strong) 1px, transparent 1px), linear-gradient(0deg, var(--game-ui-scenery-grid-soft) 1px, transparent 1px);content:"";opacity:.28;background-size:56px 56px;position:absolute;inset:0}.game-ui-hud{z-index:var(--game-ui-z-hud);justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.game-ui-hud-chip{border:1px solid color-mix(in srgb, var(--game-ui-text-on-dark) 30%, transparent);background:var(--game-ui-glass-night);min-height:54px;color:var(--game-ui-text-on-dark);backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;border-radius:20px;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:inline-flex}.game-ui-hud-chip strong{color:var(--game-ui-text-on-dark);font-size:var(--game-ui-font-sm)}.game-ui-hud-chip small,.game-ui-hud-chip em{color:color-mix(in srgb, var(--game-ui-text-on-dark) 72%, transparent)}.game-ui-table-prop{aspect-ratio:1.9;border:4px solid color-mix(in srgb, var(--game-ui-text-on-dark) 24%, transparent);background:radial-gradient(ellipse at 50% 38%, var(--game-ui-scenery-wood-hi), var(--game-ui-scenery-wood-lo) 72%);width:min(46%,360px);box-shadow:var(--game-ui-shadow-scenery);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)}.game-ui-seat{border:3px solid var(--game-ui-text-on-dark);background:radial-gradient(circle at 35% 28%, var(--game-ui-accent-pale), var(--game-ui-accent));width:36px;height:36px;box-shadow:var(--game-ui-shadow-seat);border-radius:50%;position:absolute}.game-ui-seat.is-host{top:-10px;left:46%}.game-ui-seat.is-guest-a{background:radial-gradient(circle at 35% 28%, var(--game-ui-secondary-pale), var(--game-ui-secondary));bottom:6%;right:7%}.game-ui-seat.is-guest-b{background:radial-gradient(circle at 35% 28%, var(--game-ui-berry-pale), var(--game-ui-berry));bottom:6%;left:7%}.game-ui-callout{background:var(--game-ui-panel-strong);color:var(--game-ui-text);font-size:var(--game-ui-font-xs);box-shadow:var(--game-ui-shadow-callout);white-space:nowrap;border-radius:16px 16px 16px 5px;padding:6px 9px;font-weight:820;position:absolute}.game-ui-callout.is-a{top:-44px;left:20%}.game-ui-callout.is-b{top:-28px;right:8%}.game-ui-input-strip{z-index:var(--game-ui-z-hud);justify-content:flex-end;position:absolute;bottom:16px;left:16px;right:16px}.game-ui-stage-sidecar{align-content:start;gap:10px;padding:12px;display:grid}.game-ui-stage-tile{min-height:var(--game-ui-stage-tile-min-height);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 92%, transparent);width:100%;color:var(--game-ui-text);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.game-ui-stage-tile[data-stage-tone=portal]{border-color:color-mix(in srgb, var(--game-ui-secondary) 42%, transparent)}.game-ui-stage-tile[data-stage-tone=host]{border-color:color-mix(in srgb, var(--game-ui-accent) 42%, transparent)}.game-ui-stage-tile[data-stage-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent)}.game-ui-stage-tile:disabled{cursor:not-allowed;opacity:.76;filter:saturate(.72);transform:none}.game-ui-stage-tile-copy>span{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:1.35}.game-ui-card-fan{place-items:center;min-height:190px;display:grid;position:relative}.game-ui-card-fan-card{width:var(--game-ui-asset-card-fan-width);border:2px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);background:linear-gradient(180deg, var(--game-ui-panel-strong), var(--game-ui-panel-deep));text-align:center;min-height:170px;transform:translateX(calc(var(--game-ui-card-offset) * 54px)) rotate(calc(var(--game-ui-card-offset) * 8deg));box-shadow:var(--game-ui-shadow-button);border-radius:22px;place-items:center;gap:6px;padding:12px;display:grid;position:absolute}.game-ui-card-fan-card:nth-child(2){z-index:2;transform:translateY(-10px)}.game-ui-card-fan-card small{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);text-transform:uppercase;font-weight:860}.game-ui-card-fan-card strong{font-size:var(--game-ui-font-lg)}.game-ui-orientation-gate{border:1px dashed var(--game-ui-border-strong);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-ink-deep) 14%, transparent);place-items:center;min-height:320px;padding:16px;display:grid}.game-ui-orientation-card{border:2px solid color-mix(in srgb, var(--game-ui-panel-strong) 62%, transparent);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 94%, transparent);max-width:440px;color:var(--game-ui-text);text-align:center;box-shadow:var(--game-ui-shadow-modal);justify-items:center;gap:10px;padding:24px;display:grid}.game-ui-orientation-card h2,.game-ui-orientation-card p,.game-ui-orientation-card small{margin:0}.game-ui-language-menu{justify-self:end;position:relative}.game-ui-language-trigger,.game-ui-language-popover button{align-items:center;gap:8px;padding:0 12px;display:inline-flex}.game-ui-language-popover{z-index:var(--game-ui-z-toast);border:var(--game-ui-stroke);background:var(--game-ui-panel-strong);min-width:210px;box-shadow:var(--game-ui-shadow-modal);border-radius:18px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.game-ui-language-popover button{text-align:left;border-radius:14px;justify-content:flex-start;width:100%}.game-ui-loading-state{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-control);background:color-mix(in srgb, var(--game-ui-panel-strong) 72%, transparent);min-height:48px;color:var(--game-ui-text);align-items:center;gap:8px;padding:8px 12px;font-weight:820;display:inline-flex}.game-ui-loading-state[data-loading-tone=error]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 12%, transparent)}.game-ui-loading-state img{object-fit:contain;width:30px;height:30px}.game-ui-asset-path-grid code{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.game-ui-icon-gallery{gap:18px;display:grid}.game-ui-icon-family{gap:10px;display:grid}.game-ui-icon-family-head{gap:6px;display:grid}.game-ui-icon-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:10px;display:grid}.game-ui-icon-cell{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);box-shadow:var(--game-ui-shadow-panel);justify-items:center;gap:7px;margin:0;padding:12px 6px;display:grid}.game-ui-icon-cell figcaption{overflow-wrap:anywhere;min-width:0;max-width:100%;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);letter-spacing:.03em;text-align:center;font-weight:760}.game-ui-input{border:1px solid var(--game-ui-border-strong);border-radius:var(--game-ui-radius-card);background:var(--game-ui-surface-raised);width:100%;min-height:48px;box-shadow:var(--game-ui-shadow-inset);color:var(--game-ui-text);font:inherit;font-weight:var(--game-ui-weight-body);transition:border-color var(--game-ui-motion-fast) var(--game-ui-ease-soft), box-shadow var(--game-ui-motion-fast) var(--game-ui-ease-soft);padding:12px 16px}.game-ui-input::placeholder{color:var(--game-ui-disabled)}.game-ui-input:focus-visible{border-color:var(--game-ui-secondary);box-shadow:var(--game-ui-shadow-inset), 0 0 0 3px var(--game-ui-focus-ring);outline:none}.game-ui-input:disabled{opacity:.6;cursor:not-allowed}.game-ui-input[data-invalid=true],.game-ui-field[data-invalid=true] .game-ui-input{border-color:var(--game-ui-danger);box-shadow:var(--game-ui-shadow-inset), 0 0 0 3px color-mix(in srgb, var(--game-ui-danger) 26%, transparent)}.game-ui-textarea{min-height:92px;line-height:var(--game-ui-line-body);resize:vertical}.game-ui-field{gap:6px;display:grid}.game-ui-field-label{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-weight:var(--game-ui-weight-strong);letter-spacing:.06em;text-transform:uppercase}.game-ui-field-required{color:var(--game-ui-danger)}.game-ui-field-hint{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm)}.game-ui-field-error{color:var(--game-ui-danger);font-size:var(--game-ui-font-sm);font-weight:var(--game-ui-weight-strong)}.game-ui-checkbox{cursor:pointer;min-height:40px;color:var(--game-ui-text);font-weight:var(--game-ui-weight-body);align-items:center;gap:10px;display:inline-flex}.game-ui-checkbox-input{opacity:0;width:1px;height:1px;position:absolute}.game-ui-checkbox-box{border:1px solid var(--game-ui-border-strong);background:var(--game-ui-surface-raised);width:26px;height:26px;box-shadow:var(--game-ui-shadow-inset);transition:background var(--game-ui-motion-fast), border-color var(--game-ui-motion-fast);border-radius:9px;flex:none;place-items:center;display:grid;position:relative}.game-ui-checkbox-box:after{content:"";border-left:3px solid var(--game-ui-accent-contrast);border-bottom:3px solid var(--game-ui-accent-contrast);opacity:0;width:12px;height:7px;transition:transform var(--game-ui-motion-fast) var(--game-ui-ease-pop), opacity var(--game-ui-motion-fast);margin-top:-3px;transform:rotate(-45deg)scale(.3)}.game-ui-checkbox-input:checked+.game-ui-checkbox-box{background:var(--game-ui-accent);border-color:var(--game-ui-accent)}.game-ui-checkbox-input:checked+.game-ui-checkbox-box:after{opacity:1;transform:rotate(-45deg)scale(1)}.game-ui-checkbox-input:focus-visible+.game-ui-checkbox-box{box-shadow:var(--game-ui-shadow-inset), 0 0 0 3px var(--game-ui-focus-ring)}.game-ui-checkbox-input:disabled~*{opacity:.55;cursor:not-allowed}.game-ui-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-avatar{border:2px solid var(--game-ui-panel-strong);background:linear-gradient(150deg, var(--game-ui-warning), var(--game-ui-accent));color:var(--game-ui-accent-contrast);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);box-shadow:var(--game-ui-shadow-button);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.game-ui-avatar img,.game-ui-avatar-initials{grid-area:1/1}.game-ui-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.game-ui-avatar[data-avatar-size=sm]{width:32px;height:32px;font-size:.72rem}.game-ui-avatar[data-avatar-size=md]{width:44px;height:44px;font-size:.95rem}.game-ui-avatar[data-avatar-size=lg]{width:60px;height:60px;font-size:1.25rem}.game-ui-avatar[data-avatar-size=xl]{width:84px;height:84px;font-size:1.7rem}.game-ui-avatar-status{border:2px solid var(--game-ui-panel-strong);border-radius:50%;width:30%;min-width:9px;height:30%;min-height:9px;position:absolute;bottom:-1px;right:-1px}.game-ui-avatar[data-avatar-status=online] .game-ui-avatar-status{background:var(--game-ui-success)}.game-ui-avatar[data-avatar-status=busy] .game-ui-avatar-status{background:var(--game-ui-danger)}.game-ui-avatar[data-avatar-status=away] .game-ui-avatar-status{background:var(--game-ui-warning)}.game-ui-progress{align-items:center;gap:10px;display:flex}.game-ui-progress-track{border-radius:var(--game-ui-radius-control);background:var(--game-ui-surface);height:14px;box-shadow:var(--game-ui-shadow-inset);flex:1;position:relative;overflow:hidden}.game-ui-progress-fill{border-radius:inherit;background:var(--game-ui-accent);height:100%;transition:width var(--game-ui-motion-base) var(--game-ui-ease-soft)}.game-ui-progress[data-progress-tone=success] .game-ui-progress-fill{background:var(--game-ui-success)}.game-ui-progress[data-progress-tone=danger] .game-ui-progress-fill{background:var(--game-ui-danger)}.game-ui-progress[data-progress-tone=warning] .game-ui-progress-fill{background:var(--game-ui-warning)}.game-ui-progress-value{min-width:3ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);font-weight:var(--game-ui-weight-strong);text-align:right;font-variant-numeric:tabular-nums}.game-ui-empty-state{border:1px dashed var(--game-ui-border-strong);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-surface);text-align:center;justify-items:center;gap:8px;padding:28px 20px;display:grid}.game-ui-empty-state-title{color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-lg);font-weight:var(--game-ui-weight-strong)}.game-ui-empty-state-body{max-width:42ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-empty-state-action{margin-top:6px}@media (prefers-reduced-motion:reduce){.game-ui-input,.game-ui-checkbox-box,.game-ui-checkbox-box:after,.game-ui-progress-fill{transition:none}}.game-ui-proof-frames{grid-template-columns:1fr}.game-ui-proof-frame{padding:12px;overflow:hidden}.game-ui-proof-frame>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.game-ui-proof-frame.is-desktop .game-ui-stage-demo{width:min(100%,1440px);min-height:min(900px,64dvh)}.game-ui-proof-frame.is-mobile-landscape .game-ui-stage-demo{grid-template-columns:minmax(0,1fr) minmax(220px,.54fr);width:min(100%,844px);min-height:390px}.game-ui-proof-frame.is-mobile-landscape .game-ui-stage-world{min-height:390px}.game-ui-proof-frame.is-mobile-landscape .game-ui-hud-chip{min-height:44px;padding:4px 8px 4px 5px}.game-ui-proof-frame.is-mobile-landscape .game-ui-hud-chip:nth-child(3),.game-ui-proof-frame.is-mobile-landscape .game-ui-hud-tools{display:none}.game-ui-stage-tile strong,.game-ui-dialog h2,.game-ui-panel h3,.game-ui-prompt h3,.game-ui-empty-state-title,.swimmer-first-session-onboarding-card h2,.game-ui-clay-preview h1,.game-ui-clay-preview h2,.game-ui-clay-preview h3{text-wrap:balance}.game-ui-stage-tile-copy>span,.game-ui-small-copy,.game-ui-field-hint,.game-ui-empty-state-body,.game-ui-prompt p,.game-ui-dialog p,.game-ui-preview-hero p{text-wrap:pretty}.game-ui-button:has(>.game-ui-asset-icon:last-child),.game-ui-button:has(>svg:last-child){padding-right:14px}.game-ui-button:has(>.game-ui-asset-icon:first-child),.game-ui-button:has(>svg:first-child){padding-left:14px}@keyframes game-ui-pop{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.96)}to{opacity:1;filter:blur();transform:none}}@keyframes game-ui-rise{0%{opacity:0;filter:blur(3px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:none}}.game-ui-dialog,.swimmer-first-session-onboarding-card{animation:game-ui-pop var(--game-ui-motion-base) var(--game-ui-ease-pop) both}.game-ui-language-popover{animation:game-ui-pop var(--game-ui-motion-fast) var(--game-ui-ease-pop) both;transform-origin:100% 0}.game-ui-toast{animation:game-ui-rise var(--game-ui-motion-base) var(--game-ui-ease-soft) both}.game-ui-preview-hero>*{animation:game-ui-rise var(--game-ui-motion-slow) var(--game-ui-ease-soft) both}.game-ui-preview-hero>:nth-child(2){animation-delay:60ms}.game-ui-preview-hero>:nth-child(3){animation-delay:.12s}.game-ui-preview-hero>:nth-child(4){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.game-ui-dialog,.swimmer-first-session-onboarding-card,.game-ui-language-popover,.game-ui-toast,.game-ui-preview-hero>*{animation:none}}.game-ui-button--static:active{scale:1}.game-ui-first-session-world{border-radius:var(--game-ui-radius-modal);background:linear-gradient(145deg, var(--game-ui-scenery-dusk-1) 0%, var(--game-ui-scenery-dusk-2) 48%, var(--game-ui-scenery-dusk-3) 100%);min-height:360px;box-shadow:var(--game-ui-shadow-modal);position:relative;overflow:hidden}.game-ui-first-session-world:before{border:4px solid color-mix(in srgb, var(--game-ui-text-on-dark) 22%, transparent);background:radial-gradient(ellipse at 50% 38%, var(--game-ui-scenery-wood-hi), var(--game-ui-scenery-wood-lo) 72%);content:"";border-radius:50%;position:absolute;inset:18% 22% 30%}.swimmer-first-session-shell{z-index:5;pointer-events:none;position:absolute;inset:0}.swimmer-first-session-hud{top:var(--game-ui-safe-top);right:var(--game-ui-safe-right);left:var(--game-ui-safe-left);align-items:flex-start;position:absolute}.swimmer-first-session-hud .game-ui-hud-cluster,.swimmer-first-session-hud .game-ui-hud-tools,.swimmer-first-session-hud-actions{pointer-events:auto}.swimmer-first-session-controls{right:max(18px, var(--game-ui-safe-right));bottom:max(16px, var(--game-ui-safe-bottom));left:max(18px, var(--game-ui-safe-left));border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 86%, transparent);pointer-events:none;box-shadow:var(--game-ui-shadow-panel);backdrop-filter:blur(16px);grid-template-columns:auto minmax(120px,1fr) minmax(180px,.72fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid;position:absolute}.swimmer-first-session-joystick{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 18%, transparent);background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);width:58px;height:58px;box-shadow:var(--game-ui-shadow-inset);border-radius:50%;place-items:center;display:grid}.swimmer-first-session-joystick span{background:linear-gradient(180deg, var(--game-ui-accent-bright), var(--game-ui-accent));width:25px;height:25px;box-shadow:var(--game-ui-shadow-button);border-radius:50%}.swimmer-first-session-control-copy strong{color:var(--game-ui-text);font-size:var(--game-ui-font-sm)}.swimmer-first-session-input,.swimmer-first-session-emote{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 18%, transparent);border-radius:var(--game-ui-radius-control);background:color-mix(in srgb, var(--game-ui-panel-strong) 74%, transparent);min-height:44px;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);align-items:center;gap:8px;padding:0 12px;font-weight:860;display:inline-flex}.swimmer-first-session-emote{color:var(--game-ui-text);cursor:pointer;pointer-events:auto}.game-ui-first-session-modal-slot{border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-ink-deep) 18%, transparent);min-height:360px;position:relative;overflow:hidden}.swimmer-first-session-onboarding{z-index:var(--game-ui-z-modal);place-items:center;padding:18px;display:grid;position:absolute;inset:0}.swimmer-first-session-onboarding-scrim{background:var(--game-ui-scrim-strong);backdrop-filter:blur(10px);position:absolute;inset:0}.swimmer-first-session-onboarding-card{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);width:min(720px,100vw - 40px);max-height:min(720px,100dvh - 28px);color:var(--game-ui-text);box-shadow:var(--game-ui-shadow-modal);gap:12px;padding:clamp(18px,3vw,30px);display:grid;position:relative;overflow:auto}.swimmer-first-session-onboarding-card h2{max-width:15ch;font-size:clamp(1.8rem,4vw,3.4rem);line-height:.95}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-card{width:min(100%,360px);padding:18px}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-card h2{max-width:none;font-size:clamp(1.55rem,3vw,2.25rem)}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-steps{grid-template-columns:1fr}.swimmer-first-session-onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 0;padding:0;list-style:none;display:grid}.swimmer-first-session-onboarding-steps li{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 14%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 56%, transparent);gap:5px;padding:12px;display:grid}.swimmer-first-session-onboarding-steps span{color:var(--game-ui-accent);font-size:var(--game-ui-font-xs);font-weight:950}.swimmer-first-session-onboarding-steps small{color:var(--game-ui-text-muted);line-height:1.35}@media (width<=900px){.game-ui-clay-preview{padding:14px}.game-ui-preview-hero,.game-ui-stage-demo,.game-ui-preview-two-up,.game-ui-proof-frame.is-mobile-landscape .game-ui-stage-demo,.game-ui-first-session-preview{grid-template-columns:1fr}.game-ui-preview-hero h1,.game-ui-preview-hero p{grid-column:auto}.game-ui-language-menu{justify-self:start}.game-ui-stage-world{min-height:390px}.game-ui-hud{display:grid}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.swimmer-first-session-hud .game-ui-hud-chip:nth-child(3),.swimmer-first-session-hud .game-ui-hud-chip:nth-child(4){display:none}.swimmer-first-session-hud .game-ui-button{min-height:34px;padding:0 10px;font-size:11px}.swimmer-first-session-controls{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:8px 10px}.swimmer-first-session-input{display:none}.swimmer-first-session-joystick{width:46px;height:46px}.swimmer-first-session-onboarding-card{grid-template-columns:minmax(0,.7fr) minmax(260px,1fr);gap:12px;padding:14px}.swimmer-first-session-onboarding-steps{grid-area:1/2/span 5;grid-template-columns:1fr}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-card{grid-template-columns:1fr;width:min(100%,360px);max-height:330px}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-steps{grid-area:auto;grid-template-columns:1fr}}.game-ui-asset-compression-repro{grid-template-columns:repeat(3,minmax(0,auto));align-items:start;gap:14px;display:grid;overflow-x:auto}.game-ui-asset-compression-repro-surface{width:var(--repro-width);min-width:var(--repro-width);border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 42%, transparent);gap:8px;padding:10px;display:grid;overflow:hidden}.game-ui-asset-compression-repro-surface .game-ui-asset-library{width:100%}.game-ui-asset-compression-repro-surface[data-repro-surface=rail] .game-ui-asset-library{max-height:330px;overflow:auto}.game-ui-shell{border-radius:var(--game-ui-radius-modal);background:radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--game-ui-success-bright) 24%, transparent), transparent 24rem), linear-gradient(150deg, var(--game-ui-scenery-pine), var(--game-ui-scenery-soil) 78%);min-height:min(760px,100dvh);color:var(--game-ui-text);isolation:isolate;box-shadow:var(--game-ui-shadow-modal);display:grid;position:relative;overflow:hidden}.game-ui-shell-scene{min-width:0;min-height:420px;position:relative;overflow:hidden}.game-ui-shell-scene>*{min-width:0}.game-ui-shell-hud,.game-ui-shell-library,.game-ui-shell-side-panel,.game-ui-shell-movement,.game-ui-shell-bottom-bar,.game-ui-shell-overlay{z-index:var(--game-ui-z-hud);position:absolute}.game-ui-shell-hud{top:var(--game-ui-safe-top);right:var(--game-ui-safe-right);left:var(--game-ui-safe-left)}.game-ui-shell-library{top:calc(var(--game-ui-safe-top) + 76px);right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 96px);width:min(360px,100% - 32px);overflow:auto}.game-ui-shell-side-panel{top:calc(var(--game-ui-safe-top) + 76px);left:var(--game-ui-safe-left);bottom:calc(var(--game-ui-safe-bottom) + 96px);width:min(320px,100% - 32px);overflow:auto}.game-ui-shell-movement{bottom:calc(var(--game-ui-safe-bottom) + 20px);left:var(--game-ui-safe-left)}.game-ui-shell-bottom-bar{right:var(--game-ui-safe-right);bottom:var(--game-ui-safe-bottom);left:max(172px, var(--game-ui-safe-left))}.game-ui-shell-overlay{pointer-events:none;place-items:center;display:grid;inset:0}.game-ui-shell-overlay>*{pointer-events:auto}.game-ui-shell[data-density=dense] .game-ui-panel{padding:10px}.game-ui-shell[data-layout=mobile] .game-ui-shell-library,.game-ui-shell[data-layout=mobile] .game-ui-shell-side-panel{top:auto;right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 78px);left:var(--game-ui-safe-left);width:auto;max-height:min(48dvh,320px)}.game-ui-shell[data-layout=mobile] .game-ui-shell-bottom-bar{left:var(--game-ui-safe-left)}.game-ui-shell[data-layout=mobile] .game-ui-shell-movement{bottom:calc(var(--game-ui-safe-bottom) + 86px)}.game-ui-fact-list{flex-wrap:wrap;gap:8px;display:flex}.game-ui-fact-list[data-variant=stats]{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.game-ui-fact{border:1px solid color-mix(in srgb, var(--game-ui-text-on-dark) 32%, transparent);border-radius:var(--game-ui-radius-control);background:var(--game-ui-glass-night-soft);min-width:0;color:var(--game-ui-text-on-dark);box-shadow:var(--game-ui-shadow-button);backdrop-filter:blur(12px);align-items:center;gap:8px;padding:7px 9px;display:inline-flex}.game-ui-fact-list[data-density=dense] .game-ui-fact{min-height:38px;padding:5px 7px}.game-ui-fact-copy{gap:1px;min-width:0;display:grid}.game-ui-fact-copy small,.game-ui-fact-copy em{color:color-mix(in srgb, var(--game-ui-text-on-dark) 72%, transparent);font-size:var(--game-ui-font-xs);letter-spacing:.06em;text-transform:uppercase;font-style:normal;font-weight:820}.game-ui-fact-copy strong{color:var(--game-ui-text-on-dark);font-size:var(--game-ui-font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-action-grid{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.game-ui-action-grid-button{min-width:0}.game-ui-action-grid kbd,.game-ui-movement-button kbd{background:color-mix(in srgb, var(--game-ui-ink-deep) 12%, transparent);color:inherit;border-radius:8px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72em;font-weight:900}.game-ui-action-grid .game-ui-icon-button{width:48px;min-width:0;padding:0}.game-ui-action-grid[data-icon-label-mode=caption] .game-ui-icon-button{width:var(--game-ui-terrain-tool-hit-size,54px);min-height:calc(var(--game-ui-terrain-tool-hit-size,54px) + 14px);flex-direction:column;gap:2px;padding:5px 4px 4px;line-height:1}.game-ui-action-grid[data-icon-label-mode=caption] .game-ui-icon-button .game-ui-asset-icon{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:999px;padding:2px}.game-ui-action-grid[data-icon-label-mode=caption] .game-ui-icon-button[aria-pressed=true] .game-ui-asset-icon{background:color-mix(in srgb, var(--game-ui-panel-strong) 32%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--game-ui-ink-deep) 12%, transparent)}.game-ui-action-grid-caption{max-width:100%;color:var(--game-ui-text-muted);letter-spacing:.015em;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:920;line-height:1;display:block;overflow:hidden}.game-ui-action-grid .game-ui-icon-button[aria-pressed=true] .game-ui-action-grid-caption{color:var(--game-ui-text)}.game-ui-movement-pad{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 82%, transparent);width:fit-content;box-shadow:var(--game-ui-shadow-panel);backdrop-filter:blur(14px);gap:7px;padding:10px;display:grid}.game-ui-movement-pad:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:3px}.game-ui-movement-pad-grid{grid-template-columns:repeat(3,48px);grid-template-areas:".forward.""left reset right"".backward.";gap:6px;display:grid}.game-ui-movement-pad[data-density=dense] .game-ui-movement-pad-grid{grid-template-columns:repeat(3,40px);gap:5px}.game-ui-movement-pad[data-layout=row] .game-ui-movement-pad-grid{flex-wrap:wrap;display:flex}.game-ui-movement-button{width:48px;min-width:0;padding:0}.game-ui-movement-pad[data-density=dense] .game-ui-movement-button{width:40px;min-height:40px}.game-ui-movement-button[data-direction=forward]{grid-area:forward}.game-ui-movement-button[data-direction=left]{grid-area:left}.game-ui-movement-button[data-direction=right]{grid-area:right}.game-ui-movement-button[data-direction=backward]{grid-area:backward}.game-ui-movement-button[data-direction=reset]{grid-area:reset}.game-ui-movement-pad p{max-width:18ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);margin:0;font-weight:760;line-height:1.25}.game-ui-asset-library{min-width:0;container:game-asset-library/inline-size}.game-ui-asset-library>section{gap:12px;min-width:0;display:grid}.game-ui-asset-library-subtitle{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-asset-library-counts,.game-ui-asset-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.game-ui-asset-library-groups{gap:14px;min-width:0;display:grid}.game-ui-asset-library-group{gap:8px;min-width:0;display:grid}.game-ui-asset-library-group>header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.game-ui-asset-library-group>header strong{min-width:0;color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-asset-library-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--game-ui-asset-card-min-width,168px), 100%), 1fr));gap:9px;display:grid}.game-ui-asset-library [data-density=dense] .game-ui-asset-library-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--game-ui-asset-card-dense-min-width,132px), 100%), 1fr))}.game-ui-asset-card{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);width:100%;min-width:0;color:var(--game-ui-text);text-align:left;box-shadow:var(--game-ui-shadow-button);cursor:pointer;transition:transform var(--game-ui-motion-fast) var(--game-ui-ease-pop), box-shadow var(--game-ui-motion-fast) var(--game-ui-ease-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}@media (hover:hover){.game-ui-asset-card:hover{transform:translateY(-1px)}}.game-ui-asset-card:active{scale:.98}.game-ui-asset-card:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:2px}.game-ui-asset-card:disabled{cursor:not-allowed;opacity:.62;transform:none}.game-ui-asset-card[aria-pressed=true]{border-color:var(--game-ui-secondary);box-shadow:var(--game-ui-shadow-button), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 22%, transparent)}.game-ui-asset-card-preview{box-sizing:border-box;background:color-mix(in srgb, var(--game-ui-ink-deep) 7%, transparent);width:64px;height:64px;box-shadow:var(--game-ui-shadow-inset);border-radius:18px;flex:none;place-items:center;display:grid;overflow:hidden}.game-ui-asset-card-preview img{object-fit:contain;width:100%;height:100%}.game-ui-asset-card-icon{width:min(100%, var(--game-ui-asset-icon-xl));height:min(100%, var(--game-ui-asset-icon-xl))}.game-ui-asset-card-copy{gap:5px;min-width:0;display:grid}.game-ui-asset-card-copy>strong{color:var(--game-ui-text);font-size:var(--game-ui-font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-asset-card-copy>span:not(.game-ui-asset-card-badges):not(.game-ui-asset-card-facts){color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);line-height:1.3}.game-ui-asset-card-facts{flex-wrap:wrap;gap:5px;display:flex}.game-ui-asset-card-facts>span{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:9px;padding:4px 6px;display:inline-grid}.game-ui-asset-card-facts small{color:var(--game-ui-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:820}.game-ui-asset-card-facts b{color:var(--game-ui-text);font-size:.76rem}.game-ui-asset-card[data-asset-source=generated]{border-color:color-mix(in srgb, var(--game-ui-secondary) 28%, transparent)}.game-ui-asset-card[data-asset-source=imported]{border-color:color-mix(in srgb, var(--game-ui-accent) 30%, transparent)}.game-ui-asset-card[data-asset-card-layout=rail],.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card{width:min(var(--game-ui-asset-rail-card-size,52px), 100%);min-width:0;min-height:min(var(--game-ui-asset-rail-card-size,52px), 100%);text-align:center;border-radius:20px;grid-template-columns:1fr;place-items:center;gap:0;padding:5px}.game-ui-asset-card[data-asset-card-layout=rail] .game-ui-asset-card-preview,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card-preview{width:min(var(--game-ui-asset-rail-preview-size,42px), 100%);height:min(var(--game-ui-asset-rail-preview-size,42px), 100%);border-radius:15px;overflow:visible}.game-ui-asset-card[data-asset-card-layout=rail] .game-ui-asset-card-icon,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card-icon{width:min(78%, var(--game-ui-asset-icon-lg));height:min(78%, var(--game-ui-asset-icon-lg))}.game-ui-asset-card[data-asset-card-layout=rail] .game-ui-asset-card-copy,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card-copy{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-asset-library[data-card-layout=rail]{padding:6px}.game-ui-asset-library[data-card-layout=rail]>h3,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-subtitle,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-counts,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-group>header{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-asset-library[data-card-layout=rail]>section,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-groups,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-group,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-grid{grid-template-columns:1fr;justify-items:center;gap:8px;display:grid}@container game-asset-library (width<=180px){.game-ui-asset-library[data-card-layout=auto]{padding:6px}.game-ui-asset-library[data-card-layout=auto]>h3,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-subtitle,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-counts,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-group>header{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-asset-library[data-card-layout=auto]>section,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-groups,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-group,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-grid{grid-template-columns:1fr;justify-items:center;gap:8px;display:grid}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card{width:min(var(--game-ui-asset-rail-card-size,52px), 100%);min-width:0;min-height:min(var(--game-ui-asset-rail-card-size,52px), 100%);text-align:center;border-radius:20px;grid-template-columns:1fr;place-items:center;gap:0;padding:5px}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card-preview{width:min(var(--game-ui-asset-rail-preview-size,42px), 100%);height:min(var(--game-ui-asset-rail-preview-size,42px), 100%);border-radius:15px;overflow:visible}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card-icon{width:min(78%, var(--game-ui-asset-icon-lg));height:min(78%, var(--game-ui-asset-icon-lg))}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card-copy{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.game-ui-placement-toolbar>div{gap:10px;display:grid}.game-ui-placement-toolbar .game-ui-progress{min-width:min(100%,260px)}.game-ui-placement-toolbar .game-ui-action-grid+.game-ui-action-grid{padding-top:2px}.game-ui-placement-toolbar [data-density=dense] .game-ui-fact-list{gap:6px}.game-ui-surface-pack-demo-scene{color:color-mix(in srgb, var(--game-ui-text-on-dark) 72%, transparent);letter-spacing:.08em;text-transform:uppercase;place-items:center;font-weight:900;display:grid;position:absolute;inset:0}.game-ui-surface-pack-demo-scene:before{aspect-ratio:1.7;border:4px solid color-mix(in srgb, var(--game-ui-text-on-dark) 22%, transparent);background:radial-gradient(ellipse at 50% 42%, var(--game-ui-scenery-wood-hi), var(--game-ui-scenery-wood-lo) 72%);width:min(46%,360px);box-shadow:var(--game-ui-shadow-scenery);content:"";border-radius:50%;position:absolute}.game-ui-surface-pack-demo-scene span{z-index:1;position:relative}.game-ui-terrain-build-toolbox{min-width:0;container:game-terrain-build/inline-size}.game-ui-terrain-build-toolbox>section,.game-ui-terrain-build-toolbox-body{gap:12px;min-width:0;display:grid}.game-ui-terrain-status{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 12%, transparent);border-radius:var(--game-ui-radius-card);background:color-mix(in srgb, var(--game-ui-panel-strong) 50%, transparent);gap:6px;padding:10px;display:grid}.game-ui-terrain-status p{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-terrain-mode-control,.game-ui-terrain-tool-strip,.game-ui-brush-controls,.game-ui-material-swatches,.game-ui-undo-redo-actions,.game-ui-build-library{min-width:0}.game-ui-terrain-build-main-grid{grid-template-columns:minmax(0,1.1fr) auto minmax(240px,.9fr);align-items:start;gap:12px;display:grid}.game-ui-terrain-mode-options,.game-ui-build-categories{flex-wrap:wrap;gap:8px;display:flex}.game-ui-terrain-mode-option,.game-ui-build-category,.game-ui-material-swatch,.game-ui-build-item{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);border-radius:var(--game-ui-radius-control);background:color-mix(in srgb, var(--game-ui-panel-strong) 82%, transparent);min-width:0;color:var(--game-ui-text);font:inherit;font-weight:var(--game-ui-weight-strong);cursor:pointer;box-shadow:var(--game-ui-shadow-button)}.game-ui-terrain-mode-option{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:44px;padding:6px 10px;display:inline-grid}.game-ui-terrain-mode-option>span,.game-ui-build-category>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-ui-terrain-mode-option small,.game-ui-build-category small,.game-ui-material-swatch-copy small,.game-ui-build-item-copy small{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-weight:760;line-height:1.2}.game-ui-terrain-mode-option[aria-pressed=true],.game-ui-build-category[aria-selected=true],.game-ui-material-swatch[aria-selected=true],.game-ui-build-item[aria-pressed=true]{border-color:var(--game-ui-secondary);background:color-mix(in srgb, var(--game-ui-secondary) 18%, transparent);box-shadow:var(--game-ui-shadow-button), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 20%, transparent)}.game-ui-terrain-mode-option:disabled,.game-ui-build-category:disabled,.game-ui-material-swatch:disabled,.game-ui-build-item:disabled{cursor:not-allowed;opacity:.58;transform:none}.game-ui-terrain-mode-option:focus-visible,.game-ui-build-category:focus-visible,.game-ui-material-swatch:focus-visible,.game-ui-build-item:focus-visible,.game-ui-brush-range:focus-visible,.game-ui-brush-number:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:2px}.game-ui-terrain-tool-strip .game-ui-action-grid-button[aria-pressed=true]{box-shadow:var(--game-ui-shadow-button), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 24%, transparent)}.game-ui-brush-controls{gap:10px;display:grid}.game-ui-brush-control-row{grid-template-columns:minmax(120px, 1fr) var(--game-ui-brush-number-width);align-items:center;gap:8px;display:grid}.game-ui-brush-range{width:100%;accent-color:var(--game-ui-secondary)}.game-ui-brush-number{border:1px solid var(--game-ui-border-strong);background:var(--game-ui-surface-raised);width:100%;min-height:40px;color:var(--game-ui-text);font:inherit;font-weight:var(--game-ui-weight-strong);box-shadow:var(--game-ui-shadow-inset);border-radius:12px;padding:0 8px}.game-ui-material-swatch-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.game-ui-material-swatch{grid-template-columns:var(--game-ui-terrain-swatch-size) minmax(0, 1fr);text-align:left;align-items:center;gap:8px;min-height:48px;padding:7px;display:grid}.game-ui-material-swatch-chip{width:var(--game-ui-terrain-swatch-size);height:var(--game-ui-terrain-swatch-size);border:2px solid color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);background:var(--swatch-color);box-shadow:var(--game-ui-shadow-inset), 0 2px 8px color-mix(in srgb, var(--game-ui-ink-deep) 16%, transparent);border-radius:13px}.game-ui-material-swatch-chip[data-swatch-pattern=speckled]{background:radial-gradient(circle at 24% 28%, var(--swatch-secondary-color) 0 3px, transparent 3.5px), radial-gradient(circle at 70% 64%, color-mix(in srgb, var(--game-ui-panel-strong) 72%, transparent) 0 2px, transparent 2.5px), var(--swatch-color);background-size:18px 18px,16px 16px,auto}.game-ui-material-swatch-chip[data-swatch-pattern=hatched]{background:repeating-linear-gradient(135deg, var(--swatch-secondary-color) 0 3px, transparent 3px 8px), var(--swatch-color)}.game-ui-material-swatch-chip[data-swatch-pattern=grid]{background:linear-gradient(90deg, color-mix(in srgb, var(--game-ui-panel-strong) 50%, transparent) 1px, transparent 1px), linear-gradient(0deg, color-mix(in srgb, var(--game-ui-panel-strong) 42%, transparent) 1px, transparent 1px), var(--swatch-color);background-size:10px 10px}.game-ui-material-swatch-copy,.game-ui-build-item-copy{gap:2px;min-width:0;display:grid}.game-ui-material-swatch-copy strong,.game-ui-build-item-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-ui-build-library>section{gap:10px;display:grid}.game-ui-build-category{text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:42px;padding:6px 9px;display:inline-grid}.game-ui-build-items{grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:9px;display:grid}.game-ui-build-item{text-align:left;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:70px;padding:9px;display:grid}.game-ui-build-item-icon{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);width:42px;height:42px;box-shadow:var(--game-ui-shadow-inset);border-radius:14px;place-items:center;display:grid;overflow:hidden}.game-ui-build-item-preview{object-fit:contain;width:100%;height:100%}.game-ui-build-item-badges{flex-wrap:wrap;gap:5px;display:flex}.game-ui-build-item-copy>span:not(.game-ui-build-item-badges){color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);line-height:1.25}.game-ui-compact-game-drawer{gap:8px;width:min(100%,360px);min-width:0;display:grid}.game-ui-compact-game-drawer[data-variant=small-mobile]{width:min(100%,320px)}.game-ui-compact-game-drawer-trigger{justify-self:start;max-width:100%}.game-ui-compact-game-drawer-panel{overscroll-behavior:contain;min-width:0;max-height:min(72dvh,520px);display:none;overflow:auto}.game-ui-compact-game-drawer[data-open=true] .game-ui-compact-game-drawer-panel{display:grid}.game-ui-compact-game-drawer .game-ui-panel{max-width:100%}.game-ui-terrain-build-toolbox[data-variant=dense] .game-ui-terrain-build-main-grid,.game-ui-terrain-build-toolbox-body[data-variant=dense] .game-ui-terrain-build-main-grid{grid-template-columns:minmax(0,1fr) auto}.game-ui-terrain-build-toolbox[data-variant=dense] .game-ui-brush-controls,.game-ui-terrain-build-toolbox-body[data-variant=dense] .game-ui-brush-controls{grid-column:1/-1}.game-ui-terrain-mode-control[data-variant=mobile] .game-ui-terrain-mode-options,.game-ui-terrain-mode-control[data-variant=small-mobile] .game-ui-terrain-mode-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-ui-terrain-tool-strip[data-variant=mobile] .game-ui-action-grid,.game-ui-terrain-tool-strip[data-variant=small-mobile] .game-ui-action-grid,.game-ui-undo-redo-actions .game-ui-action-grid{gap:6px}.game-ui-terrain-tool-strip[data-variant=mobile] .game-ui-action-grid .game-ui-icon-button,.game-ui-terrain-tool-strip[data-variant=small-mobile] .game-ui-action-grid .game-ui-icon-button,.game-ui-undo-redo-actions .game-ui-action-grid .game-ui-icon-button{width:var(--game-ui-terrain-tool-hit-size);min-height:var(--game-ui-terrain-tool-hit-size)}.game-ui-terrain-tool-strip[data-icon-label-mode=caption] .game-ui-action-grid .game-ui-icon-button{min-height:calc(var(--game-ui-terrain-tool-hit-size) + 14px)}.game-ui-terrain-tool-strip[data-variant=mobile] .game-ui-action-grid kbd,.game-ui-terrain-tool-strip[data-variant=small-mobile] .game-ui-action-grid kbd,.game-ui-undo-redo-actions .game-ui-action-grid kbd{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-material-swatches[data-variant=small-mobile] .game-ui-material-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-ui-material-swatches[data-variant=small-mobile] .game-ui-material-swatch{grid-template-columns:30px minmax(0,1fr);min-height:44px}.game-ui-material-swatches[data-variant=small-mobile] .game-ui-material-swatch-chip{width:30px;height:30px}.game-ui-build-library[data-variant=small-mobile] .game-ui-build-categories{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-ui-build-items[data-card-layout=rail]{grid-template-columns:repeat(auto-fill, minmax(var(--game-ui-build-rail-card-size), 1fr));justify-items:start}.game-ui-build-items[data-card-layout=rail] .game-ui-build-item{width:var(--game-ui-build-rail-card-size);min-height:var(--game-ui-build-rail-card-size);grid-template-columns:1fr;place-items:center;padding:5px}.game-ui-build-items[data-card-layout=rail] .game-ui-build-item-icon{width:42px;height:42px}.game-ui-build-items[data-card-layout=rail] .game-ui-build-item-copy{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@container game-terrain-build (width<=560px){.game-ui-terrain-build-main-grid{grid-template-columns:minmax(0,1fr)}.game-ui-undo-redo-actions{justify-self:start}.game-ui-brush-control-row{grid-template-columns:minmax(0,1fr) 70px}.game-ui-build-items{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr))}}@media (prefers-reduced-motion:reduce){.game-ui-terrain-mode-option,.game-ui-build-category,.game-ui-material-swatch,.game-ui-build-item{transition:none}}@media (width<=900px){.game-ui-shell{min-height:640px}.game-ui-shell-library,.game-ui-shell-side-panel{top:auto;right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 78px);left:var(--game-ui-safe-left);width:auto;max-height:min(48dvh,320px)}.game-ui-shell-bottom-bar{left:var(--game-ui-safe-left)}.game-ui-shell-movement{bottom:calc(var(--game-ui-safe-bottom) + 86px)}.game-ui-asset-library-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.game-ui-shell{min-height:390px}.game-ui-shell-library{top:calc(var(--game-ui-safe-top) + 58px);right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 70px);width:min(300px,46vw);left:auto}.game-ui-shell-bottom-bar{left:max(132px, var(--game-ui-safe-left))}.game-ui-asset-card-preview{width:48px;height:48px}.game-ui-asset-card-copy>span:not(.game-ui-asset-card-badges):not(.game-ui-asset-card-facts),.game-ui-asset-card-facts{display:none}}.game-ui-contractor-panel{min-width:0;container:game-contractor-panel/inline-size}.game-ui-contractor-panel>section,.game-ui-contractor-panel[data-variant=mobile],.game-ui-contractor-panel[data-variant=small-mobile]{gap:12px;min-width:0;display:grid}.game-ui-contractor-panel-subtitle{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-contractor-panel-grid{grid-template-columns:minmax(300px,.92fr) minmax(320px,1.08fr);align-items:start;gap:12px;display:grid}.game-ui-contractor-job-list,.game-ui-contractor-detail,.game-ui-compact-job-drawer-list{gap:10px;min-width:0;display:grid}.game-ui-contractor-job-list{overscroll-behavior:contain;max-height:min(68dvh,620px);padding-right:2px;overflow:auto}.game-ui-contractor-detail{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 12%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 46%, transparent);padding:12px}.game-ui-contractor-panel[data-variant=mobile],.game-ui-contractor-panel[data-variant=small-mobile]{width:min(100%,420px)}.game-ui-construction-job-card{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 88%, transparent);min-width:0;box-shadow:var(--game-ui-shadow-panel);gap:10px;padding:12px;display:grid}.game-ui-construction-job-card[data-selected=true]{border-color:var(--game-ui-secondary);box-shadow:var(--game-ui-shadow-panel), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 20%, transparent)}.game-ui-construction-job-card[data-status=blocked]{border-color:color-mix(in srgb, var(--game-ui-danger) 34%, transparent)}.game-ui-construction-job-card[data-status=readyForReview]{border-color:color-mix(in srgb, var(--game-ui-success) 36%, transparent)}.game-ui-construction-job-card[data-density=dense]{gap:8px;padding:10px}.game-ui-construction-job-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.game-ui-construction-job-select{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:0;display:inline-grid}.game-ui-construction-job-select:disabled{cursor:default}.game-ui-construction-job-select:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:3px;border-radius:14px}.game-ui-construction-job-select span,.game-ui-robot-crew-copy{gap:2px;min-width:0;display:grid}.game-ui-construction-job-select strong,.game-ui-robot-crew-copy strong{min-width:0;color:var(--game-ui-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-construction-job-select small,.game-ui-robot-crew-copy small,.game-ui-robot-crew-copy em,.game-ui-construction-steps small,.game-ui-construction-warning small,.game-ui-before-after-preview figcaption{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-style:normal;line-height:1.25}.game-ui-construction-job-badges,.game-ui-construction-approval-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.game-ui-construction-job-facts{flex-wrap:wrap;gap:6px;display:flex}.game-ui-construction-job-facts>span{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:10px;gap:1px;min-width:82px;padding:6px 8px;display:inline-grid}.game-ui-construction-job-facts small{color:var(--game-ui-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:860}.game-ui-construction-job-facts b{min-width:0;color:var(--game-ui-text);font-size:var(--game-ui-font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-construction-progress{gap:8px;min-width:0;display:grid}.game-ui-construction-progress-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.game-ui-construction-progress-header>span{align-items:center;gap:7px;min-width:0;display:inline-flex}.game-ui-construction-progress-header strong{min-width:0;color:var(--game-ui-text);font-size:var(--game-ui-font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-construction-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.game-ui-construction-steps li{background:color-mix(in srgb, var(--game-ui-ink-deep) 6%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.game-ui-construction-step-dot{background:var(--game-ui-disabled);width:11px;height:11px;box-shadow:0 0 0 3px color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:999px}.game-ui-construction-steps li[data-step-status=active] .game-ui-construction-step-dot{background:var(--game-ui-secondary)}.game-ui-construction-steps li[data-step-status=complete] .game-ui-construction-step-dot{background:var(--game-ui-success)}.game-ui-construction-steps li[data-step-status=blocked] .game-ui-construction-step-dot{background:var(--game-ui-danger)}.game-ui-construction-steps strong{min-width:0;color:var(--game-ui-text);font-size:var(--game-ui-font-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.game-ui-construction-warnings{gap:6px;display:grid}.game-ui-construction-warning{border:1px solid color-mix(in srgb, var(--game-ui-accent) 28%, transparent);background:color-mix(in srgb, var(--game-ui-warning) 16%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;padding:8px;display:grid}.game-ui-construction-warning>span{gap:2px;min-width:0;display:grid}.game-ui-construction-warning[data-warning-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 34%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 13%, transparent)}.game-ui-construction-warning[data-warning-tone=success]{border-color:color-mix(in srgb, var(--game-ui-success) 34%, transparent);background:color-mix(in srgb, var(--game-ui-success-bright) 18%, transparent)}.game-ui-construction-warning strong{color:var(--game-ui-text);font-size:var(--game-ui-font-xs)}.game-ui-construction-approval-bar{border-top:1px solid color-mix(in srgb, var(--game-ui-border-ink) 10%, transparent);gap:8px;min-width:0;padding-top:8px;display:grid}.game-ui-construction-approval-bar .game-ui-action-grid{gap:7px}.game-ui-construction-approval-bar[data-variant=small-mobile] .game-ui-button{min-height:40px;font-size:var(--game-ui-font-xs);padding:0 10px}.game-ui-robot-crew-status{gap:8px;min-width:0;display:grid}.game-ui-robot-crew-status>header strong{color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title)}.game-ui-robot-crew-list{gap:7px;display:grid}.game-ui-robot-crew-member{background:color-mix(in srgb, var(--game-ui-ink-deep) 7%, transparent);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.game-ui-robot-crew-member[data-crew-status=working]{background:color-mix(in srgb, var(--game-ui-secondary) 11%, transparent)}.game-ui-robot-crew-member[data-crew-status=blocked]{background:color-mix(in srgb, var(--game-ui-danger) 10%, transparent)}.game-ui-before-after-toggle{gap:8px;min-width:0;display:grid}.game-ui-before-after-toggle .game-ui-segmented{width:fit-content;max-width:100%}.game-ui-before-after-preview{gap:7px;min-width:0;margin:0;display:grid}.game-ui-before-after-content,.game-ui-before-after-placeholder{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 12%, transparent);border-radius:var(--game-ui-radius-panel);background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--game-ui-success-bright) 18%, transparent), transparent 8rem), color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);place-items:center;min-height:160px;display:grid;overflow:hidden}.game-ui-before-after-placeholder{color:var(--game-ui-text-muted)}.game-ui-construction-preview-card{text-align:center;place-items:center;gap:6px;width:100%;height:100%;padding:18px;display:grid}.game-ui-construction-preview-card strong{color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-lg)}.game-ui-construction-preview-card small{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);text-transform:uppercase;font-weight:820}.game-ui-construction-preview-card[data-preview=after]{background:radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--game-ui-success) 30%, transparent), transparent 7rem)}.game-ui-construction-preview-card[data-preview=before]{background:radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--game-ui-accent) 22%, transparent), transparent 7rem)}.game-ui-compact-job-drawer .game-ui-compact-game-drawer{width:100%}.game-ui-compact-job-drawer,.game-ui-compact-job-drawer .game-ui-compact-game-drawer,.game-ui-compact-job-drawer-list,.game-ui-compact-job-drawer-list>*{box-sizing:border-box;min-width:0;max-width:100%}.game-ui-compact-job-drawer-list{max-height:min(58dvh,440px);padding:2px;overflow:auto}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-construction-job-header,.game-ui-contractor-panel[data-variant=mobile] .game-ui-construction-job-header{grid-template-columns:minmax(0,1fr)}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-construction-job-badges,.game-ui-contractor-panel[data-variant=mobile] .game-ui-construction-job-badges{justify-content:flex-start}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-construction-steps{display:none}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-before-after-content,.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-before-after-placeholder{min-height:118px}@container game-contractor-panel (width<=760px){.game-ui-contractor-panel-grid{grid-template-columns:minmax(0,1fr)}.game-ui-contractor-job-list{max-height:none;padding-right:0;overflow:visible}.game-ui-contractor-detail{padding:10px}}@media (width<=900px){.game-ui-contractor-panel-grid{grid-template-columns:minmax(0,1fr)}.game-ui-construction-job-facts>span{min-width:min(108px,100%)}}@media (prefers-reduced-motion:reduce){.game-ui-clay-preview *,.game-ui-clay-preview :before,.game-ui-clay-preview :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.game-ui-button:hover,.game-ui-icon-button:hover,.game-ui-language-trigger:hover,.game-ui-language-popover button:hover,.game-ui-stage-tile:hover,.game-ui-orientation-card button:hover,.game-ui-asset-card:hover{transform:none}}.game-ui-button:focus-visible,.game-ui-icon-button:focus-visible,.game-ui-tab:focus-visible,.game-ui-segmented-option:focus-visible,.game-ui-toggle:focus-visible,.game-ui-language-trigger:focus-visible,.game-ui-language-popover button:focus-visible,.game-ui-stage-tile:focus-visible,.game-ui-orientation-card button:focus-visible,.game-ui-collapsible-toggle:focus-visible,.game-ui-construction-job-select:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:2px}.game-ui-window-body,.game-ui-contractor-job-list,.game-ui-compact-job-drawer-list,.game-ui-compact-game-drawer-panel,.game-ui-shell-library,.game-ui-shell-side-panel,.game-ui-modal-frame{scrollbar-width:thin;scrollbar-color:var(--game-ui-border-strong) transparent}.game-ui-panel ::selection,.game-ui-modal-frame ::selection,.game-ui-window ::selection,.game-ui-collapsible ::selection,.game-ui-dialog ::selection{background:color-mix(in srgb, var(--game-ui-accent) 28%, transparent)}.game-ui-button,.game-ui-icon-button,.game-ui-tab,.game-ui-segmented-option,.game-ui-toggle,.game-ui-language-trigger,.game-ui-language-popover button,.game-ui-stage-tile,.game-ui-orientation-card button,.game-ui-collapsible-toggle,.game-ui-window-button,.game-ui-movement-button,.game-ui-asset-card,.game-ui-terrain-mode-option,.game-ui-build-category,.game-ui-material-swatch,.game-ui-build-item,.game-ui-brush-range,.game-ui-construction-job-select,.game-ui-checkbox,.game-ui-card-fan-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.game-ui-movement-pad,.game-ui-placement-toolbar,.game-ui-terrain-tool-strip,.game-ui-hud,.game-ui-hud-actions,.swimmer-first-session-controls{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-ui-collapsible{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);min-width:0;box-shadow:var(--game-ui-shadow-panel);display:grid}.game-ui-collapsible[data-panel-tone=strong]{background:var(--game-ui-panel-strong)}.game-ui-collapsible-header{align-items:center;gap:8px;padding:5px 8px 5px 5px;display:flex}.game-ui-collapsible-heading{flex:1;min-width:0;margin:0;display:flex}.game-ui-collapsible-toggle{border-radius:var(--game-ui-radius-card);min-width:0;min-height:44px;color:var(--game-ui-text);font:inherit;font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:4px 10px;display:flex}@media (hover:hover){.game-ui-collapsible-toggle:hover{background:color-mix(in srgb, var(--game-ui-ink-deep) 6%, transparent)}}.game-ui-collapsible-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-ui-collapsible-chevron{border-right:3px solid var(--game-ui-accent);border-bottom:3px solid var(--game-ui-accent);width:9px;height:9px;transition:transform var(--game-ui-motion-base) var(--game-ui-ease-pop), margin-top var(--game-ui-motion-base) var(--game-ui-ease-pop);border-radius:1px;flex:none;margin-top:-4px;transform:rotate(45deg)}.game-ui-collapsible[data-open=false] .game-ui-collapsible-chevron{margin-top:2px;transform:rotate(-45deg)}.game-ui-collapsible-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.game-ui-collapsible-region{transition:grid-template-rows var(--game-ui-motion-base) var(--game-ui-ease-soft);grid-template-rows:1fr;display:grid}.game-ui-collapsible[data-open=false] .game-ui-collapsible-region{grid-template-rows:0fr}.game-ui-collapsible-clip{min-height:0;overflow:hidden}.game-ui-collapsible-content{gap:12px;padding:2px 14px 14px;display:grid}.game-ui-window{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);width:min(420px,100%);min-width:0;box-shadow:var(--game-ui-shadow-panel);interpolate-size:allow-keywords;transition:width var(--game-ui-motion-base) var(--game-ui-ease-soft), border-radius var(--game-ui-motion-base) var(--game-ui-ease-soft), box-shadow var(--game-ui-motion-base) var(--game-ui-ease-soft);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.game-ui-window-titlebar{border-bottom:var(--game-ui-stroke);background:color-mix(in srgb, var(--game-ui-ink-deep) 5%, transparent);align-items:center;gap:8px;min-height:48px;padding:6px 8px 6px 14px;display:flex}.game-ui-window-icon{flex:none;place-items:center;display:inline-grid}.game-ui-window-title{min-width:0;color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-md);font-weight:var(--game-ui-weight-title);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.game-ui-window-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.game-ui-window-button{width:34px;min-width:34px;min-height:34px;padding:0}.game-ui-window-region{min-height:0;transition:grid-template-rows var(--game-ui-motion-base) var(--game-ui-ease-soft);grid-template-rows:1fr;display:grid}.game-ui-window-clip{min-height:0;display:grid;overflow:hidden}.game-ui-window-body{overscroll-behavior:contain;min-height:0;padding:12px 14px;overflow:auto}.game-ui-window-footer{border-top:var(--game-ui-stroke);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.game-ui-window[data-window-state=minimized]{border-radius:var(--game-ui-radius-control);width:fit-content;max-width:100%}.game-ui-window[data-window-state=minimized] .game-ui-window-region{grid-template-rows:0fr}.game-ui-window[data-window-state=minimized] .game-ui-window-titlebar{background:0 0;border-bottom-color:#0000}.game-ui-window[data-window-state=maximized]{inset:var(--game-ui-safe-top) var(--game-ui-safe-right) var(--game-ui-safe-bottom) var(--game-ui-safe-left);z-index:var(--game-ui-z-overlay);width:auto;animation:game-ui-pop var(--game-ui-motion-base) var(--game-ui-ease-pop) both;position:absolute}.game-ui-window[data-window-state=maximized] .game-ui-window-body{max-height:none}.game-ui-modal{background:0 0;border:0;max-width:min(560px,100vw - 32px);margin:auto;padding:0;overflow:visible}.game-ui-modal[data-size=sm]{max-width:min(380px,100vw - 32px)}.game-ui-modal[data-size=lg]{max-width:min(780px,100vw - 32px)}.game-ui-modal::backdrop{background:var(--game-ui-scrim-strong);backdrop-filter:blur(8px)}.game-ui-modal-frame{overscroll-behavior:contain;border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:var(--game-ui-panel-strong);max-height:min(82dvh,720px);color:var(--game-ui-text);box-shadow:var(--game-ui-shadow-modal);gap:12px;padding:clamp(16px,2.5vw,24px);display:grid;overflow:auto}.game-ui-modal[open] .game-ui-modal-frame{animation:game-ui-pop var(--game-ui-motion-base) var(--game-ui-ease-pop) both}.game-ui-modal-header{align-items:center;gap:10px;display:flex}.game-ui-modal-title{min-width:0;color:var(--game-ui-ink-heading);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);flex:1;margin:0}.game-ui-modal-body{min-width:0;color:var(--game-ui-text)}.game-ui-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.game-ui-collapsible-region,.game-ui-collapsible-chevron,.game-ui-window,.game-ui-window-region{transition:none}.game-ui-window[data-window-state=maximized],.game-ui-modal[open] .game-ui-modal-frame{animation:none}}}
|
|
1
|
+
:root{color-scheme:light;--game-ui-font-display:"Baloo 2", "Geist Variable", "Noto Sans SC", system-ui, sans-serif;--game-ui-font-body:"Geist Variable", "Noto Sans SC", "Noto Sans", system-ui, sans-serif;--game-ui-font-xs:.72rem;--game-ui-font-sm:.82rem;--game-ui-font-md:.95rem;--game-ui-font-lg:1.18rem;--game-ui-font-xl:clamp(1.5rem, 2.4vw, 2.35rem);--game-ui-font-xxl:clamp(2.3rem, 5vw, 4.5rem);--game-ui-line-tight:1.05;--game-ui-line-body:1.52;--game-ui-weight-body:620;--game-ui-weight-strong:800;--game-ui-weight-title:930;--game-ui-bg:#f3e8d8;--game-ui-playfield-scrim:#2a1e146b;--game-ui-surface:#fff8ecc7;--game-ui-surface-raised:#fffaf0f0;--game-ui-panel:#fff8ece6;--game-ui-panel-strong:#fff8ec;--game-ui-panel-deep:#efd1a3;--game-ui-text:#3b2d23;--game-ui-text-muted:#7b6652;--game-ui-accent:#e8743b;--game-ui-accent-bright:#f28d50;--game-ui-accent-pale:#ffd4a2;--game-ui-accent-contrast:#fff8ec;--game-ui-secondary:#1d9a8b;--game-ui-secondary-pale:#baf5df;--game-ui-success:#4f9d6b;--game-ui-success-bright:#7ee0b6;--game-ui-on-success:#16382d;--game-ui-danger:#d85a45;--game-ui-danger-bright:#ef8a72;--game-ui-warning:#f2b35c;--game-ui-berry:#9b6dd6;--game-ui-berry-pale:#d9c6ff;--game-ui-focus-ring:#1d9a8bb8;--game-ui-border-subtle:#6c4f3838;--game-ui-border-strong:#6c4f386b;--game-ui-disabled:#7b66527a;--game-ui-ink-deep:#3a2518;--game-ui-border-ink:#5c3c27;--game-ui-wood:#6c4f38;--game-ui-ink-title:#4a2f1f;--game-ui-ink-heading:#5a3924;--game-ui-text-on-dark:#fff8ec;--game-ui-glass-night:#1f1812ad;--game-ui-glass-night-soft:#1f1812a3;--game-ui-scrim-strong:#1e140e94;--game-ui-space-2:2px;--game-ui-space-4:4px;--game-ui-space-6:6px;--game-ui-space-8:8px;--game-ui-space-10:10px;--game-ui-space-12:12px;--game-ui-space-16:16px;--game-ui-space-20:20px;--game-ui-space-24:24px;--game-ui-space-32:32px;--game-ui-safe-top:max(14px, env(safe-area-inset-top));--game-ui-safe-right:max(14px, env(safe-area-inset-right));--game-ui-safe-bottom:max(14px, env(safe-area-inset-bottom));--game-ui-safe-left:max(14px, env(safe-area-inset-left));--game-ui-radius-bead:999px;--game-ui-radius-control:999px;--game-ui-radius-card:18px;--game-ui-radius-panel:26px;--game-ui-radius-modal:34px;--game-ui-shadow-button:0 13px 26px #4c341c38, inset 0 2px 0 #ffffff6b;--game-ui-shadow-panel:0 22px 60px #4c341c2e, inset 0 1px 0 #ffffffb3;--game-ui-shadow-modal:0 32px 90px #301e1261, inset 0 1px 0 #ffffffb3;--game-ui-shadow-inset:inset 0 2px 8px #4c341c1f;--game-ui-shadow-scenery:0 28px 70px #00000057, inset 0 8px 20px #ffffff1a;--game-ui-shadow-seat:0 8px 18px #00000052;--game-ui-shadow-callout:0 8px 18px #00000038;--game-ui-stroke:1px solid var(--game-ui-border-subtle);--game-ui-motion-fast:.12s;--game-ui-motion-base:.22s;--game-ui-motion-slow:.36s;--game-ui-ease-pop:cubic-bezier(.2, 1.35, .26, 1);--game-ui-ease-soft:cubic-bezier(.22, 1, .36, 1);--game-ui-reduced-motion-policy:disable non-essential transform/opacity animation;--game-ui-z-playfield:0;--game-ui-z-hud:20;--game-ui-z-sidebar:40;--game-ui-z-overlay:60;--game-ui-z-modal:80;--game-ui-z-toast:100;--game-ui-asset-icon-sm:22px;--game-ui-asset-icon-md:34px;--game-ui-asset-icon-lg:48px;--game-ui-asset-icon-xl:64px;--game-ui-asset-button-min-width:148px;--game-ui-asset-card-fan-width:132px;--game-ui-stage-tile-min-height:122px;--game-ui-terrain-swatch-size:34px;--game-ui-terrain-tool-hit-size:44px;--game-ui-build-rail-card-size:52px;--game-ui-brush-number-width:76px;--game-ui-scenery-canopy:#40543c;--game-ui-scenery-moss:#2d3a2d;--game-ui-scenery-soil:#261b14;--game-ui-scenery-pine:#314b38;--game-ui-scenery-clearing:#5f3b20db;--game-ui-scenery-wood-hi:#9a6c42;--game-ui-scenery-wood-lo:#563621;--game-ui-scenery-dusk-1:#27180e;--game-ui-scenery-dusk-2:#7f5735;--game-ui-scenery-dusk-3:#d7b174;--game-ui-scenery-grid-strong:#ffffff12;--game-ui-scenery-grid-soft:#ffffff0d;--game-ui-preview-glow-warm:#fff6cae6;--game-ui-preview-glow-mint:#7ee0b63d;--game-ui-preview-canvas-1:#f6e8d2;--game-ui-preview-canvas-2:#e4cda8;--game-ui-preview-canvas-3:#b98d5d}[data-game-ui-theme=night]{color-scheme:dark;--game-ui-bg:#221812;--game-ui-playfield-scrim:#0a060480;--game-ui-surface:#34261cb8;--game-ui-surface-raised:#402f22f0;--game-ui-panel:#2e2118eb;--game-ui-panel-strong:#3a2a1e;--game-ui-panel-deep:#2c1f16;--game-ui-text:#f6e7d3;--game-ui-text-muted:#c9ac8d;--game-ui-accent:#ef8148;--game-ui-accent-bright:#ffa06b;--game-ui-accent-pale:#8a4f28;--game-ui-secondary:#2fb3a2;--game-ui-secondary-pale:#1d5c53;--game-ui-success:#63b381;--game-ui-success-bright:#3d7c58;--game-ui-on-success:#eafff3;--game-ui-danger:#e26a55;--game-ui-danger-bright:#8a3a2c;--game-ui-warning:#f2b35c;--game-ui-berry:#b58ae0;--game-ui-berry-pale:#55407a;--game-ui-focus-ring:#2fb3a2bf;--game-ui-border-subtle:#f6e7d329;--game-ui-border-strong:#f6e7d352;--game-ui-disabled:#c9ac8d73;--game-ui-ink-deep:#f6e7d3;--game-ui-border-ink:#e8d3b8;--game-ui-wood:#d8b892;--game-ui-ink-title:#f6e2c8;--game-ui-ink-heading:#ecd6b8;--game-ui-text-on-dark:#fff8ec;--game-ui-scrim-strong:#0000009e;--game-ui-shadow-button:0 13px 26px #00000073, inset 0 2px 0 #ffffff14;--game-ui-shadow-panel:0 22px 60px #0006, inset 0 1px 0 #ffffff0f;--game-ui-shadow-modal:0 32px 90px #0009, inset 0 1px 0 #ffffff0f;--game-ui-shadow-inset:inset 0 2px 8px #00000059;--game-ui-preview-glow-warm:#78582a59;--game-ui-preview-glow-mint:#2fb3a224;--game-ui-preview-canvas-1:#2a1d13;--game-ui-preview-canvas-2:#201510;--game-ui-preview-canvas-3:#150d08}@layer swimmer-ui{html[data-game-ui-preview=clay],html[data-game-ui-preview=clay] body,html[data-game-ui-preview=clay] #root{min-height:100%;margin:0}.game-ui-clay-preview{min-height:100dvh;color:var(--game-ui-text);font-family:var(--game-ui-font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 12% 4%, var(--game-ui-preview-glow-warm), transparent 27rem), radial-gradient(circle at 86% 8%, var(--game-ui-preview-glow-mint), transparent 26rem), linear-gradient(160deg, var(--game-ui-preview-canvas-1) 0%, var(--game-ui-preview-canvas-2) 52%, var(--game-ui-preview-canvas-3) 100%);padding:24px}.game-ui-clay-preview *,.game-ui-clay-preview :before,.game-ui-clay-preview :after{box-sizing:border-box}.game-ui-clay-preview code{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);color:var(--game-ui-border-ink);border-radius:8px;padding:1px 6px;font-size:.74em}.game-ui-preview-hero,.game-ui-preview-section{width:min(100%,1180px);margin:0 auto}.game-ui-preview-hero{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:18px 0 22px;display:grid}.game-ui-preview-hero h1{max-width:13ch;color:var(--game-ui-ink-title);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-xxl);font-weight:var(--game-ui-weight-title);text-shadow:0 3px 0 color-mix(in srgb, var(--game-ui-panel-strong) 72%, transparent);grid-column:1/-1;margin:0;line-height:.9}.game-ui-preview-hero p{max-width:72ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-lg);line-height:var(--game-ui-line-body);grid-column:1/-1;margin:0}.game-ui-preview-section{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 50%, transparent);box-shadow:var(--game-ui-shadow-panel);gap:16px;margin-top:22px;padding:clamp(16px,2vw,24px);display:grid}.game-ui-preview-section>h2,.game-ui-token-card h3,.game-ui-dialog h2,.game-ui-panel h3,.game-ui-prompt h3,.swimmer-first-session-onboarding-card h2{color:var(--game-ui-ink-heading);font-family:var(--game-ui-font-display);margin:0;font-weight:900}.game-ui-preview-section>h2{font-size:clamp(1.35rem,2.2vw,2rem)}.game-ui-swatch-grid,.game-ui-token-ledger{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.game-ui-swatch,.game-ui-token-card,.game-ui-type-scale,.game-ui-stage-world,.game-ui-stage-sidecar,.game-ui-proof-frame,.game-ui-dialog,.game-ui-history,.game-ui-panel,.game-ui-prompt,.game-ui-toast{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);box-shadow:var(--game-ui-shadow-panel)}.game-ui-swatch{align-items:center;gap:10px;margin:0;padding:10px;display:flex}.game-ui-swatch>span{border:1px solid color-mix(in srgb, var(--game-ui-ink-deep) 16%, transparent);width:46px;height:46px;box-shadow:var(--game-ui-shadow-inset);border-radius:15px;flex:none}.game-ui-swatch figcaption,.game-ui-token-row,.game-ui-type-scale,.game-ui-stage-tile-copy,.game-ui-hud-chip span,.game-ui-language-popover button span,.game-ui-history-entry-header,.swimmer-first-session-control-copy{gap:2px;display:grid}.game-ui-token-card,.game-ui-dialog,.game-ui-panel,.game-ui-history,.game-ui-prompt{gap:12px;padding:14px;display:grid}.game-ui-token-grid{gap:6px;display:grid}.game-ui-token-row{background:color-mix(in srgb, var(--game-ui-wood) 6%, transparent);border-radius:10px;grid-template-columns:minmax(92px,.42fr) minmax(0,.58fr);align-items:center;padding:7px 8px}.game-ui-token-row span,.game-ui-small-copy,.game-ui-stage-tile small,.game-ui-hud-chip small,.game-ui-hud-chip em,.game-ui-language-popover small,.game-ui-type-kicker{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);letter-spacing:.08em;text-transform:uppercase;font-style:normal;font-weight:820}.game-ui-token-row code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-token-row>span:first-child{overflow-wrap:anywhere;letter-spacing:.04em;min-width:0;line-height:1.15}.game-ui-type-scale{gap:9px;padding:clamp(18px,3vw,30px)}.game-ui-type-scale h1,.game-ui-type-scale h2,.game-ui-type-scale p,.game-ui-type-scale small{margin:0}.game-ui-type-scale h1{color:var(--game-ui-ink-title);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-xxl);font-weight:var(--game-ui-weight-title);line-height:var(--game-ui-line-tight)}.game-ui-type-scale h2{font-size:var(--game-ui-font-xl);font-weight:880}.game-ui-type-scale p,.game-ui-dialog p,.game-ui-history-entry p,.game-ui-prompt p,.swimmer-first-session-onboarding-card p{max-width:62ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-md);line-height:var(--game-ui-line-body)}.game-ui-component-row,.game-ui-asset-path-grid,.game-ui-hud-cluster,.game-ui-hud-tools,.game-ui-input-strip,.game-ui-tabs,.game-ui-segmented,.game-ui-radial-menu,.game-ui-hud-actions,.swimmer-first-session-onboarding-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.game-ui-button,.game-ui-icon-button,.game-ui-tab,.game-ui-segmented-option,.game-ui-toggle,.game-ui-language-trigger,.game-ui-language-popover button,.game-ui-stage-tile,.game-ui-orientation-card button{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 18%, transparent);border-radius:var(--game-ui-radius-control);min-height:44px;font:inherit;font-family:var(--game-ui-font-body);cursor:pointer;box-shadow:var(--game-ui-shadow-button);transition:transform var(--game-ui-motion-fast) var(--game-ui-ease-pop), scale var(--game-ui-motion-fast) var(--game-ui-ease-pop), box-shadow var(--game-ui-motion-fast) var(--game-ui-ease-soft);font-weight:860}.game-ui-button,.game-ui-icon-button{justify-content:center;align-items:center;gap:8px;min-width:fit-content;padding:0 16px;display:inline-flex}@media (hover:hover){.game-ui-button:hover,.game-ui-icon-button:hover,.game-ui-language-trigger:hover,.game-ui-language-popover button:hover,.game-ui-stage-tile:hover,.game-ui-orientation-card button:hover{transform:translateY(-1px)}}.game-ui-button:active,.game-ui-icon-button:active,.game-ui-tab:active,.game-ui-segmented-option:active,.game-ui-toggle:active,.game-ui-language-trigger:active,.game-ui-language-popover button:active,.game-ui-stage-tile:active,.game-ui-orientation-card button:active{scale:.96}.game-ui-button--primary,.game-ui-orientation-card button{background:linear-gradient(180deg, var(--game-ui-accent-bright), var(--game-ui-accent));color:var(--game-ui-accent-contrast)}.game-ui-button--secondary,.game-ui-icon-button,.game-ui-tab,.game-ui-segmented-option,.game-ui-toggle,.game-ui-language-trigger,.game-ui-language-popover button{background:var(--game-ui-surface-raised);color:var(--game-ui-text)}.game-ui-button--ghost{border-color:var(--game-ui-border-subtle);background:color-mix(in srgb, var(--game-ui-panel-strong) 18%, transparent);color:var(--game-ui-text-muted);box-shadow:none}.game-ui-button--success{background:linear-gradient(180deg, var(--game-ui-success-bright), var(--game-ui-success));color:var(--game-ui-on-success)}.game-ui-button--danger{background:linear-gradient(180deg, var(--game-ui-danger-bright), var(--game-ui-danger));color:var(--game-ui-accent-contrast)}.game-ui-button:disabled{background:color-mix(in srgb, var(--game-ui-text-muted) 16%, transparent);color:var(--game-ui-disabled);cursor:not-allowed;transform:none}.game-ui-asset-icon{width:var(--game-ui-asset-icon-md);height:var(--game-ui-asset-icon-md);flex:none;place-items:center;display:inline-grid}.game-ui-asset-icon[data-icon-size=sm]{width:var(--game-ui-asset-icon-sm);height:var(--game-ui-asset-icon-sm)}.game-ui-asset-icon[data-icon-size=lg]{width:var(--game-ui-asset-icon-lg);height:var(--game-ui-asset-icon-lg)}.game-ui-asset-icon[data-icon-size=xl]{width:var(--game-ui-asset-icon-xl);height:var(--game-ui-asset-icon-xl)}.game-ui-asset-icon img{object-fit:contain;width:100%;height:100%}.game-ui-badge{border:1px solid var(--game-ui-border-subtle);border-radius:var(--game-ui-radius-bead);background:color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);width:fit-content;min-height:28px;color:var(--game-ui-text);font-size:var(--game-ui-font-xs);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 10px;font-weight:900;display:inline-flex}.game-ui-badge[data-badge-tone=success]{border-color:color-mix(in srgb, var(--game-ui-success) 42%, transparent);background:color-mix(in srgb, var(--game-ui-success-bright) 28%, transparent)}.game-ui-badge[data-badge-tone=warning]{border-color:color-mix(in srgb, var(--game-ui-accent) 42%, transparent);background:color-mix(in srgb, var(--game-ui-warning) 28%, transparent)}.game-ui-badge[data-badge-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 16%, transparent)}.game-ui-badge[data-badge-tone=ai]{border-color:color-mix(in srgb, var(--game-ui-secondary) 42%, transparent);background:color-mix(in srgb, var(--game-ui-secondary) 16%, transparent)}.game-ui-toast{padding:12px 14px;font-weight:820}.game-ui-toast[data-toast-tone=success]{border-color:color-mix(in srgb, var(--game-ui-success) 42%, transparent);background:color-mix(in srgb, var(--game-ui-success-bright) 22%, transparent)}.game-ui-toast[data-toast-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 13%, transparent)}.game-ui-history-entry{border-radius:var(--game-ui-radius-card);background:color-mix(in srgb, var(--game-ui-panel-strong) 56%, transparent);gap:4px;padding:12px;display:grid}.game-ui-history-entry[data-entry-kind=mystery]{background:color-mix(in srgb, var(--game-ui-berry) 12%, transparent)}.game-ui-history-entry[data-entry-kind=system]{background:color-mix(in srgb, var(--game-ui-secondary) 12%, transparent)}.game-ui-history-entry-header{grid-template-columns:1fr auto;align-items:center}.game-ui-history-entry-header span{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-weight:760}.game-ui-tab[aria-selected=true],.game-ui-segmented-option[aria-pressed=true]{background:var(--game-ui-secondary);color:var(--game-ui-accent-contrast)}.game-ui-slider{color:var(--game-ui-text-muted);gap:6px;font-weight:820;display:grid}.game-ui-slider input{accent-color:var(--game-ui-secondary)}.game-ui-toggle{justify-content:space-between;align-items:center;gap:10px;padding:0 10px 0 14px;display:inline-flex}.game-ui-toggle-track{border:2px solid var(--game-ui-panel-strong);border-radius:var(--game-ui-radius-bead);background:var(--game-ui-secondary);width:42px;height:24px;box-shadow:inset -8px 0 0 color-mix(in srgb, var(--game-ui-panel-strong) 62%, transparent)}.game-ui-tooltip{display:inline-flex;position:relative}.game-ui-tooltip [role=tooltip]{background:var(--game-ui-text);min-width:150px;color:var(--game-ui-accent-contrast);font-size:var(--game-ui-font-xs);opacity:0;pointer-events:none;transition:opacity var(--game-ui-motion-fast) var(--game-ui-ease-soft), transform var(--game-ui-motion-fast) var(--game-ui-ease-pop);border-radius:12px;padding:7px 9px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(3px)}.game-ui-tooltip [role=tooltip]:after{background:var(--game-ui-text);content:"";border-radius:2px;width:8px;height:8px;margin-top:-5px;position:absolute;top:100%;left:50%;transform:translate(-50%)rotate(45deg)}.game-ui-tooltip:hover [role=tooltip],.game-ui-tooltip:focus-within [role=tooltip]{opacity:1;transform:translate(-50%)translateY(0)}.game-ui-stage-demo,.game-ui-preview-two-up,.game-ui-proof-frames{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;display:grid}.game-ui-first-session-preview{grid-template-columns:1fr;gap:14px;display:grid}.game-ui-stage-world{background:radial-gradient(ellipse at 50% 66%, var(--game-ui-scenery-clearing) 0 18%, transparent 18.5%), radial-gradient(circle at 25% 32%, color-mix(in srgb, var(--game-ui-secondary) 38%, transparent), transparent 11rem), radial-gradient(circle at 74% 28%, color-mix(in srgb, var(--game-ui-accent) 34%, transparent), transparent 12rem), linear-gradient(160deg, var(--game-ui-scenery-canopy), var(--game-ui-scenery-moss) 48%, var(--game-ui-scenery-soil) 100%);min-height:430px;padding:16px;position:relative;overflow:hidden}.game-ui-stage-world:before{background:linear-gradient(90deg, var(--game-ui-scenery-grid-strong) 1px, transparent 1px), linear-gradient(0deg, var(--game-ui-scenery-grid-soft) 1px, transparent 1px);content:"";opacity:.28;background-size:56px 56px;position:absolute;inset:0}.game-ui-hud{z-index:var(--game-ui-z-hud);justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.game-ui-hud-chip{border:1px solid color-mix(in srgb, var(--game-ui-text-on-dark) 30%, transparent);background:var(--game-ui-glass-night);min-height:54px;color:var(--game-ui-text-on-dark);backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;border-radius:20px;align-items:center;gap:8px;padding:6px 10px 6px 6px;display:inline-flex}.game-ui-hud-chip strong{color:var(--game-ui-text-on-dark);font-size:var(--game-ui-font-sm)}.game-ui-hud-chip small,.game-ui-hud-chip em{color:color-mix(in srgb, var(--game-ui-text-on-dark) 72%, transparent)}.game-ui-table-prop{aspect-ratio:1.9;border:4px solid color-mix(in srgb, var(--game-ui-text-on-dark) 24%, transparent);background:radial-gradient(ellipse at 50% 38%, var(--game-ui-scenery-wood-hi), var(--game-ui-scenery-wood-lo) 72%);width:min(46%,360px);box-shadow:var(--game-ui-shadow-scenery);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-42%)}.game-ui-seat{border:3px solid var(--game-ui-text-on-dark);background:radial-gradient(circle at 35% 28%, var(--game-ui-accent-pale), var(--game-ui-accent));width:36px;height:36px;box-shadow:var(--game-ui-shadow-seat);border-radius:50%;position:absolute}.game-ui-seat.is-host{top:-10px;left:46%}.game-ui-seat.is-guest-a{background:radial-gradient(circle at 35% 28%, var(--game-ui-secondary-pale), var(--game-ui-secondary));bottom:6%;right:7%}.game-ui-seat.is-guest-b{background:radial-gradient(circle at 35% 28%, var(--game-ui-berry-pale), var(--game-ui-berry));bottom:6%;left:7%}.game-ui-callout{background:var(--game-ui-panel-strong);color:var(--game-ui-text);font-size:var(--game-ui-font-xs);box-shadow:var(--game-ui-shadow-callout);white-space:nowrap;border-radius:16px 16px 16px 5px;padding:6px 9px;font-weight:820;position:absolute}.game-ui-callout.is-a{top:-44px;left:20%}.game-ui-callout.is-b{top:-28px;right:8%}.game-ui-input-strip{z-index:var(--game-ui-z-hud);justify-content:flex-end;position:absolute;bottom:16px;left:16px;right:16px}.game-ui-stage-sidecar{align-content:start;gap:10px;padding:12px;display:grid}.game-ui-stage-tile{min-height:var(--game-ui-stage-tile-min-height);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 92%, transparent);width:100%;color:var(--game-ui-text);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.game-ui-stage-tile[data-stage-tone=portal]{border-color:color-mix(in srgb, var(--game-ui-secondary) 42%, transparent)}.game-ui-stage-tile[data-stage-tone=host]{border-color:color-mix(in srgb, var(--game-ui-accent) 42%, transparent)}.game-ui-stage-tile[data-stage-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent)}.game-ui-stage-tile:disabled{cursor:not-allowed;opacity:.76;filter:saturate(.72);transform:none}.game-ui-stage-tile-copy>span{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:1.35}.game-ui-card-fan{place-items:center;min-height:190px;display:grid;position:relative}.game-ui-card-fan-card{width:var(--game-ui-asset-card-fan-width);border:2px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);background:linear-gradient(180deg, var(--game-ui-panel-strong), var(--game-ui-panel-deep));text-align:center;min-height:170px;transform:translateX(calc(var(--game-ui-card-offset) * 54px)) rotate(calc(var(--game-ui-card-offset) * 8deg));box-shadow:var(--game-ui-shadow-button);border-radius:22px;place-items:center;gap:6px;padding:12px;display:grid;position:absolute}.game-ui-card-fan-card:nth-child(2){z-index:2;transform:translateY(-10px)}.game-ui-card-fan-card small{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);text-transform:uppercase;font-weight:860}.game-ui-card-fan-card strong{font-size:var(--game-ui-font-lg)}.game-ui-orientation-gate{border:1px dashed var(--game-ui-border-strong);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-ink-deep) 14%, transparent);place-items:center;min-height:320px;padding:16px;display:grid}.game-ui-orientation-card{border:2px solid color-mix(in srgb, var(--game-ui-panel-strong) 62%, transparent);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 94%, transparent);max-width:440px;color:var(--game-ui-text);text-align:center;box-shadow:var(--game-ui-shadow-modal);justify-items:center;gap:10px;padding:24px;display:grid}.game-ui-orientation-card h2,.game-ui-orientation-card p,.game-ui-orientation-card small{margin:0}.game-ui-language-menu{justify-self:end;position:relative}.game-ui-language-trigger,.game-ui-language-popover button{align-items:center;gap:8px;padding:0 12px;display:inline-flex}.game-ui-language-popover{z-index:var(--game-ui-z-toast);border:var(--game-ui-stroke);background:var(--game-ui-panel-strong);min-width:210px;box-shadow:var(--game-ui-shadow-modal);border-radius:18px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.game-ui-language-popover button{text-align:left;border-radius:14px;justify-content:flex-start;width:100%}.game-ui-loading-state{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-control);background:color-mix(in srgb, var(--game-ui-panel-strong) 72%, transparent);min-height:48px;color:var(--game-ui-text);align-items:center;gap:8px;padding:8px 12px;font-weight:820;display:inline-flex}.game-ui-loading-state[data-loading-tone=error]{border-color:color-mix(in srgb, var(--game-ui-danger) 42%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 12%, transparent)}.game-ui-loading-state img{object-fit:contain;width:30px;height:30px}.game-ui-asset-path-grid code{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.game-ui-icon-gallery{gap:18px;display:grid}.game-ui-icon-family{gap:10px;display:grid}.game-ui-icon-family-head{gap:6px;display:grid}.game-ui-icon-grid{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:10px;display:grid}.game-ui-icon-cell{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);box-shadow:var(--game-ui-shadow-panel);justify-items:center;gap:7px;margin:0;padding:12px 6px;display:grid}.game-ui-icon-cell figcaption{overflow-wrap:anywhere;min-width:0;max-width:100%;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);letter-spacing:.03em;text-align:center;font-weight:760}.game-ui-input{border:1px solid var(--game-ui-border-strong);border-radius:var(--game-ui-radius-card);background:var(--game-ui-surface-raised);width:100%;min-height:48px;box-shadow:var(--game-ui-shadow-inset);color:var(--game-ui-text);font:inherit;font-weight:var(--game-ui-weight-body);transition:border-color var(--game-ui-motion-fast) var(--game-ui-ease-soft), box-shadow var(--game-ui-motion-fast) var(--game-ui-ease-soft);padding:12px 16px}.game-ui-input::placeholder{color:var(--game-ui-disabled)}.game-ui-input:focus-visible{border-color:var(--game-ui-secondary);box-shadow:var(--game-ui-shadow-inset), 0 0 0 3px var(--game-ui-focus-ring);outline:none}.game-ui-input:disabled{opacity:.6;cursor:not-allowed}.game-ui-input[data-invalid=true],.game-ui-field[data-invalid=true] .game-ui-input{border-color:var(--game-ui-danger);box-shadow:var(--game-ui-shadow-inset), 0 0 0 3px color-mix(in srgb, var(--game-ui-danger) 26%, transparent)}.game-ui-textarea{min-height:92px;line-height:var(--game-ui-line-body);resize:vertical}.game-ui-field{gap:6px;display:grid}.game-ui-field-label{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-weight:var(--game-ui-weight-strong);letter-spacing:.06em;text-transform:uppercase}.game-ui-field-required{color:var(--game-ui-danger)}.game-ui-field-hint{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm)}.game-ui-field-error{color:var(--game-ui-danger);font-size:var(--game-ui-font-sm);font-weight:var(--game-ui-weight-strong)}.game-ui-checkbox{cursor:pointer;min-height:40px;color:var(--game-ui-text);font-weight:var(--game-ui-weight-body);align-items:center;gap:10px;display:inline-flex}.game-ui-checkbox-input{opacity:0;width:1px;height:1px;position:absolute}.game-ui-checkbox-box{border:1px solid var(--game-ui-border-strong);background:var(--game-ui-surface-raised);width:26px;height:26px;box-shadow:var(--game-ui-shadow-inset);transition:background var(--game-ui-motion-fast), border-color var(--game-ui-motion-fast);border-radius:9px;flex:none;place-items:center;display:grid;position:relative}.game-ui-checkbox-box:after{content:"";border-left:3px solid var(--game-ui-accent-contrast);border-bottom:3px solid var(--game-ui-accent-contrast);opacity:0;width:12px;height:7px;transition:transform var(--game-ui-motion-fast) var(--game-ui-ease-pop), opacity var(--game-ui-motion-fast);margin-top:-3px;transform:rotate(-45deg)scale(.3)}.game-ui-checkbox-input:checked+.game-ui-checkbox-box{background:var(--game-ui-accent);border-color:var(--game-ui-accent)}.game-ui-checkbox-input:checked+.game-ui-checkbox-box:after{opacity:1;transform:rotate(-45deg)scale(1)}.game-ui-checkbox-input:focus-visible+.game-ui-checkbox-box{box-shadow:var(--game-ui-shadow-inset), 0 0 0 3px var(--game-ui-focus-ring)}.game-ui-checkbox-input:disabled~*{opacity:.55;cursor:not-allowed}.game-ui-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-avatar{border:2px solid var(--game-ui-panel-strong);background:linear-gradient(150deg, var(--game-ui-warning), var(--game-ui-accent));color:var(--game-ui-accent-contrast);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);box-shadow:var(--game-ui-shadow-button);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.game-ui-avatar img,.game-ui-avatar-initials{grid-area:1/1}.game-ui-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.game-ui-avatar[data-avatar-size=sm]{width:32px;height:32px;font-size:.72rem}.game-ui-avatar[data-avatar-size=md]{width:44px;height:44px;font-size:.95rem}.game-ui-avatar[data-avatar-size=lg]{width:60px;height:60px;font-size:1.25rem}.game-ui-avatar[data-avatar-size=xl]{width:84px;height:84px;font-size:1.7rem}.game-ui-avatar-status{border:2px solid var(--game-ui-panel-strong);border-radius:50%;width:30%;min-width:9px;height:30%;min-height:9px;position:absolute;bottom:-1px;right:-1px}.game-ui-avatar[data-avatar-status=online] .game-ui-avatar-status{background:var(--game-ui-success)}.game-ui-avatar[data-avatar-status=busy] .game-ui-avatar-status{background:var(--game-ui-danger)}.game-ui-avatar[data-avatar-status=away] .game-ui-avatar-status{background:var(--game-ui-warning)}.game-ui-progress{align-items:center;gap:10px;display:flex}.game-ui-progress-track{border-radius:var(--game-ui-radius-control);background:var(--game-ui-surface);height:14px;box-shadow:var(--game-ui-shadow-inset);flex:1;position:relative;overflow:hidden}.game-ui-progress-fill{border-radius:inherit;background:var(--game-ui-accent);height:100%;transition:width var(--game-ui-motion-base) var(--game-ui-ease-soft)}.game-ui-progress[data-progress-tone=success] .game-ui-progress-fill{background:var(--game-ui-success)}.game-ui-progress[data-progress-tone=danger] .game-ui-progress-fill{background:var(--game-ui-danger)}.game-ui-progress[data-progress-tone=warning] .game-ui-progress-fill{background:var(--game-ui-warning)}.game-ui-progress-value{min-width:3ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);font-weight:var(--game-ui-weight-strong);text-align:right;font-variant-numeric:tabular-nums}.game-ui-empty-state{border:1px dashed var(--game-ui-border-strong);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-surface);text-align:center;justify-items:center;gap:8px;padding:28px 20px;display:grid}.game-ui-empty-state-title{color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-lg);font-weight:var(--game-ui-weight-strong)}.game-ui-empty-state-body{max-width:42ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-empty-state-action{margin-top:6px}@media (prefers-reduced-motion:reduce){.game-ui-input,.game-ui-checkbox-box,.game-ui-checkbox-box:after,.game-ui-progress-fill{transition:none}}.game-ui-proof-frames{grid-template-columns:1fr}.game-ui-proof-frame{padding:12px;overflow:hidden}.game-ui-proof-frame>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.game-ui-proof-frame.is-desktop .game-ui-stage-demo{width:min(100%,1440px);min-height:min(900px,64dvh)}.game-ui-proof-frame.is-mobile-landscape .game-ui-stage-demo{grid-template-columns:minmax(0,1fr) minmax(220px,.54fr);width:min(100%,844px);min-height:390px}.game-ui-proof-frame.is-mobile-landscape .game-ui-stage-world{min-height:390px}.game-ui-proof-frame.is-mobile-landscape .game-ui-hud-chip{min-height:44px;padding:4px 8px 4px 5px}.game-ui-proof-frame.is-mobile-landscape .game-ui-hud-chip:nth-child(3),.game-ui-proof-frame.is-mobile-landscape .game-ui-hud-tools{display:none}.game-ui-stage-tile strong,.game-ui-dialog h2,.game-ui-panel h3,.game-ui-prompt h3,.game-ui-empty-state-title,.swimmer-first-session-onboarding-card h2,.game-ui-clay-preview h1,.game-ui-clay-preview h2,.game-ui-clay-preview h3{text-wrap:balance}.game-ui-stage-tile-copy>span,.game-ui-small-copy,.game-ui-field-hint,.game-ui-empty-state-body,.game-ui-prompt p,.game-ui-dialog p,.game-ui-preview-hero p{text-wrap:pretty}.game-ui-button:has(>.game-ui-asset-icon:last-child),.game-ui-button:has(>svg:last-child){padding-right:14px}.game-ui-button:has(>.game-ui-asset-icon:first-child),.game-ui-button:has(>svg:first-child){padding-left:14px}@keyframes game-ui-pop{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.96)}to{opacity:1;filter:blur();transform:none}}@keyframes game-ui-rise{0%{opacity:0;filter:blur(3px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:none}}.game-ui-dialog,.swimmer-first-session-onboarding-card{animation:game-ui-pop var(--game-ui-motion-base) var(--game-ui-ease-pop) both}.game-ui-language-popover{animation:game-ui-pop var(--game-ui-motion-fast) var(--game-ui-ease-pop) both;transform-origin:100% 0}.game-ui-toast{animation:game-ui-rise var(--game-ui-motion-base) var(--game-ui-ease-soft) both}.game-ui-preview-hero>*{animation:game-ui-rise var(--game-ui-motion-slow) var(--game-ui-ease-soft) both}.game-ui-preview-hero>:nth-child(2){animation-delay:60ms}.game-ui-preview-hero>:nth-child(3){animation-delay:.12s}.game-ui-preview-hero>:nth-child(4){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.game-ui-dialog,.swimmer-first-session-onboarding-card,.game-ui-language-popover,.game-ui-toast,.game-ui-preview-hero>*{animation:none}}.game-ui-button--static:active{scale:1}.game-ui-first-session-world{border-radius:var(--game-ui-radius-modal);background:linear-gradient(145deg, var(--game-ui-scenery-dusk-1) 0%, var(--game-ui-scenery-dusk-2) 48%, var(--game-ui-scenery-dusk-3) 100%);min-height:360px;box-shadow:var(--game-ui-shadow-modal);position:relative;overflow:hidden}.game-ui-first-session-world:before{border:4px solid color-mix(in srgb, var(--game-ui-text-on-dark) 22%, transparent);background:radial-gradient(ellipse at 50% 38%, var(--game-ui-scenery-wood-hi), var(--game-ui-scenery-wood-lo) 72%);content:"";border-radius:50%;position:absolute;inset:18% 22% 30%}.swimmer-first-session-shell{z-index:5;pointer-events:none;position:absolute;inset:0}.swimmer-first-session-hud{top:var(--game-ui-safe-top);right:var(--game-ui-safe-right);left:var(--game-ui-safe-left);align-items:flex-start;position:absolute}.swimmer-first-session-hud .game-ui-hud-cluster,.swimmer-first-session-hud .game-ui-hud-tools,.swimmer-first-session-hud-actions{pointer-events:auto}.swimmer-first-session-controls{right:max(18px, var(--game-ui-safe-right));bottom:max(16px, var(--game-ui-safe-bottom));left:max(18px, var(--game-ui-safe-left));border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 86%, transparent);pointer-events:none;box-shadow:var(--game-ui-shadow-panel);backdrop-filter:blur(16px);grid-template-columns:auto minmax(120px,1fr) minmax(180px,.72fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid;position:absolute}.swimmer-first-session-joystick{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 18%, transparent);background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);width:58px;height:58px;box-shadow:var(--game-ui-shadow-inset);border-radius:50%;place-items:center;display:grid}.swimmer-first-session-joystick span{background:linear-gradient(180deg, var(--game-ui-accent-bright), var(--game-ui-accent));width:25px;height:25px;box-shadow:var(--game-ui-shadow-button);border-radius:50%}.swimmer-first-session-control-copy strong{color:var(--game-ui-text);font-size:var(--game-ui-font-sm)}.swimmer-first-session-input,.swimmer-first-session-emote{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 18%, transparent);border-radius:var(--game-ui-radius-control);background:color-mix(in srgb, var(--game-ui-panel-strong) 74%, transparent);min-height:44px;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);align-items:center;gap:8px;padding:0 12px;font-weight:860;display:inline-flex}.swimmer-first-session-emote{color:var(--game-ui-text);cursor:pointer;pointer-events:auto}.game-ui-first-session-modal-slot{border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-ink-deep) 18%, transparent);min-height:360px;position:relative;overflow:hidden}.swimmer-first-session-onboarding{z-index:var(--game-ui-z-modal);place-items:center;padding:18px;display:grid;position:absolute;inset:0}.swimmer-first-session-onboarding-scrim{background:var(--game-ui-scrim-strong);backdrop-filter:blur(10px);position:absolute;inset:0}.swimmer-first-session-onboarding-card{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);width:min(720px,100vw - 40px);max-height:min(720px,100dvh - 28px);color:var(--game-ui-text);box-shadow:var(--game-ui-shadow-modal);gap:12px;padding:clamp(18px,3vw,30px);display:grid;position:relative;overflow:auto}.swimmer-first-session-onboarding-card h2{max-width:15ch;font-size:clamp(1.8rem,4vw,3.4rem);line-height:.95}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-card{width:min(100%,360px);padding:18px}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-card h2{max-width:none;font-size:clamp(1.55rem,3vw,2.25rem)}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-steps{grid-template-columns:1fr}.swimmer-first-session-onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 0;padding:0;list-style:none;display:grid}.swimmer-first-session-onboarding-steps li{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 14%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 56%, transparent);gap:5px;padding:12px;display:grid}.swimmer-first-session-onboarding-steps span{color:var(--game-ui-accent);font-size:var(--game-ui-font-xs);font-weight:950}.swimmer-first-session-onboarding-steps small{color:var(--game-ui-text-muted);line-height:1.35}@media (width<=900px){.game-ui-clay-preview{padding:14px}.game-ui-preview-hero,.game-ui-stage-demo,.game-ui-preview-two-up,.game-ui-proof-frame.is-mobile-landscape .game-ui-stage-demo,.game-ui-first-session-preview{grid-template-columns:1fr}.game-ui-preview-hero h1,.game-ui-preview-hero p{grid-column:auto}.game-ui-language-menu{justify-self:start}.game-ui-stage-world{min-height:390px}.game-ui-hud{display:grid}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.swimmer-first-session-hud .game-ui-hud-chip:nth-child(3),.swimmer-first-session-hud .game-ui-hud-chip:nth-child(4){display:none}.swimmer-first-session-hud .game-ui-button{min-height:34px;padding:0 10px;font-size:11px}.swimmer-first-session-controls{grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:8px 10px}.swimmer-first-session-input{display:none}.swimmer-first-session-joystick{width:46px;height:46px}.swimmer-first-session-onboarding-card{grid-template-columns:minmax(0,.7fr) minmax(260px,1fr);gap:12px;padding:14px}.swimmer-first-session-onboarding-steps{grid-area:1/2/span 5;grid-template-columns:1fr}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-card{grid-template-columns:1fr;width:min(100%,360px);max-height:330px}.game-ui-first-session-modal-slot .swimmer-first-session-onboarding-steps{grid-area:auto;grid-template-columns:1fr}}.game-ui-asset-compression-repro{grid-template-columns:repeat(3,minmax(0,auto));align-items:start;gap:14px;display:grid;overflow-x:auto}.game-ui-asset-compression-repro-surface{width:var(--repro-width);min-width:var(--repro-width);border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 42%, transparent);gap:8px;padding:10px;display:grid;overflow:hidden}.game-ui-asset-compression-repro-surface .game-ui-asset-library{width:100%}.game-ui-asset-compression-repro-surface[data-repro-surface=rail] .game-ui-asset-library{max-height:330px;overflow:auto}.game-ui-shell{border-radius:var(--game-ui-radius-modal);background:radial-gradient(circle at 18% 16%, color-mix(in srgb, var(--game-ui-success-bright) 24%, transparent), transparent 24rem), linear-gradient(150deg, var(--game-ui-scenery-pine), var(--game-ui-scenery-soil) 78%);min-height:min(760px,100dvh);color:var(--game-ui-text);isolation:isolate;box-shadow:var(--game-ui-shadow-modal);display:grid;position:relative;overflow:hidden}.game-ui-shell-scene{min-width:0;min-height:420px;position:relative;overflow:hidden}.game-ui-shell-scene>*{min-width:0}.game-ui-shell-hud,.game-ui-shell-library,.game-ui-shell-side-panel,.game-ui-shell-movement,.game-ui-shell-bottom-bar,.game-ui-shell-overlay{z-index:var(--game-ui-z-hud);position:absolute}.game-ui-shell-hud{top:var(--game-ui-safe-top);right:var(--game-ui-safe-right);left:var(--game-ui-safe-left)}.game-ui-shell-library{top:calc(var(--game-ui-safe-top) + 76px);right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 96px);width:min(360px,100% - 32px);overflow:auto}.game-ui-shell-side-panel{top:calc(var(--game-ui-safe-top) + 76px);left:var(--game-ui-safe-left);bottom:calc(var(--game-ui-safe-bottom) + 96px);width:min(320px,100% - 32px);overflow:auto}.game-ui-shell-movement{bottom:calc(var(--game-ui-safe-bottom) + 20px);left:var(--game-ui-safe-left)}.game-ui-shell-bottom-bar{right:var(--game-ui-safe-right);bottom:var(--game-ui-safe-bottom);left:max(172px, var(--game-ui-safe-left))}.game-ui-shell-overlay{pointer-events:none;place-items:center;display:grid;inset:0}.game-ui-shell-overlay>*{pointer-events:auto}.game-ui-shell[data-density=dense] .game-ui-panel{padding:10px}.game-ui-shell[data-layout=mobile] .game-ui-shell-library,.game-ui-shell[data-layout=mobile] .game-ui-shell-side-panel{top:auto;right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 78px);left:var(--game-ui-safe-left);width:auto;max-height:min(48dvh,320px)}.game-ui-shell[data-layout=mobile] .game-ui-shell-bottom-bar{left:var(--game-ui-safe-left)}.game-ui-shell[data-layout=mobile] .game-ui-shell-movement{bottom:calc(var(--game-ui-safe-bottom) + 86px)}.game-ui-fact-list{flex-wrap:wrap;gap:8px;display:flex}.game-ui-fact-list[data-variant=stats]{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.game-ui-fact{border:1px solid color-mix(in srgb, var(--game-ui-text-on-dark) 32%, transparent);border-radius:var(--game-ui-radius-control);background:var(--game-ui-glass-night-soft);min-width:0;color:var(--game-ui-text-on-dark);box-shadow:var(--game-ui-shadow-button);backdrop-filter:blur(12px);align-items:center;gap:8px;padding:7px 9px;display:inline-flex}.game-ui-fact-list[data-density=dense] .game-ui-fact{min-height:38px;padding:5px 7px}.game-ui-fact-copy{gap:1px;min-width:0;display:grid}.game-ui-fact-copy small,.game-ui-fact-copy em{color:color-mix(in srgb, var(--game-ui-text-on-dark) 72%, transparent);font-size:var(--game-ui-font-xs);letter-spacing:.06em;text-transform:uppercase;font-style:normal;font-weight:820}.game-ui-fact-copy strong{color:var(--game-ui-text-on-dark);font-size:var(--game-ui-font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-action-grid{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.game-ui-action-grid-button{min-width:0}.game-ui-action-grid kbd,.game-ui-movement-button kbd{background:color-mix(in srgb, var(--game-ui-ink-deep) 12%, transparent);color:inherit;border-radius:8px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72em;font-weight:900}.game-ui-action-grid .game-ui-icon-button{width:48px;min-width:0;padding:0}.game-ui-action-grid[data-icon-label-mode=caption] .game-ui-icon-button{width:var(--game-ui-terrain-tool-hit-size,54px);min-height:calc(var(--game-ui-terrain-tool-hit-size,54px) + 14px);flex-direction:column;gap:2px;padding:5px 4px 4px;line-height:1}.game-ui-action-grid[data-icon-label-mode=caption] .game-ui-icon-button .game-ui-asset-icon{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:999px;padding:2px}.game-ui-action-grid[data-icon-label-mode=caption] .game-ui-icon-button[aria-pressed=true] .game-ui-asset-icon{background:color-mix(in srgb, var(--game-ui-panel-strong) 32%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--game-ui-ink-deep) 12%, transparent)}.game-ui-action-grid-caption{max-width:100%;color:var(--game-ui-text-muted);letter-spacing:.015em;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;font-weight:920;line-height:1;display:block;overflow:hidden}.game-ui-action-grid .game-ui-icon-button[aria-pressed=true] .game-ui-action-grid-caption{color:var(--game-ui-text)}.game-ui-movement-pad{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:color-mix(in srgb, var(--game-ui-panel-strong) 82%, transparent);width:fit-content;box-shadow:var(--game-ui-shadow-panel);backdrop-filter:blur(14px);gap:7px;padding:10px;display:grid}.game-ui-movement-pad:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:3px}.game-ui-movement-pad-grid{grid-template-columns:repeat(3,48px);grid-template-areas:".forward.""left reset right"".backward.";gap:6px;display:grid}.game-ui-movement-pad[data-density=dense] .game-ui-movement-pad-grid{grid-template-columns:repeat(3,40px);gap:5px}.game-ui-movement-pad[data-layout=row] .game-ui-movement-pad-grid{flex-wrap:wrap;display:flex}.game-ui-movement-button{width:48px;min-width:0;padding:0}.game-ui-movement-pad[data-density=dense] .game-ui-movement-button{width:40px;min-height:40px}.game-ui-movement-button[data-direction=forward]{grid-area:forward}.game-ui-movement-button[data-direction=left]{grid-area:left}.game-ui-movement-button[data-direction=right]{grid-area:right}.game-ui-movement-button[data-direction=backward]{grid-area:backward}.game-ui-movement-button[data-direction=reset]{grid-area:reset}.game-ui-movement-pad p{max-width:18ch;color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);margin:0;font-weight:760;line-height:1.25}.game-ui-asset-library{min-width:0;container:game-asset-library/inline-size}.game-ui-asset-library>section{gap:12px;min-width:0;display:grid}.game-ui-asset-library-subtitle{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-asset-library-counts,.game-ui-asset-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.game-ui-asset-library-groups{gap:14px;min-width:0;display:grid}.game-ui-asset-library-group{gap:8px;min-width:0;display:grid}.game-ui-asset-library-group>header{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.game-ui-asset-library-group>header strong{min-width:0;color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-asset-library-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--game-ui-asset-card-min-width,168px), 100%), 1fr));gap:9px;display:grid}.game-ui-asset-library [data-density=dense] .game-ui-asset-library-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--game-ui-asset-card-dense-min-width,132px), 100%), 1fr))}.game-ui-asset-card{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);width:100%;min-width:0;color:var(--game-ui-text);text-align:left;box-shadow:var(--game-ui-shadow-button);cursor:pointer;transition:transform var(--game-ui-motion-fast) var(--game-ui-ease-pop), box-shadow var(--game-ui-motion-fast) var(--game-ui-ease-soft);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}@media (hover:hover){.game-ui-asset-card:hover{transform:translateY(-1px)}}.game-ui-asset-card:active{scale:.98}.game-ui-asset-card:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:2px}.game-ui-asset-card:disabled{cursor:not-allowed;opacity:.62;transform:none}.game-ui-asset-card[aria-pressed=true]{border-color:var(--game-ui-secondary);box-shadow:var(--game-ui-shadow-button), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 22%, transparent)}.game-ui-asset-card-preview{box-sizing:border-box;background:color-mix(in srgb, var(--game-ui-ink-deep) 7%, transparent);width:64px;height:64px;box-shadow:var(--game-ui-shadow-inset);border-radius:18px;flex:none;place-items:center;display:grid;overflow:hidden}.game-ui-asset-card-preview img{object-fit:contain;width:100%;height:100%}.game-ui-asset-card-icon{width:min(100%, var(--game-ui-asset-icon-xl));height:min(100%, var(--game-ui-asset-icon-xl))}.game-ui-asset-card-copy{gap:5px;min-width:0;display:grid}.game-ui-asset-card-copy>strong{color:var(--game-ui-text);font-size:var(--game-ui-font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-asset-card-copy>span:not(.game-ui-asset-card-badges):not(.game-ui-asset-card-facts){color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);line-height:1.3}.game-ui-asset-card-facts{flex-wrap:wrap;gap:5px;display:flex}.game-ui-asset-card-facts>span{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:9px;padding:4px 6px;display:inline-grid}.game-ui-asset-card-facts small{color:var(--game-ui-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:820}.game-ui-asset-card-facts b{color:var(--game-ui-text);font-size:.76rem}.game-ui-asset-card[data-asset-source=generated]{border-color:color-mix(in srgb, var(--game-ui-secondary) 28%, transparent)}.game-ui-asset-card[data-asset-source=imported]{border-color:color-mix(in srgb, var(--game-ui-accent) 30%, transparent)}.game-ui-asset-card[data-asset-card-layout=rail],.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card{width:min(var(--game-ui-asset-rail-card-size,52px), 100%);min-width:0;min-height:min(var(--game-ui-asset-rail-card-size,52px), 100%);text-align:center;border-radius:20px;grid-template-columns:1fr;place-items:center;gap:0;padding:5px}.game-ui-asset-card[data-asset-card-layout=rail] .game-ui-asset-card-preview,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card-preview{width:min(var(--game-ui-asset-rail-preview-size,42px), 100%);height:min(var(--game-ui-asset-rail-preview-size,42px), 100%);border-radius:15px;overflow:visible}.game-ui-asset-card[data-asset-card-layout=rail] .game-ui-asset-card-icon,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card-icon{width:min(78%, var(--game-ui-asset-icon-lg));height:min(78%, var(--game-ui-asset-icon-lg))}.game-ui-asset-card[data-asset-card-layout=rail] .game-ui-asset-card-copy,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-card-copy{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-asset-library[data-card-layout=rail]{padding:6px}.game-ui-asset-library[data-card-layout=rail]>h3,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-subtitle,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-counts,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-group>header{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-asset-library[data-card-layout=rail]>section,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-groups,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-group,.game-ui-asset-library[data-card-layout=rail] .game-ui-asset-library-grid{grid-template-columns:1fr;justify-items:center;gap:8px;display:grid}@container game-asset-library (width<=180px){.game-ui-asset-library[data-card-layout=auto]{padding:6px}.game-ui-asset-library[data-card-layout=auto]>h3,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-subtitle,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-counts,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-group>header{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-asset-library[data-card-layout=auto]>section,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-groups,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-group,.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-library-grid{grid-template-columns:1fr;justify-items:center;gap:8px;display:grid}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card{width:min(var(--game-ui-asset-rail-card-size,52px), 100%);min-width:0;min-height:min(var(--game-ui-asset-rail-card-size,52px), 100%);text-align:center;border-radius:20px;grid-template-columns:1fr;place-items:center;gap:0;padding:5px}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card-preview{width:min(var(--game-ui-asset-rail-preview-size,42px), 100%);height:min(var(--game-ui-asset-rail-preview-size,42px), 100%);border-radius:15px;overflow:visible}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card-icon{width:min(78%, var(--game-ui-asset-icon-lg));height:min(78%, var(--game-ui-asset-icon-lg))}.game-ui-asset-library[data-card-layout=auto] .game-ui-asset-card-copy{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.game-ui-placement-toolbar>div{gap:10px;display:grid}.game-ui-placement-toolbar .game-ui-progress{min-width:min(100%,260px)}.game-ui-placement-toolbar .game-ui-action-grid+.game-ui-action-grid{padding-top:2px}.game-ui-placement-toolbar [data-density=dense] .game-ui-fact-list{gap:6px}.game-ui-surface-pack-demo-scene{color:color-mix(in srgb, var(--game-ui-text-on-dark) 72%, transparent);letter-spacing:.08em;text-transform:uppercase;place-items:center;font-weight:900;display:grid;position:absolute;inset:0}.game-ui-surface-pack-demo-scene:before{aspect-ratio:1.7;border:4px solid color-mix(in srgb, var(--game-ui-text-on-dark) 22%, transparent);background:radial-gradient(ellipse at 50% 42%, var(--game-ui-scenery-wood-hi), var(--game-ui-scenery-wood-lo) 72%);width:min(46%,360px);box-shadow:var(--game-ui-shadow-scenery);content:"";border-radius:50%;position:absolute}.game-ui-surface-pack-demo-scene span{z-index:1;position:relative}.game-ui-terrain-build-toolbox{min-width:0;container:game-terrain-build/inline-size}.game-ui-terrain-build-toolbox>section,.game-ui-terrain-build-toolbox-body{gap:12px;min-width:0;display:grid}.game-ui-terrain-status{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 12%, transparent);border-radius:var(--game-ui-radius-card);background:color-mix(in srgb, var(--game-ui-panel-strong) 50%, transparent);gap:6px;padding:10px;display:grid}.game-ui-terrain-status p{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-terrain-mode-control,.game-ui-terrain-tool-strip,.game-ui-brush-controls,.game-ui-material-swatches,.game-ui-undo-redo-actions,.game-ui-build-library{min-width:0}.game-ui-terrain-build-main-grid{grid-template-columns:minmax(0,1.1fr) auto minmax(240px,.9fr);align-items:start;gap:12px;display:grid}.game-ui-terrain-mode-options,.game-ui-build-categories{flex-wrap:wrap;gap:8px;display:flex}.game-ui-terrain-mode-option,.game-ui-build-category,.game-ui-material-swatch,.game-ui-build-item{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);border-radius:var(--game-ui-radius-control);background:color-mix(in srgb, var(--game-ui-panel-strong) 82%, transparent);min-width:0;color:var(--game-ui-text);font:inherit;font-weight:var(--game-ui-weight-strong);cursor:pointer;box-shadow:var(--game-ui-shadow-button)}.game-ui-terrain-mode-option{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:44px;padding:6px 10px;display:inline-grid}.game-ui-terrain-mode-option>span,.game-ui-build-category>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-ui-terrain-mode-option small,.game-ui-build-category small,.game-ui-material-swatch-copy small,.game-ui-build-item-copy small{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-weight:760;line-height:1.2}.game-ui-terrain-mode-option[aria-pressed=true],.game-ui-build-category[aria-selected=true],.game-ui-material-swatch[aria-selected=true],.game-ui-build-item[aria-pressed=true]{border-color:var(--game-ui-secondary);background:color-mix(in srgb, var(--game-ui-secondary) 18%, transparent);box-shadow:var(--game-ui-shadow-button), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 20%, transparent)}.game-ui-terrain-mode-option:disabled,.game-ui-build-category:disabled,.game-ui-material-swatch:disabled,.game-ui-build-item:disabled{cursor:not-allowed;opacity:.58;transform:none}.game-ui-terrain-mode-option:focus-visible,.game-ui-build-category:focus-visible,.game-ui-material-swatch:focus-visible,.game-ui-build-item:focus-visible,.game-ui-brush-range:focus-visible,.game-ui-brush-number:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:2px}.game-ui-terrain-tool-strip .game-ui-action-grid-button[aria-pressed=true]{box-shadow:var(--game-ui-shadow-button), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 24%, transparent)}.game-ui-brush-controls{gap:10px;display:grid}.game-ui-brush-control-row{grid-template-columns:minmax(120px, 1fr) var(--game-ui-brush-number-width);align-items:center;gap:8px;display:grid}.game-ui-brush-range{width:100%;accent-color:var(--game-ui-secondary)}.game-ui-brush-number{border:1px solid var(--game-ui-border-strong);background:var(--game-ui-surface-raised);width:100%;min-height:40px;color:var(--game-ui-text);font:inherit;font-weight:var(--game-ui-weight-strong);box-shadow:var(--game-ui-shadow-inset);border-radius:12px;padding:0 8px}.game-ui-material-swatch-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.game-ui-material-swatch{grid-template-columns:var(--game-ui-terrain-swatch-size) minmax(0, 1fr);text-align:left;align-items:center;gap:8px;min-height:48px;padding:7px;display:grid}.game-ui-material-swatch-chip{width:var(--game-ui-terrain-swatch-size);height:var(--game-ui-terrain-swatch-size);border:2px solid color-mix(in srgb, var(--game-ui-panel-strong) 90%, transparent);background:var(--swatch-color);box-shadow:var(--game-ui-shadow-inset), 0 2px 8px color-mix(in srgb, var(--game-ui-ink-deep) 16%, transparent);border-radius:13px}.game-ui-material-swatch-chip[data-swatch-pattern=speckled]{background:radial-gradient(circle at 24% 28%, var(--swatch-secondary-color) 0 3px, transparent 3.5px), radial-gradient(circle at 70% 64%, color-mix(in srgb, var(--game-ui-panel-strong) 72%, transparent) 0 2px, transparent 2.5px), var(--swatch-color);background-size:18px 18px,16px 16px,auto}.game-ui-material-swatch-chip[data-swatch-pattern=hatched]{background:repeating-linear-gradient(135deg, var(--swatch-secondary-color) 0 3px, transparent 3px 8px), var(--swatch-color)}.game-ui-material-swatch-chip[data-swatch-pattern=grid]{background:linear-gradient(90deg, color-mix(in srgb, var(--game-ui-panel-strong) 50%, transparent) 1px, transparent 1px), linear-gradient(0deg, color-mix(in srgb, var(--game-ui-panel-strong) 42%, transparent) 1px, transparent 1px), var(--swatch-color);background-size:10px 10px}.game-ui-material-swatch-copy,.game-ui-build-item-copy{gap:2px;min-width:0;display:grid}.game-ui-material-swatch-copy strong,.game-ui-build-item-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-ui-build-library>section{gap:10px;display:grid}.game-ui-build-category{text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:42px;padding:6px 9px;display:inline-grid}.game-ui-build-items{grid-template-columns:repeat(auto-fill,minmax(min(168px,100%),1fr));gap:9px;display:grid}.game-ui-build-item{text-align:left;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;width:100%;min-height:70px;padding:9px;display:grid}.game-ui-build-item-icon{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);width:42px;height:42px;box-shadow:var(--game-ui-shadow-inset);border-radius:14px;place-items:center;display:grid;overflow:hidden}.game-ui-build-item-preview{object-fit:contain;width:100%;height:100%}.game-ui-build-item-badges{flex-wrap:wrap;gap:5px;display:flex}.game-ui-build-item-copy>span:not(.game-ui-build-item-badges){color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);line-height:1.25}.game-ui-compact-game-drawer{gap:8px;width:min(100%,360px);min-width:0;display:grid}.game-ui-compact-game-drawer[data-variant=small-mobile]{width:min(100%,320px)}.game-ui-compact-game-drawer-trigger{justify-self:start;max-width:100%}.game-ui-compact-game-drawer-panel{overscroll-behavior:contain;min-width:0;max-height:min(72dvh,520px);display:none;overflow:auto}.game-ui-compact-game-drawer[data-open=true] .game-ui-compact-game-drawer-panel{display:grid}.game-ui-compact-game-drawer .game-ui-panel{max-width:100%}.game-ui-terrain-build-toolbox[data-variant=dense] .game-ui-terrain-build-main-grid,.game-ui-terrain-build-toolbox-body[data-variant=dense] .game-ui-terrain-build-main-grid{grid-template-columns:minmax(0,1fr) auto}.game-ui-terrain-build-toolbox[data-variant=dense] .game-ui-brush-controls,.game-ui-terrain-build-toolbox-body[data-variant=dense] .game-ui-brush-controls{grid-column:1/-1}.game-ui-terrain-mode-control[data-variant=mobile] .game-ui-terrain-mode-options,.game-ui-terrain-mode-control[data-variant=small-mobile] .game-ui-terrain-mode-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-ui-terrain-tool-strip[data-variant=mobile] .game-ui-action-grid,.game-ui-terrain-tool-strip[data-variant=small-mobile] .game-ui-action-grid,.game-ui-undo-redo-actions .game-ui-action-grid{gap:6px}.game-ui-terrain-tool-strip[data-variant=mobile] .game-ui-action-grid .game-ui-icon-button,.game-ui-terrain-tool-strip[data-variant=small-mobile] .game-ui-action-grid .game-ui-icon-button,.game-ui-undo-redo-actions .game-ui-action-grid .game-ui-icon-button{width:var(--game-ui-terrain-tool-hit-size);min-height:var(--game-ui-terrain-tool-hit-size)}.game-ui-terrain-tool-strip[data-icon-label-mode=caption] .game-ui-action-grid .game-ui-icon-button{min-height:calc(var(--game-ui-terrain-tool-hit-size) + 14px)}.game-ui-terrain-tool-strip[data-variant=mobile] .game-ui-action-grid kbd,.game-ui-terrain-tool-strip[data-variant=small-mobile] .game-ui-action-grid kbd,.game-ui-undo-redo-actions .game-ui-action-grid kbd{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.game-ui-material-swatches[data-variant=small-mobile] .game-ui-material-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-ui-material-swatches[data-variant=small-mobile] .game-ui-material-swatch{grid-template-columns:30px minmax(0,1fr);min-height:44px}.game-ui-material-swatches[data-variant=small-mobile] .game-ui-material-swatch-chip{width:30px;height:30px}.game-ui-build-library[data-variant=small-mobile] .game-ui-build-categories{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-ui-build-items[data-card-layout=rail]{grid-template-columns:repeat(auto-fill, minmax(var(--game-ui-build-rail-card-size), 1fr));justify-items:start}.game-ui-build-items[data-card-layout=rail] .game-ui-build-item{width:var(--game-ui-build-rail-card-size);min-height:var(--game-ui-build-rail-card-size);grid-template-columns:1fr;place-items:center;padding:5px}.game-ui-build-items[data-card-layout=rail] .game-ui-build-item-icon{width:42px;height:42px}.game-ui-build-items[data-card-layout=rail] .game-ui-build-item-copy{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@container game-terrain-build (width<=560px){.game-ui-terrain-build-main-grid{grid-template-columns:minmax(0,1fr)}.game-ui-undo-redo-actions{justify-self:start}.game-ui-brush-control-row{grid-template-columns:minmax(0,1fr) 70px}.game-ui-build-items{grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr))}}@media (prefers-reduced-motion:reduce){.game-ui-terrain-mode-option,.game-ui-build-category,.game-ui-material-swatch,.game-ui-build-item{transition:none}}@media (width<=900px){.game-ui-shell{min-height:640px}.game-ui-shell-library,.game-ui-shell-side-panel{top:auto;right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 78px);left:var(--game-ui-safe-left);width:auto;max-height:min(48dvh,320px)}.game-ui-shell-bottom-bar{left:var(--game-ui-safe-left)}.game-ui-shell-movement{bottom:calc(var(--game-ui-safe-bottom) + 86px)}.game-ui-asset-library-grid{grid-template-columns:repeat(auto-fill,minmax(136px,1fr))}}@media (width<=900px) and (height<=500px) and (orientation:landscape){.game-ui-shell{min-height:390px}.game-ui-shell-library{top:calc(var(--game-ui-safe-top) + 58px);right:var(--game-ui-safe-right);bottom:calc(var(--game-ui-safe-bottom) + 70px);width:min(300px,46vw);left:auto}.game-ui-shell-bottom-bar{left:max(132px, var(--game-ui-safe-left))}.game-ui-asset-card-preview{width:48px;height:48px}.game-ui-asset-card-copy>span:not(.game-ui-asset-card-badges):not(.game-ui-asset-card-facts),.game-ui-asset-card-facts{display:none}}.game-ui-contractor-panel{min-width:0;container:game-contractor-panel/inline-size}.game-ui-contractor-panel>section,.game-ui-contractor-panel[data-variant=mobile],.game-ui-contractor-panel[data-variant=small-mobile]{gap:12px;min-width:0;display:grid}.game-ui-contractor-panel-subtitle{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm);line-height:var(--game-ui-line-body);margin:0}.game-ui-contractor-panel-grid{grid-template-columns:minmax(300px,.92fr) minmax(320px,1.08fr);align-items:start;gap:12px;display:grid}.game-ui-contractor-job-list,.game-ui-contractor-detail,.game-ui-compact-job-drawer-list{gap:10px;min-width:0;display:grid}.game-ui-contractor-job-list{overscroll-behavior:contain;max-height:min(68dvh,620px);padding-right:2px;overflow:auto}.game-ui-contractor-detail{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 12%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 46%, transparent);padding:12px}.game-ui-contractor-panel[data-variant=mobile],.game-ui-contractor-panel[data-variant=small-mobile]{width:min(100%,420px)}.game-ui-construction-job-card{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 16%, transparent);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 88%, transparent);min-width:0;box-shadow:var(--game-ui-shadow-panel);gap:10px;padding:12px;display:grid}.game-ui-construction-job-card[data-selected=true]{border-color:var(--game-ui-secondary);box-shadow:var(--game-ui-shadow-panel), 0 0 0 3px color-mix(in srgb, var(--game-ui-secondary) 20%, transparent)}.game-ui-construction-job-card[data-status=blocked]{border-color:color-mix(in srgb, var(--game-ui-danger) 34%, transparent)}.game-ui-construction-job-card[data-status=readyForReview]{border-color:color-mix(in srgb, var(--game-ui-success) 36%, transparent)}.game-ui-construction-job-card[data-density=dense]{gap:8px;padding:10px}.game-ui-construction-job-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.game-ui-construction-job-select{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:0;display:inline-grid}.game-ui-construction-job-select:disabled{cursor:default}.game-ui-construction-job-select:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:3px;border-radius:14px}.game-ui-construction-job-select span,.game-ui-robot-crew-copy{gap:2px;min-width:0;display:grid}.game-ui-construction-job-select strong,.game-ui-robot-crew-copy strong{min-width:0;color:var(--game-ui-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-construction-job-select small,.game-ui-robot-crew-copy small,.game-ui-robot-crew-copy em,.game-ui-construction-steps small,.game-ui-construction-warning small,.game-ui-before-after-preview figcaption{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);font-style:normal;line-height:1.25}.game-ui-construction-job-badges,.game-ui-construction-approval-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.game-ui-construction-job-facts{flex-wrap:wrap;gap:6px;display:flex}.game-ui-construction-job-facts>span{background:color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:10px;gap:1px;min-width:82px;padding:6px 8px;display:inline-grid}.game-ui-construction-job-facts small{color:var(--game-ui-text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:860}.game-ui-construction-job-facts b{min-width:0;color:var(--game-ui-text);font-size:var(--game-ui-font-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-construction-progress{gap:8px;min-width:0;display:grid}.game-ui-construction-progress-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.game-ui-construction-progress-header>span{align-items:center;gap:7px;min-width:0;display:inline-flex}.game-ui-construction-progress-header strong{min-width:0;color:var(--game-ui-text);font-size:var(--game-ui-font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.game-ui-construction-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.game-ui-construction-steps li{background:color-mix(in srgb, var(--game-ui-ink-deep) 6%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;display:grid}.game-ui-construction-step-dot{background:var(--game-ui-disabled);width:11px;height:11px;box-shadow:0 0 0 3px color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);border-radius:999px}.game-ui-construction-steps li[data-step-status=active] .game-ui-construction-step-dot{background:var(--game-ui-secondary)}.game-ui-construction-steps li[data-step-status=complete] .game-ui-construction-step-dot{background:var(--game-ui-success)}.game-ui-construction-steps li[data-step-status=blocked] .game-ui-construction-step-dot{background:var(--game-ui-danger)}.game-ui-construction-steps strong{min-width:0;color:var(--game-ui-text);font-size:var(--game-ui-font-xs);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.game-ui-construction-warnings{gap:6px;display:grid}.game-ui-construction-warning{border:1px solid color-mix(in srgb, var(--game-ui-accent) 28%, transparent);background:color-mix(in srgb, var(--game-ui-warning) 16%, transparent);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:7px;padding:8px;display:grid}.game-ui-construction-warning>span{gap:2px;min-width:0;display:grid}.game-ui-construction-warning[data-warning-tone=danger]{border-color:color-mix(in srgb, var(--game-ui-danger) 34%, transparent);background:color-mix(in srgb, var(--game-ui-danger) 13%, transparent)}.game-ui-construction-warning[data-warning-tone=success]{border-color:color-mix(in srgb, var(--game-ui-success) 34%, transparent);background:color-mix(in srgb, var(--game-ui-success-bright) 18%, transparent)}.game-ui-construction-warning strong{color:var(--game-ui-text);font-size:var(--game-ui-font-xs)}.game-ui-construction-approval-bar{border-top:1px solid color-mix(in srgb, var(--game-ui-border-ink) 10%, transparent);gap:8px;min-width:0;padding-top:8px;display:grid}.game-ui-construction-approval-bar .game-ui-action-grid{gap:7px}.game-ui-construction-approval-bar[data-variant=small-mobile] .game-ui-button{min-height:40px;font-size:var(--game-ui-font-xs);padding:0 10px}.game-ui-robot-crew-status{gap:8px;min-width:0;display:grid}.game-ui-robot-crew-status>header strong{color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title)}.game-ui-robot-crew-list{gap:7px;display:grid}.game-ui-robot-crew-member{background:color-mix(in srgb, var(--game-ui-ink-deep) 7%, transparent);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.game-ui-robot-crew-member[data-crew-status=working]{background:color-mix(in srgb, var(--game-ui-secondary) 11%, transparent)}.game-ui-robot-crew-member[data-crew-status=blocked]{background:color-mix(in srgb, var(--game-ui-danger) 10%, transparent)}.game-ui-before-after-toggle{gap:8px;min-width:0;display:grid}.game-ui-before-after-toggle .game-ui-segmented{width:fit-content;max-width:100%}.game-ui-before-after-preview{gap:7px;min-width:0;margin:0;display:grid}.game-ui-before-after-content,.game-ui-before-after-placeholder{border:1px solid color-mix(in srgb, var(--game-ui-border-ink) 12%, transparent);border-radius:var(--game-ui-radius-panel);background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--game-ui-success-bright) 18%, transparent), transparent 8rem), color-mix(in srgb, var(--game-ui-ink-deep) 8%, transparent);place-items:center;min-height:160px;display:grid;overflow:hidden}.game-ui-before-after-placeholder{color:var(--game-ui-text-muted)}.game-ui-construction-preview-card{text-align:center;place-items:center;gap:6px;width:100%;height:100%;padding:18px;display:grid}.game-ui-construction-preview-card strong{color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-lg)}.game-ui-construction-preview-card small{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-xs);text-transform:uppercase;font-weight:820}.game-ui-construction-preview-card[data-preview=after]{background:radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--game-ui-success) 30%, transparent), transparent 7rem)}.game-ui-construction-preview-card[data-preview=before]{background:radial-gradient(circle at 50% 58%, color-mix(in srgb, var(--game-ui-accent) 22%, transparent), transparent 7rem)}.game-ui-compact-job-drawer .game-ui-compact-game-drawer{width:100%}.game-ui-compact-job-drawer,.game-ui-compact-job-drawer .game-ui-compact-game-drawer,.game-ui-compact-job-drawer-list,.game-ui-compact-job-drawer-list>*{box-sizing:border-box;min-width:0;max-width:100%}.game-ui-compact-job-drawer-list{max-height:min(58dvh,440px);padding:2px;overflow:auto}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-construction-job-header,.game-ui-contractor-panel[data-variant=mobile] .game-ui-construction-job-header{grid-template-columns:minmax(0,1fr)}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-construction-job-badges,.game-ui-contractor-panel[data-variant=mobile] .game-ui-construction-job-badges{justify-content:flex-start}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-construction-steps{display:none}.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-before-after-content,.game-ui-contractor-panel[data-variant=small-mobile] .game-ui-before-after-placeholder{min-height:118px}@container game-contractor-panel (width<=760px){.game-ui-contractor-panel-grid{grid-template-columns:minmax(0,1fr)}.game-ui-contractor-job-list{max-height:none;padding-right:0;overflow:visible}.game-ui-contractor-detail{padding:10px}}@media (width<=900px){.game-ui-contractor-panel-grid{grid-template-columns:minmax(0,1fr)}.game-ui-construction-job-facts>span{min-width:min(108px,100%)}}@media (prefers-reduced-motion:reduce){.game-ui-clay-preview *,.game-ui-clay-preview :before,.game-ui-clay-preview :after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.game-ui-button:hover,.game-ui-icon-button:hover,.game-ui-language-trigger:hover,.game-ui-language-popover button:hover,.game-ui-stage-tile:hover,.game-ui-orientation-card button:hover,.game-ui-asset-card:hover{transform:none}}.game-ui-button:focus-visible,.game-ui-icon-button:focus-visible,.game-ui-tab:focus-visible,.game-ui-segmented-option:focus-visible,.game-ui-toggle:focus-visible,.game-ui-language-trigger:focus-visible,.game-ui-language-popover button:focus-visible,.game-ui-stage-tile:focus-visible,.game-ui-orientation-card button:focus-visible,.game-ui-collapsible-toggle:focus-visible,.game-ui-construction-job-select:focus-visible{outline:3px solid var(--game-ui-focus-ring);outline-offset:2px}.game-ui-window-body,.game-ui-contractor-job-list,.game-ui-compact-job-drawer-list,.game-ui-compact-game-drawer-panel,.game-ui-shell-library,.game-ui-shell-side-panel,.game-ui-modal-frame{scrollbar-width:thin;scrollbar-color:var(--game-ui-border-strong) transparent}.game-ui-panel ::selection,.game-ui-modal-frame ::selection,.game-ui-window ::selection,.game-ui-collapsible ::selection,.game-ui-dialog ::selection{background:color-mix(in srgb, var(--game-ui-accent) 28%, transparent)}.game-ui-button,.game-ui-icon-button,.game-ui-tab,.game-ui-segmented-option,.game-ui-toggle,.game-ui-language-trigger,.game-ui-language-popover button,.game-ui-stage-tile,.game-ui-orientation-card button,.game-ui-collapsible-toggle,.game-ui-window-button,.game-ui-movement-button,.game-ui-asset-card,.game-ui-terrain-mode-option,.game-ui-build-category,.game-ui-material-swatch,.game-ui-build-item,.game-ui-brush-range,.game-ui-construction-job-select,.game-ui-checkbox,.game-ui-card-fan-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.game-ui-movement-pad,.game-ui-placement-toolbar,.game-ui-terrain-tool-strip,.game-ui-hud,.game-ui-hud-actions,.swimmer-first-session-controls{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-ui-collapsible{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);min-width:0;box-shadow:var(--game-ui-shadow-panel);display:grid}.game-ui-collapsible[data-panel-tone=strong]{background:var(--game-ui-panel-strong)}.game-ui-collapsible-header{align-items:center;gap:8px;padding:5px 8px 5px 5px;display:flex}.game-ui-collapsible-heading{flex:1;min-width:0;margin:0;display:flex}.game-ui-collapsible-toggle{border-radius:var(--game-ui-radius-card);min-width:0;min-height:44px;color:var(--game-ui-text);font:inherit;font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:4px 10px;display:flex}@media (hover:hover){.game-ui-collapsible-toggle:hover{background:color-mix(in srgb, var(--game-ui-ink-deep) 6%, transparent)}}.game-ui-collapsible-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-ui-collapsible-chevron{border-right:3px solid var(--game-ui-accent);border-bottom:3px solid var(--game-ui-accent);width:9px;height:9px;transition:transform var(--game-ui-motion-base) var(--game-ui-ease-pop), margin-top var(--game-ui-motion-base) var(--game-ui-ease-pop);border-radius:1px;flex:none;margin-top:-4px;transform:rotate(45deg)}.game-ui-collapsible[data-open=false] .game-ui-collapsible-chevron{margin-top:2px;transform:rotate(-45deg)}.game-ui-collapsible-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.game-ui-collapsible-region{transition:grid-template-rows var(--game-ui-motion-base) var(--game-ui-ease-soft);grid-template-rows:1fr;display:grid}.game-ui-collapsible[data-open=false] .game-ui-collapsible-region{grid-template-rows:0fr}.game-ui-collapsible-clip{min-height:0;overflow:hidden}.game-ui-collapsible-content{gap:12px;padding:2px 14px 14px;display:grid}.game-ui-window{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:var(--game-ui-panel);width:min(420px,100%);min-width:0;box-shadow:var(--game-ui-shadow-panel);interpolate-size:allow-keywords;transition:width var(--game-ui-motion-base) var(--game-ui-ease-soft), border-radius var(--game-ui-motion-base) var(--game-ui-ease-soft), box-shadow var(--game-ui-motion-base) var(--game-ui-ease-soft);grid-template-rows:auto 1fr;display:grid;position:relative;overflow:hidden}.game-ui-window-titlebar{border-bottom:var(--game-ui-stroke);background:color-mix(in srgb, var(--game-ui-ink-deep) 5%, transparent);align-items:center;gap:8px;min-height:48px;padding:6px 8px 6px 14px;display:flex}.game-ui-window-icon{flex:none;place-items:center;display:inline-grid}.game-ui-window-title{min-width:0;color:var(--game-ui-text);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-md);font-weight:var(--game-ui-weight-title);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;overflow:hidden}.game-ui-window-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.game-ui-window-button{width:34px;min-width:34px;min-height:34px;padding:0}.game-ui-window-region{min-height:0;transition:grid-template-rows var(--game-ui-motion-base) var(--game-ui-ease-soft);grid-template-rows:1fr;display:grid}.game-ui-window-clip{min-height:0;display:grid;overflow:hidden}.game-ui-window-body{overscroll-behavior:contain;min-height:0;padding:12px 14px;overflow:auto}.game-ui-window-footer{border-top:var(--game-ui-stroke);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.game-ui-window[data-window-state=minimized]{border-radius:var(--game-ui-radius-control);width:fit-content;max-width:100%}.game-ui-window[data-window-state=minimized] .game-ui-window-region{grid-template-rows:0fr}.game-ui-window[data-window-state=minimized] .game-ui-window-titlebar{background:0 0;border-bottom-color:#0000}.game-ui-window[data-window-state=maximized]{inset:var(--game-ui-safe-top) var(--game-ui-safe-right) var(--game-ui-safe-bottom) var(--game-ui-safe-left);z-index:var(--game-ui-z-overlay);width:auto;animation:game-ui-pop var(--game-ui-motion-base) var(--game-ui-ease-pop) both;position:absolute}.game-ui-window[data-window-state=maximized] .game-ui-window-body{max-height:none}.game-ui-modal{background:0 0;border:0;max-width:min(560px,100vw - 32px);margin:auto;padding:0;overflow:visible}.game-ui-modal[data-size=sm]{max-width:min(380px,100vw - 32px)}.game-ui-modal[data-size=lg]{max-width:min(780px,100vw - 32px)}.game-ui-modal::backdrop{background:var(--game-ui-scrim-strong);backdrop-filter:blur(8px)}.game-ui-modal-frame{overscroll-behavior:contain;border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-modal);background:var(--game-ui-panel-strong);max-height:min(82dvh,720px);color:var(--game-ui-text);box-shadow:var(--game-ui-shadow-modal);gap:12px;padding:clamp(16px,2.5vw,24px);display:grid;overflow:auto}.game-ui-modal[open] .game-ui-modal-frame{animation:game-ui-pop var(--game-ui-motion-base) var(--game-ui-ease-pop) both}.game-ui-modal-header{align-items:center;gap:10px;display:flex}.game-ui-modal-title{min-width:0;color:var(--game-ui-ink-heading);font-family:var(--game-ui-font-display);font-weight:var(--game-ui-weight-title);flex:1;margin:0}.game-ui-modal-body{min-width:0;color:var(--game-ui-text)}.game-ui-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (prefers-reduced-motion:reduce){.game-ui-collapsible-region,.game-ui-collapsible-chevron,.game-ui-window,.game-ui-window-region{transition:none}.game-ui-window[data-window-state=maximized],.game-ui-modal[open] .game-ui-modal-frame{animation:none}}.game-ui-callout{border:var(--game-ui-stroke);border-radius:var(--game-ui-radius-panel);background:color-mix(in srgb, var(--game-ui-panel-strong) 88%, transparent);color:var(--game-ui-text);box-shadow:var(--game-ui-shadow-panel);gap:.35rem;margin:0;padding:.65rem .75rem;display:grid}.game-ui-callout-title{color:var(--game-ui-ink-heading);font-family:var(--game-ui-font-display);font-size:var(--game-ui-font-md);font-weight:var(--game-ui-weight-title);margin:0}.game-ui-callout-body{color:var(--game-ui-text-muted);font-size:var(--game-ui-font-sm,.85rem);line-height:var(--game-ui-line-body);margin:0}.game-ui-callout--info{border-color:color-mix(in srgb, var(--game-ui-accent) 45%, transparent)}.game-ui-callout--warning{border-color:color-mix(in srgb, var(--game-ui-warning) 55%, transparent);background:color-mix(in srgb, var(--game-ui-warning) 12%, var(--game-ui-panel-strong))}.game-ui-callout--danger{border-color:color-mix(in srgb, var(--game-ui-danger) 55%, transparent)}.game-ui-callout--success{border-color:color-mix(in srgb, var(--game-ui-success) 55%, transparent)}.game-ui-callout--neutral{opacity:.96}.game-ui-button{min-height:max(2.4rem,40px)}@media (pointer:coarse){.game-ui-button{min-height:max(2.75rem,44px)}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pieai/swimmer-ui-kit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Token-driven React game UI kit for web and wrapped PieAI game surfaces.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@chromatic-com/storybook": "^5.2.1",
|
|
54
54
|
"@microsoft/api-extractor": "^7.58.9",
|
|
55
|
-
"@pieai/doc-gov": "0.
|
|
56
|
-
"@pieai/pro-gov": "0.
|
|
55
|
+
"@pieai/doc-gov": "0.4.0",
|
|
56
|
+
"@pieai/pro-gov": "0.4.0",
|
|
57
57
|
"@storybook/addon-a11y": "^10.4.6",
|
|
58
58
|
"@storybook/addon-docs": "^10.4.6",
|
|
59
59
|
"@storybook/addon-mcp": "^0.6.0",
|