:root{--bg: #1f1c31;--well: #15132a;--well-line: rgba(194, 191, 191, .07);--frame: #c2bfbf;--ink: #ece9f7;--muted: #9893b6;--f-hydrogen: #ff4f7b;--f-noble-gas: #4cc3ff;--f-alkali-metal: #ff6b4a;--f-alkaline-earth-metal: #ffa53d;--f-metalloid: #e3c64f;--f-non-metal: #6fe46f;--f-halogen: #3fe0b5;--f-transition-metal: #f4e04b;--f-lanthanide: #ff9b6a;--f-actinide: #c08cff;--f-metal: #b9c4d6;--font-pixel: "Tiny5", ui-monospace, "Courier New", monospace;--font-ui: "Pixelify Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--tap: 56px;--gap: 12px}*,*:before,*:after{box-sizing:border-box;margin:0}html,body{height:100%;background:var(--bg)}body{color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.45;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}#app{height:100%}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--f-noble-gas);outline-offset:2px}.fam-hydrogen{--c: var(--f-hydrogen)}.fam-noble-gas{--c: var(--f-noble-gas)}.fam-alkali-metal{--c: var(--f-alkali-metal)}.fam-alkaline-earth-metal{--c: var(--f-alkaline-earth-metal)}.fam-metalloid{--c: var(--f-metalloid)}.fam-non-metal{--c: var(--f-non-metal)}.fam-halogen{--c: var(--f-halogen)}.fam-transition-metal{--c: var(--f-transition-metal)}.fam-lanthanide{--c: var(--f-lanthanide)}.fam-actinide{--c: var(--f-actinide)}.fam-metal{--c: var(--f-metal)}.fam-unknown{--c: var(--frame)}.btn{min-height:var(--tap);padding:0 24px;background:transparent;border:2px solid var(--frame);color:var(--ink);font-family:var(--font-pixel);font-size:22px;letter-spacing:.02em;cursor:pointer;touch-action:manipulation}.btn:active{background:var(--frame);color:var(--bg)}.btn-primary{background:var(--f-non-metal);border-color:var(--f-non-metal);color:var(--bg)}.btn-primary:active{background:transparent;color:var(--f-non-metal)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.tile[data-v-9d7af3c8]{position:relative;width:100%;height:100%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 18%,var(--well));border:max(1.5px,calc(var(--cell, 32px) * .065)) solid var(--c);border-radius:2px;box-shadow:inset 0 calc(var(--cell, 32px) * -.08) 0 color-mix(in srgb,var(--c) 30%,transparent),inset 0 0 0 1px #0000004d;color:var(--c);font-family:var(--font-pixel);line-height:1;-webkit-user-select:none;user-select:none}.sym[data-v-9d7af3c8]{font-size:calc(var(--cell, 32px) * .44)}.z[data-v-9d7af3c8]{position:absolute;top:9%;left:11%;font-size:calc(var(--cell, 32px) * .21);opacity:.65}.board-area[data-v-e18da046]{min-height:0;min-width:0;display:grid;place-items:center}.board[data-v-e18da046]{position:relative;touch-action:none;-webkit-user-select:none;user-select:none;background-color:var(--well);background-image:linear-gradient(var(--well-line) 1px,transparent 1px),linear-gradient(90deg,var(--well-line) 1px,transparent 1px);background-size:var(--cell) var(--cell);box-shadow:-3px 0 0 var(--frame),3px 0 0 var(--frame),0 3px 0 var(--frame),-3px 3px 0 var(--frame),3px 3px 0 var(--frame)}.cell[data-v-e18da046],.ghost[data-v-e18da046],.burst[data-v-e18da046]{position:absolute;top:0;left:0;width:var(--cell);height:var(--cell)}.cell[data-v-e18da046]{transition:transform .23s cubic-bezier(.3,1.35,.55,1);will-change:transform}.cell.active[data-v-e18da046]{transition-duration:70ms;transition-timing-function:linear;z-index:2}.fx[data-v-e18da046]{width:100%;height:100%}.ghost[data-v-e18da046]{border:1.5px dashed var(--c);opacity:.35;border-radius:2px}.fx-reagent[data-v-e18da046]{z-index:3}.fx-reagent .fx[data-v-e18da046]{animation:react-e18da046 .56s cubic-bezier(.2,.8,.3,1) forwards}.fx-caught .fx[data-v-e18da046]{animation:caught-e18da046 .56s steps(1,end) forwards}@keyframes react-e18da046{0%{transform:scale(1);filter:brightness(1)}18%{transform:scale(1.22);filter:brightness(2.2) saturate(1.4)}40%{transform:scale(1.08);filter:brightness(1.6)}70%{transform:scale(1.12) rotate(-4deg);filter:brightness(2)}to{transform:scale(.15) rotate(12deg);filter:brightness(3);opacity:0}}.fx-reagent[data-v-e18da046] .tile{box-shadow:0 0 calc(var(--cell) * .7) var(--c)}@keyframes caught-e18da046{0%,30%,60%{opacity:1}15%,45%,75%{opacity:.35}to{opacity:0}}.burst[data-v-e18da046]{pointer-events:none;z-index:4}.ring[data-v-e18da046]{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--c);border-radius:50%;animation:ring-e18da046 .52s ease-out forwards}@keyframes ring-e18da046{0%{transform:scale(.4);opacity:.9}to{transform:scale(2.2);opacity:0}}.spark[data-v-e18da046]{position:absolute;top:50%;left:50%;width:calc(var(--cell) * .16);height:calc(var(--cell) * .16);margin:calc(var(--cell) * -.08);background:var(--c);animation:spark-e18da046 .65s cubic-bezier(.1,.7,.3,1) forwards}@keyframes spark-e18da046{0%{transform:rotate(var(--a)) translate(0) scale(1);opacity:1}to{transform:rotate(var(--a)) translate(calc(var(--cell) * 1.4)) scale(.3);opacity:0}}.shake-blast[data-v-e18da046]{animation:shake-e18da046 .28s linear 2}.shake-rows[data-v-e18da046]{animation:shake-e18da046 .22s linear 3}.shake-all[data-v-e18da046]{animation:shake-hard-e18da046 .18s linear 4}@keyframes shake-e18da046{25%{translate:-2px 1px}75%{translate:2px -1px}}@keyframes shake-hard-e18da046{25%{translate:-5px 2px}75%{translate:5px -3px}}.flash-all[data-v-e18da046]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--f-actinide);mix-blend-mode:screen;animation:flash-e18da046 .6s ease-out forwards;pointer-events:none;z-index:5}@keyframes flash-e18da046{0%{opacity:.85}to{opacity:0}}.toast[data-v-e18da046]{position:absolute;z-index:6;display:flex;flex-direction:column;align-items:center;width:max-content;max-width:220px;padding:6px 10px;translate:-50% -100%;background:color-mix(in srgb,var(--bg) 88%,transparent);border:2px solid var(--ink);text-align:center;pointer-events:none;animation:toast-e18da046 1.65s cubic-bezier(.2,.9,.3,1) forwards}.toast-blast[data-v-e18da046]{border-color:var(--f-alkaline-earth-metal)}.toast-rows[data-v-e18da046]{border-color:var(--f-hydrogen)}.toast-all[data-v-e18da046]{border-color:var(--f-actinide)}.toast-name[data-v-e18da046]{font-family:var(--font-pixel);font-size:15px;line-height:1.1}.toast-eq[data-v-e18da046]{font-size:11px;color:var(--muted)}.toast-points[data-v-e18da046]{font-family:var(--font-pixel);font-size:22px;line-height:1.1;color:var(--f-non-metal)}.toast-points small[data-v-e18da046]{font-size:13px;color:var(--f-transition-metal)}@keyframes toast-e18da046{0%{transform:translateY(8px) scale(.7);opacity:0}12%{transform:translateY(0) scale(1.06);opacity:1}20%{transform:scale(1)}80%{transform:translateY(-10px);opacity:1}to{transform:translateY(-22px);opacity:0}}.preview[data-v-4eea26ba]{display:grid;grid-template-columns:repeat(3,var(--cell));grid-auto-rows:var(--cell);gap:1px}.hud[data-v-949b50cb]{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--gap);padding:8px 4px}.score[data-v-949b50cb]{display:flex;flex-direction:column;min-width:0}.score-value[data-v-949b50cb]{font-family:var(--font-pixel);font-size:clamp(28px,8vw,40px);line-height:1;font-variant-numeric:tabular-nums}.score-meta[data-v-949b50cb]{font-size:13px;color:var(--muted);white-space:nowrap}.next[data-v-949b50cb]{display:flex;align-items:center;gap:8px;min-height:var(--tap);padding:4px 10px 4px 6px;background:none;border:2px dashed var(--muted);cursor:pointer;touch-action:manipulation}.next.locked[data-v-949b50cb]{border-style:solid;border-color:var(--f-transition-metal)}.next-label[data-v-949b50cb]{font-family:var(--font-pixel);font-size:14px;min-width:5ch;text-align:left}.locked .next-label[data-v-949b50cb]{color:var(--f-transition-metal)}.pause[data-v-949b50cb]{width:var(--tap);height:var(--tap);background:none;border:2px solid var(--frame);font-family:var(--font-pixel);font-size:20px;cursor:pointer}.pad[data-v-42e3fe59]{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 4px;touch-action:none}.cluster[data-v-42e3fe59]{display:flex;gap:10px;align-items:center}.key[data-v-42e3fe59]{width:64px;height:64px;display:grid;place-items:center;background:color-mix(in srgb,var(--frame) 8%,transparent);border:2px solid var(--frame);border-radius:4px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.key[data-v-42e3fe59]:active{background:var(--frame);color:var(--bg);transform:translateY(2px)}.key-main[data-v-42e3fe59]{width:76px;height:76px;border-color:var(--f-non-metal);color:var(--f-non-metal)}svg[data-v-42e3fe59]{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:square}.reaction[data-v-25158be9]{padding:12px 0;border-bottom:1px solid var(--well-line)}.compact[data-v-25158be9]{padding:8px 0}.atoms[data-v-25158be9]{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:6px}.atom[data-v-25158be9]{width:var(--cell);height:var(--cell)}h3[data-v-25158be9]{font-family:var(--font-pixel);font-weight:400;font-size:18px;line-height:1.2}.compact h3[data-v-25158be9]{font-size:15px}.eq[data-v-25158be9]{font-size:14px;color:var(--muted)}.effect[data-v-25158be9]{font-size:13px;color:var(--f-non-metal)}.eff-blast .effect[data-v-25158be9]{color:var(--f-alkaline-earth-metal)}.eff-rows .effect[data-v-25158be9]{color:var(--f-hydrogen)}.eff-all .effect[data-v-25158be9]{color:var(--f-actinide)}.welcome[data-v-f3ef7dda]{height:100%;display:flex;flex-direction:column;max-width:560px;margin:0 auto}.scroll[data-v-f3ef7dda]{flex:1;overflow-y:auto;padding:24px 20px 12px}h1[data-v-f3ef7dda]{font-family:var(--font-pixel);font-weight:400;font-size:clamp(52px,17vw,88px);line-height:.88;color:var(--f-non-metal)}.lede[data-v-f3ef7dda]{margin-top:16px;max-width:42ch;font-size:17px}.how[data-v-f3ef7dda]{margin-top:12px;font-size:14px;color:var(--muted)}.how span[data-v-f3ef7dda]{display:block}@media (hover: hover) and (pointer: fine){.touch[data-v-f3ef7dda]{display:none!important}}@media (hover: none),(pointer: coarse){.keys[data-v-f3ef7dda]{display:none!important}}.tabs[data-v-f3ef7dda]{display:flex;gap:4px;margin-top:24px;border-bottom:2px solid var(--frame)}.tabs button[data-v-f3ef7dda]{min-height:48px;padding:0 16px;background:none;border:2px solid transparent;border-bottom:none;font-family:var(--font-pixel);font-size:18px;color:var(--muted);cursor:pointer}.tabs button[aria-selected=true][data-v-f3ef7dda]{border-color:var(--frame);color:var(--ink);background:var(--well)}.molecules[data-v-f3ef7dda]{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px 12px;margin-top:16px}.molecules li[data-v-f3ef7dda]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.molecules[data-v-f3ef7dda] .preview{grid-row:span 2}.formula[data-v-f3ef7dda]{font-family:var(--font-pixel);font-size:18px;align-self:end}.name[data-v-f3ef7dda]{font-size:12px;color:var(--muted);align-self:start;line-height:1.2}.about[data-v-f3ef7dda]{margin-top:16px;max-width:42ch}.about p+p[data-v-f3ef7dda]{margin-top:12px}.credit[data-v-f3ef7dda]{color:var(--muted)}.credit a[data-v-f3ef7dda]{color:var(--ink);font-weight:600}.cta[data-v-f3ef7dda]{padding:12px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--well-line)}.cta .btn[data-v-f3ef7dda]{width:100%}.shell[data-v-d0614c09]{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.game[data-v-d0614c09]{position:relative;height:100%;max-width:520px;margin:0 auto;padding:0 12px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto}.side[data-v-d0614c09]{display:none}@media (hover: hover) and (pointer: fine){.controls-slot[data-v-d0614c09]{display:none}.game[data-v-d0614c09]{grid-template-rows:auto minmax(0,1fr);padding-top:12px}}@media (min-width: 900px) and (hover: hover) and (pointer: fine){.game[data-v-d0614c09]{max-width:1120px;grid-template-columns:220px minmax(0,1fr) 260px;grid-template-rows:minmax(0,1fr);gap:32px;padding:24px}.game .hud-slot[data-v-d0614c09]{align-self:start;grid-template-columns:1fr;justify-items:start}.side[data-v-d0614c09]{display:block;overflow-y:auto;padding-right:4px}.side h2[data-v-d0614c09]{font-family:var(--font-pixel);font-weight:400;font-size:22px;padding-bottom:4px;border-bottom:2px solid var(--frame)}}.overlay[data-v-d0614c09]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel[data-v-d0614c09]{width:min(320px,100%);display:flex;flex-direction:column;gap:10px;padding:24px;background:var(--bg);border:2px solid var(--frame);text-align:center}.panel h2[data-v-d0614c09]{font-family:var(--font-pixel);font-weight:400;font-size:40px;line-height:1;margin-bottom:8px}.final[data-v-d0614c09]{font-family:var(--font-pixel);font-size:56px;line-height:1;color:var(--f-non-metal)}.stats[data-v-d0614c09]{color:var(--muted);font-size:14px;margin-bottom:8px}
