/* ==== Site header ==== */
/* One bar of dark glass with white ink: it never changes state over light or dark sections.
   --fbh-p is the scroll progress (0 at the top of the page, 1 a few pixels down), set by header.js. */
.fbh {
 --fbh-p:0; --fbh-g:var(--fbh-p); --fbh-top:max(18px,env(safe-area-inset-top));
 --fbh-yellow:#efff00; --fbh-mute:#8f88a3; --fbh-spring:cubic-bezier(.3,1.35,.4,1);
 font:400 16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:normal; text-transform:none;
 color:#f6f2ff; -webkit-font-smoothing:antialiased;
}
body.admin-bar .fbh { --fbh-top:50px; }
.fbh *,.fbh *::before,.fbh *::after { box-sizing:border-box; }
.fbh a { color:inherit; text-decoration:none; }
.fbh button { margin:0; padding:0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.fbh ul { margin:0; padding:0; list-style:none; }
.fbh img { max-width:none; }
.fbh [hidden] { display:none!important; }
.fbh :focus-visible { outline:2px solid #d8b7ff; outline-offset:3px; }
.fbh-space { display:none; }
/* A light page has nothing dark behind the bare row, so the glass is there from the start. */
body.fb-full-width-light .fbh { --fbh-g:1; }

/* ---- Bar ---- */
.fbh-bar {
 position:fixed; z-index:100; top:var(--fbh-top); left:50%; transform:translateX(-50%);
 width:min(1240px,calc(100% - var(--page-gutter,32px)*2)); height:52px; border-radius:26px;
 display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:10px; padding:0 8px 0 10px;
 isolation:isolate;
}
.fbh-bar::before {
 content:""; position:absolute; inset:0; z-index:-2; border-radius:inherit; opacity:var(--fbh-g);
 background:linear-gradient(120deg,#ffffff24,#ffffff05 40%,#b98bff1c),rgba(20,16,32,.78);
 border:1px solid #e6d5ff3d;
 box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #b996ff2e,0 14px 44px #0006;
 -webkit-backdrop-filter:blur(26px) saturate(180%); backdrop-filter:blur(26px) saturate(180%);
}
/* A highlight that follows the pointer along the glass. */
.fbh-bar::after {
 content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; opacity:calc(var(--fbh-g)*var(--fbh-hot,0));
 background:radial-gradient(180px 90px at var(--fbh-mx,50%) 0%,#ffffff3d,transparent 70%); transition:opacity .3s;
}
.fbh-brand { display:flex; align-items:center; gap:8px; height:40px; }
.fbh-brand img { width:32px; height:32px; object-fit:contain; filter:brightness(0) invert(1) drop-shadow(0 0 12px #b98bff66); }
.fbh-name { font-size:15px; font-weight:800; letter-spacing:-.035em; line-height:1; white-space:nowrap; }
.fbh-identity,.fbh-toggle,.fbh-art,.fbh-sheet,.fbh-scrim { display:none; }

/* ---- Navigation ---- */
.fbh-nav { position:relative; justify-self:end; display:flex; align-items:center; height:40px; }
.fbh-nav::after { content:""; width:1px; height:18px; margin-inline:6px 2px; background:#ffffff26; }
.fbh-nav .menu { display:flex; gap:2px; }
.fbh-nav li { position:relative; }
.fbh-nav .menu > li > a {
 position:relative; z-index:1; display:flex; align-items:center; height:36px; padding:0 13px; border-radius:18px;
 font-size:13px; font-weight:600; color:#e9e2f7; white-space:nowrap; transition:color .2s;
}
.fbh-nav .menu > li > a:hover,.fbh-nav .menu > :is(.current-menu-item,.current-menu-ancestor) > a,.fbh-nav .menu > li > a[aria-current] { color:#fff; }
.fbh-nav .menu > .menu-item-has-children > a { padding-right:30px; }
.fbh-sub-toggle { position:absolute; z-index:2; top:8px; right:6px; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; color:#e9e2f7; }
.fbh-sub-toggle svg { width:13px; height:13px; transition:transform .3s var(--fbh-spring); }
.fbh-nav li:is(:hover,.is-open) > .fbh-sub-toggle svg { transform:rotate(180deg); }
/* The lens slides to whichever link is hovered or focused and rests on the current section. */
.fbh-lens {
 position:absolute; top:2px; left:0; height:36px; width:var(--fbh-lw,0px); transform:translateX(var(--fbh-lx,0px)); border-radius:18px; pointer-events:none;
 background:linear-gradient(180deg,#ffffff30,#ffffff10); box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #ffffff14,0 4px 16px #0003;
 opacity:var(--fbh-lo,0); transition:transform .5s var(--fbh-spring),width .5s var(--fbh-spring),opacity .2s;
}
/* The dropdown is the bar's own glass, and its rows light up like the lens. */
.fbh-nav .menu > li > .sub-menu {
 position:absolute; top:calc(100% + 16px); left:50%; min-width:190px; padding:6px; border-radius:20px;
 background:linear-gradient(120deg,#ffffff24,#ffffff05 40%,#b98bff1c),rgba(20,16,32,.78); border:1px solid #e6d5ff3d;
 box-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #b996ff2e,0 18px 44px #0006;
 -webkit-backdrop-filter:blur(26px) saturate(180%); backdrop-filter:blur(26px) saturate(180%);
 opacity:0; visibility:hidden; transform:translate(-50%,-8px) scale(.94); transform-origin:50% 0;
 transition:opacity .2s,transform .4s var(--fbh-spring),visibility 0s .2s;
}
.fbh-nav .menu > li > .sub-menu::before { content:""; position:absolute; inset:-18px 0 auto; height:18px; }
.fbh-nav .menu > li:is(:hover,:focus-within,.is-open) > .sub-menu { opacity:1; visibility:visible; transform:translate(-50%,0) scale(1); transition-delay:0s; }
.fbh-nav .sub-menu li + li { margin-top:2px; }
.fbh-nav .sub-menu li { opacity:0; transform:translateY(-6px); transition:opacity .2s,transform .4s var(--fbh-spring); }
.fbh-nav .menu > li:is(:hover,:focus-within,.is-open) > .sub-menu li { opacity:1; transform:none; }
.fbh-nav .menu > li:is(:hover,:focus-within,.is-open) > .sub-menu > li:nth-child(2) { transition-delay:.04s; }
.fbh-nav .menu > li:is(:hover,:focus-within,.is-open) > .sub-menu > li:nth-child(3) { transition-delay:.08s; }
.fbh-nav .menu > li:is(:hover,:focus-within,.is-open) > .sub-menu > li:nth-child(n+4) { transition-delay:.12s; }
.fbh-nav .sub-menu a {
 display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:34px; padding:4px 12px; border-radius:14px;
 font-size:13px; font-weight:600; line-height:1.35; color:#e9e2f7; white-space:nowrap; transition:color .2s,background-color .2s,box-shadow .2s;
}
.fbh-nav .sub-menu a::after { content:"→"; font-weight:500; color:#cdb1ff; opacity:0; transform:translateX(-6px); transition:opacity .2s,transform .35s var(--fbh-spring); }
.fbh-nav .sub-menu a:hover,.fbh-nav .sub-menu a:focus-visible,.fbh-nav .sub-menu .current-menu-item > a {
 color:#fff; background:linear-gradient(180deg,#ffffff30,#ffffff10); box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #ffffff14,0 4px 16px #0003;
}
.fbh-nav .sub-menu a:hover::after,.fbh-nav .sub-menu a:focus-visible::after { opacity:1; transform:none; }
.fbh-nav .sub-menu .sub-menu { margin:2px 0 2px 12px; padding-left:6px; border-left:1px solid #cfacf43d; }

/* ---- State ---- */
.fbh-now { position:relative; display:none; min-width:0; }
.fbh--states-desktop .fbh-now { display:flex; }
/* With no active state the card only repeats the name beside the logo. */
.fbh--states-desktop .fbh-now:has(.fb-context.is-identity) { display:none; }
.fbh .fb-context { display:flex; min-width:0; }
.fbh .fb-context-link { position:relative; display:flex; align-items:center; gap:9px; height:40px; padding:0 12px 0 4px; border-radius:20px; min-width:0; text-align:left; }
.fbh a.fb-context-link[href]:hover { background:#ffffff0f; }
.fbh-thumb { position:relative; flex:none; width:30px; height:30px; border-radius:50%; overflow:hidden; background:#2a2140; box-shadow:0 0 0 1px #ffffff40,0 0 0 3px #b98bff24; }
.fbh-thumb:not(.has-image) { display:none; }
.fbh .fb-header-state-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .7s ease; }
.fbh .fb-header-state-image.is-visible { opacity:1; }
.fbh .fb-context-icon-slot { flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:#e9dcff; background:linear-gradient(145deg,#ffffff2e,#b98bff24); box-shadow:inset 0 1px 0 #ffffff60; transition:opacity .2s; }
.fbh .fb-context-icon-slot:empty,.fbh-thumb.has-image + .fb-context-icon-slot { display:none; }
.fbh .fb-context-icon { display:grid; }
.fbh .fb-context-icon svg { width:17px; height:17px; }
.fbh-live { position:absolute; left:26px; top:4px; width:8px; height:8px; border-radius:50%; background:var(--fbh-yellow); box-shadow:0 0 0 2px #17121f; }
.fbh-live::after { content:""; position:absolute; inset:0; border-radius:50%; background:var(--fbh-yellow); animation:fbh-ping 2.4s ease-out infinite; }
.fbh-thumb:not(.has-image) + .fb-context-icon-slot:empty + .fbh-live { display:none; }
@keyframes fbh-ping { to { transform:scale(3); opacity:0; } }
.fbh .fb-context-copy { display:grid; min-width:0; max-width:170px; transition:opacity .2s ease-in,transform .2s ease-in; }
.fbh .fb-context-copy.is-leaving,.fbh .fb-context-icon-slot.is-leaving { opacity:0; }
.fbh .fb-context-copy.is-leaving { transform:translateY(-8px); }
.fbh .fb-context-copy > span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.fbh .fb-context-label { font-size:9px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#cdb1ff; line-height:1.3; }
.fbh .fb-context-title { font-size:12.5px; font-weight:700; letter-spacing:-.01em; line-height:1.3; }
.fbh .fb-context-description { display:none; }
/* The same state, large, under the pointer. */
.fbh-card {
 position:absolute; top:calc(100% + 16px); right:0; width:290px; aspect-ratio:16/10; border-radius:22px; overflow:hidden;
 border:1px solid #e6d5ff3d; box-shadow:0 26px 60px #000a,inset 0 1px 1px #ffffff60; background:linear-gradient(140deg,#3a2466,#17121f);
 opacity:0; visibility:hidden; transform:translateY(-8px) scale(.94); transform-origin:85% 0; pointer-events:none;
 transition:opacity .22s,transform .45s var(--fbh-spring),visibility 0s .22s;
}
.fbh-card .fb-header-half { position:absolute; inset:0; }
.fbh-card-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:16px; background:linear-gradient(180deg,transparent 30%,#0b0812e6); }
.fbh-card-copy small { font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:#d9c2ff; }
.fbh-card-copy strong { font-size:21px; font-weight:800; letter-spacing:-.035em; line-height:1.1; }
.fbh-card-copy em { font-style:normal; font-size:13px; color:#c9c1d8; }
.fbh-card-copy :empty { display:none; }
@media (hover:hover) and (pointer:fine) {
 .fbh-now:is(:hover,:focus-within) .fbh-card { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
}

/* ---- Search ---- */
.fbh-search {
 display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--fbh-yellow); color:#111018!important;
 box-shadow:0 8px 24px #efff0033,inset 0 1px 0 #ffffff80; transition:transform .35s var(--fbh-spring);
}
.fbh-search svg { width:17px; height:17px; }
.fbh-search:hover { transform:scale(1.08) rotate(-8deg); }

/* ==== From tablet down: the bar is the state ==== */
@media (max-width:1100px) {
 .fbh { --fbh-g:1; --fbh-top:max(10px,env(safe-area-inset-top)); }
 body.admin-bar .fbh { --fbh-top:42px; }
 /* The room the bar needs at the top of every page. */
 .fbh-space { display:block; height:74px; }
 .fbh-bar {
  width:min(680px,calc(100% - 20px - var(--fbh-p)*40px)); height:calc(56px - var(--fbh-p)*10px); border-radius:28px;
  grid-template-columns:auto minmax(0,1fr) auto; gap:4px; padding:0 calc(7px - var(--fbh-p)*3px); overflow:hidden;
 }
 /* overflow:hidden clips the glass's own shadow and the state's image covers its rim,
    so the bar draws its shadow itself and the rim sits on a layer above the image.
    The rim is the same thin line as the site's cards. */
 .fbh-bar { box-shadow:0 12px 32px #0000008c,0 2px 6px #0006; }
 .fbh-bar::before { background:linear-gradient(120deg,#ffffff1f,#ffffff05 40%,#b98bff1c),rgba(18,14,28,.74); border:0; box-shadow:none; }
 .fbh-bar::after {
  opacity:1; background:none; transition:none;
  border:1px solid #ffffff24; box-shadow:inset 0 1px 0 #ffffff1a;
 }
 .fbh-name,.fbh-nav,.fbh-search,.fbh-card,.fbh-live,.fbh-thumb { display:none; }
 .fbh-brand { height:auto; }
 .fbh-brand img { width:calc(44px - var(--fbh-p)*4px); height:calc(44px - var(--fbh-p)*4px); padding:2px; }
 /* The state's own image tints the glass. */
 .fbh-art { display:block; position:absolute; inset:0; z-index:-1; border-radius:inherit; overflow:hidden; pointer-events:none; }
 .fbh-art .fb-header-state-image { transition-duration:.9s; filter:saturate(120%); }
 .fbh-art .fb-header-state-image.is-visible { opacity:.75; }
 .fbh-art::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#120e1cf2 8%,#120e1c8c 34%,#120e1c73 66%,#120e1cf2 92%); }
 .fbh-now,.fbh--states-desktop .fbh-now,.fbh--states-desktop .fbh-now:has(.fb-context.is-identity) { display:flex; justify-self:stretch; height:100%; }
 .fbh .fb-context { flex:1; }
 .fbh .fb-context-link { flex:1; height:100%; padding:0 6px; gap:8px; justify-content:center; text-align:center; border-radius:0; }
 .fbh a.fb-context-link[href]:hover { background:none; }
 .fbh .fb-context-icon-slot,.fbh-thumb.has-image + .fb-context-icon-slot { display:grid; width:28px; height:28px; }
 .fbh .fb-context-icon-slot:empty { display:none; }
 .fbh .fb-context-copy { max-width:100%; justify-items:center; }
 .fbh .fb-context-label { font-size:9px; }
 .fbh .fb-context-title { font-size:calc(14px - var(--fbh-p)*1px); font-weight:800; letter-spacing:-.025em; }
 .fbh .fb-context-description { display:block; font-size:10px; color:#d6cee4; line-height:1.3; max-height:calc(13px*(1 - var(--fbh-p))); opacity:calc(1 - var(--fbh-p)*1.6); }
 .fbh-identity { display:block; justify-self:center; font-size:15px; font-weight:800; letter-spacing:-.03em; }
 .fbh-toggle { position:relative; display:grid; place-items:center; width:calc(40px - var(--fbh-p)*4px); height:calc(40px - var(--fbh-p)*4px); border-radius:50%; background:#ffffff1a; box-shadow:inset 0 1px 0 #ffffff50; }
 /* The button's rim fills as the current state runs out. */
 .fbh-ring { position:absolute; inset:0; width:100%; height:100%; opacity:0; transition:opacity .4s; }
 .fbh-ring.is-running { opacity:1; }
 .fbh-ring circle { stroke-dasharray:100; stroke-dashoffset:100; }
 .fbh-toggle i { position:relative; display:block; width:16px; height:12px; }
 .fbh-toggle i::before,.fbh-toggle i::after { content:""; position:absolute; left:0; width:16px; height:2px; border-radius:2px; background:currentColor; transition:transform .4s var(--fbh-spring),top .3s; }
 .fbh-toggle i::before { top:1px; }
 .fbh-toggle i::after { top:9px; }
 .fbh.is-open .fbh-toggle i::before { top:5px; transform:rotate(45deg); }
 .fbh.is-open .fbh-toggle i::after { top:5px; transform:rotate(-45deg); }

 /* ---- Compact: reading down the page ---- */
 /* Too small to say what the state is, so the pill shows the name instead; the state comes back on the way up. */
 .fbh { --fbh-ease:cubic-bezier(.32,.72,0,1); }
 .fbh-bar { transition:width .55s var(--fbh-ease),height .55s var(--fbh-ease),padding .55s var(--fbh-ease),border-radius .55s var(--fbh-ease); }
 .fbh-brand img,.fbh-toggle { transition:width .55s var(--fbh-ease),height .55s var(--fbh-ease),padding .55s var(--fbh-ease); }
 .fbh .fb-context-label,.fbh .fb-context-description { transition:max-height .45s var(--fbh-ease),opacity .25s; }
 .fbh .fb-context-label { max-height:13px; }
 .fbh .fb-context-title { transition:font-size .45s var(--fbh-ease); }
 .fbh.is-compact .fbh-bar { width:min(320px,calc(100% - 96px)); height:40px; border-radius:20px; padding:0 4px; }
 .fbh.is-compact .fbh-brand img { width:34px; height:34px; padding:3px; }
 .fbh.is-compact .fbh-toggle { width:32px; height:32px; }
 .fbh.is-compact .fbh-toggle i { transform:scale(.85); }
 .fbh.is-compact .fb-context-label,.fbh.is-compact .fb-context-description { max-height:0; opacity:0; }
 .fbh.is-compact .fb-context-title { font-size:12.5px; }
 .fbh.is-compact .fb-context-icon-slot { width:22px; height:22px; }
 .fbh.is-compact .fb-context-icon svg { width:13px; height:13px; }
 .fbh-art,.fbh-now { transition:opacity .3s,transform .45s var(--fbh-ease); }
 .fbh-identity--compact {
  position:absolute; inset:0; z-index:0; display:grid; place-items:center; pointer-events:none;
  opacity:0; transform:translateY(8px); transition:opacity .3s,transform .45s var(--fbh-ease);
 }
 .fbh.is-compact .fbh-identity--compact { opacity:1; transform:none; transition-delay:.08s; }
 .fbh.is-compact .fbh-now { opacity:0; transform:translateY(-8px); pointer-events:none; }
 .fbh.is-compact .fbh-art { opacity:0; }

 /* ---- Menu sheet ---- */
 .fbh-sheet {
  display:block; position:fixed; z-index:99; top:calc(var(--fbh-top) + 64px); left:50%; width:min(680px,calc(100% - 20px));
  max-height:calc(100dvh - var(--fbh-top) - 84px); overflow:auto; overscroll-behavior:contain; scrollbar-width:none;
  padding:16px 18px 14px; border-radius:26px; border:1px solid #e6d5ff3d;
  background:radial-gradient(ellipse at 100% 100%,#aa4ff540,transparent 60%),linear-gradient(145deg,#ffffff14,transparent 50%),rgba(18,14,28,.8);
  box-shadow:inset 0 1px 1px #ffffff70,0 30px 70px #000a;
  -webkit-backdrop-filter:blur(30px) saturate(180%); backdrop-filter:blur(30px) saturate(180%);
  opacity:0; visibility:hidden; transform:translate(-50%,-14px) scale(.96); transform-origin:50% 0;
  transition:opacity .22s,transform .5s var(--fbh-spring),visibility 0s .22s;
 }
 .fbh-sheet::-webkit-scrollbar { display:none; }
 .fbh.is-open .fbh-sheet { opacity:1; visibility:visible; transform:translate(-50%,0); transition-delay:0s; }
 .fbh-date { display:block; margin-bottom:6px; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--fbh-mute); }
 .fbh-sheet .menu > li { opacity:0; transform:translateY(12px); transition:opacity .3s,transform .5s var(--fbh-spring); }
 .fbh.is-open .fbh-sheet .menu > li { opacity:1; transform:none; transition-delay:calc(55ms*var(--fbh-i,0) + 80ms); }
 .fbh-sheet .menu > li:nth-child(2) { --fbh-i:1; } .fbh-sheet .menu > li:nth-child(3) { --fbh-i:2; } .fbh-sheet .menu > li:nth-child(4) { --fbh-i:3; }
 .fbh-sheet .menu > li:nth-child(5) { --fbh-i:4; } .fbh-sheet .menu > li:nth-child(6) { --fbh-i:5; } .fbh-sheet .menu > li:nth-child(n+7) { --fbh-i:6; }
 /* Each section is a full-width row in white with an arrow, so it reads as something to tap. */
 .fbh-sheet .menu > li + li { border-top:1px solid #ffffff12; }
 .fbh-sheet .menu > li > a {
  display:flex; align-items:center; gap:12px; min-height:52px; padding:8px 0;
  font-size:20px; font-weight:700; letter-spacing:-.025em; line-height:1.2; color:#f6f2ff; transition:color .2s,transform .3s var(--fbh-spring);
 }
 .fbh-sheet .menu > li > a::after {
  content:""; flex:none; width:30px; height:30px; margin-left:auto; border-radius:50%;
  background:#ffffff14 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9dcff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/15px no-repeat;
  box-shadow:inset 0 1px 0 #ffffff40; transition:background-color .2s,transform .3s var(--fbh-spring);
 }
 .fbh-sheet .menu > li > a:active { transform:scale(.98); }
 .fbh-sheet .menu > li > a:active::after { transform:translateX(3px); background-color:#ffffff2e; }
 /* The section you are in gets a violet mark and a yellow arrow. */
 .fbh-sheet .menu > :is(.current-menu-item,.current-menu-ancestor) > a,.fbh-sheet .menu > li > a[aria-current] { color:#fff; }
 .fbh-sheet .menu > :is(.current-menu-item,.current-menu-ancestor) > a::before,.fbh-sheet .menu > li > a[aria-current]::before {
  content:""; order:-1; flex:none; width:4px; height:20px; margin-right:-2px; border-radius:2px; background:linear-gradient(#d8b7ff,#9b6bff); box-shadow:0 0 12px #b98bff99;
 }
 .fbh-sheet .menu > :is(.current-menu-item,.current-menu-ancestor) > a::after,.fbh-sheet .menu > li > a[aria-current]::after {
  background-color:var(--fbh-yellow); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111018' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  box-shadow:0 4px 14px #efff0040;
 }
 /* Children hang under their section as chips. */
 .fbh-sheet .sub-menu { display:flex; flex-wrap:wrap; gap:6px; padding:2px 0 8px; }
 .fbh-sheet .sub-menu .sub-menu { display:contents; }
 .fbh-sheet .sub-menu li { display:contents; }
 .fbh-sheet .sub-menu a { display:flex; align-items:center; min-height:32px; padding:0 12px; border-radius:16px; font-size:12px; font-weight:600; color:#f1eaff; background:#ffffff1c; box-shadow:inset 0 1px 0 #ffffff30; transition:background-color .2s,transform .3s var(--fbh-spring); }
 .fbh-sheet .sub-menu a:active { transform:scale(.96); background:#ffffff33; }
 .fbh-sheet .sub-menu .current-menu-item > a { background:#ffffff2e; }
 .fbh-go { display:flex; align-items:center; justify-content:center; gap:8px; height:42px; margin-top:12px; border-radius:16px; background:var(--fbh-yellow); color:#111018!important; font-size:14px; font-weight:700; }
 .fbh-go svg { width:17px; height:17px; }
 .fbh-scrim { display:block; position:fixed; inset:0; z-index:98; background:#0006; opacity:0; visibility:hidden; transition:opacity .25s,visibility 0s .25s; }
 .fbh.is-open .fbh-scrim { opacity:1; visibility:visible; transition-delay:0s; }
 body:has(.fbh.is-open) .mobile-glass-dock { visibility:hidden; }
}
@media (max-width:782px) { body.admin-bar .fbh { --fbh-top:56px; } }
@media (max-width:600px) { body.admin-bar .fbh { --fbh-top:max(10px,env(safe-area-inset-top)); } }

@media (prefers-reduced-motion:reduce) {
 .fbh-live::after { animation:none; }
 .fbh *,.fbh *::before,.fbh *::after { transition-duration:.01ms!important; }
}
@media (prefers-reduced-transparency:reduce) {
 .fbh-bar::before,.fbh-sheet,.fbh-nav .menu > li > .sub-menu { -webkit-backdrop-filter:none; backdrop-filter:none; background:#1a1526; }
}
@media print { .fbh,.fbh-space { display:none!important; } }
