/* ===== 学而思方法知识库 - 全局样式 ===== */
:root{
  --c-calc:#3b82f6; --c-num:#8b5cf6; --c-geo:#10b981; --c-trip:#f59e0b;
  --c-app:#ef4444; --c-count:#06b6d4; --c-logic:#64748b; --c-gen:#94a3b8;
  --bg:#f8fafc; --card:#fff; --border:#e2e8f0; --text:#1e293b; --muted:#64748b;
  --shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --max-w:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Noto Sans CJK SC','Microsoft YaHei','PingFang SC',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.nav{position:fixed;top:0;left:0;width:200px;height:100vh;background:#1e293b;color:#cbd5e1;padding:20px 0;overflow-y:auto;z-index:100;box-shadow:2px 0 8px rgba(0,0,0,.1)}
.nav .logo{padding:0 20px 16px;font-size:16px;font-weight:700;color:#fff;border-bottom:1px solid #334155;margin-bottom:10px}
.nav .logo small{display:block;font-size:10px;color:#64748b;font-weight:400;margin-top:2px}
.nav a{display:block;padding:9px 20px;color:#94a3b8;transition:.2s;font-size:13px;border-left:3px solid transparent}
.nav a:hover{background:#334155;color:#fff}
.nav a.active{background:#334155;color:#fff;border-left-color:var(--c-calc)}
.nav .section-title{padding:14px 20px 6px;font-size:10px;color:#475569;text-transform:uppercase;letter-spacing:1px}
.main{margin-left:200px;padding:28px 36px;max-width:var(--max-w);min-height:100vh}
.page-header{margin-bottom:24px}
.page-header h1{font-size:24px;font-weight:700;margin-bottom:4px}
.page-header .sub{color:var(--muted);font-size:13px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:28px}
.stat{background:var(--card);border-radius:10px;padding:16px;box-shadow:var(--shadow);text-align:center}
.stat .num{font-size:28px;font-weight:700;line-height:1}
.stat .label{font-size:12px;color:var(--muted);margin-top:4px}
.card{background:var(--card);border-radius:10px;padding:18px;box-shadow:var(--shadow);border:1px solid var(--border);transition:.2s}
.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.card h3{font-size:15px;margin-bottom:6px}
.card .meta{font-size:12px;color:var(--muted)}
.tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;margin:2px}
.tag-calc{background:#dbeafe;color:#1e40af} .tag-num{background:#ede9fe;color:#5b21b6}
.tag-geo{background:#d1fae5;color:#065f46} .tag-trip{background:#fef3c7;color:#92400e}
.tag-app{background:#fee2e2;color:#991b1b} .tag-count{background:#cffafe;color:#155e75}
.tag-logic{background:#e2e8f0;color:#334155} .tag-gen{background:#f1f5f9;color:#475569}
.tag-hub{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}
.btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;font-size:13px;transition:.2s}
.btn:hover{background:#f1f5f9}
.btn.active{background:var(--c-calc);color:#fff;border-color:var(--c-calc)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;align-items:center}
.filters select,.filters input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:#fff}
.filters input{flex:1;min-width:180px}
.muted{color:var(--muted)}.text-sm{font-size:12px}.mt{margin-top:16px}.mb{margin-bottom:16px}
.empty{padding:40px;text-align:center;color:var(--muted)}
/* 方法卡片 */
.method-card{background:var(--card);border-radius:10px;box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden;border:1px solid var(--border)}
.method-card .mc-header{padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;cursor:pointer}
.method-card .mc-header .mc-num{font-weight:700;font-size:14px;color:var(--text)}
.method-card .mc-header .mc-name{font-weight:600;font-size:14px}
.method-card .mc-header .mc-meta{font-size:11px;color:var(--muted);margin-left:auto}
.method-card .mc-body{display:none;padding:16px}
.method-card.open .mc-body{display:block}
.method-card .mc-section{margin-bottom:14px}
.method-card .mc-section h4{font-size:13px;color:var(--muted);margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #f1f5f9}
.method-card .mc-section .content{font-size:13px;line-height:1.8;white-space:pre-wrap}
.method-card .mc-section .content b{color:var(--text)}
/* 分析卡片 */
.analysis-card{background:var(--card);border-radius:10px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px;border-left:4px solid var(--c-calc)}
.analysis-card h3{font-size:17px;margin-bottom:8px;color:var(--c-calc)}
.analysis-card .principle{color:var(--muted);font-size:13px;margin-bottom:12px;padding:8px 12px;background:#f8fafc;border-radius:6px}
.analysis-card .analysis{font-size:13px;line-height:1.9}
.analysis-card .analysis b{color:var(--text)}
.analysis-card .analysis strong{color:var(--text);font-size:14px}
.analysis-card .topics{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px}
/* 枢纽卡片 */
.hub-card{background:var(--card);border-radius:10px;padding:20px;box-shadow:var(--shadow);margin-bottom:16px;border-left:4px solid #f59e0b}
.hub-card h3{font-size:17px;margin-bottom:4px;color:#92400e}
.hub-card .role{font-size:12px;color:var(--muted);margin-bottom:10px}
.hub-card .bridge{font-size:13px;line-height:1.9}
.hub-card .bridge b{color:var(--text)}
.hub-card .bridge strong{color:var(--text);font-size:14px}
/* 图例 */
.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:11px}
.legend-item{display:flex;align-items:center;gap:4px}
.legend-dot{width:12px;height:12px;border-radius:3px}
/* 网格布局 */
.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}
@media(max-width:768px){.nav{position:relative;width:100%;height:auto}.main{margin-left:0;padding:16px}.grid2{grid-template-columns:1fr}}