@import"https://fonts.googleapis.com/css2?family=Krona+One&family=Work+Sans:wght@300;400;500;600&display=swap";:root{color-scheme:light;--bg-start: #fff7ea;--bg-mid: #f2ede4;--bg-end: #e8e0d6;--ink: #3b352f;--muted: #7d746b;--page-pad: clamp(14px, 3vw, 28px);--safe-top: env(safe-area-inset-top);--safe-right: env(safe-area-inset-right);--safe-bottom: env(safe-area-inset-bottom);--safe-left: env(safe-area-inset-left);--tile-bg: rgba(255, 255, 255, .4);--tile-hover: rgba(255, 255, 255, .5);--tile-border: rgba(30, 27, 23, .12);--accent: #b06b4a;--loop: #3aa66a;--loop-soft: rgba(255, 255, 255, .75);--tile-solved-bg: rgba(255, 255, 255, 1);--board-bg: rgba(255, 255, 255, .6);--tile-size: clamp(34px, 6vw, 68px);--font-body: "Work Sans", "Helvetica Neue", Arial, sans-serif;--font-heading: "Krona One", "Helvetica Neue", Arial, sans-serif}:root[data-theme=neumorphic]{--bg-start: #edf1f6;--bg-mid: #e7ecf2;--bg-end: #dfe5ec;--ink: #3a4653;--muted: #7a8796;--accent: #8b9dad;--loop: #8c9aa7;--loop-soft: rgba(255, 255, 255, .88);--tile-bg: #e3e9f0;--tile-hover: #eef2f6;--tile-border: rgba(120, 130, 140, .06);--tile-solved-bg: #f1f4f7;--neu-surface: #e7ecf2;--neu-surface-hi: #f2f6fa;--neu-surface-lo: #dbe1e8;--neu-surface-grad: linear-gradient(145deg, var(--neu-surface-hi), var(--neu-surface-lo));--neu-surface-grad-soft: linear-gradient(145deg, #f4f7fb, #e2e7ee);--board-bg: var(--neu-surface);--page-noise: .01;--neu-shadow: 12px 12px 22px rgba(60, 71, 83, .18), -12px -12px 22px rgba(255, 255, 255, .5);--neu-shadow-soft: 6px 6px 12px rgba(60, 71, 83, .16), -6px -6px 12px rgba(255, 255, 255, .5);--neu-shadow-inset: inset 6px 6px 12px rgba(60, 71, 83, .18), inset -6px -6px 12px rgba(255, 255, 255, .45);--neu-shadow-inset-soft: inset 3px 3px 6px rgba(60, 71, 83, .16), inset -3px -3px 6px rgba(255, 255, 255, .5);--surface-bg: var(--neu-surface-grad);--surface-shadow: var(--neu-shadow);--surface-border: none;--surface-backdrop: none;--control-bg: var(--neu-surface-grad-soft);--control-shadow: var(--neu-shadow-inset-soft);--control-border: none;--control-backdrop: none;--control-hover-bg: var(--neu-surface-grad-soft);--control-hover-shadow: var(--neu-shadow-inset);--control-active-bg: var(--neu-surface-grad-soft);--control-active-shadow: var(--neu-shadow-inset);--button-bg: var(--neu-surface-grad);--button-shadow: var(--neu-shadow-soft);--button-border: none;--button-text: var(--ink);--button-hover-bg: var(--neu-surface-grad);--button-hover-shadow: var(--neu-shadow-inset-soft);--button-hover-border: none;--tile-face-bg: var(--neu-surface-grad-soft);--tile-face-shadow: var(--neu-shadow-inset-soft);--tile-face-hover-bg: var(--neu-surface-grad-soft);--tile-face-hover-shadow: var(--neu-shadow-inset);--tile-empty-bg: var(--board-bg);--tile-empty-shadow: none}:root[data-theme=night-1]{--bg-start: #000000;--bg-mid: #000000;--bg-end: #000000;--ink: #d2d2d2;--muted: #a5a5a5;--accent: #d2d2d2;--loop: #dedede;--loop-soft: rgba(255, 255, 255, .22);--tile-bg: #1a1a1a;--tile-hover: #202020;--tile-border: rgba(255, 255, 255, .12);--tile-solved-bg: #272727;--board-bg: #000000;--page-noise: 0;--surface-bg: #181818;--surface-shadow: none;--surface-border: 1px solid #2b2b2b;--control-bg: #1e1e1e;--control-shadow: none;--control-border: 1px solid #353535;--control-hover-bg: #242424;--control-hover-shadow: none;--control-active-bg: #2a2a2a;--control-active-shadow: none;--button-bg: #1e1e1e;--button-shadow: none;--button-border: 1px solid #353535;--button-text: var(--ink);--button-hover-bg: #2a2a2a;--button-hover-shadow: none;--button-hover-border: 1px solid #404040;--tile-face-bg: #1d1d1d;--tile-face-shadow: inset 0 0 0 1px #2d2d2d;--tile-face-hover-bg: #242424;--tile-face-hover-shadow: inset 0 0 0 1px #363636;--tile-empty-bg: #000000;--tile-empty-shadow: none;--install-icon-filter: brightness(.62) saturate(.8);--install-icon-bg: #1a1a1a}:root[data-theme=night-2]{--bg-start: #000000;--bg-mid: #000000;--bg-end: #000000;--ink: #a4a4a4;--muted: #787878;--accent: #a4a4a4;--loop: #b0b0b0;--loop-soft: rgba(255, 255, 255, .14);--tile-bg: #111111;--tile-hover: #161616;--tile-border: rgba(255, 255, 255, .08);--tile-solved-bg: #1d1d1d;--board-bg: #000000;--page-noise: 0;--surface-bg: #0f0f0f;--surface-shadow: none;--surface-border: 1px solid #1f1f1f;--control-bg: #151515;--control-shadow: none;--control-border: 1px solid #2a2a2a;--control-hover-bg: #1a1a1a;--control-hover-shadow: none;--control-active-bg: #1f1f1f;--control-active-shadow: none;--button-bg: #151515;--button-shadow: none;--button-border: 1px solid #2a2a2a;--button-text: var(--ink);--button-hover-bg: #1f1f1f;--button-hover-shadow: none;--button-hover-border: 1px solid #353535;--tile-face-bg: #141414;--tile-face-shadow: inset 0 0 0 1px #222222;--tile-face-hover-bg: #1a1a1a;--tile-face-hover-shadow: inset 0 0 0 1px #2b2b2b;--tile-empty-bg: #000000;--tile-empty-shadow: none;--install-icon-filter: brightness(.58) saturate(.78);--install-icon-bg: #101010}:root[data-theme=night-3]{--bg-start: #000000;--bg-mid: #000000;--bg-end: #000000;--ink: #7a7a7a;--muted: #545454;--accent: #7a7a7a;--loop: #848484;--loop-soft: rgba(255, 255, 255, .08);--tile-bg: #090909;--tile-hover: #0e0e0e;--tile-border: rgba(255, 255, 255, .05);--tile-solved-bg: #141414;--board-bg: #000000;--page-noise: 0;--surface-bg: #080808;--surface-shadow: none;--surface-border: 1px solid #141414;--control-bg: #0d0d0d;--control-shadow: none;--control-border: 1px solid #1f1f1f;--control-hover-bg: #101010;--control-hover-shadow: none;--control-active-bg: #131313;--control-active-shadow: none;--button-bg: #0d0d0d;--button-shadow: none;--button-border: 1px solid #1f1f1f;--button-text: var(--ink);--button-hover-bg: #131313;--button-hover-shadow: none;--button-hover-border: 1px solid #2a2a2a;--tile-face-bg: #0d0d0d;--tile-face-shadow: inset 0 0 0 1px #171717;--tile-face-hover-bg: #111111;--tile-face-hover-shadow: inset 0 0 0 1px #202020;--tile-empty-bg: #000000;--tile-empty-shadow: none;--install-icon-filter: brightness(.54) saturate(.76);--install-icon-bg: #080808}:root[data-theme=clay]{--bg-start: #f6e7da;--bg-mid: #f1ddcd;--bg-end: #e7d0c0;--ink: #5b463c;--muted: #8a6f62;--accent: #d27a5c;--loop: #7bb38f;--loop-soft: rgba(255, 255, 255, .82);--tile-bg: #f3e4d7;--tile-hover: #f9ede3;--tile-border: rgba(140, 90, 70, .18);--tile-solved-bg: #fff6ef;--board-bg: #f3e4d7;--page-noise: .04;--surface-bg: linear-gradient(145deg, #f9efe6, #ead4c6);--surface-shadow: 12px 12px 24px rgba(161, 110, 84, .3), -10px -10px 20px rgba(255, 255, 255, .75);--surface-border: none;--control-bg: linear-gradient(145deg, #fbeee4, #f0dbcd);--control-shadow: inset 4px 4px 8px rgba(163, 112, 86, .25), inset -4px -4px 8px rgba(255, 255, 255, .7);--control-border: none;--control-hover-bg: linear-gradient(145deg, #fff3ea, #f2dccf);--control-hover-shadow: inset 6px 6px 12px rgba(163, 112, 86, .25), inset -6px -6px 12px rgba(255, 255, 255, .7);--control-active-bg: linear-gradient(145deg, #f0d6c7, #e7c9b7);--control-active-shadow: inset 6px 6px 12px rgba(163, 112, 86, .3), inset -6px -6px 12px rgba(255, 255, 255, .6);--button-bg: linear-gradient(145deg, #f6e3d6, #ebd3c5);--button-shadow: 8px 8px 16px rgba(165, 112, 87, .25), -6px -6px 12px rgba(255, 255, 255, .75);--button-border: none;--button-text: var(--ink);--button-hover-bg: linear-gradient(145deg, #f2dacb, #e6cbbb);--button-hover-shadow: inset 4px 4px 8px rgba(165, 112, 87, .25), inset -4px -4px 8px rgba(255, 255, 255, .75);--button-hover-border: none;--tile-face-bg: linear-gradient(145deg, #f6e7dc, #edd6c8);--tile-face-shadow: inset 3px 3px 6px rgba(165, 112, 87, .2), inset -3px -3px 6px rgba(255, 255, 255, .7);--tile-face-hover-bg: linear-gradient(145deg, #f9ede4, #efd9cb);--tile-face-hover-shadow: inset 5px 5px 10px rgba(165, 112, 87, .22), inset -5px -5px 10px rgba(255, 255, 255, .75);--tile-empty-bg: var(--board-bg);--tile-empty-shadow: none}:root[data-theme=glass]{--bg-start: #0b1324;--bg-mid: #101c33;--bg-end: #182a4a;--ink: #e9f2ff;--muted: #b3c5e0;--accent: #6ad5ff;--loop: #a77bff;--loop-soft: rgba(255, 255, 255, .9);--tile-bg: rgba(255, 255, 255, .14);--tile-hover: rgba(255, 255, 255, .22);--tile-border: rgba(255, 255, 255, .08);--tile-solved-bg: rgba(255, 255, 255, .28);--board-bg: rgba(255, 255, 255, .12);--page-noise: .02;--surface-bg: rgba(255, 255, 255, .12);--surface-shadow: 0 20px 45px rgba(5, 12, 25, .45), 0 0 30px rgba(103, 180, 255, .25);--surface-border: 1px solid rgba(255, 255, 255, .28);--surface-backdrop: blur(18px) saturate(140%);--control-bg: rgba(255, 255, 255, .16);--control-shadow: 0 10px 22px rgba(0, 0, 0, .35);--control-border: 1px solid rgba(255, 255, 255, .25);--control-backdrop: blur(14px) saturate(140%);--control-hover-bg: rgba(255, 255, 255, .2);--control-hover-shadow: 0 12px 24px rgba(0, 0, 0, .4);--control-active-bg: rgba(255, 255, 255, .22);--control-active-shadow: 0 12px 26px rgba(0, 0, 0, .45);--active-outline: rgba(255, 255, 255, .45);--active-glow: rgba(106, 213, 255, .35);--button-bg: rgba(255, 255, 255, .18);--button-shadow: 0 12px 22px rgba(0, 0, 0, .4), 0 0 18px rgba(120, 200, 255, .3);--button-border: 1px solid rgba(255, 255, 255, .32);--button-text: var(--ink);--button-hover-bg: rgba(255, 255, 255, .22);--button-hover-shadow: 0 10px 20px rgba(0, 0, 0, .4), 0 0 26px rgba(166, 110, 255, .35);--button-hover-border: 1px solid rgba(255, 255, 255, .35);--tile-face-bg: rgba(255, 255, 255, .18);--tile-face-shadow: none;--tile-face-hover-bg: rgba(255, 255, 255, .25);--tile-face-hover-shadow: 0 8px 18px rgba(0, 0, 0, .35);--tile-empty-bg: rgba(255, 255, 255, .08);--tile-empty-shadow: none}:root[data-theme=brutalist]{--bg-start: #f6f4ef;--bg-mid: #ffffff;--bg-end: #ede7de;--ink: #111111;--muted: #4a4a4a;--accent: #ff5a1f;--loop: #111111;--loop-soft: rgba(255, 255, 255, .7);--tile-bg: #f3f0ea;--tile-hover: #ece6db;--tile-border: #111111;--tile-solved-bg: #ffffff;--board-bg: #ffffff;--page-noise: 0;--surface-bg: #ffffff;--surface-shadow: none;--surface-border: 2px solid var(--ink);--control-bg: #ffffff;--control-shadow: none;--control-border: 2px solid var(--ink);--control-hover-bg: #ffffff;--control-hover-shadow: none;--control-active-bg: var(--accent);--control-active-shadow: none;--button-bg: var(--ink);--button-shadow: none;--button-border: 2px solid var(--ink);--button-text: #ffffff;--button-hover-bg: var(--accent);--button-hover-shadow: none;--button-hover-border: 2px solid var(--ink);--tile-face-bg: #f3f0ea;--tile-face-shadow: inset 0 0 0 2px #111111;--tile-face-hover-bg: #ece6db;--tile-face-hover-shadow: inset 0 0 0 2px #111111;--tile-empty-bg: #ffffff;--tile-empty-shadow: none}:root[data-theme=crt]{--bg-start: #07110d;--bg-mid: #0b1b14;--bg-end: #0f2219;--ink: #b8ffd6;--muted: #6dbf92;--accent: #21ff8a;--loop: #2cff9a;--loop-soft: rgba(33, 255, 138, .18);--tile-bg: #0f2218;--tile-hover: #122c1f;--tile-border: rgba(60, 255, 160, .25);--tile-solved-bg: #143022;--board-bg: #0d1b15;--page-noise: .06;--surface-bg: #0d1b15;--surface-shadow: 0 12px 24px rgba(0, 0, 0, .6), inset 0 0 0 1px rgba(10, 255, 140, .08);--surface-border: 1px solid rgba(60, 255, 160, .2);--control-bg: #0b1913;--control-shadow: inset 0 0 0 1px rgba(10, 255, 140, .1);--control-border: 1px solid rgba(60, 255, 160, .25);--control-hover-bg: #0f2218;--control-hover-shadow: 0 0 12px rgba(33, 255, 138, .22);--control-active-bg: #122c1f;--control-active-shadow: 0 0 16px rgba(33, 255, 138, .3);--button-bg: #0f2218;--button-shadow: 0 8px 16px rgba(0, 0, 0, .6);--button-border: 1px solid rgba(60, 255, 160, .25);--button-text: #b8ffd6;--button-hover-bg: #112a1e;--button-hover-shadow: 0 0 18px rgba(40, 255, 150, .25);--button-hover-border: 1px solid rgba(60, 255, 160, .35);--tile-face-bg: #0f2218;--tile-face-shadow: inset 0 0 0 1px rgba(60, 255, 160, .15);--tile-face-hover-bg: #122c1f;--tile-face-hover-shadow: 0 0 12px rgba(40, 255, 150, .25);--tile-empty-bg: #0a1711;--tile-empty-shadow: none}:root[data-theme=blueprint]{--bg-start: #081b33;--bg-mid: #0d2340;--bg-end: #123055;--ink: #d5e8ff;--muted: #8eb2d8;--accent: #5cc0ff;--loop: #7fd0ff;--loop-soft: rgba(92, 192, 255, .18);--tile-bg: #0c2343;--tile-hover: #0f2b52;--tile-border: rgba(120, 190, 255, .35);--tile-solved-bg: #13335f;--board-bg: #0f2a4f;--page-noise: 0;--surface-bg: #0f2a4f;--surface-shadow: 0 18px 30px rgba(5, 15, 30, .45);--surface-border: 1px solid rgba(120, 190, 255, .4);--control-bg: #0d2546;--control-shadow: inset 0 0 0 1px rgba(90, 160, 220, .2);--control-border: 1px solid rgba(120, 190, 255, .35);--control-hover-bg: #0f2d55;--control-hover-shadow: 0 0 14px rgba(92, 192, 255, .25);--control-active-bg: #103460;--control-active-shadow: 0 0 18px rgba(92, 192, 255, .35);--button-bg: #102d55;--button-shadow: 0 8px 16px rgba(5, 15, 30, .5);--button-border: 1px solid rgba(120, 190, 255, .45);--button-text: var(--ink);--button-hover-bg: #123462;--button-hover-shadow: 0 0 18px rgba(92, 192, 255, .35);--button-hover-border: 1px solid rgba(120, 190, 255, .55);--tile-face-bg: #0c2343;--tile-face-shadow: inset 0 0 0 1px rgba(100, 170, 230, .2);--tile-face-hover-bg: #0f2b52;--tile-face-hover-shadow: 0 0 10px rgba(90, 180, 255, .25);--tile-empty-bg: #0b1f3b;--tile-empty-shadow: none}:root[data-theme=paper]{--bg-start: #f7f1e8;--bg-mid: #f1e7da;--bg-end: #e6d8c8;--ink: #4c3a2f;--muted: #7a6556;--accent: #c26e4a;--loop: #9b6f55;--loop-soft: rgba(255, 255, 255, .85);--tile-bg: #fff7ec;--tile-hover: #fff1e4;--tile-border: rgba(140, 110, 90, .2);--tile-solved-bg: #fffdf8;--board-bg: #fffaf2;--page-noise: .12;--surface-bg: #fffaf2;--surface-shadow: 0 2px 0 #e6d7c6, 0 16px 28px rgba(92, 70, 50, .18);--surface-border: 1px solid #e6d7c6;--control-bg: #fff5ea;--control-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);--control-border: 1px solid #e3d2c2;--control-hover-bg: #fff0e0;--control-hover-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8);--control-active-bg: #ffe8d6;--control-active-shadow: inset 0 0 0 1px rgba(255, 255, 255, .8);--button-bg: #fff4e6;--button-shadow: 0 4px 0 #e4d4c4, 0 12px 20px rgba(90, 70, 50, .15);--button-border: 1px solid #dfcdbd;--button-text: var(--ink);--button-hover-bg: #fff0e0;--button-hover-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);--button-hover-border: 1px solid #dfcdbd;--tile-face-bg: #fff7ec;--tile-face-shadow: inset 0 0 0 1px rgba(233, 210, 193, .9);--tile-face-hover-bg: #fff1e4;--tile-face-hover-shadow: 0 6px 12px rgba(90, 70, 50, .12);--tile-empty-bg: #f5eadf;--tile-empty-shadow: none}:root[data-theme=synthwave]{--bg-start: #120526;--bg-mid: #2a0b5a;--bg-end: #3e0f6e;--ink: #f6e8ff;--muted: #c4a9ff;--accent: #ff5fdb;--loop: #5ed1ff;--loop-soft: rgba(94, 209, 255, .2);--tile-bg: #2b0e5c;--tile-hover: #33116d;--tile-border: rgba(255, 95, 219, .25);--tile-solved-bg: #3a1276;--board-bg: #200a40;--page-noise: .02;--surface-bg: linear-gradient(145deg, #2a0f5a, #1b083b);--surface-shadow: 0 22px 50px rgba(3, 0, 20, .6), 0 0 30px rgba(255, 95, 219, .25);--surface-border: 1px solid rgba(255, 255, 255, .08);--control-bg: linear-gradient(145deg, #2f0f63, #210844);--control-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 0 18px rgba(94, 209, 255, .25);--control-border: 1px solid rgba(255, 255, 255, .08);--control-hover-bg: linear-gradient(145deg, #34106e, #24094b);--control-hover-shadow: 0 0 20px rgba(94, 209, 255, .35);--control-active-bg: linear-gradient(145deg, #3b127a, #2a0b55);--control-active-shadow: 0 0 26px rgba(255, 95, 219, .45);--button-bg: linear-gradient(145deg, #34106e, #23094b);--button-shadow: 0 12px 24px rgba(0, 0, 0, .55), 0 0 18px rgba(94, 209, 255, .35);--button-border: 1px solid rgba(255, 255, 255, .1);--button-text: #fff1ff;--button-hover-bg: linear-gradient(145deg, #3b127a, #2a0b55);--button-hover-shadow: 0 0 24px rgba(255, 95, 219, .45);--button-hover-border: 1px solid rgba(255, 255, 255, .16);--tile-face-bg: linear-gradient(145deg, #2b0e5c, #1c083c);--tile-face-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 0 10px rgba(94, 209, 255, .25);--tile-face-hover-bg: linear-gradient(145deg, #33116d, #22094a);--tile-face-hover-shadow: 0 0 16px rgba(255, 95, 219, .4);--tile-empty-bg: #1b083b;--tile-empty-shadow: none}:root[data-theme=botanical]{--bg-start: #eaf4ec;--bg-mid: #ddece1;--bg-end: #cfe3d4;--ink: #2f4a3a;--muted: #6b8a76;--accent: #6fae6d;--loop: #5a9b66;--loop-soft: rgba(255, 255, 255, .85);--tile-bg: #eef6ef;--tile-hover: #f4faf5;--tile-border: rgba(80, 120, 95, .18);--tile-solved-bg: #f6fbf7;--board-bg: #edf5ef;--page-noise: .03;--surface-bg: #edf5ef;--surface-shadow: 0 18px 30px rgba(46, 80, 60, .18), -6px -6px 14px rgba(255, 255, 255, .7);--surface-border: 1px solid rgba(80, 120, 95, .12);--control-bg: #f3f8f4;--control-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);--control-border: 1px solid rgba(80, 120, 95, .12);--control-hover-bg: #eef6ef;--control-hover-shadow: 0 10px 18px rgba(46, 80, 60, .18);--control-active-bg: #e4f0e6;--control-active-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);--button-bg: #e8f2ea;--button-shadow: 0 8px 16px rgba(46, 80, 60, .18);--button-border: 1px solid rgba(80, 120, 95, .12);--button-text: var(--ink);--button-hover-bg: #e1edde;--button-hover-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7);--button-hover-border: 1px solid rgba(80, 120, 95, .12);--tile-face-bg: #eef6ef;--tile-face-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);--tile-face-hover-bg: #f4faf5;--tile-face-hover-shadow: 0 8px 16px rgba(46, 80, 60, .16);--tile-empty-bg: #e5efe7;--tile-empty-shadow: none}:root[data-theme=low-poly]{--bg-start: #ff9a5c;--bg-mid: #ffd56b;--bg-end: #6fd0ff;--ink: #2b2d42;--muted: #5a5d74;--accent: #ff6b6b;--loop: #2d70ff;--loop-soft: rgba(255, 255, 255, .82);--tile-bg: #fff2df;--tile-hover: #ffe2c2;--tile-border: rgba(200, 120, 80, .2);--tile-solved-bg: #fff8ef;--board-bg: #fff2df;--page-noise: .02;--surface-bg: linear-gradient(135deg, #fff2e0, #ffe4c4);--surface-shadow: 0 20px 35px rgba(160, 80, 40, .25);--surface-border: none;--control-bg: linear-gradient(135deg, #fff6ea, #ffe9d2);--control-shadow: 0 10px 20px rgba(160, 80, 40, .18);--control-border: none;--control-hover-bg: linear-gradient(135deg, #ffe9d2, #ffd7b3);--control-hover-shadow: 0 12px 22px rgba(160, 80, 40, .25);--control-active-bg: linear-gradient(135deg, #ffd7b3, #ffc28e);--control-active-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);--button-bg: linear-gradient(135deg, #2d70ff, #4aa3ff);--button-shadow: 0 12px 24px rgba(45, 112, 255, .35);--button-border: none;--button-text: #ffffff;--button-hover-bg: linear-gradient(135deg, #ff6b6b, #ff8a5c);--button-hover-shadow: 0 12px 24px rgba(255, 107, 107, .35);--button-hover-border: none;--tile-face-bg: linear-gradient(135deg, #fff2df, #ffd8b7);--tile-face-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);--tile-face-hover-bg: linear-gradient(135deg, #ffe2c2, #ffcfa1);--tile-face-hover-shadow: 0 8px 18px rgba(160, 80, 40, .25);--tile-empty-bg: #ffe9d2;--tile-empty-shadow: none}:root[data-theme=ink]{--bg-start: #f7f4ef;--bg-mid: #eee7de;--bg-end: #e1d7cc;--ink: #2f2a24;--muted: #6b5c52;--accent: #3f3a34;--loop: #3a342c;--loop-soft: rgba(255, 255, 255, .8);--tile-bg: #f6f1eb;--tile-hover: #f0e9e1;--tile-border: rgba(47, 42, 36, .12);--tile-solved-bg: #fbf9f6;--board-bg: #f8f4ee;--page-noise: .08;--surface-bg: #f9f6f1;--surface-shadow: 0 14px 26px rgba(40, 32, 24, .18);--surface-border: 1px solid rgba(47, 42, 36, .08);--control-bg: #f5f1eb;--control-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);--control-border: 1px solid rgba(47, 42, 36, .1);--control-hover-bg: #f0e9e1;--control-hover-shadow: 0 8px 16px rgba(47, 42, 36, .18);--control-active-bg: #e9e1d7;--control-active-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);--button-bg: #2f2a24;--button-shadow: 0 10px 18px rgba(47, 42, 36, .25);--button-border: none;--button-text: #f8f4ee;--button-hover-bg: #3a342c;--button-hover-shadow: 0 8px 16px rgba(47, 42, 36, .3);--button-hover-border: none;--tile-face-bg: #f6f1eb;--tile-face-shadow: inset 0 0 0 1px rgba(47, 42, 36, .08);--tile-face-hover-bg: #f0e9e1;--tile-face-hover-shadow: 0 8px 16px rgba(47, 42, 36, .2);--tile-empty-bg: #efe7de;--tile-empty-shadow: none}html{-webkit-text-size-adjust:100%;overscroll-behavior:none}*{box-sizing:border-box}button{font-family:inherit;color:inherit;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}body{margin:0;font-family:var(--font-body);background:var(--bg-start);color:var(--ink);overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;touch-action:auto}img,svg{-webkit-user-drag:none;user-drag:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='80' height='80' filter='url(%23n)' opacity='0.4'/></svg>");opacity:var(--page-noise, .08);mix-blend-mode:normal;z-index:0}body.perf-mode:before{opacity:0}:root[data-theme^=night-] body:before{opacity:0}#root{min-height:100vh;min-height:100svh;min-height:100dvh;background:radial-gradient(circle at top,var(--bg-start) 0%,var(--bg-mid) 55%,var(--bg-end) 100%)}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100svh;min-height:100dvh;gap:16px;padding:calc(var(--page-pad) + var(--safe-top)) calc(var(--page-pad) + var(--safe-right)) calc(var(--page-pad) + var(--safe-bottom)) calc(var(--page-pad) + var(--safe-left));position:relative;z-index:1}.app:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;z-index:0}.app.is-home{gap:0}.home-screen{flex:1;display:flex;flex-direction:column;align-items:center;gap:clamp(18px,3.5vw,28px);padding:clamp(24px,6vw,48px) clamp(18px,5vw,48px);text-align:left}.home-stack{width:min(720px,100%);display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.home-title{margin:0;font-family:var(--font-heading);font-size:2rem;letter-spacing:.08em;text-align:center;line-height:1}.home-modes{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(10px,3vw,22px)}@media (max-width: 760px){.home-modes{grid-template-columns:1fr}}.home-bottom{margin-top:auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:left}.home-builder{width:min(100%,720px);margin:0 auto}.mode-card-builder{width:100%}.install-banner{--card-radius: 20px;--card-pad: 16px;width:min(720px,100%);background:var(--board-bg);border-radius:var(--card-radius);padding:var(--card-pad) 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 18px 40px #00000014}.analytics-banner{position:fixed;left:24px;right:24px;bottom:24px;background:var(--surface-bg, rgba(255, 255, 255, .94));border:1px solid rgba(30,27,23,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:16px 18px;box-shadow:0 20px 45px #0000002e;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:20}.analytics-banner-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.analytics-banner-title{margin:0;font-family:var(--font-heading);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.analytics-banner-note{margin:0;font-size:12px;color:var(--muted);max-width:520px}.analytics-banner-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 640px){.analytics-banner{left:12px;right:12px;bottom:12px;flex-direction:column;align-items:stretch}.analytics-banner-actions,.analytics-banner-actions .button{width:100%}}.install-lead{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.install-icon{width:92px;height:92px;border-radius:20px;overflow:hidden;flex-shrink:0;background:var(--install-icon-bg, var(--control-bg, rgba(255, 255, 255, .4)));border:var(--control-border, 1px solid rgba(0, 0, 0, .12));box-shadow:var(--control-shadow, none);display:grid;place-items:center}.install-icon img{width:100%;height:100%;object-fit:cover;filter:var(--install-icon-filter, none)}.install-copy{display:flex;flex-direction:column;gap:6px}.install-title{margin:0;font-family:var(--font-heading);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.install-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.install-tag{font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:var(--control-border, 1px solid rgba(0, 0, 0, .12));background:var(--control-bg, rgba(255, 255, 255, .4));color:var(--muted)}.install-note{margin:0;font-size:13px;color:var(--muted)}.install-platforms{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0}.install-platform{width:52px;height:52px;border-radius:14px;border:var(--control-border, 1px solid rgba(0, 0, 0, .12));background:var(--control-bg, rgba(255, 255, 255, .4));color:var(--ink);display:grid;place-items:center}.install-platform svg{width:32px;height:32px;display:block}.install-actions{display:flex;flex-wrap:wrap;gap:10px}.pwa-toast{--card-radius: 16px;--card-pad: 14px;position:fixed;right:24px;bottom:24px;z-index:30;background:#fffffff2;border-radius:var(--card-radius);padding:var(--card-pad) 16px;box-shadow:0 20px 50px #0003;border:1px solid rgba(0,0,0,.08);display:grid;gap:12px;max-width:320px}.pwa-toast-copy{display:flex;flex-direction:column;gap:6px}.pwa-toast-title{margin:0;font-family:var(--font-heading);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.pwa-toast-note{margin:0;font-size:13px;color:var(--muted)}.pwa-toast-actions{display:flex;flex-wrap:wrap;gap:10px}@media (max-width: 720px){.install-banner{flex-direction:column;align-items:center}.install-lead{width:100%;flex-direction:column;align-items:center;text-align:center}.install-icon{width:72px;height:72px;border-radius:18px}.install-copy{align-items:center;text-align:center}.install-title-row,.install-platforms{justify-content:center}.install-platform{width:44px;height:44px;border-radius:12px}.install-actions{width:100%}.pwa-toast{left:16px;right:16px;bottom:16px;max-width:none}}.mode-card{--card-radius: 20px;--card-pad: 18px;border:none;border-radius:var(--card-radius);padding:var(--card-pad);background:var(--board-bg);box-shadow:0 20px 45px #00000014;display:grid;grid-template-columns:1fr;gap:14px;min-height:220px;text-align:left;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:visible;align-items:center}.mode-card:hover{transform:translateY(-2px);box-shadow:0 22px 40px #0000001a;background:#ffffff2e}.mode-card:focus-visible{outline:3px solid #0b5bd3;outline-offset:3px}.mode-card:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.mode-card:disabled:hover{border-color:#1e1b1724}.mode-card-no-graphic .mode-graphic{display:none}.mode-card-no-graphic{min-height:auto}.mode-graphic{display:grid;place-items:center;border-radius:18px;background:#fff3;--block-size: clamp(90px, 16vw, 150px);color:var(--accent);width:100%;max-width:none;aspect-ratio:16 / 9;padding:clamp(14px,3vw,24px);justify-self:stretch;overflow:hidden}.mode-graphic svg{width:100%;height:100%;display:block;margin:0 auto}.mode-graphic .loader{--loader-size: calc(var(--block-size) * .75);--loader-size-half: calc(var(--loader-size) / 2);--loader-size-half-neg: calc(var(--loader-size-half) * -1);--light-color: color-mix(in srgb, currentColor 38%, transparent);--dot-size: clamp(8px, 1.4vw, 12px);--dot-size-half: calc(var(--dot-size) / 2);--dot-size-half-neg: calc(var(--dot-size-half) * -1);display:block;position:relative;width:var(--loader-size);aspect-ratio:1 / 1;display:grid;place-items:center}.mode-graphic-endless .loader,.mode-graphic-progression .loader{color:var(--ink)}.mode-graphic .loader:before,.mode-graphic .loader:after{content:"";position:absolute}.mode-graphic .loader--3{--loader-size: calc(var(--block-size) * .55);--stroke: 3px;--ring-radius: calc(var(--loader-size-half) - (var(--stroke) / 2));--anim-duration: 3s;border:var(--stroke) solid var(--light-color);border-radius:50%;animation:loader-3 calc(var(--anim-duration) * 3) linear infinite;box-sizing:border-box}.mode-graphic .loader--3:before,.mode-graphic .loader--3:after{width:var(--dot-size);aspect-ratio:1 / 1;background:currentColor;border-radius:50%;top:50%;left:50%;margin:var(--dot-size-half-neg);animation:loader-3-dot var(--anim-duration) ease-in-out infinite;transform-origin:center center;transform:rotate(0) translateY(calc(var(--ring-radius) * -1))}.mode-graphic .loader--3:after{animation-delay:calc(var(--anim-duration) / 3 * -1)}.mode-graphic .loader--8{--loader-size: calc(var(--block-size) * .55);--anim-duration: 2.2s;--spin-duration: 8s;border:3px dashed currentColor;border-radius:50%;perspective:50vmin;transform-style:preserve-3d;transform:rotateX(45deg) rotateY(15deg);animation:loader-8-spin var(--spin-duration) linear infinite}.mode-graphic .loader--8:before,.mode-graphic .loader--8:after{animation:loader-8 var(--anim-duration) cubic-bezier(.39,.24,0,.99) infinite}.mode-graphic .loader--8:before{--z-dist: 8vmin;width:var(--dot-size);aspect-ratio:1 / 1;background:currentColor;border-radius:50%;top:calc(50% - var(--dot-size-half));left:calc(50% - var(--dot-size-half));animation-delay:calc(var(--anim-duration) / 4 * -1)}.mode-graphic .loader--8:after{--z-dist: 4vmin;width:65%;aspect-ratio:1 / 1;border-radius:50%;border:3px solid var(--light-color)}@keyframes loader-3{to{transform:rotate(1turn)}}@keyframes loader-3-dot{0%{transform:rotate(0) translateY(calc(var(--ring-radius) * -1))}to{transform:rotate(1turn) translateY(calc(var(--ring-radius) * -1))}}@keyframes loader-8{0%,to{transform:translateZ(calc(var(--z-dist) * -1)) scale(.6)}55%{transform:translateZ(var(--z-dist))}}@keyframes loader-8-spin{0%{transform:rotateX(45deg) rotateY(15deg) rotate(0)}to{transform:rotateX(45deg) rotateY(15deg) rotate(360deg)}}.mode-content{align-items:flex-start;text-align:left}.mode-graphic-progression{color:color-mix(in srgb,var(--accent) 40%,var(--ink))}.mode-content{display:flex;flex-direction:column;gap:8px;justify-content:center}.mode-title{font-family:var(--font-heading);font-size:1.25rem;letter-spacing:.08em;text-transform:uppercase}.mode-copy{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.mode-badge{position:absolute;top:12px;right:14px;left:auto;padding:6px 12px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--font-heading);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;box-shadow:0 12px 24px #0000002e;z-index:2}.mode-card:disabled .mode-badge{background:#1e1b1780}@media (max-width: 640px){.mode-card{grid-template-columns:1fr}.mode-graphic{min-height:90px}}.home-footer{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--font-heading);color:var(--muted);opacity:.5}.home-icon{padding:8px 16px}.home-icon:focus-visible{outline:3px solid #0b5bd3;outline-offset:3px}.home-icon svg{width:20px;height:20px}.success-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0c0c0c99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:inherit;z-index:2;animation:success-scrim .5s ease-out both}.success-stack{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:2}.success-card{--card-radius: 20px;--card-pad: 24px;background:#ffffffeb;border-radius:var(--card-radius);padding:var(--card-pad);width:min(420px,90vw);text-align:center;box-shadow:0 30px 60px #0003;display:flex;flex-direction:column;gap:18px;position:relative;z-index:2;animation:success-card-in .52s ease-out both;animation-delay:.56s;opacity:0}.success-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.confetti-piece{position:absolute;left:var(--confetti-x, 50%);width:var(--confetti-size, 10px);height:calc(var(--confetti-size, 10px) * 1.4);background:var(--confetti-color, rgba(255, 255, 255, .9));border-radius:var(--confetti-radius, 2px);animation:confetti-fall var(--confetti-duration, 1.8s) ease-out forwards;animation-delay:var(--confetti-delay, 0ms)}.success-icon{display:grid;place-items:center;animation:success-in .5s ease-out both;animation-delay:.5s;opacity:0;margin-top:10px;margin-bottom:6px}.success-diamond{width:84px;height:84px;border-radius:20px;background:color-mix(in srgb,var(--accent) 28%,rgba(255,255,255,.96));transform:rotate(45deg);display:grid;place-items:center;position:relative;animation:success-diamond-in .9s cubic-bezier(.22,1,.36,1) both}.success-diamond svg{width:36px;height:36px;transform:rotate(-45deg);color:var(--accent-strong);position:relative;z-index:1}.success-title{margin:0;font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;animation:success-in .5s ease-out both;animation-delay:.7s;opacity:0}.success-unlock-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:18px;border:1px solid var(--tile-border);background:#ffffffeb;width:min(420px,90vw);box-shadow:0 20px 45px #0000002e;animation:success-in .5s ease-out both;animation-delay:.82s;opacity:0}.success-unlock-copy{display:flex;flex-direction:column;gap:2px;text-align:left}.success-unlock-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.success-unlock-name{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.success-unlock-cta{white-space:nowrap}.success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:4px}.success-action{animation:success-in .5s ease-out both;opacity:0}.success-action:nth-child(1){animation-delay:.9s}.success-action:nth-child(2){animation-delay:1.1s}@keyframes success-scrim{0%{opacity:0}to{opacity:1}}@keyframes success-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes success-card-in{0%{opacity:0;transform:translateY(18px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes success-breathe{0%,to{transform:rotate(45deg) scale(1)}50%{transform:rotate(45deg) scale(1.05)}}@keyframes success-diamond-in{0%{transform:rotate(45deg) scale(.8)}55%{transform:rotate(390deg) scale(1.05)}to{transform:rotate(405deg) scale(1)}}@keyframes confetti-fall{0%{transform:translate(var(--confetti-drift, 0px)) translateY(-30%) rotate(var(--confetti-rotate, 0deg));opacity:1}to{transform:translate(calc(var(--confetti-drift, 0px) * -.4)) translateY(920%) rotate(calc(var(--confetti-rotate, 0deg) + 200deg));opacity:0}}.top-controls{display:flex;flex-direction:column;gap:12px;align-items:center}.header-title-row{width:min(100%,1100px);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.header-title-spacer{width:52px;height:36px}.app-title{margin:0;font-family:var(--font-heading);font-size:2rem;letter-spacing:.08em;text-align:center;text-transform:none;line-height:1}.logo-text{display:inline-flex;align-items:baseline;gap:0;font-family:inherit;letter-spacing:inherit}.logo-word,.logo-mark{display:inline-block;font:inherit;letter-spacing:inherit}.logo-mark{font-size:.9em;position:relative;top:-.02em}.title-cta{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;line-height:1;display:inline-flex;align-items:center}.header-controls{width:min(100%,1100px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.header-level-inline{flex:1 1 240px;display:flex;justify-content:center;align-items:center;min-width:0}.level-toggle{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-family:var(--font-heading);font-size:11px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 24px #0000001f;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 16px 8px 24px;border-radius:999px;display:inline-flex;align-items:center;gap:12px;line-height:1}.level-toggle:hover{filter:brightness(1.05)}.level-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.level-toggle-label{display:inline-flex;align-items:center}.level-toggle-icon{position:relative;width:28px;height:28px;border-radius:50%;background:#ffffff2e;display:grid;place-items:center;flex:0 0 28px}.level-toggle-icon:before,.level-toggle-icon:after{content:"";position:absolute;left:7px;right:7px;height:2px;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .16s ease}.level-toggle-icon:before{top:8px}.level-toggle-icon:after{bottom:8px}.level-toggle-mid{position:absolute;left:7px;right:7px;top:50%;height:2px;border-radius:999px;background:currentColor;transform:translateY(-50%);transition:transform .22s ease,opacity .16s ease}.level-toggle.is-active .level-toggle-icon:before{top:50%;transform:translateY(-50%) rotate(45deg)}.level-toggle.is-active .level-toggle-icon:after{top:50%;bottom:auto;transform:translateY(-50%) rotate(-45deg)}.level-toggle.is-active .level-toggle-mid{opacity:0;transform:translateY(-50%) scaleX(.3)}.level-toggle.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.level-picker{width:100%;display:grid;justify-items:center;align-content:start;gap:16px}.level-picker-banner{width:min(100%,960px);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:18px;border:1px solid var(--tile-border);background:#ffffffd9;box-shadow:0 16px 30px #0000001f}.level-picker-banner-copy{display:grid;gap:4px}.level-picker-banner-title{margin:0;font-family:var(--font-heading);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.level-picker-banner-text{margin:0;font-size:12px;color:var(--muted)}.level-grid{width:min(100%,960px);display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:10px;padding:clamp(6px,2vw,16px)}.level-card{--card-radius: 18px;--card-pad: 0px;position:relative;border:1px solid var(--tile-border);background:#fffc;border-radius:var(--card-radius);aspect-ratio:1 / 1;display:grid;place-items:center;padding:var(--card-pad);font-family:var(--font-heading);font-size:14px;color:var(--ink);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .2s ease}.level-card:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.level-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.level-card[data-state=available]:hover,.level-card[data-state=complete]:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0000001f;background:#fff}.level-card[data-state=complete]{border-color:var(--accent);background:#fffffff2}.level-number{font-size:13px}.level-check{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 6px 12px #0000001f}.level-check svg{width:12px;height:12px}.level-theme-lock{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 6px 12px #0000001f}.level-theme-lock svg{width:11px;height:11px}.header-controls-bottom{align-items:center;width:min(100%,1100px);margin:0 auto}.header-actions-right{margin-left:auto;justify-content:flex-end;flex:0 0 auto}.header-controls-bottom .header-actions{flex:0 0 auto}.header-actions{display:flex;gap:12px;align-items:center;justify-content:flex-start;flex:1 1 260px}.header-audio{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex:1 1 220px}.audio-controls,.info-controls{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}.header-audio.audio-controls{justify-content:flex-end}@media (max-width: 720px){.header-controls{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.header-level-inline{flex:1 1 auto}.header-actions{justify-content:flex-start;width:auto;flex:0 0 auto}.header-actions-right{justify-content:flex-end}.header-audio{justify-content:flex-end;width:auto;flex:0 0 auto}.level-toggle{padding:6px 12px 6px 16px;font-size:10px;letter-spacing:.06em}.level-toggle-label{white-space:nowrap}.level-toggle-icon{width:24px;height:24px;flex:0 0 24px}.top-controls{gap:8px}}.noise-control{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-family:var(--font-heading)}.noise-control input[type=range]{accent-color:var(--accent);width:clamp(120px,26vw,200px)}.noise-value{min-width:36px;text-align:right}.theme-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding-top:6px}.theme-button{border:none;box-sizing:border-box;border-radius:14px;background:#fff;padding:10px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-heading);cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;min-width:0}.theme-button:focus{outline:none}.theme-button:focus-visible{outline:none;box-shadow:0 0 0 3px #0b5bd3,0 0 0 6px #fffc}.theme-button:hover{color:var(--accent);background:#ffffffd9;transform:none}.theme-button:disabled,.theme-button.is-locked{cursor:not-allowed;opacity:.55;background:#ffffffbf;color:var(--muted)}.theme-button:disabled:hover,.theme-button.is-locked:hover{color:var(--muted);background:#ffffffbf}.theme-button.is-locked .theme-lock{color:var(--muted)}.theme-button.is-active{background:var(--accent);color:#fff}.theme-button.is-random{background:var(--ink);color:#fff}.theme-button.is-active .theme-label{color:inherit}.theme-button.is-active .theme-swatch{border-color:#ffffff80}.theme-button-wide{width:100%}.theme-button.is-full{grid-column:1 / -1}.theme-button.is-neumorphic{justify-content:flex-start}.theme-group-title{grid-column:1 / -1;margin-top:10px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-family:var(--font-heading);color:var(--muted);opacity:.8;pointer-events:none}.theme-group-title--basic{margin-top:20px}.theme-group-header{grid-column:1 / -1;margin-top:32px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.theme-group-header .theme-group-title{margin-top:0}.theme-group-header--night{margin-top:28px}.theme-night-row{grid-column:1 / -1;display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}.theme-night-card{flex:1 1 0;min-width:180px}.theme-button.is-night{justify-content:center;gap:0;text-align:center}.theme-sleep{display:inline-flex;align-items:center;justify-content:center;width:100%;flex:0 0 auto;color:var(--ink)}.theme-sleep-optic{display:flex;align-items:center;justify-content:center;width:100%;padding:0}.sleep-z-stack{display:inline-flex;align-items:flex-end;justify-content:center;gap:2px;width:auto;height:22px;color:var(--ink)}.sleep-z{position:relative;font-family:var(--font-heading);text-transform:uppercase;line-height:1;opacity:.9}.sleep-z-1{font-size:10px;transform:translateY(0)}.sleep-z-2{font-size:12px;transform:translateY(-2px)}.sleep-z-3{font-size:14px;transform:translateY(-4px)}@media (max-width: 720px){.theme-night-row{flex-direction:column}.theme-night-card{flex:0 0 auto}.theme-button.is-night{padding:12px 14px;min-height:72px}.sleep-z-stack{height:18px;gap:2px}.sleep-z-1{font-size:9px}.sleep-z-2{font-size:11px;transform:translateY(-2px)}.sleep-z-3{font-size:13px;transform:translateY(-4px)}}.theme-group-note{font-size:11px;color:var(--muted);letter-spacing:.02em}.theme-button.is-unlockable{justify-content:space-between}.theme-lock{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-heading);color:var(--muted)}.theme-lock-icon{display:inline-flex;align-items:center;justify-content:center}.theme-lock-icon svg{width:16px;height:16px;display:block}:root[data-theme] .theme-button.is-active .theme-label,:root[data-theme] .theme-button.is-random .theme-label{color:var(--ink)}:root[data-theme] .theme-button.is-active .theme-lock,:root[data-theme] .theme-button.is-random .theme-lock{color:var(--ink)}@media (max-width: 720px){.theme-accordion.is-open{grid-template-columns:1fr}}.theme-label{text-align:left;flex:1;min-width:0;overflow-wrap:anywhere}.theme-label-hidden{display:none}.theme-swatches{display:inline-flex;gap:6px}.theme-swatches-night{align-items:center}.theme-swatches-night .theme-sleep{width:40px}.theme-swatch{width:1.5rem;height:1.5rem;border-radius:.55rem;border:1px solid rgba(0,0,0,.12);position:relative;overflow:hidden;background-clip:padding-box}.theme-swatch-random{background:conic-gradient(from 225deg,#f6d6a9,#f6d6a9 35%,#c8e6c9 35%,#d6dacb 65%,#f8bcd1 65%,#f8bcd1)}.label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-family:var(--font-heading)}.input{padding:8px 12px;border-radius:999px;border:1px solid var(--tile-border);background:#fff;font-size:14px;min-width:160px}.button{padding:8px 16px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:12px;cursor:pointer;font-family:var(--font-heading);display:inline-flex;align-items:center;justify-content:center}.button svg{width:20px;height:20px}.button:disabled{opacity:.5;cursor:not-allowed}.button.reset-spin svg{animation:reset-spin .42s ease;transform-origin:50% 50%}@keyframes reset-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button-ghost{background:transparent;color:var(--ink)}.button-ghost:hover{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{background:var(--accent);border-color:var(--accent)}.board-wrap{flex:1;overflow:hidden;padding:clamp(12px,3vw,24px);border-radius:clamp(18px,3vw,28px);background:var(--board-bg);box-shadow:0 20px 45px #00000014;position:relative;display:grid;place-items:center;width:min(100%,1100px);margin:0 auto}.board{--tile-gap: clamp(2px, .8vw, 6px);display:grid;gap:var(--tile-gap);margin:0 auto;width:100%;max-width:calc(var(--cols) * 68px + (var(--cols) - 1) * var(--tile-gap));grid-template-columns:repeat(var(--cols),minmax(0,1fr));justify-content:center}.button-icon{height:40px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;overflow:hidden}.button-icon svg{width:22px;height:22px}.tile{width:100%;aspect-ratio:1 / 1;height:auto;padding:0;border-radius:22%;border:none;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,background .22s ease;position:relative;touch-action:manipulation}.tile:hover{background:transparent}.tile-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22%;background:var(--tile-bg);transition:background .32s ease;transform-origin:center;opacity:1;z-index:0;will-change:transform}.tile:hover .tile-face{background:var(--tile-hover)}.tile.tile-flash,.tile.tile-flash:hover{box-shadow:none}.tile-blank{background:transparent;border-color:transparent;cursor:default;box-shadow:none}.tile-blank:hover{transform:none;box-shadow:none;background:transparent}.tile-blank .tile-face{display:block;background:#ffffff1a}.tile-blank:hover .tile-face{background:#ffffff1a}.tile-graphic{width:92%;height:92%;display:grid;place-items:center;transition:transform .2s ease;position:relative;z-index:1;will-change:transform}.tile-stroke{color:var(--ink);transition:color .22s ease;opacity:.8}.tile-stroke-complete{color:var(--loop);stroke-width:10;filter:none;opacity:1}.tile-flash{animation:tile-flash .9s ease-out}@keyframes tile-flash{0%{transform:scale(1)}30%{transform:scale(1.02)}to{transform:scale(1)}}.tile-complete{background:transparent;box-shadow:none}.tile-complete:hover{background:transparent}.tile-complete .tile-face,.tile-complete:hover .tile-face{background:var(--loop-soft)}.tile-pulse .tile-face{animation:tile-pulse .26s ease;animation-delay:var(--pulse-delay, 0ms);transition-delay:var(--pulse-delay, 0ms)}@keyframes tile-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.tile-wave .tile-face{animation:tile-wave .9s cubic-bezier(.22,.61,.36,1) both;animation-delay:var(--wave-delay, 0ms)}.tile-complete.tile-wave .tile-face{animation-name:tile-wave-complete}.tile-blank.tile-wave .tile-face{animation-name:tile-wave-blank;animation-duration:1s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}@keyframes tile-wave{0%{transform:scale(1);background:var(--tile-bg)}40%{transform:scale(1.06);background:var(--tile-bg)}to{transform:scale(1);background:var(--tile-solved-bg)}}@keyframes tile-wave-blank{0%{transform:scale(.96);background:#ffffff14;opacity:.45}45%{transform:scale(1.03);background:#ffffff52;opacity:.85}to{transform:scale(1);background:var(--tile-solved-bg);opacity:1}}@keyframes tile-wave-complete{0%{transform:scale(1);background:var(--loop-soft)}40%{transform:scale(1.06);background:var(--loop-soft)}to{transform:scale(1);background:var(--tile-solved-bg)}}.app.is-solved .tile-face{opacity:1;background:var(--tile-solved-bg)}.status-text{margin:0;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-family:var(--font-heading)}.sound-panel{display:flex;flex-direction:column;gap:10px;padding-top:10px}.sound-panel-title{margin:0;text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-family:var(--font-heading)}.sound-panel-grid{display:grid;grid-template-columns:repeat(10,minmax(32px,1fr));gap:8px;justify-content:center}.sound-button{padding:8px 0;border-radius:12px;border:1px solid var(--tile-border);background:#fffc;color:var(--ink);font-size:12px;cursor:pointer;transition:transform .12s ease,box-shadow .16s ease}.sound-button.is-selected{border-color:var(--ink);background:#1e1b1714}.sound-button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #0000001f}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#12100e66;display:grid;place-items:center;padding:24px;z-index:40}.modal{--card-radius: 20px;--card-pad: 24px;background:#fffdf9;border-radius:var(--card-radius);padding:var(--card-pad);max-width:520px;width:100%;box-shadow:0 20px 50px #0003;display:flex;flex-direction:column;gap:14px}.settings-panel{background:var(--board-bg);border-radius:20px;padding:24px;max-width:720px;width:min(100%,720px);margin:0 auto;box-shadow:0 20px 40px #00000014;display:flex;flex-direction:column;gap:16px}.floating-controls{--controls-top-pad: clamp(20px, 4vw, 36px);--controls-gap: 18px;display:flex;flex-direction:column;gap:var(--controls-gap);width:min(100%,720px);margin:0 auto;padding-top:var(--controls-top-pad)}.settings-title{margin:8px 0 10px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-family:var(--font-heading);color:var(--muted);text-align:center}.home-bottom .floating-controls{margin-top:14px}.settings-title{margin:0;font-size:20px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-heading)}.settings-section{display:flex;flex-direction:column;gap:10px}.player-card{--card-radius: 20px;--card-pad: 18px;background:var(--board-bg);border-radius:var(--card-radius);padding:var(--card-pad);display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 45px #00000014}.player-card.is-subcard{--subcard-pad: 12px;--card-pad: var(--subcard-pad);background:#ffffff73;box-shadow:none;padding:var(--subcard-pad);border-radius:calc(var(--card-radius) - var(--subcard-pad))}.player-main{display:flex;flex-direction:column;gap:12px}.player-info{display:flex;flex-direction:column;gap:6px;min-width:0}.player-label{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-family:var(--font-heading)}.player-title{margin:0;font-size:18px;font-weight:600;overflow-wrap:anywhere}.player-controls{display:flex;align-items:center;justify-content:center;gap:12px}@media (min-width: 900px){.player-card{gap:14px}.player-main{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}}.player-button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(30,27,23,.15);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.credits-footer{text-align:center;font-size:12px;color:var(--muted);font-family:var(--font-body);display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}.player-card .credits-footer{text-align:left;font-size:11px;gap:4px;margin-top:2px}.player-button svg{width:20px;height:20px}.player-button-main{width:54px;height:54px;background:var(--ink);color:#fff;border:none;position:relative}.player-button-main.is-loading svg{opacity:.25}.player-button-main.is-loading:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;border-top-color:transparent;animation:player-spin .7s linear infinite}.player-button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.player-button.player-button-main:hover{background:#fff;color:var(--ink)}@keyframes player-spin{to{transform:rotate(360deg)}}.modal-title{margin:0;font-size:20px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--font-heading)}.modal-subtitle{margin:0;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.modal-subtitle-spaced{margin:12px 0 10px}.modal-section+.modal-section{margin-top:14px}.theme-panel{display:flex;flex-direction:column;gap:10px}.theme-panel-card{--card-radius: 20px;--card-pad: 16px;background:var(--board-bg);border-radius:var(--card-radius);padding:var(--card-pad);display:flex;flex-direction:column;gap:10px;box-shadow:0 20px 45px #00000014}.sounds-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 640px){.sounds-controls{grid-template-columns:1fr}}.sound-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-radius:999px;border:none;background:#fff6;color:var(--ink);font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;font-size:11px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease;min-width:0;flex-wrap:wrap}.sound-pill:hover{transform:translateY(-1px);background:#fff9}.sound-pill.is-muted{opacity:.55}.sound-pill-label{font-size:11px;min-width:0;overflow-wrap:anywhere}.sound-meter{display:inline-flex;gap:6px;align-items:center}.sound-dot{width:10.5px;height:10.5px;border-radius:999px;background:#1e1b172e}.sound-dot.is-on{background:var(--accent)}.sounds-card.theme-panel-card{padding-top:14px;padding-bottom:16px}:root[data-theme] .board-wrap,:root[data-theme] .theme-panel-card,:root[data-theme] .player-card,:root[data-theme] .settings-panel,:root[data-theme] .mode-card,:root[data-theme] .success-card,:root[data-theme] .install-banner,:root[data-theme] .modal,:root[data-theme] .pwa-toast,:root[data-theme] .builder-panel{background:var(--surface-bg, var(--board-bg));box-shadow:var(--surface-shadow, 0 20px 45px rgba(0, 0, 0, .08));border:var(--surface-border, none);-webkit-backdrop-filter:var(--surface-backdrop, none);backdrop-filter:var(--surface-backdrop, none)}:root[data-theme] .theme-summary,:root[data-theme] .sound-pill,:root[data-theme] .theme-button,:root[data-theme] .input,:root[data-theme] .builder-number,:root[data-theme] .builder-seed-code,:root[data-theme] .builder-level-seed,:root[data-theme] .builder-level-item,:root[data-theme] .builder-seed-input{background:var(--control-bg, var(--board-bg));border:var(--control-border, none);box-shadow:var(--control-shadow, none);-webkit-backdrop-filter:var(--control-backdrop, none);backdrop-filter:var(--control-backdrop, none)}:root[data-theme] .button,:root[data-theme] .button-ghost{background:var(--button-bg, var(--board-bg));border:var(--button-border, none);color:var(--button-text, var(--ink));box-shadow:var(--button-shadow, none)}:root[data-theme] .button:hover,:root[data-theme] .button-ghost:hover{background:var(--button-hover-bg, var(--button-bg, var(--board-bg)));border:var(--button-hover-border, var(--button-border, none));color:var(--button-hover-text, var(--button-text, var(--ink)));box-shadow:var(--button-hover-shadow, var(--button-shadow, none))}:root[data-theme] .theme-button:hover,:root[data-theme] .sound-pill:hover{background:var(--control-hover-bg, var(--control-bg, var(--board-bg)));color:var(--ink);transform:none;box-shadow:var(--control-hover-shadow, var(--control-shadow, none))}:root[data-theme] .theme-button.is-active,:root[data-theme] .theme-button.is-random{background:var(--control-active-bg, var(--control-bg, var(--board-bg)));color:var(--ink);box-shadow:var(--control-active-shadow, var(--control-shadow, none)),0 0 0 1px var(--active-outline, transparent),0 0 18px var(--active-glow, transparent)}:root[data-theme] .player-button{background:var(--button-bg, var(--board-bg));border:var(--button-border, none);color:var(--button-text, var(--ink));box-shadow:var(--button-shadow, none)}:root[data-theme] .player-button:hover{background:var(--button-hover-bg, var(--button-bg, var(--board-bg)));border:var(--button-hover-border, var(--button-border, none));color:var(--button-hover-text, var(--button-text, var(--ink)));box-shadow:var(--button-hover-shadow, var(--button-shadow, none))}:root[data-theme] .player-button-main{background:var(--control-active-bg, var(--control-bg, var(--board-bg)));color:var(--control-active-text, var(--button-text, var(--ink)));box-shadow:var(--control-active-shadow, var(--control-shadow, none))}:root[data-theme] .player-card.is-subcard{background:var(--control-bg, var(--board-bg));box-shadow:var(--control-shadow, none)}:root[data-theme] .level-card{background:var(--control-bg, var(--board-bg));border:var(--control-border, none);box-shadow:var(--control-shadow, none)}:root[data-theme] .level-card[data-state=available]:hover,:root[data-theme] .level-card[data-state=complete]:hover{background:var(--control-hover-bg, var(--control-bg, var(--board-bg)));transform:translateY(0);box-shadow:var(--control-hover-shadow, var(--control-shadow, none))}:root[data-theme] .tile-face{background:var(--tile-face-bg, var(--tile-bg));box-shadow:var(--tile-face-shadow, none)}:root[data-theme] .tile:hover .tile-face{background:var(--tile-face-hover-bg, var(--tile-hover));box-shadow:var(--tile-face-hover-shadow, var(--tile-face-shadow, none))}:root[data-theme] .tile-blank .tile-face,:root[data-theme] .tile-blank:hover .tile-face{background:var(--tile-empty-bg, var(--board-bg));box-shadow:var(--tile-empty-shadow, none)}:root[data-theme=glass] .theme-button:focus-visible,:root[data-theme=glass] .sound-pill:focus-visible,:root[data-theme=glass] .button:focus-visible,:root[data-theme=glass] .button-ghost:focus-visible{box-shadow:0 0 0 2px #6ad5ff99,0 0 0 6px #a77bff66}:root[data-theme=brutalist] .theme-panel-card,:root[data-theme=brutalist] .player-card,:root[data-theme=brutalist] .board-wrap,:root[data-theme=brutalist] .settings-panel,:root[data-theme=brutalist] .mode-card,:root[data-theme=brutalist] .success-card,:root[data-theme=brutalist] .install-banner,:root[data-theme=brutalist] .modal,:root[data-theme=brutalist] .pwa-toast,:root[data-theme=brutalist] .builder-panel,:root[data-theme=brutalist] .theme-summary,:root[data-theme=brutalist] .sound-pill,:root[data-theme=brutalist] .theme-button,:root[data-theme=brutalist] .input,:root[data-theme=brutalist] .button,:root[data-theme=brutalist] .button-ghost,:root[data-theme=brutalist] .player-button{border-radius:6px}:root[data-theme=brutalist] .theme-button.is-active,:root[data-theme=brutalist] .theme-button.is-random{color:#fff}:root[data-theme=crt] body:before{background-image:linear-gradient(#07110d00 50%,#00000059 50%),linear-gradient(90deg,#21ff8a0f,#21ff8a05);background-size:100% 2px,3px 100%;opacity:.25;mix-blend-mode:screen}:root[data-theme=crt] .settings-title,:root[data-theme=crt] .theme-title,:root[data-theme=crt] .player-label,:root[data-theme=crt] .app-title{text-shadow:0 0 12px rgba(33,255,138,.35)}:root[data-theme=blueprint] body:before{background-image:linear-gradient(rgba(92,192,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(92,192,255,.08) 1px,transparent 1px);background-size:24px 24px;opacity:.35;mix-blend-mode:screen}:root[data-theme=synthwave] .settings-title,:root[data-theme=synthwave] .theme-title,:root[data-theme=synthwave] .player-label,:root[data-theme=synthwave] .app-title{text-shadow:0 0 18px rgba(255,95,219,.55),0 0 24px rgba(94,209,255,.45)}:root[data-theme=synthwave] .tile-stroke-complete{color:#b45cff}:root[data-theme=neumorphic] .tile-stroke-complete{color:#3a4653}.build-footer{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-family:var(--font-heading);color:var(--muted);opacity:.5;margin:calc(var(--controls-top-pad) - var(--controls-gap)) 0 22px}.build-footer-logo{width:clamp(140px,26vw,220px);height:26px;background-color:var(--muted);mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.theme-title{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-family:var(--font-heading)}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:none;border-radius:14px;padding:10px 12px;background:#fff6;flex-wrap:wrap;min-width:0}.dev-badge{position:fixed;top:12px;right:12px;z-index:99;font-family:var(--font-heading);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:#000000a6;color:#fff;border:1px solid rgba(255,255,255,.3);pointer-events:none}.theme-summary .theme-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em}.theme-accordion{display:grid;gap:10px;max-height:0;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden;margin:0;padding:0;transform:translateY(-6px);transition:max-height .26s ease,opacity .24s ease,transform .24s ease}.theme-accordion.is-open{max-height:2000px;opacity:1;transform:translateY(0);grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;pointer-events:auto;visibility:visible;margin-top:6px;padding-bottom:2px}@media (max-width: 768px){.theme-accordion.is-open{grid-template-columns:1fr}}.theme-toggle{align-self:flex-start}.theme-toggle-full{align-self:stretch;text-align:center;justify-content:center}.perf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.perf-copy{display:flex;flex-direction:column;gap:4px}.perf-label{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-family:var(--font-heading)}.perf-note{margin:0;font-size:12px;color:var(--muted)}.perf-toggle.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.modal-list{display:flex;flex-direction:column;gap:8px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.modal-item{margin:0;font-size:14px;color:var(--ink)}.modal-link{color:var(--ink);text-decoration:underline}.footer-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.footer-left,.footer-right{display:flex;align-items:center;gap:12px}@media (max-width: 900px){:root{--tile-size: min(14vw, 64px);--page-pad: 14px}.board-wrap{padding:12px}.sound-panel-grid{grid-template-columns:repeat(5,minmax(32px,1fr))}}@media (min-width: 900px){.board-wrap{padding:clamp(16px,2vw,26px) clamp(28px,6vw,72px)}}.app.is-perf .success-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.app.is-perf{--board-bg: rgba(255, 255, 255, .3)}.app.is-perf .success-confetti{display:none}.app.is-perf .tile-pulse .tile-face,.app.is-perf .tile-wave .tile-face,.app.is-perf .tile-flash,.app.is-perf .button.reset-spin svg,.app.is-perf .success-card,.app.is-perf .success-icon,.app.is-perf .success-diamond{animation:none}.app.is-perf .success-card,.app.is-perf .success-icon{opacity:1}.app.is-perf .board-wrap,.app.is-perf .player-card,.app.is-perf .theme-panel-card,.app.is-perf .settings-panel,.app.is-perf .modal{box-shadow:none}.builder-subhead{margin:0;font-size:14px;color:var(--muted);text-align:center}.builder-layout{width:min(100%,1200px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(16px,3vw,28px);align-items:start}.builder-board{width:100%}.builder-board-stack{width:100%;display:grid;gap:14px;justify-items:center}.builder-level-nav{display:inline-flex;align-items:center;gap:12px}.builder-level-title{pointer-events:none}.builder-level-title.is-missing{background:#b34a4f;border-color:#b34a4f;color:#fff;box-shadow:0 14px 26px #b34a4f4d}.builder-level-step{width:44px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.builder-level-step svg{width:18px;height:18px}.builder-panel{background:var(--board-bg);border-radius:clamp(18px,3vw,24px);padding:clamp(16px,3vw,24px);box-shadow:0 18px 40px #00000014;display:flex;flex-direction:column;gap:28px}.builder-footer{margin-top:clamp(16px,3vw,28px)}.builder-map-panel{width:100%}.builder-section{display:flex;flex-direction:column;gap:10px}.builder-section-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.builder-chip{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-heading);color:var(--accent)}.builder-seed-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.builder-seed-code,.builder-level-seed{padding:6px 12px;border-radius:999px;border:1px solid var(--tile-border);background:#fffc;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.builder-seed-input{flex:1 1 220px}.builder-seed-input:focus{outline:none;box-shadow:0 0 0 2px #0b5bd333}.builder-note{margin:0;font-size:12px;color:var(--muted)}.builder-sliders{gap:14px}.builder-slider{display:grid;gap:6px}.builder-slider-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.builder-slider-value{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.builder-number{width:56px;padding:4px 6px;border-radius:10px;border:1px solid var(--tile-border);background:#fffc;font-size:12px;color:var(--ink)}.builder-number:focus{outline:none;box-shadow:0 0 0 2px #0b5bd333}.builder-value-suffix{white-space:nowrap}.builder-slider input[type=range]{width:100%;accent-color:var(--accent)}.builder-input-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.builder-input-label{font-size:11px;color:var(--muted)}.builder-slider-note{margin:0;font-size:11px;color:var(--muted)}.builder-assign-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.builder-levels-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.builder-count{font-size:12px;color:var(--muted)}.builder-level-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:none;overflow:visible}.builder-level-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:16px;border:1px solid var(--tile-border);background:#ffffffb3}.builder-level-item.is-duplicate{border-color:#c0392b8c;box-shadow:0 0 0 2px #c0392b26}.builder-level-number{font-family:var(--font-heading);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.builder-level-seed{font-size:11px;color:var(--ink)}.builder-level-seed.is-invalid{border-color:#c0392b;box-shadow:0 0 0 2px #c0392b26}.builder-level-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.builder-export-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.builder-action{padding:6px 10px;font-size:10px;letter-spacing:.04em}.builder-error{margin:0 0 8px;padding:8px 10px;border-radius:12px;font-size:11px;color:#a63a3a;background:#c0392b1f;border:1px solid rgba(192,57,43,.35)}.builder-empty{margin:0;font-size:12px;color:var(--muted)}@media (max-width: 980px){.builder-layout{grid-template-columns:1fr}.builder-level-item{grid-template-columns:1fr;align-items:start}.builder-level-actions{justify-content:flex-start}.level-picker-banner{align-items:flex-start;flex-direction:column}}@media (max-width: 720px),(pointer: coarse){body:before{opacity:0}.success-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.success-confetti{display:none}.board-wrap,.player-card,.theme-panel-card,.settings-panel,.modal{box-shadow:none}}@media (prefers-reduced-motion: reduce){.confetti-piece,.tile-pulse .tile-face,.tile-wave .tile-face,.tile-flash,.button.reset-spin svg,.success-card,.success-icon,.success-diamond,.player-button-main.is-loading:after{animation:none!important}.success-card,.success-icon{opacity:1}.tile,.tile-graphic,.tile-face{transition-duration:.01ms!important}}@media (max-width: 640px){.app-title{font-size:1.5rem;letter-spacing:.06em}.theme-summary{align-items:flex-start}.sound-pill{gap:8px}.sound-meter{margin-left:auto}}
