@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:KuaiLe;src:url(/fonts/ZCOOLKuaiLe-Regular.ttf)format("truetype");font-display:block}:root{--sky-1:#87ceeb;--sky-2:#b0e2f5;--sand:#ffe5b4;--red:#ff6b6b;--red-d:#e05555;--red-soft:#ffe3e1;--yellow:#ffd93d;--yellow-d:#e9b824;--yellow-soft:#fff4c7;--green:#6bcb77;--green-d:#4fae5c;--green-soft:#ddf5e1;--blue:#4d96ff;--blue-d:#3577d6;--blue-soft:#dfeaff;--purple:#b983ff;--purple-d:#9461db;--purple-soft:#efe3ff;--ink:#5d4e6d;--ink-soft:#7a6b8a;--ink-dark:#3d2c4a;--cream:#fffdf3;--cream-edge:#ccb5ad;--shadow-soft:0 18px 32px #482b4920;--font-fun:"KuaiLe", "Nunito Variable", "Yuanti SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-ui:"Nunito Variable", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{width:100%;height:100%}body{font-family:var(--font-ui);color:var(--ink);background:linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 50%, var(--sand) 100%);-webkit-user-select:none;user-select:none;overscroll-behavior:none;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}.sky-bg{background:linear-gradient(180deg, var(--sky-1) 0%, var(--sky-2) 50%, var(--sand) 100%)}.candy{font-family:var(--font-fun);font-weight:400;line-height:1;display:block}.candy svg{width:auto;height:1em;font-family:var(--font-fun);filter:drop-shadow(0 10px 14px #482b4926);display:block;overflow:visible}.candy-char{animation:2.6s ease-in-out infinite candy-bob}@keyframes candy-bob{0%,to{translate:0}50%{translate:0 -6px}}.outlined{font-family:var(--font-fun);color:var(--ink);paint-order:stroke fill;-webkit-text-stroke:.22em #fff}.btn-round{background:var(--cream);width:64px;height:64px;color:var(--ink);box-shadow:0 6px 0 var(--cream-edge), 0 12px 22px #482b4920;border-radius:22px;place-items:center;transition:transform .15s,box-shadow .15s;display:grid}.btn-round svg{width:32px;height:32px}.btn-round:hover{transform:translateY(-2px)}.btn-round:active{box-shadow:0 1px 0 var(--cream-edge), 0 4px 10px #482b4920;transform:translateY(5px)}.btn-round.on{background:var(--yellow);box-shadow:0 6px 0 var(--yellow-d), 0 12px 22px #482b4920}.btn{font-family:var(--font-fun);color:#fff;background:linear-gradient(180deg, var(--b-hi,#ff8e8e) 0%, var(--b,var(--red)) 100%);box-shadow:0 6px 0 var(--b-d,var(--red-d)), 0 12px 22px #482b4925;text-shadow:0 2px #0000001f;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:14px 30px;font-size:24px;transition:transform .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 var(--b-d,var(--red-d));transform:translateY(5px)}.btn.ghost{--b-hi:var(--cream);--b:var(--cream);--b-d:var(--cream-edge);color:var(--ink);text-shadow:none}.btn svg{width:26px;height:26px}.tint-red{--t:var(--red);--t-d:var(--red-d);--t-soft:var(--red-soft);--t-text:#b73451}.tint-blue{--t:var(--blue);--t-d:var(--blue-d);--t-soft:var(--blue-soft);--t-text:#2c5fb3}.tint-green{--t:var(--green);--t-d:var(--green-d);--t-soft:var(--green-soft);--t-text:#2f7a3c}.pill{font-family:var(--font-fun);color:var(--t-text,var(--ink));background:var(--t-soft,var(--cream));border-radius:16px;align-items:center;gap:8px;padding:10px 22px;display:inline-flex}.spinner{border:8px solid #fff8;border-top-color:var(--red);border-right-color:var(--yellow);border-bottom-color:var(--green);border-left-color:var(--blue);border-radius:50%;width:72px;height:72px;animation:1s linear infinite spin}@keyframes spin{to{rotate:360deg}}@keyframes pulse{0%,to{scale:1}50%{scale:1.07}}@keyframes float{0%,to{translate:0}50%{translate:0 -10px}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.12)}to{opacity:1;transform:none}}.home{position:fixed;inset:0;overflow:hidden auto}.home-bg{inset:0;position:fixed!important}.home-content{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:clamp(16px,3.2vh,36px);min-height:100%;padding:32px 16px 40px;display:flex;position:relative}.home-content>*{pointer-events:auto}.home-title{flex-direction:column;align-items:center;gap:10px;display:flex}.home-title .candy{font-size:clamp(90px,15vw,200px)}.home-title .tagline{font-size:clamp(24px,3vw,38px);animation:3s ease-in-out infinite float}.game-grid{grid-template-columns:repeat(3,minmax(0,300px));justify-content:center;gap:clamp(16px,2.4vw,34px);width:100%;display:grid}.game-card{background:var(--cream);box-shadow:0 9px 0 var(--cream-edge), var(--shadow-soft);border-radius:30px;flex-direction:column;align-items:center;gap:12px;padding:22px 22px 20px;transition:transform .2s cubic-bezier(.3,1.6,.5,1),box-shadow .2s;animation:.5s both pop-in;display:flex;position:relative}.game-card:nth-child(2){animation-delay:80ms}.game-card:nth-child(3){animation-delay:.16s}.game-card:hover{box-shadow:0 15px 0 var(--cream-edge), 0 30px 46px #482b4928;transform:translateY(-8px)rotate(-1deg)}.game-card:active{box-shadow:0 2px 0 var(--cream-edge), 0 8px 14px #482b4920;transform:translateY(6px)}.game-card .art{aspect-ratio:5/4;background:radial-gradient(circle at 50% 40%, #fff 0%, var(--t-soft) 100%);border-radius:22px;place-items:center;width:100%;display:grid;overflow:hidden}.game-card .art svg{width:92%;height:92%}.game-card .pill{justify-content:center;width:100%;font-size:30px}.game-card .desc{color:var(--ink-soft);text-align:center;font-size:15px;font-weight:700}.game-card .needs{gap:6px;display:flex;position:absolute;top:12px;right:12px}.badge{color:#fff;background:var(--t);width:38px;height:38px;box-shadow:0 3px 0 var(--t-d);border-radius:12px;place-items:center;display:grid}.badge svg{width:22px;height:22px}.privacy{color:var(--ink-soft);background:#fffdf3d9;border-radius:16px;align-items:center;gap:12px;padding:10px 20px;font-size:14px;font-weight:700;display:flex;box-shadow:0 4px #ccb5ad99}.privacy b{color:var(--green-d);font-size:16px;display:block}.privacy svg{width:30px;height:30px;color:var(--green-d);flex:none}.home-keys{color:#5d4e6d99;font-size:13px;font-weight:700}kbd{min-width:22px;font-family:var(--font-ui);text-align:center;background:#fffdf3cc;border-radius:6px;padding:1px 6px;display:inline-block;box-shadow:0 2px #ccb5ad}@media (width<=900px){.game-grid{grid-template-columns:minmax(0,340px)}.game-card .art{aspect-ratio:2}}.game{position:fixed;inset:0;overflow:hidden}.game-canvas{inset:0;position:absolute!important}.topbar{pointer-events:none;z-index:20;justify-content:space-between;align-items:flex-start;padding:18px 20px;transition:opacity .4s;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar .group{align-items:center;gap:12px;display:flex}.title-chip{background:var(--cream);box-shadow:0 5px 0 var(--cream-edge);border-radius:18px;padding:10px 20px;font-size:26px}.game.idle .topbar{opacity:0}.game.idle{cursor:none}.overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#87ceeb55;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.gate-card{background:var(--cream);width:min(460px,100%);box-shadow:0 10px 0 var(--cream-edge), 0 30px 70px #59436b30;text-align:center;border-radius:34px;flex-direction:column;align-items:center;gap:18px;padding:28px;animation:.45s both pop-in;display:flex}.gate-card .art{aspect-ratio:5/4;background:radial-gradient(circle at 50% 40%, #fff 0%, var(--t-soft) 100%);border-radius:24px;place-items:center;width:100%;display:grid}.gate-card .art svg{width:90%;height:90%}.gate-card:has(.look-pick){gap:14px}.gate-card:has(.look-pick) .art{aspect-ratio:2}.gate-card h2{font-family:var(--font-fun);color:var(--t-text);font-size:40px;font-weight:400}.gate-card p{color:var(--ink-soft);font-size:16px;font-weight:700;line-height:1.6}.play-btn{color:#fff;background:linear-gradient(180deg, #8ee09a 0%, var(--green) 100%);width:120px;height:120px;box-shadow:0 9px 0 var(--green-d), 0 18px 30px #2f7a3c40;border-radius:50%;place-items:center;transition:transform .15s;animation:1.6s ease-in-out infinite pulse;display:grid}.play-btn svg{width:56px;height:56px;margin-left:8px}.play-btn:active{box-shadow:0 2px 0 var(--green-d);transform:translateY(7px)}.gate-card .actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.err-title{font-family:var(--font-fun);color:var(--red-d);font-size:30px}.panel{z-index:40;background:var(--cream);width:min(360px,100vw - 40px);max-height:calc(100% - 116px);box-shadow:0 7px 0 var(--cream-edge), 0 24px 50px #482b4930;border-radius:24px;flex-direction:column;gap:16px;padding:20px;animation:.25s both pop-in;display:flex;position:absolute;top:96px;right:20px;overflow-y:auto}.panel h3{font-family:var(--font-fun);font-size:22px;font-weight:400}.field{flex-direction:column;gap:8px;font-size:14px;font-weight:800;display:flex}.field .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.field small{color:var(--ink-soft);font-weight:600;line-height:1.5}.field select{font:inherit;color:var(--ink);background:#fff;border:2px solid #e8dccf;border-radius:12px;padding:8px 10px;font-weight:700}.field input[type=range]{width:100%;accent-color:var(--blue)}.seg{background:#f2e9dc;border-radius:14px;gap:6px;padding:4px;display:flex}.seg button{color:var(--ink-soft);border-radius:10px;flex:1;padding:7px 4px;font-size:14px;font-weight:800}.seg button.on{color:var(--ink);background:#fff;box-shadow:0 2px #e0d2c2}.switch{background:#e5dacd;border-radius:15px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:translate .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0002}.switch.on{background:var(--green)}.switch.on:after{translate:22px}.stats{color:var(--ink-soft);border-top:2px dashed #eadfd2;padding-top:8px;font-size:13px;font-weight:700}.hint{z-index:10;box-shadow:0 6px 0 var(--cream-edge), var(--shadow-soft);pointer-events:none;background:#fffdf3ee;border-radius:26px;align-items:center;gap:16px;padding:14px 26px 14px 16px;font-size:18px;font-weight:800;animation:.4s both pop-in;display:flex;position:absolute;bottom:7%;left:50%;translate:-50%}.hint svg{flex:none;width:84px;height:84px;animation:2s ease-in-out infinite float}.hint small{color:var(--ink-soft);font-size:14px;display:block}.cam-preview{z-index:10;aspect-ratio:16/9;border:5px solid var(--cream);width:clamp(160px,18vw,280px);box-shadow:0 6px 0 var(--cream-edge), var(--shadow-soft);background:#0003;border-radius:20px;position:absolute;bottom:20px;right:20px;overflow:hidden}.cam-preview video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.players{z-index:10;pointer-events:none;gap:10px;display:flex;position:absolute;top:22px;left:50%;translate:-50%}.players span{border:4px solid #fff;border-radius:50%;width:34px;height:34px;animation:.35s both pop-in;box-shadow:0 3px #0002}.look-chip{pointer-events:auto;cursor:pointer;border:4px solid #fff;border-radius:50%;place-items:center;width:58px;height:58px;transition:transform .15s;animation:.35s both pop-in;display:grid;position:relative;box-shadow:0 4px #0002}.look-chip:hover{transform:scale(1.08)}.look-chip:active{transform:scale(.94)}.look-chip svg{margin-top:4px}.look-chip kbd{min-width:22px;height:22px;color:var(--ink);font:900 13px/1 "Nunito Variable", var(--font-ui);background:#fff;border-radius:11px;place-items:center;display:grid;position:absolute;bottom:-6px;right:-6px;box-shadow:0 2px #0002}.game.idle .look-chip kbd{opacity:0}.look-pick{gap:14px;display:flex}.look-pick button{width:108px;color:var(--ink-soft);font-family:var(--font-fun);background:#f2e9dc;border:4px solid #0000;border-radius:22px;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 8px;font-size:22px;transition:transform .15s;display:flex}.look-pick button.on{border-color:var(--red);color:var(--ink);box-shadow:0 5px 0 var(--red-d);background:#fff;transform:translateY(-3px)}.panel-tip{color:var(--ink-soft);margin:-4px 0 12px;font-size:13px;font-weight:700;display:block}.score{z-index:15;background:var(--cream);box-shadow:0 6px 0 var(--cream-edge);font-family:"Nunito Variable", var(--font-ui);color:var(--ink);border-radius:24px;align-items:center;gap:10px;padding:8px 26px 8px 14px;font-size:46px;font-weight:900;line-height:1;animation:.3s pop-in;display:flex;position:absolute;top:18px;left:50%;translate:-50%}.score svg{width:48px;height:48px}.meter{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;top:50%;left:28px;translate:0 -50%}.meter .tube{width:46px;height:min(56vh,460px);box-shadow:inset 0 4px 8px #0001, 0 5px 0 var(--cream-edge);border:5px solid var(--cream);background:#fffdf3cc;border-radius:23px;position:relative;overflow:hidden}.meter .fill{background:linear-gradient(0deg, var(--green) 0%, var(--yellow) 55%, var(--red) 100%);background-position:bottom;background-size:100% min(56vh,460px);border-radius:18px;position:absolute;bottom:0;left:0;right:0}.meter .peak{background:var(--ink);opacity:.6;border-radius:3px;height:5px;position:absolute;left:-2px;right:-2px}.meter .icon{color:#fff;background:var(--blue);width:58px;height:58px;box-shadow:0 5px 0 var(--blue-d);border-radius:50%;place-items:center;display:grid}.meter .icon svg{width:30px;height:30px}.cam-backdrop{background:#000;position:absolute;inset:0}.cam-backdrop video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.cam-backdrop:after{content:"";pointer-events:none;background:linear-gradient(#87ceebaa 0%,#87ceeb33 28%,#ffffff14 60%,#ffe5b433 100%);position:absolute;inset:0}.tint-yellow{--t:var(--yellow);--t-d:var(--yellow-d);--t-soft:var(--yellow-soft);--t-text:#a87a00}.tint-purple{--t:var(--purple);--t-d:var(--purple-d);--t-soft:var(--purple-soft);--t-text:#7445c2}.tint-orange{--t:#ff9f45;--t-d:#e07f25;--t-soft:#ffead6;--t-text:#b85d10}.tint-pink{--t:#ff8fb8;--t-d:#e66a98;--t-soft:#ffe4ef;--t-text:#c2407a}.tint-teal{--t:#3cc9c0;--t-d:#22a39b;--t-soft:#d8f6f3;--t-text:#12807a}.btn.small{border-radius:14px;padding:8px 16px;font-size:18px}.btn[disabled]{opacity:.5;pointer-events:none}.btn-round.sm{border-radius:18px;width:52px;height:52px}.btn-round.sm svg{width:26px;height:26px}.link{color:var(--ink-soft);text-underline-offset:3px;font-size:14px;font-weight:800;text-decoration:underline}.link.danger{color:var(--red-d)}.muted{color:var(--ink-soft);font-size:14px;font-weight:700}.menu-btn{z-index:5;position:fixed;top:20px;right:20px}.mode-grid{grid-template-columns:repeat(2,minmax(0,330px));justify-content:center;gap:clamp(18px,3vw,40px);width:100%;display:grid}.mode-card{background:var(--cream);box-shadow:0 10px 0 var(--cream-edge), var(--shadow-soft);border-radius:34px;flex-direction:column;align-items:center;gap:14px;padding:22px 22px 20px;transition:transform .2s cubic-bezier(.3,1.6,.5,1);animation:.5s both pop-in;display:flex}.mode-card:nth-child(2){animation-delay:.1s}.mode-card:hover{transform:translateY(-8px)rotate(-1deg)}.mode-card:nth-child(2):hover{transform:translateY(-8px)rotate(1deg)}.mode-card:active{transform:translateY(6px)}.mode-card .art{aspect-ratio:5/4;background:radial-gradient(circle at 50% 40%, #fff 0%, var(--t-soft) 100%);border-radius:24px;place-items:center;width:100%;display:grid}.mode-card .art svg{width:92%;height:92%}.mode-card .pill{justify-content:center;width:100%;font-size:clamp(28px,3vw,38px)}.privacy{cursor:pointer;text-align:left}@media (width<=700px){.mode-grid{grid-template-columns:minmax(0,320px)}.mode-card .art{aspect-ratio:2}}.pick{position:fixed;inset:0;overflow:hidden auto}.pick:before{content:"";opacity:.55;pointer-events:none;background:radial-gradient(120% 100% at 50% 100%,#8fd98f 0% 40%,#0000 41%);height:22vh;position:fixed;bottom:0;left:0;right:0}.pick-inner{flex-direction:column;gap:14px;max-width:1400px;margin:0 auto;padding:18px 24px 60px;display:flex;position:relative}.pick-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.back-chip{background:var(--cream);height:56px;box-shadow:0 6px 0 var(--cream-edge);font-family:var(--font-fun);color:var(--red-d);border-radius:20px;align-items:center;gap:6px;padding:0 18px 0 10px;font-size:22px;display:flex}.back-chip svg{width:28px;height:28px;color:var(--ink)}.back-chip:active{box-shadow:0 2px 0 var(--cream-edge);transform:translateY(4px)}.pick-title{color:var(--ink);white-space:nowrap;flex:1;font-size:clamp(34px,4vw,54px);font-weight:400}.pick-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mode-seg{background:#fffdf3cc;box-shadow:0 4px #ccb5ad88}.mode-seg button{white-space:nowrap;padding:9px 14px;font-size:15px}.who-chip{background:var(--cream);height:52px;box-shadow:0 5px 0 var(--cream-edge);color:var(--ink);border:3px solid #0000;border-radius:18px;align-items:center;gap:8px;padding:0 16px 0 8px;font-size:17px;font-weight:900;display:inline-flex}.who-chip .emoji{background:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:26px;display:grid}.who-chip.p0{border-color:#ff6b6b66}.who-chip.p1{border-color:#4d96ff66}.who-chip.add{color:#8452d6;background:#f6efff;border:3px dashed #b983ff}.who-chip.add .emoji{color:#fff;background:#b983ff;font-size:24px}.who-chip small{color:var(--ink-soft);margin-left:4px;font-size:12px}.who-chip:active{transform:translateY(3px)}.pick-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.diff-seg{background:#fffdf3cc;border-radius:20px;gap:6px;padding:6px;display:flex;box-shadow:0 4px #ccb5ad88}.diff-seg button{min-width:70px;font-family:var(--font-fun);color:var(--ink-soft);opacity:.75;border-radius:14px;flex-direction:column;align-items:center;padding:4px 12px 6px;font-size:20px;display:flex}.diff-seg .stars{letter-spacing:1px;font-size:11px;font-family:var(--font-ui)}.diff-seg button.on{opacity:1;color:var(--ink-dark);box-shadow:0 4px #0002}.diff-seg .d0.on{background:var(--green)}.diff-seg .d1.on{background:var(--yellow)}.diff-seg .d2.on{background:var(--red);color:#fff}.filters{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.chip{color:var(--ink-soft);background:#fffdf3cc;border-radius:14px;padding:8px 14px;font-size:15px;font-weight:800;box-shadow:0 3px #ccb5ad66}.chip.on{background:var(--ink);color:#fff;box-shadow:0 3px 0 var(--ink-dark)}.chip.hot{background:var(--red);color:#fff}.filters .sep{background:#5d4e6d22;width:2px;height:26px;margin:0 4px}.search{background:#fffdf3e6;border-radius:14px;align-items:center;gap:6px;margin-left:auto;padding:6px 12px;display:flex;box-shadow:0 3px #ccb5ad66}.search svg{width:20px;height:20px;color:var(--ink-soft)}.search input{font:inherit;width:170px;color:var(--ink);background:0 0;border:none;outline:none;font-size:15px;font-weight:700}.tip{background:#fffdf3e6;border-radius:16px;align-self:center;align-items:center;gap:10px;padding:8px 10px 8px 18px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px #ccb5ad88}.tip b{color:var(--green-d)}.tip button{width:28px;height:28px;color:var(--ink-soft);border-radius:50%}.cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px;display:grid}.card{background:var(--cream);box-shadow:0 8px 0 var(--cream-edge), var(--shadow-soft);cursor:pointer;text-align:center;border-radius:28px;outline:none;flex-direction:column;align-items:center;gap:4px;padding:18px 14px 14px;transition:transform .2s cubic-bezier(.3,1.6,.5,1);animation:.45s both pop-in;display:flex;position:relative}.card:hover,.card:focus-visible{transform:translateY(-6px)rotate(-1deg)}.card:active{transform:translateY(5px)}.card canvas{margin:2px auto 0;display:block}.card:after{content:"";background:radial-gradient(circle at 50% 45%, #fff 0%, var(--t-soft,#fff4c7) 100%);z-index:-1;border-radius:22px;height:128px;position:absolute;inset:8px 8px auto}.card>*{position:relative}.card{isolation:isolate}.card-name{font-family:var(--font-fun);color:var(--t-text,var(--ink));margin-top:4px;font-size:28px}.card-desc{color:var(--ink-soft);min-height:2.6em;font-size:13.5px;font-weight:700;line-height:1.3}.card .age{z-index:1;color:var(--t-text,var(--ink-soft));background:#fff;border-radius:10px;padding:3px 9px;font-size:12px;font-weight:900;position:absolute;top:12px;left:12px;box-shadow:0 2px #0001}.card .energy{z-index:1;letter-spacing:-2px;font-size:13px;position:absolute;top:12px;right:12px}.card-stars{color:#e5dacd;gap:4px;font-size:24px;display:flex}.card-stars .on{color:var(--yellow);text-shadow:0 2px 0 var(--yellow-d)}.card .ops{gap:6px;margin-top:4px;display:flex}.card .ops button{width:40px;height:36px;color:var(--ink-soft);background:#fff;border-radius:12px;font-size:20px;font-weight:900;box-shadow:0 3px #e8dccf}.card .ops button:first-child{font-family:var(--font-fun);font-size:18px}.card .ops button.on{background:var(--yellow);color:var(--ink-dark);box-shadow:0 3px 0 var(--yellow-d)}.card.special{--t-soft:#f3ebff;--t-text:#7445c2}.card.endless{--t-soft:#ffe4ef;--t-text:#c2407a}.card.daily{--t-soft:#fff4c7;--t-text:#a87a00}.card.daily .ribbon{z-index:2;background:var(--purple);color:#fff;white-space:nowrap;box-shadow:0 3px 0 var(--purple-d);border-radius:12px;padding:4px 12px;font-size:13px;font-weight:900;position:absolute;top:-12px;left:50%;translate:-50%}.card.daily.done{--t-soft:#ddf5e1}.card.free{opacity:.95}.card.spin{box-shadow:0 0 0 6px var(--yellow), 0 8px 0 var(--cream-edge);transform:scale(1.06)rotate(-2deg)}.no-result{text-align:center;color:var(--ink-soft);grid-column:1/-1;padding:40px;font-weight:800}@media (width<=1100px){.pick-title{flex-basis:100%;order:3}}.play .play-canvas{z-index:2;width:100%;height:100%;position:absolute;inset:0}.cam-layer{z-index:1;background:#000;transition:inset .5s,border-radius .5s,opacity .3s;position:absolute;overflow:hidden}.cam-layer video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.cam-layer.bd-full{inset:0}.cam-layer.bd-full:after{content:"";background:linear-gradient(#87ceeb66 0%,#87ceeb11 30%,#fff0 60%,#ffe5b422 100%);position:absolute;inset:0}.cam-layer.bd-hidden{opacity:0;inset:0}.cam-layer.bd-pip{aspect-ratio:16/9;z-index:12;border:5px solid var(--cream);width:clamp(150px,17vw,260px);box-shadow:0 6px 0 var(--cream-edge), var(--shadow-soft);border-radius:20px;inset:auto 20px 20px auto}.title-chip{font-family:var(--font-fun);align-items:center;gap:10px;display:flex}.chip-diff{background:var(--t-soft);color:var(--t-text);border-radius:10px;padding:2px 10px;font-size:16px}.chip-diff.demo{background:var(--purple);color:#fff}.overlay.soft{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#87ceeb33}.hud-top{z-index:15;pointer-events:none;align-items:center;gap:14px;display:flex;position:absolute;top:18px;left:50%;translate:-50%}.hud-top.duo .score-chip.p1{order:3}.score-chip{background:var(--cream);box-shadow:0 6px 0 var(--cream-edge), var(--shadow-soft);border:4px solid var(--pc);border-radius:24px;align-items:center;gap:8px;padding:6px 20px 6px 8px;display:flex}.score-chip .emoji{background:var(--pc);border-radius:16px;place-items:center;width:50px;height:50px;font-size:32px;display:grid}.score-chip .nm{font-family:var(--font-fun);color:var(--pd);white-space:nowrap;text-overflow:ellipsis;max-width:7em;font-size:20px;overflow:hidden}.score-chip .val{font-family:"Nunito Variable", var(--font-ui);color:var(--ink);text-align:center;min-width:1.2em;font-size:46px;font-weight:900;line-height:1;animation:.3s bump}@keyframes bump{0%{scale:1}40%{scale:1.35}to{scale:1}}.timer{background:var(--ink);color:#fff;font-family:"Nunito Variable", var(--font-ui);box-shadow:0 5px 0 var(--ink-dark);border-radius:22px;order:2;align-items:center;gap:6px;padding:8px 18px;font-size:36px;font-weight:900;line-height:1;display:flex}.timer svg{width:30px;height:30px}.timer.low{background:var(--red);box-shadow:0 5px 0 var(--red-d);animation:.4s pop-in}.progress{z-index:14;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:100px;left:50%;translate:-50%}.progress.balls{box-shadow:0 4px 0 var(--cream-edge);background:#fffdf3e6;border-radius:18px;flex-direction:row;gap:4px;padding:6px 12px;font-size:28px}.progress.balls span{filter:grayscale()opacity(.35);transition:filter .3s}.progress.balls span.on{filter:none;animation:.4s pop-in}.progress .lbl{color:var(--ink);background:#fffdf3e6;border-radius:10px;padding:2px 10px;font-size:15px;font-weight:900}.progress .track{width:min(46vw,560px);height:22px;box-shadow:0 4px 0 var(--cream-edge);background:#fffdf3e6;border:3px solid #fff;border-radius:11px;position:relative}.progress .fill{background:var(--pc);border-radius:8px;height:100%;transition:width .25s}.progress .runner{font-size:30px;transition:left .25s;position:absolute;top:50%;translate:-50% -50%}.progress.race .track:after{content:"🪺";font-size:26px;position:absolute;top:50%;right:-34px;translate:0 -50%}.countdown{z-index:25;font-family:var(--font-fun);color:var(--yellow);paint-order:stroke fill;-webkit-text-stroke:.12em #fff;text-shadow:0 14px #0002;pointer-events:none;place-items:center;font-size:min(32vh,260px);animation:.9s ease-out both count-pop;display:grid;position:absolute;inset:0}@keyframes count-pop{0%{opacity:0;scale:2}25%{opacity:1;scale:1}80%{opacity:1;scale:.95}to{opacity:0;scale:.8}}.banner{z-index:24;font-family:var(--font-fun);white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:.2em #fff;pointer-events:none;filter:drop-shadow(0 8px #0001);flex-direction:column;align-items:center;font-size:min(9vh,76px);animation:.45s cubic-bezier(.3,1.6,.5,1) both banner-pop;display:flex;position:absolute;top:40%;left:50%;translate:-50% -50%}.banner.big{font-size:min(16vh,140px)}.banner small{color:var(--ink);-webkit-text-stroke:.2em #fff;font-size:.42em}@keyframes banner-pop{0%{opacity:0;scale:.3}to{opacity:1;scale:1}}.check-tip{z-index:20;box-shadow:0 6px 0 var(--cream-edge), var(--shadow-soft);background:#fffdf3f0;border-radius:26px;align-items:center;gap:18px;padding:14px 16px 14px 26px;animation:.4s both pop-in;display:flex;position:absolute;bottom:4%;left:50%;translate:-50%}.check-tip b{font-family:var(--font-fun);color:var(--green-d);font-size:30px;font-weight:400}.check-tip small{color:var(--ink-soft);font-size:15px;font-weight:800}.keys-tip{color:#5d4e6d99;font-size:12.5px;font-weight:700}.gate-card.howto{gap:16px;width:min(620px,100%);padding:26px 30px 22px}.howto-head{text-align:left;align-items:center;gap:20px;width:100%;display:flex}.howto-head .art{background:radial-gradient(circle at 50% 45%, #fff 0%, var(--t-soft) 100%);aspect-ratio:auto;border-radius:28px;flex:none;place-items:center;width:170px;height:170px;display:grid}.howto-head h2{font-size:54px;line-height:1.1}.meta-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.meta-row .chip{background:var(--t-soft);color:var(--t-text);box-shadow:none;padding:5px 11px;font-size:14px}.steps{text-align:left;flex-direction:column;gap:8px;width:100%;list-style:none;display:flex}.steps li{color:var(--ink);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;font-size:19px;font-weight:800;display:flex}.steps .n{background:var(--t);color:#fff;width:34px;height:34px;box-shadow:0 3px 0 var(--t-d);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.who{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.results-overlay{background:#87ceeb44}.gate-card.results{gap:14px;width:min(860px,100%);padding:24px 28px 18px}.res-title{font-family:var(--font-fun);color:var(--red);paint-order:stroke fill;-webkit-text-stroke:.14em #fff;filter:drop-shadow(0 5px #0001);font-size:clamp(40px,6vh,60px);animation:.5s cubic-bezier(.3,1.6,.5,1) both banner-pop}.daily-done{background:var(--purple);color:#fff;box-shadow:0 4px 0 var(--purple-d);border-radius:14px;padding:6px 16px;font-weight:900;animation:.5s .8s both pop-in}.res-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;width:100%;display:flex}.polaroid{background:#fff;border-radius:8px;width:min(330px,80vw);margin:0;padding:10px 10px 8px;animation:.6s .2s both pop-in;rotate:-3deg;box-shadow:0 10px 24px #482b4930}.polaroid img{aspect-ratio:16/9;object-fit:cover;border-radius:4px;width:100%;display:block}.polaroid figcaption{font-family:var(--font-fun);color:var(--ink-soft);text-align:center;padding-top:6px;font-size:17px}.res-rows{flex-direction:column;align-items:stretch;gap:14px;display:flex}.results.duo .res-rows{flex-direction:row}.res-row{border:4px solid var(--pc);background:#fff;border-radius:24px;flex-direction:column;align-items:center;gap:4px;min-width:210px;padding:12px 22px;display:flex}.res-row.win{box-shadow:0 0 0 6px #ffd93d88}.who-line{font-family:var(--font-fun);align-items:center;gap:8px;font-size:24px;display:flex}.who-line .emoji{font-size:34px}.who-line .crown{font-size:30px;animation:1.5s ease-in-out infinite float}.res-row .stars{color:#e9e0d6;gap:4px;font-size:58px;line-height:1;display:flex}.res-row .stars span.on{color:var(--yellow);text-shadow:0 4px 0 var(--yellow-d);animation:.55s cubic-bezier(.3,1.8,.5,1) both star-in}@keyframes star-in{0%{rotate:-90deg;scale:0}to{rotate:0deg;scale:1}}.big-score{font-family:"Nunito Variable", var(--font-ui);color:var(--ink);font-size:54px;font-weight:900;line-height:1}.big-score small{font-family:var(--font-fun);color:var(--ink-soft);margin-left:6px;font-size:20px;font-weight:400}.badges{flex-wrap:wrap;justify-content:center;gap:6px;min-height:26px;display:flex}.badges span{border-radius:10px;padding:3px 10px;font-size:13px;font-weight:900;animation:.4s 1.4s both pop-in}.badge-new{background:var(--red);color:#fff}.badge-rank{background:var(--yellow);color:var(--ink-dark)}.badge-best{color:var(--ink-soft);background:#f2e9dc}.guest-tip{border:2px dashed var(--purple);color:var(--purple-d);background:#f6efff;border-radius:14px;padding:8px 14px;font-size:14px;font-weight:900}.endless-next{align-items:center;gap:10px;font-size:18px;font-weight:900;display:flex}.endless-next .ring{background:var(--purple);color:#fff;width:46px;height:46px;box-shadow:0 4px 0 var(--purple-d);border-radius:50%;place-items:center;font-size:24px;display:grid}.modal-back{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3d2c4a55;place-items:center;padding:16px;animation:.2s both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.modal{background:var(--cream);width:min(760px,100%);max-height:calc(100vh - 32px);box-shadow:0 10px 0 var(--cream-edge), 0 30px 70px #3d2c4a50;border-radius:32px;flex-direction:column;gap:12px;padding:26px 28px;animation:.3s both pop-in;display:flex;position:relative;overflow-y:auto}.modal h2{font-family:var(--font-fun);color:var(--ink);text-align:center;font-size:40px;font-weight:400}.modal-x{background:var(--red);color:#fff;width:48px;height:48px;box-shadow:0 4px 0 var(--red-d);border-radius:16px;place-items:center;display:grid;position:absolute;top:16px;left:16px}.modal-x svg{width:26px;height:26px}.sec-title{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;margin-top:4px;font-size:15px;font-weight:900;display:flex}.shuffle{background:var(--yellow);box-shadow:0 3px 0 var(--yellow-d);border-radius:12px;padding:6px 12px;font-size:15px;font-weight:900}.roster,.ideas{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.kid{background:#fff;border:3px solid #0000;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;transition:transform .15s;animation:.35s both pop-in;display:flex;box-shadow:0 5px #e8dccf}.kid:hover{transform:translateY(-3px)}.kid:active{transform:translateY(3px);box-shadow:0 2px #e8dccf}.kid .emoji{font-size:46px;line-height:1.1}.kid .nm{color:var(--ink);font-size:15px;font-weight:900}.kid.on{border-color:var(--green);background:#effaf1}.kid.other{opacity:.45}.kid.own{border:3px dashed var(--purple);background:#f6efff}.picker.slot-1 h2{color:var(--blue-d)}.picker.slot-0 h2{color:var(--red-d)}.picker-foot{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;font-size:13px;font-weight:700;display:flex}.back-link{color:var(--ink-soft);align-self:flex-start;margin-left:56px;font-weight:900}.buddies{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.buddy{background:#fff;border:3px solid #0000;border-radius:18px;width:58px;height:58px;font-size:34px;box-shadow:0 4px #e8dccf}.buddy.on{border-color:var(--purple);background:#f6efff}.name-row{background:#fff;border-radius:20px;align-items:center;gap:10px;padding:10px;display:flex}.name-row .emoji{font-size:40px}.name-row input{min-width:0;font:inherit;font-family:var(--font-fun);color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:28px}.manage-list{flex-direction:column;gap:8px;display:flex}.manage-row{background:#fff;border-radius:16px;align-items:center;gap:10px;padding:8px 12px;display:flex}.manage-row .emoji{font-size:30px}.manage-row .nm{flex:1;font-weight:900}.icon-btn{background:#f2e9dc;border-radius:12px;width:40px;height:40px;font-size:18px}.icon-btn.danger{background:var(--red-soft)}.modal.board{width:min(820px,100%)}.board-tabs{flex-wrap:wrap;justify-content:center;gap:6px;padding:4px 2px 8px;display:flex}.board-tabs .tab{background:#fff;border:3px solid #0000;border-radius:16px;flex:none;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 3px #e8dccf}.board-tabs .tab.on{border-color:var(--green);background:#effaf1}.star-tab{color:var(--yellow);text-shadow:0 2px 0 var(--yellow-d);font-size:32px}.board-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.board-head h3{font-family:var(--font-fun);font-size:28px;font-weight:400}.board-list{flex-direction:column;gap:8px;min-height:260px;display:flex}.board-row{background:#fff;border-radius:18px;grid-template-columns:44px 44px 1fr auto auto;align-items:center;gap:10px;padding:8px 16px;animation:.3s both pop-in;display:grid}.board-row.top{background:#fff8dd}.board-row .rk{text-align:center;color:var(--ink-soft);font-size:26px;font-weight:900}.board-row .emoji{font-size:34px}.board-row .nm{font-family:var(--font-fun);font-size:22px}.board-row .sub{color:var(--ink-soft);font-size:13px;font-weight:700}.board-row .sub .dim{color:#e5dacd}.board-row .val{font-family:"Nunito Variable", var(--font-ui);text-align:right;min-width:80px;font-size:30px;font-weight:900}.board-row .val small{font-family:var(--font-fun);color:var(--ink-soft);margin-left:4px;font-size:15px;font-weight:400}.board-row .val .st{color:var(--yellow)}.board-empty{text-align:center;color:var(--ink-soft);padding:50px 20px;font-weight:800}.board-empty .big{font-size:60px}.board-foot{color:var(--ink-soft);justify-content:space-between;font-size:13px;font-weight:700;display:flex}.modal.info{padding-top:76px}.big-seg button{padding:10px;font-size:16px}.qa{color:var(--ink);flex-direction:column;gap:10px;font-size:16px;font-weight:700;line-height:1.7;display:flex}.qa details{background:#fff;border-radius:16px;padding:10px 16px}.qa summary{cursor:pointer;font-size:17px;font-weight:900}.qa p{color:var(--ink-soft)}.qa b{color:var(--ink)}.keys{border-collapse:collapse;width:auto}.keys td{padding:4px 16px 4px 0}.keys td:first-child{white-space:nowrap;width:1%}.diff-pop{align-items:center;width:min(640px,100%)}.diff-big{gap:14px;width:100%;display:flex}.diff-card{color:var(--ink-dark);border-radius:24px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:18px 8px;transition:transform .15s;display:flex;box-shadow:0 7px #0002}.diff-card:hover{transform:translateY(-4px)}.diff-card.d0{background:var(--green)}.diff-card.d1{background:var(--yellow)}.diff-card.d2{background:var(--red);color:#fff}.diff-card .stars{font-size:22px}.diff-card .lb{font-family:var(--font-fun);font-size:40px}.diff-card small{opacity:.8;font-size:13px;font-weight:800}.class-stars{text-align:center;color:var(--ink);background:linear-gradient(90deg,#fff4c7,#ffe4ef);border-radius:16px;padding:10px 16px;font-size:17px;font-weight:800}.class-stars b{color:var(--red-d);font-size:24px}.new-badges{flex-direction:column;gap:4px;margin-top:4px;display:flex}.new-badges span{background:linear-gradient(90deg,#fff4c7,#ffe4ef);border-radius:12px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-size:14px;font-weight:900;animation:.5s 1.8s both pop-in;display:flex}.new-badges i{font-size:22px;font-style:normal}.badge-strip{letter-spacing:1px;margin-left:8px;font-size:16px}.stage-seg button{font-family:var(--font-fun);white-space:nowrap;padding:8px 14px;font-size:18px}.stage-row{flex-wrap:wrap;justify-content:center;gap:12px;margin:6px 0 16px;display:flex}.stage-card{min-width:120px;color:var(--ink-soft);font-family:var(--font-fun);background:#fffdf3;border-radius:18px;flex-direction:column;align-items:center;padding:10px 16px;display:flex;box-shadow:0 4px #ccb5ad88}.stage-card .em{font-size:30px}.stage-card .lb{font-size:22px}.stage-card small{font-family:var(--font-ui);opacity:.7;font-size:13px}.stage-card.on{background:var(--ink);color:#fff;box-shadow:0 4px 0 var(--ink-dark)}.card .needs{opacity:.85;font-size:16px;position:absolute;top:40px;right:12px}.howto .practice{color:var(--ink-soft);margin:-6px 0 10px;font-size:14px}.res-stats{font-family:var(--font-ui);color:var(--ink);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:4px 0 6px;font-size:18px;font-weight:800;display:flex}.res-stats span{flex-direction:column;align-items:center;line-height:1.1;display:flex}.res-stats small{opacity:.6;font-size:11px;font-weight:700}.loading-card .dl{flex-direction:column;gap:8px;width:100%;display:flex}.dl-bar{background:#eadfd2;border-radius:99px;height:14px;overflow:hidden}.dl-bar i{background:linear-gradient(90deg, var(--blue), var(--green));border-radius:99px;height:100%;transition:width .2s linear;display:block}.loading-card .dl small,.perm-ask{color:var(--ink-soft);text-align:left;font-size:13.5px;font-weight:700;line-height:1.55}.perm-ask{background:var(--yellow-soft);border:3px solid var(--yellow);border-radius:18px;align-items:flex-start;gap:12px;padding:12px 14px;animation:.35s both pop-in;display:flex}.perm-ask b{color:var(--ink-dark);font-size:16px;display:block}.perm-ask .arrow{font-size:30px;animation:1.2s ease-in-out infinite float}.warn-box{text-align:left;width:100%;color:var(--ink-soft);background:#fff1e6;border:3px solid #ffb37a;border-radius:18px;flex-direction:column;gap:8px;padding:12px 14px;font-size:13.5px;font-weight:700;line-height:1.5;display:flex}.warn-box b{color:#c45a12;font-size:16px;display:block}.warn-box .actions{flex-wrap:wrap;gap:10px;display:flex}.check-tip .check-lines{flex-direction:column;gap:2px;display:flex}.check-tip .check-lines b+b{font-size:24px}.check-tip .warn-line{color:#c45a12}.check-tip.away-tip{gap:14px}.check-tip.away-tip b{color:var(--red-d);display:block}.toasts{z-index:90;pointer-events:none;flex-direction:column;gap:10px;width:min(560px,100vw - 32px);display:flex;position:fixed;top:18px;left:50%;translate:-50%}.toast{pointer-events:auto;background:var(--cream);box-shadow:0 5px 0 var(--cream-edge), 0 16px 30px #482b4930;border-radius:20px;align-items:center;gap:12px;padding:12px 12px 12px 18px;animation:.3s both pop-in;display:flex}.toast-text{flex:1;min-width:0}.toast-text b{color:var(--ink-dark);font-size:16px;display:block}.toast-text small{color:var(--ink-soft);font-size:13px;font-weight:700;display:block}.toast .btn.small{flex:none}.toast-x{width:32px;height:32px;color:var(--ink-soft);background:#f2e9dc;border-radius:10px;flex:none;font-size:14px}.err-detail{text-align:left;width:100%;color:var(--ink-soft);font-size:12px}.err-detail pre{white-space:pre-wrap;word-break:break-all;-webkit-user-select:text;user-select:text;background:#f2e9dc;border-radius:10px;max-height:160px;margin-top:6px;padding:8px;overflow:auto}.home-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.check-entry{text-align:left}.check-entry .em{flex:none;font-size:28px}.check-entry b{color:var(--blue-d)}.check-entry.first{border:3px solid var(--blue);animation:1.8s ease-in-out infinite pulse}.check-dot{font-size:24px;position:relative}.check-dot:after{content:"";border:3px solid var(--cream);background:var(--green);border-radius:50%;width:16px;height:16px;position:absolute;top:-3px;right:-3px}.check-dot.meh:after{background:#ff9f43}.check-dot.none:after{background:var(--red);animation:1.6s ease-in-out infinite pulse}.class-chip{background:var(--cream);height:52px;box-shadow:0 5px 0 var(--cream-edge);color:var(--ink);white-space:nowrap;border-radius:18px;padding:0 14px;font-size:16px;font-weight:900}.modal.class-pick{width:min(560px,100%)}.center{text-align:center}.class-list{flex-direction:column;gap:8px;display:flex}.class-row{background:#fff;border:3px solid #0000;border-radius:18px;align-items:center;gap:8px;padding:6px;display:flex}.class-row.on{border-color:var(--green)}.class-row input{outline:2px solid var(--blue);min-width:0;font:inherit;font-family:var(--font-fun);color:var(--ink);border:none;border-radius:12px;flex:1;padding:10px;font-size:22px}.class-main{text-align:left;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.class-main .em{font-size:28px}.class-main .nm{font-family:var(--font-fun);font-size:24px}.class-main small{color:var(--ink-soft);font-size:13px;font-weight:700}.class-main .tick{color:var(--green-d);margin-left:auto;font-size:22px;font-weight:900}.board-class{color:var(--ink-soft);margin-left:10px;font-size:22px}.board-foot{flex-wrap:wrap;align-items:center;gap:8px}.board-actions{flex-wrap:wrap;gap:14px;display:flex}.link:disabled{opacity:.4;cursor:default}.check-page{-webkit-user-select:text;user-select:text;position:fixed;inset:0;overflow-y:auto}.check-page .topbar{position:sticky}.check-body{grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:start;gap:20px;padding:0 20px 24px;display:grid}.check-stage{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex}.check-video{width:min(100%, calc((100vh - 200px) * var(--ar,1.7778)));aspect-ratio:var(--ar,1.7778);border:6px solid var(--cream);box-shadow:0 8px 0 var(--cream-edge), var(--shadow-soft);background:#3d2c4a;border-radius:28px;position:relative;overflow:hidden}.check-video video,.check-video canvas{width:100%;height:100%;position:absolute;inset:0}.check-video video{object-fit:fill;transform:scaleX(-1)}.check-intro,.check-busy{text-align:center;background:linear-gradient(#87ceebee,#b0e2f5ee);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.check-busy{background:#3d2c4a88}.check-intro h2{font-family:var(--font-fun);color:var(--ink-dark);font-size:clamp(30px,4vw,46px);font-weight:400}.check-intro p{max-width:520px;color:var(--ink);font-size:17px;font-weight:700;line-height:1.6}.check-intro p.small{color:var(--ink-soft);font-size:15px}.check-intro .go{font-family:var(--font-fun);color:var(--green-d);font-size:24px;font-weight:400}.play-btn:disabled{filter:grayscale();opacity:.5;animation:none}.check-say{max-width:calc(100% - 32px);box-shadow:0 5px 0 var(--cream-edge);font-family:var(--font-fun);color:var(--ink-dark);text-align:center;background:#fffdf3f0;border-radius:22px;padding:12px 24px;font-size:clamp(22px,3vw,34px);animation:.3s both pop-in;position:absolute;bottom:18px;left:50%;translate:-50%}.check-say.good{color:var(--green-d)}.check-tools{background:#fffdf3d9;border-radius:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;width:min(100%,640px);padding:4px 16px 14px;display:grid}.check-list{flex-direction:column;gap:10px;display:flex}.check-item{background:var(--cream);box-shadow:0 5px 0 var(--cream-edge);border-left:8px solid #d8ccbf;border-radius:20px;gap:12px;padding:12px 14px;display:flex}.check-item.st-run{border-left-color:var(--blue)}.check-item.st-ok{border-left-color:var(--green)}.check-item.st-warn{border-left-color:#ff9f43}.check-item.st-fail{border-left-color:var(--red)}.ci-icon{color:#fff;background:#f2e9dc;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:18px;font-weight:900;display:grid}.st-wait .ci-icon,.st-skip .ci-icon{color:var(--ink-soft)}.st-ok .ci-icon{background:var(--green)}.st-warn .ci-icon{background:#ff9f43}.st-fail .ci-icon{background:var(--red)}.st-run .ci-icon{background:0 0}.mini-spin{border:4px solid #4d96ff33;border-top-color:var(--blue);border-radius:50%;width:26px;height:26px;animation:.9s linear infinite spin;display:block}.ci-body{min-width:0;color:var(--ink-soft);flex-direction:column;gap:3px;font-size:14px;font-weight:700;line-height:1.5;display:flex}.ci-body>b{color:var(--ink-dark);font-size:16.5px}.ci-body>b small{color:var(--ink-soft);font-size:12px}.ci-fix{color:#b5531a}.st-fail .ci-fix{color:var(--red-d)}.ci-parts,.ci-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.ci-parts i{background:var(--red-soft);color:var(--red-d);border-radius:99px;padding:2px 10px;font-style:normal}.ci-parts i.on{background:var(--green-soft);color:var(--green-d)}.mic-meter{background:#eadfd2;border-radius:99px;flex:1;min-width:160px;height:18px;overflow:hidden}.mic-meter i{background:linear-gradient(90deg, var(--green), var(--yellow), var(--red));height:100%;transition:width 80ms linear;display:block}.check-summary{background:var(--green-soft);border:4px solid var(--green);border-radius:22px;grid-template-columns:auto 1fr;align-items:center;gap:10px 14px;padding:16px;animation:.4s both pop-in;display:grid}.check-summary.meh{background:var(--yellow-soft);border-color:var(--yellow)}.check-summary.bad{background:var(--red-soft);border-color:var(--red)}.check-summary .big{font-size:44px}.check-summary b{font-family:var(--font-fun);color:var(--ink-dark);font-size:22px;font-weight:400;display:block}.check-summary small{color:var(--ink-soft);font-size:13px;font-weight:700}.check-summary .actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}@media (width<=960px){.check-body{grid-template-columns:minmax(0,1fr);padding:0 16px 24px}.check-video{width:100%}}@media (width<=600px){.check-page .topbar{padding:12px}.check-page .title-chip{font-size:20px}}.title-chip .fun{font-family:var(--font-fun)}.check-page .title-chip{white-space:nowrap}@media (width<=600px){.check-page .title-chip{padding:10px 14px}.check-page .btn-round{width:52px;height:52px}.check-say{padding:8px 16px;font-size:18px;bottom:10px}}.gate-card.howto{max-height:calc(100dvh - 32px);overflow-y:auto}.warn-box .actions{justify-content:flex-start}@media (height<=820px) and (width>=701px){.home-content{gap:2vh;padding-top:18px;padding-bottom:18px}.home-title .candy{font-size:min(15vw,21vh)}.mode-card{gap:10px;padding:16px 18px}.mode-card .art{aspect-ratio:16/11}}.cloud-chip{text-overflow:ellipsis;align-items:center;max-width:220px;text-decoration:none;display:inline-flex;overflow:hidden}.cloud-body{flex-direction:column;gap:16px;width:min(860px,100%);margin:0 auto;padding:0 16px 32px;display:flex}.cloud-card{background:var(--cream);box-shadow:var(--shadow-soft);border-radius:28px;flex-direction:column;gap:14px;padding:22px 24px;display:flex}.cloud-card h2{font-family:var(--font-fun);font-size:30px;font-weight:400}.cloud-card h3{font-family:var(--font-fun);font-size:24px;font-weight:400}.cloud-note{color:var(--ink-soft);font-size:14px;font-weight:700;line-height:1.6}.cloud-error{background:var(--red-soft);color:var(--red-d);border-radius:14px;padding:10px 14px;font-weight:800}.auth-card{align-self:center;width:min(460px,100%)}.auth-card input{font:inherit;color:var(--ink);background:#fff;border:2px solid #e8dccf;border-radius:14px;padding:12px 14px;font-size:18px;font-weight:700}.auth-card input:focus{border-color:var(--blue);outline:none}.auth-card .btn{align-self:stretch}.auth-card .btn:disabled{opacity:.6}.cloud-who{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cloud-who small{color:var(--ink-soft);font-weight:700}.cloud-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.cloud-stat{background:#fff;border-radius:18px;flex-direction:column;align-items:center;padding:12px 6px;display:flex}.cloud-stat b{font-family:"Nunito Variable", var(--font-ui);font-size:32px;font-weight:900}.cloud-stat span{color:var(--ink-soft);font-size:13px;font-weight:800}.board-cats{flex-wrap:wrap;gap:8px;display:flex}.board-cats button{color:var(--ink-soft);background:#fff;border:3px solid #0000;border-radius:16px;padding:10px 16px;font-size:16px;font-weight:900;box-shadow:0 3px #e8dccf}.board-cats button.on{color:var(--ink);border-color:var(--green);background:#effaf1}.seg.wrap{flex-wrap:wrap}.seg.wrap button{flex:1 0 auto}.cloud-page .board-list{min-height:0}.cloud-page .board-list.main{min-height:260px}.cloud-page .board-row{grid-template-columns:48px 1fr auto auto auto}.cloud-page .board-row.me{outline:3px solid var(--blue)}.me-tag{font-family:var(--font-ui);color:#fff;background:var(--blue);vertical-align:middle;border-radius:8px;margin-left:8px;padding:2px 8px;font-size:13px;font-weight:900}.cloud-page .board-foot{flex-wrap:wrap;gap:8px}@media (width<=600px){.cloud-card{padding:16px}.cloud-stats{grid-template-columns:repeat(2,1fr)}.cloud-page .board-row{grid-template-columns:36px 1fr auto}.cloud-page .board-row .sub{display:none}.cloud-page .board-head{flex-direction:column;align-items:stretch}.cloud-page .board-tabs{flex-wrap:nowrap;justify-content:flex-start;padding-bottom:10px;overflow-x:auto}}.legal{gap:12px;font-weight:600;line-height:1.75}.legal section{flex-direction:column;gap:8px;scroll-margin-top:16px;display:flex}.legal ul{flex-direction:column;gap:4px;padding-left:22px;display:flex}.legal-toc{background:#fff8;border-radius:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;padding:12px 16px;font-size:14px;display:grid}.legal a,.home-foot a{color:var(--blue-d)}.legal-foot{color:var(--ink-soft);font-size:14px}.home-foot{color:#5d4e6d99;flex-wrap:wrap;justify-content:center;gap:4px 12px;font-size:13px;font-weight:700;display:flex}.check-line{color:var(--ink-soft);align-items:flex-start;gap:8px;font-size:14px;font-weight:700;line-height:1.5;display:flex}.check-line input{flex:none;width:18px;height:18px;margin-top:2px}.check-line a{color:var(--blue-d)}.cloud-ok{background:var(--green-soft);color:var(--green-d);border-radius:14px;padding:10px 14px;font-weight:800}.link.center{align-self:center}.setting-actions{flex-wrap:wrap;gap:10px;display:flex}.setting-form{background:#fff8;border-radius:18px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.setting-form .btn{align-self:flex-start}.btn.danger{--b-hi:#ffb3b3;--b:var(--red);--b-d:var(--red-d)}.btn.ghost.danger{color:var(--red-d)}.avatar{-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 2px #fff,0 2px #0002}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-editor{flex-direction:column;gap:14px;width:min(620px,100%);display:flex}.cartoon-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.cartoon-grid button{aspect-ratio:1;border-radius:50%;font-size:28px;transition:transform .12s;box-shadow:inset 0 0 0 2px #fff}.cartoon-grid button.on{box-shadow:inset 0 0 0 2px #fff, 0 0 0 4px var(--green);transform:scale(1.08)}.editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.drop-zone{cursor:pointer;background:#fff8;border:3px dashed #c9b8d4;border-radius:24px;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;font-weight:800;display:flex}.drop-zone input{display:none}.drop-zone .big{font-size:44px}.drop-zone small{color:var(--ink-soft);font-weight:700}.selfie{flex-direction:column;align-items:center;gap:12px;display:flex}.selfie-box{aspect-ratio:4/3;background:#3d2c4a22;border-radius:24px;place-items:center;width:min(420px,100%);display:grid;position:relative;overflow:hidden}.selfie-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.selfie-ring{aspect-ratio:1;pointer-events:none;border:4px dashed #fffc;border-radius:50%;width:62%;position:absolute;inset:50% auto auto 50%;translate:-50% -50%}.crop-area{flex-direction:column;align-items:center;gap:8px;display:flex}.crop-view{cursor:grab;touch-action:none;border-radius:50%;box-shadow:0 0 0 4px #fff,0 6px #0002}.crop-area .zoom{width:min(320px,100%)}.cloud-who .who-text{overflow-wrap:anywhere;flex:1;min-width:0}.avatar-btn{color:var(--blue-d);flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:800;display:flex}.board-row .avatar{vertical-align:middle;margin-right:8px}.board-row .nm{align-items:center;min-width:0;display:flex}.report-btn{opacity:.35;border-radius:8px;margin-left:6px;padding:2px 6px;font-size:13px}.report-btn:hover,.report-btn:focus-visible{opacity:1;background:#fff8}.report-pop{flex-direction:column;gap:10px;width:min(420px,100%);display:flex}.report-pop .reasons{gap:8px;display:grid}.cloud-chip .avatar{margin:-4px 6px -4px -6px}.admin-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.admin-item{background:#fff8;border-radius:20px;flex-direction:column;gap:8px;padding:14px;font-size:14px;font-weight:700;display:flex}.admin-item img{aspect-ratio:1;object-fit:cover;background:#0001;border-radius:16px;width:100%}.admin-item .row{gap:8px;display:flex}.cam-layer .wear-layer{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.xp-bar{background:#5d4e6d22;border-radius:99px;min-width:80px;height:10px;position:relative;overflow:hidden}.xp-bar i{background:linear-gradient(90deg, var(--green), var(--yellow));border-radius:99px;transition:width 1.2s;position:absolute;inset:0 auto 0 0}.xp-bar.wide{width:min(360px,100%);margin:6px 0}.lv-chip{background:var(--purple-soft);color:var(--purple-d);border-radius:99px;align-items:center;gap:4px;padding:2px 10px;font-size:14px;font-weight:800;display:inline-flex}.lv-mini{background:var(--purple-soft);color:var(--purple-d);border-radius:8px;margin:0 4px;padding:0 6px;font-size:12px;font-weight:800}.flame-chip{background:var(--red-soft);color:var(--red-d);border-radius:99px;padding:2px 10px;font-size:14px;font-weight:800}.reward-strip{background:#fff9;border-radius:18px;flex-direction:column;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.xp-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.xp-gain{font-family:var(--font-fun);color:var(--green-d);font-size:22px;font-weight:400;animation:.5s .3s both pop-in}.level-up{font-family:var(--font-fun);color:var(--purple-d);text-align:center;font-size:24px;animation:.6s .8s both pop-in}.reward-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reward-row .link.small,.link.small{font-size:13px}.task-chip{white-space:nowrap;background:#fff;border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 2px #5d4e6d1a}.task-chip.done{background:var(--green-soft);color:var(--green-d)}.task-chip small{color:var(--ink-soft)}.sticker{background:#fff;border-radius:16px;place-items:center;width:54px;height:54px;font-size:32px;display:inline-grid;position:relative;box-shadow:0 0 0 3px #fff,0 3px 0 4px #5d4e6d22}.sticker small{background:var(--yellow);color:var(--ink);border-radius:8px;padding:0 5px;font-size:11px;font-weight:800;position:absolute;bottom:-6px;right:-6px}.sticker.shiny{background:linear-gradient(135deg,#fff6c9,#ffd6f2,#cdeaff)}.sticker.flip{animation:.6s both sticker-flip}.sticker.empty{color:#5d4e6d55;background:#5d4e6d14;font-size:22px;box-shadow:inset 0 0 0 2px #5d4e6d22}.sticker.can-trade{cursor:pointer;animation:1.2s infinite wiggle}@keyframes sticker-flip{0%{opacity:0;transform:rotateY(90deg)scale(.6)}to{opacity:1;transform:none}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}.new-badges .tier-2{background:#e9eef5}.new-badges .tier-3{background:#fff1b8}.kid-strips{flex-wrap:wrap;gap:10px;margin:0 0 12px;display:flex}.kid-strip{background:var(--cream);box-shadow:var(--shadow-soft);border-radius:22px;flex-wrap:wrap;flex:420px;align-items:center;gap:8px 12px;padding:8px 14px;display:flex}.kid-strip.p1{box-shadow:inset 0 0 0 3px var(--blue-soft), var(--shadow-soft)}.kid-strip.guest{color:var(--ink-soft);justify-content:center;font-weight:800}.kid-face{place-items:center;width:48px;height:48px;font-size:34px;display:grid}.kid-lv{flex-direction:column;gap:4px;min-width:150px;font-size:14px;display:flex}.flame{color:var(--red-d);font-size:20px;font-weight:800}.flame.dim{opacity:.5}.flame.out{filter:grayscale();opacity:.4}.kid-tasks{flex-wrap:wrap;flex:1;gap:6px;display:flex}.kid-links{gap:6px;display:flex}.kid-tabs .class-chip.on{background:var(--yellow)}.kid-pick{flex-wrap:wrap;gap:8px;display:flex}.kid-pick .who-chip.on{box-shadow:0 0 0 3px var(--green)}.kid-head{flex-direction:row;align-items:center}.big-emoji{font-size:64px}.badge-wall{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.badge-card{text-align:center;background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;font-size:14px;display:flex}.badge-card i{font-size:40px;font-style:normal}.badge-card small{color:var(--ink-soft);font-weight:700}.badge-card .xp-bar{width:100%}.badge-card.tier-1{box-shadow:inset 0 0 0 3px #d8a06a}.badge-card.tier-2{box-shadow:inset 0 0 0 3px #b8c4d3}.badge-card.tier-3{background:#fffbe6;box-shadow:inset 0 0 0 3px #f2c230}.badge-card.locked i{filter:grayscale();opacity:.4}.sticker-page h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sticker-page h3 small{font-family:var(--font-ui);color:var(--ink-soft);font-size:15px;font-weight:800}.sticker-page.complete{box-shadow:inset 0 0 0 4px var(--yellow), var(--shadow-soft)}.set-reward{font-family:var(--font-ui);color:var(--purple-d);align-items:center;gap:4px;margin-left:auto;font-size:13px;font-weight:800;display:inline-flex}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));justify-items:center;gap:14px;display:grid}.wear-icon.locked{filter:grayscale();opacity:.45}.dress-room{flex-flow:wrap;align-items:flex-start}.dress-mirror{aspect-ratio:4/3;background:#3d2c4a22;border-radius:24px;flex:420px;position:relative;overflow:hidden}.dress-video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.dress-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dress-status{background:#fffc;border-radius:12px;padding:4px 12px;font-size:13px;font-weight:800;position:absolute;bottom:12px;left:12px}.dress-side{flex-direction:column;flex:280px;gap:12px;display:flex}.wear-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.wear-card{text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;font-size:12px;font-weight:800;display:flex}.wear-card.on{box-shadow:0 0 0 4px var(--green)}.wear-card.locked{color:var(--ink-soft)}.share-sheet{flex-direction:column;gap:14px;width:min(640px,100%);display:flex}.share-link{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.share-link .qr{border-radius:12px;box-shadow:0 0 0 4px #fff}.share-link-text{flex-direction:column;flex:240px;gap:8px;display:flex}.share-link-text input{width:100%;font:inherit;border:2px solid #5d4e6d22;border-radius:12px;padding:8px 12px;font-weight:700}.share-preview{width:100%;box-shadow:var(--shadow-soft);border-radius:16px}.vs-row{background:#fff9;border-radius:20px;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px;display:grid}.vs-row.win{box-shadow:inset 0 0 0 3px var(--yellow)}.vs-side{flex-direction:column;align-items:center;gap:2px;font-size:14px;display:flex}.vs-side .emoji.big{font-size:36px}.vs-score{font-family:var(--font-fun);font-size:30px}.vs-score small{margin-left:2px;font-size:14px}.vs-mid{font-family:var(--font-fun);color:var(--red-d);flex-direction:column;align-items:center;font-size:28px;display:flex}.vs-mid small{font-family:var(--font-ui);color:var(--ink-soft);font-size:13px;font-weight:800}.challenge-head{align-items:center;gap:16px;display:flex}.challenge-head>div{flex:1;min-width:0}.challenge-head h2 small{font-size:18px}.big-num{font-family:var(--font-fun);color:var(--red-d);font-size:30px;font-weight:400}.board-row.target{background:var(--yellow-soft,#fff3c4)}.my-challenge .latest{gap:2px;margin-left:8px;display:inline-flex}.row-actions{gap:10px;display:flex}
