/**
 * 艮岳网 主题样式
 * 宋徽宗美学 × 莫兰迪色彩
 */

/* ============================================================
   CSS 自定义属性
   ============================================================ */
:root {
  /* 莫兰迪色系 */
  --gy-primary:         #8B9D77;
  --gy-primary-light:   #A8BC92;
  --gy-primary-dark:    #6B7D5A;
  --gy-secondary:       #C4A882;
  --gy-secondary-light: #D9C4A8;
  --gy-secondary-dark:  #A88B66;
  --gy-accent:          #B08A7A;
  --gy-accent-light:    #C9A898;
  --gy-accent-dark:     #8A6A5C;

  /* 中性色 */
  --gy-dark:     #3A3028;
  --gy-gray-900: #4A4040;
  --gy-gray-700: #6B6258;
  --gy-gray-500: #9A9088;
  --gy-gray-300: #C8C0B8;
  --gy-gray-100: #EDE8E3;

  /* 背景 */
  --gy-bg:       #F7F3EE;
  --gy-bg-card:  #FDFAF6;
  --gy-bg-code:  #2C2A26;

  /* 文字 */
  --gy-text:      #3A3028;
  --gy-text-muted:#7A7068;
  --gy-text-link: #6B7D5A;

  /* 圆角 */
  --gy-radius-sm: 4px;
  --gy-radius:    8px;
  --gy-radius-lg: 14px;

  /* 阴影 */
  --gy-shadow-sm: 0 1px 4px rgba(58,48,40,.07);
  --gy-shadow:    0 4px 14px rgba(58,48,40,.09);
  --gy-shadow-lg: 0 8px 28px rgba(58,48,40,.11);

  /* 字体 */
  --gy-font-serif: 'Noto Serif SC', 'Source Han Serif SC', 'SimSun', serif;
  --gy-font-sans:  'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --gy-font-mono:  'JetBrains Mono', 'Fira Code', monospace;

  /* 过渡 */
  --gy-transition: .2s ease;
}

/* ============================================================
   全局基础
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.gy-body {
  font-family:      var(--gy-font-sans);
  font-size:        1rem;
  line-height:      1.75;
  color:            var(--gy-text);
  background-color: var(--gy-bg);
  -webkit-font-smoothing: antialiased;
}

a {
  color:           var(--gy-text-link);
  text-decoration: none;
  transition:      color var(--gy-transition);
}
a:hover { color: var(--gy-primary-dark); text-decoration: underline; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--gy-font-serif);
  font-weight: 700;
  color:       var(--gy-dark);
  line-height: 1.35;
}

/* ============================================================
   导航栏
   ============================================================ */
.gy-navbar {
  background-color: rgba(253, 250, 246, .96);
  backdrop-filter:  blur(8px);
  border-bottom:    1px solid var(--gy-gray-100);
  box-shadow:       var(--gy-shadow-sm);
  z-index:          1030;
}

.gy-brand {
  font-family: var(--gy-font-serif);
  font-size:   1.2rem;
  color:       var(--gy-dark) !important;
  font-weight: 700;
  letter-spacing: .05em;
}
.gy-brand-zh   { color: var(--gy-primary-dark); font-size: 1.3rem; }
.gy-brand-sep  { color: var(--gy-gray-300); margin: 0 .3rem; }
.gy-brand-en   { font-size: .85rem; color: var(--gy-gray-500); font-family: var(--gy-font-sans); }

.gy-navbar .nav-link {
  color:       var(--gy-gray-700);
  font-size:   .925rem;
  padding:     .45rem .75rem;
  border-radius: var(--gy-radius-sm);
  transition:  background var(--gy-transition), color var(--gy-transition);
}
.gy-navbar .nav-link:hover,
.gy-navbar .nav-link.active {
  color:            var(--gy-primary-dark);
  background-color: rgba(139,157,119,.1);
  text-decoration:  none;
}

/* 搜索框 */
.gy-search-form { position: relative; }

.gy-search-input {
  background:   var(--gy-bg);
  border-color: var(--gy-gray-300);
  border-radius: var(--gy-radius-sm) 0 0 var(--gy-radius-sm) !important;
  font-size:    .875rem;
  width:        220px;
  transition:   border-color var(--gy-transition), width var(--gy-transition);
}
.gy-search-input:focus {
  border-color: var(--gy-primary);
  box-shadow:   0 0 0 .2rem rgba(139,157,119,.2);
  width:        280px;
  outline:      none;
}

