/* 由页面样式外提生成：内容为站点模板/页面局部样式，文件名取内容哈希，可长期强缓存 */
:root { --ink:#0c3a33; --teal:#12665a; --teal-soft:#e8f1ee; --gold:#b0842c; --gold-2:#d3ac5a; --paper:#f4f3ee; --card:#fff; --text:#22332f; --muted:#6c7a76; --line:#e7e4d9; }
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.65; color: var(--text); background: var(--paper); }
    a { color: inherit; text-decoration: none; }
    .container { max-width: 1200px; margin: 0 auto; padding: 0 22px; }
    .portal-nav { background: linear-gradient(90deg,#0c3a33,#0f4d44); }
    .portal-nav .container { display: flex; gap: 4px; flex-wrap: wrap; }
    .portal-nav a { color: rgba(255,255,255,.92); padding: 13px 18px; font-size: .95em; white-space: nowrap; }
    .portal-nav a:hover { background: rgba(255,255,255,.12); }
    .ind-head { background: linear-gradient(160deg,#07251f,#12665a); color: #fff; padding: 40px 0; }
    .ind-head h1 { font-size: 1.6em; letter-spacing: .5px; }
    .ind-head p { color: rgba(255,255,255,.85); font-size: .95em; margin-top: 10px; max-width: 860px; }
    .ind-crumb { padding: 14px 0 0; font-size: .88em; color: var(--muted); }
    .ind-crumb a { color: var(--teal); }
    .ind-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 18px 0 30px; }
    .ind-item { display: flex; flex-direction: column; gap: 3px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; transition: border-color .2s, box-shadow .2s; }
    .ind-item:hover { border-color: var(--gold-2); box-shadow: 0 6px 18px rgba(12,58,51,.1); }
    .ind-item strong { color: var(--ink); font-size: .92em; }
    .ind-item span { color: var(--muted); font-size: .78em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    footer { padding: 28px 0; text-align: center; color: var(--muted); font-size: .9em; background: #fff; border-top: 3px solid var(--gold); }
    footer a { color: var(--teal); }
    .f-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 12px; }
    @media (max-width: 1000px) { .ind-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 560px) { .ind-grid { grid-template-columns: 1fr; } }
