*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #000;--color-bg-card: #111;--color-bg-overlay: rgba(0, 0, 0, .6);--color-primary: #fe2c55;--color-primary-light: #ff6b6b;--color-secondary: #25f4ee;--color-text: #fff;--color-text-muted: rgba(255, 255, 255, .6);--color-border: rgba(255, 255, 255, .12);--color-input-bg: rgba(255, 255, 255, .08);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 999px;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--z-video: 1;--z-overlay: 10;--z-panel: 20;--z-modal: 100;--z-toast: 200}html,body{height:100%;width:100%;overflow:hidden;background:#0d0d0d;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%;max-width:480px;margin:0 auto;overflow:hidden;position:relative;background:var(--color-bg);box-shadow:0 0 0 1px #ffffff0f,0 0 80px #000000e6}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}input,textarea{font-family:inherit;color:inherit}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.avatar{border-radius:50%;object-fit:cover;background:var(--color-input-bg);flex-shrink:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-enter-active,.toast-leave-active{transition:all .3s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-20px)}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.slide-up-enter-from,.slide-up-leave-to{transform:translateY(100%);opacity:0}@keyframes gift-float{0%{transform:translate(-100px);opacity:0}20%{transform:translate(0);opacity:1}70%{transform:translate(0);opacity:1}to{transform:translate(0);opacity:0}}@keyframes like-float{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-200px) scale(.5);opacity:0}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}
