/* Brand palette supplied by 物启星元. Layout lives in styles.css. */
:root {
  --primary: #6C4CF1;
  --primary-light: #8B5CF6;
  --primary-dark: #4C2DBF;
  --background: #100D1C;
  --background-light: #F3F0FF;
  --text-primary: #FFFFFF;
  --text-dark: #211D2E;
  --text-secondary: #8B8798;
  --surface: #191425;
  --ink: var(--text-primary);
  --paper: var(--background);
  --muted: #B6B0C9;
  --line: rgb(243 240 255 / 14%);
  --gradient: linear-gradient(135deg, var(--primary), var(--primary-light));
  color-scheme: dark;
}

::selection { background: var(--primary); color: white; }
:focus-visible { outline-color: var(--primary-light); }
.skip { background: var(--primary-dark); }
.site-header, footer { background: var(--background); }
.brand small { color: var(--text-secondary); }
.site-header nav a { color: #C0BACF; }
.site-header nav a:hover, .footer-links a:hover { color: white; }
nav a:after { background: var(--primary-light); }
.nav-contact { color: #E9E3FC; border-color: #514171; }
.nav-contact:hover { background: var(--primary); border-color: var(--primary); }
.hero { background: radial-gradient(ellipse at 16% 53%, #6C4CF115, transparent 52%), var(--background); }
.hero-video { background: var(--surface); }
.hero-shade { background: linear-gradient(0deg, #100D1CCD, transparent 48%); }
.hero h1 { color: white; }
.eyebrow { color: #C3BBD8; }
.eyebrow:before { height: 2px; background: var(--primary-light); }
.hero-desc { color: var(--muted); }
.hero-bottom { color: var(--text-secondary); }
.hero-bottom button { color: #ACA4BD; }
.primary, .dark {
  color: white;
  background: var(--gradient);
  border-color: rgb(255 255 255 / 10%);
  box-shadow: 0 6px 28px #6C4CF12B;
}
.primary:hover, .dark:hover {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  box-shadow: 0 8px 32px #6C4CF14D;
}
.text-button { color: #DED7EF; }
.text-button:hover { color: white; }
.text-button .play-icon { border-color: #74648E; }
.section-label { color: #AAA0C1; }
.underlined { border-color: #6A5B88; }
.underlined:hover { color: #C9B7FF; border-color: var(--primary-light); }
.action-path span { color: #B39CF9; }
.action-path small { color: var(--muted); }
.action-path>div+div:before { color: var(--primary-light); }
.skill-media { background: var(--background); }
.skill-option, .skill-option:last-of-type { border-color: var(--line); }
.skill-option.active { border-top-color: var(--primary-light); }
.skill-option.active .option-num, .skill-option.active .option-sign { color: #B39CF9; }
.skill-option:not(.active) { opacity: .74; }
.skill-option:hover { opacity: 1; }
.option-num, .option-sign { color: var(--text-secondary); }
.skill-metrics em { color: var(--muted); }
.skill-metrics b { color: #635672; }
.metric-note { color: #9E96AE; }
.round-play:hover { color: var(--primary-dark); }

.technology { background: var(--background); color: white; }
.technology .section-label, .tech-kicker { color: #AAA0C1; }
.tech-top, .platform-name, .data-loop, .tech-grid article+article { border-color: var(--line); }
.tech-heading>p, .tech-grid p { color: var(--muted); }
.platform-category { color: var(--text-secondary); }
.platform-name strong { color: var(--background-light); }
.tech-symbol { stroke: #A68AFB; }
.tech-symbol circle { fill: var(--background); }
.tech-index { color: #A99BC3; }
.tech-grid h3 small { color: #BEA9FC; }
.tech-tags span { border-color: #3E3058; color: #BDB1D4; }
.data-loop { color: #C6BBD9; }
.data-loop i { background: var(--primary); }
.data-loop em { color: #9D91B3; }

/* A light interval makes the interactive platform easier to scan. */
.modules, .cooperation {
  --ink: var(--text-dark);
  --muted: #6A627B;
  --line: #DED7EF;
  color: var(--text-dark);
  background: var(--background-light);
  color-scheme: light;
}
.modules .section-label, .cooperation .section-label { color: #76668F; }
.module-nav button { color: #736A84; }
.module-nav button[aria-selected="true"] {
  color: var(--primary-dark);
  border-bottom-color: var(--primary);
  background: rgb(255 255 255 / 65%);
}
.module-nav button:hover { color: var(--primary-dark); background: white; }
.module-tab-number, .module-nav small { color: #746987; }
.module-nav [aria-selected="true"] .module-tab-arrow { color: var(--primary); }
.module-index { color: #796497; }
.module-copy>.module-lead, .module-detail-content>p, .module-copy li { color: #696079; }
.module-copy li { border-color: #E3DDF1; }
.module-copy li:before { color: var(--primary); }
.module-note { color: #7D728D; }
.module-highlights span { background: #E7E0FD; color: var(--primary-dark); }
.module-details summary, .module-details summary>span { color: var(--primary-dark); }
.twin-visual, .os-visual, .agent-visual {
  color: var(--text-dark);
  background: white;
  border-color: #DED5F4;
  box-shadow: 0 14px 45px #4C2DBF06;
}
.visual-label { border-color: #E9E2F6; color: #776689; }
.visual-heading { color: #79658D; }
.graph-row>div { background: var(--background-light); border-color: #DDD2F7; }
.graph-row>div>span { color: var(--text-dark); }
.graph-row small { color: #776789; }
.graph-row i, .graph-connection:before, .graph-connection:after { background: #B9A5EF; }
.graph-connection span { background: #EBE5FE; border-color: #D9CDF7; color: var(--primary-dark); }
.os-visual>p { color: #766485; }
.agent-goal { border-left-color: var(--primary); }
.agent-goal>span { color: #79658D; }
.agent-goal strong { color: var(--text-dark); }
.agent-steps>div { border-color: #EAE3F5; }
.agent-steps b { color: var(--primary); }
.agent-steps span { color: #4D3C64; }
.agent-steps small { color: #776789; }

.hardware { background: var(--surface); }
.system-parts>div { border-color: var(--line); }
.system-parts span { color: #EBE5F7; }
.system-parts small, .hardware-specs span { color: #AEA3C0; }
.hardware-specs strong { color: white; }
.hardware-copy .spec-note { color: #9E94AE; }
.hardware-image { background: var(--background-light); border-color: #D9CDF7; color-scheme: light; }
.hardware-image>div { color: #5D477D; border-color: #DDD1EE; }
.hardware-image small { color: #7C6B90; }
.featured-case { background: var(--surface); border: 1px solid var(--line); }
.case-video { color: var(--text-dark); background: white; }
.case-video:hover { color: var(--primary-dark); background: var(--background-light); }
.case-meta { color: #BCB0CD; }
.status { background: #33224E; color: #D6C5FF; }
.status.outline { background: transparent; border-color: #57406F; color: #C3ADD9; }
.case-copy>p, .case-list p { color: var(--muted); }
.case-copy .case-date { color: #9F93AF; }
.case-menu>div { border-color: var(--line); }
.case-menu span { color: #AD9BCA; }
.case-menu strong { color: #E9E2F5; }
.case-number { color: #A28CBB; }
.about-photo:after { background: linear-gradient(0deg, #100D1CCC, transparent); }
.about-facts dt { color: #A996C5; }
.about-facts dd { color: #D0C5DF; }
.about-signature span+span { color: #9B8CAE; }

.cooperation-heading>p, .detail-body p { color: #71657F; }
.cooperation-rows details, .cooperation-rows details:last-child { border-color: var(--line); }
.cooperation summary>span, .cooperation summary b { color: var(--primary); }
.cooperation summary p { color: #7D6B8F; }
.delivery span { background: #E8E1FA; border-color: #DAD0EF; color: #645178; }
.contact-block>span { color: #77648C; }
.contact-block>a { color: var(--primary-dark); }
.contact-block small { color: #81738E; }
.brief-link { color: var(--primary-dark); border-color: #A993D0; }
.cooperation .underlined:hover { color: var(--primary); border-color: var(--primary); }
.footer-links { color: #ABA0BD; }
.footer-bottom { color: var(--text-secondary); }

dialog { background: var(--surface); color: white; border-color: #3A2B50; box-shadow: 0 28px 100px #09051199; }
dialog::backdrop { background: #100D1CC9; }
.dialog-close { color: #B5A5CB; }
.dialog-close:hover { color: white; }
.video-note, .brief-description { color: #AFA2BF; }
#brief-form label { color: #D4C6E5; }
#brief-form input, #brief-form select, #brief-form textarea {
  color: white;
  background: #241B32;
  border-color: #49375F;
  accent-color: var(--primary);
}
#brief-form input::placeholder, #brief-form textarea::placeholder { color: #9A8BAC; }
.form-note { color: #AFA2BF; }
#brief-result { color: #CBB6FF; }

@media(max-width:900px) {
  .hero-media-label strong { background: #100D1C80; }
}
@media(max-width:600px) {
  .menu-toggle { background: #21182F; border-color: #49365D; }
  .menu-toggle span { background: #E4D5F7; }
  .site-header nav { background: #191425; box-shadow: 0 18px 35px #100D1C66; }
  .site-header nav a { color: #E0D4F1; }
  .tech-grid article, .tech-grid article+article { border-bottom-color: var(--line); }
}
