@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/makeup-studio/assets/comfortaa-cyrillic-ext-400-normal-D9-2rT7a.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-cyrillic-ext-400-normal-Dh4yUWGJ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/makeup-studio/assets/comfortaa-cyrillic-400-normal-D77ZQwhO.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-cyrillic-400-normal-l7S9D9KH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/makeup-studio/assets/comfortaa-greek-400-normal-DCcFvY2i.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-greek-400-normal-CKbmegV-.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/makeup-studio/assets/comfortaa-vietnamese-400-normal-B90LNXF2.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-vietnamese-400-normal-CwEC9EtN.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:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/makeup-studio/assets/comfortaa-latin-ext-400-normal-BfO9-j4P.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-latin-ext-400-normal-Co-lXlSY.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:Comfortaa;font-style:normal;font-display:swap;font-weight:400;src:url(/makeup-studio/assets/comfortaa-latin-400-normal-Cs52v-fJ.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-latin-400-normal-CxqV1cRw.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:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/makeup-studio/assets/comfortaa-cyrillic-ext-700-normal-CEIPfZRo.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-cyrillic-ext-700-normal-CsTPZj0j.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/makeup-studio/assets/comfortaa-cyrillic-700-normal-BojaBofG.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-cyrillic-700-normal-Bx05XFlW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/makeup-studio/assets/comfortaa-greek-700-normal-B2gUORsJ.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-greek-700-normal-Cxy5Yse9.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/makeup-studio/assets/comfortaa-vietnamese-700-normal-C2R3i9AT.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-vietnamese-700-normal-C5kgrMxx.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:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/makeup-studio/assets/comfortaa-latin-ext-700-normal-Chtbp5gW.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-latin-ext-700-normal-BnH-JGUK.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:Comfortaa;font-style:normal;font-display:swap;font-weight:700;src:url(/makeup-studio/assets/comfortaa-latin-700-normal-DOtxUU44.woff2)format("woff2"),url(/makeup-studio/assets/comfortaa-latin-700-normal-K_GTRK4c.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}:root{--pink-50:#fff5f9;--pink-100:#ffe1ee;--pink-200:#ffc2da;--pink-400:#ff7fb0;--pink-500:#ff5c9a;--pink-600:#e6417f;--lilac-100:#efe6ff;--lilac-300:#cbb5ff;--lilac-500:#9b7bea;--lilac-700:#6d4fc4;--mint-500:#3ec6a0;--mint-600:#2aa585;--sun-500:#ffc53d;--sun-600:#f5a800;--coral-500:#ff6b6b;--coral-600:#e04f4f;--plum-900:#3b2140;--plum-700:#5a3a5e;--plum-500:#8a6a8e;--surface:#fff;--surface-alt:#fff8fb;--text-900:#3b2140;--text-600:#6b4f70;--text-400:#9c86a0;--font-main:"Comfortaa", "Trebuchet MS", "Segoe UI", system-ui, -apple-system, sans-serif;--fs-sm:clamp(.95rem, .8rem + .5vw, 1.15rem);--fs-md:clamp(1.1rem, .9rem + .7vw, 1.4rem);--fs-lg:clamp(1.3rem, 1rem + 1vw, 1.8rem);--fs-xl:clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem);--fs-2xl:clamp(2.2rem, 1.4rem + 2.6vw, 3.8rem);--radius-md:18px;--radius-lg:28px;--radius-pill:999px;--shadow-sm:0 2px 8px #3b21401a;--shadow-md:0 8px 22px #3b214024;--shadow-lg:0 16px 44px #3b214033;--transition-fast:.14s ease;--tap:56px;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;height:100%}body{font-family:var(--font-main);font-size:var(--fs-md);color:var(--text-900);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:linear-gradient(160deg,#fff0f6 0%,#f3e9ff 55%,#e6f7ff 100%);min-height:100dvh;line-height:1.4;overflow:hidden}#root{height:100dvh}button{cursor:pointer;touch-action:manipulation;color:inherit;background:0 0;border:none;font-family:inherit}input{font-family:inherit;font-size:inherit;-webkit-user-select:text;user-select:text}img,svg,canvas{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;max-width:100%;display:block}button img{pointer-events:none}h1,h2,h3{color:var(--plum-900);font-weight:700;line-height:1.15}:focus-visible{outline:4px solid var(--sun-500);outline-offset:3px;border-radius:8px}.pixelated{image-rendering:pixelated;image-rendering:crisp-edges}body.is-dragging{cursor:grabbing}body.is-dragging *{cursor:grabbing!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border-radius:var(--radius-pill);font-weight:700;font-size:var(--fs-md);min-height:var(--tap);min-width:var(--tap);color:#fff;background:var(--pink-500);box-shadow:var(--shadow-sm), inset 0 -4px 0 #00000029;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:.5em;padding:.6em 1.4em;display:inline-flex}@media (hover:hover){.btn:hover:not(:disabled){box-shadow:var(--shadow-md), inset 0 -4px 0 #00000029;filter:brightness(1.06);transform:translateY(-3px)}}.btn:active:not(:disabled){box-shadow:var(--shadow-sm), inset 0 -1px 0 #00000029;transform:translateY(2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--lg{font-size:var(--fs-lg);min-height:64px;padding:.7em 1.8em}.btn--xl{font-size:var(--fs-xl);border-radius:999px;min-height:84px;padding:.6em 2em}.btn__icon{font-size:1.3em;line-height:1}.btn--secondary{background:var(--lilac-500)}.btn--ghost{background:var(--surface);color:var(--plum-700);box-shadow:var(--shadow-sm), inset 0 -4px 0 #00000014}.btn--danger{background:var(--coral-500)}.btn--mint{background:var(--mint-500)}.btn--sun{background:var(--sun-500);color:var(--plum-900)}.btn--lilac{background:var(--lilac-300);color:var(--plum-900)}.dialog-backdrop{z-index:500;padding:16px;padding-bottom:calc(16px + var(--safe-b));background:#3b214073;place-items:center;animation:.16s ease-out dialog-in;display:grid;position:fixed;inset:0}.dialog{width:min(560px,100%);max-height:calc(100dvh - 32px - var(--safe-b));overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--surface);border-radius:var(--radius-lg);border:6px solid var(--pink-200);box-shadow:var(--shadow-lg);flex-direction:column;gap:18px;padding:24px;display:flex;overflow-y:auto}.dialog__title{font-size:var(--fs-xl);text-align:center}.dialog__body{font-size:var(--fs-md);color:var(--text-600);text-align:center;flex-direction:column;gap:12px;display:flex}.dialog__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.dialog__actions .btn{white-space:normal;text-align:center;flex:180px;min-width:0;line-height:1.15}.dialog__actions .btn__label{white-space:normal}.field{text-align:left;flex-direction:column;gap:6px;display:flex}.field__label{color:var(--plum-700);font-weight:700;font-size:var(--fs-sm)}.field__input{min-height:var(--tap);border-radius:var(--radius-md);border:3px solid var(--pink-200);font-size:var(--fs-md);color:var(--plum-900);background:var(--surface-alt);padding:8px 14px;font-weight:700}.field__input:focus{border-color:var(--pink-500);outline:none}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (width<=600px){.dialog__actions{flex-wrap:wrap}.dialog__actions .btn{flex:45%;min-width:0}.dialog__actions .btn__label{white-space:normal}}.unlocks__how{text-align:center;color:var(--text-600);margin-bottom:10px;font-weight:700}.unlocks{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.unlock{border-radius:var(--radius-md);background:var(--surface-alt);border:3px solid var(--pink-100);grid-template-columns:76px 1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}.unlock.is-open{background:#fff8dc;border-color:#f5d76e}.unlock.is-locked .unlock__art{filter:grayscale(.8)brightness(.92);opacity:.75}.unlock__art{justify-content:center;align-items:center;gap:4px;width:76px;height:56px;display:flex}.unlock__img{object-fit:contain;width:44px;height:44px}.unlock__img--rainbow{background:conic-gradient(#ff5c5c,#ffd54f,#6fe07f,#4fc3f7,#b388ff,#ff5c5c);border-radius:50%;padding:3px}.unlock__swatch{width:30px;height:30px;box-shadow:var(--shadow-sm);border:3px solid #fff;border-radius:50%}.unlock__body{text-align:left;flex-direction:column;gap:2px;min-width:0;display:flex}.unlock__label{color:var(--plum-900);font-weight:800}.unlock__status{font-size:var(--fs-sm);color:var(--text-600);font-weight:700}.unlock.is-open .unlock__status{color:var(--mint-600)}.unlock__stars{color:#d99a00;white-space:nowrap;font-weight:800}.unlocks__me{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:8px;display:flex}.unlocks__you{color:var(--plum-900);text-align:center;font-weight:800}.unlocks__bar{background:var(--lilac-100);border-radius:999px;height:14px;overflow:hidden}.unlocks__fill{background:linear-gradient(90deg,#ffd54f,#ff9f43);border-radius:999px;height:100%;display:block}.unlocks__next{font-size:var(--fs-sm);color:var(--text-600);text-align:center;font-weight:700}.unlocks__coins{font-size:var(--fs-sm);color:var(--text-600);text-align:center}@media (width<=600px){.unlocks__how{font-size:var(--fs-sm);margin-bottom:6px}.unlocks{gap:6px;margin-bottom:8px}.unlock{grid-template-columns:60px 1fr auto;gap:8px;padding:5px 8px}.unlock__art{width:60px;height:48px}.unlock__img{width:36px;height:36px}}.board{border-radius:var(--radius-lg);width:min(100%,420px);box-shadow:var(--shadow-sm);background:#fffc;flex-direction:column;gap:8px;margin:0 auto;padding:12px 16px;display:flex}.board__title{font-size:var(--fs-lg);color:var(--plum-900);text-align:center}.board__empty,.board__next{font-size:var(--fs-sm);color:var(--text-600);text-align:center;font-weight:700}.board__list{flex-direction:column;gap:4px;list-style:none;display:flex}.board__row{border-radius:var(--radius-pill);color:var(--plum-900);grid-template-columns:2em 1fr auto;align-items:center;gap:8px;padding:4px 10px;font-weight:700;display:grid}.board__row.is-me{background:var(--pink-50);box-shadow:0 0 0 2px var(--pink-200)}.board__rank{color:var(--text-400);text-align:center}.board__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board__stars{color:#d99a00;white-space:nowrap}.board__unlocks{flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;display:flex}.board__unlock{font-size:var(--fs-sm);color:var(--text-400);border-radius:var(--radius-pill);background:var(--lilac-100);padding:2px 10px;font-weight:700}.board__unlock.is-open{color:var(--plum-900);background:#fff3c4}@media (width<=900px),(orientation:portrait){.board{gap:6px;padding:10px 12px}.board__row{padding:2px 8px;font-size:.95rem}}.screen{height:100%;padding:calc(12px + var(--safe-t)) calc(12px + var(--safe-r)) calc(12px + var(--safe-b)) calc(12px + var(--safe-l));flex-direction:column;gap:12px;display:flex;overflow:hidden}.screen--scroll{overflow-y:auto}.screen__title{font-size:var(--fs-2xl);text-align:center;color:var(--pink-600);text-shadow:0 3px #fff,0 6px 14px #e6417f40}.screen__sub{font-size:var(--fs-lg);text-align:center;color:var(--text-600)}.studio{grid-template:"bar bar""hint hint""stage panel"minmax(0,1fr)/minmax(0,1fr) clamp(300px,34vw,520px);gap:12px;height:100%;display:grid}.studio__bar{grid-area:bar}.studio__hint{grid-area:hint}.studio__stage{grid-area:stage;min-width:0;min-height:0}.studio__panel{grid-area:panel;min-width:0;min-height:0;display:flex}.studio__panel>*{flex:1}.hintbar{text-align:center;font-weight:700;font-size:var(--fs-lg);color:var(--plum-900);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);min-height:var(--tap);transition:background var(--transition-fast);background:#ffffffd9;justify-content:center;align-items:center;padding:8px 20px;display:flex}.hintbar--good{color:var(--mint-600);background:#e8fff3}.hintbar--bad{color:var(--coral-600);background:#fff0f0}@media (width<=900px),(orientation:portrait){.studio{grid-template:"bar""hint""stage"minmax(0,1fr)"panel"/minmax(0,1fr)}.studio__stage{max-height:46dvh}.studio__panel{max-height:42dvh}}@media (width<=600px) and (orientation:portrait){.studio__panel{max-height:46dvh}.hintbar{font-size:var(--fs-sm);height:58px;min-height:58px;padding:4px 12px;line-height:1.25;overflow:hidden}}.start{justify-content:center;align-items:center;gap:28px}.start__hero{flex-direction:column;align-items:center;gap:12px;display:flex}.start__art{border-radius:var(--radius-lg);width:min(92vw,820px,100vh);height:auto;box-shadow:var(--shadow-lg);border:6px solid #fff}.start__emoji{font-size:clamp(3rem,10vw,6rem);animation:3s ease-in-out infinite start-float}.start__actions{flex-direction:column;align-items:center;gap:16px;display:flex}.start__footer{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@keyframes start-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.start__row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.choose{align-items:center;gap:18px}.choose__grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;width:min(100%,980px);display:grid}.face-card{border-radius:var(--radius-lg);background:var(--surface);border:5px solid var(--pink-100);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.face-card.is-active{border-color:var(--pink-500);box-shadow:0 0 0 5px var(--pink-200), var(--shadow-md);transform:scale(1.04)}@media (hover:hover){.face-card:hover{transform:translateY(-4px)scale(1.02)}.face-card.is-active:hover{transform:scale(1.05)}}.face-card__img{border-radius:var(--radius-md);background:#fff3f8;width:100%;max-width:220px;height:auto}.face-card__name{font-size:var(--fs-lg);color:var(--plum-900);font-weight:700}.choose__form{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:16px;width:min(100%,700px);display:flex}.choose__field{flex:260px}.choose__field .field__input{min-height:64px;font-size:var(--fs-lg)}.choose__footer{margin-top:auto}.actionbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.actionbar__top{align-items:center;gap:10px;min-width:0;display:flex}.actionbar__nav{gap:8px;display:flex}.actionbar__who{border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);background:#fffc;flex-direction:column;min-width:0;padding:6px 16px;line-height:1.1;display:flex}.actionbar__label{font-size:var(--fs-sm);color:var(--text-400)}.actionbar__name{font-size:var(--fs-md);color:var(--plum-900);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.actionbar__btns{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=720px){.actionbar{flex-flow:column;align-items:stretch;gap:6px}.actionbar__top{gap:6px}.actionbar__who{flex:1}.actionbar__nav .btn{gap:4px;min-height:40px;padding:.2em .6em;font-size:.72rem}.actionbar__nav .btn__icon{font-size:1.1rem}.actionbar__btns{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.actionbar__btns .btn{border-radius:var(--radius-md);flex-direction:column;gap:2px;min-width:0;min-height:60px;padding:.35em .1em;font-size:clamp(.55rem,2.35vw,.72rem);line-height:1.05;overflow:hidden}.actionbar__btns .btn__label{white-space:normal;text-align:center;max-width:100%}.actionbar__btns .btn__icon{font-size:1.5rem}.actionbar__who{flex-direction:row;align-items:baseline;gap:8px;padding:4px 12px}.actionbar__label{font-size:.75rem}.actionbar__name{flex:auto;min-width:0;font-size:.95rem}.actionbar__nav{flex:none}}.panel{border-radius:var(--radius-lg);min-width:0;min-height:0;box-shadow:var(--shadow-md);background:#ffffffb8;border:4px solid #fff;flex-direction:column;gap:10px;padding:12px;display:flex;overflow:hidden}.panel__groups{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.panel__group{white-space:nowrap;min-width:0;min-height:var(--tap);border-radius:var(--radius-md);background:var(--lilac-100);color:var(--plum-700);font-weight:700;font-size:clamp(11px, 2.6vw, var(--fs-sm));transition:transform var(--transition-fast), background var(--transition-fast);border:3px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;display:flex}.panel__group.is-active{background:var(--pink-500);color:#fff;box-shadow:var(--shadow-sm);border-color:#fff}.panel__group-emoji{font-size:1.5em;line-height:1}.panel__cats{flex:0 auto;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;min-height:0;padding:2px;display:grid;overflow-y:auto}.panel__cat{border-radius:var(--radius-md);background:var(--surface);border:3px solid var(--pink-100);min-height:92px;color:var(--plum-900);font-weight:700;font-size:var(--fs-sm);text-align:center;cursor:grab;touch-action:none;-webkit-user-drag:none;transition:transform var(--transition-fast), border-color var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;line-height:1.15;display:flex}.panel__cat.is-active{border-color:var(--pink-500);background:var(--pink-50);box-shadow:0 0 0 3px var(--pink-200)}@media (hover:hover){.panel__cat:hover{transform:translateY(-2px)}}.panel__cat-emoji{font-size:2rem;line-height:1}.panel__cat-img{width:48px;height:48px}.panel__swatches-wrap{flex-direction:column;gap:8px;min-height:0;padding:2px;display:flex;overflow-y:auto}.panel__hint{font-size:var(--fs-sm);color:var(--text-600);font-weight:700}.panel__swatches,.panel__variants{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:10px;display:grid}.swatch{aspect-ratio:1;width:100%;min-height:60px;box-shadow:var(--shadow-sm), inset 0 -6px 0 #0000001f;cursor:grab;touch-action:none;-webkit-user-drag:none;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:4px solid #fff;border-radius:50%;place-items:center;display:grid;position:relative}.swatch.is-active{box-shadow:0 0 0 4px var(--pink-500), var(--shadow-md), inset 0 -6px 0 #0000001f;transform:scale(1.06)}@media (hover:hover){.swatch:hover{transform:scale(1.08)}}.swatch__emoji{opacity:.85;filter:drop-shadow(0 1px 1px #0000004d);font-size:1.4rem}.swatch--variant{background:var(--surface-alt)}.swatch__glyph{font-size:1.9rem;line-height:1}.swatch--variant img{width:44px;height:44px}@media (width<=900px),(orientation:portrait){.panel{touch-action:pan-y;-webkit-overflow-scrolling:touch;gap:6px;padding:8px;overflow:hidden auto}.panel__cat,.swatch{touch-action:pan-x}.panel__group{min-height:48px;padding:4px 2px;font-size:clamp(10px,2.9vw,.8rem)}.panel__group-emoji{font-size:1.2em}.panel__cats{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:none;gap:6px;display:flex;overflow:auto hidden}.panel__cats::-webkit-scrollbar{display:none}.panel__cat{scroll-snap-align:start;letter-spacing:-.01em;flex:0 0 96px;min-height:74px;padding:4px 3px;font-size:.72rem}.panel__cat-label{max-width:100%;overflow:hidden}.panel__cat-emoji{font-size:1.6rem}.panel__cat-img{width:40px;height:40px}.panel__swatches-wrap{flex:none;gap:4px;overflow:visible}.panel__hint{font-size:.85rem}.panel__swatches,.panel__variants{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;padding:4px 2px 6px;display:flex;overflow:auto hidden}.panel__swatches::-webkit-scrollbar{display:none}.panel__variants::-webkit-scrollbar{display:none}.swatch{flex:0 0 60px;width:60px;min-height:60px}}.swatch--variant img{object-fit:contain;width:82%;height:82%}.swatch.is-locked{filter:grayscale(.85)brightness(.9);cursor:not-allowed;box-shadow:var(--shadow-sm)}.swatch.is-locked img,.swatch.is-locked .swatch__glyph{opacity:.45}.swatch__lock{box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;padding:2px;font-size:1rem;line-height:1;position:absolute;bottom:-2px;right:-2px}.swatch--variant img[src^=data\:]{object-fit:cover;border-radius:50%;width:100%;height:100%}@media (width<=600px) and (orientation:portrait){.panel__group{min-height:44px}.panel__cat{flex-basis:88px;min-height:64px}.panel__cat-img{width:34px;height:34px}.panel__hint{display:none}.panel__swatches,.panel__variants{padding:3px 2px 4px}.swatch{border-width:3px;flex-basis:52px;width:52px;min-height:52px}.swatch--variant img{width:38px;height:38px}}.drag-ghost{pointer-events:none;z-index:1000;will-change:transform;filter:drop-shadow(0 8px 14px #3b214059);opacity:0;place-items:center;width:96px;height:96px;display:grid;position:fixed;top:0;left:0}.drag-ghost__blob{opacity:.85;border:4px solid #fff;border-radius:50%;position:absolute;inset:8px}.drag-ghost__emoji{font-size:52px;line-height:1;position:relative}.drag-ghost__img{width:72px;height:72px;position:relative}.face-stage{touch-action:none;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.face-stage__frame{border-radius:var(--radius-lg);box-shadow:var(--shadow-md), inset 0 0 0 6px #fff, inset 0 0 0 10px var(--pink-200);will-change:transform;background:radial-gradient(circle at 50% 30%,#fff 0%,#ffe9f2 70%,#f6e3ff 100%);position:relative;overflow:hidden}.face-stage--bounce .face-stage__frame{animation:.38s ease-out face-bounce}@keyframes face-bounce{0%{transform:scale(1)}35%{transform:scale(1.03)rotate(-.6deg)}70%{transform:scale(.99)rotate(.4deg)}to{transform:scale(1)}}.face-stage__face,.face-stage__overlay{touch-action:none;-webkit-user-drag:none}.face-stage__overlay{pointer-events:none;position:absolute;inset:0}body.is-dragging .face-stage__overlay{animation:1s ease-in-out infinite glow-breathe}@keyframes glow-breathe{0%,to{opacity:1}50%{opacity:.55}}.face-stage__frame[data-bg=hearts]{background:radial-gradient(circle at 20% 25%,#ff5c8a40 0 14px,#0000 15px),radial-gradient(circle at 75% 18%,#ff5c8a33 0 10px,#0000 11px),radial-gradient(circle at 85% 70%,#ff5c8a38 0 16px,#0000 17px),radial-gradient(circle at 12% 78%,#ff5c8a2e 0 12px,#0000 13px),radial-gradient(circle at 50% 30%,#fff 0%,#ffe3ee 70%,#ffd0e0 100%)}.face-stage__frame[data-bg=stars]{background:radial-gradient(circle at 15% 20%,#fff7c2 0 3px,#0000 4px),radial-gradient(circle at 80% 15%,#fff7c2 0 4px,#0000 5px),radial-gradient(circle at 88% 60%,#fff7c2 0 3px,#0000 4px),radial-gradient(circle at 10% 65%,#fff7c2 0 2.5px,#0000 3.5px),radial-gradient(circle at 60% 8%,#fff7c2 0 2px,#0000 3px),radial-gradient(circle at 30% 85%,#fff7c2 0 3px,#0000 4px),linear-gradient(160deg,#6a4fd8 0%,#8b6ff0 55%,#b39cff 100%)}.face-stage__frame[data-bg=rainbow]{background:linear-gradient(#ff8a8a 0%,#ffd27a 20%,#fff59a 40%,#a8f0b0 60%,#9ad8ff 80%,#d3b8ff 100%)}.face-stage__frame[data-bg=night]{background:radial-gradient(circle at 78% 18%,#fff3b0 0 22px,#fff3b040 26px,#0000 34px),radial-gradient(circle at 20% 30%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 40% 12%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 60% 40%,#fff 0 1px,#0000 2px),radial-gradient(circle at 12% 70%,#fff 0 1.5px,#0000 2.5px),linear-gradient(#1b1a4a 0%,#2c2a6e 60%,#4a3f8f 100%)}.face-stage__frame[data-bg=beach]{background-blend-mode:normal;background:linear-gradient(#8fd3ff 0%,#c9ecff 48%,#4fb8e6 48%,#7fd0f0 66%,#f7e2b0 66%,#f2d59a 100%),radial-gradient(circle at 82% 16%,#ffe680 0 26px,#0000 28px)}.face-stage__frame[data-bg=beach]:before{content:"";pointer-events:none;background:radial-gradient(circle at 82% 16%,#ffe680 0 26px,#ffe6804d 30px,#0000 40px);position:absolute;inset:0}.photo{flex-direction:column;align-items:center;gap:12px;display:flex}.photo__preview{aspect-ratio:1024/1180;border-radius:var(--radius-md);width:min(100%,300px);box-shadow:var(--shadow-sm);background:#fff}.photo__bgs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.photo__bg{border-radius:var(--radius-pill);border:3px solid var(--pink-100);min-height:48px;color:var(--plum-900);background:linear-gradient(#ffe3ee,#e8e4ff);padding:8px 18px;font-weight:700}.photo__bg--dots{background-image:radial-gradient(#ffffffe6 3px,#0000 3.5px),linear-gradient(#ffe3ee,#e8e4ff);background-size:16px 16px,100% 100%}.photo__bg--white{background:#fff}.photo__bg.is-active{border-color:var(--pink-500);box-shadow:0 0 0 3px var(--pink-200)}@media (width<=900px),(orientation:portrait){.photo__preview{width:min(100%,200px)}}.toast{left:50%;bottom:calc(24px + var(--safe-b));z-index:600;background:var(--plum-900);color:#fff;font-weight:700;font-size:var(--fs-md);border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);text-align:center;max-width:calc(100vw - 32px);padding:14px 24px;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.catwalk{z-index:700;padding:calc(14px + var(--safe-t)) 14px calc(14px + var(--safe-b));color:#fff;background:radial-gradient(at 50% 20%,#3b2140 0%,#1c0f24 70%,#120818 100%);grid-template-rows:auto minmax(0,1fr) auto auto;gap:10px;animation:.26s ease-out catwalk-in;display:grid;position:fixed;inset:0;overflow:hidden}@keyframes catwalk-in{0%{opacity:0}to{opacity:1}}.catwalk__lights{pointer-events:none;background:conic-gradient(from 0deg at 30% 0%, transparent 0 20deg, #ffd6782e 24deg 30deg, transparent 34deg), conic-gradient(from 0deg at 70% 0%, transparent 0 330deg, #ff8cc829 334deg 340deg, transparent 344deg);animation:3.6s ease-in-out infinite alternate catwalk-lights;position:absolute;inset:-20%}@keyframes catwalk-lights{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}.catwalk__title{text-align:center;font-size:var(--fs-xl);color:#ffd54f;text-shadow:0 3px #7a4b00,0 8px 20px #00000080;font-weight:800;position:relative}.catwalk__stage{transform-origin:50% 60%;justify-content:center;align-items:center;min-height:0;animation:5.4s ease-in-out forwards catwalk-zoom;display:flex;position:relative}.catwalk[data-phase=photo] .catwalk__stage{display:none}@keyframes catwalk-zoom{0%{transform:scale(.86)translateY(14px)}22%{transform:scale(.96)translateY(4px)}48%{transform:scale(1.06)}72%{transform:scale(1.1)}to{transform:scale(1.02)}}.catwalk__caption{text-align:center;font-size:var(--fs-lg);flex-direction:column;gap:2px;display:flex;position:relative}.catwalk__caption strong{color:#fff;font-size:1.15em}.catwalk__caption span{color:#f6d3e8;font-size:.85em;font-weight:700}.catwalk[data-phase=photo]{grid-template-rows:auto auto minmax(0,1fr)}.catwalk__actions{flex-direction:column;align-items:center;gap:10px;display:flex;position:relative}.catwalk__buttons{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.catwalk__photo{object-fit:contain;border:4px solid #fff;border-radius:12px;width:min(70vw,340px);max-height:46dvh;animation:.42s cubic-bezier(.2,1.4,.4,1) catwalk-photo;transform:rotate(-3deg);box-shadow:0 10px 30px #00000080}@keyframes catwalk-photo{0%{opacity:0;transform:rotate(-3deg)scale(.4)}to{opacity:1;transform:rotate(-3deg)scale(1)}}.catwalk__confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.catwalk__piece{opacity:.95;border-radius:2px;animation-name:catwalk-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-20px}@keyframes catwalk-fall{0%{transform:translateY(-20px)rotate(0)}to{transform:translateY(110vh)rotate(720deg)}}@media (width<=600px){.catwalk{gap:6px}.catwalk__title{font-size:var(--fs-lg)}.catwalk__caption{font-size:var(--fs-md)}}.gallery__head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.gallery__empty{margin-top:48px}.gallery__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.pcard{background:var(--surface);border-radius:var(--radius-lg);border:4px solid var(--pink-100);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px;display:flex}.pcard__thumb-wrap{border-radius:var(--radius-md);aspect-ratio:1;background:#fff3f8;overflow:hidden}.pcard__thumb{object-fit:cover;width:100%;height:100%}.pcard__thumb--empty{place-items:center;font-size:3rem;display:grid}.pcard__title{font-size:var(--fs-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pcard__meta{font-size:var(--fs-sm);color:var(--text-600);line-height:1.3}.pcard__date{color:var(--text-400)}.pcard__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.pcard__actions .btn{min-width:0;font-size:var(--fs-sm);padding-inline:.4em}.pcard__actions .btn__label{text-overflow:ellipsis;overflow:hidden}.pcard__badge{font-size:var(--fs-sm);color:#b8860b;border-radius:var(--radius-pill);background:#fff8dc;margin-bottom:2px;padding:1px 10px;font-weight:800;display:inline-block}@media (width<=600px){.gallery__head .screen__title{font-size:var(--fs-lg)}}.game{grid-template:"bar bar""hint hint""stages panel"minmax(0,1fr)/minmax(0,1fr) clamp(280px,28vw,440px);gap:12px;height:100%;display:grid}.game__bar{flex-wrap:wrap;grid-area:bar;align-items:center;gap:10px;display:flex}.game__hint{grid-area:hint}.game__timer,.game__score{font-weight:700;font-size:var(--fs-lg);color:var(--plum-900);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);white-space:nowrap;background:#ffffffd9;padding:6px 16px}.game__timer{font-variant-numeric:tabular-nums;text-align:center;min-width:6.5em}.game__timer.is-low{color:var(--coral-600);background:#fff0f0;animation:1s ease-in-out infinite timer-pulse}.game__score{margin-left:auto}@keyframes timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.game__stages{grid-area:stages;grid-template-columns:1fr 1fr;gap:12px;min-width:0;min-height:0;display:grid}.game__stage{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.game__label{text-align:center;color:var(--pink-600);font-weight:700;font-size:var(--fs-md);padding-bottom:4px}.game__stage--you .game__label{color:var(--mint-600)}.game__panel{grid-area:panel;min-width:0;min-height:0;display:flex}.game__panel>*{flex:1}.game__levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.game__level{border-radius:var(--radius-md);background:var(--surface);border:3px solid var(--pink-100);color:var(--plum-900);min-height:var(--tap);transition:transform var(--transition-fast), border-color var(--transition-fast);flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.game__level:hover,.game__level:focus-visible{border-color:var(--pink-500);transform:translateY(-2px)}.game__level-emoji{font-size:2rem;line-height:1}.game__level-name{font-weight:700;font-size:var(--fs-lg)}.game__level-meta{font-size:var(--fs-sm);color:var(--text-600)}.game__stars{text-align:center;color:#f5b301;text-shadow:0 2px #fff;margin-bottom:8px;font-size:3rem;line-height:1}@media (width<=900px),(orientation:portrait){.game{grid-template:"bar""hint""stages""panel"minmax(0,1fr)/1fr;gap:8px}.game__bar{flex-wrap:nowrap;gap:6px}.game__score{margin-left:0}.game__bar .btn{min-height:40px;padding:.3em .7em;font-size:.8rem}.game__timer,.game__score{padding:4px 10px;font-size:.95rem}.game__timer{min-width:5.5em}.game__stages{grid-template-columns:2fr 3fr;gap:8px;height:min(62vw,44dvh)}.game__stage--target{align-self:end}.game__label{padding-bottom:2px;font-size:.85rem}.game__panel{max-height:none}.game__levels{grid-template-columns:1fr}.game__level{flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px}.game__level-name{text-align:left;flex:1}}.game__modes{justify-content:center;gap:8px;margin-bottom:8px;display:flex}.game__mode{min-height:var(--tap);border-radius:var(--radius-pill);border:3px solid var(--pink-100);background:var(--surface);color:var(--plum-900);flex:1 1 0;padding:8px 12px;font-weight:700}.game__mode.is-active{border-color:var(--pink-500);background:var(--pink-50);box-shadow:0 0 0 3px var(--pink-200)}.game__names{flex-direction:column;gap:12px;display:flex}.game__gain{text-align:center;color:#d99a00;font-weight:700;font-size:var(--fs-lg)}.game__unlock{text-align:center;color:var(--mint-600);font-weight:700}.game__final{flex-direction:column;gap:8px;list-style:none;display:flex}.game__final-row{border-radius:var(--radius-md);background:var(--pink-50);color:var(--plum-900);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 12px;font-weight:700;display:grid}.game__final-stars{color:#f5b301;font-size:1.4rem;line-height:1}.game__final-found{color:var(--text-600)}.salon__bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.salon__coins{font-weight:800;font-size:var(--fs-lg);color:#b8860b;border-radius:var(--radius-pill);min-height:var(--tap);background:#fff8dc;border:3px solid #f5d76e;align-items:center;margin-left:auto;padding:4px 14px;display:flex}.salon__hint{cursor:pointer;border:none;width:100%;font-family:inherit}.salon__hint-who{color:var(--pink-600);margin-right:4px}.salon__intro-emoji{text-align:center;margin:0 0 6px;font-size:2.2rem}.salon__card{flex-direction:column;gap:10px;display:flex}.salon__occasion{color:var(--text-600);font-weight:700;font-size:var(--fs-md)}.salon__occasion-emoji{vertical-align:middle;margin-right:4px;font-size:1.5em}.salon__request{background:var(--pink-50);border-left:6px solid var(--pink-500);border-radius:var(--radius-md);font-size:var(--fs-lg);color:var(--plum-900);margin:0;padding:14px 18px;font-weight:700;line-height:1.3}.salon__checklist{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.salon__check{border-radius:var(--radius-md);color:var(--plum-900);background:var(--surface-alt);align-items:center;gap:10px;padding:8px 12px;font-weight:700;display:flex}.salon__check.is-ok{background:#e8fff3}.salon__check.is-missing{background:#fff0f0}.salon__check-mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:1rem;display:inline-grid}.salon__check.is-ok .salon__check-mark{background:var(--mint-600)}.salon__check.is-missing .salon__check-mark{background:var(--coral-600)}.salon__served{text-align:center;color:var(--text-600);font-weight:700;font-size:var(--fs-sm)}@media (width<=900px),(orientation:portrait){.salon__bar{flex-wrap:nowrap;gap:6px}.salon__bar .btn{min-height:40px;padding:.3em .7em;font-size:.8rem}.salon__coins{min-height:40px;padding:4px 10px;font-size:.95rem}.salon__hint{height:auto;min-height:58px;max-height:78px}.salon__request{font-size:var(--fs-md)}}.shop__head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.shop__wallet{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.shop__who{font-size:var(--fs-sm);color:var(--text-600);font-weight:700}.shop__coins{font-weight:800;font-size:var(--fs-lg);color:#b8860b;border-radius:var(--radius-pill);background:#fff8dc;border:3px solid #f5d76e;padding:4px 14px}.shop__section{font-size:var(--fs-lg);color:var(--plum-900);margin-top:8px}.shop__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.shop__card{border-radius:var(--radius-lg);border:3px solid var(--pink-100);box-shadow:var(--shadow-sm);text-align:center;background:#ffffffd9;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;display:flex}.shop__card.is-owned{background:#fffdf3;border-color:#f5d76e}.shop__card.is-inuse{box-shadow:0 0 0 3px var(--mint-500)}.shop__art{place-items:center;width:84px;height:84px;display:grid;position:relative}.shop__swatch{width:64px;height:64px;box-shadow:var(--shadow-sm), inset 0 -6px 0 #0000001f;border:4px solid #fff;border-radius:50%}.shop__icon{width:36px;height:36px;position:absolute;bottom:0;right:0}.shop__bg{border-radius:var(--radius-md);width:84px;height:84px;box-shadow:var(--shadow-sm), inset 0 0 0 3px #fff;display:block}.shop__label{font-size:var(--fs-md);color:var(--plum-900);line-height:1.15}.shop__meta{font-size:var(--fs-sm);color:var(--text-600);font-weight:700}.shop__owned{color:var(--mint-600);min-height:var(--tap);align-items:center;font-weight:800;display:flex}.shop__card .btn{min-width:110px}@media (width<=600px){.shop__head{grid-template-columns:auto 1fr}.shop__wallet{flex-direction:row;grid-column:1/-1;justify-content:center;align-items:center;gap:10px}.shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop__card{padding:10px 6px}.shop__card .btn{width:100%;min-width:0}}
