.chess-board{position:relative}.chess-capture-fx{position:absolute;width:0;height:0;pointer-events:none;z-index:8;--fx:#ffe69a}.chess-capture-fx.black-capture{--fx:#c8edec}.capture-ring{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border:3px solid var(--fx);border-radius:50%;box-shadow:0 0 12px #fff2a977;animation:chess-impact .65s ease-out both}.capture-ring.ring-two{animation-delay:.1s;border-width:1px}.captured-ghost{position:absolute;left:-16px;top:-16px;width:32px;height:32px;display:grid;place-items:center;background:#efdaad;border:1px solid #d2b283;border-radius:50%;color:#797b65;font:700 21px KaiTi,serif;animation:chess-ghost .7s ease-out both}.capture-spark{position:absolute;width:5px;height:5px;background:var(--fx);border-radius:2px;box-shadow:0 0 5px #fff6c6;animation:chess-spark .7s ease-out both;animation-delay:var(--delay)}.capture-label{position:absolute;left:-65px;top:-36px;width:130px;text-align:center;font-size:13px;letter-spacing:1px;color:#fff7d8;text-shadow:0 1px 3px #786042;animation:chess-word .9s ease-out both}.chess-result-backdrop{position:fixed;inset:0;z-index:1000;background:#173b4c99;backdrop-filter:blur(6px);display:grid;place-items:center;padding:22px;animation:chess-overlay .3s ease-out}.chess-result-card{position:relative;width:100%;max-width:350px;padding:30px 24px 21px;text-align:center;border:1px solid #fff5cf;border-radius:29px;color:#486f68;background:radial-gradient(ellipse at top,#fff4c5,#f7f3df 65%,#dceadb);box-shadow:0 20px 80px #12354766;overflow:hidden;animation:chess-result-enter .65s cubic-bezier(.2,.8,.25,1.2) both}.chess-result-backdrop.lose .chess-result-card{background:radial-gradient(ellipse at top,#e4f0e7,#f6f2e4 65%,#d0e1d9)}.chess-fx-close{position:absolute;right:12px;top:10px;z-index:4;border:0;border-radius:50%;width:29px;height:29px;background:#537e6c15;color:#6d8c80;font-size:21px}.result-medallion{width:104px;height:104px;display:grid;place-items:center;margin:2px auto 16px;border-radius:50%;font-size:58px;background:linear-gradient(145deg,#fff9d8,#efca75);border:5px solid #fff9df;box-shadow:0 6px #ddc68b4d,0 0 40px #fff6b6;animation:chess-trophy 2.8s ease-in-out infinite}.lose .result-medallion,.draw .result-medallion{background:linear-gradient(145deg,#eff8e7,#b6d5c6);box-shadow:0 6px #90baa244,0 0 40px #d2ead8}.result-eyebrow{font-size:9px;letter-spacing:2px;color:#a38e5c;margin:8px 0 12px}.chess-result-card h2{font-size:24px;color:#6f653c;line-height:1.4}.lose .chess-result-card h2,.draw .chess-result-card h2{color:#527d70}.chess-result-card p{font-size:13px;line-height:1.9;color:#84917b;margin:12px 0 18px}.result-companion{display:flex;align-items:center;gap:10px;background:#fff9;border-radius:15px;padding:10px;text-align:left;font-size:12px;color:#648777;position:relative}.result-companion img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid #fff}.result-continue{position:relative;margin-top:20px;width:100%;background:linear-gradient(#638c78,#427568);color:#fff8db;border-radius:13px;padding:13px 4px;border:1px solid #dce5bf;font:700 13px "Microsoft YaHei",sans-serif;box-shadow:0 4px #2b615333}.chess-result-card small{display:block;font-size:10px;color:#9ba68d;margin-top:15px}.result-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}.result-particle{position:absolute;left:var(--x);top:-22px;font-style:normal;font-size:20px;color:#dfb85f;animation:chess-confetti 2.9s linear infinite;animation-delay:var(--delay)}.result-particle:nth-child(3n){color:#a2c9b8}.result-particle:nth-child(4n){color:#d9a69b}.lose .result-particle,.draw .result-particle{color:#9dc8b9;font-size:28px;animation-duration:5s;opacity:.45}@keyframes chess-impact{from{transform:scale(.6);opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes chess-ghost{from{transform:translateY(0) scale(1);opacity:.9}to{transform:translateY(-45px) scale(.4) rotate(15deg);opacity:0}}@keyframes chess-spark{from{transform:rotate(var(--angle)) translateX(8px) scale(1.2);opacity:1}to{transform:rotate(var(--angle)) translateX(var(--dist)) scale(.2);opacity:0}}@keyframes chess-word{0%{transform:translateY(8px);opacity:0}20%{opacity:1}100%{transform:translateY(-28px);opacity:0}}@keyframes chess-overlay{from{opacity:0}to{opacity:1}}@keyframes chess-result-enter{from{transform:translateY(25px) scale(.88);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes chess-trophy{50%{transform:translateY(-5px) rotate(-3deg)}}@keyframes chess-confetti{0%{transform:translate(0,-20px) rotate(0);opacity:0}10%{opacity:.8}100%{transform:translate(var(--drift),490px) rotate(var(--spin));opacity:0}}@media(prefers-reduced-motion:reduce){.chess-capture-fx *,.chess-result-backdrop,.chess-result-card,.result-medallion,.result-particle{animation:none!important}.capture-spark,.captured-ghost{display:none}.capture-ring{opacity:.6}.capture-label{color:#596f56;text-shadow:0 1px #fff}.result-particle{top:15px;opacity:.25}}
