@font-face {
  font-family: "Be Present Serif";
  src: url("assets/InstrumentSerif-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Shared site skins: retain content, geometry and page interactions. */
.site-themed .home-theme-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 7px;
  background: rgba(3, 5, 16, .8);
  pointer-events: auto;
}
.site-themed .home-theme-swatch {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  cursor: pointer;
}
.site-themed .home-theme-swatch.is-active,
.site-themed .home-theme-swatch:focus-visible { border-color: var(--paper, #fff); }
.site-themed .home-theme-color {
  display: block;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 3px;
}
.home-theme-color--refined { background: linear-gradient(135deg, #fff 0 65%, #ff6a57 65%); }
.home-theme-color--yearbook {
  background: linear-gradient(135deg, #efe5be 0 55%, #24486f 55% 80%, #7c1f1f 80%);
}

.home-theme-color--pancake {
  background: linear-gradient(135deg, #ffec00 0 45%, #075da8 45% 72%, #d7190b 72%);
}

body.site-themed[data-home-theme="yearbook"] {
  --paper: #2e2a22;
  --paper-strong: #213b63;
  --ink: #2e2a22;
  --dark: #fff8df;
  --lime: #24486f;
  --cyan: #213b63;
  --coral: #7c1f1f;
  --skin-muted: #665d4a;
  --skin-line: #9a8e6d;
  --skin-surface: #fffbed;
  --skin-header: #efe5be;
  --skin-action: #24486f;
  --skin-action-text: #fff8df;
  --skin-shadow: 0 0 0 3px #c6b992;
  --skin-copy-wash: #f3efd9;
  background: #d8d2bd url("data:image/gif;base64,R0lGODlhBAAEAIAAAP///9nY2CH5BAAAAAAALAAAAAAEAAQAAAIFhI+pWAA7") repeat;
  background-blend-mode: multiply;
  font-family: SimSun, "Songti SC", "Times New Roman", serif;
}

body.site-themed[data-home-theme="pancake"] {
  --paper: #251d12;
  --paper-strong: #c5170c;
  --ink: #251d12;
  --dark: #ffffff;
  --lime: #d7190b;
  --cyan: #075da8;
  --coral: #c5170c;
  --skin-muted: #62451e;
  --skin-line: #e49200;
  --skin-surface: #fff4a8;
  --skin-header: #ffec00;
  --skin-action: #d7190b;
  --skin-action-text: #ffffff;
  --skin-shadow: 7px 7px 0 rgba(50, 20, 0, 0.25);
  --skin-copy-wash: #fff4a8;
  background-color: #f5df8e;
  background-image: linear-gradient(rgba(255, 248, 202, 0.78), rgba(255, 248, 202, 0.78)), url("assets/theme-pancake-background.webp");
  background-size: 210px auto;
  background-repeat: repeat;
  font-family: Arial, "Microsoft YaHei", sans-serif;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) #heroCanvas {
  opacity: 0;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .hero-sticky::after {
  background: transparent;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.hero-name, .hero-summary h2, .section-heading :is(h1, h2), .contact-section .section-heading :is(h1, h2)) {
  color: var(--paper-strong);
  background: none;
  text-shadow: none;
}

.site-themed[data-home-theme="yearbook"] :is(h1, h2, h3) {
  font-family: SimHei, "Microsoft YaHei", sans-serif;
}

.site-themed[data-home-theme="pancake"] .hero-copy h1 {
  color: #c5170c;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.section-heading p:last-child, .contact-section .section-heading p:last-child, .hero-stat span, .blog-card p, .card-label, .feature-card h3 + p, .business-name, .business-links span, .identity-kicker, .site-footer) {
  color: var(--skin-muted);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.hero-stat, .business-entry) {
  border-color: var(--skin-line);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .hero-scroll-cue,
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .hero-scroll-cue span::after {
  color: var(--coral);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.site-nav, .more-toggle, .language-switch, .home-theme-switch, .more-dropdown, .donate-submenu) {
  border-color: var(--skin-line);
  border-radius: 0;
  background: var(--skin-header);
  box-shadow: inset 0 1px 0 #fff, 2px 2px 0 rgba(50, 20, 0, 0.15);
  backdrop-filter: none;
}

.site-themed[data-home-theme="yearbook"] .site-nav {
  background: #24486f;
  box-shadow: inset 0 1px 0 #6f8bad, inset 0 -1px 0 #17314e;
}

.site-themed[data-home-theme="pancake"] .site-nav {
  background: linear-gradient(#1873c6, #064887);
  border-color: #ffec00;
  box-shadow: inset 0 2px 0 #ffec00, inset 0 -2px 0 #ffec00;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .site-nav a {
  color: var(--skin-action-text);
  border-radius: 0;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .site-nav a + a::before {
  background: rgba(255, 255, 255, 0.3);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.site-nav a:hover, .site-nav a:focus-visible) {
  color: #fff8df;
  background: var(--coral);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.lang-button.is-active, .lang-button:hover, .lang-button:focus-visible) {
  color: var(--skin-action-text);
  background: var(--skin-action);
  border-radius: 0;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .home-theme-swatch.is-active {
  border-color: var(--skin-action);
  background: var(--skin-surface);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.avatar-front, .avatar-back) {
  background: var(--skin-surface);
  color: var(--paper);
  backdrop-filter: none;
  border-color: var(--skin-line);
  box-shadow: inset 0 0 0 3px var(--skin-header), 4px 4px 0 rgba(50, 20, 0, 0.2);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .avatar-front::after {
  background: linear-gradient(var(--skin-surface), transparent 28%);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .identity-rings span {
  border-color: var(--skin-line);
  color: var(--coral);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .identity-lines {
  background: repeating-linear-gradient(0deg, var(--skin-line) 0 1px, transparent 1px 26px);
  opacity: 0.24;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.project-card, .blog-card) {
  color: var(--paper);
  border-color: var(--skin-line);
  border-radius: 0;
  background-color: var(--skin-surface);
  box-shadow: var(--skin-shadow);
  backdrop-filter: none;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .feature-card {
  --skin-cover: url("assets/project-classroom-credit.png");
  background-image: linear-gradient(90deg, var(--skin-copy-wash) 0%, var(--skin-copy-wash) 36%, transparent 100%), linear-gradient(0deg, var(--skin-copy-wash), transparent 92%), var(--skin-cover);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .tower-card {
  --skin-cover: url("assets/cover_toweroff.png");
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .uit-prepare-card {
  --skin-cover: url("assets/travel-globe-preview.png");
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .project-library-card {
  background: var(--skin-surface);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.project-card:hover, .blog-card:hover) {
  border-color: var(--skin-action);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .project-card::after {
  background: var(--skin-action);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.project-cta, .email-contact, .back-to-top) {
  border-color: var(--skin-line);
  border-radius: 0;
  color: var(--skin-action-text);
  background: var(--skin-action);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.5), 2px 2px 0 rgba(50, 20, 0, 0.2);
  backdrop-filter: none;
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.project-card:hover .project-cta, .project-card:focus-visible .project-cta, .email-contact:hover, .email-contact:focus-visible, .back-to-top:hover, .back-to-top:focus-visible) {
  background: var(--coral);
  color: #ffffff;
  border-color: var(--coral);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .library-card-preview {
  border-color: var(--skin-line);
  border-radius: 0;
  background: var(--skin-header);
  box-shadow: var(--skin-shadow);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .library-card-preview span {
  border-color: var(--skin-line);
  border-radius: 0;
  background: linear-gradient(135deg, var(--skin-surface), var(--skin-header));
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .library-card-preview::before {
  border-radius: 0;
  background: var(--skin-action);
}

.site-themed[data-home-theme="pancake"] #blog .blog-card {
  background: #cbeaff;
  border-color: #075da8;
  box-shadow: inset 0 0 0 2px #fff, var(--skin-shadow);
}

.site-themed[data-home-theme="pancake"] #contact {
  background: rgba(255, 210, 221, 0.88);
}

.site-themed[data-home-theme="pancake"] .avatar-back {
  background: linear-gradient(110deg, #fff 55%, #ffcd34 55%);
}

/* Original Pancake Control finishes; inset shadows preserve control dimensions. */
.site-themed[data-home-theme="pancake"] .hero-intro::before {
  position: absolute;
  inset: -24px;
  z-index: -1;
  content: "";
  background: linear-gradient(110deg, #fff 55%, #ffcd34 55%);
  outline: 5px ridge #e49200;
  pointer-events: none;
}

.site-themed[data-home-theme="pancake"] .site-nav {
  box-shadow: inset 0 3px 0 #ffec00, inset 0 -3px 0 #ffec00;
}

.site-themed[data-home-theme="pancake"] .site-nav a {
  box-shadow: -1px 0 0 #89bdea, 1px 0 0 #003a70;
}

.site-themed[data-home-theme="pancake"] :is(.site-nav a:hover, .site-nav a:focus-visible) {
  color: #ffff00;
  background: #c40000;
}

.site-themed[data-home-theme="pancake"] :is(.more-toggle, .language-switch, .home-theme-switch, .more-dropdown, .donate-submenu) {
  background: #e4e4e4;
  border-color: #c8c8c8;
  box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #888, 3px 3px 0 rgba(0, 0, 0, 0.25);
}

.site-themed[data-home-theme="pancake"] :is(.project-cta, .email-contact, .back-to-top, .lang-button.is-active) {
  color: #fff;
  background: #d7190b;
  border-color: #ffca83;
  box-shadow: inset 2px 2px 0 #ffca83, inset -2px -2px 0 #8e160b;
}

.site-themed[data-home-theme="pancake"] :is(.project-cta:active, .email-contact:active, .more-toggle:active, .lang-button:active) {
  box-shadow: inset 2px 2px 0 #8e160b, inset -2px -2px 0 #ffca83;
}

.site-themed[data-home-theme="pancake"] :is(.project-card, #blog .blog-card) {
  border-color: #222;
  box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 4px #222, 7px 7px 0 rgba(50, 20, 0, 0.25);
}

.site-themed[data-home-theme="pancake"] #blog .blog-card h3 {
  color: #fff;
  background: #ad160c;
  box-shadow: 8px 0 0 #ad160c, -8px 0 0 #ad160c;
}

.site-themed[data-home-theme="pancake"] #contact {
  background: #ffd2dd;
}

.site-themed[data-home-theme="pancake"] .library-card-preview span {
  background: url("assets/theme-pancake-hero.webp") center / cover no-repeat;
}

.site-themed[data-home-theme="pancake"] .library-card-preview span:nth-child(2n) {
  background-image: url("assets/theme-pancake-product.webp");
}

.site-themed[data-home-theme="pancake"] .feature-card {
  --skin-cover: url("assets/theme-pancake-hero.webp");
}

.site-themed[data-home-theme="pancake"] .tower-card {
  --skin-cover: url("assets/theme-pancake-product.webp");
}

.site-themed[data-home-theme="pancake"] .uit-prepare-card {
  --skin-cover: url("assets/theme-pancake-background.webp");
}

.site-themed[data-home-theme="pancake"] .project-library-card {
  --skin-cover: url("assets/theme-pancake-product.webp");
  background: linear-gradient(90deg, var(--skin-copy-wash), transparent 100%), linear-gradient(0deg, var(--skin-copy-wash), transparent 92%), var(--skin-cover) center / cover no-repeat;
}

.site-themed[data-home-theme="pancake"] .hero-stat {
  background: #fff4a8;
  box-shadow: inset 0 0 0 1px #e49200, 4px 4px 0 rgba(50, 20, 0, 0.25);
}

@media (max-width: 620px) {
  .site-themed[data-home-theme="pancake"] .hero-intro::before {
    inset: -12px -6px;
    outline-width: 3px;
  }
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.social-links a, .social-links a:hover, .social-links a:focus-visible) {
  border-color: var(--skin-line);
  background: var(--skin-action);
}

.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.devlog-panel, .game-language-dialog) {
  color: var(--paper);
  background: var(--skin-surface);
  border-color: var(--skin-line);
  border-radius: 0;
  box-shadow: var(--skin-shadow);
}

/* Keep the published log's version headings white, as on every other theme. */
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .devlog-panel {
  --paper: #f6f7f2;
  --lime: #ffffff;
  color: #f6f7f2;
  background: #0a0e22;
}

@media (min-width: 901px) {
  .site-themed .site-nav { gap: clamp(12px, 2.2vw, 34px); }
  .site-themed .site-nav a + a::before { left: calc(clamp(12px, 2.2vw, 34px) / -2); }
}

/* Inner pages share the palettes, not the homepage's layout. */
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) {
  --muted: var(--skin-muted);
  --line: var(--skin-line);
  --panel: var(--skin-surface);
  color: var(--paper);
  color-scheme: light;
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.archive-toolbar, .archive-game-filters, .archive-card, .project-page-shell, .project-detail-dialog, .reader-panel, .thought-panel, .intro-mode-panel, .globe-loading, .field-preview, .field-dialog-shell::before, .media-placeholder) {
  color: var(--paper);
  background: var(--skin-surface);
  border-color: var(--skin-line);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.archive-count, .archive-card-summary, .archive-card-created, .archive-empty, .game-filter-heading, .game-filter-actions button, .project-detail-meta span, .project-detail-section p, .project-update-list, .project-team-list li, .published-comments, .project-comment-form label > span, .report-copy p, .report-location, .report-kicker, .intro-mode-panel > p:last-of-type) {
  color: var(--skin-muted);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.archive-filter, .game-genre-filter, .project-team-list li, .project-detail-meta div, .project-comment-form input, .project-comment-form textarea, .globe-language-switch, .globe-back, .intro-mode-button, .report-nav a) {
  color: var(--paper);
  border-color: var(--skin-line);
  background: var(--skin-surface);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.archive-filter.is-active, .archive-filter:hover, .game-genre-filter.is-active, .project-visit-link, .project-comment-row button, .globe-lang-button.is-active) {
  color: var(--skin-action-text);
  background: var(--skin-action);
  border-color: var(--skin-action);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .archive-card-cover::after {
  background: linear-gradient(180deg, transparent 45%, var(--skin-surface));
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .project-page-cover::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(transparent 30%, var(--skin-surface));
  pointer-events: none;
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .project-page-cover {
  position: relative;
  box-shadow: inset 0 -170px 130px -70px var(--skin-surface);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .project-page-shell { position: relative; }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(#blogStarCanvas, .field-globe-page::after) { opacity: 0; }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.map-center, .category-node, .subcategory-node, .article-node) {
  color: var(--paper);
  border-color: var(--skin-action);
  background: var(--skin-surface);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.category-node span, .subcategory-node span, .article-title, .article-problem, .globe-lang-button) { color: var(--paper); }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .category-node::after { border-color: var(--skin-line); }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .report-hero::after {
  background: linear-gradient(transparent, var(--skin-surface));
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .report-nav { background: transparent; }
.site-themed .globe-tools { flex-wrap: wrap; }
.site-themed .globe-theme-controls { display: flex; align-items: center; gap: 8px; }
.site-themed .report-nav .home-theme-switch { margin-left: auto; }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.reader-meta span, .reader-problem, .thought-field > span, .thought-form legend, .thought-article-list span, .thought-identity-options span, .thought-privacy, .thought-status, .project-log-date, .project-log-list) { color: var(--skin-muted); }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.reader-close, .thought-field textarea, .thought-nickname input) {
  color: var(--paper);
  border-color: var(--skin-line);
  background: var(--skin-surface);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.thought-submit, .thought-article-list input:checked + span, .thought-identity-options input:checked + span) {
  color: var(--skin-action-text);
  background: var(--skin-action);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.project-history-version, .thought-invitation) {
  color: var(--paper);
  background: var(--skin-surface);
  border-color: var(--skin-line);
}
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) :is(.project-history-date, .project-history-version li, .field-summary) { color: var(--skin-muted); }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .project-history-version-number { color: var(--paper-strong); }
.site-themed:is([data-home-theme="yearbook"], [data-home-theme="pancake"]) .map-line { stroke: var(--skin-action); }
@media (max-width: 620px) {
  .site-themed .globe-tools { max-width: calc(100vw - 32px); }
  .site-themed .report-nav { gap: 8px; }
  .site-themed .report-nav .home-theme-swatch { width: 28px; height: 28px; }
}
