@font-face{font-family:Mali;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/mali-thai-600-normal-DlTx3OsB.woff2)format("woff2"),url(/assets/mali-thai-600-normal-DPgXT6rZ.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Mali;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/mali-vietnamese-600-normal-DFlJr66u.woff2)format("woff2"),url(/assets/mali-vietnamese-600-normal-CtTMUU7T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mali;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/mali-latin-ext-600-normal-BTvIfiCp.woff2)format("woff2"),url(/assets/mali-latin-ext-600-normal-DAQcLVmD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mali;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/mali-latin-600-normal-B9TiUNpT.woff2)format("woff2"),url(/assets/mali-latin-600-normal-CycpQCwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sriracha;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sriracha-thai-400-normal-DVV28QI4.woff2)format("woff2"),url(/assets/sriracha-thai-400-normal-BIr7acU-.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Sriracha;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sriracha-vietnamese-400-normal-DbLkQbRc.woff2)format("woff2"),url(/assets/sriracha-vietnamese-400-normal-BJggy71w.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Sriracha;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sriracha-latin-ext-400-normal-DP-jejRX.woff2)format("woff2"),url(/assets/sriracha-latin-ext-400-normal-C253xfPo.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sriracha;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/sriracha-latin-400-normal-BbJfUElK.woff2)format("woff2"),url(/assets/sriracha-latin-400-normal-CEyzFoEA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/charm-thai-700-normal-BhlHZHvD.woff2)format("woff2"),url(/assets/charm-thai-700-normal-tQyXVK2J.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/charm-vietnamese-700-normal-Dj5311GZ.woff2)format("woff2"),url(/assets/charm-vietnamese-700-normal-BFr_dPDj.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/charm-latin-ext-700-normal-CVHZvm-n.woff2)format("woff2"),url(/assets/charm-latin-ext-700-normal-HbyxyuZb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/charm-latin-700-normal-WwDgov_0.woff2)format("woff2"),url(/assets/charm-latin-700-normal-Cq7jfDl4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charm-thai-400-normal-DK5MfSiq.woff2)format("woff2"),url(/assets/charm-thai-400-normal-B8YEDkey.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charm-vietnamese-400-normal-ZTwKrazh.woff2)format("woff2"),url(/assets/charm-vietnamese-400-normal-C90vNzWS.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charm-latin-ext-400-normal-Dk_puhPt.woff2)format("woff2"),url(/assets/charm-latin-ext-400-normal-DGEMgDse.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Charm;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/charm-latin-400-normal-D_G2q3tD.woff2)format("woff2"),url(/assets/charm-latin-400-normal-nxcBhS36.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chonburi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chonburi-thai-400-normal-DkyyPSq4.woff2)format("woff2"),url(/assets/chonburi-thai-400-normal-C16rhyoU.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chonburi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chonburi-vietnamese-400-normal-CkxlpDnd.woff2)format("woff2"),url(/assets/chonburi-vietnamese-400-normal-CK9Wn1dV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chonburi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chonburi-latin-ext-400-normal-DmVxK-4c.woff2)format("woff2"),url(/assets/chonburi-latin-ext-400-normal-BnXbt3UM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chonburi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chonburi-latin-400-normal-CvA91niJ.woff2)format("woff2"),url(/assets/chonburi-latin-400-normal-UUhOMVQk.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Itim;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/itim-thai-400-normal-DKy7VkUm.woff2)format("woff2"),url(/assets/itim-thai-400-normal-C0PXx-HY.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Itim;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/itim-vietnamese-400-normal-eIQO41Tw.woff2)format("woff2"),url(/assets/itim-vietnamese-400-normal-FNHP2OlI.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Itim;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/itim-latin-ext-400-normal-ZDRlYXzj.woff2)format("woff2"),url(/assets/itim-latin-ext-400-normal-DfOkhDmG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Itim;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/itim-latin-400-normal-BIupJmNi.woff2)format("woff2"),url(/assets/itim-latin-400-normal-Ctmd8gNE.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Srisakdi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/srisakdi-thai-400-normal-DtY3pIyn.woff2)format("woff2"),url(/assets/srisakdi-thai-400-normal-Dak8QYwe.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Srisakdi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/srisakdi-vietnamese-400-normal-DtG53ir1.woff2)format("woff2"),url(/assets/srisakdi-vietnamese-400-normal-CIV6E_fb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Srisakdi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/srisakdi-latin-ext-400-normal-CU62Oq60.woff2)format("woff2"),url(/assets/srisakdi-latin-ext-400-normal-BxndUFlK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Srisakdi;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/srisakdi-latin-400-normal-CQfkPXbE.woff2)format("woff2"),url(/assets/srisakdi-latin-400-normal-DNx7LVZC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-thai-700-normal-Cm52XUnT.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-700-normal-C9ISMlQq.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-latin-ext-700-normal-uJk63onE.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-700-normal-xdwl2Xg6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-thai-latin-700-normal-_dn-40wb.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-700-normal-C4AMFKt5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.account-menu{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}.account-menu>*,.account-menu form,.account-menu label,.account-claim{min-width:0}.account-email{overflow-wrap:anywhere}.account-menu h2,.account-menu h3,.account-menu p{margin:0}.account-menu form{gap:12px;display:grid}.account-menu label{gap:8px;display:grid}.account-menu input{width:100%;min-height:44px}.account-menu button{min-height:44px}.account-claim{border:1px solid;border-radius:14px;gap:10px;padding:16px;display:grid}.account-claim>div{flex-wrap:wrap;gap:8px;display:flex}.account-menu form .primary{z-index:2;position:sticky;bottom:0}.privacy-menu{overflow-wrap:anywhere}.privacy-menu .setup-footer{margin:0;padding:12px 0}.shopping-option{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:14px;grid-template-columns:minmax(0,1fr);gap:10px;margin:16px 0;padding:16px;display:grid}.shopping-option h3,.shopping-option p{margin:0}.shopping-option .shopping-query{font-weight:700}.shopping-option .shopping-link{text-align:center;justify-content:center;align-items:center;min-height:44px;padding:8px 14px;text-decoration:none;display:inline-flex}.shopping-option .shopping-disclosure{color:var(--muted);font-size:14px}.game-shell .ux-landing{gap:10px;width:min(100%,420px);margin:0 auto;display:grid}.game-shell .ux-landing .primary{width:100%}.game-shell .ux-line{text-align:center;text-shadow:0 2px 8px #000;flex:1 0 100%;margin:0 0 2px;font-size:16px;line-height:1.4}.game-shell .ux-resume{text-align:left;color:#fff;background:#17284edb;border:2px solid #fff6;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 14px;display:flex}.game-shell .ux-resume svg{flex:none;width:22px;height:22px}.game-shell .ux-resume span{font-weight:700;line-height:1.3;display:grid}.game-shell .ux-resume small{opacity:.8;font-size:13px;font-weight:400}.game-shell .ux-landing-error{color:#67251f;text-align:left;background:#ffe7df;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:min(100%,420px);margin:0 auto 10px;padding:8px 12px;font-size:14px;display:flex}.game-shell .ux-landing-error span{flex:1}.game-shell .ux-landing-error button{width:44px;height:44px;color:inherit;background:0 0;flex:none;margin:-8px -8px -8px 0;font-size:22px}.game-shell .ux-after{grid-template-columns:1fr 1fr;gap:10px;width:min(100%,420px);display:grid}.game-shell .ux-after .primary,.game-shell .ux-after .secondary{width:100%;min-height:48px;padding-inline:8px;font-size:15px}.game-shell .ux-after.single{grid-template-columns:1fr}.game-shell .ux-shop{color:#fff;text-align:left;background:#17284ecc;border:1px solid #fff5;border-radius:12px;align-items:center;gap:8px;width:min(100%,420px);min-height:44px;padding:6px 14px;font-size:14px;display:flex}.game-shell .ux-shop small{opacity:.75;border:1px solid #fff5;border-radius:99px;margin-left:auto;padding:0 8px;font-size:12px}.game-shell .ux-undo{color:#fff;text-underline-offset:4px;background:0 0;min-height:44px;padding:0 12px;font-weight:700;text-decoration:underline}.game-shell .ux-hint{text-shadow:0 2px 8px #000;flex:1 0 100%;margin:0 0 2px;font-size:17px}.game-shell .ux-picked{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:min(100%,420px);display:flex}.game-shell .ux-picked .primary{flex:1 0 100%}.game-shell .ux-roles{gap:10px;margin-top:8px;display:grid}.game-shell .ux-rolecard{text-align:left;background:var(--bg);width:100%;min-height:72px;color:var(--ink);border:2px solid var(--line);border-radius:14px;grid-template-columns:44px 1fr;align-items:center;gap:2px 12px;padding:14px;display:grid}.game-shell .ux-rolecard svg{width:34px;height:34px;color:var(--accent);grid-row:span 2}.game-shell .ux-rolecard b{font-size:19px}.game-shell .ux-rolecard small{color:var(--muted);font-size:14px;line-height:1.4}.game-shell .ux-rolecard[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.game-shell .ux-group{gap:8px;margin-top:18px;display:grid}.game-shell .ux-group:first-of-type{margin-top:14px}.game-shell .ux-group>span{color:var(--muted);font-size:13px}.game-shell .shell-menu .menu-links.ux-list{grid-template-columns:1fr;gap:8px;margin-top:0}.game-shell .shell-menu .menu-links.ux-list button{align-items:center;gap:12px;min-height:48px;padding:10px 14px;display:flex}.game-shell .shell-menu .menu-links.ux-list button svg{flex:none}.game-shell .ux-menu-foot{margin-top:18px}.game-shell .ux-welcome-backdrop{z-index:35}.game-shell .ux-welcome{text-align:center;background:var(--surface);width:min(100%,400px);color:var(--ink);border:2px solid var(--line);border-radius:22px;gap:12px;padding:22px 20px 20px;display:grid;position:relative;box-shadow:0 18px 60px #0008}.game-shell .ux-welcome img{filter:drop-shadow(0 6px 10px #0008);width:84px;margin:-62px auto 0}.game-shell .ux-welcome h2{margin:0;font-size:24px;line-height:1.3}.game-shell .ux-welcome p{color:var(--muted);margin:0}.game-shell .ux-welcome small{color:var(--muted);font-size:13px}.game-shell .ux-welcome p[id]{color:var(--ink);font-weight:600}.game-shell .ux-gift-hint{color:var(--muted);margin:4px 0 0;font-size:12px}@media (prefers-reduced-motion:reduce){.reward-reveal .reward-reveal-card{opacity:1}}.game-shell .ux-landing-error .ux-forget{text-underline-offset:3px;white-space:nowrap;width:auto;min-width:44px;padding:0 10px;font-size:13px;font-weight:700;text-decoration:underline}.game-shell .ux-resume .metadata-spinner{flex:none;width:20px;height:20px}.game-shell .ux-gift-progress{align-items:center;gap:8px;display:flex}.game-shell .ux-gift-progress .metadata-spinner{border-width:2px;width:12px;height:12px}.game-shell .ux-welcome-error{color:#b3261e;margin:0;font-size:14px}.game-shell .ux-choose{width:min(100%,420px);min-height:var(--ux-choose-h,98px);flex-direction:column;flex:1 0 100%;justify-content:flex-end;align-items:center;gap:6px;display:flex}.game-shell .ux-choose .ux-picked{width:100%}.memory-photos{left:var(--scene-art-left,0px);top:var(--scene-art-top,0px);width:var(--scene-art-width,100%);height:var(--scene-art-height,100%);pointer-events:none;position:absolute}.memory-photo{left:var(--photo-x);top:var(--photo-y);z-index:2;width:calc(var(--photo-desktop-size) * .82);opacity:1;filter:none;transform:translate(-50%, -50%) rotate(var(--photo-angle));animation:memory-photo-flight .8s var(--photo-delay) both;backface-visibility:hidden;background:#fffaf0;padding:6px 6px 20px;position:absolute;box-shadow:0 5px 13px #100b0a82,inset 0 1px 2px #fff9}.gift-scene .memory-photo img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.memory-photo:before,.memory-photo:after{content:"";pointer-events:none;position:absolute}.gift-scene--minimal .memory-photo:before{background:#b3bca2bf;width:42%;height:16px;top:-7px;left:29%;transform:rotate(-5deg);box-shadow:0 1px 2px #3223}.gift-scene--minimal .memory-photo--1:before{background:#d2b992c9;transform:rotate(8deg)}.gift-scene--minimal .memory-photo--2{background:#f5eedc}.gift-scene--luxury .memory-photo:before{background:radial-gradient(circle at 35% 30%,#fff4b7,#c89a45 65%,#6f4c1c);border-radius:50%;width:9px;height:9px;top:-4px;left:calc(50% - 4px);box-shadow:0 2px 4px #0008}.gift-scene--luxury .memory-photo{background:#fff9e9;box-shadow:0 0 0 1px #d9bd7a,0 5px 13px #100b0a82}.gift-scene--colorful .memory-photo:before{background:repeating-linear-gradient(90deg,#f6b9b7c9 0 8px,#fff1d5d1 8px 16px);width:46%;height:16px;top:-7px;left:27%;transform:rotate(-6deg);box-shadow:0 1px 2px #3223}.gift-scene--colorful .memory-photo--1:before{background:repeating-linear-gradient(90deg,#b7c9f3d9 0 8px,#fff3d9d9 8px 16px);transform:rotate(7deg)}.gift-scene--colorful .memory-photo--2:after{background:radial-gradient(circle,#f5bd46 0 20%,#fff7e4 23% 47%,#0000 50%);border-radius:50%;width:15px;height:15px;bottom:7px;right:-7px;box-shadow:-5px 0 #fff7e4,5px 0 #fff7e4,0 -5px #fff7e4,0 5px #fff7e4}.gift-scene--party .memory-photo:before{border:2px solid #77e9dd;border-radius:8px;width:12px;height:30px;top:-11px;left:calc(50% - 6px);transform:rotate(16deg);box-shadow:0 0 3px #52e0d688}.gift-scene--party .memory-photo--1:before{border-color:#ffcf68;transform:rotate(-15deg);box-shadow:0 0 3px #ffcf6888}.memory-photo--still{animation:none}@keyframes memory-photo-flight{0%{left:calc(var(--gift-mouth-x,50%) - var(--scene-art-left,0px));top:calc(var(--gift-mouth-y,65%) - var(--scene-art-top,0px));z-index:2;opacity:0;transform:translate(-50%,-50%)scale(.22)perspective(450px)rotateX(60deg)rotate(-20deg)}12%{opacity:1}50%{top:calc(var(--photo-target-y,var(--photo-y)) - 12%);z-index:2;opacity:.9;transform:translate(-50%, -50%) scale(1.08) perspective(450px) rotateX(-14deg) rotate(calc(var(--photo-angle) + 14deg))}99%{z-index:2}to{left:var(--photo-target-x,var(--photo-x));top:var(--photo-target-y,var(--photo-y));z-index:2;opacity:1;transform:translate(-50%, -50%) scale(1) perspective(450px) rotateX(0deg) rotate(var(--photo-angle))}}@media (orientation:portrait){.memory-photo{--photo-target-x:var(--photo-portrait-x);--photo-target-y:var(--photo-portrait-y);left:var(--photo-portrait-x);top:var(--photo-portrait-y);width:calc(var(--photo-mobile-size) * .82);padding:5px 5px 16px}}@media (orientation:landscape) and (height<=500px){.memory-photo{width:min(calc(var(--photo-desktop-size) * .82), 28vh)}}@media (prefers-reduced-motion:reduce){.memory-photo{animation:none}}.gift-scene{isolation:isolate;touch-action:pan-y;background:radial-gradient(at 50% 38%,#324679 0%,#101b37 72%);border-radius:24px;width:100%;height:clamp(340px,55vh,620px);position:relative;overflow:hidden}.gift-scene--colorful{background:radial-gradient(at 50% 40%,#fffdf7,#fff0dc 78%)}.gift-scene--luxury{background:radial-gradient(at 50% 38%,#245653,#101e29 76%)}.gift-scene--minimal{background:radial-gradient(at 50% 38%,#fff,#f4f1eb 82%)}.gift-scene canvas{z-index:1;touch-action:pan-y;width:100%;height:100%;display:block;position:relative}.gift-scene--fallback>img{object-fit:contain;width:100%;height:100%;display:block}.gift-scene--fallback canvas{display:none}@media (width<=600px){.gift-scene{border-radius:18px;height:360px}}.gift-scene--waiting>canvas,.gift-scene--waiting>.memory-photos{visibility:hidden}.scene-loading{z-index:50;color:#fff1ca;background:radial-gradient(at 50% 38%,#324679,#101b37 72%);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-weight:700;display:flex;position:absolute;inset:0}.gift-scene--colorful .scene-loading{color:#253b81;background:radial-gradient(at 50% 40%,#fffdf7,#fff0dc 78%)}.gift-scene--luxury .scene-loading{color:#ffe2a1;background:radial-gradient(at 50% 38%,#245653,#101e29 76%)}.gift-scene--minimal .scene-loading{color:#66584d;background:radial-gradient(at 50% 38%,#fff,#f4f1eb 82%)}.scene-loading__spark{font-size:32px;animation:1.4s ease-in-out infinite scene-loading-pulse}.scene-loading button{min-height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:999px;padding:8px 20px}@keyframes scene-loading-pulse{50%{opacity:.45;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.scene-loading__spark{animation:none}}.gift-scene--pastel,.gift-scene--pastel .scene-loading{color:#50334b;background:radial-gradient(#fff7fc,#dfcae7)}.gift-scene--cartoon,.gift-scene--cartoon .scene-loading{color:#293563;background:radial-gradient(#fff6c9,#a9d6f0)}.gift-scene--candy,.gift-scene--candy .scene-loading{color:#633b48;background:radial-gradient(#fff5ef,#c4e8d8)}.gift-scene--rgb,.gift-scene--rgb .scene-loading{color:#dcfcff;background:radial-gradient(#394456,#151b28)}.coach-tour{z-index:300;touch-action:manipulation;color:#22223b;outline:none;font-family:inherit;position:fixed;inset:0;overflow:hidden}.coach-tour-dim{background:#0d1025b8;position:absolute;inset:0}.coach-tour-spot{pointer-events:none;border:2px solid #ffe083;border-radius:16px;animation:2.2s ease-in-out infinite coach-tour-pulse;position:absolute;box-shadow:0 0 0 9999px #0d1025b8,0 0 0 5px #ffe08338,0 0 24px #ffd569a6}.coach-tour-bubble{box-sizing:border-box;background:#fff8e9;border:2px solid #80532f;border-radius:20px;width:min(340px,100vw - 24px);max-height:calc(100dvh - 24px);padding:16px 18px 12px;position:absolute;overflow:auto;box-shadow:0 7px #80532f,0 12px 28px #00000047}.coach-tour-progress{color:#8a5b37;font-size:13px;font-weight:700}.coach-tour-bubble h2{color:#382a32;margin:3px 0 5px;font-size:21px;line-height:1.3}.coach-tour-bubble p{color:#574a4a;margin:0;font-size:15px;line-height:1.55}.coach-tour-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.coach-tour-actions button{min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:12px;padding:0 13px;font-size:15px;font-weight:700}.coach-tour-actions button:focus-visible{outline-offset:2px;outline:3px solid #315bda}.coach-tour-skip{color:#70594b;background:0 0}.coach-tour-next{color:#382a32;background:#f4bd4f;margin-left:auto;box-shadow:0 3px #b37a2b}.coach-tour-hint{text-align:center;color:#806d61;flex:1;font-size:12px;line-height:1.3}@keyframes coach-tour-pulse{50%{box-shadow:0 0 0 9999px #0d1025b8,0 0 0 8px #ffe0831f,0 0 30px #ffd569cc}}@media (prefers-reduced-motion:reduce){.coach-tour-spot{animation:none}}.coach-tour-pointer{pointer-events:none;color:#fff4d4;filter:drop-shadow(0 2px 2px #000);width:40px;height:40px;animation:1.6s ease-in-out infinite coach-point;position:absolute;transform:rotate(-90deg)}@keyframes coach-point{50%{transform:translate(-6px)rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.coach-tour-pointer{animation:none}}.idle-nudge{isolation:isolate;position:relative}.idle-nudge:after{content:"";pointer-events:none;border:2px solid #ffe083;border-radius:18px;animation:2s ease-in-out infinite idle-halo;position:absolute;inset:-7px;box-shadow:0 0 14px #ffdc82aa}.idle-nudge-pointer{color:#fff4d4;filter:drop-shadow(0 2px 2px #000);pointer-events:none;width:40px;height:40px;animation:1.6s ease-in-out infinite idle-point;position:absolute;top:-50px;left:50%;transform:translate(-50%)rotate(180deg)}@keyframes idle-halo{50%{box-shadow:0 0 24px #ffdc82dd}}@keyframes idle-point{50%{transform:translate(-50%,6px)rotate(180deg)}}@media (prefers-reduced-motion:reduce){.idle-nudge:after,.idle-nudge-pointer{animation:none}}.reward-reveal{--reward-width:min(220px, 66vw);--reward-art-height:clamp(76px, 16vh, 140px);--reward-landing-x:clamp(112px, var(--gift-center-x,50vw), calc(100vw - 112px));--reward-top:clamp(84px, calc(var(--gift-center-y,65vh) - var(--reward-card-height,220px) / 2), max(84px, calc(100dvh - 120px - var(--reward-card-height,220px))));--reward-target-y:calc(var(--reward-top) + 35px - var(--gift-mouth-y,65vh));z-index:2;pointer-events:none;position:absolute;inset:0}.reward-reveal-clip{clip-path:inset(0 0 calc(100% - var(--gift-mouth-y,65%)) 0);animation:reward-clip .9s var(--reward-delay) both;position:absolute;inset:0}.reward-reveal-flight{left:var(--gift-mouth-x,50vw);top:var(--gift-mouth-y,65%);width:calc(var(--reward-width) - 32px);height:var(--reward-art-height);opacity:0;transform-origin:top;animation:reward-flight .9s var(--reward-delay) both;position:absolute}.reward-reveal-flight img,.reward-reveal-art img,.reward-reveal-art svg{object-fit:contain;width:100%;height:100%;display:block}.reward-reveal-placeholder{filter:drop-shadow(0 4px 8px #0008);width:100%;height:100%;display:block}.reward-reveal-card{left:var(--reward-landing-x);top:var(--reward-top);width:var(--reward-width);text-align:center;color:var(--ink);background:color-mix(in srgb, var(--surface) 93%, transparent);border:2px solid var(--accent);box-shadow:0 12px 35px #0006, 0 0 32px color-mix(in srgb, var(--accent) 35%, transparent);opacity:0;animation:reward-card .9s var(--reward-delay) both;border-radius:20px;flex-direction:column;align-items:center;gap:5px;padding:10px 14px;display:flex;position:absolute;transform:translate(-50%)}.reward-reveal-label{color:var(--accent);font-size:13px;font-weight:700;line-height:18px}.reward-reveal-art{width:100%;height:var(--reward-art-height)}.reward-reveal-card h3{overflow-wrap:anywhere;max-width:100%;max-height:2.7em;font-size:clamp(16px,2vw,22px);line-height:1.35;overflow:hidden}@keyframes reward-flight{0%{opacity:1;transform:translate(-50%)scale(.55)rotate(-8deg)}38%{opacity:1;transform:translate(calc(-50% + 38px), calc(-1 * var(--reward-art-height) - 70px)) scale(1) rotate(8deg)}68%{opacity:1;transform:translate(calc(-50% + var(--reward-landing-x) - var(--gift-mouth-x,50vw)), var(--reward-target-y)) scale(1) rotate(-2deg)}78%{opacity:1;transform:translate(calc(-50% + var(--reward-landing-x) - var(--gift-mouth-x,50vw)), calc(var(--reward-target-y) - 9px)) scale(1) rotate(0)}88%,to{opacity:0;transform:translate(calc(-50% + var(--reward-landing-x) - var(--gift-mouth-x,50vw)), var(--reward-target-y)) scale(1) rotate(0)}}@keyframes reward-clip{0%,40%{clip-path:inset(0 0 calc(100% - var(--gift-mouth-y,65%)) 0)}41%,to{clip-path:inset(0)}}@keyframes reward-card{0%,73%{opacity:0;transform:translate(-50%,8px)scale(.97)}88%,to{opacity:1;transform:translate(-50%)scale(1)}}.reward-reveal--win{--reward-art-height:150px;--reward-width:min(240px, calc(100vw - 32px))}.reward-reveal--win .reward-reveal-card{animation:reward-card-win .52s var(--reward-card-delay,var(--reward-delay)) both;border-color:#ffcf57;gap:6px;padding:12px 14px 14px;box-shadow:0 12px 35px #0006,0 0 28px 6px #ffcf5766,0 0 64px 14px #ffcf5726}.reward-reveal--win .reward-reveal-label{color:#ffcf57}.reward-reveal--win .reward-reveal-card h3{max-height:none;font-size:var(--reward-name-size,29px);overflow-wrap:break-word;text-wrap:balance;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden}@keyframes reward-card-win{0%{opacity:0;transform:translate(-50%,40px)scale(.8)}60%{opacity:1;transform:translate(-50%,-5px)scale(1.04)}80%{opacity:1;transform:translate(-50%,2px)scale(.99)}to{opacity:1;transform:translate(-50%)scale(1)}}.reward-confetti{left:var(--reward-landing-x);top:calc(var(--reward-top) + var(--reward-card-height,220px) / 2);pointer-events:none;width:0;height:0;position:absolute}.reward-confetti i{opacity:0;animation:reward-confetti 1.7s cubic-bezier(.2,.7,.3,1) var(--reward-card-delay,var(--reward-delay)) both;animation-delay:calc(var(--reward-card-delay,var(--reward-delay)) + var(--cd));border-radius:1px;position:absolute;top:0;left:0}@keyframes reward-confetti{0%{opacity:0;transform:translate(0)rotate(0)scale(.6)}10%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(var(--cx), calc(var(--cy) + var(--cf))) rotate(var(--cr)) scale(1)}}@media (prefers-reduced-motion:reduce){.reward-reveal-flight{display:none}.reward-reveal-card,.reward-reveal--win .reward-reveal-card{animation:reward-card-fade .3s var(--reward-card-delay,var(--reward-delay)) both}.reward-confetti{display:none}}@keyframes reward-card-fade{0%{opacity:0;transform:translate(-50%)}to{opacity:1;transform:translate(-50%)}}.memory-editor>p{color:var(--muted);margin:8px 0 16px}.memory-editor-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:12px;margin:18px 0;display:grid}.memory-editor-item{background:#fffaf0;align-self:start;padding:4px 4px 15px;position:relative;box-shadow:0 2px 8px #0003}.memory-editor-item img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.memory-editor-remove{color:#443d38;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:-12px;right:-12px}.memory-editor-remove span{background:#fffaf0;border-radius:50%;place-items:center;width:26px;height:26px;font-size:20px;line-height:1;display:grid;box-shadow:0 1px 5px #0004}.memory-editor-add{aspect-ratio:1;border:1px dashed var(--line);min-height:76px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;font-size:30px;display:grid;position:relative}.memory-editor-add input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.memory-editor-add:focus-within{outline:2px solid var(--accent);outline-offset:2px}.memory-editor-add.is-disabled{opacity:.5;cursor:default}.memory-editor-import-row{align-items:stretch;gap:8px;display:flex}.memory-editor-profile{border:1px solid var(--line);border-radius:10px;flex:1;align-items:center;gap:7px;min-width:0;margin:0;padding:0 10px;display:flex}.memory-editor-profile span{font-size:22px;line-height:1}.memory-editor-profile input{background:0 0;border:0;width:100%;min-width:0;min-height:44px;padding:0}.game-shell .memory-editor-import-button{flex:none;justify-content:center;align-items:center;gap:0;min-width:132px;min-height:44px;padding-inline:20px;display:inline-flex}.memory-editor-spinner{opacity:0;border:0;border-radius:50%;flex:none;width:0;height:0;margin:0;animation:.8s linear infinite memory-editor-spin}.memory-editor-import-button.is-importing{padding-inline:10px}.memory-editor-import-button.is-importing .memory-editor-spinner{opacity:1;border:2px solid;border-right-color:#0000;width:12px;height:12px;margin-right:8px}.memory-editor-import-status{min-height:24px;color:var(--muted);font-size:13px;line-height:24px}@media (width<=480px){.memory-editor-import-row{flex-direction:column}.memory-editor-profile,.memory-editor-import-button{width:100%;min-height:44px}}@keyframes memory-editor-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.memory-editor-spinner{animation:none}}.celebration-sign{width:clamp(250px,32vw,430px);height:auto;aspect-ratio:var(--sign-aspect,2.7);filter:drop-shadow(0 4px 7px #0008);pointer-events:none;display:block}.celebration-sign.sign-preview{width:100%;max-width:430px;margin:auto}.sign-empty{height:100px;color:var(--muted);border:1px dashed var(--line);border-radius:12px;place-items:center;display:grid}.stage-sign{z-index:2;top:max(76px,calc(env(safe-area-inset-top) + 62px));pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.sign-picker-row{flex-wrap:wrap;gap:6px;display:flex}.sign-picker-row button{background:var(--bg);border:1px solid var(--line);min-height:40px;color:var(--ink);border-radius:9px;padding:6px 12px}.sign-picker-row button[aria-pressed=true]{border:2px solid var(--accent);color:var(--accent)}.sign-editor-preview{background:var(--bg);border-radius:12px;overflow:hidden}.plaque-editor .sign-fieldset{border:0;gap:6px;display:grid}.plaque-editor .sign-fieldset legend{font-size:14px}.sign-editor-actions{flex-wrap:wrap;gap:10px;display:flex}.plaque-editor .sign-fit-guidance{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (width<=560px){.stage-sign{top:max(66px,calc(env(safe-area-inset-top) + 56px))}}.greeting-envelope{--paper:#fff1d9;--paper-edge:#ccaf86;--seal:#bd5679;z-index:3;aspect-ratio:1.5;cursor:pointer;transform-origin:50% 75%;filter:drop-shadow(0 8px 5px #0008);background:0 0;border:0;place-items:center;width:140px;padding:0;animation:12s ease-in-out infinite envelope-wiggle,.6s ease-in-out 1.5s backwards envelope-first-wiggle;display:grid;position:absolute;bottom:17%;left:9%;transform:rotate(-6deg)}.greeting-envelope.greeting-colorful{--paper:#fff4d7;--paper-edge:#dbad77;--seal:#f17864}.greeting-envelope.greeting-luxury{--paper:#f8ecd4;--paper-edge:#c2a16c;--seal:#8e263d}.greeting-envelope.greeting-minimal{--paper:#faf6ed;--paper-edge:#c8b9a6;--seal:#bc8c82}.greeting-art-loader{display:none}.greeting-envelope-art,.greeting-envelope-fallback{width:100%;height:100%}.greeting-envelope-art{background:url(/art/letters.png) 0 0/200% 200% no-repeat;display:block}.greeting-colorful .greeting-envelope-art{background-position:100% 0}.greeting-luxury .greeting-envelope-art{background-position:0 100%}.greeting-minimal .greeting-envelope-art{background-position:100% 100%}.greeting-envelope:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}.greeting-envelope:disabled{pointer-events:none}.greeting-shade{--paper:#fff5e7;--paper-edge:#d9b89a;--seal:#b95876;--letter-ink:#543e42;z-index:45;overscroll-behavior:contain;background:#100b11b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.greeting-shade.greeting-colorful{--paper:#fff5df;--paper-edge:#e2b77d;--seal:#e27866;--letter-ink:#65463b}.greeting-shade.greeting-luxury{--paper:#fbf0d9;--paper-edge:#bf9b62;--seal:#922d45;--letter-ink:#4f3c31}.greeting-shade.greeting-minimal{--paper:#faf7ef;--paper-edge:#d2c2b2;--seal:#b88680;--letter-ink:#514945}.greeting-dialog{perspective:1000px;place-items:center;width:min(100%,480px);min-height:min(280px,80dvh);max-height:80dvh;display:grid;position:relative}.greeting-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.greeting-close{z-index:5;color:#5b4038;cursor:pointer;background:#fff8;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;top:4px;right:4px}.greeting-close:focus-visible{outline:3px solid var(--seal);outline-offset:2px}.greeting-paper{z-index:4;box-sizing:border-box;width:100%;min-height:min(280px,80dvh);max-height:80dvh;color:var(--letter-ink);background:linear-gradient(90deg,transparent 49.7%,#ad937c12 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,#ad937c14 50%,transparent 50.3%),var(--paper);border:1px solid var(--paper-edge);border-radius:2px 7px 3px 5px;flex-direction:column;align-items:center;padding:35px 34px 30px;animation:1.6s both greeting-paper-rise;display:flex;position:relative;box-shadow:0 20px 55px #0008,0 3px 12px #8b674c55,inset 0 0 35px #d3b99730}.greeting-paper:before{content:"";border:1px solid var(--paper-edge);opacity:.36;pointer-events:none;position:absolute;inset:10px}.greeting-paper-ornament{color:var(--seal);margin-bottom:16px;font-size:22px;line-height:1}.greeting-dialog .greeting-paper p{min-height:0;box-shadow:none;color:inherit;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;scrollbar-color:var(--paper-edge) transparent;background:0 0;border:0;border-radius:0;flex:0 auto;align-self:stretch;margin:0;padding:4px 8px;font-size:21px;line-height:1.8;position:relative;overflow:auto}.greeting-paper p:focus-visible{outline:2px solid var(--seal);outline-offset:2px}.greeting-opening{z-index:3;aspect-ratio:1.5;filter:drop-shadow(0 14px 18px #0007);width:min(78%,330px);transform-style:preserve-3d;pointer-events:none;animation:1.6s both greeting-envelope-arrive;position:absolute}.greeting-opening-back,.greeting-opening-front,.greeting-opening-flap{background:var(--paper);border:1px solid var(--paper-edge);position:absolute;inset:0}.greeting-opening-back{z-index:0}.greeting-opening-pocket{z-index:1;position:absolute;inset:-100% 0 0;overflow:hidden}.greeting-opening-letter{box-sizing:border-box;width:90%;height:45%;color:var(--letter-ink);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--paper-edge);padding:18px;animation:1.6s both greeting-pocket-rise,1.6s step-end both greeting-pocket-hide;position:absolute;bottom:0;left:5%;overflow:hidden;box-shadow:0 2px 8px #0003}.greeting-opening-front{z-index:2;background:linear-gradient(32deg,transparent 49.5%,#c3a78d 50%,transparent 50.5%),linear-gradient(-32deg,transparent 49.5%,#c3a78d 50%,transparent 50.5%),var(--paper);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%)}.greeting-opening-flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 56%);background:linear-gradient(145deg,#fff7,transparent),var(--paper);transform-origin:top;backface-visibility:visible;animation:1.6s both greeting-flap-open,1.6s step-end both greeting-flap-layer}.greeting-opening-seal{z-index:4;background:var(--seal);color:#fff9;border-radius:50%;place-items:center;width:42px;height:42px;font-size:19px;animation:1.6s both greeting-seal-release;display:grid;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 3px #ffffff35,0 2px 4px #0004}@keyframes greeting-envelope-arrive{0%{opacity:1;transform:translate(var(--from-x,-35vw),var(--from-y,30vh)) scale(var(--from-s,.38)) rotate(-6deg)}25%{opacity:1;transform:translate(0)scale(1)rotate(0)}78%{opacity:1;transform:translate(0)scale(1)rotate(0)}to{opacity:0;transform:translateY(20px)scale(1)}}@keyframes greeting-seal-release{0%,19%{opacity:1;transform:translate(-50%,-50%)scale(1)}41%,to{opacity:0;transform:translate(-50%,-75%)scale(.65)}}@keyframes greeting-flap-open{0%,31%{transform:perspective(700px)rotateX(0)}63%,to{transform:perspective(700px)rotateX(180deg)}}@keyframes greeting-pocket-rise{0%,50%{transform:translateY(0)}80%,to{transform:translateY(-80%)}}@keyframes greeting-pocket-hide{0%{opacity:1}80%,to{opacity:0}}@keyframes greeting-flap-layer{0%{z-index:3}47%,to{z-index:0}}@keyframes greeting-paper-rise{0%,79.99%{opacity:0;transform:translateY(var(--paper-start-y,-90px)) scale(var(--paper-start-s,.7))}80%{opacity:1;transform:translateY(var(--paper-start-y,-90px)) scale(var(--paper-start-s,.7))}to{opacity:1;transform:translateY(0)scale(1)}}.greeting-editor-field{gap:8px;display:grid}.greeting-editor-field textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;min-height:120px;color:var(--ink);font:inherit;border-radius:10px;padding:12px;line-height:1.6}.greeting-suggestions{gap:8px;display:grid}.greeting-suggestions button{text-align:left;white-space:normal;border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--ink);border-radius:10px;padding:10px 12px;line-height:1.6}@keyframes envelope-first-wiggle{0%,to{transform:rotate(-6deg)}20%{transform:rotate(-10deg)}45%{transform:rotate(-2deg)}70%{transform:rotate(-8deg)}}@keyframes greeting-shade-out{to{opacity:0}}.greeting-shade--closing{pointer-events:none;animation:.14s ease-out forwards greeting-shade-out}@keyframes envelope-wiggle{0%,88%,to{transform:rotate(-6deg)}91%{transform:rotate(-9deg)}94%{transform:rotate(-3deg)}97%{transform:rotate(-6deg)}}@media (prefers-reduced-motion:reduce){.greeting-envelope{animation:none}.greeting-opening{display:none}.greeting-paper{animation:none}}@media (width<=560px){.greeting-envelope{left:max(4px,env(safe-area-inset-left));aspect-ratio:auto;width:52px;height:44px;bottom:max(132px,22%)}.greeting-envelope-art,.greeting-envelope-fallback{aspect-ratio:1.5;height:auto}.greeting-paper{padding:32px 24px 24px}.greeting-paper p{font-size:19px}}.greeting-pastel{--paper:#fff6fa;--paper-edge:#c9a8c7;--seal:#d884ab;--letter-ink:#5c3c51}.greeting-cartoon{--paper:#fff8dc;--paper-edge:#c3a752;--seal:#ed7661;--letter-ink:#3b3d60}.greeting-candy{--paper:#fff6ed;--paper-edge:#d8a69d;--seal:#e887a2;--letter-ink:#66454b}.greeting-rgb{--paper:#e7f4f7;--paper-edge:#6cb6c5;--seal:#d85bc4;--letter-ink:#273643}:root{font-synthesis:none;color:#fff;background:#10192f;font-family:Noto Sans Thai,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--accent,#ffcf57);outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2}button{border:0}.app{--bg:#131c36;--surface:#1b2b4d;--surface2:#24385e;--ink:#fff8eb;--muted:#b9c6d8;--accent:#ffcf57;--action:#ff6a70;--line:#ffffff32;background:radial-gradient(ellipse at 50% -10%,var(--surface2),var(--bg) 63%);min-height:100vh;color:var(--ink)}.theme-colorful{--bg:#fff6e9;--surface:#fff;--surface2:#d9e3ff;--ink:#172870;--muted:#58658d;--accent:#254bff;--action:#ff7557;--line:#254bff35}.theme-luxury{--bg:#101826;--surface:#12343b;--surface2:#18505a;--ink:#fff8e7;--muted:#b9d3c8;--accent:#ffd06b;--action:#dba442;--line:#ffd06b55}.theme-minimal{--bg:#fafaf7;--surface:#fff;--surface2:#e7e2da;--ink:#292725;--muted:#77716c;--accent:#c46e4b;--action:#c46e4b;--line:#29272524}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:14px max(24px,50vw - 720px);display:flex}.brand{letter-spacing:-.05em;align-items:center;gap:10px;font-size:18px;font-weight:700;line-height:.9;display:flex}.brand-mark{border:3px solid var(--accent);border-radius:4px;width:38px;height:29px;display:block;position:relative}.brand-mark:before,.brand-mark:after{content:"";border:3px solid var(--accent);border-radius:90% 90% 0;width:13px;height:9px;position:absolute;top:-14px}.brand-mark:before{left:3px;transform:rotate(25deg)}.brand-mark:after{right:3px;transform:scaleX(-1)rotate(25deg)}.brand-mark i{background:var(--accent);width:3px;height:100%;position:absolute;left:15px}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.role-pill,.presence,.round-pill{border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:7px 14px;font-size:14px}.presence span,.player-status i{background:#ed9b74;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.presence.online span,.player-status i.on{background:#60dfb4}.round-pill b{color:var(--accent);font-size:21px}.sound-button{border:1px solid var(--line);width:44px;height:44px;color:inherit;background:0 0;border-radius:50%;font-size:23px}main{max-width:1440px;margin:auto;padding:0 28px 50px}.welcome{max-width:1100px;margin:auto;padding:68px 0}.welcome-intro{text-align:center;max-width:720px;margin:0 auto 36px}.eyebrow,.step-label{color:var(--accent);font-size:14px;font-weight:700}.welcome h1,.setup-heading h1,.game-heading h1{letter-spacing:-.045em;margin:10px 0 12px;font-size:clamp(36px,5vw,64px)}.welcome-intro>p:last-child,.setup-heading p,.game-heading p,.panel p{color:var(--muted)}.welcome-intro>p:last-child{font-size:18px}.setup-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 18px 60px #00000010}.section-head{justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px;display:flex}.section-head h2,.panel h2{margin-top:4px;font-size:24px}.section-head small,.optional{color:var(--muted);font-weight:400}.theme-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.theme-card{text-align:left;background:var(--bg);color:var(--ink);border:2px solid #0000;border-radius:16px;min-width:0;padding:0;position:relative;overflow:hidden}.theme-card.is-active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.theme-card:disabled{opacity:1;cursor:default}.theme-art{background-color:#27334d;background-position:50%;background-size:cover;height:112px;display:block}.theme-preview-party .theme-art{background-color:#27334d}.theme-preview-colorful .theme-art{background-color:#6a8aff}.theme-preview-luxury .theme-art{background-color:#16464c}.theme-preview-minimal .theme-art{background-color:#d9d2c8}.theme-copy{padding:11px 14px 13px;display:block}.theme-copy strong,.theme-copy small{display:block}.theme-copy small{color:var(--muted);font-size:12px}.theme-check{color:var(--accent);font-weight:700;position:absolute;bottom:13px;right:9px}.create-row{grid-template-columns:1fr 1fr;gap:24px;margin:26px 0;display:grid}fieldset{border:0;margin:0;padding:0}legend,label{margin-bottom:8px;font-size:15px;font-weight:600;display:block}input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;min-height:48px;color:var(--ink);border-radius:10px;margin-top:7px;padding:10px 14px;display:block}input::placeholder{color:var(--muted);opacity:.8}.role-switch{gap:8px;margin-top:7px;display:flex}.role-switch button{border:1px solid var(--line);background:var(--bg);min-height:48px;color:var(--ink);border-radius:10px;flex:1}.role-switch button.active{border-color:var(--accent);color:var(--accent);font-weight:700}.primary,.secondary,.upload-button{border-radius:12px;min-height:46px;padding:10px 21px;font-weight:700;transition:transform .18s,filter .18s}.primary{background:var(--action);color:#15130f;box-shadow:0 5px 0 color-mix(in srgb,var(--action),#000 25%)}.theme-luxury .primary{color:#211706}.secondary,.upload-button{color:var(--ink);border:1px solid var(--line);background:0 0}.primary:not(:disabled):hover,.secondary:not(:disabled):hover,.upload-button:hover{filter:brightness(1.08)}.large{min-height:56px;padding:13px 30px;font-size:17px}.full{width:100%}.room-bar{color:var(--muted);align-items:center;gap:20px;padding:18px 0;font-size:13px;display:flex}.room-bar strong{color:var(--ink)}.room-bar .text-button{margin-left:auto}.connection:before{content:"●";color:#6de2b5;margin-right:5px}.connection.offline:before{color:#ffbb6a}.text-button{color:var(--accent);text-underline-offset:4px;background:0 0;padding:0;font-weight:700;text-decoration:underline}.status-banner{color:var(--ink);background:#d08f2922;border:1px solid #e9b87075;border-radius:10px;padding:10px 16px;font-size:14px}.room-setup{padding:32px 0}.setup-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px;display:flex}.setup-heading h1{font-size:clamp(32px,4vw,52px)}.player-status{flex-wrap:wrap;gap:10px;display:flex}.player-status span{border:1px solid var(--line);border-radius:30px;padding:8px 12px;font-size:13px}.setup-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.setup-main,.setup-side{gap:20px;display:grid}.panel{padding:24px}.gift-form{gap:12px;display:grid}.gift-form label{margin:0}.input-action{align-items:end;gap:8px;display:flex}.input-action .secondary{white-space:nowrap}.upload-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.upload-button{color:var(--ink);cursor:pointer;align-items:center;margin:0;font-size:14px;display:inline-flex;position:relative}.upload-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.upload-thumb,.gift-item img{object-fit:cover;border-radius:9px;width:56px;height:56px}.gift-form>.primary{justify-self:start}.gift-list{grid-template-columns:1fr 1fr;gap:8px;margin-top:24px;display:grid}.gift-item{background:var(--bg);border-radius:12px;align-items:center;gap:12px;min-width:0;padding:10px;display:flex}.gift-item>div{flex:1;min-width:0}.gift-item strong{overflow-wrap:anywhere;display:block}.gift-item a{color:var(--accent);font-size:13px;display:block}.gift-placeholder{background:var(--surface2);width:56px;height:56px;color:var(--accent);border-radius:9px;flex:none;place-items:center;font-size:26px;display:grid}.remove-button{color:var(--muted);background:0 0;width:40px;height:40px;font-size:25px}.empty{color:var(--muted);margin-top:22px;font-size:14px}.invite-panel p,.private-panel p{margin:12px 0 18px;font-size:14px}.private-panel{border-style:dashed}.private-panel h3{font-size:17px}.ready-note{text-align:center;color:var(--muted);font-size:13px}.game{text-align:center;max-width:1100px;margin:auto;padding-top:26px}.game-heading h1{margin:6px 0;font-size:clamp(36px,5vw,62px)}.game-heading>div>p:last-child{font-size:16px}.stage-wrap{margin-top:18px}.box-controls{flex-wrap:wrap;justify-content:center;gap:6px;max-width:800px;margin:6px auto 0;display:flex}.box-controls button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;min-height:44px;padding:7px 11px;font-size:13px}.box-controls button.active{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.box-controls button:disabled{opacity:.7}.pager{justify-content:center;align-items:center;gap:15px;margin:14px 0;font-size:13px;display:flex}.pager button{min-height:40px;padding:7px 14px}.game-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin:22px auto;display:flex}.game-actions .primary{min-width:240px}.result-card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:center;gap:22px;max-width:550px;margin:20px auto;padding:16px;display:flex}.result-card h2{overflow-wrap:anywhere;font-size:25px}.result-card p{color:var(--muted)}.result-card a{color:var(--accent)}.result-image img,.result-image .gift-placeholder{object-fit:cover;border-radius:12px;width:110px;height:110px}.reroll{text-align:left;border:1px solid var(--accent);background:var(--surface);border-radius:16px;justify-content:space-between;align-items:center;gap:20px;max-width:700px;margin:20px auto;padding:18px;display:flex}.reroll p{color:var(--muted);font-size:14px}.reroll-actions{gap:8px;display:flex}.progress{border-top:1px solid var(--line);color:var(--muted);justify-content:center;gap:clamp(15px,4vw,55px);margin-top:28px;padding:18px;font-size:14px;display:flex}.progress span.current{color:var(--accent);font-weight:700}.private-game{font-size:13px}.toast{z-index:20;color:#202531;background:#f6f4ec;border-radius:12px;align-items:center;gap:20px;width:max-content;max-width:calc(100vw - 24px);padding:12px 18px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0004}.toast.error{color:#67251f;background:#ffe7df}.toast button{color:inherit;background:0 0;font-size:22px}.loading{text-align:center;color:var(--muted);padding:120px 20px}@media (width<=800px){.setup-layout{grid-template-columns:1fr}.setup-side{grid-template-columns:1fr 1fr}.setup-side>.primary,.ready-note{grid-column:1/-1}.setup-heading{flex-direction:column;align-items:start}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-art{height:100px}}@media (width<=560px){.topbar{min-height:70px;padding:13px 16px}.brand{font-size:15px}.brand-mark{margin-right:-5px;transform:scale(.8)}.top-actions{gap:5px}.role-pill,.presence,.round-pill{padding:5px 8px;font-size:11px}.round-pill b{font-size:16px}.sound-button{width:40px;height:40px}.presence{display:none}main{padding:0 16px 35px}.welcome{padding:40px 0}.welcome-intro{text-align:left}.setup-card,.panel{border-radius:18px;padding:18px}.theme-art{height:80px}.theme-copy{padding:9px}.theme-copy small{font-size:11px}.create-row{grid-template-columns:1fr;gap:15px}.setup-side{grid-template-columns:1fr}.setup-side>.primary,.ready-note{grid-column:auto}.room-bar{flex-wrap:wrap;gap:8px}.connection{font-size:11px}.gift-list{grid-template-columns:1fr}.game{padding-top:25px}.game-heading h1{font-size:36px}.result-card{gap:14px}.result-image img,.result-image .gift-placeholder{width:80px;height:80px}.result-card h2{font-size:21px}.game-actions>*{flex:1}.reroll{flex-direction:column;align-items:stretch}.reroll-actions>*{flex:1}.progress{gap:15px;font-size:12px}.input-action{flex-wrap:wrap}.input-action .secondary{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.dialog-backdrop{z-index:30;background:#000a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.manual-copy{background:var(--surface);width:min(100%,540px);color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 18px 60px #0006}.manual-copy p{color:var(--muted);margin:12px 0}.manual-copy textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;min-height:110px;color:var(--ink);font:inherit;overflow-wrap:anywhere;border-radius:10px;padding:12px}.manual-copy textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.manual-copy .primary{margin-top:16px}.app{isolation:isolate;position:relative;overflow-x:clip}.topbar,main{z-index:1;position:relative}.theme-art{background-repeat:no-repeat;background-size:contain;animation:6s ease-in-out infinite preview-float}.theme-card:nth-child(2) .theme-art{animation-delay:-1.5s}.theme-card:nth-child(3) .theme-art{animation-delay:-3s}.theme-card:nth-child(4) .theme-art{animation-delay:-4.5s}.ambient{z-index:0;pointer-events:none;background:var(--accent);opacity:.25;width:7px;height:7px;box-shadow:17vw 18vh 0 var(--action),36vw -5vh 0 var(--accent),62vw 21vh 0 var(--action),81vw 4vh 0 var(--accent),11vw 55vh 0 var(--accent),50vw 60vh 0 var(--action),84vw 63vh 0 var(--accent);border-radius:50%;animation:9s ease-in-out infinite alternate ambient-drift;position:fixed;top:18%;left:7%}.ambient-two{opacity:.16;width:5px;height:5px;animation-duration:7s;animation-delay:-4s;top:35%;left:4%}.theme-colorful .ambient{display:none}.theme-minimal .ambient{opacity:.08}.certainty-note{background:color-mix(in srgb,var(--accent) 13%,var(--surface));max-width:620px;color:var(--ink);text-align:center;border-radius:10px;margin:18px auto 0;padding:10px 15px;font-size:14px}@keyframes preview-float{0%,to{background-position:50% 48%}50%{background-position:50% 54%}}@keyframes ambient-drift{0%{transform:translateY(0)rotate(0)}to{transform:translateY(24px)rotate(35deg)}}@media (prefers-reduced-motion:reduce){.theme-art,.ambient{animation:none}}.stage-wrap{position:relative}.stage-reveal{z-index:2;pointer-events:none;opacity:0;place-items:center;height:clamp(340px,55vh,620px);animation:.55s cubic-bezier(.2,.8,.2,1) .8s forwards reveal-appear;display:grid;position:absolute;top:0;left:0;right:0}.stage-reveal-light{aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 60%,transparent),transparent 68%);filter:blur(12px);border-radius:50%;width:min(72%,470px);position:absolute}.stage-reveal-light:after{content:"✦";color:var(--accent);text-align:left;text-shadow:220px 18px var(--accent),340px 135px var(--accent),50px 200px var(--accent);font-size:30px;position:absolute;inset:3%}.stage-reveal-card{background:color-mix(in srgb,var(--surface) 93%,transparent);border:2px solid var(--accent);width:min(76%,330px);max-height:88%;box-shadow:0 12px 45px #0006,0 0 45px color-mix(in srgb,var(--accent) 45%,transparent);color:var(--ink);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 22px;display:flex;position:relative}.stage-reveal-label{color:var(--accent);font-size:13px;font-weight:700}.stage-reveal-card img{object-fit:contain;border-radius:12px;width:100%;height:clamp(100px,24vh,230px);display:block}.stage-reveal-card h3{overflow-wrap:anywhere;max-width:100%;max-height:4.1em;font-size:clamp(18px,2.4vw,27px);line-height:1.35;overflow:hidden}.theme-colorful .stage-reveal-label,.theme-minimal .stage-reveal-label{color:var(--accent)}@keyframes reveal-appear{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.stage-reveal{height:360px}.stage-reveal-card{width:min(70%,260px);padding:12px 16px}.stage-reveal-card img{height:165px}}@media (prefers-reduced-motion:reduce){.stage-reveal{opacity:1;animation:none}}.theme-preview-colorful .theme-art{background-color:#dce7ff;box-shadow:inset 0 -20px 28px #567eff77,inset 0 0 30px #fff}.theme-preview-luxury .theme-art{background-color:#16414a;box-shadow:inset 0 -20px 30px #071c24,inset 0 0 30px #ffd06b55}.theme-preview-minimal .theme-art{background-color:#f5f2ec;box-shadow:inset 0 -20px 25px #c5b7a899,inset 0 0 28px #fff}.room-preview{margin-top:22px}.room-preview-heading{text-align:left;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.room-preview-heading strong{font-size:16px}.room-preview-heading span{color:var(--muted);font-size:13px}.room-preview .gift-scene{border:1px solid var(--line);border-radius:16px;height:250px}.setup-preview{margin-top:18px}.setup-preview summary{cursor:pointer;width:max-content;max-width:100%;color:var(--accent);font-size:14px;font-weight:700}.setup-preview .room-preview{margin-top:14px}@media (width<=560px){.room-preview .gift-scene{height:210px}.room-preview-heading{flex-direction:column;align-items:start;gap:0}.room-preview-heading span{font-size:12px}}.gift-add-actions{flex-wrap:wrap;gap:10px;display:flex}.box-odds{color:var(--muted);font-size:13px}.empty-badge{border:1px solid var(--line);color:var(--muted);border-radius:99px;margin-top:3px;padding:2px 8px;font-size:11px;display:inline-block}.empty-box-art{flex:none;width:56px;height:56px;display:block}.result-image .empty-box-art{width:110px;height:110px}.stage-reveal-card .empty-box-art{width:100%;height:clamp(100px,24vh,230px)}@media (width<=560px){.result-image .empty-box-art{width:80px;height:80px}.stage-reveal-card .empty-box-art{height:165px}}@media (prefers-reduced-motion:reduce){.stage-reveal{opacity:1;animation:none}}.add-box-dialog{overscroll-behavior:contain;background:var(--surface);width:min(100%,560px);max-height:90dvh;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:26px;overflow:auto;box-shadow:0 18px 60px #0006}.add-box-dialog h2{font-size:25px}.add-box-dialog>p{color:var(--muted);margin:8px 0 18px}.box-kind-switch{margin:0 0 8px}.gift-fields{gap:12px;display:grid}.gift-fields[hidden]{display:none}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.dialog-error{color:#ff8e82;font-size:14px}.dialog-notice{color:var(--accent);font-size:14px}@media (width<=560px){.add-box-dialog{padding:20px}.dialog-actions>*{flex:1}}.theme-art{background-position:50% 58%,50%;background-repeat:no-repeat,no-repeat;background-size:auto 48%,cover;animation:6s ease-in-out infinite theme-room-float}@keyframes theme-room-float{0%,to{background-position:50% 56%,50%}50%{background-position:50% 62%,50%}}@media (prefers-reduced-motion:reduce){.theme-art{animation:none}}html,body,#root{height:100%;overflow:hidden}.game-shell{height:100dvh;min-height:0;overflow:hidden}.shell-stage{z-index:0;position:absolute;inset:0}.shell-stage .gift-scene{border-radius:0;height:100%}.shell-hud{z-index:4;min-height:68px;padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));color:#fff;background:linear-gradient(#111a31d9,#0000);border:0;position:absolute;top:0;left:0;right:0}.shell-hud .brand-mark{border-color:var(--accent)}.hud-menu{color:#fff;background:#101a36aa;border:1px solid #fff7;border-radius:50%;min-width:44px;min-height:44px;font-size:21px}.shell-hud .presence,.shell-hud .role-pill,.shell-hud .round-pill,.shell-hud .sound-button{color:#fff;background:#101a36aa;border-color:#fff5}.shell-title{z-index:2;text-align:center;color:#fff;pointer-events:none;text-shadow:0 2px 8px #10162b,0 2px 20px #10162b;position:absolute;top:clamp(80px,12vh,125px);left:5%;right:5%}.shell-title h1{letter-spacing:-.04em;font-size:clamp(30px,4.4vw,58px)}.shell-title p{margin-top:5px;font-size:clamp(13px,1.5vw,17px)}.shell-offline,.shell-note{color:#fff0b3;font-size:12px}.shell-bottom{z-index:3;padding:12px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));color:#fff;text-align:center;background:linear-gradient(#0000,#10192fdd 35%,#10192ff2);position:absolute;bottom:0;left:0;right:0}.shell-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.shell-actions .secondary,.shell-bottom .box-controls button,.shell-bottom .pager .secondary{color:#fff;background:#17284edb;border-color:#fff6}.shell-bottom .box-controls{margin:0 auto 6px}.shell-bottom .pager{margin:4px}.shell-bottom .pager button{min-height:34px}.shell-reroll{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.shell-reroll span{font-size:13px}.game-shell>.stage-reveal{z-index:2;height:100%;top:0}.game-shell>.stage-reveal .stage-reveal-card{max-height:42vh}.game-shell>.stage-reveal .stage-reveal-card img,.game-shell>.stage-reveal .stage-reveal-card .empty-box-art{height:min(20vh,190px)}.shell-menu-backdrop{z-index:20}.shell-menu{overscroll-behavior:contain;background:var(--surface);width:min(100%,720px);max-height:90dvh;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:25px;position:relative;overflow:auto;box-shadow:0 18px 60px #0008}.shell-menu h2{padding-right:35px;font-size:25px}.shell-menu h3{margin-top:22px;font-size:17px}.shell-menu>p,.create-menu>p{color:var(--muted);margin:8px 0 18px}.shell-menu .theme-grid{margin:18px 0}.shell-menu .theme-art{height:105px}.shell-menu .gift-list{margin-top:15px}.shell-menu .result-card{margin:16px 0}.shell-menu .player-status{margin:15px 0}.shell-menu .text-button{margin-top:14px;display:block}.menu-close{color:var(--ink);background:0 0;width:44px;height:44px;font-size:28px;position:absolute;top:12px;right:16px}.menu-links{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.menu-links button{text-align:left;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:16px;font-weight:700}.create-menu{gap:16px;display:grid}.create-menu p,.create-menu label{margin:0}.game-shell>.dialog-backdrop:not(.shell-menu-backdrop){z-index:30}.shell-menu .theme-card:disabled{opacity:.6}@media (width<=560px){.shell-hud{min-height:58px}.shell-title{top:82px}.shell-title h1{font-size:30px}.shell-title p{font-size:12px}.shell-bottom{padding-top:10px}.shell-actions{gap:6px}.shell-actions .primary,.shell-actions .secondary{min-height:44px;padding:8px 12px;font-size:13px}.shell-bottom .box-controls button{min-height:38px;padding:5px 8px;font-size:12px}.shell-menu{max-height:90dvh;padding:20px}.shell-menu .theme-art{height:70px}.shell-menu .gift-list{grid-template-columns:1fr 1fr;gap:5px}.shell-menu .gift-item{gap:6px;padding:6px}.shell-menu .gift-item img,.shell-menu .gift-placeholder,.shell-menu .empty-box-art{width:38px;height:38px}.shell-menu .gift-item strong{font-size:12px}.shell-menu .remove-button{width:30px}.menu-links{grid-template-columns:1fr 1fr}.game-shell>.stage-reveal{height:100%}.game-shell>.stage-reveal .stage-reveal-card img,.game-shell>.stage-reveal .stage-reveal-card .empty-box-art{height:16vh}}.plaque-editor{gap:14px;display:grid}.plaque-editor>p{color:var(--muted)}.plaque-editor label{margin:0}.game-shell .primary{color:#17213b;text-shadow:0 1px #fff8;background:linear-gradient(#fff39b,#ffcf57 48%,#f4aa27);border:2px solid #fff0a3;border-radius:14px;box-shadow:0 5px #a96015,0 7px 12px #0007,inset 0 2px 1px #fff9}.game-shell .secondary,.game-shell .hud-menu,.game-shell .sound-button,.game-shell .box-controls button,.game-shell .menu-links button{color:#fff;background:linear-gradient(#3e628a,#1b3458);border:2px solid #95b7e0;border-radius:12px;box-shadow:0 4px #09162b,0 6px 9px #0005,inset 0 2px #fff5}.game-shell .primary:not(:disabled):active,.game-shell .secondary:not(:disabled):active,.game-shell .hud-menu:active,.game-shell .menu-links button:active{transform:translateY(4px);box-shadow:0 1px #624224,inset 0 2px 3px #0003}.game-shell .box-controls button.active{color:#17213b;background:linear-gradient(#fff39b,#ffca4b);border-color:#fff0a3}.game-shell .sound-button,.game-shell .hud-menu{border-radius:50%}.game-shell.theme-colorful .primary{background:linear-gradient(#fff7aa,#ffe35b 52%,#ffba30);box-shadow:0 5px #b27117,0 7px 12px #0005,inset 0 2px #fff}.game-shell.theme-luxury .primary{background:linear-gradient(#fff4c6,#ffd06b 52%,#d49a3c);box-shadow:0 5px #79511f,0 7px 12px #0006,inset 0 2px #fff8}.game-shell.theme-minimal .primary{color:#302a25;background:linear-gradient(#fff,#e8e3dd 52%,#d4c8bb);border-color:#fff;box-shadow:0 5px #a99b8d,0 7px 12px #0004,inset 0 2px #fff}.game-shell.theme-minimal .secondary,.game-shell.theme-minimal .menu-links button{color:#302a25;background:linear-gradient(#fff,#e7e2da);border-color:#fff;box-shadow:0 4px #aa9d90,0 6px 9px #0003,inset 0 2px #fff}.game-shell .shell-menu,.game-shell .add-box-dialog{border:3px solid var(--accent);box-shadow:0 8px #0006,0 18px 45px #0009,inset 0 2px #fff5}.game-shell .primary:disabled,.game-shell .secondary:disabled{opacity:.6;filter:grayscale(.4)}.theme-minimal .ambient{display:none}@media (prefers-reduced-motion:reduce){.game-shell .primary,.game-shell .secondary{transition:none}}.game-shell .box-controls button{min-height:44px}.theme-luxury .shell-hud .presence,.theme-luxury .shell-hud .role-pill,.theme-luxury .shell-hud .round-pill,.game-shell.theme-luxury .secondary,.game-shell.theme-luxury .hud-menu,.game-shell.theme-luxury .sound-button,.game-shell.theme-luxury .box-controls button,.game-shell.theme-luxury .menu-links button{color:#fff9e9;background:linear-gradient(#225451,#103138);border-color:#d5b575;box-shadow:0 4px #071d20,0 6px 9px #0005,inset 0 2px #fff3}.theme-minimal .shell-hud .presence,.theme-minimal .shell-hud .role-pill,.theme-minimal .shell-hud .round-pill,.game-shell.theme-minimal .hud-menu,.game-shell.theme-minimal .sound-button,.game-shell.theme-minimal .box-controls button{color:#292721;background:linear-gradient(#fffefa,#eae3d7);border-color:#d4c2a7;box-shadow:0 4px #aa9d90,0 6px 9px #0003,inset 0 2px #fff}.game-shell.theme-luxury .box-controls button.active,.game-shell.theme-minimal .box-controls button.active{color:#201c18;background:linear-gradient(#fff3b7,#ffd06b);border-color:#fff1bf}@media (width<=560px){.shell-hud .presence{align-items:center;gap:3px;min-height:30px;padding:5px 7px;font-size:0;display:inline-flex}.shell-hud .presence span{margin:0}.shell-hud .presence:after{content:attr(data-count);font-size:11px;font-weight:700}.shell-hud .top-actions{gap:4px}}.shell-hud{justify-content:flex-end}.shell-hud .top-actions{margin-left:auto}.plaque-editor .upload-button{width:max-content}.plaque-editor .text-button{margin:0}.gift-item>.gift-item-actions{flex:none;align-items:center;gap:2px;display:flex}.edit-gift-button{min-height:44px;color:var(--accent);background:0 0;padding:6px;font-size:13px;font-weight:700}.gift-item-actions .remove-button{flex:none;min-height:44px}.upload-row .text-button{min-height:44px}.edit-gift-button,.icon-action{border:1px solid var(--line);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink);background:var(--bg);border-radius:10px;place-items:center;padding:10px;display:inline-grid}.action-icon-svg{width:21px;height:21px;display:block}.metadata-button{white-space:nowrap;justify-content:center;align-items:center;gap:8px;width:170px;min-width:170px;display:inline-flex}.metadata-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite metadata-spin}@keyframes metadata-spin{to{transform:rotate(360deg)}}@media (width<=560px){.input-action .metadata-button{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.metadata-spinner{animation:none}}.shell-menu .gift-list{grid-template-columns:minmax(0,1fr)}.shell-menu .gift-item{align-items:center;gap:10px;min-width:0;display:flex}.shell-menu .gift-item>div:not(.gift-item-actions){flex:1;min-width:0}.shell-menu .gift-item strong{white-space:normal;overflow-wrap:anywhere;word-break:normal;display:block}.shell-menu .gift-item img{object-fit:contain;background:#fff;border-radius:9px;flex:none;width:56px;height:56px}.shell-menu .gift-item-actions{flex:none}.shell-menu .gift-item-actions .edit-gift-button,.shell-menu .gift-item-actions .remove-button{width:44px;min-width:44px;height:44px;min-height:44px}.shell-menu .gift-placeholder,.shell-menu .gift-item .empty-box-art{width:56px;height:56px}@media (width<=560px){.shell-menu .gift-item{gap:8px}.shell-menu .gift-item img,.shell-menu .gift-placeholder,.shell-menu .gift-item .empty-box-art{width:48px;height:48px}.shell-menu .gift-item strong{font-size:13px}}.add-box-row{border:2px dashed var(--accent);background:var(--bg);width:100%;min-height:54px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:10px 16px;font-weight:700;display:flex}.add-box-row svg{flex:none;width:21px;height:21px}.add-box-row:hover{background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.gift-image-picker{border:1px solid var(--line);background:var(--bg);border-radius:12px;flex-wrap:nowrap;align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.gift-image-preview{color:#7b8086;background:#fff;border-radius:9px;flex:none;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.gift-image-preview .upload-thumb{object-fit:contain;width:100%;height:100%}.gift-image-preview svg{width:27px;height:27px}.gift-image-controls{min-width:0;color:var(--ink);flex-direction:column;align-items:flex-start;gap:5px;display:flex}.gift-image-controls strong{font-size:14px}.gift-image-controls small{color:var(--muted);font-size:12px}.gift-image-actions{align-items:center;gap:8px;max-width:100%;display:flex}.gift-image-actions .upload-button{white-space:nowrap;min-height:44px;padding:8px 14px}.gift-image-actions .icon-action{flex:none}@media (width<=360px){.gift-image-picker{gap:8px;padding:9px}.gift-image-preview{width:64px;height:64px}.gift-image-actions{gap:5px}.gift-image-actions .upload-button{padding-inline:10px}}.gift-name-photo{grid-template-columns:104px minmax(0,1fr);align-items:start;gap:12px;display:grid}.gift-photo-slot{width:104px;height:104px;position:relative}.gift-photo-label{border:1px dashed var(--line);color:#6e7781;cursor:pointer;background:#fff;border-radius:12px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.gift-photo-label:focus-within{outline:3px solid var(--accent);outline-offset:3px}.gift-photo-label input{opacity:0;width:1px;height:1px;position:absolute}.gift-photo-label .upload-thumb{object-fit:contain;width:100%;height:100%}.gift-photo-empty{place-items:center;gap:2px;display:grid}.gift-photo-empty svg{width:27px;height:27px}.gift-photo-empty small{font-size:11px}.gift-photo-remove{background:var(--surface);z-index:1;position:absolute;top:-7px;right:-7px;box-shadow:0 2px 6px #0004}.gift-name-controls{min-width:0}.gift-name-toolbar{justify-content:space-between;align-items:center;gap:5px;display:flex}.gift-name-toolbar label{margin:0}.gift-url-toggle.has-url{border-color:var(--accent);color:var(--accent)}.gift-name-controls textarea{resize:none;border:1px solid var(--line);background:var(--bg);width:100%;height:60px;min-height:60px;color:var(--ink);font:inherit;border-radius:10px;padding:8px 10px;display:block}.gift-name-controls textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.gift-url-shade{z-index:35;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gift-url-dialog{border:2px solid var(--accent);background:var(--surface);width:min(100%,440px);color:var(--ink);border-radius:18px;padding:22px;box-shadow:0 10px 40px #0008}.gift-url-dialog h2{margin-bottom:16px}.gift-url-dialog label{margin:0}.gift-url-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.gift-url-actions .metadata-button{width:170px}.game-shell .toast{z-index:50}@media (width<=360px){.gift-name-photo{grid-template-columns:96px minmax(0,1fr);gap:9px}.gift-photo-slot{width:96px;height:96px}.gift-url-actions .metadata-button{flex:1;width:auto;min-width:0}}.gift-name-photo{grid-template-columns:minmax(0,1fr) 104px;gap:16px}.gift-photo-slot{width:104px;height:148px}.gift-photo-label{width:104px;height:104px;inset:0 auto auto 0}.gift-photo-footer{justify-content:center;align-items:center;width:100%;height:44px;display:flex;position:absolute;top:104px;left:0}.gift-photo-remove{width:44px;height:44px;box-shadow:none;color:var(--muted);background:0 0;border:0;padding:12px;position:static}.gift-photo-remove .action-icon-svg{width:20px;height:20px}.gift-photo-remove:hover{color:var(--ink)}@media (width<=560px){.gift-name-photo{grid-template-columns:minmax(0,1fr);gap:16px}.gift-photo-slot{justify-self:center;width:128px;height:172px}.gift-photo-label{width:128px;height:128px}.gift-photo-footer{top:128px}}.gift-photo-remove{width:auto;min-width:44px;font:inherit;white-space:nowrap;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:13px;display:inline-flex;top:auto;right:auto}.stage-reveal{animation-duration:.6s}.gift-name-toolbar{gap:8px;margin-bottom:8px}.gift-name-controls textarea{padding:8px 12px;line-height:1.6}.add-box-dialog,.gift-url-dialog{line-height:1.6}.add-box-dialog h2,.gift-url-dialog h2{line-height:1.3}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.preview-switch-row{border:1px solid var(--line);background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:8px 12px;line-height:1.6;display:flex}.preview-switch-row>span,.toggle-copy{min-width:0;font-weight:600}.toggle-copy{flex-direction:column;display:flex}.toggle-copy small{color:var(--muted);font-size:12px;font-weight:400}.game-toggle{width:60px;height:44px;box-shadow:none;background:0 0;border:0;border-radius:8px;flex:0 0 60px;place-items:center;padding:0;display:grid}.game-toggle>span{background:#77828d;border-radius:99px;width:50px;height:28px;transition:background .18s;display:block;position:relative}.game-toggle>span:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:4px;left:4px}.game-toggle[aria-checked=true]>span{background:var(--accent)}.game-toggle[aria-checked=true]>span:after{transform:translate(22px)}@media (prefers-reduced-motion:reduce){.game-toggle>span,.game-toggle>span:after{transition:none}}.stage-sign .celebration-sign{width:min(45vw,71.3vh,760px);height:auto;aspect-ratio:var(--sign-aspect,2.7)}@media (width<=560px){.stage-sign .celebration-sign:not(.sign-preview){width:min(80vw,71.3vh)}}@media (orientation:landscape) and (height<=500px){.stage-sign .celebration-sign{width:min(45vw,36vh)}}@media (width>=561px){.stage-sign{top:max(44px,calc(env(safe-area-inset-top) + 30px))}}.recent-room-list{gap:10px;margin-top:16px;display:grid}.recent-room{border:1px solid var(--line);background:var(--bg);border-radius:12px;overflow:hidden}.recent-room button{text-align:left;width:100%;color:var(--ink);background:0 0;flex-wrap:wrap;align-items:center;gap:10px;padding:15px;display:flex}.recent-room button strong{overflow-wrap:anywhere;flex:1;min-width:130px}.recent-room button span,.recent-room>span{color:var(--muted);font-size:14px}.recent-room>span{padding:0 15px 12px;display:block}.setup-wizard{padding-top:0;padding-bottom:0}.setup-wizard .setup-header{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);margin:0 -25px 18px;padding:18px 76px 14px 25px;position:sticky;top:0}.setup-wizard .setup-header h2{padding:0;font-size:22px}.setup-header span{color:var(--muted);margin-top:3px;font-size:14px;display:block}.setup-wizard .menu-close{z-index:4;float:right;margin:8px -9px -52px 0;position:sticky;top:8px}.setup-footer{z-index:3;padding:14px 25px max(14px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin:20px -25px 0;display:flex;position:sticky;bottom:0}.setup-footer button{min-width:110px}.setup-wizard .plaque-editor h2,.setup-wizard .memory-editor h2{font-size:22px}@media (width<=560px){.setup-wizard .setup-header{margin-left:-20px;margin-right:-20px;padding-left:20px}.setup-footer{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.setup-footer button{flex:1}}.member-management{margin:20px 0}.member-confirm{border:1px solid var(--line);background:var(--bg);border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding:15px;display:grid}.member-confirm p{color:var(--muted);grid-column:1/-1;margin:0}.game-shell .shell-hud .sound-button,.game-shell .shell-hud .hud-menu{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px}.game-shell .shell-hud .sound-button{appearance:none;place-items:center;padding:0;line-height:1;display:grid}.game-shell .shell-hud .sound-button svg{width:24px;height:24px;display:block}@media (width<=360px){.game-shell .shell-hud{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.game-shell .shell-hud .top-actions{gap:3px}.game-shell .shell-hud .role-pill,.game-shell .shell-hud .round-pill{padding-left:5px;padding-right:5px}}.game-shell .toast{pointer-events:none}.game-shell .toast button{pointer-events:auto}.game-shell.has-open-menu>.toast{top:max(12px,env(safe-area-inset-top));bottom:auto}.invite-link-row{align-items:stretch;gap:8px;display:flex}.invite-link-row input{flex:1;min-width:0}.invite-link-row .invite-refresh{flex:0 0 44px;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:grid}.invite-refresh-hint{color:var(--muted);margin:6px 0 12px;font-size:14px}.menu-content{display:contents}.menu-content>p{color:var(--muted);margin:8px 0 18px}.setup-wizard{grid-template-columns:104px minmax(0,1fr);align-content:start;column-gap:18px;display:grid}.setup-wizard .setup-header{z-index:5;grid-column:1/-1;position:sticky;top:0}.setup-wizard .setup-header .menu-close{float:none;margin:0;position:absolute;top:8px;right:14px}.setup-tabs{z-index:2;align-self:start;gap:8px;display:grid;position:sticky;top:88px}.setup-tabs button{border:2px solid var(--line);background:var(--surface2);min-height:48px;color:var(--ink);border-radius:12px;align-items:center;gap:8px;padding:8px;font-weight:700;display:flex;box-shadow:0 3px #0004,inset 0 1px #fff3}.setup-tabs button svg{flex:none}.setup-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--bg);box-shadow:0 4px #0006,inset 0 2px #fff8}.setup-content{min-width:0}.setup-content>p{color:var(--muted);margin:8px 0 18px}.setup-footer{grid-column:1/-1}@media (width<=560px){.setup-wizard{grid-template-columns:minmax(0,1fr);column-gap:0}.setup-wizard .setup-header,.setup-footer{grid-column:1}.setup-tabs{background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;margin:0 -8px 16px;padding:6px 8px;top:82px}.setup-tabs button{flex-direction:column;justify-content:center;gap:1px;min-width:0;min-height:54px;padding:5px 1px;font-size:12px;line-height:1.2}.setup-tabs button svg{width:21px;height:21px}}html[data-input-modality=pointer] :is(button,input,textarea,select):focus{outline:none}.hud-menu[data-testid=menu-main]{place-items:center;padding:0;display:grid}.hud-menu[data-testid=menu-main] svg{display:block}@media (width<=560px){.setup-tabs{display:flex}.setup-tabs button{flex:1}}.setup-wizard{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;height:90dvh;overflow:hidden}.setup-wizard .setup-header{margin-bottom:0}.setup-content{overscroll-behavior:contain;min-height:0;padding:0 10px 18px;overflow:auto}.setup-footer{margin-top:0}@media (width<=560px),(height<=500px){.setup-wizard{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);column-gap:0}.setup-wizard .setup-header,.setup-footer{grid-column:1}.setup-tabs{background:var(--surface);grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;margin:0 -8px;padding:6px 8px;top:auto}.setup-tabs button{flex-direction:column;justify-content:center;gap:1px;min-width:0;min-height:54px;padding:5px 1px;font-size:12px;line-height:1.2}.setup-tabs button svg{width:21px;height:21px}}.theme-pastel{--bg:#f8eaf2;--surface:#fff8fc;--surface2:#eadcf4;--ink:#4b3047;--muted:#765c70;--accent:#8b4276;--action:#e080a6;--line:#8b42764d}.theme-cartoon{--bg:#fff0ac;--surface:#fff8dc;--surface2:#cce9fa;--ink:#293563;--muted:#515c7d;--accent:#493ea2;--action:#f47a62;--line:#493ea24d}.theme-candy{--bg:#ffedf0;--surface:#fff9f2;--surface2:#d5f0e3;--ink:#603840;--muted:#806066;--accent:#a33e65;--action:#ed9bb4;--line:#a33e654d}.theme-rgb{--bg:#151b28;--surface:#252c3c;--surface2:#343d50;--ink:#f5f8ff;--muted:#c1cad9;--accent:#73ebee;--action:#ec73c8;--line:#73ebee66}.theme-audition{color:var(--panel-text,var(--ink));flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;display:flex}.theme-audition span{font-weight:700}.theme-audition small{color:var(--panel-muted,var(--muted))}.theme-audition button[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:2px}.theme-party{--bg:#14132e;--surface:#221c43;--surface2:#35265b;--ink:#fff5fd;--muted:#d8c9e7;--accent:#79eff4;--action:#ed72c3;--line:#a986dd66}.theme-audition button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.theme-audition-icon{flex:none;display:block}.theme-preview-party .theme-art{background-color:#17142f;box-shadow:inset 0 -20px 28px #0c1027,inset 0 0 28px #d658b455}.menu-content>.menu-brand{align-items:center;gap:10px;display:flex}.menu-brand img{object-fit:contain;width:48px;height:48px}.game-shell{--panel:#202747;--panel-raised:#303454;--panel-text:#fff8ed;--panel-muted:#d4d7e5;--panel-line:#e1b95e;--panel-button:#ff777d;--panel-button-text:#241b36;--panel-shadow:#11172e;--panel-field:#151e38;--panel-selected:#6ce0d4}.game-shell.theme-colorful{--panel:#fff9e9;--panel-raised:#fff0cc;--panel-text:#193b91;--panel-muted:#4e5d86;--panel-line:#2857c8;--panel-button:#ff806b;--panel-button-text:#172d72;--panel-shadow:#a8b5d0;--panel-field:#fffefa;--panel-selected:#ffe56b}.game-shell.theme-luxury{--panel:#10383b;--panel-raised:#1a4a49;--panel-text:#fff5db;--panel-muted:#c4d9ce;--panel-line:#d9b76d;--panel-button:#e1bd78;--panel-button-text:#153638;--panel-shadow:#08272a;--panel-field:#0c3034;--panel-selected:#e1bd78}.game-shell.theme-minimal{--panel:#fbf7ee;--panel-raised:#f1e7d8;--panel-text:#42332c;--panel-muted:#79685e;--panel-line:#c68b70;--panel-button:#c87858;--panel-button-text:#fffaf4;--panel-shadow:#cbb9a8;--panel-field:#fffdf8;--panel-selected:#e6c0a9}.game-shell .shell-menu,.game-shell .add-box-dialog,.game-shell .gift-url-dialog,.game-shell .manual-copy{--surface:var(--panel);--surface2:var(--panel-raised);--ink:var(--panel-text);--muted:var(--panel-muted);--line:color-mix(in srgb,var(--panel-line) 42%,transparent);background:var(--panel);color:var(--panel-text);border-color:var(--panel-line);box-shadow:0 6px 0 var(--panel-shadow),0 18px 45px #0007,inset 0 1px #fff5}.game-shell .shell-menu input:not([type=file]),.game-shell .shell-menu textarea,.game-shell .shell-menu select,.game-shell .add-box-dialog input:not([type=file]),.game-shell .add-box-dialog textarea,.game-shell .gift-url-dialog input,.game-shell .manual-copy textarea{background:var(--panel-field);color:var(--panel-text);border-color:var(--line)}.game-shell .shell-menu input::placeholder,.game-shell .shell-menu textarea::placeholder,.game-shell .add-box-dialog textarea::placeholder{color:var(--panel-muted)}.game-shell .shell-menu .secondary,.game-shell .shell-menu .menu-links button,.game-shell .add-box-dialog .secondary,.game-shell .gift-url-dialog .secondary,.game-shell .manual-copy .secondary{background:var(--panel-raised);color:var(--panel-text);border:2px solid var(--line);box-shadow:0 3px 0 var(--panel-shadow),inset 0 1px #fff5;text-shadow:none}.game-shell .shell-menu .primary,.game-shell .add-box-dialog .primary,.game-shell .gift-url-dialog .primary,.game-shell .manual-copy .primary{background:var(--panel-button);color:var(--panel-button-text);border:2px solid var(--panel-line);box-shadow:0 4px 0 var(--panel-shadow),inset 0 1px #fff7;text-shadow:none}.game-shell .setup-tabs button{background:var(--panel-raised);color:var(--panel-text);border-color:var(--line);box-shadow:0 3px 0 var(--panel-shadow)}.game-shell .setup-tabs button[aria-selected=true]{background:var(--panel-selected);color:var(--panel-button-text);border-color:var(--panel-line);box-shadow:0 3px 0 var(--panel-shadow),inset 0 1px #fff8}.game-shell.theme-party .setup-tabs button[aria-selected=true]{color:#18233c}.game-shell.theme-minimal .setup-tabs button[aria-selected=true]{color:#42332c}.game-shell .shell-menu .sign-picker-row button[aria-pressed=true],.game-shell .add-box-dialog .role-switch button.active{background:var(--panel-selected);color:var(--panel-text);border-color:var(--panel-line)}.game-shell.theme-party .shell-menu .sign-picker-row button[aria-pressed=true],.game-shell.theme-party .add-box-dialog .role-switch button.active,.game-shell.theme-luxury .shell-menu .sign-picker-row button[aria-pressed=true],.game-shell.theme-luxury .add-box-dialog .role-switch button.active{color:#173238}.game-shell .shell-menu-backdrop.is-menu-popover{background:0 0;padding:0;display:block}.game-shell .main-menu-popover{border-width:2px;border-radius:18px;flex-direction:column;width:min(300px,100vw - 16px);max-height:calc(100dvh - 16px);padding:14px;display:flex;position:fixed;overflow:hidden}.game-shell .main-menu-popover .menu-close{width:44px;height:44px;top:6px;right:8px}.game-shell .main-menu-popover .menu-content{flex-direction:column;min-height:0;display:flex;overflow:hidden}.game-shell .main-menu-popover h2{align-items:center;min-height:40px;padding:0 44px 0 5px;font-size:19px;display:flex}.game-shell .main-menu-popover .menu-links{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:2px 4px 6px 2px;overflow:auto}.game-shell .main-menu-popover .menu-links button{border-radius:11px;align-items:center;gap:11px;min-height:44px;padding:7px 10px;font-size:14px;line-height:1.25;display:flex}.game-shell .main-menu-popover .menu-links svg{width:22px;height:22px;color:var(--panel-line);flex:none}.game-shell .main-menu-popover .menu-links button:active{box-shadow:0 1px 0 var(--panel-shadow);transform:translateY(2px)}.game-shell.theme-pastel{--panel:#fff7fc;--panel-raised:#f1e2f5;--panel-text:#50334b;--panel-muted:#75586c;--panel-line:#9b5c8a;--panel-button:#e7a2bc;--panel-button-text:#4b3047;--panel-shadow:#cbb1c9;--panel-field:#fff;--panel-selected:#eed1e5}.game-shell.theme-cartoon{--panel:#fff9dc;--panel-raised:#dcefff;--panel-text:#26365e;--panel-muted:#4e5d79;--panel-line:#6052af;--panel-button:#f49a72;--panel-button-text:#293563;--panel-shadow:#aaa2b9;--panel-field:#fff;--panel-selected:#ffdf72}.game-shell.theme-candy{--panel:#fff8f3;--panel-raised:#dcf2e6;--panel-text:#633b48;--panel-muted:#80606b;--panel-line:#b05c7b;--panel-button:#efa8bb;--panel-button-text:#633b48;--panel-shadow:#d1b2b5;--panel-field:#fff;--panel-selected:#f7d4df}.game-shell.theme-rgb{--panel:#202838;--panel-raised:#303d4e;--panel-text:#f4f9ff;--panel-muted:#c5d4e0;--panel-line:#76dce5;--panel-button:#77e4ea;--panel-button-text:#182431;--panel-shadow:#101723;--panel-field:#182230;--panel-selected:#73dfe8}.game-shell.theme-party{--panel:#211a3c;--panel-raised:#342651;--panel-text:#fff5fd;--panel-muted:#d7c8e7;--panel-line:#8cdae8;--panel-button:#ef84ca;--panel-button-text:#261535;--panel-shadow:#100c24;--panel-field:#17112d;--panel-selected:#7ce6ea}.game-shell .shell-menu:not(.setup-wizard){flex-direction:column;padding:0;display:flex;overflow:hidden}.game-shell .shell-menu-header{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;min-height:64px;padding:10px 16px 10px 20px;display:flex}.game-shell .shell-menu-header h2{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;padding:0;font-size:22px;line-height:1.25}.game-shell .shell-menu-header .menu-close{float:none;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink);flex:none;place-items:center;margin:0;padding:0;display:grid;position:static}.game-shell .shell-menu-header .menu-close svg,.game-shell .setup-header .menu-close svg{width:20px;height:20px}.game-shell .shell-menu:not(.setup-wizard) .menu-content{min-height:0;padding:18px 20px 24px;display:block;overflow:auto}.game-shell .main-menu-popover .shell-menu-header{min-height:58px;padding:7px 10px 7px 14px}.game-shell .main-menu-popover .shell-menu-header h2{min-height:0;padding:0;font-size:19px;display:block}.game-shell .main-menu-popover .menu-content{flex-direction:column;padding:12px 14px!important;display:flex!important;overflow:hidden!important}.game-shell .shell-menu:not(.setup-wizard) .memory-editor>h2{display:none}.game-shell .setup-wizard .setup-header .menu-close{place-items:center;padding:0;display:grid;top:8px;transform:none}.game-shell .privacy-footer-link{min-height:44px;box-shadow:none;color:var(--muted);text-underline-offset:3px;background:0 0;border:0;justify-content:center;align-items:center;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.35;text-decoration:underline;display:inline-flex}.game-shell .main-menu-popover .privacy-footer-link{flex:none;align-self:center;margin-top:6px}.game-shell .account-menu .privacy-footer-link{justify-self:center}.chip-group{background:var(--surface2);border-radius:24px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.chip{white-space:nowrap;min-width:44px;min-height:44px;color:var(--ink);background:0 0;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s}.chip:hover{background:var(--surface)}.chip.chip-on{background:var(--accent);color:var(--bg);font-weight:700;box-shadow:0 2px 4px #0003}.chip:focus:not(:focus-visible){outline:none}.chip:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.language-choices svg{color:var(--ink);flex:none;margin-left:8px}.language-choices-menu{gap:8px;margin:44px 0 12px}.has-landing-languages{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.has-landing-languages .language-choices{background:var(--surface2)}@media (width<=560px){.has-landing-languages .language-choices{order:2}.has-landing-languages .top-actions{order:1}}.game-shell.theme-minimal .chip.chip-on{background:var(--panel-selected);color:var(--panel-text)}@media (width<=560px){.has-landing-languages .language-choices-landing{margin-inline:auto}}.game-shell .main-menu-popover .language-choices-menu{background:0 0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 14px;padding:0;display:grid}.game-shell .main-menu-popover .language-choices-menu .chip{border:2px solid var(--line);background:var(--panel-raised);min-width:0;min-height:44px;color:var(--panel-text);box-shadow:0 3px 0 var(--panel-shadow),inset 0 1px #fff5;border-radius:10px;place-items:center;padding:6px 4px;font-size:13px;font-weight:600;display:grid}.game-shell .main-menu-popover .language-choices-menu .chip-on{background:var(--panel-selected);color:var(--panel-button-text);border-color:var(--panel-line)}.game-shell.theme-minimal .main-menu-popover .language-choices-menu .chip-on{color:#42332c}
