/* Academic Minimal - token-driven scoped theme */


.resume-page {
    --theme-body: var(--resume-color-body, #1a1a1a);
    --theme-h1: var(--resume-color-h1, #1a1a1a);
    --theme-h2: var(--resume-color-h2, #2c3e50);
    --theme-h3: var(--resume-color-h3, #1a1a1a);
    --theme-line: var(--theme-h2);

    font-family: var(--resume-font-body, var(--resume-font-body-en), var(--resume-font-body-cn));
    font-size: var(--resume-base-font-pt, 11pt);
    line-height: var(--resume-line-height, 1.6);
    color: var(--theme-body);
    font-weight: var(--resume-font-weight-body, 400);
}

.resume-page .resume-content {
    padding: var(--p-y, 30mm) var(--p-x, 25mm);
    height: 100%;
    box-sizing: border-box;
}

.resume-page h1 {
    font-family: var(--resume-font-heading, var(--resume-font-heading-en), var(--resume-font-heading-cn));
    font-size: calc(var(--resume-base-font-pt, 11pt) * var(--resume-heading-scale, 1.2) * 2.2);
    font-weight: var(--resume-font-weight-heading, 600);
    letter-spacing: -0.5px;
    margin-bottom: calc(var(--resume-paragraph-gap-pt, 8pt) * 0.9);
    margin-top: 0;
    color: var(--theme-h1);
    line-height: 1.15;
}

.resume-page h2 {
    font-family: var(--resume-font-heading, var(--resume-font-heading-en), var(--resume-font-heading-cn));
    font-size: calc(var(--resume-base-font-pt, 11pt) * var(--resume-heading-scale, 1.2));
    font-weight: var(--resume-font-weight-heading, 600);
    text-transform: none;
    letter-spacing: 1.5px;
    margin-top: var(--resume-spacing-block-pt, 20pt);
    margin-bottom: calc(var(--resume-spacing-block-pt, 20pt) * 0.6);
    color: var(--theme-h2);
    border-bottom: var(--resume-line-width-pt, 1pt) solid var(--theme-line);
    padding-bottom: 6pt;
    page-break-after: avoid;
    break-after: avoid;
}

.resume-page h3 {
    font-family: var(--resume-font-heading, var(--resume-font-heading-en), var(--resume-font-heading-cn));
    font-size: calc(var(--resume-base-font-pt, 11pt) * var(--resume-heading-scale, 1.2) * 0.85);
    font-weight: var(--resume-font-weight-heading, 600);
    margin-top: calc(var(--resume-paragraph-gap-pt, 8pt) + 4pt);
    margin-bottom: calc(var(--resume-paragraph-gap-pt, 8pt) * 0.45);
    color: var(--theme-h3);
    page-break-after: avoid;
    break-after: avoid;
}

.resume-page h1,
.resume-page h2,
.resume-page h3,
.resume-page h4,
.resume-page h5,
.resume-page h6,
.resume-page p,
.resume-page li {
    white-space: break-spaces;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
    box-sizing: border-box;
}

.resume-page p {
    margin-bottom: var(--resume-paragraph-gap-pt, 8pt);
    text-align: justify;
}

.resume-page ul {
    margin-left: 0;
    padding-left: 1.2em;
    margin-bottom: calc(var(--resume-paragraph-gap-pt, 8pt) + 2pt);
    list-style-position: outside;
    list-style-type: disc;
}

.resume-page ol {
    margin-left: 0;
    padding-left: 1.2em;
    margin-bottom: calc(var(--resume-paragraph-gap-pt, 8pt) + 2pt);
    list-style-position: outside;
    list-style-type: decimal;
}

.resume-page li {
    display: list-item;
    margin-bottom: calc(var(--resume-paragraph-gap-pt, 8pt) * 0.45);
}

.resume-page li>p {
    margin: 0;
}

.resume-page hr {
    border: none;
    border-top: var(--resume-line-width-pt, 1pt) solid var(--theme-line);
    margin: calc(var(--resume-spacing-block-pt, 20pt) * 0.8) 0;
}

.resume-page a {
    color: var(--theme-h2);
    text-decoration: none;
    border-bottom: 1pt solid transparent;
}


/* --- Decoration Overrides --- */

/* H2 Style */
#paper-container[data-h2-style="none"] .resume-page h2 {
    border-bottom: none;
    border-left: none;
    background: none;
    padding: 0;
}

#paper-container[data-h2-style="underline"] .resume-page h2 {
    border-bottom: var(--resume-line-width-pt, 1pt) solid var(--theme-line);
    border-left: none;
    background: none;
    padding: 0 0 6pt 0;
}

#paper-container[data-h2-style="bar"] .resume-page h2 {
    border-bottom: none;
    border-left: 4pt solid var(--theme-h2);
    background: none;
    padding: 0 0 0 8pt;
}

#paper-container[data-h2-style="backdrop"] .resume-page h2 {
    border-bottom: none;
    border-left: none;
    background: var(--theme-h2);
    color: #ffffff;
    padding: 4pt 8pt;
    border-radius: 2px;
}

/* List Style */
#paper-container[data-list-style="disc"] .resume-page ul {
    list-style-type: disc;
}

#paper-container[data-list-style="circle"] .resume-page ul {
    list-style-type: circle;
}

#paper-container[data-list-style="square"] .resume-page ul {
    list-style-type: square;
}

#paper-container[data-list-style="dash"] .resume-page ul {
    list-style-type: "–  ";
}

/* HR Style */
#paper-container[data-hr-style="none"] .resume-page hr {
    display: none;
}

#paper-container[data-hr-style="line"] .resume-page hr {
    border-top: var(--resume-line-width-pt, 1pt) solid var(--theme-line);
}

#paper-container[data-hr-style="dots"] .resume-page hr {
    border-top: var(--resume-line-width-pt, 1pt) dotted var(--theme-line);
}
