.rb-page { padding-block: 24px 60px; }
.rb-heading { max-width: 720px; margin: 0 auto 24px; text-align: center; }
.rb-heading h1 { margin: 12px 0 8px; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.1; }
.rb-heading > p { color: var(--muted); font-size: 1rem; line-height: 1.7; }
.rb-privacy { display: inline-flex; gap: 8px; align-items: center; padding: 8px 13px; border: 1px solid rgba(85, 216, 193, .28); border-radius: 999px; color: var(--brand); background: rgba(85, 216, 193, .08); font-size: .82rem; font-weight: 800; }
.rb-privacy::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 16px var(--brand); }

.rb-upload[hidden], .rb-options[hidden], .rb-processing[hidden], .rb-result[hidden] { display: none; }

.rb-drop-zone {
    display: grid; place-items: center; gap: 14px; max-width: 560px; margin: 0 auto;
    padding: 60px 24px; border: 2px dashed var(--border); border-radius: 24px;
    background: rgba(10, 25, 42, .5); cursor: pointer; text-align: center;
    transition: border-color .18s ease, background .18s ease;
}
.rb-drop-zone:hover, .rb-drop-zone.is-dragover { border-color: var(--brand); background: rgba(85, 216, 193, .06); }
.rb-drop-zone strong { font-size: 1.15rem; }
.rb-drop-zone span { color: var(--muted); }

.rb-options-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; max-width: 900px; margin: 0 auto; }
.rb-preview-shell { border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: rgba(10, 25, 42, .5); display: grid; place-items: center; min-height: 200px; }
.rb-preview-shell img { display: block; max-width: 100%; max-height: 420px; }

.rb-controls { border: 1px solid var(--border); border-radius: 16px; padding: 18px; background: rgba(10, 25, 42, .5); display: grid; gap: 14px; align-content: start; }
.rb-model-picker { display: flex; gap: 8px; }
.rb-model-option {
    flex: 1; display: flex; align-items: flex-start; gap: 6px; padding: 8px 10px;
    border: 1px solid var(--border); border-radius: 10px; background: rgba(255, 255, 255, .02);
    cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.rb-model-option:has(input:checked) { border-color: var(--brand); background: rgba(85, 216, 193, .08); }
.rb-model-option input[type="radio"] { margin-top: 2px; accent-color: var(--brand); flex-shrink: 0; }
.rb-model-option strong { display: block; font-size: .82rem; }
.rb-model-option small { display: block; color: var(--muted); font-size: .7rem; line-height: 1.4; margin-top: 1px; }

.rb-type-row { display: flex; gap: 8px; }
.rb-type-button {
    flex: 1; padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px;
    background: transparent; color: var(--text); font: inherit; cursor: pointer;
}
.rb-type-button.is-active { border-color: var(--brand); background: rgba(85, 216, 193, .1); color: var(--brand); }

.rb-field-row[hidden] { display: none; }
.rb-field-row { display: grid; gap: 6px; }
.rb-field-row label { font-size: .85rem; color: var(--muted); }
.rb-field-row input[type="color"] { width: 100%; height: 38px; padding: 0; border: 1px solid var(--border); border-radius: 8px; background: none; }
.rb-field-row select, .rb-field-row input[type="file"] { padding: 8px 10px; border: 1px solid var(--border); border-radius: 10px; color: var(--text); background: #07111f; font: inherit; }
.rb-file-name { font-size: .8rem; color: var(--muted); }

.rb-processing { max-width: 420px; margin: 40px auto; text-align: center; display: grid; gap: 16px; justify-items: center; }
.rb-spinner { width: 48px; height: 48px; border: 4px solid var(--border); border-top-color: var(--brand); border-radius: 50%; animation: rb-spin 0.9s linear infinite; }
@keyframes rb-spin { to { transform: rotate(360deg); } }

.rb-result { max-width: 560px; margin: 0 auto; text-align: center; }
.rb-result-shell { border: 1px solid var(--border); border-radius: 16px; overflow: hidden; background: rgba(10, 25, 42, .5); }
.rb-result-shell img { display: block; width: 100%; max-height: 480px; object-fit: contain; }
.rb-result-actions { display: flex; justify-content: center; gap: 10px; margin-top: 20px; }

@media (max-width: 720px) {
    .rb-options-grid { grid-template-columns: 1fr; }
}

/* END OF FILE */
