.tentoset-dialog-backdrop {
    position: fixed;
    inset: 0;
    z-index: 30000;
    display: grid;
    place-items: center;
    padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
    background: rgba(5, 14, 20, 0.58);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 140ms ease, visibility 140ms ease;
}

.tentoset-dialog-backdrop[hidden] {
    display: none !important;
}

.tentoset-dialog-backdrop.is-open {
    opacity: 1;
    visibility: visible;
}

.tentoset-dialog-card {
    width: min(460px, 100%);
    max-height: min(80dvh, 620px);
    overflow: auto;
    color: #f6f0df;
    background: linear-gradient(145deg, #20282f, #172027);
    border: 1px solid rgba(103, 218, 242, 0.34);
    border-radius: 22px;
    box-shadow: 0 24px 68px rgba(0, 0, 0, 0.42);
    transform: translateY(10px) scale(0.98);
    transition: transform 140ms ease;
}

.tentoset-dialog-backdrop.is-open .tentoset-dialog-card {
    transform: translateY(0) scale(1);
}

.tentoset-dialog-title {
    margin: 0;
    padding: 22px 24px 14px;
    color: #ffd24a;
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
}

.tentoset-dialog-message {
    margin: 0;
    padding: 0 24px 22px;
    color: inherit;
    font-size: 1rem;
    line-height: 1.55;
    white-space: pre-line;
}

.tentoset-dialog-field {
    padding: 0 24px 22px;
}

.tentoset-dialog-field-label {
    display: block;
    margin-bottom: 8px;
    color: #8fe9ff;
    font-size: 0.95rem;
    font-weight: 750;
}

.tentoset-dialog-input-wrap {
    position: relative;
}

.tentoset-dialog-input {
    width: 100%;
    min-height: 48px;
    padding: 10px 48px 10px 14px;
    color: #f6f0df;
    background: #101920;
    border: 1px solid rgba(103, 218, 242, 0.48);
    border-radius: 12px;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 750;
}

.tentoset-dialog-input:focus-visible {
    outline: 3px solid rgba(103, 218, 242, 0.32);
    outline-offset: 2px;
    border-color: #67daf2;
}

.tentoset-dialog-input[aria-invalid="true"] {
    border-color: #ff7088;
}

.tentoset-dialog-input-suffix {
    position: absolute;
    top: 50%;
    right: 16px;
    color: #8fe9ff;
    font-weight: 800;
    transform: translateY(-50%);
    pointer-events: none;
}

.tentoset-dialog-field-error {
    margin-top: 8px;
    color: #ff8da0;
    font-size: 0.88rem;
    font-weight: 650;
}

.tentoset-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 17px 24px 22px;
    border-top: 1px solid rgba(103, 218, 242, 0.18);
}

.tentoset-dialog-button {
    min-width: 112px;
    min-height: 46px;
    padding: 10px 20px;
    border: 1px solid transparent;
    border-radius: 12px;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.tentoset-dialog-button:focus-visible {
    outline: 3px solid rgba(103, 218, 242, 0.42);
    outline-offset: 2px;
}

.tentoset-dialog-cancel {
    color: #f6f0df;
    background: transparent;
    border-color: rgba(246, 240, 223, 0.42);
}

.tentoset-dialog-confirm {
    color: #fff;
    background: #a91937;
    border-color: #c3304d;
}

.tentoset-dialog-confirm.is-neutral {
    background: #4669a0;
    border-color: #5e80b6;
}

html[data-theme="light"] .tentoset-dialog-backdrop {
    background: rgba(18, 35, 45, 0.28);
}

html[data-theme="light"] .tentoset-dialog-card {
    color: #102c3b;
    background: #f8fbfc;
    border-color: #abc3ce;
    box-shadow: 0 24px 68px rgba(28, 53, 65, 0.25);
}

html[data-theme="light"] .tentoset-dialog-title {
    color: #173f56;
}

html[data-theme="light"] .tentoset-dialog-field-label,
html[data-theme="light"] .tentoset-dialog-input-suffix {
    color: #146079;
}

html[data-theme="light"] .tentoset-dialog-input {
    color: #102c3b;
    background: #fff;
    border-color: #8ca9b7;
}

html[data-theme="light"] .tentoset-dialog-input[aria-invalid="true"] {
    border-color: #b6203d;
}

html[data-theme="light"] .tentoset-dialog-field-error {
    color: #9d1832;
}

html[data-theme="light"] .tentoset-dialog-actions {
    border-top-color: #c9dbe2;
}

html[data-theme="light"] .tentoset-dialog-cancel {
    color: #294d60;
    background: #fff;
    border-color: #8ca9b7;
}

@media (max-width: 575.98px) {
    .tentoset-dialog-card {
        border-radius: 18px;
    }

    .tentoset-dialog-title {
        padding: 20px 20px 12px;
    }

    .tentoset-dialog-message {
        padding: 0 20px 20px;
    }

    .tentoset-dialog-field {
        padding: 0 20px 20px;
    }

    .tentoset-dialog-actions {
        padding: 15px 20px 20px;
    }

    .tentoset-dialog-button {
        flex: 1 1 0;
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tentoset-dialog-backdrop,
    .tentoset-dialog-card {
        transition: none;
    }
}
