/*
Theme Name: Main
Theme URI: https://www.bidianer.com/
Author: Main Theme
Description: 仿笔点网址导航WordPress主题
Version: 2.2.2
Text Domain: main
*/

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#0ea95e;--primary-dark:#0a8a4f;--primary-light:#e6f7ef;--bg:#f5f6f8;--bg-white:#fff;--text:#333;--text-light:#666;--text-lighter:#999;--border:#ebebeb;--border-light:#f3f3f3;--shadow:0 1px 3px rgba(0,0,0,.06);--radius:6px;--radius-sm:4px;--nav-height:44px;--sidebar-width:280px;--content-max:1200px;
  /* ===== 头部横幅可定制变量 ===== */
  --banner-pad-top:24px;
  --banner-pad-bottom:28px;
  --banner-logo-max-h:50px;
  --banner-logo-gap:16px;          /* LOGO 行底部 → 下方搜索框的间距 */
  --banner-engine-search-gap:16px; /* 搜索框 → 搜索引擎切换行 之间的间距 */
  --banner-search-max-w:800px;
  --banner-search-radius:8px;      /* 搜索框圆角 */
  --banner-engines-radius:22px;    /* 搜索引擎切换栏圆角 */
  --banner-bg-start:#0a8a4f;
  --banner-bg-mid:#10a85e;
  --banner-bg-end:#088045;
  /* 搜索按钮颜色 */
  --search-btn-bg:var(--primary);
  --search-btn-hover:var(--primary-dark);
}
html{font-size:14px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{color:var(--text);text-decoration:none;transition:color .2s}a:hover{color:var(--primary)}ul,ol{list-style:none}img{max-width:100%;vertical-align:middle}button,input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none}

/* =============================================================
   BANNER — LOGO + 搜索引擎 + 搜索框 一体化蓝色区域
   ============================================================= */
.site-banner{
  position:relative;
  width:100%;
  overflow:hidden;
}
.banner-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,var(--banner-bg-start) 0%,var(--banner-bg-mid) 50%,var(--banner-bg-end) 100%);
}
.banner-deco{position:absolute}
.banner-deco-1{right:0;top:0;width:35%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.08));transform:skewX(-12deg);transform-origin:top right}
.banner-deco-2{right:8%;top:0;width:18%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.02),rgba(255,255,255,.06));transform:skewX(-12deg)}
.banner-deco-3{right:20%;top:0;width:8%;height:100%;background:rgba(255,255,255,.03);transform:skewX(-12deg)}

.banner-inner{
  position:relative;z-index:1;
  max-width:var(--content-max);
  margin:0 auto;
  padding:var(--banner-pad-top) 20px var(--banner-pad-bottom);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
}

