
.xgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.xcard,.gcard{display:flex;flex-direction:column;background:var(--surface,#fff);border:1.5px solid var(--accent2,#FFE45C);border-radius:var(--radius,18px);overflow:hidden;min-width:0}
.xpic{position:relative;display:block;background:var(--surface2);aspect-ratio:4/3;overflow:hidden}
.xpic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.xpic img.shot{object-position:top}
.xcard:hover .xpic img{transform:scale(1.04)}
.xic{font-size:3rem;display:grid;place-items:center;height:100%}
.xtag{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:8px}
.xtag.free{background:#1f7a4d}
.xbody{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.xbody b{font-size:1.04rem;line-height:1.3}.xbody span{color:var(--muted);font-size:.93rem}
.xbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px}
.xb{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font-size:.9rem;text-decoration:none}
.xb.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
.xb:hover{filter:brightness(1.08)}
.gcard img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;background:#fff}
.labh{margin:34px 0 12px;font-size:1.35rem}
.make3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.make3 a{display:flex;gap:14px;align-items:center;padding:16px;border-radius:var(--radius,18px);background:var(--surface,#fff);border:1.5px solid var(--accent2);color:inherit;text-decoration:none}
.make3 a:hover{border-color:var(--accent)}
.make3 img{width:84px;height:84px;object-fit:cover;border-radius:12px;flex:none}
.make3 b{display:block;font-size:1.05rem}.make3 span{color:var(--muted);font-size:.92rem}
.newsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.newsc{padding:18px;border-radius:var(--radius,18px);background:var(--surface,#fff);border:1px solid var(--line);display:flex;flex-direction:column;gap:6px;min-width:0}
.newsc time{font-size:.8rem;font-weight:700;color:var(--accent)}.newsc h3{margin:0;font-size:1.05rem;line-height:1.35}.newsc h3 a{color:inherit;text-decoration:none}
.newsc h3 a:hover{text-decoration:underline}.newsc p{margin:0;color:var(--muted);font-size:.93rem;overflow-wrap:anywhere}.newsc .more{margin-top:auto;font-weight:700;color:var(--accent);text-decoration:none;font-size:.9rem}
.aorteaser{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:520px}
.aorteaser img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block}
.aorwrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:center}
@media (max-width:760px){.aorwrap{grid-template-columns:1fr}}
.labhero{text-align:center;padding:34px 0 6px}.labhero p{max-width:680px;margin:10px auto;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 0}
.chips a{padding:7px 12px;border-radius:999px;background:var(--surface2);color:inherit;text-decoration:none;font-weight:600;font-size:.88rem}
/* AI or Real game */
.game{max-width:560px;margin:0 auto}
.gimg{position:relative;border-radius:18px;overflow:hidden;background:var(--surface2);aspect-ratio:1}
.gimg img{width:100%;height:100%;object-fit:cover;display:block}
.gbar{display:flex;justify-content:space-between;font-weight:700;margin:10px 0}
.gbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.gbtns button{min-height:52px;border:0;border-radius:14px;font:800 1.05rem var(--fb);cursor:pointer;color:#fff}
.gbtns .r{background:#1f7a4d}.gbtns .a{background:var(--accent)}
.gbtns button:disabled{opacity:.5;cursor:default}
.gres{padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--line);min-height:3em;overflow-wrap:anywhere}
.gres.ok{border-color:#1f7a4d}.gres.no{border-color:var(--accent)}
.gend{text-align:center;padding:18px;border-radius:18px;background:var(--surface);border:1.5px solid var(--accent2)}
.gend .big{font:800 2.6rem var(--fd);color:var(--accent)}
@media (max-width:600px){.xgrid{grid-template-columns:1fr 1fr;gap:10px}.xbody{padding:10px 10px 12px;gap:4px}.xbody b{font-size:.92rem}.xbody span{font-size:.8rem}.xb{min-height:36px;padding:6px 10px;font-size:.8rem}.xbtns{gap:6px}.xtag{top:6px;left:6px;font-size:.62rem}}
details.cred{margin-top:24px}details.cred li{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}
