/* Scholar Publications Fetcher Styles (v2.1.0 - Dark Mode & Responsive) */

/* ------------------------- */
/* --- Light Mode (Default) & Common Styles --- */
/* ------------------------- */
:root {
    --spf-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    --spf-primary-color: #4285F4; /* Google Blue */
    --spf-secondary-color: #34A853; /* Google Green */
    --spf-card-bg: #ffffff;
    --spf-text-color: #202124;
    --spf-meta-color: #5f6368;
    --spf-border-color: #e0e0e0;
    --spf-badge-bg: #f1f3f4;
    --spf-card-shadow: 0 1px 3px rgba(0,0,0,0.06);
    --spf-card-hover-shadow: 0 4px 8px rgba(0,0,0,0.1);
    --spf-error-bg: #fce8e6;
    --spf-error-text: #d93025;
    --spf-error-border: #f9c6c2;
    --spf-border-radius: 8px;
    --spf-spacing-unit: 1rem;
}

/* ------------------------- */
/* --- Dark Mode Styles --- */
/* ------------------------- */
@media (prefers-color-scheme: dark) {
    :root {
        --spf-card-bg: #2d2d2d;
        --spf-text-color: #e8eaed;
        --spf-meta-color: #9aa0a6;
        --spf-border-color: #4d4d4d;
        --spf-badge-bg: #3c4043;
        --spf-card-shadow: 0 1px 3px rgba(0,0,0,0.3);
        --spf-card-hover-shadow: 0 4px 8px rgba(0,0,0,0.4);
        --spf-error-bg: #3c1919;
        --spf-error-text: #f28b82;
        --spf-error-border: #5c2b2b;
    }
}

/* ------------------------- */
/* --- Base Structure --- */
/* ------------------------- */
.spf-container {
    font-family: var(--spf-font-family);
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    color: var(--spf-text-color);
}

.spf-publication-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spf-spacing-unit) * 1.5);
}

.spf-publication-item {
    background-color: var(--spf-card-bg);
    border: 1px solid var(--spf-border-color);
    border-radius: var(--spf-border-radius);
    padding: calc(var(--spf-spacing-unit) * 1.25);
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    box-shadow: var(--spf-card-shadow);
    display: flex;
    flex-direction: column;
}

.spf-publication-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--spf-card-hover-shadow);
}

/* ------------------------- */
/* --- Card Content --- */
/* ------------------------- */
.spf-item-header .spf-item-title {
    font-size: 1.2em;
    margin: 0 0 calc(var(--spf-spacing-unit) * 0.5);
    color: var(--spf-text-color);
    line-height: 1.4;
}

.spf-item-header .spf-item-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.spf-item-header .spf-item-title a:hover {
    color: var(--spf-primary-color);
    text-decoration: underline;
}

.spf-item-meta {
    font-size: 0.9em;
    color: var(--spf-meta-color);
    display: flex;
    flex-wrap: wrap; /* Important for mobile */
    gap: calc(var(--spf-spacing-unit) * 0.25) calc(var(--spf-spacing-unit) * 0.75);
    margin-bottom: calc(var(--spf-spacing-unit) * 0.75);
    line-height: 1.5;
}

.spf-item-meta .spf-authors {
    font-weight: 500;
}

.spf-item-meta .spf-journal::before {
    content: '·';
    margin: 0 0.5em;
    opacity: 0.7;
}

.spf-item-abstract {
    font-size: 0.95em;
    line-height: 1.6;
    border-left: 3px solid var(--spf-secondary-color);
    padding-left: var(--spf-spacing-unit);
    margin: calc(var(--spf-spacing-unit) * 0.5) 0;
    color: var(--spf-meta-color);
}

.spf-item-footer {
    margin-top: auto; /* Pushes footer to the bottom */
    padding-top: var(--spf-spacing-unit);
    text-align: right;
}

.spf-year {
    display: inline-block;
    background-color: var(--spf-badge-bg);
    color: var(--spf-text-color);
    padding: 0.25em 0.75em;
    border-radius: 1em;
    font-size: 0.8em;
    font-weight: 600;
}

/* ------------------------- */
/* --- Button & Error --- */
/* ------------------------- */
.spf-more-link-wrapper {
    text-align: center;
    margin-top: calc(var(--spf-spacing-unit) * 2);
}

.spf-button {
    display: inline-block;
    background-color: var(--spf-primary-color);
    color: #fff;
    padding: 0.75em 1.5em;
    border-radius: var(--spf-border-radius);
    text-decoration: none;
    font-weight: 600;
    transition: background-color 0.2s, transform 0.2s;
}

.spf-button:hover {
    background-color: #1a73e8;
    transform: translateY(-2px);
    color: #fff;
}

.spf-error {
    color: var(--spf-error-text);
    background-color: var(--spf-error-bg);
    border: 1px solid var(--spf-error-border);
    padding: var(--spf-spacing-unit);
    border-radius: var(--spf-border-radius);
}

/* ------------------------- */
/* --- Mobile Responsive --- */
/* ------------------------- */
@media (max-width: 600px) {
    .spf-publication-item {
        padding: var(--spf-spacing-unit);
    }

    .spf-item-header .spf-item-title {
        font-size: 1.1em; /* Slightly smaller title on mobile */
    }

    .spf-item-meta, .spf-item-abstract {
        font-size: 0.85em; /* Smaller meta text on mobile */
    }
}