.duo-shell{max-width:780px;margin:auto;padding:20px;border:2px solid #17101f;border-radius:16px;background:#fff;color:#17101f;color-scheme:light}.duo-top,.duo-actions,.ice-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}.duo-top label{display:flex;gap:8px;align-items:center}.duo-shell button,.duo-shell select{min-height:46px;border:2px solid #17101f;border-radius:8px;padding:10px 16px;font:inherit;cursor:pointer;background:#efe5ff;color:#17101f}.duo-shell .primary{background:#17101f;color:#fff}.duo-board{margin:20px 0;display:grid;gap:6px}.frost-board{grid-template-columns:repeat(var(--size),1fr);max-width:540px;margin-inline:auto}.frost-board span{aspect-ratio:1;display:grid;place-items:center;font-size:clamp(18px,4vw,32px);border-radius:5px}.frost-board .wall{background:#17101f}.frost-board .ice{background:#e6edfa}.frost-board .player{background:#c3a3f5}.frost-board .crystal{background:#efe4ff;color:#7340a8}.frost-board .exit{background:#a9e4d5;color:#153a32}.echo-board{grid-template-columns:1fr 1fr}.echo-board button{min-height:130px;background:#efe5ff;font-size:1.3rem;font-weight:bold;color:#17101f}.echo-board .lit{background:#17101f;color:#fff;outline:5px solid #a77ae0;outline-offset:-9px}.duo-status{min-height:3em;font-size:1rem;line-height:1.5}.duo-actions button:disabled{opacity:.5;cursor:default}.duo-note{line-height:1.5}.duo-top select{max-width:150px}@media(max-width:500px){.duo-shell{padding:12px}.ice-controls{display:grid;grid-template-columns:1fr 1fr}.echo-board button{min-height:105px}}

.duo-shell button:focus-visible,.duo-shell select:focus-visible,.duo-shell input:focus-visible{outline:3px solid #7340a8;outline-offset:3px}
