/* Cipher Cross */
.cc-grid { display: grid; grid-template-columns: repeat(11, 1fr); gap: 3px; width: min(100%, 520px); margin: 6px auto 0; padding: 10px; border-radius: 20px; background: var(--glass-strong); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); }
.cc-cell { position: relative; aspect-ratio: 1; padding: 0; border: 0; border-radius: 6px; background: var(--tile-top); box-shadow: var(--lift); color: var(--text); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cc-cell.empty { background: transparent; box-shadow: none; cursor: default; }
.cc-num { position: absolute; top: 2px; left: 3px; font: 700 clamp(7px, 1.8vw, 10px) var(--body); color: var(--muted); line-height: 1; }
.cc-letter { font: 800 clamp(13px, 3.6vw, 21px) var(--display); padding-top: 4px; }
.cc-cell.sel, .cc-code.sel { background: linear-gradient(170deg, #FFE38F, #F5C542); }
.cc-cell.sel .cc-num, .cc-code.sel .cc-num { color: #5E4106; }
.cc-cell.sel .cc-letter, .cc-code.sel .cc-letter { color: #14213A; }
.cc-cell.given .cc-letter, .cc-code.given .cc-letter { color: var(--select); }
.cc-cell.solved { background: linear-gradient(170deg, #FFA8C5, #D6366B); }
.cc-cell.solved .cc-letter, .cc-cell.solved .cc-num { color: #fff; }
.cc-table { display: grid; grid-template-columns: repeat(13, 1fr); gap: 3px; width: min(100%, 560px); margin: 12px auto 0; }
.cc-code { position: relative; aspect-ratio: .85; padding: 0; border: 1px solid var(--glass-edge); border-radius: 7px; background: var(--chip); color: var(--text); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.cc-code:disabled { opacity: .3; cursor: default; }
.cc-code .cc-num { top: 1px; left: 2px; }
.cc-code .cc-letter { font-size: clamp(11px, 3vw, 16px); }
.cc-tools { justify-content: center; margin-top: 10px; }
