@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(./rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root,[data-theme=neon]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:"Rajdhani", "Segoe UI", system-ui, sans-serif;--font-display:"Rajdhani", "Segoe UI", system-ui, sans-serif;--font-tile:"Rajdhani", "Segoe UI", system-ui, sans-serif;--ui-size:1.08;--bg:#080d18;--bg-image:radial-gradient(120% 70% at 50% -10%, #13213d 0%, #080d1800 60%), radial-gradient(90% 60% at 50% 110%, #101a31 0%, #080d1800 70%);--text:#e9eff9;--text-dim:#94a5c3;--text-faint:#5c6c8a;--accent:#22d3ee;--accent-ink:#04222a;--accent-2:#b061ff;--accent-glow:0 0 0 1px #22d3eed9, 0 0 18px #22d3ee59;--focus:#22d3ee;--panel:linear-gradient(180deg, #141f36eb, #0d1526eb);--panel-solid:#0f1829;--panel-border:#6282be47;--panel-shadow:0 10px 30px #00000059;--radius:12px;--radius-lg:16px;--scrim:#03070f9e;--btn-bg:linear-gradient(180deg, #13203a, #0d1628);--btn-border:#2c3e63;--btn-text:#eef3fb;--btn-press:#22d3ee1f;--btn-radius:12px;--btn-shadow:inset 0 1px 0 #ffffff0a;--good:#34d399;--good-glow:0 0 16px #34d39973;--bad:#ff4d6d;--bad-glow:0 0 16px #ff4d6d73;--danger:#ff4d6d;--danger-soft:#ff4d6d38;--logo-a:linear-gradient(180deg, #5ce8ff, #1fb8e6);--logo-b:linear-gradient(180deg, #c98bff, #9b4dff);--logo-flask:#b066ff;--logo-liquid:#22d3ee;--logo-glow:drop-shadow(0 0 10px #22d3ee59) drop-shadow(0 0 14px #b061ff40);--stat-score:#60a5fa;--stat-best:#fbbf24;--stat-speed:#fbbf24;--meter-track:#94a5c32e;--meter-fill:linear-gradient(90deg, #fbbf24, #fb923c);--board-bg:linear-gradient(180deg, #0b1324, #0a111f);--board-border:#6282be4d;--board-shadow:0 12px 40px #00000073, inset 0 1px 0 #ffffff08;--board-overlay:none;--grid-line:#7a96d21c;--spawn-bg:#7a96d20a;--guide:#c8d7f08c;--active-color:#b0b7c2;--active-ink:#151b27;--active-edge:#ffffffb3;--active-gloss:linear-gradient(180deg, #ffffff80, #ffffff14 50%, #0000000f 51%, #00000029);--active-shadow:inset 0 -3px 0 #00000038, 0 0 0 1px #00000059, 0 6px 18px #0000008c, 0 0 16px #becde62e;--tile-text:#0b1020;--tile-edge:#00000047;--tile-gloss:linear-gradient(180deg, #ffffff57, #ffffff0f 48%, #0000 52%, #0000001a);--tile-shadow:inset 0 -3px 0 #0003, 0 2px 6px #00000059;--tile-veil:none;--tile-radius:7px;--tile-weight:700;--f-block-pattern:repeating-linear-gradient(135deg, #ffffff4d 0 2px, transparent 2px 6px);--g-alkali-metal:#cd5def;--g-alkaline-earth-metal:#4f92f8;--g-transition-metal:#f566a6;--g-post-transition-metal:#93d449;--g-metalloid:#f19b4b;--g-nonmetal:#fbd52d;--g-halogen:#30d577;--g-noble-gas:#2cd7f2;--g-lanthanide:#f8604f;--g-actinide:#9b98fb}[data-theme=classic]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-display:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-tile:"Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--ui-size:.94;--bg:#eceae4;--bg-image:linear-gradient(180deg, #f2f0eb, #e6e3db);--text:#1d2026;--text-dim:#5b6270;--text-faint:#8d929b;--accent:#1f5fbf;--accent-ink:#fff;--accent-2:#c43d2f;--accent-glow:0 0 0 1.5px #1f5fbf;--focus:#1f5fbf;--panel:#fbfaf7;--panel-solid:#fbfaf7;--panel-border:#d3cec3;--panel-shadow:0 1px 0 #0000000a;--radius:8px;--radius-lg:10px;--scrim:#28262066;--btn-bg:#fff;--btn-border:#cbc5b9;--btn-text:#1d2026;--btn-press:#e9eef8;--btn-radius:8px;--btn-shadow:0 1px 0 #0000000f;--good:#1d8a4e;--good-glow:none;--bad:#c43d2f;--bad-glow:none;--danger:#c93a2e;--danger-soft:#c93a2e29;--logo-a:linear-gradient(#1d2026, #1d2026);--logo-b:linear-gradient(#c43d2f, #c43d2f);--logo-flask:#c43d2f;--logo-liquid:#1f5fbf;--logo-glow:none;--stat-score:#1f5fbf;--stat-best:#c9901b;--stat-speed:#c43d2f;--meter-track:#e7e3da;--meter-fill:#c43d2f;--board-bg:#fdfcf9;--board-border:#cfc9bd;--board-shadow:0 1px 0 #0000000d;--board-overlay:none;--grid-line:#1d202614;--spawn-bg:#1d202608;--guide:#1d202659;--active-color:#b7bbc2;--active-ink:#15181c;--active-edge:#7f858e;--active-gloss:linear-gradient(transparent, transparent);--active-shadow:0 2px 6px #0000002e;--tile-text:#15181c;--tile-edge:#00000052;--tile-gloss:linear-gradient(transparent, transparent);--tile-shadow:none;--tile-veil:none;--tile-radius:3px;--tile-weight:700;--f-block-pattern:repeating-linear-gradient(135deg, #00000021 0 1.5px, transparent 1.5px 5px);--g-alkali-metal:#c793d7;--g-alkaline-earth-metal:#96bcee;--g-transition-metal:#eeb4ce;--g-post-transition-metal:#b2d48c;--g-metalloid:#ecb37e;--g-nonmetal:#f6da51;--g-halogen:#79cd9e;--g-noble-gas:#7ed0dd;--g-lanthanide:#ed8c7d;--g-actinide:#c0c1f2}[data-theme=dark-lab]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-ui:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--font-display:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--font-tile:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--ui-size:.9;--bg:#070a09;--bg-image:radial-gradient(110% 80% at 50% 0%, #0f1714 0%, #070a0900 65%);--text:#cfe3d9;--text-dim:#7c9387;--text-faint:#4d6157;--accent:#4ade80;--accent-ink:#04140b;--accent-2:#fbbf24;--accent-glow:0 0 0 1px #4ade80cc, 0 0 14px #4ade8033;--focus:#4ade80;--panel:#0d1311;--panel-solid:#0d1311;--panel-border:#1e2c26;--panel-shadow:none;--radius:6px;--radius-lg:8px;--scrim:#020403b3;--btn-bg:#0c1210;--btn-border:#22322b;--btn-text:#d4e6dc;--btn-press:#4ade801a;--btn-radius:6px;--btn-shadow:none;--good:#4ade80;--good-glow:0 0 12px #4ade8059;--bad:#f87171;--bad-glow:0 0 12px #f8717159;--danger:#f87171;--danger-soft:#f871712e;--logo-a:linear-gradient(#4ade80, #4ade80);--logo-b:linear-gradient(#fbbf24, #fbbf24);--logo-flask:#fbbf24;--logo-liquid:#4ade80;--logo-glow:drop-shadow(0 0 8px #4ade8040);--stat-score:#4ade80;--stat-best:#fbbf24;--stat-speed:#fbbf24;--meter-track:#17221e;--meter-fill:#fbbf24;--board-bg:#0a0f0d;--board-border:#1e2c26;--board-shadow:inset 0 0 40px #0009;--board-overlay:repeating-linear-gradient(180deg, #ffffff06 0 1px, transparent 1px 3px);--grid-line:#4ade8014;--spawn-bg:#4ade8008;--guide:#4ade8073;--active-color:#28322e;--active-ink:#e3f0ea;--active-edge:#6a7d74;--active-gloss:linear-gradient(transparent, transparent);--active-shadow:0 0 0 1px #00000080, 0 0 14px #cfe3d91f;--tile-text:#0a0f0d;--tile-edge:#0000004d;--tile-gloss:linear-gradient(transparent, transparent);--tile-shadow:none;--tile-veil:linear-gradient(#080c0acc, #080c0acc);--tile-radius:4px;--tile-weight:700;--f-block-pattern:repeating-linear-gradient(135deg, #ffffff17 0 2px, transparent 2px 6px);--g-alkali-metal:#dc7cf4;--g-alkaline-earth-metal:#76aff9;--g-transition-metal:#f88cbb;--g-post-transition-metal:#a2de5e;--g-metalloid:#f8a659;--g-nonmetal:#fbd941;--g-halogen:#4ddb8a;--g-noble-gas:#49ddf3;--g-lanthanide:#fa7561;--g-actinide:#a7aafb}[data-theme=dark-lab] .tile-locked{--face-ink:var(--tile-color);--face-edge:var(--tile-color)}[data-theme=pastel]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Nunito", "Segoe UI", system-ui, sans-serif;--font-display:"Nunito", "Segoe UI", system-ui, sans-serif;--font-tile:"Nunito", "Segoe UI", system-ui, sans-serif;--ui-size:.95;--bg:#f7f0fa;--bg-image:linear-gradient(180deg, #f6eefb 0%, #fdf4ef 100%);--text:#3f3656;--text-dim:#847a9b;--text-faint:#b3a9c6;--accent:#9784ef;--accent-ink:#fff;--accent-2:#ef8fb4;--accent-glow:0 0 0 2px #b7a9f6, 0 6px 16px #9784ef40;--focus:#9784ef;--panel:#fff;--panel-solid:#fff;--panel-border:#ece2f4;--panel-shadow:0 6px 18px #9784ef1a;--radius:16px;--radius-lg:22px;--scrim:#5f508247;--btn-bg:#fff;--btn-border:#e5daf1;--btn-text:#3f3656;--btn-press:#f3eefe;--btn-radius:16px;--btn-shadow:0 3px 0 #ece2f4;--good:#3fb68b;--good-glow:0 0 0 2px #3fb68b40;--bad:#ec6a8b;--bad-glow:0 0 0 2px #ec6a8b40;--danger:#ec6a8b;--danger-soft:#ec6a8b29;--logo-a:linear-gradient(180deg, #a996f5, #8a74ea);--logo-b:linear-gradient(180deg, #f6a7c7, #e9799f);--logo-flask:#ec84ab;--logo-liquid:#9ad8e8;--logo-glow:none;--stat-score:#9784ef;--stat-best:#f2b544;--stat-speed:#ef8fb4;--meter-track:#f1eaf7;--meter-fill:linear-gradient(90deg, #f6a7c7, #ef8fb4);--board-bg:#fffcfe;--board-border:#ece2f4;--board-shadow:0 10px 30px #9784ef1f;--board-overlay:none;--grid-line:#9784ef1f;--spawn-bg:#9784ef0a;--guide:#9784ef8c;--active-color:#cfcad9;--active-ink:#3a3350;--active-edge:#b8b0c8;--active-gloss:linear-gradient(180deg, #ffffff8c, #fff0 60%);--active-shadow:0 3px 0 #3a33501f, 0 6px 14px #3a33501f;--tile-text:#3a3150;--tile-edge:#3a31501a;--tile-gloss:linear-gradient(180deg, #ffffff80, #fff0 55%);--tile-shadow:0 2px 0 #3a31501a;--tile-veil:none;--tile-radius:10px;--tile-weight:800;--f-block-pattern:repeating-linear-gradient(135deg, #fff9 0 2px, transparent 2px 6px);--g-alkali-metal:#d8a6e7;--g-alkaline-earth-metal:#a4c9f9;--g-transition-metal:#f7bad6;--g-post-transition-metal:#c4e79d;--g-metalloid:#fbc898;--g-nonmetal:#fce678;--g-halogen:#9ce2bb;--g-noble-gas:#96e2ee;--g-lanthanide:#f9a79a;--g-actinide:#c7cbf9}*,:before,:after{box-sizing:border-box}html{height:100%;font-size:calc(16px * var(--ui-size,1));-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}body{overscroll-behavior:none;background-color:var(--bg);background-image:var(--bg-image);height:100%;color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;font-weight:500;line-height:1.25;overflow:hidden}button{color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0}button:disabled{cursor:default}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.icon{flex:none;width:1.5rem;height:1.5rem;display:block}.app{max-width:540px;height:100vh;height:100dvh;padding:max(4px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));flex-direction:column;margin:0 auto;display:flex;position:relative}.stage{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;position:relative}.board-area{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.topbar{flex:none;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;height:54px;display:grid}.icon-btn{border-radius:var(--btn-radius);width:44px;height:44px;color:var(--accent);place-items:center;transition:background-color .15s,opacity .15s;display:grid}.icon-btn .icon{width:28px;height:28px}.icon-btn:active{background:var(--btn-press)}.icon-btn:disabled{opacity:.3}.pause-btn{justify-self:end}.topbar-center{justify-content:center;align-items:center;min-width:0;display:flex}.mini-stats{font-family:var(--font-display);font-variant-numeric:tabular-nums;align-items:center;gap:14px;font-size:1.25rem;display:none}.mini-stats span{align-items:center;gap:5px;display:inline-flex}.mini-stats .icon{width:20px;height:20px}.mini-score .icon{color:var(--stat-score)}.mini-best .icon{color:var(--stat-best)}.mini-speed{color:var(--stat-speed)}.logo{font-family:var(--font-display);letter-spacing:.03em;white-space:nowrap;filter:var(--logo-glow);align-items:center;gap:.28em;margin:0;font-size:2.15rem;font-weight:700;line-height:1;display:flex}.logo-chem,.logo-ink{background-image:var(--logo-a);color:#0000;-webkit-background-clip:text;background-clip:text}.logo-drop{align-items:center;display:inline-flex}.logo-drop .logo-ink{background-image:var(--logo-b)}.logo-flask{width:.72em;height:.9em;color:var(--logo-flask);margin:0 .03em .02em}.logo-flask-liquid{fill:var(--logo-liquid)}.stats{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{border:1px solid var(--panel-border);border-radius:var(--radius);background:var(--panel);min-height:56px;box-shadow:var(--panel-shadow);grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label""icon value";align-items:center;column-gap:8px;padding:7px 10px 9px;transition:border-color .3s,box-shadow .3s;display:grid;position:relative;overflow:hidden}.stat-icon{color:var(--stat-color);grid-area:icon}.stat-icon .icon{width:26px;height:26px}.stat-label{color:var(--text-dim);letter-spacing:.02em;grid-area:label;font-size:.82rem}.stat-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;transform-origin:0 60%;grid-area:value;justify-self:start;font-size:1.55rem;font-weight:700;line-height:1.05}.stat-value.is-bumped{animation:.3s ease-out bump}.stat-score{--stat-color:var(--stat-score)}.stat-best{--stat-color:var(--stat-best)}.stat-best.is-record{border-color:var(--stat-best)}.stat-speed{--stat-color:var(--stat-speed)}.stat-speed .stat-value{color:var(--stat-speed)}.stat-meter{background:var(--meter-track);border-radius:3px;height:3px;position:absolute;bottom:5px;left:10px;right:10px;overflow:hidden}.stat-meter>i{border-radius:inherit;background:var(--meter-fill);width:0;height:100%;transition:width .35s;display:block}.stat-meter.is-max>i{background:var(--danger)}@keyframes bump{0%{transform:scale(1.3)}to{transform:none}}.answers{flex-direction:column;flex:none;gap:8px;display:flex}.prompt{text-align:center;min-height:1.5rem;color:var(--text-dim);place-items:center;margin:2px 0 0;font-size:1.12rem;font-weight:600;display:grid}.prompt>*{grid-area:1/1;transition:opacity .15s,transform .15s}.prompt-feedback{color:var(--bad);opacity:0;align-items:center;gap:6px;font-weight:700;display:inline-flex;transform:translateY(4px)}.prompt-feedback-icon .icon{width:1.1em;height:1.1em}.prompt.show-feedback .prompt-text{opacity:0;transform:translateY(-4px)}.prompt.show-feedback .prompt-feedback{opacity:1;transform:none}.choices{gap:8px;display:grid}.choices[data-layout=wide]{grid-template-columns:repeat(2,minmax(0,1fr))}.choices[data-layout=wide] .choice:last-child:nth-child(odd){grid-column:1/-1}.choices[data-layout=compact]{grid-template-columns:repeat(var(--count,4), minmax(0, 1fr))}.choice{border:1.5px solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);min-width:0;min-height:52px;box-shadow:var(--btn-shadow);color:var(--btn-text);font-family:var(--font-display);text-align:center;overflow-wrap:anywhere;place-items:center;padding:4px 10px;font-size:1.35rem;font-weight:600;line-height:1.05;transition:transform 80ms,border-color .12s,box-shadow .12s,opacity .12s,color .12s;display:grid}.choices[data-layout=compact] .choice{min-height:56px;padding:4px;font-size:1.6rem}.choices[data-mode=block] .choice{font-size:1.85rem}.choice.is-long{font-size:1.12rem}.choice:active{transform:scale(.97)}@media (hover:hover){.choices:not(.is-locked) .choice:hover{border-color:var(--accent)}}.choices.is-locked .choice{cursor:default}.choices.is-locked .choice:not(:-webkit-any(.is-correct,.is-wrong,.is-answer)){opacity:.6}.choices.is-locked .choice:not(:is(.is-correct,.is-wrong,.is-answer)){opacity:.6}.choices.is-idle .choice{opacity:.4}.choice.is-correct{border-color:var(--good);box-shadow:0 0 0 1px var(--good), var(--good-glow);color:var(--good)}.choice.is-wrong{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad), var(--bad-glow);color:var(--bad);animation:.24s nudge}.choice.is-answer{border-color:var(--good);color:var(--good);border-style:dashed}@keyframes nudge{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.app[data-phase=PAUSED] .tile-active .tile-label,.app[data-phase=PAUSED] .choices{filter:blur(8px)}.summary{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--panel-shadow);flex:none;padding:12px 14px 14px;display:none}.app.show-summary .answers{display:none}.app.show-summary .summary{animation:.25s ease-out rise;display:block}.summary-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.summary h2{font-family:var(--font-display);margin:0;font-size:1.65rem;line-height:1.1}.badge{background:var(--stat-best);color:#1d1400;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.85rem;font-weight:700}.summary-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 4px;display:grid}.summary-stats div{border-radius:var(--radius);background:var(--btn-press);flex-direction:column;align-items:center;padding:6px 4px;display:flex}.summary-stats span{color:var(--text-dim);font-size:.8rem}.summary-stats strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.1}.summary-tip{text-align:center;color:var(--text-dim);margin:6px 0 12px;font-size:.92rem}.overlay{z-index:20;border-radius:var(--radius-lg);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;place-items:center;padding:12px 4px;transition:opacity .2s,visibility 0s linear .2s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.overlay.is-open{opacity:1;visibility:visible;transition:opacity .2s}.card{border:1px solid var(--panel-border);border-radius:var(--radius-lg);background:var(--panel-solid);text-align:center;width:min(100%,360px);max-height:100%;padding:22px 20px 14px;overflow-y:auto;box-shadow:0 24px 60px #00000059}.overlay.is-open .card{animation:.25s ease-out rise}.card h2{font-family:var(--font-display);margin:0 0 6px;font-size:1.95rem;line-height:1.1}.card-text{color:var(--text-dim);margin:0 0 14px;font-size:1.06rem;line-height:1.35}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:.74rem;font-weight:700}.card-mode-icon{background:var(--btn-press);width:56px;height:56px;box-shadow:var(--accent-glow);color:var(--accent);border-radius:16px;place-items:center;margin:0 auto 10px;display:grid}.card-mode-icon .icon{width:30px;height:30px}.howto{text-align:left;gap:7px;margin:0 0 16px;padding:0;font-size:1.02rem;line-height:1.3;list-style:none;display:grid}.howto li{padding-left:22px;position:relative}.howto li:before{background:var(--accent);content:"";border-radius:2px;width:8px;height:8px;position:absolute;top:.42em;left:4px}.card-best{color:var(--stat-best);align-items:center;gap:6px;margin:0 0 14px;font-size:1.1rem;font-weight:700;display:inline-flex}.card-best .icon{width:18px;height:18px}.card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.btn{white-space:nowrap;border-radius:var(--btn-radius);min-width:0;min-height:50px;font-family:var(--font-display);letter-spacing:.02em;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:1.22rem;font-weight:700;transition:transform 80ms,filter .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn .icon{width:20px;height:20px}.btn-primary{background:var(--accent);box-shadow:var(--accent-glow);color:var(--accent-ink)}.btn-secondary{border:1.5px solid var(--btn-border);background:var(--btn-bg);box-shadow:var(--btn-shadow);color:var(--btn-text)}.btn-block{width:100%}.btn-link{min-height:44px;color:var(--accent);margin-top:4px;font-size:1.05rem;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.drawer-backdrop{z-index:40;background:var(--scrim);opacity:0;visibility:hidden;transition:opacity .22s,visibility 0s .22s;position:fixed;top:0;bottom:0;left:0;right:0}.drawer-backdrop.is-open{opacity:1;visibility:visible;transition:opacity .22s}.drawer{z-index:50;width:min(320px,86vw);padding:max(6px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));overscroll-behavior:contain;border-right:1px solid var(--panel-border);background:var(--panel-solid);visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility 0s linear .24s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-104%);box-shadow:20px 0 60px #00000059}.drawer.is-open{visibility:visible;transition:transform .24s cubic-bezier(.2,.8,.2,1);transform:none}.drawer-head{align-items:center;height:54px;display:flex}.drawer-title{font-family:var(--font-display);color:var(--text-dim);margin:6px 4px 10px;font-size:1.4rem;font-weight:600}.drawer-rule{border:0;border-top:1px solid var(--panel-border);margin:18px 0 8px}.option-list{gap:8px;display:grid}.option{border:1.5px solid var(--btn-border);border-radius:var(--btn-radius);background:var(--btn-bg);width:100%;min-height:54px;box-shadow:var(--btn-shadow);color:var(--btn-text);font-family:var(--font-display);text-align:left;align-items:center;gap:12px;padding:0 14px;font-size:1.22rem;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex}.option[aria-checked=true]{border-color:var(--accent);box-shadow:var(--accent-glow)}.option-icon{width:26px;height:26px;color:var(--accent)}.option-label{flex:1;min-width:0}.option-best{white-space:nowrap;color:var(--text-dim);font-size:.85rem;font-weight:600}.option-check{width:20px;height:20px;color:var(--accent);opacity:0}.option[aria-checked=true] .option-check{opacity:1}.swatch-wheel{background:conic-gradient(#f9a8d4,#fcd34d,#86efac,#7dd3fc,#c4b5fd,#f9a8d4);border-radius:50%;flex:none;display:block}.drawer-note{color:var(--text-faint);margin:18px 4px 4px;font-size:.9rem;line-height:1.35}.dialog-backdrop{z-index:60;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{text-align:left;width:min(100%,360px);animation:.2s ease-out rise}.dialog .btn{font-size:1.1rem}.dialog h2{font-size:1.5rem}.dialog p{color:var(--text-dim);margin:0 0 18px;font-size:1.05rem;line-height:1.35}@media (max-height:780px){.topbar{height:46px}.logo{font-size:1.85rem}.stage{gap:7px}.stat{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon label value";min-height:34px;padding:3px 10px 5px}.stat-icon .icon{width:19px;height:19px}.stat-label{font-size:.8rem}.stat-value{transform-origin:100% 60%;justify-self:end;font-size:1.3rem}.stat-meter{height:2px;bottom:3px}.prompt{min-height:1.35rem;font-size:1.02rem}.choice{min-height:46px;font-size:1.28rem}.choices[data-layout=compact] .choice{min-height:50px}}@media (max-height:600px){.topbar{height:44px}.logo,.stats{display:none}.mini-stats{display:flex}.stage{gap:6px}.choice{min-height:44px;font-size:1.2rem}.choices[data-layout=compact] .choice{min-height:46px}.choices[data-layout=wide]{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.choices[data-layout=wide] .choice{grid-column:span 2;padding:2px 4px;font-size:1.05rem}.choices[data-layout=wide] .choice:nth-child(n+4),.choices[data-layout=wide] .choice:last-child:nth-child(odd){grid-column:span 3}.choices[data-layout=wide] .choice.is-long{font-size:.92rem}}@media (max-height:600px) and (max-width:340px){.mini-stats{gap:9px;font-size:1.1rem}}@media (orientation:landscape) and (max-height:540px){.app{max-width:1000px}.topbar{height:42px}.stage{grid-template:"board stats""board."minmax(0,1fr)"board answers"/minmax(0,1fr) minmax(300px,44%);column-gap:16px;display:grid}.board-area{grid-area:board}.stats{grid-area:stats}.answers,.summary{grid-area:answers}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important}.card,.overlay.is-open .card,.dialog,.app.show-summary .summary,.stat-value.is-bumped,.choice.is-wrong{animation:none!important}}.board-frame{padding:0 var(--frame-pad) var(--frame-pad);border:1px solid var(--board-border);border-radius:var(--radius-lg);background:var(--board-bg);box-shadow:var(--board-shadow);position:relative}.col-labels{grid-template-columns:repeat(var(--cols), var(--cell-w));height:var(--label-h);align-items:center;display:grid}.col-labels span{font-family:var(--font-display);text-align:center;color:var(--text-faint);font-size:12px;font-weight:600}.board{width:calc(var(--cols) * var(--cell-w));height:calc((var(--rows) + 1) * var(--cell-h));position:relative}.board:after{z-index:8;background:var(--board-overlay);pointer-events:none;content:"";position:absolute;top:0;bottom:0;left:0;right:0}.board-grid{top:var(--cell-h);background-image:linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), linear-gradient(180deg, var(--grid-line) 1px, transparent 1px);background-size:var(--cell-w) var(--cell-h);box-shadow:inset -1px -1px 0 var(--grid-line);position:absolute;bottom:0;left:0;right:0}.spawn-marks{grid-template-columns:repeat(var(--cols), var(--cell-w));width:100%;height:var(--cell-h);background:var(--spawn-bg);display:grid;position:absolute;top:0;left:0}.spawn-mark{margin:var(--tile-gap);border-radius:var(--tile-radius);transition:background-color .2s,box-shadow .2s}.spawn-mark.is-warn{background:var(--danger-soft)}.spawn-mark.is-full{background:repeating-linear-gradient(-45deg, var(--danger-soft) 0 4px, transparent 4px 8px);box-shadow:inset 0 0 0 1.5px var(--danger)}.danger-line{top:calc(var(--cell-h) - 1px);z-index:3;background:repeating-linear-gradient(90deg, var(--danger) 0 10px, transparent 10px 17px);opacity:.5;pointer-events:none;height:2px;position:absolute;left:-4px;right:-4px}.danger-line span{font-family:var(--font-display);letter-spacing:.12em;color:var(--danger);font-size:11px;font-weight:700;position:absolute;bottom:4px;right:8px}.board.is-danger .danger-line{opacity:1;animation:1.2s ease-in-out infinite danger-pulse}@keyframes danger-pulse{50%{opacity:.4}}.tile-layer{position:absolute;top:0;bottom:0;left:0;right:0}.tile{width:var(--cell-w);height:var(--cell-h);padding:var(--tile-gap);position:absolute;top:0;left:0}.tile-face{border:1px solid var(--face-edge);border-radius:var(--tile-radius);background-color:var(--face-color);background-image:var(--face-pattern,none), var(--face-veil), var(--face-gloss);width:100%;height:100%;box-shadow:var(--face-shadow);color:var(--face-ink);font-family:var(--font-tile);font-size:calc(var(--tile-font) * var(--ui-size,1));font-weight:var(--tile-weight);letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap;place-items:center;line-height:1;display:grid}.tile-locked{--face-color:var(--tile-color);--face-ink:var(--tile-text);--face-edge:var(--tile-edge);--face-gloss:var(--tile-gloss);--face-shadow:var(--tile-shadow);--face-veil:var(--tile-veil);transform:translate(calc(var(--c) * var(--cell-w)), calc((var(--r) + 1) * var(--cell-h)))}.tile-active{--face-color:var(--active-color);--face-ink:var(--active-ink);--face-edge:var(--active-edge);--face-gloss:var(--active-gloss);--face-shadow:var(--active-shadow);--face-veil:none;z-index:5;will-change:transform}.tile-active.is-long .tile-face{font-size:calc(var(--tile-font) * var(--ui-size,1) * .84);letter-spacing:-.02em}.tile[data-group=alkali-metal]{--tile-color:var(--g-alkali-metal)}.tile[data-group=alkaline-earth-metal]{--tile-color:var(--g-alkaline-earth-metal)}.tile[data-group=transition-metal]{--tile-color:var(--g-transition-metal)}.tile[data-group=post-transition-metal]{--tile-color:var(--g-post-transition-metal)}.tile[data-group=metalloid]{--tile-color:var(--g-metalloid)}.tile[data-group=nonmetal]{--tile-color:var(--g-nonmetal)}.tile[data-group=halogen]{--tile-color:var(--g-halogen)}.tile[data-group=noble-gas]{--tile-color:var(--g-noble-gas)}.tile[data-group=lanthanide]{--tile-color:var(--g-lanthanide);--face-pattern:var(--f-block-pattern)}.tile[data-group=actinide]{--tile-color:var(--g-actinide);--face-pattern:var(--f-block-pattern)}.app[data-phase=GAME_OVER] .tile-locked{cursor:pointer}.tile-locked.is-inspected .tile-face{outline:2px solid var(--text);outline-offset:1px}.tile-active.is-spawning .tile-face{animation:.16s ease-out tile-spawn}.tile-active.is-blocked .tile-face{border-color:var(--danger);box-shadow:var(--face-shadow), 0 0 0 2px var(--danger);animation:.42s ease-in-out infinite alternate blocked-pulse}.tile-active.is-clearing .tile-face{animation:.16s ease-out forwards tile-clear}.tile-locked.is-new .tile-face{transform-origin:50% 100%;animation:.3s ease-out tile-lock}.tile-active.is-topout .tile-face{background-color:var(--danger);color:#fff;animation:.36s ease-in-out 2 tile-shake}@keyframes tile-spawn{0%{opacity:0;transform:translateY(-35%)scale(.85)}}@keyframes blocked-pulse{to{box-shadow:var(--face-shadow), 0 0 0 2px var(--danger), 0 0 22px var(--danger)}}@keyframes tile-clear{0%{background-color:var(--good);opacity:1;transform:scale(1)}to{background-color:var(--good);opacity:0;transform:scale(1.45)}}@keyframes tile-lock{0%{border-color:var(--active-edge);background-color:var(--active-color);color:var(--active-ink);transform:scale(1.1,.78)}40%{transform:scale(.96,1.06)}70%{transform:scale(1.01,.99)}to{transform:none}}@keyframes tile-shake{20%{transform:translate(-12%)}40%{transform:translate(12%)}60%{transform:translate(-8%)}80%{transform:translate(8%)}}.drop-guide{z-index:1;background:repeating-linear-gradient(180deg, var(--guide) 0 5px, transparent 5px 10px);opacity:.55;pointer-events:none;width:2px;position:absolute;top:0;left:0}.drop-guide:after{border-right:2px solid var(--guide);border-bottom:2px solid var(--guide);content:"";width:8px;height:8px;position:absolute;bottom:0;left:50%;transform:translate(-50%)rotate(45deg)}.landing-ghost{z-index:1;width:var(--cell-w);height:var(--cell-h);padding:var(--tile-gap);pointer-events:none;position:absolute;top:0;left:0}.landing-ghost:before{border:1.5px dashed var(--guide);border-radius:var(--tile-radius);opacity:.5;content:"";width:100%;height:100%;display:block}.board-toast{z-index:9;border:1px solid var(--stat-speed);background:var(--panel-solid);color:var(--stat-speed);font-family:var(--font-display);letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;border-radius:999px;padding:6px 18px;font-size:1.55rem;font-weight:700;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #00000059}.board-toast.show{animation:1.3s ease-out forwards toast}@keyframes toast{0%{opacity:0;transform:translate(-50%,-20%)scale(.9)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}22%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-85%)}}.tile-info{top:var(--y);left:var(--x);z-index:10;border:1px solid var(--panel-border);background:var(--panel-solid);white-space:nowrap;color:var(--text-dim);pointer-events:none;border-radius:10px;flex-direction:column;gap:2px;padding:8px 11px;font-size:.86rem;line-height:1.3;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 10px 30px #00000059}.tile-info[data-side=right]{transform:translate(-16%,calc(-100% - 8px))}.tile-info[data-side=left]{transform:translate(-84%,calc(-100% - 8px))}.tile-info strong{color:var(--text);font-size:1.02rem}@media (prefers-reduced-motion:reduce){.tile-active.is-spawning .tile-face{animation:.12s ease-out fade-in}.tile-active.is-clearing .tile-face{animation:.12s ease-out forwards fade-out}.tile-locked.is-new .tile-face{animation:.16s ease-out lock-color}.tile-active.is-topout .tile-face,.tile-active.is-blocked .tile-face,.board.is-danger .danger-line{animation:none}.tile-active.is-blocked .tile-face{box-shadow:var(--face-shadow), 0 0 0 2px var(--danger)}.board-toast.show{animation:1.2s linear forwards toast-fade}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes lock-color{0%{background-color:var(--active-color);color:var(--active-ink)}}@keyframes toast-fade{0%,to{opacity:0}10%,80%{opacity:1}}
