/* ═══════════════════════════════════════════════════
   Skanvord Play Page
   ═══════════════════════════════════════════════════ */

/* ── Skanvord grid ── */
.sk-table { border-collapse: collapse; width: max-content; }
.sk-td {
    width: 68px; height: 68px;
    border: 1.5px solid #d1d5db;
    padding: 0;
    vertical-align: top;
    box-sizing: border-box;
}
.sk-td.is-empty  { background: #ccc; border-color: #bbb; }
.sk-td.is-image  { padding: 0; }
.sk-td.is-clue   { background: #e0e7ff; border-color: #a5b4fc; cursor: default; }
.sk-td.is-answer { background: #fff; }

/* Word-level result borders */
.sk-td.word-correct { border: 2.5px solid #16a34a !important; }
.sk-td.word-wrong   { border: 2.5px solid #dc2626 !important; }

/* ── Clue cell content ── */
.sk-clue-inner {
    position: relative; width: 100%; height: 100%;
    padding: 3px 4px 16px; box-sizing: border-box;
    overflow: hidden;
}
.sk-clue-text {
    font-size: .58rem; line-height: 1.3; color: #1e1b4b; font-weight: 500;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* ── Arrows ── */
.sk-arrow {
    position: absolute; font-size: 10px; font-weight: 900;
    color: #1e1b4b; background: rgba(255,255,255,.7);
    border-radius: 2px; padding: 0 2px; line-height: 14px;
}
.sk-arrow.d-right      { bottom: 2px; right: 2px; }
.sk-arrow.d-down       { bottom: 2px; left: 50%; transform: translateX(-50%); }
.sk-arrow.d-left       { bottom: 2px; left: 2px; }
.sk-arrow.d-up         { top: 2px; left: 50%; transform: translateX(-50%); }
.sk-arrow.d-right_down { bottom: 2px; right: 2px; }
.sk-arrow.d-left_down  { bottom: 2px; left: 2px; }

/* ── Answer inputs ── */
.sk-answer-input {
    display: block;
    width: 100%; height: 100%;
    border: none; outline: none;
    background: transparent;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e293b;
    text-transform: uppercase;
    cursor: pointer;
    box-sizing: border-box;
    padding: 0;
}
.sk-answer-input.sk-word-active { background: #eff6ff; }
.sk-answer-input:focus          { background: #dbeafe !important; outline: none; }

/* ── Drag-scroll ── */
.cw-table-wrap {
    overflow: auto !important;
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
    user-select: none;
    -webkit-user-select: none;
}
.cw-table-wrap::-webkit-scrollbar { display: none; }
.cw-table-wrap.sk-dragging { cursor: grabbing !important; }

/* ── Clue tooltip ── */
.sk-tooltip {
    display: none;
    position: fixed;
    background: #1e293b;
    color: #fff;
    border-radius: 8px;
    padding: .5rem .8rem;
    font-size: .8rem;
    font-weight: 500;
    line-height: 1.55;
    max-width: 240px;
    z-index: 9999;
    box-shadow: 0 4px 20px rgba(0,0,0,.35);
    pointer-events: none;
    white-space: normal;
    word-break: break-word;
}
.sk-tooltip.visible { display: block; }

/* ── Active clue bar ── */
.sk-active-clue-bar {
    background: #1e40af;
    color: #fff;
    padding: .45rem .75rem;
    border-radius: 8px;
    font-size: .82rem;
    font-weight: 600;
    margin-bottom: .75rem;
    min-height: 2.2rem;
    display: flex;
    align-items: center;
    gap: .4rem;
}
