/* Play2Gether V38: new non-blocking animations, all CSS scoped to existing interfaces. */
/* Keep existing palette fallback semantics: do not register custom colors globally. */
body.p2g-own-neon-palette:not([data-p2g-motion="off"]) #p2gPortalShell :is(.p2g-port-panel,.p2g-port-card,.p2g-port-srv,.p2g-port-btn,.p2g-port-pop,.p2g-port-nav button){transition:border-color .7s ease,background-color .7s ease,box-shadow .7s ease,color .7s ease}
#p2gPortalShell .p2g-v38-color-wave{pointer-events:none}
.p2g-v38-color-wave{position:fixed;z-index:2147481000;inset:0;pointer-events:none;background:radial-gradient(circle at var(--p2g-v38-x) var(--p2g-v38-y),color-mix(in srgb,var(--p2g-v38-newa) 70%,transparent),color-mix(in srgb,var(--p2g-v38-newb) 35%,transparent) 38%,transparent 72%);mix-blend-mode:screen;opacity:0}
#p2gColorStudio .p2g-color-tile{transition:transform .27s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .3s ease}
#p2gColorStudio .p2g-color-tile:hover{transform:translateY(-3px) scale(1.025)}
#p2gColorStudio .p2g-color-tile[aria-pressed="true"]{box-shadow:0 0 20px color-mix(in srgb,var(--motion-a,#50d8ff) 35%,transparent)}
#profileModal #modalCard{--p2g-v38-profile-glow:var(--motion-a,#60ceff);box-shadow:0 20px 70px #000b,0 0 21px color-mix(in srgb,var(--p2g-v38-profile-glow) 24%,transparent);transform-origin:top left}
#profiles .profile-tile{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease}
#profiles .profile-tile:hover{transform:translateY(-5px) scale(1.012);box-shadow:0 10px 35px #0008,0 0 23px color-mix(in srgb,var(--rank,#47cfff) 44%,transparent)}
#memberRows .member-row{transition:background .3s ease,box-shadow .3s ease}#memberRows .member-row:hover{box-shadow:inset 3px 0 var(--rank,#53d8ff)}
.career-timeline{position:relative}.career-timeline::before{transform-origin:top;animation:p2g-v38-trace .85s cubic-bezier(.2,.8,.2,1) both}
.career-step{will-change:auto;transition:filter .26s ease,transform .3s ease}.career-step:hover{transform:translateX(4px);filter:drop-shadow(0 0 11px color-mix(in srgb,var(--motion-a,#53d8ff) 48%,transparent))}
.career-step.p2g-v38-promotion{animation:p2g-v38-gold .95s cubic-bezier(.22,1,.36,1) both}
.p2g-v38-particles{pointer-events:none;position:fixed;inset:0;z-index:2147483000;overflow:hidden}
.p2g-v38-particles i{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#ffd56f;box-shadow:0 0 10px #ffc84a;animation:p2g-v38-spark 1.25s ease-out var(--delay) forwards}
#p2gPageCalendar .p2g-port-day:not(.p2g-port-day-header),#months .day:not(.off){transition:box-shadow .27s ease,border-color .27s ease,transform .27s ease}
#p2gPageCalendar .p2g-port-day:not(.p2g-port-day-header):hover,#months .day:not(.off):hover{box-shadow:0 0 18px color-mix(in srgb,var(--motion-a,#53d8ff) 36%,transparent);transform:translateY(-2px)}
#p2gPageCalendar .p2g-port-day i{position:relative;z-index:1}
#p2gPageCalendar .p2g-port-day i:not(.p2g-port-day-header i){text-shadow:0 0 3px color-mix(in srgb,var(--motion-a) 32%,transparent)}
#p2gPageCalendar .p2g-port-day:has(i:first-child){backface-visibility:hidden}
#p2gChatMessages .p2g-v17-message{animation:none!important;transition:transform .24s ease,filter .28s ease}
#p2gChatMessages .p2g-v17-message:hover{transform:translateY(-1px);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--motion-a,#53d8ff) 22%,transparent))}
#p2gChatRooms [data-room]{transition:transform .29s ease,border-color .28s ease,box-shadow .3s ease}#p2gChatRooms [data-room]:hover{transform:translateX(3px)}
#p2gChatRooms [data-room].selected{box-shadow:inset 3px 0 var(--motion-a,#53d8ff),0 0 16px color-mix(in srgb,var(--motion-a,#53d8ff) 24%,transparent)}
#p2gPageDesignrequests .p2g-design-card{transition:transform .3s ease,box-shadow .35s ease,border-color .3s ease;overflow:hidden;position:relative}
#p2gPageDesignrequests .p2g-design-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0005,0 0 18px color-mix(in srgb,var(--motion-a) 24%,transparent)}
.p2g-design-card.p2g-v38-decision::after{content:attr(data-v38-decision);position:absolute;inset:0;display:grid;place-items:center;font-size:1.6rem;font-weight:800;letter-spacing:.06em;background:color-mix(in srgb,var(--p2g-v38-decision-color) 15%,#08162b);color:var(--p2g-v38-decision-color);text-shadow:0 0 22px var(--p2g-v38-decision-color);border:2px solid var(--p2g-v38-decision-color);border-radius:inherit;animation:p2g-v38-approval .56s ease both;pointer-events:none}
.p2g-design-card.p2g-v38-approved{--p2g-v38-decision-color:#67f3ae}.p2g-design-card.p2g-v38-rejected{--p2g-v38-decision-color:#ff667c}
#p2gPageDashboard .p2g-port-card.p2g-v38-count-done{animation:p2g-v38-number-glow .75s ease}
#p2gPortalShell #p2gNoticePop:not([hidden]){transform-origin:95% 0%}
#p2gPortalShell #p2gNoticeList button{transition:box-shadow .28s ease,background .3s ease}
@keyframes p2g-v38-trace{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes p2g-v38-gold{0%{box-shadow:0 0 0 transparent;filter:brightness(1)}25%{box-shadow:0 0 38px #ffcf6b9b;filter:brightness(1.38)}100%{box-shadow:0 0 17px color-mix(in srgb,var(--motion-a,#60d8ff) 45%,transparent);filter:brightness(1)}}
@keyframes p2g-v38-spark{from{opacity:1;transform:translate(0,0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.25)}}
@keyframes p2g-v38-approval{0%{opacity:0;transform:scale(.94);filter:blur(3px)}45%{opacity:1;transform:scale(1)}100%{opacity:.95;filter:blur(0)}}
@keyframes p2g-v38-number-glow{0%{filter:brightness(1)}50%{filter:brightness(1.6) drop-shadow(0 0 10px var(--motion-a,#53d8ff))}100%{filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.p2g-v38-particles,.p2g-v38-color-wave{display:none!important}body{transition:none!important}.career-timeline::before{animation:none!important}}
body[data-p2g-motion="off"] .p2g-v38-particles,body[data-p2g-motion="off"] .p2g-v38-color-wave{display:none!important}
body[data-p2g-motion="off"] .career-timeline::before{animation:none!important}

#p2gPageCalendar .p2g-port-day.p2g-v38-today{border-color:var(--motion-a,#55d8ff)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--motion-a,#55d8ff) 45%,transparent),0 0 18px color-mix(in srgb,var(--motion-a,#55d8ff) 24%,transparent);animation:p2g-v38-today-glow 4s ease-in-out infinite}
#p2gPageCalendar .p2g-port-day.p2g-v38-absence-new{animation:p2g-v38-absence-flash 1.05s ease both}
@keyframes p2g-v38-today-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.13)}}
@keyframes p2g-v38-absence-flash{0%,100%{box-shadow:none}40%{box-shadow:0 0 27px var(--motion-a,#55d8ff);border-color:var(--motion-a,#55d8ff)}}
body[data-p2g-motion="off"] #p2gPageCalendar .p2g-port-day.p2g-v38-today,body[data-p2g-motion="off"] #p2gPageCalendar .p2g-port-day.p2g-v38-absence-new{animation:none!important}
@media(prefers-reduced-motion:reduce){#p2gPageCalendar .p2g-port-day.p2g-v38-today,#p2gPageCalendar .p2g-port-day.p2g-v38-absence-new{animation:none!important}}
/* The user-wide motion switch removes all V38 transitions, including hover movement. */
body[data-p2g-motion="off"] :is(#profiles .profile-tile,#memberRows .member-row,#p2gColorStudio .p2g-color-tile,#p2gChatRooms [data-room],#p2gChatMessages .p2g-v17-message,#p2gPageDesignrequests .p2g-design-card,.career-step){transition:none!important;animation:none!important}
body[data-p2g-motion="off"] :is(#profiles .profile-tile,#p2gColorStudio .p2g-color-tile,#p2gChatRooms [data-room],#p2gChatMessages .p2g-v17-message,#p2gPageDesignrequests .p2g-design-card,.career-step):hover{transform:none!important}
@media(prefers-reduced-motion:reduce){:is(#profiles .profile-tile,#p2gColorStudio .p2g-color-tile,#p2gChatRooms [data-room],#p2gChatMessages .p2g-v17-message,#p2gPageDesignrequests .p2g-design-card,.career-step){transition:none!important;animation:none!important}}
