@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Space Grotesk", "Inter", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--font-control:500 13px/1.4 var(--font-sans);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-pill:999px;--shadow-panel:0 8px 28px #00000012;--shadow-dialog:0 24px 80px #00000030}:where(body){-webkit-font-smoothing:antialiased}:where(button,input,select,textarea){font-family:var(--font-sans)}:where(kbd,output,time){font-variant-numeric:tabular-nums}:root{--bg:#101018;--bg-rgb:16, 16, 24;--surface:#17171f;--surface-2:#1d1d27;--surface-3:#25252f;--node:#1d1d27;--line:#ffffff14;--line-mid:#ffffff24;--line-strong:#ffffff3d;--tint-soft:#ffffff04;--tint:#ffffff06;--tint-2:#ffffff08;--tint-strong:#ffffff0e;--text:#eceef6;--text-muted:#a2a6ba;--text-dim:#82869c;--accent:#9c6bff;--accent-bright:#b78dff;--accent-soft:#9c6bff1a;--accent-line:#9c6bff61;--accent-cold:#6b8bff;--on-accent:#0a0616;--bloom:#9c6bff38;--bloom-2:#6b8bff1a;--ok:#3ddc97;--ok-soft:#3ddc971f;--scrollbar-thumb:#2f2f3d;--panel-bg:color-mix(in srgb, var(--accent) 3%, var(--surface));--panel-overlay:color-mix(in srgb, var(--panel-bg) 96%, transparent);--dialog-bg:color-mix(in srgb, var(--accent) 2%, var(--surface));--page-w:1200px;--gutter:clamp(1.25rem, 5vw, 4rem);--nav-h:60px;--ease:cubic-bezier(.22, .61, .36, 1);--dur:.22s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f2f2f7;--bg-rgb:242, 242, 247;--surface:#fff;--surface-2:#f6f6fb;--surface-3:#e9e9f2;--node:#fff;--line:#1212281c;--line-mid:#1212282b;--line-strong:#1212284d;--tint-soft:#12122804;--tint:#12122806;--tint-2:#12122808;--tint-strong:#1212280f;--text:#14141d;--text-muted:#4c4e61;--text-dim:#5f6175;--accent:#6633d6;--accent-bright:#5124ad;--accent-soft:#6633d614;--accent-line:#6633d652;--accent-cold:#2f4bc4;--on-accent:#fff;--bloom:#6633d617;--bloom-2:#2f4bc40f;--ok:#0c8a5c;--ok-soft:#0c8a5c1f;--scrollbar-thumb:#c4c4d4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-accent=cyan]{--accent:#45d8d0;--accent-bright:#7ae6e0;--accent-soft:#45d8d01a;--accent-line:#45d8d061;--bloom:#45d8d029}[data-theme=light][data-accent=cyan]{--accent:#0c7873;--accent-bright:#085450;--accent-soft:#0c787314;--accent-line:#0c787352;--bloom:#0c787317}[data-accent=lime]{--accent:#a6e34d;--accent-bright:#c2ed88;--accent-soft:#a6e34d1a;--accent-line:#a6e34d61;--bloom:#a6e34d29}[data-theme=light][data-accent=lime]{--accent:#4d7a12;--accent-bright:#3b5e0d;--accent-soft:#4d7a1214;--accent-line:#4d7a1252;--bloom:#4d7a1217}[data-accent=amber]{--accent:#f0b23c;--accent-bright:#f7cd7a;--accent-soft:#f0b23c1a;--accent-line:#f0b23c61;--bloom:#f0b23c29}[data-theme=light][data-accent=amber]{--accent:#96610a;--accent-bright:#734a06;--accent-soft:#96610a14;--accent-line:#96610a52;--bloom:#96610a17}[data-accent=rose]{--accent:#ff6b9c;--accent-bright:#ff9bbb;--accent-soft:#ff6b9c1a;--accent-line:#ff6b9c61;--bloom:#ff6b9c29}[data-theme=light][data-accent=rose]{--accent:#c2185b;--accent-bright:#9c1348;--accent-soft:#c2185b14;--accent-line:#c2185b52;--bloom:#c2185b17}[data-accent=blue]{--accent:#6b8bff;--accent-bright:#96abff;--accent-soft:#6b8bff1a;--accent-line:#6b8bff61;--bloom:#6b8bff29}[data-theme=light][data-accent=blue]{--accent:#2f4bc4;--accent-bright:#243b9c;--accent-soft:#2f4bc414;--accent-line:#2f4bc452;--bloom:#2f4bc417}.theme-toggle{border:1px solid var(--line);border-radius:var(--r-md);width:44px;height:44px;color:var(--text-dim);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;flex-shrink:0;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.theme-toggle__icons{width:15px;height:15px;display:block;position:relative}.theme-toggle__icon{width:15px;height:15px;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);position:absolute;inset:0}.theme-toggle__icon--sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle__icon--moon{opacity:0;transform:rotate(-90deg)scale(.6)}[data-theme=light] .theme-toggle__icon--sun{opacity:0;transform:rotate(90deg)scale(.6)}[data-theme=light] .theme-toggle__icon--moon{opacity:1;transform:rotate(0)scale(1)}.m-color-picker{position:relative}.m-color-trigger{width:40px;height:44px;color:var(--accent);background:0 0;border:0;place-items:center;display:grid}.m-color-trigger:hover,.m-color-trigger[aria-expanded=true]{background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:var(--r-md)}.m-color-panel{border:1px solid var(--line-mid);border-radius:var(--r-lg);background:var(--dialog-bg);width:264px;color:var(--text);box-shadow:var(--shadow-dialog);margin:0;padding:20px;position:absolute;top:calc(100% + 12px);right:0}.m-color-panel>p{margin-bottom:16px;font-size:14px}.m-color-panel>div{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.m-color-panel button{background:var(--swatch);color:#10091e;border-radius:var(--r-md);border:0;place-items:center;height:44px;display:grid}.m-color-panel button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:3px}.m-color-panel button:focus-visible{outline:2px solid var(--text);outline-offset:4px}@media (width<=640px){.m-color-trigger{width:32px}.m-color-panel{width:244px;right:-92px}}.appearance-controls{flex-shrink:0;align-items:center;gap:8px;display:flex;position:relative}.appearance-controls :is(.theme-toggle,.m-color-trigger,.m-motion-toggle,.m-locale){box-sizing:border-box;border:1px solid var(--line-mid);border-radius:var(--r-md);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-muted);font:500 12px/1 var(--font-sans);cursor:pointer;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;flex:0 0 44px;justify-content:center;align-items:center;margin:0;padding:0;text-decoration:none;display:inline-flex}.appearance-controls :is(.theme-toggle,.m-color-trigger,.m-motion-toggle,.m-locale):is(:hover,:focus-visible),.appearance-controls .m-color-trigger[aria-expanded=true]{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.appearance-controls :is(.theme-toggle,.m-color-trigger,.m-motion-toggle,.m-locale):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.appearance-controls :is(.theme-toggle__icons,.theme-toggle__icon,.m-color-trigger>svg,.m-motion-toggle>svg){width:18px;height:18px}.appearance-controls .m-color-picker{position:static}.appearance-controls .m-color-panel{right:0}@media (prefers-reduced-motion:reduce){.appearance-controls :is(button,a,svg){transition:none}}.game-nav{z-index:20;border-bottom:1px solid var(--line);background:rgba(var(--bg-rgb), .94);color:var(--text);-webkit-backdrop-filter:blur(18px);flex-shrink:0;position:relative}.game-nav__inner{width:calc(100% - clamp(24px,8vw,96px));min-height:var(--nav-h);justify-content:space-between;align-items:center;gap:20px;margin-inline:auto;display:flex}.game-nav__trail,.game-nav__actions{align-items:center;gap:8px;min-width:0;display:flex}.game-nav__actions{flex-shrink:0}.game-nav__mark,.game-nav__crumb,.game-nav__current,.game-nav__button,.game-nav__icon{white-space:nowrap;min-height:44px;font-family:var(--font-sans);color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;margin:0;font-size:12px;font-weight:400;line-height:1.3;text-decoration:none;display:inline-flex}.game-nav .game-nav__mark{min-width:44px;font-family:var(--font-display);letter-spacing:-3px;color:var(--text);gap:0;font-size:32px;font-weight:600}.game-nav__dot{color:var(--accent)}.game-nav__separator{color:var(--line-strong);font:14px var(--font-mono)}.game-nav .game-nav__current{color:var(--text);border-radius:var(--r-pill);background:0 0;border:0;min-height:32px;padding:0 10px}.game-nav .game-nav__button,.game-nav .game-nav__icon{appearance:none;border:1px solid var(--line-mid);border-radius:var(--r-md);color:var(--text-muted);transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);cursor:pointer;background:0 0;gap:7px;padding:0 12px;font-weight:500}.game-nav .game-nav__icon{width:44px;padding:0}.game-nav svg{flex-shrink:0;width:16px;height:16px}.game-nav a:hover,.game-nav button:hover{color:var(--accent-bright)}.game-nav .game-nav__button:hover,.game-nav .game-nav__icon:hover{background:var(--accent-soft);border-color:var(--accent-line)}.game-nav :focus-visible{outline:2px solid var(--accent-bright);outline-offset:3px}@media (width<=760px){.game-nav__inner{gap:8px;width:calc(100% - 24px)}.game-nav__trail{gap:6px}.game-nav__actions{gap:5px}.game-nav__mark,.game-nav__crumb,.game-nav__current{font-size:11px}.game-nav .game-nav__current{padding-inline:7px}.game-nav .game-nav__button{padding-inline:9px}.game-nav__button-label{display:none}}.game-nav [data-game-appearance]{border-left:1px solid var(--line-mid);margin-left:8px;padding-left:16px}.game-nav .m-color-panel[hidden]{display:none}.game-nav .m-color-panel{z-index:50}.game-nav .m-color-panel>p{font:14px/1.5 var(--font-sans);margin:0 0 16px}.game-nav .m-color-panel button{cursor:pointer;margin:0;padding:0}.game-nav__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.game-nav [data-game-appearance]{gap:4px;margin-left:3px;padding-left:8px}}.hx-hud .game-nav{pointer-events:auto}.hx-appearance{gap:16px;margin-bottom:24px;display:grid}html,body,#app{width:100%;min-height:100%;margin:0}body{background:var(--bg)}.board-host{touch-action:none;outline:none;position:fixed;inset:0;overflow:hidden}.board-host:focus-visible{outline:2px solid var(--accent);outline-offset:-5px}.board-host canvas{width:100%;height:100%;display:block}.hud-host{pointer-events:none;min-height:100svh;position:relative}.renderer-error{color:var(--text);background:var(--surface);border:1px solid var(--line-mid);border-radius:var(--r-xl);font:16px/1.7 var(--font-sans);text-align:center;box-shadow:var(--shadow-dialog);padding:24px;position:absolute;inset:35% 10% auto}.renderer-error button{cursor:pointer;min-height:44px;color:var(--on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-md);font-family:var(--font-mono);font:var(--font-control);margin:16px auto 0;padding:8px 20px;display:block}.resource-flight{z-index:20;pointer-events:none;color:var(--text);background:var(--surface-2);border:1px solid var(--accent-line);border-radius:var(--r-sm);font:500 13px var(--font-mono);white-space:nowrap;padding:7px 11px;position:fixed}
