/* Shared site / analysis identity: deep-space blue, coral expression, lilac response. */
:root { --signal-space:#070d20; --signal-coral:#ffac99; --signal-lilac:#b8adff; --signal-ink:#edf0fc; }
body[data-lab-version="4"] .hero.shell { background-image:linear-gradient(90deg,#070d2080 0%,#070d2038 45%,#070d2050),url('../assets/lab-hero.webp'); }
body[data-lab-version="4"] .hero .signal-stage.has-home-particles { overflow:hidden; }
.has-home-particles>#signal-field,.has-home-particles>.field-glow-track { visibility:hidden; }
.home-signal-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:2; }
.home-signal-caption { position:absolute; bottom:36px; left:0; right:0; display:flex; justify-content:center; align-items:center; gap:23px; color:#e1d6f8; font:10px/1.5 var(--sans); letter-spacing:.09em; z-index:3; }
.home-signal-caption b { font-weight:400; color:#abb8d2; }.home-signal-caption span { display:flex; align-items:center; gap:6px; }.home-signal-caption i{width:4px;height:4px;border-radius:50%;background:var(--signal-lilac);box-shadow:0 0 10px var(--signal-lilac)}.home-signal-caption span:first-child i{background:var(--signal-coral);box-shadow:0 0 10px var(--signal-coral)}
body[data-lab-version="4"] .topbar.shell { display:grid!important; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:68px 38px; gap:0 28px; height:auto; padding:0 36px; }
body[data-lab-version="4"] .topbar>.brand { grid-column:1;grid-row:1; }
body[data-lab-version="4"] .topbar>.lab-nav { grid-column:2;grid-row:1;gap:24px; }
body[data-lab-version="4"] .topbar>.topbar-actions { grid-column:3;grid-row:1; }
body[data-lab-version="4"] .topbar>.product-deck { grid-column:1/-1;grid-row:2;display:flex;width:100%!important;gap:8px;margin:0;padding:0;border:0;border-top:1px solid #b8adff20;justify-content:center;min-height:0;overflow-x:auto; }
body[data-lab-version="4"] .topbar .product-deck-item { flex:0 0 auto;display:flex;align-items:center;justify-content:center;position:relative;min-height:0;height:38px;width:auto;padding:0 22px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent!important;box-shadow:none!important; }
body[data-lab-version="4"] .topbar .product-deck-item::before,body[data-lab-version="4"] .topbar .product-deck-item::after { display:none; }
body[data-lab-version="4"] .topbar .product-deck-item :is(span,small,i){display:none}
body[data-lab-version="4"] .topbar .product-deck-item strong{font:12px/1.5 var(--sans);color:#9fabc6;white-space:nowrap;margin:0}
body[data-lab-version="4"] .topbar .product-deck-item.is-active{border-bottom-color:var(--signal-coral)}
body[data-lab-version="4"] .topbar .product-deck-item.is-active strong{color:var(--signal-coral)}
.local-motion-preview{border:0;border-bottom:1px solid #b8adff55;background:transparent;color:#c7bfff;font:11px/1.7 var(--sans);padding:0 0 3px;margin-top:16px;cursor:pointer;pointer-events:auto}
.local-motion-preview:hover{color:#fff;border-color:var(--signal-coral)}
.motion-preview-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--signal-space);color:var(--signal-ink);overflow:hidden}
.motion-preview-dialog::backdrop{background:#070d20ef}.motion-preview-bar{height:46px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b8adff33;font:11px sans-serif;color:#a5b2cd}.motion-preview-bar button{color:var(--signal-coral);background:none;border:0;cursor:pointer;padding:8px 0;font:12px sans-serif}.motion-preview-dialog iframe{width:100%;height:calc(100% - 46px);border:0;display:block}
body[data-lab-version="4"] .experiment-card:hover { border-color:#c6b5ff;box-shadow:0 0 0 1px #b8adff20,0 12px 40px #121b4880; }
#analysis-stage.has-particle-cinema { background:var(--signal-space)!important; }
.signal-chat-bubble {border-color:#766cb85c;background:linear-gradient(120deg,#201e3a,#10192f)}.signal-chat-bubble.is-you{border-color:#c08d7d60;background:linear-gradient(120deg,#31222e,#191b30)}.signal-chat-bubble small{color:var(--signal-lilac)}.signal-chat-bubble.is-you small{color:var(--signal-coral)}
.cinema {background:var(--signal-space)}body:has(.cinema){background:var(--signal-space)}.cinema .mark,.cinema .replay{border-color:#b8adff66;color:var(--signal-lilac)}.cinema .eyebrow,.cinema .report dt,.cinema .report small,.cinema .report button{color:var(--signal-coral)}.cinema .phases button[aria-pressed=true]{color:var(--signal-coral);border-color:var(--signal-coral)}.cinema .report{border-color:#ad99d388;background:linear-gradient(145deg,#20233df7,#0f1930fa);box-shadow:0 0 60px #b8adff18,0 30px 80px #0008}.cinema .report .foot{color:#a8b0cc}.cinema .report dl>div{border-color:#b8adff26}
@media(max-width:1100px){body[data-lab-version="4"] .topbar.shell{gap:0 18px;padding:0 24px}.lab-nav a,.lab-nav button{font-size:11px}body[data-lab-version="4"] .topbar>.lab-nav{gap:17px}}
@media(max-width:800px){body[data-lab-version="4"] .topbar.shell{grid-template-columns:1fr auto!important;grid-template-rows:55px 36px 35px;min-height:0;padding:0 18px;gap:0 8px}body[data-lab-version="4"] .topbar>.topbar-actions{grid-column:2;grid-row:1}body[data-lab-version="4"] .topbar>.lab-nav{grid-column:1/-1;grid-row:3;gap:24px;height:35px;justify-content:center}body[data-lab-version="4"] .topbar>.product-deck{grid-row:2;gap:0;justify-content:space-between}body[data-lab-version="4"] .topbar .product-deck-item{height:36px;padding:0 8px}body[data-lab-version="4"] .topbar .product-deck-item strong{font-size:11px}.home-signal-caption{bottom:18px;gap:14px;font-size:9px}.local-motion-preview{margin-top:13px;font-size:10px}.motion-preview-bar{padding:0 16px;font-size:9px}}

/* Nav simplification (2026-09-28): the site-section anchors (首页/实验图谱/社区共创/关于我们) moved into
   "更多" (see index.html) so the topbar reads as one bar instead of two stacked ones. The four product
   tabs now sit inline in that freed row instead of owning a second row underneath. */
body[data-lab-version="4"] .topbar.shell{grid-template-rows:68px!important}
body[data-lab-version="4"] .topbar>.lab-nav{display:none!important}
body[data-lab-version="4"] .topbar>.product-deck{grid-column:2;grid-row:1;justify-self:start;width:auto!important;align-items:center;border:0!important;background:none!important;box-shadow:none!important;justify-content:flex-start}
body[data-lab-version="4"] .topbar .product-deck-item{height:auto;padding:0}
body[data-lab-version="4"] .topbar .product-deck-item strong{font-size:14px}
@media(max-width:800px){
  body[data-lab-version="4"] .topbar.shell{grid-template-rows:55px 36px!important}
  body[data-lab-version="4"] .topbar>.product-deck{grid-column:1/-1;grid-row:2;justify-content:space-between}
}

/* The hero scroll cue (styles.css) is anchored to .hero while this caption is anchored to .signal-stage, whose
   bottom edge sits up to ~17px lower. 66px keeps the caption clear of the cue at every width (measured 320-1440). */
.home-signal-caption{bottom:66px}
/* Touch targets: keep the look, but give thumbs at least 32px to hit on phones and touch screens. */
@media(max-width:800px),(pointer:coarse){
  .utility-link,.consent-policy-link,.footer-legal button,.footer-legal a,.nav-more-button{display:inline-flex;align-items:center;min-height:32px}
  .lab-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:32px}
  .local-motion-preview{position:relative}
  .local-motion-preview::after{content:"";position:absolute;inset:-10px -8px}
}