/* 由页面样式外提生成：内容为站点模板/页面局部样式，文件名取内容哈希，可长期强缓存 */
:root { --ink:#0b1f3a; --teal:#2563eb; --teal-soft:#eef4ff; --gold:#0ea5e9; --gold-2:#38bdf8; --paper:#f5f8fd; --card:#fff; --text:#1e2b3c; --muted:#6b7a90; --line:#e7ecf3; }
    * { 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: rgba(255,255,255,.9); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 100; }
    .portal-nav .container { display: flex; gap: 4px; flex-wrap: wrap; }
    .portal-nav a { color: #3d4d63; padding: 13px 18px; font-size: .95em; white-space: nowrap; }
    .portal-nav a:hover { background: var(--teal-soft); color: var(--teal); }
    .ind-head { background: linear-gradient(135deg,#0b1f3a,#1d4ed8); 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(16,32,64,.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; } }
