/* Academy 3D video carousel (v56) */
.acx{position:relative;padding:26px 0 18px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#14362d66,transparent 60%)}
.acx-head{max-width:1100px;margin:0 auto 6px;padding:0 20px;text-align:center}
.acx-head .eyb{display:inline-block;color:#41e3aa;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.acx-head h1{margin:6px 0 4px;font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.15;color:#f4f7fb;letter-spacing:-.03em}
.acx-head p{margin:0 auto;max-width:640px;color:#a9bccb;font-size:.92rem}
.acx-stage{position:relative;height:clamp(430px,48vw,560px);perspective:1300px;perspective-origin:50% 45%;outline:none;touch-action:pan-y;user-select:none}
.acx-stage:focus-visible{box-shadow:inset 0 0 0 2px #41e3aa88;border-radius:18px}
.acx-card{position:absolute;left:50%;top:10px;width:clamp(210px,24vw,290px);margin-left:calc(clamp(210px,24vw,290px) / -2);transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .45s,filter .45s;border-radius:20px;background:#0d1720;border:1px solid #2d4a58;box-shadow:0 30px 60px #000c;overflow:hidden;cursor:pointer}
.acx-card.is-active{cursor:default;border-color:#41e3aa;box-shadow:0 30px 70px #000d,0 0 0 1px #41e3aa55,0 0 50px #41e3aa22}
.acx-media{position:relative;aspect-ratio:9/14;background:#0a1117 center/cover no-repeat}
.acx-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.acx-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#05090dd9)}
.acx-media.has-frame:after{display:none}
.acx-num{position:absolute;top:10px;left:10px;z-index:2;background:#05090dcc;color:#cfe7f0;font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:999px;letter-spacing:.06em}
.acx-tag{position:absolute;top:10px;right:10px;z-index:2;font-size:.66rem;font-weight:800;padding:4px 8px;border-radius:999px;letter-spacing:.06em}
.acx-tag.free{background:#41e3aa;color:#062016}.acx-tag.paid{background:#f5c15b;color:#1d1405}
.acx-play{position:absolute;left:50%;top:44%;z-index:2;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;border:0;background:#41e3aaee;color:#062016;font-size:1.5rem;cursor:pointer;box-shadow:0 10px 30px #000a;display:none}
.acx-card.is-active .acx-play{display:block}
.acx-play:focus-visible{outline:3px solid #fff;outline-offset:3px}
.acx-body{padding:12px 14px 14px}
.acx-body small{display:block;color:#41e3aa;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.acx-body h3{margin:3px 0 4px;font-size:1.02rem;line-height:1.25;color:#f1f7fb}
.acx-body p{margin:0;color:#9fb3c2;font-size:.78rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.acx-body a.acx-go{display:inline-block;margin-top:8px;color:#83cfff;font-weight:700;font-size:.8rem}
.acx-paidart{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:linear-gradient(150deg,#1d2a36,#12202b);color:#f5c15b;text-align:center;padding:20px}
.acx-paidart b{font-size:1.3rem;color:#f4f7fb}
.acx-ctrl{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px}
.acx-btn{width:46px;height:46px;border-radius:50%;border:1px solid #3c6a78;background:#0f1c26;color:#e3eef7;font-size:1.2rem;cursor:pointer}
.acx-btn:hover{background:#163040}.acx-btn:focus-visible{outline:3px solid #41e3aa;outline-offset:2px}
.acx-dots{display:flex;gap:8px}
.acx-dots button{width:10px;height:10px;border-radius:50%;border:0;background:#355465;cursor:pointer;padding:0}
.acx-dots button[aria-current="true"]{background:#41e3aa;width:24px;border-radius:6px}
.acx-status{text-align:center;color:#8fb6c6;font-size:.8rem;margin:8px 0 0}
.acx-note{max-width:760px;margin:10px auto 0;padding:0 20px;text-align:center;color:#8399a8;font-size:.76rem}
.acx-note a{color:#83cfff}
@media(max-width:700px){
 .acx-stage{height:520px}
 .acx-card{width:64vw;margin-left:-32vw;max-width:270px}
 @supports(width:min(1px,2px)){.acx-card{width:min(64vw,270px);margin-left:calc(min(64vw,270px) / -2)}}
}
@media(prefers-reduced-motion:reduce){.acx-card{transition:none}}
/* v56 QA fix: stage grows to fit cards so cards never overlap the controls; controls always on top */
.acx-stage{isolation:isolate;overflow:visible}
.acx-ctrl{position:relative;z-index:30;margin-top:14px}
.acx-card:not(.is-active) .acx-play{pointer-events:none}
.acx-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}

/* Full-screen Shorts lightbox (carousel layout unchanged) */
.acx-lb{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.acx-lb[hidden]{display:none!important}
.acx-lb-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88)}
.acx-lb-panel{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:min(100%,calc((100vh - 48px)*9/16));height:min(100%,calc(100vh - 48px));max-height:100%;aspect-ratio:9/16}
.acx-lb-frame{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.acx-lb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.acx-lb-close{position:absolute;top:-6px;right:-6px;z-index:2;width:44px;height:44px;border:0;border-radius:999px;background:#111827;color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.acx-lb-close:hover,.acx-lb-close:focus{background:#1f2937;outline:2px solid #93c5fd;outline-offset:2px}
body.acx-lb-open{overflow:hidden}
@media (max-width:700px){
  .acx-lb-panel{width:min(100%,calc((100dvh - 32px)*9/16));height:min(100%,calc(100dvh - 32px))}
  .acx-lb-close{top:8px;right:8px}
}
