:root {
    --learning-paper: #f2f0e7;
    --learning-paper-deep: #e6e5d9;
    --learning-ink: #15231c;
    --learning-muted: #58665e;
    --learning-forest: #214f3b;
    --learning-accent: #b9d45c;
    --learning-line: #cfd5ca;
    --learning-white: #fffef9;
    --learning-shadow: 0 18px 50px rgba(33, 79, 59, 0.11);
}

html {
    scroll-behavior: smooth;
}

body.lubinik-child-learning {
    background:
        radial-gradient(circle at 8% 4%, rgba(185, 212, 92, 0.18), transparent 28rem),
        radial-gradient(circle at 92% 22%, rgba(33, 79, 59, 0.09), transparent 34rem),
        var(--learning-paper);
    color: var(--learning-ink);
}

body.lubinik-child-learning::before {
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
    content: "";
    pointer-events: none;
}

.lubinik-child-learning .site-header {
    border-bottom: 1px solid color-mix(in srgb, var(--learning-forest) 18%, transparent);
    background: color-mix(in srgb, var(--learning-paper) 88%, transparent);
    backdrop-filter: blur(14px);
}

.lubinik-child-learning .site-title,
.lubinik-child-learning .site-title a {
    color: var(--learning-ink);
    letter-spacing: -0.04em;
    text-decoration: none;
}

.lubinik-child-learning .site-main {
    width: min(100% - 2rem, 1180px);
    margin-inline: auto;
    padding-block: clamp(2rem, 6vw, 5rem) 6rem;
}

.lubinik-child-learning :where(h1, h2, h3, h4, h5, h6) {
    color: var(--learning-ink);
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -0.035em;
    line-height: 1.06;
    text-wrap: balance;
}

.lubinik-child-learning :where(p, li) {
    line-height: 1.7;
    text-wrap: pretty;
}

