/* Compact floating controls and a translucent navigation lens. */
.mobile-glass-dock { display:none; }
@media (max-width:1100px) {
 body .site-header, body.fb-full-width-light .site-header {
  min-height:52px; padding:0; margin-top:10px; grid-template-columns:1fr auto;
  border:0; border-radius:0; background:transparent; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none; pointer-events:none;
 }
 body .site-header > * { pointer-events:auto; }
 body .site-header .brand-lockup { width:52px; }
 body .site-header .site-logo,
 .nav-ready body .site-header .menu-toggle {
  display:grid; place-items:center; width:52px; height:52px; min-width:52px; min-height:52px;
  padding:0; border-radius:50%; border:1px solid #ffffff38; color:#fff;
  background:radial-gradient(ellipse at 18% 0%,#ffffff40,transparent 55%),linear-gradient(140deg,#ffffff12,#ac7aef16),rgba(32,27,46,.42);
  box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 2px #c9a6ff44,0 6px 20px #0003;
  backdrop-filter:blur(18px) saturate(165%); -webkit-backdrop-filter:blur(18px) saturate(165%);
 }
 .nav-ready body .site-header .menu-toggle { grid-column:2; }
 body .site-header .site-logo img { width:34px; height:34px; }
 body .site-header .menu-toggle > span:last-child {
  position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap;
 }
 body .site-header .menu-toggle-icon { width:20px; height:14px; }
 body .site-header .menu-toggle-icon::after { width:20px; top:5px; }
 body .site-header.menu-open .menu-toggle-icon::before,
 body .site-header.menu-open .menu-toggle-icon::after { width:20px; top:5px; }
 .nav-ready body .site-header .nav-capsule {
  top:calc(100% + 12px); padding:20px; border-radius:32px;
  max-height:calc(100dvh - var(--header-offset) - 164px);
  border:1px solid #e5cfff60;
  background:radial-gradient(ellipse at 100% 85%,#aa4ff54a,transparent 62%),radial-gradient(ellipse at 5% 0%,#ffffff24,transparent 50%),linear-gradient(145deg,#211c329c,#221531b8);
  box-shadow:inset 0 1px 1px #ffffff80,inset -1px -1px 2px #dba8ff66,0 24px 60px #0006;
  backdrop-filter:blur(28px) saturate(180%); -webkit-backdrop-filter:blur(28px) saturate(180%);
 }
 body .site-header .site-nav .menu { gap:6px; }
 body .site-header .site-nav .menu a {
  min-height:48px; padding:12px 16px; font-size:1rem; border-radius:18px; background:transparent;
 }
 body .site-header .site-nav .menu a:hover,
 body .site-header .site-nav .menu a[aria-current="page"] {
  background:linear-gradient(120deg,#ffffff24,#ffffff0a); box-shadow:inset 0 1px 0 #ffffff30;
 }
 body .site-header .fb-search-trigger--mobile { margin-top:16px; border-radius:18px; }
 body .site-main.home-main, body .site-main.archive-main, body .site-main.page-main, body .site-main.article-main { padding-top:16px; }
 body { padding-bottom:calc(88px + env(safe-area-inset-bottom)); }
 .mobile-glass-dock {
  position:fixed; z-index:99; bottom:calc(12px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%);
  display:grid; grid-template-columns:repeat(4,1fr); gap:3px; width:min(360px,calc(100% - 32px)); padding:6px;
  border:1px solid #ffffff40; border-radius:999px;
  background:radial-gradient(ellipse at 10% 0%,#ffffff30,transparent 60%),linear-gradient(140deg,#b39ada18,#ffffff08),rgba(25,22,33,.56);
  box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 1px #d2b5ff50,0 8px 30px #0005;
  backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%);
 }
 .mobile-glass-dock a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:52px; border-radius:999px; color:#eee9f5; font-size:11px; font-weight:600; line-height:1.2; text-decoration:none; }
 .mobile-glass-dock a[aria-current="page"] { background:linear-gradient(145deg,#ffffff30,#bc86ff28); color:#fff; box-shadow:inset 0 1px 1px #ffffff40,0 2px 8px #0002; }
 .mobile-glass-dock a:focus-visible { outline:2px solid #e6baff; outline-offset:1px; }
 body:has(.site-header.menu-open) .mobile-glass-dock { visibility:hidden; }
 body.fb-full-width-light .site-header .site-logo img { filter:brightness(0) invert(1); }
}
@media (prefers-reduced-transparency:reduce) {
 body .mobile-glass-dock, .nav-ready body .site-header .nav-capsule { background:#241c33; backdrop-filter:none; -webkit-backdrop-filter:none; }
}
@media print { .mobile-glass-dock { display:none; } }
@media(max-width:1100px) {
 body:not(.fb-full-width-light) .site-header, body.fb-full-width-light .site-header {
  background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; box-shadow:none;
 }
}

.mobile-glass-name,.mobile-dock-expand { display:none; }
@media(max-width:1100px) {
 body .site-header { grid-template-columns:52px minmax(0,1fr) 52px; gap:10px; }
 .nav-ready body .site-header .menu-toggle { grid-column:3; }
 .mobile-glass-name {
  display:block; grid-column:2; grid-row:1; justify-self:center; max-width:100%;
  padding:10px 0; font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; font-size:clamp(1rem,4.8vw,1.3rem); font-weight:600; letter-spacing:-.025em; line-height:1.2;
  white-space:nowrap; color:#efe9ff;
  background:linear-gradient(180deg,#ffffff 15%,#eeeaf5 65%,#d7cee5 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:none; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  transition:opacity .24s ease,transform .3s ease,filter .3s ease;
 }
 .mobile-name-hidden .mobile-glass-name { opacity:0; transform:translateY(-6px) scale(.96); filter:blur(5px); pointer-events:none; }
 .mobile-glass-dock { left:max(16px,calc((100% - 360px)/2)); transform:none; transition:left .32s cubic-bezier(.2,.8,.2,1),width .32s cubic-bezier(.2,.8,.2,1),padding .32s ease,border-radius .32s ease; }
 .mobile-glass-dock a[hidden] { display:none; }
 .mobile-glass-dock.is-collapsed { left:var(--page-gutter); width:52px; height:52px; padding:0; grid-template-columns:1fr; border-radius:50%; }
 .mobile-glass-dock.is-collapsed .mobile-dock-expand { display:flex; }
 .mobile-dock-expand { flex-direction:column; align-items:center; justify-content:center; gap:0; width:50px; height:50px; padding:6px; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer; }
 .mobile-dock-expand svg { width:24px; height:24px; }
 .mobile-dock-expand > span { font-size:9px; letter-spacing:2px; line-height:10px; }
 .mobile-dock-expand:focus-visible { outline:2px solid #e6baff; outline-offset:3px; }
}
@media(prefers-reduced-motion:reduce) {
 .mobile-glass-name,.mobile-glass-dock { transition:none; }
}

/* A continuous glass silhouette, with separate fades for the controls. */
@media(max-width:1100px) {
 .mobile-glass-name { font-size:clamp(1.12rem,5.65vw,1.65rem); font-weight:650; letter-spacing:-.04em; background-image:linear-gradient(115deg,#fff 12%,#f5f0ff 46%,#c9b8df 72%,#fff 96%); }
 body.fb-full-width-light .mobile-glass-name { color:#211a2c; background-image:linear-gradient(115deg,#17121f 12%,#43364f 52%,#62506f 74%,#211a2c 96%); }
 .mobile-glass-dock { display:block; height:66px; overflow:hidden; isolation:isolate; transition:left .48s cubic-bezier(.22,.85,.22,1),width .48s cubic-bezier(.22,.85,.22,1),height .48s cubic-bezier(.22,.85,.22,1),padding .48s ease,border-radius .48s ease; }
 .mobile-glass-dock::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg,transparent 10%,#ffffff20 35%,transparent 65%); opacity:.15; transition:opacity .4s ease; }
 .mobile-glass-dock.is-collapsed::after { opacity:.65; }
 .mobile-dock-items { position:absolute; left:6px; top:6px; width:calc(min(360px,100vw - 32px) - 14px); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; opacity:1; transform:translateX(0) scale(1); transform-origin:24px center; filter:blur(0); transition:opacity .22s ease .12s,transform .45s cubic-bezier(.22,.85,.22,1),filter .22s ease; }
 .mobile-glass-dock.is-collapsed .mobile-dock-items { opacity:0; transform:translateX(-8px) scale(.8); filter:blur(4px); pointer-events:none; transition-delay:0s; }
 .mobile-glass-dock .mobile-dock-expand { position:absolute; left:0; top:0; display:flex; opacity:0; transform:scale(.7); pointer-events:none; transition:opacity .16s ease,transform .35s cubic-bezier(.2,.8,.2,1); }
 .mobile-glass-dock.is-collapsed .mobile-dock-expand { opacity:1; transform:scale(1); pointer-events:auto; transition-delay:.18s; }
 body.fb-full-width-light .mobile-glass-dock { background:radial-gradient(ellipse at 10% 0%,#ffffffb3,transparent 60%),linear-gradient(140deg,#ddd0ed40,#ffffff50),rgba(245,242,249,.7); border-color:#ffffffbf; box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #87749830,0 8px 30px #271a3524; }
 body.fb-full-width-light .mobile-glass-dock a,body.fb-full-width-light .mobile-dock-expand { color:#30253d; }
 body.fb-full-width-light .mobile-glass-dock a[aria-current="page"] { color:#24182e; background:linear-gradient(145deg,#ffffffc0,#bca4d54d); }
}
@media(prefers-reduced-motion:reduce) {
 .mobile-glass-dock,.mobile-dock-items,.mobile-glass-dock .mobile-dock-expand,.mobile-glass-dock::after { transition:none; }
}

.desktop-glass-toggle { display:none; }
@media(min-width:1101px) {
 body .site-header { pointer-events:none; }
 body .site-header > * { pointer-events:auto; }
 body .site-header .brand-lockup { width:64px; min-width:64px; }
 body .site-header .site-logo { transition:opacity .2s ease,transform .45s cubic-bezier(.22,.8,.2,1); }
 body .site-header .nav-capsule { transform-origin:left center; transition:opacity .2s ease,transform .48s cubic-bezier(.22,.8,.2,1),filter .25s ease,visibility 0s; }
 body .site-header.desktop-collapsed .nav-capsule { opacity:0; transform:translateX(-48px) scale(.82,.7); filter:blur(5px); visibility:hidden; pointer-events:none; transition:opacity .22s ease,transform .48s cubic-bezier(.22,.8,.2,1),filter .25s ease,visibility 0s .48s; }
 body .site-header .desktop-glass-toggle {
  position:absolute; inset:0; display:grid; place-items:center; width:64px; height:64px; padding:12px; border-radius:50%;
  color:#fff; border:1px solid #e8d9ff50;
  background:radial-gradient(ellipse at 15% 0%,#ffffff45,transparent 58%),linear-gradient(145deg,#d5b8fa18,#ffffff06),rgba(30,25,43,.48);
  box-shadow:inset 0 1px 2px #ffffff80,inset 0 -1px 2px #d6b4ff50,0 10px 30px #0003;
  backdrop-filter:blur(22px) saturate(170%); -webkit-backdrop-filter:blur(22px) saturate(170%);
  opacity:0; transform:scale(.8); pointer-events:none; cursor:pointer;
  transition:opacity .28s ease,transform .48s cubic-bezier(.22,.8,.2,1);
 }
 body .desktop-glass-toggle img { width:38px; height:38px; object-fit:contain; filter:brightness(0) invert(1); }
 body .site-header.desktop-collapsed .desktop-glass-toggle { opacity:1; transform:scale(1); pointer-events:auto; }
 body .site-header.desktop-collapsed .site-logo { opacity:0; transform:scale(.75); pointer-events:none; }
 body .site-header > .fb-search-trigger--desktop { position:relative; width:120px; height:52px; min-height:52px; padding:0; justify-self:end; display:flex; align-items:center; justify-content:flex-start; gap:0; border-radius:999px; overflow:hidden; transition:width .48s cubic-bezier(.22,.8,.2,1),box-shadow .3s ease; }
 body .site-header > .fb-search-trigger--desktop svg { position:absolute; left:15px; width:20px; height:20px; flex:none; }
 body .site-header > .fb-search-trigger--desktop span { margin-left:45px; white-space:nowrap; opacity:1; transform:translateX(0); transition:opacity .2s ease .12s,transform .35s ease; }
 body .site-header.desktop-collapsed > .fb-search-trigger--desktop { width:52px; }
 body .site-header.desktop-collapsed > .fb-search-trigger--desktop span { opacity:0; transform:translateX(-8px); transition-delay:0s; }
 body.fb-full-width-light .desktop-glass-toggle { background:radial-gradient(ellipse at 15% 0%,#fff,transparent 58%),rgba(248,245,252,.66); border-color:#ffffffd9; box-shadow:inset 0 1px 2px #fff,0 8px 24px #38284826; }
 body.fb-full-width-light .desktop-glass-toggle img { filter:brightness(0); }
 .desktop-glass-toggle:focus-visible { outline:2px solid #c58aff; outline-offset:4px; }
}
@media(prefers-reduced-motion:reduce) {
 body .site-header .nav-capsule,body .site-header.desktop-collapsed .nav-capsule,body .site-header .site-logo,body .site-header .desktop-glass-toggle,body .site-header > .fb-search-trigger--desktop,body .site-header > .fb-search-trigger--desktop span { transition:none; }
}

/* Refined glass motion: an elastic silhouette and a travelling edge highlight. */
@keyframes fb-glass-arrive {
 0% { transform:scale(.86,1.06); }
 65% { transform:scale(1.045,.965); }
 100% { transform:scale(1); }
}
@keyframes fb-glass-sheen {
 0% { opacity:0; transform:translateX(-130%) skewX(-18deg); }
 24% { opacity:.65; }
 100% { opacity:0; transform:translateX(160%) skewX(-18deg); }
}
@keyframes fb-glass-sheen-return {
 0% { opacity:0; transform:translateX(140%) skewX(-18deg); }
 24% { opacity:.5; }
 100% { opacity:0; transform:translateX(-140%) skewX(-18deg); }
}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
 body .site-header .nav-capsule {
  overflow:visible;
  transition:transform .64s cubic-bezier(.22,.8,.2,1.035),opacity .28s ease .08s,filter .5s ease,visibility 0s!important;
 }
 body .site-header.desktop-collapsed .nav-capsule {
  transform:translateX(var(--glass-fold-x,-80px)) scale(var(--glass-fold-scale,.1),.88);
  opacity:0; filter:blur(2px);
  transition:transform .6s cubic-bezier(.65,0,.2,1),opacity .16s ease .32s,filter .5s ease,visibility 0s .6s!important;
 }
 body .site-header .nav-capsule .menu > li { opacity:1; transform:translateY(0); transition:opacity .22s ease .22s,transform .4s cubic-bezier(.2,.8,.2,1) .18s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(2) { transition-delay:.25s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(3) { transition-delay:.28s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(4) { transition-delay:.31s!important; }
 body .site-header .nav-capsule .menu > li:nth-child(5) { transition-delay:.34s!important; }
 body .site-header.desktop-collapsed .nav-capsule .menu > li { opacity:0; transform:translateY(5px); transition-delay:0s!important; transition-duration:.12s!important; }
 body .site-header .desktop-glass-toggle { overflow:hidden; transition:opacity .22s ease,transform .6s cubic-bezier(.2,.85,.2,1.08)!important; }
 body .site-header.desktop-collapsed .desktop-glass-toggle { transition-delay:.24s!important; }
 body .site-header.glass-motion-ready.desktop-collapsed .desktop-glass-toggle img { animation:fb-glass-arrive .58s .24s both!important; }
 body .site-header.glass-motion-ready:not(.desktop-collapsed) .site-logo img { animation:fb-glass-arrive .6s both!important; }
 body .site-header > .fb-search-trigger--desktop { transition:width .62s cubic-bezier(.25,.85,.25,1.065),box-shadow .4s ease!important; }
 body .site-header.glass-motion-ready.desktop-collapsed > .fb-search-trigger--desktop svg { animation:fb-glass-arrive .6s .12s both!important; }
 body .site-header.glass-motion-ready:not(.desktop-collapsed) > .fb-search-trigger--desktop svg { animation:fb-glass-arrive .6s both!important; }
 body .site-header .desktop-glass-toggle::after,
 body .site-header > .fb-search-trigger--desktop::after,
 body .site-header .nav-capsule::after {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(105deg,transparent 15%,#fff0 35%,#ffffff60 49%,#e4c5ff25 54%,transparent 72%); opacity:0;
 }
 body .site-header.glass-motion-ready.desktop-collapsed .desktop-glass-toggle::after,
 body .site-header.glass-motion-ready.desktop-collapsed > .fb-search-trigger--desktop::after { animation:fb-glass-sheen .75s .18s both!important; }
 body .site-header.glass-motion-ready:not(.desktop-collapsed) .nav-capsule::after,
 body .site-header.glass-motion-ready:not(.desktop-collapsed) > .fb-search-trigger--desktop::after { animation:fb-glass-sheen-return .8s .08s both!important; }
}
@media(max-width:1100px) and (prefers-reduced-motion:no-preference) {
 .mobile-glass-dock { transition:left .62s cubic-bezier(.25,.85,.25,1.035),width .62s cubic-bezier(.25,.85,.25,1.035),height .62s cubic-bezier(.25,.85,.25,1.035),padding .6s ease,border-radius .6s ease!important; }
 .mobile-dock-items { transition:opacity .26s ease .2s,transform .58s cubic-bezier(.2,.85,.2,1.035),filter .3s ease!important; }
 .mobile-glass-dock.is-collapsed .mobile-dock-items { transform:translateX(-8px) scale(.2,.85); transition:opacity .16s ease,transform .5s ease,filter .3s ease!important; }
 .mobile-glass-dock .mobile-dock-expand { transition:opacity .2s ease,transform .58s cubic-bezier(.2,.85,.2,1.09)!important; }
 .mobile-glass-dock.is-collapsed .mobile-dock-expand { transition-delay:.26s!important; }
 .mobile-glass-dock.glass-motion-ready.is-collapsed .mobile-dock-expand svg { animation:fb-glass-arrive .6s .2s both!important; }
 .mobile-glass-dock.glass-motion-ready::after { animation:fb-glass-sheen-return .8s both!important; }
 .mobile-glass-dock.glass-motion-ready.is-collapsed::after { animation:fb-glass-sheen .75s .12s both!important; }
}
@media(min-width:1101px) and (prefers-reduced-motion:no-preference) {
 body .site-header .site-logo { transition:opacity .24s ease,transform .5s ease!important; }
 body .site-header > .fb-search-trigger--desktop span { transition:opacity .24s ease .22s,transform .45s ease .16s!important; }
 body .site-header.desktop-collapsed > .fb-search-trigger--desktop span { transition-delay:0s!important; }
}
