@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAjYABQAAAAAD0wAAAhrAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbchwuP0hWQVKBCT9NVkFSOQZgP1NUQVSBHgBsL2wRCAqFDIQVCxoAMId0ATYCJAMuBCAFhVIHdgwHG1UNUdQsyukusq8SOCcq7Il9U8YYyc4hBYUZskZi+WMmWcM83sEXLlRE1Nrz9uwBfn4fKADMKopImEh2xMakYuOJfPo5fckYZWSJ1IhUAShEvz8D1/MjoYDsVM9nP4+b+V4CCc0nqFX8XOFUWx9M1MjSWXuu0noq4g3wvx8YUbx0A4Dxufr+L8Suffx+ru62IVU87zAJEVKllHvt3uYNUZlo+6Gyila6iWSaJQ95CSpbukVaRwJB/OuyMewc71QwA4qISgSjXRykOu4mWcR2H4iG7d+jBrbV8D+I3MoTA/MIolb0olescxzYxVaigGWIAv6uSWtxu9mt4H4VWlSDB9iDeFC2wtQ2uVAbGvNmS7RmwammcTTYG9th3bYr5O2eHIt369EoyE9jy9ptrmcaWXgg//rn4AKOcgYBvVjUkiiAYBZsynvMSNTlWObVDOX5SQCcep06VyDmL5K9dChe/VkvX4BrZasJfavjPtQfZxrgdQBlWfkKYCuDiF6wMGCT8qAoUYbFSlvYxQFOkNemuMVAKtcBJ9S+j2qyG1S+JW1egPJxfFWXXzChLxcph/SEsdrKc6qeA5Ta2hYquf5+7SKw0nKVYomtHO0D/sPWXwZNOgFT/UUodAVcYp7wl1klYMhmwXJFLAz6GXDDEPIC9KNPSiq4tcb3o7XhlkmbhxQ6+KWsZ4UMw/hXQkaqrSBTPQ8e+R81mME6TPgI4GewCQtQlP9Fh1I8+4jUdV+tWa9n0nlk6sQAXvEOH6Akn5KPuThlTDyfRJKTSCKhCUWSSUIil8RRHM0l/Jr67JKLrL1J0m4HkjUXnpDkOBJLkACJJzGJXBwHHHIxn+YoXrnzqF16fLfd5rcNu3uXUFhv53BL+qj88sO4et8tLvXKCQu3/vL95yTt6d2D4F+zw0CAiyGgXLIC/GdvkrTjp8t+884TXzyJ8aU+i2v3QPqIwrrC4oDsx9nAMZd+l1/yDVx+3E9MQdjC+aA6/94571s73J944j2fXdj3Ms+F9z7Y1OezvvF9P8N70G/W95vkTLVP06m7dFHrppFVk52gOqbf3uJdlueRYiUPsBfpw+7dJblT8mLzplAx5+2Xzr/kdjN55zoccz9n3DcbwUaO135Huii/+co9/dfvZlVNn95U41C/7Bti6/LFn2/E/3xlgjYyfKz2vZYu9m3c6jHTU7+b1XnxP67ShYz3uxwtw9IS4348OFENke/GAD02+whcdNVL5qxTFAjco+yAoDPmTPy9wbTypBeMlFd2/fUeF2EQBXuYwT6Y7OYQJ/lFSJelWcO4+zuRHDe4xgi9GU/LojxwjBTgJaRhTMFsndiE+eSM8fortjPrxQO+ErKFFDkhkJNjE5XVjCemUuaJ9RaFwdj5EVGQ37kDQUGiWBqYEGYAKEQKq7KRAQwdi2y8pkyLMGX9twFEMizztFCrlSRNUKVYw8w3erlA9uMWhu1oeZTe0NJhCmqqLamAekHE0lJB06Sg0Sjo7MHpNCoDAjpamTv2V+RNTpGpaCxNHBUd7YF/4V/8LH4UXIOTcBljvzakIXax5KSYsUMG//zTZ8mTaZvP3wK3A4Kf8Ii9euk+eAFfvxZ0r9MhPV1qZFleLcxTXZOULvYa4mD2+tFME/vqOSHZ2QZdfm2B1bS9MiHPHtfRRNb5PKOisa66hehKpcx8KBP8gAJWVmoeQAENBsGwENhsWllnZ2N9YyMQ7lumtYmk7FjO0CZEr/ej4N/dsM3xrc7nXxARJ/eMtirJ1Cnjh/YMM6lV06eN7g++idili0BpUvDxY8EwDzx48Ky4rQ1omVhp4LriZw/EtQf5iH4wCG9qpsGNq4X1hH8OkAoAI5uUZq2CZYmZYdr76YF4u92mlQHdVJyvNpi0TEdLXa3Mm/vocUN987n6+or8dLin3JKy8g6dubxIKqAqoU0QHI3lxRW1rFotSTZbZWW7xhYU2RXW7RIZERGoZf9y0gxHZPVlsZRCqXZqtaKqLD/9OW/w7MWrV3k1rSkjGUVHeTY0Z5SVdZ5WW2V5/PpSE81au/ZMf5FTQzMKU1R/6j584rQ+fYb/TsWDBg7GhwrnWXm9lNV3UN9QSgMuYSRiJ7Jqi0mj6d69tdVqtTRJD07sg7QnbtzIaqRoe7mstYbSmm22JEq202h0johhsxLIM3GG291VLwecGVCCcj7axOdVirSsoUF2TrxSO4twRglTRg4IgZB78PMWl6W6kYL2AHWRlFspqkJDFYitFEW1IjKmUDF1nerM7CCXBmpys4OCbQSKi4oo3+oMFHZenlpVVyQCIAAgwL1eRvZN9bB6BU0XAQBkhq82AQDkuKLpztiOBySSltAFaBUQvuy26bEU1Y0gCPaeyiYs5s2ipqkuw2r5MzlL+VM+AZTTEeb/K2Ewl6Ox7DLTNRkqLl3px7tHPeA19LkYY87DYmlOwMpe2cXaBv9g4xBfYmuDd3RLHeCebClmN2CldwXWFk7BxugoRdumLV25sP2wt9x2OOhtwtFK490nI46h6RlQXbtHET0XTJrhdWgBTye/QwqGLQ5dEieJJLSsv1lSJD27DBU8ChVOWsvIgT3FtWWAkA2mrk1IS2QaX/1OhCjsTDeSMgy8ESroHDyR0+sSovxmICWkmd6Xs7c97HXIf6gbCShTahu7hog9HEzlvqS8vL5CuMDy03uWmryCw/YD3/zz+F4yWR6Qkbdw9rGXlu1tq5kZzuP6YHcWwqR41wzKjubMl8EcX3DOTnNHaJBTl3L0hVzLpM+olK9llt6oq8LurL/Oq5Ai/x/E3GjGdn4Imyq1Kk3adOkztEf3/yjDY84x5EhidJQ1sV4RT4S9zPs/jEVGJRZ6A4fyv1tDhkhYJN5rwAns7MD0XAA=) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DXI_y_WF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-CnNj8hVb.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-CUIqqgP9.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.crystal-stage-game{position:relative;width:100%;height:clamp(640px,76vh,880px);min-width:280px;overflow:hidden;isolation:isolate;color:#fff9f2;background:#171226;border-radius:24px;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;--crystal-ink: #171226;--crystal-ink-soft: #2d233c;--crystal-plum: #67405f;--crystal-rose: #f0abc6;--crystal-gold: #f7dda0;--crystal-paper: #fff8f0}.crystal-stage-game *,.crystal-stage-game *:before,.crystal-stage-game *:after{box-sizing:border-box}.crystal-stage-game button,.crystal-stage-game kbd{font:inherit}.crystal-stage-game button{color:inherit}.crystal-stage-game button:focus-visible{outline:3px solid var(--crystal-gold);outline-offset:4px}.crystal-stage-game canvas{position:absolute!important;inset:0;touch-action:none}.crystal-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.crystal-scene-loader{min-width:190px;padding:14px 18px;color:var(--crystal-paper);background:#171226d1;border:1px solid rgba(247,221,160,.45);border-radius:999px;text-align:center;letter-spacing:.05em;backdrop-filter:blur(10px)}.crystal-overlay{position:absolute;inset:0;z-index:5}.crystal-menu-overlay{display:grid;grid-template-columns:minmax(320px,600px) minmax(220px,300px);align-content:center;align-items:center;gap:clamp(24px,5vw,74px);padding:clamp(24px,5vw,56px);overflow:hidden;background:linear-gradient(90deg,#0e0a18f0,#0e0a18ba 46%,#0e0a1814 78%),linear-gradient(0deg,rgba(14,10,24,.62),transparent 55%)}.crystal-menu-overlay:before,.crystal-menu-overlay:after{position:absolute;pointer-events:none;content:""}.crystal-menu-overlay:before{right:-12%;bottom:-20%;width:min(680px,62vw);height:min(720px,78vh);background:radial-gradient(circle at 50% 24%,rgba(247,221,160,.36),rgba(103,64,95,.18) 34%,transparent 67%);filter:blur(4px);opacity:.82}.crystal-menu-overlay:after{right:clamp(24px,5vw,78px);bottom:clamp(-58px,-4vh,-20px);width:min(350px,31vw);height:min(540px,64vh);background:url(/assets/crystal-stage/mouse-king-billboard.png) center bottom / contain no-repeat;filter:drop-shadow(0 26px 40px rgba(0,0,0,.46));opacity:.72}.crystal-menu-copy,.crystal-controls-card,.crystal-act-ticket{position:relative;z-index:1}.crystal-menu-copy{padding-top:clamp(22px,3.2vh,34px)}.crystal-act-ticket{position:absolute;top:clamp(16px,3vw,30px);left:clamp(28px,6vw,72px);padding:8px 14px;color:var(--crystal-gold);border:1px solid rgba(247,221,160,.48);border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.crystal-academy-mark,.crystal-card-caption{margin:0 0 12px;color:var(--crystal-gold);font-size:.68rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.crystal-menu-copy h2{max-width:590px;margin:0;color:var(--crystal-paper);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(3.05rem,6.2vw,6rem);font-weight:400;line-height:.82;letter-spacing:-.055em}.crystal-menu-copy h2 em{color:var(--crystal-rose);font-size:.68em;font-weight:400}.crystal-story-lead{max-width:540px;margin:clamp(18px,2.6vh,28px) 0 14px;color:#fff8f0d1;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(.98rem,1.25vw,1.15rem);line-height:1.48}.crystal-stage-brief{max-width:540px;margin:0 0 18px;padding:14px 16px;color:#fff8f0c7;background:linear-gradient(135deg,#67405f73,#1d152aad),linear-gradient(90deg,rgba(247,221,160,.16),transparent 45%);border:1px solid rgba(247,221,160,.24);border-left:3px solid var(--crystal-gold);border-radius:5px;box-shadow:0 16px 54px #0000002e;backdrop-filter:blur(12px)}.crystal-stage-brief-label{display:block;margin-bottom:8px;color:var(--crystal-gold);font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.crystal-stage-brief p{margin:0;font-size:.82rem;font-weight:560;line-height:1.45}.crystal-stage-objectives{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.crystal-stage-objectives span{padding:5px 9px;color:#281c35;background:#f7dda0e0;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.crystal-primary-action{display:inline-flex;min-width:224px;align-items:center;justify-content:space-between;gap:30px;padding:15px 18px 15px 22px;color:var(--crystal-ink);background:var(--crystal-gold);border:0;border-radius:3px;box-shadow:0 12px 40px #0000003d;cursor:pointer;font-size:.86rem;font-weight:800;letter-spacing:.035em;transition:transform .18s ease,background .18s ease}.crystal-primary-action:hover{background:#ffe8ae;transform:translateY(-2px)}.crystal-primary-action.compact{min-width:auto}.crystal-controls-card{align-self:end;margin-bottom:clamp(12px,2vh,26px);padding:18px;background:#231a31b3;border:1px solid rgba(248,216,229,.2);border-top:3px solid var(--crystal-rose);border-radius:3px;backdrop-filter:blur(14px)}.crystal-controls-card .crystal-card-caption{display:block;margin-bottom:14px;color:var(--crystal-rose)}.crystal-control-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.09);color:#fff8f0b3;font-size:.78rem}.crystal-control-row:last-child{border-bottom:0}.crystal-control-row kbd{color:var(--crystal-paper);font-size:.72rem;font-weight:750}.crystal-hud{position:absolute;inset:0;z-index:4;pointer-events:none}.crystal-hud-top{display:grid;grid-template-columns:170px minmax(210px,380px) 150px;align-items:start;justify-content:space-between;gap:20px;padding:20px 24px}.crystal-hud-card{padding:10px 13px;background:#1a1326bd;border:1px solid rgba(255,255,255,.15);border-radius:3px;backdrop-filter:blur(10px)}.crystal-hud-label{display:block;margin-bottom:5px;color:#fff8f094;font-size:.58rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.crystal-rosettes{display:flex;gap:2px}.crystal-rosette{width:26px;height:26px;fill:transparent;stroke:#ffffff40;stroke-width:1.1}.crystal-rosette.is-filled{fill:var(--crystal-rose);stroke:#ffd8e6}.crystal-score-card{text-align:right}.crystal-score-card strong{color:var(--crystal-gold);font-family:Iowan Old Style,Georgia,serif;font-size:1.32rem;font-variant-numeric:tabular-nums;letter-spacing:.06em}.crystal-music-progress{position:relative;display:grid;grid-template-columns:repeat(5,1fr);min-height:51px;padding:7px 24px;overflow:hidden;background:#1a1326b3;border:1px solid rgba(255,255,255,.15);border-radius:3px;backdrop-filter:blur(10px)}.crystal-stave-lines{position:absolute;inset:10px 20px;opacity:.2;background:repeating-linear-gradient(to bottom,transparent 0 6px,#fff 6px 7px)}.crystal-stave-note{position:relative;z-index:1;align-self:center;color:#ffffff2e;font-family:Georgia,serif;font-size:1.55rem;text-align:center;transform:translateY(1px);transition:color .22s ease,transform .22s ease}.crystal-stave-note:nth-of-type(2n){transform:translateY(-4px)}.crystal-stave-note.is-found{color:var(--crystal-gold);text-shadow:0 0 16px rgba(247,221,160,.75);transform:translateY(-3px) scale(1.15)}.crystal-tutorial-card{position:absolute;bottom:24px;left:24px;display:flex;max-width:430px;align-items:center;gap:12px;padding:10px 16px 10px 10px;background:#fff8f0e6;border-radius:3px;box-shadow:0 12px 50px #0003;color:var(--crystal-ink-soft);backdrop-filter:blur(9px)}.crystal-tutorial-mark{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;color:var(--crystal-paper);background:var(--crystal-plum);border-radius:50%;font-family:Iowan Old Style,Georgia,serif;font-size:1.1rem}.crystal-tutorial-card p{margin:0;font-size:.8rem;font-weight:650;line-height:1.25}.crystal-result-overlay{display:grid;place-items:center;padding:24px;background:#0c0816bd;backdrop-filter:blur(8px)}.crystal-result-card{width:min(540px,100%);padding:clamp(30px,6vw,56px);text-align:center;color:var(--crystal-ink-soft);background:var(--crystal-paper);border:1px solid rgba(247,221,160,.72);border-radius:3px;box-shadow:0 24px 90px #0000006b}.crystal-result-symbol{color:var(--crystal-plum);font-family:Georgia,serif;font-size:3.3rem}.crystal-result-card .crystal-academy-mark{margin:8px 0 12px;color:#9a6b36}.crystal-result-card h2{margin:0;color:var(--crystal-ink);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(2rem,5vw,3.25rem);font-weight:400;line-height:1;letter-spacing:-.035em}.crystal-result-card>p:not(.crystal-academy-mark){margin:22px auto;color:#665d6c;font-family:Iowan Old Style,Georgia,serif;line-height:1.55}.crystal-result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));margin:28px 0;border-block:1px solid rgba(45,35,60,.13)}.crystal-result-stats span{padding:17px}.crystal-result-stats span+span{border-left:1px solid rgba(45,35,60,.13)}.crystal-result-stats small{display:block;margin-bottom:4px;color:#8a7e8e;font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.crystal-result-stats strong{color:var(--crystal-plum);font-family:Iowan Old Style,Georgia,serif;font-size:1.55rem}.crystal-result-actions{display:flex;align-items:center;justify-content:center;gap:22px}.crystal-text-action{padding:8px;color:var(--crystal-plum);background:transparent;border:0;border-bottom:1px solid currentColor;cursor:pointer;font-size:.78rem;font-weight:750}.crystal-touch-controls{position:absolute;right:18px;bottom:18px;left:18px;z-index:6;display:none;align-items:end;justify-content:space-between;pointer-events:none}.crystal-joystick{position:relative;display:grid;width:144px;height:144px;place-items:center;overflow:hidden;color:var(--crystal-paper);background:radial-gradient(circle at 50% 50%,rgba(247,221,160,.22),transparent 34%),radial-gradient(circle at 50% 50%,#241a32b8,#241a3261 67%,#241a3229);border:1px solid rgba(255,255,255,.28);border-radius:50%;box-shadow:0 16px 42px #0000003d,inset 0 0 30px #f7dda01a;backdrop-filter:blur(10px);pointer-events:auto;touch-action:none;user-select:none}.crystal-joystick:before{position:absolute;inset:19px;border:1px dashed rgba(255,248,240,.28);border-radius:inherit;content:""}.crystal-joystick-label{position:absolute;bottom:21px;color:#fff8f09e;font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.crystal-joystick-knob{position:absolute;top:50%;left:50%;width:58px;height:58px;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.42),transparent 30%),linear-gradient(145deg,#f7dda0f2,#e7a6c4d1);border:1px solid rgba(255,248,240,.48);border-radius:50%;box-shadow:0 10px 24px #0000003d;transition:transform 70ms linear}.crystal-touch-button{display:grid;min-width:56px;min-height:48px;place-items:center;color:var(--crystal-paper);background:#241a32bf;border:1px solid rgba(255,255,255,.3);border-radius:50%;backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;user-select:none}.crystal-touch-actions{display:flex;align-items:end;gap:8px}.crystal-touch-actions .crystal-touch-button{padding:0 12px;border-radius:999px;font-size:.66rem;font-weight:750}.crystal-touch-actions .attack{min-height:64px;color:var(--crystal-ink);background:#f7dda0e0}@media(max-width:820px){.crystal-stage-game{height:min(720px,calc(100dvh - 110px));min-height:540px;border-radius:20px}.crystal-menu-overlay{grid-template-columns:1fr;align-content:end;gap:22px;padding:88px 24px 28px;background:linear-gradient(0deg,#0e0a18fa,#0e0a18b8 63%,#0e0a1840)}.crystal-menu-overlay:before{top:8%;right:-34%;bottom:auto;width:76vw;height:58vh;opacity:.56}.crystal-menu-overlay:after{right:-18vw;bottom:33%;width:min(290px,58vw);height:min(450px,48vh);opacity:.34}.crystal-menu-copy h2{font-size:clamp(3.15rem,13.5vw,5.5rem)}.crystal-menu-copy{padding-top:0}.crystal-story-lead{margin:20px 0 14px;font-size:.98rem}.crystal-stage-brief{margin-bottom:20px;padding:14px}.crystal-stage-objectives span{font-size:.56rem}.crystal-controls-card{display:none}.crystal-hud-top{grid-template-columns:116px 1fr 104px;gap:7px;padding:10px}.crystal-hud-card{padding:7px 8px}.crystal-music-progress{min-height:44px;padding:4px 7px}.crystal-stave-lines{inset:8px 6px}.crystal-stave-note{font-size:1.25rem}.crystal-hud-label{font-size:.47rem;letter-spacing:.08em}.crystal-rosette{width:21px;height:21px}.crystal-score-card strong{font-size:1rem}.crystal-tutorial-card{right:18px;bottom:176px;left:18px;max-width:none}}@media(hover:none),(pointer:coarse){.crystal-touch-controls{display:flex}}@media(max-height:640px)and (min-width:650px){.crystal-menu-overlay{align-content:end;padding-block:58px 24px}.crystal-menu-copy h2{font-size:clamp(3.2rem,8vw,5.2rem)}.crystal-story-lead{margin-block:18px}}@media(prefers-reduced-motion:reduce){.crystal-stage-game *,.crystal-stage-game *:before,.crystal-stage-game *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color-scheme:light dark;font-family:Onest Variable,Avenir Next,sans-serif;font-synthesis:none;--page: #f5f0f8;--surface: #fffdfd;--surface-soft: #f0e9f6;--surface-strong: #49365f;--text: #362a42;--text-soft: #756a7d;--accent: #7755a6;--accent-strong: #5c3d87;--accent-soft: #e1d5ef;--rose: #d983a7;--rose-soft: #f4d7e4;--gold: #c59b43;--gold-soft: #f2e2b6;--line: rgba(75, 52, 94, .13);--shadow: 0 28px 80px rgba(76, 50, 96, .14);--shadow-soft: 0 14px 40px rgba(76, 50, 96, .09);--card-radius: 24px;--button-radius: 999px;--focus: #9e4d79}*{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}html{min-width:320px;background:var(--page)}body{margin:0;min-width:320px;min-height:100dvh;color:var(--text);background:var(--page)}button{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button:active{transform:translateY(1px) scale(.99)}h1,h2,h3,p{margin-top:0}.app-background{min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 12% 2%,rgba(232,194,215,.48),transparent 27rem),radial-gradient(circle at 92% 13%,rgba(200,183,229,.52),transparent 29rem),var(--page)}.ambient-grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.app-shell{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:18px 0 72px}.topbar{height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;margin-bottom:22px}.topbar-actions{justify-self:end;display:flex;align-items:center;gap:8px}.sound-toggle{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--accent-strong);background:color-mix(in srgb,var(--surface) 76%,transparent);cursor:pointer;transition:transform .16s cubic-bezier(.16,1,.3,1),background .16s ease,color .16s ease}.sound-toggle:hover{color:var(--surface);background:var(--accent-strong)}.sound-toggle[aria-pressed=false]{color:var(--text-soft)}.brand-button{display:flex;align-items:center;gap:11px;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}.brand-logo{width:156px;height:auto;display:block;object-fit:contain}.brand-logo-fallback{display:inline-flex;align-items:center;min-height:36px;color:var(--accent-strong);font-size:18px;font-weight:780;letter-spacing:-.04em;white-space:nowrap}.brand-seal{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;color:#fffafc;background:var(--accent);font-weight:780;letter-spacing:-.08em;box-shadow:0 9px 24px #63418b3d}.brand-copy strong,.brand-copy small,.guest-chip strong,.guest-chip small{display:block}.brand-copy strong{font-size:14px;letter-spacing:-.015em}.brand-copy small,.guest-chip small{margin-top:2px;font-size:10px;color:var(--text-soft)}.desktop-nav{justify-self:center;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.65);border-radius:var(--button-radius);background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(18px)}.desktop-nav button{display:flex;align-items:center;gap:7px;border:0;border-radius:var(--button-radius);padding:9px 14px;background:transparent;color:var(--text-soft);font-size:12px;font-weight:650;cursor:pointer}.desktop-nav button.active{color:var(--text);background:var(--surface);box-shadow:0 4px 15px #4c32601a}.guest-chip{display:flex;align-items:center;gap:8px;padding:7px 13px 7px 9px;border:1px solid rgba(255,255,255,.7);border-radius:var(--button-radius);color:inherit;background:color-mix(in srgb,var(--surface) 68%,transparent);text-align:left;cursor:pointer}.guest-chip.active{box-shadow:inset 0 0 0 2px var(--accent)}.guest-chip svg{color:var(--accent)}.guest-chip strong{font-size:11px}.hero-section{position:relative;min-height:min(535px,calc(100dvh - 125px));display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:32px;background:linear-gradient(118deg,var(--surface) 0 48%,#d5c2e8 48% 100%);box-shadow:var(--shadow)}.hero-copy{align-self:center;padding:48px 42px 48px 58px}.section-label{margin-bottom:15px;color:var(--accent);font-size:10px;font-weight:760;letter-spacing:.15em;text-transform:uppercase}.hero-copy h1{max-width:600px;margin-bottom:21px;font-size:clamp(43px,5.3vw,68px);line-height:.98;letter-spacing:-.038em;text-wrap:balance}.hero-copy>p:not(.section-label){max-width:420px;margin-bottom:27px;color:var(--text-soft);font-size:16px;line-height:1.62}.primary-button,.secondary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--button-radius);padding:12px 20px;font-size:13px;font-weight:730;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{border:1px solid var(--accent-strong);color:#fffafd;background:var(--accent-strong);box-shadow:0 12px 30px #5b3d853d}.primary-button:hover{background:color-mix(in srgb,var(--accent-strong) 90%,#000);box-shadow:0 15px 34px #5b3d854d}.primary-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.secondary-button{border:1px solid var(--line);color:var(--text);background:var(--surface)}.secondary-button.compact{min-height:40px;padding:8px 15px;font-size:11px}.hero-note{position:absolute;right:24px;bottom:22px;z-index:4;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.45);border-radius:15px;background:#ffffffb3;backdrop-filter:blur(16px);box-shadow:var(--shadow-soft)}.hero-note svg{color:var(--accent)}.hero-note strong,.hero-note small{display:block}.hero-note strong{font-size:10px}.hero-note small{color:#62576a;font-size:9px;margin-top:1px}.lily-scene{position:relative;min-height:100%;display:grid;place-items:center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.92),transparent 25%),linear-gradient(160deg,#dac9eb,#bca0d2 70%)}.lily-scene-art{position:absolute;inset:0;display:grid;place-items:center}.lily-scene:before,.lily-scene:after{content:"";position:absolute;top:-10%;width:42%;height:86%;opacity:.35;background:linear-gradient(90deg,#775394,#d4b6df 52%,#805e9d)}.lily-scene:before{left:-24%;border-radius:0 0 75%;transform:rotate(-5deg)}.lily-scene:after{right:-24%;border-radius:0 0 0 75%;transform:rotate(5deg)}.scene-arch{position:absolute;inset:8% 14% 20%;border:1px solid rgba(255,255,255,.33);border-bottom:0;border-radius:50% 50% 0 0}.scene-mote{position:absolute;z-index:1;width:6px;height:6px;border-radius:50%;background:#ffffffb8;box-shadow:0 0 12px #ffffffbf;opacity:0}.mote-one{top:31%;left:30%}.mote-two{top:46%;right:29%;width:4px;height:4px}.mote-three{top:17%;right:36%;width:5px;height:5px}.scene-sparkle{position:absolute;color:#ffffffbd}.sparkle-one{top:20%;left:18%}.sparkle-two{top:34%;right:17%}.stage-ellipse{position:absolute;bottom:-4%;width:110%;height:32%;border-radius:50%;background:radial-gradient(ellipse,#fff6f0,#ddbcd0 72%);box-shadow:0 -15px 50px #573d6c26}.lily-figure{--lily-scale: 1;position:relative;z-index:2;width:min(72%,360px);aspect-ratio:2 / 3;transform:scale(var(--lily-scale));transform-origin:50% 90%;filter:drop-shadow(0 22px 17px rgba(72,43,91,.2))}.lily-avatar{position:relative;display:block;width:100%;height:100%}.lily-avatar-picture{position:relative;z-index:0}.lily-avatar-picture,.lily-avatar-picture img{display:block;width:100%;height:100%}.lily-avatar-picture img{object-fit:contain;object-position:50% 50%;user-select:none}.personal-avatar-stack{position:relative;isolation:isolate;display:block;width:100%;height:100%}.personal-avatar-layer,.personal-avatar-layer img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:50% 50%;pointer-events:none;user-select:none}.personal-neck-bridge-layer{z-index:0}.personal-body-back-layer{z-index:1}.personal-whole-head-layer{z-index:2}.personal-neckline-foreground-layer{z-index:3}.lily-figure picture,.lily-figure img{display:block;width:100%;height:100%}.lily-figure img{object-fit:contain;object-position:50% 50%;user-select:none}.lily-greeting-target{position:absolute;z-index:4;top:13%;left:50%;width:min(64%,330px);height:70%;padding:0;border:0;border-radius:50%;transform:translate(-50%);background:transparent;cursor:pointer}.lily-greeting-target:active{transform:translate(-50%) translateY(1px) scale(.99)}.lily-greeting-bubble{position:absolute;z-index:5;top:17%;right:7%;max-width:170px;padding:10px 13px;border-radius:14px 14px 5px;color:var(--accent-strong);background:var(--surface);box-shadow:0 6px 8px #4c326021;font-size:11px;font-weight:720;pointer-events:none}.lily-tap-burst{position:absolute;z-index:4;top:4%;left:50%;width:64%;height:33%;transform:translate(-50%);pointer-events:none}.lily-tap-burst i{--burst-x: 0px;--burst-y: -16px;position:absolute;top:48%;left:48%;width:7px;height:7px;border-radius:2px;opacity:0;background:#fff0a8;box-shadow:0 0 7px #ffee9dd1;transform:rotate(45deg) scale(.45)}.lily-tap-burst .burst-a{--burst-x: -58px;--burst-y: -18px}.lily-tap-burst .burst-b{--burst-x: -34px;--burst-y: -46px;width:5px;height:5px}.lily-tap-burst .burst-c{--burst-x: 2px;--burst-y: -56px}.lily-tap-burst .burst-d{--burst-x: 40px;--burst-y: -40px;width:5px;height:5px}.lily-tap-burst .burst-e{--burst-x: 58px;--burst-y: -8px}.outfit-rose{--tutu-main: #df7fa5;--tutu-light: #f6c3d5}.outfit-lavender{--tutu-main: #8f70bd;--tutu-light: #d8c4ed}.outfit-starlight{--tutu-main: #c59b43;--tutu-light: #f3dfaa}.lily-scene.wardrobe{position:sticky;top:88px;align-self:start;min-height:500px;border-radius:28px}.lily-scene.wardrobe .lily-figure{--lily-scale: 1.04;width:min(72%,370px)}.progress-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:21px;margin-top:16px;padding:18px 23px;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(14px);box-shadow:var(--shadow-soft)}.level-stamp{width:68px;height:68px;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;padding:10px;border:1px solid rgba(197,155,67,.55);border-radius:50%;background:var(--gold-soft);color:#6f5523}.level-stamp svg{grid-row:1}.level-stamp span{font-size:23px;font-weight:780}.level-stamp small{grid-column:1/-1;margin-top:-5px;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.progress-copy>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.progress-copy>div:first-child span{color:var(--text-soft)}.progress-copy>small{color:var(--text-soft);font-size:10px}.progress-track{height:7px;margin:9px 0 7px;overflow:hidden;border-radius:999px;background:var(--accent-soft)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--rose));transition:width .5s cubic-bezier(.16,1,.3,1)}.points-value{display:flex;align-items:center;gap:9px;padding-left:20px;border-left:1px solid var(--line)}.points-value svg{color:var(--gold)}.points-value strong,.points-value small{display:block}.points-value strong{font-size:18px}.points-value small{color:var(--text-soft);font-size:8px;letter-spacing:.07em;text-transform:uppercase}.lp-balance{display:inline-flex;align-items:center;gap:9px;color:var(--text)}.lp-balance-icon{width:31px;height:31px;flex:0 0 auto;color:var(--rose)}.lp-balance strong,.lp-balance small{display:block}.lp-balance strong{font-size:18px;line-height:1}.lp-balance small{margin-top:3px;color:var(--text-soft);font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.lp-balance.is-compact{gap:7px}.lp-balance.is-compact .lp-balance-icon{width:23px;height:23px}.lp-balance.is-compact strong{font-size:14px}.lp-balance.is-compact small{display:inline;margin:0 0 0 4px;font-size:9px}.video-access{margin-top:30px}.video-access-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.video-access-summary p{max-width:520px;margin:0;color:var(--text-soft);font-size:12px;line-height:1.55}.video-access-summary strong{color:var(--text)}.video-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.video-access-card{min-height:305px;display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.video-access-card>svg{margin-bottom:30px;color:var(--accent)}.video-access-card small{color:var(--accent);font-size:9px;font-weight:760;letter-spacing:.11em;text-transform:uppercase}.video-access-card h2{max-width:410px;margin:10px 0 12px;font-size:27px;line-height:1.03;letter-spacing:-.035em;text-wrap:balance}.video-access-card p{max-width:450px;margin:0 0 24px;color:var(--text-soft);font-size:12px;line-height:1.6}.video-access-card .primary-button,.video-access-card .secondary-button{margin-top:auto}.video-access-card-lp{color:#fff;border-color:transparent;background:linear-gradient(145deg,#4c3864,#765094)}.video-access-card-lp>svg,.video-access-card-lp small{color:#eed5e7}.video-access-card-lp p{color:#ffffffb8}.video-access-card-lp .primary-button{border-color:#fff7fc;color:#3e294f;background:#fff7fc;box-shadow:none}.video-lesson-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.video-lesson-list-head{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--text-soft)}.video-lesson-list-head small{font-size:9px;font-weight:780;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}.video-lesson-list-head strong{color:var(--text);font-size:16px}.video-lesson-card{min-height:205px;display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 14px 34px #4c326012}.video-lesson-card span{color:var(--accent);font-size:10px;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.video-lesson-card h3{margin:0;font-size:20px;line-height:1.05;letter-spacing:-.035em}.video-lesson-card p{margin:0;color:var(--text-soft);font-size:12px;line-height:1.5}.video-lesson-card button{margin-top:auto;align-self:flex-start}.video-lesson-card.is-open{border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:linear-gradient(145deg,#ffffffe0,#f6e1ead1)}.video-access-note{max-width:730px;margin:18px 0 0;color:var(--text-soft);font-size:10px;line-height:1.55}.academy-section{padding-top:58px}.section-heading{max-width:550px;margin-bottom:25px}.section-heading h2{margin-bottom:9px;font-size:clamp(31px,4vw,45px);letter-spacing:-.045em}.section-heading p{color:var(--text-soft);line-height:1.6}.academy-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:minmax(165px,auto);gap:14px}.academy-tile{min-width:0;position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:16px;padding:23px;border:1px solid rgba(255,255,255,.6);border-radius:var(--card-radius);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease}.academy-tile:hover{transform:translateY(-4px);box-shadow:0 19px 45px #4c326024}.academy-tile>svg{align-self:end}.academy-tile>span:nth-child(2){align-self:end}.academy-tile small,.academy-tile strong,.academy-tile em{display:block}.academy-tile small{margin-bottom:5px;color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.academy-tile strong{font-size:18px;letter-spacing:-.025em}.academy-tile em{margin-top:6px;color:var(--text-soft);font-size:10px;line-height:1.5;font-style:normal}.tile-icon{width:49px;height:49px;display:grid;place-items:center;border-radius:17px;background:#fff6}.training-tile{grid-row:span 2;min-height:344px;align-content:space-between;background:linear-gradient(150deg,#e0d1ee,#c4a7d7)}.training-tile .tile-icon{width:64px;height:64px}.training-tile strong{font-size:28px}.wardrobe-tile{background:linear-gradient(145deg,#f6e1ea,#e9bed2)}.achievement-tile{background:linear-gradient(145deg,#ece1f4,#d4c0e4)}.reward-tile{background:linear-gradient(145deg,#f6ecd2,#e7d09d)}.stage-tile{background:var(--surface)}.stage-tile.is-locked{opacity:.7;filter:saturate(.55)}.session-note{display:flex;align-items:flex-start;gap:12px;padding:20px 22px;border-radius:var(--card-radius);background:var(--surface-strong);color:#fffafd}.session-note svg{flex:0 0 auto;color:#d5c0ea}.session-note p{margin:0}.session-note strong,.session-note span{display:block}.session-note strong{font-size:12px}.session-note span{margin-top:5px;color:#d8cce1;font-size:10px;line-height:1.55}.page-intro{max-width:720px;padding:24px 0 35px}.back-button{display:inline-flex;align-items:center;gap:7px;margin-bottom:30px;padding:9px 13px;border:1px solid var(--line);border-radius:var(--button-radius);background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--accent-strong);font-size:11px;font-weight:700;cursor:pointer}.page-intro h1,.game-page-header h1{margin-bottom:14px;font-size:clamp(40px,5vw,61px);line-height:1.02;letter-spacing:-.038em;text-wrap:balance}.page-intro>p:last-child{max-width:570px;margin:0;color:var(--text-soft);line-height:1.65}.games-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.game-card{min-height:215px;position:relative;display:grid;grid-template-columns:145px 1fr auto;align-items:center;gap:22px;overflow:hidden;padding:18px;border:1px solid rgba(255,255,255,.65);border-radius:var(--card-radius);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease}.game-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px #4c326024}.game-card-art{position:relative;isolation:isolate;height:100%;min-height:177px;display:grid;place-items:center;overflow:hidden;border-radius:18px;color:#fff}.game-card-art:before{content:"";position:absolute;z-index:-1;inset:14% 9% 7%;border-radius:50%;background:#ffffff61;filter:blur(18px)}.game-card-art:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.42);border-radius:inherit;pointer-events:none}.game-card-art img{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 13px rgba(63,36,78,.2));transform:scale(.94);transform-origin:center bottom;user-select:none}.game-card-art.artwork-cover img{object-fit:cover;object-position:center 24%;filter:saturate(.96) contrast(1.02);transform:none}.game-card-art.artwork-cover:before{display:none}.game-card-art-badge{position:absolute;z-index:2;top:10px;left:10px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:#ffffffd1;color:var(--accent-strong);box-shadow:0 7px 18px #3c234c21;backdrop-filter:blur(8px)}.game-card-copy small,.game-card-copy strong,.game-card-copy>span{display:block}.game-card-copy small{display:flex;align-items:center;gap:5px;margin-bottom:9px;color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.game-card-copy strong{font-size:19px}.game-card-copy>span{margin-top:7px;color:var(--text-soft);font-size:11px;line-height:1.5}.game-card-arrow{align-self:end}.tone-lavender{background:#f2ebf8}.tone-lavender .game-card-art{background:radial-gradient(circle at 50% 28%,#fdf8ff 0 15%,transparent 53%),linear-gradient(145deg,#d8c1e9,#9a79ba)}.tone-rose{background:#f8ebf0}.tone-rose .game-card-art{background:radial-gradient(circle at 50% 28%,#fff8fb 0 15%,transparent 53%),linear-gradient(145deg,#f2c7d8,#cf82a2)}.tone-gold{background:#f7f0dd}.tone-gold .game-card-art{background:radial-gradient(circle at 50% 28%,#fffdf4 0 15%,transparent 53%),linear-gradient(145deg,#ecdcae,#b9934d)}.tone-plum{background:#eee8f0}.tone-plum .game-card-art{background:#745a83}.game-card-art.artwork-badge{height:auto;min-height:0;aspect-ratio:1;background:transparent}.game-card-art.artwork-badge:before{display:none}.game-card-art.artwork-badge img{object-fit:cover;object-position:center;filter:none;transform:none}.game-card-art.artwork-badge .game-card-art-badge{display:none}.wardrobe-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.wardrobe-controls{display:flex;flex-direction:column;gap:20px}.wardrobe-group{display:flex;flex-direction:column;gap:10px}.wardrobe-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 3px}.wardrobe-group-heading h2{margin:0;font-size:17px;letter-spacing:-.02em}.wardrobe-group-heading span{color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.outfit-list{display:flex;flex-direction:column;gap:12px}.outfit-option{min-height:118px;display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:17px;padding:15px;border:2px solid transparent;border-radius:var(--card-radius);background:color-mix(in srgb,var(--surface) 84%,transparent);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft)}.outfit-option.selected{border-color:var(--accent);background:var(--surface)}.outfit-option>svg{color:var(--accent)}.outfit-option strong,.outfit-option small{display:block}.outfit-option strong{font-size:15px}.outfit-option small{margin-top:6px;color:var(--text-soft);font-size:10px;line-height:1.5}.outfit-swatch{position:relative;width:78px;height:72px;display:grid;place-items:center;border-radius:17px;background:var(--surface-soft)}.outfit-swatch i:first-child{width:29px;height:34px;border-radius:12px 12px 5px 5px;background:var(--tutu-main)}.outfit-swatch i:last-child{position:absolute;bottom:11px;width:58px;height:28px;clip-path:polygon(28% 0,72% 0,100% 74%,70% 91%,50% 71%,30% 91%,0 74%);background:var(--tutu-main)}.wardrobe-demo-note{margin:0 3px;color:var(--text-soft);font-size:9px;line-height:1.5}.settings-layout{width:min(920px,100%);display:grid;gap:18px}.music-credit-panel{position:relative;overflow:hidden;padding:27px 28px 24px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:var(--card-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--gold-soft) 66%,var(--surface)),color-mix(in srgb,var(--surface) 92%,transparent));box-shadow:var(--shadow-soft)}.music-credit-panel:after{content:"";position:absolute;right:-35px;top:-55px;width:170px;height:170px;border:1px solid color-mix(in srgb,var(--gold) 22%,transparent);border-radius:50%;box-shadow:0 0 0 22px color-mix(in srgb,var(--gold) 5%,transparent),0 0 0 44px color-mix(in srgb,var(--gold) 4%,transparent);pointer-events:none}.music-credit-heading{position:relative;z-index:1;display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.music-credit-heading h2{margin:2px 0 5px;font-size:21px;letter-spacing:-.025em}.music-credit-heading p{max-width:620px;margin:0;color:var(--text-soft);font-size:11px;line-height:1.55}.music-credit-heading small{color:#7c5c27;font-size:8px;font-weight:760;letter-spacing:.11em;text-transform:uppercase}.music-credit-icon{width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#7c5c27;background:color-mix(in srgb,var(--gold-soft) 76%,white)}.music-credit-programme{position:relative;z-index:1;display:grid;margin:0;padding:0;border-top:1px solid color-mix(in srgb,var(--gold) 28%,var(--line));list-style:none}.music-credit-programme li{display:grid;grid-template-columns:34px minmax(0,1fr) minmax(170px,.65fr);align-items:center;gap:12px;padding:14px 2px;border-bottom:1px solid color-mix(in srgb,var(--gold) 23%,var(--line))}.music-credit-number{color:#9b7b3d;font-size:9px;font-weight:780;letter-spacing:.08em}.music-credit-programme strong,.music-credit-programme small{display:block}.music-credit-programme strong{font-size:13px}.music-credit-programme small{margin-top:3px;color:var(--text-soft);font-size:9px;line-height:1.45}.music-credit-programme em{color:var(--text-soft);font-size:10px;font-style:normal;text-align:right}.music-credit-note{position:relative;z-index:1;max-width:720px;margin:15px 0 0;color:var(--text-soft);font-size:9px;line-height:1.55}.achievement-list{overflow:hidden;border-radius:28px;background:color-mix(in srgb,var(--surface) 75%,transparent);box-shadow:var(--shadow-soft)}.achievement-row{min-height:150px;display:grid;grid-template-columns:50px 75px 1fr auto;align-items:center;gap:20px;padding:24px 28px;color:var(--text-soft)}.achievement-row+.achievement-row{border-top:1px solid var(--line)}.achievement-row.unlocked{color:var(--text)}.achievement-number{font-size:11px;font-weight:720;letter-spacing:.1em}.achievement-medal{width:65px;height:65px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft)}.achievement-row.unlocked .achievement-medal{color:#75571f;background:var(--gold-soft)}.achievement-row h2{margin-bottom:5px;font-size:20px}.achievement-row p{margin-bottom:7px;color:var(--text-soft);font-size:11px}.achievement-row small{font-size:9px;text-transform:uppercase;letter-spacing:.07em}.achievement-row>svg{color:var(--accent)}.external-achievement-section{margin-top:28px}.external-achievement-heading{margin:0 0 14px 8px}.external-achievement-heading span{color:var(--accent);font-size:9px;font-weight:720;letter-spacing:.1em;text-transform:uppercase}.external-achievement-heading h2{margin-top:5px;font-size:22px}.external-achievement-row .achievement-medal{color:#6d4d8e;background:color-mix(in srgb,var(--accent-soft) 78%,white)}.rewards-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.reward-card{min-height:210px;position:relative;display:grid;grid-template-columns:84px 1fr;align-content:center;gap:19px;padding:25px;border:1px solid rgba(255,255,255,.65);border-radius:var(--card-radius);background:color-mix(in srgb,var(--surface) 84%,transparent);box-shadow:var(--shadow-soft)}.reward-card:first-child,.reward-card:last-child{grid-column:span 2}.reward-card.locked{opacity:.58;filter:saturate(.5)}.reward-icon{width:78px;height:78px;display:grid;place-items:center;border-radius:22px;color:#7c5c27;background:var(--gold-soft)}.reward-card small{color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.reward-card h2{margin:6px 0;font-size:22px}.reward-card p{margin:0;color:var(--text-soft);font-size:11px}.reward-state{position:absolute;right:21px;top:20px;display:flex;align-items:center;gap:5px;color:var(--accent);font-size:9px;font-weight:720;text-transform:uppercase;letter-spacing:.06em}.game-page{padding-top:22px}.game-page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;margin-bottom:22px}.game-page-header .back-button{justify-self:start;margin:0;align-self:center}.game-page-header>div{text-align:center}.game-page-header>div small{color:var(--accent);font-size:9px;font-weight:730;text-transform:uppercase;letter-spacing:.1em}.game-page-header h1{margin:7px 0 0;font-size:clamp(33px,4vw,49px)}.completion-chip{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1px solid var(--line);border-radius:var(--button-radius);color:var(--accent);background:var(--surface);font-size:10px;font-weight:730}.completion-chip.complete{color:#5c7444}.game-surface{min-height:530px;position:relative;display:grid;place-items:center;padding:28px;border:1px solid rgba(255,255,255,.75);border-radius:30px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:var(--shadow)}.game-interaction-layer{width:100%;display:grid;place-items:center}.session-gate{min-height:min(620px,calc(100vh - 130px));display:grid;align-content:center;justify-items:center;gap:13px;padding:46px 24px;border:1px solid rgba(255,255,255,.74);border-radius:32px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.82),transparent 32%),linear-gradient(145deg,#eee2f5,#fbf7fb 62%,#f7e8ef);box-shadow:var(--shadow);text-align:center}.session-gate-orbit{width:78px;height:78px;display:grid;place-items:center;margin-bottom:9px;border:1px solid rgba(117,83,144,.18);border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--accent),var(--surface-strong));box-shadow:0 15px 36px #5c3d773d;font-size:18px;font-weight:780;letter-spacing:.08em}.session-gate-orbit:not(.paused){animation:session-orbit 2.4s ease-in-out infinite}.session-gate small{color:var(--accent-strong);font-size:9px;font-weight:780;letter-spacing:.12em;text-transform:uppercase}.session-gate h1{max-width:720px;margin:0;font-size:clamp(38px,6vw,64px);line-height:1;letter-spacing:-.045em;text-wrap:balance}.session-gate p{max-width:590px;margin:0 0 8px;color:var(--text-soft);font-size:13px;line-height:1.65;text-wrap:pretty}.session-gate-status{color:var(--text-soft);font-size:11px;font-weight:680}.session-gate-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.session-gate-actions .secondary-button{text-decoration:none}.public-account-gate{grid-template-columns:minmax(0,.92fr) minmax(360px,.72fr);align-items:stretch;justify-items:stretch;gap:28px;padding:34px;text-align:left;background:radial-gradient(circle at 16% 16%,rgba(255,255,255,.9),transparent 28%),linear-gradient(136deg,#fffafd 0 50%,#eadcf3 50% 100%)}.public-account-copy{display:grid;align-content:center;justify-items:start;gap:13px;min-width:0;padding:20px 10px 20px 12px}.public-account-copy .session-gate-orbit{margin-bottom:2px;background:conic-gradient(from -18deg,var(--gold),#fff0bd,var(--accent),var(--surface-strong),var(--gold));box-shadow:0 18px 42px #76528f38}.public-account-copy h1{max-width:650px}.public-account-copy p{max-width:620px}.public-account-school-card{display:grid;gap:8px;width:min(650px,100%);padding:16px;border:1px solid rgba(118,82,143,.16);border-radius:22px;background:#ffffffb8;box-shadow:0 16px 38px #4c32601a}.public-account-school-card small{margin:0;color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.public-account-school-card strong{color:var(--text);font-size:clamp(20px,2.4vw,26px);line-height:1.04;letter-spacing:-.035em}.public-account-school-card span{max-width:560px;color:var(--text-soft);font-size:12px;line-height:1.55}.public-account-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:min(650px,100%);margin:5px 0 7px}.public-account-highlights span{min-height:72px;display:grid;align-content:center;gap:3px;padding:12px;border:1px solid rgba(197,155,67,.25);border-radius:18px;color:#6e5520;background:linear-gradient(145deg,#fff8df,#f4e3b7);box-shadow:0 12px 28px #855e1c14;font-size:10px;line-height:1.35}.public-account-highlights b{display:block;color:#5d4315;font-size:22px;line-height:1;letter-spacing:-.04em}.public-account-student-actions{justify-content:flex-start;margin-top:4px}.public-account-demo-actions{justify-content:flex-start;margin-top:-2px}.public-account-card{display:grid;align-content:start;gap:14px;min-width:0;padding:18px;border:1px solid rgba(255,255,255,.82);border-radius:26px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 22px 62px #4c326029;backdrop-filter:blur(18px)}.public-account-card-title{display:grid;gap:4px;padding:2px 3px 0}.public-account-card-title small{color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.public-account-card-title strong{color:var(--text);font-size:18px;line-height:1.08;letter-spacing:-.035em}.public-account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border-radius:999px;background:var(--surface-soft)}.public-account-tabs button{min-height:39px;border:0;border-radius:999px;color:var(--text-soft);background:transparent;font-size:11px;font-weight:760;cursor:pointer}.public-account-tabs button.active{color:var(--text);background:var(--surface);box-shadow:0 8px 20px #4c32601a}.public-account-helper{margin:0;color:var(--text-soft);font-size:11px;line-height:1.55}.public-account-fields{display:grid;grid-template-columns:1fr 108px;gap:10px}.public-account-fields label{display:flex;flex-direction:column;gap:6px;min-width:0}.public-account-fields .field-wide{grid-column:1/-1}.public-account-fields label>span{padding-left:2px;color:var(--text);font-size:9px;font-weight:740;letter-spacing:.02em}.public-account-fields input{width:100%;min-height:45px;border:1px solid var(--line);border-radius:14px;padding:10px 13px;color:var(--text);background:var(--surface);font:inherit;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.public-account-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.public-account-fields input::placeholder{color:color-mix(in srgb,var(--text-soft) 66%,transparent)}.public-account-error{margin:-2px 0 0;padding:10px 12px;border-radius:13px;color:#913955;background:#fff0f5;font-size:11px;font-weight:660;line-height:1.45}.public-account-submit{width:100%;margin-top:1px}.public-account-terms{display:block;color:var(--text-soft);font-size:9px;line-height:1.45;text-align:center}.pose-game,.memory-game{width:min(680px,100%);text-align:center}.pose-question-meta{width:min(430px,100%);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:0 auto 13px}.pose-question-count{color:var(--accent-strong);font-size:10px;font-weight:760}.pose-question-progress{width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;background:var(--accent-soft)}.pose-question-progress::-webkit-progress-bar{background:var(--accent-soft)}.pose-question-progress::-webkit-progress-value{border-radius:999px;background:var(--accent)}.pose-question-progress::-moz-progress-bar{border-radius:999px;background:var(--accent)}.pose-stage{width:260px;height:230px;position:relative;display:grid;place-items:center;margin:0 auto 22px;color:var(--accent-strong)}.stage-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--surface) 0 48%,transparent 49%),conic-gradient(from 80deg,var(--accent-soft),var(--rose-soft),var(--gold-soft),var(--accent-soft));transition:filter .25s ease,transform .25s ease}.pose-stage>svg,.pose-stage>img,.pose-stage>picture{position:relative;z-index:1}.pose-stage.is-correct .stage-ring{filter:saturate(1.18);transform:scale(1.04)}.pose-stage.is-wrong .stage-ring{filter:saturate(.72)}.pose-character{position:relative;z-index:1;display:block;width:154px;height:231px;filter:drop-shadow(0 12px 14px rgba(72,43,91,.18))}.pose-character img{display:block;width:100%;height:100%;object-fit:contain}.pose-illustration{display:block;filter:drop-shadow(0 8px 9px rgba(72,43,91,.15))}.pose-illustration img{display:block;width:100%;height:100%;object-fit:contain}.pose-illustration-clue{width:126px;height:218px}.pose-illustration-choice{width:52px;height:74px}.pose-game h2,.memory-game h2,.dress-task h2{margin-bottom:7px;font-size:25px;letter-spacing:-.03em}.pose-game>p,.memory-game>p,.dress-task>p{color:var(--text-soft);font-size:12px;line-height:1.55}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:23px}.answer-grid button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-size:13px;font-weight:680;cursor:pointer}.answer-grid button:hover{border-color:var(--accent)}.answer-grid button:disabled{cursor:default}.answer-grid button.correct{border-color:#66814c;color:#45632f;background:#edf4e8}.answer-grid button.wrong{border-color:var(--rose);color:#8b405f;background:var(--rose-soft)}.pose-answer-grid{margin-top:18px}.answer-grid .pose-answer-card{min-height:94px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;justify-content:stretch;gap:9px;padding:7px 12px 7px 7px;text-align:left}.pose-option-visual{width:68px;height:78px;display:grid;place-items:center;overflow:hidden;border-radius:12px;color:var(--accent-strong);background:var(--surface-soft)}.pose-option-name{font-size:12px}.pose-next-button{min-width:180px;margin-top:14px}.pose-mastered-list{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:16px 0;padding:0;list-style:none}.pose-mastered-list li{padding:6px 9px;border-radius:999px;color:var(--accent-strong);background:var(--accent-soft);font-size:9px;font-weight:700}.game-feedback{min-height:20px;margin:15px 0 0;color:var(--text-soft);font-size:11px}.game-feedback.visible{color:var(--accent-strong)}.phaser-game-wrap{width:100%;max-width:720px;min-width:0;text-align:center}.dance-visual{position:relative}.phaser-host{width:100%;aspect-ratio:680/350;overflow:hidden;border-radius:var(--card-radius)}.dance-studio{position:relative;isolation:isolate;background:radial-gradient(circle at 50% 36%,rgba(255,255,255,.88),transparent 24%),linear-gradient(155deg,#c5afe0,#edbfd1 68%,#d7b98c)}.dance-studio-title{position:absolute;z-index:3;top:21px;left:50%;padding:6px 10px;border-radius:999px;transform:translate(-50%);color:#49365f;background:#ffffffb8;font-size:9px;font-weight:760;white-space:nowrap}.dance-studio-arch{position:absolute;inset:11% 20% 22%;border:2px solid rgba(255,255,255,.42);border-bottom:0;border-radius:50% 50% 0 0}.dance-studio-floor{position:absolute;z-index:-1;left:-8%;right:-8%;bottom:-20%;height:54%;border-radius:50%;background:radial-gradient(ellipse,#fff7ef,#ddbcd1 72%)}.dance-studio-barre{position:absolute;z-index:0;left:7%;right:7%;top:47%;height:5px;border-radius:999px;background:#aa795b;box-shadow:0 7px #6e4a3938}.dance-pad-row{position:absolute;z-index:1;left:7%;right:7%;bottom:9%;display:flex;justify-content:space-between;align-items:end}.dance-pad{width:78px;height:52px;display:grid;place-items:center;align-content:center;border:2px solid rgba(255,255,255,.76);border-radius:50%;color:#4e3a5e;background:#ffffff85;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease}.dance-pad b,.dance-pad small{display:block}.dance-pad b{font-size:15px}.dance-pad small{font-size:8px;font-weight:700}.dance-pad.is-active{transform:scale(1.12);background:#fff1b4}.dance-character-stage{position:absolute;z-index:2;top:43px;left:50%;display:block;width:143px;height:214px;pointer-events:none;transform:translate(-50%);transform-origin:50% 90%}.dance-character{display:block;width:100%;height:100%;transform-origin:50% 90%;filter:drop-shadow(0 12px 15px rgba(72,43,91,.16))}.dance-character img{display:block;width:100%;height:100%;object-fit:contain}.dance-motion-ring{position:absolute;z-index:-1;left:50%;bottom:1%;width:64%;aspect-ratio:2.7 / 1;border:2px solid rgba(255,241,176,.7);border-radius:50%;opacity:0;transform:translate(-50%) scale(.72)}.dance-sequence-rail{width:100%;max-width:480px;min-width:0;margin:11px auto 0}.dance-sequence-caption{display:block;min-height:16px;margin-bottom:6px;color:var(--text-soft);font-size:9px;font-weight:720}.dance-sequence-rail ol{display:flex;gap:6px;margin:0;padding:7px;border-radius:14px;list-style:none;background:color-mix(in srgb,var(--accent-soft) 52%,var(--surface))}.dance-sequence-rail li{min-width:0;flex:1;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:5px;padding:5px 6px;border-radius:10px;color:var(--text-soft);opacity:.62;transform:scale(.98);transition:opacity .18s ease,transform .18s cubic-bezier(.16,1,.3,1),color .18s ease,background .18s ease}.dance-sequence-rail li.is-active{color:var(--accent-strong);opacity:1;transform:translateY(-2px) scale(1);background:var(--surface)}.dance-sequence-rail li.is-complete{color:#4f6939;opacity:1}.dance-beat-number{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--accent);font-size:9px;font-weight:780}.is-complete .dance-beat-number{background:#68834e}.dance-beat-label{overflow:hidden;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.game-status{min-height:20px;margin:10px 0 12px;color:var(--text-soft);font-size:11px}.dance-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:13px}.dance-controls button{min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);font-size:12px;font-weight:680;cursor:pointer;transition:opacity .16s ease,border-color .16s ease,background .16s ease}.dance-controls button span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--accent);font-size:10px}.dance-controls button:disabled,.phaser-game-wrap>.secondary-button:disabled{cursor:default;opacity:.46}.phase-input .dance-controls button:not(:disabled){border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent-soft) 32%,var(--surface))}.dance-start-button{min-width:190px}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px;perspective:900px}.memory-grid button{position:relative;aspect-ratio:1/.82;border:0;border-radius:17px;background:transparent;transform-style:preserve-3d;cursor:pointer;transition:transform .42s cubic-bezier(.16,1,.3,1)}.memory-grid button.is-open{transform:rotateY(180deg)}.memory-grid button:disabled{cursor:default}.memory-grid button>span{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;backface-visibility:hidden}.card-back{color:#fff9fc;background:var(--accent)}.card-front{color:var(--accent-strong);background:var(--rose-soft);transform:rotateY(180deg);transition:box-shadow .18s ease,background .18s ease}.memory-pointe-glyph{font-size:38px;line-height:1;filter:saturate(.72)}.memory-grid button.is-matched .card-front{color:#45632f;background:#edf4e8;box-shadow:inset 0 0 0 2px #66814c73}.memory-grid button.is-mismatch .card-front{color:#8b405f;background:#f7dce7}.memory-feedback{min-height:18px;margin:-8px 0 0;color:var(--accent-strong);font-size:10px}.dress-game{width:min(960px,100%);display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}.dress-game .lily-scene.wardrobe{min-height:500px}.dress-task>p{margin-bottom:17px}.dress-option-heading{margin:0 0 8px;color:var(--text-soft);font-size:10px;letter-spacing:.04em}.mini-outfits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px}.mini-outfits button{display:grid;place-items:center;gap:7px;min-height:82px;padding:9px;border:2px solid transparent;border-radius:16px;background:var(--surface-soft);color:var(--text-soft);font-size:9px;cursor:pointer}.mini-outfits button.selected{border-color:var(--accent);color:var(--text);background:var(--surface)}.mini-outfits i{width:43px;height:37px;clip-path:polygon(31% 0,69% 0,100% 78%,70% 92%,50% 73%,30% 92%,0 78%);background:var(--tutu-main)}.dress-task .primary-button{width:100%}.dress-hint{display:block;margin-top:10px;color:var(--text-soft);font-size:9px;text-align:center}.toast{position:fixed;left:50%;bottom:24px;z-index:30;transform:translate(-50%);max-width:calc(100% - 30px);padding:13px 19px;border:1px solid rgba(255,255,255,.16);border-radius:var(--button-radius);color:#fffafd;background:var(--surface-strong);box-shadow:var(--shadow);font-size:11px;font-weight:650;text-align:center}.game-result-moment{position:absolute;z-index:8;inset:18px 18px auto;width:min(520px,calc(100% - 36px));min-height:118px;margin-inline:auto;display:grid;grid-template-columns:106px 1fr;align-items:center;gap:13px;padding:10px 18px 10px 10px;border-radius:16px;color:var(--text);background:color-mix(in srgb,var(--surface) 93%,transparent);box-shadow:0 8px 8px #38254629;backdrop-filter:blur(12px);pointer-events:none}.game-result-art{position:relative;isolation:isolate;width:100px;height:98px;display:grid;place-items:end center}.game-result-lily{position:relative;z-index:1;display:block;width:66px;height:99px;filter:drop-shadow(0 6px 7px rgba(72,43,91,.2))}.game-result-lily img{display:block;width:100%;height:100%;object-fit:contain}.game-result-spark{position:absolute;z-index:0;top:50%;left:50%;display:grid;place-items:center;color:var(--gold)}.game-result-copy strong,.game-result-copy>span{display:block}.game-result-copy strong{color:var(--accent-strong);font-size:24px;letter-spacing:-.025em}.game-result-copy>span{margin-top:2px;font-size:12px;font-weight:680}.game-result-copy small{display:block;margin-top:7px;color:var(--text-soft);font-size:9px;line-height:1.45}.game-result-rewards{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.game-result-rewards b{padding:5px 8px;border-radius:999px;color:#6f5523;background:var(--gold-soft);font-size:9px}.daily-contest-limit{position:fixed;z-index:55;inset:0;display:grid;place-items:center;overflow-y:auto;padding:20px;background:#34254194;backdrop-filter:blur(12px)}.daily-contest-limit-card{width:min(760px,100%);min-height:410px;display:grid;grid-template-columns:.86fr 1.14fr;overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:30px;background:var(--surface);box-shadow:0 30px 90px #2a183652}.daily-contest-limit-art{min-height:410px;position:relative;display:grid;place-items:end center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 30%,rgba(255,250,219,.84),transparent 25%),linear-gradient(160deg,#d9c7eb,#aa8fc1 72%)}.daily-contest-limit-art:before{content:"";position:absolute;z-index:-1;left:50%;bottom:-18%;width:132%;height:44%;border-radius:50%;transform:translate(-50%);background:radial-gradient(ellipse,#fff7ee,#d9b9cf 72%)}.daily-limit-lily{display:block;width:235px;height:353px;margin-bottom:-7px;filter:drop-shadow(0 20px 18px rgba(52,34,64,.24))}.daily-limit-lily img{display:block;width:100%;height:100%;object-fit:contain}.daily-limit-moon{position:absolute;top:24px;right:25px;color:#fff1a9;filter:drop-shadow(0 5px 9px rgba(81,57,28,.18))}.daily-limit-star{position:absolute;color:#f6dfa0}.daily-limit-star.star-a{top:18%;left:16%}.daily-limit-star.star-b{top:34%;right:14%}.daily-contest-limit-copy{align-self:center;padding:42px 44px 40px}.daily-limit-kicker{display:block;margin-bottom:12px;color:var(--accent);font-size:9px;font-weight:780;letter-spacing:.12em;text-transform:uppercase}.daily-contest-limit-copy h2{margin-bottom:13px;font-size:clamp(34px,4vw,45px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.daily-contest-limit-copy>p:not(.daily-limit-message){margin-bottom:17px;color:var(--text-soft);font-size:12px;line-height:1.62}.daily-limit-points{display:inline-flex;align-items:center;gap:8px;margin-bottom:19px;padding:8px 11px;border-radius:999px;color:#70531e;background:var(--gold-soft);font-size:10px}.daily-limit-points svg{color:var(--gold)}.daily-limit-points strong{font-size:13px}.daily-limit-message{margin:-7px 0 15px;padding:10px 12px;border-radius:12px;color:var(--accent-strong);background:var(--accent-soft);font-size:10px;line-height:1.5}.daily-limit-message.error{color:#8f3656;background:#fff0f5}.daily-limit-actions button[aria-busy=true]{cursor:wait}.contest-sync-overlay{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:22px;background:#faf5fcd1;backdrop-filter:blur(8px)}.contest-sync-card{width:min(420px,100%);padding:24px;border:1px solid rgba(106,76,134,.14);border-radius:22px;background:#fffffff7;box-shadow:0 20px 55px #432a552e;text-align:center}.contest-sync-card strong,.contest-sync-card span{display:block}.contest-sync-card strong{margin-bottom:8px;color:var(--text);font-size:15px}.contest-sync-card span{color:var(--text-soft);font-size:11px;line-height:1.55}.contest-sync-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.contest-sync-actions.single-action{grid-template-columns:1fr}.daily-limit-actions{display:grid;grid-template-columns:1fr 1.24fr;gap:9px}.daily-limit-actions .primary-button,.daily-limit-actions .secondary-button{min-width:0;padding-inline:13px}.daily-contest-limit-copy>small{display:block;margin-top:10px;color:var(--text-soft);font-size:9px;line-height:1.45;text-align:center}.performance-page{padding-top:22px}.performance-page-header{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:25px;margin-bottom:22px}.performance-page-header .back-button{align-self:center;margin:0}.performance-heading{text-align:center}.performance-heading .section-label{margin-bottom:7px}.performance-heading h1{margin:0;font-size:clamp(38px,4.6vw,58px);line-height:1;letter-spacing:-.04em;text-wrap:balance}.performance-steps{justify-self:end;display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.performance-steps li{min-height:38px;display:flex;align-items:center;gap:7px;padding:6px 11px 6px 7px;border-radius:var(--button-radius);color:var(--text-soft);background:color-mix(in srgb,var(--surface) 72%,transparent);font-size:9px;font-weight:700}.performance-steps li span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);font-size:9px}.performance-steps li[aria-current=step]{color:var(--accent-strong);background:var(--surface);box-shadow:0 6px 8px #4c326014}.performance-steps li[aria-current=step] span{color:#fffafd;background:var(--accent)}.performance-stage{min-height:570px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:32px;background:var(--surface);box-shadow:var(--shadow)}.performance-visual{min-height:570px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 29%,rgba(255,255,255,.72),transparent 23%),linear-gradient(160deg,#aa89c4,#76548f 68%,#513765);transition:background .32s cubic-bezier(.16,1,.3,1)}.performance-stage.is-invitation .performance-visual{background:radial-gradient(circle at 50% 27%,rgba(255,247,203,.88),transparent 25%),linear-gradient(160deg,#c8a8d7,#8a679f 65%,#5a406b)}.performance-visual:before,.performance-visual:after{content:"";position:absolute;z-index:2;top:-3%;width:36%;height:92%;opacity:.82;background:linear-gradient(90deg,#4f315e,#89649b 55%,#5d3b6c);box-shadow:0 0 30px #2a17343d;transition:transform .32s cubic-bezier(.16,1,.3,1)}.performance-visual:before{left:-16%;border-radius:0 0 78%;transform:rotate(-4deg)}.performance-visual:after{right:-16%;border-radius:0 0 0 78%;transform:rotate(4deg)}.performance-arch{position:absolute;z-index:1;inset:7% 14% 17%;border:2px solid rgba(255,255,255,.25);border-bottom:0;border-radius:50% 50% 0 0}.performance-stage.is-invitation .performance-visual:before{transform:rotate(-4deg) translate(-14px)}.performance-stage.is-invitation .performance-visual:after{transform:rotate(4deg) translate(14px)}.performance-spotlight{position:absolute;z-index:0;top:-16%;left:50%;width:68%;height:90%;opacity:.82;transform:translate(-50%) scaleX(.92);clip-path:polygon(39% 0,61% 0,100% 100%,0 100%);background:linear-gradient(#ffffff4d,#fff6ca14);transition:opacity .32s ease,transform .32s cubic-bezier(.16,1,.3,1)}.performance-stage.is-invitation .performance-spotlight{opacity:1;transform:translate(-50%) scaleX(1.08)}.performance-character-wrap{position:absolute;z-index:3;inset:40px 0 29px;display:grid;align-items:end;justify-items:center}.performance-lily{display:block;width:300px;height:450px;transform-origin:50% 88%;filter:drop-shadow(0 24px 20px rgba(44,24,54,.3))}.performance-lily img{display:block;width:100%;height:100%;object-fit:contain}.performance-floor{position:absolute;z-index:1;left:-9%;bottom:-12%;width:118%;height:34%;border-radius:50%;background:radial-gradient(ellipse,#fff4e5,#d7b7ca 70%);box-shadow:0 -14px 42px #41294e33}.performance-sparkle{position:absolute;z-index:4;color:#f5d98d;filter:drop-shadow(0 4px 7px rgba(85,57,17,.2))}.performance-sparkle.sparkle-a{top:19%;left:18%}.performance-sparkle.sparkle-b{top:31%;right:18%}.performance-story{align-self:center;padding:50px 52px}.performance-status{margin-bottom:13px;color:var(--gold);font-size:9px;font-weight:780;letter-spacing:.11em;text-transform:uppercase}.performance-story h2{margin-bottom:14px;font-size:41px;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}.performance-story-content>p:not(.performance-status){max-width:430px;margin-bottom:23px;color:var(--text-soft);font-size:13px;line-height:1.65;text-wrap:pretty}.performance-invitation{display:flex;align-items:center;gap:13px;margin:0 0 24px;padding:15px;border-radius:16px;color:#6f5523;background:var(--gold-soft)}.invitation-icon{width:50px;height:50px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#ffffff61}.performance-invitation strong,.performance-invitation small{display:block}.performance-invitation strong{font-size:12px}.performance-invitation small{margin-top:4px;font-size:10px;line-height:1.45}.performance-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.performance-actions .primary-button,.performance-actions .secondary-button{min-height:46px}.level-up-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow-y:auto;padding:18px;background:#271b318a;backdrop-filter:blur(14px)}.level-up-card{width:min(790px,100%);min-height:490px;position:relative;display:grid;grid-template-columns:.94fr 1.06fr;overflow:hidden;border:1px solid rgba(255,255,255,.86);border-radius:34px;background:linear-gradient(135deg,#f4e7f5 0 47%,#fffdfd 47% 100%);box-shadow:0 38px 110px #24143057}.level-up-art{min-height:490px;position:relative;display:grid;place-items:end center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 37%,rgba(255,255,255,.92),transparent 30%),linear-gradient(155deg,#d9c6ec,#b99bcf)}.level-up-art:before,.level-up-art:after{content:"";position:absolute;z-index:-1;width:240px;height:420px;top:13%;border:1px solid rgba(255,255,255,.3);border-radius:50% 50% 0 0}.level-up-art:before{left:-35%;transform:rotate(-10deg)}.level-up-art:after{right:-35%;transform:rotate(10deg)}.level-up-halo{position:absolute;z-index:-1;top:13%;left:50%;width:250px;aspect-ratio:1;border-radius:50%;transform:translate(-50%);background:radial-gradient(circle,rgba(255,244,193,.78),rgba(255,255,255,.3) 42%,transparent 70%)}.level-up-lily{display:block;width:300px;height:450px;margin-bottom:-7px;filter:drop-shadow(0 24px 20px rgba(72,43,91,.2))}.level-up-lily img{display:block;width:100%;height:100%;object-fit:contain}.level-up-sparkle{position:absolute;color:#f7dfa0;filter:drop-shadow(0 4px 7px rgba(111,79,28,.18))}.level-up-sparkle.sparkle-a{top:17%;left:14%}.level-up-sparkle.sparkle-b{top:31%;right:12%}.level-up-sparkle.sparkle-c{top:10%;right:24%}.level-up-copy{position:relative;z-index:2;align-self:center;padding:48px 54px 48px 45px}.level-up-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:17px;color:#8a682d;font-size:9px;font-weight:780;letter-spacing:.13em;text-transform:uppercase}.level-up-kicker svg{color:var(--gold)}.level-up-copy h2{margin-bottom:9px;font-size:clamp(48px,7vw,72px);line-height:.95;letter-spacing:-.06em}.level-up-copy>strong{display:block;color:var(--accent);font-size:17px}.level-up-copy p{max-width:310px;margin:17px 0 26px;color:var(--text-soft);font-size:13px;line-height:1.65}.level-up-copy .primary-button{min-width:154px}.level-up-number{position:absolute;right:-13px;bottom:-39px;color:#7755a60e;font-size:210px;font-weight:820;line-height:1;letter-spacing:-.1em;pointer-events:none}@media(prefers-color-scheme:dark){:root{--page: #17121d;--surface: #241c2c;--surface-soft: #30263a;--surface-strong: #513e68;--text: #f2eaf4;--text-soft: #c0b3c6;--accent: #bd9cdb;--accent-strong: #8060a7;--accent-soft: #3b2d48;--rose-soft: #482c3b;--gold-soft: #493b25;--line: rgba(238,225,243,.12);--shadow: 0 28px 80px rgba(0,0,0,.28);--shadow-soft: 0 14px 40px rgba(0,0,0,.2)}.app-background{background:radial-gradient(circle at 12% 2%,rgba(119,70,102,.32),transparent 28rem),radial-gradient(circle at 92% 13%,rgba(83,61,115,.42),transparent 29rem),var(--page)}.hero-section{border-color:#ffffff14;background:linear-gradient(118deg,var(--surface) 0 48%,#4a3859 48% 100%)}.desktop-nav,.guest-chip,.progress-panel{border-color:#ffffff1a}.hero-note{background:#1f1726b3;border-color:#ffffff24}.hero-note small{color:var(--text-soft)}.training-tile{background:linear-gradient(150deg,#4a3858,#62466e)}.wardrobe-tile{background:linear-gradient(145deg,#4c2f3d,#684052)}.achievement-tile{background:linear-gradient(145deg,#3b3045,#513b5f)}.reward-tile{background:linear-gradient(145deg,#4d412d,#675636)}.tone-lavender{background:#33283c}.tone-rose{background:#3b2731}.tone-gold{background:#3d3423}.tone-plum{background:#302735}.answer-grid button.correct{color:#c7e0b2;background:#26351f}.answer-grid button.wrong{color:#f0b4ca;background:#472638}.memory-grid button.is-matched .card-front{color:#c7e0b2;background:#26351f}.memory-grid button.is-mismatch .card-front{color:#f0b4ca;background:#472638}.lily-greeting-bubble,.game-result-moment{background:color-mix(in srgb,var(--surface) 94%,transparent)}.session-gate{border-color:#ffffff1a;background:radial-gradient(circle at 50% 35%,rgba(112,79,137,.2),transparent 32%),linear-gradient(145deg,#30253a,#211a28 62%,#30232d)}.public-account-gate{background:radial-gradient(circle at 16% 16%,rgba(108,76,132,.24),transparent 28%),linear-gradient(136deg,#30253a 0 50%,#241c2c 50% 100%)}.public-account-card{border-color:#ffffff1a}.public-account-school-card{border-color:#ffffff1f;background:#ffffff0f}.public-account-highlights span{color:#efd68f;border-color:#efd68f2e;background:linear-gradient(145deg,#463a25,#332b1d)}.public-account-highlights b{color:#ffe7a6}.public-account-error{color:#f0b4ca;background:#472638}.performance-invitation{color:#f0d999}.level-up-card{border-color:#ffffff1f;background:linear-gradient(135deg,#3d2e49 0 47%,var(--surface) 47% 100%)}.level-up-kicker{color:#e3c87c}.level-up-number{color:#bd9cdb0f}.daily-contest-limit-card{border-color:#ffffff1f}.daily-limit-points{color:#efd68f}}@media(max-width:980px){.desktop-nav{display:none}.topbar{grid-template-columns:1fr auto}.hero-section{grid-template-columns:1fr .82fr}.hero-copy{padding:42px 28px 42px 40px}.hero-copy h1{font-size:48px}.public-account-gate{grid-template-columns:1fr}.public-account-copy{padding:6px 4px 0;text-align:center;justify-items:center}.public-account-student-actions,.public-account-demo-actions{justify-content:center}.public-account-school-card{justify-items:center}.academy-grid{grid-template-columns:1fr 1fr}.training-tile{grid-row:span 1;min-height:210px}.training-tile .tile-icon{width:49px;height:49px}.training-tile strong{font-size:20px}.session-note{grid-column:1/-1}.games-grid{grid-template-columns:1fr}.game-card{min-height:190px}.performance-stage{grid-template-columns:1fr 1fr}.performance-story{padding:42px 34px}}@media(max-width:720px){.app-shell{width:min(100% - 22px,1180px);padding-top:9px}.topbar{height:59px;gap:10px;margin-bottom:13px}.topbar-actions{gap:3px}.sound-toggle{width:38px;height:38px}.guest-chip span{display:none}.guest-chip{padding:5px;border:0;background:transparent}.brand-logo{width:126px}.brand-logo-fallback{min-height:32px;font-size:16px}.brand-seal{width:40px;height:40px}.hero-section{min-height:680px;grid-template-columns:1fr;grid-template-rows:auto 350px;border-radius:25px;background:var(--surface)}.hero-copy{align-self:start;padding:35px 24px 27px}.hero-copy h1{max-width:520px;font-size:clamp(41px,12vw,54px)}.hero-copy>p:not(.section-label){font-size:14px}.lily-scene.hero{min-height:350px}.lily-scene.hero .lily-figure{--lily-scale: .9}.hero-note{right:14px;bottom:13px}.public-account-gate{min-height:0;gap:18px;padding:22px 14px;border-radius:25px}.public-account-copy .session-gate-orbit{width:62px;height:62px;font-size:15px}.public-account-copy h1{font-size:clamp(34px,10vw,46px)}.public-account-copy p{font-size:12px}.public-account-highlights{grid-template-columns:1fr}.public-account-highlights span{min-height:0;grid-template-columns:auto 1fr;align-items:center;gap:8px;text-align:left}.public-account-card{padding:15px;border-radius:22px}.public-account-fields input{font-size:16px}.progress-panel{grid-template-columns:auto 1fr;padding:15px;gap:12px}.points-value{grid-column:1/-1;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}.video-access{margin-top:22px}.video-access-summary{align-items:flex-start;flex-direction:column;gap:14px;padding:18px}.video-access-grid,.video-lesson-list{grid-template-columns:1fr}.video-access-card{min-height:270px;padding:23px}.video-access-card>svg{margin-bottom:24px}.video-access-card h2{font-size:25px}.video-lesson-card{min-height:185px;padding:18px}.academy-section{padding-top:44px}.academy-grid{grid-template-columns:1fr}.academy-tile{min-height:155px}.training-tile{min-height:190px}.session-note{grid-column:auto}.page-intro{padding-top:15px}.page-intro h1{font-size:42px}.game-card{grid-template-columns:105px 1fr;gap:14px}.game-card-arrow{display:none}.game-card-art{min-height:145px}.wardrobe-layout{grid-template-columns:1fr}.lily-scene.wardrobe{position:relative;top:auto;min-height:430px}.outfit-option{min-height:100px;grid-template-columns:70px 1fr auto}.outfit-swatch{width:65px}.music-credit-panel{padding:22px 17px 20px}.music-credit-programme li{grid-template-columns:30px minmax(0,1fr)}.music-credit-programme em{grid-column:2;text-align:left}.music-credit-panel:after{opacity:.65}.achievement-row{grid-template-columns:42px 58px 1fr;padding:20px 14px;gap:10px}.achievement-row>svg{grid-column:3}.achievement-medal{width:54px;height:54px}.rewards-grid{grid-template-columns:1fr}.reward-card:first-child,.reward-card:last-child{grid-column:auto}.reward-card{grid-template-columns:70px 1fr;padding:22px 16px}.reward-icon{width:64px;height:64px}.game-page-header{grid-template-columns:1fr auto}.game-page-header>div{grid-row:2;grid-column:1/-1;text-align:left}.game-page-header .completion-chip{grid-column:2}.game-surface{min-height:520px;padding:18px 12px;border-radius:24px}.dress-game{grid-template-columns:1fr}.dress-game .lily-scene.wardrobe{min-height:365px}.dance-controls{grid-template-columns:repeat(3,1fr)}.dance-character-stage{top:clamp(14px,5vw,30px);width:auto;height:clamp(135px,31vw,185px);aspect-ratio:2 / 3}.dance-studio-title{top:10px}.dance-pad{width:60px;height:40px}.dance-pad small{display:none}.memory-grid{gap:7px}.memory-grid button{border-radius:12px}.game-result-moment{inset:10px 10px auto;width:calc(100% - 20px);grid-template-columns:82px 1fr;min-height:104px;padding:8px 12px 8px 8px}.game-result-art{width:78px;height:88px}.game-result-lily{width:58px;height:87px}.game-result-copy strong{font-size:21px}.performance-page{padding-top:15px}.performance-page-header{grid-template-columns:1fr auto;align-items:center}.performance-page-header .back-button{justify-self:start}.performance-heading{grid-row:2;grid-column:1/-1;text-align:left}.performance-heading h1{font-size:42px}.performance-steps{grid-column:2}.performance-stage{min-height:0;grid-template-columns:1fr;border-radius:24px}.performance-visual{min-height:410px}.performance-character-wrap{top:28px}.performance-lily{width:250px;height:375px}.performance-story{padding:32px 27px 35px}.performance-story h2{font-size:34px}.performance-actions .primary-button,.performance-actions .secondary-button{flex:1 1 210px}.level-up-overlay{padding:11px}.level-up-card{width:min(520px,100%);min-height:0;grid-template-columns:1fr;border-radius:27px;background:var(--surface)}.level-up-art{min-height:300px}.level-up-lily{width:210px;height:315px;margin-bottom:-9px}.level-up-halo{width:190px;top:9%}.level-up-copy{padding:29px 27px 32px;text-align:center}.level-up-copy h2{font-size:51px}.level-up-copy p{max-width:360px;margin:13px auto 21px}.level-up-copy .primary-button{width:100%}.level-up-kicker{margin-bottom:12px}.level-up-number{right:-7px;bottom:-25px;font-size:130px}.daily-contest-limit{padding:11px}.daily-contest-limit-card{width:min(500px,100%);min-height:0;grid-template-columns:1fr;border-radius:25px}.daily-contest-limit-art{min-height:235px}.daily-limit-lily{width:160px;height:240px}.daily-limit-moon{top:16px;right:18px}.daily-contest-limit-copy{padding:27px 24px 29px;text-align:center}.daily-contest-limit-copy h2{font-size:35px}.daily-limit-points{margin-bottom:16px}.daily-limit-actions{grid-template-columns:1fr}.daily-limit-actions .primary-button,.daily-limit-actions .secondary-button{width:100%}}@media(max-width:430px){.brand-logo{width:112px}.brand-logo-fallback{font-size:15px}.brand-copy small{display:none}.brand-copy strong{font-size:12px}.hero-section{min-height:660px;grid-template-rows:auto 330px}.hero-copy h1{font-size:40px}.hero-copy{padding:30px 20px 22px}.public-account-gate{padding:18px 11px}.public-account-fields{grid-template-columns:1fr}.public-account-tabs button{font-size:10px}.public-account-student-actions .primary-button,.public-account-student-actions .secondary-button,.public-account-demo-actions .secondary-button{width:100%}.level-stamp{width:57px;height:57px;padding:8px}.level-stamp span{font-size:19px}.progress-copy>div:first-child span{display:none}.game-card{grid-template-columns:86px 1fr;padding:13px}.game-card-art{min-height:125px}.game-card-copy strong{font-size:16px}.answer-grid{grid-template-columns:1fr}.answer-grid .pose-answer-card{grid-template-columns:62px minmax(0,1fr) auto;min-height:82px}.pose-option-visual{width:58px;height:68px}.memory-grid{grid-template-columns:repeat(4,1fr)}.card-front svg{width:28px}.mini-outfits{grid-template-columns:1fr}.mini-outfits button{min-height:64px;grid-template-columns:44px 1fr;justify-items:start}.music-credit-heading{gap:10px}.music-credit-heading h2{font-size:18px}.music-credit-icon{width:40px;height:40px}.music-credit-programme li{grid-template-columns:26px minmax(0,1fr);gap:8px}.music-credit-number{font-size:8px}.dance-controls button{min-height:54px;flex-direction:column;gap:3px;padding:5px 3px;font-size:9px}.dance-controls button span{width:21px;height:21px}.dance-sequence-rail ol{gap:4px;padding:5px}.dance-sequence-rail li{grid-template-columns:1fr;justify-items:center;padding:5px 2px}.dance-beat-label{font-size:8px}.performance-page-header{grid-template-columns:1fr}.performance-page-header .back-button,.performance-heading,.performance-steps{grid-row:auto;grid-column:auto}.performance-steps{justify-self:stretch}.performance-steps li{flex:1;justify-content:center}.performance-visual{min-height:345px}.performance-lily{width:210px;height:315px}.performance-character-wrap{inset:22px 0 20px}.performance-story{padding:28px 20px 30px}.performance-story h2{font-size:31px}.performance-actions{flex-direction:column;align-items:stretch}.performance-actions .primary-button,.performance-actions .secondary-button{width:100%;flex-basis:auto}}@media(prefers-reduced-motion:no-preference){.lily-figure{animation:lily-float 3.6s ease-in-out infinite}.lily-tap-burst i{animation:lily-tap-spark .62s cubic-bezier(.16,1,.3,1) both}.lily-tap-burst .burst-b{animation-delay:.03s}.lily-tap-burst .burst-c{animation-delay:.06s}.lily-tap-burst .burst-d{animation-delay:.09s}.lily-tap-burst .burst-e{animation-delay:.12s}.scene-sparkle{animation:sparkle-pulse 2.4s ease-in-out infinite}.sparkle-two{animation-delay:.8s}.scene-mote{animation:mote-drift 4.8s ease-in-out infinite}.mote-two{animation-delay:1.6s}.mote-three{animation-delay:3s}.lily-scene:before{animation:curtain-breathe-left 7s ease-in-out infinite}.lily-scene:after{animation:curtain-breathe-right 7s ease-in-out -2.4s infinite}.stage-ellipse{animation:stage-breathe 4.5s ease-in-out infinite}.hero-note svg{animation:note-sway 2.8s ease-in-out infinite;transform-origin:50% 80%}.lily-figure.is-celebrating{animation:lily-celebrate .75s cubic-bezier(.16,1,.3,1) 2}.lily-figure.is-greeting{animation:lily-greet .48s cubic-bezier(.16,1,.3,1)}.pose-stage.is-correct .pose-character{animation:lily-answer-pop .55s cubic-bezier(.16,1,.3,1)}.pose-stage.is-wrong .stage-ring{animation:pose-nudge .28s cubic-bezier(.22,1,.36,1)}.memory-grid button.is-open.is-matched{animation:memory-match .42s cubic-bezier(.16,1,.3,1)}.completion-chip.complete{animation:completion-settle .38s cubic-bezier(.16,1,.3,1)}.dance-character{animation:lily-dance-breathe 2.8s ease-in-out infinite}.dance-character-stage.move-plie{animation:dance-move-plie .36s cubic-bezier(.16,1,.3,1)}.dance-character-stage.move-step{animation:dance-move-step .36s cubic-bezier(.16,1,.3,1)}.dance-character-stage.move-turn{animation:dance-move-turn .4s cubic-bezier(.16,1,.3,1)}.dance-character-stage[class*=move-] .dance-motion-ring{animation:dance-ring .42s cubic-bezier(.16,1,.3,1)}.dance-sequence-rail li.is-active .dance-beat-number{animation:dance-beat-pulse .32s cubic-bezier(.16,1,.3,1)}.performance-stage.is-dance .performance-lily{animation:performance-dance 2.8s ease-in-out infinite}.performance-stage.is-invitation .performance-lily{animation:performance-celebrate .72s cubic-bezier(.16,1,.3,1) both}.performance-sparkle{animation:performance-sparkle 1.8s ease-in-out infinite}.performance-sparkle.sparkle-b{animation-delay:.55s}.level-up-lily{animation:lily-level-up 2s cubic-bezier(.16,1,.3,1) both}.level-up-sparkle{animation:level-up-sparkle 1.7s ease-in-out infinite}.level-up-sparkle.sparkle-b{animation-delay:.35s}.level-up-sparkle.sparkle-c{animation-delay:.7s}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.game-result-spark{display:none}}@media(max-width:720px)and (prefers-reduced-motion:no-preference){.scene-mote{display:none}.lily-scene:before,.lily-scene:after,.stage-ellipse,.scene-sparkle,.hero-note svg,.level-up-sparkle{animation:none}}@keyframes lily-float{50%{transform:translateY(-8px) rotate(1deg) scale(var(--lily-scale))}}@keyframes avatar-progress-spin{to{transform:rotate(360deg)}}@keyframes session-orbit{50%{transform:translateY(-7px) rotate(2deg);box-shadow:0 22px 44px #5c3d7747}}@keyframes lily-tap-spark{0%{opacity:0;transform:rotate(45deg) scale(.45)}28%{opacity:1}to{opacity:0;transform:translate3d(var(--burst-x),var(--burst-y),0) rotate(82deg) scale(.9)}}@keyframes sparkle-pulse{50%{opacity:.35;transform:scale(.8) rotate(12deg)}}@keyframes mote-drift{0%,to{opacity:0;transform:translate3d(0,10px,0) scale(.65)}28%,72%{opacity:.72}50%{opacity:.38;transform:translate3d(10px,-18px,0) scale(1)}}@keyframes curtain-breathe-left{0%,to{transform:rotate(-5deg) translate(0)}50%{transform:rotate(-4deg) translate(5px)}}@keyframes curtain-breathe-right{0%,to{transform:rotate(5deg) translate(0)}50%{transform:rotate(4deg) translate(-5px)}}@keyframes stage-breathe{50%{transform:scale(1.012,.985);opacity:.92}}@keyframes note-sway{50%{transform:rotate(8deg) translateY(-2px)}}@keyframes lily-celebrate{45%{transform:translateY(-16px) scale(var(--lily-scale)) scale(1.03)}}@keyframes lily-greet{42%{transform:translateY(-8px) rotate(-1.2deg) scale(var(--lily-scale))}}@keyframes pose-nudge{35%{transform:translate(-5px)}70%{transform:translate(4px)}}@keyframes memory-match{50%{transform:rotateY(180deg) scale(1.045)}}@keyframes completion-settle{0%{transform:scale(.96)}55%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes lily-answer-pop{0%{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes lily-dance-breathe{50%{transform:translateY(-4px) rotate(.6deg)}}@keyframes dance-move-plie{0%,to{transform:translate(-50%)}48%{transform:translate(-50%) translateY(8px) scale(1.025,.96)}}@keyframes dance-move-step{0%,to{transform:translate(-50%)}50%{transform:translate(-50%) translate(9px) rotate(1.5deg)}}@keyframes dance-move-turn{0%,to{transform:translate(-50%)}38%{transform:translate(-50%) rotate(-2.2deg) scaleX(.96)}72%{transform:translate(-50%) rotate(2deg)}}@keyframes dance-ring{0%{opacity:0;transform:translate(-50%) scale(.72)}35%{opacity:.82}to{opacity:0;transform:translate(-50%) scale(1.18)}}@keyframes dance-beat-pulse{50%{transform:scale(1.12);filter:brightness(1.08)}}@keyframes performance-dance{50%{transform:translateY(-7px) rotate(1deg)}}@keyframes performance-celebrate{0%{opacity:0;transform:translateY(14px) scale(.95)}60%{transform:translateY(-5px) scale(1.015)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes performance-sparkle{50%{opacity:.38;transform:scale(.78) rotate(16deg)}}@keyframes lily-level-up{0%{opacity:0;transform:translateY(22px) scale(.93)}55%{transform:translateY(-5px) scale(1.018)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes level-up-sparkle{50%{opacity:.36;transform:scale(.75) rotate(18deg)}}.onboarding-stage{position:relative;min-height:calc(100dvh - 36px);display:grid;place-items:center;isolation:isolate;padding:28px 0 44px}.onboarding-curtain{position:absolute;z-index:-1;top:-18%;bottom:-12%;width:38%;opacity:.72;background:linear-gradient(90deg,#5f3d7e,#9a72b1 52%,#6c4888);filter:drop-shadow(0 30px 40px rgba(72,43,91,.22))}.onboarding-curtain:after{content:"";position:absolute;inset:0;opacity:.32;background:repeating-linear-gradient(90deg,transparent 0 17%,rgba(255,255,255,.24) 20%,rgba(43,24,59,.2) 26%,transparent 31%)}.onboarding-curtain-left{left:-19%;border-radius:0 0 80%;transform:rotate(-5deg)}.onboarding-curtain-right{right:-19%;border-radius:0 0 0 80%;transform:rotate(5deg)}.onboarding-card{width:min(1040px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:32px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 35px 100px #442a5633;backdrop-filter:blur(24px)}.onboarding-header{min-height:210px;position:relative;display:grid;grid-template-columns:1fr 250px;align-items:center;overflow:hidden;padding:38px 44px 32px;background:linear-gradient(118deg,var(--surface) 0 66%,#d5c2e8 66% 100%)}.onboarding-header>div:first-child{position:relative;z-index:2;max-width:650px}.onboarding-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:13px;color:var(--accent);font-size:9px;font-weight:780;letter-spacing:.13em;text-transform:uppercase}.onboarding-kicker svg{color:var(--gold)}.onboarding-header h1{max-width:680px;margin-bottom:13px;font-size:clamp(34px,4.6vw,54px);line-height:1;letter-spacing:-.045em;text-wrap:balance}.onboarding-header p{max-width:610px;margin:0;color:var(--text-soft);font-size:13px;line-height:1.65}.onboarding-lily{position:absolute;top:7px;right:30px;width:180px;height:270px;filter:drop-shadow(0 18px 16px rgba(72,43,91,.18))}.onboarding-lily img{width:100%;height:100%;object-fit:contain}.onboarding-steps{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0 44px;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent)}.onboarding-steps li{position:relative;display:flex;align-items:center;gap:9px;padding:15px 0;color:var(--text-soft)}.onboarding-steps li:not(:last-child):after{content:"";position:absolute;top:50%;right:18px;width:calc(100% - 110px);height:1px;background:var(--line)}.onboarding-steps li>span{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:50%;font-size:8px;font-weight:780}.onboarding-steps li small{font-size:10px;font-weight:670}.onboarding-steps li.is-current{color:var(--accent-strong)}.onboarding-steps li.is-current>span{border-color:var(--accent);color:#fff;background:var(--accent);box-shadow:0 7px 18px #5c3d8738}.onboarding-steps li.is-done>span{border-color:#78915d;color:#fff;background:#78915d}.onboarding-panel{min-height:345px;padding:34px 44px 24px}.onboarding-form-section{height:100%}.onboarding-panel-heading{display:flex;align-items:flex-start;gap:17px;margin-bottom:25px}.onboarding-panel-heading>span{flex:0 0 auto;padding:6px 9px;border-radius:999px;color:#765b24;background:var(--gold-soft);font-size:8px;font-weight:780;letter-spacing:.1em;text-transform:uppercase}.onboarding-panel-heading h2{margin:0 0 5px;font-size:25px;letter-spacing:-.035em}.onboarding-panel-heading p{margin:0;color:var(--text-soft);font-size:11px;line-height:1.55}.onboarding-field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.onboarding-field-grid label{display:flex;flex-direction:column;gap:7px}.onboarding-field-grid .field-wide{grid-column:1/-1}.onboarding-field-grid label>span{padding-left:2px;font-size:9px;font-weight:720;letter-spacing:.02em}.onboarding-field-grid label em{color:var(--text-soft);font-size:8px;font-style:normal;font-weight:550}.onboarding-field-grid input,.onboarding-field-grid select{width:100%;min-height:49px;border:1px solid var(--line);border-radius:15px;padding:11px 14px;color:var(--text);background:var(--surface);font:inherit;font-size:13px;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.onboarding-field-grid input:focus,.onboarding-field-grid select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.onboarding-field-grid input::placeholder{color:color-mix(in srgb,var(--text-soft) 65%,transparent)}.onboarding-why{display:flex;align-items:flex-start;gap:10px;margin:19px 0 0;padding:13px 15px;border-radius:15px;color:var(--text-soft);background:var(--surface-soft);font-size:10px;line-height:1.55}.onboarding-why svg{flex:0 0 auto;color:var(--accent)}.onboarding-why strong{display:block;margin-bottom:2px;color:var(--text)}.onboarding-consent-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.onboarding-consents{display:flex;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;border:0}.onboarding-consents:disabled{opacity:.72}.onboarding-consent{position:relative;display:grid;grid-template-columns:22px 1fr;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);cursor:pointer}.onboarding-consent>input{position:absolute;opacity:0;pointer-events:none}.onboarding-checkbox{width:22px;height:22px;display:grid;place-items:center;border:1.5px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:7px;color:#fff}.onboarding-consent>input:checked+.onboarding-checkbox{border-color:var(--accent);background:var(--accent)}.onboarding-consent>input:focus-visible+.onboarding-checkbox{outline:3px solid var(--focus);outline-offset:3px}.onboarding-consent>span:last-child{color:var(--text-soft);font-size:14px;line-height:1.55}.onboarding-consent a{color:var(--accent-strong);font-weight:700}.onboarding-consent em{display:inline-block;margin-left:4px;color:var(--accent);font-size:11px;font-style:normal;font-weight:760;letter-spacing:.04em;text-transform:uppercase}.onboarding-consent.is-compact{grid-template-columns:19px 1fr;padding:9px}.onboarding-consent.is-compact .onboarding-checkbox{width:19px;height:19px}.onboarding-no-billing{display:flex;align-items:flex-start;gap:9px;margin:2px 0 0;padding:11px 13px;border-radius:14px;color:var(--text-soft);background:var(--surface-soft);font-size:13px;line-height:1.5}.onboarding-no-billing svg{flex:0 0 auto;color:var(--accent)}.onboarding-footer{min-height:82px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:17px 44px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 55%,var(--surface))}.onboarding-footer>div:first-child>small{color:var(--text-soft);font-size:12px}.onboarding-error{max-width:520px;margin:0;color:#9c3d5f;font-size:13px;font-weight:670;line-height:1.45}.onboarding-actions{display:flex;gap:9px}.learning-tile{background:linear-gradient(145deg,#e7e8f7,#c9cbe9)}.learning-tile.is-locked{opacity:.72;filter:saturate(.65)}.learning-summary{display:grid;grid-template-columns:repeat(3,auto) 1fr;align-items:center;gap:24px;margin-bottom:16px;padding:16px 20px;border:1px solid rgba(255,255,255,.72);border-radius:21px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:var(--shadow-soft)}.learning-summary>div{display:flex;align-items:center;gap:9px}.learning-summary svg{color:var(--accent)}.learning-summary small,.learning-summary strong{display:block}.learning-summary small{color:var(--text-soft);font-size:8px;text-transform:uppercase;letter-spacing:.07em}.learning-summary strong{margin-top:2px;font-size:13px}.learning-summary>p{justify-self:end;margin:0;color:var(--text-soft);font-size:10px}.learning-summary>p strong{display:inline;color:var(--text)}.learning-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:16px}.learning-player-card{overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:27px;background:var(--surface);box-shadow:var(--shadow-soft)}.learning-player{aspect-ratio:16/9;overflow:hidden;background:#271e30}.learning-player iframe{width:100%;height:100%;border:0}.learning-player-placeholder{min-height:100%;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;color:#d7c4ea;text-align:center;background:radial-gradient(circle at 50% 38%,rgba(184,147,211,.27),transparent 28%),linear-gradient(145deg,#4a365b,#2d2237)}.learning-player-placeholder strong{color:#fff;font-size:19px}.learning-player-placeholder p{max-width:420px;margin:0;color:#d8cde0;font-size:14px;line-height:1.55}.learning-player-copy{padding:23px 25px 25px}.learning-player-copy>span{display:inline-block;margin-bottom:8px;padding:5px 8px;border-radius:999px;color:#755b25;background:var(--gold-soft);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.learning-player-copy h2{margin-bottom:8px;font-size:26px;letter-spacing:-.035em}.learning-player-copy p{margin-bottom:13px;color:var(--text-soft);font-size:15px;line-height:1.6}.learning-player-copy small{color:var(--text-soft);font-size:12px}.learning-lesson-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.learning-lesson-list>li{margin:0}.learning-lesson{width:100%;min-height:104px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(255,255,255,.7);border-radius:20px;color:var(--text);background:color-mix(in srgb,var(--surface) 80%,transparent);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft)}.learning-lesson:hover:not(:disabled),.learning-lesson.is-selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-2px)}.learning-lesson:disabled{cursor:not-allowed;opacity:.62}.learning-lesson-number{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--accent-strong);background:var(--accent-soft);font-size:13px;font-weight:790}.learning-lesson small,.learning-lesson strong,.learning-lesson em{display:block}.learning-lesson small{margin-bottom:3px;color:var(--text-soft);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.learning-lesson strong{font-size:15px}.learning-lesson em{margin-top:5px;color:var(--text-soft);font-size:13px;line-height:1.4;font-style:normal}.learning-lesson>svg{color:var(--accent)}@media(prefers-color-scheme:dark){.onboarding-card{border-color:#ffffff1c}.onboarding-header{background:linear-gradient(118deg,var(--surface) 0 66%,#4a3859 66% 100%)}.learning-tile{background:linear-gradient(145deg,#313246,#454667)}}@media(max-width:820px){.onboarding-stage{padding-top:8px}.onboarding-card{border-radius:25px}.onboarding-header{grid-template-columns:1fr;min-height:190px;padding:30px 28px}.onboarding-header>div:first-child{max-width:calc(100% - 105px)}.onboarding-header h1{font-size:38px}.onboarding-lily{right:-10px;width:135px;height:203px}.onboarding-steps{padding:0 28px}.onboarding-steps li:not(:last-child):after{display:none}.onboarding-panel{min-height:390px;padding:28px}.onboarding-consent-layout{grid-template-columns:1fr}.onboarding-footer{padding:16px 28px}.learning-summary{grid-template-columns:repeat(3,1fr)}.learning-summary>p{grid-column:1/-1;justify-self:start}.learning-layout{grid-template-columns:1fr}}@media(max-width:560px){.onboarding-field-grid input,.onboarding-field-grid select{font-size:16px}.onboarding-stage{min-height:calc(100dvh - 18px);padding:0}.onboarding-curtain{display:none}.onboarding-card{border-radius:22px}.onboarding-header{min-height:174px;padding:24px 19px}.onboarding-header>div:first-child{max-width:calc(100% - 70px)}.onboarding-header h1{font-size:31px}.onboarding-header p{font-size:10px}.onboarding-lily{right:-28px;width:118px;height:177px}.onboarding-steps{padding:0 18px}.onboarding-steps li{gap:6px}.onboarding-steps li>span{width:25px;height:25px}.onboarding-steps li small{font-size:8px}.onboarding-panel{min-height:420px;padding:23px 18px 18px}.onboarding-panel-heading{gap:10px}.onboarding-field-grid{grid-template-columns:1fr}.onboarding-field-grid .field-wide{grid-column:auto}.onboarding-consent-layout{gap:13px}.onboarding-consent{padding:11px}.onboarding-footer{grid-template-columns:1fr;padding:14px 18px 18px}.onboarding-footer>div:first-child{min-height:15px}.onboarding-actions{display:grid;grid-template-columns:repeat(2,1fr)}.onboarding-actions .primary-button:only-child{grid-column:1/-1}.learning-summary{grid-template-columns:1fr;gap:10px}.learning-summary>p{grid-column:auto}.learning-player-copy{padding:20px 18px}}.tone-crystal{background:linear-gradient(145deg,#eefbff,#efe8ff)}.tone-crystal .game-card-art{background:linear-gradient(145deg,#6f5fa1,#83d7e8)}@media(prefers-color-scheme:dark){.tone-crystal{background:linear-gradient(145deg,#243747,#322c46)}}
