/* Shared Video Player Dashboard — component styles for player.php */
.pcs-btn{position:relative;transition:transform 180ms ease,box-shadow 180ms ease,opacity 180ms ease}.pcs-btn:hover{box-shadow:0 9px 18px rgba(7,91,44,.16);transform:translateY(-2px)}.pcs-btn:active{transform:translateY(1px) scale(.98)}.pcs-btn:disabled,.pcs-btn--loading{cursor:wait;opacity:.65;pointer-events:none}.pcs-btn--loading::after{animation:pcs-button-spin .7s linear infinite;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";height:.8rem;margin-left:.45rem;width:.8rem}.pcs-player__media--loading::after{animation:pcs-skeleton-shimmer 1.1s linear infinite;background:linear-gradient(100deg,rgba(255,255,255,.06) 20%,rgba(255,255,255,.2) 45%,rgba(255,255,255,.06) 70%);content:"";inset:0;position:absolute;transform:translateX(-100%);z-index:2}.pcs-player__media--loading .pcs-player__video{opacity:.38}.pcs-player__video{transition:opacity 260ms ease}.pcs-mission-card{position:relative}.pcs-mission-card--current::after{animation:pcs-current-pulse 2s ease-out infinite;border:2px solid rgba(252,102,33,.48);border-radius:inherit;content:"";inset:-4px;pointer-events:none;position:absolute}.pcs-mission-card--completed .pcs-mission-card__number::before{animation:pcs-check-pop 340ms ease both;content:"✓ ";color:var(--pcs-primary)}.pcs-mission-card__link{overflow:hidden;position:relative}.pcs-mission-ripple{animation:pcs-ripple 620ms ease-out both;background:rgba(252,102,33,.24);border-radius:50%;height:1px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:1px}.pcs-toast-region{display:grid;gap:.65rem;pointer-events:none;position:fixed;right:1.25rem;top:1.25rem;z-index:1100}.pcs-toast{animation:pcs-toast-in 280ms cubic-bezier(.2,.8,.2,1) both;background:rgba(255,255,255,.96);border:1px solid #dcebe1;border-radius:.8rem;box-shadow:0 15px 38px rgba(15,23,42,.16);color:var(--pcs-primary);font-size:.85rem;font-weight:800;max-width:20rem;padding:.8rem 1rem}.pcs-toast--info{border-color:#d9e2ea;color:#53606d}.pcs-toast--leaving{animation:pcs-toast-out 220ms ease both}@keyframes pcs-button-spin{to{transform:rotate(360deg)}}@keyframes pcs-skeleton-shimmer{to{transform:translateX(100%)}}@keyframes pcs-current-pulse{70%{opacity:0;transform:scale(1.035)}}@keyframes pcs-check-pop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}@keyframes pcs-ripple{to{height:36rem;opacity:0;width:36rem}}@keyframes pcs-toast-in{from{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pcs-toast-out{to{opacity:0;transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.pcs-btn,.pcs-player__video{transition:none!important}.pcs-player__media--loading::after,.pcs-mission-card--current::after,.pcs-mission-card--completed .pcs-mission-card__number::before,.pcs-mission-ripple,.pcs-toast,.pcs-btn--loading::after{animation:none!important}}
.pcs-unlock-modal{align-items:center;background:rgba(3,23,14,.72);display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:1010;animation:pcs-unlock-fade 220ms ease both}.pcs-unlock-modal__panel{animation:pcs-unlock-scale 300ms cubic-bezier(.2,.8,.2,1) both;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.6);border-radius:1.35rem;box-shadow:0 28px 80px rgba(0,0,0,.32);max-width:31rem;padding:2.25rem;position:relative;text-align:center;width:100%}.pcs-unlock-modal__icon{align-items:center;background:#edf3ef;border-radius:50%;display:inline-flex;font-size:2rem;height:4rem;justify-content:center;width:4rem}.pcs-unlock-modal__eyebrow{color:var(--pcs-secondary);font-size:.75rem;font-weight:800;letter-spacing:.08em;margin-top:.9rem;text-transform:uppercase}.pcs-unlock-modal h2{color:var(--pcs-primary);font-size:clamp(1.6rem,4vw,2.15rem);margin-top:.35rem}.pcs-unlock-modal h2+p,.pcs-unlock-modal__form{color:#657180;font-size:.9rem;line-height:1.65;margin-top:.9rem}.pcs-unlock-modal__actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.4rem}.pcs-unlock-modal__actions .pcs-btn--secondary{border-color:#ced9d1;color:var(--pcs-primary)}.pcs-unlock-modal__form{display:grid;text-align:left}.pcs-unlock-modal__form label{color:var(--pcs-text);font-size:.78rem;font-weight:800;margin-bottom:.4rem}.pcs-unlock-modal__input{border:1px solid var(--pcs-border);border-radius:.7rem;color:var(--pcs-text);font:inherit;min-height:3rem;outline:none;padding:.7rem .85rem}.pcs-unlock-modal__input:focus{border-color:var(--pcs-secondary);box-shadow:0 0 0 3px rgba(252,102,33,.15)}.pcs-unlock-modal__input--error{animation:pcs-unlock-shake 380ms ease;border-color:#dc3545}.pcs-unlock-modal__error{color:#c92a36;font-size:.76rem;min-height:1.2rem;margin-top:.4rem}.pcs-unlock-modal__panel--success .pcs-unlock-modal__icon{animation:pcs-unlock-success 480ms ease both;background:#e5f4eb;color:var(--pcs-primary)}@keyframes pcs-unlock-fade{from{opacity:0}to{opacity:1}}@keyframes pcs-unlock-scale{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pcs-unlock-shake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}@keyframes pcs-unlock-success{50%{transform:scale(1.16)}}
@media (max-width:576px){.pcs-unlock-modal{align-items:flex-end;padding:.75rem}.pcs-unlock-modal__panel{border-radius:1.15rem;padding:1.6rem 1rem}.pcs-unlock-modal__actions{flex-direction:column}.pcs-unlock-modal__actions .pcs-btn{width:100%}}@media (prefers-reduced-motion:reduce){.pcs-unlock-modal,.pcs-unlock-modal *{animation:none!important;transition:none!important}}
.pcs-completion-modal{align-items:center;background:rgba(3,23,14,.72);display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:1000;animation:pcs-completion-fade 220ms ease both}.pcs-completion-modal__panel{animation:pcs-completion-scale 300ms cubic-bezier(.2,.8,.2,1) both;background:#fff;border-radius:1.35rem;box-shadow:0 28px 80px rgba(0,0,0,.32);max-width:34rem;overflow:hidden;padding:2.25rem;position:relative;text-align:center;width:100%}.pcs-completion-modal__icon{display:block;font-size:2.8rem}.pcs-completion-modal__eyebrow{color:var(--pcs-secondary);font-size:.75rem;font-weight:800;letter-spacing:.08em;margin-top:.75rem;text-transform:uppercase}.pcs-completion-modal h2{color:var(--pcs-primary);font-size:clamp(1.75rem,4vw,2.45rem);margin-top:.35rem}.pcs-completion-modal__finished{color:#7a8594;font-size:.83rem;margin-top:1rem}.pcs-completion-modal__mission{color:var(--pcs-secondary);font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-top:.35rem}.pcs-completion-modal__mission strong,.pcs-completion-modal__mission span{color:var(--pcs-text);display:block;font-size:1.1rem;letter-spacing:0;margin-top:.35rem}.pcs-completion-modal__mission span{color:#788392;font-size:.85rem;font-weight:500;margin-top:.15rem}.pcs-completion-modal__progress{background:#f5f8f6;border-radius:.9rem;margin-top:1.4rem;padding:1rem;text-align:left}.pcs-completion-modal__progress div{display:flex;gap:1rem;justify-content:space-between}.pcs-completion-modal__progress span{color:#687384;font-size:.75rem}.pcs-completion-modal__progress strong{color:var(--pcs-primary);font-size:.78rem}.pcs-completion-modal__progress-track{background:#dce8df;border-radius:999px;display:block;height:.55rem;margin-top:.7rem;overflow:hidden}.pcs-completion-modal__progress-track i{animation:pcs-completion-fill 650ms ease both;background:var(--pcs-secondary);border-radius:inherit;display:block;height:100%}.pcs-completion-modal__stats{display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.pcs-completion-modal__stats div{background:#f8faf9;border:1px solid #e3ede6;border-radius:.75rem;padding:.75rem .4rem}.pcs-completion-modal__stats span,.pcs-completion-modal__stats strong{display:block}.pcs-completion-modal__stats span{color:#7b8795;font-size:.63rem}.pcs-completion-modal__stats strong{color:var(--pcs-primary);font-size:.75rem;margin-top:.25rem}.pcs-completion-modal__message{color:#5f6b78;font-size:.88rem;line-height:1.65;margin:1.25rem auto 0;max-width:31rem}.pcs-completion-modal__actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.4rem}.pcs-completion-modal__actions .pcs-btn--secondary{border-color:#ced9d1;color:var(--pcs-primary)}.pcs-completion-modal__confetti i{animation:pcs-confetti 1.25s ease-out infinite;background:var(--pcs-secondary);border-radius:2px;height:.45rem;left:calc(var(--pcs-confetti-index, 1) * 5%);position:absolute;top:-.5rem;width:.45rem}.pcs-completion-modal__confetti i:nth-child(3n){background:#49a06d}.pcs-completion-modal__confetti i:nth-child(2n){animation-delay:.2s;background:#f5c54b}.pcs-completion-modal__confetti i:nth-child(1){--pcs-confetti-index:2}.pcs-completion-modal__confetti i:nth-child(2){--pcs-confetti-index:8}.pcs-completion-modal__confetti i:nth-child(3){--pcs-confetti-index:14}.pcs-completion-modal__confetti i:nth-child(4){--pcs-confetti-index:20}.pcs-completion-modal__confetti i:nth-child(5){--pcs-confetti-index:26}.pcs-completion-modal__confetti i:nth-child(6){--pcs-confetti-index:32}.pcs-completion-modal__confetti i:nth-child(7){--pcs-confetti-index:38}.pcs-completion-modal__confetti i:nth-child(8){--pcs-confetti-index:44}.pcs-completion-modal__confetti i:nth-child(9){--pcs-confetti-index:50}.pcs-completion-modal__confetti i:nth-child(10){--pcs-confetti-index:56}.pcs-completion-modal__confetti i:nth-child(11){--pcs-confetti-index:62}.pcs-completion-modal__confetti i:nth-child(12){--pcs-confetti-index:68}.pcs-completion-modal__confetti i:nth-child(13){--pcs-confetti-index:74}.pcs-completion-modal__confetti i:nth-child(14){--pcs-confetti-index:80}.pcs-completion-modal__confetti i:nth-child(15){--pcs-confetti-index:86}.pcs-completion-modal__confetti i:nth-child(16){--pcs-confetti-index:92}@keyframes pcs-completion-fade{from{opacity:0}to{opacity:1}}@keyframes pcs-completion-scale{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pcs-completion-fill{from{width:0}}@keyframes pcs-confetti{to{opacity:0;transform:translateY(16rem) rotate(230deg)}}
@media (max-width:576px){.pcs-completion-modal{align-items:flex-end;padding:.75rem}.pcs-completion-modal__panel{border-radius:1.15rem;padding:1.6rem 1rem}.pcs-completion-modal__stats{grid-template-columns:1fr}.pcs-completion-modal__actions{flex-direction:column}.pcs-completion-modal__actions .pcs-btn{width:100%}}@media (prefers-reduced-motion:reduce){.pcs-completion-modal,.pcs-completion-modal *{animation:none!important;transition:none!important}}
.pcs-training-kit-player{border-top:1px solid var(--pcs-border);margin-top:2rem;padding-top:1.5rem}.pcs-training-kit-player h3{color:var(--pcs-text);font-size:1rem}.pcs-training-kit-player__description{color:#687384;font-size:.9rem;margin-top:.55rem;max-width:60ch}.pcs-training-kit-player__list{display:grid;gap:.65rem;grid-template-columns:repeat(3,1fr);list-style:none;margin-top:1rem}.pcs-training-kit-player__list li{align-items:center;background:#f4f8f5;border:1px solid #dcebe1;border-radius:.75rem;color:var(--pcs-primary);display:flex;font-size:.85rem;font-weight:800;gap:.45rem;padding:.8rem}.pcs-training-kit-player__cta{margin-top:1rem}@media (max-width:576px){.pcs-training-kit-player__list{grid-template-columns:1fr}.pcs-training-kit-player__cta{width:100%}}
.pcs-player-dashboard{background:#fff;padding:clamp(4.5rem,8vw,8rem) 0}.pcs-player-dashboard__header{margin-bottom:2rem}.pcs-player-dashboard__eyebrow{color:var(--pcs-secondary);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pcs-player-dashboard__header h2{color:var(--pcs-primary);font-size:clamp(2rem,3.5vw,3rem);margin-top:.35rem}.pcs-player-dashboard__layout{align-items:start;display:grid;gap:2rem;grid-template-columns:minmax(0,7fr) minmax(17rem,3fr)}.pcs-player{min-width:0}.pcs-player__media{aspect-ratio:16/9;background:linear-gradient(135deg,#04371f,#075b2c);border-radius:1.3rem;box-shadow:0 24px 55px rgba(7,91,44,.18);isolation:isolate;overflow:hidden;position:relative}.pcs-player__video{background:radial-gradient(circle at 50% 20%,#26794e,#04371f 68%);display:block;height:100%;object-fit:cover;width:100%}.pcs-player__lock{align-items:center;background:linear-gradient(135deg,rgba(3,42,24,.93),rgba(7,91,44,.93));color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center}.pcs-player__lock>span{font-size:2.5rem}.pcs-player__lock h3{font-size:1.7rem;margin-top:.65rem}.pcs-player__lock p{color:rgba(255,255,255,.78);margin-top:.5rem;max-width:28rem}.pcs-player__lock-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.35rem}.pcs-btn--outline{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}.pcs-player__complete{align-items:center;background:#fff7f1;border:1px solid #ffd8c3;border-radius:1rem;display:flex;gap:1rem;justify-content:space-between;margin-top:1.25rem;padding:1rem 1.15rem}.pcs-player__complete>span{font-size:1.8rem}.pcs-player__complete div{display:grid;gap:.1rem;margin-right:auto}.pcs-player__complete p{color:#a64919;font-size:.78rem;font-weight:700}.pcs-player__complete small{color:#687384;font-size:.75rem}.pcs-player__metadata{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between;margin-top:2rem}.pcs-player__number{color:var(--pcs-secondary);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pcs-player__metadata h3{color:var(--pcs-primary);font-size:clamp(1.5rem,2.4vw,2rem);margin-top:.25rem}.pcs-player__vietnamese{color:#718096;font-size:.9rem;margin-top:.2rem}.pcs-player__badges{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.pcs-player__badges span{background:#f1f5f3;border-radius:999px;color:#53606d;font-size:.7rem;font-weight:750;padding:.35rem .55rem;white-space:nowrap}.pcs-player__badges .pcs-player__status--free{background:#e7f5eb;color:var(--pcs-primary)}.pcs-player__badges .pcs-player__status--locked{background:#f1f3f5;color:#687384}.pcs-player__description{color:#53606d;margin-top:1.25rem;max-width:68ch}.pcs-player__details{border-top:1px solid var(--pcs-border);margin-top:2rem;padding-top:1.5rem}.pcs-player__details h3{color:var(--pcs-text);font-size:1rem}.pcs-player__objectives{display:grid;gap:.65rem;list-style:none;margin-top:1rem}.pcs-player__objectives li{color:#53606d;font-size:.9rem}.pcs-player__objectives li::before{color:var(--pcs-primary);content:"✓";font-weight:900;margin-right:.6rem}.pcs-player__notes{background:linear-gradient(135deg,#f2f8f4,#fff);border:1px solid #dcebe1;border-radius:1rem;margin-top:1.75rem;padding:1.1rem 1.2rem}.pcs-player__notes p{color:var(--pcs-primary);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pcs-player__notes strong{color:#53606d;display:block;font-size:.9rem;font-weight:600;margin-top:.45rem}.pcs-playlist{background:#fff;border:1px solid var(--pcs-border);border-radius:1.2rem;box-shadow:0 12px 32px rgba(15,23,42,.07);padding:1rem;position:sticky;top:1rem}.pcs-playlist__header{align-items:flex-start;border-bottom:1px solid var(--pcs-border);display:flex;justify-content:space-between;padding:.35rem .35rem 1rem}.pcs-playlist__header p{color:#758191;font-size:.72rem;font-weight:700}.pcs-playlist__header h3{color:var(--pcs-primary);font-size:1.1rem;margin-top:.15rem}.pcs-playlist__header span{color:#758191;font-size:.68rem}.pcs-playlist__list{display:grid;gap:.3rem;list-style:none;margin-top:.7rem}.pcs-playlist__button{align-items:center;background:transparent;border:1px solid transparent;border-radius:.75rem;color:var(--pcs-text);cursor:pointer;display:grid;font:inherit;gap:.6rem;grid-template-columns:1.7rem 1fr auto;padding:.65rem;text-align:left;width:100%}.pcs-playlist__button:hover{background:#f7faf8}.pcs-playlist__button[aria-current="true"]{background:#eaf5ed;border-color:#cde6d5}.pcs-playlist__number{align-items:center;background:#eef3ef;border-radius:.45rem;color:var(--pcs-primary);display:flex;font-size:.68rem;font-weight:800;height:1.7rem;justify-content:center;width:1.7rem}.pcs-playlist__mission{display:grid;gap:.1rem;min-width:0}.pcs-playlist__mission strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcs-playlist__mission span{color:#7c8795;font-size:.68rem}.pcs-playlist__status{color:var(--pcs-primary);font-size:.62rem;font-weight:800;text-transform:uppercase}.pcs-playlist__button--locked .pcs-playlist__status{color:#7c8795}.pcs-playlist__button--locked .pcs-playlist__number{background:#f1f3f5;color:#7c8795}@media (max-width:992px){.pcs-player-dashboard__layout{grid-template-columns:1fr}.pcs-playlist{position:static}.pcs-playlist__list{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.pcs-player__metadata{flex-direction:column;gap:1rem}.pcs-player__badges{justify-content:flex-start}.pcs-player__complete{align-items:stretch;flex-wrap:wrap}.pcs-player__complete .pcs-btn{width:100%}.pcs-player__lock-actions{flex-direction:column;width:100%}.pcs-player__lock-actions .pcs-btn{width:100%}.pcs-playlist__list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pcs-player-dashboard *{scroll-behavior:auto!important;transition:none!important}}
 .pcs-player__video-placeholder{align-items:center;color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center;z-index:1}.pcs-player__video-placeholder span{font-size:2rem}.pcs-player__video-placeholder strong{font-size:1.05rem;margin-top:.65rem}.pcs-player__video-placeholder p{color:rgba(255,255,255,.76);font-size:.86rem;margin-top:.35rem;max-width:28rem}
