/* Apex Flow Labs ecosystem kit components v1. Needs tokens.css first. Load both in <head> so the bar height is reserved before paint (zero layout shift). */
html{scroll-padding-top:var(--apex-bar-h)}
body:not([data-apex-kit-overlay]){padding-top:var(--apex-bar-h)}
.apex-kit,.apex-kit *{box-sizing:border-box}
.apex-kit-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* the bar */
.apex-kit-bar{position:fixed;inset:0 0 auto 0;z-index:var(--apex-z-bar);height:var(--apex-bar-h);display:flex;align-items:center;gap:var(--apex-space-2);padding:0 var(--apex-space-3);background:var(--apex-bar-bg);color:var(--apex-bar-fg);border-bottom:var(--apex-edge) solid var(--apex-bar-edge);box-shadow:var(--apex-shadow-bar);font:var(--apex-weight-strong) var(--apex-text-sm)/1 var(--apex-font);letter-spacing:normal;text-transform:none}
.apex-kit-bar::before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--apex-edge);background:var(--apex-accent);pointer-events:none}
.apex-kit-brand{display:flex;flex-direction:column;justify-content:center;min-width:0;margin-right:auto;padding:0 var(--apex-space-2);line-height:1.1}
.apex-kit-brand b{color:var(--apex-yellow-title);font-weight:var(--apex-weight-heavy);font-size:var(--apex-text-md);letter-spacing:var(--apex-tracking-caps);text-shadow:1px 2px 0 #003878;white-space:nowrap}
.apex-kit-brand span{color:var(--apex-white);font-size:var(--apex-text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32vw}
.apex-kit-btn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:44px;padding:0 var(--apex-space-3);background:var(--apex-btn-bg);color:var(--apex-btn-fg);border:var(--apex-edge) solid var(--apex-btn-edge);border-radius:var(--apex-radius-pill);box-shadow:var(--apex-shadow-btn);font:var(--apex-weight-heavy) var(--apex-text-sm)/1 var(--apex-font);white-space:nowrap;cursor:pointer;text-decoration:none;transition:transform var(--apex-dur-fast) var(--apex-ease-out),background-color var(--apex-dur-fast) var(--apex-ease-out)}
.apex-kit-btn:hover{background:var(--apex-btn-bg-hover);transform:translateY(-2px)}
.apex-kit-btn:active{transform:translateY(1px);box-shadow:0 1px 0 var(--apex-shadow-ink)}
.apex-kit-btn[aria-expanded=true]{background:var(--apex-btn-bg-hover)}
.apex-kit :focus-visible,.apex-kit-btn:focus-visible{outline:none;box-shadow:var(--apex-focus-ring)!important}
.apex-kit-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:var(--apex-radius-round);background:var(--apex-ink-2);color:var(--apex-yellow);font-size:var(--apex-text-xs)}
.apex-kit-skip{position:fixed;left:var(--apex-space-2);top:calc(var(--apex-bar-h) + var(--apex-space-2));z-index:var(--apex-z-bar)}
.apex-kit-skip:not(:focus){clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;min-width:0;min-height:0;padding:0;border:0;overflow:hidden}

