/*
 * EdwinOS override layer
 * --------------------------------------------------------------------------
 * This file is loaded after extra.css and owns small, component-specific final
 * corrections. Keep broad theme tokens and legacy Material overrides in
 * extra.css; put new pixel-level fixes here so the cascade stays traceable.
 */

@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@400;600;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;1,8..60,300;1,8..60,400&family=JetBrains+Mono:wght@400;500&display=swap");

/* ==========================================================================
   Typography
   ========================================================================== */

:root {
    --edwinos-font-serif: "Source Serif 4", Georgia, "Noto Serif SC", serif;
    --edwinos-font-hand: "Caveat", cursive;
    --edwinos-font-mono: "JetBrains Mono", "Courier New", monospace;
}

body,
.md-typeset,
.md-content,
.academic-content,
.academic-section,
.archive-hero__lead,
.archive-note,
.friend-desc {
    font-family: var(--edwinos-font-serif) !important;
}

.md-typeset .section-title,
.section-title,
.md-typeset .archive-hero h1,
.archive-hero h1,
.md-typeset .archive-year__heading h2,
.archive-year__heading h2 {
    font-family: var(--edwinos-font-hand) !important;
    letter-spacing: 0 !important;
}

body.is-homepage .md-typeset .profile-name,
body.is-home-profile-page .md-typeset .profile-name,
body:has(.academic-home-layout) .md-typeset .profile-name,
body.is-homepage .md-typeset .profile-cn-name,
body.is-home-profile-page .md-typeset .profile-cn-name,
body:has(.academic-home-layout) .md-typeset .profile-cn-name,
body.is-homepage .md-typeset .pub-title,
body.is-home-profile-page .md-typeset .pub-title,
body:has(.academic-home-layout) .md-typeset .pub-title,
body.is-homepage .md-typeset .proj-header h3,
body.is-home-profile-page .md-typeset .proj-header h3,
body:has(.academic-home-layout) .md-typeset .proj-header h3,
body.is-homepage .md-typeset .education-school,
body.is-homepage .md-typeset .education-school a,
body.is-home-profile-page .md-typeset .education-school,
body.is-home-profile-page .md-typeset .education-school a,
body:has(.academic-home-layout) .md-typeset .education-school,
body:has(.academic-home-layout) .md-typeset .education-school a,
body.is-homepage .md-typeset .cv-title,
body.is-home-profile-page .md-typeset .cv-title,
body:has(.academic-home-layout) .md-typeset .cv-title,
body.is-homepage .md-typeset .archive-card__title,
body.is-home-profile-page .md-typeset .archive-card__title,
body:has(.academic-home-layout) .md-typeset .archive-card__title,
body.is-homepage .md-typeset .friend-name,
body.is-home-profile-page .md-typeset .friend-name,
body:has(.academic-home-layout) .md-typeset .friend-name {
    font-family: var(--edwinos-font-serif) !important;
    letter-spacing: 0 !important;
}

body.is-homepage .section-title,
body.is-home-profile-page .section-title,
body:has(.academic-home-layout) .section-title {
    font-size: 1.48rem !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
}

body.is-homepage .md-typeset .profile-name,
body.is-home-profile-page .md-typeset .profile-name,
body:has(.academic-home-layout) .md-typeset .profile-name {
    font-size: 1.42rem !important;
    font-weight: 600 !important;
    line-height: 1.12 !important;
}

body.is-homepage .md-typeset .profile-cn-name,
body.is-home-profile-page .md-typeset .profile-cn-name,
body:has(.academic-home-layout) .md-typeset .profile-cn-name {
    font-weight: 400 !important;
}

body.is-homepage .md-typeset .pub-title,
body.is-home-profile-page .md-typeset .pub-title,
body:has(.academic-home-layout) .md-typeset .pub-title {
    font-size: 1.06rem !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
}

body.is-homepage .md-typeset .pub-title strong,
body.is-home-profile-page .md-typeset .pub-title strong,
body:has(.academic-home-layout) .md-typeset .pub-title strong {
    font-family: inherit !important;
    font-weight: inherit !important;
}

body.is-homepage .md-typeset .proj-header h3,
body.is-home-profile-page .md-typeset .proj-header h3,
body:has(.academic-home-layout) .md-typeset .proj-header h3,
body.is-homepage .md-typeset .education-school,
body.is-homepage .md-typeset .education-school a,
body.is-home-profile-page .md-typeset .education-school,
body.is-home-profile-page .md-typeset .education-school a,
body:has(.academic-home-layout) .md-typeset .education-school,
body:has(.academic-home-layout) .md-typeset .education-school a,
body.is-homepage .md-typeset .cv-title,
body.is-home-profile-page .md-typeset .cv-title,
body:has(.academic-home-layout) .md-typeset .cv-title {
    font-size: 1.04rem !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
}

.md-header,
.md-tabs,
.md-nav,
.md-search,
.md-footer,
.profile-pronouns,
.profile-role,
.profile-actions,
.profile-followers,
.profile-meta,
.profile-social-left,
.news-date,
.award-year,
.cv-time,
.proj-year,
.education-time,
.archive-hero__eyebrow,
.archive-hero__stats,
.archive-card__meta,
.archive-card__status,
.archive-card__category,
.pub-links,
.proj-tags,
.beijing-time-main,
.beijing-time-zone,
.md-typeset code,
.md-typeset pre code {
    font-family: var(--edwinos-font-mono) !important;
}

.profile-meta,
.profile-meta a,
.profile-meta .meta-text {
    font-family: var(--edwinos-font-mono) !important;
}

.profile-meta #beijing-time,
.profile-meta .beijing-time-main,
.profile-meta .beijing-time-zone {
    font-family: var(--edwinos-font-mono) !important;
}

body.is-homepage .md-typeset .btn-github-action,
body.is-homepage .md-typeset .btn-github-action:hover,
body.is-homepage .md-typeset .btn-github-action:focus,
body.is-home-profile-page .md-typeset .btn-github-action,
body.is-home-profile-page .md-typeset .btn-github-action:hover,
body.is-home-profile-page .md-typeset .btn-github-action:focus,
body:has(.academic-home-layout) .md-typeset .btn-github-action,
body:has(.academic-home-layout) .md-typeset .btn-github-action:hover,
body:has(.academic-home-layout) .md-typeset .btn-github-action:focus {
    font-family: var(--edwinos-font-mono) !important;
    font-size: 0.84rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
}

