*{margin:0;padding:0;box-sizing:border-box}
body{min-height:100vh;background:linear-gradient(135deg,#E8EAF6,#FCE4EC);font-family:'Segoe UI','PingFang SC',sans-serif;display:flex;justify-content:center;align-items:center;user-select:none;-webkit-user-select:none}
.back-btn{position:fixed;top:12px;left:12px;z-index:100;background:rgba(255,255,255,0.9);color:#5C6BC0;padding:7px 15px;border-radius:30px;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.game-wrap{text-align:center;padding:20px}
.title{font-size:32px;font-weight:800;color:#5C6BC0;margin-bottom:10px}
.status{font-size:18px;color:#777;margin-bottom:16px;min-height:28px;font-weight:600}
.status.win{color:#66BB6A}.status.lose{color:#EF5350}.status.draw{color:#FFA726}
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(300px,80vw);margin:0 auto 18px}
.cell{aspect-ratio:1;background:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:48px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.06);transition:transform .15s,background .2s}
.cell:hover{background:#F5F5F5;transform:scale(1.04)}
.cell.taken{cursor:default}.cell.taken:hover{transform:none}
.cell.win-cell{background:#E8F5E9;box-shadow:0 0 16px rgba(102,187,106,0.4)}
.scoreboard{display:flex;justify-content:center;gap:24px;margin-bottom:16px}
.sb-item{text-align:center}.sb-label{font-size:13px;color:#aaa;display:block;font-weight:600}.sb-val{font-size:26px;font-weight:800;color:#5C6BC0}
.btn-reset{padding:10px 32px;background:linear-gradient(135deg,#7C4DFF,#5C6BC0);color:#fff;border:none;border-radius:30px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(92,107,192,0.3)}
.btn-reset:hover{transform:scale(1.05)}
@keyframes popIn{0%{transform:scale(0)}60%{transform:scale(1.2)}100%{transform:scale(1)}}
.cell.anim{animation:popIn .25s ease-out}

@media(max-width:380px){.title{font-size:24px}.cell{font-size:36px;border-radius:10px}.btn-reset{padding:8px 24px;font-size:13px}}
