/* OPC众创网 · 官网样式表 —— 深空科技主题 */
:root{
  --brand:#1f6dff;          /* 科技蓝 */
  --brand-2:#3b82f6;        /* 亮蓝 */
  --accent:#00b4ff;         /* 电光青 */
  --accent-2:#7c5cf0;       /* 科技紫 */
  --warn:#9a5b06;
  --bg:linear-gradient(168deg,#bcd4f4 0%,#d8e8fc 34%,#c2d8f6 68%,#d3e4fa 100%);
  --bg-soft:#c9dcf7;
  --surface:linear-gradient(155deg,rgba(255,255,255,.99) 0%,rgba(250,253,255,.95) 48%,rgba(226,239,255,.92) 100%);
  --surface-2:linear-gradient(155deg,rgba(255,255,255,1) 0%,rgba(251,254,255,.97) 50%,rgba(230,241,255,.94) 100%);
  --line:rgba(31,109,255,.20);
  --line-strong:rgba(31,109,255,.42);
  --ink:#07203e;            /* 深藏蓝主字（加黑提对比） */
  --ink-2:#1f4483;
  --ink-3:#2e548f;
  --radius:18px;
  --glow:0 0 34px rgba(31,109,255,.22);
  --shadow:0 14px 40px rgba(23,84,200,.16);
  --container:1240px;
  color-scheme:light; /* 原生控件（下拉/滚动条/勾选框）统一按亮色方案渲染 */
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  color:var(--ink);background:var(--bg);background-attachment:fixed;line-height:1.75;font-size:15.5px;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 24px;position:relative;z-index:2;}

/* 全局背景光效 */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(760px 460px at 12% -6%, rgba(31,109,255,.16), transparent 62%),
    radial-gradient(680px 420px at 92% 8%, rgba(88,116,255,.14), transparent 62%),
    radial-gradient(900px 600px at 50% 108%, rgba(0,180,255,.10), transparent 66%);
}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(244,249,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:.25s;}
.site-header.scrolled{background:rgba(244,249,255,.96);box-shadow:0 6px 30px rgba(23,84,200,.24);border-bottom-color:var(--line-strong);}
.nav{display:flex;align-items:center;justify-content:space-between;height:82px;gap:20px;}
.logo{display:flex;align-items:center;gap:11px;flex:none;}
.logo-mark{
  width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0d5fe0,#3a35d6);color:#fff;font-weight:900;font-size:14px;letter-spacing:-.5px;
  box-shadow:0 0 22px rgba(31,109,255,.45);position:relative;
}
.logo-mark::after{content:"";position:absolute;inset:-1px;border-radius:12px;border:1px solid rgba(31,109,255,.5);}
.logo-text{font-size:18px;font-weight:800;line-height:1.15;letter-spacing:.5px;
  background:linear-gradient(92deg,#0a2550,#1f6dff);-webkit-background-clip:text;background-clip:text;color:transparent;}
.logo-text em{display:block;font-style:normal;font-size:11px;color:var(--ink-3);font-weight:500;letter-spacing:0;-webkit-text-fill-color:var(--ink-3);}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-links a{padding:8px 13px;border-radius:9px;font-size:14.5px;color:var(--ink-2);font-weight:500;transition:.2s;position:relative;}
.nav-links a:hover{color:var(--brand);background:rgba(31,109,255,.1);}
.nav-links a.active{color:#fff;background:linear-gradient(135deg,#1553d6,#2f45cf);border-color:transparent;font-weight:700;box-shadow:0 6px 18px rgba(31,109,255,.34),inset 0 1px 0 rgba(255,255,255,.3);}
.nav-cta{display:flex;align-items:center;gap:10px;flex:none;}
.menu-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);background:rgba(31,109,255,.06);border-radius:9px;font-size:18px;cursor:pointer;color:var(--ink-2);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:12px 24px;border-radius:11px;font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.22s;white-space:nowrap;
}
.btn-primary{
  background:linear-gradient(135deg,#0d5fe0,#3a35d6);color:#fff;
  box-shadow:0 6px 24px rgba(31,109,255,.32),inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(31,109,255,.45),inset 0 1px 0 rgba(255,255,255,.25);}
.btn-accent{
  background:linear-gradient(135deg,#22d3ee,#818cf8);color:#04121f;font-weight:800;
  box-shadow:0 6px 24px rgba(0,180,255,.35),inset 0 1px 0 rgba(255,255,255,.3);
}
.btn-accent:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(0,180,255,.5);}
.btn-ghost{background:rgba(31,109,255,.07);color:#0c44ad;border-color:var(--line-strong);}
.btn-ghost:hover{background:rgba(31,109,255,.14);color:#0d4fd8;border-color:var(--brand);}
.btn-outline-white{background:transparent;color:var(--ink);border-color:rgba(255,255,255,.28);}
.btn-outline-white:hover{background:rgba(31,109,255,.13);border-color:rgba(255,255,255,.5);}
.btn-sm{padding:9px 16px;font-size:14px;border-radius:9px;}
.btn-block{width:100%;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;color:#fff;padding:92px 0 76px;
  --ink:#ffffff;--ink-2:rgba(232,244,255,.9);--ink-3:rgba(206,229,255,.78);
  --line:rgba(255,255,255,.24);--line-strong:rgba(255,255,255,.5);
  --surface:rgba(255,255,255,.14);--surface-2:rgba(255,255,255,.2);}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(680px 420px at 78% 20%, rgba(120,200,255,.5), transparent 60%),
    radial-gradient(620px 400px at 14% 62%, rgba(140,230,255,.42), transparent 62%),
    linear-gradient(165deg,#0c3d9e 0%,#1567d6 46%,#0a2f7e 100%);
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background-image:
    linear-gradient(rgba(190,230,255,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(190,230,255,.16) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 78%);
}
.hero-inner{position:relative;z-index:3;max-width:840px;}
.hero-badge{
  display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.4);border-radius:999px;
  padding:6px 16px;font-size:13px;color:#e6f4ff;margin-bottom:22px;background:rgba(31,109,255,.09);
  box-shadow:0 0 24px rgba(31,109,255,.18);backdrop-filter:blur(6px);
}
.hero-badge i{width:7px;height:7px;border-radius:50%;background:#22d3ee;display:inline-block;box-shadow:0 0 10px 2px rgba(0,180,255,.8);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.hero h1{font-size:50px;line-height:1.2;font-weight:900;letter-spacing:1px;margin-bottom:18px;}
.hero h1 span{
  background:linear-gradient(96deg,#8fe6ff,#ffffff 55%,#c3e4ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.lead{font-size:17.5px;color:rgba(232,244,255,.92);margin-bottom:30px;max-width:680px;}
.hero p.lead b{-webkit-text-fill-color:#ffe9a8;font-weight:700;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:42px;}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:780px;}
.hero-stats div{
  background:linear-gradient(155deg,rgba(10,38,104,.66),rgba(5,22,66,.72));border:1px solid rgba(255,255,255,.3);border-radius:14px;padding:14px 16px;
  backdrop-filter:blur(8px);transition:.25s;
}
.hero-stats div:hover{border-color:var(--line-strong);background:rgba(31,109,255,.08);}
.hero-stats b{display:block;font-size:25px;font-weight:900;
  background:linear-gradient(94deg,#9fe6ff,#ffffff);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-stats small{font-size:12.5px;color:rgba(220,238,255,.82);}
.hero-sm{padding:60px 0 48px;}
.hero-sm h1{font-size:36px;margin-bottom:12px;}
.hero-sm p.lead{margin-bottom:0;}

/* ---------- Section ---------- */
.section{padding:80px 0;position:relative;z-index:1;}
.section-soft{background:linear-gradient(180deg,rgba(172,205,245,.52),rgba(206,226,250,.38));border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-dark{
  position:relative;overflow:hidden;z-index:1;color:#eaf3ff;
  --ink:#ffffff;--ink-2:rgba(232,244,255,.9);--ink-3:rgba(205,228,255,.78);
  --line:rgba(255,255,255,.24);--line-strong:rgba(255,255,255,.5);
  --surface:rgba(255,255,255,.13);--surface-2:rgba(255,255,255,.2);
  background:linear-gradient(135deg,#0b348c,#155cc0 55%,#0a2a74);
  border-top:1px solid rgba(31,109,255,.18);border-bottom:1px solid rgba(31,109,255,.18);
}
.section-dark::before{
  content:"";position:absolute;inset:0;opacity:.55;
  background-image:linear-gradient(rgba(190,230,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(190,230,255,.14) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 15%,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 15%,transparent 75%);
}
.sec-title{max-width:780px;margin:0 auto 46px;text-align:center;}
.sec-title .eyebrow{
  font-size:12px;font-weight:800;letter-spacing:4px;margin-bottom:10px;
  background:linear-gradient(92deg,#0b52c9,#3f31c9);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.sec-title h2{font-size:33px;font-weight:800;margin-bottom:12px;letter-spacing:.5px;}
.sec-title p{color:var(--ink-3);font-size:15.5px;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:34px;flex-wrap:wrap;}
.sec-head h2{font-size:29px;font-weight:800;}
.sec-head p{color:var(--ink-3);margin-top:6px;font-size:15px;}
.sec-head .eyebrow{
  font-size:12px;font-weight:800;letter-spacing:4px;margin-bottom:8px;
  background:linear-gradient(92deg,#0b52c9,#3f31c9);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ---------- Cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.card,.pillar,.project,.case,.step,.circle-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  backdrop-filter:blur(6px);
}
.card{padding:26px;transition:.28s;}
.card:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-4px);}
.card .icon{
  width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  font-size:24px;background:linear-gradient(135deg,rgba(31,109,255,.18),rgba(88,116,255,.14));
  border:1px solid rgba(31,109,255,.25);margin-bottom:16px;
}
.card h3{font-size:19px;font-weight:800;margin-bottom:10px;}
.card p{color:var(--ink-3);font-size:14.5px;margin-bottom:16px;}
.card .meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.tag{display:inline-block;background:rgba(31,109,255,.1);color:#0c44ad;border:1px solid rgba(31,109,255,.28);border-radius:999px;padding:3px 12px;font-size:12.5px;}
.tag.orange{background:rgba(228,146,10,.12);color:#8a5200;border-color:rgba(228,146,10,.3);}
.tag.green{background:rgba(10,157,104,.12);color:#06704a;border-color:rgba(10,157,104,.3);}
.tag.purple{background:rgba(124,92,240,.14);color:#5533c4;border-color:rgba(124,92,240,.34);}
.tag.gray{background:rgba(31,109,255,.07);color:var(--ink-3);border-color:var(--line);}
.tag.new{background:linear-gradient(92deg,rgba(0,180,255,.2),rgba(124,92,240,.2));color:#0c5f85;border-color:rgba(0,180,255,.45);font-weight:700;}
.link-more{color:#0c44ad;font-weight:700;font-size:14.5px;display:inline-flex;align-items:center;gap:4px;}
.link-more:hover{color:var(--brand);gap:9px;}

/* pillar cards */
.pillar{padding:28px;transition:.28s;position:relative;overflow:hidden;}
.pillar::before{
  content:"";position:absolute;left:0;top:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,#22d3ee,transparent);opacity:0;transition:.3s;
}
.pillar:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-5px);}
.pillar:hover::before{opacity:1;}
.pillar .p-num{position:absolute;right:-4px;top:-16px;font-size:96px;font-weight:900;color:rgba(31,109,255,.06);line-height:1;}
.pillar .icon{width:56px;height:56px;font-size:28px;border-radius:14px;}
.pillar h3{font-size:22px;margin-bottom:4px;}
.pillar .slogan{color:#0a6a8c;font-weight:700;font-size:14px;margin-bottom:12px;}
.pillar ul{padding-left:18px;color:var(--ink-3);font-size:14px;margin-bottom:18px;}
.pillar ul li{margin-bottom:5px;}

/* ---------- Filter ---------- */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px;}
.filters button{
  border:1px solid var(--line);background:rgba(31,109,255,.06);border-radius:999px;padding:8px 18px;font-size:14px;
  cursor:pointer;color:var(--ink-2);transition:.2s;font-family:inherit;backdrop-filter:blur(6px);
}
.filters button:hover{border-color:var(--line-strong);color:var(--brand);}
.filters button.active{
  background:linear-gradient(135deg,rgba(13,95,224,.96),rgba(58,53,214,.96));border-color:transparent;color:#fff;font-weight:700;
  box-shadow:0 4px 18px rgba(31,109,255,.35);
}

/* ---------- Project card ---------- */
.project{padding:22px;transition:.28s;display:flex;flex-direction:column;}
.project:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-4px);}
.project .p-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.project .p-icon{
  width:42px;height:42px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-size:21px;
  background:linear-gradient(135deg,rgba(31,109,255,.2),rgba(88,116,255,.14));border:1px solid rgba(31,109,255,.24);
}
.project h3{font-size:17.5px;font-weight:800;}
.project .p-sub{font-size:13px;color:var(--ink-3);}
.project p{font-size:14px;color:var(--ink-2);margin-bottom:14px;flex:1;}
.project .kv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;font-size:13px;}
.project .kv div{background:rgba(31,109,255,.06);border:1px solid var(--line);border-radius:9px;padding:8px 10px;}
.project .kv b{display:block;font-size:11.5px;color:var(--ink-3);font-weight:500;}
.project .kv span{font-weight:700;color:var(--ink);}

/* ---------- Case ---------- */
.case{padding:22px;transition:.28s;}
.case:hover{border-color:rgba(228,146,10,.35);box-shadow:0 0 30px rgba(228,146,10,.12),var(--shadow);transform:translateY(-4px);}
.case .quote{font-size:14.5px;color:var(--ink-2);margin-bottom:16px;}
.case .who{display:flex;align-items:center;gap:11px;}
.case .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0d5fe0,#3a35d6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none;box-shadow:0 0 18px rgba(31,109,255,.35);}
.case .who b{display:block;font-size:14.5px;}
.case .who small{color:var(--ink-3);font-size:12.5px;}

/* ---------- Steps ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.step{padding:20px 18px;transition:.28s;position:relative;}
.step:hover{border-color:var(--line-strong);box-shadow:var(--glow);transform:translateY(-4px);}
.step .lv{font-size:13px;font-weight:900;letter-spacing:1.5px;margin-bottom:6px;
  background:linear-gradient(92deg,#0b52c9,#4a30c4);-webkit-background-clip:text;background-clip:text;color:transparent;}
.step h4{font-size:16px;margin-bottom:8px;}
.step p{font-size:13.5px;color:var(--ink-3);}
.step .price{margin-top:12px;font-weight:800;color:#0c44ad;font-size:15px;}
.step.free .price{color:#06704a;}

/* ---------- List ---------- */
.list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:rgba(31,109,255,.04);backdrop-filter:blur(6px);}
.list-item{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line);transition:.2s;}
.list-item:last-child{border-bottom:none;}
.list-item:hover{background:rgba(31,109,255,.06);}
.list-item .li-main{flex:1;min-width:0;}
.list-item h4{font-size:16px;margin-bottom:3px;}
.list-item p{font-size:13.5px;color:var(--ink-3);}
.list-item .li-badge{font-size:12.5px;padding:4px 12px;border-radius:999px;background:rgba(31,109,255,.12);color:#0c44ad;border:1px solid rgba(31,109,255,.25);flex:none;}
.list-item .date{font-size:12.5px;color:var(--ink-3);flex:none;}

/* circles */
.circle-card{padding:22px;display:flex;gap:16px;align-items:flex-start;transition:.28s;}
.circle-card:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-3px);}
.circle-card .c-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none;background:linear-gradient(135deg,rgba(31,109,255,.18),rgba(88,116,255,.14));border:1px solid rgba(31,109,255,.24);}
.circle-card h4{font-size:16.5px;margin-bottom:4px;}
.circle-card p{font-size:13.5px;color:var(--ink-3);margin-bottom:8px;}
.circle-card .c-meta{font-size:12.5px;color:var(--ink-3);}
.circle-card .c-join{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap;}
.circle-card .c-dir{font-size:11.5px;color:var(--brand);background:rgba(31,109,255,.1);
  border:1px solid rgba(31,109,255,.25);padding:3px 9px;border-radius:6px;}
/* 交流圈 · 卡片内悬浮二维码气泡 */
.circle-card{position:relative;}
.qr-pop{position:absolute;right:16px;bottom:60px;z-index:40;width:186px;background:#fff;
  border-radius:14px;padding:9px 9px 8px;text-align:center;
  box-shadow:0 18px 50px rgba(2,8,23,.5),0 0 0 1px rgba(31,109,255,.18);
  opacity:0;transform:translateY(10px) scale(.94);transition:.22s ease;pointer-events:none;}
.qr-pop.open{opacity:1;transform:none;pointer-events:auto;}
.qr-pop::after{content:'';position:absolute;left:50%;bottom:-6px;width:13px;height:13px;
  background:#fff;transform:translateX(-50%) rotate(45deg);border-radius:2px;
  box-shadow:0 0 0 1px rgba(31,109,255,.18);}
.qr-pop img{width:100%;height:auto;display:block;border-radius:9px;background:#fff;}
.qr-pop-name{font-size:12px;font-weight:700;color:#0f1c33;margin-top:7px;line-height:1.4;}
.qr-pop-note{font-size:11px;color:#5b6b84;margin-top:2px;line-height:1.5;}

/* ---------- 人物榜：OPC 创星榜 / OPC 讲师榜 ---------- */
.rk-tabs{display:flex;gap:10px;justify-content:center;margin:0 auto 26px;flex-wrap:wrap;}
.rk-tab{padding:9px 22px;border-radius:999px;border:1px solid var(--line);background:var(--surface);
  color:var(--ink-2);font-size:14px;font-weight:700;cursor:pointer;transition:.24s;}
.rk-tab:hover{border-color:var(--line-strong);color:var(--ink);}
.rk-tab.active{background:linear-gradient(92deg,#0d5fe0,#3a35d6);border-color:transparent;color:#fff;box-shadow:var(--glow);}
.rk-card{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  backdrop-filter:blur(6px);transition:.28s;}
.rk-card:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-4px);}
.rk-top{display:flex;align-items:center;gap:12px;margin-bottom:13px;}
.rk-av{width:48px;height:48px;border-radius:50%;flex:none;overflow:hidden;background:#eef4ff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#0b3fa8;
  border:1px solid rgba(31,109,255,.25);}
.rk-av img{width:100%;height:100%;object-fit:cover;}
.rk-av span{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.rk-id{min-width:0;flex:1;}
.rk-id b{display:block;font-size:16px;line-height:1.35;}
.rk-id small{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;line-height:1.5;}
.rk-no{margin-left:auto;flex:none;font-size:12px;font-weight:900;letter-spacing:.5px;padding:3px 9px;border-radius:8px;
  background:linear-gradient(92deg,#ffb020,#ff7a18);color:#2a1700;}
.rk-dir{margin-left:auto;flex:none;font-size:11.5px;padding:3px 10px;border-radius:999px;
  background:rgba(31,109,255,.1);color:#0b52c9;border:1px solid rgba(31,109,255,.25);}
.rk-say{font-size:14px;color:var(--ink-2);line-height:1.7;margin-bottom:8px;font-weight:600;}
.rk-do{font-size:13px;color:var(--ink-3);line-height:1.8;margin-bottom:10px;}
.rk-course{font-size:12.5px;color:var(--ink-2);background:rgba(124,92,240,.08);border:1px solid rgba(124,92,240,.2);
  border-radius:10px;padding:7px 11px;margin-bottom:10px;line-height:1.6;}
.rk-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.rk-tags span{font-size:11.5px;padding:2px 9px;border-radius:999px;background:rgba(31,109,255,.08);
  color:#0b52c9;border:1px solid rgba(31,109,255,.18);}
.rk-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:11px;border-top:1px dashed var(--line);font-size:12px;color:var(--ink-3);}
.rk-foot a{font-size:12.5px;color:#0b52c9;font-weight:700;text-decoration:none;white-space:nowrap;}
.rk-foot a:hover{text-decoration:underline;}
.rk-more{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px;}
.rk-tip{font-size:12px;color:var(--ink-3);}
.rk-disclaimer{text-align:center;font-size:12px;color:var(--ink-3);margin-top:14px;}
/* 荣誉照片墙 + 课程列表 + 大图浏览 */
.rk-honor{font-size:12.5px;color:#8a5200;line-height:1.8;margin:0 0 10px;padding:8px 11px;
  border-radius:10px;background:rgba(240,180,60,.12);border:1px solid rgba(228,146,10,.28);}
.rk-photos{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 12px;}
.rk-photos em{font-style:normal;font-size:11.5px;color:var(--ink-3);order:-1;flex:none;}
.rk-photo{position:relative;width:52px;height:52px;border-radius:9px;overflow:hidden;cursor:pointer;
  border:1px solid var(--line);background:#eef4ff;flex:none;transition:.18s;}
.rk-photo:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--glow);}
.rk-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.rk-photo b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(7,32,62,.58);color:#fff;font-size:12px;font-weight:800;}
.rk-cs{margin:0 0 12px;padding:11px 12px;border-radius:12px;
  background:rgba(124,92,240,.07);border:1px solid rgba(124,92,240,.2);}
.rk-cs-hd{font-size:12px;font-weight:800;color:#4c1d95;margin-bottom:8px;}
.rk-cs-list{display:flex;flex-direction:column;gap:7px;}
.rk-cs-item{display:flex;flex-direction:column;gap:2px;}
.rk-cs-item b{font-size:12.8px;color:var(--ink);line-height:1.5;}
.rk-cs-item span{font-size:12px;color:var(--ink-3);line-height:1.7;}
.rk-cs-rest{font-size:11.8px;color:var(--ink-3);margin-top:6px;}
.rk-cs-more{margin-top:9px;padding:0;background:none;border:0;cursor:pointer;
  font-size:12px;font-weight:700;color:#5b3fd0;}
.rk-cs-more:hover{text-decoration:underline;}
.rk-lb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
  padding:20px;background:rgba(6,22,46,.82);backdrop-filter:blur(3px);}
.rk-lb-box{position:relative;max-width:min(760px,94vw);max-height:90vh;overflow:auto;
  padding:16px;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(3,20,60,.4);}
.rk-lb-box img{display:block;max-width:100%;max-height:74vh;border-radius:10px;margin:0 auto;}
.rk-lb-cap{text-align:center;font-size:12.5px;color:var(--ink-3);margin-top:10px;}
.rk-lb-x{position:absolute;right:10px;top:8px;width:30px;height:30px;border-radius:9px;cursor:pointer;
  border:1px solid var(--line);background:#fff;color:var(--ink-2);font-size:15px;line-height:1;z-index:2;}
.rk-lb-x:hover{background:#f1f5ff;color:var(--ink);}
.rk-lb-a{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  cursor:pointer;border:0;background:rgba(255,255,255,.92);color:#0b2545;font-size:24px;line-height:1;
  box-shadow:0 6px 18px rgba(3,20,60,.28);}
.rk-lb-p{left:14px;} .rk-lb-n{right:14px;}
.rk-lb-a:hover{background:#fff;}
.rk-cs-pop{width:min(560px,92vw);padding:22px 24px;}
.rk-cs-pop h4{margin:0 0 14px;font-size:16px;color:var(--ink);padding-right:30px;}
.rk-cs-pop-item{padding:11px 0;border-top:1px dashed var(--line);}
.rk-cs-pop-item:first-of-type{border-top:0;}
.rk-cs-pop-item b{display:block;font-size:14px;color:var(--ink);margin-bottom:4px;}
.rk-cs-pop-item p{margin:0;font-size:13px;color:var(--ink-3);line-height:1.85;white-space:pre-wrap;}
.rk-cs-none{color:#93a6bd !important;font-size:12px !important;}
.rk-cs-tip{margin:14px 0 0 !important;font-size:11.8px !important;color:#93a6bd;}
@media(max-width:640px){ .rk-lb-a{width:34px;height:34px;font-size:20px;} .rk-lb-p{left:6px;} .rk-lb-n{right:6px;} }
/* 申请上榜：入口条 + 弹窗表单 */
.rk-apply{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  margin-top:18px;padding:15px 18px;border-radius:14px;background:rgba(31,109,255,.06);
  border:1px dashed var(--line-strong);}
.rk-apply span{font-size:13px;color:var(--ink-3);line-height:1.7;}
.ra-panel{width:min(680px,95vw);padding:26px 30px 22px;}
.ra-form{display:flex;flex-direction:column;gap:12px;}
.ra-type{display:flex;gap:10px;margin-bottom:4px;}
.ra-t{flex:1;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);
  font-size:14px;font-weight:700;color:var(--ink-3);cursor:pointer;transition:.18s;}
.ra-t:hover{border-color:var(--line-strong);color:var(--ink);}
.ra-t.active{background:linear-gradient(92deg,#0d5fe0,#3a35d6);border-color:transparent;color:#fff;box-shadow:var(--glow);}
.ra-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ra-form label{display:flex;flex-direction:column;gap:6px;font-size:12.8px;font-weight:700;color:var(--ink-2);}
.ra-form label b{color:#e0574f;}
.ra-form input,.ra-form select,.ra-form textarea{font:inherit;font-size:13.6px;padding:10px 12px;
  border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);width:100%;
  box-sizing:border-box;transition:.16s;}
.ra-form textarea{resize:vertical;line-height:1.7;}
.ra-form input:focus,.ra-form select:focus,.ra-form textarea:focus{outline:none;
  border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,109,255,.15);}
.ra-warn{font-size:12px;line-height:1.8;color:#8a5200;padding:11px 13px;border-radius:10px;
  background:#fff7ed;border:1px solid rgba(228,146,10,.34);}
.ra-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;}
.ra-note{flex:1;min-width:180px;font-size:11.5px;color:var(--ink-3);line-height:1.6;}
.ra-cancel,.ra-submit{padding:11px 22px;border-radius:11px;font-size:14px;font-weight:800;
  cursor:pointer;border:1px solid var(--line);transition:.18s;}
.ra-cancel{background:transparent;color:var(--ink-3);}
.ra-cancel:hover{border-color:var(--line-strong);color:var(--ink);}
.ra-submit{background:linear-gradient(92deg,#0d5fe0,#3a35d6);border-color:transparent;color:#fff;
  box-shadow:var(--glow);}
.ra-submit:hover{transform:translateY(-2px);}
.ra-submit:disabled{opacity:.6;cursor:default;transform:none;}
.ra-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%);z-index:400;max-width:92vw;
  padding:13px 22px;border-radius:13px;font-size:13.6px;font-weight:700;line-height:1.6;color:#041830;
  background:linear-gradient(135deg,#a5f3fc,#c7d2fe);box-shadow:0 16px 40px rgba(3,20,60,.28);}
.ra-toast.bad{background:linear-gradient(135deg,#fecaca,#fde68a);color:#5b1a12;}
@media(max-width:640px){
  .ra-panel{padding:22px 18px 18px;}
  .ra-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .rk-av{width:42px;height:42px;font-size:16px;}
  .rk-tab{padding:8px 16px;font-size:13px;}
}

/* ---------- toolkit / form ---------- */
.toolkit{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,rgba(0,180,255,.10),rgba(88,116,255,.10));
  border:1px solid rgba(31,109,255,.26);border-radius:20px;
  padding:40px;display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;
  box-shadow:0 0 60px rgba(31,109,255,.10);
}
.toolkit::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(31,109,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(31,109,255,.06) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse 70% 70% at 30% 50%,#000,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 30% 50%,#000,transparent 72%);
}
.toolkit > *{position:relative;z-index:2;}
.toolkit h2{font-size:29px;font-weight:800;margin-bottom:12px;color:#07203e;}
.toolkit p{color:#0d2c5c;margin-bottom:18px;}
.toolkit ul{list-style:none;margin-bottom:0;}
.toolkit ul li{padding-left:26px;position:relative;color:var(--ink-2);font-size:14.5px;margin-bottom:8px;}
.toolkit ul li::before{content:"✓";position:absolute;left:0;color:#07556e;font-weight:900;}
.form-box{
  background:rgba(240,247,255,.8);border:1px solid var(--line);border-radius:16px;padding:24px;
  box-shadow:var(--shadow);backdrop-filter:blur(10px);
}
.form-box label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;color:var(--ink-2);}
.form-box input,.form-box textarea,.form-box select{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:10px;font-size:14.5px;font-family:inherit;
  margin-bottom:14px;background:rgba(31,109,255,.07);color:var(--ink);transition:.2s;
}
.form-box input::placeholder,.form-box textarea::placeholder{color:var(--ink-3);}
.form-box select option{background:#ffffff;color:#07203e;}
/* ---------- 原生下拉：全站统一「白底深字」 ----------
   控件本体（边框/底色/字号）由各上下文 .ra-form / .form-box / .field / .ap-field 分别定义，
   这里只统一「弹出列表」的配色。原生 option 的渲染由浏览器接管，
   一旦底色与字色接近（浅底浅字、深底深字）就会出现看不清的情况，
   所以固定为：白底 + 深藏蓝字，选中/悬停为淡蓝底 + 同色字，保证任何面板上都清晰可读。 */
select{color-scheme:light;}
select option,select optgroup{background:#ffffff;color:#0b2545;}
select option:checked,select option:hover{background:#e6f0ff;color:#0b2545;}
select option:disabled{color:#8fa4c4;}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);}
input[type=date],input[type=time],input[type=datetime-local]{color-scheme:light;}
.form-box input:focus,.form-box textarea:focus,.form-box select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,109,255,.15);}
.form-note{font-size:12px;color:var(--ink-3);margin-top:10px;text-align:center;}

/* ---------- Quiz ---------- */
.quiz-wrap{max-width:820px;margin:0 auto;}
.quiz-card{
  background:rgba(240,247,255,.8);border:1px solid var(--line);border-radius:20px;padding:34px;
  box-shadow:var(--shadow);backdrop-filter:blur(10px);position:relative;overflow:hidden;
}
.quiz-card::before{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#22d3ee,#818cf8,transparent);}
.quiz-progress{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.quiz-progress .bar{flex:1;height:6px;border-radius:999px;background:rgba(31,109,255,.11);overflow:hidden;}
.quiz-progress .bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#22d3ee,#818cf8);transition:width .4s ease;box-shadow:0 0 12px rgba(0,180,255,.6);}
.quiz-progress .num{font-size:13px;color:#0c44ad;font-weight:800;letter-spacing:1px;flex:none;}
.q-title{font-size:21px;font-weight:800;margin-bottom:4px;}
.q-hint{font-size:13.5px;color:var(--ink-3);margin-bottom:22px;}
.q-options{display:grid;gap:11px;}
.q-option{
  display:flex;align-items:center;gap:14px;padding:15px 18px;border-radius:13px;cursor:pointer;
  border:1px solid var(--line);background:rgba(31,109,255,.05);transition:.22s;text-align:left;font-family:inherit;font-size:14.8px;color:var(--ink);
}
.q-option:hover{border-color:var(--line-strong);background:rgba(31,109,255,.09);transform:translateX(4px);}
.q-option .opt-key{
  width:28px;height:28px;border-radius:8px;flex:none;display:flex;align-items:center;justify-content:center;
  background:rgba(31,109,255,.14);border:1px solid rgba(31,109,255,.3);font-size:13px;font-weight:800;color:#0c44ad;
}
.q-option .opt-desc{display:block;font-size:12.8px;color:var(--ink-3);margin-top:2px;}
/* 多选题：选中态、已选计数、确认按钮 */
.q-option.sel{border-color:#22d3ee;background:rgba(0,180,255,.12);box-shadow:inset 0 0 0 1px rgba(0,180,255,.35);}
.q-option.sel .opt-key{background:linear-gradient(135deg,#22d3ee,#38bdf8);color:#04101f;border-color:transparent;font-weight:800;}
.q-count{font-size:13px;color:var(--ink-2);margin:-4px 0 12px;}
.q-count b{color:#07556e;font-size:15px;}
.q-confirm{display:flex;justify-content:center;margin-top:16px;}
.q-confirm .btn{min-width:240px;}
.quiz-foot{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px;}
.quiz-back{background:none;border:1px solid var(--line);color:var(--ink-3);padding:9px 18px;border-radius:9px;cursor:pointer;font-size:14px;font-family:inherit;transition:.2s;}
.quiz-back:hover{color:var(--brand);border-color:var(--line-strong);}
.quiz-back[disabled]{opacity:.35;cursor:not-allowed;}

/* result */
.result-head{text-align:center;margin-bottom:28px;}
.result-head .rh-badge{display:inline-block;font-size:12px;letter-spacing:3px;font-weight:800;color:#07556e;margin-bottom:10px;}
.result-head h3{font-size:27px;font-weight:900;margin-bottom:8px;}
.result-head p{color:var(--ink-3);font-size:14.5px;}
.res-card{
  display:flex;gap:20px;align-items:center;padding:22px;border-radius:16px;margin-bottom:14px;
  background:rgba(31,109,255,.06);border:1px solid var(--line);transition:.25s;
}
.res-card:hover{border-color:var(--line-strong);box-shadow:var(--glow);}
.res-card.top{background:linear-gradient(135deg,rgba(0,180,255,.12),rgba(88,116,255,.08));border-color:rgba(0,180,255,.4);}
.ring{
  width:86px;height:86px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;position:relative;
  background:conic-gradient(var(--ring-color,#22d3ee) calc(var(--pct,0) * 1%), rgba(31,109,255,.11) 0);
}
.ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#e6f0ff;}
.ring span{position:relative;font-size:19px;font-weight:900;color:#0d4fd8;}
.res-body{flex:1;min-width:0;}
.res-body h4{font-size:18px;margin-bottom:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.res-body p{font-size:13.8px;color:var(--ink-3);margin-bottom:10px;}
.res-body .res-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.res-actions{display:flex;gap:8px;flex-wrap:wrap;}
.rank-tag{font-size:11.5px;padding:2px 10px;border-radius:999px;background:linear-gradient(92deg,#0d5fe0,#3a35d6);color:#ffffff;font-weight:800;}
.share-box{
  margin-top:18px;padding:16px 18px;border-radius:12px;background:rgba(31,109,255,.06);border:1px dashed var(--line);
  font-size:13.5px;color:var(--ink-2);white-space:pre-wrap;line-height:1.8;
}
.keep-box{
  margin-top:18px;padding:18px 20px;border-radius:14px;
  background:linear-gradient(135deg,rgba(31,109,255,.10),rgba(88,116,255,.08));
  border:1px solid var(--line-strong);
}
.keep-box h4{font-size:15.5px;color:var(--ink);margin-bottom:2px;}
.keep-box input::placeholder{color:#7c8ba5;}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:24px;}
.modal.open{display:flex;}
.modal-mask{position:absolute;inset:0;background:rgba(2,5,12,.78);backdrop-filter:blur(5px);}
.modal-body{
  position:relative;background:linear-gradient(160deg,#ffffff,#eaf3ff);border:1px solid var(--line-strong);
  border-radius:20px;max-width:660px;width:100%;max-height:86vh;overflow-y:auto;padding:32px;
  box-shadow:0 0 60px rgba(31,109,255,.18),var(--shadow);animation:pop .25s ease;
}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.97);}to{opacity:1;transform:none;}}
.modal-close{position:absolute;right:18px;top:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:rgba(31,109,255,.07);cursor:pointer;font-size:18px;color:var(--ink-3);line-height:1;}
.modal-close:hover{background:rgba(31,109,255,.12);color:var(--brand);}
.modal-body h3{font-size:23px;margin-bottom:6px;}
.modal-body .m-sub{color:var(--ink-3);font-size:14px;margin-bottom:18px;}
.modal-body h5{font-size:15px;margin:18px 0 8px;color:#0d4fd8;font-weight:800;letter-spacing:.5px;}
.modal-body p,.modal-body li{font-size:14.5px;color:var(--ink-2);}
.modal-body ul{padding-left:20px;}
.modal-body .m-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;}
.m-grid div{background:rgba(31,109,255,.06);border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:13.5px;}
.m-grid b{display:block;font-size:11.5px;color:var(--ink-3);font-weight:500;}

/* ---------- Toast ---------- */
.toast{
  position:fixed;left:50%;bottom:40px;transform:translate(-50%,20px);z-index:300;
  background:linear-gradient(135deg,#0d5fe0,#3a35d6);color:#fff;padding:13px 26px;border-radius:11px;font-size:14.5px;
  opacity:0;pointer-events:none;transition:.25s;box-shadow:0 10px 30px rgba(31,109,255,.4);
}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- Footer ---------- */
.site-footer{position:relative;z-index:1;background:linear-gradient(180deg,#0e3d9c,#0a2b74);border-top:1px solid rgba(255,255,255,.16);color:rgba(214,233,255,.82);padding:56px 0 28px;font-size:14px;
  --ink:#ffffff;--ink-2:rgba(232,244,255,.9);--ink-3:rgba(205,228,255,.76);
  --line:rgba(255,255,255,.22);--line-strong:rgba(255,255,255,.48);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px;}
.site-footer h5{color:#fff;font-size:15px;margin-bottom:14px;font-weight:700;}
.site-footer a{color:var(--ink-3);font-size:13.8px;display:block;padding:4px 0;transition:.2s;}
.site-footer a:hover{color:#ffffff;}
.footer-about p{font-size:13.5px;line-height:1.9;margin-bottom:14px;color:var(--ink-3);}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:12.5px;color:#2f4b73;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
/* 备案号容器：内含 ICP 备案号链接 + 公安备案号图标(官方要求图标在编号左侧) */
.footer-bottom .beian{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.6;}
.footer-bottom .beian a{color:inherit;text-decoration:none;}
.footer-bottom .beian a:hover{text-decoration:underline;}
.footer-bottom .beian img{height:17px;width:17px;vertical-align:middle;display:inline-block;}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}

/* ---------- Logo image ---------- */
.logo-img{width:44px;height:44px;border-radius:50%;flex:none;box-shadow:0 0 0 1px rgba(31,109,255,.4),0 0 20px rgba(31,109,255,.3);}
.logo-hero{width:120px;height:120px;border-radius:50%;box-shadow:0 0 0 2px rgba(31,109,255,.45),0 0 44px rgba(31,109,255,.35);margin-bottom:20px;}

/* ---------- Cat chips ---------- */
.cat-chip{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(31,109,255,.06);color:var(--ink-2);font-size:13.5px;transition:.2s;cursor:pointer;}
.cat-chip:hover{border-color:var(--line-strong);color:var(--brand);background:rgba(31,109,255,.1);transform:translateY(-2px);}

/* ---------- Booth (入驻项目) ---------- */
.booth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.booth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.25s;display:flex;flex-direction:column;backdrop-filter:blur(6px);}
.booth-card:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-3px);}
.booth-card .b-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.booth-card .b-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,rgba(31,109,255,.18),rgba(88,116,255,.14));border:1px solid rgba(31,109,255,.24);display:flex;align-items:center;justify-content:center;font-size:19px;flex:none;}
.booth-card h4{font-size:16.5px;}
.booth-card small{color:var(--ink-3);font-size:12.5px;}
.booth-card .b-brief{font-size:14px;color:var(--ink);font-weight:600;margin-bottom:8px;}
.booth-card .b-detail{font-size:13.2px;color:var(--ink-3);margin-bottom:12px;flex:1;}
.booth-card .b-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.8px;color:var(--ink-3);border-top:1px dashed var(--line);padding-top:10px;flex-wrap:wrap;}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .nav-links{display:none;}
  .nav-links.open{
    display:flex;flex-direction:column;position:absolute;top:70px;left:0;right:0;background:rgba(6,11,24,.98);
    border-bottom:1px solid var(--line);padding:12px 24px 20px;gap:2px;box-shadow:var(--shadow);backdrop-filter:blur(14px);
  }
  .nav-links.open a{width:100%;}
  .menu-toggle{display:block;}
  .nav-cta .btn{display:none;}
  .grid-4,.grid-3,.steps{grid-template-columns:repeat(2,1fr);}
  .booth-grid{grid-template-columns:repeat(2,1fr);}
  .toolkit{grid-template-columns:1fr;gap:24px;}
  .hero-stats{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:680px){
  .hero{padding:66px 0 54px;}
  .hero h1{font-size:32px;}
  .hero p.lead{font-size:15.5px;}
  .section{padding:56px 0;}
  .sec-title h2{font-size:25px;}
  .grid-3,.grid-4,.grid-2,.steps{grid-template-columns:1fr;}
  .booth-grid{grid-template-columns:1fr;}
  .hero-sm h1{font-size:26px;}
  .footer-grid{grid-template-columns:1fr;}
  .list-item{flex-wrap:wrap;gap:10px;}
  .m-grid{grid-template-columns:1fr;}
  .quiz-card{padding:24px 20px;}
  .res-card{flex-direction:column;align-items:flex-start;text-align:left;}
}

/* ---------- Mobile tabbar ---------- */
.mobile-tabbar{display:none;}
@media(max-width:1000px){
  body{padding-bottom:66px;}
  .mobile-tabbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;
    background:rgba(6,11,24,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));
    box-shadow:0 -4px 22px rgba(23,84,200,.22);
  }
  .mobile-tabbar a{flex:1;text-align:center;color:var(--ink-3);font-size:11px;padding:4px 0;transition:.2s;}
  .mobile-tabbar a span{display:block;font-size:19px;line-height:1.25;margin-bottom:1px;}
  .mobile-tabbar a.active{color:#0c44ad;}
  .toast{bottom:86px;}
}

/* ==========================================================
   方向详情页 directions/<slug>.html 专用样式
   ========================================================== */
.crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#8fa2c6;margin-bottom:18px;}
.crumb a{color:#8fa2c6;transition:.2s;}
.crumb a:hover{color:#0c44ad;}
.crumb span{opacity:.45;}
.crumb em{font-style:normal;color:#c9d7ee;}

.dir-icon{font-size:.78em;vertical-align:-2px;margin-right:6px;}
.dir-h2{font-size:25px;font-weight:800;margin:44px 0 16px;padding-left:14px;border-left:4px solid var(--brand);letter-spacing:.5px;}
.dir-h2:first-child{margin-top:0;}

.dir-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start;}
.dir-main{min-width:0;}
.d-para{font-size:15.5px;line-height:1.95;color:var(--ink-2);margin-bottom:14px;}
.d-para b{color:#0c44ad;font-weight:700;}

/* ---------- 新闻详情：富媒体 ---------- */
.nw-fig{margin:20px 0;}
.nw-fig img{width:100%;border-radius:14px;border:1px solid var(--line);display:block;background:#ffffff;}
.nw-video{position:relative;margin:22px 0;padding-top:56.25%;border-radius:14px;overflow:hidden;
  background:#ffffff;border:1px solid var(--line-strong);box-shadow:var(--shadow);}
.nw-video iframe,.nw-video video{position:absolute;inset:0;width:100%;height:100%;border:0;}
.nw-vcard{display:flex;align-items:center;gap:14px;margin:22px 0;padding:16px 18px;border-radius:14px;
  background:linear-gradient(135deg,rgba(31,109,255,.12),rgba(88,116,255,.08));
  border:1px solid var(--line-strong);text-decoration:none;transition:.2s;}
.nw-vcard:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--glow);}
.nw-vc-ico{width:44px;height:44px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:16px;color:#04101f;background:linear-gradient(135deg,#38bdf8,#22d3ee);}
.nw-vc-b{flex:1;min-width:0;}
.nw-vc-b b{display:block;color:var(--ink);font-size:15px;margin-bottom:3px;}
.nw-vc-b em{font-style:normal;font-size:12.5px;color:var(--ink-3);}
.nw-vc-go{flex:none;font-size:13px;font-weight:700;color:#0c44ad;white-space:nowrap;}

/* ---------- 新闻详情：互动条 ---------- */
.nw-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:28px 0 0;padding:14px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.nw-act{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;
  border:1px solid var(--line);background:rgba(31,109,255,.06);color:var(--ink-2);
  font-size:13.5px;cursor:pointer;transition:.18s;font-family:inherit;text-decoration:none;}
.nw-act:hover{border-color:var(--brand);color:var(--brand);background:rgba(31,109,255,.12);}
.nw-act b{color:#0c44ad;font-size:12.5px;}
.nw-act.on{border-color:rgba(228,146,10,.5);background:rgba(228,146,10,.16);color:#8a5200;}
.nw-act.on b{color:#8a5200;}
.nw-ico{font-size:15px;}
.nw-share-tip{font-size:13px;color:#0c44ad;background:rgba(31,109,255,.08);border:1px solid var(--line-strong);
  border-radius:10px;padding:10px 14px;margin-top:12px;line-height:1.7;word-break:break-all;}

/* ---------- 新闻详情：评论 ---------- */
.nw-cmt{margin-top:34px;}
.nw-cmt-h{font-size:17px;color:var(--ink);margin-bottom:14px;}
.nw-cmt-h span{color:#0c44ad;}
.nw-form{background:rgba(251,254,255,.9);border:1px solid var(--line);border-radius:14px;padding:16px 18px;}
.nw-form input,.nw-form textarea{width:100%;padding:10px 12px;border-radius:10px;background:#ffffff;
  border:1px solid rgba(31,109,255,.32);color:#07203e;font-size:13.8px;font-family:inherit;margin-bottom:10px;}
.nw-form textarea{min-height:76px;resize:vertical;line-height:1.7;}
.nw-form input:focus,.nw-form textarea:focus{outline:none;border-color:var(--brand);}
.nw-form-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.nw-hint{font-size:12.5px;color:var(--ink-3);}
.nw-list{margin-top:18px;}
.nw-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px dashed rgba(31,109,255,.11);}
.nw-item:last-child{border-bottom:none;}
.nw-av{width:38px;height:38px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:800;color:#04101f;background:linear-gradient(135deg,#38bdf8,#a78bfa);}
.nw-b{flex:1;min-width:0;}
.nw-h{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap;}
.nw-h b{color:var(--ink);font-size:14px;}
.nw-h time{font-size:12px;color:var(--ink-3);}
.nw-b p{font-size:14px;color:var(--ink-2);line-height:1.8;white-space:pre-wrap;word-break:break-word;}
.nw-empty{text-align:center;color:var(--ink-3);font-size:13.5px;padding:20px 0;}

.d-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 26px;}
.d-cell{background:rgba(31,109,255,.06);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.d-cell b{display:block;font-size:12.5px;color:#0c44ad;font-weight:700;margin-bottom:5px;letter-spacing:.5px;}
.d-cell span{font-size:14px;color:var(--ink-2);line-height:1.7;}

.d-warn{background:rgba(251,113,133,.07);border:1px solid rgba(251,113,133,.28);border-radius:14px;padding:20px 22px;margin:26px 0;}
.d-warn h4{font-size:16px;font-weight:800;color:#8f1414;margin-bottom:8px;}
.d-warn p{font-size:14.5px;line-height:1.85;color:#4a2027;}

.dir-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.dir-steps .step{display:flex;gap:14px;align-items:flex-start;padding:20px 18px;}
.step-n{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#38bdf8,#22d3ee);color:#04121f;font-weight:900;font-size:15px;
  box-shadow:0 6px 18px rgba(31,109,255,.4);}
.dir-steps .step h4{font-size:14.5px;font-weight:600;line-height:1.65;color:var(--ink-1);}

.faq{border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.faq-item{padding:18px 22px;border-bottom:1px solid var(--line);background:rgba(31,109,255,.04);}
.faq-item:last-child{border-bottom:none;}
.faq-item h4{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:7px;}
.faq-item h4::before{content:"Q  ";color:#1560e0;font-weight:900;}
.faq-item p{font-size:14.5px;line-height:1.85;color:var(--ink-3);}
.faq-item p::before{content:"A  ";color:#06704a;font-weight:900;}

.rel-more{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:700;color:#0c44ad;}

/* 侧栏 */
.dir-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px;}
.side-card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:14px;padding:18px;}
.side-card h4{font-size:15px;font-weight:800;margin-bottom:10px;color:var(--ink);}
.side-card ul{list-style:none;margin:0;padding:0;}
.side-card li{font-size:13.5px;line-height:1.8;color:var(--ink-3);padding:7px 0;border-bottom:1px dashed rgba(31,109,255,.09);}
.side-card li:last-child{border-bottom:none;}
.side-card li b{display:block;font-size:12.5px;color:#0c44ad;font-weight:700;margin-bottom:2px;}
.side-card p{font-size:13.5px;color:var(--ink-3);line-height:1.8;margin-bottom:12px;}
.side-cta{background:linear-gradient(160deg,rgba(31,109,255,.12),rgba(124,92,240,.1));border-color:rgba(31,109,255,.32);}
.side-links{display:flex;flex-wrap:wrap;gap:7px;}
.side-links a{font-size:12.5px;padding:5px 11px;border-radius:999px;background:rgba(31,109,255,.06);
  border:1px solid var(--line);color:var(--ink-3);transition:.2s;}
.side-links a:hover{background:rgba(31,109,255,.14);color:#0c44ad;border-color:var(--brand);}

.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:linear-gradient(120deg,rgba(31,109,255,.14),rgba(124,92,240,.12));
  border:1px solid rgba(31,109,255,.3);border-radius:18px;padding:34px 38px;}
.cta-band h3{font-size:24px;font-weight:800;margin-bottom:8px;}
.cta-band p{font-size:14.5px;color:var(--ink-3);}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap;}

@media(max-width:1000px){
  .dir-layout{grid-template-columns:1fr;}
  .dir-side{position:static;}
  .d-inline,.dir-steps{grid-template-columns:1fr;}
  .dir-h2{font-size:21px;margin:34px 0 14px;}
  .cta-band{padding:26px 22px;}
  .cta-band h3{font-size:20px;}
}

/* ==========================================================
   院校合作页 campus.html 专用样式
   ========================================================== */
.camp-win{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.camp-win .card{border-top:3px solid var(--brand);}
.camp-win .card:nth-child(2){border-top-color:#a78bfa;}
.camp-win .card:nth-child(3){border-top-color:#34d399;}
.camp-win .card .icon{font-size:30px;margin-bottom:12px;display:block;}
.camp-win ul{list-style:none;margin:0;padding:0;}
.camp-win li{font-size:13.8px;line-height:1.75;color:var(--ink-3);padding:6px 0;border-bottom:1px dashed rgba(31,109,255,.09);}
.camp-win li:last-child{border-bottom:none;}

.camp-mode{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.camp-mode .card{position:relative;padding-top:24px;}
.camp-mode .lv-badge{position:absolute;top:-12px;left:22px;background:linear-gradient(92deg,#38bdf8,#22d3ee);
  color:#04121f;font-weight:900;font-size:12px;padding:4px 12px;border-radius:999px;letter-spacing:1px;}
.camp-mode .card:nth-child(n+4) .lv-badge{background:linear-gradient(92deg,#a78bfa,#f472b6);}
.camp-mode h3{font-size:17px;}
.camp-mode .who{font-size:12.5px;color:#0c44ad;font-weight:700;margin-bottom:8px;}
.camp-mode p{font-size:13.8px;line-height:1.8;}
.camp-mode .gain{display:block;margin-top:10px;font-size:12.8px;color:#06704a;}

table.camp-tb{width:100%;border-collapse:collapse;font-size:13.8px;background:rgba(255,255,255,.82);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;}
table.camp-tb th{text-align:left;padding:13px 14px;font-size:13px;color:#0c44ad;background:rgba(31,109,255,.08);
  border-bottom:1px solid rgba(31,109,255,.25);white-space:nowrap;}
table.camp-tb td{padding:13px 14px;border-bottom:1px solid rgba(31,109,255,.08);color:var(--ink-2);vertical-align:top;line-height:1.75;}
table.camp-tb tr:last-child td{border-bottom:none;}
table.camp-tb td.k{color:var(--ink);font-weight:700;white-space:nowrap;}
.tb-wrap{overflow-x:auto;border-radius:14px;}

.camp-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:f;}
.camp-flow .step{counter-increment:f;padding:22px 20px;}
.camp-flow .step::before{content:"0" counter(f);display:block;font-size:26px;font-weight:900;
  color:rgba(31,109,255,.35);line-height:1;margin-bottom:8px;}
.camp-flow h4{font-size:15.5px;margin-bottom:7px;}
.camp-flow p{font-size:13.5px;line-height:1.8;}

.camp-form{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.camp-form .card{padding:28px;}
.camp-form h3{font-size:19px;margin-bottom:6px;}
.camp-form .sub{font-size:13.5px;color:var(--ink-3);margin-bottom:18px;line-height:1.8;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:13px;color:var(--ink-3);margin-bottom:6px;}
.field label b{color:#8f1414;}
.field input,.field select,.field textarea{width:100%;padding:11px 14px;border-radius:10px;
  background:rgba(31,109,255,.07);border:1px solid var(--line);color:var(--ink);font-size:14px;
  font-family:inherit;transition:.2s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);
  background:rgba(31,109,255,.07);}
.field textarea{min-height:88px;resize:vertical;}
.field-check{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink-3);line-height:1.7;margin-bottom:16px;}
.field-check input{width:16px;height:16px;margin-top:2px;flex:none;}

.mat-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;
  border-bottom:1px solid var(--line);background:rgba(31,109,255,.04);flex-wrap:wrap;}
.mat-item:last-child{border-bottom:none;}
.mat-item b{font-size:14.5px;color:var(--ink);}
.mat-item span{font-size:13px;color:var(--ink-3);}
.mat-item .free{font-size:12.5px;color:#06704a;font-weight:700;}

@media(max-width:1000px){
  .camp-win,.camp-mode,.camp-form{grid-template-columns:1fr;}
  .camp-flow{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){.camp-flow{grid-template-columns:1fr;}}

/* 合作共赢页 cooperation.html 补充样式 */
.camp-form.three{grid-template-columns:repeat(3,1fr);}
.track-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:8px;}
.track-card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:16px;padding:24px;
  transition:.28s;text-decoration:none;display:block;}
.track-card:hover{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-4px);}
.track-card .tk{font-size:30px;display:block;margin-bottom:10px;}
.track-card h3{font-size:19px;font-weight:800;margin-bottom:8px;color:var(--ink);}
.track-card p{font-size:13.8px;color:var(--ink-3);line-height:1.8;margin-bottom:12px;}
.track-card .go{font-size:13.5px;font-weight:700;color:#0c44ad;}
.track-tag{display:inline-block;background:rgba(31,109,255,.14);color:#0c44ad;border:1px solid rgba(31,109,255,.3);
  border-radius:999px;padding:3px 11px;font-size:12px;margin-bottom:10px;}
.track-tag.pk{background:rgba(228,146,10,.16);color:#8a5200;border-color:rgba(228,146,10,.32);}
.loop-box{background:linear-gradient(120deg,rgba(228,146,10,.13),rgba(249,115,22,.09));
  border:1px solid rgba(228,146,10,.36);border-radius:16px;padding:26px 30px;margin:18px 0;}
.loop-box h3{font-size:20px;font-weight:800;margin-bottom:10px;}
.loop-box p{font-size:14.5px;line-height:1.9;color:#0a1f3d;}
.loop-flow{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0 6px;}
.loop-flow span{background:rgba(31,109,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:10px;
  padding:9px 14px;font-size:13.5px;color:var(--ink);}
.loop-flow i{color:#8a5200;font-style:normal;font-size:20px;font-weight:900;}
.pt-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.pt-card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:16px;padding:24px;}
.pt-card.school{border-top:3px solid #38bdf8;}
.pt-card.park{border-top:3px solid #fbbf24;}
.pt-card h3{font-size:18px;font-weight:800;margin:6px 0 4px;}
.pt-card .who{font-size:13px;color:var(--ink-3);margin-bottom:14px;}
.pt-card h5{font-size:13.5px;font-weight:800;color:#0c44ad;margin:14px 0 7px;}
.pt-card.park h5{color:#8a5200;}
.pt-card ul{list-style:none;margin:0;padding:0;}
.pt-card li{font-size:13.5px;line-height:1.75;color:var(--ink-3);padding:5px 0 5px 16px;position:relative;}
.pt-card li::before{content:"";position:absolute;left:0;top:13px;width:5px;height:5px;border-radius:50%;background:#38bdf8;}
.pt-card.park li::before{background:#fbbf24;}
@media(max-width:1000px){
  .track-nav,.pt-2{grid-template-columns:1fr;}
  .camp-form.three{grid-template-columns:1fr;}
}

/* ============ 任务大厅 v1（撮合层） ============ */
.task-filter{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px;}
.tf-btn{padding:8px 15px;border-radius:20px;font-size:13.5px;cursor:pointer;
  background:rgba(31,109,255,.06);border:1px solid var(--line);color:var(--ink-2);transition:.2s;}
.tf-btn:hover{color:var(--brand);border-color:var(--line-strong);}
.tf-btn.active{background:rgba(31,109,255,.16);color:#0c44ad;border-color:var(--brand);font-weight:700;}

.task-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.task-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;transition:.26s;display:flex;flex-direction:column;}
.task-card:hover{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-3px);}
.task-card .tc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.task-card .tc-head h3{font-size:17px;font-weight:800;line-height:1.55;color:var(--ink);}
.state-tag{flex:none;font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:20px;white-space:nowrap;}
.state-tag.open{background:rgba(10,157,104,.16);color:#06704a;border:1px solid rgba(10,157,104,.4);}
.state-tag.doing{background:rgba(228,146,10,.16);color:#8a5200;border:1px solid rgba(228,146,10,.4);}
.state-tag.done{background:rgba(31,109,255,.08);color:var(--ink-3);border:1px solid var(--line);}
.tc-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.tc-badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:6px;
  background:rgba(31,109,255,.08);color:var(--ink-2);border:1px solid var(--line);}
.tc-badge.mine{background:rgba(31,109,255,.16);color:#0c44ad;border-color:var(--line-strong);}
.tc-cat{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:6px;
  background:rgba(124,92,240,.14);color:#5533c4;border:1px solid rgba(124,92,240,.3);}
.tc-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);
  padding:10px 0;border-top:1px dashed rgba(31,109,255,.12);border-bottom:1px dashed rgba(31,109,255,.12);margin-bottom:12px;}
.tc-desc{font-size:14px;line-height:1.85;color:var(--ink-2);margin-bottom:10px;flex:1;}
.tc-deliver{font-size:13px;line-height:1.75;color:var(--ink-3);background:rgba(31,109,255,.05);
  border-left:3px solid var(--line-strong);padding:9px 13px;border-radius:0 8px 8px 0;margin-bottom:14px;}
.tc-deliver b{color:#0c44ad;}
.tc-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.tc-pub{font-size:12.5px;color:var(--ink-3);}
.task-empty{grid-column:1/-1;text-align:center;padding:56px 20px;color:var(--ink-3);font-size:14.5px;}
.task-empty .big{display:block;font-size:42px;margin-bottom:12px;opacity:.5;}

.notice-box{background:linear-gradient(120deg,rgba(248,113,113,.12),rgba(249,115,22,.08));
  border:1px solid rgba(248,113,113,.32);border-radius:16px;padding:24px 26px;}
.notice-box h3{font-size:19px;font-weight:800;margin-bottom:10px;color:#8f1414;}
.notice-box p{font-size:14.5px;line-height:1.95;color:var(--ink-2);}
.notice-box b{color:#fecdd3;}

.d-list{list-style:none;margin:0;padding:0;}
.d-list li{font-size:13.8px;line-height:1.8;color:var(--ink-3);padding:6px 0 6px 18px;position:relative;}
.d-list li::before{content:"";position:absolute;left:0;top:15px;width:5px;height:5px;border-radius:50%;background:#38bdf8;}

@media(max-width:1000px){ .task-list{grid-template-columns:1fr;} }

/* 通用提示条（原后台内联样式，提升至全站可用） */
.adm-note{font-size:13px;color:var(--ink-3);line-height:1.9;background:rgba(31,109,255,.06);
  border:1px solid var(--line);border-radius:12px;padding:14px 18px;}
.adm-note b{color:#0c44ad;}

/* ============ 首页轮播 ============ */
.banner{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1600/560;
  box-shadow:0 18px 60px rgba(23,84,200,.22);border:1px solid var(--line);background:#e9f2ff;}
.banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;display:block;}
.banner-slide.active{opacity:1;}
.banner-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.b-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  background:rgba(6,26,74,.72);border:1px solid rgba(255,255,255,.38);color:#fff;font-size:24px;
  cursor:pointer;z-index:5;line-height:1;backdrop-filter:blur(6px);transition:.2s;}
.b-nav:hover{background:rgba(31,109,255,.35);border-color:var(--brand);}
.b-nav.prev{left:14px;}
.b-nav.next{right:14px;}
.b-dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:9px;z-index:5;}
.b-dot{width:26px;height:5px;border-radius:3px;border:none;cursor:pointer;
  background:rgba(255,255,255,.28);transition:.25s;padding:0;}
.b-dot.active{background:var(--brand);width:38px;}
@media(max-width:860px){
  .banner{aspect-ratio:16/10;border-radius:13px;}
  .banner-slide img{object-position:left center;}
  .b-nav{display:none;}
  .b-dot{width:18px;}
  .b-dot.active{width:28px;}
}

/* ============ 新闻动态 ============ */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.news-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;transition:.26s;display:flex;flex-direction:column;text-decoration:none;}
.news-card:hover{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-3px);}
.news-card .nc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;}
.news-card .nc-top .tag{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:6px;
  background:rgba(31,109,255,.14);color:#0c44ad;border:1px solid var(--line-strong);}
.news-card time{font-size:12px;color:var(--ink-3);}
.news-card h3{font-size:16.5px;font-weight:800;line-height:1.55;color:var(--ink);margin-bottom:9px;}
.news-card p{font-size:13.5px;line-height:1.8;color:var(--ink-3);flex:1;}
.news-card .nc-more{margin-top:12px;font-size:13px;font-weight:700;color:#0c44ad;}
@media(max-width:1000px){.news-grid{grid-template-columns:1fr;}}

/* ============ 新闻动态：焦点轮播（内容由后台新闻动态驱动） ============ */
.news-banner{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1600/520;
  box-shadow:0 18px 60px rgba(23,84,200,.22);border:1px solid var(--line);background:#e9f2ff;margin-bottom:26px;}
.nb-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;display:block;
  background-size:cover;background-position:right center;}
.nb-slide.active{opacity:1;}
.nb-slide:hover{text-decoration:none;}
.nb-inner{position:absolute;left:0;top:0;bottom:0;width:60%;display:flex;flex-direction:column;
  background:linear-gradient(100deg,rgba(6,26,74,.94) 0%,rgba(6,26,74,.8) 58%,rgba(6,26,74,.35) 100%);
  border-radius:var(--radius);
  justify-content:center;gap:12px;padding:36px 24px 36px 56px;}
.nb-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.nb-meta .tag{font-size:12px;font-weight:700;padding:4px 12px;border-radius:7px;
  background:rgba(var(--nbc-rgb),.16);color:rgb(var(--nbc-rgb));border:1px solid rgba(var(--nbc-rgb),.38);}
.nb-meta time{font-size:13px;color:rgba(214,232,255,.9);}
.nb-title{font-size:28px;font-weight:800;line-height:1.42;color:#f4f8ff;
  text-shadow:0 2px 16px rgba(0,0,0,.55);}
.nb-summary{font-size:14.5px;line-height:1.82;color:rgba(226,240,255,.92);display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:94%;}
.nb-more{display:inline-flex;align-items:center;margin-top:4px;width:fit-content;
  padding:10px 22px;border-radius:999px;font-size:14.5px;font-weight:700;color:#04101f;
  background:linear-gradient(135deg,rgb(var(--nbc-rgb)),var(--nbc2));
  box-shadow:0 8px 24px rgba(var(--nbc-rgb),.32);transition:.2s;}
.nb-slide:hover .nb-more{transform:translateY(-2px);box-shadow:0 12px 30px rgba(var(--nbc-rgb),.45);}
@media(max-width:1000px){
  .news-banner{aspect-ratio:16/9;}
  .nb-inner{width:74%;padding:26px 20px 26px 32px;}
  .nb-title{font-size:22px;}
  .nb-summary{display:none;}
  .news-banner .b-nav{display:none;}
}
@media(max-width:680px){
  .news-banner{aspect-ratio:16/11;border-radius:13px;margin-bottom:18px;}
  .nb-inner{width:88%;padding:20px 14px 20px 20px;gap:8px;z-index:2;}
  .nb-title{font-size:17.5px;}
  .nb-more{padding:8px 16px;font-size:13px;}
  /* 小屏：左向深色渐变压住背景水印，保证标题可读 */
  .nb-slide::after{content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(100deg,rgba(3,7,16,.80) 28%,rgba(3,7,16,.12) 72%);}
}
/* ============ 导航防溢出（header 只保留核心信息） ============ */
.nav-links a{white-space:nowrap;}
.nav{flex-wrap:nowrap;}
.nav-cta .btn{white-space:nowrap;}
/* 品牌副标题在 hero 徽标与页脚均有展示，header 内隐藏以保导航空间 */
.logo>.logo-text em{display:none;}
.logo>.logo-text .logo-name{display:inline;}
/* 在线课堂为外链入口：移至页脚，header 不再放置 */
.online-link{display:none;}
/* 导航字号加大加粗，10 项 + 双按钮在 1160 容器内完整横排 */
.nav-links{gap:0;}
/* 10 项导航：字号与内边距按容器重新配平，保证不换行、不断行 */
.nav-links a{padding:12px 8px;font-size:14.5px;font-weight:600;}
@media(min-width:1001px){
  .nav-cta{gap:8px;}
}
/* 稍窄桌面：再收一档 */
@media(max-width:1199px) and (min-width:1001px){
  .nav-links a{padding:11px 5px;font-size:13.5px;font-weight:600;}
  .nav-cta .nav-ext{display:none;}
  .nav-cta .btn{padding:8px 12px;font-size:13px;}
}
/* 窄桌面兜底：隐藏登录入口文字（用户中心 / 页脚仍可进入），保导航完整 */
@media(max-width:1100px) and (min-width:1001px){
  .nav-links a{padding:11px 4px;font-size:13px;}
  .nav-cta .login-link{display:none;}
}

/* ============ 项目大厅：顶部锚点导航 ============ */
.hall-nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.hall-nav a{
  padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:rgba(31,109,255,.07);
  color:var(--ink-2);font-size:14px;font-weight:600;transition:.2s;backdrop-filter:blur(8px);
}
.hall-nav a:hover{color:var(--brand);border-color:var(--brand);background:rgba(31,109,255,.12);transform:translateY(-2px);}
.hall-nav a:last-child{border-color:rgba(0,180,255,.4);color:#0c44ad;}
@media(max-width:680px){.hall-nav a{padding:9px 14px;font-size:13px;}}

/* ============ 方向地图：每行 3 列 + 卡片美化 ============ */
.dir-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:1000px){.dir-grid{grid-template-columns:repeat(2,1fr);gap:18px;}}
@media(max-width:680px){.dir-grid{grid-template-columns:1fr;}}
.project{position:relative;overflow:hidden;padding-top:26px;}
.project::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;opacity:.82;
  background:linear-gradient(90deg,#38bdf8,#818cf8,#22d3ee);transition:.28s;
}
.project:hover::before{height:4px;opacity:1;}
.project .p-no{
  position:absolute;right:16px;top:14px;font-size:12px;font-weight:800;
  color:var(--ink-3);letter-spacing:1.5px;
}
.project .kv{margin-top:auto;}
.project .meta-row{margin-bottom:14px;}

/* ============ OPC地图 ============ */
.sec-eyebrow{font-size:12px;font-weight:800;letter-spacing:2.4px;color:#0c44ad;margin-bottom:8px;}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 28px;box-shadow:var(--shadow);}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px;}
.form-grid .span-2{grid-column:span 2;}
.form-grid .field{margin-bottom:14px;}
.form-tip{display:inline-block;margin-left:14px;font-size:13px;color:var(--ink-3);}
@media(max-width:680px){.form-grid{grid-template-columns:1fr;}.form-grid .span-2{grid-column:span 1;}}

/* 分布图 */
.omap-wrap{position:relative;border:1px solid var(--line);border-radius:var(--radius);
  background:radial-gradient(900px 420px at 62% 42%,rgba(31,109,255,.10),transparent 70%),
             linear-gradient(180deg,rgba(11,18,36,.9),rgba(6,11,24,.95));
  padding:14px;box-shadow:var(--shadow);overflow:hidden;}
.omap{width:100%;height:auto;display:block;max-height:520px;}
/* 中国底图（Albers 等积圆锥投影 · 标准形状） */
.omap .cn-provs{filter:url(#landGlow);}
.omap .cn-prov{fill:url(#landFill);stroke:rgba(125,211,252,.48);stroke-width:.9;
  stroke-linejoin:round;transition:.2s;}
.omap .cn-prov:hover{fill:#1d4f80;stroke:#a5e8ff;stroke-width:1.3;}
.omap .st-label{fill:#ffd166;font-size:15px;font-weight:800;letter-spacing:.3px;
  paint-order:stroke;stroke:rgba(3,8,18,.92);stroke-width:3.5px;stroke-linejoin:round;pointer-events:none;}
.omap .nh-box{fill:rgba(31,109,255,.03);stroke:rgba(125,211,252,.26);stroke-width:1;stroke-dasharray:4 3;}
.omap .nh-line{fill:none;stroke:#1160d6;stroke-width:1.7;stroke-linecap:round;opacity:.85;}
.omap .nh-dot{fill:#1160d6;opacity:.9;}
.omap .nh-text{fill:#041539 !important;font-size:12.5px;font-weight:700;}

/* 星星标记 */
.omap .star{cursor:pointer;}
.omap .star .st-body{stroke:rgba(255,255,255,.9);stroke-width:.9;stroke-linejoin:round;
  transform-box:fill-box;transform-origin:center;transition:.22s;}
.omap .star .st-halo{opacity:.30;transform-box:fill-box;transform-origin:center;
  animation:stHalo 2.8s ease-out infinite;}
.omap .star.pt-rec .st-body{fill:#22d3ee;}
.omap .star.pt-rec .st-halo{fill:rgba(0,180,255,.34);}
.omap .star.pt-talk .st-body{fill:#fbbf24;}
.omap .star.pt-talk .st-halo{fill:rgba(228,146,10,.30);}
.omap .star.pt-open .st-body{fill:#34d399;}
.omap .star.pt-open .st-halo{fill:rgba(10,157,104,.32);}
/* OPC众创网总部（武汉）：持续闪烁 + 强光晕 */
.omap .star.pt-hq .st-body{fill:#ffd166;stroke:#fff8dc;stroke-width:1.2;
  animation:stTwinkle 1.5s ease-in-out infinite;}
.omap .star.pt-hq .st-halo{fill:rgba(255,209,102,.45);animation:stHalo 1.8s ease-out infinite;}
@keyframes stTwinkle{
  0%,100%{opacity:1;transform:scale(1.12);filter:drop-shadow(0 0 14px rgba(255,209,102,.95));}
  50%{opacity:.42;transform:scale(.86);filter:drop-shadow(0 0 4px rgba(255,209,102,.5));}}
.omap .star:hover .st-body,.omap .star:focus .st-body{transform:scale(1.28);
  filter:drop-shadow(0 0 10px currentColor);}
.omap .star:hover .st-halo,.omap .star:focus .st-halo{opacity:.62;}
.omap .star.active .st-body{transform:scale(1.32);stroke:#fff;stroke-width:1.4;}
@keyframes stHalo{0%{transform:scale(.55);opacity:.5;}70%{transform:scale(1.5);opacity:0;}
  100%{transform:scale(1.5);opacity:0;}}
.omap-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:10px 6px 4px;font-size:13px;color:var(--ink-3);}
.omap-legend span{display:inline-flex;align-items:center;gap:7px;}
.omap-legend .lg{width:13px;height:13px;display:inline-block;
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);}
.omap-legend .lg-hq{background:#ffd166;}
.omap-legend .lg-open{background:#34d399;}
.omap-legend .lg-talk{background:#fbbf24;}
.omap-legend .lg-rec{background:#22d3ee;}
.omap-legend em{font-style:normal;font-size:12px;color:#2f4b73;}

/* 筛选 */
.map-filter{margin:22px 0 18px;}
.mf-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px;}
.mf-label{font-size:13px;color:var(--ink-3);align-self:center;margin-right:2px;}
.chip{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:rgba(31,109,255,.06);
  color:var(--ink-2);font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;font-family:inherit;}
.chip:hover{color:var(--brand);border-color:var(--brand);}
.chip.active{background:rgba(31,109,255,.16);border-color:var(--brand);color:#0c44ad;}
.chip-sm{padding:6px 13px;font-size:13px;}
.mf-sum{font-size:13px;color:var(--ink-3);margin-top:4px;}
.map-empty{text-align:center;color:var(--ink-3);padding:40px 0;}

/* 点位卡片 */
.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:1000px){.space-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(max-width:680px){.space-grid{grid-template-columns:1fr;}}
.space-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;display:flex;flex-direction:column;transition:.26s;overflow:hidden;}
.space-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#38bdf8,#22d3ee,#818cf8);opacity:.75;}
.space-card:hover{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-3px);}
.sc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;}
.sc-type{font-size:12px;font-weight:700;padding:4px 11px;border-radius:7px;
  background:rgba(88,116,255,.16);color:#4338ca;border:1px solid var(--line-strong);}
.sc-status{font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:999px;border:1px solid;}
.sc-status.st-open{background:rgba(10,157,104,.14);color:#06704a;border-color:rgba(10,157,104,.4);}
.sc-status.st-talk{background:rgba(228,146,10,.13);color:#8a5200;border-color:rgba(228,146,10,.38);}
.sc-status.st-rec{background:rgba(0,180,255,.12);color:#0a6a8c;border-color:rgba(0,180,255,.36);}
.space-card h3{font-size:17px;font-weight:800;color:var(--ink);line-height:1.5;margin-bottom:6px;}
.sc-loc{font-size:12.5px;color:var(--ink-3);margin-bottom:10px;}
.sc-intro{font-size:13.5px;line-height:1.82;color:var(--ink-3);margin-bottom:12px;}
.sc-kv{display:flex;gap:10px;font-size:13px;margin-bottom:7px;}
.sc-kv span{color:var(--ink-3);flex:none;}
.sc-kv b{color:var(--ink-2);font-weight:600;}
.sc-block{margin:10px 0 12px;padding:12px 14px;border-radius:10px;background:rgba(31,109,255,.05);
  border:1px solid var(--line);}
.sc-block h4{margin:0 0 7px;font-size:12.5px;color:#0c44ad;letter-spacing:.5px;}
.sc-block ul{margin:0;padding-left:17px;}
.sc-block li{font-size:12.8px;line-height:1.85;color:var(--ink-2);}
.sc-fac{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.sc-fac span{font-size:11.5px;padding:3px 9px;border-radius:6px;background:rgba(31,109,255,.07);
  color:var(--ink-3);border:1px solid var(--line);}
.sc-contact{font-size:12.5px;color:var(--ink-3);line-height:1.7;margin-top:auto;padding-top:10px;
  border-top:1px dashed var(--line);}
.sc-contact span{color:#2f4b73;}
.sc-actions{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap;}

/* 社区联系人信息（联系人 / 职务 / 电话 / 微信） */
.sc-people{margin-top:12px;padding:10px 12px;border-radius:11px;
  background:rgba(31,109,255,.07);border:1px solid rgba(31,109,255,.18);}
.sc-people .sp-row{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--ink-2);line-height:1.8;}
.sc-people .sp-row span{color:var(--ink-3);}
.sc-people .sp-row b{color:var(--ink);font-weight:700;}
.sc-people .sp-row a{color:var(--brand);text-decoration:none;}

/* ============ 统一申请弹窗 ============ */
.ap-mask{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px;
  background:rgba(3,8,20,.72);backdrop-filter:blur(6px);opacity:0;transition:.22s;}
.ap-mask.open{opacity:1;}
.ap-panel{position:relative;width:min(560px,94vw);max-height:92vh;overflow:auto;padding:24px 26px;
  background:var(--surface-2,#ffffff);border:1px solid var(--line-strong);border-radius:18px;
  box-shadow:0 30px 80px rgba(2,8,23,.6);transform:translateY(12px) scale(.98);transition:.22s;}
.ap-mask.open .ap-panel{transform:none;}
.ap-panel h3{margin:0 0 6px;font-size:19px;}
.ap-desc{font-size:13px;color:var(--ink-3);line-height:1.75;margin:0 0 16px;}
.ap-x{position:absolute;right:14px;top:12px;width:30px;height:30px;border-radius:9px;cursor:pointer;
  background:rgba(31,109,255,.07);border:1px solid var(--line);color:var(--ink-3);font-size:14px;line-height:1;}
.ap-x:hover{color:var(--ink);background:rgba(31,109,255,.13);}
.ap-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ap-field{display:flex;flex-direction:column;gap:5px;}
.ap-field.span{grid-column:1/-1;}
.ap-field label{font-size:12.5px;color:var(--ink-3);}
.ap-field label b{color:var(--accent,#f43f5e);}
.ap-field input,.ap-field select,.ap-field textarea{
  padding:10px 12px;border-radius:10px;font-size:13.5px;color:var(--ink);
  background:#eef5ff;border:1px solid var(--line);outline:none;font-family:inherit;}
.ap-field input:focus,.ap-field select:focus,.ap-field textarea:focus{border-color:var(--brand);}
.ap-field textarea{resize:vertical;line-height:1.7;}
.ap-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:14px;margin-top:2px;}
.ap-tip{font-size:12px;color:var(--ink-3);}
.ap-ok{text-align:center;padding:14px 6px 4px;}
.ap-ok-ico{font-size:44px;margin-bottom:8px;}
.ap-ok h3{margin-bottom:8px;}
.ap-ok p{font-size:13.5px;color:var(--ink-3);line-height:1.8;margin-bottom:18px;}

/* 入驻通道（个人 / 团队 / 企业） */
.join-ways{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;}
.join-way{padding:22px 20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);
  backdrop-filter:blur(6px);transition:.28s;text-align:center;}
.join-way:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-4px);}
.join-way .jw-ico{font-size:30px;margin-bottom:8px;}
.join-way h4{font-size:16.5px;margin-bottom:6px;}
.join-way p{font-size:13px;color:var(--ink-3);line-height:1.7;margin-bottom:14px;}
@media (max-width:760px){
  .ap-form{grid-template-columns:1fr;}
  .join-ways{grid-template-columns:1fr;}
}

/* ============ 免责声明卡片（深色主题 · 警示样式） ============ */
.disclaimer{
  background:rgba(240,247,255,.8);border:1px solid rgba(228,146,10,.30);border-radius:var(--radius);
  padding:24px 28px;backdrop-filter:blur(10px);box-shadow:var(--shadow);
}
.disclaimer h3{margin-top:0;font-size:16.5px;color:#9a5b06;letter-spacing:.5px;}
.disclaimer p{font-size:13.8px;color:var(--ink-2);line-height:1.95;margin-bottom:9px;}
.disclaimer p:last-child{margin-bottom:0;}

/* ============ 注册门槛（会员可见）+ 公众号引导 ============ */
.gt-lock{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;cursor:pointer;
  font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap;
  background:rgba(31,109,255,.10);border:1px dashed rgba(31,109,255,.45);transition:.22s;}
.gt-lock:hover{background:rgba(31,109,255,.2);color:var(--ink);}
.gt-locked{cursor:pointer;}

/* 新闻正文后半段锁卡片 */
.nw-lock{position:relative;margin:26px 0;padding:34px 24px;text-align:center;
  border-radius:16px;border:1px dashed rgba(31,109,255,.4);
  background:linear-gradient(180deg,rgba(31,109,255,.07),rgba(10,20,38,.3));}
.nw-lock-ico{font-size:30px;margin-bottom:8px;}
.nw-lock b{display:block;font-size:17px;margin-bottom:6px;}
.nw-lock p{font-size:13.5px;color:var(--ink-3);line-height:1.8;margin:0 0 16px;}
.nw-lock-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* 引导弹窗 */
.gt-mask{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:18px;
  background:rgba(3,8,20,.76);backdrop-filter:blur(7px);opacity:0;transition:.22s;}
.gt-mask.open{opacity:1;}
.gt-panel{position:relative;width:min(720px,95vw);max-height:92vh;overflow:auto;padding:26px 28px;
  background:var(--surface-2,#ffffff);border:1px solid var(--line-strong);border-radius:20px;
  box-shadow:0 30px 80px rgba(2,8,23,.62);transform:translateY(14px) scale(.97);transition:.22s;}
.gt-mask.open .gt-panel{transform:none;}
.gt-x{position:absolute;right:14px;top:12px;width:30px;height:30px;border-radius:9px;cursor:pointer;
  background:rgba(31,109,255,.07);border:1px solid var(--line);color:var(--ink-3);font-size:14px;line-height:1;}
.gt-head{text-align:center;margin-bottom:18px;}
.gt-ico{font-size:34px;display:block;margin-bottom:6px;}
.gt-head h3{margin:0 0 6px;font-size:21px;}
.gt-head p{font-size:13.5px;color:var(--ink-3);line-height:1.75;margin:0;}
.gt-body{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start;}
.gt-left b{display:block;font-size:14.5px;margin-bottom:10px;}
.gt-left ul{margin:0 0 16px;padding-left:18px;font-size:13px;color:var(--ink-3);line-height:2;}
.gt-note{font-size:11.5px;color:#6b819f;margin:8px 0 0;}
.gt-right{text-align:center;padding:18px 14px;border-radius:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(31,109,255,.06);border:1px solid rgba(31,109,255,.2);}
.gt-right img{width:150px;height:150px;object-fit:contain;background:#fff;border-radius:12px;padding:6px;margin:0 auto 10px;}
.gt-right b{display:block;font-size:14px;margin-bottom:4px;}
.gt-right p{font-size:12px;color:var(--ink-3);line-height:1.7;margin:0;}
@media (max-width:700px){
  .gt-body{grid-template-columns:1fr;}
  .gt-panel{padding:22px 18px;}
}

/* ===== 合作名录（合作共赢页） ===== */
.pt-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;}
.pt-tab{background:rgba(255,255,255,.82);border:1px solid var(--line);color:var(--ink-2);
  border-radius:999px;padding:7px 18px;font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s;}
.pt-tab:hover{border-color:var(--brand);color:var(--ink);}
.pt-tab.on{background:linear-gradient(135deg,#38bdf8,#6366f1);border-color:transparent;color:#06101f;box-shadow:var(--glow);}
.pt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.pt-card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:16px;padding:22px;
  display:flex;flex-direction:column;gap:10px;transition:.22s;}
.pt-card:hover{border-color:var(--brand);box-shadow:var(--glow);transform:translateY(-4px);}
.pt-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pt-ico{font-size:24px;}
.pt-kind{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;
  background:rgba(31,109,255,.14);color:#0c44ad;border:1px solid rgba(31,109,255,.28);}
.pt-kind.k-园区{background:rgba(10,157,104,.14);color:#06704a;border-color:rgba(10,157,104,.28);}
.pt-kind.k-合伙人{background:rgba(228,146,10,.16);color:#8a5200;border-color:rgba(228,146,10,.28);}
.pt-card h4{font-size:16.5px;font-weight:800;color:var(--ink);margin:0;line-height:1.45;}
.pt-intro{font-size:13px;color:var(--ink-3);line-height:1.7;margin:0;flex:1;}
.pt-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  border-top:1px dashed var(--line);padding-top:11px;margin-top:2px;}
.pt-city{font-size:12.5px;color:var(--ink-3);}
.pt-contact{font-size:12.5px;color:var(--ink-2);}
.pt-empty{grid-column:1/-1;text-align:center;color:var(--ink-3);font-size:14px;padding:28px 0;}
@media (max-width:900px){.pt-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.pt-grid{grid-template-columns:1fr;}}

/* ===== 未登录顶部引导条 ===== */
.gt-bar{position:fixed;left:0;right:0;top:0;z-index:180;display:flex;align-items:center;
  justify-content:center;gap:12px;flex-wrap:wrap;padding:9px 46px 9px 16px;
  background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.96));
  border-bottom:1px solid rgba(31,109,255,.28);font-size:13.5px;color:#33538c;
  box-shadow:0 6px 20px rgba(23,84,200,.18);}
.gt-bar .gb-t{font-weight:600;}
.gt-bar .gb-t b{color:#0c44ad;}
.gt-bar .gb-a{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;border-radius:999px;
  font-size:12.5px;font-weight:700;text-decoration:none;transition:.2s;}
.gt-bar .gb-a.r{background:linear-gradient(135deg,#38bdf8,#6366f1);color:#06101f;box-shadow:var(--glow);}
.gt-bar .gb-a.r:hover{filter:brightness(1.08);}
.gt-bar .gb-a.w{border:1px solid rgba(31,109,255,.4);color:#0c44ad;background:rgba(31,109,255,.08);}
.gt-bar .gb-a.w:hover{background:rgba(31,109,255,.18);}
.gt-bar .gb-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--ink-3);font-size:16px;cursor:pointer;line-height:1;padding:4px 6px;}
.gt-bar .gb-x:hover{color:var(--ink);}
body.gt-bar-on{padding-top:var(--gtbh,44px);}
body.gt-bar-on .site-header{top:var(--gtbh,44px);}
@media (max-width:600px){
  .gt-bar{font-size:12px;padding:8px 40px 8px 12px;gap:8px;}
  .gt-bar .gb-a{padding:4px 11px;font-size:11.5px;}
}
.c-lockline{margin-top:2px;}

/* ===== 我的 · 消息中心 / 身份 / 推荐 ===== */
.u-nav .badge.hot{background:rgba(248,113,113,.2);color:#8f1414;}
.u-row.unread b{color:var(--brand);}
.u-row .dot,.u-msg .dot{display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#f87171;box-shadow:0 0 0 3px rgba(248,113,113,.18);vertical-align:middle;margin-left:5px;}
.u-todo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(228,146,10,.1);
  border:1px solid rgba(228,146,10,.32);border-radius:12px;padding:13px 18px;margin-bottom:16px;font-size:13.5px;color:#8a5200;}
.u-todo b{color:#8a5a00;}
.u-todo .u-btn{margin-left:auto;}
.u-msg{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-bottom:10px;cursor:pointer;transition:.18s;background:rgba(31,109,255,.04);}
.u-msg:hover{border-color:rgba(31,109,255,.45);background:rgba(31,109,255,.06);}
.u-msg.unread{border-color:rgba(31,109,255,.38);background:rgba(31,109,255,.07);}
.um-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--ink);}
.um-head b{font-weight:700;}
.um-ico{font-size:15px;}
.um-ico.success{filter:drop-shadow(0 0 5px rgba(10,157,104,.6));}
.um-ico.warn{filter:drop-shadow(0 0 5px rgba(228,146,10,.6));}
.um-t{margin-left:auto;font-size:12px;}
.u-msg .um-body{margin:7px 0 0;font-size:13px;color:var(--ink-3);line-height:1.8;}
.u-msg .um-go{display:inline-block;margin-top:7px;font-size:12.5px;color:#0c44ad;font-weight:700;}
.u-next{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.u-next-item{display:flex;align-items:center;gap:11px;background:rgba(31,109,255,.05);border:1px solid var(--line);
  border-radius:12px;padding:14px 15px;text-decoration:none;transition:.2s;}
.u-next-item:hover{border-color:var(--brand);background:rgba(31,109,255,.08);transform:translateY(-2px);}
.u-next-item .ni-ico{font-size:20px;flex:none;}
.u-next-item .ni-b b{display:block;font-size:13.8px;color:var(--ink);font-weight:700;}
.u-next-item .ni-b em{display:block;font-style:normal;font-size:12px;color:var(--ink-3);margin-top:3px;line-height:1.6;}
.u-next-item .ni-go{margin-left:auto;color:#0c44ad;font-weight:800;flex:none;}
.u-types{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;}
.u-type{border:1px solid var(--line);border-radius:10px;padding:10px 6px;text-align:center;cursor:pointer;
  font-size:12.5px;color:var(--ink-2);transition:.18s;background:rgba(31,109,255,.05);}
.u-type:hover{border-color:var(--brand);color:var(--brand);background:rgba(31,109,255,.12);}
.u-type.on{border-color:transparent;background:linear-gradient(135deg,#38bdf8,#6366f1);color:#06101f;font-weight:800;box-shadow:var(--glow);}
@media (max-width:900px){.u-next{grid-template-columns:1fr;}.u-types{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.u-types{grid-template-columns:repeat(2,1fr);}}

/* ===== 注册页：身份选择卡 ===== */
.type-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.type-pick .tp{border:1px solid var(--line);border-radius:11px;padding:11px 12px;cursor:pointer;
  background:rgba(31,109,255,.05);transition:.18s;display:block;}
.type-pick .tp:hover{border-color:var(--brand);}
.type-pick .tp.on{border-color:transparent;background:linear-gradient(135deg,rgba(31,109,255,.2),rgba(99,102,241,.2));
  box-shadow:0 0 0 1px rgba(31,109,255,.5) inset;}
.type-pick .tp input{margin-right:7px;accent-color:#38bdf8;}
.type-pick .tp b{font-size:13.5px;color:var(--ink);}
.type-pick .tp span{display:block;font-size:11.5px;color:var(--ink-3);margin:4px 0 0 0;padding-left:22px;line-height:1.5;}
@media (max-width:600px){.type-pick{grid-template-columns:repeat(2,1fr);}}
a.nav-me{position:relative;}
a.nav-me .nav-dot{position:absolute;top:-6px;right:-6px;min-width:17px;height:17px;padding:0 4px;
  border-radius:999px;background:#f87171;color:#fff;font-size:10.5px;font-weight:800;font-style:normal;
  line-height:17px;text-align:center;box-shadow:0 0 0 2px rgba(255,255,255,.95);}

/* ===== 身份徽章墙 / 头像（多重身份 · 有身份感） ===== */
.u-me{align-items:flex-start;}
.u-me-b{flex:1;min-width:0;}
.u-avatar{position:relative;flex:none;cursor:pointer;}
.u-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;}
.u-avatar .av-def{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:26px;color:#06101f;box-shadow:0 0 0 3px rgba(31,109,255,.25),0 6px 18px rgba(23,84,200,.18);}
.u-avatar.big{width:86px;height:86px;}
.u-avatar.big .av-def{font-size:38px;}
.av-def.t-per{background:linear-gradient(135deg,#1160d6,#38bdf8);}
.av-def.t-team{background:linear-gradient(135deg,#6d4de0,#a78bfa);}
.av-def.t-ent{background:linear-gradient(135deg,#4338ca,#818cf8);}
.av-def.t-sch{background:linear-gradient(135deg,#0a9d68,#34d399);}
.av-def.t-park{background:linear-gradient(135deg,#c47d00,#fbbf24);}
.av-def.t-com{background:linear-gradient(135deg,#0891b2,#22d3ee);}
.av-edit{position:absolute;right:-3px;bottom:-3px;width:27px;height:27px;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,#38bdf8,#6366f1);border:2px solid #f2f7ff;color:#fff;font-size:12px;
  line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:.2s;z-index:2;}
.u-avatar:hover .av-edit{transform:scale(1.12);}
.av-edit-box{display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.av-side b{display:block;font-size:15.5px;color:var(--ink);margin-bottom:6px;}
.av-side p{font-size:12.5px;color:var(--ink-3);line-height:1.8;margin:0 0 11px;max-width:420px;}

/* 徽章墙 */
.u-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.ub{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;border-radius:999px;
  font-size:12px;border:1px solid;transition:.2s;line-height:1.6;}
.ub i{font-style:normal;font-size:14px;}
.ub b{font-weight:800;font-size:12.8px;}
.ub s{text-decoration:none;font-size:11px;opacity:.8;}
.ub em{font-style:normal;font-size:10px;font-weight:800;padding:1px 5px;border-radius:999px;
  background:rgba(255,255,255,.9);color:#06101f;margin-left:2px;}
.ub.t-per{background:linear-gradient(135deg,rgba(31,109,255,.2),rgba(14,165,233,.1));border-color:rgba(31,109,255,.45);color:#0c44ad;}
.ub.t-team{background:linear-gradient(135deg,rgba(124,92,240,.2),rgba(139,92,246,.1));border-color:rgba(124,92,240,.45);color:#5533c4;}
.ub.t-ent{background:linear-gradient(135deg,rgba(88,116,255,.2),rgba(99,102,241,.1));border-color:rgba(88,116,255,.45);color:#4338ca;}
.ub.t-sch{background:linear-gradient(135deg,rgba(10,157,104,.2),rgba(16,185,129,.1));border-color:rgba(10,157,104,.45);color:#06704a;}
.ub.t-park{background:linear-gradient(135deg,rgba(228,146,10,.2),rgba(245,158,11,.1));border-color:rgba(228,146,10,.45);color:#8a5200;}
.ub.t-com{background:linear-gradient(135deg,rgba(0,180,255,.2),rgba(6,182,212,.1));border-color:rgba(0,180,255,.45);color:#0a6a8c;}
.ub.t-part{background:rgba(31,109,255,.08);border-color:var(--line);color:var(--ink-2);}
.ub-add{background:rgba(31,109,255,.05);border-color:var(--line);border-style:dashed;color:var(--ink-3);text-decoration:none;}
.ub-add:hover{border-color:var(--brand);color:#0c44ad;}

/* 身份多选卡（账号资料） */
.u-types{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;}
.u-type{position:relative;border:1px solid var(--line);border-radius:13px;padding:14px 12px;text-align:center;
  cursor:pointer;background:rgba(31,109,255,.05);transition:.2s;user-select:none;}
.u-type b{display:block;font-size:14px;color:var(--ink);font-weight:800;}
.u-type em{display:block;font-style:normal;font-size:11.5px;color:var(--ink-3);margin-top:4px;}
.u-type .main{position:absolute;top:7px;right:7px;font-style:normal;font-size:10px;font-weight:800;
  background:#ffffff;color:#06101f;border-radius:999px;padding:1px 6px;}
.u-type:hover{transform:translateY(-2px);border-color:rgba(31,109,255,.5);}
.u-type.on.t-per{border-color:transparent;background:linear-gradient(135deg,#38bdf8,#0ea5e9);box-shadow:0 8px 22px rgba(31,109,255,.3);}
.u-type.on.t-team{border-color:transparent;background:linear-gradient(135deg,#a78bfa,#8b5cf6);box-shadow:0 8px 22px rgba(124,92,240,.3);}
.u-type.on.t-ent{border-color:transparent;background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 8px 22px rgba(88,116,255,.3);}
.u-type.on.t-sch{border-color:transparent;background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 8px 22px rgba(10,157,104,.3);}
.u-type.on.t-park{border-color:transparent;background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 8px 22px rgba(228,146,10,.3);}
.u-type.on.t-com{border-color:transparent;background:linear-gradient(135deg,#22d3ee,#06b6d4);box-shadow:0 8px 22px rgba(0,180,255,.3);}
.u-type.on b,.u-type.on em{color:#06101f;}
.u-type.on em{opacity:.85;}
@media (max-width:700px){.u-types{grid-template-columns:repeat(2,1fr);}}

/* 注册页：身份多选 */
.tp-count{float:right;font-size:11.5px;font-weight:700;color:#0c44ad;background:rgba(31,109,255,.12);
  border:1px solid rgba(31,109,255,.3);border-radius:999px;padding:1px 9px;}
.tp-hint{font-size:12px;color:var(--ink-3);line-height:1.8;margin:9px 0 0;}
.type-pick.multi .tp input{margin-right:6px;accent-color:#38bdf8;vertical-align:middle;}
.type-pick.multi .tp b{display:inline-block;vertical-align:middle;}
.type-pick.multi .tp span{padding-left:21px;}
.type-pick.multi .tp.on{box-shadow:0 0 0 1px rgba(31,109,255,.6) inset,0 6px 16px rgba(31,109,255,.15);}

/* ==========================================================================
   悬浮气泡层 · Floating Bubble System（亮科技蓝 · 立体/玻璃/发光）
   覆盖：前台卡片 / 按钮 / 面板 / 表单 / 后台卡片 / 用户中心
   ========================================================================== */

/* ---- 0. 全局漂浮气泡装饰（背景层，不挡交互） ---- */
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(120px 120px at 8% 18%, rgba(31,109,255,.10), transparent 70%),
    radial-gradient(90px 90px at 92% 32%, rgba(0,180,255,.10), transparent 70%),
    radial-gradient(150px 150px at 76% 78%, rgba(124,92,240,.08), transparent 70%),
    radial-gradient(110px 110px at 22% 84%, rgba(31,109,255,.08), transparent 70%);
  animation:orbFloat 18s ease-in-out infinite alternate;
}
@keyframes orbFloat{
  0%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(0,-14px,0) scale(1.04);}
  100%{transform:translate3d(0,10px,0) scale(1.02);}
}

/* ---- 1. 气泡基类：玻璃拟态 + 分层阴影 ---- */
.bubble,
.card,.pillar,.project,.case,.step,.circle-card,.pt-card,.u-card,.u-stat,.u-next-item,
.stat-card,.nw-form,.share-box,.keep-box,.form-box,.quiz-box,.adm-card,.adm-panel,
.hero-stats div,.filters button,.cat-chip,.chip,.nw-act,.tf-btn,.hall-nav a,.tag,
.modal-inner,.adm-modal,.u-msg,.u-todo,.circle-item{
  position:relative;
  border-radius:20px;
  background:linear-gradient(155deg, rgba(255,255,255,.99) 0%, rgba(250,253,255,.95) 48%, rgba(224,238,255,.92) 100%);
  border:1px solid rgba(31,109,255,.20);
  box-shadow:
    0 1px 2px rgba(23,84,200,.05),
    0 6px 16px rgba(23,84,200,.09),
    0 18px 40px rgba(23,84,200,.10),
    inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(12px) saturate(1.15);
  -webkit-backdrop-filter:blur(12px) saturate(1.15);
  transition:transform .3s cubic-bezier(.34,1.2,.36,1), box-shadow .3s ease, border-color .3s ease;
  will-change:transform;
}
/* 气泡顶部高光（水珠感） */
.card::before,.pillar::before,.project::before,.case::before,.step::before,
.circle-card::before,.pt-card::before,.u-card::before,.u-stat::before,.adm-card::before{
  content:"";position:absolute;left:14px;right:14px;top:0;height:1px;border-radius:1px;
  background:linear-gradient(90deg,transparent,rgba(31,109,255,.45),transparent);
  opacity:.7;pointer-events:none;
}
.pillar::before{left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#0ea5e9,transparent);opacity:0;}
.pillar:hover::before{opacity:1;}
.project::before{content:none;}

/* ---- 2. 悬浮上浮：核心立体感 ---- */
.card:hover,.pillar:hover,.project:hover,.case:hover,.step:hover,.circle-card:hover,
.pt-card:hover,.u-card:hover,.u-stat:hover,.u-next-item:hover,.stat-card:hover,
.adm-card:hover,.adm-panel:hover,.hero-stats div:hover,.circle-item:hover{
  transform:translateY(-7px) scale(1.012);
  border-color:rgba(31,109,255,.34);
  box-shadow:
    0 2px 4px rgba(23,84,200,.06),
    0 10px 22px rgba(23,84,200,.12),
    0 28px 60px rgba(23,84,200,.18),
    0 0 0 1px rgba(31,109,255,.12),
    0 0 34px rgba(31,109,255,.20),
    inset 0 1px 0 rgba(255,255,255,1);
  z-index:3;
}
.project:hover{transform:translateY(-6px);}

/* ---- 3. 气泡按钮 / 胶囊 ---- */
.btn,.adm-btn,.u-btn,.filters button,.cat-chip,.chip,.nw-act,.tf-btn,.hall-nav a,.tag,.ub{
  border-radius:999px;
}
.filters button,.cat-chip,.chip,.nw-act,.tf-btn,.hall-nav a,.tag{
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(236,244,255,.95) 55%,rgba(217,233,254,.92));
  box-shadow:0 2px 6px rgba(23,84,200,.08),0 8px 20px rgba(23,84,200,.10),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
}
.filters button:hover,.cat-chip:hover,.chip:hover,.nw-act:hover,.tf-btn:hover,.hall-nav a:hover{
  transform:translateY(-3px);
  box-shadow:0 4px 10px rgba(23,84,200,.10),0 14px 30px rgba(23,84,200,.16),0 0 22px rgba(31,109,255,.22),inset 0 1px 0 rgba(255,255,255,1);
}
.tag{border-radius:999px;box-shadow:0 2px 6px rgba(23,84,200,.08),inset 0 1px 0 rgba(255,255,255,.9);}
.btn:hover,.adm-btn:hover,.u-btn:hover{transform:translateY(-2px);}
.btn-primary:hover{box-shadow:0 10px 26px rgba(31,109,255,.38),0 0 26px rgba(31,109,255,.3),inset 0 1px 0 rgba(255,255,255,.3);}

/* ---- 4. 气泡面板：弹窗 / 侧栏 / 表单 ---- */
.modal-inner,.adm-modal{
  border-radius:24px;
  background:linear-gradient(155deg,rgba(255,255,255,1),rgba(250,253,255,.98) 45%,rgba(230,241,255,.96));
  box-shadow:0 24px 70px rgba(23,84,200,.26),0 0 0 1px rgba(31,109,255,.14),inset 0 1px 0 rgba(255,255,255,1);
}
.u-side,.u-me,.u-msg,.u-todo,.u-next,.adm-side,.adm-stat,.adm-tip{
  border-radius:20px;
  background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(248,252,255,.95) 50%,rgba(224,238,255,.92));
  border:1px solid rgba(31,109,255,.24);
  box-shadow:0 6px 18px rgba(23,84,200,.10),0 20px 44px rgba(23,84,200,.12),inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
}

/* ---- 5. 顶栏气泡化 ---- */
.site-header{
  background:linear-gradient(180deg,rgba(252,254,255,.94),rgba(224,238,255,.84));
  box-shadow:0 4px 24px rgba(23,84,200,.12),inset 0 -1px 0 rgba(31,109,255,.14);
}
.site-header.scrolled{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(228,240,255,.92));
  box-shadow:0 8px 34px rgba(23,84,200,.18),inset 0 -1px 0 rgba(31,109,255,.18);
}

/* ---- 6. 深色舞台内的气泡（hero / section-dark / footer）反转 ---- */
.hero .card,.hero .hero-stats div,.section-dark .card,.section-dark .step,
.section-dark .circle-card,.section-dark .pt-card,.site-footer .card{
  background:linear-gradient(158deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  border-color:rgba(255,255,255,.26);
  box-shadow:0 6px 18px rgba(4,26,80,.28),0 20px 46px rgba(4,26,80,.32),inset 0 1px 0 rgba(255,255,255,.35);
}
.hero .card:hover,.section-dark .card:hover,.section-dark .step:hover,.section-dark .circle-card:hover{
  box-shadow:0 10px 24px rgba(4,26,80,.3),0 30px 62px rgba(4,26,80,.36),0 0 30px rgba(140,205,255,.3),inset 0 1px 0 rgba(255,255,255,.5);
}

/* ---- 7. 通用气泡工具类 ---- */
.bubble-lg{border-radius:26px;}
.bubble-glow{box-shadow:0 8px 22px rgba(23,84,200,.12),0 26px 56px rgba(23,84,200,.18),0 0 40px rgba(31,109,255,.22),inset 0 1px 0 rgba(255,255,255,1);}
@media (prefers-reduced-motion:reduce){
  body::after{animation:none;}
  .card:hover,.pillar:hover,.project:hover,.case:hover,.step:hover,.circle-card:hover{transform:none;}
}
@media (max-width:768px){
  .card:hover,.pillar:hover,.project:hover,.case:hover,.step:hover,.circle-card:hover,
  .pt-card:hover,.u-card:hover,.u-stat:hover,.adm-card:hover{transform:translateY(-3px);}
}

/* ---- 8. 其余卡片类型补齐气泡（无死角覆盖） ---- */
.booth-card,.task-card,.news-card,.panel,.space-card,.join-way,.material,.faq-item,
.mat-card,.step-card,.type-pick,.u-badge,.av-wrap,.gt-card,.pt-item,.dir-card,.cm-card{
  border-radius:20px;
  background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(250,253,255,.95) 48%,rgba(224,238,255,.92));
  border:1px solid rgba(31,109,255,.20);
  box-shadow:0 1px 2px rgba(23,84,200,.05),0 6px 16px rgba(23,84,200,.09),
             0 18px 40px rgba(23,84,200,.10),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(12px) saturate(1.15);
  transition:transform .3s cubic-bezier(.34,1.2,.36,1),box-shadow .3s ease,border-color .3s ease;
}
.booth-card:hover,.task-card:hover,.news-card:hover,.panel:hover,.space-card:hover,
.join-way:hover,.material:hover,.faq-item:hover,.mat-card:hover,.dir-card:hover,.cm-card:hover{
  transform:translateY(-7px);
  border-color:rgba(31,109,255,.4);
  box-shadow:0 2px 4px rgba(23,84,200,.06),0 10px 22px rgba(23,84,200,.12),
             0 28px 60px rgba(23,84,200,.18),0 0 34px rgba(31,109,255,.2),
             inset 0 1px 0 rgba(255,255,255,1);
  z-index:3;
}
/* 目录/方向卡片图标气泡 */
.dir-ico,.cat-ico,.card .icon,.project .p-icon,.step .lv-badge{
  box-shadow:0 4px 12px rgba(31,109,255,.18),inset 0 1px 0 rgba(255,255,255,.9);
}

/* ==========================================================================
   9. 深色舞台统一层（hero / section-dark / footer 内的框框）
   规则：深蓝底上的所有卡片、表单、面板 = 深蓝玻璃 + 白字；
        浅色页面区域不受影响（仍为近白蓝晶 + 深字）
   ========================================================================== */
.hero :is(.card,.pillar,.project,.case,.step,.circle-card,.pt-card,.panel,.form-box,.quiz-box,
.keep-box,.share-box,.nw-form,.booth-card,.task-card,.news-card,.space-card,.join-way,
.dir-card,.cm-card,.u-card,.stat-card,.bubble,.material,.faq-item,.mat-card,.gt-card,.pt-item),
.section-dark :is(.card,.pillar,.project,.case,.step,.circle-card,.pt-card,.panel,.form-box,.quiz-box,
.keep-box,.share-box,.nw-form,.booth-card,.task-card,.news-card,.space-card,.join-way,
.dir-card,.cm-card,.u-card,.stat-card,.bubble,.material,.faq-item,.mat-card,.gt-card,.pt-item),
.site-footer :is(.card,.pillar,.project,.case,.step,.circle-card,.pt-card,.panel,.form-box,.quiz-box,
.keep-box,.share-box,.nw-form,.booth-card,.task-card,.news-card,.space-card,.join-way,
.dir-card,.cm-card,.u-card,.stat-card,.bubble,.material,.faq-item,.mat-card,.gt-card,.pt-item){
  background:linear-gradient(155deg,rgba(23,60,146,.44),rgba(7,28,84,.52));
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 10px 26px rgba(3,16,52,.35),0 26px 56px rgba(3,16,52,.42),
             inset 0 1px 0 rgba(255,255,255,.3);
  color:#fff;
  backdrop-filter:blur(14px) saturate(1.2);
}
.hero :is(.card,.pillar,.project,.case,.step,.circle-card,.form-box,.panel) :is(h2,h3,h4,h5,b,strong,th),
.section-dark :is(.card,.pillar,.project,.case,.step,.circle-card,.form-box,.panel,.join-way) :is(h2,h3,h4,h5,b,strong,th){
  color:#fff;
}
/* 深色舞台内：输入控件 = 半透明白玻璃 + 白字 */
.hero :is(input,select,textarea),
.section-dark :is(input,select,textarea),
.site-footer :is(input,select,textarea){
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.34);
  color:#fff;
}
.hero :is(input,select,textarea)::placeholder,
.section-dark :is(input,select,textarea)::placeholder,
.site-footer :is(input,select,textarea)::placeholder{color:rgba(226,241,255,.68);}
.hero :is(input,select,textarea):focus,
.section-dark :is(input,select,textarea):focus,
.site-footer :is(input,select,textarea):focus{
  outline:none;border-color:rgba(255,255,255,.62);
  box-shadow:0 0 0 3px rgba(255,255,255,.16);
}
/* 深色舞台上的下拉：控件本体是白玻璃 + 白字，弹出列表仍保持白底深字（唯一可靠的可读组合） */
.hero select option,.section-dark select option,.site-footer select option,
.hero select optgroup,.section-dark select optgroup,.site-footer select optgroup{
  background:#ffffff;color:#07203e;}
.hero select option:checked,.section-dark select option:checked,.site-footer select option:checked{
  background:#e6f0ff;color:#07203e;}
.hero label,.section-dark label,.site-footer label{color:rgba(230,243,255,.94);}
/* 深色舞台内：价格/链接/键值等深蓝字 → 亮蓝白 */
.hero :is(.price,.link-more,.step .price,.kv span,.nw-act b,.quiz-back,.u-type,.m-sub),
.section-dark :is(.price,.link-more,.step .price,.kv span,.nw-act b,.quiz-back,.u-type,.m-sub){color:#cfe4ff;}
.hero .kv div,.section-dark .kv div{
  background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);
}
.hero .kv b,.section-dark .kv b{color:rgba(226,241,255,.8);}
.hero :is(.pillars,.pillar ul,.pillar li),.section-dark :is(.pillar ul,.pillar li){color:rgba(226,240,255,.88);}
.hero .rank-tag,.section-dark .rank-tag{color:#06214d;}
/* 深色舞台内：胶囊/标签按钮改为白玻璃描边款 */
.hero .filters button,.section-dark .filters button,
.hero .cat-chip,.section-dark .cat-chip,.hero .chip,.section-dark .chip,
.hero .hall-nav a,.section-dark .hall-nav a,.hero .tf-btn,.section-dark .tf-btn{
  background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;
  box-shadow:0 4px 14px rgba(3,16,52,.3),inset 0 1px 0 rgba(255,255,255,.25);
}
.hero .filters button.active,.section-dark .filters button.active{
  background:linear-gradient(135deg,#4f9dff,#2f7bff);color:#fff;
}

/* 深色舞台补漏：测评示例卡 */
.hero .quiz-card,.section-dark .quiz-card,.site-footer .quiz-card{
  background:linear-gradient(155deg,rgba(23,60,146,.44),rgba(7,28,84,.52));
  border-color:rgba(255,255,255,.28);
  box-shadow:0 10px 26px rgba(3,16,52,.35),0 26px 56px rgba(3,16,52,.42),inset 0 1px 0 rgba(255,255,255,.3);
  color:#fff;
}
.hero .quiz-card :is(h2,h3,h4,b,strong),.section-dark .quiz-card :is(h2,h3,h4,b,strong){color:#fff;}
.hero .quiz-card .res-card,.section-dark .quiz-card .res-card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.26);}
.hero .quiz-card .res-body p,.section-dark .quiz-card .res-body p{color:rgba(226,241,255,.85);}
.hero .quiz-card>div,.section-dark .quiz-card>div{color:rgba(200,228,255,.9);}

/* ==========================================================================
   10. 内联浅色自适应：浅色区域→自动加深；深色舞台（hero/section-dark/footer）→自动提亮
   ========================================================================== */
[style*="color:#7f93b3"],[style*="color: #7f93b3"]{color:#3d63a0 !important;}
[style*="color:#22d3ee"],[style*="color: #22d3ee"]{color:#07556e !important;}
[style*="color:#9fb3d4"],[style*="color: #9fb3d4"]{color:#33538c !important;}
[style*="color:#cbd5e1"],[style*="color: #cbd5e1"]{color:#55637a !important;}
[style*="color:#fcd34d"],[style*="color: #fcd34d"]{color:#8f4207 !important;}
[style*="color:#fbbf24"],[style*="color: #fbbf24"]{color:#8f4207 !important;}
[style*="color:#8ea6c8"],[style*="color: #8ea6c8"]{color:#2c4a80 !important;}
[style*="color:#fdba74"],[style*="color: #fdba74"]{color:#8f4207 !important;}
[style*="color:#b9c8e8"],[style*="color: #b9c8e8"]{color:#2c4a80 !important;}
[style*="color:#94a3b8"],[style*="color: #94a3b8"]{color:#4a5a72 !important;}
[style*="color:#e8d9b8"],[style*="color: #e8d9b8"]{color:#75560a !important;}
[style*="color:#a78bfa"],[style*="color: #a78bfa"]{color:#5b34bf !important;}
[style*="color:#fda4af"],[style*="color: #fda4af"]{color:#8f1414 !important;}
[style*="color:#ea580c"],[style*="color: #ea580c"]{color:#8f4207 !important;}
[style*="color:#cbd8ee"],[style*="color: #cbd8ee"]{color:#33538c !important;}
[style*="color:#a5f3fc"],[style*="color: #a5f3fc"]{color:#075a7e !important;}
[style*="color:#6ee7b7"],[style*="color: #6ee7b7"]{color:#07754e !important;}
[style*="color:#c9d7ee"],[style*="color: #c9d7ee"]{color:#33538c !important;}
[style*="color:#eaf2ff"],[style*="color: #eaf2ff"]{color:#0b2545 !important;}
[style*="color:#7dd3fc"],[style*="color: #7dd3fc"]{color:#0c44ad !important;}
.hero [style*="color:#7f93b3"],.hero [style*="color: #7f93b3"],
.section-dark [style*="color:#7f93b3"],.section-dark [style*="color: #7f93b3"],
.site-footer [style*="color:#7f93b3"],.site-footer [style*="color: #7f93b3"],
.gt-bar [style*="color:#7f93b3"],.gt-bar [style*="color: #7f93b3"]{color:#cfe0f5 !important;}
.hero [style*="color:#22d3ee"],.hero [style*="color: #22d3ee"],
.section-dark [style*="color:#22d3ee"],.section-dark [style*="color: #22d3ee"],
.site-footer [style*="color:#22d3ee"],.site-footer [style*="color: #22d3ee"],
.gt-bar [style*="color:#22d3ee"],.gt-bar [style*="color: #22d3ee"]{color:#7fe9f8 !important;}
.hero [style*="color:#9fb3d4"],.hero [style*="color: #9fb3d4"],
.section-dark [style*="color:#9fb3d4"],.section-dark [style*="color: #9fb3d4"],
.site-footer [style*="color:#9fb3d4"],.site-footer [style*="color: #9fb3d4"],
.gt-bar [style*="color:#9fb3d4"],.gt-bar [style*="color: #9fb3d4"]{color:#d3e3f8 !important;}
.hero [style*="color:#cbd5e1"],.hero [style*="color: #cbd5e1"],
.section-dark [style*="color:#cbd5e1"],.section-dark [style*="color: #cbd5e1"],
.site-footer [style*="color:#cbd5e1"],.site-footer [style*="color: #cbd5e1"],
.gt-bar [style*="color:#cbd5e1"],.gt-bar [style*="color: #cbd5e1"]{color:#e2e9f2 !important;}
.hero [style*="color:#fcd34d"],.hero [style*="color: #fcd34d"],
.section-dark [style*="color:#fcd34d"],.section-dark [style*="color: #fcd34d"],
.site-footer [style*="color:#fcd34d"],.site-footer [style*="color: #fcd34d"],
.gt-bar [style*="color:#fcd34d"],.gt-bar [style*="color: #fcd34d"]{color:#ffe08a !important;}
.hero [style*="color:#fbbf24"],.hero [style*="color: #fbbf24"],
.section-dark [style*="color:#fbbf24"],.section-dark [style*="color: #fbbf24"],
.site-footer [style*="color:#fbbf24"],.site-footer [style*="color: #fbbf24"],
.gt-bar [style*="color:#fbbf24"],.gt-bar [style*="color: #fbbf24"]{color:#ffd84d !important;}
.hero [style*="color:#8ea6c8"],.hero [style*="color: #8ea6c8"],
.section-dark [style*="color:#8ea6c8"],.section-dark [style*="color: #8ea6c8"],
.site-footer [style*="color:#8ea6c8"],.site-footer [style*="color: #8ea6c8"],
.gt-bar [style*="color:#8ea6c8"],.gt-bar [style*="color: #8ea6c8"]{color:#ccdef5 !important;}
.hero [style*="color:#fdba74"],.hero [style*="color: #fdba74"],
.section-dark [style*="color:#fdba74"],.section-dark [style*="color: #fdba74"],
.site-footer [style*="color:#fdba74"],.site-footer [style*="color: #fdba74"],
.gt-bar [style*="color:#fdba74"],.gt-bar [style*="color: #fdba74"]{color:#ffd2a0 !important;}
.hero [style*="color:#b9c8e8"],.hero [style*="color: #b9c8e8"],
.section-dark [style*="color:#b9c8e8"],.section-dark [style*="color: #b9c8e8"],
.site-footer [style*="color:#b9c8e8"],.site-footer [style*="color: #b9c8e8"],
.gt-bar [style*="color:#b9c8e8"],.gt-bar [style*="color: #b9c8e8"]{color:#d6e7fb !important;}
.hero [style*="color:#94a3b8"],.hero [style*="color: #94a3b8"],
.section-dark [style*="color:#94a3b8"],.section-dark [style*="color: #94a3b8"],
.site-footer [style*="color:#94a3b8"],.site-footer [style*="color: #94a3b8"],
.gt-bar [style*="color:#94a3b8"],.gt-bar [style*="color: #94a3b8"]{color:#dde7f2 !important;}
.hero [style*="color:#e8d9b8"],.hero [style*="color: #e8d9b8"],
.section-dark [style*="color:#e8d9b8"],.section-dark [style*="color: #e8d9b8"],
.site-footer [style*="color:#e8d9b8"],.site-footer [style*="color: #e8d9b8"],
.gt-bar [style*="color:#e8d9b8"],.gt-bar [style*="color: #e8d9b8"]{color:#f4e6c6 !important;}
.hero [style*="color:#a78bfa"],.hero [style*="color: #a78bfa"],
.section-dark [style*="color:#a78bfa"],.section-dark [style*="color: #a78bfa"],
.site-footer [style*="color:#a78bfa"],.site-footer [style*="color: #a78bfa"],
.gt-bar [style*="color:#a78bfa"],.gt-bar [style*="color: #a78bfa"]{color:#cdb8fd !important;}
.hero [style*="color:#fda4af"],.hero [style*="color: #fda4af"],
.section-dark [style*="color:#fda4af"],.section-dark [style*="color: #fda4af"],
.site-footer [style*="color:#fda4af"],.site-footer [style*="color: #fda4af"],
.gt-bar [style*="color:#fda4af"],.gt-bar [style*="color: #fda4af"]{color:#ffc2ca !important;}
.hero [style*="color:#ea580c"],.hero [style*="color: #ea580c"],
.section-dark [style*="color:#ea580c"],.section-dark [style*="color: #ea580c"],
.site-footer [style*="color:#ea580c"],.site-footer [style*="color: #ea580c"],
.gt-bar [style*="color:#ea580c"],.gt-bar [style*="color: #ea580c"]{color:#ffa877 !important;}
.hero [style*="color:#cbd8ee"],.hero [style*="color: #cbd8ee"],
.section-dark [style*="color:#cbd8ee"],.section-dark [style*="color: #cbd8ee"],
.site-footer [style*="color:#cbd8ee"],.site-footer [style*="color: #cbd8ee"],
.gt-bar [style*="color:#cbd8ee"],.gt-bar [style*="color: #cbd8ee"]{color:#dbe8fb !important;}
.hero [style*="color:#a5f3fc"],.hero [style*="color: #a5f3fc"],
.section-dark [style*="color:#a5f3fc"],.section-dark [style*="color: #a5f3fc"],
.site-footer [style*="color:#a5f3fc"],.site-footer [style*="color: #a5f3fc"],
.gt-bar [style*="color:#a5f3fc"],.gt-bar [style*="color: #a5f3fc"]{color:#b8f2fd !important;}
.hero [style*="color:#6ee7b7"],.hero [style*="color: #6ee7b7"],
.section-dark [style*="color:#6ee7b7"],.section-dark [style*="color: #6ee7b7"],
.site-footer [style*="color:#6ee7b7"],.site-footer [style*="color: #6ee7b7"],
.gt-bar [style*="color:#6ee7b7"],.gt-bar [style*="color: #6ee7b7"]{color:#a5f3d0 !important;}
.hero [style*="color:#c9d7ee"],.hero [style*="color: #c9d7ee"],
.section-dark [style*="color:#c9d7ee"],.section-dark [style*="color: #c9d7ee"],
.site-footer [style*="color:#c9d7ee"],.site-footer [style*="color: #c9d7ee"],
.gt-bar [style*="color:#c9d7ee"],.gt-bar [style*="color: #c9d7ee"]{color:#dbe8fb !important;}
.hero [style*="color:#eaf2ff"],.hero [style*="color: #eaf2ff"],
.section-dark [style*="color:#eaf2ff"],.section-dark [style*="color: #eaf2ff"],
.site-footer [style*="color:#eaf2ff"],.site-footer [style*="color: #eaf2ff"],
.gt-bar [style*="color:#eaf2ff"],.gt-bar [style*="color: #eaf2ff"]{color:#eaf2ff !important;}
.hero [style*="color:#7dd3fc"],.hero [style*="color: #7dd3fc"],
.section-dark [style*="color:#7dd3fc"],.section-dark [style*="color: #7dd3fc"],
.site-footer [style*="color:#7dd3fc"],.site-footer [style*="color: #7dd3fc"],
.gt-bar [style*="color:#7dd3fc"],.gt-bar [style*="color: #7dd3fc"]{color:#b7e6ff !important;}

/* ---- 11. 对比度补丁（round 2） ---- */
.hero-stats small{color:#ffffff;font-weight:600;}
.hero .rank-tag,.section-dark .rank-tag{color:#ffffff;}
.hero :is(.eyebrow,.toolkit .eyebrow),.section-dark :is(.eyebrow,.toolkit .eyebrow){
  background:linear-gradient(92deg,#8fe6ff,#d8c7ff) !important;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.site-footer .footer-bottom,.site-footer .footer-bottom span,.site-footer .footer-bottom b{color:rgba(214,232,255,.92);}
.nb-meta .tag{color:#e6f4ff !important;background:rgba(6,26,74,.5) !important;border-color:rgba(255,255,255,.34) !important;}
.nb-meta time{color:rgba(214,232,255,.9) !important;}
/* toolkit 区块：中蓝玻璃上的深字 */
.toolkit :is(p,li,h2,h3){color:#0d2c5c;}
.toolkit .eyebrow{background:linear-gradient(92deg,#0b52c9,#3f31c9) !important;-webkit-background-clip:text;background-clip:text;}
.toolkit ul li::before{color:#0b52c9;}

/* ---- 12. 对比度补丁（round 3） ---- */
/* 深色舞台：内联使用 CSS 变量的文字自动转为亮白 */
.hero [style*="color:var(--ink"],.hero [style*="color: var(--ink"],
.section-dark [style*="color:var(--ink"],.section-dark [style*="color: var(--ink"],
.site-footer [style*="color:var(--ink"],.site-footer [style*="color: var(--ink"],
.hero [style*="color:var(--adm"],.section-dark [style*="color:var(--adm"]{
  color:rgba(234,244,255,.95) !important;
}
.hero [style*="color:var(--brand"],.section-dark [style*="color:var(--brand"],
.hero [style*="color:var(--ink-3"],.section-dark [style*="color:var(--ink-3"]{
  color:#cfe4ff !important;
}
/* 深色舞台内的幽灵/描边按钮：改为白玻璃 + 白字 */
.hero :is(.btn-ghost,.btn-outline-white,.btn-accent),
.section-dark :is(.btn-ghost,.btn-outline-white,.btn-accent){
  background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.42);color:#ffffff;
  box-shadow:0 6px 18px rgba(3,16,52,.32),inset 0 1px 0 rgba(255,255,255,.3);
}
.hero :is(.btn-ghost,.btn-outline-white):hover,.section-dark :is(.btn-ghost,.btn-outline-white):hover{
  background:rgba(255,255,255,.24);border-color:#fff;color:#fff;
}
/* 页脚 LOGO（深蓝底上提亮；渐变文字在部分渲染路径会退化成白块，改纯白最稳） */
.site-footer .logo-text{
  background:none !important;
  -webkit-background-clip:border-box !important;background-clip:border-box !important;
  color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 10px rgba(3,16,52,.35);
}
.site-footer .logo-text em{color:rgba(214,232,255,.85) !important;-webkit-text-fill-color:rgba(214,232,255,.85) !important;}
/* 提示框（浅红/橙底）上的文字加深 */
.notice-box h3{color:#a01212;}
.notice-box :is(p,li,b,span){color:#5a2410;}
.notice-box p b{color:#8f2b12 !important;}
/* 合伙人/绿色系内联亮色 → 深色 */
[style*="color:#34d399"],[style*="color: #34d399"]{color:#06704a !important;}
[style*="color:#6b819f"],[style*="color: #6b819f"]{color:#2f4b73 !important;}
/* hero 内的按钮玻璃加深，白字对比更足 */
.hero :is(.btn-ghost,.btn-outline-white,.btn-accent){background:rgba(6,26,74,.62);border-color:rgba(255,255,255,.5);}
.hero :is(.btn-ghost,.btn-outline-white,.btn-accent):hover{background:rgba(6,26,74,.78);border-color:#fff;}
.hero-stats div{border-color:rgba(255,255,255,.34);}

/* ---- 13. 对比度补丁（round 5 · 收尾） ---- */
/* 眉标统一深靛渐变（含内联版本），深色舞台除外 */
[class*="eyebrow"]:not(.sec-eyebrow){
  background:linear-gradient(92deg,#0b52c9,#4a2fd0) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
}
/* 地图图例：加白玻璃底，深字清晰 */
.omap-legend{
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(226,238,255,.9));
  border:1px solid rgba(31,109,255,.24);border-radius:16px;padding:10px 14px;
  box-shadow:0 8px 22px rgba(23,84,200,.16),inset 0 1px 0 rgba(255,255,255,.9);
}
.omap-legend span,.omap-legend em{color:#1c3d70 !important;}
/* 导航栏未读红点：加深底色，白字清晰 */
a.nav-me .nav-dot{background:#b3161f !important;box-shadow:0 2px 6px rgba(179,22,31,.45);}
.av-edit{background:linear-gradient(135deg,#0d5fe0,#3a35d6) !important;}
.u-credit b{color:#06747a;}
.u-todo b{color:#8a5a00;}
.u-row.unread b{color:#0c44ad;}
.c-dir{color:#0c44ad;}
.sc-type{color:#4338ca;}
.disclaimer :is(h3,p,b,strong){color:#6f4207;}
/* 收尾微调 */
.circle-card .c-dir,.c-join .c-dir,.c-dir{color:#0c44ad !important;}
.u-credit b{color:#06747a !important;}
.hero p,.hero-sm p,.hero .lead{color:rgba(234,244,255,.96) !important;}
.omap-wrap svg text{fill:#08203c;}

/* ================= 第 14 节 · 18 方向版对比度收尾 ================= */
/* 1) 深色舞台内的「新」标签：一律白字玻璃底，不再沿用浅色区的深蓝字 */
.hero .tag.new,.hero-sm .tag.new,.section-dark .tag.new,.site-footer .tag.new,
.hero-badge .tag.new{
  background:rgba(8,30,86,.42) !important;
  border-color:rgba(255,255,255,.5) !important;
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(3,16,52,.45);
}
/* 2) 浅色区「新」标签加深，保证 4.5:1 以上 */
.tag.new{color:#0a5474 !important;}

/* 3) 方向详情页面包屑：深色 hero 上提亮 */
.crumb{color:#dcebff !important;}
.crumb a{color:#dcebff !important;}
.crumb a:hover{color:#ffffff !important;}
.crumb span{opacity:.72 !important;color:#dcebff !important;}
.crumb em{font-style:normal;color:#ffffff !important;font-weight:700;}

/* 4) hero 数据条：背景再压深一档，让小字白字达标 */
.hero-stats div,.hero-sm .hero-stats div{
  background:linear-gradient(155deg,rgba(6,22,66,.86),rgba(3,12,42,.93)) !important;
}
.hero-stats div small,.hero-sm .hero-stats div small{color:#ffffff !important;}

/* 5) 首页测评示例：环状百分比在深底上改白字 */
.quiz-card .ring span{color:#ffffff !important;text-shadow:0 1px 3px rgba(3,16,52,.45);}
.quiz-card .res-card,.quiz-card .ring{border-color:rgba(255,255,255,.3) !important;}

/* 6) 项目推介 hero 副文案提亮到纯白 */
.hero.hero-sm p,.hero.hero-sm .lead{color:#ffffff !important;}

/* 7) 地图 SVG 注记加深，浅灰底上也清晰 */
.omap-wrap svg text{fill:#041539 !important;}

/* ============================================================
   课程中心（courses.html / academy.html 课程目录区块）
   卡片展示第三方平台课程目录，点击跳转平台课程页
   ============================================================ */
.cr-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.cr-bar .filters{margin-bottom:0;}
.cr-search{display:flex;align-items:center;gap:10px;flex:1;min-width:240px;max-width:420px;justify-self:flex-end;}
.cr-search input{
  flex:1;min-width:0;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:999px;
  padding:9px 18px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;transition:.2s;
}
.cr-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,109,255,.12);}
.cr-search input::placeholder{color:var(--ink-3);opacity:.7;}
.cr-count{font-size:13px;color:var(--ink-3);white-space:nowrap;}

.cr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cr-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;transition:.28s;
}
.cr-card:hover{border-color:var(--line-strong);box-shadow:var(--glow),var(--shadow);transform:translateY(-4px);}
.cr-cover-wrap{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#dbeafe,#ede9fe);}
.cr-cover{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.cr-card:hover .cr-cover{transform:scale(1.05);}
.cr-cover-empty{display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--ink-3);opacity:.5;}
.cr-price{
  position:absolute;right:10px;bottom:10px;background:linear-gradient(135deg,rgba(219,39,119,.95),rgba(190,24,93,.95));
  color:#fff;font-size:14px;font-weight:800;padding:5px 13px;border-radius:999px;box-shadow:0 4px 14px rgba(190,24,93,.4);
}
.cr-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;}
.cr-tag{
  display:inline-block;font-size:11.5px;padding:2px 10px;border-radius:999px;
  background:rgba(31,109,255,.09);color:var(--ink-2);margin:0 6px 8px 0;line-height:1.8;
}
.cr-tag-alt{background:rgba(245,158,11,.14);color:#8a5200;}
.cr-tag-vip{background:rgba(16,185,129,.14);color:#0a6b4c;}
.cr-title{font-size:16px;line-height:1.55;margin-bottom:8px;font-weight:700;}
.cr-title a{color:var(--ink);transition:.2s;}
.cr-title a:hover{color:var(--brand);}
.cr-intro{
  font-size:13.2px;color:var(--ink-3);line-height:1.72;margin-bottom:14px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.5em;
}
.cr-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.cr-updated{font-size:12px;color:var(--ink-3);opacity:.85;}
.cr-note{
  margin-top:28px;background:rgba(251,191,36,.10);border:1px solid rgba(251,191,36,.30);
  border-radius:14px;padding:16px 20px;font-size:13.4px;color:var(--ink-2);line-height:1.8;
}
.cr-note b{color:#8a5200;}

/* 响应式：平板两列，手机单列 */
@media (max-width:1024px){
  .cr-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .cr-grid{grid-template-columns:1fr;}
  .cr-bar{flex-direction:column;align-items:stretch;}
  .cr-search{max-width:none;justify-self:stretch;}
}