.gy-btn-search {
  background-color: var(--gy-primary);
  color:            #fff;
  border:           none;
  border-radius:    0 var(--gy-radius-sm) var(--gy-radius-sm) 0 !important;
}
.gy-btn-search:hover { background-color: var(--gy-primary-dark); color: #fff; }

.gy-search-dropdown {
  position:   absolute;
  top:        100%;
  left:       0;
  right:      0;
  z-index:    1050;
  background: var(--gy-bg-card);
  border:     1px solid var(--gy-gray-300);
  border-top: none;
  border-radius: 0 0 var(--gy-radius) var(--gy-radius);
  box-shadow: var(--gy-shadow);
  max-height: 400px;
  overflow-y: auto;
}

/* 头像 */
.gy-avatar-xs { width: 24px; height: 24px; object-fit: cover; }
.gy-avatar-sm { width: 36px; height: 36px; object-fit: cover; }
.gy-avatar    { width: 48px; height: 48px; object-fit: cover; }
.gy-avatar-lg { width: 80px; height: 80px; object-fit: cover; }

/* 按钮 */
.gy-btn-primary {
  background-color: var(--gy-primary);
  color: #fff;
  border: none;
  border-radius: var(--gy-radius-sm);
  padding: .35rem .85rem;
  font-size: .875rem;
  transition: background var(--gy-transition);
}
.gy-btn-primary:hover { background-color: var(--gy-primary-dark); color: #fff; }

.gy-btn-outline {
  background: transparent;
  color: var(--gy-primary-dark);
  border: 1px solid var(--gy-primary);
  border-radius: var(--gy-radius-sm);
  padding: .35rem .85rem;
  font-size: .875rem;
  transition: background var(--gy-transition), color var(--gy-transition);
}
.gy-btn-outline:hover {
  background-color: var(--gy-primary);
  color: #fff;
  text-decoration: none;
}

.gy-btn-user {
  background: transparent;
  border: 1px solid var(--gy-gray-300);
  color: var(--gy-text);
  font-size: .875rem;
  border-radius: var(--gy-radius-sm);
  padding: .25rem .6rem;
}
.gy-btn-user:hover { border-color: var(--gy-primary); color: var(--gy-primary-dark); }

/* Offcanvas */
.gy-offcanvas { background-color: var(--gy-bg-card); }

/* ============================================================
   Hero Banner
   ============================================================ */
.gy-hero {
  background: linear-gradient(135deg, #EDE8E3 0%, #D9C4A8 50%, #C8C0B8 100%);
  padding: 4rem 0 3rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.gy-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Ccircle cx='50' cy='50' r='40' fill='none' stroke='rgba(139,157,119,.08)' stroke-width='1'/%3E%3C/svg%3E");
  opacity: .5;
}
.gy-hero-title {
  font-family: var(--gy-font-serif);
  font-size:   clamp(2rem, 5vw, 3.5rem);
  color:       var(--gy-dark);
  font-weight: 700;
  letter-spacing: .08em;
  position: relative;
}
.gy-hero-subtitle {
  font-size:   1.1rem;
  color:       var(--gy-gray-700);
  margin-top:  .5rem;
  position:    relative;
}
.gy-hero-actions { position: relative; margin-top: 1.5rem; }

/* ============================================================
   内容卡片
   ============================================================ */
.gy-card {
  background:    var(--gy-bg-card);
  border:        1px solid var(--gy-gray-100);
  border-radius: var(--gy-radius);
  box-shadow:    var(--gy-shadow-sm);
  overflow:      hidden;
  transition:    box-shadow var(--gy-transition), transform var(--gy-transition);
  height:        100%;
  display:       flex;
  flex-direction: column;
}
.gy-card:hover {
  box-shadow: var(--gy-shadow);
  transform:  translateY(-2px);
}

.gy-card-img {
  width:       100%;
  height:      180px;
  object-fit:  cover;
  background:  var(--gy-gray-100);
  display:     block;
}

.gy-card-img-placeholder {
  width:       100%;
  height:      180px;
  background:  linear-gradient(135deg, var(--gy-gray-100), var(--gy-secondary-light));
  display:     flex;
  align-items: center;
  justify-content: center;
  font-size:   2.5rem;
  color:       var(--gy-gray-500);
}

.gy-card-body {
  padding:    1.25rem;
  flex:       1;
  display:    flex;
  flex-direction: column;
}

.gy-card-meta {
  display:     flex;
  align-items: center;
  gap:         .5rem;
  font-size:   .8rem;
  color:       var(--gy-text-muted);
  margin-bottom: .5rem;
  flex-wrap:   wrap;
}

.gy-card-title {
  font-family: var(--gy-font-serif);
  font-size:   1rem;
  font-weight: 700;
  color:       var(--gy-dark);
  margin-bottom: .5rem;
  line-height: 1.4;
  flex: 1;
}
.gy-card-title a { color: inherit; }
.gy-card-title a:hover { color: var(--gy-primary-dark); text-decoration: none; }

.gy-card-summary {
  font-size:   .875rem;
  color:       var(--gy-gray-700);
  line-height: 1.6;
  margin-bottom: .75rem;
}

.gy-card-footer {
  display:     flex;
  align-items: center;
  justify-content: space-between;
  padding-top: .75rem;
  border-top:  1px solid var(--gy-gray-100);
  font-size:   .8rem;
  color:       var(--gy-text-muted);
  margin-top:  auto;
}

/* ============================================================
   类型徽章
   ============================================================ */
.gy-type-badge {
  font-size:     .7rem;
  padding:       .2em .5em;
  border-radius: var(--gy-radius-sm);
  font-weight:   600;
  letter-spacing: .02em;
}
.bg-sage  { background-color: #8B9D77 !important; color: #fff !important; }
.bg-sand  { background-color: #C4A882 !important; color: #fff !important; }
.bg-rose  { background-color: #B08A7A !important; color: #fff !important; }
.bg-clay  { background-color: #9A8870 !important; color: #fff !important; }
.bg-muted { background-color: #9A9088 !important; color: #fff !important; }

/* ============================================================
   文章详情页
   ============================================================ */
.gy-article-header { margin-bottom: 2rem; }

.gy-article-title {
  font-family:    var(--gy-font-serif);
  font-size:      clamp(1.5rem, 4vw, 2.2rem);
  font-weight:    700;
  color:          var(--gy-dark);
  line-height:    1.3;
  margin-bottom:  .75rem;
}

.gy-article-meta {
  display:     flex;
  flex-wrap:   wrap;
  gap:         1rem;
  align-items: center;
  font-size:   .875rem;
  color:       var(--gy-text-muted);
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--gy-gray-100);
}

.gy-article-meta img {
  width: 32px; height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.gy-article-body {
  font-size:   1rem;
  line-height: 1.85;
  color:       var(--gy-text);
}

.gy-article-body h1, .gy-article-body h2,
.gy-article-body h3, .gy-article-body h4 {
  font-family:  var(--gy-font-serif);
  margin-top:   2rem;
  margin-bottom:.75rem;
  color:        var(--gy-dark);
}
.gy-article-body h2 {
  font-size:     1.4rem;
  border-left:   3px solid var(--gy-primary);
  padding-left:  .75rem;
}
.gy-article-body h3 { font-size: 1.2rem; }

.gy-article-body p  { margin-bottom: 1.2rem; }

.gy-article-body img {
  max-width:     100%;
  border-radius: var(--gy-radius);
  margin:        1rem 0;
  box-shadow:    var(--gy-shadow-sm);
}

.gy-article-body blockquote {
  border-left:    3px solid var(--gy-secondary);
  padding:        .75rem 1.25rem;
  background:     rgba(196,168,130,.08);
  border-radius:  0 var(--gy-radius-sm) var(--gy-radius-sm) 0;
  color:          var(--gy-gray-700);
  font-style:     italic;
  margin:         1.2rem 0;
}

.gy-article-body code {
  background:    rgba(139,157,119,.12);
  color:         var(--gy-primary-dark);
  padding:       .1em .4em;
  border-radius: var(--gy-radius-sm);
  font-family:   var(--gy-font-mono);
  font-size:     .875em;
}

.gy-article-body pre {
  background:    var(--gy-bg-code);
  color:         #e8e0d8;
  border-radius: var(--gy-radius);
  padding:       1.25rem;
  overflow-x:    auto;
  margin:        1.2rem 0;
  font-family:   var(--gy-font-mono);
  font-size:     .875rem;
  line-height:   1.6;
}
.gy-article-body pre code {
  background: none;
  color:      inherit;
  padding:    0;
}

.gy-article-body table {
  width:        100%;
  border-collapse: collapse;
  margin:       1.2rem 0;
  font-size:    .9rem;
}
.gy-article-body th {
  background:  var(--gy-gray-100);
  color:       var(--gy-dark);
  font-weight: 600;
  text-align:  left;
  padding:     .6rem .9rem;
  border:      1px solid var(--gy-gray-300);
}
.gy-article-body td {
  padding: .5rem .9rem;
  border:  1px solid var(--gy-gray-300);
}
.gy-article-body tr:nth-child(even) td { background: rgba(239,233,226,.4); }

/* ============================================================
   评论区
   ============================================================ */
.gy-comments { margin-top: 3rem; }
.gy-comments-title {
  font-family:   var(--gy-font-serif);
  font-size:     1.2rem;
  font-weight:   700;
  color:         var(--gy-dark);
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--gy-gray-100);
  margin-bottom: 1.5rem;
}

.gy-comment {
  display:       flex;
  gap:           .85rem;
  margin-bottom: 1.5rem;
}
.gy-comment-body {
  flex:          1;
  background:    var(--gy-bg-card);
  border:        1px solid var(--gy-gray-100);
  border-radius: var(--gy-radius);
  padding:       .85rem 1rem;
}
.gy-comment-header {
  display:       flex;
  gap:           .75rem;
  align-items:   center;
  margin-bottom: .4rem;
  font-size:     .85rem;
}
.gy-comment-author { font-weight: 600; color: var(--gy-dark); }
.gy-comment-time   { color: var(--gy-text-muted); }
.gy-comment-content { font-size: .925rem; line-height: 1.7; }

/* ============================================================
   论坛
   ============================================================ */
.gy-forum-cat {
  background:    var(--gy-bg-card);
  border:        1px solid var(--gy-gray-100);
  border-radius: var(--gy-radius);
  margin-bottom: 1rem;
  overflow:      hidden;
  transition:    box-shadow var(--gy-transition);
}
.gy-forum-cat:hover { box-shadow: var(--gy-shadow-sm); }

.gy-forum-cat-header {
  display:         flex;
  align-items:     center;
  gap:             .85rem;
  padding:         1rem 1.25rem;
  border-bottom:   1px solid var(--gy-gray-100);
  background:      rgba(139,157,119,.05);
}
.gy-forum-cat-icon {
  width:           42px; height: 42px;
  border-radius:   var(--gy-radius-sm);
  background:      var(--gy-primary);
  color:           #fff;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       1.2rem;
  flex-shrink:     0;
}
.gy-forum-cat-name { font-family: var(--gy-font-serif); font-size: 1.05rem; font-weight: 700; }
.gy-forum-cat-desc { font-size: .85rem; color: var(--gy-text-muted); }

.gy-forum-cat-stats {
  padding:     .6rem 1.25rem;
  display:     flex;
  gap:         1.5rem;
  font-size:   .825rem;
  color:       var(--gy-text-muted);
  align-items: center;
}
.gy-forum-cat-latest a { color: var(--gy-text-link); }

.gy-thread-item {
  display:       flex;
  gap:           1rem;
  padding:       .85rem 1.25rem;
  border-bottom: 1px solid var(--gy-gray-100);
  align-items:   flex-start;
  transition:    background var(--gy-transition);
}
.gy-thread-item:hover    { background: rgba(139,157,119,.04); }
.gy-thread-item:last-child { border-bottom: none; }

.gy-thread-title {
  font-weight: 600;
  color:       var(--gy-dark);
  font-size:   .95rem;
}
.gy-thread-title:hover { color: var(--gy-primary-dark); text-decoration: none; }
.gy-thread-meta { font-size: .8rem; color: var(--gy-text-muted); margin-top: .2rem; }

.gy-thread-stats {
  text-align:  center;
  font-size:   .8rem;
  color:       var(--gy-text-muted);
  flex-shrink: 0;
  min-width:   60px;
}

/* ============================================================
   侧边栏 Widget
   ============================================================ */
.gy-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }

.gy-widget {
  background:    var(--gy-bg-card);
  border:        1px solid var(--gy-gray-100);
  border-radius: var(--gy-radius);
  overflow:      hidden;
}

.gy-widget-title {
  font-family:   var(--gy-font-serif);
  font-size:     .9rem;
  font-weight:   700;
  color:         var(--gy-dark);
  padding:       .75rem 1rem;
  border-bottom: 1px solid var(--gy-gray-100);
  margin:        0;
  background:    rgba(139,157,119,.05);
}
.gy-widget-body { padding: .85rem 1rem; }

.gy-hot-list { margin: 0; }
.gy-hot-item {
  display:       flex;
  align-items:   center;
  gap:           .5rem;
  padding:       .45rem 1rem;
  border-bottom: 1px solid var(--gy-gray-100);
  font-size:     .85rem;
}
.gy-hot-item:last-child { border-bottom: none; }
.gy-hot-rank {
  width: 20px; height: 20px;
  border-radius: 50%;
  background:   var(--gy-gray-300);
  color:        var(--gy-gray-700);
  font-size:    .7rem;
  font-weight:  700;
  display:      flex;
  align-items:  center;
  justify-content: center;
  flex-shrink:  0;
}
.gy-hot-rank.top { background: var(--gy-accent); color: #fff; }
.gy-hot-title    { flex: 1; color: var(--gy-text); line-height: 1.3; }
.gy-hot-title:hover { color: var(--gy-primary-dark); text-decoration: none; }

/* 标签云 */
.gy-tag-cloud { padding: .75rem 1rem; display: flex; flex-wrap: wrap; gap: .4rem; }
.gy-tag {
  display:        inline-flex;
  align-items:    center;
  gap:            .25rem;
  background:     var(--gy-gray-100);
  color:          var(--gy-gray-700);
  padding:        .2em .6em;
  border-radius:  var(--gy-radius-sm);
  font-size:      .8rem;
  transition:     background var(--gy-transition), color var(--gy-transition);
}
.gy-tag:hover   { background: var(--gy-primary); color: #fff; text-decoration: none; }
.gy-tag-count   { font-size: .7em; opacity: .7; }

/* ============================================================
   搜索结果（htmx 片段）
   ============================================================ */
.gy-search-result-item {
  display:       flex;
  align-items:   flex-start;
  gap:           .6rem;
  padding:       .65rem 1rem;
  border-bottom: 1px solid var(--gy-gray-100);
  transition:    background var(--gy-transition);
}
.gy-search-result-item:hover { background: rgba(139,157,119,.06); }
.gy-search-result-item:last-child { border-bottom: none; }
.gy-search-result-title { font-size: .9rem; font-weight: 600; color: var(--gy-dark); }
.gy-search-result-title:hover { color: var(--gy-primary-dark); text-decoration: none; }
.gy-search-result-summary { font-size: .8rem; color: var(--gy-text-muted); line-height: 1.4; }
.gy-search-highlight { background: rgba(196,168,130,.4); border-radius: 2px; padding: 0 .1em; }

/* ============================================================
   表单
   ============================================================ */
.gy-form-label { font-weight: 600; font-size: .9rem; color: var(--gy-dark); margin-bottom: .35rem; }

.gy-input {
  background:    var(--gy-bg);
  border:        1px solid var(--gy-gray-300);
  border-radius: var(--gy-radius-sm);
  color:         var(--gy-text);
  font-family:   var(--gy-font-sans);
  transition:    border-color var(--gy-transition), box-shadow var(--gy-transition);
  width:         100%;
  padding:       .5rem .85rem;
  font-size:     .95rem;
}
.gy-input:focus {
  border-color: var(--gy-primary);
  box-shadow:   0 0 0 .2rem rgba(139,157,119,.18);
  outline:      none;
  background:   var(--gy-bg-card);
}

.gy-textarea { min-height: 120px; resize: vertical; }

/* ============================================================
   分页
   ============================================================ */
.pagination { gap: .25rem; }
.page-link {
  color:         var(--gy-text-link);
  border-color:  var(--gy-gray-300);
  border-radius: var(--gy-radius-sm) !important;
  background:    var(--gy-bg-card);
  transition:    background var(--gy-transition), color var(--gy-transition);
  font-size:     .875rem;
}
.page-link:hover { background: var(--gy-primary); color: #fff; border-color: var(--gy-primary); }
.page-item.active .page-link { background: var(--gy-primary); border-color: var(--gy-primary); color: #fff; }
.page-item.disabled .page-link { color: var(--gy-gray-500); }

/* ============================================================
   页脚
   ============================================================ */
.gy-footer {
  background:  #EFEBE5;
  border-top:  1px solid var(--gy-gray-300);
  color:       var(--gy-gray-700);
}
.gy-footer-title {
  font-family: var(--gy-font-serif);
  font-size:   .9rem;
  font-weight: 700;
  color:       var(--gy-dark);
  margin-bottom: .6rem;
}
.gy-footer-text    { font-size: .85rem; line-height: 1.6; }
.gy-footer-links   { margin: 0; }
.gy-footer-links li { margin-bottom: .3rem; }
.gy-footer-links a { font-size: .875rem; color: var(--gy-gray-700); }
.gy-footer-links a:hover { color: var(--gy-primary-dark); text-decoration: none; }
.gy-footer-divider { border-color: var(--gy-gray-300); margin: 0; }
.gy-footer-copy    { font-size: .85rem; color: var(--gy-gray-700); }

/* ============================================================
   htmx 加载指示器
   ============================================================ */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator  { display: inline-block; }

.gy-spinner {
  width: 18px; height: 18px;
  border: 2px solid var(--gy-gray-300);
  border-top-color: var(--gy-primary);
  border-radius: 50%;
  animation: gy-spin .6s linear infinite;
  display: inline-block;
  vertical-align: middle;
}
@keyframes gy-spin { to { transform: rotate(360deg); } }

/* ============================================================
   首页特有
   ============================================================ */
.gy-section-title {
  font-family:   var(--gy-font-serif);
  font-size:     1.3rem;
  font-weight:   700;
  color:         var(--gy-dark);
  margin-bottom: 1.25rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--gy-gray-100);
  display:       flex;
  align-items:   center;
  gap:           .5rem;
}
.gy-section-title-line {
  display:       inline-block;
  width:         3px;
  height:        1.2em;
  background:    var(--gy-primary);
  border-radius: 2px;
}

/* 快捷入口卡片 */
.gy-quick-card {
  background:    var(--gy-bg-card);
  border:        1px solid var(--gy-gray-100);
  border-radius: var(--gy-radius-lg);
  padding:       1.5rem;
  text-align:    center;
  transition:    box-shadow var(--gy-transition), transform var(--gy-transition);
  cursor:        pointer;
  display:       block;
  text-decoration: none;
  color:         var(--gy-dark);
}
.gy-quick-card:hover {
  box-shadow:    var(--gy-shadow);
  transform:     translateY(-3px);
  color:         var(--gy-dark);
  text-decoration: none;
}
.gy-quick-icon {
  width:           56px; height: 56px;
  border-radius:   var(--gy-radius);
  background:      rgba(139,157,119,.12);
  color:           var(--gy-primary-dark);
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       1.5rem;
  margin:          0 auto .75rem;
}
.gy-quick-name { font-weight: 700; font-size: .95rem; }
.gy-quick-desc { font-size: .8rem; color: var(--gy-text-muted); margin-top: .2rem; }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width: 767.98px) {
  .gy-hero { padding: 2.5rem 0 2rem; }
  .gy-search-input { width: 160px; }
  .gy-search-input:focus { width: 180px; }
  .gy-card-img, .gy-card-img-placeholder { height: 150px; }
}

@media (max-width: 575.98px) {
  .gy-hero-title  { font-size: 1.8rem; }
  .gy-article-title { font-size: 1.4rem; }
}

/* ============================================================
   打印
   ============================================================ */
@media print {
  .gy-navbar, .gy-footer, .gy-sidebar, .htmx-indicator { display: none !important; }
  .gy-article-body { font-size: 11pt; }
}
