@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sora-latin-ext-500-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/sora-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sora-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/sora-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sora-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/sora-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/sora-latin-ext-800-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/sora-latin-800-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-119-500-normal.woff2)format("woff2");unicode-range:U+20,U+2027,U+3001-3002,U+3041-307F,U+3081-308F,U+3091-3093,U+3099-309A,U+309D-309E,U+30A1-30E1,U+30E3-30ED,U+30EF-30F0,U+30F2-30F4,U+30FB-30FE,U+FF0C,U+FF0E}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-54-500-normal.woff2)format("woff2");unicode-range:U+3028-303F,U+3094-3096,U+309F-30A0,U+30EE,U+30F7-30FA,U+30FF,U+3105-312F,U+3131-3163,U+3165-318E,U+3190-31BB,U+31C0-31C7}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-117-500-normal.woff2)format("woff2");unicode-range:U+4E,U+A0,U+3000,U+300C-300D,U+4E00,U+4E0A,U+4E2D,U+4E8B,U+4EBA,U+4F1A,U+5165,U+5168,U+5185,U+51FA,U+5206,U+5229,U+524D,U+52D5,U+5408,U+554F,U+5831,U+5834,U+5927,U+5B9A,U+5E74,U+5F0F,U+60C5,U+65B0,U+65B9,U+6642,U+6700,U+672C,U+682A,U+6B63,U+6C17,U+7121,U+751F,U+7528,U+753B,U+76EE,U+793E,U+884C,U+898B,U+8A18,U+9593,U+95A2,U+FF01,U+FF08-FF09}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-61-500-normal.woff2)format("woff2");unicode-range:U+A8,U+2032,U+2261,U+2282,U+3090,U+30F1,U+339C,U+535C,U+53D9,U+56A2,U+56C1,U+5806,U+589F,U+59D0,U+5A7F,U+60E0,U+639F,U+65AF,U+68FA,U+69AE,U+6D1B,U+6EF2,U+71FB,U+725D,U+7262,U+75BC,U+7768,U+7940,U+79BF,U+7BED,U+7D68,U+7DFB,U+814B,U+8207,U+83E9,U+8494,U+8526,U+8568,U+85EA,U+86D9,U+87BA,U+8861,U+887F,U+8FE6,U+9059,U+9061,U+916A,U+976D,U+97AD,U+9ECE}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-114-500-normal.woff2)format("woff2");unicode-range:U+3E,U+3005,U+4E0D,U+4E88,U+4ECB,U+4EE3,U+4EF6,U+4FDD,U+4FE1,U+500B,U+50CF,U+5186,U+5316,U+53D7,U+540C,U+544A,U+54E1,U+5728,U+58F2,U+5973,U+5B89,U+5C71,U+5E02,U+5E97,U+5F15,U+5FC3,U+5FDC,U+601D,U+611B,U+611F,U+671F,U+6728,U+6765,U+683C,U+6B21,U+6CE8,U+6D3B,U+6D77,U+7530,U+7740,U+7ACB,U+7D50,U+826F,U+8F09,U+8FBC,U+9001,U+9053,U+91CE,U+9762,U+98DF}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-115-500-normal.woff2)format("woff2");unicode-range:U+7C,U+3080,U+4EE5,U+5148,U+516C,U+521D,U+5225,U+529B,U+52A0,U+53EF,U+56DE,U+56FD,U+5909,U+591A,U+5B66,U+5B9F,U+5BB6,U+5BFE,U+5E73,U+5E83,U+5EA6,U+5F53,U+6027,U+610F,U+6210,U+6240,U+660E,U+66F4,U+66F8,U+6709,U+6771,U+697D,U+69D8,U+6A5F,U+6C34,U+6CBB,U+73FE,U+756A,U+7684,U+771F,U+793A,U+7F8E,U+898F,U+8A2D,U+8A71,U+8FD1,U+9078,U+9577,U+96FB,U+FF5E}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-116-500-normal.woff2)format("woff2");unicode-range:U+A9,U+3010-3011,U+30E2,U+4E0B,U+4ECA,U+4ED6,U+4ED8,U+4F53,U+4F5C,U+4F7F,U+53D6,U+540D,U+54C1,U+5730,U+5916,U+5B50,U+5C0F,U+5F8C,U+624B,U+6570,U+6587,U+6599,U+691C,U+696D,U+6CD5,U+7269,U+7279,U+7406,U+767A-767B,U+77E5,U+7D04,U+7D22,U+8005,U+80FD,U+81EA,U+8868,U+8981,U+89A7,U+901A,U+9023,U+90E8,U+91D1,U+9332,U+958B,U+96C6,U+9AD8,U+FF1A,U+FF1F}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-79-500-normal.woff2)format("woff2");unicode-range:U+25B3,U+30F5,U+4EAE,U+4F46,U+4F51,U+5203,U+52FF,U+55A7,U+564C,U+565B,U+57F9,U+5805,U+5B64,U+5E06,U+5F70,U+5F90,U+60E8,U+6182,U+62F3,U+62FE,U+63AA,U+64A4,U+65D7,U+673A,U+6851,U+68CB,U+68DF,U+6D1E,U+6E58,U+6E9D,U+77B3,U+7832,U+7C3F,U+7DB4,U+7F70,U+80AA,U+80C6,U+8105,U+819D,U+8276,U+8679,U+8986,U+8C9D,U+8FC5,U+916C,U+9665,U+9699,U+96C0,U+9A19,U+FF8B}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-106-500-normal.woff2)format("woff2");unicode-range:U+30F6,U+50AC,U+5178,U+51E6,U+5224,U+52DD,U+5883,U+5897,U+590F,U+5A5A,U+5BB3,U+5C65,U+5E03,U+5E2B,U+5E30,U+5EB7,U+6271,U+63F4,U+64AE,U+6574,U+672B,U+679A,U+6A29-6A2A,U+6CA2,U+6CC1,U+6D0B,U+713C,U+74B0,U+7981,U+7A0B,U+7BC0,U+7D1A,U+7D61,U+7FD2,U+822C,U+8996,U+89AA,U+8CAC,U+8CBB,U+8D77,U+8DEF,U+9020,U+9152,U+9244,U+9662,U+967A,U+96E3,U+9759,U+FF16}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-jp-108-500-normal.woff2)format("woff2");unicode-range:U+2605-2606,U+301C,U+4E57,U+4FEE,U+5065,U+52DF,U+533B,U+5357,U+57DF,U+58EB,U+58F0,U+591C,U+592A-592B,U+5948,U+5B85,U+5D0E,U+5EA7,U+5FF5,U+6025,U+63A1,U+63A5,U+63DB,U+643A,U+65BD,U+671D,U+68EE,U+6982,U+6B73,U+6BD4,U+6D88,U+7570,U+7B11,U+7D76,U+8077,U+8217,U+8C37,U+8C61,U+8CC7,U+8D85,U+901F,U+962A,U+9802,U+9806,U+9854,U+98F2,U+9928,U+99C5,U+9ED2}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-119-700-normal.woff2)format("woff2");unicode-range:U+20,U+2027,U+3001-3002,U+3041-307F,U+3081-308F,U+3091-3093,U+3099-309A,U+309D-309E,U+30A1-30E1,U+30E3-30ED,U+30EF-30F0,U+30F2-30F4,U+30FB-30FE,U+FF0C,U+FF0E}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-54-700-normal.woff2)format("woff2");unicode-range:U+3028-303F,U+3094-3096,U+309F-30A0,U+30EE,U+30F7-30FA,U+30FF,U+3105-312F,U+3131-3163,U+3165-318E,U+3190-31BB,U+31C0-31C7}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-117-700-normal.woff2)format("woff2");unicode-range:U+4E,U+A0,U+3000,U+300C-300D,U+4E00,U+4E0A,U+4E2D,U+4E8B,U+4EBA,U+4F1A,U+5165,U+5168,U+5185,U+51FA,U+5206,U+5229,U+524D,U+52D5,U+5408,U+554F,U+5831,U+5834,U+5927,U+5B9A,U+5E74,U+5F0F,U+60C5,U+65B0,U+65B9,U+6642,U+6700,U+672C,U+682A,U+6B63,U+6C17,U+7121,U+751F,U+7528,U+753B,U+76EE,U+793E,U+884C,U+898B,U+8A18,U+9593,U+95A2,U+FF01,U+FF08-FF09}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-61-700-normal.woff2)format("woff2");unicode-range:U+A8,U+2032,U+2261,U+2282,U+3090,U+30F1,U+339C,U+535C,U+53D9,U+56A2,U+56C1,U+5806,U+589F,U+59D0,U+5A7F,U+60E0,U+639F,U+65AF,U+68FA,U+69AE,U+6D1B,U+6EF2,U+71FB,U+725D,U+7262,U+75BC,U+7768,U+7940,U+79BF,U+7BED,U+7D68,U+7DFB,U+814B,U+8207,U+83E9,U+8494,U+8526,U+8568,U+85EA,U+86D9,U+87BA,U+8861,U+887F,U+8FE6,U+9059,U+9061,U+916A,U+976D,U+97AD,U+9ECE}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-114-700-normal.woff2)format("woff2");unicode-range:U+3E,U+3005,U+4E0D,U+4E88,U+4ECB,U+4EE3,U+4EF6,U+4FDD,U+4FE1,U+500B,U+50CF,U+5186,U+5316,U+53D7,U+540C,U+544A,U+54E1,U+5728,U+58F2,U+5973,U+5B89,U+5C71,U+5E02,U+5E97,U+5F15,U+5FC3,U+5FDC,U+601D,U+611B,U+611F,U+671F,U+6728,U+6765,U+683C,U+6B21,U+6CE8,U+6D3B,U+6D77,U+7530,U+7740,U+7ACB,U+7D50,U+826F,U+8F09,U+8FBC,U+9001,U+9053,U+91CE,U+9762,U+98DF}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-115-700-normal.woff2)format("woff2");unicode-range:U+7C,U+3080,U+4EE5,U+5148,U+516C,U+521D,U+5225,U+529B,U+52A0,U+53EF,U+56DE,U+56FD,U+5909,U+591A,U+5B66,U+5B9F,U+5BB6,U+5BFE,U+5E73,U+5E83,U+5EA6,U+5F53,U+6027,U+610F,U+6210,U+6240,U+660E,U+66F4,U+66F8,U+6709,U+6771,U+697D,U+69D8,U+6A5F,U+6C34,U+6CBB,U+73FE,U+756A,U+7684,U+771F,U+793A,U+7F8E,U+898F,U+8A2D,U+8A71,U+8FD1,U+9078,U+9577,U+96FB,U+FF5E}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-116-700-normal.woff2)format("woff2");unicode-range:U+A9,U+3010-3011,U+30E2,U+4E0B,U+4ECA,U+4ED6,U+4ED8,U+4F53,U+4F5C,U+4F7F,U+53D6,U+540D,U+54C1,U+5730,U+5916,U+5B50,U+5C0F,U+5F8C,U+624B,U+6570,U+6587,U+6599,U+691C,U+696D,U+6CD5,U+7269,U+7279,U+7406,U+767A-767B,U+77E5,U+7D04,U+7D22,U+8005,U+80FD,U+81EA,U+8868,U+8981,U+89A7,U+901A,U+9023,U+90E8,U+91D1,U+9332,U+958B,U+96C6,U+9AD8,U+FF1A,U+FF1F}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-79-700-normal.woff2)format("woff2");unicode-range:U+25B3,U+30F5,U+4EAE,U+4F46,U+4F51,U+5203,U+52FF,U+55A7,U+564C,U+565B,U+57F9,U+5805,U+5B64,U+5E06,U+5F70,U+5F90,U+60E8,U+6182,U+62F3,U+62FE,U+63AA,U+64A4,U+65D7,U+673A,U+6851,U+68CB,U+68DF,U+6D1E,U+6E58,U+6E9D,U+77B3,U+7832,U+7C3F,U+7DB4,U+7F70,U+80AA,U+80C6,U+8105,U+819D,U+8276,U+8679,U+8986,U+8C9D,U+8FC5,U+916C,U+9665,U+9699,U+96C0,U+9A19,U+FF8B}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-106-700-normal.woff2)format("woff2");unicode-range:U+30F6,U+50AC,U+5178,U+51E6,U+5224,U+52DD,U+5883,U+5897,U+590F,U+5A5A,U+5BB3,U+5C65,U+5E03,U+5E2B,U+5E30,U+5EB7,U+6271,U+63F4,U+64AE,U+6574,U+672B,U+679A,U+6A29-6A2A,U+6CA2,U+6CC1,U+6D0B,U+713C,U+74B0,U+7981,U+7A0B,U+7BC0,U+7D1A,U+7D61,U+7FD2,U+822C,U+8996,U+89AA,U+8CAC,U+8CBB,U+8D77,U+8DEF,U+9020,U+9152,U+9244,U+9662,U+967A,U+96E3,U+9759,U+FF16}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/noto-sans-jp-108-700-normal.woff2)format("woff2");unicode-range:U+2605-2606,U+301C,U+4E57,U+4FEE,U+5065,U+52DF,U+533B,U+5357,U+57DF,U+58EB,U+58F0,U+591C,U+592A-592B,U+5948,U+5B85,U+5D0E,U+5EA7,U+5FF5,U+6025,U+63A1,U+63A5,U+63DB,U+643A,U+65BD,U+671D,U+68EE,U+6982,U+6B73,U+6BD4,U+6D88,U+7570,U+7B11,U+7D76,U+8077,U+8217,U+8C37,U+8C61,U+8CC7,U+8D85,U+901F,U+962A,U+9802,U+9806,U+9854,U+98F2,U+9928,U+99C5,U+9ED2}@font-face{font-family:"Press Start 2P";src:url(/fonts/press-start-2p-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DotGothic16;src:url(/fonts/dotgothic16-kana-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Honey Basil;src:url(/fonts/HoneyBasil-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--blue:#9be5fd;--pink:#eb97e4;--teal:#3bc6d0;--yellow:#f4d839;--amber:#ffe560;--cream:#f2e9c9;--white:#fff;--black:#000;--purple-note:#aeacff;--pink-note:#fec4f7;--red-note:#ff9497;--green-note:#91ff9c;--red-text:#e63946;--red:#f68285;--hero-pink:#eb97e4;--hero-yellow:#f1cc44;--border-thick:5px;--border-thin:3px;--border:var(--border-thin);--radius:6px;--shadow-off:4px;--shadow:var(--shadow-off) var(--shadow-off) 0px var(--black);--shadow-sm:3px 3px 0px var(--black);--font-display:"Sora", "Noto Sans JP", system-ui, sans-serif;--font-mono:"Space Mono", "Noto Sans JP", ui-monospace, monospace}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--white);color:var(--black);font-family:var(--font-display);-webkit-font-smoothing:antialiased}#app{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:700}button{font-family:var(--font-display)}a{color:var(--black)}.btn{font-family:var(--font-display);border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);color:var(--black);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.4em;padding:.75em 1.5em;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover){.btn:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.02)}}.btn:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.btn-primary{background:var(--hero-pink);color:var(--black)}.btn-secondary{background:var(--hero-yellow);color:var(--black)}.btn-red{background:var(--red);color:var(--black)}.btn-block{width:100%}.intro-screen{background:var(--teal);flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.retro-window{background:var(--white);border:var(--border-thick) solid var(--black);border-radius:var(--radius);width:100%;max-width:376px;animation:.6s cubic-bezier(.22,1,.36,1) both retro-window-pop;overflow:hidden}.retro-window .dialog-titlebar{background:var(--hero-yellow)}@keyframes retro-window-pop{0%{opacity:0;box-shadow:0px 0px 0px var(--black);transform:translateY(-60px)scale(.5)rotate(-6deg)}55%{opacity:1;box-shadow:10px 10px 0px var(--black);transform:translateY(6px)scale(1.06)rotate(2deg)}75%{box-shadow:8px 8px 0px var(--black);transform:translateY(-3px)scale(.98)rotate(-1deg)}to{box-shadow:10px 10px 0px var(--black);transform:translateY(0)scale(1)rotate(0)}}.retro-window-body{text-align:center;background:var(--hero-pink);flex-direction:column;align-items:center;gap:1.4rem;padding:2.9rem 1.6rem 1.8rem;display:flex}.retro-window-body .btn-primary{background:var(--teal);color:var(--black)}.retro-window-body .text-input{background:var(--cream)}.intro-title{font-family:"Honey Basil", var(--font-display);letter-spacing:.02em;margin:0 0 -.6rem;font-size:3.46rem;font-weight:400;line-height:1.15}.cat-stage{justify-content:center;align-items:flex-end;min-width:208px;min-height:142px;margin-top:-50px;padding:1.2rem 1.6rem;display:inline-flex}.is-hidden{display:none!important}.dialog-titlebar{background:var(--amber);color:var(--black);border-bottom:var(--border-thick) solid var(--black);font-family:var(--font-mono);letter-spacing:.03em;justify-content:space-between;align-items:center;padding:.5rem .7rem;font-size:.85rem;font-weight:700;display:flex}.dialog-titlebar .dots{gap:5px;display:flex}.dialog-titlebar .dots span{background:var(--white);border:2px solid var(--black);width:11px;height:11px;display:inline-block}.text-input{font-family:var(--font-mono);border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);width:100%;padding:.7em .8em;font-size:1rem}.text-input:focus-visible{outline:3px solid var(--black);outline-offset:2px}.app-header{border-bottom:var(--border-thick) solid var(--black);background:var(--teal);justify-content:space-between;align-items:center;gap:1rem;padding:.4rem 1.25rem;display:flex}.app-header .brand{align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;display:flex}.app-header .header-actions{align-items:center;gap:.6rem;min-width:0;display:flex}.app-header .header-actions .btn{white-space:nowrap;flex-shrink:0}.progress-menu-wrap{display:inline-flex;position:relative}.progress-menu-wrap .btn-icon{width:2.15rem;height:2.15rem;padding:.5em}.icon-folder{display:block}#session-timer-btn{width:2.15rem;height:2.15rem;padding:.5em}#session-timer-btn.is-running{width:auto;font-family:var(--font-mono);padding:.5em .7em;font-size:.75rem;font-weight:700}.icon-clock{display:block}.app-header #help-btn,.app-header #session-timer-btn,.app-header #romaji-toggle-btn,.app-header #activity-btn,.app-header #progress-menu-btn{justify-content:center;align-items:center;width:2.4rem;height:2.4rem;padding:0;display:inline-flex}.app-header #help-btn{font-size:1rem}.app-header .btn-icon svg{width:18px;height:18px}.app-header #session-timer-btn.is-running{width:auto;padding:0 .7em}.app-header #session-timer-btn.is-paused{opacity:.65}.app-header{z-index:50;position:relative;overflow-x:clip}.app-header [data-hint]{position:relative}.app-header [data-hint]:after{content:attr(data-hint);z-index:40;font-family:var(--font-display);white-space:nowrap;color:var(--black);background:var(--white);border:2px solid var(--black);box-shadow:3px 3px 0 var(--black);opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;padding:.35rem .6rem;font-size:.78rem;font-weight:600;line-height:1.2;transition:opacity .15s,visibility 0s linear .15s;position:absolute;top:calc(100% + .55rem);left:0}.app-header .header-actions [data-hint]:after{left:auto;right:0}@media (hover:hover){.app-header [data-hint]:hover:after{opacity:1;visibility:visible;transition:opacity .15s .45s,visibility 0s linear .45s}}.app-header [data-hint]:focus-visible:after{opacity:1;visibility:visible;transition:none}.app-header [data-hint][aria-expanded=true]:after{display:none}.progress-menu{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);min-width:240px;box-shadow:var(--shadow-sm);z-index:30;flex-direction:column;display:none;position:absolute;top:calc(100% + .5rem);right:0;overflow:hidden}.progress-menu.is-open{display:flex}.progress-menu-hint{color:var(--black);opacity:.75;border-bottom:var(--border) solid var(--black);margin:0;padding:.7rem .9rem .6rem;font-size:.72rem;line-height:1.4}.progress-menu-item{background:var(--white);width:100%;color:var(--black);font-family:var(--font-display);text-align:left;cursor:pointer;border:none;padding:.65rem .9rem;font-size:.85rem;font-weight:600;display:block}@media (hover:hover){.progress-menu-item:hover{background:var(--hero-yellow)}}.progress-menu-item+.progress-menu-item{border-top:var(--border) solid var(--black)}.progress-status{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);font-family:var(--font-display);color:var(--black);white-space:nowrap;opacity:0;pointer-events:none;z-index:30;padding:.4rem .75rem;font-size:.75rem;font-weight:600;transition:opacity .15s;position:absolute;top:calc(100% + .5rem);right:0}.progress-status.is-visible{opacity:1}.progress-status.is-error{background:var(--red-note)}.btn-sm{box-shadow:var(--shadow-sm);padding:.5em .9em;font-size:.8rem}@media (hover:hover){.btn-sm:hover{box-shadow:5px 5px 0px var(--black)}}.btn-sm:active{box-shadow:0px 0px 0px var(--black);transform:translate(3px,3px)}.deck-select-screen{max-width:900px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.deck-select-screen h2{margin-bottom:1.5rem;font-size:1.5rem}.deck-select-screen .subhead{color:var(--black);margin:0 0 1.5rem;font-size:.95rem}.deck-grid{flex-wrap:wrap;gap:1.1rem;margin-bottom:3rem;display:flex}.deck-grid>.deck-tile{height:auto}.deck-grid>.deck-tile>.stat-pill{margin-top:auto}.deck-tile{text-align:center;border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--white);cursor:pointer;font-family:var(--font-display);transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);flex-direction:column;flex:22%;align-items:center;gap:1.75rem;height:100%;padding:2rem 1.25rem;display:flex;position:relative}@media (hover:hover){.deck-grid>.deck-tile:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.02)}}@media (width<=700px){.deck-tile{flex-basis:45%}}.deck-tile:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.deck-tile:nth-child(4n+1){background:var(--red-note)}.deck-tile:nth-child(4n+2){background:var(--pink-note)}.deck-tile:nth-child(4n+3){background:var(--yellow)}.deck-tile:nth-child(4n+4){background:var(--green-note)}#deck-grid .deck-tile,.category-grid .deck-tile{gap:1.4rem;padding:1.6rem 1rem}#deck-grid .deck-tile{background:#fdf7e0;gap:.95rem}#deck-grid .deck-tile-art{justify-content:center;align-items:center;max-width:100%;height:4.5rem;display:flex}#deck-grid .deck-tile-art img{object-fit:contain;mix-blend-mode:multiply;width:auto;max-width:100%;height:100%;display:block}#deck-grid .deck-tile-art .deck-tile-sample{font-size:2.8rem}@supports (font-size:1cqi){#deck-grid .deck-tile{container-type:inline-size}#deck-grid .deck-tile .deck-tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.7rem,10.6383cqi,.92rem);overflow:hidden}#deck-grid .stat-pill .stat-line{white-space:nowrap}}@media (width<=360px){#deck-grid .deck-tile{padding-inline:.5rem}}@media (width>=701px){#deck-grid .deck-tile{gap:.6rem;padding:1.2rem 1rem}}.category-grid .deck-tile{background:var(--white)}#deck-grid .deck-tile-sample svg,.category-grid .deck-tile-sample svg{width:1em;height:1em}#deck-grid .deck-tile-name,.category-grid .deck-tile-name{font-size:.92rem}#deck-grid .stat-pill,.category-grid .stat-pill{background:var(--pink);font-size:.68rem}#deck-grid .stat-pill .stat-line,.category-grid .stat-pill .stat-line,.category-grid .stat-pill .stat-due-count{color:var(--black)}.category-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.category-grid .deck-tile-sample{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:1.5rem;overflow:hidden}.category-grid .deck-tile{min-width:0;min-height:164px}.category-grid .deck-tile:has(.deck-tile-sample){gap:.9rem;padding:1.25rem 1rem}@media (hover:hover){.category-grid .deck-tile:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.02)}}.deck-tile-sample{color:var(--black);font-size:3rem;font-weight:700;line-height:1}.deck-tile-sample svg{display:block}.deck-tile-name{color:var(--black);font-size:1.15rem;font-weight:700}.library-actions-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem;display:flex}.deck-select-screen .setup-label{margin-top:2rem}.library-upload-status{opacity:0;margin:1rem 0 0;font-size:.85rem;font-weight:600;transition:opacity .15s}.library-upload-status.is-visible{opacity:1}.library-upload-status.is-error{color:#c0392b}.deck-editor-screen{flex-direction:column;gap:1rem;max-width:900px;margin:0 auto;padding:1.75rem 1.25rem 3rem;display:flex}.deck-editor-title-row{align-items:center;gap:.6rem;display:flex}.deck-editor-title-row h2{margin:0}.card-tile-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;display:grid}.card-tile{border:var(--border) solid var(--black);border-radius:var(--radius);min-height:120px;box-shadow:var(--shadow-sm);background:var(--white);text-align:center;font-family:var(--font-display);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:1.6rem .6rem .7rem;display:flex;position:relative}.card-tile-actions{gap:.3rem;display:flex;position:absolute;top:.4rem;right:.4rem}.card-tile-action-btn{border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);width:1.7rem;height:1.7rem;box-shadow:var(--shadow-sm);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex}.card-tile{min-width:0}.card-tile-kana,.card-tile-romaji,.card-tile-english,.card-tile-notes,.kana-big,.answer-feedback,.card-note-hint,.deck-tile-name{overflow-wrap:anywhere;max-width:100%}.card-tile-kana{font-size:1.35rem;font-weight:700}.card-tile-romaji{font-family:var(--font-mono);opacity:.75;font-size:.7rem}.card-tile-english{font-size:.8rem}.card-tile-notes{opacity:.7;font-size:.7rem;font-style:italic}.card-list-empty{color:var(--black);opacity:.7;font-size:.9rem}.btn-danger{background:var(--red-note);color:var(--black)}.cta-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid;position:relative}.cta-piece{--menu-window:#fdf7e0;min-width:0;font:inherit;text-align:left;color:var(--black);background:var(--cta-color);border:var(--border) solid var(--black);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);border-radius:18px;flex-direction:column;gap:.65rem;padding:.75rem .75rem .9rem;display:flex;position:relative}@media (hover:hover){.cta-strip>.cta-piece:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.02)}}.cta-piece-top{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.cta-piece-name{min-width:0;font-family:var(--font-display);font-size:1.1rem;font-weight:700;line-height:1.2}@supports (font-size:1cqi){.cta-piece{container-type:inline-size}.cta-piece-name{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.85rem,15.1515cqi - 12.7273px,1.1rem);overflow:hidden}}.cta-piece-count{font-family:var(--font-mono);white-space:nowrap;background:var(--white);border:2px solid var(--black);border-radius:999px;flex-shrink:0;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.cta-piece-art{aspect-ratio:4/3;background:var(--menu-window);border:var(--border) solid var(--black);border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.cta-piece-art img{object-fit:contain;width:100%;height:100%;padding:.6rem}@media (width>=701px){.cta-piece-art{aspect-ratio:1}}.cta-piece-line{font-size:.85rem;font-weight:500;line-height:1.35}.cta-piece--quiz{--cta-color:var(--teal)}.cta-piece--vocab{--cta-color:var(--red)}.cta-piece--library{--cta-color:var(--hero-pink)}@media (width<=700px){.cta-strip{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:1rem;margin:0 -1.25rem;padding:.5rem 1.25rem .9rem;scroll-padding-inline:1.25rem;display:flex;overflow-x:auto}.cta-strip::-webkit-scrollbar{display:none}.cta-strip>.cta-piece{scroll-snap-align:start;flex:0 0 calc(42.5532% - .851064rem)}}@media (width<=480px){.cta-strip>.cta-piece{flex-basis:min(76%,270px)}}.folder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 1.25rem;margin-top:1.5rem;display:grid}.folder-card{--folder-color:var(--yellow);min-width:0;font:inherit;text-align:left;color:var(--black);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease);background:0 0;border:0;flex-direction:column;padding:1.1rem 0 0;display:flex;position:relative}.folder-card--yellow{--folder-color:var(--yellow)}.folder-card--red{--folder-color:var(--red)}.folder-card--pink{--folder-color:var(--pink)}.folder-card--blue{--folder-color:var(--blue)}.folder-card-tab{background:var(--folder-color);border:var(--border) solid var(--black);border-radius:10px 10px 0 0;width:55%;height:1.9rem;position:absolute;top:0;left:.9rem}.folder-card-body{z-index:1;background:var(--white);border:var(--border) solid var(--black);min-height:9.5rem;box-shadow:var(--shadow);transition:box-shadow var(--glide-time) var(--glide-ease);border-radius:14px;flex-direction:column;flex:1;gap:1.25rem;padding:.9rem .9rem 1rem;display:flex;position:relative}.folder-card-top{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.folder-card-icon{background:var(--folder-color);border:var(--border) solid var(--black);border-radius:10px;flex:none;justify-content:center;align-items:center;width:3.4rem;height:3.4rem;display:flex}.folder-card-counts{font-family:var(--font-mono);text-align:right;white-space:nowrap;color:#333;flex-direction:column;align-items:flex-end;gap:.2rem;font-size:.75rem;display:flex}.folder-card-name{font-family:var(--font-display);overflow-wrap:break-word;margin-top:auto;font-size:1.1rem;font-weight:700;line-height:1.2}@media (hover:hover){.folder-grid>.folder-card:hover{transform:translate(-2px,-2px)}.folder-grid>.folder-card:hover .folder-card-body{box-shadow:6px 6px 0px var(--black)}}.folder-card:active{transform:translate(var(--shadow-off), var(--shadow-off));transition-duration:70ms}.folder-card:active .folder-card-body{box-shadow:0px 0px 0px var(--black);transition-duration:70ms}@media (width<=700px){.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}.folder-card-body{padding:.75rem .7rem .85rem}.folder-card-icon{width:2.6rem;height:2.6rem}.folder-card-icon svg{width:22px;height:22px}.folder-card-counts{font-size:.7rem}.folder-card-name{font-size:.92rem}}@media (width<=360px){.folder-grid{grid-template-columns:minmax(0,1fr)}}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.topic-card{--topic-color:var(--yellow);min-width:0;font:inherit;text-align:center;color:var(--black);background:var(--white);border:var(--border) solid var(--black);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);border-radius:12px;flex-direction:column;padding:0;display:flex;overflow:hidden}.topic-card--yellow{--topic-color:var(--yellow)}.topic-card--red{--topic-color:var(--red)}.topic-card--pink{--topic-color:var(--pink)}.topic-card--blue{--topic-color:var(--blue)}.topic-card-band{background:var(--topic-color);border-bottom:var(--border) solid var(--black);flex:none;height:1rem;display:block}.topic-card-body{flex-direction:column;flex:1;gap:.3rem;min-width:0;padding:.9rem .9rem 1rem;display:flex}.topic-card-kana{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;font-weight:700;line-height:1.25;overflow:hidden}.topic-card-name{overflow-wrap:break-word;margin-bottom:.6rem;font-size:1rem;font-weight:700;line-height:1.25}.topic-card-bar{border:2px solid var(--black);background:#fdf7e0;border-radius:999px;height:.75rem;margin-top:auto;display:block;overflow:hidden}.topic-card-bar>span{width:var(--learned,0%);background:var(--topic-color);height:100%;display:block}.topic-card-count{font-family:var(--font-mono);font-size:.72rem}@supports (font-size:1cqi){.topic-card{container-type:inline-size}.topic-card-kana{font-size:clamp(.95rem,16.6667cqi - .3rem,1.6rem)}.topic-card-kana--long{font-size:clamp(.95rem,11.7647cqi - .211765rem,1.6rem)}}@media (hover:hover){.topic-grid>.topic-card:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)}}.topic-card:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black);transition-duration:70ms}@media (width<=700px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.topic-card-body{padding:.75rem .7rem .85rem}.topic-card-name{font-size:.92rem}}.footer-doodle{z-index:2;cursor:pointer;width:260px;max-width:60%;height:auto;filter:drop-shadow(4px 4px 0px var(--black));background:0 0;border:0;margin:5.625rem auto 0;padding:0;transition:transform 80ms,filter 80ms;display:block;position:relative;transform:rotate(-4deg)translateY(-50px)}.footer-doodle img{width:100%;height:auto;display:block}@media (hover:hover){.footer-doodle:hover{filter:drop-shadow(6px 6px 0px var(--black));transform:rotate(-4deg)translateY(-52px)translate(-2px,-2px)scale(1.03)}}.footer-doodle:active{filter:drop-shadow(0px 0px 0px var(--black));transform:rotate(-4deg)translateY(-48px)translate(2px,2px)scale(.98)}.site-footer{background:var(--black);align-items:center;min-height:12.6rem;margin-top:-9.5rem;padding:4.5rem 1.25rem 1.75rem;display:flex;position:relative}.site-footer-inner{flex-direction:column;align-items:center;gap:.45rem;width:100%;padding-bottom:.4rem;display:flex}.site-footer-credit,.site-footer-copy{color:var(--hero-yellow);text-align:center;margin:0;font-size:.8rem}.site-footer-copy{font-family:var(--font-mono);font-size:.72rem}.site-footer-wordmark{text-align:center;width:100%;max-width:900px;font-family:"Honey Basil", var(--font-display);letter-spacing:.03em;color:var(--hero-yellow);margin:0 auto;font-size:min(4.95rem,20.8333vw - .625rem);font-weight:400;display:block}.deck-overview-screen{flex-direction:column;gap:1.1rem;max-width:420px;margin:0 auto;padding:1.75rem 1.25rem 3rem;display:flex}.deck-overview-screen h2{font-size:1.5rem}.deck-overview-screen .subhead{color:var(--black);margin:-.6rem 0 0;font-size:.9rem}.overview-rules{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:left;color:var(--black);margin:0;padding:1rem;font-size:.9rem;line-height:1.5}.overview-rules>p{margin:0 0 .75rem}.reader-cat{float:right;width:calc(16 * var(--cat-px));height:calc(16 * var(--cat-px));background-repeat:no-repeat;background-size:calc(var(--frames) * 100%) 100%;background-position:calc(var(--frame,0) / (var(--frames) - 1) * 100%) 0;image-rendering:pixelated;margin:0 0 .3rem .7rem}.read-word{transition:opacity .12s}.read-word.is-waiting{opacity:0}.has-reader{cursor:pointer}.rule-group{border:3px solid var(--black);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);margin:0 0 .6rem;overflow:hidden}.rule-group:last-child{margin-bottom:0}.rule-group-title{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--glide-time,.3s) var(--glide-ease,ease);background:#fdf7e0;align-items:center;gap:.75rem;margin:0;padding:.7rem .85rem;font-weight:700;list-style:none;display:flex}.rule-group-title::-webkit-details-marker{display:none}.rule-group-kana{letter-spacing:.12em;white-space:nowrap;margin-left:auto;font-weight:500}.rule-group-title:after{content:"";width:.5rem;height:.5rem;transition:transform var(--glide-time,.3s) var(--glide-ease,ease);border-bottom:3px solid;border-right:3px solid;flex:none;transform:translateY(-2px)rotate(45deg)}.rule-group-title:focus-visible{outline-offset:-6px}.rule-group[open]>.rule-group-title{background:var(--teal)}.rule-group[open]>.rule-group-title:after{transform:translateY(2px)rotate(-135deg)}@media (hover:hover){.rule-group:not([open])>.rule-group-title:hover{background:var(--teal)}}.rule-group-body{border-top:3px solid var(--black);padding:.85rem}.help-faq{text-align:left;margin:.4rem 0 1.2rem}.help-faq .help-line{margin:0}.help-faq .rule-group-name{flex:1}.rule-group-hint{border-left:4px solid var(--black);margin:0 0 .85rem;padding-left:.7rem;font-size:.85rem;font-style:italic}.rule-list{grid-template-columns:repeat(auto-fit,minmax(6.2rem,1fr));gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.rule-item{border:2px solid var(--black);border-radius:var(--radius);text-align:center;background:#fdf7e0;flex-direction:column;align-items:center;gap:.1rem;min-width:0;padding:.55rem .4rem;display:flex}.rule-item--exception{background:var(--amber);text-align:left;flex-flow:wrap;grid-column:1/-1;justify-content:flex-start;gap:.15rem .85rem;padding:.55rem .8rem}.rule-kana{font-size:1.7rem;font-weight:700;line-height:1.1}.rule-sound{font-family:var(--font-mono);white-space:nowrap;font-size:.8rem}.rule-note{color:var(--black);flex:12rem;font-size:.8rem;font-style:italic}.overview-limits{text-align:center;margin:-.35rem 0 0;font-size:.85rem}.overview-stats{border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;overflow:hidden}.overview-stat{background:var(--white);flex-direction:column;flex:1;align-items:center;gap:.35rem;padding:1.1rem .5rem;display:flex}.overview-stat+.overview-stat{border-left:3px solid var(--black)}.overview-stat-label{font-family:var(--font-mono);color:var(--black);text-align:center;text-transform:uppercase;letter-spacing:.03em;font-size:.7rem}.overview-stat-value{margin-top:auto;font-size:1.9rem;font-weight:700}.overview-stat-value.learning,.overview-stat-value.review{color:var(--black)}.main-area{background-color:var(--teal);opacity:1;flex:1}.main-area--browse{background-color:var(--teal);background-image:none}.app-header--browse{background:var(--teal)}.main-area--split{background:0 0;flex-direction:column;display:flex}.hero-band{isolation:isolate;background:var(--hero-pink);padding:calc(5.95rem - 10px) 1.5rem;position:relative}.hero-band:after{content:"";background:var(--hero-pink);z-index:-1;pointer-events:none;height:15px;position:absolute;bottom:-15px;left:0;right:0}.hero-band-inner{text-align:center;max-width:900px;margin:0 auto}.hero-logo-ring{width:100%;max-width:460px;margin:0 auto;position:relative}.hero-logo-ring-img{width:100%;height:auto;display:block}.hero-cat-stage{z-index:1;position:absolute;top:51.1%;left:50%;transform:translate(-50%,-66.667%)}.cat-sprite-idle{width:var(--cat-w,140px);height:var(--cat-h,105px);image-rendering:pixelated;background-repeat:no-repeat}.wave-divider{z-index:1;pointer-events:none;height:60px;position:absolute;bottom:-30px;left:0;right:0}.wave-divider svg{width:100%;height:100%;display:block;overflow:visible}.wave-fill{fill:var(--hero-yellow);stroke:none}.wave-line{fill:none;stroke:var(--black);stroke-width:5px;stroke-linejoin:round;stroke-linecap:round}.content-band{background-color:var(--hero-yellow);flex:1;padding-top:2.5rem}.hero-page .app-header{background:var(--hero-pink);border-bottom:var(--border-thick) solid var(--black)}.grid-screen{max-width:900px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.grid-screen h2{margin-bottom:.25rem;font-size:1.5rem}.grid-screen .subhead{color:var(--black);margin:0 0 1.5rem;font-size:.95rem}.stat-row{flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem;display:flex}.stat-pill{background:var(--white);border:3px solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);font-size:.85rem;font-family:var(--font-mono);padding:.4em .8em}.stat-pill .stat-line{line-height:1.4;display:block}.stat-due-count{color:#c0392b;font-weight:700}.kana-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.7rem;display:grid}.kana-tile{aspect-ratio:1;border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--white);cursor:pointer;font-family:var(--font-display);transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:relative}@media (hover:hover){.kana-tile:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.03)}}.kana-tile:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.kana-tile .kana{font-size:1.7rem;font-weight:700}.kana-tile .romaji{font-family:var(--font-mono);margin-top:.15rem;font-size:.65rem}.kana-grid--vocab{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.kana-grid--vocab .kana-tile{aspect-ratio:auto;height:120px;padding:.6rem .5rem;overflow:hidden}.kana-grid--vocab .kana-tile .kana{text-align:center;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:1.15rem;line-height:1.25;display:-webkit-box;overflow:hidden}.kana-grid--vocab .kana-tile .romaji{text-align:center;overflow-wrap:break-word;word-break:break-word;max-width:100%;padding:0 .15rem;font-size:.7rem;line-height:1.25}.kana-tile.due{background:var(--pink-note)}.kana-tile .due-dot{background:var(--pink);border:2px solid var(--black);border-radius:50%;width:14px;height:14px;position:absolute;top:-6px;right:-6px}.kana-tile.new .romaji:after{content:" ·new"}.practice-screen{flex-direction:column;flex:1;align-items:center;gap:1.25rem;padding:1.75rem 1.25rem 2.5rem;display:flex}.practice-progress{font-family:var(--font-mono);color:var(--black);font-size:.8rem}.browse-card-screen{flex-direction:column;flex:1;align-items:center;gap:1.25rem;padding:1.75rem 1.25rem 2.5rem;display:flex}.browse-nav-row{gap:.6rem;width:100%;max-width:380px;display:flex}.browse-nav-row .btn:disabled{opacity:.4;cursor:default;box-shadow:var(--shadow-sm)}@media (hover:hover){.browse-nav-row .btn:disabled:hover{transform:none}}.quiz-setup-screen .browse-nav-row{margin-top:1.4rem}.flashcard{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);width:100%;max-width:380px;min-height:340px;box-shadow:8px 8px 0px var(--black);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.75rem 1.5rem;display:flex}#quiz-area{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.flashcard .doodle,.card-back-modal .doodle{width:calc(140px * var(--doodle-scale,1));justify-content:center;align-items:center;height:140px;display:flex;overflow:hidden}.flashcard .doodle--wide,.card-back-modal .doodle--wide{width:200px}.flashcard .doodle img,.flashcard .doodle canvas,.card-back-modal .doodle img,.card-back-modal .doodle canvas{object-fit:contain;width:100%;height:100%;display:block}.flashcard .doodle[style*=--doodle-scale],.card-back-modal .doodle[style*=--doodle-scale]{overflow:visible}.flashcard .doodle[style*=--doodle-scale] img,.card-back-modal .doodle[style*=--doodle-scale] img{flex:none;height:auto}.flashcard .kana-big,.card-back-modal .kana-big{font-size:3.5rem;font-weight:700}.flashcard .mnemonic,.card-back-modal .mnemonic{max-width:30em;min-height:2.8em;font-size:1rem;line-height:1.4}.replay-audio-btn{width:2.4rem;height:2.4rem;padding:.5em}.icon-speaker{display:block}.mnemonic-highlight{color:var(--black);text-transform:uppercase;font-weight:700}.mnemonic-hint{color:var(--black);margin-top:.5rem;font-size:.85rem;font-style:italic;display:inline-block}.mnemonic-hint .mnemonic-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#ffa8a8;border-radius:4px;padding:.05em .3em .05em .2em}.answer-form{flex-direction:column;gap:.75rem;width:100%;display:flex}.answer-form .text-input{text-align:center;font-size:1.1rem}.answer-feedback{font-size:1.05rem;font-weight:700}.answer-feedback.correct,.answer-feedback.incorrect{color:var(--black)}.practice-actions{gap:.6rem;width:100%;max-width:380px;display:flex}.practice-actions .btn{flex-direction:column;flex:1;gap:.15rem;padding:.65em .5em}.btn-again{color:var(--black);background:#ff9497}.btn-hard{background:var(--amber);color:var(--black)}.btn-good{background:var(--pink);color:var(--black)}.btn-easy{background:var(--blue);color:var(--black)}.key-hint{font-family:var(--font-mono);opacity:.7;letter-spacing:.02em;font-size:.65rem;font-weight:500;display:block}.practice-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.quiz-setup-screen{max-width:440px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.quiz-setup-screen h2{margin-bottom:.25rem;font-size:1.5rem}.quiz-setup-screen .subhead{color:var(--black);margin:0 0 1.5rem;font-size:.9rem}.setup-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--black);margin:0 0 .4rem;font-size:.75rem}.toggle-row{flex-wrap:wrap;gap:.6rem;margin:0 0 1.4rem;display:flex}.toggle-chip{border:3px solid var(--black);border-radius:var(--radius);background:var(--white);color:var(--black);font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease), background var(--glide-time) var(--glide-ease), color var(--glide-time) var(--glide-ease);padding:.55em 1em;font-size:.9rem;font-weight:600}@media (hover:hover){.toggle-chip:hover{box-shadow:5px 5px 0px var(--black);transform:translate(-2px,-2px)}}.toggle-chip:active{box-shadow:0px 0px 0px var(--black);transform:translate(3px,3px)}.toggle-chip.active{background:var(--pink);color:var(--black)}.setup-best{font-family:var(--font-mono);color:var(--black);margin:0 0 1.25rem;font-size:.8rem}.select-menu{max-width:10rem;margin:0 0 1.4rem;position:relative}.select-menu-button{border:3px solid var(--black);border-radius:var(--radius);background:var(--pink);width:100%;color:var(--black);font-family:var(--font-display);text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);justify-content:space-between;align-items:center;gap:.75rem;padding:.55em 1em;font-size:.9rem;font-weight:600;display:flex}@media (hover:hover){.select-menu-button:hover{box-shadow:5px 5px 0px var(--black);transform:translate(-2px,-2px)}}.select-menu-button:active{box-shadow:0px 0px 0px var(--black);transform:translate(3px,3px)}.select-menu-chevron{flex:none;transition:transform .12s}.select-menu--open .select-menu-chevron{transform:rotate(180deg)}.select-menu-list{z-index:20;border:3px solid var(--black);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:absolute;top:calc(100% + .4rem);left:0;right:0;overflow:hidden}.select-menu-list[hidden]{display:none}.select-menu-option{border:0;border-bottom:2px solid var(--black);background:var(--white);color:var(--black);font-family:var(--font-display);text-align:left;cursor:pointer;padding:.65em 1em;font-size:.9rem;font-weight:600}.select-menu-option:last-child{border-bottom:0}.select-menu-option.active{background:var(--pink)}@media (hover:hover){.select-menu-option:not(.active):hover{background:var(--blue)}}.select-menu-option:focus-visible,.select-menu-button:focus-visible{outline:3px solid var(--black);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.select-menu--open .select-menu-list{animation:select-menu-unfold var(--glide-time) var(--glide-ease)}}@keyframes select-menu-unfold{0%{clip-path:inset(0 -8px 100%)}to{clip-path:inset(0 -8px -8px)}}.timer-switch{color:var(--black);font-family:var(--font-display);cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;margin:0 0 1.4rem;padding:0;font-size:.95rem;font-weight:600;display:inline-flex}.timer-switch-track{border:3px solid var(--black);background:var(--cream);width:3.75rem;height:2.1rem;box-shadow:var(--shadow-sm);transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease), background var(--glide-time) var(--glide-ease);border-radius:999px;flex:none;position:relative}.timer-switch-knob{border:3px solid var(--black);background:var(--white);width:1.35rem;height:1.35rem;transition:left var(--glide-time) var(--glide-ease);border-radius:50%;position:absolute;top:50%;left:.2rem;transform:translateY(-50%)}.timer-switch[aria-checked=true] .timer-switch-track{background:var(--pink)}.timer-switch[aria-checked=true] .timer-switch-knob{left:calc(100% - 1.55rem)}@media (hover:hover){.timer-switch:hover .timer-switch-track{box-shadow:5px 5px 0px var(--black);transform:translate(-2px,-2px)}}.timer-switch:active .timer-switch-track{box-shadow:0px 0px 0px var(--black);transform:translate(3px,3px)}.timer-switch:focus-visible{outline:none}.timer-switch:focus-visible .timer-switch-track{outline:3px solid var(--black);outline-offset:3px}.timed-options{display:flow-root}.timed-options[hidden]{display:none}.quiz-sources{margin:0 0 1.4rem}.btn-disabled{opacity:.4;cursor:not-allowed}@media (hover:hover){.btn-disabled:hover{box-shadow:var(--shadow);transform:none}}.quiz-play-screen{flex-direction:column;align-items:center;gap:1.1rem;max-width:460px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;display:flex}.quiz-topbar{justify-content:flex-end;align-items:center;width:100%;display:flex}.quiz-score{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.quiz-timer-track{border:2px solid var(--black);background:var(--white);border-radius:4px;width:100%;height:10px;overflow:hidden}.quiz-timer-fill{background:var(--red);width:100%;height:100%}.quiz-prompt{text-align:center}.quiz-prompt .prompt-hint{color:var(--black);margin:0 0 .3rem;font-size:.85rem}.quiz-prompt .romaji-huge{font-family:var(--font-mono);margin:0;font-size:2.4rem;font-weight:700}.quiz-options{grid-template-columns:1fr 1fr;gap:.8rem;width:100%;display:grid}.quiz-option{aspect-ratio:1.5;font-family:var(--font-display);border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);cursor:pointer;justify-content:center;align-items:center;font-size:2.1rem;font-weight:700;transition:transform 80ms,box-shadow 80ms,background .1s,color .1s;display:flex}@media (hover:hover){.quiz-option:hover:not(:disabled){box-shadow:6px 6px 0px var(--black);transform:translate(-1px,-1px)scale(1.02)}}.quiz-option:active:not(:disabled){transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.quiz-option.correct{background:linear-gradient(#22c55e73, #22c55e73), var(--white);color:var(--black)}.quiz-option.incorrect{background:linear-gradient(#ef444473, #ef444473), var(--white);color:var(--black)}.quiz-option:disabled{cursor:default}.quiz-score-screen{text-align:center;flex-direction:column;align-items:center;gap:.9rem;max-width:460px;margin:0 auto;padding:1.75rem 1.25rem 3rem;display:flex}.quiz-final-score{color:var(--black);margin:0;font-size:2.6rem;font-weight:700}.quiz-new-best{color:var(--black);margin:0;font-weight:700}.quiz-missed{text-align:left;width:100%;margin-top:.5rem}.quiz-missed-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.quiz-missed-chip{border:3px solid var(--black);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);font-weight:700;font-family:var(--font-display);color:var(--black);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);align-items:baseline;gap:.3rem;padding:.35em .6em;font-size:1rem;display:flex}@media (hover:hover){.quiz-missed-chip:hover{box-shadow:5px 5px 0px var(--black);transform:translate(-2px,-2px)scale(1.02)}}.quiz-missed-chip:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.quiz-missed-romaji{font-family:var(--font-mono);color:var(--black);font-size:.7rem;font-weight:500}.game-topbar{justify-content:space-between}.game-lives{gap:.3rem;display:flex}.clock-rush-screen .lesson-prompt-jp{font-size:clamp(1.45rem,7.4vw,1.9rem)}.clock-rush-word{white-space:nowrap;display:inline-block}.game-finish-btn{background:var(--red);align-self:center;min-width:10rem;margin-top:.4rem}.game-heart{width:1.4rem;height:1.4rem}.game-heart path{fill:var(--red);stroke:var(--black);stroke-width:2px;stroke-linejoin:round}.game-heart--lost path{fill:#0000}.clock-rush-missed-list{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.clock-rush-missed-row{background:var(--white);border:3px solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;padding:.45rem .6rem;display:flex}.clock-rush-missed-row .lesson-square-clock{flex:none;font-size:1.1rem}.clock-rush-missed-words{flex-direction:column;min-width:0;display:flex}.clock-rush-missed-kana{font-family:var(--font-display);overflow-wrap:anywhere;font-size:1rem;font-weight:700}.convo-screen{gap:.8rem;max-width:520px}.convo-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;text-align:center;margin:0;font-size:.8rem;font-weight:700}.convo-chat{flex-direction:column;gap:.5rem;width:100%;display:flex}.convo-line{flex-direction:column;align-items:flex-start;gap:.15rem;max-width:92%;display:flex}.convo-line--right{align-self:flex-end;align-items:flex-end}.convo-line--s0{--speaker:var(--blue)}.convo-line--s1{--speaker:var(--pink-note)}.convo-line--s2{--speaker:var(--green-note)}.convo-line--s3{--speaker:var(--amber)}.convo-line--s4{--speaker:var(--purple-note)}.convo-name{font-family:var(--font-mono);background:var(--speaker);border:2px solid var(--black);border-radius:999px;padding:.05rem .55rem;font-size:.68rem;font-weight:700}.convo-bubble{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;gap:.1rem;padding:.45rem .7rem;display:flex;position:relative}.convo-kana{font-feature-settings:"palt";word-break:keep-all;overflow-wrap:anywhere;font-size:1.15rem;font-weight:700;line-height:1.35}.convo-romaji{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.68rem;line-height:1.3}.convo-english{color:#4a4a4a;font-size:.78rem;line-height:1.3}.convo-blank{vertical-align:-.12em;background:var(--cream);border-bottom:3px solid var(--black);border-radius:3px 3px 0 0;min-width:3.4em;height:1.05em;margin:0 .1em;display:inline-block}.convo-blank--romaji{vertical-align:-.08em;border-bottom-width:2px;min-width:2.6em;height:.9em}.convo-blank--filled{background:linear-gradient(#22c55e73, #22c55e73), var(--white);border-bottom-color:#0000;border-radius:4px;min-width:0;height:auto;padding:0 .2em}.convo-speaker{position:absolute;top:.3rem;right:.4rem}.convo-screen .lesson-squares--stack{grid-template-columns:minmax(0,1fr)}.convo-screen .lesson-squares--stack .lesson-square{min-height:3.4rem}.convo-feedback{width:100%}.convo-review-list{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.convo-review-row{background:var(--white);border:3px solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.1rem;padding:.45rem .7rem;display:flex}.convo-review-kana{word-break:keep-all;overflow-wrap:anywhere;font-size:1.05rem;font-weight:700}.convo-hl{color:var(--black);background:var(--amber);border-radius:3px;padding:0 .15em}@media (width<=480px){.kana-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.kana-grid--vocab{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.practice-actions{flex-direction:row}.app-header .brand span.tag{display:none}.footer-doodle{width:195px;max-width:45%;transform:rotate(-4deg)translateY(-65px)}@media (hover:hover){.footer-doodle:hover{transform:rotate(-4deg)translateY(-67px)translate(-2px,-2px)scale(1.03)}}.footer-doodle:active{transform:rotate(-4deg)translateY(-63px)translate(2px,2px)scale(.98)}.cat-sprite-idle{width:160px;height:120px}.cat-stage{margin-top:-43px}.hero-band{padding-top:calc(2.5rem - 10px);padding-bottom:calc(2.5rem - 10px)}.category-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.category-grid .deck-tile{gap:.4rem;min-height:0;padding:.8rem .6rem}.category-grid .deck-tile:has(.deck-tile-sample){gap:.3rem;padding:.65rem .6rem}.category-grid .deck-tile-sample{font-size:1.2rem}.category-grid .deck-tile-name{font-size:.72rem}.category-grid .stat-pill{padding:.25em .5em;font-size:.68rem}}@media (width<=480px) and (prefers-reduced-motion:no-preference){.scroll-reveal{opacity:0;transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .4s cubic-bezier(.22,1,.36,1);transform:translateY(14px)scale(.94)}.scroll-reveal.footer-doodle{transform:rotate(-4deg)translateY(-65px)scale(.85)}.scroll-reveal.is-revealed{opacity:1;transform:translateY(0)scale(1)}.scroll-reveal.footer-doodle.is-revealed{transform:rotate(-4deg)translateY(-65px)scale(1)}#deck-grid .deck-tile:nth-child(2),#deck-grid .deck-tile:nth-child(3){transition-delay:60ms}#deck-grid .deck-tile:nth-child(4){transition-delay:.12s}}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:100;overscroll-behavior:contain;background:#00000059;justify-content:center;align-items:flex-start;padding:1.25rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{z-index:2;background:var(--white);border:var(--border-thick) solid var(--black);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);text-align:center;font-family:var(--font-display);flex-direction:column;align-items:center;gap:1rem;margin:auto;padding:1.85rem 1.5rem;display:flex;position:relative}.modal-close-btn{border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);width:2rem;height:2rem;color:var(--black);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;display:flex;position:absolute;top:.75rem;right:.75rem}@media (hover:hover){.modal-close-btn:hover{box-shadow:5px 5px 0px var(--black);transform:translate(-2px,-2px)scale(1.05)}}.modal-close-btn:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.confetti-piece{z-index:1;border:2px solid var(--black);pointer-events:none;width:10px;height:14px;animation:confetti-fall var(--confetti-duration,2s) linear var(--confetti-delay,0s) forwards;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{transform:translateY(110vh) rotate(var(--confetti-rotate,360deg));opacity:.9}}.modal-card h2{margin:0;font-size:1.35rem}.modal-card form{flex-direction:column;gap:.75rem;width:100%;display:flex}.field-config-section{text-align:left;border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);flex-direction:column;gap:.4rem;width:100%;padding:.75rem .9rem;display:flex}.field-config-heading{text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.85rem}.field-config-hint{text-transform:none;letter-spacing:normal;opacity:.7;margin:0;font-size:.75rem;font-weight:400}.field-config-option{cursor:pointer;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.help-line{margin:0;font-size:.85rem;line-height:1.4}.help-line+.help-line{margin-top:.4rem}.field-config-option input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--black);cursor:pointer}.field-config-error{color:#c0392b;text-align:center;margin:0;font-size:.8rem;font-weight:600}.card-note-hint{opacity:.75;text-align:center;margin:0;font-size:.85rem;font-style:italic}.modal-subhead{color:var(--black);margin:0;font-size:.9rem;line-height:1.4}.timer-done-card{gap:.9rem}.timer-done-card--earned{background:var(--cream)}.timer-done-what,.timer-done-reward,.timer-done-nudge{margin:0}.timer-done-reward{font-weight:700}.timer-done-nudge{font-size:.9rem}.timer-done-card .pomodoro-big-btn{width:100%;font-size:.85rem}.timer-done-close{background:var(--white)}.pomodoro-view,.pomodoro-settings{flex-direction:column;align-items:center;gap:1.1rem;width:100%;display:flex}.pomodoro-view[hidden],.pomodoro-settings[hidden]{display:none}.pomodoro-tabs{gap:.5rem;width:100%;margin-top:1.9rem;display:flex}.pomodoro-tab{border:3px solid var(--black);border-radius:var(--radius);min-width:0;box-shadow:3px 3px 0 var(--black);background:var(--white);color:var(--black);font-family:var(--font-display);cursor:pointer;flex:1;padding:.55rem .25rem;font-size:.78rem;font-weight:700;line-height:1.15}.pomodoro-tab[aria-pressed=true]{background:var(--red)}.pomodoro-time{font-family:"Press Start 2P", var(--font-mono);letter-spacing:.02em;margin:.4rem 0 .2rem;font-size:clamp(2.1rem,12vw,3.3rem);line-height:1.15}.pomodoro-big-btn{background:var(--red);width:80%;font-family:"Press Start 2P", var(--font-mono);letter-spacing:.04em;padding:.95rem .5rem;font-size:1rem}.pomodoro-tools{gap:.8rem;display:flex}.pomodoro-tool{background:var(--red);width:2.9rem;height:2.9rem;padding:0}.pomodoro-settings .setup-label{align-self:flex-start;margin:.4rem 0 -.4rem}.pomodoro-field{justify-content:space-between;align-items:center;gap:.8rem;width:100%;font-weight:600;display:flex}.pomodoro-field .text-input{text-align:center;width:6rem}.pomodoro-settings .timer-switch{align-self:flex-start}.pomodoro-settings .timer-switch[aria-checked=true] .timer-switch-track{background:var(--red)}.pomodoro-error{min-height:1.2em;margin:-.4rem 0 0;font-size:.85rem;font-weight:600}.pet-view{flex-direction:column;align-items:center;gap:.9rem;width:100%;display:flex}.pet-view[hidden]{display:none}.pet-card .pet-heading{font-family:"Press Start 2P", var(--font-mono);margin:1.7rem 0 0;font-size:.95rem;line-height:1.6}.pet-subhead{margin:0;font-size:.9rem;line-height:1.4}.pet-name{flex-direction:column;align-items:center;gap:.3rem;margin:0;line-height:1;display:flex}.pet-main .pet-name{margin-top:1rem}.pet-name-kana{font-family:"DotGothic16", var(--font-display);font-size:2.1rem}.pet-name-romaji{font-family:"Press Start 2P", var(--font-mono);font-size:.6rem}.pet-stage{border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--hero-pink);width:100%;color:inherit;font:inherit;cursor:pointer;justify-content:center;padding:1.1rem 0 calc(1.1rem + min(48px,12vw));display:flex;position:relative}.pet-bubble{z-index:2;align-items:center;gap:calc(var(--u,8px) * .75);color:var(--black);pointer-events:none;flex-direction:column;line-height:1;display:flex;position:absolute;transform:translate(-50%)}.pet-bubble[hidden]{display:none}.pet-bubble-words{visibility:hidden;white-space:nowrap;flex-direction:column;align-items:center;gap:.25rem;display:flex}.pet-bubble[data-step="4"] .pet-bubble-words{visibility:visible}.pet-bubble-dots{align-items:center;gap:calc(var(--u,8px) * .5);flex-direction:column-reverse;display:flex}.pet-bubble-dots i{width:var(--u,8px);height:var(--u,8px);background:var(--black);visibility:hidden}.pet-bubble:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"]) .pet-bubble-dots i:first-child,.pet-bubble:is([data-step="2"],[data-step="3"],[data-step="4"]) .pet-bubble-dots i:nth-child(2),.pet-bubble:is([data-step="3"],[data-step="4"]) .pet-bubble-dots i:nth-child(3){visibility:visible}.pet-bubble-kana{font-family:"DotGothic16", var(--font-display);font-size:1.3rem}.pet-bubble-romaji{font-family:"Press Start 2P", var(--font-mono);font-size:.5rem}.pet-time{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.pet-settings .pet-time .setup-label{align-self:center;margin:0}.pet-clock{align-items:center;gap:.4rem;display:flex}.pet-clock-btn{background:var(--red);width:1.9rem;height:1.9rem;font-family:"Press Start 2P", var(--font-mono);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:0;font-size:.75rem}.pet-clock-time{border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--black);min-width:6.9rem;color:var(--white);font-family:"Press Start 2P", var(--font-mono);text-align:center;white-space:nowrap;padding:.5rem .4rem;font-size:.68rem}.pet-bedtime-note{text-align:left;align-self:flex-start;margin:-.4rem 0 0;font-size:.8rem;line-height:1.4}.pet-sprite{width:min(var(--pet-w), 100%);aspect-ratio:4/3;image-rendering:pixelated;background-repeat:no-repeat;display:block}.pet-meters{flex-direction:column;gap:.4rem;display:flex}.pet-meter{align-items:center;gap:.7rem;display:flex}.pet-meter-count{width:3.4rem;font-family:"Press Start 2P", var(--font-mono);text-align:left;font-size:.62rem}.pet-hearts{grid-template-columns:repeat(4,2.1rem);place-items:center;display:grid}.pet-meter-icon{width:calc(var(--px-w) * var(--px,4px));height:calc(var(--px-h) * var(--px,4px));fill:var(--black)}.pet-meter-icon--empty{opacity:.2}.pet-mood{flex-direction:column;justify-content:center;align-items:center;min-height:2.6rem;margin:0;line-height:1;display:flex}.pet-mood-words,.pet-action-name,.pet-heading-words,.pet-effect-words{flex-direction:column;align-items:center;gap:.3rem;line-height:1;display:flex}.pet-mood-words-kana,.pet-action-name-kana,.pet-heading-words-kana,.pet-section-words-kana,.pet-effect-words-kana{font-family:"DotGothic16", var(--font-display);font-weight:400}.pet-mood-words-kana{font-size:1.3rem}.pet-action-name-kana,.pet-effect-words-kana{font-size:1.05rem}.pet-heading-words-kana{font-size:1.25rem}.pet-mood-words-romaji,.pet-action-name-romaji,.pet-heading-words-romaji,.pet-section-words-romaji,.pet-effect-words-romaji{font-family:"Press Start 2P", var(--font-mono);font-size:.5rem;font-weight:400}.pet-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;width:100%;margin-top:.5rem;display:grid}.pet-action{flex-direction:column;align-items:center;gap:.4rem;display:flex}.pet-action-btn{background:var(--red);justify-content:center;align-items:center;width:100%;min-height:4rem;padding:.6rem .2rem;display:flex;position:relative}.pet-badge{border:var(--border) solid var(--black);background:var(--white);min-width:1.5rem;color:var(--black);font-family:"Press Start 2P", var(--font-mono);border-radius:999px;padding:.28rem .35rem .22rem;font-size:.55rem;line-height:1;position:absolute;top:-.6rem;right:-.5rem}.pet-badge[hidden]{display:none}.pet-action-btn:disabled{background:var(--white);opacity:.5;cursor:default}@media (hover:hover){.pet-action-btn:disabled:hover{box-shadow:var(--shadow);transform:none}}.pet-action-btn:disabled:active{box-shadow:var(--shadow);transform:none}.pet-points{font-family:"Press Start 2P", var(--font-mono);justify-content:center;align-items:center;gap:.55rem;margin:.2rem 0 0;font-size:.85rem;line-height:1;display:flex}.pet-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:100%;display:grid}.pet-pick{border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--hero-pink);color:var(--black);font:inherit;cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);flex-direction:column;align-items:center;gap:.5rem;padding:.7rem .4rem .8rem;display:flex}.pet-pick[aria-pressed=true]{background:var(--red)}.pet-pick .pet-name-kana{white-space:nowrap;font-size:1.3rem}@media (hover:hover){.pet-pick:hover{box-shadow:5px 5px 0 var(--black);transform:translate(-2px,-2px)}}.pet-pick:active{box-shadow:0 0 0 var(--black);transform:translate(3px,3px)}.pet-settings .setup-label{align-self:flex-start;margin:.4rem 0 -.4rem}.pet-settings>.setup-label:first-child{margin-top:1.6rem}.pet-card .modal-close-btn{background:var(--red)}.pet-card .pet-corner-btn{right:auto}.pet-card .pet-romaji-btn{left:.75rem}.pet-card .pet-help-btn{font-family:"Press Start 2P", var(--font-mono);font-size:.7rem;left:3.35rem}.pet-card .pet-gear-btn{left:5.95rem}.pet-card .pet-gear-btn[hidden]{display:none}.pet-corner-btn svg{width:1.05rem;height:1.05rem}.pet-help-faq{text-align:left;width:100%}.pet-shop-bag{font-family:"Press Start 2P", var(--font-mono);justify-content:center;align-items:center;gap:.45rem;margin:-.6rem 0 0;font-size:.7rem;line-height:1;display:flex}.pet-shop-bag.is-bumped{animation:.35s ease-out pet-bump}.pet-item{position:relative}.pet-item.is-bought .pet-item-icon{animation:.4s ease-out pet-item-hop}.pet-item-plus{font-family:"Press Start 2P", var(--font-mono);pointer-events:none;font-size:.7rem;animation:.8s ease-out forwards pet-plus-float;position:absolute;top:.2rem;left:2.2rem}.pet-item-btn[aria-disabled=true]{background:var(--white);opacity:.5}.pet-item-btn.is-shaking{animation:.3s linear pet-shake}@keyframes pet-item-hop{40%{transform:translateY(-8px)scale(1.2)}}@keyframes pet-plus-float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1.6rem)}}@keyframes pet-bump{50%{transform:scale(1.15)}}@keyframes pet-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pet-card .pet-heading--small{justify-content:center;align-items:center;gap:.7rem;margin-top:1.4rem;font-size:.85rem;display:flex}.pet-items{flex-direction:column;gap:.55rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.pet-item{border:var(--border) solid var(--black);border-radius:var(--radius);background:var(--white);text-align:left;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.5rem .6rem;display:grid}.pet-item-icon{justify-content:center;align-items:center;height:2.6rem;display:flex}.pet-item-icon .pet-meter-icon{max-height:2.6rem}.pet-item-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.pet-item-name{font-weight:700;line-height:1.2}.pet-item-kana{font-family:"DotGothic16", var(--font-display);font-size:1.05rem;font-weight:400}.pet-item-romaji{font-size:.75rem;font-weight:600}.pet-item-count{font-family:"Press Start 2P", var(--font-mono);font-size:.6rem}.pet-item-effect{align-items:center;min-height:1.4rem;display:flex}.pet-effect{flex-wrap:wrap;align-items:center;gap:.3rem .9rem;display:flex}.pet-effect-chip{align-items:center;gap:.3rem;display:inline-flex}.pet-effect-plus{font-family:"Press Start 2P", var(--font-mono);font-size:.6rem}.pet-effect-words{align-items:flex-start}.pet-game-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;width:100%;display:grid}.pet-game-btn{background:var(--red);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:7.2rem;padding:.8rem .2rem;display:flex}.pet-slots{justify-content:center;align-items:center;gap:.8rem;margin:0;display:flex}.pet-slot-coins{gap:.4rem;display:flex}.pet-pixel{fill:var(--black)}.pet-game{gap:1rem;padding-top:2.6rem}#pet-game-area{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.pet-game-round{font-family:"Press Start 2P", var(--font-mono);margin:0;font-size:.8rem}.pet-q-romaji{font-family:"Press Start 2P", var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:2.2rem}.pet-listen{border:var(--border) solid var(--black);border-radius:var(--radius);width:5.2rem;height:4.4rem;box-shadow:var(--shadow-sm);background:var(--yellow);cursor:pointer;justify-content:center;align-items:center;display:flex}.pet-listen:active{box-shadow:none;transform:translate(2px,2px)}.pet-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;width:100%;display:grid}.pet-tile{border:var(--border) solid var(--black);border-radius:var(--radius);min-height:5.2rem;box-shadow:var(--shadow);background:var(--white);color:var(--black);font-family:"DotGothic16", var(--font-display);cursor:pointer;font-size:2.6rem;line-height:1}@media (hover:hover){.pet-tile:not(:disabled):hover{background:var(--yellow)}}.pet-tile:not(:disabled):active{box-shadow:none;transform:translate(2px,2px)}.pet-tile:disabled{cursor:default;opacity:1}.pet-tile.is-right{background:var(--teal)}.pet-tile.is-wrong{background:var(--red);animation:.3s linear pet-shake}.pet-memory{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;width:100%;display:grid}.pet-mcard{aspect-ratio:4/5;border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--pink);color:var(--black);cursor:pointer;position:relative}.pet-mcard:before{content:"?";font-family:"Press Start 2P", var(--font-mono);justify-content:center;align-items:center;font-size:1.3rem;display:flex;position:absolute;inset:0}.pet-mcard-face{border-radius:calc(var(--radius) - 2px);background:var(--white);justify-content:center;align-items:center;display:none;position:absolute;inset:0}.pet-mcard-face--kana{font-family:"DotGothic16", var(--font-display);font-size:2rem}.pet-mcard-face--romaji{font-family:"Press Start 2P", var(--font-mono);text-transform:uppercase;font-size:.8rem}.pet-mcard.is-up .pet-mcard-face,.pet-mcard.is-matched .pet-mcard-face{display:flex}.pet-mcard.is-matched .pet-mcard-face{background:var(--teal)}.pet-game-quit{background:var(--white);font-family:"DotGothic16", var(--font-display);align-self:center;padding:.5rem 1.2rem;font-size:1rem}.pet-result{gap:1.1rem;padding-top:2.8rem}.pet-score{align-items:center;gap:.5rem;display:flex}.pet-result-actions{gap:.8rem;display:flex}.pet-result-actions .pet-item-btn{min-width:7.5rem;padding:.8rem .9rem}.pet-shop-groups{flex-direction:column;gap:.55rem;width:100%;display:flex}.pet-section{text-align:left;margin:.5rem 0 0}.pet-section-words{align-items:baseline;gap:.6rem;display:flex}.pet-section-words-kana{font-size:1.1rem}.pet-item--skill{background:var(--yellow)}.pet-item-owned{justify-content:center;align-items:center;min-width:4.2rem;padding:.6rem .5rem;display:flex}.pet-item-plus--kana{font-family:"DotGothic16", var(--font-display);font-size:.95rem}.pet-item-btn.pet-item-btn--kana{font-family:"DotGothic16", var(--font-display);font-size:1rem;font-weight:400}.pet-item-btn{background:var(--red);min-width:4.2rem;font-family:"Press Start 2P", var(--font-mono);padding:.6rem .5rem;font-size:.65rem}.pet-item-btn:disabled{background:var(--white);opacity:.5;cursor:default}.pet-bag-empty{margin:0}.pet-cheer{z-index:70;border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--white);white-space:nowrap;align-items:center;gap:.6rem;padding:.45rem .9rem .45rem .5rem;animation:.25s ease-out pet-cheer-in;display:flex;position:fixed;bottom:1.2rem;left:50%;transform:translate(-50%)}.pet-cheer .pet-still{--s:2}.pet-cheer-text{font-family:"Press Start 2P", var(--font-mono);font-size:.6rem}@keyframes pet-cheer-in{0%{opacity:0;transform:translate(-50%,1rem)}}.pet-still{--s:6;width:calc(18px * var(--s));height:calc(16px * var(--s));background-repeat:no-repeat;background-size:calc(var(--sheet-w) * var(--s) * 1px) calc(var(--sheet-h) * var(--s) * 1px);background-position:calc(var(--fx) * var(--s) * -1px) calc(var(--fy) * var(--s) * -1px);image-rendering:pixelated;display:block}@media (width<=360px){.pet-still{--s:5}}@media (width<=480px){.pet-view{gap:.7rem}.pet-name-kana{font-size:1.8rem}.pet-card .pet-heading{font-size:.85rem}.pet-stage{padding:.6rem 0 calc(.6rem + min(48px,12vw))}}.session-complete-card{background:var(--cream)}.session-complete-best{font-family:var(--font-mono);margin:0;font-size:.85rem}.lesson-list{flex-direction:column;gap:1rem;max-width:480px;margin-top:1.25rem;display:flex}.lesson-card{text-align:left;width:100%;font-family:var(--font-display);color:var(--black);background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);align-items:center;gap:1rem;padding:1rem;display:flex}@media (hover:hover){button.lesson-card:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.01)}}button.lesson-card:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black)}.lesson-card.is-locked{background:var(--cream);cursor:default}.lesson-card-num{background:var(--yellow);border:var(--border) solid var(--black);border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;font-size:1.4rem;font-weight:700;display:flex}.lesson-card-num--long{font-size:1rem}.lesson-card-body{flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;display:flex}.lesson-card-title{font-size:1.05rem;font-weight:700}.lesson-card-sub{font-size:.85rem}.lesson-status{font-family:var(--font-mono);font-size:.8rem;font-weight:700}.lesson-status--complete{color:#15803d}.lesson-card-wrap{position:relative}.lesson-card--has-lock .lesson-card-body{padding-right:2.4rem}.lesson-lock-btn{width:2.6rem;height:2.6rem;color:var(--black);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:.3rem;right:.3rem}.lesson-lock-btn svg{width:1.4rem;height:1.4rem}@media (hover:hover){.lesson-lock-btn:hover{background:#00000014}}.lesson-lock-btn:active{background:#00000026}.lesson-screen{font-feature-settings:"palt";flex-direction:column;gap:1rem;max-width:480px;margin:0 auto;padding:1.25rem 1.25rem 3rem;display:flex}.lesson-option-kana,.lesson-feedback-phrase,.lesson-phrase-kana{font-feature-settings:"palt";letter-spacing:.04em}.lesson-title{margin:0;font-size:1.5rem}.lesson-subtitle{font-size:.9rem;font-family:var(--font-mono);margin:-.5rem 0 0}.lesson-steps-list{flex-direction:column;gap:.25rem;margin:0;padding-left:1.4rem;font-weight:600;display:flex}.lesson-progress{gap:6px;display:flex}.lesson-progress-seg{background:var(--white);border:2px solid var(--black);border-radius:4px;flex:1;height:12px}.lesson-progress-seg.is-done{background:var(--hero-pink)}.lesson-progress-seg.is-current{background:var(--yellow)}.lesson-step-label,.lesson-count{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.78rem}#lesson-step{flex-direction:column;gap:1rem;display:flex}.lesson-scene{border:var(--border) solid var(--black);border-radius:var(--radius);height:clamp(150px,30vh,250px);box-shadow:var(--shadow);background:#fdbd2a;justify-content:center;align-items:center;display:flex;overflow:hidden}.lesson-scene img{object-fit:contain;width:100%;height:100%;display:block}.lesson-prompt{text-align:center;margin:0;font-size:1.05rem;font-weight:600;line-height:1.4}.lesson-options{flex-direction:column;gap:.7rem;display:flex}.lesson-option{width:100%;font-family:var(--font-display);color:var(--black);background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;align-items:center;gap:.1rem;padding:.7rem 1rem;transition:transform 80ms,box-shadow 80ms,background .1s;display:flex}@media (hover:hover){.lesson-option:hover:not(:disabled){box-shadow:5px 5px 0px var(--black);transform:translate(-1px,-1px)}}.lesson-option:active:not(:disabled){box-shadow:0px 0px 0px var(--black);transform:translate(3px,3px)}.lesson-option:disabled{cursor:default}.lesson-option-kana{font-size:1.4rem;font-weight:700}.lesson-option-romaji{font-family:var(--font-mono);font-size:.8rem}.lesson-option.correct{background:linear-gradient(#22c55e73, #22c55e73), var(--white)}.lesson-option.incorrect{background:linear-gradient(#ef444473, #ef444473), var(--white)}.lesson-option.used{display:none}.lesson-option.shake{background:linear-gradient(#ef444473, #ef444473), var(--white);animation:.4s lesson-shake}@keyframes lesson-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.lesson-feedback{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;gap:.35rem;padding:1rem;display:flex}.lesson-feedback p{margin:0}.lesson-feedback-title{font-weight:700}.lesson-feedback--correct .lesson-feedback-title{color:#15803d}.lesson-feedback--incorrect .lesson-feedback-title{color:#c0392b}.lesson-feedback-phrase{justify-content:center;align-items:center;gap:.5rem;font-size:1.7rem;font-weight:700;display:flex}.lesson-feedback-meaning{font-family:var(--font-mono);font-size:.85rem}.lesson-feedback-explain{text-wrap:balance;font-size:.95rem;line-height:1.4;margin-bottom:.4rem!important}.lesson-slots{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lesson-slot{border-radius:var(--radius);border:3px dashed #00000059;align-items:center;gap:.7rem;min-height:3.4rem;padding:.4rem .8rem;display:flex}.lesson-slot.filled{border:var(--border) solid var(--black);background:var(--white)}.lesson-slot-n{border:2px solid var(--black);background:var(--yellow);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:700;display:flex}.lesson-slot-body{flex-direction:column;gap:.05rem;display:flex}.lesson-slot-body .lesson-option-kana{font-size:1.15rem}.lesson-form{flex-direction:column;gap:.7rem;display:flex}.lesson-hint{margin:0;font-size:.8rem}.lesson-learn-title{border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-self:flex-start;margin:0;padding:.4rem .9rem;font-size:1.1rem}.lesson-learn-title--pink{background:var(--hero-pink)}.lesson-learn-title--blue{background:var(--blue)}.lesson-learn-title--green{background:var(--green-note)}.lesson-phrases{flex-direction:column;gap:.6rem;display:flex}.lesson-phrase{background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 1rem;display:flex}.lesson-phrase-text{flex-direction:column;gap:.1rem;display:flex}.lesson-phrase-pic{border:2px solid var(--black);background:#fdbd2a;border-radius:8px;flex:none;width:7.2rem;height:4.8rem;overflow:hidden}.lesson-phrase-pic img{object-fit:contain;width:100%;height:100%;display:block}.lesson-phrase-pic+.lesson-phrase-text{flex:auto}.lesson-phrase-kana{font-size:1.6rem;font-weight:700}.lesson-phrase-romaji{font-family:var(--font-mono);font-size:.85rem;font-weight:700}.lesson-phrase-english{font-size:.95rem}.lesson-phrase-tag{opacity:.7;font-size:.78rem}.lesson-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,9.5rem),1fr));gap:.4rem;display:grid}.lesson-tiles--wide{grid-template-columns:1fr}.lesson-tile{background:var(--white);border:2px solid var(--black);min-width:0;box-shadow:3px 3px 0 var(--black);border-radius:12px;align-items:center;gap:.55rem;padding:.3rem .55rem;display:flex;position:relative}.lesson-tile-big{text-align:center;font-variant-numeric:tabular-nums;flex:none;min-width:2.4rem;font-size:1.75rem;font-weight:800;line-height:1}.lesson-tile-text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.lesson-tile-kana{font-feature-settings:"palt";letter-spacing:.02em;overflow-wrap:anywhere;font-size:1.05rem;font-weight:700;line-height:1.2}.lesson-tile-romaji{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:.68rem;font-weight:700;line-height:1.25}.lesson-tile-tag{opacity:.7;font-size:.68rem;line-height:1.2}.lesson-tiles--wide .lesson-tile{gap:.8rem;padding:.5rem .8rem}.lesson-tiles--wide .lesson-tile-big{min-width:3.4rem;font-size:2rem}.lesson-tiles--wide .lesson-tile-kana{font-size:1.2rem}.lesson-tiles--wide .lesson-tile-romaji{font-size:.75rem}.lesson-tile .lesson-speaker{flex:none;margin-left:auto}.lesson-bignum{font-size:2.6rem;line-height:1.15;display:block}.lesson-prompt-jp{font-feature-settings:"palt";letter-spacing:.04em;font-size:1.9rem;font-weight:700;line-height:1.25;display:block}.lesson-prompt-romaji{font-family:var(--font-mono);font-size:.9rem;font-weight:700;display:block}.lesson-scene--clock{height:clamp(130px,24vh,190px)}.lesson-clock{background:var(--pink);border:var(--border) solid var(--black);box-shadow:var(--shadow-sm);border-radius:18px;padding:.7rem .8rem;position:relative}.lesson-clock-face{font-family:var(--font-mono);letter-spacing:.06em;background:var(--cream);border:var(--border) solid var(--black);border-radius:10px;padding:.1rem 1rem;font-size:clamp(2.6rem,14vw,3.9rem);font-weight:700;line-height:1.25;display:block}.lesson-clock-bell{background:var(--hero-yellow);border:var(--border) solid var(--black);border-radius:1rem 1rem 0 0;width:1.7rem;height:1.1rem;position:absolute;top:-.85rem}.lesson-clock-bell--left{left:.9rem;transform:rotate(-16deg)}.lesson-clock-bell--right{right:.9rem;transform:rotate(16deg)}.lesson-speaker{width:2.4rem;height:2.4rem;color:var(--black);background:var(--hero-yellow);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.lesson-scene-strip{flex-wrap:wrap;gap:.8rem;display:flex}.lesson-scene-small{flex-direction:column;flex:140px;gap:.35rem;margin:0;display:flex}.lesson-scene-small .lesson-scene{height:120px;box-shadow:var(--shadow-sm)}.lesson-scene-strip--solo .lesson-scene{height:clamp(150px,28vh,230px)}.lesson-scene-small figcaption{text-align:center;font-size:.8rem;font-weight:600}.lesson-tip{background:var(--cream);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.9rem 1rem;font-size:.9rem;line-height:1.45}.lesson-tip p{margin:.25rem 0 0}.lesson-tip p,.lesson-feedback-explain{word-break:keep-all;overflow-wrap:anywhere}.lesson-nav{gap:.7rem;display:flex}.lesson-nav .btn:disabled{opacity:.4;cursor:default}.lesson-complete{text-align:center}.lesson-complete .lesson-title{font-size:1.7rem}.lesson-complete p{margin:0}.lesson-score{font-size:1.2rem;font-weight:700}.lesson-confetti-layer{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.lesson-option.shake{animation:none}.lesson-confetti-layer{display:none}}html,body{touch-action:manipulation}@media (pointer:coarse){.app-header .btn-sm,.app-header .btn-icon{min-width:2.6rem;min-height:2.6rem}.card-tile{padding-top:3.4rem}.card-tile-actions{gap:.6rem}.card-tile-action-btn{width:2.5rem;height:2.5rem}.field-config-option{padding:.45rem 0}.field-config-option input[type=checkbox]{width:1.35rem;height:1.35rem}.key-hint{display:none}}@media (orientation:landscape) and (height<=500px){.quiz-play-screen{gap:.5rem;max-width:700px;padding:.6rem 1.25rem .8rem}.quiz-prompt .romaji-huge{font-size:1.7rem}.quiz-prompt .prompt-hint{margin-bottom:.1rem}.quiz-options{grid-template-columns:repeat(4,1fr);gap:.6rem}.quiz-option{aspect-ratio:auto;min-height:5.2rem;font-size:1.7rem}.clock-rush-screen .lesson-squares--clocks{grid-template-columns:repeat(6,minmax(0,1fr));max-width:none}.clock-rush-screen .lesson-squares--clocks .lesson-square{aspect-ratio:auto;min-height:3.6rem}.app-header{padding-top:.2rem;padding-bottom:.2rem}}#romaji-toggle-btn{width:2.15rem;height:2.15rem;padding:.5em}.icon-eye{display:block}.romaji-hidden [data-romaji],.pet-card:not(.is-english) [data-english]{display:none!important}.pet-english{font-family:var(--font-display);font-size:.72rem;font-weight:600;line-height:1.1}.lesson-squares{gap:.6rem;width:100%;display:grid}.lesson-squares--digits,.lesson-squares--clocks{grid-template-columns:repeat(3,minmax(0,1fr));max-width:23rem;margin:0 auto}.lesson-squares--cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-square{min-width:0;font-family:var(--font-display);color:var(--black);background:var(--white);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.4rem;transition:transform 80ms,box-shadow 80ms,background .1s;display:flex}.lesson-squares--digits .lesson-square,.lesson-squares--clocks .lesson-square{aspect-ratio:1}.lesson-squares--cards .lesson-square{min-height:4.6rem}@media (hover:hover){.lesson-square:hover:not(:disabled){box-shadow:5px 5px 0px var(--black);transform:translate(-1px,-1px)}}.lesson-square:active:not(:disabled){box-shadow:0px 0px 0px var(--black);transform:translate(3px,3px)}.lesson-square:disabled{cursor:default}.lesson-square.correct{background:linear-gradient(#22c55e73, #22c55e73), var(--white)}.lesson-square.incorrect{background:linear-gradient(#ef444473, #ef444473), var(--white)}.lesson-square-digits{font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800;line-height:1}.lesson-square-clock{font-family:var(--font-mono);letter-spacing:.03em;background:var(--cream);border:2px solid var(--black);border-radius:8px;padding:.25rem .4rem;font-size:clamp(1.1rem,5.2vw,1.55rem);font-weight:700;line-height:1.2}.lesson-square-kana{text-align:center;font-feature-settings:"palt";overflow-wrap:anywhere;font-size:1.05rem;font-weight:700;line-height:1.25}.lesson-square-romaji{font-family:var(--font-mono);text-align:center;overflow-wrap:anywhere;font-size:.68rem;line-height:1.25}.lesson-quick-correct{text-align:center;color:#15803d;margin:0;font-size:1.1rem;font-weight:800}.lesson-quick-rule{word-break:keep-all;color:var(--black);margin-top:.4rem;font-size:.95rem;font-weight:600;display:block}.lesson-feedback-explain strong,.lesson-quick-rule strong{background:var(--amber);border:2px solid var(--black);border-radius:4px;padding:0 .35rem;font-weight:800;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--black);outline-offset:3px}html[data-pointer] :focus-visible,.modal-card:focus{outline:none}.quiz-option.incorrect,.lesson-option.incorrect,.lesson-square.incorrect{border-style:dashed}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:not(.quiz-timer-fill),:not(.quiz-timer-fill):before,:not(.quiz-timer-fill):after{transition-duration:.01ms!important}}@media (width>=481px) and (prefers-reduced-motion:no-preference){html.lenis .hero-band-inner{transform:translate3d(0, calc(var(--scroll-y,0) * .22px), 0);opacity:calc(1 - var(--scroll-y,0) / 760);will-change:transform, opacity}html.lenis .hero-band{clip-path:inset(0 0 -30px)}}:root{--glide-time:.3s;--glide-ease:cubic-bezier(.22, 1, .36, 1)}.btn:active,.deck-tile:active,.cta-piece:active,.kana-tile:active,.toggle-chip:active,.select-menu-button:active,.quiz-missed-chip:active,button.lesson-card:active{transition-duration:70ms}@media (prefers-reduced-motion:reduce){:root{--glide-time:10ms}}@media (width>=481px) and (prefers-reduced-motion:no-preference){.rise-pending{opacity:0;translate:0 44px}.rise-in{animation:rise-in .9s var(--glide-ease) var(--rise-delay,0s) backwards}}@keyframes rise-in{0%{opacity:0;translate:0 44px}to{opacity:1;translate:0}}.money-tray{--coin:2.7rem;--bill-w:4.1rem;--bill-h:2.1rem;--piece-gap:.3rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1rem;padding:.6rem;display:flex}.money-tray--small{--coin:2.1rem;--bill-w:3.5rem;--bill-h:1.75rem;--piece-gap:.2rem;gap:.35rem .6rem;padding:.2rem}.lesson-tiles--compact{gap:.3rem}.lesson-tiles--compact .lesson-tile{padding:.3rem .8rem}.lesson-tiles--compact .lesson-tile-big{min-width:4.4rem;font-size:1.7rem}.money-tray--cover{--coin:clamp(2.6rem, 11vw, 3.9rem);--bill-w:clamp(3.6rem, 15vw, 5.4rem);--bill-h:calc(var(--bill-w) * .52);flex-wrap:nowrap;gap:.9rem}.money-row{justify-content:center;gap:var(--piece-gap);flex-wrap:wrap;display:flex}.money-row--coin{max-width:calc(5 * (var(--coin) + var(--piece-gap)))}.money-row--bill{max-width:calc(5 * (var(--bill-w) + var(--piece-gap)))}.money-piece{font-family:var(--font-display);color:var(--black);border:2px solid var(--black);box-shadow:2px 2px 0 var(--black);flex:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex;position:relative}.money-piece--coin{width:var(--coin);height:var(--coin);font-size:calc(var(--coin) * .3);border-radius:50%}.money-piece--bill{width:var(--bill-w);height:var(--bill-h);font-size:calc(var(--bill-h) * .4);border-radius:5px}.money-piece:after{content:"";pointer-events:none;border:1.5px solid #0000008c;position:absolute;inset:12%}.money-piece--coin:after{border-radius:50%}.money-piece--bill:after{border-radius:3px;inset:8%}.money-piece--10{background:var(--red)}.money-piece--100{background:var(--white)}.money-piece--1000{background:var(--blue)}.money-piece--10000{background:var(--pink)}.lesson-scene--money{height:auto;min-height:100px;padding:.4rem}.lesson-scene--tall{min-height:9.5rem}.lesson-squares--trays{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-squares--trays .lesson-square{min-height:6.6rem}.lesson-squares--prices{grid-template-columns:repeat(2,minmax(0,1fr));max-width:23rem;margin:0 auto}.lesson-squares--prices .lesson-square{min-height:4.6rem}.lesson-square-price{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:800;line-height:1}.lesson-listen{width:100%;max-width:23rem;font-family:var(--font-display);color:var(--black);background:var(--hero-yellow);border:var(--border) solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;justify-content:center;align-items:center;gap:.7rem;margin:0 auto;padding:1rem 1.4rem;font-size:1.15rem;font-weight:800;transition:transform 80ms,box-shadow 80ms;display:flex}.lesson-listen svg{flex:none;width:2rem;height:2rem}@media (hover:hover){.lesson-listen:hover{box-shadow:5px 5px 0 var(--black);transform:translate(-1px,-1px)}}.lesson-listen:active{box-shadow:0 0 0 var(--black);transform:translate(3px,3px)}.jb-block--who,.jb-chip--who,.jb-line-word--who{--jb-color:var(--blue)}.jb-block--time,.jb-chip--time,.jb-line-word--time{--jb-color:var(--yellow)}.jb-block--place,.jb-chip--place,.jb-line-word--place{--jb-color:var(--green-note)}.jb-block--how,.jb-chip--how,.jb-line-word--how{--jb-color:var(--purple-note)}.jb-block--what,.jb-chip--what,.jb-line-word--what{--jb-color:var(--pink)}.jb-block--verb,.jb-chip--verb,.jb-line-word--verb{--jb-color:var(--red-note)}.jb-chip{border:2px solid var(--black);border-radius:var(--radius);background:var(--jb-color);font-family:var(--font-mono);letter-spacing:.05em;color:var(--black);padding:.2em .7em;font-size:.78rem;font-weight:700;display:inline-block}.jb-legend{flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem;display:flex}.quiz-play-screen.jb-screen{max-width:720px}.jb-screen .quiz-prompt{margin-bottom:.2rem}.jb-hud{flex-direction:column;gap:.55rem;width:100%;max-width:460px;display:flex}.jb-pips{gap:.35rem;display:flex}.jb-pip{border:2px solid var(--black);background:var(--white);border-radius:3px;width:.85rem;height:.85rem}.jb-pip.is-current{background:var(--yellow)}.jb-pip.is-done{background:var(--black)}.jb-english{margin:.15rem 0 0;font-size:1.25rem;font-weight:700;line-height:1.3}.jb-blocks{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.6rem .35rem;width:100%;margin:.4rem auto 0;display:flex}.jb-arrow{font-family:var(--font-mono);flex:none;align-self:center;font-size:1.3rem;font-weight:700}.jb-block{border:3px solid var(--black);border-radius:var(--radius);background:var(--white);min-width:0;max-width:11rem;box-shadow:var(--shadow-sm);color:var(--black);text-align:center;cursor:pointer;transition:transform var(--glide-time,.3s) var(--glide-ease,ease), box-shadow var(--glide-time,.3s) var(--glide-ease,ease);flex-direction:column;flex:6.6rem;padding:0;font-family:inherit;display:flex;overflow:hidden;container-type:inline-size}.jb-block-label{border-bottom:3px solid var(--black);background:var(--jb-color);font-family:var(--font-mono);letter-spacing:.06em;padding:.3rem .4rem;font-size:.8rem;font-weight:700}.jb-block-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;min-height:4rem;padding:.5rem .4rem;display:flex}.jb-block:not(.is-filled) .jb-block-body{outline-offset:-8px;outline:2px dashed #00000059}.jb-block.is-filled{cursor:default;box-shadow:none;animation:jb-settle .45s var(--glide-ease,ease)}.jb-block.is-filled .jb-block-body{background:var(--jb-color)}.jb-block.is-revealed .jb-block-body{background:var(--white)}.jb-word-kana{font-size:1.5rem;font-size:clamp(.85rem, calc((100cqi - .8rem) / var(--chars,6)), 1.5rem);overflow-wrap:anywhere;font-weight:700;line-height:1.15}.jb-word-romaji{font-family:var(--font-mono);font-size:.75rem}.jb-word-gloss{font-size:.85rem;font-weight:600}.jb-tiles{flex-wrap:wrap;justify-content:center;gap:.6rem;min-height:4.6rem;margin:.7rem 0 .2rem;display:flex}.jb-tile{border:3px solid var(--black);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--black);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform var(--glide-time,.3s) var(--glide-ease,ease), box-shadow var(--glide-time,.3s) var(--glide-ease,ease);background:#fdf7e0;flex-direction:column;align-items:center;gap:.05rem;padding:.55rem .9rem;font-family:inherit;display:flex}.jb-tile-kana{font-size:1.35rem;font-weight:700}.jb-tile-romaji{font-family:var(--font-mono);font-size:.75rem}@media (hover:hover){.jb-tile:hover,.jb-block:not(.is-filled):hover{box-shadow:5px 5px 0 var(--black);transform:translate(-2px,-2px)}}.jb-tile:active,.jb-block:not(.is-filled):active{box-shadow:none;transition-duration:70ms;transform:translate(3px,3px)}.jb-tile.is-selected,.jb-block.is-selected{box-shadow:5px 5px 0 var(--black);outline:4px solid var(--black);outline-offset:3px;transform:translate(-2px,-2px)}.jb-tile.is-selected{background:var(--amber)}.jb-tile.is-dragging{opacity:.35}.jb-tile-ghost{z-index:70;pointer-events:none;cursor:grabbing;background:var(--amber);box-shadow:6px 6px 0 var(--black);margin:0;transition:none;position:fixed;top:0;left:0}.jb-block.is-drop-target{box-shadow:5px 5px 0 var(--black);outline:4px solid var(--black);outline-offset:3px;transform:translate(-2px,-2px)}.jb-shake{animation:.4s lesson-shake}@keyframes jb-settle{0%{transform:scale(.94)}60%{transform:scale(1.03)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.jb-shake,.jb-block.is-filled{animation:none}}.jb-note{text-align:center;max-width:34rem;min-height:2.6rem;margin:.5rem auto 0;font-size:.9rem;font-weight:600}@media (width<=520px){.jb-block{flex-basis:5.4rem}.jb-block-body{min-height:3.2rem;padding:.4rem .3rem}.jb-arrow{font-size:1rem}.jb-tiles{gap:.5rem}.jb-tile{padding:.4rem .7rem}.jb-tile-kana{font-size:1.15rem}}.jb-screen.is-done .jb-tiles,.jb-screen.is-done .jb-note{display:none}.jb-done{border:3px solid var(--black);border-radius:var(--radius);background:var(--white);max-width:34rem;box-shadow:var(--shadow-sm);text-align:center;margin:.4rem auto 0;padding:1rem}.jb-stars{justify-content:center;gap:.3rem;margin:0 0 .2rem;display:flex}.jb-star{width:2rem;height:2rem;fill:var(--yellow);stroke:var(--black);stroke-width:1.6px;stroke-linejoin:round}.jb-star--off{fill:var(--white)}.jb-points{margin:0 0 .7rem;font-weight:700}.jb-sentence-kana{margin:0;font-size:1.35rem;font-weight:700;line-height:1.5}.jb-line-word{white-space:nowrap;border-bottom:.28em solid var(--jb-color);padding:0 .05em}.jb-sentence-romaji{font-family:var(--font-mono);margin:.15rem 0 0;font-size:.85rem}.jb-sentence-english{margin:.3rem 0 .9rem;font-style:italic}.jb-review{text-align:left;flex-direction:column;gap:.45rem;display:flex}.jb-review-row{border:2px solid var(--black);border-radius:var(--radius);background:var(--white);flex-wrap:wrap;align-items:center;gap:.2rem .7rem;padding:.5rem .65rem;display:flex}.jb-review-kana{font-size:1.15rem;font-weight:700}.jb-review-romaji{font-family:var(--font-mono);font-size:.78rem}.jb-review-gloss{margin-left:auto;font-weight:600}.console-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;margin-top:1.5rem;display:grid}.console{--console-color:var(--yellow);min-width:0;font:inherit;text-align:left;color:var(--black);background:var(--console-color);border:var(--border) solid var(--black);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--glide-time) var(--glide-ease), box-shadow var(--glide-time) var(--glide-ease);border-radius:16px 16px 40px;flex-direction:column;gap:.7rem;padding:.8rem .8rem .9rem;display:flex}.console--yellow{--console-color:var(--yellow)}.console--blue{--console-color:var(--blue)}.console--red{--console-color:var(--red)}.console--pink{--console-color:var(--pink)}.console-frame{background:var(--black);border-radius:10px 10px 24px;padding:.6rem;display:block}.console-screen{aspect-ratio:4/3;background:#fdf7e0;border-radius:4px;justify-content:center;align-items:center;padding-top:.9rem;display:flex;position:relative;overflow:hidden}.console-hi{font-family:var(--font-mono);font-size:.7rem;line-height:1;position:absolute;top:.3rem;right:.45rem}.console-art{justify-content:center;align-items:center;width:78%;height:78%;display:flex}.console-art svg,.console-art img{object-fit:contain;width:100%;height:100%;display:block}.console-name{font-family:var(--font-display);padding:0 .15rem;font-size:1.05rem;font-weight:700;line-height:1.2}@supports (font-size:1cqi){.console{container-type:inline-size}.console-grid .console .console-name{white-space:nowrap;font-size:clamp(.8rem,10cqi - .6px,1.05rem)}@container (width<=130px){.console-grid .console .console-name{white-space:normal}}}.console-controls{justify-content:space-between;align-items:center;margin-top:auto;padding:0 .3rem .1rem;display:flex}.console-dpad{width:2.1rem;height:2.1rem;position:relative}.console-dpad:before,.console-dpad:after{content:"";background:var(--black);border-radius:2px;position:absolute}.console-dpad:before{width:30%;height:100%;top:0;left:35%}.console-dpad:after{width:100%;height:30%;top:35%;left:0}.console-ab{gap:.4rem;display:flex;transform:rotate(-20deg)}.console-ab i{background:var(--black);border-radius:50%;width:1rem;height:1rem}@media (hover:hover){.console-grid>.console:hover{box-shadow:6px 6px 0px var(--black);transform:translate(-2px,-2px)scale(1.02)}}.console:active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:0px 0px 0px var(--black);transition-duration:70ms}@media (width<=760px){.console-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}}@media (width<=480px){.console{gap:.55rem;padding:.6rem .6rem .75rem}.console-frame{padding:.45rem}.console-name{font-size:.92rem}.console-screen{aspect-ratio:10/9}.console-dpad{width:1.7rem;height:1.7rem}.console-ab i{width:.8rem;height:.8rem}}.icon-activity{display:block}.activity-card,.home-activity{--heat-0:var(--white);--heat-1:#93e0e5;--heat-2:var(--teal);--heat-3:#298b92;--heat-4:#184f53}.activity-card{text-align:left;align-items:stretch;max-width:540px}.activity-card h2{text-align:center}.activity-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.activity-stat{background:var(--teal);border:var(--border) solid var(--black);border-radius:var(--radius);flex-direction:column;gap:.1rem;padding:.5rem .6rem;display:flex}.activity-stat-label{font-size:.75rem;line-height:1.2}.activity-stat-value{font-size:1.2rem;line-height:1.2}.activity-grid{grid-template-rows:repeat(7,auto);grid-auto-flow:column;grid-template-columns:repeat(var(--weeks,20), minmax(0, 1fr));gap:4px;width:100%;display:grid}.activity-cell{box-sizing:border-box;aspect-ratio:1;border:2px solid var(--black);background:var(--heat-0);border-radius:3px;width:100%;min-width:0;padding:0;display:block}button.activity-cell{cursor:pointer}.activity-cell--future{visibility:hidden}.activity-cell[data-level="1"]{background:var(--heat-1)}.activity-cell[data-level="2"]{background:var(--heat-2)}.activity-cell[data-level="3"]{background:var(--heat-3)}.activity-cell[data-level="4"]{background:var(--heat-4)}.activity-cell.is-selected{box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--black)}.activity-cell:focus-visible{outline:3px solid var(--black);outline-offset:2px}.activity-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;font-size:.8rem;display:flex}.activity-day{flex:14rem;margin:0}.activity-legend{align-items:center;gap:4px;display:flex}.activity-cell--key{width:14px;height:14px}@media (width<=520px){.activity-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-activity{--heat-0:transparent;z-index:2;flex-direction:column;gap:.9rem;margin-top:3.75rem;display:flex;position:relative}.home-activity-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.deck-select-screen .home-activity-head h2{margin:0;font-size:1.1rem}.home-activity .activity-stats{gap:.4rem}.home-activity .activity-stat{background:0 0;padding:.35rem .5rem}.home-activity .activity-stat-label{font-size:.65rem}.home-activity .activity-stat-value{margin-top:auto;font-size:.95rem}.home-activity .activity-grid{gap:3px}.home-activity .activity-foot{font-size:.72rem}@media (width>=701px){.home-activity{width:50%;margin-inline:auto}}@media (width<=520px){.home-activity .activity-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.home-activity .activity-stat{padding:.3rem .35rem}.home-activity .activity-stat-label{font-size:.6rem}.home-activity .activity-stat-value{white-space:nowrap;font-size:.85rem}}@media (width<=360px){.home-activity .activity-stat{padding:.25rem .3rem}.home-activity .activity-stat-label{font-size:.58rem}.home-activity .activity-stat-value{font-size:.78rem}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
