Spaces:
Running
Running
| /* ============================================================================ */ | |
| /* Layout – 3-column grid (Table of Contents / Article / Aside) */ | |
| /* ============================================================================ */ | |
| .content-grid { | |
| max-width: 1280px; | |
| margin: 0 auto; | |
| padding: 0 var(--content-padding-x); | |
| margin-top: 40px; | |
| display: grid; | |
| grid-template-columns: 260px minmax(0, 680px) 260px; | |
| gap: 32px; | |
| align-items: start; | |
| } | |
| .content-grid>main { | |
| max-width: 100%; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| .content-grid>main>*:first-child { | |
| margin-top: 0; | |
| } | |
| @media (--bp-content-collapse) { | |
| .content-grid { | |
| overflow: hidden; | |
| display: block; | |
| margin-top: var(--spacing-2); | |
| } | |
| .content-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .table-of-contents { | |
| position: static; | |
| display: none; | |
| } | |
| .toc-mobile-toggle { | |
| display: flex; | |
| } | |
| .toc-mobile-backdrop { | |
| display: block; | |
| } | |
| .toc-mobile-sidebar { | |
| display: flex; | |
| } | |
| .footer-inner { | |
| grid-template-columns: 1fr; | |
| gap: 16px; | |
| } | |
| .footer-inner>.footer-heading { | |
| grid-column: auto; | |
| margin-top: 16px; | |
| } | |
| .footer-inner { | |
| display: block; | |
| padding: 40px 16px; | |
| } | |
| } | |
| /* ============================================================================ */ | |
| /* Width helpers – slightly wider than main column, and full-width to viewport */ | |
| /* ---------------------------------------------------------------------------- */ | |
| .wide, | |
| .full-width { | |
| box-sizing: border-box; | |
| position: relative; | |
| z-index: var(--z-elevated); | |
| background-color: var(--page-bg); | |
| } | |
| .wide { | |
| /* Target up to ~1100px while staying within viewport minus page gutters */ | |
| width: min(1100px, 100vw - var(--content-padding-x) * 4); | |
| margin-left: 50%; | |
| transform: translateX(-50%); | |
| padding: calc(var(--content-padding-x)*4); | |
| border-radius: calc(var(--button-radius)*4); | |
| background-color: var(--page-bg); | |
| -webkit-mask: | |
| linear-gradient(to right, transparent 0px, black 20px, black calc(100% - 20px), transparent 100%), | |
| linear-gradient(to bottom, transparent 0px, black 20px, black calc(100% - 20px), transparent 100%); | |
| -webkit-mask-composite: intersect; | |
| mask: | |
| linear-gradient(to right, transparent 0px, black 20px, black calc(100% - 20px), transparent 100%), | |
| linear-gradient(to bottom, transparent 0px, black 20px, black calc(100% - 20px), transparent 100%); | |
| mask-composite: intersect; | |
| } | |
| .wide>* { | |
| margin-bottom: 0 ; | |
| } | |
| .full-width { | |
| /* Span the full viewport width and center relative to viewport */ | |
| width: 100vw; | |
| margin-left: calc(50% - 50vw); | |
| margin-right: calc(50% - 50vw); | |
| padding: calc(var(--content-padding-x)*4); | |
| border-radius: calc(var(--button-radius)*4); | |
| background-color: var(--page-bg); | |
| -webkit-mask: | |
| linear-gradient(to bottom, transparent 0px, black 20px, black calc(100% - 20px), transparent 100%); | |
| mask: | |
| linear-gradient(to bottom, transparent 0px, black 20px, black calc(100% - 20px), transparent 100%); | |
| } | |
| .full-width figure figcaption { | |
| text-align: center ; | |
| } | |
| @media (--bp-content-collapse) { | |
| .wide, | |
| .full-width { | |
| width: 100%; | |
| margin-left: 0; | |
| margin-right: 0; | |
| padding: 0; | |
| transform: none; | |
| } | |
| } | |
| /* ============================================================================ */ | |
| /* Theme toggle placement */ | |
| /* ============================================================================ */ | |
| #theme-toggle { | |
| position: absolute; | |
| top: var(--spacing-4); | |
| left: var(--spacing-4); | |
| margin: 0; | |
| z-index: var(--z-overlay); | |
| width: 40px; | |
| height: 40px; | |
| border-radius: 50%; | |
| border: 1px solid var(--border-color); | |
| background: var(--page-bg); | |
| box-shadow: 0 2px 12px rgba(0,0,0,.08); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| padding: 0; | |
| cursor: pointer; | |
| color: var(--text-color); | |
| transition: transform 150ms ease, box-shadow 150ms ease; | |
| } | |
| #theme-toggle:active { | |
| transform: scale(0.92); | |
| } | |
| @media (--bp-content-collapse) { | |
| #theme-toggle { | |
| display: none; | |
| } | |
| } | |
| /* ------------------------------------------------------------------------- */ | |
| /* Hero meta bar responsiveness */ | |
| /* Two columns at collapse breakpoint, then one column below small screens */ | |
| /* ------------------------------------------------------------------------- */ | |
| @media (--bp-md) { | |
| header.meta .meta-container { | |
| display: flex; | |
| flex-wrap: wrap; | |
| row-gap: 12px; | |
| column-gap: 8px; | |
| max-width: 100%; | |
| padding: 0 var(--spacing-4); | |
| } | |
| header.meta .meta-container .meta-container-cell { | |
| flex: 1 1 calc(50% - 8px); | |
| min-width: 0; | |
| } | |
| } | |
| @media (--bp-xxs) { | |
| header.meta .meta-container .meta-container-cell { | |
| flex-basis: 100%; | |
| text-align: center; | |
| } | |
| /* Center ordered list numbers within meta (e.g., affiliations) */ | |
| header.meta .affiliations { | |
| list-style-position: inside; | |
| padding-left: 0; | |
| margin-left: 0; | |
| } | |
| header.meta .affiliations li { | |
| text-align: center; | |
| } | |
| } | |
| /* ------------------------------------------------------------------------- */ | |
| /* D3 neural embed responsiveness */ | |
| /* Stack canvas (left) over network (right) on small screens */ | |
| /* ------------------------------------------------------------------------- */ | |
| @media (--bp-md) { | |
| .d3-neural .panel { | |
| flex-direction: column; | |
| } | |
| .d3-neural .panel .left { | |
| flex: 0 0 auto; | |
| width: 100%; | |
| } | |
| .d3-neural .panel .right { | |
| flex: 0 0 auto; | |
| width: 100%; | |
| min-width: 0; | |
| } | |
| } | |
| /* ============================================================================ */ | |
| /* Auto figure numbering */ | |
| /* Applies a CSS counter across all figure-bearing components: */ | |
| /* Reference (.reference-wrapper), Image (.image-wrapper figure), */ | |
| /* and HtmlEmbed (.html-embed) */ | |
| /* ============================================================================ */ | |
| .content-grid > main { | |
| counter-reset: figure; | |
| } | |
| /* Increment on every figure-like component */ | |
| .content-grid > main .reference-wrapper, | |
| .content-grid > main .image-wrapper > figure, | |
| .content-grid > main figure.html-embed { | |
| counter-increment: figure; | |
| } | |
| /* Display "Figure N · " before each figcaption */ | |
| .content-grid > main .reference-wrapper .reference__caption::before, | |
| .content-grid > main .image-wrapper > figure > figcaption::before, | |
| .content-grid > main figure.html-embed > .html-embed__desc::before { | |
| content: "Figure " counter(figure) " · "; | |
| font-weight: 600; | |
| } | |
| /* ============================================================================ */ | |
| /* "paper" template - academic project-page layout (single centered column) */ | |
| /* Activated by frontmatter `template: "paper"` -> data-template="paper" */ | |
| /* Reference: academic project pages like diffusion-cot.github.io */ | |
| /* ============================================================================ */ | |
| /* ---- Paper hero banner: placed between meta and content in index.astro ---- */ | |
| .paper-hero-banner { | |
| max-width: 920px; | |
| margin: 32px auto 0; | |
| padding: 0 16px; | |
| } | |
| .paper-hero-banner :global(.html-embed) { | |
| border-radius: 8px; | |
| overflow: hidden; | |
| } | |
| .paper-hero-banner :global(.html-embed__card) { | |
| border-radius: 8px; | |
| } | |
| /* Thin separator between banner area and content */ | |
| [data-template="paper"] .paper-hero-banner + .content-grid { | |
| margin-top: 48px; | |
| border-top: 1px solid var(--border-color); | |
| padding-top: 40px; | |
| } | |
| /* When no banner, separator is directly below meta */ | |
| [data-template="paper"] .meta + .content-grid, | |
| [data-template="paper"] .hero-paper-meta + .content-grid { | |
| margin-top: 32px; | |
| border-top: 1px solid var(--border-color); | |
| padding-top: 40px; | |
| } | |
| /* ---- Content grid: single centered column, no TOC ---- */ | |
| [data-template="paper"] .content-grid { | |
| grid-template-columns: minmax(0, 780px); | |
| justify-content: center; | |
| margin-top: 0; | |
| } | |
| [data-template="paper"] .table-of-contents { | |
| display: none; | |
| } | |
| /* ---- Typography: clean left-aligned headings ---- */ | |
| [data-template="paper"] .content-grid > main h2 { | |
| text-align: left; | |
| font-size: 1.75em; | |
| font-weight: 700; | |
| margin-top: 2.5em; | |
| margin-bottom: 0.8em; | |
| border-bottom: none; | |
| padding-bottom: 0; | |
| } | |
| [data-template="paper"] .content-grid > main h2 a { | |
| background: none; | |
| } | |
| [data-template="paper"] .content-grid > main h2:first-child, | |
| [data-template="paper"] .content-grid > main > *:first-child h2 { | |
| margin-top: 0; | |
| } | |
| [data-template="paper"] .content-grid > main h3 { | |
| font-size: 1.3em; | |
| font-weight: 600; | |
| margin-top: 2em; | |
| margin-bottom: 0.6em; | |
| } | |
| /* ---- No figure numbering ---- */ | |
| [data-template="paper"] .content-grid > main { | |
| counter-reset: none; | |
| } | |
| [data-template="paper"] .content-grid > main .reference-wrapper .reference__caption::before, | |
| [data-template="paper"] .content-grid > main .image-wrapper > figure > figcaption::before, | |
| [data-template="paper"] .content-grid > main figure.html-embed > .html-embed__desc::before { | |
| content: none; | |
| } | |
| /* ---- Footer: simple single-column block layout ---- */ | |
| [data-template="paper"] .footer-inner { | |
| display: block; | |
| max-width: 780px; | |
| } | |
| [data-template="paper"] .references-block > .footer-heading, | |
| [data-template="paper"] .reuse-block > .footer-heading { | |
| text-align: left; | |
| padding-right: 0; | |
| margin-top: 16px; | |
| margin-bottom: 8px; | |
| } | |
| [data-template="paper"] .template-credit p { | |
| margin-top: 32px; | |
| } |