.cargo-game{background:var(--paper);border-top:1px solid var(--rule);color:var(--ink)}
.cargo-game-layout{max-width:1240px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:80px;align-items:center}
.cargo-game h2{font-size:clamp(36px,4.2vw,64px);line-height:1.12;letter-spacing:-.045em}
.cargo-game-intro{font-size:22px;line-height:1.55;max-width:590px;margin-top:28px}
.cargo-game-legend{display:flex;flex-wrap:wrap;gap:36px;margin-block:34px;align-items:center}
.cargo-game-legend>span{display:inline-flex;align-items:center;gap:15px;font-size:18px}
.cargo-game-opponent-logo{display:block;width:132px;height:52px;object-fit:contain;object-position:center;flex:none}
.cargo-game-opponent-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cargo-game svg{width:54px;height:54px;stroke-width:1.8}
.cargo-game [data-game-icon=plane],.cargo-game-cell[data-piece=plane]{color:var(--cyan)}
.cargo-game-note{color:var(--muted);font-size:15px}
.cargo-game-play{width:min(100%,360px);justify-self:center;text-align:center;min-width:0}
.cargo-game-play[hidden]{display:none}
.cargo-game-status{font-size:18px;line-height:1.6;font-weight:600;min-height:58px;margin-bottom:16px}
.cargo-game-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));direction:ltr}
.cargo-game-cell{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:0;background:var(--surface);color:var(--ink);padding:12px;transition:background .16s}
.cargo-game-cell:not(:nth-child(3n)){border-right:2px solid var(--rule)}
.cargo-game-cell:nth-child(-n+6){border-bottom:2px solid var(--rule)}
.cargo-game-cell[aria-disabled=true]{cursor:default}
.cargo-game-cell[aria-disabled=false]:hover{background:var(--pale)}
.cargo-game-cell:focus-visible{position:relative;outline:3px solid var(--gold);outline-offset:-6px;z-index:1}
.cargo-game-cell.is-winning{background:var(--pale)}
.cargo-game-cell svg{width:62%;height:62%;animation:cargo-token-in .18s ease-out}
.cargo-game-restart{width:80%;min-height:48px;border:1.5px solid var(--rule);border-radius:6px;color:var(--ink);background:var(--surface);font-size:16px;font-weight:700;margin-top:28px;padding:10px 14px}
.cargo-game-restart:hover{background:var(--pale)}
@keyframes cargo-token-in{from{opacity:.3;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
[dir=rtl] .cargo-game h2{font-size:40px;line-height:1.65;letter-spacing:0}
[dir=rtl] .cargo-game-intro{font-size:17px;line-height:2}
[dir=rtl] .cargo-game-status{font-size:15px;line-height:1.9}
[dir=rtl] .cargo-game-note{font-size:13px;line-height:1.9}
[dir=rtl] .cargo-game-legend>span,[dir=rtl] .cargo-game-restart{font-size:14px}
@media(max-width:800px){.cargo-game-layout{grid-template-columns:1fr;gap:36px}.cargo-game-intro{font-size:18px;margin-top:20px}.cargo-game-legend{margin-block:24px;gap:22px}.cargo-game h2{font-size:36px}.cargo-game svg{width:40px;height:40px}.cargo-game-play{width:min(100%,330px)}.cargo-game-cell svg{width:62%;height:62%}.cargo-game-status{min-height:50px;margin-bottom:10px}.cargo-game-legend>span{font-size:16px}.cargo-game-opponent-logo{width:118px;height:46px}.cargo-game-restart{margin-top:24px}[dir=rtl] .cargo-game h2{font-size:29px}[dir=rtl] .cargo-game-intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){.cargo-game-cell,.cargo-game-cell svg{transition:none;animation:none}}