/* LOGO行 */
.banner-logo-row{text-align:center}
.banner-logo{display:inline-flex;align-items:center;gap:8px}
.banner-logo img{max-height:var(--banner-logo-max-h);width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}
.banner-site-name{font-size:26px;font-weight:700;color:#fff;letter-spacing:3px;text-shadow:0 2px 6px rgba(0,0,0,.12)}

/* ===== 搜索引擎切换行 — 现位于搜索框下方 ===== */
.banner-engines{
  margin-top:var(--banner-engine-search-gap);
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  background:rgba(255,255,255,.12);
  border-radius:var(--banner-engines-radius);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
  scrollbar-width:none;
}
.banner-engines::-webkit-scrollbar{display:none}

.engine-tab{
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 12px;
  border-radius:calc(var(--banner-engines-radius) - 4px);
  font-size:13px;
  color:rgba(255,255,255,.85);
  cursor:pointer;
  transition:all .2s;
  white-space:nowrap;
  flex-shrink:0;
}
.engine-tab:hover{
  background:rgba(255,255,255,.15);
  color:#fff;
}
.engine-tab.active{
  background:#fff;
  color:var(--primary);
  font-weight:600;
  box-shadow:0 1px 4px rgba(0,0,0,.1);
}
.engine-favicon{
  width:20px;height:20px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
  color:inherit;
  flex-shrink:0;
  transition:all .2s;
}
.engine-tab.active .engine-favicon{
  background:var(--primary-light);
  color:var(--primary);
}
.engine-name{line-height:1}

/* ===== 搜索框行 — 现紧跟在 LOGO 下方 ===== */
.banner-search-row{
  margin-top:var(--banner-logo-gap);
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  max-width:var(--banner-search-max-w);
}

/* 当搜索引擎切换被隐藏时,无需特殊处理(它本来就在search-row下方) */
.banner-engines.hidden{display:none}

/* 广告链接 — 绝对定位，不影响搜索框居中 */
.banner-ad{
  position:absolute;
  top:50%;transform:translateY(-50%);
  display:flex;align-items:center;gap:8px;
  flex-shrink:0;white-space:nowrap;
}
.banner-ad-left{
  right:calc(100% + 14px);
}
.banner-ad-right{
  left:calc(100% + 14px);
}
.banner-ad-link{
  font-size:13px;font-weight:600;
  color:#ff8c1a;
  text-shadow:0 1px 2px rgba(0,0,0,.1);
  transition:opacity .2s;
}
.banner-ad-link:hover{opacity:.8;color:#ff8c1a}
.banner-ad-link+.banner-ad-link{padding-left:8px;border-left:1px solid rgba(255,255,255,.2)}

/* 搜索框本体 */
.banner-search-form{
  width:100%;
  display:flex;
  align-items:center;
  background:#fff;
  border-radius:var(--banner-search-radius);
  border:0;
  overflow:hidden;
  height:44px;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:box-shadow .2s;
}
.banner-search-form:focus-within{
  box-shadow:0 2px 12px rgba(0,0,0,.12);
}

/* 左侧图标 */
.bsf-icon{
  width:36px;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:700;
  color:var(--primary);
  flex-shrink:0;
  border-right:1px solid #eee;
  background:#fafbfc;
}
/* 统一搜索框内图标大小，避免切换搜索源后图标一大一小 */
.bsf-icon img{
  width:20px !important;
  height:20px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  display:block !important;
}

/* 输入框 */
.banner-search-form input[type="text"]{
  flex:1;
  padding:0 14px;
  height:100%;
  font-size:14px;
  background:transparent;
  color:var(--text);
  min-width:0;
}
.banner-search-form input::placeholder{color:#b0b0b0}

/* 搜索按钮 */
.banner-search-form button{
  height:100%;
  padding:0 24px;
  background:var(--search-btn-bg);
  color:#fff;
  font-size:15px;
  font-weight:500;
  cursor:pointer;
  border:none;
  letter-spacing:6px;
  flex-shrink:0;
  transition:background .2s;
}
.banner-search-form button:hover{background:var(--search-btn-hover)}

/* =============================================================
   NAV
   ============================================================= */
.site-nav{background:var(--bg-white);border-bottom:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.04);position:sticky;top:0;z-index:1000}
.nav-inner{max-width:var(--content-max);margin:0 auto;height:var(--nav-height);display:flex;align-items:center;padding:0 16px}
.nav-links{display:flex;align-items:center;flex:1}.nav-links li a{display:block;padding:0 16px;line-height:var(--nav-height);font-size:14px;color:var(--text);white-space:nowrap;transition:color .2s,background .2s}.nav-links li a:hover,.nav-links li a.active{color:var(--primary);background:var(--primary-light)}
.nav-right{display:flex;align-items:center;flex-shrink:0;font-size:12px}
.header-weather{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm);transition:background .2s}.header-weather:hover{background:var(--primary-light)}.weather-icon{font-size:16px}.weather-city{font-weight:500;color:var(--text)}.weather-temp{color:var(--primary);font-weight:600}
.nav-divider{width:1px;height:18px;background:#e0e0e0;margin:0 8px}.nav-rec-sites{display:flex;align-items:center}.rec-site-link{font-size:12px;font-weight:500;padding:3px 8px;border-radius:var(--radius-sm);transition:all .2s;white-space:nowrap}.rec-site-link:hover{background:var(--primary-light)}

/* =============================================================
   WRAPPER
   ============================================================= */
.site-wrapper{max-width:var(--content-max);margin:0 auto;padding:16px 16px 12px}.top-section{margin-bottom:16px}

/* QUICK NAV */
.quick-nav{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.quick-nav-tabs{display:flex;align-items:center;justify-content:flex-start;border-bottom:1px solid var(--border);padding:0 0 0 16px;gap:6px;overflow:hidden;scrollbar-width:none}.quick-nav-tabs::-webkit-scrollbar{display:none}.quick-nav-tabs a{position:relative;padding:12px 20px;font-size:14px;font-weight:500;color:#666;border-bottom:2px solid transparent;transition:all .2s;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none;flex-shrink:0;letter-spacing:.3px}.quick-nav-tabs a:hover{color:#333;background:transparent}.quick-nav-tabs a.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.quick-nav-tabs a .qnt-icon{width:20px;height:20px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.quick-nav-tabs a .qnt-icon img{width:20px;height:20px;object-fit:cover;border-radius:4px}.quick-nav-tabs a .qnt-icon .dashicons{font-size:16px;width:16px;height:16px;line-height:16px;color:inherit}.quick-nav-content{padding:14px 10px 10px}.quick-nav-panels-wrap{display:grid;grid-template-columns:1fr}.quick-nav-panels-wrap>.quick-nav-panel{grid-row:1;grid-column:1;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s}.quick-nav-panels-wrap>.quick-nav-panel.active{visibility:visible;opacity:1;pointer-events:auto;z-index:1}
.qnt-right-widget{margin-left:auto;flex:1;min-width:0;display:flex;align-items:center;gap:0;padding:0 0 0 30px;font-size:13px;color:#666;line-height:1;overflow:hidden}.qnt-right-widget .qnt-widget{display:flex;align-items:center;width:100%;min-width:0;overflow:hidden}.qnt-right-widget .qnt-widget p{margin:0}.qnt-right-widget .qnt-widget-title{display:none}.qnt-right-widget .widget_text,.qnt-right-widget .widget_custom_html,.qnt-right-widget .widget-hotlist{display:flex;align-items:center;width:100%;min-width:0;overflow:hidden}.qnt-right-widget .textwidget{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.qnt-right-widget a{color:#555;text-decoration:none;white-space:nowrap;transition:color .2s}.qnt-right-widget a:hover{color:var(--primary)}.qnt-right-widget img{max-height:22px;width:auto;border-radius:3px;vertical-align:middle}
/* Hotlist Ticker */
.hotlist-ticker{display:flex;align-items:center;gap:0;width:100%;overflow:hidden;height:100%}
.hotlist-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--hl-color,#f85959);white-space:nowrap;padding:0 10px 0 12px;flex-shrink:0;border-right:1px solid #eee;margin-right:0}
.hotlist-dot{width:6px;height:6px;border-radius:50%;background:var(--hl-color,#f85959);animation:hl-pulse 1.5s ease-in-out infinite}
@keyframes hl-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hotlist-track-wrap{flex:1;min-width:0;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}
.hotlist-track{display:inline-flex;align-items:center;gap:20px;white-space:nowrap;will-change:transform;animation:hl-scroll var(--hl-dur,30s) linear infinite;padding-left:10px}
.hotlist-track:hover{animation-play-state:paused}
@keyframes hl-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.hotlist-item{display:inline-flex;align-items:center;gap:3px;font-size:13px;color:#555;text-decoration:none;white-space:nowrap;transition:color .2s;cursor:pointer}
a.hotlist-item:hover{color:var(--primary)}
.hotlist-rank{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;background:#f0f0f0;color:#999;font-size:10px;font-weight:700;flex-shrink:0;line-height:1}
.hotlist-item:nth-child(1) .hotlist-rank,.hotlist-item:nth-child(2) .hotlist-rank,.hotlist-item:nth-child(3) .hotlist-rank{background:#ff6b6b;color:#fff}
.hotlist-hot{font-size:10px;color:#bbb;margin-left:2px}
.quick-links{display:grid;grid-template-columns:repeat(6,1fr);gap:10px 6px}.quick-link-card{display:flex;align-items:center;gap:8px;padding:10px 10px;border-radius:var(--radius);cursor:pointer;transition:all .2s;color:var(--text);min-width:0}.quick-link-card:hover{background:var(--primary-light);color:var(--primary)}.quick-link-card .ql-icon{width:28px;height:28px;border-radius:6px;background:#f5f6f8;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}.quick-link-card .ql-icon img{width:20px;height:20px;object-fit:contain}.quick-link-card .ql-icon .ql-icon-text{font-size:12px;font-weight:700;color:var(--primary)}.quick-link-card .ql-title{font-size:13px;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* BOTTOM */
.bottom-section{display:flex;gap:16px;align-items:stretch}.bottom-section .content-area{flex:1;min-width:0;display:flex;flex-direction:column}.bottom-section .sidebar-area{width:var(--sidebar-width);flex-shrink:0;overflow:visible;z-index:100}
.sidebar-sticky-inner{position:sticky;top:calc(var(--nav-height) + 16px)}

/* CATEGORY */
.category-section{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;overflow:hidden;position:relative;flex:1}
.category-vtabs{width:90px;min-width:90px;background:#fafbfc;border-right:1px solid var(--border);display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none;border-radius:var(--radius) 0 0 var(--radius)}.category-vtabs::-webkit-scrollbar{display:none}
.category-vtabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 6px;font-size:12px;font-weight:500;color:var(--text-lighter);cursor:pointer;transition:all .25s;border-left:3px solid transparent;border-bottom:1px solid var(--border);text-align:center;flex-shrink:0;line-height:1.4;word-break:break-all;max-width:90px;box-sizing:border-box}.category-vtabs a:last-child{border-bottom:none;flex-shrink:1}.category-vtabs a:hover{color:var(--text);background:#f0f1f3}.category-vtabs a.active{color:var(--primary);background:#fff;border-left-color:var(--primary);font-weight:600}
.vtab-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .2s}.category-vtabs a.active .vtab-icon{opacity:1}.category-vtabs a:hover .vtab-icon{opacity:.8}
.vtab-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.vtab-name{display:inline-block;max-width:2.6em;word-break:break-all;line-height:1.5}
.category-content{flex:1;min-width:0;display:flex;flex-direction:column}
.cat-group{padding:14px 24px;border-bottom:1px solid var(--border);position:relative}.cat-group:last-child{border-bottom:none;flex:1}
.cat-more-btn{position:absolute;top:10px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f5f6f8;color:#999;transition:all .2s;text-decoration:none;z-index:2}
.cat-more-btn svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.cat-more-btn:hover{background:var(--primary);color:#fff;transform:rotate(90deg)}
.cat-group-links{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 0}
.cat-link-item{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--radius);font-size:14px;font-weight:400;color:var(--text);cursor:pointer;transition:color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-link-item:hover{color:var(--primary)}
.cat-link-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.cat-link-icon img{width:30px;height:30px;object-fit:contain;border-radius:6px}
.cli-text{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f5f5f5,#eaeaea);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--primary)}.cat-link-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* SIDEBAR */
.sidebar-area .widget{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;overflow:hidden}.widget-title{padding:10px 14px;font-size:13px;font-weight:600;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px;color:var(--text)}.widget-body{padding:12px 14px}
.calendar-widget .cal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-widget .cal-header span{font-size:14px;font-weight:600}.calendar-widget .cal-header button{background:none;cursor:pointer;color:var(--text-light);padding:3px 6px;border-radius:4px;font-size:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.calendar-grid .day-label{font-size:12px;color:var(--text-lighter);padding:3px 0}.calendar-grid .day-cell{font-size:12px;padding:5px 0;border-radius:50%;cursor:pointer;transition:all .15s;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.calendar-grid .day-cell:hover{background:var(--primary-light)}.calendar-grid .day-cell.today{background:var(--primary);color:#fff;font-weight:600}.calendar-grid .day-cell.other-month{color:#d0d0d0}.cal-info{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-light);font-size:12px;color:var(--text-lighter);text-align:center}

/* ===== Combo Widget (Calendar/Notes Tabs) ===== */
.combo-widget { overflow: visible !important; position: relative; z-index: 100; }
.combo-tabs {
    display: flex; gap: 8px; padding: 12px 14px 10px;
}
.combo-tab {
    flex: 1; padding: 5px 18px; font-size: 13px; font-weight: 500; color: #999;
    background: #fff; cursor: pointer; border: 1.5px solid #e8e8e8;
    border-radius: 6px; transition: all .15s; line-height: 1.5; text-align: center;
}
.combo-tab:hover { color: var(--primary); border-color: #ccc; }
.combo-tab.active {
    color: var(--primary); border-color: #b8e6cc; background: #edf8f2; font-weight: 600;
}
.combo-tab.recommend-btn {
    margin-left: 0; flex: none; padding: 5px 20px; white-space: nowrap;
}

/* Recommend Modal */
.rec-modal-overlay {
    display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45);
    z-index: 9999999; align-items: center; justify-content: center;
}
.rec-modal-overlay.open { display: flex; }
.rec-modal {
    background: #fff; border-radius: 12px; width: 420px; max-width: 90vw;
    max-height: 85vh; overflow-y: auto; box-shadow: 0 12px 40px rgba(0,0,0,.2);
    animation: recSlideIn .25s ease;
}
@keyframes recSlideIn { from { opacity:0; transform:translateY(-20px); } to { opacity:1; transform:translateY(0); } }
.rec-modal-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid #f0f0f0;
}
.rec-modal-header h3 { margin: 0; font-size: 16px; font-weight: 600; color: var(--text); }
.rec-modal-close {
    background: none; border: none; font-size: 22px; color: #999; cursor: pointer;
    width: 32px; height: 32px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; transition: all .15s;
}
.rec-modal-close:hover { background: #f5f5f5; color: #333; }
.rec-modal-body { padding: 20px; }
.rec-form-group { margin-bottom: 14px; }
.rec-form-group label { display: block; font-size: 13px; font-weight: 500; color: #444; margin-bottom: 6px; }
.rec-form-group .required { color: #e74c3c; }
.rec-form-group input,
.rec-form-group select,
.rec-form-group textarea {
    width: 100%; padding: 8px 12px; font-size: 13px; border: 1px solid #ddd;
    border-radius: 6px; outline: none; transition: border-color .15s; box-sizing: border-box;
    font-family: inherit;
}
.rec-form-group input:focus,
.rec-form-group select:focus,
.rec-form-group textarea:focus { border-color: var(--primary); }
.rec-form-group textarea { resize: vertical; }
.rec-form-msg { font-size: 13px; margin-bottom: 10px; min-height: 20px; }
.rec-form-msg.success { color: #27ae60; }
.rec-form-msg.error { color: #e74c3c; }
.rec-form-submit {
    width: 100%; padding: 10px; background: var(--primary); color: #fff; border: none;
    border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s;
}
.rec-form-submit:hover { background: var(--primary-dark); }
.rec-form-submit:disabled { opacity: .6; cursor: not-allowed; }
.combo-panel { display: none; padding: 12px 14px; position: relative; }
.combo-panel.active { display: block; }

/* Calendar Header */
.cal2-header {
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; padding: 2px 0;
}
.cal2-arrow {
    width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
    background: none; cursor: pointer; color: var(--primary); font-size: 20px; font-weight: 600;
    border-radius: 4px; transition: background .15s;
}
.cal2-arrow:hover { background: var(--primary-light); }
.cal2-selectors { display: flex; align-items: center; gap: 4px; }
.cal2-sel-btn {
    display: flex; align-items: center; gap: 3px; background: none; cursor: pointer;
    font-size: 16px; font-weight: 700; color: var(--text); padding: 2px 4px; border-radius: 4px;
    transition: background .15s;
}
.cal2-sel-btn:hover { background: #f0f1f3; }
.cal2-caret-icon {
    display: inline-block; width: 0; height: 0;
    border: 4px solid transparent; border-top: 5px solid #999;
    margin-top: 3px; transition: transform .2s;
}
.cal2-sel-btn.open .cal2-caret-icon { transform: rotate(180deg); margin-top: -2px; }
.cal2-sel-wrap { position: relative; }
.cal2-sel {
    appearance: none; -webkit-appearance: none;
    background: none; border: none; cursor: pointer;
    font-size: 16px; font-weight: 700; color: var(--text);
    padding: 2px 16px 2px 4px; outline: none;
}
.cal2-sel-wrap::after {
    content: ''; position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
    border: 4px solid transparent; border-top: 5px solid #999; pointer-events: none;
}
.cal2-day-display { font-size: 16px; font-weight: 700; color: var(--text); margin-left: 2px; }

/* Year Grid Panel */
.cal2-year-panel {
    display: none; padding: 8px 12px; max-height: none; overflow-y: visible;
    position: absolute; left: 0; right: auto; z-index: 99999;
    width: 520px; background: #fff; box-shadow: 0 4px 16px rgba(0,0,0,.12);
    border-radius: 6px; margin-top: 4px;
}
.cal2-year-panel.open { display: block; }
.cal2-year-grid {
    display: grid; grid-template-columns: repeat(10, 1fr); gap: 0;
}
.cal2-year-cell {
    padding: 12px 0; text-align: center; font-size: 14px; color: #555;
    cursor: pointer; border-radius: 0; transition: color .12s, background .12s;
    line-height: 1.5;
}
.cal2-year-cell:hover { background: #f0f2f5; }
.cal2-year-cell.active { background: #e6f7ef; color: var(--primary); font-weight: 600; }
.cal2-year-cell.current { color: var(--primary); font-weight: 600; }

/* Weekday Labels */
.cal2-weekdays {
    display: grid; grid-template-columns: repeat(7, 1fr); text-align: center;
    padding-bottom: 6px; border-bottom: 1px solid var(--border-light); margin-bottom: 4px;
}
.cal2-wk { font-size: 12px; color: var(--text-lighter); padding: 2px 0; font-weight: 500; }
.cal2-wk.sat { color: var(--primary); }
.cal2-wk.sun { color: var(--primary); }

/* Calendar Grid */
.cal2-grid {
    display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; gap: 0;
}
.cal2-cell {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 4px 0; min-height: 44px; cursor: pointer; position: relative;
    transition: background .12s; border-radius: 4px;
}
.cal2-cell:hover { background: #f5f7fa; }
.cal2-cell .cal2-date { font-size: 13px; line-height: 1.4; font-weight: 400; color: var(--text); }
.cal2-cell .cal2-lunar { font-size: 10px; line-height: 1.3; color: var(--text-lighter); margin-top: 1px; }
.cal2-cell.other-month .cal2-date,
.cal2-cell.other-month .cal2-lunar { color: #d0d0d0; }
.cal2-cell.weekend .cal2-date { font-weight: 600; }
.cal2-cell.today .cal2-date {
    background: var(--primary); color: #fff; font-weight: 600;
    width: 26px; height: 26px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.cal2-cell.today .cal2-lunar { color: var(--primary); font-weight: 500; }
.cal2-cell.selected { cursor: pointer; }
.cal2-cell.selected:not(.today) .cal2-date {
    background: var(--primary-light); color: var(--primary); font-weight: 600;
    width: 26px; height: 26px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.cal2-cell.selected:not(.today) .cal2-lunar { color: var(--primary); font-weight: 500; }
.cal2-cell:not(.other-month) { cursor: pointer; }
.cal2-cell:not(.other-month):hover { background: #f5f7fa; border-radius: 6px; }
.cal2-cell .cal2-lunar.festival { color: var(--primary); font-weight: 500; }
.cal2-cell .cal2-lunar.solar-term { color: var(--primary); font-weight: 500; }

/* Holiday Badge */
.cal2-badge {
    position: absolute; top: 1px; right: 2px;
    font-size: 8px; width: 14px; height: 14px;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-weight: 600; line-height: 1;
}
.cal2-badge.rest { background: #e6f7ee; color: #00b96b; border: 1px solid #b7eb8f; }
.cal2-badge.work { background: #fff2e8; color: #fa8c16; border: 1px solid #ffd591; }

/* Calendar Footer */
.cal2-footer {
    padding: 8px 0 2px; border-top: 1px solid var(--border-light); margin-top: 4px;
    font-size: 12px; color: var(--text-lighter); display: flex; align-items: center; justify-content: space-between;
}
.cal2-footer-info { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.cal2-footer-dot { color: #ccc; }
.cal2-footer-btn {
    background: none; cursor: pointer; color: var(--text-lighter); font-size: 15px;
    width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;
    border-radius: 4px; transition: color .15s;
}
.cal2-footer-btn:hover { color: var(--primary); }

/* Notes inside combo */
#panelNotes textarea {
    width: 100%; min-height: 180px; padding: 10px 12px;
    border: 1px solid var(--border); border-radius: var(--radius-sm);
    resize: vertical; font-size: 13px; color: var(--text); line-height: 1.7;
    background: #fefef5;
}
#panelNotes textarea:focus { border-color: var(--primary); outline: none; }

/* QR panel removed */
.hot-list li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--border-light);cursor:pointer;transition:color .15s;font-size:13px}.hot-list li:hover{color:var(--primary)}.hot-list li:last-child{border-bottom:none}.hot-list .rank{width:18px;height:18px;border-radius:3px;background:#f0f1f3;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-lighter);flex-shrink:0}.hot-list li:nth-child(1) .rank{background:#ff4d4f;color:#fff}.hot-list li:nth-child(2) .rank{background:#ff7a45;color:#fff}.hot-list li:nth-child(3) .rank{background:#ffa940;color:#fff}.hot-list .hot-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hot-list .hot-tag{font-size:10px;padding:1px 4px;border-radius:2px;background:#fff0f0;color:#ff4d4f}
/* notes-widget styles now in combo-widget above */

/* AI Quick Nav */
.ainav-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ainav-card{display:block;border-radius:8px;overflow:hidden;border:1px solid var(--border-light);transition:all .2s;background:var(--bg-white)}
.ainav-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:var(--primary)}
.ainav-card img{width:100%;height:auto;display:block;object-fit:contain}

/* FOOTER */
.site-footer{background:#2c3e50;color:#adb5bd;padding:36px 20px 16px}.footer-inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:24px}.footer-brand .footer-logo{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px}.footer-brand .footer-desc{font-size:12px;color:#8899a6;line-height:1.8}.footer-col h4{font-size:13px;color:#fff;margin-bottom:10px;font-weight:600}.footer-col a{display:block;font-size:12px;color:#8899a6;padding:3px 0}.footer-col a:hover{color:#fff}.footer-bottom{max-width:var(--content-max);margin:24px auto 0;padding-top:16px;border-top:1px solid #3d4f5f;text-align:center;font-size:12px;color:#6c7a89}

/* RESPONSIVE */
@media(max-width:992px){.bottom-section{flex-direction:column!important}.sidebar-area{width:100%!important;position:static!important}.sidebar-sticky-inner{position:static}.quick-links{grid-template-columns:repeat(4,1fr)}.quick-links.ql-icon-grid{grid-template-columns:repeat(4,1fr)!important}.footer-inner{grid-template-columns:repeat(2,1fr)}.cal2-year-panel{width:100%;position:relative;box-shadow:none}}
@media(max-width:768px){.nav-links{display:none}.qnt-right-widget{display:none}.site-nav.nav-open .nav-links{display:flex;position:absolute;top:var(--nav-height);left:0;right:0;background:#fff;box-shadow:var(--shadow);padding:10px;flex-direction:column;z-index:999}.site-nav.nav-open .nav-links li a{padding:10px 16px;line-height:1.5}.mobile-toggle{display:block!important}.quick-links{grid-template-columns:repeat(3,1fr)}.quick-links.ql-icon-grid{grid-template-columns:repeat(3,1fr)!important}.cat-group-links{grid-template-columns:repeat(3,1fr)!important}.category-vtabs{width:65px;min-width:65px}.category-vtabs a{padding:14px 4px;font-size:11px}.vtab-icon svg{width:20px;height:20px}.footer-inner{grid-template-columns:1fr}.nav-rec-sites,.nav-divider{display:none}.banner-site-name{font-size:20px}.banner-inner{padding:18px 14px 22px;gap:12px}.banner-ad{display:none!important}.banner-search-row{gap:0}.banner-engines{flex-wrap:nowrap}.cat-link-item{font-size:13px;gap:6px;padding:8px 6px}.cat-link-icon,.cli-text{width:24px;height:24px}.cat-link-icon img{width:22px;height:22px}.uni-label{display:none}.uni-ad-links{display:none}.uni-ad-divider{display:none}.uni-controls-group{margin-left:0}.ub-quad-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.quick-links{grid-template-columns:repeat(2,1fr)}.quick-links.ql-icon-grid{grid-template-columns:repeat(2,1fr)!important}.cat-group-links{grid-template-columns:repeat(2,1fr)!important}.engine-name{display:none}.engine-tab{padding:6px 8px}}

.mobile-toggle{display:none;background:none;cursor:pointer;padding:6px;color:var(--text-light)}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .35s ease both}

/* ======== 首页推荐导航：自定义图标色块 ======== */
.quick-link-card .ql-icon .ql-icon-text[style*="background"]{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}
.quick-nav-heading{font-size:13px;font-weight:600;color:var(--text-muted,#888);padding:0 0 6px 2px;letter-spacing:.5px}

/* ======== 首页推荐导航 — meta box extra fields ======== */
#homeNavExtraFields { margin-top:4px; padding:14px 0 4px; border-top:1px dashed #e0e0e0; }
#homeNavExtraFields .form-table th { width:140px; font-size:13px; }
#homeNavExtraFields .form-table td { padding:6px 10px; }
.ql-icon img { width:22px; height:22px; border-radius:4px; object-fit:cover; }
.ql-icon.has-img { background: transparent; box-shadow: none; }
.ql-icon .ql-icon-text[style*="background"] {
    width:28px; height:28px; border-radius:6px;
    display:flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:700;
}

/* ── 图标样式 (icon-grid) ── */
.quick-links.ql-icon-grid { gap: 0; padding: 2px 0; }
.quick-links.ql-icon-grid .ql-grid-card {
    flex-direction: column; align-items: center; justify-content: center;
    gap: 6px; padding: 10px 6px 8px; text-align: center;
    border-radius: 10px;
}
.quick-links.ql-icon-grid .ql-grid-card:hover {
    background: var(--primary-light, #f0f5ff);
}
.quick-links.ql-icon-grid .ql-grid-card .ql-icon {
    width: 60px; height: 60px; border-radius: 14px; background: #f5f7fa;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.quick-links.ql-icon-grid .ql-grid-card .ql-icon.has-img { background: transparent; box-shadow: none; }
.quick-links.ql-icon-grid .ql-grid-card .ql-icon img { width: 60px; height: 60px; border-radius: 14px; }
.quick-links.ql-icon-grid .ql-grid-card .ql-icon .ql-icon-text {
    width: 60px; height: 60px; border-radius: 14px; font-size: 22px;
}
.quick-links.ql-icon-grid .ql-grid-card .ql-title {
    font-size: 12px !important; color: var(--text-muted, #666) !important;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    min-width: 0; max-width: 100%; line-height: 1.3;
}

/* =====================================================================
   导航栏下方搜索框 (nav-searchbar)
   ===================================================================== */
.nav-searchbar-wrap {
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #e8eaed;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    z-index: 90;
    position: relative;
}
.nav-searchbar-inner {
    max-width: var(--content-max);
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
}

/* 搜索源切换器 */
.nsb-home-logo { margin-right: 10px; }
.nsb-left-logo { margin-right: auto; flex-shrink: 0; }
.ssb-left-logo { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); flex-shrink: 0; z-index: 2; }
.nsb-engine-picker { position: relative; flex-shrink: 0; }
.nsb-engine-trigger {
    display: flex; align-items: center; gap: 5px;
    padding: 0 12px 0 10px; height: 42px;
    background: none; border: none; cursor: pointer;
    font-size: 14px; color: #333;
    border-right: 1px solid #e0e0e0;
    white-space: nowrap;
    transition: color .15s;
}
.nsb-engine-trigger:hover { color: #0a8a4f; }
.nsb-engine-icon { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nsb-engine-name { font-size: 14px; font-weight: 500; }
.nsb-caret { color: #999; flex-shrink: 0; transition: transform .2s; }
.nsb-engine-trigger[aria-expanded="true"] .nsb-caret { transform: rotate(180deg); }

/* 下拉列表 */
.nsb-engine-dropdown {
    display: none; position: absolute; top: calc(100% + 6px); left: 0;
    min-width: 140px; background: #fff;
    border: 1px solid #e0e0e0; border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    padding: 6px 0; list-style: none; margin: 0; z-index: 200;
}
.nsb-engine-dropdown.open { display: block; }
.banner-inner.dropdown-open { z-index: 1001; }
.nsb-eng-opt {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 14px; cursor: pointer; font-size: 13px; color: #333;
    transition: background .12s;
}
.nsb-eng-opt:hover { background: #f1f3f4; }
.nsb-eng-opt.active { color: #0a8a4f; font-weight: 600; background: #e6f7ef; }

/* 分隔线 */
.nsb-divider { display: none; }

/* 输入框区域 */
.nsb-input-wrap {
    flex: 1; max-width: 600px; display: flex; align-items: center; position: relative;
    border: 1.5px solid #d0d5dd;
    border-left: none;
    border-radius: 0 4px 4px 0;
    background: #fff;
    height: 42px;
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
.nsb-engine-picker + .nsb-divider + .nsb-input-wrap,
.nsb-engine-picker ~ .nsb-input-wrap {
    border-left: none;
    border-radius: 0 4px 4px 0;
}
/* 让 engine-picker + input 整体看起来像一个输入框 */
.nsb-engine-trigger {
    border: 1.5px solid #d0d5dd;
    border-right: none;
    border-radius: 4px 0 0 4px;
    background: #fafafa;
    height: 42px;
}
.nsb-input-wrap:focus-within { border-color: #0a8a4f; box-shadow: 0 0 0 2px rgba(26,115,232,.12); }
.nsb-engine-trigger:focus,
.nsb-input-wrap:focus-within ~ .nsb-engine-trigger { border-color: #0a8a4f; }

.nsb-input {
    flex: 1; border: none; outline: none; background: transparent;
    font-size: 14px; color: #333; padding: 0 10px 0 14px; height: 100%;
    min-width: 0;
}
.nsb-input::placeholder { color: #aaa; }
.nsb-clear-btn {
    background: none; border: none; cursor: pointer; padding: 0 10px;
    display: flex; align-items: center; flex-shrink: 0;
}

/* 搜索按钮 */
.nsb-search-btn {
    height: 42px; padding: 0 22px;
    background: #fff; border: 1.5px solid #d0d5dd; border-left: none;
    font-size: 14px; color: #0a8a4f; font-weight: 600;
    cursor: pointer; white-space: nowrap; flex-shrink: 0;
    transition: background .15s, color .15s;
    letter-spacing: .5px;
    border-radius: 0;
}
.nsb-search-btn:hover { background: #e6f7ef; }

/* 推荐好站按钮 */
.nsb-rec-btn {
    height: 42px; padding: 0 20px;
    background: #0a8a4f; color: #fff !important;
    font-size: 14px; font-weight: 600;
    border-radius: 0 4px 4px 0;
    display: inline-flex; align-items: center;
    text-decoration: none; white-space: nowrap; flex-shrink: 0;
    transition: background .15s;
    margin-left: -1px;
    border: 1.5px solid #0a8a4f;
}
.nsb-rec-btn:hover { background: #1557b0; border-color: #1557b0; }

/* 移动端适配 */
@media (max-width: 680px) {
    .nav-searchbar-inner { padding: 8px 12px; gap: 6px; flex-wrap: wrap; }
    .nsb-engine-trigger { border-radius: 4px; border-right: 1.5px solid #d0d5dd; height: 36px; }
    .nsb-input-wrap { border-radius: 4px; border-left: 1.5px solid #d0d5dd !important; height: 36px; }
    .nsb-search-btn { border-left: 1.5px solid #d0d5dd; border-radius: 4px; height: 36px; }
    .nsb-rec-btn { border-radius: 4px; height: 36px; }
}

/* =====================================================================
   导航下方横排广告条 (nav-bar-ads)
   ===================================================================== */
.nav-bar-ads {
    width: 100%;
    font-size: 13px;
    position: relative;
    margin: 2px 0 5px;
}
.nav-bar-ads-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 5px 24px;
    display: flex;
    align-items: center;
    justify-content: center;   /* 广告居中 */
    flex-wrap: wrap;
    gap: 2px 0;
}
.nba-item {
    display: inline-block;
    padding: 3px 16px;
    text-decoration: none;
    transition: opacity .15s, color .15s;
    white-space: nowrap;
    line-height: 1.7;
    font-size: 13px;
}
.nba-item:hover { opacity: .75; text-decoration: underline; }
.nba-sep {
    color: #d0d0d0;
    font-size: 12px;
    user-select: none;
    padding: 0;
    line-height: 1.7;
}
@media (max-width: 680px) {
    .nav-bar-ads-inner { padding: 6px 14px; }
    .nba-item { padding: 3px 10px; font-size: 12px; }
}

/* =====================================================================
   悬浮搜索框 (sticky-searchbar)
   ===================================================================== */
.sticky-searchbar {
    position: fixed;
    top: var(--nav-height, 44px);
    left: 0; right: 0;
    z-index: 995;
    background: #fff;
    border-bottom: 1px solid #e0e4ea;
    box-shadow: 0 3px 14px rgba(0,0,0,.1);
    transform: translateY(-110%);
    transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .28s;
    opacity: 0;
    pointer-events: none;
}
.sticky-searchbar.ssb-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.sticky-sb-inner {
    max-width: var(--content-max);
    margin: 0 auto;
    padding: 9px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 0;
}

/* 搜索源选择器 */
.ssb-engine-picker { position: relative; flex-shrink: 0; }
.ssb-engine-trigger {
    display: flex; align-items: center; gap: 5px;
    padding: 0 12px 0 10px; height: 40px;
    background: #fafafa;
    border: 1.5px solid #d0d5dd; border-right: none;
    border-radius: 6px 0 0 6px;
    cursor: pointer; font-size: 13px; color: #333;
    white-space: nowrap;
    transition: border-color .15s, color .15s;
    outline: none;
}
.ssb-engine-trigger:hover { color: #0a8a4f; }
/* 输入框聚焦时，搜索源触发器同步显示蓝色边框 */
.sticky-sb-inner.ssb-focused .ssb-engine-trigger {
    border-color: #0a8a4f;
}
.ssb-engine-trigger[aria-expanded="true"] .ssb-caret { transform: rotate(180deg); }
.ssb-caret { transition: transform .2s; color: #999; flex-shrink: 0; }
.ssb-engine-icon {
    width: 20px; height: 20px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.ssb-icon-text {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px;
    border-radius: 4px; background: #e6f7ef;
    font-size: 11px; font-weight: 700; color: #0a8a4f;
}
.ssb-engine-name { font-size: 13px; font-weight: 500; }

/* 下拉 */
.ssb-engine-dropdown {
    display: none; position: absolute; top: calc(100% + 5px); left: 0;
    min-width: 130px; background: #fff;
    border: 1px solid #e0e0e0; border-radius: 8px;
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    padding: 5px 0; list-style: none; margin: 0; z-index: 1200;
}
.ssb-engine-dropdown.open { display: block; }
.ssb-eng-opt {
    display: flex; align-items: center; gap: 7px;
    padding: 7px 13px; cursor: pointer; font-size: 13px; color: #333;
    transition: background .1s;
}
.ssb-eng-opt:hover { background: #f1f3f4; }
.ssb-eng-opt.active { color: #0a8a4f; font-weight: 600; background: #e6f7ef; }
.ssb-opt-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 16px; border-radius: 3px;
    background: #e6f7ef; font-size: 10px; font-weight: 700;
    color: #0a8a4f; flex-shrink: 0;
}

/* 分割线 */
.ssb-vline { width: 0; height: 0; }

/* 输入框 */
.ssb-input-wrap {
    flex: 0 1 600px; display: flex; align-items: center;
    border: 1.5px solid #d0d5dd; border-left: none;
    border-radius: 0; background: #fff; height: 40px; overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
.ssb-input-wrap:focus-within,
.sticky-sb-inner.ssb-focused .ssb-input-wrap { border-color: #0a8a4f; }
.ssb-input {
    flex: 1; border: none; outline: none; background: transparent;
    font-size: 14px; color: #333; padding: 0 10px 0 14px; height: 100%;
    min-width: 0;
}
.ssb-input::placeholder { color: #aaa; }
.ssb-clear {
    background: none; border: none; cursor: pointer;
    padding: 0 10px; display: flex; align-items: center; flex-shrink: 0;
}

/* 搜索按钮 */
.ssb-btn {
    height: 40px; padding: 0 22px;
    background: #fff; border: 1.5px solid #d0d5dd; border-left: none;
    border-radius: 0 6px 6px 0;
    font-size: 14px; color: #0a8a4f; font-weight: 600;
    cursor: pointer; white-space: nowrap; flex-shrink: 0;
    transition: background .15s;
    letter-spacing: .5px;
}
.ssb-btn:hover { background: #e6f7ef; }

/* 移动端 */
@media (max-width: 680px) {
    .sticky-sb-inner { padding: 7px 12px; }
    .ssb-engine-trigger { padding: 0 8px; font-size: 12px; height: 36px; }
    .ssb-input-wrap { height: 36px; }
    .ssb-btn { height: 36px; padding: 0 14px; font-size: 13px; }
}

/* Floating Toolbar */
.float-toolbar{position:fixed;right:16px;bottom:20%;z-index:9999;display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateX(20px);transition:all .3s;pointer-events:none}
.float-toolbar.ftb-show{opacity:1;transform:translateX(0);pointer-events:auto}
.ftb-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:46px;background:#fff;border:1px solid #e8e8e8;color:#888;cursor:pointer;transition:all .2s;text-decoration:none;gap:2px}
.ftb-btn:first-child{border-radius:8px 8px 0 0}
.ftb-btn:last-child{border-radius:0 0 8px 8px}
.ftb-btn:only-child{border-radius:8px}
.ftb-btn+.ftb-btn{border-top:none}
.ftb-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.ftb-btn:hover+.ftb-btn{border-top-color:var(--primary)}
.ftb-btn svg{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ftb-label{font-size:10px;line-height:1;margin-top:1px}
@media(max-width:768px){.float-toolbar{right:10px;bottom:15%}.ftb-btn{width:40px;height:40px}.ftb-btn svg{width:16px;height:16px}.ftb-label{font-size:9px}}

/* Report Modal */
.report-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999999;align-items:center;justify-content:center}
.report-modal-overlay.open{display:flex}
.report-modal{background:#fff;border-radius:12px;width:420px;max-width:90vw;max-height:85vh;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.2);animation:rptSlideIn .25s ease}
@keyframes rptSlideIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}
.report-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}
.report-modal-close{background:none;border:none;font-size:22px;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s}
.report-modal-close:hover{background:#f5f5f5;color:#333}
.report-modal-body{padding:20px}
.rpt-form-group{margin-bottom:14px}
.rpt-form-group label{display:block;font-size:13px;font-weight:500;color:#444;margin-bottom:6px}
.rpt-form-group input,.rpt-form-group select,.rpt-form-group textarea{width:100%;padding:8px 12px;font-size:13px;border:1px solid #ddd;border-radius:6px;outline:none;transition:border-color .15s;box-sizing:border-box;font-family:inherit}
.rpt-form-group input:focus,.rpt-form-group select:focus,.rpt-form-group textarea:focus{border-color:var(--primary)}
.rpt-form-group textarea{resize:vertical}
.rpt-form-msg{font-size:13px;margin-bottom:10px;min-height:20px}
.rpt-form-msg.success{color:#27ae60}
.rpt-form-msg.error{color:#e74c3c}
.rpt-form-submit{width:100%;padding:10px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.rpt-form-submit:hover{background:var(--primary-dark)}
.rpt-form-submit:disabled{opacity:.6;cursor:not-allowed}

/* Contact Panel */
.ftb-contact-panel{display:none;position:absolute;right:52px;bottom:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.15);min-width:160px;overflow:hidden;z-index:10}
.ftb-contact-panel.open{display:block;animation:ftbPanelIn .2s ease}
@keyframes ftbPanelIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}
.ftb-cp-item{display:block;padding:12px 20px;font-size:14px;color:#333;text-decoration:none;border-bottom:1px solid #f5f5f5;white-space:nowrap;transition:background .15s}
.ftb-cp-item:last-child{border-bottom:none}
.ftb-cp-item:hover{background:#f8f9fa;color:var(--primary)}

/* Dark Mode */

/* University Quick Access */
.uni-access-card{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:5px;overflow:hidden}
.uni-access-row{padding:14px 20px;display:flex;align-items:center;gap:12px;flex-wrap:nowrap}
.uni-label{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;margin-right:-6px;flex-shrink:0}
.uni-access-title{font-size:15px;font-weight:600;color:var(--text);margin-right:45px;white-space:nowrap;flex-shrink:0}
.uni-select{padding:7px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;color:var(--text);background:#fff;cursor:pointer;min-width:80px;max-width:140px;outline:none;transition:border-color .15s;flex-shrink:1}
.uni-select:focus{border-color:var(--primary)}
.uni-select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}
.uni-visit-btn{display:inline-flex;align-items:center;justify-content:center;padding:7px 24px;background:var(--primary);color:#fff !important;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap}
.uni-visit-btn:hover,.uni-visit-btn:focus,.uni-visit-btn:active{background:var(--primary-dark);color:#fff !important}
.uni-visit-btn.disabled{background:#ccc;color:rgba(255,255,255,.55) !important;cursor:not-allowed}
.uni-add-btn{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:none;border-radius:6px;font-size:13px;color:#999;cursor:pointer;transition:all .15s;text-decoration:none;white-space:nowrap;gap:2px}
.uni-add-btn:hover{color:var(--primary)}
/* University Ad Links */
.uni-ad-links{display:flex;align-items:center;gap:14px;flex-shrink:0;white-space:nowrap}
.uni-ad-link{font-size:13px;text-decoration:none;transition:opacity .15s;white-space:nowrap}
.uni-ad-link:hover{opacity:.75;text-decoration:underline}
.uni-ad-divider{width:1px;height:20px;background:#ddd;flex-shrink:0;margin:0 8px 0 auto}
.uni-controls-group{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-left:auto}
/* University Add Modal */
.uni-add-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999999;align-items:center;justify-content:center}
.uni-add-overlay.open{display:flex}
.uni-add-modal{background:#fff;border-radius:12px;width:400px;max-width:90vw;box-shadow:0 12px 40px rgba(0,0,0,.2);animation:rptSlideIn .25s ease}
.uni-add-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #f0f0f0}
.uni-add-modal-header h3{margin:0;font-size:15px;font-weight:600}
.uni-add-modal-close{background:none;border:none;font-size:22px;color:#999;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.uni-add-modal-close:hover{background:#f5f5f5;color:#333}
.uni-add-modal-body{padding:20px}

/* University Banner Carousel */
.ub-carousel-card{background:var(--bg-white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.ub-carousel-inner{position:relative;overflow:hidden;border-radius:var(--radius)}
.ub-ad-label{position:absolute;top:0;right:0;z-index:6;background:rgba(0,0,0,.45);color:#fff;font-size:10px;padding:1px 6px;border-radius:0 var(--radius) 0 4px;line-height:1.6;pointer-events:none}
.ub-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;z-index:0;display:flex;align-items:center;justify-content:center}
.ub-slide.ub-active{opacity:1;z-index:1}
.ub-single-link{display:block;width:100%;height:100%}
.ub-single-img{width:100%;height:100%;object-fit:cover;display:block}
.ub-quad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%;height:100%;padding:6px}
.ub-quad-item{display:flex;flex-direction:column;border-radius:4px;overflow:hidden;position:relative;text-decoration:none;transition:transform .15s}
.ub-quad-item:hover{transform:translateY(-2px)}
.ub-quad-item img{width:100%;flex:1;object-fit:cover;display:block}
.ub-quad-title{font-size:11px;color:var(--text-light);text-align:center;padding:3px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bg-white)}
.ub-dots{position:absolute;bottom:6px;left:0;right:0;display:flex;justify-content:center;gap:5px;z-index:5}
.ub-dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.2);cursor:pointer;transition:background .3s}
.ub-dot.active{background:var(--primary)}

/* ===== Dark Mode — Warm Charcoal ===== */
body.dark-mode {
    --bg: #141414;
    --bg-white: #1e1e1e;
    --text: #d4d4d4;
    --text-light: #a0a0a0;
    --text-lighter: #707070;
    --border: #303030;
    --border-light: #282828;
    --shadow: 0 1px 4px rgba(0,0,0,.4);
    background: #141414;
    color: #d4d4d4;
}

/* Banner */
body.dark-mode .site-banner { background: #1a1a1a; }
body.dark-mode .banner-bg { background: linear-gradient(135deg, #1a1a1a 0%, #252525 50%, #1a1a1a 100%); }
body.dark-mode .banner-deco-1,
body.dark-mode .banner-deco-2,
body.dark-mode .banner-deco-3 { display: none; }
body.dark-mode .site-banner { background-image: none !important; }
body.dark-mode .banner-search-form { background: #2a2a2a; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
body.dark-mode .banner-search-form input[type="text"] { color: #ddd; }
body.dark-mode .banner-search-form input::placeholder { color: #666; }
body.dark-mode .bsf-icon { background: #333; border-right-color: #444; color: #aaa; }
body.dark-mode .banner-engines { background: rgba(255,255,255,.06); }
body.dark-mode .engine-tab { color: rgba(255,255,255,.6); }
body.dark-mode .engine-tab:hover { background: rgba(255,255,255,.08); color: #ddd; }
body.dark-mode .engine-tab.active { background: #2a2a2a; color: var(--primary); }
body.dark-mode .engine-favicon { background: rgba(255,255,255,.1); }
body.dark-mode .banner-ad-link { text-shadow: none; }

/* Navigation */
body.dark-mode .site-nav { background: #1e1e1e; border-bottom-color: #303030; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
body.dark-mode .site-nav a,
body.dark-mode .site-nav .nav-link-item { color: #b0b0b0; }
body.dark-mode .site-nav a:hover,
body.dark-mode .site-nav .nav-link-item:hover,
body.dark-mode .site-nav .nav-link-item.active { color: var(--primary); }

/* Sticky Searchbar */
body.dark-mode .sticky-searchbar { background: #1e1e1e; border-bottom-color: #303030; box-shadow: 0 3px 12px rgba(0,0,0,.4); }

/* Quick Links / Home Nav */
body.dark-mode .quick-nav-heading { color: #bbb; }
body.dark-mode .quick-nav-tabs { border-bottom-color: #303030; }
body.dark-mode .quick-nav-tabs a { color: #888; }
body.dark-mode .quick-nav-tabs a:hover { color: #ccc; }
body.dark-mode .quick-nav-tabs a.active { color: var(--primary); border-bottom-color: var(--primary); }
body.dark-mode .qnt-right-widget { color: #999; }
body.dark-mode .qnt-right-widget a { color: #aaa; }
body.dark-mode .qnt-right-widget a:hover { color: var(--primary); }
body.dark-mode .hotlist-label { border-right-color: #333; }
body.dark-mode .hotlist-item { color: #aaa; }
body.dark-mode .hotlist-rank { background: #333; color: #888; }
body.dark-mode .hotlist-item:nth-child(1) .hotlist-rank,body.dark-mode .hotlist-item:nth-child(2) .hotlist-rank,body.dark-mode .hotlist-item:nth-child(3) .hotlist-rank { background: #c0392b; color: #fff; }
body.dark-mode .quick-link-card { color: #ccc; }
body.dark-mode .quick-link-card .ql-icon { background: #2a2a2a; box-shadow: none; }
body.dark-mode .quick-link-card .ql-title { color: #ccc !important; }
body.dark-mode .quick-link-card:hover { background: #2a2a2a; color: var(--primary); }
body.dark-mode .quick-link-card:hover .ql-title { color: var(--primary) !important; }
body.dark-mode .quick-link-card .ql-icon .ql-icon-text { color: #fff !important; }
body.dark-mode .quick-links.ql-icon-grid .ql-grid-card .ql-icon { background: #2a2a2a; box-shadow: none; }
body.dark-mode .quick-links.ql-icon-grid .ql-grid-card .ql-title { color: #999 !important; }
body.dark-mode .quick-links.ql-icon-grid .ql-grid-card:hover { background: #2a2a2a; }

/* Category Section */
body.dark-mode .category-section { background: #1e1e1e; box-shadow: var(--shadow); }
body.dark-mode .category-vtabs { background: #181818; border-right-color: #303030; }
body.dark-mode .category-vtabs a { color: #707070; border-bottom-color: #282828; }
body.dark-mode .category-vtabs a:hover { color: #aaa; background: #222; }
body.dark-mode .category-vtabs a.active { color: var(--primary); background: #1e1e1e; border-left-color: var(--primary); }
body.dark-mode .cat-group { border-bottom-color: #303030; }
body.dark-mode .cat-link-item { color: #b0b0b0; }
body.dark-mode .cat-link-item:hover { color: var(--primary); }
body.dark-mode .cat-more-btn { background: #2a2a2a; color: #666; }
body.dark-mode .cat-more-btn:hover { background: var(--primary); color: #fff; }

/* Sidebar Widgets */
body.dark-mode .widget { background: #1e1e1e; box-shadow: var(--shadow); }
body.dark-mode .widget-title { border-bottom-color: #303030; color: #ccc; }
body.dark-mode .combo-tabs { background: transparent; }
body.dark-mode .combo-tab { background: #252525; border-color: #383838; color: #888; }
body.dark-mode .combo-tab:hover { color: #bbb; border-color: #555; }
body.dark-mode .combo-tab.active { background: #2a2a2a; color: var(--primary); border-color: rgba(14,169,94,.3); }

/* Calendar */
body.dark-mode .cal2-header { color: #ccc; }
body.dark-mode .cal2-arrow { color: #888; }
body.dark-mode .cal2-sel-btn { color: #ccc; }
body.dark-mode .cal2-weekdays .cal2-wk { color: #666; }
body.dark-mode .cal2-cell .cal2-date { color: #b0b0b0; }
body.dark-mode .cal2-cell .cal2-lunar { color: #666; }
body.dark-mode .cal2-cell.other-month .cal2-date,
body.dark-mode .cal2-cell.other-month .cal2-lunar { color: #3a3a3a; }
body.dark-mode .cal2-cell .cal2-lunar.festival,
body.dark-mode .cal2-cell .cal2-lunar.solar-term { color: var(--primary); }
body.dark-mode .cal2-cell:not(.other-month):hover { background: #2a2a2a; }
body.dark-mode .cal2-footer { border-top-color: #303030; color: #666; }
body.dark-mode .cal2-year-panel { background: #1e1e1e; box-shadow: 0 4px 16px rgba(0,0,0,.5); }
body.dark-mode .cal2-year-cell { color: #888; }
body.dark-mode .cal2-year-cell:hover { background: #2a2a2a; }
body.dark-mode .cal2-year-cell.active { background: rgba(14,169,94,.15); color: var(--primary); }

/* Hot Search */
body.dark-mode .hot-list li { border-bottom-color: #282828; color: #b0b0b0; }
body.dark-mode .hot-list .rank { opacity: .7; }
body.dark-mode .ainav-card { background: #252525; border-color: #333; }
body.dark-mode .ainav-card:hover { border-color: var(--primary); }

/* Notepad */
body.dark-mode #notepad { background: #252525; color: #ccc; border-color: #383838; }

/* Forms / Inputs */
body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea { background: #252525; border-color: #383838; color: #ccc; }
body.dark-mode input:focus,
body.dark-mode select:focus,
body.dark-mode textarea:focus { border-color: var(--primary); }

/* Footer */
body.dark-mode .site-footer { background: #111 !important; }
body.dark-mode .footer-inner { border-color: #282828; }
body.dark-mode .footer-bottom { border-top-color: #282828; color: #555; }
body.dark-mode .footer-col h4 { color: #999; }
body.dark-mode .footer-col a { color: #666; }
body.dark-mode .footer-col a:hover { color: var(--primary); }
body.dark-mode .footer-desc { color: #555; }

/* Floating Toolbar */
body.dark-mode .ftb-btn { background: #1e1e1e; border-color: #333; color: #777; }
body.dark-mode .ftb-btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
body.dark-mode .ftb-contact-panel { background: #1e1e1e; box-shadow: 0 4px 20px rgba(0,0,0,.5); }
body.dark-mode .ftb-cp-item { color: #b0b0b0; border-bottom-color: #303030; }
body.dark-mode .ftb-cp-item:hover { background: #252525; color: var(--primary); }

/* Modals */
body.dark-mode .rec-modal,
body.dark-mode .report-modal { background: #1e1e1e; }
body.dark-mode .rec-modal-header,
body.dark-mode .report-modal-header { border-bottom-color: #303030; }
body.dark-mode .rec-modal-header h3,
body.dark-mode .report-modal-header h3 { color: #ddd; }

/* University Section */
body.dark-mode .uni-access-card { background: #1e1e1e; }
body.dark-mode .uni-access-header { border-bottom-color: #303030; }
body.dark-mode .uni-access-title { color: #ccc; }
body.dark-mode .uni-label { color: #aaa; }
body.dark-mode .uni-select { background: #252525; border-color: #383838; color: #ccc; }
body.dark-mode .uni-select:disabled { background: #1a1a1a; color: #555; }
body.dark-mode .uni-visit-btn.disabled { background: #444; }
body.dark-mode .uni-add-btn { color: #666; }
body.dark-mode .uni-add-btn:hover { color: var(--primary); }
body.dark-mode .uni-ad-divider { background: #383838; }
body.dark-mode .ub-carousel-card { background: #1e1e1e; }
body.dark-mode .ub-dot { background: rgba(255,255,255,.25); }
body.dark-mode .ub-dot.active { background: var(--primary); }
body.dark-mode .ub-quad-title { background: #1e1e1e; color: #aaa; }
body.dark-mode .uni-add-modal { background: #1e1e1e; }
body.dark-mode .uni-add-modal-header { border-bottom-color: #303030; }
body.dark-mode .uni-add-modal-header h3 { color: #ddd; }

/* Scrollbar */
body.dark-mode ::-webkit-scrollbar { width: 8px; }
body.dark-mode ::-webkit-scrollbar-track { background: #1a1a1a; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #383838; border-radius: 4px; }
body.dark-mode ::-webkit-scrollbar-thumb:hover { background: #484848; }

/* Banner corner */
body.dark-mode .banner-corner .header-weather *,
body.dark-mode .banner-corner .nav-announcement-btn *,
body.dark-mode .banner-corner .nav-width-toggle * { color: #bbb !important; }

/* Ads */
body.dark-mode .sidebar-ad-widget { opacity: .92; }

/* =============================================================
   链接分类目录页
   ============================================================= */
.lc-directory-page {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 16px 16px 40px;
}
.lc-content-body {
  min-height: 60vh;
  background: var(--bg-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
body.dark-mode .lc-content-body { background: #1e1e1e; }

/* ===== 分类页搜索栏 ===== */
.lc-nav-group {
  position: sticky;
  top: 0;
  z-index: 1000;
}
.lc-nav-group .site-nav {
  position: relative;
}
.lc-searchbar-wrap {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e8eaed;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  position: relative;
  z-index: 1001;
}
.lc-searchbar-inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* 左侧品牌组：LOGO + 分隔线 + 分类名 */
.lc-brand-group {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
/* 小LOGO */
.lc-mini-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
/* 竖线分隔 */
.lc-brand-divider {
  width: 1px;
  height: 20px;
  background: #d0d5dd;
  flex-shrink: 0;
}
/* 分类名称 */
.lc-cat-name {
  font-size: 15px;
  font-weight: 600;
  color: var(--primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
}
.lc-mini-logo img {
  height: 36px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}
.lc-mini-logo-text {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}

/* 搜索框 */
.lc-search-box {
  flex: 1;
  max-width: 680px;
  display: flex;
  align-items: center;
  border: 1.5px solid #e0e0e0;
  border-radius: 8px;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  overflow: visible;
  position: relative;
}
.lc-search-box:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(14,169,94,.12);
}

/* 搜索引擎切换 */
.lc-engine-trigger {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 12px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  flex-shrink: 0;
}
.lc-engine-trigger:hover { color: var(--primary); }
.lc-engine-icon { width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lc-engine-name { font-size: 14px; font-weight: 500; }
.lc-engine-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 4px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
  padding: 4px 0;
  z-index: 1100;
  min-width: 120px;
  max-width: 150px;
  list-style: none;
}
.lc-engine-dropdown.open { display: block; }
.lc-eng-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: 13px;
  color: #333;
  cursor: pointer;
  transition: background .15s;
}
.lc-eng-opt:hover { background: #f1f3f4; }
.lc-eng-opt.active { color: var(--primary); font-weight: 600; background: var(--primary-light); }
.lc-search-divider {
  width: 1px;
  height: 20px;
  background: #e0e0e0;
  flex-shrink: 0;
}
.lc-search-input {
  flex: 1;
  height: 40px;
  padding: 0 12px;
  border: none;
  outline: none;
  font-size: 14px;
  background: transparent;
  min-width: 0;
}
.lc-search-btn {
  height: 36px;
  padding: 0 24px;
  margin: 2px;
  background: var(--search-btn-bg);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .2s;
}
.lc-search-btn:hover { background: var(--search-btn-hover); }

/* 响应式 */
@media (max-width: 768px) {
  .lc-searchbar-inner { padding: 8px 12px; gap: 10px; }
  .lc-mini-logo img { height: 28px; }
  .lc-mini-logo-text { width: 28px; height: 28px; font-size: 14px; }
  .lc-search-btn { padding: 0 16px; font-size: 13px; }
}
@media (max-width: 480px) {
  .lc-brand-group { display: none; }
}

/* 暗色模式 */
body.dark-mode .lc-searchbar-wrap { background: #1e1e1e; border-bottom-color: #303030; }
body.dark-mode .lc-cat-name { color: var(--primary); }
body.dark-mode .lc-brand-divider { background: #404040; }
body.dark-mode .lc-search-box { background: #252525; border-color: #404040; }
body.dark-mode .lc-search-input { color: #ddd; }
body.dark-mode .lc-engine-trigger { color: #ccc; }
body.dark-mode .lc-engine-dropdown { background: #252525; border-color: #404040; }
body.dark-mode .lc-eng-opt { color: #ccc; }
body.dark-mode .lc-eng-opt:hover { background: #333; }
body.dark-mode .lc-search-divider { background: #404040; }
body.dark-mode .lc-mini-logo-text { background: linear-gradient(135deg, #0a8a4f, #066838); }

/* ===== 分类页链接卡片网格 ===== */
.lc-page-layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.lc-page-layout .lc-content-body {
  flex: 1;
  min-width: 0;
  padding: 8px 20px 24px;
}
.lc-section {
  padding: 16px 0 8px;
}
.lc-section + .lc-section {
  border-top: 1px solid #f0f0f0;
}
.lc-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 4px 12px;
}
.lc-section-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--primary);
  opacity: .8;
}
.lc-section-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  margin: 0;
  line-height: 1.4;
}
.lc-links-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.lc-link-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--radius);
  text-decoration: none;
  color: var(--text);
  transition: background .18s, box-shadow .18s;
  cursor: pointer;
  min-width: 0;
}
.lc-link-card:hover {
  background: #f6f8fa;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.lc-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.lc-card-icon img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 8px;
}
.lc-card-icon-text {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, #f0f4ff, #e4ecff);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--primary);
}
.lc-card-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.lc-card-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.lc-card-desc {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.lc-link-card:hover .lc-card-name {
  color: var(--primary);
}
.lc-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 20px;
  color: #bbb;
  gap: 12px;
  font-size: 14px;
}

/* ===== 右侧 TOC 目录 ===== */
.lc-toc-sidebar {
  width: 160px;
  flex-shrink: 0;
}
.lc-toc-sticky {
  position: sticky;
  top: 80px;
  background: var(--bg-white);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 16px 14px;
}
.lc-toc-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 10px;
  padding-left: 2px;
}
.lc-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lc-toc-list li + li {
  margin-top: 2px;
}
.lc-toc-link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lc-toc-link:hover {
  background: #f5f7fa;
  color: var(--primary);
}
.lc-toc-link.active {
  color: var(--primary);
  background: #f0f4ff;
  font-weight: 500;
}
.lc-toc-icon {
  font-size: 10px;
  flex-shrink: 0;
  opacity: .6;
}

/* ===== 分类页响应式 ===== */
@media (max-width: 1100px) {
  .lc-toc-sidebar { display: none; }
  .lc-links-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .lc-page-layout .lc-content-body { padding: 8px 12px 20px; }
  .lc-links-grid { grid-template-columns: repeat(2, 1fr); }
  .lc-link-card { padding: 10px 8px; gap: 10px; }
  .lc-card-icon, .lc-card-icon-text { width: 34px; height: 34px; }
  .lc-card-icon img { width: 30px; height: 30px; }
  .lc-card-name { font-size: 13px; }
  .lc-card-desc { font-size: 11px; }
}
@media (max-width: 480px) {
  .lc-links-grid { grid-template-columns: repeat(1, 1fr); }
}

/* ===== 分类页暗色模式 ===== */
body.dark-mode .lc-section + .lc-section { border-top-color: #303030; }
body.dark-mode .lc-section-title { color: #ddd; }
body.dark-mode .lc-link-card:hover { background: #2a2a2a; box-shadow: 0 1px 4px rgba(0,0,0,.2); }
body.dark-mode .lc-card-name { color: #ccc; }
body.dark-mode .lc-card-desc { color: #777; }
body.dark-mode .lc-card-icon-text { background: linear-gradient(135deg, #1e2a3a, #1a2535); color: var(--primary); }
body.dark-mode .lc-link-card:hover .lc-card-name { color: var(--primary); }
body.dark-mode .lc-toc-sticky { background: #1e1e1e; }
body.dark-mode .lc-toc-title { color: #ddd; }
body.dark-mode .lc-toc-link { color: #999; }
body.dark-mode .lc-toc-link:hover { background: #2a2a2a; color: var(--primary); }
body.dark-mode .lc-toc-link.active { background: #1a2535; color: var(--primary); }
