/* After Dark Studios v189 - Free Chess Online; checkmate hold + end flourish before result splash */
.free-chess-main-v176{padding-bottom:3rem}
.free-chess-hero-v176{text-align:center;padding-top:clamp(2.25rem,6vw,4.6rem);padding-bottom:1rem}
.free-chess-hero-v176 .kicker{display:inline-block;margin-bottom:.55rem;color:var(--blue2);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.free-chess-hero-v176 h1{margin:.1rem 0 .7rem;font-size:clamp(2.65rem,7vw,5.2rem);line-height:.96;letter-spacing:-.045em}
.free-chess-hero-v176 .lead{max-width:820px;margin:0 auto;color:var(--soft)}
.free-chess-game-shell-v176{max-width:1080px;margin:0 auto;padding:clamp(1rem,2vw,1.5rem)!important;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.025))!important}
.free-chess-topline-v176{display:flex;align-items:center;justify-content:space-between;gap:.85rem;flex-wrap:wrap;margin-bottom:1rem}
.free-chess-status-v176{min-height:1.7em;color:#fff;font-size:1rem;font-weight:800;letter-spacing:.015em}
.free-chess-badge-v176{display:inline-flex;align-items:center;border:1px solid rgba(var(--accent2-rgb),.28);border-radius:999px;padding:.38rem .65rem;color:var(--blue2);background:rgba(var(--accent-rgb),.08);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.free-chess-board-wrap-v176{display:grid;place-items:center;padding:clamp(.5rem,1.5vw,1rem);border:1px solid rgba(var(--accent2-rgb),.16);border-radius:1.25rem;background:radial-gradient(circle at 50% 45%,rgba(var(--accent-rgb),.13),transparent 58%),#030713;box-shadow:inset 0 0 3rem rgba(0,0,0,.32)}
.free-chess-board-v176{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));width:min(82vw,660px);height:min(82vw,660px);aspect-ratio:auto;border:1px solid rgba(167,239,255,.44);border-radius:.55rem;overflow:hidden;box-shadow:0 1.15rem 3rem rgba(0,0,0,.48),0 0 2.3rem rgba(var(--accent-rgb),.13);background:#02050a}
.free-chess-board-v176{position:relative;isolation:isolate}
.free-chess-board-v176::after{content:"";position:absolute;left:9%;right:9%;top:15%;bottom:15%;pointer-events:none;z-index:1;background:url('/assets/images/warriorchess/warriorchess_logo.png') center/52% auto no-repeat;opacity:.065;filter:grayscale(1) brightness(1.9) saturate(.25)}
.chess-square-v176{position:relative;display:grid;place-items:center;border:0;border-radius:0;appearance:none;min-width:0;min-height:0;width:100%;height:100%;aspect-ratio:1/1;padding:0;overflow:hidden;cursor:pointer;color:inherit;font:inherit;outline:none}
.chess-square-v176.light{background:linear-gradient(145deg,#163650,#10283d)}
.chess-square-v176.dark{background:linear-gradient(145deg,#08131f,#050b13)}
.chess-square-v176.last{box-shadow:inset 0 0 0 999px rgba(53,175,255,.12)}
.chess-square-v176.selected{box-shadow:inset 0 0 0 3px #65eaff,inset 0 0 22px rgba(73,222,255,.35);z-index:2}
.chess-square-v176.check{box-shadow:inset 0 0 0 3px rgba(255,80,110,.95),inset 0 0 26px rgba(255,45,83,.45);z-index:2}
.chess-square-v176:focus-visible{box-shadow:inset 0 0 0 3px #fff;z-index:3}
.chess-piece-v176{position:relative;z-index:2;display:block;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",serif;font-size:clamp(1.85rem,7.2vw,4.3rem);line-height:1;transform:translateY(-1%);user-select:none;pointer-events:none}
.chess-piece-v176.white{color:#f8fcff;text-shadow:0 2px 2px rgba(0,0,0,.85),0 0 12px rgba(138,234,255,.45)}
.chess-piece-v176.black{color:#ff58cf;text-shadow:0 2px 2px rgba(0,0,0,.95),0 0 12px rgba(255,62,199,.42)}
.chess-target-v176{position:absolute;z-index:3;width:21%;aspect-ratio:1;border-radius:50%;background:#70efff;box-shadow:0 0 12px rgba(89,230,255,.85);pointer-events:none}
.chess-square-v176:has(.chess-piece-v176) .chess-target-v176{width:72%;background:transparent;border:3px solid rgba(112,239,255,.92);box-sizing:border-box}
.chess-file-v176,.chess-rank-v176{position:absolute;z-index:4;color:rgba(255,255,255,.52);font-size:clamp(.48rem,1.2vw,.68rem);font-weight:800;pointer-events:none}
.chess-file-v176{right:.24rem;bottom:.16rem}.chess-rank-v176{left:.22rem;top:.14rem}
.free-chess-controls-v176{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin-top:1rem}
.free-chess-controls-v176 .button{min-width:9rem;margin:0}
.free-chess-controls-v176 .button:disabled{opacity:.4;cursor:not-allowed;transform:none}
.free-chess-note-v176{text-align:center;color:var(--muted);font-size:.9rem;margin:.85rem auto 0;max-width:760px}
.free-chess-info-grid-v176{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:1180px;margin:0 auto}
.free-chess-info-grid-v176 .card{height:100%}.free-chess-info-grid-v176 h2{margin:.2rem 0 .65rem;font-size:clamp(1.3rem,2.4vw,2rem)}.free-chess-info-grid-v176 p{color:var(--soft);margin-bottom:0}
.free-chess-faq-v176{max-width:980px;margin:0 auto}.free-chess-faq-v176 details{border-top:1px solid var(--line);padding:.85rem 0}.free-chess-faq-v176 details:first-of-type{border-top:0}.free-chess-faq-v176 summary{cursor:pointer;font-weight:850;color:#fff}.free-chess-faq-v176 details p{color:var(--soft);margin:.55rem 0 0}
.free-chess-warrior-v176{position:relative;overflow:hidden;max-width:1180px;margin:0 auto;padding:clamp(1.2rem,3vw,2rem)!important;background:linear-gradient(90deg,rgba(1,6,16,.94),rgba(2,9,22,.82)),url('/assets/images/warriorchess/warriorchess_banner.jpg') center/cover!important}
.free-chess-warrior-v176:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 35%,rgba(var(--accent-rgb),.18),transparent 40%);pointer-events:none}
.free-chess-warrior-copy-v176{position:relative;z-index:2;max-width:700px}.free-chess-warrior-v176 h2{font-size:clamp(1.8rem,4vw,3.2rem);margin:.15rem 0 .55rem}.free-chess-warrior-v176 p{color:#d8e7f3}.free-chess-warrior-v176 .button{margin-top:.55rem}
.free-chess-cta-v176{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:linear-gradient(135deg,rgba(var(--accent-rgb),.13),rgba(var(--violet-rgb),.08))!important}.free-chess-cta-v176 h2{margin:.12rem 0 .25rem;font-size:clamp(1.45rem,3vw,2.3rem)}.free-chess-cta-v176 p{margin:0;color:var(--soft);max-width:760px}.free-chess-cta-v176 .button{margin:0}
/* Hub card */
.play-grid-four-v176{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.chess-hub-media-v176{background:radial-gradient(circle at 50% 40%,rgba(47,180,255,.18),transparent 58%),linear-gradient(145deg,#07111f,#02050a)!important}
.chess-hub-art-v176{position:absolute;inset:0;display:grid;place-items:center;padding:7%}
.chess-hub-board-v176{width:min(54%,15rem);aspect-ratio:1;display:grid;grid-template-columns:repeat(4,1fr);transform:rotate(-5deg);border:1px solid rgba(111,235,255,.5);box-shadow:0 1rem 2.4rem rgba(0,0,0,.5),0 0 2rem rgba(54,193,255,.16)}
.chess-hub-board-v176 span{display:grid;place-items:center;font-family:"Segoe UI Symbol","DejaVu Sans",serif;font-size:clamp(1.2rem,3vw,2.3rem);line-height:1}.chess-hub-board-v176 span:nth-child(odd){background:#12324b}.chess-hub-board-v176 span:nth-child(even){background:#07101b}.chess-hub-board-v176 span:nth-child(-n+4){color:#ff5dce;text-shadow:0 0 10px rgba(255,70,203,.4)}.chess-hub-board-v176 span:nth-last-child(-n+4){color:#fff;text-shadow:0 0 10px rgba(97,226,255,.4)}
.chess-hub-title-v176{position:absolute;left:1rem;right:1rem;bottom:.72rem;text-align:center;color:#fff;font-weight:900;font-size:clamp(1.08rem,2.4vw,1.5rem);letter-spacing:.04em;text-shadow:0 2px 13px rgba(0,0,0,.9)}
@media(max-width:860px){.play-grid-four-v176{grid-template-columns:1fr!important}.free-chess-info-grid-v176{grid-template-columns:1fr}.free-chess-cta-v176{align-items:stretch}.free-chess-cta-v176 .button{width:100%;text-align:center}}
@media(max-width:580px){.free-chess-game-shell-v176{padding:.7rem!important}.free-chess-board-wrap-v176{padding:.35rem}.free-chess-board-v176{width:min(94vw,660px);height:min(94vw,660px)}.free-chess-controls-v176{display:grid;grid-template-columns:1fr 1fr}.free-chess-controls-v176 .button{min-width:0;width:100%}}

/* v184: end-of-game splash, aligned with Spider/Mahjong modal language. */
.free-chess-result-v184{position:fixed;inset:0;z-index:12920;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 42%,rgba(29,140,255,.16),transparent 34%),rgba(1,5,13,.89);backdrop-filter:blur(10px)}
.free-chess-result-v184[hidden]{display:none}
.free-chess-result-card-v184{width:min(560px,94vw);padding:clamp(1.25rem,4vw,2rem);text-align:center;border:1px solid rgba(110,233,255,.35);border-radius:1.25rem;background:radial-gradient(circle at 50% 0,rgba(29,140,255,.2),transparent 38%),linear-gradient(160deg,#081b32,#030a16);box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 60px rgba(29,140,255,.16)}
.free-chess-result-card-v184>img{display:block;width:min(320px,68vw);max-height:110px;object-fit:contain;margin:0 auto .55rem;filter:drop-shadow(0 0 18px rgba(29,140,255,.22))}
.free-chess-result-kicker-v184{display:inline-block;color:var(--blue2,#6ee9ff);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.free-chess-result-card-v184 h2{font-size:clamp(2rem,6vw,4rem);line-height:1.02;margin:.5rem 0 .65rem}
.free-chess-result-copy-v184{color:#a8bfd7;margin:.15rem auto 1rem;max-width:31rem}
.free-chess-result-actions-v184{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.9rem}
.free-chess-result-actions-v184 .button{display:block;width:100%;margin:0}
.free-chess-result-actions-v184 .free-chess-result-warrior-v184{grid-column:1/-1}
.free-chess-result-v184.is-loss-v184 .free-chess-result-card-v184{border-color:rgba(255,88,207,.32);box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 60px rgba(255,62,199,.12)}
.free-chess-result-v184.is-draw-v184 .free-chess-result-card-v184{border-color:rgba(255,212,124,.3)}
@media(max-width:900px){.free-chess-board-v176::after{background-size:58% auto;opacity:.068}}
@media(max-width:580px){.free-chess-board-v176::after{left:5%;right:5%;top:13%;bottom:13%;background-size:66% auto;opacity:.062}.free-chess-result-actions-v184{grid-template-columns:1fr}.free-chess-result-actions-v184 .free-chess-result-warrior-v184{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.chess-square-v176,.chess-piece-v176{transition:none!important}}

/* v178 Warrior Chess branded hero */
.free-chess-branded-hero-v178{position:relative;overflow:hidden;max-width:1180px;margin:1.25rem auto 0;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,3rem)!important;border:1px solid rgba(var(--accent2-rgb),.16);border-radius:1.35rem;background:linear-gradient(180deg,rgba(2,7,16,.42),rgba(2,7,16,.9)),linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.05)),url('/assets/images/warriorchess/warriorchess_shot10.jpg') center 42%/cover no-repeat;box-shadow:0 1.2rem 3.4rem rgba(0,0,0,.32)}
.free-chess-branded-hero-v178:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(var(--accent-rgb),.12),transparent 46%);pointer-events:none}
.free-chess-branded-hero-v178>*{position:relative;z-index:1}
.free-chess-hero-logo-v178{display:block;width:min(72%,34rem);height:auto;max-height:12rem;object-fit:contain;margin:0 auto 1rem;filter:drop-shadow(0 .7rem 1.4rem rgba(0,0,0,.6))}
@media(max-width:580px){.free-chess-branded-hero-v178{margin-top:.65rem;border-radius:1rem}.free-chess-hero-logo-v178{width:min(86%,27rem)}}


/* v188: compact Chess page sections — remove inherited large section bottom padding. */
.free-chess-main-v176 > .section.tight{padding-top:0!important;padding-bottom:0!important}
.free-chess-main-v176 > .free-chess-branded-hero-v178 + .section.tight{margin-top:1rem}
.free-chess-main-v176 > .section.tight + .section.tight{margin-top:1rem}
.free-chess-main-v176 > .section.tight .game-activity-v139{margin-top:.55rem;margin-bottom:0}
@media(max-width:580px){.free-chess-main-v176 > .free-chess-branded-hero-v178 + .section.tight,.free-chess-main-v176 > .section.tight + .section.tight{margin-top:.7rem}}


/* v189: let the player see the final checkmate/stalemate position before the result panel. */
.free-chess-board-wrap-v176{position:relative}
.free-chess-board-wrap-v176.is-end-flourish-v189::after{content:"";position:absolute;inset:clamp(.25rem,1vw,.7rem);z-index:8;pointer-events:none;border-radius:.8rem;opacity:0;border:1px solid color-mix(in srgb,var(--chess-finish-a,#6ee9ff) 64%,transparent);box-shadow:inset 0 0 44px color-mix(in srgb,var(--chess-finish-a,#6ee9ff) 20%,transparent),0 0 44px color-mix(in srgb,var(--chess-finish-b,#1d8cff) 24%,transparent);animation:chessFinishFrameV189 2.45s cubic-bezier(.15,.75,.18,1) forwards}
.free-chess-board-wrap-v176.is-win-v189{--chess-finish-a:#8fffd3;--chess-finish-b:#48c7ff}
.free-chess-board-wrap-v176.is-loss-v189{--chess-finish-a:#ff78d8;--chess-finish-b:#ff496e}
.free-chess-board-wrap-v176.is-draw-v189{--chess-finish-a:#ffd77a;--chess-finish-b:#8ccaff}
.free-chess-board-v176.is-end-v189{animation:chessFinishBoardV189 2.55s cubic-bezier(.16,.78,.18,1) both}
.free-chess-board-v176.is-win-v189{--chess-board-flare:rgba(90,235,255,.42)}
.free-chess-board-v176.is-loss-v189{--chess-board-flare:rgba(255,72,158,.36)}
.free-chess-board-v176.is-draw-v189{--chess-board-flare:rgba(255,207,111,.30)}
.free-chess-board-v176.is-end-v189 .chess-square-v176.check{animation:chessMateKingV189 1.12s ease-in-out 2}
.free-chess-board-v176.is-end-v189 .chess-square-v176.last{animation:chessMateLastMoveV189 1.8s ease-out both}
.free-chess-flourish-v189{position:fixed;inset:0;z-index:12910;overflow:hidden;pointer-events:none;contain:layout style paint;--chess-flourish-a:#8fffd3;--chess-flourish-b:#48c7ff}
.free-chess-flourish-v189.is-loss-v189{--chess-flourish-a:#ff78d8;--chess-flourish-b:#ff496e}
.free-chess-flourish-v189.is-draw-v189{--chess-flourish-a:#ffd77a;--chess-flourish-b:#8ccaff}
.free-chess-flourish-particle-v189{position:absolute;display:grid;place-items:center;width:1.25rem;height:1.25rem;color:var(--chess-flourish-a);font-size:clamp(.68rem,1.5vw,1.12rem);font-weight:900;text-shadow:0 0 12px var(--chess-flourish-a),0 0 28px color-mix(in srgb,var(--chess-flourish-b) 70%,transparent);opacity:0;will-change:transform,opacity,filter}
.free-chess-result-card-v184{will-change:transform,opacity,filter}
@keyframes chessFinishFrameV189{0%{opacity:0;transform:scale(.985)}18%{opacity:.9}55%{opacity:.52;transform:scale(1.012)}100%{opacity:0;transform:scale(1.035)}}
@keyframes chessFinishBoardV189{0%{filter:none;box-shadow:0 1.15rem 3rem rgba(0,0,0,.48),0 0 2.3rem rgba(var(--accent-rgb),.13)}25%{filter:brightness(1.12) saturate(1.08);box-shadow:0 1.15rem 3rem rgba(0,0,0,.48),0 0 3.4rem var(--chess-board-flare)}62%{filter:brightness(1.035) saturate(1.04);box-shadow:0 1.15rem 3rem rgba(0,0,0,.48),0 0 2.7rem var(--chess-board-flare)}100%{filter:none;box-shadow:0 1.15rem 3rem rgba(0,0,0,.48),0 0 2.3rem rgba(var(--accent-rgb),.13)}}
@keyframes chessMateKingV189{0%,100%{filter:brightness(1);transform:none}50%{filter:brightness(1.65);transform:scale(1.055);box-shadow:inset 0 0 0 3px rgba(255,95,125,.98),inset 0 0 40px rgba(255,48,90,.62)}}
@keyframes chessMateLastMoveV189{0%{filter:brightness(1)}35%{filter:brightness(1.34)}100%{filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.free-chess-board-wrap-v176.is-end-flourish-v189::after,.free-chess-board-v176.is-end-v189,.free-chess-board-v176.is-end-v189 .chess-square-v176.check,.free-chess-board-v176.is-end-v189 .chess-square-v176.last{animation:none!important}.free-chess-board-wrap-v176.is-end-flourish-v189::after{opacity:.45}}
