.duo-game{position:relative;width:min(100%,540px);margin:0 auto;color:#554873}
.duo-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.duo-hud>div{min-width:0;padding:8px 4px;border:2px solid #c6b6da;border-radius:13px;background:#f8f1ff;text-align:center;box-shadow:0 3px 0 #dfd4eb}
.duo-hud small{display:block;color:#827296;font-size:11px;font-weight:800}
.duo-hud strong{display:block;font-size:17px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.duo-arena{padding:10px;border:4px solid #917eaa;border-radius:20px;background:linear-gradient(135deg,#efddec,#d7e9f0);box-shadow:0 5px 0 #bbaacb}
.duo-arena-head{display:flex;justify-content:space-between;align-items:center;margin:0 3px 8px;color:#5d5279;font-size:13px}.duo-arena-head strong{font-size:15px}
.duo-boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.duo-side{min-width:0;padding:7px;border:2px solid #b6a0c7;border-radius:13px;background:#fff8f6}
.duo-side:nth-child(2){border-color:#9ebbc9;background:#f4fbff}
.duo-side-label{margin-bottom:6px;text-align:center;color:#67577f;font-size:12px;font-weight:900;white-space:nowrap}.duo-side:nth-child(2) .duo-side-label{color:#4b7486}
.duo-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:2px;width:100%;aspect-ratio:1;padding:3px;border:2px solid #bba2c2;border-radius:9px;background:#e6d6e8}
.duo-side:nth-child(2) .duo-board{border-color:#a1bbc6;background:#dcebf1}
.duo-cell{display:grid;place-items:center;min-width:0;min-height:0;border:1px solid #d7ccd9;border-radius:4px;background:#fff9ed;font-size:clamp(14px,3.7vw,23px);line-height:1}
.duo-cell.is-wall{border-color:#82778d;background:repeating-linear-gradient(45deg,#8d8197 0 6px,#9a90a3 6px 12px)}
.duo-cell.is-goal{background:#d5f1da}
.duo-cell.is-switch{background:#fff0ba}
.duo-cell.is-gate{background:#e5d6de}.duo-cell.is-gate.is-open{background:#d4eddb}
.duo-cell.is-player{border-color:#e3bb55;background:#fff2b3;box-shadow:inset 0 0 0 2px #e9bf6a}
.duo-gates{min-height:27px;margin:7px 3px 0;color:#715f7e;text-align:center;font-size:11px;font-weight:900}
.duo-dpad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,41px);justify-content:center;gap:3px;margin:12px auto 8px}
.duo-dpad button{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;border:2px solid #a28db6;border-radius:11px;background:#faf1ff;color:#594a73;font-family:inherit;font-size:20px;font-weight:900;line-height:1;box-shadow:0 3px 0 #dacde4;touch-action:manipulation}
.duo-dpad button[data-dir=U]{grid-column:2;grid-row:1}.duo-dpad button[data-dir=L]{grid-column:1;grid-row:2}.duo-dpad button[data-dir=R]{grid-column:3;grid-row:2}.duo-dpad button[data-dir=D]{grid-column:2;grid-row:3}
.duo-dpad button span{font-size:10px}.duo-dpad button.is-hint{border-color:#e99c57;background:#fff0c9}.duo-dpad button:disabled{opacity:.55}.duo-dpad button:not(:disabled):active{transform:translateY(2px);box-shadow:0 1px 0 #dacde4}
.duo-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.duo-tools .button{min-width:0;min-height:39px;padding:5px 3px;font-size:13px}
.duo-game .toy-status{min-height:2.5em;margin:8px 0;text-align:center}
.duo-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.duo-controls .button{min-width:0;padding:7px 3px;font-size:13px;white-space:nowrap}
.duo-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:16px;border-radius:18px;background:#4a3a68a8;backdrop-filter:blur(2px)}
.duo-overlay[hidden]{display:none}.duo-dialog{width:min(100%,345px);padding:22px 18px;border:3px solid #b4a1c8;border-radius:19px;background:#fffaf3;box-shadow:0 8px 0 #58426b83;text-align:center}
.duo-dialog h2{margin:0 0 10px;color:#695780;font-size:24px}.duo-dialog p{margin:0 0 17px;color:#746982;font-size:15px;line-height:1.6}.duo-dialog .button{min-width:145px}
.duo-game button:focus-visible{outline:3px solid #f1aa61;outline-offset:2px}
@media(max-width:480px){.toy-page:has(.duo-game) .toy-card{padding:14px 11px}.toy-page:has(.duo-game) .toy-card h1{font-size:22px}.toy-page:has(.duo-game) .toy-instruction{margin:5px 0 10px;line-height:1.4}.duo-hud{gap:5px}.duo-hud strong{font-size:15px}.duo-arena{padding:7px}.duo-boards{gap:5px}.duo-side{padding:5px}.duo-side-label{font-size:10px}.duo-board{gap:1px;padding:2px}.duo-cell{font-size:clamp(12px,4vw,19px)}.duo-dpad{grid-template-rows:repeat(3,39px);margin-top:8px}}
