@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2)format("woff2"),url(./montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-cyrillic-500-normal-T0SG181k.woff2)format("woff2"),url(./montserrat-cyrillic-500-normal-CyGtXmN9.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-vietnamese-500-normal-NT-t8RG1.woff2)format("woff2"),url(./montserrat-vietnamese-500-normal-DpeZlV_K.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-latin-ext-500-normal-BKtbrd6n.woff2)format("woff2"),url(./montserrat-latin-ext-500-normal-DWPqqZgs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-latin-500-normal-DRFEGfly.woff2)format("woff2"),url(./montserrat-latin-500-normal-Dok2oTci.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2)format("woff2"),url(./montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-cyrillic-700-normal-D-Pqjtdp.woff2)format("woff2"),url(./montserrat-cyrillic-700-normal-BvLYcGP1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-vietnamese-700-normal-C0x1De3p.woff2)format("woff2"),url(./montserrat-vietnamese-700-normal-DnwGT2D9.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-latin-ext-700-normal-BOP2Nhf0.woff2)format("woff2"),url(./montserrat-latin-ext-700-normal-DdDFr05Z.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(./montserrat-latin-700-normal-BWkrl476.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2)format("woff2"),url(./montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-cyrillic-800-normal-DDmpGQGC.woff2)format("woff2"),url(./montserrat-cyrillic-800-normal-B_mUCQ9O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-vietnamese-800-normal-BDwqwvSG.woff2)format("woff2"),url(./montserrat-vietnamese-800-normal-Chy8GRiB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-latin-ext-800-normal-BBvmbyWk.woff2)format("woff2"),url(./montserrat-latin-ext-800-normal-Wjq_OapB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-latin-800-normal-axpkC1rd.woff2)format("woff2"),url(./montserrat-latin-800-normal-C3dfDxXV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-cyrillic-ext-900-normal-ET-C-0fX.woff2)format("woff2"),url(./montserrat-cyrillic-ext-900-normal-CfuaLo5j.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-cyrillic-900-normal-CrYcRZSi.woff2)format("woff2"),url(./montserrat-cyrillic-900-normal-CGsoW8-j.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-vietnamese-900-normal-DNvcOCEl.woff2)format("woff2"),url(./montserrat-vietnamese-900-normal-Dz06HFPU.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-latin-ext-900-normal-BTaqesvP.woff2)format("woff2"),url(./montserrat-latin-ext-900-normal-DoASD5Eh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-latin-900-normal-B0TD3Qnu.woff2)format("woff2"),url(./montserrat-latin-900-normal-BDWDmVut.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:url(./montserrat-cyrillic-ext-800-italic-t3M4Y8O1.woff2)format("woff2"),url(./montserrat-cyrillic-ext-800-italic-ISwQCQvJ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:url(./montserrat-cyrillic-800-italic-Dt2y25yO.woff2)format("woff2"),url(./montserrat-cyrillic-800-italic-Cpx5dx0S.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:url(./montserrat-vietnamese-800-italic-BC8uifLA.woff2)format("woff2"),url(./montserrat-vietnamese-800-italic-BdG6-4mc.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:url(./montserrat-latin-ext-800-italic-PmsBoPC7.woff2)format("woff2"),url(./montserrat-latin-ext-800-italic--289PRiq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:800;src:url(./montserrat-latin-800-italic-DyMN9dWi.woff2)format("woff2"),url(./montserrat-latin-800-italic-9p4-1b3s.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:900;src:url(./montserrat-cyrillic-ext-900-italic-B88pO00Y.woff2)format("woff2"),url(./montserrat-cyrillic-ext-900-italic-hHLgAR7G.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:900;src:url(./montserrat-cyrillic-900-italic-C7g4YPoi.woff2)format("woff2"),url(./montserrat-cyrillic-900-italic-XTqgssWO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:900;src:url(./montserrat-vietnamese-900-italic-CDndC-H9.woff2)format("woff2"),url(./montserrat-vietnamese-900-italic-D4ejBVNq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:900;src:url(./montserrat-latin-ext-900-italic-1PLdmvcA.woff2)format("woff2"),url(./montserrat-latin-ext-900-italic-Dmv8VkfX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:italic;font-display:swap;font-weight:900;src:url(./montserrat-latin-900-italic-Drco3BKl.woff2)format("woff2"),url(./montserrat-latin-900-italic-B59aVta_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-vietnamese-400-normal-CkBxLiRJ.woff2)format("woff2"),url(./anton-vietnamese-400-normal-2FfR1wHA.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-latin-ext-400-normal-SyiqE2Jt.woff2)format("woff2"),url(./anton-latin-ext-400-normal-BMODBQc6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-latin-400-normal-Byf51wtH.woff2)format("woff2"),url(./anton-latin-400-normal-AUNGEG_V.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(./ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--ink:#20242b;--paper:#f0e8d8;--paper-2:#e6dcc8;--orange:#f36b35;--green:#83aaa0;--yellow:#e9c447;--petrol:#344a5a;--pink:#d96c9b;--red:#c8413b;--ok:#2e7d4f;--muted:#20242b9e;--display:Anton, Impact, "Arial Narrow", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--body:Montserrat, system-ui, -apple-system, "Segoe UI", sans-serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px)}html,body{overscroll-behavior:none;background:var(--ink);width:100%;height:100%;color:var(--ink);font-family:var(--body);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overflow:hidden}button,select{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}#app{position:fixed;inset:0;overflow:hidden;container-type:size}#app.framed{inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #000,0 20px 60px #00000080}#stage,#stage canvas,#touch{width:100%;height:100%;display:block;position:absolute;inset:0}#touch{z-index:2}#ui{z-index:5;pointer-events:none;position:absolute;inset:0}#ui>*{pointer-events:auto}#ui .hud,#ui .popups,#ui .toast,#ui .preview,#ui .quip,#ui .hawk,#ui .badge{pointer-events:none}#push{z-index:6;right:calc(var(--safe-r) + 20px);bottom:calc(var(--safe-b) + 20px);border:3px solid var(--paper);width:104px;height:104px;color:var(--paper);font:400 17px var(--display);letter-spacing:1px;touch-action:none;background:#20242b8c;border-radius:50%;display:none;position:absolute;box-shadow:0 4px #00000059,inset 0 0 0 6px #f0e8d81f}#push.on{background:var(--orange);color:#fff;transform:translateY(3px);box-shadow:0 1px #00000059}body.playing #push{display:block}#mobile-actions{z-index:6;left:calc(var(--safe-l) + 14px);bottom:calc(var(--safe-b) + 14px);grid-template-columns:repeat(2,86px);gap:7px;display:none;position:absolute}body.playing #mobile-actions{display:grid}#mobile-actions button{border:2px solid var(--paper);min-height:48px;color:var(--paper);font:24px/1 var(--display);touch-action:none;-webkit-user-select:none;user-select:none;background:#20242bc7;border-radius:10px}#mobile-actions small{font:700 8px/1.2 var(--mono);margin:4px 0;display:block}#mobile-actions button.on{background:var(--orange);transform:translateY(2px)}body.playing .quip,body.playing .hints{bottom:calc(var(--safe-b) + 132px)}#panel{z-index:8;top:calc(var(--safe-t) + 60px);left:calc(var(--safe-l) + 12px);touch-action:pan-y;width:270px;max-height:calc(100% - 80px);display:none;position:absolute;overflow-y:auto}#panel.on{display:block}body:not(.playing) #panel{display:none}#rotate{z-index:20;color:var(--paper);text-align:center;background:var(--ink);font:400 26px/1.4 var(--display);letter-spacing:1px;justify-content:center;align-items:center;display:none;position:absolute;inset:0}@media (orientation:portrait) and (pointer:coarse){#rotate{display:flex}}.mono{font:700 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:.7}.small{font-size:12px;line-height:1.35}.logo{font:400 clamp(40px, min(19cqh, 8.6cqw), 120px)/.86 var(--display);letter-spacing:.01em;color:var(--paper);text-shadow:4px 4px 0 var(--orange), 8px 8px 0 #00000040;transform-origin:0;flex-direction:column;display:flex;transform:rotate(-3deg)}.logo span:last-child{color:var(--yellow);margin-left:.35em}.logo.small{font-size:34px}.cred{background:var(--ink);color:var(--yellow);font:400 18px/1 var(--display);letter-spacing:.03em;white-space:nowrap;border-radius:6px;align-items:baseline;gap:4px;padding:6px 10px;display:inline-flex}.cred i{color:var(--orange);font-size:13px;font-style:normal}.cred small{font:700 8px var(--mono);letter-spacing:.06em;color:var(--paper);opacity:.7}.stars{gap:2px;font-size:17px;line-height:1;display:inline-flex}.stars i{color:#20242b2e;font-style:normal}.stars i.on{color:var(--orange);text-shadow:0 1px #0003}.screen{padding:calc(var(--safe-t) + 12px) calc(var(--safe-r) + 18px) calc(var(--safe-b) + 12px) calc(var(--safe-l) + 18px);display:flex;position:absolute;inset:0}.screen.center{flex-direction:column;justify-content:center;align-items:center;gap:14px}.screen.dim{-webkit-backdrop-filter:blur(3px);background:#14161a8c}.loading{background:var(--petrol);color:var(--paper)}.loading .logo{transform:rotate(-3deg)}.bar{border:2px solid var(--paper);border-radius:2px;width:260px;height:10px;overflow:hidden}.bar div{background:repeating-linear-gradient(-45deg, var(--orange) 0 8px, var(--yellow) 8px 16px);height:100%;transition:width .2s}.loading .mono{color:var(--paper)}.menu{background:linear-gradient(90deg,#14161a9e,#14161a0d 48%,#14161a66);justify-content:space-between;align-items:center;gap:18px}.menu-left{color:var(--paper);max-width:46%}.tagline{background:var(--paper);color:var(--ink);font:600 14px var(--body);box-shadow:3px 3px 0 var(--ink);margin-top:18px;padding:6px 10px;display:inline-block;transform:rotate(-2deg)}.tagline b{color:var(--orange);font-weight:900}.menu-right{flex-direction:column;gap:8px;width:min(400px,52cqw);display:flex}.feature{text-align:left;background:var(--paper);box-shadow:5px 5px 0 var(--ink);border:none;border-radius:4px;flex-direction:column;gap:3px;padding:12px 14px 10px;display:flex;position:relative;transform:rotate(.6deg)}.feature:after{content:"";background:#e9c447bf;width:70px;height:18px;position:absolute;top:-9px;left:40%;transform:rotate(-4deg)}.feature b{font:400 clamp(22px, 7cqh, 30px)/1 var(--display);letter-spacing:.01em}.feature small{color:var(--muted);font-size:12px;line-height:1.3}.feature-foot{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.feature em{font:400 17px var(--display);letter-spacing:.04em;background:var(--orange);color:#fff;border-radius:3px;padding:4px 12px;font-style:normal}.feature:active{box-shadow:2px 2px 0 var(--ink);transform:rotate(.6deg)translate(3px,3px)}.modes{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.mode{text-align:left;border:2px solid var(--ink);background:var(--paper-2);box-shadow:3px 3px 0 var(--ink);border-radius:4px;flex-direction:column;gap:2px;padding:7px 9px;display:flex}.mode b{font:400 19px/1 var(--display);letter-spacing:.02em}.mode small{color:var(--muted);font-size:10px;line-height:1.2}.mode:active,.chip:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.menu-right .row{align-items:stretch;gap:6px;display:flex}.chip{border:2px solid var(--ink);background:var(--paper);min-width:0;min-height:40px;font:800 12px var(--body);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;border-radius:4px;flex:auto;padding:0 6px}.menu-right .cred{align-items:center;padding:6px 8px}.menu-right .cred small{display:none}.screen.list{background:var(--paper);background-image:linear-gradient(#344a5a12 1px,#0000 1px);background-size:100% 24px;flex-direction:column}.header{border-bottom:3px solid var(--ink);align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;display:flex}.header .title{flex-direction:column;flex:1;display:flex}.header h2{font:400 28px/1 var(--display);letter-spacing:.01em}.back{background:var(--ink);width:44px;height:44px;color:var(--paper);box-shadow:3px 3px 0 var(--orange);border:none;border-radius:4px;font-size:28px;line-height:1}.scroll{touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;padding:2px 4px 20px 0;overflow-y:auto}section{margin-bottom:14px}h3{font:400 15px var(--display);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);margin:6px 0 8px;padding:3px 8px;display:inline-block;transform:rotate(-1deg)}.note{color:var(--muted);margin-bottom:8px;font-size:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.card{text-align:left;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fbf7ef;border-radius:4px;flex-direction:column;gap:4px;padding:9px 11px;display:flex;position:relative}.card b{font:400 19px/1.05 var(--display);letter-spacing:.01em}button.card:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.card[disabled]{opacity:.6;cursor:default}.card-foot{align-items:center;gap:8px;display:flex}.price{font:400 17px var(--display);color:var(--orange);letter-spacing:.03em}.tabs{gap:6px;margin-bottom:8px;display:flex}.tabs button{border:2px solid var(--ink);background:var(--paper-2);text-align:left;border-radius:4px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:6px 10px;display:flex}.tabs button b{font:400 17px/1 var(--display);letter-spacing:.02em}.tabs button small{font:700 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.7}.tabs button.on{background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--orange)}.tabs.plain button{flex:0 auto}.free-head{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fbf7ef;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 12px;display:flex}.free-head b{font:400 24px/1 var(--display);display:block}.primary{color:#fff;letter-spacing:.04em;box-shadow:3px 3px 0 var(--ink);border:none;border-radius:4px;padding:10px 20px;background:var(--orange)!important;font:400 20px var(--display)!important}.goals{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 14px;font-size:13px;font-weight:600;display:grid}.goal{align-items:center;gap:8px;display:flex}.goal i,.obj i,.lines i{width:15px;height:15px;font:900 11px/1 var(--body);border:2px solid;border-radius:2px;flex:none;justify-content:center;align-items:center;font-style:normal;display:inline-flex}.goal.done{color:var(--ok)}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{border:2px solid var(--ink);text-align:center;width:108px;box-shadow:3px 3px 0 var(--ink);background:#fbf7ef;border-radius:4px;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;font-size:11px;font-weight:700;line-height:1.2;display:flex}.swatch.on{box-shadow:3px 3px 0 var(--orange);outline:2px solid var(--orange)}.swatch i{border:2px solid var(--ink);border-radius:50%;width:36px;height:36px;box-shadow:inset -4px -4px #00000026}.swatch small{font:700 10px var(--mono);color:var(--orange)}.guide table{border-collapse:collapse;border:2px solid var(--ink);background:#fbf7ef;width:100%;font-size:12px}.guide th,.guide td{text-align:left;border-bottom:1px solid #20242b1f;padding:5px 8px}.guide th{background:var(--ink);color:var(--paper);font:700 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}.guide td.arrow{font-size:18px;font-weight:900}.guide ul{border:2px solid var(--ink);background:#fbf7ef;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;list-style:none;display:flex}.settings{flex-direction:column;gap:10px;max-width:540px;font-weight:700;display:flex}.settings label{border:2px solid var(--ink);background:#fbf7ef;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:9px 12px;display:flex}.settings label.check{justify-content:flex-start}.settings input[type=range]{max-width:260px;accent-color:var(--orange);flex:1}.settings input[type=checkbox]{width:20px;height:20px;accent-color:var(--orange)}.settings select{border:2px solid var(--ink);background:var(--paper);border-radius:4px;padding:4px 8px;font-weight:700}.danger{border:2px solid var(--ink);background:var(--red);color:#fff;box-shadow:3px 3px 0 var(--ink);border-radius:4px;align-self:flex-start;padding:10px 14px;font-weight:800}.panel{flex-direction:column;gap:8px;min-width:280px;max-width:92vw;max-height:94%;padding:16px 20px;display:flex;overflow-y:auto}.paper{background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--ink), 0 20px 60px #0006;border-radius:3px;position:relative;transform:rotate(-.6deg)}.paper:before{content:"";pointer-events:none;background-image:linear-gradient(#344a5a14 1px,#0000 1px);background-size:100% 22px;position:absolute;inset:0}.panel h2{font:400 32px/1 var(--display);letter-spacing:.01em}.panel button{border:2px solid var(--ink);font:800 15px var(--body);min-height:44px;box-shadow:3px 3px 0 var(--ink);background:#fbf7ef;border-radius:4px;padding:9px 14px}.panel button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.panel .row{gap:8px;margin-top:4px;display:flex}.panel .row button{flex:1}.result{grid-template-columns:1fr auto;grid-template-areas:"head stamp""stars stars""lines lines""score score""row row";align-items:start;gap:6px 12px;width:min(560px,92vw);display:grid}.res-head{grid-area:head}.sub{margin-top:2px;font-size:13px;font-weight:800}.sub.ok{color:var(--ok)}.sub.bad{color:var(--red)}.stamp{max-width:190px;font:400 22px/1 var(--display);letter-spacing:.04em;text-align:center;mix-blend-mode:multiply;border:4px solid;border-radius:4px;grid-area:stamp;align-self:center;padding:6px 10px;animation:.45s cubic-bezier(.2,1.6,.4,1) .65s both stamp;transform:rotate(-12deg)}.stamp.great{color:var(--orange)}.stamp.ok{color:var(--ok)}.stamp.bad{color:var(--red)}.big-stars{letter-spacing:4px;color:#20242b26;grid-area:stars;font-size:36px;line-height:1}.big-stars span{display:inline-block}.big-stars .on{color:var(--orange);text-shadow:2px 2px 0 var(--ink);animation:.4s cubic-bezier(.2,1.6,.4,1) both starIn}.lines{flex-direction:column;grid-area:lines;gap:4px;font-size:13px;font-weight:600;display:flex}.lines>div{align-items:center;gap:8px;display:flex}.lines .done{color:var(--ok)}.res-score{font:400 32px/1 var(--display);border-top:2px dashed #20242b4d;grid-area:score;align-items:baseline;gap:10px;padding-top:6px;display:flex}.res-score small{font:700 10px var(--mono);letter-spacing:.1em;opacity:.7}.res-score em{color:var(--orange);margin-left:auto;font-size:20px;font-style:normal}.record{background:var(--yellow);letter-spacing:.06em;padding:2px 6px;font-size:14px}.result .row{grid-area:row}.hud{color:#fff;position:absolute;inset:0}.hud-tl{top:calc(var(--safe-t) + 10px);left:calc(var(--safe-l) + 14px);max-width:38%;position:absolute}.score{background:var(--ink);font:400 30px/1 var(--display);letter-spacing:.02em;box-shadow:3px 3px 0 var(--orange);flex-direction:column;padding:4px 10px 6px;display:inline-flex;transform:rotate(-1.5deg)}.score small{font:700 9px var(--mono);letter-spacing:.12em;color:var(--yellow)}.combo{background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:3px;margin-top:8px;padding:5px 10px;animation:.18s pop}.combo-total{font:400 22px/1 var(--display);letter-spacing:.02em}.combo-total span{color:#fff;background:var(--orange);padding:0 6px;font-size:18px}.combo-tricks{margin-top:2px;font-size:11px;font-weight:800}.hud-tc{top:calc(var(--safe-t) + 8px);flex-direction:column;align-items:center;gap:3px;width:min(42cqw,400px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-title{font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 1px 2px #0009}.timer{font:400 30px/1 var(--display);text-shadow:2px 2px 0 var(--ink)}.timer.low{color:var(--yellow);animation:.5s infinite alternate pop}.obj{background:#20242bb8;border-radius:3px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-weight:700;display:flex}.obj b{color:var(--yellow)}.obj.done{color:#b9f5c8}.objs{white-space:nowrap;background:#20242bb8;border-radius:3px;gap:10px;padding:3px 9px;font-size:11px;font-weight:700;display:flex}.objs span{align-items:center;gap:4px;display:inline-flex}.objs i{width:12px;height:12px;font:900 9px/1 var(--body);border:2px solid;border-radius:2px;justify-content:center;align-items:center;font-style:normal;display:inline-flex}.objs b{color:var(--yellow)}.objs .done{color:#b9f5c8}.guard{background:var(--red);border-radius:3px;padding:3px 8px;font-size:12px;font-weight:900}.guard.near{animation:.3s infinite alternate pop}.hud-tr{top:calc(var(--safe-t) + 10px);right:calc(var(--safe-r) + 12px);pointer-events:auto;gap:8px;display:flex;position:absolute}.hud-btn{border:2px solid var(--paper);width:44px;height:44px;color:var(--paper);font:400 17px var(--display);background:#20242b99;border-radius:4px}.hud-btn.rec{color:#ff7b6b;font-size:18px}.hud-btn.rec.on{background:var(--red);color:#fff;animation:.6s infinite alternate pop}.speed{right:calc(var(--safe-r) + 136px);bottom:calc(var(--safe-b) + 20px);font:400 22px var(--display);text-shadow:2px 2px 0 var(--ink);align-items:baseline;gap:3px;display:flex;position:absolute}.speed small{font:700 9px var(--mono)}.hints{left:calc(var(--safe-l) + 14px);bottom:calc(var(--safe-b) + 14px);background:#20242bb8;border-radius:3px;max-width:56%;padding:7px 11px;font-size:12px;line-height:1.5;position:absolute}.hints span{opacity:.75;font-size:11px}.quip{left:calc(var(--safe-l) + 14px);bottom:calc(var(--safe-b) + 16px);color:#6dff9c;min-width:210px;max-width:min(46%,380px);box-shadow:4px 4px 0 var(--ink), inset 0 0 18px #6dff9c1f;font:700 14px/1.3 var(--mono);text-shadow:0 0 6px #6dff9c80;transform-origin:100% 0;background:#0d1a12 repeating-linear-gradient(#6dff9c0f 0 2px,#0000 2px 4px);border:3px solid #1a1c20;border-radius:6px;flex-direction:column;gap:3px;padding:6px 10px 8px;animation:.25s cubic-bezier(.2,1.4,.4,1) quipIn;display:flex;position:absolute}.quip:after{content:"";background:#0d1a12;border:none;border-top:3px solid #1a1c20;border-left:3px solid #1a1c20;width:16px;height:16px;position:absolute;top:-11px;right:26px;transform:rotate(45deg)}.quip-head{letter-spacing:.1em;border-bottom:1px solid #6dff9c66;justify-content:space-between;gap:10px;padding-bottom:2px;font-size:9px;display:flex}.quip-head b{color:var(--yellow);text-shadow:none}.quip-head i{opacity:.7;font-style:normal}.quip-text u{background:#6dff9c;width:8px;margin-left:2px;text-decoration:none;animation:.5s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.cosmic{background:var(--pink);color:#fff;font:400 15px var(--display);letter-spacing:.04em;box-shadow:3px 3px 0 var(--ink);margin-top:6px;margin-left:4px;padding:2px 8px;animation:.4s infinite alternate pop;display:inline-block}.cosmic b{color:var(--yellow);font-weight:400}.hawk{background:var(--yellow);color:var(--ink);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);pointer-events:none;flex-direction:column;align-items:center;padding:10px 22px 12px;animation:2.4s cubic-bezier(.2,1.5,.4,1) both hawkIn;display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)rotate(-6deg)}.hawk b{font:400 clamp(30px, 11cqh, 54px)/1 var(--display);letter-spacing:.02em;color:var(--ink);text-shadow:3px 3px 0 var(--orange);white-space:nowrap}.hawk-kicker{font:700 10px var(--mono);letter-spacing:.12em}.hawk-foot{font:400 16px var(--display);letter-spacing:.05em;background:var(--ink);color:var(--yellow);margin-top:4px;padding:2px 10px}@keyframes hawkIn{0%{opacity:0;transform:translate(-50%,-50%)rotate(-30deg)scale(.2)}14%{opacity:1;transform:translate(-50%,-50%)rotate(-4deg)scale(1.12)}22%{transform:translate(-50%,-50%)rotate(-6deg)scale(1)}85%{opacity:1;transform:translate(-50%,-50%)rotate(-6deg)scale(1)}to{opacity:0;transform:translate(-50%,-80%)rotate(-6deg)scale(.9)}}.badge{z-index:30;right:calc(var(--safe-r) + 12px);top:calc(var(--safe-t) + 62px);background:var(--paper);max-width:240px;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--orange);pointer-events:none;flex-direction:column;gap:1px;padding:6px 12px 7px;animation:3s both badgeIn;display:flex;position:absolute}.badge b{font:400 18px/1.05 var(--display);letter-spacing:.02em}.badge em{font:400 14px var(--display);color:var(--orange);font-style:normal}@keyframes badgeIn{0%{opacity:0;transform:translate(40px)}10%,88%{opacity:1;transform:none}to{opacity:0;transform:translate(40px)}}.ach{opacity:.62;position:relative}.ach.on{opacity:1}.ach-stamp{border:3px solid var(--orange);color:var(--orange);font:400 16px var(--display);padding:1px 6px;position:absolute;top:8px;right:10px;transform:rotate(-12deg)}.balance{text-align:center;width:min(300px,50vw);position:absolute;top:30%;left:50%;transform:translate(-50%)}.balance-label{font:400 16px var(--display);letter-spacing:.04em;background:var(--ink);margin-bottom:5px;padding:2px 8px;display:inline-block}.balance-bar{border:2px solid var(--ink);background:linear-gradient(90deg, var(--red) 0%, var(--yellow) 22%, #5ec27a 40%, #5ec27a 60%, var(--yellow) 78%, var(--red) 100%);height:14px;position:relative}.balance-bar i{background:var(--paper);border:2px solid var(--ink);width:8px;height:24px;margin-left:-4px;position:absolute;top:-7px}.balance-keys{text-shadow:0 1px 2px #000000b3;justify-content:space-between;margin-top:3px;font-size:11px;font-weight:800;display:flex}.popups{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%)}.popup{font:400 22px/1.05 var(--display);letter-spacing:.02em;color:#fff;text-shadow:2px 2px 0 var(--ink);white-space:nowrap;animation:1.1s forwards rise}.popup span{color:var(--yellow)}.popup.big{color:var(--yellow);font-size:40px;animation-duration:1.6s}.popup.bad{color:#ffb3a0}.toast{background:var(--red);color:#fff;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);font:400 20px var(--display);letter-spacing:.03em;text-align:center;max-width:80vw;padding:7px 14px;animation:.3s cubic-bezier(.2,1.5,.4,1) toastIn;position:absolute;top:34%;left:50%;transform:translate(-50%)rotate(-2deg)}.preview{position:absolute;inset:8% 12%}.pv{color:#fff;white-space:nowrap;background:#20242bc7;border-radius:3px;padding:4px 10px;font-size:13px;font-weight:800;position:absolute;transform:translate(-50%,-50%)}.pv b{color:var(--yellow)}.pv-center{text-align:center;color:#fff;font:400 18px var(--display);text-shadow:2px 2px 0 var(--ink);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pop{0%{transform:scale(.92)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.9)}15%{opacity:1;transform:none}80%{opacity:1}to{opacity:0;transform:translateY(-24px)}}@keyframes stamp{0%{opacity:0;transform:rotate(-12deg)scale(2.4)}to{opacity:1;transform:rotate(-12deg)scale(1)}}@keyframes starIn{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(0)}}@keyframes quipIn{0%{opacity:0;transform:scale(.7)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)rotate(-8deg)scale(1.4)}to{opacity:1;transform:translate(-50%)rotate(-2deg)}}.hud-tc .timer.low,.guard.near{transform-origin:50%}@media (height<=420px){.tagline{margin-top:12px;font-size:12px}.feature{padding:9px 12px 8px}.feature small{font-size:11px}.score{font-size:24px}.combo-total{font-size:18px}.header{margin-bottom:6px;padding-bottom:6px}.header h2{font-size:22px}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.result{gap:4px 12px;padding:12px 16px}.panel h2{font-size:26px}.big-stars{font-size:28px}.res-score{font-size:26px}.quip{font-size:13px}}