body.is-homepage .profile-followers,
body.is-homepage .profile-followers a,
body.is-homepage .profile-followers .follower-text,
body.is-homepage .profile-followers .follower-count,
body.is-homepage .profile-followers .follower-separator,
body.is-home-profile-page .profile-followers,
body.is-home-profile-page .profile-followers a,
body.is-home-profile-page .profile-followers .follower-text,
body.is-home-profile-page .profile-followers .follower-count,
body.is-home-profile-page .profile-followers .follower-separator,
body:has(.academic-home-layout) .profile-followers,
body:has(.academic-home-layout) .profile-followers a,
body:has(.academic-home-layout) .profile-followers .follower-text,
body:has(.academic-home-layout) .profile-followers .follower-count,
body:has(.academic-home-layout) .profile-followers .follower-separator {
    font-family: var(--edwinos-font-mono) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

body.is-homepage .profile-followers .follower-text,
body.is-home-profile-page .profile-followers .follower-text,
body:has(.academic-home-layout) .profile-followers .follower-text {
    gap: 0.16rem !important;
}

body.is-homepage .academic-section p,
body.is-homepage .academic-section li,
body.is-homepage .news-text,
body.is-homepage .pub-authors,
body.is-homepage .pub-venue,
body.is-homepage .project-card p,
body.is-homepage .education-degree,
body.is-homepage .cv-subtitle,
body.is-homepage .cv-desc,
body.is-homepage .award-copy,
body.is-homepage .personalities-list li,
body.is-home-profile-page .academic-section p,
body.is-home-profile-page .academic-section li,
body.is-home-profile-page .news-text,
body.is-home-profile-page .pub-authors,
body.is-home-profile-page .pub-venue,
body.is-home-profile-page .project-card p,
body.is-home-profile-page .education-degree,
body.is-home-profile-page .cv-subtitle,
body.is-home-profile-page .cv-desc,
body.is-home-profile-page .award-copy,
body.is-home-profile-page .personalities-list li,
body:has(.academic-home-layout) .academic-section p,
body:has(.academic-home-layout) .academic-section li,
body:has(.academic-home-layout) .news-text,
body:has(.academic-home-layout) .pub-authors,
body:has(.academic-home-layout) .pub-venue,
body:has(.academic-home-layout) .project-card p,
body:has(.academic-home-layout) .education-degree,
body:has(.academic-home-layout) .cv-subtitle,
body:has(.academic-home-layout) .cv-desc,
body:has(.academic-home-layout) .award-copy,
body:has(.academic-home-layout) .personalities-list li {
    font-family: var(--edwinos-font-serif) !important;
    letter-spacing: 0 !important;
}

/* ==========================================================================
   Code Blocks
   ========================================================================== */

body[data-md-color-scheme="default"] {
    --md-code-bg-color: #f2f2f2;
    --md-code-fg-color: #2e3338;
    --edwinos-code-border: rgba(46, 51, 56, 0.12);
    --edwinos-code-title-bg: rgba(46, 51, 56, 0.045);
    --edwinos-inline-code-bg: rgba(46, 51, 56, 0.075);
    --edwinos-inline-code-fg: #9f1d35;
    --edwinos-code-label-fg: rgba(46, 51, 56, 0.52);
}

body[data-md-color-scheme="slate"] {
    --md-code-bg-color: #242424;
    --md-code-fg-color: #dcddde;
    --edwinos-code-border: rgba(255, 255, 255, 0.11);
    --edwinos-code-title-bg: rgba(255, 255, 255, 0.045);
    --edwinos-inline-code-bg: rgba(255, 255, 255, 0.085);
    --edwinos-inline-code-fg: #ff7b72;
    --edwinos-code-label-fg: rgba(220, 221, 222, 0.52);
}

/* The highlight wrapper is the only visual frame. Keeping pre/code frameless
   prevents the doubled top and bottom rules caused by the legacy cascade. */
.md-typeset .highlight {
    margin: 1.15em 0;
    overflow: hidden;
    background: var(--md-code-bg-color);
    border: 1px solid var(--edwinos-code-border);
    border-radius: 0.5rem;
    box-shadow: none;
}

.md-typeset .highlight > pre {
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.md-typeset .highlight > pre > code {
    display: block;
    margin: 0;
    padding: 0.82rem 1rem;
    overflow: auto;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Pymdown title support. Untitled blocks have no internal divider. */
.md-typeset .highlight > .filename {
    display: block;
    margin: 0;
    padding: 0.48rem 1rem;
    color: var(--md-default-fg-color--light);
    background: var(--edwinos-code-title-bg);
    border: 0;
    border-bottom: 1px solid var(--edwinos-code-border);
    font-family: var(--edwinos-font-mono);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.45;
}

/* Standalone pre is uncommon with Pymdown, but receives the same single-frame
   treatment without matching pre elements that already live in .highlight. */
.md-typeset pre:not(.highlight > pre) {
    margin: 1.15em 0;
    padding: 0.82rem 1rem;
    overflow: auto;
    background: var(--md-code-bg-color);
    border: 1px solid var(--edwinos-code-border);
    border-radius: 0.5rem;
    box-shadow: none;
}

.md-typeset pre:not(.highlight > pre) > code {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.md-typeset :not(pre) > code {
    padding: 0.1em 0.32em;
    color: var(--edwinos-inline-code-fg);
    background: var(--edwinos-inline-code-bg);
    border: 0;
    border-radius: 0.28rem;
    box-shadow: none;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.md-typeset .md-code__button {
    border-radius: 0.32rem;
}

/* Language metadata occupies a quiet first row inside the code surface. The
   copy control keeps the far-right position, so both remain visible. */
.md-typeset .highlight[data-code-language] {
    position: relative;
}

.md-typeset .highlight[data-code-language]::before {
    position: absolute;
    top: 0.25rem;
    inset-inline-end: 2.55rem;
    z-index: 1;
    height: 1.6rem;
    max-width: calc(100% - 5.25rem);
    overflow: hidden;
    color: var(--edwinos-code-label-fg);
    font-family: var(--edwinos-font-serif);
    font-size: 0.58rem;
    font-weight: 400;
    line-height: 1.6rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    content: attr(data-code-language);
    pointer-events: none;
    user-select: none;
}

.md-typeset .highlight[data-code-language]:not(:has(.md-code__nav))::before {
    inset-inline-end: 0.75rem;
}

.md-typeset .highlight[data-code-language] > pre > code {
    padding-top: 1.72rem;
}

.md-typeset .highlight[data-code-language]:has(> .filename) > .filename {
    padding-inline-end: 7rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.md-typeset .highlight[data-code-language]:has(> .filename) > pre > code {
    padding-top: 0.82rem;
}

@media screen and (max-width: 44.984375em) {
    .md-typeset .highlight[data-code-language]::before {
        inset-inline-end: 2.25rem;
        font-size: 0.56rem;
    }

    .md-typeset .highlight[data-code-language] > pre > code {
        padding: 1.55rem 0.75rem 0.72rem;
    }

    .md-typeset .highlight[data-code-language]:has(> .filename) > pre > code {
        padding-top: 0.72rem;
    }
}

@media print {
    .md-typeset .highlight[data-code-language]::before {
        inset-inline-end: 0.75rem;
    }
}

/* ==========================================================================
   Callouts
   ========================================================================== */

.md-typeset :is(.admonition, details) {
    --edwinos-callout-rgb: 8, 109, 221;
    --edwinos-callout-alpha: 0.1;
    margin: 1.1em 0;
    padding: 0.58rem 0.72rem;
    overflow: visible;
    color: var(--md-default-fg-color);
    background: rgba(var(--edwinos-callout-rgb), var(--edwinos-callout-alpha));
    border: 0;
    border-radius: 0.48rem;
    box-shadow: none;
    font-size: 0.8rem;
    line-height: 1.55;
}

.md-typeset :is(.admonition, details):focus-within {
    box-shadow: none;
}

.md-typeset :is(.admonition, details) > :is(.admonition-title, summary) {
    position: relative;
    display: block;
    min-height: 1.25rem;
    margin: 0;
    padding: 0 0 0 1.55rem;
    color: rgb(var(--edwinos-callout-rgb));
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 1em;
    font-weight: 600;
    line-height: 1.45;
}

.md-typeset details > summary {
    padding-right: 1.7rem;
    cursor: pointer;
}

.md-typeset details:not([open]) {
    padding-bottom: 0.58rem;
}

.md-typeset :is(.admonition, details) > :is(.admonition-title, summary)::before {
    position: absolute;
    top: 0.12em;
    left: 0;
    width: 1.08rem;
    height: 1.08rem;
    margin: 0;
    background-color: rgb(var(--edwinos-callout-rgb));
}

.md-typeset details > summary::after {
    top: 50%;
    right: 0;
    width: 1.08rem;
    height: 1.08rem;
    margin: 0;
    background-color: rgb(var(--edwinos-callout-rgb));
    transform: translateY(-50%);
    transform-origin: center;
}

.md-typeset details[open] > summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.md-typeset details > summary:focus-visible {
    outline: 2px solid rgba(var(--edwinos-callout-rgb), 0.42);
    outline-offset: 0.22rem;
    border-radius: 0.2rem;
}

.md-typeset .admonition > :not(.admonition-title),
.md-typeset details[open] > :not(summary) {
    margin-top: 0.52rem;
    margin-bottom: 0;
}

.md-typeset :is(.admonition, details) > :is(ul, ol) {
    margin-left: 1.1em !important;
    padding-left: 0.9em !important;
}

/* Keep the PHIL 206 usage card's nested bullets compact and readable. */
.md-typeset #phil-206-notes + p + details.tip li > :is(ul, ol) {
    margin-inline-start: 0 !important;
    padding-inline-start: 1.5em !important;
}

.md-typeset :is(.admonition, details) > :is(.admonition-title, summary) code {
    padding: 0.06em 0.26em;
    color: inherit;
    background: rgba(var(--edwinos-callout-rgb), 0.1);
}

.md-typeset :is(.admonition, details) :is(.admonition, details) {
    --edwinos-callout-alpha: 0.13;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition, details) {
    --edwinos-callout-alpha: 0.12;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition, details) :is(.admonition, details) {
    --edwinos-callout-alpha: 0.15;
}

.md-typeset :is(.admonition.note, .admonition.info, .admonition.todo, details.note, details.info, details.todo) {
    --edwinos-callout-rgb: 8, 109, 221;
}

.md-typeset :is(.admonition.abstract, .admonition.summary, .admonition.tldr, .admonition.tip, .admonition.hint, .admonition.important, details.abstract, details.summary, details.tldr, details.tip, details.hint, details.important) {
    --edwinos-callout-rgb: 0, 191, 188;
}

.md-typeset :is(.admonition.success, .admonition.check, .admonition.done, details.success, details.check, details.done) {
    --edwinos-callout-rgb: 8, 185, 78;
}

.md-typeset :is(.admonition.question, .admonition.help, .admonition.faq, details.question, details.help, details.faq) {
    --edwinos-callout-rgb: 224, 172, 0;
}

.md-typeset :is(.admonition.warning, .admonition.caution, .admonition.attention, details.warning, details.caution, details.attention) {
    --edwinos-callout-rgb: 236, 117, 0;
}

.md-typeset :is(.admonition.failure, .admonition.fail, .admonition.missing, .admonition.danger, .admonition.error, .admonition.bug, details.failure, details.fail, details.missing, details.danger, details.error, details.bug) {
    --edwinos-callout-rgb: 233, 49, 71;
}

.md-typeset :is(.admonition.example, details.example) {
    --edwinos-callout-rgb: 120, 82, 238;
}

.md-typeset :is(.admonition.quote, .admonition.cite, details.quote, details.cite) {
    --edwinos-callout-rgb: 112, 118, 125;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.note, .admonition.info, .admonition.todo, details.note, details.info, details.todo) {
    --edwinos-callout-rgb: 2, 122, 255;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.abstract, .admonition.summary, .admonition.tldr, .admonition.tip, .admonition.hint, .admonition.important, details.abstract, details.summary, details.tldr, details.tip, details.hint, details.important) {
    --edwinos-callout-rgb: 83, 223, 221;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.success, .admonition.check, .admonition.done, details.success, details.check, details.done) {
    --edwinos-callout-rgb: 68, 207, 110;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.question, .admonition.help, .admonition.faq, details.question, details.help, details.faq) {
    --edwinos-callout-rgb: 224, 222, 113;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.warning, .admonition.caution, .admonition.attention, details.warning, details.caution, details.attention) {
    --edwinos-callout-rgb: 233, 151, 63;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.failure, .admonition.fail, .admonition.missing, .admonition.danger, .admonition.error, .admonition.bug, details.failure, details.fail, details.missing, details.danger, details.error, details.bug) {
    --edwinos-callout-rgb: 251, 70, 76;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.example, details.example) {
    --edwinos-callout-rgb: 168, 130, 255;
}

body[data-md-color-scheme="slate"] .md-typeset :is(.admonition.quote, .admonition.cite, details.quote, details.cite) {
    --edwinos-callout-rgb: 166, 171, 178;
}

/* ==========================================================================
   Header
   ========================================================================== */

@media screen and (max-width: 76.1875em) {
    :root {
        --edwinos-mobile-header-height: 3.5rem;
        --edwinos-mobile-header-control-space: 5.25rem;
        --edwinos-mobile-drawer-space: 0rem;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"]),
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]) {
        --edwinos-mobile-drawer-space: 2.75rem;
    }

    .md-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 20 !important;
        min-height: var(--edwinos-mobile-header-height) !important;
        height: var(--edwinos-mobile-header-height) !important;
        transform: none !important;
        overflow: visible !important;
        box-shadow: none !important;
    }

    /*
     * Keep drawer-route tabs in the sticky header's coordinate system during
     * iOS elastic overscroll without changing the header's normal geometry.
     */
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    body .md-header > .md-tabs,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    body .md-header > .md-tabs {
        position: absolute !important;
    }

    .md-header__inner {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        height: var(--edwinos-mobile-header-height) !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.2rem !important;
        margin: 0 !important;
        padding: 0 0.72rem 0 0.6rem !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 24 !important;
        pointer-events: none !important;
    }

    .md-header__button,
    .md-header__option,
    .md-header .md-search {
        pointer-events: auto !important;
    }

    .md-header__button.md-logo,
    .md-header__button[for="__drawer"],
    .md-header__source,
    .md-header__title,
    .md-header__topic {
        display: none !important;
    }

    .md-header__option {
        display: inline-flex !important;
        width: 2.2rem !important;
        height: 2.2rem !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        order: 2;
    }

    .md-header__option,
    .md-header .md-search,
    .md-header__button[for="__search"] {
        border: 0 !important;
        box-shadow: none !important;
    }

    .md-header__option::before,
    .md-header__option::after,
    .md-header .md-search::before,
    .md-header .md-search::after,
    .md-header__button[for="__search"]::before,
    .md-header__button[for="__search"]::after {
        display: none !important;
        content: none !important;
    }

    .md-header__option .md-header__button,
    .md-header__button[for="__search"] {
        width: 2.2rem !important;
        height: 2.2rem !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 999px !important;
    }

    .md-header__option .md-option + .md-header__button,
    .md-header__option .md-header__button[hidden] {
        display: none !important;
    }

    .md-header__option .md-option + .md-header__button:not([hidden]),
    .md-header__option .md-option:checked + .md-header__button,
    .md-header__button[for="__search"] {
        display: inline-flex !important;
    }

    .md-header__button[for="__search"] {
        order: 1;
    }

    .md-tabs,
    .md-tabs[data-md-state="hidden"],
    .md-tabs[data-md-state="lock"] {
        position: fixed !important;
        top: 0 !important;
        right: calc(var(--edwinos-mobile-header-control-space) + 0.8rem) !important;
        left: calc(0.72rem + var(--edwinos-mobile-drawer-space)) !important;
        z-index: 21 !important;
        display: flex !important;
        width: auto !important;
        height: var(--edwinos-mobile-header-height) !important;
        min-height: var(--edwinos-mobile-header-height) !important;
        align-items: center !important;
        padding: 0 !important;
        overflow: hidden !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: transparent !important;
        background-color: transparent !important;
        border-bottom: 0 !important;
        box-shadow: none !important;
    }

    body[data-md-color-scheme] .md-tabs.md-tabs,
    body[data-md-color-scheme] .md-tabs.md-tabs[data-md-state="hidden"],
    body[data-md-color-scheme] .md-tabs.md-tabs[data-md-state="lock"] {
        background: transparent !important;
        background-color: transparent !important;
    }

    .md-tabs .md-grid {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    .md-tabs .md-grid::-webkit-scrollbar {
        display: none;
    }

    .md-tabs__list {
        display: flex !important;
        width: max-content !important;
        min-width: 0 !important;
        height: auto !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0.18rem !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .md-tabs__item {
        display: block !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .md-tabs__link {
        display: inline-flex !important;
        height: 2.1rem !important;
        min-height: 2.1rem !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 0.56rem !important;
        border-radius: 999px !important;
        font-family: var(--edwinos-font-mono) !important;
        font-size: 0.86rem !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .md-tabs__link::after {
        display: none !important;
    }

    [data-md-color-scheme="default"] .md-header {
        background: var(--github-frame-light-bg, #f6f8fa) !important;
        border-bottom: 1px solid var(--github-frame-light-border, #d0d7de) !important;
    }

    [data-md-color-scheme="slate"] .md-header {
        background: var(--github-frame-dark-bg, #0d1117) !important;
        border-bottom: 1px solid var(--github-frame-dark-border, #30363d) !important;
    }

    [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        opacity: 1 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    [data-md-toggle="search"]:checked ~ .md-header .md-search__scrollwrap {
        background-image: none !important;
        backdrop-filter: blur(4px) saturate(0.95) !important;
        -webkit-backdrop-filter: blur(4px) saturate(0.95) !important;
        box-shadow: inset 0 1px 0 rgba(139, 148, 158, 0.18) !important;
    }

    [data-md-color-scheme="default"] [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
        background: rgba(246, 248, 250, 0.08) !important;
    }

    [data-md-color-scheme="default"] [data-md-toggle="search"]:checked ~ .md-header .md-search__scrollwrap {
        background: rgba(255, 255, 255, 0.48) !important;
    }

    [data-md-color-scheme="slate"] [data-md-toggle="search"]:checked ~ .md-header .md-search__overlay {
        background: rgba(1, 4, 9, 0.08) !important;
    }

    [data-md-color-scheme="slate"] [data-md-toggle="search"]:checked ~ .md-header .md-search__scrollwrap {
        background: rgba(13, 17, 23, 0.38) !important;
    }
}

@media screen and (max-width: 35rem) {
    :root {
        --edwinos-mobile-header-control-space: 4.65rem;
    }

    .md-header__inner {
        gap: 0.12rem !important;
        padding-right: 0.58rem !important;
        padding-left: 0.5rem !important;
    }

    .md-header__option,
    .md-header__option .md-header__button,
    .md-header__button[for="__search"] {
        width: 2rem !important;
        height: 2rem !important;
    }

    .md-tabs {
        right: calc(var(--edwinos-mobile-header-control-space) + 0.55rem) !important;
        left: calc(0.58rem + var(--edwinos-mobile-drawer-space)) !important;
    }

    .md-tabs__list {
        gap: 0.06rem !important;
    }

    .md-tabs__link {
        height: 2rem !important;
        min-height: 2rem !important;
        padding: 0 0.32rem !important;
        font-size: 0.84rem !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"]) .md-tabs__list,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]) .md-tabs__list {
        gap: 0.02rem !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"]) .md-tabs__link,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]) .md-tabs__link {
        padding: 0 0.16rem !important;
        font-size: 0.8rem !important;
    }
}

@media screen and (max-width: 27rem) {
    :root {
        --edwinos-mobile-header-control-space: 2.55rem;
    }

    .md-tabs {
        right: calc(var(--edwinos-mobile-header-control-space) + 0.42rem) !important;
        left: calc(0.52rem + var(--edwinos-mobile-drawer-space)) !important;
    }

    .md-tabs__list {
        gap: 0.02rem !important;
    }

    .md-tabs__link {
        padding: 0 0.22rem !important;
        font-size: 0.82rem !important;
    }
}

@media screen and (max-width: 25rem) {
    .md-tabs__link {
        padding: 0 0.16rem !important;
        font-size: 0.8rem !important;
    }
}

@media screen and (max-width: 34rem) {
    .md-tabs .md-tabs__list {
        gap: 2px !important;
    }

    .md-tabs .md-tabs__link {
        padding-inline: 1px !important;
        font-size: 13.5px !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    .md-tabs .md-tabs__list,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    .md-tabs .md-tabs__list {
        gap: 3px !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    .md-tabs .md-tabs__link,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    .md-tabs .md-tabs__link {
        padding-inline: 0 !important;
        font-size: 10.75px !important;
    }
}

@media screen and (max-width: 23rem) {
    .md-tabs__link {
        padding: 0 0.08rem !important;
        font-size: 0.76rem !important;
    }
}

@media screen and (max-width: 22rem) {
    .md-tabs__link {
        padding-inline: 0 !important;
        font-size: 0.7rem !important;
    }
}

/*
 * Full search-field states use an iOS-like translucent capsule. The compact
 * mobile search trigger is intentionally untouched.
 */
.md-header .md-search__form {
    overflow: hidden !important;
    border-radius: 999px !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.16);
    backdrop-filter: blur(14px) saturate(1.16);
    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        box-shadow 160ms ease !important;
}

.md-header .md-search__input {
    padding-right: 1rem !important;
    padding-left: 2.25rem !important;
    border-radius: inherit !important;
    box-shadow: none !important;
}

.md-header .md-search__form .md-search__icon[for="__search"] {
    left: 0.68rem !important;
    width: 1rem !important;
    height: 1rem !important;
}

.md-header .md-search__options {
    display: none !important;
}

[data-md-color-scheme="default"] .md-header .md-search__form {
    background: rgba(118, 118, 128, 0.12) !important;
    border: 1px solid rgba(60, 60, 67, 0.14) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 1px 2px rgba(31, 35, 40, 0.06),
        0 4px 14px rgba(31, 35, 40, 0.04) !important;
}

[data-md-color-scheme="default"] .md-header .md-search:hover .md-search__form {
    background: rgba(118, 118, 128, 0.2) !important;
    border-color: rgba(60, 60, 67, 0.28) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        0 2px 8px rgba(31, 35, 40, 0.08) !important;
}

[data-md-toggle="search"]:checked
~ .md-header[data-md-color-scheme="default"]
.md-search__form:focus-within,
[data-md-color-scheme="default"]
[data-md-toggle="search"]:checked
~ .md-header
.md-search__form:focus-within {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 122, 255, 0.58) !important;
    box-shadow:
        0 0 0 3px rgba(0, 122, 255, 0.13),
        0 2px 10px rgba(31, 35, 40, 0.09) !important;
}

[data-md-color-scheme="default"] .md-header .md-search__input {
    color: #1c1c1e !important;
}

[data-md-color-scheme="default"] .md-header .md-search__input::placeholder,
[data-md-color-scheme="default"] .md-header .md-search__form .md-search__icon {
    color: #51515a !important;
}

[data-md-toggle="search"]:checked
~ .md-header[data-md-color-scheme="default"]
.md-search__form:focus-within
.md-search__icon,
[data-md-color-scheme="default"]
[data-md-toggle="search"]:checked
~ .md-header
.md-search__form:focus-within
.md-search__icon {
    color: #007aff !important;
}

[data-md-color-scheme="slate"] .md-header .md-search__form {
    background: rgba(22, 27, 34, 0.74) !important;
    border: 1px solid rgba(240, 246, 252, 0.14) !important;
    box-shadow:
        inset 0 1px 0 rgba(240, 246, 252, 0.05),
        0 2px 10px rgba(1, 4, 9, 0.18) !important;
}

[data-md-color-scheme="slate"] .md-header .md-search:hover .md-search__form {
    background: rgba(33, 38, 45, 0.9) !important;
    border-color: rgba(139, 148, 158, 0.46) !important;
    box-shadow:
        inset 0 1px 0 rgba(240, 246, 252, 0.07),
        0 3px 12px rgba(1, 4, 9, 0.24) !important;
}

[data-md-toggle="search"]:checked
~ .md-header[data-md-color-scheme="slate"]
.md-search__form:focus-within,
[data-md-color-scheme="slate"]
[data-md-toggle="search"]:checked
~ .md-header
.md-search__form:focus-within {
    background: rgba(22, 27, 34, 0.96) !important;
    border-color: rgba(88, 166, 255, 0.68) !important;
    box-shadow:
        0 0 0 3px rgba(88, 166, 255, 0.14),
        0 3px 14px rgba(1, 4, 9, 0.3) !important;
}

[data-md-color-scheme="slate"] .md-header .md-search__input {
    color: #f0f6fc !important;
}

[data-md-color-scheme="slate"] .md-header .md-search__input::placeholder,
[data-md-color-scheme="slate"] .md-header .md-search__form .md-search__icon {
    color: #8b949e !important;
}

[data-md-toggle="search"]:checked
~ .md-header[data-md-color-scheme="slate"]
.md-search__form:focus-within
.md-search__icon,
[data-md-color-scheme="slate"]
[data-md-toggle="search"]:checked
~ .md-header
.md-search__form:focus-within
.md-search__icon {
    color: #58a6ff !important;
}

[data-md-color-scheme="default"] .md-header .md-search__overlay {
    background: rgba(246, 248, 250, 0.08) !important;
}

[data-md-color-scheme="slate"] .md-header .md-search__overlay {
    background: rgba(1, 4, 9, 0.08) !important;
}

/*
 * Keep the search field in one header coordinate system so opening and
 * closing can animate between its resting width and the full notch.
 */
.md-header .md-search {
    transition: opacity 180ms ease !important;
}

html.edwinos-search-transitioning .md-header .md-search {
    transition:
        left 260ms cubic-bezier(0.22, 1, 0.36, 1),
        right 260ms cubic-bezier(0.22, 1, 0.36, 1),
        width 260ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 180ms ease !important;
}

@media screen {
    [data-md-toggle="search"]:checked ~ .md-header .md-search {
        position: fixed !important;
        top: calc(
            (
                var(--edwinos-header-height)
                - var(--edwinos-header-control-size)
            )
            / 2
        ) !important;
        right: var(--edwinos-header-edge) !important;
        left: var(--edwinos-header-edge) !important;
        z-index: 30 !important;
        display: block !important;
        width: auto !important;
        max-width: none !important;
        height: var(--edwinos-header-control-size) !important;
        margin: 0 !important;
        padding: 1px 0 !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    [data-md-toggle="search"]:checked ~ .md-header .md-search__inner {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: calc(var(--edwinos-header-control-size) - 2px) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        opacity: 1 !important;
        transform: none !important;
    }

    [data-md-toggle="search"]:checked ~ .md-header .md-search__form {
        position: relative !important;
        width: 100% !important;
        height: calc(var(--edwinos-header-control-size) - 2px) !important;
        min-height: calc(var(--edwinos-header-control-size) - 2px) !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    [data-md-toggle="search"]:checked ~ .md-header .md-search__input {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        line-height: 1.25 !important;
    }

    [data-md-toggle="search"]:checked ~ .md-header :is(
        .md-header__source,
        .md-header__option
    ),
    [data-md-toggle="search"]:checked ~ .md-header .md-tabs {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

.md-header .md-search__output {
    top: calc(2.1rem + 0.55rem) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    height: 0 !important;
    max-height: min(68vh, 32rem) !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-0.35rem);
    transition:
        opacity 160ms ease,
        transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 220ms !important;
}

.md-header .md-search__output[hidden] {
    display: none !important;
}

.md-header .md-search__scrollwrap {
    width: 100% !important;
    height: auto !important;
    max-height: min(68vh, 32rem) !important;
    overflow-y: auto !important;
    background: transparent !important;
}

.md-header .md-search-result {
    width: 100% !important;
}

[data-md-toggle="search"]:checked
~ .md-header
.md-search.edwinos-search-has-query
.md-search__output {
    position: absolute !important;
    z-index: 31 !important;
    height: min(68vh, 32rem) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0);
    transition-delay: 0s !important;
}

[data-md-toggle="search"]:checked
~ .md-header
.md-search__inner {
    overflow: visible !important;
}

[data-md-toggle="search"]:not(:checked)
~ .md-header
.md-search
.md-search__output,
[data-md-toggle="search"]:checked
~ .md-header
.md-search:not(.edwinos-search-has-query)
.md-search__output {
    height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-0.35rem) !important;
}

[data-md-color-scheme="default"]
[data-md-toggle="search"]:checked
~ .md-header
.md-search.edwinos-search-has-query
.md-search__output {
    background: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(60, 60, 67, 0.16) !important;
    box-shadow: 0 16px 36px rgba(31, 35, 40, 0.16) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08);
    backdrop-filter: blur(18px) saturate(1.08);
}

[data-md-color-scheme="slate"]
[data-md-toggle="search"]:checked
~ .md-header
.md-search.edwinos-search-has-query
.md-search__output {
    background: rgba(13, 17, 23, 0.9) !important;
    border: 1px solid rgba(240, 246, 252, 0.14) !important;
    box-shadow: 0 18px 40px rgba(1, 4, 9, 0.34) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.08);
    backdrop-filter: blur(18px) saturate(1.08);
}

/*
 * Header controls share one coordinate system and collapse in two ordered
 * stages. The GitHub icon first wipes a stationary repository label, then the
 * search capsule contracts. Once the capsule is circular it cannot re-expand.
 */
:root {
    --edwinos-header-edge: clamp(8px, 2vw, 32px);
    --edwinos-header-height: var(
        --edwinos-mobile-header-height,
        var(--compact-header-height, 3.5rem)
    );
    --edwinos-header-control-size: 44px;
    --edwinos-header-control-gap: clamp(
        0px,
        calc((100vw - 420px) / 39),
        4px
    );
    --edwinos-header-tabs-search-gap: clamp(
        2px,
        calc((100vw - 360px) / 20),
        4px
    );
    --edwinos-header-source-icon-size: 28px;
    --edwinos-header-source-icon-inset: calc(
        (
            var(--edwinos-header-control-size)
            - var(--edwinos-header-source-icon-size)
        )
        / 2
    );
    --edwinos-header-search-source-gap: clamp(
        7px,
        calc(3.75vw - 5.75px),
        16px
    );
    --edwinos-header-search-left: 420px;
    --edwinos-header-search-stage-width: 190px;
    --edwinos-header-source-max-width: 204px;
    --edwinos-header-source-right: calc(
        var(--edwinos-header-edge)
        + var(--edwinos-header-control-size)
        + var(--edwinos-header-control-gap)
    );
    --edwinos-header-compression-budget: calc(
        100vw
        - var(--edwinos-header-search-left)
        - var(--edwinos-header-source-right)
        + var(--edwinos-header-source-icon-inset)
        - var(--edwinos-header-search-source-gap)
    );
    --edwinos-header-source-width: clamp(
        var(--edwinos-header-control-size),
        calc(
            var(--edwinos-header-compression-budget)
            - var(--edwinos-header-search-stage-width)
        ),
        var(--edwinos-header-source-max-width)
    );
    --edwinos-header-search-width: max(
        var(--edwinos-header-control-size),
        calc(
            var(--edwinos-header-compression-budget)
            - var(--edwinos-header-source-width)
        )
    );
    --edwinos-header-search-right: calc(
        var(--edwinos-header-source-right)
        + var(--edwinos-header-source-width)
        - var(--edwinos-header-source-icon-inset)
        + var(--edwinos-header-search-source-gap)
    );
    --edwinos-header-search-rest-left: calc(
        100vw
        - var(--edwinos-header-search-right)
        - var(--edwinos-header-search-width)
    );
}

.md-header .md-search,
.md-header .md-header__source,
.md-header .md-header__option {
    animation: none !important;
    will-change: auto !important;
}

.md-header .md-search,
.md-header .md-search__inner,
.md-header .md-header__button[for="__search"] {
    background: transparent !important;
    background-color: transparent !important;
}

.md-tabs__list {
    flex: 0 0 max-content !important;
    min-width: max-content !important;
}

.md-tabs__link {
    transition:
        color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease !important;
}

.md-header .md-header__option {
    position: fixed !important;
    top: calc(
        (
            var(--edwinos-header-height)
            - var(--edwinos-header-control-size)
        )
        / 2
    ) !important;
    right: var(--edwinos-header-edge) !important;
    z-index: 28 !important;
    display: inline-flex !important;
    width: var(--edwinos-header-control-size) !important;
    min-width: var(--edwinos-header-control-size) !important;
    max-width: var(--edwinos-header-control-size) !important;
    height: var(--edwinos-header-control-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    opacity: 1 !important;
}

.md-header .md-header__option .md-header__button {
    width: var(--edwinos-header-control-size) !important;
    min-width: var(--edwinos-header-control-size) !important;
    max-width: var(--edwinos-header-control-size) !important;
    height: var(--edwinos-header-control-size) !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.md-header .md-header__source {
    position: fixed !important;
    top: calc(
        (
            var(--edwinos-header-height)
            - var(--edwinos-header-control-size)
        )
        / 2
    ) !important;
    right: var(--edwinos-header-source-right) !important;
    z-index: 26 !important;
    display: block !important;
    width: var(--edwinos-header-source-width) !important;
    min-width: var(--edwinos-header-control-size) !important;
    max-width: var(--edwinos-header-source-width) !important;
    height: var(--edwinos-header-control-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
        background-color 160ms ease !important;
}

.md-header .md-source {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: var(--edwinos-header-control-size) !important;
    height: var(--edwinos-header-control-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    isolation: isolate !important;
    transform: none !important;
    pointer-events: auto !important;
    transition:
        background-color 160ms ease !important;
}

[data-md-color-scheme="default"] .md-header .md-source__icon {
    background: var(--github-frame-light-bg, #f6f8fa) !important;
}

[data-md-color-scheme="slate"] .md-header .md-source__icon {
    background: var(--github-frame-dark-bg, #0d1117) !important;
}

.md-header .md-source__icon {
    position: absolute !important;
    top: -1px !important;
    left: -1px !important;
    z-index: 3 !important;
    display: inline-flex !important;
    width: calc(var(--edwinos-header-control-size) + 2px) !important;
    min-width: calc(var(--edwinos-header-control-size) + 2px) !important;
    height: calc(var(--edwinos-header-control-size) + 2px) !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 50% !important;
    transform: none !important;
    transition: none !important;
}

.md-header .md-source__icon svg {
    display: block !important;
    width: var(--edwinos-header-source-icon-size) !important;
    height: var(--edwinos-header-source-icon-size) !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
    transform-origin: center center !important;
}

.md-header .md-source__repository {
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    left: auto !important;
    z-index: 1 !important;
    display: block !important;
    width: calc(
        var(--edwinos-header-source-max-width)
        - var(--edwinos-header-control-size)
        - 8px
    ) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    color: currentColor !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    transform: translateY(-50%) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: none !important;
}

.md-header .md-source__facts {
    margin-top: 0.12rem !important;
    overflow: hidden !important;
    font-size: 11px !important;
    opacity: 0.78 !important;
}

@media screen and (min-width: 76.25em) {
    .md-tabs__list {
        gap: 6px !important;
    }

    .md-tabs__link {
        height: 42px !important;
        min-height: 42px !important;
        padding: 0 11px !important;
        font-size: 17.2px !important;
    }
}

@media screen {
    .md-header .md-search {
        position: fixed !important;
        top: calc(
            (
                var(--edwinos-header-height)
                - var(--edwinos-header-control-size)
            )
            / 2
        ) !important;
        right: var(--edwinos-header-search-right) !important;
        left: var(--edwinos-header-search-rest-left) !important;
        z-index: 27 !important;
        display: block !important;
        width: auto !important;
        max-width: none !important;
        height: var(--edwinos-header-control-size) !important;
        margin: 0 !important;
        padding: 1px 0 !important;
        overflow: visible !important;
        container: edwinos-header-search / inline-size;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .md-header .md-search__inner,
    .md-header .md-search__form {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        height: calc(var(--edwinos-header-control-size) - 2px) !important;
        min-height: calc(var(--edwinos-header-control-size) - 2px) !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        opacity: 1 !important;
    }

    .md-header .md-search__form {
        display: flex !important;
        align-items: center !important;
    }

    .md-header .md-search__input {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 0.9rem 0 2.5rem !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        text-overflow: clip !important;
        opacity: 1 !important;
        transition:
            color 140ms ease,
            opacity 140ms ease !important;
    }

    .md-header .md-header__button[for="__search"] {
        display: none !important;
    }

    .md-header .md-search__form .md-search__icon[for="__search"] {
        top: 50% !important;
        left: calc(
            (
                var(--edwinos-header-control-size)
                - 1.15rem
            )
            / 2
            - 2px
        ) !important;
        display: inline-flex !important;
        width: 1.15rem !important;
        height: 1.15rem !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
        transform-origin: center center !important;
        transition: none !important;
    }

    .md-header .md-search__form .md-search__icon[for="__search"] svg {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
    }

    .md-header .md-search__form .md-search__icon[for="__search"] svg:nth-of-type(2) {
        display: none !important;
    }
}

@media screen and (max-width: 76.1875em) {
    .md-tabs {
        right: calc(
            var(--edwinos-header-search-right)
            + var(--edwinos-header-control-size)
            + var(--edwinos-header-tabs-search-gap)
        ) !important;
    }
}

@container edwinos-header-search (max-width: 6.75rem) {
    .md-header .md-search__form {
        width: calc(100% - 2px) !important;
        margin-inline: auto !important;
    }

    .md-header .md-search__input {
        padding-inline: 0 !important;
        color: transparent !important;
        opacity: 0 !important;
        cursor: pointer !important;
        transition: none !important;
    }

    .md-header .md-search__input::placeholder {
        color: transparent !important;
        opacity: 0 !important;
    }

}

@media screen and (max-width: 34rem) {
    :root {
        --edwinos-header-edge: max(5px, 2vw);
        --edwinos-header-control-size: 44px;
    }

    .md-header .md-header__source,
    .md-header .md-header__option,
    .md-header .md-header__button[for="__search"] {
        top: calc(
            (
                var(
                    --edwinos-mobile-header-height,
                    var(--compact-header-height, 3.5rem)
                )
                - var(--edwinos-header-control-size)
            )
            / 2
        ) !important;
    }

    .md-header .md-header__option .md-header__button,
    .md-header .md-header__button[for="__search"] {
        width: var(--edwinos-header-control-size) !important;
        min-width: var(--edwinos-header-control-size) !important;
        max-width: var(--edwinos-header-control-size) !important;
        height: var(--edwinos-header-control-size) !important;
    }

    .md-header .md-source {
        min-height: var(--edwinos-header-control-size) !important;
        height: var(--edwinos-header-control-size) !important;
    }

    .md-header .md-source__icon {
        width: calc(var(--edwinos-header-control-size) + 2px) !important;
        min-width: calc(var(--edwinos-header-control-size) + 2px) !important;
        height: calc(var(--edwinos-header-control-size) + 2px) !important;
    }

    .md-header .md-source__icon svg {
        width: var(--edwinos-header-source-icon-size) !important;
        min-width: var(--edwinos-header-source-icon-size) !important;
        height: var(--edwinos-header-source-icon-size) !important;
    }

    .md-tabs {
        left: calc(
            max(7px, 2vw)
            + var(--edwinos-mobile-drawer-space)
        ) !important;
        right: calc(
            var(--edwinos-header-search-right)
            + var(--edwinos-header-control-size)
            + var(--edwinos-header-tabs-search-gap)
        ) !important;
    }

    .md-tabs .md-tabs__list {
        gap: clamp(
            3.5px,
            calc(1.25vw - 0.5px),
            4px
        ) !important;
    }

    .md-tabs .md-tabs__link {
        padding-inline: clamp(
            0px,
            max(
                calc((100vw - 460px) / 12.89),
                calc(14.97vw - 70.97px)
            ),
            10.47px
        ) !important;
        font-size: clamp(
            10.8px,
            max(
                calc(4.6vw - 5.16px),
                calc(1.475vw + 6.09px)
            ),
            16px
        ) !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"]),
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]) {
        --edwinos-mobile-drawer-control-size: clamp(
            26px,
            calc(8.036vw + 0.286px),
            44px
        );
        --edwinos-mobile-drawer-space: calc(
            var(--edwinos-mobile-drawer-control-size)
            + 8px
        );
    }
}

@media screen and (min-width: 34.0625rem) and (max-width: 36rem) {
    .md-tabs {
        left: clamp(
            10.88px,
            calc(11vw - 48.96px),
            14.4px
        ) !important;
    }

    .md-tabs .md-tabs__list {
        gap: clamp(
            3.6px,
            calc(10.8px - 1.25vw),
            4px
        ) !important;
    }

    .md-tabs .md-tabs__link {
        padding-inline: clamp(
            10.62px,
            calc(1.88vw + 0.37px),
            11.2px
        ) !important;
        font-size: clamp(
            16px,
            calc(3.75vw - 4.4px),
            17.2px
        ) !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    .md-tabs,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    .md-tabs {
        left: calc(max(10px, 2vw) + 52px) !important;
    }
}

@media screen and (max-width: 40rem) {
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    .md-tabs .md-tabs__list,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    .md-tabs .md-tabs__list {
        gap: clamp(
            3px,
            calc(0.9375vw - 2.4px),
            3.6px
        ) !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    .md-tabs .md-tabs__link,
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    .md-tabs .md-tabs__link {
        padding-inline: clamp(
            0px,
            max(
                calc((100vw - 460px) / 17.1),
                calc(6.9vw - 32.96px)
            ),
            11.2px
        ) !important;
        font-size: clamp(
            9px,
            max(
                calc(3.634vw - 3.73px),
                calc(0.88vw + 6.184px)
            ),
            17.2px
        ) !important;
    }
}

@media screen and (max-width: 22.5rem) {
    :root {
        --edwinos-header-control-size: clamp(
            34px,
            calc(25vw - 46px),
            44px
        );
        --edwinos-header-source-icon-size: clamp(
            24px,
            calc(10vw - 8px),
            28px
        );
    }
}

[data-md-toggle="search"]:checked
~ .md-header
.md-header__button[for="__search"] {
    transform: scale(0.88) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: none !important;
}

.md-header .md-search__input {
    height: 100% !important;
    min-height: 0 !important;
    margin-block: 0 !important;
    padding-block: 0 !important;
    line-height: normal !important;
}

/*
 * The header and tab layer used to draw separate borders during elastic
 * overscroll. A single viewport-fixed rule keeps the notch edge stationary.
 */
[data-md-color-scheme] .md-header.md-header,
[data-md-color-scheme] .md-tabs.md-tabs {
    border-bottom: 0 !important;
}

.md-header::after {
    content: "" !important;
    position: fixed !important;
    top: calc(
        var(
            --edwinos-mobile-header-height,
            var(--compact-header-height, 3.5rem)
        )
        - 1px
    ) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 24 !important;
    display: block !important;
    width: 100vw !important;
    height: 1px !important;
    border: 0 !important;
    background: #d0d7de !important;
    pointer-events: none !important;
}

[data-md-color-scheme="slate"] .md-header::after {
    background: #30363d !important;
}

/* ==========================================================================
   Drawer Navigation
   ========================================================================== */

.md-sidebar--primary .edwinos-profile-drawer-entry,
.md-sidebar--primary .md-nav--primary .md-nav__item:has(> .md-nav__link[href$="HOME/Archive/"]),
.md-sidebar--primary .md-nav--primary .md-nav__item:has(> .md-nav__link[href$="HOME/Archive/index.html"]),
.md-sidebar--primary .md-nav--primary .md-nav__item:has(> .md-nav__link[href$="HOME/friends/"]),
.md-sidebar--primary .md-nav--primary .md-nav__item:has(> .md-nav__link[href$="HOME/friends/index.html"]) {
    display: none !important;
}

@media screen and (max-width: 76.1875em) {
    html:not(:has(> head > link[rel="canonical"][href*="/OsdNotes/"])):not(:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]))
    [data-md-toggle="drawer"]:checked ~ .md-container .md-sidebar--primary,
    html:not(:has(> head > link[rel="canonical"][href*="/OsdNotes/"])):not(:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]))
    [data-md-toggle="drawer"]:checked ~ .md-overlay {
        display: none !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    body .md-header__button[for="__drawer"],
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    body .md-header__button[for="__drawer"] {
        position: absolute !important;
        top: 50% !important;
        left: 0.6rem !important;
        z-index: 2 !important;
        display: inline-flex !important;
        width: 2.2rem !important;
        height: 2.2rem !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translateY(-50%) !important;
    }

    /* The runtime marks only the active ENotes/Experiences drawer branch. */
    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    > .edwinos-drawer-section-title {
        display: flex !important;
        width: 100% !important;
        height: 5.6rem !important;
        min-height: 5.6rem !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 3.5rem 0.8rem 0 !important;
        overflow: hidden !important;
        color: var(--md-default-fg-color) !important;
        font-size: 0.9rem !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
        cursor: default !important;
        pointer-events: none !important;
    }

    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    > .edwinos-drawer-section-title
    > .md-nav__icon {
        display: none !important;
    }

    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    > .edwinos-drawer-section-title::before,
    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    > .edwinos-drawer-section-title::after {
        display: none !important;
        content: none !important;
    }

    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    .edwinos-drawer-back-title {
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        height: 5.6rem !important;
        min-height: 5.6rem !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 3.5rem 0.8rem 0 2.75rem !important;
        overflow: hidden !important;
        color: var(--md-default-fg-color) !important;
        font-size: 0.86rem !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
        cursor: pointer !important;
    }

    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    .edwinos-drawer-back-title
    > .md-nav__icon {
        display: none !important;
    }

    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    .edwinos-drawer-back-title::before {
        position: absolute !important;
        top: auto !important;
        bottom: 0.12rem !important;
        left: 0.55rem !important;
        content: "" !important;
        display: block !important;
        width: 1.8rem !important;
        height: 1.8rem !important;
        background-color: currentColor !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z'/%3E%3C/svg%3E") !important;
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z'/%3E%3C/svg%3E") !important;
        -webkit-mask-position: 52% 50% !important;
        mask-position: 52% 50% !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-size: 1.08rem 1.08rem !important;
        mask-size: 1.08rem 1.08rem !important;
        transform: none !important;
        pointer-events: none !important;
    }

    .md-nav--primary[data-edwinos-drawer-section]
    .edwinos-drawer-section-nav
    .edwinos-drawer-back-title:is(:hover, :focus-visible)::before {
        color: var(--md-accent-fg-color) !important;
        background-color: currentColor !important;
    }
}

@media screen and (max-width: 34rem) {
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    body .md-header__button[for="__drawer"],
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    body .md-header__button[for="__drawer"] {
        left: 0.5rem !important;
        width: 2rem !important;
        height: 2rem !important;
    }
}

@media screen and (min-width: 34.0625rem) and (max-width: 76.1875rem) {
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"]),
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"]) {
        --edwinos-mobile-drawer-space: calc(
            max(10px, 2vw)
            + 44px
            + 8px
            - 0.72rem
        );
    }
}

@media screen and (max-width: 34rem) {
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    body .md-header__button[for="__drawer"],
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    body .md-header__button[for="__drawer"] {
        box-sizing: border-box !important;
        top: calc(
            (
                var(
                    --edwinos-mobile-header-height,
                    var(--compact-header-height, 3.5rem)
                )
                - var(--edwinos-mobile-drawer-control-size)
            )
            / 2
        ) !important;
        left: max(5px, 2vw) !important;
        width: var(--edwinos-mobile-drawer-control-size) !important;
        height: var(--edwinos-mobile-drawer-control-size) !important;
        padding: 0 !important;
        transform: none !important;
    }
}

@media screen and (min-width: 34.0625rem) and (max-width: 76.1875rem) {
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    body .md-header__button[for="__drawer"],
    html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    body .md-header__button[for="__drawer"] {
        box-sizing: border-box !important;
        top: 13px !important;
        left: max(10px, 2vw) !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        transform: none !important;
    }
}

/* ==========================================================================
   Profile Card
   ========================================================================== */

body.is-homepage .profile-followers,
body.is-homepage .profile-followers a,
body.is-homepage .md-typeset .profile-meta li,
body.is-homepage .md-typeset .profile-meta a,
body.is-homepage .md-typeset .profile-meta .meta-text,
body.is-home-profile-page .profile-followers,
body.is-home-profile-page .profile-followers a,
body.is-home-profile-page .md-typeset .profile-meta li,
body.is-home-profile-page .md-typeset .profile-meta a,
body.is-home-profile-page .md-typeset .profile-meta .meta-text,
body:has(.academic-home-layout) .profile-followers,
body:has(.academic-home-layout) .profile-followers a,
body:has(.academic-home-layout) .md-typeset .profile-meta li,
body:has(.academic-home-layout) .md-typeset .profile-meta a,
body:has(.academic-home-layout) .md-typeset .profile-meta .meta-text {
    font-size: 0.78rem !important;
    line-height: 1.38 !important;
}

body.is-homepage .profile-social-left,
body.is-home-profile-page .profile-social-left,
body:has(.academic-home-layout) .profile-social-left {
    gap: 0.72rem !important;
    transform: translateX(-0.06rem);
}

body.is-homepage .md-typeset .profile-social-left a,
body.is-homepage .md-typeset .profile-social-left a:hover,
body.is-homepage .md-typeset .profile-social-left a:focus,
body.is-home-profile-page .md-typeset .profile-social-left a,
body.is-home-profile-page .md-typeset .profile-social-left a:hover,
body.is-home-profile-page .md-typeset .profile-social-left a:focus,
body:has(.academic-home-layout) .md-typeset .profile-social-left a,
body:has(.academic-home-layout) .md-typeset .profile-social-left a:hover,
body:has(.academic-home-layout) .md-typeset .profile-social-left a:focus {
    width: 1.08rem !important;
    height: 1.08rem !important;
}

body.is-homepage .profile-social-left .social-icon,
body.is-home-profile-page .profile-social-left .social-icon,
body:has(.academic-home-layout) .profile-social-left .social-icon {
    width: 0.96rem !important;
    height: 0.96rem !important;
}

/* ==========================================================================
   About Me
   ========================================================================== */

body.is-homepage .academic-content > .academic-section:first-of-type p,
body.is-homepage .academic-content > .academic-section:first-of-type li,
body:has(.academic-home-layout) .academic-content > .academic-section:first-of-type p,
body:has(.academic-home-layout) .academic-content > .academic-section:first-of-type li {
    color: #1a1a1a !important;
    font-family: var(--edwinos-font-serif) !important;
    font-size: 0.96rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.75 !important;
}

body.is-homepage .academic-content > .academic-section:first-of-type p,
body:has(.academic-home-layout) .academic-content > .academic-section:first-of-type p {
    margin-bottom: 0.72rem !important;
}

body.is-homepage .academic-content > .academic-section:first-of-type strong,
body:has(.academic-home-layout) .academic-content > .academic-section:first-of-type strong {
    color: inherit !important;
    font-family: inherit !important;
    font-weight: 600 !important;
}

body.is-homepage .academic-content > .academic-section:first-of-type a,
body:has(.academic-home-layout) .academic-content > .academic-section:first-of-type a {
    color: #2563eb !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
}

body.is-homepage .academic-content > .academic-section:first-of-type a:hover,
body:has(.academic-home-layout) .academic-content > .academic-section:first-of-type a:hover {
    color: #1d4ed8 !important;
    text-decoration: none !important;
    border-bottom: 0 !important;
}

body[data-md-color-scheme="slate"].is-homepage .academic-content > .academic-section:first-of-type p,
body[data-md-color-scheme="slate"].is-homepage .academic-content > .academic-section:first-of-type li,
body[data-md-color-scheme="slate"]:has(.academic-home-layout) .academic-content > .academic-section:first-of-type p,
body[data-md-color-scheme="slate"]:has(.academic-home-layout) .academic-content > .academic-section:first-of-type li {
    color: #e6edf3 !important;
}

body[data-md-color-scheme="slate"].is-homepage .academic-content > .academic-section:first-of-type a,
body[data-md-color-scheme="slate"]:has(.academic-home-layout) .academic-content > .academic-section:first-of-type a {
    color: #58a6ff !important;
}

body[data-md-color-scheme="slate"].is-homepage .academic-content > .academic-section:first-of-type a:hover,
body[data-md-color-scheme="slate"]:has(.academic-home-layout) .academic-content > .academic-section:first-of-type a:hover {
    color: #79c0ff !important;
}

@media screen and (min-width: 46em) and (max-width: 63.25em) {
    body.is-homepage .profile-avatar,
    body.is-home-profile-page .profile-avatar,
    body:has(.academic-home-layout) .profile-avatar {
        grid-row: 1 / span 5 !important;
    }

    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta {
        grid-column: 2 !important;
        grid-row: 4 !important;
        justify-content: flex-start !important;
        justify-self: start !important;
        flex-wrap: nowrap !important;
        gap: 0.28rem 0.42rem !important;
        width: 100% !important;
        margin: 0.1rem 0 0 !important;
        text-align: left !important;
    }

    body.is-homepage .profile-followers,
    body.is-homepage .profile-followers a,
    body.is-homepage .profile-followers .follower-text,
    body.is-homepage .profile-followers .follower-count,
    body.is-homepage .profile-followers .follower-separator,
    body.is-home-profile-page .profile-followers,
    body.is-home-profile-page .profile-followers a,
    body.is-home-profile-page .profile-followers .follower-text,
    body.is-home-profile-page .profile-followers .follower-count,
    body.is-home-profile-page .profile-followers .follower-separator,
    body:has(.academic-home-layout) .profile-followers,
    body:has(.academic-home-layout) .profile-followers a,
    body:has(.academic-home-layout) .profile-followers .follower-text,
    body:has(.academic-home-layout) .profile-followers .follower-count,
    body:has(.academic-home-layout) .profile-followers .follower-separator,
    body.is-homepage .md-typeset .profile-meta li,
    body.is-homepage .md-typeset .profile-meta a,
    body.is-homepage .md-typeset .profile-meta .meta-text,
    body.is-home-profile-page .md-typeset .profile-meta li,
    body.is-home-profile-page .md-typeset .profile-meta a,
    body.is-home-profile-page .md-typeset .profile-meta .meta-text,
    body:has(.academic-home-layout) .md-typeset .profile-meta li,
    body:has(.academic-home-layout) .md-typeset .profile-meta a,
    body:has(.academic-home-layout) .md-typeset .profile-meta .meta-text {
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    body.is-homepage .profile-social-left,
    body.is-home-profile-page .profile-social-left,
    body:has(.academic-home-layout) .profile-social-left {
        grid-column: 2 !important;
        grid-row: 5 !important;
        justify-content: flex-start !important;
        justify-self: start !important;
        margin-top: 0.28rem !important;
    }
}

@media screen and (min-width: 43em) and (max-width: 45.9375em) {
    body.is-homepage .academic-home-layout .profile-card,
    body.is-home-profile-page .academic-home-layout .profile-card,
    body:has(.academic-home-layout) .academic-home-layout .profile-card {
        display: grid !important;
        row-gap: 0.32rem !important;
        align-items: start !important;
        width: 100% !important;
        text-align: left !important;
    }

    body.is-homepage .profile-avatar,
    body.is-home-profile-page .profile-avatar,
    body:has(.academic-home-layout) .profile-avatar {
        grid-column: 1 !important;
        grid-row: 1 / span 5 !important;
        margin: 0 !important;
    }

    body.is-homepage .profile-name-wrap,
    body.is-home-profile-page .profile-name-wrap,
    body:has(.academic-home-layout) .profile-name-wrap,
    body.is-homepage .profile-actions,
    body.is-home-profile-page .profile-actions,
    body:has(.academic-home-layout) .profile-actions,
    body.is-homepage .profile-followers,
    body.is-home-profile-page .profile-followers,
    body:has(.academic-home-layout) .profile-followers,
    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta,
    body.is-homepage .profile-social-left,
    body.is-home-profile-page .profile-social-left,
    body:has(.academic-home-layout) .profile-social-left {
        grid-column: 2 !important;
        width: 100% !important;
        text-align: left !important;
    }

    body.is-homepage .profile-name-wrap,
    body.is-home-profile-page .profile-name-wrap,
    body:has(.academic-home-layout) .profile-name-wrap {
        grid-row: 1 !important;
        margin-bottom: 0.1rem !important;
    }

    body.is-homepage .profile-actions,
    body.is-home-profile-page .profile-actions,
    body:has(.academic-home-layout) .profile-actions {
        grid-row: 2 !important;
        max-width: 15rem !important;
        margin-bottom: 0.12rem !important;
    }

    body.is-homepage .profile-followers,
    body.is-home-profile-page .profile-followers,
    body:has(.academic-home-layout) .profile-followers {
        grid-row: 3 !important;
        margin-bottom: 0 !important;
    }

    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta {
        grid-row: 4 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0.24rem 0.48rem !important;
        margin: 0.05rem 0 0 !important;
    }

    body.is-homepage .profile-followers,
    body.is-homepage .profile-followers a,
    body.is-home-profile-page .profile-followers,
    body.is-home-profile-page .profile-followers a,
    body:has(.academic-home-layout) .profile-followers,
    body:has(.academic-home-layout) .profile-followers a,
    body.is-homepage .md-typeset .profile-meta li,
    body.is-homepage .md-typeset .profile-meta a,
    body.is-homepage .md-typeset .profile-meta .meta-text,
    body.is-home-profile-page .md-typeset .profile-meta li,
    body.is-home-profile-page .md-typeset .profile-meta a,
    body.is-home-profile-page .md-typeset .profile-meta .meta-text,
    body:has(.academic-home-layout) .md-typeset .profile-meta li,
    body:has(.academic-home-layout) .md-typeset .profile-meta a,
    body:has(.academic-home-layout) .md-typeset .profile-meta .meta-text {
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    body.is-homepage .profile-social-left,
    body.is-home-profile-page .profile-social-left,
    body:has(.academic-home-layout) .profile-social-left {
        grid-row: 5 !important;
        justify-content: flex-start !important;
        margin-top: 0.18rem !important;
    }
}

@media screen and (min-width: 40em) and (max-width: 42.9375em) {
    body.is-homepage .academic-home-layout .profile-card,
    body.is-home-profile-page .academic-home-layout .profile-card,
    body:has(.academic-home-layout) .academic-home-layout .profile-card {
        display: grid !important;
        row-gap: 0.26rem !important;
        align-items: start !important;
        width: 100% !important;
        text-align: left !important;
    }

    body.is-homepage .profile-avatar,
    body.is-home-profile-page .profile-avatar,
    body:has(.academic-home-layout) .profile-avatar {
        grid-column: 1 !important;
        grid-row: 1 / span 5 !important;
        margin: 0 !important;
    }

    body.is-homepage .profile-name-wrap,
    body.is-home-profile-page .profile-name-wrap,
    body:has(.academic-home-layout) .profile-name-wrap,
    body.is-homepage .profile-actions,
    body.is-home-profile-page .profile-actions,
    body:has(.academic-home-layout) .profile-actions,
    body.is-homepage .profile-followers,
    body.is-home-profile-page .profile-followers,
    body:has(.academic-home-layout) .profile-followers,
    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta,
    body.is-homepage .profile-social-left,
    body.is-home-profile-page .profile-social-left,
    body:has(.academic-home-layout) .profile-social-left {
        grid-column: 2 !important;
        width: 100% !important;
        text-align: left !important;
    }

    body.is-homepage .profile-name-wrap,
    body.is-home-profile-page .profile-name-wrap,
    body:has(.academic-home-layout) .profile-name-wrap {
        grid-row: 1 !important;
        margin-bottom: 0.08rem !important;
    }

    body.is-homepage .profile-actions,
    body.is-home-profile-page .profile-actions,
    body:has(.academic-home-layout) .profile-actions {
        grid-row: 2 !important;
        max-width: 13.5rem !important;
        margin-bottom: 0.08rem !important;
    }

    body.is-homepage .profile-followers,
    body.is-home-profile-page .profile-followers,
    body:has(.academic-home-layout) .profile-followers {
        grid-row: 3 !important;
        margin-bottom: 0 !important;
    }

    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta {
        grid-row: 4 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0.2rem 0.42rem !important;
        margin: 0.04rem 0 0 !important;
    }

    body.is-homepage .profile-followers,
    body.is-homepage .profile-followers a,
    body.is-homepage .profile-followers .follower-text,
    body.is-homepage .profile-followers .follower-count,
    body.is-homepage .profile-followers .follower-separator,
    body.is-home-profile-page .profile-followers,
    body.is-home-profile-page .profile-followers a,
    body.is-home-profile-page .profile-followers .follower-text,
    body.is-home-profile-page .profile-followers .follower-count,
    body.is-home-profile-page .profile-followers .follower-separator,
    body:has(.academic-home-layout) .profile-followers,
    body:has(.academic-home-layout) .profile-followers a,
    body:has(.academic-home-layout) .profile-followers .follower-text,
    body:has(.academic-home-layout) .profile-followers .follower-count,
    body:has(.academic-home-layout) .profile-followers .follower-separator,
    body.is-homepage .md-typeset .profile-meta li,
    body.is-homepage .md-typeset .profile-meta a,
    body.is-homepage .md-typeset .profile-meta .meta-text,
    body.is-home-profile-page .md-typeset .profile-meta li,
    body.is-home-profile-page .md-typeset .profile-meta a,
    body.is-home-profile-page .md-typeset .profile-meta .meta-text,
    body:has(.academic-home-layout) .md-typeset .profile-meta li,
    body:has(.academic-home-layout) .md-typeset .profile-meta a,
    body:has(.academic-home-layout) .md-typeset .profile-meta .meta-text {
        min-width: 0 !important;
        white-space: nowrap !important;
    }

    body.is-homepage .profile-social-left,
    body.is-home-profile-page .profile-social-left,
    body:has(.academic-home-layout) .profile-social-left {
        grid-row: 5 !important;
        justify-content: flex-start !important;
        margin-top: 0.12rem !important;
    }
}

/*
 * The top-profile layout has enough horizontal room to retain the desktop
 * avatar through tablet widths. Use one deliberate phone breakpoint instead
 * of the previous 180/152/130/108px staircase.
 */
@media screen and (min-width: 36em) and (max-width: 63.25em) {
    body.is-homepage .academic-home-layout .profile-card,
    body.is-home-profile-page .academic-home-layout .profile-card,
    body:has(.academic-home-layout) .academic-home-layout .profile-card {
        grid-template-columns: 13rem minmax(0, 1fr) !important;
        column-gap: 1.15rem !important;
    }

    body.is-homepage .profile-avatar,
    body.is-home-profile-page .profile-avatar,
    body:has(.academic-home-layout) .profile-avatar {
        max-width: 13rem !important;
    }
}

@media screen and (max-width: 35.9375em) {
    body.is-homepage .academic-home-layout .profile-card,
    body.is-home-profile-page .academic-home-layout .profile-card,
    body:has(.academic-home-layout) .academic-home-layout .profile-card {
        grid-template-columns: 5.4rem minmax(0, 1fr) !important;
        column-gap: 0.85rem !important;
    }

    body.is-homepage .profile-avatar,
    body.is-home-profile-page .profile-avatar,
    body:has(.academic-home-layout) .profile-avatar {
        max-width: 5.4rem !important;
    }
}

body.is-homepage .md-typeset .profile-followers :is(.follower-link, .follower-text, .follower-count, .follower-separator),
body.is-home-profile-page .md-typeset .profile-followers :is(.follower-link, .follower-text, .follower-count, .follower-separator),
body:has(.academic-home-layout) .md-typeset .profile-followers :is(.follower-link, .follower-text, .follower-count, .follower-separator),
body.is-homepage .md-typeset .profile-meta :is(li, a, .meta-text),
body.is-home-profile-page .md-typeset .profile-meta :is(li, a, .meta-text),
body:has(.academic-home-layout) .md-typeset .profile-meta :is(li, a, .meta-text) {
    font-size: 0.78rem !important;
    line-height: 1.38 !important;
}

body.is-homepage .md-typeset .profile-meta,
body.is-home-profile-page .md-typeset .profile-meta,
body:has(.academic-home-layout) .md-typeset .profile-meta {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 0.36rem 0.88rem !important;
    overflow: visible !important;
}

body.is-homepage .md-typeset .profile-meta li,
body.is-home-profile-page .md-typeset .profile-meta li,
body:has(.academic-home-layout) .md-typeset .profile-meta li {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: 100% !important;
    align-items: center !important;
    gap: 0.42rem !important;
}

body.is-homepage .md-typeset .profile-meta .meta-icon,
body.is-home-profile-page .md-typeset .profile-meta .meta-icon,
body:has(.academic-home-layout) .md-typeset .profile-meta .meta-icon {
    flex: 0 0 auto !important;
}

body.is-homepage .md-typeset .profile-meta :is(a, .meta-text),
body.is-home-profile-page .md-typeset .profile-meta :is(a, .meta-text),
body:has(.academic-home-layout) .md-typeset .profile-meta :is(a, .meta-text) {
    min-width: max-content !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

@media screen and (min-width: 26.0625rem) and (max-width: 59.9375rem) {
    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta {
        grid-column: 2 !important;
        grid-row: 4 !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 0.32rem !important;
        margin-top: 0 !important;
    }
}

@media screen and (min-width: 60rem) and (max-width: 63.25em) {
    body.is-homepage .md-typeset .profile-meta {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 0.32rem !important;
    }
}

@media screen and (max-width: 26rem) {
    body.is-homepage .profile-followers,
    body.is-home-profile-page .profile-followers,
    body:has(.academic-home-layout) .profile-followers {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: stretch !important;
        text-align: left !important;
    }

    body.is-homepage .md-typeset .profile-meta,
    body.is-home-profile-page .md-typeset .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-meta {
        grid-column: 1 / -1 !important;
        grid-row: 4 !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 0.32rem !important;
        margin-top: 0 !important;
    }
}

/*
 * Keep the tablet avatar at its intended size without making it span several
 * independent grid rows. The details column now owns its natural rhythm.
 */
.academic-home-layout .profile-details {
    display: contents;
}

@media screen and (min-width: 36rem) and (max-width: 63.25rem) {
    body.is-homepage .academic-home-layout .profile-card,
    body.is-home-profile-page .academic-home-layout .profile-card,
    body:has(.academic-home-layout) .academic-home-layout .profile-card {
        grid-template-columns: 13rem minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        column-gap: 1.15rem !important;
        align-items: start !important;
    }

    body.is-homepage .profile-avatar,
    body.is-home-profile-page .profile-avatar,
    body:has(.academic-home-layout) .profile-avatar {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 13rem !important;
        max-width: 13rem !important;
        margin: 0 !important;
    }

    body.is-homepage .profile-details,
    body.is-home-profile-page .profile-details,
    body:has(.academic-home-layout) .profile-details {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        min-width: 0 !important;
        width: 100% !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.46rem !important;
        text-align: left !important;
    }

    body.is-homepage .profile-details > *,
    body.is-home-profile-page .profile-details > *,
    body:has(.academic-home-layout) .profile-details > * {
        width: 100% !important;
        margin: 0 !important;
    }

    body.is-homepage .profile-details .profile-actions,
    body.is-home-profile-page .profile-details .profile-actions,
    body:has(.academic-home-layout) .profile-details .profile-actions {
        max-width: 14rem !important;
    }

    body.is-homepage .profile-details .profile-followers,
    body.is-home-profile-page .profile-details .profile-followers,
    body:has(.academic-home-layout) .profile-details .profile-followers,
    body.is-homepage .profile-details .profile-social-left,
    body.is-home-profile-page .profile-details .profile-social-left,
    body:has(.academic-home-layout) .profile-details .profile-social-left {
        justify-self: auto !important;
        text-align: left !important;
    }

    body.is-homepage .md-typeset .profile-details .profile-meta,
    body.is-home-profile-page .md-typeset .profile-details .profile-meta,
    body:has(.academic-home-layout) .md-typeset .profile-details .profile-meta {
        display: flex !important;
        min-width: 0 !important;
        width: 100% !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.32rem !important;
    }

    body.is-homepage .profile-details .profile-social-left,
    body.is-home-profile-page .profile-details .profile-social-left,
    body:has(.academic-home-layout) .profile-details .profile-social-left {
        margin-top: 0.06rem !important;
    }
}

/* ========================================================================
   Education card responsive image
   ======================================================================== */

@media screen and (min-width: 36.0625rem) and (max-width: 48em) {
    body.is-homepage .education-card,
    body.is-home-profile-page .education-card,
    body:has(.academic-home-layout) .education-card {
        grid-template-columns: 5.4rem minmax(0, 1fr) !important;
        gap: 0.95rem !important;
        align-items: center !important;
        justify-items: stretch !important;
        text-align: left !important;
    }

    body.is-homepage .education-logo,
    body.is-home-profile-page .education-logo,
    body:has(.academic-home-layout) .education-logo {
        display: flex !important;
        width: 4.4rem !important;
        height: 4.4rem !important;
        margin: 0 !important;
    }

    body.is-homepage .education-info,
    body.is-home-profile-page .education-info,
    body:has(.academic-home-layout) .education-info {
        width: auto !important;
        min-width: 0 !important;
    }
}

@media screen and (max-width: 36rem) {
    body.is-homepage .education-card,
    body.is-home-profile-page .education-card,
    body:has(.academic-home-layout) .education-card {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0.9rem !important;
        justify-items: stretch !important;
        text-align: left !important;
    }

    body.is-homepage .education-logo,
    body.is-home-profile-page .education-logo,
    body:has(.academic-home-layout) .education-logo {
        display: none !important;
    }

    body.is-homepage .education-info,
    body.is-home-profile-page .education-info,
    body:has(.academic-home-layout) .education-info {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* ==========================================================================
   Recent News first-line alignment
   ========================================================================== */

body.is-homepage .news-list li,
body.is-home-profile-page .news-list li,
body:has(.academic-home-layout) .news-list li {
    display: grid !important;
    grid-template-columns: 5.2rem minmax(0, 1fr) !important;
    column-gap: 0.8rem !important;
    row-gap: 0 !important;
    align-items: baseline !important;
    align-items: first baseline !important;
}

body.is-homepage .news-date,
body.is-homepage .news-text,
body.is-home-profile-page .news-date,
body.is-home-profile-page .news-text,
body:has(.academic-home-layout) .news-date,
body:has(.academic-home-layout) .news-text {
    display: block !important;
    margin-top: 0 !important;
}

body.is-homepage .news-date,
body.is-home-profile-page .news-date,
body:has(.academic-home-layout) .news-date {
    align-self: baseline !important;
    align-self: first baseline !important;
    white-space: nowrap !important;
}

body.is-homepage .news-text,
body.is-home-profile-page .news-text,
body:has(.academic-home-layout) .news-text {
    align-self: baseline !important;
    align-self: first baseline !important;
    min-width: 0 !important;
}

/* ==========================================================================
   Experiences timeline axis lock
   ========================================================================== */

body.is-homepage .timeline-cv,
body.is-home-profile-page .timeline-cv,
body:has(.academic-home-layout) .timeline-cv {
    --cv-axis-x: 7px;
    --cv-marker-size: 14px;
    position: relative !important;
    padding-left: 41px !important;
    border-left: 0 !important;
}

body.is-homepage .timeline-cv::before,
body.is-home-profile-page .timeline-cv::before,
body:has(.academic-home-layout) .timeline-cv::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: var(--cv-axis-x) !important;
    width: 1px !important;
    background: var(--academic-card-border) !important;
    transform: translateX(-0.5px) !important;
}

body.is-homepage .cv-item,
body.is-home-profile-page .cv-item,
body:has(.academic-home-layout) .cv-item {
    position: relative !important;
    padding-left: 0 !important;
}

body.is-homepage .cv-marker,
body.is-home-profile-page .cv-marker,
body:has(.academic-home-layout) .cv-marker {
    box-sizing: border-box !important;
    top: 0.32rem !important;
    left: calc(var(--cv-axis-x) - var(--cv-marker-size) / 2 - 41px) !important;
    width: var(--cv-marker-size) !important;
    height: var(--cv-marker-size) !important;
    z-index: 1 !important;
}

/* ==========================================================================
   Article Headings
   ========================================================================== */

/*
 * Give both Introduction hubs and every child note the same compact opening
 * rhythm. Reset each contributing layout layer explicitly so the first H1 sits
 * about 0.625 of its 2.6rem line-height below the fixed header. Canonical URLs
 * are server-rendered, so there is no JavaScript-dependent first-paint jump.
 */
html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
body .md-main__inner,
html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-main__inner {
    margin-top: clamp(1.25rem, calc(1.05rem + 0.45vw), 1.5rem) !important;
}

html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
body .md-content,
html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content {
    padding-top: 0 !important;
}

html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
body .md-content__inner,
html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner {
    padding-top: 0 !important;
    animation: none !important;
}

html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
body .md-content__inner::before,
html:has(> head > link[rel="canonical"][href*="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner::before {
    display: none !important;
    content: none !important;
}

/*
 * Match the two Introduction hubs to the handwritten Overview section title
 * without changing article headings or navigation typography.
 */
html:has(> head > link[rel="canonical"][href$="/OsdNotes/"])
body .md-content__inner.md-typeset
:is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .intro-card-grid > ul > li > p:first-child strong,
    .admonition-title
),
html:has(> head > link[rel="canonical"][href$="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner.md-typeset
:is(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .intro-card-grid > ul > li > p:first-child strong,
    .admonition-title
) {
    font-family: var(--edwinos-font-hand) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html:has(> head > link[rel="canonical"][href$="/OsdNotes/"])
body .md-content__inner.md-typeset h1,
html:has(> head > link[rel="canonical"][href$="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner.md-typeset h1 {
    line-height: 1.12 !important;
}

html:has(> head > link[rel="canonical"][href$="/OsdNotes/"])
body .md-content__inner.md-typeset h2,
html:has(> head > link[rel="canonical"][href$="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner.md-typeset h2 {
    line-height: 1.16 !important;
}

html:has(> head > link[rel="canonical"][href$="/OsdNotes/"])
body .md-content__inner.md-typeset :is(h3, h4, h5, h6),
html:has(> head > link[rel="canonical"][href$="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner.md-typeset :is(h3, h4, h5, h6) {
    line-height: 1.2 !important;
}

html:has(> head > link[rel="canonical"][href$="/OsdNotes/"])
body .md-content__inner.md-typeset
:is(.intro-card-grid > ul > li > p:first-child strong, .admonition-title),
html:has(> head > link[rel="canonical"][href$="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
body .md-content__inner.md-typeset
:is(.intro-card-grid > ul > li > p:first-child strong, .admonition-title) {
    font-size: 1.05rem !important;
    line-height: 1.15 !important;
}

/* Keep the MATLAB comparison heading stable before and after Material wraps
   its preceding table for horizontal scrolling. */
html:has(> head > link[rel="canonical"][href$="/OsdNotes/CS101/MATLAB/"])
body .md-content__inner > table:not([class]) + h2#matlab-python,
html:has(> head > link[rel="canonical"][href$="/OsdNotes/CS101/MATLAB/"])
body .md-content__inner > .md-typeset__scrollwrap + h2#matlab-python {
    margin-top: 2em !important;
    transition: none !important;
}

/* ==========================================================================
   Prose Links
   ========================================================================== */

/* Keep prose-link colors, hover highlights, and focus outlines without lines. */
.md-content__inner.md-typeset
:is(p, li, dd, blockquote):not(:where(.grid.cards *, [class*="card"], [class*="card"] *))
a:not(:where(.headerlink, .md-button, [role="button"], [class*="btn-"])) {
    text-decoration: none !important;
    border-bottom: 0 !important;
}

/* ==========================================================================
   Content Hubs
   ========================================================================== */

@media screen and (min-width: 76.25em) {
    html:has(> head > link[rel="canonical"][href*="/OsdNotes/"])
    body .md-sidebar--primary
    .md-nav--primary > .md-nav__list
    > .md-nav__item--active.md-nav__item--section
    > .md-nav__container,
    html:has(> head > link[rel="canonical"][href$="/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/"])
    body .md-sidebar--primary
    .md-nav--primary > .md-nav__list
    > .md-nav__item--active.md-nav__item--section
    > .md-nav__container {
        display: none !important;
    }
}

.md-typeset .intro-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-block: 1rem 1.25rem;
}

.md-typeset .intro-card-grid > ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.md-typeset .intro-card-grid > ul > li {
    display: block !important;
    min-width: 0;
    margin: 0 !important;
    list-style: none !important;
}

.md-typeset .intro-card-grid > ul > li::marker {
    content: "";
}

@media screen and (max-width: 59.984375em) {
    .md-typeset .intro-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md-typeset .intro-card-grid > ul > li:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}

@media screen and (max-width: 44.984375em) {
    .md-typeset .intro-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .md-typeset .intro-card-grid > ul > li:last-child:nth-child(odd) {
        grid-column: auto;
    }
}

/* ==========================================================================
   Personalities
   ========================================================================== */

.academic-home-layout .academic-content .personalities-list li {
    border-bottom: 0 !important;
}

/* ==========================================================================
   Visitor Footer
   ========================================================================== */

.academic-home-layout .academic-content .visitor-meta-footer {
    box-sizing: border-box;
    width: 100%;
    margin: 1.65rem 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--academic-card-border);
}

.academic-home-layout .academic-content .visitor-meta-footer__signature {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--academic-muted);
    font-family: var(--edwinos-font-mono);
    font-size: 0.68rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.3;
    text-align: center;
}

.academic-home-layout .academic-content .visitor-meta-footer__separator {
    color: var(--academic-card-border);
}

.academic-home-layout .academic-content .visitor-container.visitor-badge-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 1rem 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

.academic-home-layout .academic-content .visitor-badge-link {
    display: inline-flex !important;
    flex: 0 1 auto;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100%;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0;
    border: 0 !important;
    border-radius: 0.2rem;
    line-height: 0;
    text-decoration: none !important;
}

.academic-home-layout .academic-content .visitor-badge-link:focus-visible {
    outline: 2px solid var(--academic-accent);
    outline-offset: 3px;
    box-shadow: 0 0 0 1px var(--academic-card-bg);
}

.academic-home-layout .academic-content .visitor-badge-image {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain;
}

.academic-home-layout .academic-content .visitor-badge-image[hidden] {
    display: none !important;
}

.academic-home-layout .academic-content .visitor-badge-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.25rem;
    max-width: 100%;
    padding: 0;
    color: var(--academic-muted);
    font-family: var(--edwinos-font-mono);
    font-size: 0.68rem;
    font-weight: 400;
    line-height: 1.35;
    text-align: center;
}

@media screen and (max-width: 28rem) {
    .academic-home-layout .academic-content .visitor-meta-footer {
        margin-top: 1.35rem;
        padding-top: 1rem;
    }

    .academic-home-layout .academic-content .visitor-meta-footer__signature {
        gap: 0.32rem;
        font-size: 0.66rem;
    }

    .academic-home-layout .academic-content .visitor-container.visitor-badge-panel {
        margin-top: 0.85rem !important;
    }
}
