/* Puffly notebook: bright paper, soft glass and quiet orbital motion. */
.research-page {
  background:
    radial-gradient(ellipse at 91% 3%, #eeeaff88, transparent 31%),
    radial-gradient(ellipse at 5% 26%, #fff0e966, transparent 27%),
    #fbfaff;
  color: #242447;
}
.research-header .brand,
.research-footer .brand { color: #242447; }
.research-header .brand-orb,
.research-footer .brand-orb {
  background: radial-gradient(circle at 28% 25%, #fff 0, #dbd5ff 18%, #ab83f3 47%, #e8a3d9 68%, #74a5ef 90%);
  box-shadow: 0 3px 15px #9c7bec25, inset 1px 1px 3px #ffffffb3;
}
.research-nav a { color: #73738f; }
.research-nav a:hover,
.research-nav .is-current { color: #6848d3; }
.research-page a:focus-visible,
.research-page button:focus-visible { outline-color: #7655e8; }
.research-skip { background: #ece5ff; color: #392768; box-shadow: 0 5px 20px #58417e20; }
.notebook-hero:before {
  background: radial-gradient(ellipse at 45% 45%, #dcd6ff80, #d9edff4d 42%, transparent 70%);
}
.notebook-hero h1 { color: #292844; }
.notebook-hero h1 span {
  background: linear-gradient(110deg, #4b86de 0, #7856d7 48%, #b46bba 95%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.research-eyebrow { color: #7658b7; }
.research-eyebrow:before { background: #a28bd8; }
.notebook-intro { color: #73738f; }
.notebook-hero-label { color: #82829d; }
.research-filters { border-color: #e5e1f3; }
.research-filter { color: #72718c; }
.research-filter:hover { color: #6543c3; background: #f0ebfc; }
.research-filter[aria-pressed=true] {
  color: #6846c7;
  border-color: #d8ccf6;
  background: linear-gradient(120deg, #f0e9ff, #eeeefc);
  box-shadow: 0 2px 8px #8462c909;
}
.research-note-count { color: #7a7993; }
.research-feature {
  background: linear-gradient(120deg, #ffffff 8%, #fcfbff 54%, #f0edff 100%);
  border-color: #e5e1f3;
  box-shadow: 0 8px 34px #6a5d9c08, inset 0 1px 0 #fff;
  transition: border-color .3s, transform .3s, box-shadow .3s;
}
.research-feature:hover {
  border-color: #c8b9ed;
  box-shadow: 0 18px 40px #74629e13;
  transform: translateY(-4px);
}
.research-kicker { color: #7b61a8; }
.research-kicker .research-dot { background: #b39aca; }
.research-feature h2 { color: #2c2b4c; }
.research-feature p { color: #73738f; }
.research-read { color: #7252ce; }
.research-feature-art {
  background:
    radial-gradient(ellipse at 38% 35%, #e4e5ffb0, transparent 58%),
    radial-gradient(ellipse at 70% 65%, #fce8e08c, transparent 62%),
    radial-gradient(ellipse at 40% 80%, #e2f5f160, transparent 62%);
}
.research-orbit {
  border-color: #b7a4df4d;
  animation: notebook-orbit 32s linear infinite;
}
.research-orbit.two {
  border-color: #98b8e647;
  animation-duration: 45s;
  animation-direction: reverse;
}
.research-orbit.three { border-color: #c4b8e03b; animation-duration: 62s; }
.research-orbit:after {
  content: '';
  position: absolute;
  top: 50%;
  left: -3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a591e2;
  box-shadow: 0 0 10px #a18ad73d;
}
.research-orbit.two:after { background: #8fb9e7; }
.research-orbit.three:after { width: 4px; height: 4px; left: -2px; background: #d7a9b8; }
.research-core {
  background: radial-gradient(circle at 30% 24%, #ffffff 0, #f3eaff 12%, #c7aff4 39%, #8b71da 68%, #6d8fe0 88%);
  box-shadow: inset -8px -4px 18px #7593e55c, inset 3px 3px 10px #fff8, 0 15px 38px #ac92db33;
  color: #fff;
  text-shadow: 0 2px 10px #6f50b251;
  animation: notebook-core-float 6.5s ease-in-out infinite;
}
.research-core:after { border-color: #c6b4ed90; }
.orbit-label {
  color: #5e6591;
  background: #ffffffeb;
  border-color: #e1dcf0;
  box-shadow: 0 5px 16px #8d7ba812;
  backdrop-filter: blur(8px);
}
.orbit-label:nth-of-type(2) { color: #7855b3; }
.orbit-label:nth-of-type(3) { color: #ae6957; }
.research-connection { background: linear-gradient(90deg, #b19be0aa, #a8c6ec70); }
.research-connection.c { background: linear-gradient(90deg, #b19be0aa, #e4b49c75); }
.research-list-head h2 { color: #575572; }
.research-list-head p { color: #81809a; }
.research-card {
  border-color: #e5e1f3;
  color: #2c2b4c;
  transition: border-color .25s, background .25s;
}
.research-number { color: #9a8bb0; }
.research-card h3 { color: #302d4e; }
.research-card:hover h3 { color: #7655d5; }
.research-card p { color: #73738f; }
.research-card .research-read { color: #7860b6; }
.research-detail-link { color: #78718d; transition: color .2s; }
.research-detail-link:hover { color: #7655e8; }
.article-heading { border-color: #e5e1f3; }
.article-heading h1 { color: #292844; }
.article-heading .article-deck { color: #73738f; }
.article-heading-foot { color: #827b97; }
.article-heading-foot span+span:before { color: #b6abc9; }
.article-aside-title { color: #82778f; }
.article-aside a { color: #79718b; }
.article-aside a:hover { color: #7655e8; }
.article-aside a span { color: #ac9bc4; }
.article-side-note { border-color: #e5e1f3; color: #827b96; }
.article-body h2 { color: #2c2b4c; }
.article-body p { color: #676680; }
.article-summary { border-left-color: #a189e5; }
.article-summary .article-summary-label { color: #8363c6; }
.article-summary p { color: #51486c; }
.article-callout {
  border-color: #e4dcf5;
  background: linear-gradient(120deg, #f3eefc, #f3f6ff);
  box-shadow: inset 0 1px 0 #fff;
}
.article-callout .article-callout-title { color: #7a5cb8; }
.article-callout p { color: #726886; }
.article-flow {
  background: radial-gradient(ellipse at top, #e8e0fc8c, transparent 85%), #ffffffb8;
  border-color: #e4def3;
  box-shadow: 0 5px 20px #8e78b105;
}
.article-flow-step span { color: #9a86b9; }
.article-flow-step strong { color: #63527f; }
.article-flow svg { color: #a48ac6; }
.article-key-points { border-color: #e3dcf2; }
.article-key-points h3 { color: #8261ba; }
.article-key-points li { color: #6b647e; }
.article-key-points li:before { background: #a18ad6; }
.article-end { border-color: #e5e1f3; color: #8b829b; }
.article-end .article-top { color: #8160b6; }
.article-next {
  border-color: #e5def3;
  background: linear-gradient(110deg, #fff, #f3effc);
  box-shadow: 0 6px 24px #8e79af06;
  transition: transform .25s, border-color .25s, box-shadow .25s;
}
.article-next small { color: #9277b0; }
.article-next h3 { color: #3b3154; }
.article-next-arrow { border-color: #d7c7ec; color: #9871c7; background: #ffffffb5; }
.article-next:hover { border-color: #c5afe1; box-shadow: 0 12px 28px #8b71af10; transform: translateY(-3px); }
.research-bottom-note { border-color: #e5e1f3; color: #837a95; }
.research-footer { border-color: #e5e1f3; }
.research-footer p { color: #8a809b; }
.research-footer>span { color: #8b839b; }
@keyframes notebook-orbit {
  from { transform: translate(-50%,-50%) rotate(0deg); }
  to { transform: translate(-50%,-50%) rotate(360deg); }
}
@keyframes notebook-core-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@media(max-width:760px) {
  .article-aside { border-bottom-color: #e5e1f3; }
}
@media(prefers-reduced-motion:reduce) {
  .research-orbit,
  .research-core { animation: none; }
  .research-feature,
  .research-card,
  .article-next { transition: none; }
}
