:root {
    --primary-color: #3b82f6; --primary-hover: #2563eb; --background-color: #f8fafc;
    --card-background: #ffffff; --card-border: #e2e8f0; --text-color: #334155;
    --subtle-text: #64748b; --input-border: #cbd5e1; --input-focus-border: var(--primary-color);
    --button-bg: #f1f5f9; --button-hover-bg: #e2e8f0; --story-bg: #fefce8; --story-border: #fde68a;
    --highlight-bg: #fef9c3;
    --skeleton-bg: #e2e8f0;
}
html { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }
body{ background-color: var(--background-color); color: var(--text-color); margin: 0; padding: 2rem 1rem; padding-bottom: 60px; /* Space for debug bar */ }
.container{ max-width:800px; margin:0 auto; position:relative; }
.admin-link{ position:absolute; top:-1rem; right:0; font-size:.875rem; color: var(--subtle-text); text-decoration: none; }
.admin-link:hover { text-decoration: underline; }
.main-card { background-color: var(--card-background); border: 1px solid var(--card-border); border-radius: 1rem; padding: 1.25rem 1.5rem; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); }
h1 { font-size: 1.875rem; font-weight: 700; text-align: center; margin-bottom: 1.5rem; }
.topic-input-group { display: flex; gap: 0.75rem; margin-bottom: 1rem; }
#topic-input { flex: 1; min-width: 0; padding: 0.75rem 1rem; font-size: 1rem; border: 1px solid var(--input-border); border-radius: 0.5rem; }
#topic-input:focus { outline: 2px solid transparent; outline-offset: 2px; box-shadow: 0 0 0 2px var(--input-focus-border); }
#get-verses-btn { background-color: var(--primary-color); color: white; font-weight: 600; padding: 0.75rem 1.5rem; border: none; border-radius: 0.5rem; cursor: pointer; transition: background-color .2s; }
#get-verses-btn:hover { background-color: var(--primary-hover); }
button:disabled { background-color: #d1d5db; color: #6b7280; cursor: not-allowed; }
.presets { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-bottom: 1.5rem; }
.tag { background-color: var(--button-bg); border: 1px solid var(--card-border); padding: .3rem .75rem; border-radius: 9999px; cursor: pointer; font-size: .875rem; transition: background-color .2s; }
.tag:hover { background-color: var(--button-hover-bg); }

.options-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin-bottom: 1.5rem; }
.options-heading { font-size: .875rem; color: var(--subtle-text); display: block; margin-bottom: 0.75rem; font-weight: 600; }
.translation-columns { column-count: 2; column-gap: 1rem; }
.translation-columns .inline-field { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }
.no-options-text { font-size: .875rem; color: var(--subtle-text); margin: 0; }
.options-grid > div > .inline-field, .options-grid > div > .compare-wrapper { display: block; margin-bottom: 0.7rem; }
.options-grid > div > *:last-child { margin-bottom: 0; }
.compare-wrapper .inline-field { display: inline-flex; margin-bottom: 0; }
.compare-select { border-radius: 0.25rem; border: 1px solid var(--input-border); font-size: .875rem; padding: 0.1rem 0.25rem; vertical-align: middle; }

.inline-field { display: inline-flex; gap: .5rem; align-items: center; cursor: pointer; font-size: .875rem; }
.inline-field input[type="checkbox"] { accent-color: var(--primary-color); }
#favorites { color: var(--subtle-text); font-size: .875rem; text-align: center; }
#favorites a { color: var(--primary-color); text-decoration: none; }
#favorites a:hover { text-decoration: underline; }

