.gf-rpg-form,
.gf-rpg-new-topic-form {
    font-family: inherit;
    color: var(--ast-global-color-3, inherit);
}

.gf-rpg-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.gf-rpg-field { margin: 0; }
.gf-rpg-field--wide { grid-column: 1 / -1; }
.gf-rpg-field label { display: block; margin-bottom: 6px; font-weight: 600; }
.gf-rpg-field input,
.gf-rpg-field select,
.gf-rpg-field textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    color: var(--ast-global-color-3, inherit);
    background: var(--ast-global-color-4, transparent);
    border: 1px solid var(--ast-global-color-6, rgba(255,255,255,.18));
}
.gf-rpg-field textarea { resize: vertical; }
.gf-rpg-submit-row { margin-top: 22px; }
.gf-rpg-submit-button {
    width: 100%;
    background: var(--ast-global-color-0) !important;
    color: var(--ast-global-color-8) !important;
}
.gf-rpg-submit-button:hover { filter: brightness(.7); }
.gf-rpg-notice { padding: 14px 16px; background: var(--ast-global-color-5, transparent); border-left: 3px solid var(--ast-global-color-0, currentColor); }

.gf-rpg-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.gf-rpg-modal.is-open { display: flex; }
.gf-rpg-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.78);
    backdrop-filter: blur(5px);
}
.gf-rpg-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--ast-global-color-4, #111);
    color: var(--ast-global-color-3, #eee);
    border: 1px solid var(--ast-global-color-6, rgba(255,255,255,.15));
    box-shadow: 0 24px 80px rgba(0,0,0,.45);
}
.gf-rpg-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
    background: var(--ast-global-color-5, #171717);
    border-bottom: 1px solid var(--ast-global-color-6, rgba(255,255,255,.12));
}
.gf-rpg-modal__header h2 { margin: 2px 0 0; color: var(--ast-global-color-2, inherit); font-family: inherit; }
.gf-rpg-modal__eyebrow { display:block; font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--ast-global-color-0,currentColor); }
.gf-rpg-modal__close {
    width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center;
    flex:0 0 auto; padding:0; border:0; background:transparent; color:var(--ast-global-color-3,inherit);
    cursor:pointer; font-size:20px;
}
.gf-rpg-modal__close:hover,.gf-rpg-modal__close:focus-visible { color:var(--ast-global-color-0,currentColor); }
.gf-rpg-modal__body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px; }
html.gf-rpg-modal-open, body.gf-rpg-modal-open { overflow:hidden !important; }

@media (max-width:700px) {
    .gf-rpg-grid { grid-template-columns:1fr; }
    .gf-rpg-field--wide { grid-column:auto; }
    .gf-rpg-modal { padding:0; align-items:stretch; }
    .gf-rpg-modal__dialog { width:100%; height:100dvh; max-height:none; border:0; }
    .gf-rpg-modal__header { padding:16px; }
    .gf-rpg-modal__body { padding:16px; }
}
