:root {
  --sic-ink: #08080c;
  --sic-surface: #121219;
  --sic-surface-raised: #191921;
  --sic-line: rgba(255, 255, 255, 0.11);
  --sic-copy: #f3f1f6;
  --sic-muted: #aaa6b3;
  --sic-magenta: #f14bbd;
  --sic-violet: #8c6cff;
}

body,
.tec-site,
.opc-page-wrap,
.home-tec,
.tec-site--inner main,
.tec-site--inner .page-hero,
.tec-site--inner main > *,
.tec-site--inner main section {
  background: var(--sic-ink) !important;
}

.tec-header,
.tec-header.is-scrolled,
.tec-header:not(.tec-header--hero),
.tec-header.tec-header--hero:not(.is-scrolled) {
  background: rgba(8, 8, 12, 0.76) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

.brand-logo__mark,
.opc-hero__logo-mark,
.sic-launch-screen img {
  background: transparent !important;
  mix-blend-mode: screen;
  object-fit: contain !important;
  box-shadow: none !important;
}

.brand-logo__mark { width: 34px !important; height: 34px !important; }
.brand-logo__name { font-size: 14px !important; letter-spacing: .08em !important; }
.brand-logo__tagline { color: #918c9c !important; letter-spacing: .12em !important; }

.tec-nav__link {
  border-radius: 4px !important;
  color: #bebac6 !important;
}

.tec-nav__link:hover,
.tec-nav__link.is-active,
.tec-header.tec-header--hero:not(.is-scrolled) .tec-nav__link:hover,
.tec-header.tec-header--hero:not(.is-scrolled) .tec-nav__link.is-active {
  color: #fff !important;
  background: rgba(241, 75, 189, 0.13) !important;
}

.hero-particle-wave { display: none !important; }

.sic-wave-field {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .95;
}

.opc-hero {
  min-height: 740px !important;
  isolation: isolate;
  background: #08080c !important;
  overflow: hidden;
}

.opc-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(to bottom, black, rgba(0,0,0,.5) 70%, transparent);
  mask-image: linear-gradient(to bottom, black, rgba(0,0,0,.5) 70%, transparent);
}

.opc-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 50% 44% at 50% 42%, rgba(140, 108, 255, .12), transparent 68%);
}

