#particles-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}#danmaku-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;overflow:hidden}.lottery-app{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh;padding:var(--space-lg) var(--space-xl);background:radial-gradient(ellipse at 50% 0%,rgba(201,168,76,.04) 0%,transparent 60%)}.lottery-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;animation:fadeIn .8s ease;position:relative}.header-logo{z-index:2}.header-logo img{height:40px;object-fit:contain}.header-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);text-align:center;letter-spacing:2px;position:absolute;left:50%;transform:translate(-50%);width:100%;pointer-events:none;z-index:1}.header-actions{display:flex;gap:var(--space-sm);z-index:2}.prize-info{text-align:center;padding:var(--space-xl) 0;animation:slideUp .6s ease}.prize-badge{margin-bottom:var(--space-md);font-size:var(--text-sm);letter-spacing:1px;text-transform:uppercase}.prize-name{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-sm);transition:all var(--transition-slow)}.prize-desc{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-lg)}.prize-meta{display:flex;justify-content:center;gap:var(--space-xl);font-size:var(--text-sm);color:var(--text-secondary)}.prize-meta strong{color:var(--accent-primary);font-weight:var(--weight-semibold)}.checkin-wall{margin:0 auto var(--space-xl);width:min(1200px,100%);padding:var(--space-lg)}.checkin-wall-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.checkin-wall-label{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}.checkin-wall-title{margin-top:var(--space-xs);font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-primary)}.checkin-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:var(--space-md)}.checkin-item{display:grid;justify-items:center;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.checkin-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#ffffff14;border:1px solid rgba(201,168,76,.25)}.checkin-avatar img{width:100%;height:100%;object-fit:cover}.checkin-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:var(--weight-medium)}.checkin-time{font-size:var(--text-xs);color:var(--text-tertiary)}.lottery-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-xl) 0;min-height:300px}.slot-container{display:flex;gap:var(--space-xl);justify-content:center;align-items:center;flex-wrap:wrap}.slot-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl) var(--space-2xl);min-width:180px;text-align:center;transition:all var(--transition-base)}.slot-card.rolling{animation:glowPulse .5s ease-in-out infinite}.slot-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;margin-bottom:var(--space-md);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;background:var(--bg-surface);transition:all var(--transition-base)}.slot-card.rolling .slot-avatar{border-color:var(--accent-primary)}.avatar-placeholder{font-size:var(--text-2xl);color:var(--text-tertiary);font-weight:var(--weight-bold)}.avatar-img{width:100%;height:100%;object-fit:cover}.slot-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-xs);min-height:1.4em;transition:all .05s}.slot-dept{font-size:var(--text-sm);color:var(--text-secondary);min-height:1.2em}.winner-display{width:100%}.winner-cards{display:flex;gap:var(--space-xl);justify-content:center;align-items:center;flex-wrap:wrap}.winner-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl) var(--space-2xl);min-width:200px;text-align:center;background:var(--glass-bg-medium);-webkit-backdrop-filter:var(--glass-blur-medium);backdrop-filter:var(--glass-blur-medium);border:1px solid rgba(201,168,76,.3);border-radius:var(--radius-xl);box-shadow:var(--shadow-glow-strong);animation:winnerReveal .8s ease forwards}.winner-card .slot-avatar{width:100px;height:100px;border-color:var(--accent-primary);box-shadow:0 0 30px #c9a84c4d}.winner-card .slot-name{font-size:var(--text-2xl);color:var(--accent-glow)}.winner-card .slot-dept{font-size:var(--text-base);color:var(--accent-secondary)}.lottery-controls{display:flex;justify-content:center;gap:var(--space-lg);padding:var(--space-xl) 0;animation:slideUp .8s ease}#btn-start{min-width:220px;font-size:var(--text-xl);letter-spacing:2px}#btn-start.stop{background:linear-gradient(135deg,var(--color-red),#ff6b6b);border-color:#ff453a4d}#btn-start.stop:hover{background:linear-gradient(135deg,#ff6b6b,#ff8787);box-shadow:0 0 30px #ff453a4d}#btn-next-prize{min-width:160px}.lottery-footer{padding:var(--space-md) 0;border-top:1px solid var(--border-subtle);animation:fadeIn 1s ease}.footer-winners{display:flex;align-items:center;gap:var(--space-md);overflow-x:auto}.footer-label{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.footer-winner-list{display:flex;gap:var(--space-sm);flex-wrap:nowrap;overflow-x:auto;padding:var(--space-xs) 0}.footer-winner-tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);background:var(--glass-bg-light);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;animation:scaleIn .3s ease}.footer-winner-tag .prize-label{color:var(--accent-primary);font-weight:var(--weight-medium)}@media(max-width:768px){.lottery-app{padding:var(--space-md)}.header-title{font-size:var(--text-xl)}.prize-name{font-size:var(--text-2xl)}.slot-card{padding:var(--space-lg);min-width:140px}.checkin-wall{padding:var(--space-md)}.checkin-list{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.slot-avatar{width:60px;height:60px}.slot-name{font-size:var(--text-lg)}.winner-card .slot-avatar{width:80px;height:80px}.lottery-controls{flex-direction:column;align-items:center}}@media(min-width:1920px){.header-title,.prize-name{font-size:var(--text-5xl)}.slot-card{min-width:240px}.slot-avatar{width:120px;height:120px}.slot-name{font-size:var(--text-2xl)}.winner-card .slot-avatar{width:140px;height:140px}}