.lubinik-child-learning :where(a, button, .button, input, summary) {
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.lubinik-child-learning :where(a, button, .button, input, summary):focus-visible {
    outline: 3px solid color-mix(in srgb, var(--learning-accent) 78%, white);
    outline-offset: 3px;
}

.lubinik-child-learning :where(button, .button) {
    border: 1px solid var(--learning-forest);
    border-radius: 0.45rem;
    background: var(--learning-forest);
    color: #fff;
    font-weight: 650;
    text-decoration: none;
}

.lubinik-child-learning :where(button, .button):hover {
    background: #173d2d;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(33, 79, 59, 0.18);
}

.lubinik-child-learning :where(button, .button):active {
    transform: translateY(0) scale(0.98);
}

.lubinik-child-learning .button.is-secondary {
    background: transparent;
    color: var(--learning-forest);
}

.lubinik-child-learning .lubinik-learning-exam {
    margin-top: clamp(2rem, 6vw, 5rem);
}

.lubinik-child-learning .lubinik-learning-header {
    position: relative;
    overflow: hidden;
    border-radius: 1rem 3rem 1rem 1rem;
    background: var(--learning-forest);
    color: #f7f8ef;
    box-shadow: var(--learning-shadow);
}

.lubinik-child-learning .lubinik-learning-header::after {
    position: absolute;
    right: -3rem;
    bottom: -5rem;
    width: 15rem;
    height: 15rem;
    border: 2.5rem solid rgba(185, 212, 92, 0.26);
    border-radius: 50%;
    content: "";
}

.lubinik-child-learning .lubinik-learning-header :where(h2, p) {
    position: relative;
    z-index: 1;
    color: inherit;
}

.lubinik-child-learning .lubinik-learning-eyebrow {
    color: var(--learning-accent);
    font-family: Poppins, sans-serif;
    letter-spacing: 0.14em;
}

.lubinik-child-learning .lubinik-learning-progress {
    border-radius: 0 0 0.6rem 0.6rem;
    background: var(--learning-ink);
    color: var(--learning-white);
    font-variant-numeric: tabular-nums;
}

.lubinik-child-learning .lubinik-learning-question,
.lubinik-child-learning .lubinik-learning-correction-item {
    border: 0;
    border-radius: 0.75rem 2rem 0.75rem 0.75rem;
    background: var(--learning-white);
    box-shadow: var(--learning-shadow);
}

.lubinik-child-learning .lubinik-learning-correction-item.is-correct {
    border-left: 0.35rem solid #2f7a47;
}

.lubinik-child-learning .lubinik-learning-correction-item.is-incorrect {
    border-left: 0.35rem solid #b84035;
    background: #fff0ed;
}

.lubinik-child-learning .lubinik-learning-correction-item.is-incorrect .lubinik-learning-verdict,
.lubinik-child-learning .lubinik-learning-correction-item .is-selected:not(.is-correct-choice) {
    color: #9b2c24;
}
.lubinik-child-learning .lubinik-learning-question h3 {
    max-width: 24ch;
    font-size: clamp(1.55rem, 3vw, 2.35rem);
}

.lubinik-child-learning .lubinik-learning-choice {
    border-color: var(--learning-line);
    border-radius: 0.45rem;
    background: transparent;
}

.lubinik-child-learning .lubinik-learning-choice:hover {
    border-color: var(--learning-forest);
    background: rgba(185, 212, 92, 0.1);
    transform: translateX(3px);
}

.lubinik-child-learning .lubinik-learning-choice:has(input:checked) {
    border-color: var(--learning-forest);
    background: rgba(185, 212, 92, 0.22);
    box-shadow: inset 4px 0 0 var(--learning-forest);
}

.lubinik-child-learning .lubinik-learning-choice input {
    accent-color: var(--learning-forest);
    margin-top: 0.3rem;
}

.lubinik-child-learning .lubinik-learning-hint {
    color: var(--learning-muted);
}

.lubinik-child-learning .lubinik-learning-hint summary {
    cursor: pointer;
    font-weight: 600;
}

.lubinik-child-learning .lubinik-learning-exam-card {
    border: 0;
    border-radius: 0.75rem 2rem 0.75rem 0.75rem;
    background: var(--learning-white);
    box-shadow: var(--learning-shadow);
}

.lubinik-child-learning .lubinik-learning-results-table {
    overflow: hidden;
    border-radius: 0.75rem;
    background: var(--learning-white);
    box-shadow: var(--learning-shadow);
}

.lubinik-child-learning .site-footer {
    border-top: 1px solid var(--learning-line);
    background: var(--learning-ink);
    color: #e8eee9;
}

@media (max-width: 600px) {
    .lubinik-child-learning .site-main {
        width: min(100% - 1rem, 1180px);
        padding-top: 1rem;
    }
    .lubinik-child-learning .lubinik-learning-header {
        border-radius: 0.75rem 1.6rem 0.75rem 0.75rem;
    }
    .lubinik-child-learning .lubinik-learning-question {
        border-radius: 0.6rem 1.4rem 0.6rem 0.6rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .lubinik-child-learning *,
    .lubinik-child-learning *::before,
    .lubinik-child-learning *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Learning link hierarchy: green actions, red reserved for negative states. */
body.lubinik-child-learning {
    --lubinik-theme-global-heading-color: var(--learning-ink);
    --lubinik-plugin-global-heading-color: var(--learning-ink);
    --lubinik-theme-global-link-color: var(--learning-forest);
    --lubinik-theme-global-link-hover-color: #173d2d;
    --lubinik-plugin-global-link-color: var(--learning-forest);
    --lubinik-plugin-global-link-hover-color: #173d2d;
}

.lubinik-child-learning .site-main :where(p, li, td) a:not(.button) {
    color: var(--learning-forest);
    font-weight: 650;
    text-decoration: underline;
    text-decoration-color: color-mix(in srgb, var(--learning-forest) 42%, transparent);
    text-decoration-thickness: 0.09em;
    text-underline-offset: 0.2em;
}

.lubinik-child-learning .site-main :where(p, li, td) a:not(.button):hover {
    color: #173d2d;
    text-decoration-color: currentColor;
}

.lubinik-child-learning .site-main section > footer > a:not(.button),
.lubinik-child-learning .site-main section > header > a:not(.button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid color-mix(in srgb, var(--learning-forest) 45%, var(--learning-line));
    border-radius: 0.45rem;
    background: color-mix(in srgb, var(--learning-white) 78%, var(--learning-accent));
    color: var(--learning-forest);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.lubinik-child-learning .site-main section > footer > a:not(.button):hover,
.lubinik-child-learning .site-main section > header > a:not(.button):hover {
    border-color: var(--learning-forest);
    background: var(--learning-white);
    color: #173d2d;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(33, 79, 59, 0.12);
}

.lubinik-child-learning .site-main section > footer > a:not(.button):active,
.lubinik-child-learning .site-main section > header > a:not(.button):active {
    transform: translateY(0) scale(0.98);
}
/* Saved-question library cards. */
.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list {
    gap: 1rem;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list article {
    display: grid;
    align-content: start;
    gap: 0.9rem;
    min-width: 0;
    padding: clamp(1.15rem, 2.5vw, 1.6rem);
    border-color: color-mix(in srgb, var(--learning-forest) 20%, var(--learning-line));
    border-radius: 0.8rem 2rem 0.8rem 0.8rem;
    background: color-mix(in srgb, var(--learning-white) 94%, var(--learning-accent));
    box-shadow: 0 12px 34px rgba(33, 79, 59, 0.07);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list article:hover {
    border-color: color-mix(in srgb, var(--learning-forest) 48%, var(--learning-line));
    box-shadow: 0 18px 42px rgba(33, 79, 59, 0.11);
    transform: translateY(-2px);
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list article > div:first-child {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.65rem;
    align-items: center;
    justify-content: start;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list h3 {
    grid-column: 1 / -1;
    max-width: 28ch;
    margin: 0 0 0.15rem;
    font-size: clamp(1.45rem, 2.5vw, 1.9rem);
    line-height: 1.04;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-learning-save-question {
    align-self: center;
    width: fit-content;
    min-height: 2.5rem;
    margin: 0;
    padding: 0.5rem 0.7rem;
    border-radius: 0.45rem;
    white-space: nowrap;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-learning-save-question.is-saved {
    border-color: color-mix(in srgb, var(--learning-forest) 45%, var(--learning-line));
    background: color-mix(in srgb, var(--learning-white) 72%, var(--learning-accent));
    color: var(--learning-forest);
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-learning-save-question.is-saved span {
    color: var(--learning-forest);
}

.lubinik-child-learning .lubinik-learning-saved-questions article > div:first-child > .lubinik-learning-note-editor {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.lubinik-child-learning .lubinik-learning-saved-questions article > div:first-child > .lubinik-learning-note-editor > summary {
    display: inline-flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.5rem 0.7rem;
    border: 1px solid color-mix(in srgb, var(--learning-forest) 30%, var(--learning-line));
    border-radius: 0.45rem;
    background: var(--learning-white);
    color: var(--learning-forest);
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.2;
    white-space: nowrap;
}

.lubinik-child-learning .lubinik-learning-saved-questions article > div:first-child > .lubinik-learning-note-editor[open] {
    grid-column: 1 / -1;
    width: 100%;
    padding: 0.8rem;
    border: 1px solid var(--learning-line);
    border-radius: 0.65rem;
    background: #f8faf7;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-terms {
    width: fit-content;
    margin: 0;
    padding: 0.3rem 0.5rem;
    border-radius: 0.35rem;
    background: color-mix(in srgb, var(--learning-white) 68%, var(--learning-accent));
    color: var(--learning-forest);
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list article > details:not(.lubinik-learning-note-editor) {
    margin-top: 0.2rem;
    padding-top: 0.8rem;
    border-top: 1px solid var(--learning-line);
}

.lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list article > details:not(.lubinik-learning-note-editor) > summary {
    width: fit-content;
    color: var(--learning-forest);
    font-weight: 700;
    cursor: pointer;
}

@media (max-width: 460px) {
    .lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list article > div:first-child {
        grid-template-columns: 1fr;
    }

    .lubinik-child-learning .lubinik-learning-saved-questions .lubinik-saved-question-list h3,
    .lubinik-child-learning .lubinik-learning-saved-questions article > div:first-child > .lubinik-learning-note-editor[open] {
        grid-column: 1;
    }
}