.ox-rot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 14px 0; }
.ox-rot-card { background: var(--surface-2); border: 2px solid var(--line); border-radius: 14px; padding: 8px; display: flex; flex-direction: column; gap: 6px; align-items: center; transition: border-color .2s, transform .2s; }
.ox-rot-card.is-sel { border-color: var(--accent); }
.ox-rot-card.is-turned { background: color-mix(in srgb, var(--accent) 9%, var(--surface)); }
.ox-rot-sel { display: flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; font-size: .9rem; cursor: pointer; }
.ox-rot-sel input { width: 20px; height: 20px; accent-color: var(--accent); }
.ox-rot-box { position: relative; width: 130px; height: 150px; }
.ox-rot-box canvas { position: absolute; left: 50%; top: 50%; background: #fff; box-shadow: var(--shadow-lg); border-radius: 3px; transform: translate(-50%, -50%); transition: transform .3s; }
.ox-rot-btns { display: flex; gap: 8px; }
.ox-rot-btns button { min-width: 48px; font-size: 1.1rem; }
