/* TDR Puzzles — Mini Crossword + Dallas Wordle */
.tdr-puzzles { max-width: 860px; margin: 0 auto; padding: 12px 8px 40px; font-family: inherit; }

.tdr-puzzles-nav { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; font-size: 14px; }
.tdr-puzzles-navlink { font-weight: 600; color: #b3812f; text-decoration: none; }
.tdr-puzzles-navlink:hover { text-decoration: underline; }
.tdr-puzzles-navlink.is-today { background: #c9a551; color: #fff; border-radius: 999px; padding: 4px 14px; }
.tdr-puzzles-archive-note { background: #f3efe6; color: #555; border-radius: 8px; padding: 3px 10px; font-weight: 600; }

.tdr-mini-tools { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.tdr-mini-tool { background: #fff; border: 1px solid #d9d2c2; border-radius: 999px; padding: 7px 16px; font-size: 13px; font-weight: 600; color: #444; cursor: pointer; }
.tdr-mini-tool:hover { border-color: #c9a551; color: #b3812f; }
.tdr-mini-cell.is-revealed .tdr-mini-letter { color: #b3812f; }

.tdr-puzzles-tabs { display: flex; gap: 8px; margin-bottom: 18px; }
.tdr-puzzles-tab {
    border: 1.5px solid #d8d2c4; background: #fff; color: #333; border-radius: 999px;
    padding: 8px 20px; font-size: 15px; font-weight: 600; cursor: pointer;
}
.tdr-puzzles-tab.is-active { background: #c9a551; border-color: #c9a551; color: #fff; }

.tdr-puzzle-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.tdr-puzzle-date { font-weight: 700; font-size: 15px; color: #222; }
.tdr-mini-timer { font-variant-numeric: tabular-nums; background: #f3efe6; border-radius: 8px; padding: 3px 10px; font-weight: 600; font-size: 14px; color: #444; }
.tdr-wordle-streak { font-weight: 600; font-size: 14px; color: #b3812f; }

.tdr-puzzle-msg { min-height: 26px; margin-top: 12px; font-weight: 600; font-size: 15px; text-align: center; }
.tdr-puzzle-msg.is-good { color: #2e7d32; }
.tdr-puzzle-msg.is-bad { color: #c62828; }

/* ---------- Mini crossword ---------- */
.tdr-mini-wrap { display: flex; gap: 26px; align-items: flex-start; flex-wrap: wrap; }
.tdr-mini-grid {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px;
    width: min(400px, 92vw); flex: 0 0 auto;
}
.tdr-mini-cell {
    position: relative; aspect-ratio: 1; background: #fff; border: 1.5px solid #e2ddd2;
    border-radius: 12px; cursor: pointer; user-select: none;
}
.tdr-mini-cell.is-black { background: #3a3a3c; border-color: #3a3a3c; cursor: default; }
.tdr-mini-cell.is-word { background: #f7ecd9; border-color: #e8d5a8; }
.tdr-mini-cell.is-sel { background: #c9a551; border-color: #b3812f; }
.tdr-mini-cell.is-sel .tdr-mini-letter { color: #fff; }
.tdr-mini-cell.is-wrong .tdr-mini-letter { color: #c62828; }
.tdr-mini-grid.is-solved .tdr-mini-cell:not(.is-black) { background: #eef7ec; border-color: #bcdcb6; }
.tdr-mini-num { position: absolute; top: 4px; left: 7px; font-size: 12px; font-weight: 700; color: #555; }
.tdr-mini-cell.is-sel .tdr-mini-num { color: rgba(255,255,255,.85); }
.tdr-mini-letter {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font-size: clamp(20px, 5.5vw, 30px); font-weight: 700; color: #222;
}
.tdr-mini-clues { flex: 1 1 260px; display: grid; gap: 16px; min-width: 240px; }
.tdr-mini-cluelist h3 {
    margin: 0 0 6px; font-size: 14px; letter-spacing: .04em; text-transform: uppercase;
    border-bottom: 2px solid #c9a551; padding-bottom: 5px;
}
.tdr-mini-cluelist ol { list-style: none; margin: 0; padding: 0; }
.tdr-mini-cluelist li {
    display: flex; gap: 8px; padding: 7px 9px; font-size: 14.5px; line-height: 1.35;
    border-radius: 8px; cursor: pointer; color: #333;
}
.tdr-mini-cluelist li b { min-width: 16px; text-align: right; }
.tdr-mini-cluelist li:hover { background: #f6f2e8; }
.tdr-mini-cluelist li.is-active { background: #f7ecd9; box-shadow: inset 3px 0 0 #c9a551; }
.tdr-mini-input { position: absolute; opacity: 0; height: 1px; width: 1px; border: 0; padding: 0; }

/* ---------- Wordle ---------- */
.tdr-wordle-board { display: grid; gap: 6px; width: min(330px, 88vw); margin: 0 auto; }
.tdr-wordle-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.tdr-wordle-tile {
    aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
    border: 2px solid #d3cec2; border-radius: 10px; font-size: 28px; font-weight: 800;
    color: #222; background: #fff; text-transform: uppercase;
    transition: background .15s, border-color .15s, transform .15s;
}
.tdr-wordle-tile.is-filled { transform: none; }
.tdr-wordle-tile.is-green { background: #6aaa64; border-color: #6aaa64; color: #fff; }
.tdr-wordle-tile.is-yellow { background: #c9b458; border-color: #c9b458; color: #fff; }
.tdr-wordle-tile.is-gray { background: #787c7e; border-color: #787c7e; color: #fff; }
.tdr-wordle-keys { margin-top: 18px; display: grid; gap: 6px; justify-items: center; }
.tdr-wordle-keyrow { display: flex; gap: 5px; }
.tdr-wordle-key {
    border: 0; border-radius: 6px; background: #e5e1d7; color: #222; font-weight: 700;
    font-size: 14px; padding: 0 9px; height: 50px; min-width: 30px; cursor: pointer; text-transform: uppercase;
}
.tdr-wordle-key.is-wide { min-width: 56px; font-size: 12px; }
.tdr-wordle-key.is-green { background: #6aaa64; color: #fff; }
.tdr-wordle-key.is-yellow { background: #c9b458; color: #fff; }
.tdr-wordle-key.is-gray { background: #787c7e; color: #fff; }

@media (max-width: 640px) {
    .tdr-mini-wrap { flex-direction: column; }
    .tdr-mini-grid { margin: 0 auto; }
}