/* menus and panels */
.apex-kit-wrap{position:relative}
.apex-kit-panel{position:fixed;top:calc(var(--apex-bar-h) + var(--apex-space-2));right:var(--apex-space-3);z-index:var(--apex-z-bar);width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - var(--apex-bar-h) - 24px);overflow:auto;padding:var(--apex-space-3);background:var(--apex-panel-bg);color:var(--apex-panel-fg);border:var(--apex-edge) solid var(--apex-blue-deep);border-radius:var(--apex-radius-lg);box-shadow:var(--apex-shadow-panel),var(--apex-shadow-float);font:var(--apex-weight-body) var(--apex-text-sm)/1.45 var(--apex-font)}
.apex-kit-panel[hidden]{display:none}
.apex-kit-panel h2{margin:0 0 var(--apex-space-2);font:var(--apex-weight-heavy) var(--apex-text-md)/1.2 var(--apex-font);color:var(--apex-ink-2)}
.apex-kit-panel p{margin:0 0 var(--apex-space-3)}
.apex-kit-panel a{color:var(--apex-blue-deep);font-weight:var(--apex-weight-strong)}
.apex-kit-menu{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.apex-kit-menu a{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:center;padding:6px 10px;border-radius:var(--apex-radius-md);color:var(--apex-ink-2);text-decoration:none}
.apex-kit-menu a:hover{background:#fff}
.apex-kit-menu a[aria-current=page]{background:var(--apex-yellow);border:2px solid var(--apex-ink-2)}
.apex-kit-menu b{font-weight:var(--apex-weight-heavy)}
.apex-kit-menu small{font-size:var(--apex-text-xs);color:#354658}
.apex-kit-row{display:flex;align-items:center;justify-content:space-between;gap:var(--apex-space-2);padding:6px 0;border-bottom:1px solid #e4d98f}
.apex-kit-panel .apex-kit-btn{min-height:36px;font-size:var(--apex-text-xs)}

/* partner strip */
.apex-kit-partners{margin:0;padding:var(--apex-space-6) var(--apex-gutter);background:var(--apex-night-2);color:var(--apex-white);font:var(--apex-weight-body) var(--apex-text-md)/var(--apex-leading-body) var(--apex-font)}
.apex-kit-partners>div{max-width:var(--apex-max);margin:0 auto}
.apex-kit-partners h2{margin:0 0 var(--apex-space-4);font:var(--apex-weight-heavy) var(--apex-text-xl)/var(--apex-leading-tight) var(--apex-font);color:var(--apex-white)}
.apex-kit-partners h2 em{font-style:normal;color:var(--apex-accent)}
.apex-kit-partners ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--apex-space-4)}
.apex-kit-partners li{display:flex;flex-direction:column;gap:var(--apex-space-2);padding:var(--apex-space-4);background:var(--apex-night);border:2px solid var(--apex-line);border-radius:var(--apex-radius-lg)}
.apex-kit-partners li a{align-self:flex-start;margin-top:auto}
.apex-kit-partners p{margin:0;color:var(--apex-text-muted);font-size:var(--apex-text-sm)}
.apex-kit-partners strong{font-size:var(--apex-text-lg);color:var(--apex-white)}

/* footer (same markup as footer.js / UniversalFooter, kit-rendered copy only) */
.apex-kit-footer.apex-family{padding:var(--apex-space-7) var(--apex-gutter);background:var(--apex-night);color:#edf3f6;font:var(--apex-weight-body) 15px/var(--apex-leading-body) var(--apex-font);border-top:var(--apex-edge) solid var(--apex-blue)}
.apex-kit-footer .apex-family-inner{max-width:var(--apex-max);margin:0 auto}
.apex-kit-footer h2{margin:0 0 10px;font:var(--apex-weight-heavy) var(--apex-text-xl)/1.2 var(--apex-font);color:#fff}
.apex-kit-footer p{margin:0 0 var(--apex-space-4);color:var(--apex-text-muted)}
.apex-kit-footer a{color:#f4f7f9;font-weight:var(--apex-weight-strong);text-decoration:none}
.apex-kit-footer a:hover{color:var(--apex-mint);text-decoration:underline}
.apex-kit-footer ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:18px 28px}
.apex-kit-footer li a{display:block;min-height:24px}
.apex-kit-footer small{display:block;color:#b6c7d3;font-size:13px;line-height:1.5;margin-top:3px}
.apex-kit-footer .apex-family-arcade{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:18px 22px;margin:0 0 28px;border:2px solid #4d827d;border-radius:var(--apex-radius-lg);background:linear-gradient(110deg,#183a3a,#172938)}
.apex-kit-footer .apex-family-arcade a{font-size:18px;color:#a3f4d9}
.apex-kit-footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;padding-top:20px;border-top:1px solid var(--apex-line);font-size:13px}

@media (max-width:640px){
  .apex-kit-bar{gap:6px;padding:0 var(--apex-space-2)}
  .apex-kit-long{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .apex-kit-brand span{display:none}
  .apex-kit-brand b{font-size:var(--apex-text-sm);letter-spacing:1px}
  .apex-kit-btn{padding:0 8px;min-width:44px;font-size:13px}
  .apex-kit-cap{text-transform:capitalize}
}
@media (max-width:520px){.apex-kit-brand{display:none}.apex-kit-bar{justify-content:space-between}}
@media (prefers-reduced-motion:reduce){.apex-kit-btn,.apex-kit-btn:hover{transition:none;transform:none}}
@media print{.apex-kit-bar,.apex-kit-panel{display:none}body:not([data-apex-kit-overlay]){padding-top:0}}