.sic-particle-field {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.sic-particle-field i {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  background: var(--sic-magenta);
  box-shadow: 0 0 10px currentColor;
  color: var(--sic-magenta);
  opacity: .25;
  animation: sic-particle-drift var(--duration) ease-in-out var(--delay) infinite alternate;
}

.sic-particle-field i:nth-child(3n) { background: var(--sic-violet); color: var(--sic-violet); }
.sic-particle-field i:nth-child(5n) { background: #f7f3ff; color: #f7f3ff; width: 2px; height: 2px; }

.opc-hero__shell { position: relative !important; z-index: 3 !important; }
.opc-hero__content { max-width: 720px !important; margin-inline: auto; text-align: center; }
.opc-hero__content:before { display: none !important; }
.opc-hero__content--reveal,
.opc-hero__brand--glitch,
.opc-hero__tagline--shine,
.opc-hero__pill-row--reveal,
.opc-hero__actions--reveal {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}
.opc-hero__logo-mark { width: 118px !important; height: 118px !important; margin: 0 auto 26px !important; }
.opc-hero__brand { font-size: clamp(42px, 6vw, 72px) !important; line-height: 1.03 !important; color: var(--sic-copy) !important; background: none !important; -webkit-text-fill-color: initial !important; }
.opc-hero__tagline { color: #d8d3df !important; font-size: 20px !important; letter-spacing: .09em !important; }
.opc-hero__subtitle { color: var(--sic-muted) !important; max-width: 620px; margin-inline: auto; }
.opc-hero__pill { color: #d8d3df !important; background: rgba(255,255,255,.035) !important; border-color: rgba(255,255,255,.13) !important; }
.opc-hero__features { display: none !important; }
.opc-hero__actions { justify-content: center; margin-top: 34px !important; }

.tec-btn { border-radius: 5px !important; min-height: 46px; font-weight: 700 !important; letter-spacing: .02em; }
.tec-btn--primary,
.tec-header .tec-btn--primary {
  color: #fff !important;
  background: linear-gradient(145deg, #30213e, #17141f) !important;
  border: 1px solid rgba(185, 134, 255, .58) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.12), 0 9px 20px rgba(77, 42, 119, .28) !important;
}
.tec-btn--outline { color: #eeeaf4 !important; background: linear-gradient(145deg, #191720, #101015) !important; border: 1px solid rgba(185, 134, 255, .32) !important; box-shadow: inset 0 1px rgba(255,255,255,.06) !important; }
.tec-btn:hover { transform: translateY(-2px) !important; box-shadow: inset 0 1px rgba(255,255,255,.16), 0 12px 26px rgba(241,75,189,.22) !important; }

.tec-section,
.tec-yinyang-section,
.tec-stats-banner,
.workshop-tracks-v2,
.workshop-highlights,
.comm-services,
.comm-map,
.comm-activities,
.community-showcase,
.policy-news,
.tec-footer {
  background: var(--sic-ink) !important;
}

.tec-section__title,
.tec-yinyang-section__title,
.tec-stats-banner__title,
.page-hero-title,
.comm-section-title,
.workshop-section-title {
  color: var(--sic-copy) !important;
  letter-spacing: 0 !important;
}

.tec-section__desc,
.tec-yinyang-section__desc,
.page-hero-desc,
.comm-section-desc,
.workshop-section-desc { color: var(--sic-muted) !important; }

.tec-agent-card,
.tec-community-showcase__card,
.cs-mini-card,
.policy-news__card,
.tec-quick-card,
.workshop-track-card,
.workshop-highlight-card,
.comm-service-card,
.comm-activity-card,
.comm-map__legend-item,
.tec-stat,
.workshop-hero__stat,
.platform-hero-band,
.water-showcase,
.apple-app-tile,
.tec-site--inner main [class*="card"],
.tec-site--inner main [class*="panel"],
.tec-site--inner main [class*="tile"],
.tec-site--inner main [class*="stat"] {
  background: var(--sic-surface) !important;
  color: var(--sic-copy) !important;
  border: 1px solid var(--sic-line) !important;
  box-shadow: none !important;
}

.water-showcase__pool,
.apple-pool-ambient,
.apple-pool-ambient__spot,
.platform-hero-band,
.platform-hub,
.tec-site--inner main [class*="map"] {
  background: var(--sic-surface) !important;
  border-color: var(--sic-line) !important;
  box-shadow: none !important;
}

/* 首页能力分区采用同一组外轮廓，避免相邻模块出现直角断层。 */
.home-tec .platform-hero-band,
.home-tec .water-showcase {
  border-radius: 28px !important;
  overflow: hidden;
}

.home-tec .water-showcase__pool {
  border-radius: inherit !important;
}

.tec-site--inner main [class*="map"]::before,
.tec-site--inner main [class*="map"]::after {
  background: none !important;
}

.tec-agent-card:hover,
.tec-community-showcase__card:hover,
.cs-mini-card:hover,
.policy-news__card:hover,
.tec-quick-card:hover,
.workshop-track-card:hover,
.workshop-highlight-card:hover,
.comm-service-card:hover,
.comm-activity-card:hover {
  border-color: rgba(241, 75, 189, .52) !important;
  background: var(--sic-surface-raised) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.32) !important;
}

.tec-stat__value,
.workshop-hero__stat-value,
.comm-stat__value { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.tec-stat__label,
.workshop-hero__stat-label,
.comm-stat__label { color: var(--sic-muted) !important; }

.tec-community-showcase__tabs,
.comm-map__tabs { background: transparent !important; }
.tec-community-showcase__tab,
.comm-map__tab { background: var(--sic-surface) !important; border-color: var(--sic-line) !important; color: #c8c3d0 !important; }
.tec-community-showcase__tab.is-active,
.comm-map__tab.is-active { border-color: var(--sic-magenta) !important; color: #fff !important; }

.cs-map,
.tec-community-showcase__stage {
  background-color: #101016 !important;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
  background-size: 38px 38px !important;
  border-color: var(--sic-line) !important;
}

.tec-community-showcase,
.tec-community-showcase__inner,
.tec-community-showcase__head,
.tec-community-showcase__footer,
.tec-community-showcase__tabs {
  background: #0b0b10 !important;
}

.tec-community-showcase { padding-block: 84px !important; }
.tec-community-showcase__inner { padding-inline: 0 !important; }
.cs-map {
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 18px !important;
  box-shadow: inset 0 1px rgba(255,255,255,.04), 0 18px 38px rgba(0,0,0,.24) !important;
}
.tec-community-showcase__tabs { gap: 12px !important; padding-block: 20px !important; }
.tec-community-showcase__tab { border-radius: 10px !important; }
.tec-community-showcase__stage { border-radius: 18px !important; overflow: hidden; }

.cs-map__mesh { opacity: .14 !important; }
.cs-map__line { stroke: var(--sic-violet) !important; opacity: .68 !important; }
.cs-map__node-dot { background: var(--sic-magenta) !important; box-shadow: 0 0 16px rgba(241,75,189,.72) !important; }
.cs-map__node:nth-child(2n) .cs-map__node-dot { background: var(--sic-violet) !important; box-shadow: 0 0 16px rgba(140,108,255,.72) !important; }
.cs-map__node-label { color: #ddd8e6 !important; text-shadow: 0 1px 6px #08080c !important; }

.tec-community-showcase__tabs { scrollbar-width: none; }
.tec-community-showcase__tabs::-webkit-scrollbar { display: none; }

/* 社区节点图使用同一深色承托面，避免边框和分段留白割裂内容。 */
.tec-community-showcase__inner {
  max-width: min(1200px, calc(100% - 40px)) !important;
}

.cs-map {
  margin-bottom: 16px !important;
  border-color: rgba(182, 160, 222, .18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .025),
    inset 0 0 0 1px rgba(8, 8, 12, .62),
    0 16px 34px rgba(0, 0, 0, .20) !important;
}

.tec-community-showcase__tabs {
  margin: 0 !important;
  padding: 14px 0 18px !important;
  border-top: 1px solid rgba(182, 160, 222, .08) !important;
}

.tec-community-showcase__tab {
  border-color: rgba(182, 160, 222, .16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

.tec-community-showcase__stage {
  border: 1px solid rgba(182, 160, 222, .12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .025),
    0 16px 34px rgba(0, 0, 0, .18) !important;
}

/* 社区服务统计保留外层卡片层次，去掉标签与数值的独立文字框。 */
.tec-site--inner main .comm-services__stat .comm-services__stat-label,
.tec-site--inner main .comm-services__stat .comm-services__stat-value,
.tec-site--inner main .comm-services__stat .comm-services__stat-value .count-up {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.tec-site--inner main .comm-services__stat .comm-services__stat-label {
  color: #c5becf !important;
}

.tec-site--inner main .comm-services__stat .comm-services__stat-value,
.tec-site--inner main .comm-services__stat .comm-services__stat-value .count-up {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .34) !important;
}

/* 原站蓝白引导动画与 SIC 黑场启动层并存时会产生闪屏，因此只保留后者。 */
.hero-intro,
.hero-intro__canvas,
.hero-intro__logo-wrap,
.opc-hero__wave-fallback {
  display: none !important;
}

.sic-launch-screen {
  background:
    radial-gradient(circle at 50% 48%, rgba(140, 108, 255, .12), transparent 24%),
    #08080c !important;
  will-change: opacity;
}

.opc-hero,
.opc-hero__shell,
.opc-hero__content,
.opc-hero__pill-row,
.opc-hero__features,
.opc-hero__actions,
.opc-hero__scroll-hint {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  visibility: visible !important;
}

.opc-hero {
  animation: sic-hero-ready .56s cubic-bezier(.22, 1, .36, 1) both;
}

html.sic-booting .opc-hero {
  animation-delay: .72s;
}

@keyframes sic-hero-ready {
  from { opacity: .72; transform: scale(1.008); }
  to { opacity: 1; transform: scale(1); }
}

/* 分页、课程标签与 CTA 均沿用深色实体控件，避免浅色控件破坏页面基调。 */
.pagination {
  gap: 10px !important;
}

.pagination .page-btn {
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(182, 160, 222, .20) !important;
  border-radius: 10px !important;
  background: #12121a !important;
  color: #cfc9db !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 8px 18px rgba(0, 0, 0, .16) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease !important;
}

.pagination .page-btn:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  border-color: rgba(241, 75, 189, .55) !important;
  background: #21182a !important;
  color: #fff !important;
}

.pagination .page-btn.active {
  border-color: rgba(140, 108, 255, .70) !important;
  background: linear-gradient(145deg, #332148, #21162f) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 8px 20px rgba(104, 70, 177, .25) !important;
}

.pagination .page-btn:disabled {
  opacity: .38 !important;
  color: #888290 !important;
  cursor: not-allowed !important;
}

.workshop-track-card__tags li {
  border-color: rgba(182, 160, 222, .18) !important;
  background: #1a1821 !important;
  color: #d9d3e1 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

.workshop-track-card__link {
  color: #f2edf7 !important;
  border-color: rgba(182, 160, 222, .24) !important;
  background: rgba(20, 19, 28, .82) !important;
}

.workshop-track-card__link:hover {
  color: #fff !important;
  border-color: rgba(241, 75, 189, .58) !important;
  background: #24192e !important;
}

.tec-cta .tec-btn--primary,
.workshop-cta .tec-btn--primary {
  border-color: rgba(182, 160, 222, .38) !important;
  background: linear-gradient(145deg, #332148, #21162f) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 12px 26px rgba(85, 52, 145, .28) !important;
}

.tec-cta .tec-btn--primary:hover,
.workshop-cta .tec-btn--primary:hover {
  background: linear-gradient(145deg, #42285a, #281a38) !important;
  border-color: rgba(241, 75, 189, .62) !important;
}

/* 社区服务统计保留外层卡片层次，去掉标签与数值的独立文字框。 */
.comm-services__stat-label,
.comm-services__stat-value,
.comm-services__stat-value .count-up {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.comm-services__stat-label {
  color: #c5becf !important;
}

.comm-services__stat-value,
.comm-services__stat-value .count-up {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .34) !important;
}

.tec-fab {
  color: #fff !important;
  background: #181720 !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.42) !important;
}

.tec-fab:hover { background: #25232f !important; border-color: rgba(241,75,189,.68) !important; }

.apple-app-tile {
  background: linear-gradient(145deg, #1b1922, #101015) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 12px 24px rgba(0,0,0,.22) !important;
}
.apple-app-tile__label { color: #e8e3ed !important; opacity: 1 !important; }
.apple-app-icon rect { fill: #272330 !important; stroke: rgba(194, 145, 255, .3); stroke-width: 1; }
.apple-app-icon g { stroke: #c490ff !important; }

.policy-news,
.policy-news__tabs,
.policy-news__tab,
.policy-news__card {
  background: transparent !important;
}
.policy-news__tab {
  color: #b9b3c4 !important;
  background: #191720 !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05) !important;
}
.policy-news__tab.is-active,
.policy-news__tab.active {
  color: #fff !important;
  background: linear-gradient(145deg, #243f45, #152126) !important;
  border-color: rgba(51, 220, 220, .48) !important;
}

.tec-market-table,
.tec-market-table tbody,
.tec-market-table tr,
.tec-market-table td {
  color: #e8e4ed !important;
  background: #15151d !important;
  border-color: rgba(255,255,255,.08) !important;
}
.tec-market-table thead,
.tec-market-table th {
  color: #fbf9fc !important;
  background: #201d28 !important;
  border-color: rgba(255,255,255,.1) !important;
}
.tec-market-table tr:hover td { background: #1d1a25 !important; }
.tec-market-badge,
.market-status,
.status-tag { color: #f0d9ff !important; background: rgba(183, 111, 255, .16) !important; border: 1px solid rgba(183,111,255,.22) !important; }

.tec-site--inner main [class*="card"],
.tec-site--inner main [class*="panel"],
.tec-site--inner main [class*="tile"],
.tec-site--inner main [class*="stat"] {
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 14px 28px rgba(0,0,0,.22) !important;
}

.tec-site--inner main h1,
.tec-site--inner main h2,
.tec-site--inner main h3,
.tec-site--inner main h4,
.tec-site--inner main p,
.tec-site--inner main li,
.tec-site--inner main td,
.tec-site--inner main th,
.tec-site--inner main label { color: inherit !important; }

.sic-launch-screen {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: #08080c;
  animation: sic-launch-exit .45s cubic-bezier(.65,0,.35,1) 1s forwards;
}

.sic-launch-screen__content { position: relative; display: grid; justify-items: center; gap: 18px; }
.sic-launch-screen__content img { width: 110px; height: 110px; animation: sic-mark-in .62s cubic-bezier(.22,1,.36,1) both; }
.sic-launch-screen__content span { color: #fff; font-size: 15px; font-weight: 800; letter-spacing: .34em; padding-left: .34em; opacity: 0; animation: sic-word-in .38s ease-out .38s forwards; }
.sic-launch-screen__content b { display: block; width: 122px; height: 1px; background: linear-gradient(90deg, transparent, var(--sic-magenta), var(--sic-violet), transparent); transform: scaleX(0); animation: sic-line-in .42s ease-out .5s forwards; }

@keyframes sic-particle-drift { from { transform: translate3d(-10px, 8px, 0); opacity: .18; } to { transform: translate3d(14px, -18px, 0); opacity: .9; } }
@keyframes sic-mark-in { from { opacity: 0; transform: scale(.72); filter: blur(8px); } to { opacity: 1; transform: scale(1); filter: blur(0); } }
@keyframes sic-word-in { to { opacity: 1; } }
@keyframes sic-line-in { to { transform: scaleX(1); } }
@keyframes sic-launch-exit { to { opacity: 0; visibility: hidden; } }

@media (max-width: 720px) {
  .opc-hero { min-height: 680px !important; }
  .opc-hero__logo-mark { width: 94px !important; height: 94px !important; }
  .opc-hero__brand { font-size: 42px !important; }
  .opc-hero__tagline { font-size: 16px !important; }
  .tec-container { width: min(var(--tec-container), calc(100% - 32px)) !important; }
}

/* 社区节点图使用同一深色承托面，避免边框和分段留白割裂内容。 */
.tec-community-showcase__inner {
  max-width: min(1200px, calc(100% - 40px)) !important;
}

.cs-map {
  margin-bottom: 16px !important;
  border-color: rgba(182, 160, 222, .18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .025),
    inset 0 0 0 1px rgba(8, 8, 12, .62),
    0 16px 34px rgba(0, 0, 0, .20) !important;
}

.tec-community-showcase__tabs {
  margin: 0 !important;
  padding: 14px 0 18px !important;
  border-top: 1px solid rgba(182, 160, 222, .08) !important;
}

.tec-community-showcase__tab {
  border-color: rgba(182, 160, 222, .16) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
}

.tec-community-showcase__stage {
  border: 1px solid rgba(182, 160, 222, .12) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .025),
    0 16px 34px rgba(0, 0, 0, .18) !important;
}
