.header-user-actions-name:hover,.header-user-actions-logout:hover{color:#1890ff}.header-user-actions-sidebar{box-sizing:border-box}.header-user-actions-sidebar.collapsed .ant-btn{margin:0;cursor:pointer}.header-user-actions-sidebar.collapsed .ant-btn:hover{background:#ff4d4f14}.header-user-actions-sidebar-block .ant-btn{margin:0}.header-user-actions-sidebar-block [role=button]{cursor:pointer;border-radius:4px;padding:2px 4px;margin:-2px -4px;transition:background .2s,color .2s}.header-user-actions-sidebar-block [role=button]:hover{background:#1890ff14;color:#1890ff}.header-user-actions-sidebar-block [role=button]:hover>div:last-child div:first-child{color:#1890ff}.header-user-actions-sidebar-block [role=button]:hover>div:last-child div:last-child{color:#1890ffb3}.header-user-actions-sidebar-block .ant-btn[title=退出登录],.header-user-actions-sidebar-block .ant-btn-danger{cursor:pointer;transition:background .2s,color .2s}.header-user-actions-sidebar-block .ant-btn[title=退出登录]:hover,.header-user-actions-sidebar-block .ant-btn-danger:hover{background:#ff4d4f14}.notification-center{position:relative}.notification-center-trigger{display:inline-flex;align-items:center;justify-content:center;line-height:1}.notification-center-trigger .ant-btn{padding:4px 8px}.notification-center-badge{line-height:0}.notification-center-badge .ant-badge-count{min-width:16px;height:16px;line-height:16px;font-size:11px;box-shadow:none}.notification-item{transition:all .3s ease}.notification-item:hover{background-color:#fafafa!important}.notification-item.unread{background-color:#f0f7ff}.main-layout-sider-footer{box-sizing:border-box}.main-layout-sider-footer .header-user-actions-sidebar-block{margin:0;padding:4px 0}.main-layout-current-team{display:flex;align-items:center;min-height:28px;padding:4px 6px;margin-bottom:6px;border-radius:6px;color:#000000a6;font-size:12px;transition:background .2s,color .2s}.main-layout-current-team .main-layout-team-trigger{display:flex;align-items:center;justify-content:center;width:100%;cursor:pointer;padding:4px 0;border-radius:4px}.main-layout-current-team .main-layout-team-trigger:hover{background:#1890ff0f;color:#1890ff}.main-layout-current-team .main-layout-team-trigger:hover .anticon{color:#1890ff}.main-layout-current-team .main-layout-team-select{font-size:12px}.main-layout-current-team .main-layout-team-select .ant-select-selector{padding-left:0!important}.main-layout-current-team--collapsed{justify-content:center;margin-bottom:4px}.main-layout-current-team--collapsed .main-layout-team-trigger:focus-visible{outline:1px solid #1890ff;outline-offset:1px}.mobile-loading-screen{position:relative;width:100%;height:100%;min-height:100vh;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:9999}.mobile-loading-screen.fullscreen{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;min-height:calc(100vh + env(safe-area-inset-bottom,0px))!important;min-height:calc(100dvh + env(safe-area-inset-bottom,0px))!important;max-height:none!important;margin:0!important;padding:0!important;z-index:99999!important}.mobile-loading-background{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px));overflow:hidden}.mobile-loading-screen.fullscreen .mobile-loading-background{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px))}.mobile-loading-gradient{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:200% 200%;animation:gradientShift 8s ease infinite}.mobile-loading-screen.fullscreen .mobile-loading-gradient{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px))}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.mobile-loading-particles{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.mobile-loading-particle{position:absolute;width:4px;height:4px;background:#fff9;border-radius:50%;animation:floatParticle 4s ease-in-out infinite;box-shadow:0 0 6px #fffc}@keyframes floatParticle{0%,to{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-20px) scale(1.2);opacity:.8}}.mobile-loading-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:20px}.mobile-loading-logo{position:relative;width:80px;height:80px;margin-bottom:8px}.mobile-loading-logo-circle{width:100%;height:100%;border-radius:50%;background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;animation:pulseLogo 2s ease-in-out infinite;box-shadow:0 8px 32px #0003,inset 0 0 20px #ffffff1a}@keyframes pulseLogo{0%,to{transform:scale(1);box-shadow:0 8px 32px #0003,inset 0 0 20px #ffffff1a}50%{transform:scale(1.05);box-shadow:0 12px 40px #0000004d,inset 0 0 30px #fff3}}.mobile-loading-logo-inner{width:50%;height:50%;border-radius:50%;background:linear-gradient(135deg,#ffffffe6,#fff9);animation:rotateInner 3s linear infinite;box-shadow:0 2px 8px #0000001a}@keyframes rotateInner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-loading-spinner-container{position:relative;width:60px;height:60px}.mobile-loading-spinner{position:relative;width:100%;height:100%}.mobile-loading-spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:#ffffffe6;border-radius:50%;animation:spinRing 1.2s cubic-bezier(.5,0,.5,1) infinite;box-shadow:0 0 10px #ffffff80}.mobile-loading-spinner-ring:nth-child(1){animation-delay:-.45s;border-top-color:#ffffffe6}.mobile-loading-spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#ffffffb3;width:80%;height:80%;top:10%;left:10%}.mobile-loading-spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#ffffff80;width:60%;height:60%;top:20%;left:20%}.mobile-loading-spinner-ring:nth-child(4){border-top-color:#ffffff4d;width:40%;height:40%;top:30%;left:30%}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-loading-text{color:#fffffff2;font-size:16px;font-weight:500;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.2);letter-spacing:1px;animation:pulseText 1.5s ease-in-out infinite}@keyframes pulseText{0%,to{opacity:.8}50%{opacity:1}}@media (max-width: 480px){.mobile-loading-logo{width:70px;height:70px}.mobile-loading-spinner-container{width:50px;height:50px}.mobile-loading-text{font-size:14px}}.list-table .ant-table-cell .ant-space{flex-wrap:wrap}.workspace-sidebar-menu::-webkit-scrollbar{width:6px}.workspace-sidebar-menu::-webkit-scrollbar-track{background:transparent}.workspace-sidebar-menu::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.workspace-sidebar-menu::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.workspace-collapse-button{position:absolute;top:41px;left:240px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;box-shadow:0 2px 4px #00000014;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:100;font-size:12px;color:#595959;pointer-events:auto;margin-left:-12px}.ant-layout-sider-collapsed~.workspace-collapse-button{left:64px}.workspace-collapse-button:hover{background:#f5f5f5;border-color:#d9d9d9;box-shadow:0 3px 6px #0000001f;transform:scale(1.05);color:#262626}.workspace-collapse-button:active{transform:scale(.95);box-shadow:0 1px 2px #0000001a}.workspace-collapse-button .anticon{font-size:12px;transition:transform .2s}.workspace-collapse-button:hover .anticon{transform:scale(1.1)}.window-tabs{background:#fff;border-bottom:1px solid #f0f0f0;overflow:hidden;height:40px}.window-tabs-container{display:flex;align-items:center;gap:8px;height:100%;position:relative}.window-tabs .ant-tabs{margin:0;flex:1;min-width:0;overflow:hidden}.window-tabs .ant-tabs-nav{margin:0;padding:0 16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 transparent}.window-tabs .ant-tabs-nav::-webkit-scrollbar{height:6px}.window-tabs .ant-tabs-nav::-webkit-scrollbar-track{background:transparent}.window-tabs .ant-tabs-nav::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.window-tabs .ant-tabs-nav::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.window-tabs .ant-tabs-nav-list{flex-wrap:nowrap;min-width:max-content}.window-tabs .ant-tabs-tab{flex-shrink:0;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;background:#fafafa;border:1px solid #f0f0f0;border-bottom:none;margin:0 2px}.window-tabs .ant-tabs-tab-active{background:#fff}.window-tabs .ant-tabs-tab .window-tab-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:inline-block}.window-tab-label{display:flex;align-items:center;gap:8px;padding-right:4px;-webkit-user-select:none;user-select:none}.window-tab-label:active{cursor:grabbing}.window-tab-actions{display:none;align-items:center;gap:2px}.window-tabs .ant-tabs-tab:hover .window-tab-actions{display:flex}.window-tabs-container:has(.window-tab-preview) .ant-tabs-tab:hover .window-tab-actions{display:none}.window-tab-action-btn{padding:0 2px;min-width:16px;height:16px;font-size:12px;opacity:.6;display:flex;align-items:center;justify-content:center}.window-tab-action-btn:hover{opacity:1;background:#0000000f}.window-tabs-batch-btn{margin-right:8px;padding:4px 8px}.window-tab-insert-indicator{position:absolute;top:0;bottom:0;width:3px;background:#1890ff;z-index:100;pointer-events:none;animation:pulse 1s ease-in-out infinite;border-radius:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.window-tab-preview{animation:previewFadeIn .2s ease-in}@keyframes previewFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.window-tabs-with-preview .ant-tabs-nav-list{position:relative}.window-tabs-with-preview .ant-tabs-tab{transition:transform .2s ease,margin-left .2s ease}.window-tabs-with-preview .ant-tabs-nav-list{--preview-width: 0px;--preview-index: -1}.window-tabs-with-preview .ant-tabs-tab{position:relative}.window-tabs-with-preview .ant-tabs-nav-list:after{content:"";position:absolute;left:calc(16px + var(--preview-index, -1) * 0px);width:var(--preview-width, 0px);height:1px;pointer-events:none;opacity:0}.window-tabs .ant-tabs-content,.window-tabs .ant-tabs-tabpane{display:none!important}.admin-window-container{height:100%;overflow:auto;padding:16px;background:#fff}.notifications-page-table .notification-title-link{color:#1890ff!important;cursor:pointer!important;text-decoration:none}.notifications-page-table .notification-title-link:hover{color:#40a9ff!important;text-decoration:underline}.notifications-page-table .notification-content-cell{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-page-table .notification-read-row td{color:#999;background-color:#fafafa}.notifications-page-table .notification-read-row .notification-title-link{color:#1890ff!important;cursor:pointer!important}.notifications-page-table .notification-read-row .notification-title-link:hover{color:#40a9ff!important}.mobile-layout{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:#f5f5f5;overflow:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-layout-content{flex:1;overflow:scroll;display:flex;flex-direction:column;min-height:0;position:relative}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:.5px solid rgba(0,0,0,.08);display:flex;justify-content:space-around;align-items:flex-start;z-index:10000;box-shadow:0 -1px #0000000d;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px 4px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;position:relative;-webkit-tap-highlight-color:transparent;min-height:56px}.mobile-nav-item:active{transform:scale(.95);opacity:.7}.mobile-nav-icon{font-size:24px;color:#8c8c8c;margin-bottom:2px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;line-height:1}.mobile-nav-label{font-size:11px;color:#8c8c8c;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;font-weight:400;line-height:1.2;letter-spacing:-.2px}.mobile-nav-item.active{color:#1890ff}.mobile-nav-item.active .mobile-nav-icon{color:#1890ff;transform:scale(1.05)}.mobile-nav-item.active .mobile-nav-label{color:#1890ff;font-weight:600}.mobile-nav-item.active:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:#1890ff;border-radius:0 0 2px 2px;opacity:1;transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-nav-item:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:3px;background:#1890ff;border-radius:0 0 2px 2px;opacity:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.mobile-login-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:calc(100vh + 150px);height:calc(100dvh + 150px);min-height:calc(100vh + 150px);min-height:calc(100dvh + 150px);max-height:none;background:transparent;display:flex;align-items:center;justify-content:center;padding:20px;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(100px + env(safe-area-inset-bottom));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right));box-sizing:border-box;z-index:1;overflow:hidden;margin:0}.mobile-login-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:calc(100vh + 150px);height:calc(100dvh + 150px);min-height:calc(100vh + 150px);min-height:calc(100dvh + 150px);margin-top:0;padding-top:0;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;border:none;outline:none;z-index:-1;pointer-events:none}.mobile-login-content{width:100%;max-width:360px;background:#fff;border-radius:16px;padding:24px 20px;box-shadow:0 8px 24px #0003;position:relative;z-index:2;max-height:calc(100vh - 120px);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-login-header{text-align:center;margin-bottom:24px}.mobile-login-header-top{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.mobile-login-logo{width:40px;height:40px;flex-shrink:0}.mobile-login-title{font-size:18px;font-weight:600;color:#262626;margin:0}.mobile-login-subtitle{font-size:14px;color:#8c8c8c;margin:0}.mobile-login-tabs{display:flex;border-bottom:1px solid #f0f0f0;margin-bottom:20px}.mobile-tab{flex:1;padding:12px;background:none;border:none;font-size:15px;color:#8c8c8c;cursor:pointer;position:relative;transition:color .3s}.mobile-tab.active{color:#1890ff;font-weight:500}.mobile-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#1890ff}.mobile-login-form{width:100%}.mobile-form-item{margin-bottom:16px}.mobile-form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mobile-login-button{height:44px;font-size:16px;font-weight:500}:root{--adm-radius-s: 4px;--adm-radius-m: 8px;--adm-radius-l: 12px;--adm-font-size-1: 9px;--adm-font-size-2: 10px;--adm-font-size-3: 11px;--adm-font-size-4: 12px;--adm-font-size-5: 13px;--adm-font-size-6: 14px;--adm-font-size-7: 15px;--adm-font-size-8: 16px;--adm-font-size-9: 17px;--adm-font-size-10: 18px;--adm-color-primary: #1677ff;--adm-color-success: #00b578;--adm-color-warning: #ff8f1f;--adm-color-danger: #ff3141;--adm-color-yellow: #ff9f18;--adm-color-orange: #ff6430;--adm-color-wathet: #e7f1ff;--adm-color-text: #333333;--adm-color-text-secondary: #666666;--adm-color-weak: #999999;--adm-color-light: #cccccc;--adm-color-border: #eeeeee;--adm-color-background: #ffffff;--adm-color-highlight: var(--adm-color-danger);--adm-color-white: #ffffff;--adm-color-box: #f5f5f5;--adm-color-text-light-solid: var(--adm-color-white);--adm-color-text-dark-solid: #000000;--adm-color-fill-content: var(--adm-color-box);--adm-font-size-main: var(--adm-font-size-5);--adm-font-family: -apple-system, blinkmacsystemfont, "Helvetica Neue", helvetica, segoe ui, arial, roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;--adm-border-color: var(--adm-color-border)}html[data-prefers-color-scheme=dark]{--adm-color-primary: #3086ff;--adm-color-success: #34b368;--adm-color-warning: #ffa930;--adm-color-danger: #ff4a58;--adm-color-yellow: #ffa930;--adm-color-orange: #e65a2b;--adm-color-wathet: #0d2543;--adm-color-text: #e6e6e6;--adm-color-text-secondary: #b3b3b3;--adm-color-weak: #808080;--adm-color-light: #4d4d4d;--adm-color-border: #2b2b2b;--adm-color-box: #0a0a0a;--adm-color-background: #1a1a1a;--adm-color-background-body: var(--adm-color-background);--adm-border-color: var(--adm-color-border)}:root{-webkit-tap-highlight-color:rgba(0,0,0,0)}html{background-color:var(--adm-color-background-body)}body{color:var(--adm-color-text);font-size:var(--adm-font-size-main);font-family:var(--adm-font-family)}a,button{cursor:pointer}a{color:var(--adm-color-primary);transition:opacity ease-in-out .2s}a:active{opacity:.8}.adm-plain-anchor{color:unset;transition:none}.adm-plain-anchor:active{opacity:unset}body.adm-overflow-hidden{overflow:hidden!important}div.adm-px-tester{--size: 1;height:calc(var(--size) / 2 * 2px);width:0;position:fixed;left:-100vw;top:-100vh;-webkit-user-select:none;user-select:none;pointer-events:none}.adm-pull-to-refresh-head{overflow:hidden;position:relative}.adm-pull-to-refresh-head-content{position:absolute;bottom:0;left:0;width:100%;color:var(--adm-color-weak);display:flex;justify-content:center;align-items:center}.mobile-page-template{min-height:100vh;min-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:100%;max-width:100vw;overflow:visible;position:relative;display:flex;flex-direction:column;overscroll-behavior-y:contain;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;min-height:0}.mobile-page-header{width:100%;z-index:100;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-page-header.sticky{position:sticky;top:0}.mobile-page-header.relative{position:relative}.mobile-table-header{width:100%;z-index:99;position:sticky;top:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-page-header.sticky~.mobile-table-header{top:auto}.mobile-event-nav{width:100%;z-index:98;position:sticky;top:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.mobile-page-content{flex:1;width:100%;max-width:100vw;overflow:visible;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:calc(70px + env(safe-area-inset-bottom));box-sizing:border-box;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0}:global(.adm-pull-to-refresh){height:100vh!important;height:calc(100vh - env(safe-area-inset-top))!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;position:relative;display:flex!important;flex-direction:column!important;max-height:calc(100vh - env(safe-area-inset-top));touch-action:pan-y;cursor:default;min-height:0;flex:1;will-change:scroll-position}:global(.adm-pull-to-refresh-content){min-height:100%;display:flex;flex-direction:column;flex:1;overflow:visible!important;max-height:none;padding-bottom:calc(70px + env(safe-area-inset-bottom))!important;box-sizing:border-box;touch-action:pan-y}.mobile-page-template.without-pull-to-refresh{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;height:100vh;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));cursor:default}:global(body),:global(html){overflow:hidden;height:100%}:global(.mobile-layout){height:100vh;height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:hidden;display:flex;flex-direction:column}.mobile-profile-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:40px 20px 30px;text-align:center;position:relative;overflow:hidden;animation:fadeInDown .5s ease-out;padding-top:calc(40px + env(safe-area-inset-top));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right))}.mobile-profile-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate 15s linear infinite}.mobile-profile-title{font-size:24px;font-weight:700;margin:0;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2);position:relative;z-index:1;letter-spacing:-.5px}.mobile-profile-content{padding:20px 16px;padding-bottom:calc(70px + env(safe-area-inset-bottom));padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));animation:fadeIn .5s ease-out .2s both}.mobile-profile-card{border-radius:20px;margin-bottom:16px;box-shadow:0 4px 20px #00000014;background:#fff;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUpFade .5s ease-out;animation-fill-mode:both}.mobile-profile-card:nth-child(1){animation-delay:.1s}.mobile-profile-card:nth-child(2){animation-delay:.2s}.mobile-profile-card:hover{box-shadow:0 6px 24px #0000001f;transform:translateY(-2px)}.mobile-profile-teams-entry{cursor:pointer}.mobile-profile-teams-entry:active{opacity:.9}.mobile-profile-avatar{display:flex;justify-content:center;margin-bottom:16px;animation:bounceIn .8s ease-out .3s both}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.mobile-profile-avatar-circle{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;border:4px solid white;box-shadow:0 4px 20px #667eea4d;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-profile-avatar-circle:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 30px #667eea66}.mobile-profile-info{text-align:center}.mobile-profile-name{font-size:22px;font-weight:700;margin:0 0 4px;color:#262626;transition:color .3s}.mobile-profile-username{font-size:14px;color:#8c8c8c;margin:0}.mobile-profile-details{display:flex;flex-direction:column;gap:16px}.mobile-profile-detail-item{display:flex;align-items:flex-start;gap:12px;transition:transform .3s;padding:8px;border-radius:12px}.mobile-profile-detail-item:hover{background:#f5f5f5;transform:translate(4px)}.mobile-profile-detail-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #667eea33;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-profile-detail-item:hover .mobile-profile-detail-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 4px 12px #667eea4d}.mobile-profile-detail-content{flex:1}.mobile-profile-detail-label{font-size:12px;color:#8c8c8c;margin-bottom:4px;font-weight:500}.mobile-profile-detail-value{font-size:16px;color:#262626;font-weight:600}.mobile-profile-actions{margin-top:24px;margin-bottom:20px}.mobile-profile-action-btn{height:52px;border-radius:14px;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.mobile-profile-action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.mobile-profile-action-btn:active:before{width:300px;height:300px}.mobile-profile-action-btn:active{transform:scale(.98)}.mobile-profile-logout-btn{height:52px;border-radius:14px;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 8px #f5222d33}.mobile-profile-logout-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.mobile-profile-logout-btn:active:before{width:300px;height:300px}.mobile-profile-logout-btn:active{transform:scale(.98)}.mobile-profile-container .ant-modal-content{border-radius:20px;overflow:hidden;animation:modalSlideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-profile-container .ant-form-item-label>label{font-weight:600}.mobile-profile-container .ant-input-affix-wrapper{border-radius:12px;transition:all .3s}.mobile-profile-container .ant-input-affix-wrapper:focus,.mobile-profile-container .ant-input-affix-wrapper-focused{box-shadow:0 0 0 2px #1890ff33}.mobile-profile-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;gap:20px}.mobile-profile-loading .mobile-loading-spinner{position:relative;width:60px;height:60px}.mobile-profile-loading .mobile-spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:#667eea;border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.mobile-profile-loading .mobile-spinner-ring:nth-child(1){animation-delay:-.45s;border-top-color:#667eea}.mobile-profile-loading .mobile-spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#764ba2;width:80%;height:80%;top:10%;left:10%}.mobile-profile-loading .mobile-spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#f093fb;width:60%;height:60%;top:20%;left:20%}.mobile-profile-loading .mobile-spinner-ring:nth-child(4){border-top-color:#f5576c;width:40%;height:40%;top:30%;left:30%}.maintenance-page-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;z-index:10000;touch-action:none;-webkit-overflow-scrolling:none;overscroll-behavior:none}.maintenance-page-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg,#667eea,#764ba2);z-index:-1;pointer-events:none}@media (max-width: 768px){.maintenance-page-container{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;min-height:calc(100vh + env(safe-area-inset-bottom,0px))!important;min-height:calc(100dvh + env(safe-area-inset-bottom,0px))!important;overflow:hidden!important;touch-action:none!important;overscroll-behavior:none!important}}.not-found-page-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden;z-index:10000;touch-action:none;-webkit-overflow-scrolling:none;overscroll-behavior:none}.not-found-page-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;width:100dvw;height:100vh;height:100dvh;min-height:calc(100vh + env(safe-area-inset-bottom,0px));min-height:calc(100dvh + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg,#667eea,#764ba2);z-index:-1;pointer-events:none}@media (max-width: 768px){.not-found-page-container{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;width:100dvw!important;height:100vh!important;height:100dvh!important;min-height:calc(100vh + env(safe-area-inset-bottom,0px))!important;min-height:calc(100dvh + env(safe-area-inset-bottom,0px))!important;overflow:hidden!important;touch-action:none!important;overscroll-behavior:none!important}}.no-permission-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f5f5f5,#fff)}.no-permission-mobile{padding:60px 16px 16px;min-height:auto;align-items:flex-start}.no-permission-card{max-width:480px;width:100%;text-align:center;border-radius:12px;box-shadow:0 2px 12px #0000000f}.no-permission-icon{font-size:56px;color:#faad14;margin-bottom:16px}.no-permission-title{margin-bottom:8px!important}.no-permission-desc{margin-bottom:24px!important}.no-permission-list{text-align:left;background:#fafafa;padding:16px;border-radius:8px;margin-bottom:24px}.no-permission-list ul{margin:8px 0 0;padding-left:20px}.no-permission-list code{background:#fff;padding:2px 8px;border-radius:4px;font-size:13px}.no-permission-actions{margin-bottom:24px}.no-permission-tips{text-align:left;padding-top:16px;border-top:1px solid #f0f0f0}.mobile-teams-page{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.mobile-teams-header{display:flex;align-items:center;gap:12px;padding:16px 20px 24px;padding-top:calc(16px + env(safe-area-inset-top));padding-left:calc(20px + env(safe-area-inset-left));padding-right:calc(20px + env(safe-area-inset-right));background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.mobile-teams-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:mobile-teams-rotate 15s linear infinite}@keyframes mobile-teams-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-teams-back{padding:4px;color:#fffffff2!important;position:relative;z-index:1;flex-shrink:0}.mobile-teams-back:hover,.mobile-teams-back:active{color:#fff!important}.mobile-teams-title{margin:0;font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2);position:relative;z-index:1;flex:1;text-align:center;letter-spacing:-.5px}.mobile-teams-header-placeholder{width:40px;flex-shrink:0}.mobile-teams-content{padding:16px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));flex:1}.mobile-teams-desc{margin-bottom:16px;padding:12px 16px;background:#ffffffe6;border-radius:12px;box-shadow:0 2px 12px #0000000f}.mobile-teams-card{margin-bottom:16px;border-radius:20px;box-shadow:0 4px 20px #00000014;background:#fff;overflow:hidden}.mobile-teams-empty{text-align:center;padding:40px 20px;color:#8c8c8c}.mobile-teams-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.mobile-teams-item:hover{background:#fafafa}.mobile-teams-item:active{background:#f0f0f0}.mobile-teams-item:last-child{border-bottom:none}.mobile-teams-item-info{display:flex;align-items:center;gap:12px}.mobile-teams-item-icon{font-size:22px;color:#1890ff}.mobile-teams-item-label{font-weight:500;margin-bottom:4px}.mobile-teams-tag{font-size:11px;padding:0 6px;border-radius:4px}.mobile-teams-tag.current{background:#e6f7ff;color:#1890ff}.mobile-teams-tag.primary{background:#fffbe6;color:#faad14}.mobile-teams-item-actions{display:flex;gap:8px}.mobile-teams-tips{padding:12px 16px;background:#ffffffe6;border-radius:12px;box-shadow:0 2px 12px #0000000f}.sortable-list-item{display:flex;align-items:center;min-height:40px}.sortable-list-handle:active{cursor:grabbing}.sortable-list-handle:hover{color:#1890ff}.window-container{height:100%;overflow:auto;display:flex;flex-direction:column;position:relative}.window-container.active{display:flex}.window-container>div{width:100%;flex:1;overflow:auto;min-height:0}.window-content-padding{padding:16px;width:100%;flex:1;overflow:auto;display:flex;flex-direction:column;box-sizing:border-box;min-height:0}.window-content-padding .ant-table-wrapper{flex:1;overflow:auto}.window-content-padding .ant-table{min-height:100%}.window-container .ant-pro-table{height:100%;display:flex;flex-direction:column}.window-container .ant-pro-table .ant-pro-table-list-toolbar{flex-shrink:0}.window-container .ant-pro-table .ant-pro-table-container,.window-container .ant-pro-table .ant-table-wrapper{flex:1;overflow:hidden;display:flex;flex-direction:column}.window-container .ant-pro-table .ant-table,.window-container .ant-pro-table .ant-table-container{flex:1;display:flex;flex-direction:column}.window-container .ant-pro-table .ant-table-body{flex:1;overflow:auto!important}.floating-window{position:fixed;background:#fff;border:1px solid #d9d9d9;border-radius:4px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;z-index:1000;overflow:hidden;min-width:400px;min-height:300px;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.floating-window-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fafafa;border-bottom:1px solid #f0f0f0;cursor:move;user-select:none;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.floating-window-header:active{cursor:grabbing}.floating-window-header:hover{background:#f5f5f5}.floating-window-title{flex:1;font-weight:500;color:#262626;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-window-actions{display:flex;align-items:center;gap:4px;margin-left:12px}.floating-window-action-btn{padding:0 4px;min-width:24px;height:24px;opacity:.7}.floating-window-action-btn:hover{opacity:1;background:#0000000f}.floating-window-content{flex:1;overflow:auto;position:relative;background:#fff}.floating-window-resize-handle{position:absolute;z-index:10;background:transparent;transition:background-color .2s}.floating-window-resize-handle:hover{background:#1890ff1a}.floating-window-resize-nw{top:0;left:0;width:20px;height:20px;cursor:nwse-resize}.floating-window-resize-ne{top:0;right:0;width:20px;height:20px;cursor:nesw-resize}.floating-window-resize-sw{bottom:0;left:0;width:20px;height:20px;cursor:nesw-resize}.floating-window-resize-se{bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize}.floating-window-resize-n{top:0;left:20px;right:20px;height:4px;cursor:ns-resize}.floating-window-resize-s{bottom:0;left:20px;right:20px;height:4px;cursor:ns-resize}.floating-window-resize-w{left:0;top:20px;bottom:20px;width:4px;cursor:ew-resize}.floating-window-resize-e{right:0;top:20px;bottom:20px;width:4px;cursor:ew-resize}.window-manager{height:100%;display:flex;flex-direction:column;overflow:hidden}.window-manager-empty{display:flex;justify-content:center;align-items:center;height:100%;background:#fff}.window-content-area{flex:1;overflow:auto;position:relative;background:#fff;min-height:0}.minimized-windows-bar{display:flex;gap:8px;padding:8px;background:#fafafa;border-top:1px solid #f0f0f0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d9d9d9 transparent;max-height:60px;flex-shrink:0}.minimized-windows-bar::-webkit-scrollbar{height:6px}.minimized-windows-bar::-webkit-scrollbar-track{background:transparent}.minimized-windows-bar::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.minimized-windows-bar::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.minimized-window-item{padding:8px 16px;background:#fff;border:1px solid #d9d9d9;border-radius:4px;cursor:pointer;white-space:nowrap;transition:all .3s;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis}.minimized-window-item:hover{background:#f0f5ff;border-color:#1890ff}.join-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.join-card{width:100%;max-width:500px;border-radius:16px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.join-header{text-align:center;margin-bottom:32px}.join-header h1{font-size:32px;font-weight:700;margin-bottom:16px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.session-info{padding:16px;background:#f5f5f5;border-radius:8px;margin-top:16px}.session-info h2{font-size:20px;font-weight:600;margin-bottom:8px;color:#333}.session-info p{color:#666;margin:0}.avatar-option:hover{border-color:#1890ff!important;transform:scale(1.1)}.join-tips{margin-top:24px;padding:16px;background:#f0f5ff;border-radius:8px;border-left:4px solid #1890ff}.join-tips p{font-weight:600;margin-bottom:8px;color:#1890ff}.join-tips ul{margin:0;padding-left:20px;color:#666}.join-tips li{margin-bottom:4px}@media (max-width: 768px){.join-card{max-width:100%}.join-header h1{font-size:24px}}.barrage-page{padding:0}.barrage-input-card{margin-bottom:16px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.barrage-list-card{border-radius:12px;box-shadow:0 2px 8px #0000001a}.barrage-wall-card{margin-bottom:28px}.barrage-item{padding:12px 0;border-bottom:1px solid #f0f0f0;transition:all .3s}.barrage-item:hover{background:#fafafa}.barrage-avatar-emoji{width:40px;height:40px;font-size:24px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%}.barrage-nickname{font-weight:600;color:#333}.barrage-time{font-size:12px;color:#999}.barrage-content-wrapper{margin-top:8px}.barrage-content{font-size:15px;line-height:1.6;color:#333;word-break:break-word}.session-content-module .barrage-page{padding:0 0 24px}.session-content-module .barrage-input-card,.session-content-module .barrage-list-card{background:linear-gradient(180deg,#fff8f0fa,#fff5e6fa);border:1px solid rgba(255,215,0,.4);box-shadow:0 4px 24px #8b000026,inset 0 1px #ffffffe6}.session-content-module .barrage-input-card .barrage-input.ant-input,.session-content-module .barrage-input-card .ant-input{background:#fff;color:#333;border-color:#8b000033;border-radius:10px}.session-content-module .barrage-input-card .ant-input::placeholder{color:#8c8c8c}.session-content-module .barrage-input-card .ant-input:hover,.session-content-module .barrage-input-card .ant-input:focus{border-color:#ffc10799;color:#333}.session-content-module .barrage-send-btn.ant-btn-primary,.session-content-module .barrage-input-card .ant-btn-primary{background:linear-gradient(160deg,#ffe55c,gold 40%,#e6c200);border-color:#c9a600;color:#8b0000;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.4)}.session-content-module .barrage-send-btn.ant-btn-primary:hover,.session-content-module .barrage-input-card .ant-btn-primary:hover{background:linear-gradient(160deg,#ffea70,#ffdc1a 40%,#ecc900);border-color:#b89600;color:#6b0000}.session-content-module .barrage-page .ant-btn-danger{background:#fffffff2!important;color:#c41e3a!important;border:1px solid rgba(196,30,58,.5);border-radius:8px}.session-content-module .barrage-page .ant-btn-danger:hover{background:#fff!important;color:#a01729!important;border-color:#c41e3a}.session-content-module .barrage-list-card .ant-card-head{border-bottom-color:#8b000026;color:#8b0000;text-shadow:none}.session-content-module .barrage-list-card .ant-card-head-title{font-weight:700;color:#8b0000}.session-content-module .barrage-list-card .ant-card-body{background:#fff;color:#333}.session-content-module .barrage-item{border-bottom-color:#0000000f}.session-content-module .barrage-item:hover{background:#fff8f099}.session-content-module .barrage-nickname{color:#8b0000;font-weight:700}.session-content-module .barrage-time{color:#666}.session-content-module .barrage-content{color:#333}.session-content-module .barrage-avatar-emoji{background:#ffdc6466;border:1px solid rgba(255,193,7,.4)}.session-content-module .barrage-my-card .ant-card-head{border-bottom-color:#8b000026;color:#8b0000}.session-content-module .barrage-list-card .ant-badge-status-text{color:#666}.vote-page{padding:0 0 100px;position:relative}.vote-card{border-radius:12px;box-shadow:0 2px 12px #0000001a}.vote-description{color:#666;margin-bottom:16px}.vote-ended{color:#999;font-weight:400}.vote-options{margin-top:16px}.vote-option{padding:12px;border:1px solid #d9d9d9;border-radius:8px;width:100%;transition:all .3s}.vote-option:hover{border-color:#1890ff;background:#f0f5ff}.rating-container{text-align:center;padding:24px 0}.vote-results{margin-top:16px}.results-header{font-size:16px;font-weight:600;margin-bottom:16px;color:#1890ff}.result-item{margin-bottom:16px}.result-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}.result-count{color:#1890ff;font-weight:600}.vote-submit-panel{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -2px 12px #0000001a;z-index:100;padding:16px}.lottery-page{padding:0}.lottery-card{border-radius:12px;box-shadow:0 2px 12px #0000001a;transition:all .3s}.lottery-card:hover{box-shadow:0 4px 20px #00000026}.winner-card{border:2px solid #ffd700;background:linear-gradient(135deg,#fffbf0,#fff5e1);animation:winnerGlow 2s ease-in-out infinite}@keyframes winnerGlow{0%,to{box-shadow:0 4px 20px #ffd7004d}50%{box-shadow:0 4px 30px #ffd70099}}.lottery-description{color:#666;margin-bottom:16px}.lottery-keyword{margin-bottom:16px}.prizes-section{margin:16px 0;padding:16px;background:#fafafa;border-radius:8px}.prizes-section h4{margin-bottom:12px;font-weight:600}.prize-item{padding:8px 0}.prize-image{width:60px;height:60px;object-fit:cover;border-radius:8px}.prize-name{font-weight:600;margin-bottom:4px}.prize-description{font-size:12px;color:#666;margin-bottom:4px}.winners-section{margin-top:16px;padding:16px;background:#f6ffed;border:1px solid #b7eb8f;border-radius:8px}.winners-section h4{margin-bottom:12px;color:#52c41a;font-weight:600}.winner-item{padding:8px 0}.winner-item-self{padding:8px 12px;background:#fff1b8;border-radius:8px;animation:highlight 1s ease-in-out 3}@keyframes highlight{0%,to{background:#fff1b8}50%{background:#ffe58f}}.winner-name{font-weight:600;color:#333}.winner-number{color:#1890ff;font-weight:600}.participated-tip{margin-top:16px;padding:12px;background:#e6f7ff;border:1px solid #91d5ff;border-radius:8px;text-align:center;color:#1890ff}.lottery-my-numbers{margin:16px 0;padding:12px 16px;background:#f0f5ff;border:1px solid #adc6ff;border-radius:8px}.lottery-my-numbers h4{margin-bottom:8px;font-weight:600;color:#1890ff}.lottery-my-numbers-list{display:flex;flex-wrap:wrap;gap:8px}.lottery-my-number{display:inline-block;padding:4px 10px;background:#fff;border:1px solid #1890ff;border-radius:6px;font-weight:600;color:#1890ff;font-variant-numeric:tabular-nums}.cheer-page{padding:16px}.cheer-card{margin-bottom:24px;border-radius:12px;box-shadow:0 2px 12px #0000001a}.leaderboard-item{padding:16px;border-radius:8px;margin-bottom:8px;transition:all .3s}.leaderboard-item:hover{background:#f5f5f5;transform:translate(8px)}.leaderboard-item.rank-1{background:linear-gradient(135deg,#ffd70033,#ffed4e33)}.leaderboard-item.rank-2{background:linear-gradient(135deg,#c0c0c033,#d9d9d933)}.leaderboard-item.rank-3{background:linear-gradient(135deg,#cd7f3233,#f4a46033)}.target-name{font-size:18px;font-weight:600}.cheer-targets h3{font-size:20px;font-weight:600;margin-bottom:16px}.targets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.target-card{text-align:center;border-radius:12px;transition:all .3s}.target-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.target-card .ant-card-cover{padding:20px;display:flex;justify-content:center}.target-info{margin-bottom:16px}.target-info h4{font-size:18px;font-weight:600;margin-bottom:8px}.target-count{font-size:14px;color:#666}.cheer-button{height:40px;font-size:16px;font-weight:600;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);border:none}.cheer-button:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}@media (max-width: 768px){.targets-grid{grid-template-columns:repeat(2,1fr)}}.message-wall-page{padding:0}.message-wall-input-card{margin-bottom:16px;border-radius:12px;box-shadow:0 2px 8px #0000001a}.message-wall-input-card .message-wall-input.ant-input{resize:vertical;min-height:72px}.message-wall-send-row{margin-top:18px;display:flex;justify-content:flex-end}.message-wall-list-card{border-radius:12px;box-shadow:0 2px 8px #0000001a}.message-wall-wall-card{margin-bottom:28px}.message-wall-item{padding:12px 0;border-bottom:1px solid #f0f0f0;transition:all .3s}.message-wall-item:hover{background:#fafafa}.message-wall-avatar-emoji{width:40px;height:40px;font-size:24px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%}.message-wall-nickname{font-weight:600;color:#333}.message-wall-time{font-size:12px;color:#999}.message-wall-content-wrapper{margin-top:8px}.message-wall-content{font-size:15px;line-height:1.6;color:#333;word-break:break-word}.message-wall-like-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 12px;margin:-4px 0;border:none;background:transparent;color:#000000a6;font-size:14px;cursor:pointer;border-radius:6px;transition:background .2s,color .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.message-wall-like-btn:hover:not(:disabled){background:#0000000a;color:#f5222d}.message-wall-like-btn:active:not(:disabled){background:#00000014}.message-wall-like-btn:disabled{opacity:.7;cursor:not-allowed}.session-content-module .message-wall-page{padding:0 0 24px}.session-content-module .message-wall-input-card,.session-content-module .message-wall-list-card{background:linear-gradient(180deg,#fff8f0fa,#fff5e6fa);border:1px solid rgba(255,215,0,.4);box-shadow:0 4px 24px #8b000026,inset 0 1px #ffffffe6}.session-content-module .message-wall-input-card .message-wall-input.ant-input,.session-content-module .message-wall-input-card .ant-input{background:#fff;color:#333;border-color:#8b000033;border-radius:10px}.session-content-module .message-wall-input-card .ant-input::placeholder{color:#8c8c8c}.session-content-module .message-wall-input-card .ant-input:hover,.session-content-module .message-wall-input-card .ant-input:focus{border-color:#ffc10799;color:#333}.session-content-module .message-wall-send-btn.ant-btn-primary,.session-content-module .message-wall-input-card .ant-btn-primary{background:linear-gradient(160deg,#ffe55c,gold 40%,#e6c200);border-color:#c9a600;color:#8b0000;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.4)}.session-content-module .message-wall-send-btn.ant-btn-primary:hover,.session-content-module .message-wall-input-card .ant-btn-primary:hover{background:linear-gradient(160deg,#ffea70,#ffdc1a 40%,#ecc900);border-color:#b89600;color:#6b0000}.session-content-module .message-wall-page .ant-btn-danger{background:#fffffff2!important;color:#c41e3a!important;border:1px solid rgba(196,30,58,.5);border-radius:8px}.session-content-module .message-wall-page .ant-btn-danger:hover{background:#fff!important;color:#a01729!important;border-color:#c41e3a}.session-content-module .message-wall-list-card .ant-card-head{border-bottom-color:#8b000026;color:#8b0000;text-shadow:none}.session-content-module .message-wall-list-card .ant-card-head-title{font-weight:700;color:#8b0000}.session-content-module .message-wall-list-card .ant-card-body{background:#fff;color:#333}.session-content-module .message-wall-item{border-bottom-color:#0000000f}.session-content-module .message-wall-item:hover{background:#fff8f099}.session-content-module .message-wall-nickname{color:#8b0000;font-weight:700}.session-content-module .message-wall-time{color:#666}.session-content-module .message-wall-content{color:#333}.session-content-module .message-wall-avatar-emoji{background:#ffdc6466;border:1px solid rgba(255,193,7,.4)}.session-content-module .message-wall-my-card .ant-card-head{border-bottom-color:#8b000026;color:#8b0000}.session-content-module .message-wall-list-card .ant-badge-status-text,.session-content-module .message-wall-like-btn{color:#666}.session-content-module .message-wall-like-btn:hover:not(:disabled){color:#c41e3a;background:#0000000a}.moments-page{padding:16px 0;max-width:420px;margin:0 auto}.moments-card .ant-card-head-title{display:flex;align-items:center;gap:8px}.moments-desc{color:#000000a6;margin-bottom:20px;font-size:14px;line-height:1.5}.moments-upload-area{margin-bottom:20px}.moments-upload-area .avatar-uploader{margin-bottom:8px}.moments-upload-tip{font-size:12px;color:#00000073;display:flex;align-items:center;gap:6px}.moments-submit-btn{margin-top:8px}.moments-wall-card{margin-top:16px;margin-bottom:28px}.moments-wall-item{position:relative;border-radius:8px;overflow:hidden;background:#f5f5f5}.moments-wall-image-wrap.ant-image{display:block;width:100%}.moments-wall-image-wrap .ant-image-img,.moments-wall-image{width:100%;aspect-ratio:1;object-fit:cover;display:block;cursor:pointer}.moments-wall-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 8px;font-size:12px;color:#00000073}.moments-wall-nickname{font-weight:600;color:#333}.moments-wall-time{flex:1}.moments-my-card{margin-top:0}.moments-my-item{position:relative;border-radius:8px;overflow:hidden;background:#f5f5f5}.moments-my-image-wrap.ant-image{display:block;width:100%}.moments-my-image-wrap .ant-image-img,.moments-my-image{width:100%;aspect-ratio:1;object-fit:cover;display:block;cursor:pointer}.moments-my-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:12px;color:#00000073}.moments-my-time{flex:1}.session-content-module .moments-page{padding:20px 0 24px;max-width:480px}.session-content-module .moments-card,.session-content-module .moments-wall-card,.session-content-module .moments-my-card{background:linear-gradient(180deg,#fff8f0fa,#fff5e6fa);border:1px solid rgba(255,215,0,.4);box-shadow:0 4px 24px #8b000026,inset 0 1px #ffffffe6;border-radius:16px}.session-content-module .moments-card .ant-card-body,.session-content-module .moments-wall-card .ant-card-body,.session-content-module .moments-my-card .ant-card-body{background:#fff;color:#333}.session-content-module .moments-card .ant-card-head,.session-content-module .moments-wall-card .ant-card-head,.session-content-module .moments-my-card .ant-card-head{border-bottom-color:#8b00001f;color:#8b0000;font-weight:700}.session-content-module .moments-desc{color:#595959}.session-content-module .moments-upload-tip{color:#8c8c8c}.session-content-module .moments-submit-btn{background:linear-gradient(160deg,#ffe55c,gold 40%,#e6c200)!important;border-color:#c9a600!important;color:#8b0000!important;font-weight:700}.session-content-module .moments-submit-btn:hover{color:#6b0000!important}.session-content-module .moments-wall-item{background:#fafafa;border:1px solid rgba(0,0,0,.06);border-radius:12px}.session-content-module .moments-wall-nickname{color:#8b0000;font-weight:700}.session-content-module .moments-wall-meta{color:#666;background:#f5f5f5}.session-content-module .moments-wall-card .ant-btn-danger{background:#fffffff2!important;color:#c41e3a!important}.session-content-module .moments-my-item{background:#fafafa;border:1px solid rgba(0,0,0,.06);border-radius:12px}.session-content-module .moments-my-image-wrap,.session-content-module .moments-wall-image-wrap.ant-image{border-radius:10px 10px 0 0;overflow:hidden}.session-content-module .moments-my-image,.session-content-module .moments-wall-image-wrap .ant-image-img{border-radius:10px 10px 0 0}.session-content-module .moments-my-meta{color:#666;background:#f5f5f5}.session-content-module .moments-my-card .ant-btn-danger{background:#fffffff2!important;color:#c41e3a!important}.survey-page{padding:0}.survey-page-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.survey-page-content{display:flex;flex-direction:column;gap:16px}.survey-list .ant-list-item.selected{background:#e6f7ff;border-radius:8px}.survey-form-wrap .ant-card{margin-top:0}.shake-page{padding:16px 0;min-height:200px}.shake-page .shake-current{text-align:center;padding:16px 0}.shake-page .shake-count{font-size:18px;font-weight:600;margin:12px 0;color:#1890ff}.shake-page .rank{margin-right:12px;font-weight:600;color:#666}.shake-page .count{margin-left:auto;color:#1890ff}.checkpoint-page .ant-list-item{align-items:center}.audience-home--festive{flex:1;min-height:0;width:100%;padding:20px 24px 120px;display:flex;flex-direction:column;align-items:center;position:relative}.audience-home--festive:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.4) 20%,rgba(255,100,80,.5) 50%,rgba(255,215,0,.4) 80%,transparent 100%);border-radius:0 0 6px 6px;pointer-events:none}.audience-home__numbers{flex:1;min-height:0;width:100%;max-width:min(720px,92vw);padding:clamp(12px,2.5vw,28px) clamp(16px,3vw,32px);display:flex;flex-direction:column;align-items:center;overflow:hidden;background:linear-gradient(180deg,rgba(255,220,100,.12) 0%,rgba(255,200,80,.06) 50%,transparent 100%);border-radius:24px;border:1px solid rgba(255,215,0,.25);box-shadow:0 4px 24px #c8500026,inset 0 1px #ffffff14;margin-bottom:8px}.audience-home__numbers-title{font-family:PingFang SC,Microsoft YaHei,STKaiti,serif;color:gold;text-shadow:0 0 16px rgba(255,215,0,.5),2px 2px 6px rgba(139,0,0,.5);font-size:clamp(14px,min(4.5vw,5vh),42px);margin:0 0 clamp(8px,2vh,24px) 0;font-weight:700;letter-spacing:.15em;flex-shrink:0}.audience-home__numbers-list{list-style:none;padding:0;margin:0;flex:1;min-height:0;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(6px,min(2vw,2vh),28px);align-content:space-evenly;justify-items:center;align-items:center;overflow:visible}.audience-home__number-item{font-family:PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(160deg,#ffe55c,gold 30%,#e6c200);color:#8b0000;padding:clamp(6px,min(2vw,2.2vh),28px) clamp(12px,min(3.5vw,3.5vh),42px);border-radius:clamp(8px,min(2.5vw,2.5vh),26px);box-shadow:0 4px 12px #8b00004d,0 0 0 1px #fff6,inset 0 1px #ffffff80;font-size:clamp(14px,min(5.5vw,6.5vh),64px);font-weight:700;text-shadow:0 1px 2px rgba(255,255,255,.6);text-align:center;white-space:nowrap;flex-shrink:0;letter-spacing:.05em;border:1px solid rgba(255,200,0,.5)}.audience-home__number-item--hint{background:#ffffff2e;color:#fffffffa;font-size:clamp(12px,min(3.5vw,4vh),28px);font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.3);box-shadow:none;border:1px solid rgba(255,215,0,.2);padding:clamp(8px,min(2vw,2vh),20px) clamp(14px,min(3vw,3vh),32px)}.audience-home__number-item--won{background:linear-gradient(160deg,#ff8c42,#ff6b35 30%,#e85a2a);color:#fff;box-shadow:0 4px 16px #c83c0073,0 0 0 2px #ffffff80,inset 0 1px #fff6;border:1px solid rgba(255,200,150,.6);cursor:pointer;position:relative}.audience-home__number-item--won:after{content:"🎉";position:absolute;top:-4px;right:-4px;font-size:.45em;line-height:1}.audience-home__number-item--won:hover{transform:scale(1.05);box-shadow:0 6px 20px #c83c0080,0 0 0 2px #fff9}.audience-home__number-item--won:active{transform:scale(.98)}.audience-home__numbers--medium .audience-home__number-item{font-size:clamp(12px,min(4.5vw,5vh),48px);padding:clamp(5px,min(1.8vw,1.8vh),20px) clamp(10px,min(2.8vw,2.8vh),32px);border-radius:clamp(8px,min(2.2vw,2.2vh),22px)}.audience-home__numbers--medium .audience-home__numbers-list{gap:clamp(5px,min(1.5vw,1.5vh),22px)}.audience-home__numbers--many .audience-home__number-item{font-size:clamp(11px,min(3.8vw,4vh),36px);padding:clamp(4px,min(1.5vw,1.5vh),14px) clamp(8px,min(2.2vw,2.2vh),24px);border-radius:clamp(6px,min(1.8vw,1.8vh),18px)}.audience-home__numbers--many .audience-home__numbers-list{gap:clamp(4px,min(1.2vw,1.2vh),18px)}.audience-home__cards-wrap{flex-shrink:0;width:100%;max-width:560px;display:flex;flex-direction:column;padding-top:16px}.audience-home__cards-title{flex-shrink:0;font-size:20px;font-weight:700;color:gold;text-shadow:0 0 16px rgba(255,215,0,.4),2px 2px 6px rgba(139,0,0,.4);margin-bottom:20px;padding:0 4px;letter-spacing:.1em}.audience-home__footer{position:fixed;bottom:0;left:0;right:0;z-index:2;margin:0;padding:10px 16px 16px;color:#ffffffeb;text-align:center;font-size:12px;line-height:20px;width:100%;display:block;text-shadow:0 1px 4px rgba(0,0,0,.4);background:linear-gradient(180deg,transparent 0%,rgba(139,0,0,.15) 100%)}@media (min-width: 768px){.audience-home__footer{font-size:14px;line-height:22px;padding:10px 16px 14px;transform:scale(.9);transform-origin:center bottom}}.audience-home-cards{flex-shrink:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 10px}.audience-home-card--festive{cursor:pointer;border-radius:12px;transition:opacity .2s;background:transparent;padding:10px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;border:none;box-shadow:none}.audience-home-card--festive:hover{opacity:.9}.audience-home-card--festive:active{opacity:.8}.audience-home-card--festive .audience-home-card-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;background:var(--entry-color, #c41e3a);margin-bottom:6px;box-shadow:0 2px 8px #00000040}.audience-home-card--festive .audience-home-card-title{font-size:13px;font-weight:600;color:gold;text-shadow:1px 1px 2px rgba(139,0,0,.5);margin-bottom:0}.audience-home-card--festive .audience-home-card-subtitle{display:none}@media (min-width: 480px){.audience-home__numbers{padding:18px 20px 22px}.audience-home__numbers-title{font-size:20px;margin-bottom:14px}.audience-home__number-item{font-size:18px;padding:10px 18px}.audience-home__numbers--medium .audience-home__number-item{font-size:15px;padding:8px 14px}.audience-home__numbers--many .audience-home__number-item{font-size:13px;padding:6px 12px}.audience-home-cards{gap:12px 10px}.audience-home-card--festive .audience-home-card-title{font-size:13px}}@media (min-width: 768px){.audience-home__numbers{padding:20px 24px 24px}.audience-home__numbers-title{font-size:22px;margin-bottom:16px;letter-spacing:.2em}.audience-home__number-item{font-size:18px;padding:10px 20px}.audience-home__numbers--medium .audience-home__number-item{font-size:16px;padding:8px 16px}.audience-home__numbers--many .audience-home__number-item{font-size:14px;padding:6px 12px}.audience-home-cards{grid-template-columns:repeat(3,1fr);gap:14px 12px}.audience-home-card--festive .audience-home-card-subtitle{display:block;font-size:11px;color:#ffd700e0;text-shadow:1px 1px 2px rgba(139,0,0,.4);margin-top:2px}.audience-home-card--festive .audience-home-card-title{font-size:14px}}.win-detail-page--festive{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px 120px;overflow:hidden}.win-detail-page--festive:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(135deg,#b22222,#c41e3a,#dc143c 40%,#cd5c5c,#c41e3a,#e84c5a,#b22222);background-size:200% 200%;animation:festive-bg-shift 8s ease-in-out infinite}.win-detail-page .festive-bg-decor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.win-detail-page .festive-bg-ray{position:absolute;width:2px;height:180%;top:50%;left:50%;margin-top:-90%;margin-left:-1px;background:linear-gradient(180deg,transparent 0%,rgba(255,215,0,.15) 30%,rgba(255,215,0,.35) 50%,rgba(255,215,0,.15) 70%,transparent 100%);transform-origin:center center;animation:festive-ray-spin 25s linear infinite,festive-ray-pulse 4s ease-in-out infinite}.win-detail-page .festive-ornament{position:absolute;box-shadow:0 1px 4px #00000026;animation:ornament-float 2.8s ease-in-out infinite}.win-detail-page .festive-ornament--dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffebb4f2,#ffd700a6);border:1px solid rgba(255,200,100,.6)}.win-detail-page .festive-ornament--diamond{width:10px;height:10px;background:linear-gradient(135deg,#ffdc78e6,#ffb450b3);border:1px solid rgba(255,200,100,.5);transform:rotate(45deg)}.win-detail-page .festive-ornament--star{width:12px;height:12px;background:linear-gradient(135deg,#ffe696f2,#ffc864b3);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.win-detail-page .festive-ornament--square{width:10px;height:10px;background:linear-gradient(135deg,#ffd282e6,#ffb45ab3);border:1px solid rgba(255,200,100,.5)}.win-detail-page .festive-ornament--ring{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,215,0,.7);background:transparent}.win-detail-page .festive-ornament.pos-1{left:8%;top:12%}.win-detail-page .festive-ornament.pos-2{left:22%;top:8%}.win-detail-page .festive-ornament.pos-3{right:18%;top:10%}.win-detail-page .festive-ornament.pos-4{right:10%;top:22%}.win-detail-page .festive-ornament.pos-5{left:12%;bottom:20%}.win-detail-page .festive-ornament.pos-6{right:15%;bottom:18%}.win-detail-content{position:relative;z-index:1;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:24px}.win-detail-title{font-family:PingFang SC,Microsoft YaHei,serif;color:gold;text-shadow:0 0 20px rgba(255,215,0,.5),2px 2px 6px rgba(139,0,0,.5);font-size:clamp(22px,5vw,32px);font-weight:700;margin:0;letter-spacing:.1em}.win-detail-card{width:100%;padding:24px 20px;background:linear-gradient(180deg,rgba(255,220,100,.15) 0%,rgba(255,200,80,.08) 50%,transparent 100%);border-radius:20px;border:1px solid rgba(255,215,0,.3);box-shadow:0 4px 24px #c8500033,inset 0 1px #ffffff14}.win-detail-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.win-detail-row:last-of-type{margin-bottom:0}.win-detail-row--sub{margin-top:8px;padding-top:12px;border-top:1px solid rgba(255,215,0,.2)}.win-detail-label{color:#ffffffe6;font-size:15px;min-width:72px}.win-detail-number{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:28px;font-weight:700;color:gold;text-shadow:0 0 12px rgba(255,215,0,.5);letter-spacing:.08em}.win-detail-icon{color:gold;font-size:18px}.win-detail-value{color:gold;font-weight:600;font-size:16px;text-shadow:0 1px 2px rgba(139,0,0,.4)}.win-detail-desc{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,215,0,.2);color:#ffffffe0;font-size:14px;line-height:1.5}.win-detail-prize-image-wrap{margin-top:16px;text-align:center}.win-detail-prize-image{max-width:100%;max-height:200px;border-radius:12px;border:1px solid rgba(255,215,0,.3);box-shadow:0 4px 12px #0003}.win-detail-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:600;color:#8b0000;background:linear-gradient(160deg,#ffe55c,gold 40%,#e6c200);border:1px solid rgba(255,200,0,.6);border-radius:12px;box-shadow:0 4px 12px #8b000040;cursor:pointer;transition:opacity .2s,transform .1s}.win-detail-back:hover{opacity:.95}.win-detail-back:active{transform:scale(.98)}.win-detail-empty{color:#ffffffe6;font-size:16px;margin:0 0 16px}.session-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.session-page.session-page--festive-home{position:relative;display:flex;flex-direction:column;min-height:100vh;height:100vh;overflow:hidden;background:none}@keyframes festive-bg-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes festive-bg-rotate{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(5deg)}}@keyframes festive-glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.95;transform:scale(1.08)}}@keyframes festive-orb-float{0%,to{transform:translate(0) scale(1);opacity:.4}25%{transform:translate(15px,-20px) scale(1.1);opacity:.7}50%{transform:translate(-10px,10px) scale(.95);opacity:.5}75%{transform:translate(-20px,-10px) scale(1.05);opacity:.6}}@keyframes festive-orb-float-alt{0%,to{transform:translate(0) scale(1);opacity:.35}33%{transform:translate(-18px,15px) scale(1.15);opacity:.65}66%{transform:translate(12px,-15px) scale(.9);opacity:.45}}@keyframes festive-ray-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes festive-ray-spin-60{0%{transform:rotate(60deg)}to{transform:rotate(420deg)}}@keyframes festive-ray-spin-120{0%{transform:rotate(120deg)}to{transform:rotate(480deg)}}@keyframes festive-ray-pulse{0%,to{opacity:.12}50%{opacity:.25}}@keyframes festive-shine-sweep{0%{transform:translate(-100%) skew(-15deg);opacity:0}10%{opacity:.4}50%{opacity:.25}90%{opacity:.35}to{transform:translate(100%) skew(-15deg);opacity:0}}.session-page.session-page--festive-home:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(135deg,#b22222,#c41e3a,#dc143c 40%,#cd5c5c,#c41e3a,#e84c5a,#b22222);background-size:200% 200%;animation:festive-bg-shift 8s ease-in-out infinite}.festive-bg-decor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.festive-bg-ray{position:absolute;width:2px;height:180%;top:50%;left:50%;margin-top:-90%;margin-left:-1px;background:linear-gradient(180deg,transparent 0%,rgba(255,215,0,.15) 30%,rgba(255,215,0,.35) 50%,rgba(255,215,0,.15) 70%,transparent 100%);transform-origin:center center;animation:festive-ray-spin 25s linear infinite,festive-ray-pulse 4s ease-in-out infinite}.festive-bg-ray--1{animation:festive-ray-spin 25s linear infinite,festive-ray-pulse 4s ease-in-out infinite}.festive-bg-ray--2{animation:festive-ray-spin-60 30s linear infinite,festive-ray-pulse 4s ease-in-out infinite .5s}.festive-bg-ray--3{animation:festive-ray-spin-120 22s linear infinite,festive-ray-pulse 4s ease-in-out infinite 1s}@keyframes ornament-float{0%,to{transform:translateY(0);opacity:.88}50%{transform:translateY(-6px);opacity:1}}@keyframes ornament-float-v{0%,to{transform:translateY(-50%);opacity:.88}50%{transform:translateY(calc(-50% - 6px));opacity:1}}@keyframes ornament-float-r{0%,to{transform:translateY(-50%) rotate(45deg);opacity:.88}50%{transform:translateY(calc(-50% - 6px)) rotate(45deg);opacity:1}}@keyframes ornament-float-t{0%,to{transform:rotate(-45deg);opacity:.88}50%{transform:translateY(-5px) rotate(-45deg);opacity:1}}.festive-ornament{position:absolute;box-shadow:0 1px 4px #00000026;animation-duration:2.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.festive-ornament.pos-1{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:0s}.festive-ornament.pos-2{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.4s}.festive-ornament.pos-3{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.8s}.festive-ornament.pos-4{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.2s}.festive-ornament.pos-5{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.6s}.festive-ornament.pos-6{animation:ornament-float-v 2.8s ease-in-out infinite;animation-delay:.3s}.festive-ornament.pos-7{animation:ornament-float-r 2.8s ease-in-out infinite;animation-delay:.7s}.festive-ornament.pos-8{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.1s}.festive-ornament.pos-9{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.5s}.festive-ornament.pos-10{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.9s}.festive-ornament.pos-11{animation:ornament-float 2.8s ease-in-out infinite;animation-delay:.25s}.festive-ornament.pos-12{animation:ornament-float-t 2.8s ease-in-out infinite;animation-delay:.55s}.festive-ornament--dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffebb4f2,#ffd700a6);border:1px solid rgba(255,200,100,.6)}.festive-ornament--diamond{width:10px;height:10px;background:linear-gradient(135deg,#ffdc78e6,#ffb450b3);border:1px solid rgba(255,200,100,.5);transform:rotate(45deg)}.festive-ornament--star{width:12px;height:12px;background:linear-gradient(135deg,#ffe696f2,#ffc864b3);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border:none}.festive-ornament--square{width:9px;height:9px;border-radius:3px;background:linear-gradient(145deg,#ffe696e6,#ffc864a6);border:1px solid rgba(255,190,90,.5)}.festive-ornament--ring{width:14px;height:14px;border-radius:50%;background:transparent;border:2px solid rgba(255,215,0,.7)}.festive-ornament--teardrop{width:8px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(160deg,#ffebb4e6,#ffc864a6);border:1px solid rgba(255,200,100,.5)}.pos-1{top:8%;left:12%}.pos-2{top:22%;left:78%}.pos-3{top:6%;left:48%}.pos-4{top:68%;left:15%}.pos-5{top:82%;left:72%}.pos-6{top:45%;left:8%;transform:translateY(-50%)}.pos-7{top:52%;left:88%;transform:translateY(-50%) rotate(45deg)}.pos-8{top:18%;left:28%}.pos-9{top:75%;left:55%}.pos-10{top:38%;left:35%}.pos-11{top:62%;left:62%}.pos-12{top:28%;left:68%;transform:rotate(-45deg)}.session-page--festive-home .session-page-top{position:relative;z-index:1;flex-shrink:0}.session-page--festive-home .session-header{flex-shrink:0}.session-page--festive-home .session-content{margin-top:0;padding-top:12px;position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column}.session-page--festive-home .session-header{background:#8b000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.session-page--festive-home .audience-info{background:#ffffffe6;border:1px solid rgba(255,215,0,.3)}@keyframes title-gradient-flow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.festive-home-header{flex-shrink:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:14px;margin-bottom:12px;position:relative;z-index:1}.festive-home-logo{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,215,0,.6)) drop-shadow(0 2px 8px rgba(139,0,0,.4))}.festive-home-title{margin:0;font-family:PingFang SC,Microsoft YaHei,STKaiti,KaiTi,serif;font-size:26px;font-weight:800;letter-spacing:.2em;line-height:1.2;background:linear-gradient(90deg,#fff8dc,gold,#ffe55c,gold,#ffec8b,gold);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-gradient-flow 4s ease infinite,title-glow-pulse 2.5s ease-in-out infinite;text-shadow:none}.festive-home-title{filter:drop-shadow(0 0 12px rgba(255,215,0,.8)) drop-shadow(0 0 24px rgba(255,200,80,.5))}@keyframes title-glow-pulse{0%,to{filter:drop-shadow(0 0 12px rgba(255,215,0,.8)) drop-shadow(0 0 24px rgba(255,200,80,.5))}50%{filter:drop-shadow(0 0 20px rgba(255,235,100,1)) drop-shadow(0 0 36px rgba(255,215,0,.7))}}.session-nickname-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;flex-shrink:0}.session-nickname-row .session-nickname-pill{margin:0}.session-nickname-badge.ant-badge{color:#fffffff2}.session-nickname-badge .ant-badge-status-text{color:#fffffff2;font-size:13px}.session-nickname-pill{display:block;margin:0 auto 12px;padding:8px 20px;font-size:15px;font-weight:600;color:gold;text-shadow:1px 1px 3px rgba(139,0,0,.5);background:#ffffff26;border:1px solid rgba(255,215,0,.4);border-radius:24px;cursor:pointer;transition:background .2s,transform .2s;flex-shrink:0;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-nickname-pill:hover{background:#ffffff40;transform:scale(1.02)}.session-nickname-pill:active{transform:scale(.98)}.session-content--module .session-module-header{flex-shrink:0;display:flex;align-items:center;gap:12px;margin-bottom:12px;position:relative;z-index:1}.session-module-back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;color:gold;text-shadow:1px 1px 3px rgba(139,0,0,.5);background:#ffffff26;border:1px solid rgba(255,215,0,.4);border-radius:24px;cursor:pointer;transition:background .2s,transform .2s}.session-module-back:hover{background:#ffffff40;transform:scale(1.02);color:gold}.session-module-back:active{transform:scale(.98)}.session-module-title{flex:1;font-size:18px;font-weight:700;color:gold;text-shadow:0 0 12px rgba(255,215,0,.4),2px 2px 6px rgba(139,0,0,.4);letter-spacing:.08em}.session-module-badge.ant-badge .ant-badge-status-text{color:#fffffff2;font-size:13px}.session-content-module{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:24px;width:100%;max-width:min(720px,100%);margin:0 auto}.session-content-module:has(.barrage-page),.session-content-module:has(.message-wall-page),.session-content-module:has(.moments-page){scrollbar-width:none;-ms-overflow-style:none}.session-content-module:has(.barrage-page)::-webkit-scrollbar,.session-content-module:has(.message-wall-page)::-webkit-scrollbar,.session-content-module:has(.moments-page)::-webkit-scrollbar{display:none}.session-content-module .ant-input,.session-content-module .ant-input-affix-wrapper,.session-content-module .ant-input-textarea textarea{background:#fff!important;color:#333!important;border-color:#8b000033}.session-content-module .ant-input::placeholder,.session-content-module textarea::placeholder{color:#8c8c8c!important}.session-content-module .ant-btn-primary{background:linear-gradient(160deg,#ffe55c,gold 40%,#e6c200)!important;border-color:#c9a600!important;color:#8b0000!important;font-weight:600}.session-content-module .ant-btn-primary:hover{background:linear-gradient(160deg,#ffea70,#ffdc1a 40%,#ecc900)!important;color:#6b0000!important}.session-content-module .ant-btn-danger{background:#fffffff2!important;color:#c41e3a!important;border:1px solid rgba(196,30,58,.5)!important}.session-content-module .ant-btn-danger:hover{background:#fff!important;color:#a01729!important}.session-content-module .ant-card-body{color:#333}.session-content-home{flex:1;min-height:0;overflow:hidden;width:100%;display:flex;flex-direction:column;align-items:center}.session-header{padding:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.audience-info{background:#fffffff2;border-radius:12px;box-shadow:0 4px 12px #0000001a}.info-content{display:flex;align-items:center;gap:16px}.avatar-section{flex-shrink:0}.avatar-emoji{width:60px;height:60px;font-size:36px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:50%}.avatar-placeholder{width:60px;height:60px;font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%}.text-section{flex:1}.text-section h3{font-size:20px;font-weight:600;margin:0 0 8px}.badge-group{display:flex;align-items:center;gap:16px}.lottery-number{color:#666}.lottery-number strong{color:#f5222d;font-size:18px;margin-left:4px}.session-content{background:#fff;min-height:calc(100vh - 120px);border-radius:16px 16px 0 0;margin-top:16px;padding:16px}.session-content--festive{background:transparent;margin-top:0;padding:12px 16px 0;border-radius:0;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}@media (max-width: 768px){.session-mobile-hide{display:none!important}.session-header{padding:12px 16px}.audience-info .info-content{justify-content:center}.audience-info .text-section{flex:none}.audience-info .text-section h3{margin:0;font-size:18px}.session-content{margin-top:0;min-height:100vh;border-radius:0}}@media (min-width: 769px){.info-content{flex-direction:row}.badge-group{flex-direction:row;gap:16px}}@media (max-width: 768px){.info-content{flex-direction:column;text-align:center}.badge-group:not(.session-mobile-hide){flex-direction:column;gap:8px}}.ended-page-content{display:flex;flex-direction:column;align-items:center;padding-bottom:24px}.ended-page-icon{color:gold!important;filter:drop-shadow(0 0 12px rgba(255,215,0,.6))}.ended-page-title{color:#fff8dc;font-size:26px;font-weight:700;text-shadow:0 0 20px rgba(255,215,0,.4)}.ended-page-subtitle{color:#fff8dce6;font-size:16px}.ended-page-btn{background:#fff3;border-color:#fff8dc99;color:#fff8dc}.ended-page-btn:hover{background:#ffffff4d;border-color:gold;color:#fff}.ended-page-btn-primary{background:linear-gradient(135deg,gold,#ffb347);border:none;color:#8b0000;font-weight:600}.ended-page-btn-primary:hover{background:linear-gradient(135deg,#ffe55c,gold);color:#8b0000;border:none}.ended-page-card,.ended-page-feedback-card{max-width:520px;width:100%;margin-top:16px;background:#fffffff2;border-radius:16px;border:none;box-shadow:0 8px 32px #00000026}.ended-page-card .ant-card-head,.ended-page-feedback-card .ant-card-head{border-bottom:1px solid rgba(0,0,0,.06);color:#333}.ended-page-card-subtitle{margin-bottom:16px;color:#666;font-size:14px}.ended-page-empty{color:#999}.congrats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.congrats-overlay-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#b22222f2,#c41e3af2,#dc143cf2 60%,#b82222f2)}.congrats-overlay-content{position:relative;z-index:1;text-align:center;padding:32px 28px;background:linear-gradient(180deg,#ffdc6433,#ffc8501a);border-radius:24px;border:2px solid rgba(255,215,0,.5);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff26;max-width:340px;width:100%}.congrats-overlay-title{margin:0 0 20px;font-family:PingFang SC,Microsoft YaHei,serif;font-size:28px;font-weight:700;color:gold;text-shadow:0 0 20px rgba(255,215,0,.6),2px 2px 6px rgba(139,0,0,.5)}.congrats-overlay-number{margin:0 0 8px;font-size:18px;font-weight:600;color:#fffffff2;letter-spacing:.05em}.congrats-overlay-activity{margin:0 0 8px;font-size:15px;font-weight:600;color:#fffffff2}.congrats-overlay-prize{margin:0 0 24px;font-size:20px;font-weight:700;color:#ffe55c;text-shadow:0 0 12px rgba(255,215,0,.5)}.congrats-overlay-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.congrats-overlay-btn{padding:12px 28px;font-size:16px;font-weight:600;border-radius:12px;border:1px solid rgba(255,200,0,.5);cursor:pointer;transition:opacity .2s,transform .1s;min-width:160px}.congrats-overlay-btn--primary{color:#8b0000;background:linear-gradient(160deg,#ffe55c,gold 40%,#e6c200);box-shadow:0 4px 12px #8b000040}.congrats-overlay-btn--primary:hover{opacity:.95}.congrats-overlay-btn:not(.congrats-overlay-btn--primary){color:gold;background:#ffffff26}.congrats-overlay-btn:not(.congrats-overlay-btn--primary):hover{background:#ffffff38}.congrats-overlay-btn:active{transform:scale(.98)}.barrage-display{width:100%;height:100%;position:relative;overflow:hidden}.barrage-display--fullscreen{position:fixed;left:0;top:0;right:0;bottom:0;width:100vw;height:100vh}.barrage-item-screen{position:absolute;right:-100%;white-space:nowrap;font-size:28px;font-weight:600;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.8),-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;animation:barrageMove linear;display:flex;align-items:center;gap:8px;padding:8px 16px;background:#0000004d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:24px;z-index:10}@keyframes barrageMove{0%{right:-100%}to{right:120%}}.barrage-nickname-screen{font-weight:700}.barrage-image-screen{min-height:24px;max-height:48px;border-radius:8px;vertical-align:middle;object-fit:cover}.cheer-display{width:100%;height:100%;padding:40px;color:#fff}.cheer-header{text-align:center;margin-bottom:40px;animation:slideDown .6s ease-out}.header-icon{font-size:60px;color:gold;margin-bottom:20px;animation:pulse 2s ease-in-out infinite}.cheer-header h1{font-size:48px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);margin:0}.leaderboard-container{max-width:1200px;margin:0 auto}.leaderboard-row{display:flex;align-items:center;padding:20px 30px;margin-bottom:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(255,255,255,.2);animation:slideUp .6s ease-out;animation-fill-mode:both;transition:all .3s}.leaderboard-row:hover{transform:translate(10px);background:#ffffff26}.leaderboard-row.rank-1{border-color:gold;background:linear-gradient(135deg,#ffd70033,#ffed4e33);animation-delay:0s}.leaderboard-row.rank-2{border-color:silver;background:linear-gradient(135deg,#c0c0c033,#d9d9d933);animation-delay:.1s}.leaderboard-row.rank-3{border-color:#cd7f32;background:linear-gradient(135deg,#cd7f3233,#f4a46033);animation-delay:.2s}.leaderboard-row:nth-child(n+4){animation-delay:.3s}.rank-badge{width:60px;height:60px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;margin-right:24px;position:relative}.crown-icon{position:absolute;top:-15px;font-size:30px;color:gold;animation:bounce 1s ease-in-out infinite}.target-avatar{margin-right:24px;font-size:24px;font-weight:600}.target-info{flex:1;margin-right:24px}.target-name{font-size:32px;font-weight:700;margin-bottom:12px;color:#fff}.progress-container{width:100%}.count-display{display:flex;align-items:center;gap:12px;font-size:36px;font-weight:700;color:#fff}.fire-icon{font-size:40px;color:#f5222d;animation:flicker 1s ease-in-out infinite}.count-number{min-width:120px;text-align:right}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.6}}.vote-display{width:100%;height:100%;padding:40px;color:#fff}.vote-display-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff9}.empty-icon{font-size:80px;margin-bottom:20px}.vote-display-header{text-align:center;margin-bottom:40px;animation:slideDown .6s ease-out}.vote-display-header .header-icon{font-size:60px;color:gold;margin-bottom:20px;animation:pulse 2s ease-in-out infinite}.vote-display-header h1{font-size:48px;font-weight:700;margin:0 0 16px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.vote-display-header p{font-size:24px;color:#fffc;margin:0}.vote-stats{display:flex;justify-content:center;gap:60px;margin-bottom:40px;padding:24px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(255,255,255,.2)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:8px}.stat-label{font-size:18px;color:#fffc}.stat-value{font-size:48px;font-weight:700;color:gold}.vote-results-display{max-width:1200px;margin:0 auto}.result-row{display:flex;align-items:center;gap:24px;padding:24px;margin-bottom:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(255,255,255,.2);animation:slideUp .6s ease-out;animation-fill-mode:both;transition:all .3s}.result-row:hover{transform:translate(10px);background:#ffffff26}.result-row.winning{border-color:gold;background:linear-gradient(135deg,#ffd70033,#ffed4e33);box-shadow:0 4px 20px #ffd7004d}.result-rank{width:60px;height:60px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex-shrink:0}.result-row.winning .result-rank{background:gold;color:#1a1a2e;font-size:32px}.result-content{flex:1}.result-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.option-text{font-size:28px;font-weight:600}.vote-count{font-size:24px;color:gold;font-weight:700}.result-progress{width:100%;height:40px;background:#ffffff1a;border-radius:20px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:20px;transition:width .6s ease-out;display:flex;align-items:center;justify-content:flex-end;padding-right:16px}.result-row.winning .progress-fill{background:linear-gradient(90deg,gold,#ffed4e)}.progress-text{font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5)}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.lottery-display{width:100%;height:100%;color:#ffecd2;min-height:0}.lottery-display-list{display:flex;flex-direction:column;height:100%;padding:16px 20px;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% 0%,rgba(180,20,20,.12) 0%,transparent 50%)}.lottery-display-list__viewport{flex:1;min-height:0;overflow:hidden}.lottery-display-list__track{display:flex;flex-direction:column;gap:18px;animation:lottery-list-scroll 50s linear infinite}@keyframes lottery-list-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.lottery-display-list__page{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px;align-content:start;padding-right:8px;flex-shrink:0}.lottery-display-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:260px;padding:14px 16px;background:linear-gradient(165deg,#a0141459,#8b000047 40%,#64000038);border:2px solid rgba(255,215,0,.5);border-radius:16px;box-shadow:0 4px 24px #00000040,0 0 28px #ffd7001f,inset 0 1px #ffffff0f;overflow:hidden;animation:lottery-card-in .45s ease-out backwards}.lottery-display-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,215,0,.12) 0%,rgba(255,215,0,.03) 40%,transparent 65%);pointer-events:none}.lottery-display-card:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:17px;border:1px solid rgba(255,215,0,.25);pointer-events:none;box-shadow:inset 0 0 20px #ffd70008}.lottery-display-card__glow{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.3) 15%,rgba(255,215,0,.7) 50%,rgba(255,215,0,.3) 85%,transparent 100%);opacity:1;box-shadow:0 0 16px #ffd70066}.lottery-display-card--drawing{border-color:#ffd700bf;box-shadow:0 0 32px #ffd70047,0 4px 24px #00000040,inset 0 0 30px #ffd7000f;animation:lottery-card-pulse 1.5s ease-in-out infinite}.lottery-display-card--current{border-color:#ffd70099;background:linear-gradient(165deg,#b41e1e66,#8b000059,#64000047);box-shadow:0 4px 28px #00000047,0 0 24px #ffd7002e,inset 0 1px #ffffff14}@keyframes lottery-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes lottery-card-pulse{0%,to{box-shadow:0 0 32px #ffd70047,0 4px 24px #00000040,inset 0 0 30px #ffd7000f}50%{box-shadow:0 0 40px #ffd70061,0 4px 28px #00000047,inset 0 0 36px #ffd70014}}.lottery-display-card__head{flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:14px 16px 16px;border-bottom:2px solid rgba(255,215,0,.45);background:linear-gradient(180deg,rgba(255,215,0,.12) 0%,rgba(255,215,0,.04) 60%,transparent 100%);border-radius:12px 12px 0 0;box-shadow:0 3px 16px #00000026,inset 0 1px #ffffff14}.lottery-display-card__title-wrap{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.lottery-display-card__title-icon{flex-shrink:0;font-size:22px;color:gold;filter:drop-shadow(0 0 10px rgba(255,215,0,.7)) drop-shadow(0 0 20px rgba(212,175,55,.4))}.lottery-display-card__title{flex-shrink:0;font-size:20px;font-weight:800;letter-spacing:.12em;color:gold;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(212,175,55,.5),0 2px 4px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.15)}.lottery-display-card__prizes-inline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 12px;flex:1;min-width:0;margin-left:8px}.lottery-display-card__prize-inline{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#ffecd2f2}.lottery-display-card__prize-inline-img{width:22px;height:22px;object-fit:contain;border-radius:4px;border:1px solid rgba(255,215,0,.3)}.lottery-display-card__prize-inline-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.lottery-display-card__prize-inline-count{flex-shrink:0;font-weight:700;color:gold;font-size:12px;text-shadow:0 0 8px rgba(212,175,55,.4)}.lottery-display-card__current-badge{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 10px;background:linear-gradient(135deg,#ffd70059,#b8860b40);color:#ffecd2;border:1px solid rgba(255,215,0,.5);border-radius:8px;letter-spacing:.05em;box-shadow:0 0 12px #ffd70033;animation:lottery-current-badge-pulse 1.8s ease-in-out infinite}@keyframes lottery-current-badge-pulse{0%,to{opacity:1}50%{opacity:.88}}.lottery-display-card__status{flex-shrink:0;font-size:12px;font-weight:600;padding:4px 10px;border-radius:8px;letter-spacing:.04em;border:1px solid transparent}.lottery-display-card__status--PENDING{background:#ffecd21f;color:#ffecd2cc;border-color:#ffd70040}.lottery-display-card__status--ACTIVE,.lottery-display-card--drawing .lottery-display-card__status{background:#ffd70040;color:gold;border-color:#ffd70073;text-shadow:0 0 10px rgba(212,175,55,.45)}.lottery-display-card__status--ENDED{background:#ffecd226;color:#ffecd2f2;border-color:#ffd7004d}.lottery-display-card__section{position:relative;flex:1;min-height:0;margin-bottom:12px;padding:14px 16px 14px 22px;overflow-y:auto;background:linear-gradient(180deg,rgba(255,215,0,.08) 0%,rgba(139,0,0,.08) 30%,transparent 100%);border-radius:14px;border:1px solid rgba(255,215,0,.3);box-shadow:inset 0 0 24px #ffd70008,0 2px 12px #0000001a}.lottery-display-card__section::-webkit-scrollbar{width:4px}.lottery-display-card__section::-webkit-scrollbar-thumb{background:#ffd70066;border-radius:2px}.lottery-display-card__section:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;background:linear-gradient(180deg,#ffd70099,#b8860b66);border-radius:0 4px 4px 0;box-shadow:0 0 10px #ffd7004d}.lottery-display-card__section:last-child{margin-bottom:0}.lottery-display-card__section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:#ffecd2;margin-bottom:10px;letter-spacing:.1em;text-shadow:0 0 14px rgba(212,175,55,.4);padding-bottom:6px;border-bottom:2px solid rgba(255,215,0,.35)}.lottery-display-card__section-title .anticon{font-size:16px;color:gold;filter:drop-shadow(0 0 6px rgba(255,215,0,.5))}.lottery-display-card__prizes{display:flex;flex-direction:column;gap:8px}.lottery-display-card__prize{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(90deg,rgba(255,215,0,.08) 0%,transparent 100%);border-left:3px solid rgba(255,215,0,.5);border-radius:8px;font-size:13px}.lottery-display-card__prize-rank{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;min-width:72px;font-weight:700;color:gold;font-size:12px}.lottery-display-card__prize-rank .anticon{font-size:14px}.lottery-display-card__prize-img{flex-shrink:0;width:32px;height:32px;object-fit:contain;border-radius:6px;border:1px solid rgba(255,255,255,.15)}.lottery-display-card__prize-name{flex:1;min-width:0;color:#fffffff2;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lottery-display-card__prize-count{flex-shrink:0;padding:2px 8px;background:linear-gradient(135deg,#ffd7004d,#f59e0b33);color:gold;border-radius:6px;font-size:12px;font-weight:700}.lottery-display-card__winners-header{display:flex;align-items:center;gap:10px;padding:8px 12px 10px;margin-bottom:6px;font-size:13px;font-weight:800;color:gold;letter-spacing:.1em;border-bottom:2px solid rgba(255,215,0,.5);text-shadow:0 0 14px rgba(255,215,0,.6),0 1px 0 rgba(0,0,0,.2);background:linear-gradient(90deg,rgba(255,215,0,.1) 0%,transparent 100%);border-radius:8px 8px 0 0}.lottery-display-card__winners-header-rank{flex-shrink:0;width:36px;text-align:center}.lottery-display-card__winners-header-number{flex-shrink:0;width:88px;text-align:center}.lottery-display-card__winners-header-name{flex:1;min-width:0}.lottery-display-card__winners{list-style:none;margin:0;padding:0}.lottery-display-card__winner{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:14px;border-radius:12px;margin-bottom:10px;background:linear-gradient(135deg,#b41e1e59,#8b000047,#64000038);border:1px solid rgba(255,215,0,.45);box-shadow:0 2px 14px #00000038,0 0 20px #ffd70014,inset 0 1px #ffffff0d;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}.lottery-display-card__winner:last-child{margin-bottom:0}.lottery-display-card__winner:hover{background:linear-gradient(135deg,#c8282866,#8b000052,#6e000042);border-color:#ffd70099;box-shadow:0 4px 18px #00000047,0 0 24px #ffd70026,inset 0 1px #ffffff14;transform:translate(3px)}.lottery-display-card__winner-rank{flex-shrink:0;width:36px;height:36px;line-height:36px;text-align:center;font-size:14px;font-weight:800;background:linear-gradient(145deg,#ffd70080,#b8860b59);color:#ffecd2;border:1px solid rgba(255,215,0,.6);border-radius:10px;text-shadow:0 0 12px rgba(212,175,55,.6),0 1px 0 rgba(0,0,0,.2);box-shadow:inset 0 1px #fff3,0 2px 10px #0003}.lottery-display-card__winner-number{flex-shrink:0;width:88px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:2px;color:gold;background:linear-gradient(145deg,#ffd70040,#b8860b2e);border:2px solid rgba(255,215,0,.6);border-radius:12px;text-shadow:0 0 16px rgba(255,215,0,.6),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px #ffffff26,0 2px 12px #0003}.lottery-display-card__winner-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffecd2;font-weight:600;font-size:14px}.lottery-display-card__empty{margin:0;padding:16px 18px;font-size:14px;color:#ffecd2bf;font-style:italic;text-align:center;background:linear-gradient(135deg,#8b000033,#64000026);border:2px dashed rgba(255,215,0,.4);border-radius:12px;letter-spacing:.05em;text-shadow:0 0 10px rgba(255,215,0,.2)}.lottery-display-card__foot{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px 14px;min-height:56px;background:linear-gradient(180deg,transparent 0%,rgba(255,215,0,.06) 50%,rgba(139,0,0,.08) 100%);border-radius:0 0 14px 14px;border-top:1px solid rgba(255,215,0,.2)}.lottery-display-card__foot-text{font-size:13px;font-weight:600;color:#ffecd2b3;letter-spacing:.2em;text-shadow:0 0 10px rgba(255,215,0,.25)}.lottery-display-card__foot-ornament{width:60%;max-width:120px;height:3px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.5),transparent);border-radius:2px;box-shadow:0 0 8px #ffd7004d}.lottery-display-card--winners-1{border-width:2px;border-color:#ffd7008c;box-shadow:0 0 32px #ffd70038,inset 0 0 40px #ffd7000a;padding:10px}.lottery-display-card--winners-1 .lottery-display-card__section{padding:10px 10px 10px 14px;background:linear-gradient(180deg,rgba(255,215,0,.12) 0%,rgba(255,215,0,.04) 50%,transparent 100%);border:2px solid rgba(255,215,0,.35);border-radius:16px;box-shadow:0 0 24px #ffd7001a}.lottery-display-card--winners-1 .lottery-display-card__section-title{font-size:16px;margin-bottom:14px;padding-bottom:10px}.lottery-display-card--winners-1 .lottery-display-card__section-title .anticon{font-size:18px}.lottery-display-card--winners-1 .lottery-display-card__winner{padding:18px 20px;border-radius:16px;border-width:2px;border-color:#ffd70080;box-shadow:0 4px 20px #00000040,0 0 24px #ffd7001f;margin-bottom:12px}.lottery-display-card--winners-1 .lottery-display-card__winner-rank{width:44px;height:44px;line-height:44px;font-size:18px;border-radius:12px}.lottery-display-card--winners-1 .lottery-display-card__winner-number{width:110px;min-height:52px;font-size:24px;letter-spacing:4px;border-radius:14px;border-width:2px;box-shadow:inset 0 1px #fff3,0 4px 16px #00000040}.lottery-display-card--winners-1 .lottery-display-card__winner-name{font-size:18px;font-weight:700}.lottery-display-card--winners-1 .lottery-display-card__winners-header{text-align:center;font-size:13px;padding:8px 12px 10px;margin-bottom:8px}.lottery-display-card--winners-1 .lottery-display-card__winners-header-number{width:110px}.lottery-display-card--winners-2-3{border-width:2px;border-color:#ffd70073;box-shadow:0 0 26px #ffd7002e;padding:16px}.lottery-display-card--winners-2-3 .lottery-display-card__section{padding:14px 14px 14px 22px;background:linear-gradient(180deg,rgba(255,215,0,.08) 0%,transparent 100%);border:1px solid rgba(255,215,0,.28);border-radius:14px}.lottery-display-card--winners-2-3 .lottery-display-card__section-title{font-size:15px;margin-bottom:12px}.lottery-display-card--winners-2-3 .lottery-display-card__winner{padding:14px 16px;border-radius:14px;margin-bottom:10px;box-shadow:0 2px 14px #0003,0 0 18px #ffd70014}.lottery-display-card--winners-2-3 .lottery-display-card__winner-rank{width:40px;height:40px;line-height:40px;font-size:15px}.lottery-display-card--winners-2-3 .lottery-display-card__winner-number{width:96px;min-height:44px;font-size:20px;letter-spacing:3px;border-radius:12px}.lottery-display-card--winners-2-3 .lottery-display-card__winner-name{font-size:16px;font-weight:600}.lottery-display-card--winners-2-3 .lottery-display-card__winners-header-number{width:96px}.lottery-display-card--winners-many .lottery-display-card__section{padding:10px 10px 10px 20px;border-radius:10px}.lottery-display-card--winners-many .lottery-display-card__section-title{font-size:13px;margin-bottom:8px;padding-bottom:5px}.lottery-display-card--winners-many .lottery-display-card__winner{padding:8px 10px;font-size:13px;border-radius:10px;margin-bottom:6px}.lottery-display-card--winners-many .lottery-display-card__winner-rank{width:30px;height:30px;line-height:30px;font-size:12px;border-radius:8px}.lottery-display-card--winners-many .lottery-display-card__winner-number{width:72px;min-height:34px;font-size:15px;letter-spacing:1px;border-radius:8px}.lottery-display-card--winners-many .lottery-display-card__winner-name{font-size:13px;font-weight:500}.lottery-display-card--winners-many .lottery-display-card__winners-header{font-size:11px;padding:5px 10px 6px;margin-bottom:4px}.lottery-display-card--winners-many .lottery-display-card__winners-header-rank{width:30px}.lottery-display-card--winners-many .lottery-display-card__winners-header-number{width:72px}.lottery-display-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:24px;min-height:160px}.lottery-display-empty__inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 36px;background:#8b00002e;border:1px solid rgba(255,215,0,.35);border-radius:16px;box-shadow:0 0 24px #ffd70014;text-align:center}.lottery-display-empty__inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,215,0,.06) 0%,transparent 60%);pointer-events:none}.lottery-display-empty__icon-wrap{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:#ffd7001f;border:1px solid rgba(255,215,0,.4);border-radius:50%;box-shadow:0 0 20px #ffd70026}.lottery-display-empty .lottery-display-empty__icon,.lottery-display-empty .empty-icon{font-size:28px;color:gold;filter:drop-shadow(0 0 10px rgba(212,175,55,.5))}.lottery-display-empty__title{position:relative;margin:0 0 8px;font-size:18px;font-weight:700;color:#ffecd2;letter-spacing:.12em;text-shadow:0 0 16px rgba(212,175,55,.4)}.lottery-display-empty__desc{position:relative;margin:0;font-size:14px;letter-spacing:.06em;color:#ffecd2bf;line-height:1.5}.lottery-display-empty__ornament{position:absolute;bottom:12px;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.5),transparent);border-radius:1px;opacity:.8}.lottery-display-roll{width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch;padding:16px 24px;color:#ffecd2;min-height:0;position:relative}.lottery-display-roll__audio-hint{position:absolute;top:12px;right:16px;padding:8px 16px;font-size:14px;color:#ffecd2e6;background:#00000080;border:1px solid rgba(255,215,0,.5);border-radius:8px;z-index:10;pointer-events:none}.lottery-display-roll__head{text-align:center;margin-bottom:12px;flex-shrink:0}.lottery-display-roll__title{margin:0 0 8px;font-size:22px;font-weight:700;color:gold;letter-spacing:.08em;text-shadow:0 0 20px rgba(255,215,0,.5);display:flex;align-items:center;justify-content:center;gap:10px}.lottery-display-roll__title .anticon{font-size:24px}.lottery-display-roll__body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:16px;position:relative}.lottery-display-roll__machine{flex-shrink:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px;background:linear-gradient(165deg,brown,#8b0000 25%,#6b0000 60%,#8b0000);border-radius:24px;border:4px solid rgba(255,215,0,.9);box-shadow:0 0 0 3px #8b0000cc,0 0 0 6px #ffd70059,0 0 48px #ffd70040,inset 0 0 60px #8b000066,inset 0 2px #ffdc9633,0 12px 40px #8b000066;position:relative;overflow:visible}.lottery-display-roll__machine:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:26px;padding:2px;background:linear-gradient(135deg,rgba(255,215,0,.6) 0%,transparent 30%,transparent 70%,rgba(255,215,0,.3) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.lottery-display-roll__machine-top{width:100%;padding:18px 32px;background:linear-gradient(180deg,#c41e3a,#8b0000 40%,#6b0000);border-bottom:4px solid rgba(255,215,0,.85);border-radius:16px 16px 0 0;position:relative;display:flex;align-items:center;justify-content:flex-start;gap:28px;box-shadow:inset 0 2px #ffffff26,inset 0 -2px 8px #0003}.lottery-display-roll__machine-lottery-title{font-size:20px;font-weight:800;color:gold;letter-spacing:.12em;text-shadow:0 0 16px rgba(255,215,0,.8),0 2px 4px rgba(0,0,0,.4);display:flex;align-items:center;gap:8px;flex-shrink:0}.lottery-display-roll__machine-lottery-title .anticon{font-size:22px}.lottery-display-roll__machine-top-center{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:1}.lottery-display-roll__machine-title{font-size:24px;font-weight:800;color:gold;letter-spacing:.3em;text-shadow:0 0 20px rgba(255,215,0,.9),0 2px 4px rgba(0,0,0,.4);flex-shrink:0}.lottery-display-roll__machine-led{position:absolute;bottom:0;left:0;right:0;height:6px;background:linear-gradient(90deg,transparent,#ffd700,#ff6b35,#ffd700,#ff6b35,transparent);background-size:200% 100%;animation:lottery-display-led-run 1.2s linear infinite;opacity:.95;border-radius:0 0 4px 4px}@keyframes lottery-display-led-run{0%{background-position:0 0}to{background-position:200% 0}}.lottery-display-roll__machine-body{display:flex;align-items:stretch;justify-content:center;padding:22px 18px 18px;gap:0;background:linear-gradient(180deg,#8b000080,#50000099);margin:0 4px;border-radius:0 0 12px 12px}.lottery-display-roll__machine-side{width:28px;background:repeating-linear-gradient(90deg,#ffd70040,#ffd70040 4px,#8b00004d 4px,#8b00004d 8px);border-radius:8px;flex-shrink:0;border:1px solid rgba(255,215,0,.3);box-shadow:inset 0 0 12px #0003}.lottery-display-roll__slots-wrap{padding:22px 28px;background:linear-gradient(165deg,#8b0000bf,#640000d9,#500000e6);border-radius:16px;border:3px solid rgba(255,215,0,.6);box-shadow:inset 0 0 40px #8b000080,inset 0 2px #ffdc9626,0 0 0 1px #8b0000cc;position:relative}.lottery-display-roll__slots-wrap:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:12px;border:1px solid rgba(255,215,0,.2);pointer-events:none}.lottery-display-roll__slots{display:flex;justify-content:center;align-items:center;gap:20px 26px;flex-wrap:wrap}.lottery-display-roll__slot{width:100px;height:120px;border-radius:14px;background:linear-gradient(145deg,#8b0000,#6b0000,#5c0000);border:3px solid rgba(255,215,0,.8);box-shadow:0 0 0 2px #8b0000e6,0 6px 18px #00000059,inset 0 2px #ffc86433,inset 0 -2px 8px #0000004d;position:relative}.lottery-display-roll__slot-window{width:100%;height:100%;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#500000f2,#3c0000fa);box-shadow:inset 0 0 24px #8b000080,inset 0 1px #ffc8641a;position:relative;border:1px solid rgba(139,0,0,.8)}.lottery-display-roll__slot-scanline{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.04) 2px,rgba(0,0,0,.04) 3px);pointer-events:none}.lottery-display-roll__machine-base{width:100%;height:20px;background:linear-gradient(180deg,#8b0000,#6b0000 60%,#4a0000);border-top:3px solid rgba(255,215,0,.5);border-radius:0 0 18px 18px;box-shadow:inset 0 3px 8px #00000040,0 2px #ffc86426;position:relative}.lottery-display-roll__machine-base:before{content:"";position:absolute;bottom:0;left:10%;right:10%;height:4px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.3),transparent);border-radius:0 0 18px 18px}.lottery-display-roll__strip{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100%}.lottery-display-roll__cell{width:100px;min-height:120px;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:800;color:gold;text-shadow:0 0 28px rgba(255,215,0,.9),0 2px 4px rgba(139,0,0,.6);flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:.02em}.lottery-display-roll__rolling-label{margin-top:14px;margin-bottom:8px;font-size:16px;font-weight:700;color:gold;letter-spacing:.2em;animation:lottery-roll-pulse .8s ease-in-out infinite}@keyframes lottery-roll-pulse{0%,to{opacity:1}50%{opacity:.6}}.lottery-display-roll__winners{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:5px;background:linear-gradient(165deg,brown,#8b0000 25%,#6b0000 60%,#8b0000);border-radius:20px;border:3px solid rgba(255,215,0,.85);box-shadow:0 0 0 2px #8b0000cc,0 0 0 5px #ffd7004d,0 0 32px #ffd70033,inset 0 0 40px #8b000059,inset 0 2px #ffdc9626,0 8px 28px #8b000059;position:relative;overflow:hidden}.lottery-display-roll__winners:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:22px;padding:1px;background:linear-gradient(135deg,rgba(255,215,0,.45) 0%,transparent 35%,transparent 65%,rgba(255,215,0,.25) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.lottery-display-roll__winners-head{font-size:17px;font-weight:800;color:gold;padding:12px 16px;background:linear-gradient(180deg,#c41e3a,#8b0000,#6b0000);border-bottom:3px solid rgba(255,215,0,.75);border-radius:14px 14px 0 0;display:flex;align-items:center;gap:8px;flex-shrink:0;text-shadow:0 0 12px rgba(255,215,0,.6);box-shadow:inset 0 2px #ffffff1a}.lottery-display-roll__winners-head .anticon{font-size:18px}.lottery-display-roll__winners-row{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:14px}.lottery-display-roll__winners-row--head{background:linear-gradient(180deg,#8b000099,#640000b3);border-bottom:2px solid rgba(255,215,0,.5);color:gold;font-weight:700;flex-shrink:0}.lottery-display-roll__winners-list{list-style:none;margin:0;padding:8px 0;flex:1;min-height:0;overflow-y:auto}.lottery-display-roll__winners-list::-webkit-scrollbar{width:6px}.lottery-display-roll__winners-list::-webkit-scrollbar-track{background:#8b000066;border-radius:3px}.lottery-display-roll__winners-list::-webkit-scrollbar-thumb{background:#ffd70080;border-radius:3px}.lottery-display-roll__winner-item{display:flex;align-items:center;gap:10px;padding:8px 14px;margin:0 8px 6px;background:linear-gradient(135deg,#8b000080,#50000099);border:1px solid rgba(255,215,0,.45);border-radius:10px;font-size:14px;box-shadow:inset 0 1px #ffc8641a}.lottery-display-roll__winner-item:last-child{margin-bottom:8px}.lottery-display-roll__winner-rank{flex-shrink:0;width:26px;height:26px;line-height:26px;text-align:center;font-weight:800;background:linear-gradient(145deg,#ffd70080,#b8860b66);color:#ffecd2;border-radius:8px;font-size:12px;border:1px solid rgba(255,215,0,.4)}.lottery-display-roll__winners-row--head .lottery-display-roll__winner-rank{background:transparent;border:none;width:26px;height:auto;line-height:1.4;min-width:26px}.lottery-display-roll__winner-num{flex-shrink:0;font-weight:800;color:gold;font-variant-numeric:tabular-nums;min-width:56px;text-shadow:0 0 8px rgba(255,215,0,.4)}.lottery-display-roll__winner-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffecd2}.lottery-display-roll__winner-prize{flex-shrink:0;font-size:13px;font-weight:600;color:gold;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lottery-display-roll__winners-empty{margin:0;padding:24px 16px;color:#ffecd299;font-size:14px;text-align:center;flex:1;display:flex;align-items:center;justify-content:center}.lottery-display-roll__congrats{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}.lottery-display-roll__congrats-label{font-size:22px;font-weight:800;color:gold;text-align:center;margin-bottom:4px}.lottery-display-roll__congrats-label--warn{color:#ffb347}.lottery-display-roll__congrats-desc{font-size:16px;color:#ffecd2e6;text-align:center;margin-bottom:8px}.lottery-display-roll__congrats-number{font-size:28px;font-weight:800;color:gold;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:4px}.lottery-display-roll__congrats-name{font-size:18px;color:#ffecd2;text-align:center}.lottery-display-roll__congrats-prize{font-size:14px;color:#ffd700e6;text-align:center}.lottery-display-roll__winners-list--below-congrats{margin-top:4px;padding-top:8px;border-top:2px solid rgba(255,215,0,.35);flex:1;min-height:0}.lottery-display-roll__congrats--count-1{padding:24px 20px;margin:10px 12px 12px;border:2px solid rgba(255,215,0,.5);border-radius:16px;background:linear-gradient(180deg,#ffd70014,#8b000040,#50000033);box-shadow:0 0 28px #ffd70033,inset 0 0 30px #ffd7000f}.lottery-display-roll__winners--count-1 .lottery-display-roll__winners-head{font-size:22px;padding:16px 20px;letter-spacing:.2em}.lottery-display-roll__winners--count-1 .lottery-display-roll__winners-head .anticon{font-size:24px}.lottery-display-roll__congrats--count-1 .lottery-display-roll__congrats-label{font-size:32px;font-weight:800;letter-spacing:.25em;margin-bottom:12px;text-shadow:0 0 24px rgba(255,215,0,.9)}.lottery-display-roll__congrats--count-1 .lottery-display-roll__congrats-number{font-size:52px;letter-spacing:8px;margin-bottom:8px;text-shadow:0 0 28px rgba(255,215,0,.95)}.lottery-display-roll__congrats--count-1 .lottery-display-roll__congrats-name{font-size:26px;font-weight:600;margin-bottom:6px}.lottery-display-roll__congrats--count-1 .lottery-display-roll__congrats-prize{font-size:18px;font-weight:600}.lottery-display-roll__winners--count-1 .lottery-display-roll__winners-row{padding:12px 18px;font-size:17px;gap:14px}.lottery-display-roll__winners--count-1 .lottery-display-roll__winner-item{padding:14px 20px;margin:0 10px 10px;font-size:17px;border-radius:12px;box-shadow:0 0 20px #ffd70026}.lottery-display-roll__winners--count-1 .lottery-display-roll__winner-rank{width:34px;height:34px;line-height:34px;font-size:15px;border-radius:10px}.lottery-display-roll__winners--count-1 .lottery-display-roll__winner-num{min-width:72px;font-size:18px}.lottery-display-roll__winners--count-1 .lottery-display-roll__winner-prize{font-size:15px;max-width:120px}.lottery-display-roll__winners--count-1 .lottery-display-roll__winners-row--head .lottery-display-roll__winner-rank{width:34px;min-width:34px}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winners-head{font-size:19px;padding:14px 18px;letter-spacing:.15em}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winners-head .anticon{font-size:20px}.lottery-display-roll__congrats--count-2-3 .lottery-display-roll__congrats-label{font-size:26px;letter-spacing:.2em;margin-bottom:8px}.lottery-display-roll__congrats--count-2-3 .lottery-display-roll__congrats-number{font-size:38px;letter-spacing:6px;margin-bottom:6px}.lottery-display-roll__congrats--count-2-3 .lottery-display-roll__congrats-name{font-size:21px;margin-bottom:4px}.lottery-display-roll__congrats--count-2-3 .lottery-display-roll__congrats-prize{font-size:16px}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winners-row{padding:10px 16px;font-size:15px;gap:12px}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winner-item{padding:10px 16px;margin:0 8px 8px;font-size:15px}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winner-rank{width:30px;height:30px;line-height:30px;font-size:13px}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winner-num{min-width:64px}.lottery-display-roll__winners--count-2-3 .lottery-display-roll__winners-row--head .lottery-display-roll__winner-rank{width:30px;min-width:30px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winners-head{font-size:16px;padding:10px 14px;letter-spacing:.1em}.lottery-display-roll__winners--count-4 .lottery-display-roll__winners-head .anticon{font-size:17px}.lottery-display-roll__congrats--count-4 .lottery-display-roll__congrats-label{font-size:20px;margin-bottom:2px}.lottery-display-roll__congrats--count-4 .lottery-display-roll__congrats-number{font-size:26px;letter-spacing:3px}.lottery-display-roll__congrats--count-4 .lottery-display-roll__congrats-name{font-size:16px}.lottery-display-roll__congrats--count-4 .lottery-display-roll__congrats-prize{font-size:13px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winners-row{padding:6px 12px;font-size:13px;gap:8px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winner-item{padding:6px 12px;margin:0 6px 5px;font-size:13px;border-radius:8px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winner-rank{width:22px;height:22px;line-height:22px;font-size:11px;border-radius:6px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winner-num{min-width:48px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winner-prize{font-size:12px;max-width:72px}.lottery-display-roll__winners--count-4 .lottery-display-roll__winners-row--head .lottery-display-roll__winner-rank{width:22px;min-width:22px}.lottery-display-congrats{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:24px;color:#ffecd2}.lottery-display-congrats__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(255,215,0,.15) 0%,transparent 55%);pointer-events:none}.lottery-display-congrats__content{position:relative;text-align:center;animation:lottery-congrats-in .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes lottery-congrats-in{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.lottery-display-congrats__label{font-size:28px;font-weight:800;color:gold;letter-spacing:.2em;margin-bottom:20px;text-shadow:0 0 30px rgba(255,215,0,.6)}.lottery-display-congrats__number{font-size:56px;font-weight:800;font-variant-numeric:tabular-nums;color:gold;letter-spacing:.15em;margin-bottom:12px;text-shadow:0 0 24px rgba(255,215,0,.6)}.lottery-display-congrats__name{font-size:22px;font-weight:600;color:#ffecd2;margin-bottom:8px}.lottery-display-congrats__prize{font-size:16px;color:#ffecd2e6;margin-bottom:20px}.lottery-display-congrats__winners-label{font-size:14px;font-weight:600;color:#ffecd2e6;margin-top:12px;margin-bottom:6px}.lottery-display-congrats__all{margin-top:4px;padding-top:8px;border-top:1px solid rgba(255,215,0,.25);display:flex;flex-direction:column;gap:4px;max-height:100px;overflow-y:auto}.lottery-display-congrats__all-item{font-size:12px;color:#ffecd2cc;line-height:1.35}.lottery-drawing{display:flex;align-items:center;justify-content:center;height:100%;padding:16px}.drawing-animation{text-align:center}.lottery-wheel{position:relative;width:160px;height:160px;margin:0 auto 16px}.lottery-wheel-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;animation:wheelSpin 1.2s linear infinite}.lottery-wheel-ring-2{top:16px;right:16px;bottom:16px;left:16px;animation:wheelSpin .95s linear infinite reverse}.lottery-wheel-ring{box-shadow:0 0 0 6px #ffd70040,inset 0 0 30px #ffd7001a}.lottery-wheel-segments{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:conic-gradient(from 0deg,gold,gold 45deg,#ff6b6b 45deg,#ff6b6b 90deg,gold 90deg,gold 135deg,#4ecdc4 135deg,#4ecdc4 180deg,gold 180deg,gold 225deg,#a855f7 225deg,#a855f7 270deg,gold 270deg,gold 315deg,#f59e0b 315deg,#f59e0b 360deg)}.lottery-wheel-segments-2{top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:conic-gradient(from 22.5deg,#f59e0b,#f59e0b 45deg,gold 45deg,gold 90deg,#a855f7 90deg,#a855f7 135deg,gold 135deg,gold 180deg,#4ecdc4 180deg,#4ecdc4 225deg,gold 225deg,gold 270deg,#ff6b6b 270deg,#ff6b6b 315deg,gold 315deg,gold 360deg)}.lottery-wheel-inner{position:absolute;top:40px;right:40px;bottom:40px;left:40px;border-radius:50%;background:linear-gradient(145deg,#1a1a2e,#16213e);border:4px solid #ffd700;box-shadow:inset 0 0 30px #00000080,0 0 20px #ffd70066;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.lottery-wheel-inner .drawing-icon{font-size:36px;color:gold;margin-bottom:4px;animation:trophyPulse .8s ease-in-out infinite}.lottery-wheel-inner .drawing-label{font-size:12px;font-weight:700;color:gold;letter-spacing:1px}@keyframes wheelSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes trophyPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}50%{transform:scale(1.1);filter:drop-shadow(0 0 16px rgba(255,215,0,.9))}}.drawing-text{font-size:28px;font-weight:700;margin:12px 0;animation:pulse 1s ease-in-out infinite;text-shadow:0 0 20px rgba(255,215,0,.5)}.drawing-dots{display:flex;justify-content:center;gap:8px}.drawing-dots span{width:12px;height:12px;background:#fff;border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.drawing-dots span:nth-child(2){animation-delay:.2s}.drawing-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}}.lottery-header{text-align:center;margin-bottom:20px}.lottery-header .header-icon{font-size:40px;color:gold;margin-bottom:8px}.lottery-header .winner-icon{animation:bounce 1s ease-in-out infinite}.lottery-header h1{font-size:28px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.lottery-header p{font-size:14px;color:#fffc}.prizes-display{margin-bottom:40px}.prizes-display h2{text-align:center;font-size:36px;margin-bottom:32px;color:gold}.prizes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.prize-card{padding:24px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:2px solid rgba(255,255,255,.2);text-align:center;animation:fadeIn .6s ease-out;animation-fill-mode:both}.prize-image-large{width:100%;max-height:150px;object-fit:contain;margin-bottom:16px;border-radius:8px}.prize-card h3{font-size:24px;font-weight:700;margin:0 0 8px;color:#fff}.prize-card p{color:#fffc;margin-bottom:8px}.prize-count{display:inline-block;padding:4px 12px;background:gold;color:#1a1a2e;border-radius:12px;font-weight:700}.lottery-display--with-wheel{display:flex;flex-direction:column;align-items:center;justify-content:center}.lottery-wheel-wrap{margin:12px 0 16px;display:flex;justify-content:center;align-items:center}.waiting-message{text-align:center;padding:12px 0 24px;font-size:14px;color:#ffffffe6}.winners-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;max-width:100%;margin:0 auto}.winner-card{padding:12px 16px;background:linear-gradient(135deg,#ffd70026,#ffed4e26);border:2px solid rgba(255,215,0,.5);border-radius:10px;position:relative}.winner-card-reveal{animation:cardReveal .8s cubic-bezier(.34,1.56,.64,1) forwards;animation-fill-mode:both;opacity:0;transform:rotateY(-95deg) scale(.85)}@keyframes cardReveal{0%{opacity:0;transform:rotateY(-95deg) scale(.85)}to{opacity:1;transform:rotateY(0) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.winner-badge{position:absolute;top:-8px;left:12px;width:24px;height:24px;background:gold;color:#1a1a2e;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.winner-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.winner-avatar{width:36px;height:36px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;border:2px solid #ffd700}.winner-details h2{font-size:14px;font-weight:700;margin:0 0 4px;color:#fff}.winner-number{font-size:12px;color:#ffffffe6}.winner-prize{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffd70040;border-radius:8px;font-size:12px;font-weight:600}.winner-prize .prize-icon{font-size:14px;color:gold}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.message-wall-display{width:100%;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}.message-wall-inner.message-wall-3d{width:100%;height:100%;padding:min(6px,.8vh) min(10px,1.2vw);color:#fff;display:flex;flex-direction:column;min-height:0;overflow:hidden}.message-wall-header{flex-shrink:0;text-align:center;margin-bottom:min(4px,.5vh);animation:mwSlideDown .5s ease-out}.message-wall-header .header-icon{font-size:clamp(16px,min(2.2vw,2.2vh),28px);color:#f5222d;margin-bottom:2px;animation:mwHeartbeat 1.5s ease-in-out infinite}@keyframes mwHeartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.08)}20%,40%{transform:scale(1)}}.message-wall-header h1{font-size:clamp(11px,min(1.6vw,1.6vh),22px);font-weight:700;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.5)}.messages-tags-wrap{flex:1;min-height:0;overflow:auto;perspective:1200px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.messages-tags-wrap::-webkit-scrollbar{display:none}.messages-tags.messages-tags-3d{display:flex;flex-wrap:wrap;align-content:flex-start;gap:min(6px,.8vh) min(10px,1vw);padding:min(4px,.5vh) 0;transform-style:preserve-3d}.message-wall-pinned{display:flex;flex-wrap:wrap;gap:min(6px,.8vh) min(10px,1vw);width:100%;margin-bottom:min(8px,1vh);padding-bottom:min(6px,.8vh);border-bottom:1px solid rgba(255,255,255,.2)}.message-tag--pinned{animation:mwTag3dFloat 4s ease-in-out infinite,mwFadeIn .4s ease-out}.message-tag--rotating{animation:mwTag3dFloat 4s ease-in-out infinite}.message-tag--entering{animation:mwRotating3dFlipIn .5s ease-out forwards}@keyframes mwRotating3dFlipIn{0%{opacity:0;transform:perspective(1200px) rotateY(88deg) rotateX(2deg) scale(.92)}to{opacity:1;transform:perspective(1200px) rotateY(-8deg) rotateX(2deg) scale(1)}}.message-tag--exiting{animation:mwRotating3dFlipOut .45s ease-in forwards;pointer-events:none}@keyframes mwRotating3dFlipOut{0%{opacity:1;transform:perspective(1200px) rotateY(-8deg) rotateX(2deg) scale(1)}to{opacity:0;transform:perspective(1200px) rotateY(-92deg) rotateX(2deg) scale(.92)}}.messages-grid-empty{width:100%;padding:1rem;display:flex;align-items:center;justify-content:center;color:#fff9;font-size:clamp(11px,min(1.4vw,1.4vh),18px)}.message-tag.mw-tag-3d{display:inline-flex;flex-direction:column;align-items:stretch;max-width:100%;padding:min(5px,.6vh) min(10px,1.2vw);border-radius:clamp(8px,1vw,14px);font-size:clamp(9px,min(1.1vw,1.1vh),14px);line-height:1.35;font-weight:500;overflow:hidden;max-width:320px;box-shadow:0 2px 8px #00000040;transform-style:preserve-3d;animation:mwTag3dFloat 4s ease-in-out infinite;animation-fill-mode:both;border:1px solid rgba(255,255,255,.35)}.message-tag-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-shrink:0;margin-bottom:min(3px,.4vh)}.message-tag-nickname{font-size:clamp(8px,1vw,12px);opacity:.95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.message-tag-likes{display:inline-flex;align-items:center;gap:2px;font-size:clamp(8px,1vw,12px);flex-shrink:0;opacity:.95}.message-tag-text{word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word}@keyframes mwTag3dFloat{0%,to{transform:rotateY(-8deg) rotateX(2deg) translateZ(0)}25%{transform:rotateY(4deg) rotateX(-2deg) translateZ(4px)}50%{transform:rotateY(8deg) rotateX(2deg) translateZ(0)}75%{transform:rotateY(-4deg) rotateX(-1deg) translateZ(4px)}}.mw-tag--coral{background:linear-gradient(135deg,#ff6b6b,#ee5a5a);color:#fff}.mw-tag--gold{background:linear-gradient(135deg,#ffc53d,#faad14);color:#1f1f1f}.mw-tag--mint{background:linear-gradient(135deg,#36cfc9,#13c2c2);color:#fff}.mw-tag--sky{background:linear-gradient(135deg,#69c0ff,#40a9ff);color:#fff}.mw-tag--lavender{background:linear-gradient(135deg,#b37feb,#9254de);color:#fff}.mw-tag--peach{background:linear-gradient(135deg,#ff9c6e,#ff7a45);color:#fff}.mw-tag--cyan{background:linear-gradient(135deg,#5cdbd3,#36cfc9);color:#1f1f1f}.mw-tag--rose{background:linear-gradient(135deg,#ff85c0,#f759ab);color:#fff}@keyframes mwFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes mwSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.moments-display{width:100%;height:100%;overflow:hidden;position:relative;min-height:0;padding:0;box-sizing:border-box;display:flex;flex-direction:column}.moments-display--empty{display:flex;align-items:center;justify-content:center;color:#fff9}.moments-display--empty .empty-icon{font-size:clamp(48px,8vw,64px);margin-bottom:12px;color:#fff6}.moments-display--empty p{font-size:clamp(14px,2vw,18px);margin:0}.moments-display-stage{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;min-width:0;min-height:0}.moments-display--strip-vertical{display:flex;flex-direction:column;overflow:hidden;min-height:0}.moments-display-vertical-wrap{flex:1;min-height:0;overflow:hidden}.moments-display-vertical-track{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px;animation:moments-led-scroll-vertical 25s linear infinite;will-change:transform}.moments-display-vertical-track:hover{animation-play-state:paused}@keyframes moments-led-scroll-vertical{0%{transform:translateY(0)}to{transform:translateY(-50%)}}.moments-display-vertical-item{flex-shrink:0;width:100%;max-width:100%;aspect-ratio:var(--img-aspect-ratio, 1);max-height:min(40vw,280px);display:flex;align-items:center;justify-content:center}.moments-display-vertical-item img{width:100%;height:100%;object-fit:contain;display:block;vertical-align:middle}.moments-display--strip{display:flex;align-items:center;overflow:hidden}.moments-display-led{width:100%;height:100%;overflow:hidden}.moments-display-led-track{display:flex;flex-wrap:nowrap;align-items:center;height:100%;gap:12px;padding:0 8px;animation:moments-led-scroll 20s linear infinite;will-change:transform}.moments-display-led-track:hover{animation-play-state:paused}@keyframes moments-led-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.moments-display-led-item{flex-shrink:0;height:100%;width:auto;aspect-ratio:var(--img-aspect-ratio, 1);max-width:min(40vh,100%);display:flex;align-items:center;justify-content:center}.moments-display-led-item img{width:100%;height:100%;object-fit:contain;display:block;vertical-align:middle}.moments-display-item{position:absolute;height:auto;aspect-ratio:var(--img-aspect-ratio, 1);overflow:visible;border:none;border-radius:0;box-shadow:none;background:transparent;max-width:100%;max-height:100%;box-sizing:border-box}.moments-display-item-rotate{display:block;width:100%;height:100%;overflow:visible}.moments-display-item img{width:100%;height:100%;object-fit:contain;display:block;vertical-align:middle}.moments-display-stage{--ease-out-smooth: cubic-bezier(.33, 1, .68, 1);--ease-spring: cubic-bezier(.34, 1.2, .64, 1)}.moments-display-item--exiting{pointer-events:none;animation-timing-function:var(--ease-out-smooth);animation-fill-mode:forwards;animation-iteration-count:1}@keyframes moments-exit-fade-out{0%{opacity:1}to{opacity:0}}@keyframes moments-exit-zoom-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@keyframes moments-exit-slide-up-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-25%)}}@keyframes moments-exit-slide-down-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes moments-exit-slide-left-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-25%)}}@keyframes moments-exit-slide-right-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(25%)}}@keyframes moments-exit-flip-y-out{0%{opacity:1;transform:perspective(400px) rotateY(0)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}@keyframes moments-exit-zoom-out-blur{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(1.1);filter:blur(6px)}}.moments-display-exit--fade-out{animation:moments-exit-fade-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--zoom-out{animation:moments-exit-zoom-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--slide-up-out{animation:moments-exit-slide-up-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--slide-down-out{animation:moments-exit-slide-down-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--slide-left-out{animation:moments-exit-slide-left-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--slide-right-out{animation:moments-exit-slide-right-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--flip-y-out{animation:moments-exit-flip-y-out .48s var(--ease-out-smooth) forwards}.moments-display-exit--zoom-out-blur{animation:moments-exit-zoom-out-blur .48s var(--ease-out-smooth) forwards}@keyframes moments-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes moments-enter-zoom{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes moments-enter-zoom-spring{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes moments-enter-scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes moments-enter-slide-up{0%{opacity:0;transform:translateY(22%)}to{opacity:1;transform:translateY(0)}}@keyframes moments-enter-slide-down{0%{opacity:0;transform:translateY(-22%)}to{opacity:1;transform:translateY(0)}}@keyframes moments-enter-slide-left{0%{opacity:0;transform:translate(22%)}to{opacity:1;transform:translate(0)}}@keyframes moments-enter-slide-right{0%{opacity:0;transform:translate(-22%)}to{opacity:1;transform:translate(0)}}@keyframes moments-enter-flip-y{0%{opacity:0;transform:perspective(400px) rotateY(-75deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}@keyframes moments-enter-flip-x{0%{opacity:0;transform:perspective(400px) rotateX(-75deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}.moments-display-enter--fade{animation-name:moments-enter-fade}.moments-display-enter--zoom{animation-name:moments-enter-zoom}.moments-display-enter--zoom-spring{animation-name:moments-enter-zoom-spring}.moments-display-enter--scale-in{animation-name:moments-enter-scale-in}.moments-display-enter--slide-up{animation-name:moments-enter-slide-up}.moments-display-enter--slide-down{animation-name:moments-enter-slide-down}.moments-display-enter--slide-left{animation-name:moments-enter-slide-left}.moments-display-enter--slide-right{animation-name:moments-enter-slide-right}.moments-display-enter--flip-y{animation-name:moments-enter-flip-y}.moments-display-enter--flip-x{animation-name:moments-enter-flip-x}@keyframes moments-idle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes moments-idle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes moments-idle-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}@keyframes moments-idle-swing{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes moments-idle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes moments-idle-breath{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes moments-idle-tilt{0%,to{transform:perspective(300px) rotateY(0) rotateX(0)}50%{transform:perspective(300px) rotateY(4deg) rotateX(-3deg)}}@keyframes moments-idle-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}.moments-display-item:not(.moments-display-item--exiting){animation-timing-function:var(--ease-out-smooth),ease-in-out;animation-fill-mode:forwards,none;animation-iteration-count:1,infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--float{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--pulse{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--glow{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--swing{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--bounce{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--breath{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--tilt{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--fade.moments-display-idle--shimmer{animation:moments-enter-fade var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--float{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--pulse{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--glow{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--swing{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--bounce{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--breath{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--tilt{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom.moments-display-idle--shimmer{animation:moments-enter-zoom var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--float{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--pulse{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--glow{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--swing{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--bounce{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--breath{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--tilt{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-up.moments-display-idle--shimmer{animation:moments-enter-slide-up var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--float{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--pulse{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--glow{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--swing{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--bounce{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--breath{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--tilt{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-down.moments-display-idle--shimmer{animation:moments-enter-slide-down var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--float{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--pulse{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--glow{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--swing{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--bounce{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--breath{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--tilt{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-left.moments-display-idle--shimmer{animation:moments-enter-slide-left var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--float{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--pulse{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--glow{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--swing{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--bounce{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--breath{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--tilt{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--slide-right.moments-display-idle--shimmer{animation:moments-enter-slide-right var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--float{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--pulse{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--glow{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--swing{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--bounce{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--breath{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--tilt{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-y.moments-display-idle--shimmer{animation:moments-enter-flip-y var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--float{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--pulse{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--glow{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--swing{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--bounce{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--breath{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--tilt{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--flip-x.moments-display-idle--shimmer{animation:moments-enter-flip-x var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--float{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--pulse{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--glow{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--swing{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--bounce{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--breath{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--tilt{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--zoom-spring.moments-display-idle--shimmer{animation:moments-enter-zoom-spring var(--enter-duration, .5s) var(--ease-spring) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--float{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-float var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--pulse{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-pulse var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--glow{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-glow var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--swing{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-swing var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--bounce{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-bounce var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--breath{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-breath var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--tilt{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-tilt var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.moments-display-item.moments-display-enter--scale-in.moments-display-idle--shimmer{animation:moments-enter-scale-in var(--enter-duration, .5s) var(--ease-out-smooth) forwards,moments-idle-shimmer var(--idle-duration, 3s) ease-in-out var(--idle-delay, 0s) infinite}.survey-display{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#fff}.survey-display--empty{background:#00142899}.survey-display-card{text-align:center;max-width:560px;padding:2rem 3rem;background:#ffffff14;border-radius:16px;border:1px solid rgba(255,255,255,.15)}.survey-display-title{font-size:clamp(1.5rem,3vw,2.2rem);margin:0 0 .5rem;font-weight:600}.survey-display-desc{font-size:1rem;opacity:.9;margin:0 0 1rem}.survey-display-meta{font-size:.95rem;opacity:.85;margin:0 0 1.5rem}.survey-display-qrcode-hint{font-size:.9rem;opacity:.75}.survey-display-hint{font-size:.9rem;opacity:.8;margin-top:.5rem}.survey-display-dots{display:flex;gap:8px;margin-top:1.5rem}.survey-display-dots .dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;transition:background .2s}.survey-display-dots .dot.active{background:#fff}.phase-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#001428eb,#0a1e3cf2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.phase-overlay--annual{background:linear-gradient(160deg,#1a0505f5,#2d0a0af7 40%,#4a1515f2);box-shadow:inset 0 0 80px #d4af3714}.phase-overlay--annual .phase-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:.12em;color:#fff;text-shadow:0 0 30px rgba(212,175,55,.4),0 2px 8px rgba(0,0,0,.6)}.phase-overlay--annual .phase-subtitle{font-size:clamp(1.1rem,2.2vw,1.4rem);color:#ffecd2;opacity:.95}.phase-overlay--annual .phase-thanks{color:#ffecd2;opacity:.9}.phase-overlay--annual .countdown-num{background:linear-gradient(180deg,#ffecd2,#d4af37,#b8860b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;text-shadow:none;filter:drop-shadow(0 0 12px rgba(212,175,55,.5))}.phase-overlay--annual .countdown-label{color:#d4af37;font-weight:600;opacity:1}.phase-overlay--annual .phase-stats span{color:#ffecd2;opacity:.9}.phase-overlay-inner{text-align:center;color:#fff;padding:2rem}.phase-title{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;margin:0 0 .5rem;letter-spacing:.02em}.phase-subtitle{font-size:clamp(1rem,2vw,1.25rem);opacity:.9;margin:0 0 2rem}.phase-hint{font-size:1rem;opacity:.8;margin:0}.phase-countdown{display:flex;justify-content:center;gap:clamp(1rem,3vw,2rem);flex-wrap:wrap}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:4rem}.countdown-num{display:block;font-size:clamp(2rem,6vw,4rem);font-weight:700;line-height:1.2;background:linear-gradient(180deg,#fff,#ffffffd9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.countdown-label{font-size:.85rem;opacity:.8;margin-top:.25rem}.phase-overlay--ended .phase-thanks{font-size:1.1rem;opacity:.9;margin:1rem 0 0}.festive-particles{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.95}.festive-background{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.festive-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(165deg,#2d0808,#4a1212,#6b1a1a 30%,#8b2222 48%,#7a1c1c 62%,#5a1515 78%,#3d0d0d 92%,#2d0808);opacity:1}.festive-bg-glow{position:absolute;width:480px;height:320px;border-radius:50%;filter:blur(90px);opacity:.65;animation:festive-glow-pulse 6s ease-in-out infinite}.festive-bg-glow--tl{top:-100px;left:-100px;background:radial-gradient(circle,rgba(255,215,0,.55) 0%,rgba(212,175,55,.4) 40%,transparent 70%);animation-delay:0s}.festive-bg-glow--tr{top:-100px;right:-100px;background:radial-gradient(circle,rgba(255,69,0,.4) 0%,rgba(220,20,60,.35) 40%,transparent 70%);animation-delay:1.5s}.festive-bg-glow--bl{bottom:-100px;left:-100px;background:radial-gradient(circle,rgba(255,215,0,.45) 0%,rgba(212,175,55,.35) 40%,transparent 70%);animation-delay:3s}.festive-bg-glow--br{bottom:-100px;right:-100px;background:radial-gradient(circle,rgba(220,20,60,.4) 0%,rgba(196,30,58,.3) 40%,transparent 70%);animation-delay:4.5s}@keyframes festive-glow-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.festive-bg-shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 0%,rgba(255,248,220,.08) 25%,rgba(255,215,0,.12) 50%,rgba(255,248,220,.08) 75%,transparent 100%);animation:festive-shine-move 10s linear infinite}@keyframes festive-shine-move{0%{transform:translate(-100%)}to{transform:translate(100%)}}.festive-bg-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.5}.festive-lanterns{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.festive-lantern{position:absolute;width:80px;height:106px;background:radial-gradient(ellipse 50% 70% at 50% 30%,#ff6450fa,#dc3246fa,#b41428f2 70%,#a00a1ee6);border-radius:50% 50% 45% 45%;box-shadow:inset -10px -15px 30px #00000040,inset 12px 8px 25px #ffdcb459,0 0 50px #ffd70066,0 0 90px #d4af3733;animation:festive-lantern-sway 4s ease-in-out infinite}.festive-lantern:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:40px;height:14px;background:linear-gradient(180deg,#b8860b,#8b6914);border-radius:4px;box-shadow:0 2px 8px #0000004d,0 0 12px #d4af374d}.festive-lantern:after{content:"福";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;font-weight:900;color:#fff8dc;text-shadow:0 0 16px rgba(255,215,0,.6),0 2px 6px rgba(0,0,0,.4);font-family:KaiTi,STKaiti,serif}.festive-lantern--tl{top:22px;left:5%;animation-delay:0s;animation-name:festive-lantern-sway-tl}.festive-lantern--tr{top:22px;right:5%;animation-delay:1s;animation-name:festive-lantern-sway-tr}.festive-lantern--bl{bottom:22px;left:5%;animation-delay:2s;animation-name:festive-lantern-sway-bl}.festive-lantern--br{bottom:22px;right:5%;animation-delay:3s;animation-name:festive-lantern-sway-br}@keyframes festive-lantern-sway-tl{0%,to{transform:rotate(-8deg) rotate(-2deg)}50%{transform:rotate(-8deg) rotate(2deg)}}@keyframes festive-lantern-sway-tr{0%,to{transform:rotate(8deg) rotate(2deg)}50%{transform:rotate(8deg) rotate(-2deg)}}@keyframes festive-lantern-sway-bl{0%,to{transform:rotate(8deg) rotate(-2deg)}50%{transform:rotate(8deg) rotate(2deg)}}@keyframes festive-lantern-sway-br{0%,to{transform:rotate(-8deg) rotate(2deg)}50%{transform:rotate(-8deg) rotate(-2deg)}}.festive-corner{position:absolute;z-index:1;pointer-events:none;opacity:.88;animation:festive-corner-shine 5s ease-in-out infinite}.festive-corner--tl{top:4px;left:4px}.festive-corner--tr{top:4px;right:4px}.festive-corner--bl{bottom:4px;left:4px}.festive-corner--br{bottom:4px;right:4px}.festive-corner-svg{width:100%;height:100%;filter:drop-shadow(0 0 6px rgba(255,215,0,.25))}.festive-corner-bg{animation:festive-corner-bg-pulse 4s ease-in-out infinite}.festive-corner-frame{animation:festive-corner-frame-pulse 3.5s ease-in-out infinite}.festive-corner-inner{animation:festive-corner-inner-pulse 3s ease-in-out infinite}@keyframes festive-corner-shine{0%,to{opacity:.82}50%{opacity:.92}}@keyframes festive-corner-bg-pulse{0%,to{opacity:.9}50%{opacity:1}}@keyframes festive-corner-frame-pulse{0%,to{opacity:.9}50%{opacity:1}}@keyframes festive-corner-inner-pulse{0%,to{opacity:.8}50%{opacity:1}}.festive-header{position:relative;height:100%;min-height:88px;display:flex;align-items:center;padding:0 clamp(24px,3vw,48px);z-index:2}.festive-header-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(139,0,0,.25) 0%,rgba(100,20,20,.12) 50%,transparent 100%);pointer-events:none}.festive-header-inner{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;gap:16px}.festive-header-left{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;grid-column:2;text-align:center}.festive-header-title{margin:0;font-size:40px;font-weight:800;letter-spacing:.2em;color:#ffecd2;text-shadow:0 0 28px rgba(255,215,0,.7),0 0 56px rgba(220,80,80,.35),0 2px 8px rgba(0,0,0,.8);animation:festive-header-title-glow 3s ease-in-out infinite}@keyframes festive-header-title-glow{0%,to{text-shadow:0 0 28px rgba(255,215,0,.6),0 0 56px rgba(220,80,80,.3),0 2px 8px rgba(0,0,0,.8)}50%{text-shadow:0 0 36px rgba(255,215,0,.85),0 0 64px rgba(220,80,80,.4),0 2px 8px rgba(0,0,0,.8)}}.festive-header-subtitle{margin:0;font-size:12px;color:#ffecd2e6;letter-spacing:.12em}.festive-header-right{display:flex;align-items:center;justify-content:flex-end;gap:24px;grid-column:3}.festive-header-datetime{padding:8px 20px;background:#ffd70033;border:1px solid rgba(255,215,0,.55);border-radius:24px;box-shadow:0 0 20px #ffd70040}.festive-header-datetime-text{font-size:clamp(14px,1.4vw,18px);font-weight:600;color:#ffecd2;letter-spacing:.04em}.festive-header-online{display:flex;align-items:center;gap:10px;padding:10px 24px;background:#b41e3240;border:2px solid rgba(255,215,0,.55);border-radius:28px;box-shadow:0 0 24px #ffd7004d}.festive-header-online--connected{border-color:#ffd700d9;box-shadow:0 0 28px #ffd70073}.festive-header-online-dot{width:12px;height:12px;border-radius:50%;background:#d4af37;animation:festive-header-dot-pulse 2s ease-in-out infinite}.festive-header-online--connected .festive-header-online-dot{box-shadow:0 0 12px #d4af37cc}@keyframes festive-header-dot-pulse{0%,to{opacity:1;box-shadow:0 0 #d4af3799}50%{opacity:.9;box-shadow:0 0 0 8px #d4af3700}}.festive-header-online-label{font-size:clamp(14px,1.4vw,18px);color:#ffecd2e6}.festive-header-online-value{font-size:clamp(18px,2vw,24px);font-weight:700;color:#ffecd2;text-shadow:0 0 12px rgba(212,175,55,.5)}.festive-header-border{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.35) 20%,rgba(255,215,0,.85) 50%,rgba(255,215,0,.35) 80%,transparent 100%);animation:festive-header-border-shine 4s ease-in-out infinite}.festive-header-border--bottom{bottom:0}@keyframes festive-header-border-shine{0%,to{opacity:.7}50%{opacity:1}}.festive-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(105deg,transparent 0%,transparent 32%,rgba(255,248,220,0) 42%,rgba(255,215,0,.2) 50%,rgba(255,248,220,0) 58%,transparent 68%,transparent 100%);transform:translate(-100%);opacity:0;transition:none}.festive-shimmer--active{animation:festive-shimmer-run .8s ease-out forwards}@keyframes festive-shimmer-run{0%{transform:translate(-100%);opacity:0}15%{opacity:1}85%{opacity:1}to{transform:translate(100%);opacity:0}}.festive-floating-dots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.festive-floating-dot{position:absolute;width:var(--dot-size, 6px);height:var(--dot-size, 6px);left:var(--dot-left, 10%);bottom:-10px;border-radius:50%;animation:festive-dot-float var(--dot-duration, 5s) ease-in-out infinite;animation-delay:var(--dot-delay, 0s);box-shadow:0 0 8px currentColor}@keyframes festive-dot-float{0%,to{transform:translateY(0) scale(1);opacity:.3}10%{opacity:.8}50%{transform:translateY(-80vh) scale(.6);opacity:.4}90%{opacity:.6}}.festive-small-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.festive-small-star{position:absolute;width:var(--star-size, 10px);height:var(--star-size, 10px);left:var(--star-left, 10%);top:var(--star-top, 10%);background:radial-gradient(circle at 30% 30%,#fff8dc,gold 40%,#daa520);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:festive-star-twinkle var(--star-duration, 2s) ease-in-out infinite;animation-delay:var(--star-delay, 0s);opacity:.9;filter:drop-shadow(0 0 4px rgba(255,215,0,.8))}@keyframes festive-star-twinkle{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15);filter:drop-shadow(0 0 8px rgba(255,215,0,1))}}.festive-lucky-chars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden}.festive-lucky-char{position:absolute;font-weight:900;color:#fff8dcd9;text-shadow:0 0 12px rgba(255,215,0,.6),0 1px 3px rgba(0,0,0,.3);font-family:KaiTi,STKaiti,SimKai,serif;transform:translate(-50%,-50%);animation:festive-lucky-char-float 4s ease-in-out infinite}@keyframes festive-lucky-char-float{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08);text-shadow:0 0 16px rgba(255,215,0,.8),0 1px 3px rgba(0,0,0,.3)}}.festive-mini-ribbons{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.festive-mini-ribbon{position:absolute;height:8px;border-radius:4px;animation:festive-mini-ribbon-sway 3s ease-in-out infinite}.festive-mini-ribbon--gold{background:linear-gradient(90deg,gold,#daa520,gold);box-shadow:0 0 10px #ffd70080}.festive-mini-ribbon--red{background:linear-gradient(90deg,#dc143c,#b22222,#dc143c);box-shadow:0 0 10px #dc143c66}@keyframes festive-mini-ribbon-sway{0%,to{opacity:.85;filter:brightness(1)}50%{opacity:1;filter:brightness(1.2)}}.festive-edge-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.festive-edge-sparkle{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff8dc,gold);box-shadow:0 0 10px #ffd700e6;animation:festive-edge-sparkle-pulse 2s ease-in-out infinite}.festive-edge-sparkle--t{top:6px;transform:translate(-50%)}.festive-edge-sparkle--b{bottom:62px;transform:translate(-50%)}.festive-edge-sparkle--l{left:6px;transform:translateY(-50%)}.festive-edge-sparkle--r{right:6px;transform:translateY(-50%)}@keyframes festive-edge-sparkle-pulse{0%,to{opacity:.7;transform:translate(-50%) scale(1);box-shadow:0 0 8px #ffd700b3}50%{opacity:1;transform:translate(-50%) scale(1.2);box-shadow:0 0 14px gold}}.festive-edge-sparkle--b{animation-name:festive-edge-sparkle-pulse-b}@keyframes festive-edge-sparkle-pulse-b{0%,to{opacity:.7;transform:translate(-50%) scale(1);box-shadow:0 0 8px #ffd700b3}50%{opacity:1;transform:translate(-50%) scale(1.2);box-shadow:0 0 14px gold}}.festive-edge-sparkle--l{animation-name:festive-edge-sparkle-pulse-l}@keyframes festive-edge-sparkle-pulse-l{0%,to{opacity:.7;transform:translateY(-50%) scale(1);box-shadow:0 0 8px #ffd700b3}50%{opacity:1;transform:translateY(-50%) scale(1.2);box-shadow:0 0 14px gold}}.festive-edge-sparkle--r{animation-name:festive-edge-sparkle-pulse-r}@keyframes festive-edge-sparkle-pulse-r{0%,to{opacity:.7;transform:translateY(-50%) scale(1);box-shadow:0 0 8px #ffd700b3}50%{opacity:1;transform:translateY(-50%) scale(1.2);box-shadow:0 0 14px gold}}.festive-chinese-knots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.festive-chinese-knot{position:absolute;display:flex;flex-direction:column;align-items:center;animation:festive-knot-sway 4s ease-in-out infinite}.festive-knot-loop{width:100%;height:28%;border:3px solid #dc143c;border-radius:50%;background:linear-gradient(135deg,#dc143c4d,#b2222280);box-shadow:inset 0 0 8px #ffd7004d,0 0 10px #dc143c66}.festive-knot-loop--top{border-top-color:gold;border-left-color:gold}.festive-knot-loop--mid{margin:-2px 0;width:85%;height:26%;border-color:gold;background:linear-gradient(135deg,#ffd70066,#daa52080)}.festive-knot-loop--bot{border-bottom-color:gold;border-right-color:gold}.festive-knot-tassel{width:4px;height:35%;background:linear-gradient(180deg,#dc143c,#8b0000);border-radius:2px;margin-top:2px;box-shadow:0 0 8px #ffd70033}@keyframes festive-knot-sway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.festive-clouds{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.festive-cloud{position:absolute;height:24px;display:flex;align-items:center;justify-content:center;gap:2px;animation:festive-cloud-float 8s ease-in-out infinite}.festive-cloud-bump{width:30%;height:100%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff8dce6,#ffd70099);box-shadow:0 0 12px #ffd70059}.festive-cloud-bump--1{width:36%;height:110%}.festive-cloud-bump--2{width:28%}.festive-cloud-bump--3{width:32%;height:95%}@keyframes festive-cloud-float{0%,to{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-6px) scale(1.05);opacity:1}}.festive-plum-blossoms{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.festive-plum-blossom{position:absolute;display:block;animation:festive-blossom-float 5s ease-in-out infinite}.festive-petal{position:absolute;left:50%;top:50%;width:35%;height:45%;margin-left:-17.5%;margin-top:-22.5%;background:radial-gradient(ellipse 50% 80% at 50% 0%,#fff8dcf2,#ffb6c1b3);border-radius:50%/60% 60% 40% 40%;box-shadow:0 0 6px #ffd7004d}.festive-petal--1{transform:rotate(0) translateY(-70%)}.festive-petal--2{transform:rotate(72deg) translateY(-70%)}.festive-petal--3{transform:rotate(144deg) translateY(-70%)}.festive-petal--4{transform:rotate(216deg) translateY(-70%)}.festive-petal--5{transform:rotate(288deg) translateY(-70%)}.festive-blossom-center{position:absolute;left:50%;top:50%;width:22%;height:22%;margin-left:-11%;margin-top:-11%;border-radius:50%;background:radial-gradient(circle,gold,#daa520);box-shadow:0 0 6px #ffd70099;z-index:1}@keyframes festive-blossom-float{0%,to{opacity:.85}50%{opacity:1}}.festive-firecrackers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.festive-firecracker-string{position:absolute;display:flex;flex-direction:column;align-items:center;animation:festive-firecracker-sway 3s ease-in-out infinite}.festive-firecracker-string[style*=right]{flex-direction:column;align-items:center}.festive-firecracker-fuse{width:4px;height:12px;background:linear-gradient(180deg,#8b4513,#654321);border-radius:2px;margin-bottom:2px}.festive-firecracker-tube{width:10px;height:14px;background:linear-gradient(180deg,#dc143c,#8b0000);border-radius:2px;margin-bottom:2px;box-shadow:inset 0 0 4px #ffd70033,0 0 6px #dc143c4d;animation:festive-tube-shine 2s ease-in-out infinite}@keyframes festive-firecracker-sway{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}}@keyframes festive-tube-shine{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}.festive-gold-coins{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.festive-gold-coin{position:absolute;width:var(--coin-size, 20px);height:var(--coin-size, 20px);left:var(--coin-left, 10%);top:var(--coin-top, 10%);transform:translate(-50%,-50%) rotate(var(--coin-rotate, 0deg));border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8dc,gold 40%,#daa520,#b8860b);box-shadow:inset 0 0 8px #fff8dc99,0 0 12px #ffd70080,0 2px 6px #0003;animation:festive-coin-twinkle 3s ease-in-out infinite;animation-delay:var(--coin-delay, 0s)}.festive-gold-coin:after{content:"";position:absolute;top:25%;right:25%;bottom:25%;left:25%;border:2px solid rgba(139,0,0,.4);border-radius:50%;box-sizing:border-box}@keyframes festive-coin-twinkle{0%,to{opacity:.8;filter:brightness(1)}50%{opacity:1;filter:brightness(1.2)}}.festive-ribbon{position:absolute;z-index:4;pointer-events:none;overflow:hidden;opacity:.85;animation:festive-ribbon-sway 5s ease-in-out infinite}.festive-ribbon--tl{top:88px;left:6%;transform-origin:left top}.festive-ribbon--tr{top:88px;right:6%;transform-origin:right top}.festive-ribbon--bl{bottom:58px;left:6%;transform-origin:left bottom}.festive-ribbon--br{bottom:58px;right:6%;transform-origin:right bottom}.festive-ribbon--gold .festive-ribbon-inner{background:linear-gradient(135deg,#d4af37e6,#b8860bf2,#d4af37e6);box-shadow:0 2px 12px #d4af3766}.festive-ribbon--red .festive-ribbon-inner{background:linear-gradient(135deg,#c41e3ae6,#8b0000f2,#c41e3ae6);box-shadow:0 2px 12px #c41e3a66}.festive-ribbon-inner{width:100%;height:100%;border-radius:4px;animation:festive-ribbon-shine 3s ease-in-out infinite}@keyframes festive-ribbon-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes festive-ribbon-shine{0%,to{opacity:.9}50%{opacity:1;filter:brightness(1.1)}}.festive-lanterns{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden}.festive-lantern{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);animation:festive-lantern-sway 3s ease-in-out infinite}.festive-lantern--center{left:50%;right:auto}.festive-lantern[style*=right]{transform:translate(50%)}.festive-lantern-tassel{width:2px;background:linear-gradient(180deg,#d4af37e6,#b8860b99);border-radius:1px}.festive-lantern-tassel--top{height:6px;flex-shrink:0}.festive-lantern-tassel--bottom{height:12px;flex-shrink:0;background:linear-gradient(180deg,#b8860b99,#ffd70080);animation:festive-lantern-tassel 2s ease-in-out infinite}.festive-lantern-body{flex:1;width:100%;min-height:50%;border-radius:50% 50% 48% 48%;box-shadow:inset -4px -4px 12px #0003,inset 4px 4px 12px #ffffff40,0 0 12px #ffd7004d}.festive-lantern--red .festive-lantern-body{background:linear-gradient(145deg,#dc143c,#b22222 40%,#8b0000);box-shadow:inset -4px -4px 12px #00000040,inset 4px 4px 12px #ffc8c833,0 0 14px #ff450059,0 2px 8px #0003}.festive-lantern--gold .festive-lantern-body{background:linear-gradient(145deg,gold,#daa520 40%,#b8860b);box-shadow:inset -4px -4px 12px #0003,inset 4px 4px 12px #fff8dc66,0 0 14px #ffd70080,0 2px 8px #00000026}@keyframes festive-lantern-sway{0%,to{transform:translate(-50%) rotate(-2deg)}50%{transform:translate(-50%) rotate(2deg)}}.festive-lantern[style*=right]{animation-name:festive-lantern-sway-right}@keyframes festive-lantern-sway-right{0%,to{transform:translate(50%) rotate(2deg)}50%{transform:translate(50%) rotate(-2deg)}}@keyframes festive-lantern-tassel{0%,to{opacity:.9}50%{opacity:1}}.festive-red-envelopes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden}.festive-red-envelope{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:festive-envelope-float 4s ease-in-out infinite}.festive-red-envelope-body{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,#c41e3a,#a01830 40%,#8b0000);border-radius:4px 4px 12px 12px;box-shadow:inset 2px 2px 8px #ffffff26,inset -2px -2px 8px #0003,0 4px 16px #8b000066,0 0 20px #ffd70033;border:1px solid rgba(255,215,0,.35)}.festive-red-envelope-gold{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:55%;height:28%;background:linear-gradient(135deg,gold,#daa520,#b8860b);border-radius:2px;box-shadow:inset 0 0 6px #fff8dc99,0 1px 4px #0003;z-index:1}.festive-red-envelope-gold:before{content:"福";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.65em;font-weight:900;color:#8b0000e6;font-family:KaiTi,STKaiti,SimKai,serif;text-shadow:0 0 4px rgba(255,248,220,.5)}@keyframes festive-envelope-float{0%,to{opacity:.9;transform:translate(-50%,-50%) rotate(var(--r, 0deg)) translateY(0)}50%{opacity:1;transform:translate(-50%,-50%) rotate(var(--r, 0deg)) translateY(-4px);filter:brightness(1.08)}}.festive-border{--festive-border-speed: 3s;position:relative;border-radius:12px;overflow:hidden}.festive-border-inner{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit}.festive-border-line{position:absolute;background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.2) 20%,rgba(212,175,55,.9) 50%,rgba(212,175,55,.2) 80%,transparent 100%);animation:festive-border-flow var(--festive-border-speed) linear infinite}.festive-border-line--top{top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(255,215,0,.4) 15%,rgba(255,215,0,1) 50%,rgba(255,215,0,.4) 85%,transparent 100%);animation-name:festive-border-flow-h}.festive-border-line--bottom{bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(255,99,71,.4) 15%,rgba(220,20,60,.95) 50%,rgba(255,99,71,.4) 85%,transparent 100%);animation-name:festive-border-flow-h;animation-direction:reverse}.festive-border-line--left{top:0;bottom:0;left:0;width:4px;background:linear-gradient(180deg,transparent 0%,rgba(255,215,0,.4) 20%,rgba(255,215,0,.95) 50%,rgba(255,215,0,.4) 80%,transparent 100%);animation-name:festive-border-flow-v}.festive-border-line--right{top:0;bottom:0;right:0;width:4px;background:linear-gradient(180deg,transparent 0%,rgba(220,20,60,.4) 20%,rgba(220,20,60,.95) 50%,rgba(220,20,60,.4) 80%,transparent 100%);animation-name:festive-border-flow-v;animation-direction:reverse}@keyframes festive-border-flow-h{0%{opacity:.6;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.2)}to{opacity:.6;filter:brightness(.8)}}@keyframes festive-border-flow-v{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.festive-border-glow{position:absolute;border-radius:inherit;box-shadow:inset 0 0 20px #d4af3714;animation:festive-border-glow-pulse calc(var(--festive-border-speed) * 2) ease-in-out infinite}.festive-border-glow--top{top:0;left:0;right:0;height:2px;box-shadow:0 0 16px #ffd7008c}.festive-border-glow--right{top:0;right:0;bottom:0;width:2px;box-shadow:0 0 16px #ffd7008c}.festive-border-glow--bottom{bottom:0;left:0;right:0;height:2px;box-shadow:0 0 16px #ff634773}.festive-border-glow--left{top:0;left:0;bottom:0;width:2px;box-shadow:0 0 16px #ffd7008c}@keyframes festive-border-glow-pulse{0%,to{opacity:.7}50%{opacity:1}}.festive-panel{position:relative;width:100%;height:100%;min-height:0;display:flex;flex-direction:column;background:#8b000033;border-radius:12px;overflow:hidden;box-shadow:0 0 24px #ffd70014}.festive-panel .festive-border{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px}.festive-panel .festive-border-inner{border-radius:12px}.festive-panel-inner{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:16px;margin:2px;border-radius:10px;background:#64141440;overflow:hidden}.festive-panel-inner--no-border{margin:0}.festive-panel-header{position:relative;flex-shrink:0;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid rgba(255,215,0,.4)}.festive-panel-title{position:relative;font-size:clamp(16px,1.6vw,20px);font-weight:700;color:#ffecd2;letter-spacing:.08em;text-shadow:0 0 12px rgba(212,175,55,.4);z-index:1}.festive-panel-title-glow{position:absolute;bottom:-4px;left:0;width:60px;height:3px;background:linear-gradient(90deg,rgba(212,175,55,.8),transparent);border-radius:2px;animation:festive-panel-title-glow 2s ease-in-out infinite}@keyframes festive-panel-title-glow{0%,to{opacity:.5}50%{opacity:1}}.festive-panel-body{flex:1;min-height:0;overflow:auto;color:#fffffff2}.festive-panel-body::-webkit-scrollbar{width:6px;height:6px}.festive-panel-body::-webkit-scrollbar-track{background:#0003;border-radius:3px}.festive-panel-body::-webkit-scrollbar-thumb{background:#d4af3766;border-radius:3px}.festive-panel-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(255,215,0,.1) 0%,transparent 55%);pointer-events:none;animation:festive-panel-bg-glow 6s ease-in-out infinite}@keyframes festive-panel-bg-glow{0%,to{opacity:.6}50%{opacity:1}}.festive-countdown{text-align:center;padding:16px}.festive-countdown-label{margin:0 0 12px;font-size:clamp(14px,1.4vw,18px);color:#ffecd2e6;letter-spacing:.06em}.festive-countdown-started{margin:0;font-size:clamp(16px,1.6vw,20px);color:#ffecd2f2;font-weight:600}.festive-countdown-units{display:flex;justify-content:center;gap:clamp(8px,1vw,16px);flex-wrap:wrap}.festive-countdown-unit{display:flex;flex-direction:column;align-items:center;padding:12px clamp(16px,2vw,24px);background:#8b00004d;border:2px solid rgba(255,215,0,.5);border-radius:12px;box-shadow:0 0 24px #ffd70040;min-width:64px;animation:festive-countdown-unit-pulse 2s ease-in-out infinite}.festive-countdown-num{font-size:clamp(24px,2.8vw,36px);font-weight:800;color:#ffecd2;text-shadow:0 0 16px rgba(212,175,55,.6);font-variant-numeric:tabular-nums}.festive-countdown-unit-label{font-size:clamp(12px,1.2vw,14px);color:#ffecd2cc;margin-top:4px}@keyframes festive-countdown-unit-pulse{0%,to{box-shadow:0 0 24px #ffd70040}50%{box-shadow:0 0 36px #ffd70066}}.festive-countdown--compact{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(12px,1.5vw,24px);padding:clamp(20px,2.5vw,36px) clamp(24px,3vw,48px);flex-wrap:wrap}.festive-countdown--compact .festive-countdown-label{margin:0;font-size:clamp(14px,1.5vw,18px);flex-shrink:0}.festive-countdown--compact .festive-countdown-units{gap:clamp(10px,1.2vw,16px);margin:0;flex-wrap:nowrap}.festive-countdown--compact .festive-countdown-unit{min-width:clamp(52px,6vw,72px);padding:clamp(8px,1.2vw,8px) clamp(12px,1.5vw,20px);border-radius:10px}.festive-countdown--compact .festive-countdown-num{font-size:clamp(24px,3vw,40px);font-weight:800}.festive-countdown--compact .festive-countdown-unit-label{font-size:clamp(12px,1.2vw,14px);margin-top:4px}.festive-countdown--compact .festive-countdown-started{font-size:clamp(18px,2vw,24px);margin:0;font-weight:600}.festive-stats{display:flex;flex-direction:column;gap:12px}.festive-stat-item{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#8b000033;border:1px solid rgba(255,215,0,.4);border-radius:10px;box-shadow:0 0 16px #ffd7001f;animation:festive-stat-enter .4s ease backwards}@keyframes festive-stat-enter{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.festive-stat-icon{flex-shrink:0;font-size:18px;color:gold}.festive-stat-label{flex:1;font-size:clamp(13px,1.2vw,16px);color:#ffecd2d9}.festive-stat-value{font-size:clamp(16px,1.6vw,20px);font-weight:700;color:#ffecd2;text-shadow:0 0 10px rgba(212,175,55,.4)}.audience-qr-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px 0;min-height:0}.audience-qr-display__code-wrap{display:flex;align-items:center;justify-content:center;padding:8px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001f}.audience-qr-display__code{display:block}.audience-qr-display__hint{margin:0;font-size:clamp(11px,1.1vw,13px);font-weight:600;color:#ffecd2f2;text-shadow:0 0 6px rgba(212,175,55,.3);letter-spacing:.04em}.annual-festive-screen{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column;z-index:1}.annual-festive-screen--loading,.annual-festive-screen-error{align-items:center;justify-content:center}.annual-festive-screen-spin{position:relative;z-index:10}.annual-festive-screen-error{position:relative;z-index:10;padding:24px}.annual-festive-screen .festive-lucky-chars,.annual-festive-screen .festive-mini-ribbons,.annual-festive-screen .festive-chinese-knots,.annual-festive-screen .festive-clouds,.annual-festive-screen .festive-plum-blossoms,.annual-festive-screen .festive-firecrackers,.annual-festive-screen .festive-gold-coins,.annual-festive-screen .festive-ribbon,.annual-festive-screen .festive-lanterns,.annual-festive-screen .festive-red-envelopes,.annual-festive-screen .festive-edge-sparkles,.annual-festive-screen .festive-corner,.annual-festive-screen .festive-shimmer,.annual-festive-screen .festive-small-stars,.annual-festive-screen .festive-floating-dots{z-index:10!important;pointer-events:none}.annual-festive-screen-header{position:relative;flex-shrink:0;height:88px;z-index:15}.annual-festive-screen-content{flex:1;min-height:0;display:flex;flex-direction:column;padding:16px;position:relative;z-index:12}.annual-festive-content-grid{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr 300px;grid-template-rows:1fr;gap:16px}@media (max-width: 1400px){.annual-festive-content-grid{grid-template-columns:240px 1fr 260px}}.annual-festive-content-grid[data-realtime-data=off] .annual-festive-sidebar--left .festive-panel{flex:1;min-height:0}.annual-festive-content-grid[data-left-sidebar=off]{grid-template-columns:1fr 300px}.annual-festive-content-grid[data-right-sidebar=off]{grid-template-columns:280px 1fr}.annual-festive-content-grid[data-left-sidebar=off][data-right-sidebar=off]{grid-template-columns:1fr}.annual-festive-content-grid[data-main-empty=true] .annual-festive-main{min-width:0;overflow:hidden}.annual-festive-content-grid[data-main-empty=true][data-left-sidebar=on][data-right-sidebar=on]{grid-template-columns:1fr 0 1fr}.annual-festive-content-grid[data-main-empty=true][data-right-sidebar=off][data-left-sidebar=on]{grid-template-columns:1fr 0}.annual-festive-content-grid[data-main-empty=true][data-left-sidebar=off][data-right-sidebar=on]{grid-template-columns:0 1fr}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel{flex:1;min-height:0}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-header{padding-bottom:clamp(16px,2vw,24px);margin-bottom:clamp(12px,1.5vw,20px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-title{font-size:clamp(22px,2.8vw,36px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-inner{padding:clamp(20px,2.5vw,32px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .festive-stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:clamp(12px,1.5vw,20px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .festive-stat-item{padding:clamp(14px,1.8vw,24px) clamp(16px,2vw,24px);border-radius:clamp(10px,1.2vw,16px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .festive-stat-icon{font-size:clamp(22px,2.5vw,32px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .festive-stat-label{font-size:clamp(14px,1.6vw,20px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .festive-stat-value{font-size:clamp(20px,2.4vw,32px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-wall-display{padding:clamp(20px,2.5vw,40px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-wall-header{margin-bottom:clamp(20px,2.5vw,36px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-wall-header h1{font-size:clamp(28px,3.2vw,48px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .messages-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:clamp(16px,2vw,28px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-card{padding:clamp(16px,2vw,28px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-avatar{width:clamp(56px,7vw,80px);height:clamp(56px,7vw,80px);font-size:clamp(24px,2.8vw,36px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-nickname,.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .message-content-display{font-size:clamp(16px,1.8vw,22px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .cheer-display{padding:clamp(20px,2.5vw,40px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .cheer-header{margin-bottom:clamp(20px,2.5vw,36px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .cheer-header h1{font-size:clamp(28px,3.2vw,48px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .leaderboard-row{padding:clamp(16px,2vw,28px) clamp(20px,2.5vw,36px);margin-bottom:clamp(12px,1.5vw,24px);border-radius:clamp(12px,1.5vw,20px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .rank-badge{width:clamp(52px,6vw,80px);height:clamp(52px,6vw,80px);font-size:clamp(24px,2.8vw,36px);margin-right:clamp(16px,2vw,28px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .target-avatar{width:clamp(56px,6vw,80px)!important;height:clamp(56px,6vw,80px)!important;font-size:clamp(22px,2.6vw,34px)!important;min-width:clamp(56px,6vw,80px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .target-name{font-size:clamp(22px,2.6vw,36px);margin-bottom:clamp(8px,1vw,14px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .count-display{font-size:clamp(26px,3vw,44px)}.annual-festive-content-grid[data-main-empty=true] .annual-festive-sidebar .festive-panel-body .count-number{min-width:clamp(80px,10vw,140px)}@media (max-width: 1400px){.annual-festive-content-grid[data-left-sidebar=off]{grid-template-columns:1fr 260px}.annual-festive-content-grid[data-right-sidebar=off]{grid-template-columns:240px 1fr}.annual-festive-content-grid[data-left-sidebar=off][data-right-sidebar=off]{grid-template-columns:1fr}}.annual-festive-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0}.annual-festive-sidebar--left{order:0;overflow-y:auto;overflow-x:hidden}.annual-festive-sidebar--right{order:2}@media (min-width: 1500px),(max-height: 750px){.annual-festive-content-grid[data-left-panels="2"] .annual-festive-sidebar--left{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:12px}.annual-festive-content-grid[data-left-panels="2"] .annual-festive-sidebar--left .festive-panel{min-height:0}.annual-festive-content-grid[data-left-panels="2"][data-has-audience-qr=on] .annual-festive-sidebar--left,.annual-festive-content-grid[data-left-panels="3"][data-has-audience-qr=on] .annual-festive-sidebar--left{display:flex;flex-direction:column}}.annual-festive-sidebar--left .festive-panel-body{overflow-x:hidden;overflow-y:auto}.annual-festive-content-grid[data-left-panels="3"] .annual-festive-sidebar--left .festive-panel{min-height:0}.annual-festive-content-grid[data-left-panels="3"] .annual-festive-sidebar--left .festive-panel:first-child{flex:1;min-height:0}.annual-festive-content-grid[data-left-panels="3"] .annual-festive-sidebar--left .annual-festive-panel-audience-qr{flex:0 0 auto}@media (min-width: 1500px),(max-height: 750px){.annual-festive-content-grid[data-right-panels="2"] .annual-festive-sidebar--right{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:12px}.annual-festive-content-grid[data-right-panels="2"] .annual-festive-sidebar--right .festive-panel{min-height:0}}@media (min-width: 1600px){.annual-festive-content-grid[data-left-panels="2"]{grid-template-columns:320px 1fr 300px}.annual-festive-content-grid[data-left-panels="2"][data-right-panels="2"]{grid-template-columns:320px 1fr 320px}.annual-festive-content-grid[data-right-panels="2"]:not([data-left-panels="2"]){grid-template-columns:280px 1fr 320px}}.annual-festive-content-grid[data-right-panels="1"] .annual-festive-sidebar--right .festive-panel{flex:1;min-height:0}.annual-festive-sidebar .festive-panel{flex:1;min-height:120px}.annual-festive-sidebar--left .festive-panel:first-child{flex:0 0 auto}.annual-festive-sidebar--left .annual-festive-panel-audience-qr{flex:0 0 auto;min-height:0;max-height:360px}.annual-festive-panel-audience-qr .festive-panel-header{padding-bottom:6px;margin-bottom:6px}.annual-festive-panel-audience-qr .festive-panel-title{font-size:clamp(13px,1.2vw,15px)}.annual-festive-panel-audience-qr .festive-panel-body{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px 8px}.annual-festive-panel-audience-qr .festive-panel-inner{padding:8px 12px}.annual-festive-main{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0;order:1}.annual-festive-main-countdown{flex:0 0 auto;min-height:200px;max-height:340px;display:grid;grid-template-columns:1fr;gap:16px;min-width:0}.annual-festive-content-grid[data-main-top="0"][data-main-bottom=off][data-countdown=on] .annual-festive-main-countdown{flex:1;min-height:0;max-height:none}.annual-festive-panel-countdown{height:100%;min-height:0;min-width:0}.annual-festive-panel-countdown .festive-panel-body{display:flex;align-items:center;justify-content:center;overflow:visible;min-height:0}.annual-festive-panel-countdown .festive-panel-body .festive-countdown{width:100%;justify-content:center}.annual-festive-main-top{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.annual-festive-barrage-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:14;pointer-events:none}.annual-festive-content-grid[data-main-top="1"] .annual-festive-main-top{grid-template-columns:1fr}.annual-festive-main-bottom{flex:0 0 auto;min-height:200px;max-height:280px;display:grid;grid-template-columns:1fr;gap:16px;min-width:0}.annual-festive-content-grid[data-main-bottom-panels="2"] .annual-festive-main-bottom{grid-template-columns:1fr 1fr}.annual-festive-content-grid[data-main-top="0"][data-main-bottom=on] .annual-festive-main-bottom{flex:1;min-height:0;max-height:none}.annual-festive-panel-lottery{min-height:200px}.annual-festive-screen .festive-panel-body .lottery-display,.annual-festive-screen .festive-panel-body .vote-display,.annual-festive-screen .festive-panel-body .moments-display,.annual-festive-screen .festive-panel-body .message-wall-display,.annual-festive-screen .festive-panel-body .cheer-display{min-height:180px;height:100%}.annual-festive-panel-vote,.annual-festive-panel-moments{height:100%;min-width:0}.annual-festive-panel-moments .festive-panel-body{overflow:hidden;display:flex;flex-direction:column;min-height:0}.annual-festive-panel-moments .festive-panel-body .moments-display{flex:1;min-height:0}.annual-festive-panel-message,.annual-festive-panel-cheer{min-height:180px}.annual-festive-sidebar .festive-panel-body .festive-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.annual-festive-sidebar .festive-panel-body .festive-stat-item{flex-direction:column;align-items:center;text-align:center;padding:8px 10px;min-width:0}.annual-festive-sidebar .festive-panel-body .festive-stat-label{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.annual-festive-sidebar .festive-panel-body .festive-stat-value{font-size:clamp(14px,1.4vw,18px)}.annual-festive-sidebar .festive-panel-body .message-wall-display{padding:12px}.annual-festive-sidebar .festive-panel-body .message-wall-header{margin-bottom:12px}.annual-festive-sidebar .festive-panel-body .message-wall-header h1{font-size:clamp(18px,1.8vw,24px)}.annual-festive-sidebar .festive-panel-body .messages-grid{grid-template-columns:1fr;gap:12px;max-width:none}.annual-festive-sidebar .festive-panel-body .message-card{padding:12px}.annual-festive-sidebar .festive-panel-body .message-nickname,.annual-festive-sidebar .festive-panel-body .message-content-display{font-size:13px}.annual-festive-sidebar .festive-panel-body .cheer-display{padding:12px}.annual-festive-sidebar .festive-panel-body .cheer-header{margin-bottom:12px}.annual-festive-sidebar .festive-panel-body .cheer-header h1{font-size:clamp(18px,1.8vw,24px)}.annual-festive-sidebar .festive-panel-body .leaderboard-row{padding:10px 12px;margin-bottom:8px}.annual-festive-sidebar .festive-panel-body .rank-badge{width:40px;height:40px;font-size:18px;margin-right:12px}.annual-festive-sidebar .festive-panel-body .target-name{font-size:clamp(14px,1.4vw,18px);margin-bottom:4px}.annual-festive-sidebar .festive-panel-body .count-display{font-size:clamp(18px,1.8vw,24px)}.annual-festive-sidebar .festive-panel-body .count-number{min-width:60px}.annual-festive-footer{position:relative;flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:center;z-index:11;border-top:2px solid rgba(255,215,0,.4);background:#8b000040;box-shadow:0 -4px 24px #ffd7001a}.annual-festive-footer-inner{position:relative;padding:0 32px}.annual-festive-footer-text{font-size:clamp(14px,1.4vw,18px);color:#ffecd2e6;letter-spacing:.12em;text-shadow:0 0 12px rgba(212,175,55,.3)}.annual-festive-footer-glow{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:160px;height:3px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.85),transparent);border-radius:2px;animation:annual-footer-glow 3s ease-in-out infinite}@keyframes annual-footer-glow{0%,to{opacity:.5}50%{opacity:1}}.annual-festive-phase-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.annual-festive-phase-overlay>*{pointer-events:auto}.screen-layout{width:100vw;height:100vh;--screen-glow: .6;--screen-header-h: 88px;--screen-footer-h: 100px;--screen-zone-strip-w: 72px;--screen-stage-max-width: 2400px;--screen-stage-padding: 48px;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;flex-direction:column;overflow:hidden;position:relative}.screen-layout--theme-annual,.screen-layout[data-theme=annual]{background:linear-gradient(160deg,#1a0505,#2d0a0a,#4a1515,#2d0a0a,#1a0505);box-shadow:inset 0 0 120px rgba(212,175,55,calc(.12 * var(--screen-glow, .6))),inset 0 0 60px #c41e3a14}.screen-layout--theme-annual .screen-header,.screen-layout[data-theme=annual] .screen-header{border-bottom-color:#d4af3759}.screen-layout--theme-annual .header-left h1,.screen-layout[data-theme=annual] .header-left h1{color:#fff;font-weight:800;letter-spacing:.08em;text-shadow:0 0 20px rgba(212,175,55,.5),0 2px 4px rgba(0,0,0,.8)}.screen-layout--theme-annual .online-badge,.screen-layout[data-theme=annual] .online-badge{background:#d4af3733;border-color:#d4af37}.screen-layout--theme-annual .online-dot,.screen-layout[data-theme=annual] .online-dot{background:#d4af37}.screen-layout--theme-annual .online-text,.screen-layout[data-theme=annual] .online-text{color:#ffecd2}.screen-layout--theme-annual .module-btn.active,.screen-layout[data-theme=annual] .module-btn.active{background:linear-gradient(135deg,#c41e3a,#8b0000);border-color:#d4af37;color:#ffecd2;box-shadow:0 4px 24px #d4af3766}.screen-layout--theme-annual .module-btn:hover,.screen-layout[data-theme=annual] .module-btn:hover{border-color:#d4af3799;color:#ffecd2}.screen-layout--theme-annual .screen-zone-left,.screen-layout[data-theme=annual] .screen-zone-left,.screen-layout--theme-annual .screen-zone-right,.screen-layout[data-theme=annual] .screen-zone-right{border-color:#d4af3733;background:#00000040}.screen-layout--theme-annual .screen-stage:before,.screen-layout[data-theme=annual] .screen-stage:before{border-color:#d4af3726}.screen-layout--theme-annual.screen-layout--particles:before,.screen-layout[data-theme=annual].screen-layout--particles:before{background-image:radial-gradient(circle at 15% 20%,rgba(212,175,55,.08) 0%,transparent 40%),radial-gradient(circle at 85% 80%,rgba(196,30,58,.06) 0%,transparent 40%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.03) 0%,transparent 60%)}.screen-layout--theme-annual:after,.screen-layout[data-theme=annual]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 180px 120px at 0 0,rgba(212,175,55,.12) 0%,transparent 70%),radial-gradient(ellipse 180px 120px at 100% 0,rgba(212,175,55,.12) 0%,transparent 70%),radial-gradient(ellipse 180px 120px at 100% 100%,rgba(212,175,55,.12) 0%,transparent 70%),radial-gradient(ellipse 180px 120px at 0 100%,rgba(212,175,55,.12) 0%,transparent 70%);opacity:1}.screen-layout--theme-tech,.screen-layout[data-theme=tech]{background:linear-gradient(135deg,#0f0c29,#1a1a3e,#16213e);box-shadow:inset 0 0 80px rgba(0,150,255,calc(.15 * var(--screen-glow, .6)))}.screen-layout--theme-tech .screen-header,.screen-layout[data-theme=tech] .screen-header{border-bottom-color:#00b4ff40}.screen-layout--theme-tech .module-btn.active,.screen-layout[data-theme=tech] .module-btn.active{background:linear-gradient(135deg,#00b4db,#0083b0);border-color:#00b4db;box-shadow:0 4px 24px #00b4db73}.screen-layout--theme-formal,.screen-layout[data-theme=formal]{background:linear-gradient(180deg,#0d0d0d,#1a1a1a,#262626);box-shadow:inset 0 0 60px rgba(255,255,255,calc(.04 * var(--screen-glow, .6)))}.screen-layout--theme-formal .screen-header,.screen-layout[data-theme=formal] .screen-header{border-bottom-color:#ffffff1f}.screen-layout--theme-formal .module-btn.active,.screen-layout[data-theme=formal] .module-btn.active{background:linear-gradient(135deg,#434343,#2d2d2d);border-color:#595959;box-shadow:0 4px 20px #00000059}.screen-layout--theme-cool,.screen-layout[data-theme=cool]{background:linear-gradient(135deg,#1a0a2e,#2d1b4e,#16213e);box-shadow:inset 0 0 90px rgba(138,43,226,calc(.2 * var(--screen-glow, .6)))}.screen-layout--theme-cool .screen-header,.screen-layout[data-theme=cool] .screen-header{border-bottom-color:#9400d34d}.screen-layout--theme-cool .module-btn.active,.screen-layout[data-theme=cool] .module-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#764ba2;box-shadow:0 4px 24px #764ba280}.screen-layout--theme-minimal,.screen-layout[data-theme=minimal]{background:linear-gradient(180deg,#2b2b2b,#1e1e1e);box-shadow:none}.screen-layout--theme-minimal .screen-header,.screen-layout[data-theme=minimal] .screen-header{border-bottom-color:#ffffff14}.screen-layout--theme-minimal .module-btn.active,.screen-layout[data-theme=minimal] .module-btn.active{background:#ffffff2e;border-color:#ffffff59;box-shadow:0 2px 12px #0003}.screen-layout--particles:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.06) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.05) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.03) 0%,transparent 70%);pointer-events:none;animation:screen-particle-float 20s ease-in-out infinite}@keyframes screen-particle-float{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.screen-datav-header{height:var(--screen-header-h);width:100%;flex-shrink:0}.screen-datav-content{flex:1;min-height:0;width:100%;position:relative}.screen-datav-footer{height:var(--screen-footer-h);width:100%;flex-shrink:0}.screen-datav-header .dv-border-box-1,.screen-datav-footer .dv-border-box-1{display:flex;align-items:center;justify-content:center;background:transparent!important}.screen-datav-content .dv-border-box-8{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent!important}.screen-datav-content .dv-border-box-8>div{overflow:hidden}.screen-header{height:100%;width:100%;padding:0 clamp(24px,3vw,48px);display:flex;justify-content:space-between;align-items:center;background:transparent;box-sizing:border-box}.header-left{display:flex;align-items:center;gap:20px}.header-left h1{color:#fff;font-size:clamp(28px,3.2vw,42px);font-weight:700;margin:0 0 6px;letter-spacing:.04em;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.5)}.header-left .ant-badge{flex-shrink:0}.header-right{display:flex;align-items:center;gap:24px}.online-badge{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#52c41a33;border:2px solid #52c41a;border-radius:24px}.online-dot{width:12px;height:12px;background:#52c41a;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #52c41ab3}50%{box-shadow:0 0 0 8px #52c41a00}}.online-text{color:#fff;font-size:clamp(16px,1.8vw,22px);font-weight:600}.screen-broadcast{padding:10px 32px;border-bottom:1px solid rgba(79,210,221,.4);background:#4fd2dd1f;flex-shrink:0}.screen-broadcast[data-theme=annual]{background:#d4af3726;border-bottom-color:#d4af3766}.screen-broadcast[data-theme=formal]{background:#ffffff0f;border-bottom-color:#ffffff1f}.screen-broadcast[data-theme=cool]{background:#667eea26;border-bottom-color:#764ba266}.screen-content{width:100%;height:100%;overflow:hidden;position:relative;box-sizing:border-box}.screen-content--zoned{display:grid;grid-template-columns:var(--screen-zone-strip-w) 1fr var(--screen-zone-strip-w);grid-template-rows:1fr;gap:0}.screen-zone-left,.screen-zone-right{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:var(--screen-stage-padding);color:#ffffffb3;font-size:clamp(12px,1.2vw,16px);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.2em;border-right:1px solid rgba(255,255,255,.08);background:#00000026}.screen-zone-right{border-right:none;border-left:1px solid rgba(255,255,255,.08);writing-mode:vertical-lr}.screen-zone-label{display:block;opacity:.8;margin-bottom:8px}.screen-zone-module{font-weight:700;color:#fffffff2}.screen-stage{position:relative;width:100%;height:100%;min-width:0;display:flex;align-items:stretch;justify-content:center;padding:var(--screen-stage-padding);box-sizing:border-box}.screen-stage:before{content:"";position:absolute;inset:var(--screen-stage-padding);border:1px solid rgba(255,255,255,.06);border-radius:8px;pointer-events:none;z-index:0}.screen-stage .screen-content-inner{position:relative;width:100%;max-width:var(--screen-stage-max-width);height:100%;min-height:0;margin:0 auto;z-index:1;border-radius:6px;overflow:hidden}.screen-content-inner{width:100%;height:100%;position:relative}.screen-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,transform .5s ease}.screen-scene--entering,.screen-scene--entering.screen-scene--fade{opacity:0}.screen-scene--entering.screen-scene--slideLeft{transform:translate(100%);opacity:0}.screen-scene--entering.screen-scene--slideRight{transform:translate(-100%);opacity:0}.screen-scene--entering.screen-scene--slideUp{transform:translateY(100%);opacity:0}.screen-scene--entering.screen-scene--slideDown{transform:translateY(-100%);opacity:0}.screen-scene--active{opacity:1;transform:none;z-index:1}.screen-scene--active.screen-scene--fade{opacity:1}.screen-scene--active.screen-scene--slideLeft,.screen-scene--active.screen-scene--slideRight{transform:translate(0);opacity:1}.screen-scene--active.screen-scene--slideUp,.screen-scene--active.screen-scene--slideDown{transform:translateY(0);opacity:1}.screen-scene--exiting{opacity:0;z-index:0;pointer-events:none}.screen-scene--exiting.screen-scene--slideLeft{transform:translate(-100%)}.screen-scene--exiting.screen-scene--slideRight{transform:translate(100%)}.screen-scene--exiting.screen-scene--slideUp,.screen-scene--exiting.screen-scene--slideDown{transform:translateY(-100%)}.screen-scene--animate.screen-scene--fade{animation:screen-enter-fade .5s ease forwards}.screen-scene--animate.screen-scene--slideLeft{animation:screen-enter-slide-left .5s ease forwards}.screen-scene--animate.screen-scene--slideRight{animation:screen-enter-slide-right .5s ease forwards}.screen-scene--animate.screen-scene--slideUp{animation:screen-enter-slide-up .5s ease forwards}.screen-scene--animate.screen-scene--slideDown{animation:screen-enter-slide-down .5s ease forwards}.screen-scene--animate.screen-scene--none{animation:none}@keyframes screen-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes screen-enter-slide-left{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes screen-enter-slide-right{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes screen-enter-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes screen-enter-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.screen-scene-background{background-size:cover;background-position:center;background-repeat:no-repeat}.screen-scene-video video{max-width:100%;max-height:100%;object-fit:contain}.screen-footer{height:100%;width:100%;padding:16px clamp(24px,3vw,48px);background:transparent;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.module-switcher{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:clamp(12px,1.2vw,20px);height:100%;padding:0 16px}.module-btn{padding:0 clamp(20px,2.2vw,36px);height:56px;background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:28px;color:#fffffff2;font-size:clamp(16px,1.6vw,20px);font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .25s ease}.module-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px)}.module-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 20px #667eea66}.landing-page{overflow-x:hidden}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2);z-index:0}.hero-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-content{position:relative;z-index:1;padding:40px 20px}.features-section{padding:100px 20px;background:#f5f5f5}.container{max-width:1200px;margin:0 auto}.feature-card{transition:all .3s ease}.feature-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #0000001a}.use-cases-section{padding:100px 20px;background:linear-gradient(135deg,#667eea,#764ba2)}.pricing-section{padding:100px 20px;background:#fff}.pricing-card{transition:all .3s ease}.pricing-card:hover{transform:translateY(-8px)}.pricing-card.featured{border:2px solid #1890ff}.cta-section{padding:100px 20px;background:linear-gradient(135deg,#764ba2,#667eea)}.footer{padding:60px 20px 20px;background:#001529}@media (max-width: 768px){.hero-section{min-height:80vh}.hero-content h1{font-size:36px!important}.hero-content h3{font-size:20px!important}.features-section,.use-cases-section,.pricing-section,.cta-section{padding:60px 20px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#000000de;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}a{text-decoration:none;color:inherit}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 768px){input,textarea,select{font-size:16px!important}}
