:root{--ink:#2d1b4e;--ink-soft:#6b5a8a;--card:#ffffffd1;--card-solid:#fff;--line:#2d1b4e1a;--pink:#ff6f91;--orange:#ff9671;--yellow:#ffc75f;--green:#9be15d;--teal:#00c9a7;--blue:#4d8af0;--violet:#845ec2;--radius:28px;--shadow:0 18px 50px -18px #49258259, 0 4px 14px -6px #4925822e;--font:"Fredoka", "Baloo 2", "Comic Sans MS", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:linear-gradient(160deg,#8ec5fc 0%,#c7b8ff 45%,#ffd1e8 100%) fixed;overflow-x:hidden}#bg3d{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}#app{z-index:1;min-height:100vh;position:relative}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}h1,h2,h3{margin:0;line-height:1.1}:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.glass{background:var(--card);-webkit-backdrop-filter:blur(14px)saturate(1.3);border-radius:var(--radius);box-shadow:var(--shadow);border:2px solid #ffffffb3}.btn{background:linear-gradient(135deg, var(--pink), var(--orange));color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:16px 28px;font-size:1.15rem;font-weight:600;transition:transform .12s,box-shadow .12s,filter .2s;display:inline-flex;box-shadow:0 8px #d64d74,0 14px 24px -8px #d64d7499}.btn:hover{filter:brightness(1.06);transform:translateY(-2px)}.btn:active{transform:translateY(6px);box-shadow:0 2px #d64d74}.btn:disabled{filter:grayscale(.6)opacity(.7);pointer-events:none}.btn.ghost{color:var(--ink);background:#ffffffb3;box-shadow:0 6px #2d1b4e26}.btn.ghost:active{box-shadow:0 1px #2d1b4e26}.btn.small{padding:10px 18px;font-size:1rem}.btn.danger{background:linear-gradient(135deg,#ff5e62,#ff2e63);box-shadow:0 6px #b8203f}.link{color:var(--violet);text-underline-offset:3px;font-weight:600;text-decoration:underline}.icon-btn{background:#ffffffbf;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.5rem;transition:transform .15s;display:grid;box-shadow:0 5px #2d1b4e1f}.icon-btn:hover{transform:scale(1.08)rotate(-4deg)}.muted{color:var(--ink-soft)}#toast{z-index:50;background:var(--ink);color:#fff;text-align:center;visibility:hidden;border-radius:999px;max-width:calc(100vw - 32px);padding:14px 22px;font-weight:500;transition:transform .35s cubic-bezier(.2,1.4,.4,1),visibility .35s;position:fixed;bottom:28px;left:50%;transform:translate(-50%,200%)}#toast.show{visibility:visible;transform:translate(-50%)}.view{animation:.5s cubic-bezier(.2,1.2,.4,1) both viewIn}@keyframes viewIn{0%{opacity:0;transform:translateY(24px)scale(.98)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.logo{letter-spacing:-.5px;align-items:center;gap:10px;font-size:1.6rem;font-weight:700;display:inline-flex}.logo .mark{background:conic-gradient(from 200deg, var(--pink), var(--yellow), var(--green), var(--blue), var(--violet), var(--pink));border-radius:14px;place-items:center;width:46px;height:46px;font-size:1.6rem;animation:4s ease-in-out infinite float;display:grid;box-shadow:0 5px #2d1b4e2e}.logo .word span:first-child{color:var(--pink)}.logo .word span:nth-child(2){color:var(--violet)}.center-screen{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{text-align:center;width:min(460px,100%);padding:40px 32px 32px}.auth-card .logo{margin-bottom:8px;font-size:2.2rem}.auth-card .logo .mark{border-radius:20px;width:64px;height:64px;font-size:2.2rem}.auth-card h2{margin:18px 0 6px;font-size:1.4rem}.auth-card p{color:var(--ink-soft);margin:0 0 22px}.field{background:#fff;border:3px solid #0000;border-radius:20px;outline:none;width:100%;padding:18px 22px;font-size:1.15rem;transition:border-color .2s;box-shadow:inset 0 2px 6px #2d1b4e14}.field:focus{border-color:var(--violet)}.auth-card .btn{width:100%;margin-top:18px}.auth-foot{color:var(--ink-soft);margin-top:20px;font-size:.95rem}.form-error{color:#e0245e;min-height:1.4em;margin-top:12px;font-weight:500}.code-boxes{justify-content:center;gap:8px;display:flex}.code-boxes input{text-align:center;background:#fff;border:3px solid #0000;border-radius:16px;outline:none;width:54px;height:68px;padding:0;font-size:2rem;font-weight:700;transition:border-color .15s,transform .15s;box-shadow:inset 0 2px 6px #2d1b4e14}.code-boxes input:focus{border-color:var(--pink);transform:translateY(-3px)}.code-boxes input.filled{border-color:var(--violet)}.shake{animation:.4s shake}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.profiles-screen{flex-direction:column;justify-content:center;align-items:center;gap:36px;min-height:100vh;padding:40px 16px;display:flex}.profiles-screen h1{color:#fff;text-shadow:0 4px #2d1b4e40;text-align:center;font-size:clamp(2.2rem,6vw,3.8rem)}.profiles-grid{flex-wrap:wrap;justify-content:center;gap:28px;max-width:980px;display:flex}.profile{flex-direction:column;align-items:center;gap:12px;width:150px;animation:.5s cubic-bezier(.2,1.4,.4,1) both pop;display:flex;position:relative}.profile .avatar{width:140px;height:140px;font-size:4.6rem}.profile .name{color:#fff;text-shadow:0 2px #2d1b4e4d;font-size:1.4rem;font-weight:600}.profile:hover .avatar,.profile:focus-visible .avatar{transform:translateY(-8px)scale(1.06);box-shadow:0 0 0 6px #fff,0 22px 40px -12px #2d1b4e80}.profile:hover .avatar .emoji{animation:.5s wiggle}.profile .edit-badge{background:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.3rem;display:grid;position:absolute;top:0;right:4px;box-shadow:0 4px 10px #0003}.profile.add .avatar{color:#fff;background:#ffffff59;border:4px dashed #ffffffe6;font-size:3.5rem}.avatar{background:var(--c,var(--pink));border-radius:34%;place-items:center;transition:transform .25s cubic-bezier(.2,1.4,.4,1),box-shadow .25s;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 4px #ffffffd9,0 14px 30px -12px #2d1b4e73}.avatar:after{content:"";background:radial-gradient(circle at 30% 20%,#ffffff8c,#0000 55%);position:absolute;inset:0}.avatar .emoji{z-index:1;line-height:1;position:relative}.profiles-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2d1b4e73;place-items:center;padding:16px;animation:.2s both fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--card-solid);border-radius:var(--radius);width:min(520px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);padding:30px 26px;animation:.4s cubic-bezier(.2,1.4,.4,1) both pop;overflow:auto}.modal h2{text-align:center;margin-bottom:18px;font-size:1.7rem}.modal .preview{justify-content:center;margin-bottom:18px;display:flex}.modal .preview .avatar{width:120px;height:120px;font-size:4rem}.modal label{margin:18px 0 10px;font-weight:600;display:block}.pick-grid{grid-template-columns:repeat(8,1fr);gap:8px;display:grid}.pick-grid button{aspect-ratio:1;background:#f4effb;border-radius:14px;font-size:1.6rem;transition:transform .15s}.pick-grid button:hover{transform:scale(1.1)}.pick-grid button.on{box-shadow:0 0 0 3px var(--violet);background:#fff;transform:scale(1.08)}.pick-grid.colors button{border-radius:50%}.pick-grid.colors button.on{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--ink)}.modal-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:26px;display:flex}.modal-actions .grow{flex:1}.shell{max-width:1180px;margin:0 auto;padding:18px 20px 60px}.topbar{z-index:10;align-items:center;gap:14px;margin-bottom:26px;padding:10px 12px 10px 18px;display:flex;position:sticky;top:12px}.topbar .spacer{flex:1}.tabs{background:#2d1b4e0f;border-radius:999px;gap:6px;padding:5px;display:flex}.tabs button{color:var(--ink-soft);border-radius:999px;padding:10px 20px;font-size:1.05rem;font-weight:600;transition:background .2s}.tabs button.on{color:var(--ink);background:#fff;box-shadow:0 3px 10px #2d1b4e1f}.player-chip{background:#fffc;border-radius:999px;align-items:center;gap:10px;padding:5px 16px 5px 5px;font-size:1.05rem;font-weight:600;transition:transform .15s;display:flex}.player-chip:hover{transform:scale(1.04)}.player-chip .avatar{width:42px;height:42px;box-shadow:none;border-radius:50%;font-size:1.5rem}.hero{grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:30px;display:grid}.hello{align-items:center;gap:22px;padding:30px;display:flex;position:relative;overflow:hidden}.hello .avatar{flex-shrink:0;width:110px;height:110px;font-size:3.8rem}.hello h1{font-size:clamp(1.9rem,4vw,2.8rem)}.hello p{color:var(--ink-soft);margin:8px 0 0;font-size:1.15rem}.streak{color:#b4610b;background:#fff3d6;border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;font-weight:600;display:inline-flex}.stats{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.stat{flex-direction:column;gap:4px;padding:18px 20px;display:flex}.stat .ico{font-size:1.8rem}.stat .val{font-size:1.9rem;font-weight:700;line-height:1}.stat .lbl{color:var(--ink-soft);font-weight:500}.section-title{justify-content:space-between;align-items:baseline;gap:12px;margin:34px 0 16px;display:flex}.section-title h2{color:#fff;text-shadow:0 3px #2d1b4e33;font-size:1.8rem}.games{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.game-card{border-radius:var(--radius);text-align:left;box-shadow:var(--shadow);background:#fff;flex-direction:column;transition:transform .3s cubic-bezier(.2,1.4,.4,1),box-shadow .3s;animation:.55s cubic-bezier(.2,1.4,.4,1) both pop;display:flex;position:relative;overflow:hidden}.game-card:hover{transform:translateY(-8px)rotate(-.6deg);box-shadow:0 30px 60px -20px #49258280}.game-card .art{background:linear-gradient(135deg, var(--g1), var(--g2));place-items:center;height:190px;font-size:6rem;display:grid;position:relative}.game-card .art:before{content:"";opacity:.25;background-image:radial-gradient(circle,#fff 2px,#0000 2.5px);background-size:26px 26px;position:absolute;inset:0}.game-card .art .emoji{filter:drop-shadow(0 10px 12px #00000040);transition:transform .4s cubic-bezier(.2,1.4,.4,1);position:relative}.game-card:hover .art .emoji{transform:scale(1.15)rotate(-8deg)}.game-card .kind{background:#ffffffe6;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:700;position:absolute;top:14px;left:14px}.game-card .soon{background:var(--ink);color:#fff;border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600;position:absolute;top:14px;right:14px}.game-card .body{flex-direction:column;flex:1;gap:8px;padding:18px 20px 20px;display:flex}.game-card h3{font-size:1.35rem}.game-card .tag{color:var(--ink-soft);flex:1;margin:0}.game-card .meta{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.chip{background:#f4effb;border-radius:999px;padding:5px 12px;font-size:.92rem;font-weight:500}.game-card .play{background:linear-gradient(135deg, var(--pink), var(--orange));color:#fff;border-radius:50%;place-items:center;width:62px;height:62px;font-size:1.6rem;display:grid;position:absolute;top:160px;right:18px;box-shadow:0 6px #d64d74}.game-card.locked .art{filter:saturate(.75)}.game-card.locked .play{background:#cfc6de;box-shadow:0 6px #a99fbb}.two-col{grid-template-columns:1fr 1fr;gap:22px;display:grid}.panel{padding:24px}.panel h3{margin-bottom:14px;font-size:1.3rem}.badges{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:12px;display:grid}.badge{text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.badge .medal{background:linear-gradient(135deg,#fff1b8,#ffc75f);border-radius:50%;place-items:center;width:66px;height:66px;font-size:2rem;display:grid;box-shadow:0 4px #e0a43a}.badge.off{opacity:.4;filter:grayscale()}.activity{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.activity li{background:#ffffffb3;border-radius:16px;align-items:center;gap:12px;padding:10px 12px;display:flex}.activity .gi{background:linear-gradient(135deg, var(--g1), var(--g2));border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:1.4rem;display:grid}.activity .what{flex:1;min-width:0}.activity .what b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.activity .when{color:var(--ink-soft);font-size:.85rem}.activity .score{white-space:nowrap;font-weight:700}.empty{text-align:center;color:var(--ink-soft);padding:18px}.game-tabs{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.game-tabs button{background:#fff9;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-weight:600;display:flex}.game-tabs button.on{box-shadow:0 0 0 3px var(--violet);background:#fff}.podium{justify-content:center;align-items:flex-end;gap:16px;min-height:300px;padding:20px 10px 0;display:flex}.step{flex-direction:column;align-items:center;gap:8px;width:150px;animation:.6s cubic-bezier(.2,1.4,.4,1) both pop;display:flex}.step .avatar{width:84px;height:84px;font-size:2.8rem}.step .who{font-size:1.15rem;font-weight:600}.step .block{color:#fff;text-shadow:0 2px #00000026;border-radius:20px 20px 0 0;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;padding-top:14px;font-size:1.5rem;font-weight:700;display:flex}.step .block small{opacity:.9;font-size:.9rem;font-weight:500}.step.p1 .block{background:linear-gradient(#ffd86b,#f7b733);height:150px}.step.p2 .block{background:linear-gradient(#d9e2f0,#a7b6cc);height:110px}.step.p3 .block{background:linear-gradient(#f3b98a,#d98a50);height:80px}.step.p1{order:2}.step.p2{order:1}.step.p3{order:3}.step.p1 .crown{font-size:2.2rem;animation:2s ease-in-out infinite float}.rank-table{border-collapse:separate;border-spacing:0 8px;width:100%}.rank-table td,.rank-table th{text-align:left;padding:10px 14px}.rank-table th{color:var(--ink-soft);font-size:.9rem;font-weight:500}.rank-table tbody tr{background:#ffffffbf}.rank-table tbody td:first-child{border-radius:14px 0 0 14px;width:50px;font-weight:700}.rank-table tbody td:last-child{border-radius:0 14px 14px 0}.rank-table .who{align-items:center;gap:10px;font-weight:600;display:flex}.rank-table .who .avatar{width:38px;height:38px;box-shadow:none;border-radius:50%;font-size:1.3rem}.num{font-variant-numeric:tabular-nums;text-align:right!important}.menu{z-index:20;flex-direction:column;gap:8px;width:280px;padding:16px;animation:.25s both pop;display:flex;position:absolute;top:74px;right:12px}.menu .email{color:var(--ink-soft);word-break:break-all;border-bottom:1px solid var(--line);padding:0 6px 8px;font-size:.9rem}.menu button{text-align:left;border-radius:12px;padding:12px;font-weight:500}.menu button:hover{background:#f4effb}@media (width<=860px){.hero,.two-col{grid-template-columns:1fr}.topbar{flex-wrap:wrap;position:static}.topbar .logo .word{display:none}}@media (width<=520px){.shell{padding:12px 16px 40px}.hello{text-align:center;flex-direction:column;padding:24px 18px}.profile{width:120px}.profile .avatar{width:112px;height:112px;font-size:3.6rem}.code-boxes{gap:5px}.code-boxes input{width:44px;height:58px;font-size:1.6rem}.pick-grid{grid-template-columns:repeat(6,1fr)}.games{grid-template-columns:1fr}.tabs button{padding:8px 14px}.step{width:100px}.step .avatar{width:64px;height:64px;font-size:2.1rem}.auth-card{padding:32px 20px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
