/* A paper handscroll: painting supplies the atmosphere, rules supply the structure. */
:root, html.theme-yaji {
  --paper: #f6f3ec; --paper-bright: #fbf9f3; --paper-dim: #eae7df;
  --paper-deep: #d5ccb9; --ink: #302f28; --ink-90: #302f28;
  --ink-80: #4c4a40; --ink-70: #5f5c50; --ink-55: #716b5b; --ink-40: #716b5b;
  --ink-25: #544b3638; --ink-15: #544b3626; --ink-08: #544b3614; --ink-04: #544b360a;
  --jade: #315448; --cinnabar: #315448; --cinnabar-soft: #315448;
  --cinnabar-ink: #315448; --tea-gold: #96805b; --gold-leaf: #96805b;
  --glass-paper: #fbf9f3; --glass-sheer: #fbf9f3; --glass-wash: #f6f3ec;
  --studio-rule: #302f2826;
}
html.theme-yaji body::before { background: var(--paper); }
html.theme-yaji body::after { opacity: .035 !important; }
html.theme-yaji :is(.v7-chat-home, .xt-root, .zw-root, .zw-overlay, .xt-overlay) { background: var(--paper) !important; }
/* Real Light page names; the introduction alone keeps fixed brush branding. */
html.theme-yaji :is(.v7-wordmark--kai, .xt-hero-zh, .zw-hero-zh),
html.theme-yaji .yn-auth .yn-auth-mark {
  font-family: var(--title-font) !important; font-weight: 300 !important;
  letter-spacing: .02em !important; text-shadow: none !important;
}
#gate .g-plaque .mark, #reveal h1 {
  font-family: var(--studio-display) !important; font-weight: 400 !important;
  letter-spacing: .02em !important; text-shadow: none !important;
}
html body.yn-download .wordmark { font-family: var(--title-font); font-weight: 300; }
html.theme-yaji :is(.xt-hero-zh, .zw-hero-zh) { font-size: var(--type-page) !important; line-height: 1.5 !important; }
html.theme-yaji :is(.xt-hero, .zw-hero) {
  padding: 30px 0 22px !important; margin: 0 24px 0 !important;
  border: 0 !important; border-bottom: 1px solid var(--studio-rule) !important;
  background: transparent !important; text-align: left !important;
}
/* Bottom navigation is a quiet colophon, with a brass rule marking the current leaf. */
html.theme-yaji #bottomNav {
  border-radius: 0 !important; border-top: 1px solid var(--studio-rule) !important;
  box-shadow: none !important; backdrop-filter: none !important;
  background: var(--paper-bright) !important; justify-content: center; gap: 0;
}
html.theme-yaji #bottomNav .bottom-nav-item { position: relative; max-width: 180px; font-weight: 400 !important; }
html.theme-yaji #bottomNav .nav-label { font-weight: 400 !important; letter-spacing: 0 !important; }
html.theme-yaji #bottomNav .bottom-nav-item::before { content: none !important; }
html.theme-yaji #bottomNav .bottom-nav-item.active::before {
  content: '' !important; position: absolute; top: -1px; left: 50%; width: 24px; height: 2px;
  transform: translateX(-50%); background: var(--jade); border: 0; border-radius: 0;
}
/* Chat: the opening landscape belongs to an empty conversation, never a long transcript. */
html.theme-yaji .v7-header {
  flex: 0 0 auto; min-height: 68px; box-sizing: border-box;
  padding: max(12px, env(safe-area-inset-top)) max(var(--page-gutter), calc((100% - var(--reading-width)) / 2)) 12px;
  border-bottom: 1px solid var(--studio-rule) !important; gap: 12px;
}
html.theme-yaji .v7-header-center { flex-direction: row; align-items: center; justify-content: center; gap: 12px; min-width: 0; }
html.theme-yaji .v7-wordmark--kai { font-size: var(--type-name) !important; line-height: 1.5 !important; white-space: nowrap; }
html.theme-yaji .v7-persona-badge {
  min-width: 44px; min-height: 44px; padding: 0 0 0 12px; border: 0; border-left: 1px solid var(--studio-rule);
  background: transparent; color: var(--ink-55); border-radius: 0; font-size: var(--type-note) !important;
  max-width: 10em; white-space: normal; text-align: left; line-height: 1.5;
}
html.theme-yaji .v7-header-icon-btn { width: 44px; height: 44px; border: 0; border-radius: 0; background: transparent; color: var(--ink-70); }
html.theme-yaji .v7-header-icon-btn svg { width: 21px; height: 21px; stroke-width: 1.4; }
html.theme-yaji .v7-messages {
  padding: 0 max(var(--page-gutter), calc((100% - var(--reading-width)) / 2)) 28px; gap: 20px;
  min-height: 0; overflow-y: auto; scroll-padding-block: 20px;
}
html.theme-yaji .v7-welcome { position: relative; flex: 0 0 auto; min-height: 270px; height: clamp(250px, 38dvh, 360px); width: 100%; margin-bottom: 2px; }
html.theme-yaji .v7-welcome[hidden] { display: none; }
html.theme-yaji .v7-welcome-art {
  position: absolute; inset-block: 0; left: 50%; width: 100vw; transform: translateX(-50%); pointer-events: none;
  background: url('/assets/product/art/hero_pano.webp') center 73% / cover no-repeat;
  mix-blend-mode: multiply; opacity: .87;
  -webkit-mask-image: linear-gradient(#000 0%, #000 75%, transparent 100%);
  mask-image: linear-gradient(#000 0%, #000 75%, transparent 100%);
}
html.theme-yaji .v7-welcome-copy { position: relative; padding: 44px 0 0 0; }
html.theme-yaji .v7-welcome-kicker { margin: 0 0 16px; font-size: var(--type-note); letter-spacing: 0 !important; color: var(--ink-70); }
html.theme-yaji .v7-welcome-title { margin: 0; font: 300 var(--type-heading)/1.4 var(--title-font); letter-spacing: .02em !important; color: var(--ink); }
html.theme-yaji .v7-msg-bubble { border: 0; border-radius: 0; background: transparent; padding: 4px 0; font: var(--type-body)/1.9 var(--body); box-shadow: none; }
html.theme-yaji .v7-msg--ai .v7-msg-row { display: block; }
html.theme-yaji .v7-msg--ai .v7-msg-bubble { max-width: 100%; padding: 0; }
html.theme-yaji .v7-msg--user .v7-msg-bubble { max-width: 84%; padding: 14px 16px; border: 0; border-radius: 12px 12px 3px 12px; background: #e8ece5; }
html.theme-yaji .v7-msg-avatar { width: auto; height: 24px; margin-bottom: 10px; justify-content: flex-start; gap: 8px; overflow: visible; box-shadow: none; background: transparent; border: 0; }
html.theme-yaji .v7-msg-avatar img { width: 20px; height: 20px; border-radius: 50%; opacity: 1; filter: grayscale(1); }
html.theme-yaji .v7-msg-avatar::after { content: '念心'; font: 400 var(--type-note)/1.6 var(--book-font); color: var(--ink-55); }
html.theme-yaji .v7-has-conversation .v7-messages > :is(.v7-chips-row:not(.v7-retry-row), .v7-msg-disclaimer):has(~ .v7-msg--user) { display: none; }
html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-msg-avatar { display: none; }
html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-msg-bubble { max-width: 100%; padding: 0; }
html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-msg { order: 1; }
html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-chips-row { order: 2; }
html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-msg-disclaimer { order: 3; margin: 0; }
html.theme-yaji .v7-msg-disclaimer { font-style: normal; font-size: var(--type-note) !important; opacity: 1; color: var(--ink-55); }
html.theme-yaji .v7-chips-row { padding: 0; gap: 10px; }
html.theme-yaji .v7-chip {
  padding: 10px 12px; min-height: 44px; background: transparent; color: var(--jade);
  border: 0; border-radius: 6px;
  font: 400 var(--type-control)/1.6 var(--book-font); letter-spacing: 0; box-shadow: none;
  transition: background 150ms ease, color 150ms ease;
}
html.theme-yaji .v7-chip:hover, html.theme-yaji .v7-chip:active { background: #e8ece5; color: var(--jade); transform: none; }
html.theme-yaji .v7-has-conversation .v7-messages { padding-top: 28px; }
/* An ink tray rather than two nested input frames. Keep the existing keyboard anchors. */
html.theme-yaji .v7-composer { flex: 0 0 auto; background: var(--paper) !important; border-top: 0; padding: 12px max(18px, calc((100% - var(--reading-width)) / 2)); }
html.theme-yaji .v7-composer-row { min-height: 52px; min-width: 0; gap: 8px; padding: 4px; border: 1px solid var(--ink-25); border-radius: 10px; background: var(--paper-bright); align-items: flex-end; }
html.theme-yaji .v7-composer-row:focus-within { border-color: var(--jade); }
html.theme-yaji .v7-composer-textarea-wrap { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html.theme-yaji .v7-composer-textarea-wrap:focus-within { border: 0; box-shadow: none; }
html.theme-yaji .v7-composer-textarea { border: 0 !important; border-radius: 0 !important; outline: none !important; box-shadow: none !important; background: transparent !important; padding: 8px 44px 8px 4px; font: 400 var(--type-body)/1.7 var(--book-font); }
html.theme-yaji .v7-composer-expand { border: 0; background: transparent; color: var(--ink-55); border-radius: 0; }
html.theme-yaji .v7-composer-mode { width: 44px; min-width: 44px; min-height: 44px; height: 44px; border: 0; border-radius: 6px; background: transparent; color: var(--jade); }
html.theme-yaji .v7-composer-send { width: 44px; min-width: 44px; min-height: 44px; height: 44px; border: 0; border-radius: 8px; padding: 11px; background: var(--jade); color: var(--paper-bright); }
html.theme-yaji .v7-composer-send-label { display: none; }
html.theme-yaji .v7-composer-send svg { width: 19px; height: 19px; }
html.theme-yaji .v7-composer--expanded .v7-composer-row {
  display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; row-gap: 4px;
}
html.theme-yaji .v7-composer--expanded .v7-composer-textarea-wrap { grid-column: 1 / -1; grid-row: 1; }
html.theme-yaji .v7-composer--expanded .v7-composer-textarea {
  min-height: min(180px, calc(100dvh - 260px)); max-height: min(280px, calc(100dvh - 260px));
  padding-left: 10px;
}
html.theme-yaji .v7-composer--expanded .v7-composer-mode { grid-column: 1; grid-row: 2; }
html.theme-yaji .v7-composer--expanded .v7-composer-hold { grid-column: 2; grid-row: 2; }
html.theme-yaji .v7-composer--expanded .v7-composer-send { grid-column: 3; grid-row: 2; }
/* Divination: the pond is a wash on the sheet, not a mint-green dashboard card. */
html.theme-yaji #questionOverlay { --pond-ink: var(--ink); --pond-muted: var(--ink-55); --pond-surface: #e9e9dd; --pond-line: var(--studio-rule); background: var(--paper) !important; }
html.theme-yaji #questionOverlay .ink-pond-hero { padding: 24px 26px; border-radius: 0; background: radial-gradient(ellipse at 50% 55%, #e0e5d899, #f6f1e700 72%); border-block: 1px solid var(--studio-rule); }
html.theme-yaji #questionOverlay #inkPondTitle { font: 400 calc(32px * var(--user-font-scale, 1))/1.5 var(--body) !important; letter-spacing: .08em !important; color: var(--ink); }
html.theme-yaji .ink-pond-kicker { display: block; font-size: var(--type-note); letter-spacing: .16em !important; color: var(--ink-55); }
html.theme-yaji .ink-pond-caption { font-size: var(--type-note); line-height: 1.8; color: var(--ink-70); }
html.theme-yaji .ink-pond-toggle { font: var(--type-note)/1.8 var(--body); min-height: 44px; border-radius: 2px; background: transparent; border: 1px solid var(--studio-rule); color: var(--jade); }
html.theme-yaji #questionOverlay .ink-pond-form .question-title { font: 400 calc(26px * var(--user-font-scale, 1))/1.6 var(--body) !important; letter-spacing: .02em !important; }
html.theme-yaji #questionOverlay .ink-pond-form .quick-question { border: 0 !important; border-bottom: 1px solid var(--studio-rule) !important; border-radius: 0 !important; padding: 12px 0 !important; background: transparent !important; color: var(--ink) !important; }
html.theme-yaji #questionOverlay .ink-pond-form #questionInput { background: #fcf8ef88 !important; border: 1px solid var(--studio-rule) !important; border-radius: 2px !important; padding: 14px !important; color: var(--ink) !important; }
html.theme-yaji #questionOverlay .ink-pond-form #questionInput:focus { outline: 1px solid var(--jade); outline-offset: 2px; box-shadow: none !important; }
html.theme-yaji #questionOverlay #questionSubmit { background: var(--jade) !important; color: var(--paper-bright) !important; border: 1px solid var(--jade) !important; border-radius: 2px !important; box-shadow: inset 0 0 0 3px #f6f1e724 !important; letter-spacing: .14em !important; }
/* Library: a painting and its title lead; publishing metadata stays on one quiet line. */
html.theme-yaji .xt-cat-wrap { background: var(--paper); border-bottom: 1px solid var(--studio-rule); }
html.theme-yaji .xt-cat-track { padding: 10px 24px 0; gap: 12px; }
html.theme-yaji .xt-cat-btn { padding: 10px 8px; color: var(--ink-70); }
html.theme-yaji .xt-cat-btn.active { background: transparent; color: var(--jade); border-bottom: 2px solid var(--jade); }
html.theme-yaji .xt-feed-wrap { padding: 28px 24px 80px; }
html.theme-yaji .xt-feed { gap: 32px; }
html.theme-yaji .xt-card { padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--studio-rule); border-radius: 0; background: transparent; box-shadow: none; }
html.theme-yaji .xt-card:hover { box-shadow: none; transform: none; }
html.theme-yaji .xt-card-cover { margin: 0 0 20px; aspect-ratio: 3 / 2; border: 0; }
html.theme-yaji .xt-card-cover-img { object-position: center; }
html.theme-yaji :is(.xt-featured-ribbon, .xt-card-meta > .xt-tag, .xt-author-avatar) { display: none; }
html.theme-yaji .xt-card-meta { padding: 0; margin: 0 0 12px; gap: 8px; }
html.theme-yaji .xt-author-col { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 12px; }
html.theme-yaji :is(.xt-author-name, .xt-author-date) { font-size: var(--type-note); line-height: 1.5; color: var(--ink-55); }
html.theme-yaji :is(.xt-card-title, .xt-lecture-title) { font: 400 var(--type-card)/1.6 var(--book-font) !important; letter-spacing: 0 !important; text-wrap: wrap; }
html.theme-yaji .xt-card-excerpt { font: var(--type-body)/1.9 var(--body); color: var(--ink-70); margin-bottom: 18px; }
html.theme-yaji .xt-action-row { min-height: 44px; padding: 0; border: 0; align-items: center; }
html.theme-yaji .xt-card-thumb { border: 0; border-radius: 0; box-shadow: none; padding: 0; width: 100px; flex-basis: 100px; height: 120px; }
html.theme-yaji .xt-lecture-poster { border-radius: 0; aspect-ratio: 16/9; }
html.theme-yaji .xt-lecture-body { padding: 20px 0 0; }
html.theme-yaji .xt-article-title { font: 300 var(--type-page)/1.5 var(--title-font) !important; letter-spacing: .02em; }
html.theme-yaji :is(.xt-article-h2, .xt-article-h3) { font: 400 var(--type-card)/1.6 var(--book-font); margin: 32px 0 12px; }
html.theme-yaji .xt-article-p { margin-block: 0 1em; }
html.theme-yaji .xt-article-quote, html.theme-yaji .xt-article-quote p { font-style: normal !important; }
html.theme-yaji .xt-article-quote { border-left: 1px solid var(--jade); border-radius: 0; padding: 0 0 0 16px; background: transparent; }
html.theme-yaji .xt-video-hero-title { font: 300 var(--type-page)/1.5 var(--title-font); letter-spacing: .02em; }
/* Profile: a personal bookplate above ruled entries, not a bank of boxed statistics. */
html.theme-yaji #ziwoRoot { padding-inline: 24px !important; }
html.theme-yaji .zw-hero { margin-inline: 0 !important; }
html.theme-yaji .zw-profile { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 0 20px; padding: 28px 0; margin-bottom: 0; overflow: hidden; }
html.theme-yaji .zw-avatar-wrap { grid-column: 1; grid-row: 1 / 3; margin: 0; }
html.theme-yaji .zw-avatar { width: 64px; height: 64px; border: 1px solid var(--ink-15) !important; background: #e8ece5 !important; color: var(--jade); font: 300 var(--type-name)/1.4 var(--title-font); }
html.theme-yaji .zw-name-row { grid-column: 2; justify-content: flex-start; margin: 0; }
html.theme-yaji .zw-name { font: 400 var(--type-name)/1.5 var(--book-font) !important; letter-spacing: 0; overflow-wrap: anywhere; }
html.theme-yaji .yj-rank-caption { grid-column: 2; justify-self: start; text-align: left; align-self: start; margin: 0; font-size: var(--type-note); color: var(--ink-55); }
html.theme-yaji :is(.zw-stats-row, .zw-menu, .zw-settings, .zw-llm-card) { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html.theme-yaji .zw-stats-row { border-block: 0 !important; padding-block: 12px; margin-bottom: 24px; }
html.theme-yaji .zw-stat-num { font: 300 var(--type-name)/1.4 var(--title-font) !important; color: var(--jade); font-variant-numeric: tabular-nums; letter-spacing: 0; }
html.theme-yaji .zw-stat-label { margin-top: 8px; font: 400 var(--type-note)/1.6 var(--book-font); }
html.theme-yaji .zw-stat-cell { border-color: var(--studio-rule); }
html.theme-yaji .zw-overlay-body { padding-inline: var(--page-gutter); }
html.theme-yaji .zw-card-list { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
html.theme-yaji .zw-card--history { border: 0 !important; border-bottom: 1px solid var(--studio-rule) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding: 20px 0; }
html.theme-yaji .zw-card--history .zw-card-title { font: 400 var(--type-body)/1.85 var(--book-font); letter-spacing: 0; color: var(--ink); }
html.theme-yaji .zw-card--history .zw-card-subtitle { font: 400 var(--type-note)/1.6 var(--book-font); letter-spacing: 0; }
html.theme-yaji .zw-empty { letter-spacing: 0; }
html.theme-yaji .zw-tabs { gap: 12px; border: 0; }
html.theme-yaji .zw-tab { border: 0; border-bottom: 1px solid transparent; border-radius: 0; letter-spacing: 0; }
html.theme-yaji .zw-tab--on { border-bottom-color: var(--jade); }
html.theme-yaji .zw-first-banner { border: 0 !important; border-left: 2px solid var(--tea-gold) !important; background: #ede8da88 !important; border-radius: 0 !important; padding: 14px 16px; margin-bottom: 24px; }
html.theme-yaji .zw-first-banner-text { font-size: var(--type-body); }
html.theme-yaji .zw-first-banner-cta { background: transparent !important; color: var(--jade) !important; border: 0 !important; padding-inline: 8px; text-decoration: underline; text-underline-offset: 6px; white-space: nowrap; }
html.theme-yaji .zw-menu-row { min-height: 60px; padding-inline: 0; border-bottom-color: var(--studio-rule) !important; }
html.theme-yaji .zw-menu-icon svg { width: 21px; height: 21px; stroke-width: 1.4; }
html.theme-yaji :is(.zw-settings, .zw-llm-card) { border-top: 1px solid var(--studio-rule) !important; padding-inline: 0 !important; }
html.theme-yaji .zw-sg-seg { border-radius: 6px; background: var(--paper-dim); }
html.theme-yaji .zw-sg-seg-btn { border-radius: 6px; }
/* Dialogs inherit the paper and type; all existing scrolling/close safeguards remain. */
html.theme-yaji :is(.zw-modal-card, .mp-card), html.theme-yaji .yn-auth .yn-auth-card {
  border: 1px solid var(--studio-rule) !important;
  border-radius: 8px !important; background: var(--paper-bright) !important;
  box-shadow: 0 8px 28px #252b2014 !important;
}
html.theme-yaji .yn-auth .yn-auth-mark { font-size: var(--type-page); }
html.theme-yaji :is(.zw-modal-title, .zw-overlay-title, .mp-title, .yn-auth-title) { font: 300 var(--type-page)/1.5 var(--title-font) !important; letter-spacing: .02em !important; }
html.theme-yaji .yn-auth .yn-auth-in { border: 0; border-bottom: 1px solid var(--ink-25); border-radius: 0; background: #f6f1e777; text-align: left; }
html.theme-yaji .yn-auth .yn-auth-btn, html.theme-yaji .mp-btn { border-radius: 6px; }
html.theme-yaji .yn-auth .yn-auth-in:focus { outline: 1px solid var(--jade); outline-offset: 1px; }
html.theme-yaji .yn-auth .yn-auth-links a { color: var(--jade) !important; }
/* Match the legacy close-button selector without increasing its specificity. */
html.theme-yaji .info-close, html.theme-yaji .history-close, html.theme-yaji .privacy-modal-close,
html.theme-yaji .history-detail-back, html.theme-yaji #historyDetailBack {
  background: transparent !important; border: 0 !important; border-radius: 6px !important;
  box-shadow: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  font-size: 24px !important;
}
html body.yn-legal, html body.yn-download { background: var(--paper); color: var(--ink); }
html body.yn-download .card { border-radius: 6px; box-shadow: none; border-color: var(--studio-rule); background: var(--paper-bright); }
html body.yn-download .dl-btn {
  min-height: 48px; border-radius: 6px; background: var(--jade); box-shadow: none;
  font: 400 var(--type-control)/1.6 var(--book-font); letter-spacing: 0;
}
html body.yn-download :is(.tagline, .dl-meta, .steps strong) { font-weight: 400; letter-spacing: 0; }
#topEnter .te-link { min-height: 44px; font: 400 var(--type-control)/1.6 var(--book-font); letter-spacing: 0; }
#bgmCtrl { color: var(--jade); background: var(--paper-bright); border: 1px solid var(--ink-15); box-shadow: none; backdrop-filter: none; }
#bgmCtrl:not(.muted)::after { display: none; animation: none; }
#gate .g-plaque :is(.sub, .tag, .whisper), #gate .g-hint .t, #reveal .tagline {
  font: 400 var(--type-body)/1.8 var(--book-font); letter-spacing: .02em; text-indent: 0;
}
.creed .lead, .feat-body h2 { font: 300 var(--type-heading)/1.5 var(--title-font); letter-spacing: .02em; }
.creed p, .feat-body p, .shot-quote, #minigua .mg-lead { font: 400 var(--type-body)/1.9 var(--book-font); letter-spacing: 0; }
.creed .pillar .pt { font: 400 var(--type-card)/1.6 var(--book-font); letter-spacing: 0; }
.creed .pillar .pd, .shot-quote .by { font: 400 var(--type-note)/1.6 var(--book-font); letter-spacing: 0; }
.feat-body .point { font: 400 var(--type-control)/1.7 var(--book-font); letter-spacing: 0; }
#gate .g-plaque .mark { font-size: clamp(64px, 17vw, 108px); }
#reveal h1 { font-size: clamp(64px, 17vw, 108px); }
@media (min-width: 900px) {
  html.theme-yaji #bottomNav { gap: 24px; }
  html.theme-yaji #bottomNav .bottom-nav-item { flex: 0 1 140px; }
  html.theme-yaji .v7-welcome-copy { padding-top: 58px; }
  html.theme-yaji .v7-welcome-title { font-size: calc(36px * var(--user-font-scale, 1)); }
  html.theme-yaji .xt-card-featured { display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 36px; align-items: start; }
  html.theme-yaji .xt-card-featured .xt-card-cover { grid-column: 1; grid-row: 1 / 5; margin: 0; height: 100%; min-height: 310px; aspect-ratio: auto; }
  html.theme-yaji .xt-card-featured > :is(.xt-card-meta, .xt-card-title, .xt-card-excerpt, .xt-card-actions) { grid-column: 2; }
  html.theme-yaji .xt-card-featured > .xt-card-meta { margin-top: 24px; }
}
@media (max-width: 760px) {
  html.theme-yaji .v7-messages { gap: 18px; padding-bottom: 24px; }
  html.theme-yaji .v7-welcome { min-height: 200px; height: clamp(200px, 30dvh, 260px); }
  html.theme-yaji .v7-welcome-copy { padding-top: 30px; }
  html.theme-yaji .v7-welcome-title { font-size: var(--type-heading); }
  html.theme-yaji .v7-welcome-kicker { margin-bottom: 10px; }
  html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-chips-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  html.theme-yaji .v7-chip { padding: 10px 12px; }
  html.theme-yaji #questionOverlay .ink-pond-hero { padding: 18px 0; }
  html.theme-yaji #questionOverlay .ink-pond-water { flex-basis: 170px; height: 170px; }
  html.theme-yaji #questionOverlay .question-card.ink-pond-question { gap: 28px; }
  html.theme-yaji .ink-pond-kicker { display: none; }
  html.theme-yaji :is(.xt-hero, .zw-hero) { padding-block: 22px 18px !important; }
}
@media (max-width: 360px) {
  html.theme-yaji .v7-header { padding-inline: 14px; gap: 5px; }
  html.theme-yaji .v7-header-center { gap: 6px; }
  html.theme-yaji .v7-persona-badge { padding-left: 6px; }
  html.theme-yaji .v7-composer { padding-inline: 10px; }
  html.theme-yaji .v7-composer-row { gap: 6px; }
}
@media (max-height: 500px) and (orientation: landscape) {
  html.theme-yaji .v7-welcome { display: none; }
  html.theme-yaji .v7-header { padding-block: 5px; min-height: 54px; }
  html.theme-yaji .v7-messages { padding-block: 16px; }
  html.theme-yaji .v7-composer { padding-block: 8px; }
  html.theme-yaji .v7-chat-home:not(.v7-has-conversation) .v7-chips-row { gap: 8px; }
  #gate .g-plaque .mark, #reveal h1 { font-size: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  html.theme-yaji .v7-chip:hover { transform: none; }
}

html.theme-yaji .xt-card-lecture .xt-lecture-poster {
  background-image: linear-gradient(#182e2755, #182e27bb), url('/assets/xuetang/art/xt_mountain_mist.webp') !important;
  background-size: cover !important; background-position: center !important;
}
html.theme-yaji .xt-card-lecture:nth-child(3n+2) .xt-lecture-poster { background-image: linear-gradient(#302a2255, #302a22bb), url('/assets/xuetang/art/xt_tea_window.webp') !important; }
html.theme-yaji .xt-card-lecture:nth-child(3n+3) .xt-lecture-poster { background-image: linear-gradient(#283d3555, #283d35bb), url('/assets/xuetang/art/xt_bamboo_moon.webp') !important; }
@media (max-width: 760px) {
  html.theme-yaji #questionOverlay .ink-pond-hero { position: relative; padding-block: 14px; }
  html.theme-yaji #questionOverlay .ink-pond-heading { position: absolute; top: 20px; left: 0; z-index: 1; }
  html.theme-yaji #questionOverlay #inkPondTitle { writing-mode: vertical-rl; font-size: calc(24px * var(--user-font-scale, 1)) !important; letter-spacing: .12em !important; margin: 0; }
  html.theme-yaji #questionOverlay .ink-pond-water { margin-left: 48px; width: calc(100% - 48px); }
  html.theme-yaji #questionOverlay .ink-pond-hero { min-height: 0; }
  html.theme-yaji #questionOverlay .question-card.ink-pond-question { gap: 22px; }
  html.theme-yaji #questionOverlay .ink-pond-form .quick-question { min-height: 48px; padding-block: 8px !important; }
  html.theme-yaji #questionOverlay .ink-pond-form .quick-questions { margin-bottom: 18px !important; }
  html.theme-yaji #questionOverlay .ink-pond-form .question-subtitle { margin-bottom: 16px !important; }
  html.theme-yaji #questionOverlay .ink-pond-form #questionInput { height: calc(92px * var(--user-font-scale, 1)); min-height: 92px; }
}
@media (max-height: 500px) and (min-width: 761px) {
  html.theme-yaji #questionOverlay .ink-pond-hero { padding: 16px 20px; }
  html.theme-yaji #questionOverlay .ink-pond-kicker { display: none; }
  html.theme-yaji #questionOverlay #inkPondTitle { font-size: calc(26px * var(--user-font-scale, 1)) !important; }
}

html.theme-yaji .zw-faxiang-cell { font: 400 27px/1.3 var(--body); color: var(--jade); border: 1px solid var(--studio-rule); border-radius: 2px; background: transparent; }
html.theme-yaji .zw-faxiang-cell--on { color: var(--paper-bright); background: var(--jade); border-color: var(--jade); box-shadow: inset 0 0 0 3px #fcf8ef26; }
html body.yn-download .card > p, html body.yn-download .steps :is(small, strong) { font-size: var(--type-body) !important; line-height: 1.9; }
html.theme-yaji .xt-video-hero { background-image: linear-gradient(#182e2788, #182e27e6), url('/assets/xuetang/art/xt_mountain_mist.webp') !important; background-size: cover !important; background-position: center !important; }

html.theme-yaji .zw-modal-card .zw-faxiang-cell--on { background: var(--jade) !important; color: var(--paper-bright) !important; border-color: var(--jade) !important; box-shadow: inset 0 0 0 3px #fcf8ef26 !important; }
#reveal h1 > span { font-family: var(--studio-display) !important; font-weight: 400 !important; }

/* Language disclosures describe the original content; the article itself stays intact. */
.xt-language-note { margin: 10px 0 0; color: var(--ink-70); font: 400 var(--type-note, 14px)/1.6 var(--book-font, serif); }
html[lang="zh-CN"] .xt-language-note { display: none; }
html.theme-yaji .xt-card-excerpt, html.theme-yaji .xt-lecture-excerpt { -webkit-line-clamp: 1; line-clamp: 1; }

html.theme-yaji .v7-persona-badge--empty { display: none; }
html.theme-yaji .v7-home-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 4px 0 0; }
html.theme-yaji .v7-home-topic { display: flex; align-items: center; gap: 14px; min-width: 0; min-height: 68px; padding: 10px 12px; border: 0; border-radius: 3px; background: transparent; color: var(--jade); font: 400 var(--type-control)/1.5 var(--book-font); white-space: normal; text-align: left; cursor: pointer; transition: background 160ms ease; }
html.theme-yaji .v7-home-topic svg { flex: 0 0 32px; width: 32px; height: 32px; }
html.theme-yaji .v7-home-topic:hover, html.theme-yaji .v7-home-topic:focus-visible { background: #3154480b; }
html.theme-yaji .v7-home-reference { margin: 10px 0 0; }
html.theme-yaji .v7-has-conversation .v7-home-topics, html.theme-yaji .v7-has-conversation .v7-home-reference { display: none; }
html.theme-yaji .v7-locale-trigger { flex: 0 0 44px; font-size: var(--type-note); padding-inline: 4px; }
html[lang="en"].theme-yaji .v7-msg-avatar::after { content: 'Nianxin'; }
@media (max-width: 360px) { html.theme-yaji .v7-home-topic { padding-inline: 2px; gap: 8px; } html.theme-yaji .v7-header { gap: 6px; } }
