/* ChessTeachers v13.25.66 — live game review modal + champion UX/performance polish */
html.ctp-live-modal-open,html.ctp-live-modal-open body{overflow:hidden!important;overscroll-behavior:none}
.ctt216-modal{position:fixed;inset:0;z-index:2147482500;display:none;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));direction:rtl}
.ctt216-modal.open{display:flex}
.ctt216-modal-backdrop{position:absolute;inset:0;background:rgba(1,6,11,.82);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.ctt216-modal-panel{position:relative;z-index:2;width:min(1120px,100%);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid rgba(239,200,93,.28);border-radius:24px;background:linear-gradient(160deg,#0b1824,#050d15 56%,#03080e);box-shadow:0 35px 100px rgba(0,0,0,.6),inset 0 1px rgba(255,255,255,.05);scrollbar-width:thin;overscroll-behavior:contain}
.ctt216-modal-close{position:sticky;top:10px;float:left;z-index:8;width:38px;height:38px;margin:10px 10px -48px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(5,12,19,.88);color:#fff;font:900 24px/1 Arial;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.ctt216-detail-shell{padding:16px!important;background:transparent!important}
.ctt216-detail-head{padding-left:46px!important}
.ctt216-moves{max-height:520px!important;overflow:auto!important;scrollbar-width:thin!important}
.ctt216-move-row{content-visibility:auto;contain-intrinsic-size:42px}
.ctt216-analyze{width:100%;min-height:46px;margin-top:10px;padding:10px 14px;border:1px solid rgba(86,210,255,.28);border-radius:13px;background:linear-gradient(135deg,rgba(32,126,165,.25),rgba(81,48,122,.22));color:#eaf9ff;font-weight:900;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.05)}
.ctt216-analyze:disabled{opacity:.65;cursor:wait}
.ctt216-analysis-host{margin-top:10px;overflow:hidden;border-radius:14px}
.ctt216-analysis-error{padding:14px;border:1px dashed rgba(255,185,91,.28);border-radius:12px;color:#f8cf8c;background:rgba(92,54,15,.18);font-size:11px;line-height:1.9}
.ctt216-open-detail{display:block!important;margin:8px 10px 10px;padding:8px 10px;border:1px solid rgba(82,208,255,.19);border-radius:9px;background:rgba(36,124,159,.1);color:#8fe2ff;font-size:8px;font-style:normal;font-weight:900;text-align:center}
.ctt214-boardcard{cursor:pointer!important;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease!important;will-change:auto!important}
.ctt214-boardcard:active{transform:scale(.992)!important}

/* Make the champion panel feel richer without expensive perpetual effects. */
html.ctp2553-command-ui #ctp-app-dashboard .ctp-dash-wrap>section,
html.ctp2553-command-ui #ctp-app-dashboard .ctp-dash-wrap>div[id]{contain:layout style;}
html.ctp2553-command-ui #ctp2553-passport,
html.ctp2553-command-ui #ctp2553-command-center,
html.ctp2553-command-ui #ctp58-hub,
html.ctp2553-command-ui #ctp83-wheel-mission{transform:translateZ(0);backface-visibility:hidden}
html.ctp2553-command-ui #ctp2553-passport{border-color:rgba(246,201,79,.31)!important;box-shadow:0 22px 54px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.055)!important}
html.ctp2553-command-ui #ctp2553-passport .ctp2553-metrics>div,
html.ctp2553-command-ui #ctp2553-command-center .ctp2553-tile{transition:transform .16s ease,border-color .16s ease,background-color .16s ease!important}
html.ctp2553-command-ui #ctp2553-passport .ctp2553-metrics>div:active,
html.ctp2553-command-ui #ctp2553-command-center .ctp2553-tile:active{transform:scale(.985) translateZ(0)!important}
html.ctp2553-command-ui #ctp83-wheel{transform:translateZ(0);backface-visibility:hidden;will-change:auto}
html.ctp2553-command-ui #ctp83-wheel.ctp83-spinning{will-change:transform}

/* Off-screen expensive blocks are skipped until needed. Header/identity remain immediate. */
@supports(content-visibility:auto){
 html.ctp2553-command-ui #ctp-app-dashboard #ctp2553-command-center,
 html.ctp2553-command-ui #ctp-app-dashboard .ctp2555-live-broadcast,
 html.ctp2553-command-ui #ctp-app-dashboard #ctp-v13180-top-users,
 html.ctp2553-command-ui #ctp-app-dashboard #ctp-province-league{content-visibility:auto;contain-intrinsic-size:760px}
}
@media(max-width:760px){
 .ctt216-modal{padding:0;align-items:stretch}.ctt216-modal-panel{width:100%;max-height:100dvh;border-radius:0;border-inline:0}.ctt216-detail-shell{padding:11px!important}.ctt216-detail-grid{grid-template-columns:1fr!important}.ctt216-move-panel{max-height:none!important}.ctt216-moves{max-height:38dvh!important}.ctt216-detail-head h4{font-size:16px!important}.ctt216-modal-close{top:max(8px,env(safe-area-inset-top))}
 html.ctp2553-command-ui #ctp2553-command-center .ctp2553-tile:hover{transform:none!important}
}
@media(max-width:430px),(prefers-reduced-motion:reduce){
 .ctt214-boardcard,.ctp2553-tile,.ctp2553-progress>i>b{transition-duration:.12s!important}
 html.ctp2553-command-ui #ctp-app-dashboard *{animation-duration:.35s!important;animation-iteration-count:1!important}
}
