.strip[data-v-b1f2336e]{position:fixed;top:0;left:0;right:0;z-index:120;height:calc(30px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:center;gap:8px;font-size:.74rem;font-weight:600;text-align:center;padding-inline:10px;pointer-events:none}.strip.offline[data-v-b1f2336e],.strip.unreachable[data-v-b1f2336e]{background:var(--danger);color:var(--on-danger)}.strip.waiting[data-v-b1f2336e]{background:var(--warn);color:var(--on-warn)}.dot[data-v-b1f2336e]{flex:none;width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse-b1f2336e 1.8s ease-in-out infinite}.spin[data-v-b1f2336e]{flex:none;width:11px;height:11px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:turn-b1f2336e .7s linear infinite}@keyframes pulse-b1f2336e{0%,to{opacity:.35}50%{opacity:1}}@keyframes turn-b1f2336e{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.strip[data-v-b1f2336e],.dot[data-v-b1f2336e]{animation:none}.spin[data-v-b1f2336e]{animation:none;border-top-color:currentColor;opacity:.6}}.app-shell[data-v-eba0ccc9]{min-height:100dvh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);padding-top:var(--net-h, 0px)}.gate[data-v-eba0ccc9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--bg)}.gatecard[data-v-eba0ccc9]{width:100%;max-width:340px;display:grid;gap:12px;text-align:center}.gatetitle[data-v-eba0ccc9]{margin:0;font-size:1.3rem;letter-spacing:-.01em}.gatetext[data-v-eba0ccc9]{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink-dim)}.gatego[data-v-eba0ccc9]{all:unset;margin-top:4px;padding:13px;text-align:center;background:var(--accent-fill);color:var(--on-accent);font-weight:700;border-radius:10px;cursor:pointer}.gatehint[data-v-eba0ccc9]{margin:0;font-size:.78rem;line-height:1.5;color:var(--ink-dim)}.gateversions[data-v-eba0ccc9]{margin:0;font-size:.7rem;color:var(--ink-dim);opacity:.7;font-variant-numeric:tabular-nums}:root,[data-theme=dark]{--nav-h: 56px;--bg: #14211d;--surface: #1e2f29;--ink: #eef2ef;--accent: #4fd1a5;--danger: #e2695a;--other: #3d5f74;--warn: #d3a13c;--depth: .45;--sq-plain: #157f7d;--sq-dl: #bcdce5;--sq-tl: #3aaee4;--sq-dw: #f2b8a8;--sq-tw: #d7293c;--sq-centre: #f2b8a8;--sq-ink: #0d3b3a;--sq-tw-ink: #ffffff;--board-grid: #17515c;--board-frame: #0c3a3d;--tile-bg: #f4ecd0;--tile-ink: #2a2118;--tile-blank-ink: #8a7a5c;--bag-bg: var(--tile-bg);--bag-ink: #2a3b33;--surface-2: color-mix(in srgb, var(--ink) 9%, var(--surface));--ink-dim: color-mix(in srgb, var(--ink) 75%, var(--bg));--accent-fill: var(--accent);--on-accent: var(--bg);--on-danger: var(--bg);--on-other: var(--bg);--on-warn: var(--bg);--accent-tint: color-mix(in srgb, var(--accent) 16%, transparent);--accent-tint-strong: color-mix(in srgb, var(--accent) 24%, transparent);--other-tint: color-mix(in srgb, var(--other) 30%, transparent);--warn-tint: color-mix(in srgb, var(--warn) 18%, transparent);--danger-tint: color-mix(in srgb, var(--danger) 18%, transparent);--warn-line: color-mix(in srgb, var(--warn) 50%, transparent);--hairline: color-mix(in srgb, var(--ink) 10%, transparent);--hairline-strong: color-mix(in srgb, var(--ink) 28%, transparent);--shadow-soft: rgb(0 0 0 / calc(var(--depth) * .55));--shadow: rgb(0 0 0 / var(--depth));--shadow-deep: rgb(0 0 0 / calc(var(--depth) * 1.45));--chrome: var(--bg);--series-1: color-mix(in srgb, #12a594 72%, var(--ink));--series-2: color-mix(in srgb, #e07b39 72%, var(--ink));--series-3: color-mix(in srgb, #4a7fd4 72%, var(--ink));--series-4: color-mix(in srgb, #b158c4 72%, var(--ink));--good-ink: color-mix(in srgb, var(--accent) 70%, var(--ink));--good-tint: var(--accent-tint);--tag-online-bg: var(--other-tint);--tag-online-ink: color-mix(in srgb, var(--other) 35%, var(--ink));--tag-bot-bg: var(--warn-tint);--tag-bot-ink: color-mix(in srgb, var(--warn) 35%, var(--ink));--tag-refused-bg: var(--danger-tint);--tag-refused-ink: color-mix(in srgb, var(--danger) 35%, var(--ink));--badge-bg: var(--accent-fill);--badge-ink: var(--on-accent);--rack-bg: var(--board-frame);--text-halo: color-mix(in srgb, var(--bg) 85%, transparent);--board-scrim-rgb: 6 14 12;--on-board: #eef2ef;--on-other: #e8f2f8;--chrome: #1f6f5c}:root[data-theme=light],[data-theme=light]{--bg: #f4f6f4;--surface: #ffffff;--ink: #16211d;--accent: #0f6449;--danger: #b03726;--other: #2d5a74;--warn: #7a5a12;--depth: .14;--accent-fill: #23785a;--on-other: var(--bg);--chrome: var(--bg);--badge-bg: var(--accent-tint-strong);--badge-ink: var(--accent);--rack-bg: var(--accent-tint-strong);--bag-bg: #24423a;--bag-ink: #f6efd8;--sq-plain: #6fb3ad;--sq-dl: #dcedf3;--sq-tl: #7cc9ec;--sq-dw: #f9d7ca;--sq-tw: #ee8f9b;--sq-centre: #f9d7ca;--sq-ink: #123f3e;--sq-tw-ink: var(--sq-ink);--board-grid: #a9d2ce;--board-frame: #8fc4bf;--tile-bg: #fffaef;--tile-ink: #2a2118;--tile-blank-ink: #8a7a5c}:root[data-theme=pastel],[data-theme=pastel]{--bg: #faf7fb;--surface: #ffffff;--ink: #3a2f41;--accent: #6e4374;--danger: #b4485e;--other: #566f9c;--warn: #9a6f2e;--depth: .12;--accent-fill: #8d5c93;--on-other: var(--bg);--chrome: var(--bg);--badge-bg: var(--accent-tint-strong);--badge-ink: var(--accent);--rack-bg: var(--accent-tint-strong);--bag-bg: #4a3a52;--bag-ink: #fdf6ee;--sq-plain: #cfc4dd;--sq-dl: #d6e6f5;--sq-tl: #a3bfe8;--sq-dw: #f7cfda;--sq-tw: #e59aaa;--sq-centre: #f7cfda;--sq-ink: #4a3a52;--sq-tw-ink: var(--sq-ink);--board-grid: #e9e1f2;--board-frame: #c3b4d4;--tile-bg: #fffaf3;--tile-ink: #3a2f41;--tile-blank-ink: #8b7d95}:root[data-theme=midnight],[data-theme=midnight]{--bg: #0f1722;--surface: #17202e;--ink: #e8eef6;--accent: #56b6f0;--danger: #e8697a;--other: #7d7fb0;--warn: #d9a441;--depth: .5;--on-other: #f0f1fa;--chrome: #16304a;--sq-plain: #1c6f86;--sq-dl: #c3dbe8;--sq-tl: #48b2e2;--sq-dw: #e9b6c4;--sq-tw: #cc3358;--sq-centre: #e9b6c4;--sq-ink: #0b2c38;--sq-tw-ink: #fff0f4;--board-grid: #15455c;--board-frame: #0b3040;--tile-bg: #eee7d6;--tile-ink: #21242e;--tile-blank-ink: #7b7f92}:root[data-theme=forest],[data-theme=forest]{--bg: #131b13;--surface: #1d271c;--ink: #edf1e8;--accent: #8fc46a;--danger: #dd7259;--other: #6f8f7a;--warn: #cfa54a;--depth: .45;--on-other: #eef4ef;--chrome: #2b4a2c;--sq-plain: #3f7248;--sq-dl: #d3e4c8;--sq-tl: #77b878;--sq-dw: #eec9a4;--sq-tw: #c2512f;--sq-centre: #eec9a4;--sq-ink: #1c3320;--sq-tw-ink: #ffffff;--board-grid: #2c5433;--board-frame: #16301a;--tile-bg: #f2ecd8;--tile-ink: #2a2a1c;--tile-blank-ink: #857f63}:root[data-theme=paper],[data-theme=paper]{--bg: #f7f2e7;--surface: #fffcf5;--ink: #33301f;--accent: #6b4d15;--danger: #a8402c;--other: #4f6b84;--warn: #8a6a16;--depth: .12;--accent-fill: #87642a;--on-other: var(--bg);--chrome: var(--bg);--badge-bg: var(--accent-tint-strong);--badge-ink: var(--accent);--rack-bg: var(--accent-tint-strong);--bag-bg: #453a22;--bag-ink: #fdf7e6;--sq-plain: #b9c4a4;--sq-dl: #dfe6d4;--sq-tl: #9fc3a8;--sq-dw: #f0d5b4;--sq-tw: #e1a08c;--sq-centre: #f0d5b4;--sq-ink: #3a3420;--sq-tw-ink: var(--sq-ink);--board-grid: #d9dcc6;--board-frame: #c2c6aa;--tile-bg: #fffdf6;--tile-ink: #33301f;--tile-blank-ink: #8d876c}:root[data-theme=slate],[data-theme=slate]{--bg: #f2f4f6;--surface: #ffffff;--ink: #1e242b;--accent: #24506a;--danger: #a8402f;--other: #4a5f77;--warn: #7c6320;--depth: .12;--accent-fill: #34718f;--on-other: var(--bg);--chrome: var(--bg);--badge-bg: var(--accent-tint-strong);--badge-ink: var(--accent);--rack-bg: var(--accent-tint-strong);--bag-bg: #2b3641;--bag-ink: #f3f6f8;--sq-plain: #9fb3bf;--sq-dl: #dbe5ea;--sq-tl: #8fbcd4;--sq-dw: #e5cfd2;--sq-tw: #d69aa1;--sq-centre: #e5cfd2;--sq-ink: #22303a;--sq-tw-ink: var(--sq-ink);--board-grid: #d3dde2;--board-frame: #b6c4cc;--tile-bg: #fdfbf6;--tile-ink: #1e242b;--tile-blank-ink: #7f8a93}:root[data-theme=sunset],[data-theme=sunset]{--bg: #1f1512;--surface: #2c1d18;--ink: #f8ebe2;--accent: #f0a05e;--danger: #e2606b;--other: #a8756e;--warn: #dfbb52;--depth: .5;--on-other: #fceeea;--chrome: #52251a;--sq-plain: #8a4a34;--sq-dl: #f0d3ae;--sq-tl: #e3a34b;--sq-dw: #f1b59a;--sq-tw: #a52f36;--sq-centre: #f1b59a;--sq-ink: #35180f;--sq-tw-ink: #ffffff;--board-grid: #6b3626;--board-frame: #3d1d14;--tile-bg: #f7e9cf;--tile-ink: #331e15;--tile-blank-ink: #8b7460}:root[data-theme=ocean],[data-theme=ocean]{--bg: #071a26;--surface: #0e2836;--ink: #e2f2f8;--accent: #40d0d8;--danger: #ef6d80;--other: #5d87ab;--warn: #e0b354;--depth: .5;--on-other: #eef5fa;--chrome: #0b3448;--sq-plain: #14607a;--sq-dl: #bfe2ea;--sq-tl: #45b6cf;--sq-dw: #d5c0e2;--sq-tw: #c2354f;--sq-centre: #d5c0e2;--sq-ink: #062733;--sq-tw-ink: #ffffff;--board-grid: #0d4257;--board-frame: #062836;--tile-bg: #eef0e2;--tile-ink: #17262c;--tile-blank-ink: #74828a}:root[data-theme=neon],[data-theme=neon]{--bg: #0a0713;--surface: #150f22;--ink: #f0eafa;--accent: #4ef0c0;--danger: #ff5c8a;--other: #8b6ce0;--warn: #ffd23f;--depth: .6;--on-other: #f6f1ff;--chrome: #1d0f36;--sq-plain: #2c1c4d;--sq-dl: #b9a6f2;--sq-tl: #9a78ea;--sq-dw: #f79ad0;--sq-tw: #d81b6a;--sq-centre: #f79ad0;--sq-ink: #190c2c;--sq-tw-ink: #ffffff;--board-grid: #3d2a63;--board-frame: #1b1030;--tile-bg: #f6f1df;--tile-ink: #1a1226;--tile-blank-ink: #7d7590}:root[data-theme=mono],[data-theme=mono]{--bg: #ffffff;--surface: #ffffff;--ink: #101010;--accent: #1a1a1a;--danger: #a01818;--other: #444444;--warn: #6a5000;--depth: .16;--accent-fill: #1a1a1a;--on-other: var(--bg);--chrome: var(--bg);--badge-bg: var(--accent-fill);--badge-ink: var(--bg);--rack-bg: color-mix(in srgb, var(--ink) 7%, transparent);--bag-bg: #101010;--bag-ink: #ffffff;--sq-plain: #e4e4e4;--sq-dl: #f2f2f2;--sq-tl: #d2d2d2;--sq-dw: #cfcfcf;--sq-tw: #ababab;--sq-centre: #cfcfcf;--sq-ink: #141414;--sq-tw-ink: var(--sq-ink);--board-grid: #c9c9c9;--board-frame: #b4b4b4;--tile-bg: #ffffff;--tile-ink: #101010;--tile-blank-ink: #7a7a7a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior:none}body{-webkit-text-size-adjust:100%}main.page:not(.locked){padding-top:calc(8px + env(safe-area-inset-top))}html.noscroll,html.noscroll body{height:100%;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}
