/* Shared glass surfaces and controls. Home sections remain in normal flow. */
body:not(.fb-full-width-light) .site-header .nav-capsule {
 background:linear-gradient(125deg,#ffffff20, #ffffff04 42%,#ba8bff18),rgba(22,18,34,.66);
 border-color:#e2caff42;
 box-shadow:inset 0 1px 1px #ffffff66,inset 0 -1px 1px #b996ff26,0 12px 36px #0004;
 backdrop-filter:blur(28px) saturate(165%);
 -webkit-backdrop-filter:blur(28px) saturate(165%);
}
.home-main { isolation:isolate; }
.home-main > section { scroll-margin-top:128px; }
.home-main > :is(.section-band,.apps-band,.uses-band,.latest-note,.app-feature) {
 position:relative; border:1px solid #cfb5ff38; border-radius:var(--card-radius,30px);
 background:radial-gradient(ellipse at 95% 0%,#9a62f51c,transparent 55%),linear-gradient(135deg,#ffffff0a,transparent 50%),#15121ff5;
 box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #c8a5ff0d,0 24px 70px #0004;
}
.home-main > .uses-band { padding:clamp(24px,4vw,56px); }
.home-main > .latest-note { background:linear-gradient(120deg,#30233f,#191324); }
.home-main .feature-banner.app-feature {
 background:radial-gradient(ellipse at 78% 50%,#9062d52b,transparent 55%),linear-gradient(135deg,#ffffff09,transparent 45%),#15111f;
 grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:16px;
}
.home-main .app-feature__visual img { max-width:440px; height:auto; aspect-ratio:1; object-fit:contain; filter:none; }
.home-main :is(.secondary-button,.topic-card,.app-card__link),
.home-main .social-links a {
 background:linear-gradient(135deg,#ffffff18,#ffffff04 48%,#b783ef15),#251b374d;
 border:1px solid #dac2ff40;
 box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #ffffff0d,0 8px 24px #0002;
 backdrop-filter:blur(14px) saturate(150%); -webkit-backdrop-filter:blur(14px) saturate(150%);
}
.home-main .primary-button { background:linear-gradient(145deg,#c889ff,#9137ed 65%,#7036d9); border:1px solid #e6c7ff66; box-shadow:inset 0 1px 0 #fff6,0 8px 28px #983eef40; }
.home-main :is(.content-card,.app-card,.use-card) { border-color:#ceb4ed30; box-shadow:inset 0 1px 0 #fff2,0 12px 28px #0002; }
.home-main .topic-card small { background:#ffffff0d; border:1px solid #ffffff1a; border-radius:999px; padding:4px 9px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .home-main :is(.primary-button,.secondary-button,.topic-card,.app-card__link,.content-card,.use-card) { transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease!important; }
 .home-main :is(.primary-button,.secondary-button,.topic-card,.app-card__link):hover { transform:translateY(-3px)!important; border-color:#ead8ff80; box-shadow:inset 0 1px 0 #ffffff70,0 10px 32px #ae6af526; }
 .home-main :is(.content-card,.use-card):hover { transform:translateY(-4px)!important; border-color:#dab6ff75; }
 .home-main :is(.primary-button,.secondary-button,.topic-card):active { transform:translateY(0) scale(.98)!important; }
}
@media(max-width:1100px) {
 body:not(.fb-full-width-light) .site-header { background:linear-gradient(120deg,#ffffff16,#b98cec0a),#171222d9; backdrop-filter:blur(24px) saturate(150%); -webkit-backdrop-filter:blur(24px) saturate(150%); box-shadow:inset 0 1px 0 #ffffff38,0 10px 30px #0003; }
 .home-main > section { scroll-margin-top:110px; }
}
@media(max-width:700px) {
 .home-main .feature-banner.app-feature { grid-template-columns:1fr; }
 .home-main .app-feature__visual img { max-width:320px; width:100%; }
}
@media(prefers-reduced-transparency:reduce) {
 body:not(.fb-full-width-light) .site-header .nav-capsule,.home-main :is(.secondary-button,.topic-card,.app-card__link) { background:#21192f; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Quieter editorial scale for archive and utility page headings. */
.archive-header h1, .page-hero h1 { font-size:clamp(2.25rem,4vw,3.7rem); line-height:1.04; letter-spacing:-.055em; }
.archive-header { padding-block:clamp(34px,5vw,56px); }

/* 404 gets its own small, luminous glass instrument panel. */
.not-found-entry { display:grid; grid-template-columns:minmax(170px,.46fr) minmax(0,1.4fr); align-items:center; gap:clamp(28px,6vw,88px); min-height:430px; }
.not-found-copy { position:relative; z-index:2; }
.not-found-copy h1 { max-width:700px; margin:12px 0 18px; font-size:clamp(2.35rem,4.7vw,4.2rem); line-height:1; letter-spacing:-.06em; }
.not-found-copy > p:not(.eyebrow) { max-width:610px; color:var(--muted-strong); font-size:1.08rem; }
.not-found-orbit { position:relative; display:grid; place-items:center; width:min(25vw,250px); aspect-ratio:1; margin:auto; border:1px solid #e4c9ff57; border-radius:50%; background:radial-gradient(circle at 35% 25%,#fff3,transparent 12%),radial-gradient(circle,#a45dff33,transparent 62%),#ffffff08; box-shadow:inset 0 1px 1px #fff6,0 0 70px #a658ff36; backdrop-filter:blur(14px) saturate(150%); }
.not-found-orbit::before,.not-found-orbit::after { content:""; position:absolute; border:1px solid #d5adff45; border-radius:50%; transform:rotate(-24deg); }
.not-found-orbit::before { inset:13%; }
.not-found-orbit::after { inset:-7%; border-color:#efff0050; transform:rotate(32deg) scaleX(.42); }
.not-found-orbit span { color:#f3eaff; font-size:clamp(2.6rem,6vw,5.2rem); font-weight:750; letter-spacing:-.08em; text-shadow:0 0 24px #d3a7ff; }
.not-found-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.not-found-actions .button-link,.not-found-actions .secondary-button { min-height:48px; padding-inline:20px; }
.not-found-search { max-width:660px; margin-top:26px; }
@media(max-width:700px) { .not-found-entry { grid-template-columns:1fr; min-height:0; gap:16px; } .not-found-orbit { width:min(44vw,180px); order:-1; } .not-found-copy h1 { font-size:clamp(2.25rem,11vw,3.4rem); } .not-found-actions a { flex:1 1 100%; justify-content:center; } }
@media(prefers-reduced-motion:reduce) {
 .home-main > .glass-panel { position:relative!important; transform:none!important; }
}
@media print {
 .home-main > .glass-panel { position:static!important; transform:none!important; box-shadow:none; }
}
@media(max-width:460px) {
 .home-main .topic-grid { grid-template-columns:1fr; }
 .home-main .topic-card { min-height:64px; padding:16px 20px; }
}
@media(max-width:1100px) {
 body:not(.fb-full-width-light) .site-header .nav-capsule { background:linear-gradient(140deg,#ffffff10,transparent 60%),rgba(25,20,38,.97); }
}

/* Tinted lemon glass: translucent body, bright lip and soft internal reflections. */
body .site-header .fb-search-trigger--yellow,
body .footer-invitation .button-link,
body .site-header > .contact-button {
 position:relative; isolation:isolate; overflow:hidden;
 color:#202400; border:1px solid #faffb3;
 background:radial-gradient(ellipse at 25% 0%,#ffffffb3,transparent 60%),linear-gradient(180deg,#f6ff7799,transparent 48%,#cddd0026 52%,#f4ff574d),rgba(239,255,0,.94);
 box-shadow:inset 0 2px 2px #ffffffd9,inset 1px 0 1px #ffffad99,inset 0 -2px 2px #b8cb0073,0 8px 26px #ddef0038,0 0 28px #efff0029;
 backdrop-filter:blur(22px) saturate(165%); -webkit-backdrop-filter:blur(22px) saturate(165%);
 text-shadow:0 1px 0 #ffffff40;
}
body .site-header .fb-search-trigger--yellow:hover,
body .footer-invitation .button-link:hover,
body .site-header > .contact-button:hover {
 background:radial-gradient(ellipse at 65% 0%,#ffffffc2,transparent 65%),linear-gradient(180deg,#faff9299,transparent 48%,#ddeb0026 52%,#f7ff784d),rgba(239,255,0,.98)!important;
 color:#202400; border-color:#ffffd1;
 box-shadow:inset 0 2px 2px #fff,inset 0 -2px 2px #bed00066,0 10px 32px #efff0052;
}
body .footer-invitation .button-link:focus-visible { color:#202400; background:#efff00; }

/* One typography system for every yellow glass action. */
body .site-header .fb-search-trigger--yellow,
body .site-header .fb-search-trigger--yellow span,
body .footer-invitation .button-link,
body .site-header > .contact-button {
 font-family:inherit; font-size:.92rem; font-weight:700; line-height:1.1; letter-spacing:-.012em;
}
body .site-header .fb-search-trigger--yellow span { font-size:inherit; }
body .footer-invitation .button-link { gap:10px; }
body:not(.fb-full-width-light) :is(.secondary-button,.social-profile,.pagination .page-numbers,.search-submit) {
 background:radial-gradient(ellipse at 20% 0%,#ffffff20,transparent 65%),linear-gradient(160deg,#b897e923,#ffffff04 55%,#b184ed1c),rgba(30,24,43,.65);
 border:1px solid #e1c9ff4d; color:#f4eaff;
 box-shadow:inset 0 1px 1px #fff6,inset 0 -1px 1px #c7a3ff30,0 10px 25px #0003;
 backdrop-filter:blur(18px) saturate(155%); -webkit-backdrop-filter:blur(18px) saturate(155%);
}
body:not(.fb-full-width-light) :is(.content-card,.app-card,.use-card,.explore-topic,.series-archive__card) {
 background:radial-gradient(ellipse at 0% 0%,#ddd0ff14,transparent 60%),linear-gradient(140deg,#ffffff09,#ae88ec0b),rgba(21,18,31,.72);
 border:1px solid #e1c9ff38;
 box-shadow:inset 0 1px 1px #fff4,inset 0 -1px 1px #c7a3ff16,0 14px 36px #0003;
}
.home-main > :is(.section-band,.apps-band,.uses-band,.latest-note,.app-feature) {
 background:radial-gradient(ellipse at 90% 0%,#aa72ef24,transparent 60%),linear-gradient(140deg,#ffffff0d,#ffffff02 50%,#b88af20a),rgba(20,16,30,.78);
 border-color:#e1c9ff40;
 box-shadow:inset 0 1px 1px #ffffff4d,inset 0 -1px 1px #c9a4ff1f,0 20px 60px #0003;
 backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%);
}
.home-main .topic-card { background:radial-gradient(ellipse at 15% 0%,#ffffff24,transparent 65%),linear-gradient(145deg,#c99bff1f,#ffffff05 55%,#c99bff14),#211b304d; box-shadow:inset 0 1px 1px #fff5,inset 0 -1px 0 #cbb1eb26,0 8px 24px #0002; }
body .social-profile__symbol { background:#ffffff0c; border:1px solid #ffffff26; box-shadow:inset 0 1px 0 #ffffff24; }
@media(prefers-reduced-motion:no-preference) {
 body :is(.fb-search-trigger--yellow,.footer-invitation .button-link,.social-profile,.search-submit,.explore-topic) { transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease!important; }
}
@media(prefers-reduced-transparency:reduce) {
 body .site-header .fb-search-trigger--yellow,body .footer-invitation .button-link { background:#efff00; backdrop-filter:none; -webkit-backdrop-filter:none; }
 body:not(.fb-full-width-light) :is(.secondary-button,.social-profile,.pagination .page-numbers,.search-submit),.home-main > :is(.section-band,.apps-band,.uses-band,.latest-note,.app-feature) { background:#21192f; backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* A glass selection lens, with the submenu chevron kept intact. */
.site-header .site-nav .menu li:not(.menu-item-has-children) > a::after { content:none; }
.site-header .site-nav .menu a { text-decoration:none; }
.site-header .site-nav .menu a:hover {
 background:linear-gradient(145deg,#ffffff16,#c5a3ff0c);
 border-color:#e4d4ff24; box-shadow:inset 0 1px 0 #ffffff1f;
}
.site-header .site-nav .menu :is(.current-menu-item,.current-menu-ancestor) > a,
.site-header .site-nav .menu a:is(.is-active,[aria-current="page"]) {
 color:#fff; border:1px solid #e2ceff66;
 background:radial-gradient(ellipse at 25% 0%,#ffffff38,transparent 70%),linear-gradient(150deg,#d9bbff2e,#c29afa12 55%,#d9bbff24);
 box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #cbb0f538,0 3px 12px #0002;
 text-shadow:0 1px 4px #21122d66;
}
@media(min-width:1101px) {
 .site-header .site-nav .menu > li > a { min-height:40px; padding-inline:16px; }
 .site-header .site-nav .menu > .menu-item-has-children > a { padding-right:30px; }
}
body.fb-full-width-light .site-header .site-nav .menu :is(.current-menu-item,.current-menu-ancestor) > a,
body.fb-full-width-light .site-header .site-nav .menu a:is(.is-active,[aria-current="page"]) {
 color:#4a1d78; background:linear-gradient(145deg,#ffffffb3,#c8a3fa4d); border-color:#7f4aaf4d;
 box-shadow:inset 0 1px 1px #fff,0 3px 12px #3b1a5714; text-shadow:none;
}
@media(prefers-reduced-motion:no-preference) {
 .site-header .site-nav .menu a { transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease!important; }
}
/* Broad pools of color belong to the page and pass beneath the fixed glass header. */
body:not(.fb-full-width-light) {
 background:
  radial-gradient(ellipse 55rem 40rem at 90% 5%,#8437dd40,transparent 75%),
  radial-gradient(ellipse 44rem 36rem at 0% 26%,#375bcc30,transparent 75%),
  radial-gradient(ellipse 48rem 38rem at 95% 48%,#a53fa52e,transparent 75%),
  radial-gradient(ellipse 42rem 36rem at 5% 70%,#3558b830,transparent 75%),
  radial-gradient(ellipse 48rem 34rem at 85% 90%,#8b43cc33,transparent 75%),var(--bg);
 background-repeat:no-repeat;
}

/* Reading index uses the same active block as the category index. */
.article-index--toc li a,.article-indexes .article-index--toc li a { border-radius:0; margin:0; padding:12px 16px!important; transition:background .2s ease,border-color .2s ease,color .2s ease!important; }
.article-index--toc a:hover { background:rgba(183,72,255,.08)!important; color:#fff!important; }
.article-index--toc a[aria-current="location"] { position:relative; border-left:4px solid #b748ff!important; background:linear-gradient(90deg,rgba(183,72,255,.22),rgba(183,72,255,.10) 70%,transparent)!important; color:#fff!important; font-weight:650; box-shadow:inset 0 1px 0 rgba(255,255,255,.06); }
.article-index--toc a[aria-current="location"]::after { content:"→"; position:absolute; right:16px; top:50%; color:#fff; font-size:1.25rem; font-weight:700; transform:translateY(-50%); }
.article-index--toc li.is-level-3 a { padding-left:28px!important; }
@media(max-width:700px) { .article-index--toc li a { border-radius:14px; } }
@media(prefers-reduced-transparency:reduce) {
 .site-header .site-nav .menu :is(.current-menu-item,.current-menu-ancestor) > a,
 .site-header .site-nav .menu a:is(.is-active,[aria-current="page"]) { background:#49335d; }
}

/* Fixed ambient light field: translucent surfaces travel across its colors. */
@media(min-width:1101px) {
 body:not(.fb-full-width-light) {
  background:
   radial-gradient(ellipse 55vw 68vh at 100% 0%,rgba(130,62,219,.32),transparent 74%),
   radial-gradient(ellipse 48vw 62vh at -8% 58%,rgba(49,96,208,.25),transparent 76%),
   radial-gradient(ellipse 48vw 54vh at 82% 110%,rgba(184,53,140,.23),transparent 75%),
   radial-gradient(ellipse 30vw 36vh at 45% 105%,rgba(83,57,180,.12),transparent 76%),var(--bg);
  background-attachment:fixed;
  background-repeat:no-repeat;
 }
}
@media(prefers-reduced-transparency:reduce),print {
 body:not(.fb-full-width-light) { background:var(--bg); background-attachment:scroll; }
}

/* Blend the ambient canvas into the footer instead of cutting it off. */
body:not(.fb-full-width-light) .site-footer.footer-redesign {
 position:relative;
}
body:not(.fb-full-width-light) .site-footer.footer-redesign::before {
 content:""; position:absolute; inset:auto 0 100%; height:clamp(48px,7vw,80px);
 pointer-events:none;
 background:linear-gradient(to bottom,transparent,var(--footer-bg,#05070d));
}
