/* Persistent floating quick-access dock */
.quick-access-dock{position:fixed;z-index:80;right:clamp(.75rem,2vw,1.35rem);top:58%;transform:translateY(-50%);font-family:var(--font-body,Manrope,Arial,sans-serif);color:var(--foam,#edf8f5);pointer-events:none}
.quick-access-dock *{box-sizing:border-box}
.quick-access-dock__toggle,.quick-access-dock__close,.quick-access-dock__link{font:inherit}
.quick-access-dock__toggle{pointer-events:auto;display:inline-flex;align-items:center;min-height:48px;padding:.7rem 1rem;border:1px solid rgba(239,216,160,.48);border-radius:999px;background:linear-gradient(135deg,rgba(3,44,58,.94),rgba(7,95,120,.9));color:var(--white,#fff);box-shadow:0 18px 44px rgba(3,34,46,.28),inset 0 1px 0 rgba(255,255,255,.16);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.quick-access-dock__toggle:hover,.quick-access-dock__toggle:focus-visible{transform:translateY(-2px);border-color:rgba(239,216,160,.9);box-shadow:0 24px 58px rgba(3,34,46,.34),0 0 0 4px rgba(239,216,160,.22);outline:0}
.quick-access-dock__label{display:flex;align-items:center;gap:.65rem;color:var(--white,#fff);font-size:.64rem;font-weight:900;letter-spacing:.08em;line-height:1.15;text-align:center;text-transform:uppercase}
.quick-access-dock__label--stacked{flex-direction:column;justify-content:center;gap:.18rem}
.quick-access-dock__choice{display:block;white-space:nowrap}
.quick-access-dock__label--stacked .quick-access-dock__choice{display:flex;align-items:center;gap:.32rem}
.quick-access-dock__divider{color:var(--gold-light,#efd8a0);font-size:1rem;font-weight:500}
.quick-access-dock__sparkle{color:var(--gold-light,#efd8a0)}
.quick-access-dock__panel{pointer-events:auto;position:fixed;right:clamp(.75rem,2vw,1.35rem);top:50%;width:min(78vw,21rem);max-height:calc(100dvh - 1.5rem);overflow:auto;padding:.65rem;border:1px solid rgba(239,216,160,.42);border-radius:1.25rem;background:linear-gradient(145deg,rgba(3,44,58,.97),rgba(7,95,120,.93));box-shadow:0 24px 70px rgba(3,34,46,.34),inset 0 1px 0 rgba(255,255,255,.14);opacity:0;visibility:hidden;transform:translateY(calc(-50% + 8px)) scale(.98);transform-origin:center right;transition:opacity .18s ease,visibility .18s ease,transform .18s ease;backdrop-filter:blur(12px)}
.quick-access-dock[data-open="true"] .quick-access-dock__panel{opacity:1;visibility:visible;transform:translateY(-50%) scale(1)}
.quick-access-dock__panel-head{display:flex;align-items:center;justify-content:flex-end;height:34px;margin:-.3rem -.25rem -.3rem 0}
.quick-access-dock__close{position:relative;z-index:5;pointer-events:auto;touch-action:manipulation;display:inline-grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:var(--white,#fff);font-size:1.45rem;font-weight:500;line-height:1;cursor:pointer}
.quick-access-dock__close:hover,.quick-access-dock__close:focus-visible{background:rgba(239,216,160,.2);outline:2px solid rgba(239,216,160,.65);outline-offset:2px}
.quick-access-dock__options{display:grid;gap:.38rem;padding-top:.22rem}
.quick-access-dock__link{display:grid;gap:.1rem;min-height:64px;padding:.58rem .65rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(255,255,255,.08);color:var(--foam,#edf8f5);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.quick-access-dock__link:hover,.quick-access-dock__link:focus-visible{transform:translateY(-1px);border-color:rgba(239,216,160,.55);background:rgba(255,255,255,.13);outline:0}
.quick-access-dock__link--event{margin-top:.08rem;border-color:rgba(239,216,160,.34);background:linear-gradient(135deg,rgba(239,216,160,.16),rgba(255,255,255,.08))}
.quick-access-dock__kicker{color:var(--gold-light,#efd8a0);font-size:.6rem;font-weight:900;letter-spacing:.13em;line-height:1;text-transform:uppercase}
.quick-access-dock__link:not(.quick-access-dock__link--event) .quick-access-dock__kicker{display:inline-flex;width:max-content;padding:.16rem .5rem;border:1px solid rgba(201,155,69,.8);border-radius:999px;background:var(--white,#fff);color:var(--gold,#c99b45)}
.quick-access-dock__name{display:block;color:var(--white,#fff);font-family:var(--font-display,Georgia,serif);font-size:1.04rem;font-weight:600;line-height:1.04}
.quick-access-dock__copy,.quick-access-dock__date{color:rgba(237,248,245,.86);font-size:.73rem;font-weight:600;line-height:1.2}
.quick-access-dock__action{display:inline-flex;width:max-content;margin-top:.06rem;color:var(--gold-light,#efd8a0);font-size:.72rem;font-weight:900;line-height:1.1}
@media(max-width:860px){
  /* Compact sitewide mobile launcher with a safe touch target. */
  .quick-access-dock{right:max(.6rem,env(safe-area-inset-right));top:auto;bottom:max(.6rem,env(safe-area-inset-bottom));transform:none}
  .quick-access-dock[data-open="false"] .quick-access-dock__toggle{justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%;background:#032c3a}
  .quick-access-dock[data-open="false"] .quick-access-dock__label--stacked{display:grid;place-items:center;width:100%;height:100%;font-size:0;line-height:0}
  .quick-access-dock[data-open="false"] .quick-access-dock__choice:first-child{display:grid;place-items:center}
  .quick-access-dock[data-open="false"] .quick-access-dock__choice:last-child{display:none}
  .quick-access-dock[data-open="false"] .quick-access-dock__sparkle{font-size:1.45rem;line-height:1;color:var(--gold-light,#efd8a0)}
  .quick-access-dock__divider{display:none}
  .quick-access-dock__panel{left:.8rem;right:.8rem;top:auto;bottom:calc(4.85rem + env(safe-area-inset-bottom));width:auto;max-height:calc(100dvh - 5.5rem - env(safe-area-inset-bottom));padding:.62rem;border-radius:1.15rem;transform:translateY(14px) scale(.98);transform-origin:bottom right}
  .quick-access-dock[data-open="true"] .quick-access-dock__panel{transform:translateY(0) scale(1)}
  .quick-access-dock__panel-head{position:sticky;top:-.3rem;z-index:2;height:36px;margin:-.3rem -.2rem -.3rem 0;background:linear-gradient(145deg,rgba(3,44,58,.98),rgba(7,95,120,.96))}
  .quick-access-dock__link{min-height:60px;padding:.5rem .58rem}
  .quick-access-dock__name{font-size:.98rem}
  .quick-access-dock__copy,.quick-access-dock__date{font-size:.7rem}
}
@media(max-width:335px){.quick-access-dock{right:.45rem}.quick-access-dock__panel{left:.45rem;right:.45rem;bottom:4.8rem}}
@media(max-height:620px){.quick-access-dock__panel{max-height:calc(100dvh - 1rem)}.quick-access-dock__link{min-height:0;padding:.45rem .58rem}.quick-access-dock__copy{display:none}.quick-access-dock__panel-head{height:32px}.quick-access-dock__close{width:36px;height:36px;flex-basis:36px}.quick-access-dock__options{gap:.3rem}}
@media(max-width:860px) and (max-height:620px){.quick-access-dock__panel{bottom:calc(4.65rem + env(safe-area-inset-bottom));max-height:calc(100dvh - 5.1rem - env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.quick-access-dock__toggle,.quick-access-dock__panel,.quick-access-dock__link{transition:none!important}}

/* Sitewide compact launcher: the closed state is star-only at every breakpoint. */
.quick-access-dock{right:max(.75rem,env(safe-area-inset-right));top:auto;bottom:max(.75rem,env(safe-area-inset-bottom));transform:none}
.quick-access-dock__toggle{box-sizing:border-box;display:grid;place-items:center;width:48px;height:48px;min-width:48px;min-height:48px;max-width:48px;max-height:48px;padding:0;border-radius:50%;background:#032c3a}
.quick-access-dock__toggle .quick-access-dock__sparkle{color:var(--gold-light,#efd8a0);font-size:1.4rem;line-height:1}
.quick-access-dock__panel{left:auto;right:max(.75rem,env(safe-area-inset-right));top:auto;bottom:calc(4.5rem + env(safe-area-inset-bottom));width:min(calc(100vw - 1.5rem),19rem);max-height:calc(100dvh - 5.5rem);transform:translateY(10px) scale(.98);transform-origin:bottom right}
.quick-access-dock[data-open="true"] .quick-access-dock__panel{opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important}
.quick-access-dock__options{display:grid;gap:.38rem}
.quick-access-dock__link{min-height:52px;align-content:center}
.quick-access-dock__name{font-family:var(--font-body,Manrope,Arial,sans-serif);font-size:.95rem;text-align:center}
/* 2026-08-24 correction: collapsed launcher uses two real stacked labels. */
.quick-access-dock__label.quick-access-dock__label--stacked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;text-align:center}
.quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__choice{display:flex;align-items:center;justify-content:center;gap:.32rem;white-space:nowrap}
.quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__sparkle{display:inline-block;color:var(--gold-light,#efd8a0);line-height:1}
.quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__divider{display:none!important}
.quick-access-dock[data-open="false"] .quick-access-dock__label.quick-access-dock__label--stacked{display:grid;place-items:center;width:100%;height:100%;font-size:0;line-height:0}
.quick-access-dock[data-open="false"] .quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__choice:first-child{display:grid;place-items:center}
.quick-access-dock[data-open="false"] .quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__choice:last-child{display:none}
.quick-access-dock[data-open="false"] .quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__sparkle{font-size:1.4rem;line-height:1}
/* Keep the late desktop label correction from undoing the compact mobile launcher. */
@media(max-width:860px){
  .quick-access-dock{right:max(.75rem,env(safe-area-inset-right));bottom:var(--quick-access-mobile-bottom,max(.75rem,env(safe-area-inset-bottom)))}
  .quick-access-dock[data-open="false"] .quick-access-dock__toggle,
  .quick-access-dock[data-open="true"] .quick-access-dock__toggle{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;max-width:44px;max-height:44px;padding:0;border-radius:50%;background:linear-gradient(135deg,rgba(3,44,58,.97),rgba(7,95,120,.94))}
  .quick-access-dock__label.quick-access-dock__label--stacked{display:grid;place-items:center;width:100%;height:100%;font-size:0;line-height:0}
  .quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__choice:first-child{display:grid;place-items:center}
  .quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__choice:last-child{display:none}
  .quick-access-dock__label.quick-access-dock__label--stacked .quick-access-dock__sparkle{font-size:1.35rem;line-height:1}
}
