*{box-sizing:border-box;margin:0;padding:0}:root{--pink: #ff3d8b;--orange: #ff8a3d;--violet: #8b5cf6;--glass: rgba(18, 18, 28, .55);--glass-border: rgba(255, 255, 255, .12);--brand: linear-gradient(135deg, var(--pink), var(--orange))}html,body,#root{height:100%;background:#000;overflow:hidden}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#fff;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.app{position:relative;height:100dvh;max-width:480px;margin:0 auto}.feed{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none}.feed::-webkit-scrollbar{display:none}.feed.locked{pointer-events:none}.ad-wait{position:absolute;top:50%;left:50%;z-index:40;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:14px;font-weight:600}.slot{position:relative;height:100dvh;scroll-snap-align:start;scroll-snap-stop:always}.status{display:grid;place-content:center;gap:14px;text-align:center;color:#bbb}.skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,#0d0d14 30%,#1b1b28,#0d0d14 70%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}.skeleton .sk-bar{position:absolute;left:16px;right:16px;bottom:24px;height:84px;border-radius:22px;background:#ffffff0d}.skeleton .sk-line{position:absolute;left:16px;height:12px;border-radius:6px;background:#ffffff12}@keyframes shimmer{to{background-position:-200% 0}}.reel{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#000}.reel video,.reel>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.cover{object-fit:cover}.contain{object-fit:contain}.tap-layer{position:absolute;top:0;right:0;bottom:0;left:0}.shade{position:absolute;left:0;right:0;pointer-events:none}.shade.top{top:0;height:130px;background:linear-gradient(rgba(0,0,0,.6),transparent)}.shade.bottom{bottom:0;height:340px;background:linear-gradient(transparent,#0000008c 45%,#000000e6)}.topbar{position:absolute;top:calc(14px + env(safe-area-inset-top));left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.topbar>*{pointer-events:auto}.live-pill{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.live-pill .dot{width:8px;height:8px;border-radius:50%;background:#ff2d55;box-shadow:0 0 #ff2d55aa;animation:pulse 1.6s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px #ff2d5500}to{box-shadow:0 0 #ff2d5500}}.glass-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .15s}.glass-btn:active{transform:scale(.9)}.buffering{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:14px;font-weight:600;pointer-events:none}.ring,.spinner{width:20px;height:20px;border-radius:50%;background:conic-gradient(from 0deg,transparent 20%,var(--pink),var(--orange));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);animation:spin .8s linear infinite}.spinner{width:40px;height:40px;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.play-big{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;display:grid;place-items:center;padding-left:4px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:fadeScale .2s ease-out}@keyframes fadeScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}}.dbl-heart{position:absolute;font-size:96px;pointer-events:none;filter:drop-shadow(0 6px 20px rgba(255,45,85,.6));animation:dblHeart .9s cubic-bezier(.2,.9,.3,1.2) forwards}@keyframes dblHeart{0%{transform:translate(-50%,-50%) rotate(var(--rot)) scale(0);opacity:0}25%{transform:translate(-50%,-50%) rotate(var(--rot)) scale(1.2);opacity:1}45%{transform:translate(-50%,-50%) rotate(var(--rot)) scale(.95)}to{transform:translate(-50%,-160%) rotate(var(--rot)) scale(1);opacity:0}}.meta{position:absolute;left:16px;right:16px;bottom:calc(124px + env(safe-area-inset-bottom))}.caption{margin-top:10px;font-size:14px;line-height:1.4;color:#f1f1f1;text-shadow:0 1px 4px #0009;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.caption.open{-webkit-line-clamp:unset}.meta.no-stats{bottom:calc(28px + env(safe-area-inset-bottom))}.stats[hidden]{display:none}.stats{position:absolute;left:14px;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);padding:12px 6px 10px;border-radius:24px;background:linear-gradient(#141220b8,#0c0a14d1) padding-box,linear-gradient(135deg,#ff3d8b99,#ffffff14 40%,#8b5cf699) border-box;border:1px solid transparent;backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff0f}.stat{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}.stat+.stat:before{content:"";position:absolute;left:0;top:18%;height:64%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.18),transparent)}.stat:disabled{cursor:default}.badge{--c: 255, 255, 255;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 30% 25%,rgba(var(--c),.28),rgba(var(--c),.08) 70%);border:1px solid rgba(var(--c),.25);transition:transform .2s,box-shadow .25s,background .25s}.stat.views .badge{--c: 147, 197, 253}.stat.heart .badge{--c: 255, 61, 110}.stat.wow .badge{--c: 251, 191, 36}.stat.fire .badge{--c: 255, 138, 61}.icon{font-size:21px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.stat:active:not(:disabled) .badge{transform:scale(.88)}.badge.hit{animation:badgeHit .7s ease-out}.badge.hit .icon{animation:pop .5s cubic-bezier(.3,1.8,.5,1)}@keyframes badgeHit{0%{background:radial-gradient(circle at 30% 25%,rgba(var(--c),.9),rgba(var(--c),.4) 75%);box-shadow:0 0 26px rgba(var(--c),.9),0 0 0 2px rgba(var(--c),.6)}to{box-shadow:0 0 rgba(var(--c),0),0 0 rgba(var(--c),0)}}@keyframes pop{0%{transform:scale(.5) rotate(-15deg)}50%{transform:scale(1.5) rotate(10deg)}75%{transform:scale(.9) rotate(-4deg)}to{transform:scale(1) rotate(0)}}.shock{position:absolute;top:0;left:50%;width:40px;height:40px;margin-left:-20px;border-radius:50%;border:2px solid rgba(var(--c),.9);pointer-events:none;animation:shock .6s ease-out forwards}.stat.heart .shock{--c: 255, 61, 110}.stat.wow .shock{--c: 251, 191, 36}.stat.fire .shock{--c: 255, 138, 61}@keyframes shock{0%{transform:scale(.8);opacity:1}to{transform:scale(2.6);opacity:0;border-width:0}}.plus-one{position:absolute;top:-8px;right:8px;font-size:13px;font-weight:900;color:#fff;text-shadow:0 0 10px rgba(255,61,139,.9);pointer-events:none;animation:plusOne .8s ease-out forwards}@keyframes plusOne{0%{transform:translateY(6px) scale(.6);opacity:0}25%{transform:translateY(-6px) scale(1.2);opacity:1}to{transform:translateY(-34px) scale(1);opacity:0}}.combo{position:absolute;top:-44px;left:50%;padding:3px 10px;border-radius:999px;background:var(--brand);font-size:14px;font-weight:900;font-style:italic;white-space:nowrap;box-shadow:0 4px 18px #ff3d8b99;pointer-events:none;animation:combo .9s cubic-bezier(.3,1.6,.5,1) forwards}@keyframes combo{0%{transform:translate(-50%) scale(.3);opacity:0}20%{transform:translate(-50%) scale(1.25);opacity:1}35%{transform:translate(-50%) scale(1)}80%{opacity:1}to{transform:translate(-50%) translateY(-14px) scale(1);opacity:0}}.count{font-size:15px;font-weight:800;letter-spacing:-.2px;font-variant-numeric:tabular-nums;animation:bump .35s ease-out}@keyframes bump{0%{transform:translateY(4px);opacity:.4}to{transform:none;opacity:1}}.count{-webkit-background-clip:text;background-clip:text;color:transparent}.stat.views .count{background-image:linear-gradient(#fff,#dbeafe)}.stat.heart .count{background-image:linear-gradient(#ffd1df,#ff6b93)}.stat.wow .count{background-image:linear-gradient(#fff3c4,#fcd34d)}.stat.fire .count{background-image:linear-gradient(#ffe0c2,#ffa057)}.stat small{font-size:9.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#ffffff80;transition:color .2s}.particle{position:absolute;top:18px;pointer-events:none;opacity:0;z-index:2;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));animation:burstOut 2s cubic-bezier(.25,.6,.35,1) forwards}@keyframes burstOut{0%{transform:translate(-50%,-50%) scale(.2) rotate(0);opacity:0}8%{transform:translate(calc(-50% + var(--dx) * .15),calc(-50% - 40px)) scale(1.3);opacity:1}30%{transform:translate(calc(-50% + var(--dx) * .4 + var(--sway)),calc(-50% + var(--dy) * .3)) scale(1.1) rotate(calc(var(--rot) * .3))}55%{transform:translate(calc(-50% + var(--dx) * .7 - var(--sway)),calc(-50% + var(--dy) * .58)) scale(1) rotate(calc(var(--rot) * .6))}80%{transform:translate(calc(-50% + var(--dx) * .9 + var(--sway)),calc(-50% + var(--dy) * .82)) scale(.95) rotate(calc(var(--rot) * .85));opacity:.9}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.85) rotate(var(--rot));opacity:0}}.spark{position:absolute;top:30px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px #ff3d8be6;pointer-events:none;animation:spark .55s ease-out forwards}@keyframes spark{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff1f}.progress div{height:100%;background:var(--brand);box-shadow:0 0 10px var(--pink);transform-origin:left}.video-failed{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 24px;border-radius:20px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-align:center;white-space:nowrap;pointer-events:none}.video-failed span{font-size:34px}.video-failed small{color:#fff9;font-size:12.5px}.failsafe{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 10%,rgba(255,61,139,.22),transparent 45%),radial-gradient(circle at 85% 90%,rgba(139,92,246,.22),transparent 45%),#07060c}.fs-card{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:20px;background:linear-gradient(#181424e6,#0e0c16f2) padding-box,linear-gradient(135deg,#ff3d8b99,#ffffff14 45%,#8b5cf699) border-box;border:1px solid transparent}.fs-icon{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#ffffff0f;font-size:22px}.fs-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fs-text strong{font-size:14.5px}.fs-text small{font-size:12px;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.fs-retry{flex:none;min-width:72px;height:36px;display:grid;place-items:center;border-radius:12px;background:var(--brand);font-size:13px;font-weight:700}.fs-retry:disabled{background:#ffffff14}.fs-hint{margin:14px 4px 8px;font-size:13px;color:#fff9}.game{position:relative;flex:1;min-height:0;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 120%,rgba(255,61,139,.25),transparent 60%),linear-gradient(#120f1d,#0a0912);border:1px solid rgba(255,255,255,.08)}.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.game-hud{position:absolute;top:12px;left:14px;right:14px;z-index:1;display:flex;align-items:center;gap:18px;pointer-events:none}.game-hud small{display:block;font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:#ffffff73}.game-hud strong{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}.hud-score strong{display:inline-block;background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent;animation:bump .3s ease-out}.hud-best strong{font-size:16px;color:#ffffffb3}.hud-lives{margin-left:auto;display:flex;gap:3px;font-size:18px}.hud-lives .lost{filter:grayscale(1);opacity:.25;transform:scale(.85);transition:all .3s}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:#07060c8c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .25s ease-out}.go-title{font-size:22px;font-weight:800}.go-score{font-size:64px;font-weight:900;line-height:1;background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}.go-best{font-size:14px;font-weight:700;color:#fcd34d}.go-help{max-width:260px;font-size:13px;line-height:1.6;color:#fff9}.go-play{margin-top:8px;padding:13px 40px;border-radius:16px;background:var(--brand);font-size:16px;font-weight:800;box-shadow:0 8px 24px #ff3d8b73;transition:transform .15s}.go-play:active{transform:scale(.95)}.mock-badge{position:fixed;left:50%;bottom:6px;z-index:100;transform:translate(-50%);padding:3px 10px;border-radius:999px;background:#16a34a;font:600 10.5px/1.4 ui-monospace,monospace;white-space:nowrap;pointer-events:none}.mock-ad{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(160deg,#0f766e,#1e3a8a);text-align:center;animation:fadeIn .2s ease-out}.mock-ad-tag{padding:3px 10px;border-radius:6px;background:#facc15;color:#000;font-weight:800;font-size:12px}.mock-ad-title{font-size:30px;font-weight:900}.mock-ad-sub{font-size:13px;opacity:.75}.mock-ad-close{margin-top:18px;padding:10px 22px;border-radius:12px;background:#fff;color:#000;font-weight:700}.mock-ad-close:disabled{opacity:.5}.gate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#0000008c;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}}.gate{width:100%;max-width:340px;padding:28px 22px 20px;border-radius:28px;text-align:center;background:linear-gradient(#181424eb,#0e0c16f5) padding-box,linear-gradient(135deg,#ff3d8bcc,#ffffff14 45%,#8b5cf6cc) border-box;border:1px solid transparent;box-shadow:0 24px 80px #000000b3,0 0 60px #ff3d8b26;animation:gateIn .45s cubic-bezier(.2,1.4,.4,1)}@keyframes gateIn{0%{transform:translateY(24px) scale(.92);opacity:0}}.gate-badge{width:72px;height:72px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:var(--brand);font-size:24px;font-weight:900;letter-spacing:-.5px;box-shadow:0 0 0 6px #ff3d8b26,0 10px 30px #ff3d8b80}.gate h2{font-size:22px;font-weight:800;margin-bottom:8px}.gate p{font-size:13.5px;line-height:1.5;color:#ffffffa6;margin-bottom:22px}.gate-yes,.gate-no{display:block;width:100%;padding:14px;border-radius:16px;font-size:15px;font-weight:700;transition:transform .15s}.gate-yes{background:var(--brand);box-shadow:0 8px 24px #ff3d8b73}.gate-no{margin-top:10px;color:#fff9}.gate-yes:active,.gate-no:active{transform:scale(.97)}.retry,.toast{padding:10px 18px;border-radius:999px;background:var(--brand);font-weight:600;box-shadow:0 6px 20px #ff3d8b66}.toast{position:absolute;top:calc(66px + env(safe-area-inset-top));left:50%;transform:translate(-50%);font-size:13px;white-space:nowrap}
