/* v1.0.2 — Bileşen sütununa ve ekran yüksekliğine güvenli sığdırma */
.uct-shell {
    width: 100%;
    max-width: 820px;
    min-width: 0;
    margin: 16px auto;
    overflow-x: clip;
}

.uct-card,
.uct-board-wrap,
.uct-score,
.uct-controls,
.uct-actions {
    min-width: 0;
    max-width: 100%;
}

.uct-board-wrap {
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.uct-board {
    flex: 0 1 420px;
    width: min(420px, 100%);
    max-width: 100%;
}

.uct-point {
    width: 15%;
}

.tg-drag-reserve {
    width: fit-content;
    max-width: calc(100% - 24px);
    white-space: normal;
    text-align: center;
}

@media (max-width: 700px) {
    .uct-shell {
        width: 100%;
        max-width: 100%;
        margin: 6px auto;
        padding: 0 4px;
    }

    .uct-card {
        width: 100%;
        border-radius: 16px;
    }

    .uct-header {
        min-height: 74px;
        padding: 9px 10px;
    }

    .uct-brand {
        gap: 9px;
        min-width: 0;
    }

    .uct-brand h1 {
        font-size: 27px;
    }

    .uct-brand small {
        display: block;
        max-width: 155px;
        overflow: hidden;
        font-size: 7px;
        letter-spacing: 1px;
        white-space: nowrap;
    }

    .uct-logo {
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
        font-size: 25px;
    }

    .uct-icons {
        gap: 4px;
    }

    .uct-icons button {
        width: 36px;
        height: 36px;
        padding: 0;
        font-size: 19px;
    }

    .uct-controls {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 6px;
        padding: 8px;
    }

    .uct-controls select,
    .uct-controls > div {
        width: 100%;
        min-height: 44px;
        padding: 7px;
        font-size: 12px;
    }

    .uct-score {
        gap: 6px;
        padding: 7px 9px;
    }

    .uct-score strong {
        font-size: 12px;
    }

    .tg-drag-reserve {
        margin: 7px auto;
        padding: 6px 10px;
        font-size: 13px;
    }

    .tg-drag-reserve .uct-piece {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
    }

    .uct-board-wrap {
        padding: 6px;
    }

    .uct-board {
        flex-basis: auto;
        width: min(100%, 380px);
        width: min(100%, clamp(290px, 54svh, 380px));
        border-width: 6px;
        border-radius: 18px;
    }

    .uct-point {
        width: 14.5%;
        padding: 5px;
    }

    .uct-piece {
        border-width: 3px;
    }

    .uct-actions {
        gap: 5px;
        padding: 8px;
    }

    .uct-actions button {
        min-width: 0;
        min-height: 42px;
        padding: 5px;
        font-size: 11px;
    }

    .uct-help {
        margin: 0;
        padding: 2px 10px 12px;
        font-size: 12px;
    }
}

@media (max-width: 380px) {
    .uct-brand small {
        display: none;
    }

    .uct-brand h1 {
        font-size: 24px;
    }

    .uct-board {
        width: min(100%, 340px);
        width: min(100%, clamp(270px, 52svh, 340px));
    }

    .uct-score span {
        font-size: 11px;
    }
}
