.ttgn-dialog {
    box-sizing: border-box;
    width: min(520px, calc(100vw - 32px));
    max-width: 520px;
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    margin: auto;
    padding: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    color: #222b45;
    background: #fff;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(22, 27, 45, .3);
    font: 15px/1.7 system-ui, -apple-system, 'Microsoft YaHei', sans-serif;
}
.ttgn-dialog::backdrop { background: rgba(18, 23, 40, .55); }
.ttgn-dialog[open] { display: flex; flex-direction: column; }
.ttgn-dialog-title {
    flex-shrink: 0;
    margin: 0;
    padding: 21px 24px;
    color: #fff;
    background: linear-gradient(120deg, #7c3aed, #397bf6);
    font-size: 20px;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.ttgn-dialog-content {
    min-height: 0;
    overflow-y: auto;
    padding: 22px 24px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.8;
}
.ttgn-dialog-footer { flex-shrink: 0; padding: 0 24px 24px; }
.ttgn-dialog-confirm {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 44px;
    padding: 10px 18px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #6554dc;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.ttgn-dialog-confirm:hover { background: #5341c7; }
.ttgn-dialog-confirm:focus-visible { outline: 3px solid #a9beff; outline-offset: 3px; }
@media (max-width: 480px) {
    .ttgn-dialog-title { padding: 18px; font-size: 18px; }
    .ttgn-dialog-content { padding: 18px; }
    .ttgn-dialog-footer { padding: 0 18px 18px; }
}
