.celebration{--celebration-accent:var(--color-accent);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.celebration__scrim{-webkit-backdrop-filter:blur(2px);background:#1114208c;position:absolute;inset:0}.celebration__glow{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--celebration-accent) 20%, transparent), color-mix(in srgb, var(--color-bg) 87%, transparent) 45%, var(--color-bg) 75%);position:absolute;inset:0}.celebration__rays{opacity:.1;transform-origin:50%;background:repeating-conic-gradient(from 0deg, var(--celebration-accent) 0deg 4deg, transparent 4deg 20deg);width:1400px;height:1400px;margin:-700px 0 0 -700px;animation:40s linear infinite celebration-rays;position:absolute;top:50%;left:50%}@keyframes celebration-rays{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.celebration__card{align-items:center;gap:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid color-mix(in srgb, var(--celebration-accent) 40%, transparent);width:min(640px,100vw - 48px);box-shadow:0 0 0 8px color-mix(in srgb, var(--celebration-accent) 10%, transparent), 0 60px 120px -40px color-mix(in srgb, var(--celebration-accent) 40%, transparent);flex-direction:column;padding:clamp(32px,5vw,56px) clamp(28px,6vw,72px) clamp(28px,4vw,48px);animation:.7s cubic-bezier(.2,.9,.3,1.2) both celebration-pop;display:flex;position:relative}.celebration--complete .celebration__card{border-color:color-mix(in srgb, var(--celebration-accent) 70%, transparent);box-shadow:0 0 0 10px color-mix(in srgb, var(--celebration-accent) 16%, transparent), 0 60px 140px -40px color-mix(in srgb, var(--celebration-accent) 60%, transparent)}@keyframes celebration-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}.celebration__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--celebration-accent);font-size:14px;font-weight:700}.celebration__wheel-wrap{position:relative}.celebration__wheel-wrap .wheel{width:clamp(160px,24vw,220px);height:clamp(160px,24vw,220px)}.celebration__badge{background:var(--celebration-accent);width:44px;height:44px;color:var(--color-bg);box-shadow:0 0 0 6px var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-6px;right:-14px}.celebration__player{align-items:center;gap:14px;display:flex}.celebration__player-name{color:var(--color-ink);font-size:clamp(28px,4vw,44px);font-weight:900;line-height:1}.celebration__lead{color:var(--color-ink-2);text-align:center;font-size:20px}.celebration__pill{border-radius:var(--radius-pill);background:var(--celebration-accent);color:var(--color-bg);align-items:center;gap:12px;padding:10px 20px;display:flex}.celebration__pill-num{font-size:14px;font-weight:900}.celebration__pill-name{font-size:20px;font-weight:700}.celebration__progress{color:var(--color-ink-2);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex}.celebration__progress strong{color:var(--color-ink);font-weight:600}.celebration__dots{gap:5px;display:flex}.celebration__dot{background:var(--color-line);border-radius:3px;width:12px;height:12px}.celebration__dot--lit{background:var(--celebration-accent)}@media (prefers-reduced-motion:reduce){.celebration__rays,.celebration__card{animation:none}}.board{background:var(--color-bg);flex-direction:column;justify-content:space-between;gap:clamp(16px,2vw,28px);min-height:100vh;padding-bottom:clamp(24px,3vw,44px);display:flex;position:relative;overflow:hidden}.board__grain{pointer-events:none;opacity:.35;background-image:radial-gradient(circle at 20% 0,#ffd85c24,#0000 40%),radial-gradient(circle at 85% 100%,#7aa2ff1f,#0000 45%);position:absolute;inset:0}.board-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;padding:clamp(24px,3vw,44px) clamp(24px,4vw,64px) 0;display:flex}.board-header__title{flex-direction:column;gap:10px;min-width:0;display:flex}.board-header__eyebrow{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.board-header__heading{letter-spacing:-.01em;color:var(--color-ink);margin:0;font-size:clamp(28px,2.8vw,52px);font-weight:900;line-height:1}.board-header__heading-accent{color:var(--color-accent)}.board-header__meta{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.board-header__program{color:var(--color-ink);font-size:clamp(16px,1.2vw,22px);font-weight:700}.board-header__date{color:var(--color-ink-2);font-size:15px}.board-header__season{align-items:center;gap:10px;margin-top:6px;display:flex}.board-header__season-label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-3);font-size:12px}.board-header__season-track{background:var(--color-surface-2);border-radius:3px;width:160px;height:6px;overflow:hidden}.board-header__season-fill{background:var(--color-accent);border-radius:3px;height:100%}.board-header__season-pct{color:var(--color-ink-2);font-size:13px}.board__players{align-items:stretch;gap:clamp(14px,2vw,28px);padding:clamp(14px,2vw,28px) clamp(24px,4vw,64px);display:flex}.player-card{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-line);flex-direction:column;flex:1 1 0;align-items:center;gap:clamp(14px,1.6vw,22px);min-width:0;padding:clamp(20px,2.4vw,34px) clamp(16px,2vw,28px) clamp(18px,2.2vw,30px);display:flex;position:relative;box-shadow:0 30px 60px -40px #000}.player-card--leader{border-color:color-mix(in srgb, var(--color-accent) 40%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-accent) 20%, transparent), 0 30px 60px -30px color-mix(in srgb, var(--color-accent) 33%, transparent)}.leader-pill{background:var(--color-accent);color:var(--color-bg);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius-pill);padding:6px 12px;font-size:11px;font-weight:700;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.player-card__head{align-self:stretch;align-items:center;gap:16px;display:flex}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar__photo{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.player-card__identity{flex-direction:column;gap:2px;min-width:0;display:flex}.player-card__name{color:var(--color-ink);font-size:clamp(20px,1.6vw,30px);font-weight:700;line-height:1.1}.player-card__subtitle{color:var(--color-ink-2);font-size:14px}.wheel{width:clamp(180px,16vw,316px);height:clamp(180px,16vw,316px);display:block}.wheel-label{font-size:12px;font-weight:700}.wheel-center{fill:var(--color-ink);font-size:22px;font-weight:900}.player-card__total{align-items:baseline;gap:8px;display:flex}.player-card__total-number{color:var(--color-ink);font-size:clamp(22px,2vw,34px);font-weight:900}.player-card__total-label{color:var(--color-ink-2);font-size:15px}.category-legend{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding:0 clamp(24px,4vw,64px) clamp(24px,3vw,44px);display:grid}.category-chip{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-line);align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}.category-chip__badge{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-bg);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:900;display:flex}.category-chip__body{flex-direction:column;gap:2px;min-width:0;display:flex}.category-chip__name{color:var(--color-ink);font-size:14px;font-weight:600;line-height:1.2}.category-chip__count{color:var(--color-ink-3);font-size:12px}@media (width<=1280px){.category-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}.fullscreen-button{z-index:5;border:1px solid var(--color-line);background:var(--color-surface);width:44px;height:44px;color:var(--color-ink-2);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,color .15s;display:flex;position:fixed;bottom:20px;right:20px}.fullscreen-button--visible,.fullscreen-button:focus-visible{opacity:1;pointer-events:auto}.fullscreen-button:hover{color:var(--color-ink)}