.result-area { margin-top: 2rem; }
.result{ background: var(--card-background); border: 1px solid var(--card-border); padding: 1.5rem; border-radius: 1rem; line-height: 1.6; }
.verse-line{ margin-bottom: 1em; }
.verse-line:last-child { margin-bottom: 0; }
.verse-ref { font-weight: 600; color: var(--primary-color); text-decoration: none; }
.verse-ref:hover { text-decoration: underline; }
.sub-theme-heading { font-size: 1.05rem; font-weight: 600; margin-top: 1.25em; margin-bottom: 0.5em; color: var(--subtle-text); border-bottom: 1px solid var(--card-border); padding-bottom: 0.25rem; }
.sub-theme-heading:first-child { margin-top: 0; }
.votd-heading { font-size: 1.1rem; font-weight: 600; color: var(--subtle-text); margin-top: 0; margin-bottom: 1rem; text-align: center; }
.story-sep{ border: none; border-top: 1px solid var(--card-border); margin: 1.5rem 0; }
.story-part{ background-color: var(--story-bg); border: 1px solid var(--story-border); padding: 1rem; border-radius: 0.75rem; }
.story-heading{ font-size: 1.1rem; font-weight: 600; margin-top: 1em; margin-bottom: .5em; color: #92400e; }
.story-heading:first-child{ margin-top: 0; }
.result strong{ background-color: var(--highlight-bg); }
.grid-compare{ display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start; }
.story-container-wrapper { margin-top: 1.5rem; max-width: 90%; margin-left: auto; margin-right: auto; }
.actions-bar { background-color: rgba(255,255,255,0.8); backdrop-filter: blur(8px); border: 1px solid var(--card-border); border-radius: 1rem; padding: 1rem; display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; flex-wrap: wrap; gap: 1rem; }
.action-btn { background-color: var(--button-bg); border: 1px solid var(--card-border); padding: .5rem 1rem; border-radius: 0.5rem; cursor: pointer; font-size: .875rem; font-weight: 500; transition: background-color .2s; }
.action-btn:hover { background-color: var(--button-hover-bg); }
.main-actions, .secondary-actions { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; }

.db-error, .error-container{ background:#fee2e2; border:1px solid #fecaca; padding:.75rem 1rem; border-radius:.5rem; margin:1.5rem 0; color:#991b1b; }
.debug-banner { background:#fefce8; border:1px solid #fde68a; padding:.75rem 1rem; border-radius:.5rem; margin-bottom:1.5rem; color:#92400e; }
#debug-bar { position: fixed; bottom: 0; left: 0; width: 100%; padding: 8px 15px; font-family: monospace; font-size: 14px; text-align: center; z-index: 1001; box-sizing: border-box; border-top: 1px solid #e2e8f0; }
.debug-bar-db { background-color: #dcfce7; color: #166534; }
.debug-bar-ai { background-color: #dbeafe; color: #1e40af; }
.debug-details { margin-top: 1.5rem; background: #f1f5f9; border: 1px solid var(--card-border); padding: 1rem; border-radius: 0.5rem; font-family: monospace; font-size: 0.8rem; }
.debug-details ul { margin: 0; padding-left: 1rem; }

/* --- Skeleton Loader --- */
.skeleton-loader .verse-line { margin-bottom: 1.5rem; }
.skeleton-bar {
    background-color: var(--skeleton-bg);
    border-radius: 0.25rem;
    animation: skeleton-pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.skeleton-ref { height: 1rem; width: 35%; margin-bottom: 0.5rem; }
.skeleton-text { height: 1rem; width: 95%; }
.skeleton-text:nth-child(2) { width: 80%; }

@keyframes skeleton-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.toast-container{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:1000}
.toast{background:#334155;color:#f1f5f9;padding:12px 20px;border-radius:0.5rem;box-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);opacity:0;transition:opacity .3s ease-in-out;font-size:.875rem}
.toast.show{opacity:1}

/* Responsive adjustments */
@media (max-width: 500px) {
    .options-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

/* Add this near the other compare-related styles */
.compare-select {
    display: none; /* Hide by default */
    border-radius: 0.25rem;
    border: 1px solid var(--input-border);
    font-size: .875rem;
    padding: 0.1rem 0.25rem;
    vertical-align: middle;
}