:root{--gold:#ffc84a;--gold-soft:rgba(255,200,74,.18);--panel-glow:rgba(19,141,255,.14)}
.release-polish .dashboard{background:radial-gradient(circle at 42% 12%,rgba(20,74,154,.10),transparent 34%),#02091a}
.smart-card{position:relative;overflow:hidden;transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease}.smart-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 12%,rgba(255,255,255,.035) 46%,transparent 72%);transform:translateX(-110%);transition:transform .8s ease}.smart-card:hover::after{transform:translateX(110%)}.smart-card strong{font-size:15px;text-shadow:0 1px 12px rgba(255,255,255,.08)}.smart-card.highlight strong,.smart-card.warning strong{font-size:16px}.smart-card:hover{transform:translateY(-1px);box-shadow:inset 0 0 16px rgba(19,141,255,.06),0 8px 20px rgba(0,0,0,.16)}
.metric-card{position:relative;overflow:hidden}.metric-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 28%)}
.person-card{position:relative;isolation:isolate}.person-card.leader{border-color:rgba(255,200,74,.88);background:linear-gradient(145deg,rgba(55,41,8,.28),rgba(6,19,40,.98));box-shadow:inset 0 0 22px rgba(255,200,74,.08),0 0 14px rgba(255,200,74,.12)}.person-card.leader::after{content:"";position:absolute;inset:-35% auto auto -45%;width:90%;height:190%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);pointer-events:none;animation:leaderSheen 8s ease-in-out infinite}.person-card.leader .person-rank{color:var(--gold)}.person-card.leader .leader-badge{color:#2d2100;background:linear-gradient(135deg,#ffe59a,var(--gold));border:1px solid rgba(255,255,255,.35);box-shadow:0 0 10px rgba(255,200,74,.28)}.person-card.leader .leader-badge::before{content:"🥇 ";font-size:8px}
.person-progress{position:relative;overflow:hidden}.person-progress::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translateX(-120%);animation:progressSheen 5.5s ease-in-out infinite}.progress-animate{animation:progressGrow .75s cubic-bezier(.22,.8,.28,1) both}
.value-updated{animation:valuePulse 1.1s ease both}
.polish-in,.ranking-in{opacity:0;animation:polishIn .55s ease forwards;animation-delay:var(--polish-delay,0ms)}.ranking-in{animation-name:rankingIn}
.live-dot{box-shadow:0 0 0 rgba(139,214,61,.0);animation:liveBreath 2.4s ease-in-out infinite}.live time{text-shadow:0 0 18px rgba(139,214,61,.12)}
.dashboard{transition:transform 2.5s ease}.dashboard.tv-shift-1{transform:translate(.45px,.25px)}.dashboard.tv-shift-2{transform:translate(-.35px,.4px)}.dashboard.tv-shift-3{transform:translate(.2px,-.35px)}
.live-date{display:block;margin-top:1px;color:#8ea2c4;font:700 8px Consolas,"Courier New",monospace;letter-spacing:.08em}.live.ok .live-date{color:#9dca6b}
.sync-notification{backdrop-filter:blur(7px);border-width:1px;box-shadow:0 10px 34px rgba(0,0,0,.44);animation:notificationIn .28s ease both}.sync-notification.visible{transform:translateY(0)}
.insight-bar{box-shadow:inset 0 1px rgba(255,255,255,.025)}.insight-text{text-shadow:0 0 14px currentColor}
@keyframes valuePulse{0%{filter:brightness(1);transform:scale(1)}35%{filter:brightness(1.55);transform:scale(1.035)}100%{filter:brightness(1);transform:scale(1)}}
@keyframes polishIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes rankingIn{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}
@keyframes progressGrow{from{width:0}to{width:var(--progress-target)}}
@keyframes leaderSheen{0%,72%,100%{transform:translateX(-15%) rotate(18deg);opacity:.25}84%{transform:translateX(190%) rotate(18deg);opacity:.7}}
@keyframes progressSheen{0%,72%,100%{transform:translateX(-120%)}86%{transform:translateX(150%)}}
@keyframes liveBreath{0%,100%{box-shadow:0 0 0 0 rgba(139,214,61,.0);filter:brightness(1)}50%{box-shadow:0 0 0 5px rgba(139,214,61,.08);filter:brightness(1.25)}}
@keyframes notificationIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){.dashboard,.smart-card,.value-updated,.polish-in,.ranking-in,.progress-animate,.person-card.leader::after,.person-progress::after,.live-dot,.sync-notification{transition:none!important;animation:none!important;transform:none!important;opacity:1!important}}
