/* Modern indigo */
:root {
    --primary: #4338ca;
    --primary-hover: #3730a3;
    --background: #f4f5fc;
    --surface: #fff;
    --surface-muted: #eef0ff;
    --text: #172036;
    --text-muted: #526079;
    --border: #cbd2e4;
    --border-light: #e1e6f2;
}

body {
    background: radial-gradient(ellipse at top, #e9eaff, var(--background) 60%);
}

.generate_container,
.history-panel {
    border-color: var(--border-light);
    box-shadow: 0 12px 36px rgb(40 42 85 / 9%);
}

.generate_container {
    border-radius: 20px;
}

.result_preview {
    border-radius: 16px;
    border-color: #d9ddfc;
}

.tab-list {
    background: #e9ecf5;
    border-radius: 12px;
}

.tab {
    color: var(--text-muted);
    border-radius: 9px;
}

.tab:hover:not([aria-selected="true"]) {
    background: #e0e4f1;
}

.tab[aria-selected="true"] {
    color: var(--primary);
    background: #fff;
    box-shadow: 0 1px 4px rgb(32 38 74 / 14%);
}

.result-actions button {
    color: var(--text);
    background: #fff;
    border-color: var(--border);
    border-radius: 8px;
}

.result-actions button:hover {
    background: #eef0ff;
}

.generate_btn {
    color: #fff;
    background: linear-gradient(110deg, #4338ca, #5b21b6);
    border: 1px solid transparent;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgb(67 56 202 / 30%);
    font-weight: 800;
}

.generate_btn:hover {
    background: linear-gradient(110deg, #3730a3, #4c1d95);
    box-shadow: 0 8px 22px rgb(67 56 202 / 36%);
}

.generate_btn:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
}

input[type="radio"] {
    accent-color: var(--primary);
}
