/* GeekHouse Portal 3.21.3 — accessibility, PWA and async feedback */
.skip-link{position:fixed;left:16px;top:12px;z-index:100000;transform:translateY(-160%);padding:12px 17px;border:2px solid #70dcff;border-radius:8px;background:#03131d;color:#fff;font-weight:800;box-shadow:0 12px 35px rgba(0,0,0,.45);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:3px solid rgba(95,218,255,.92);outline-offset:3px}
.nav-dropdown-toggle[aria-expanded="true"]{color:#fff}
.header-search-panel[aria-hidden="true"]{visibility:hidden}
.header-search-panel[aria-hidden="false"]{visibility:visible}
.async-status{min-height:20px;margin-top:10px;color:#a9c5d2;font-size:12px}
.async-status.success{color:#71e4ad}.async-status.error{color:#ff8e9d}
[data-async-form][aria-busy="true"]{opacity:.72;pointer-events:none}
[data-async-form][aria-busy="true"] button{position:relative}
[data-async-form] button[data-is-busy]::after{content:"";width:13px;height:13px;margin-left:8px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:gh-spin .65s linear infinite}
.notification-item.is-removing{opacity:0;transform:translateX(22px);transition:opacity .2s ease,transform .2s ease}
.notification-item.is-read{opacity:.72}
.notification-toolbar .async-status{margin:0 0 0 auto;align-self:center}
.poll-results.is-updating{opacity:.65}
.pwa-install-button[hidden]{display:none!important}
.pwa-install-button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:11px 13px;border:0;border-top:1px solid rgba(132,190,214,.15);border-radius:0;background:transparent;color:#b9d2de;text-align:left}
.pwa-install-button:hover{background:#0b2635;color:#fff}
.offline-badge{position:fixed;right:18px;bottom:90px;z-index:9999;padding:9px 13px;border:1px solid #8d6a27;border-radius:999px;background:#251b08;color:#ffd88a;font:700 11px/1.2 var(--font-ui,Arial,sans-serif);box-shadow:0 12px 28px rgba(0,0,0,.35)}
@keyframes gh-spin{to{transform:rotate(360deg)}}
@media(max-width:800px){.skip-link{left:10px;right:10px;text-align:center}.offline-badge{bottom:82px;right:12px}}
@media(prefers-reduced-motion:reduce){.skip-link,.notification-item{transition:none!important}[data-async-form][aria-busy="true"] button::after{animation-duration:1.2s}}


/* =========================================================
   3.22.1.0 — logo and heading glitch accents
   ========================================================= */
@media (min-width:1181px){
  .site-header .brand img{
    will-change:transform,filter,opacity;
    animation:gh-logo-glitch 9s steps(1,end) infinite;
    filter:drop-shadow(0 0 10px rgba(79,209,255,.16));
    transform-origin:center;
  }
  .site-header .brand span{
    animation:gh-label-glitch 11s steps(1,end) infinite;
    will-change:transform,text-shadow,opacity;
  }
  .site-main :is(.section-head h2,.page-hero h1,.portal-featured h1,.home-tab-card-head h2,.article-hero-copy h1,.for-you-hero h1,.forum-hero h1,.employee-hero h1,.wallet-hero h1){
    will-change:transform,text-shadow,opacity;
    animation:gh-heading-glitch 12s steps(1,end) infinite;
    text-shadow:0 0 14px rgba(79,209,255,.10);
  }
}
@keyframes gh-logo-glitch{
  0%,87%,100%{transform:none;opacity:1;filter:drop-shadow(0 0 10px rgba(79,209,255,.16));}
  88%{transform:translate(1px,-1px) skewX(-2deg);opacity:.98;filter:drop-shadow(-2px 0 0 rgba(106,224,255,.48)) drop-shadow(2px 0 0 rgba(165,96,255,.22));}
  89%{transform:translate(-2px,1px) skewX(1.5deg);filter:drop-shadow(2px 0 0 rgba(106,224,255,.44)) drop-shadow(-2px 0 0 rgba(165,96,255,.28));}
  90%{transform:translate(1px,0) scaleY(.992);filter:drop-shadow(0 0 14px rgba(79,209,255,.28));}
  91%{transform:none;opacity:1;}
}
@keyframes gh-label-glitch{
  0%,89%,100%{transform:none;opacity:1;text-shadow:0 0 0 transparent;}
  90%{transform:translate(1px,0);text-shadow:-2px 0 rgba(106,224,255,.42),2px 0 rgba(165,96,255,.24);}
  91%{transform:translate(-1px,0);text-shadow:2px 0 rgba(106,224,255,.36),-2px 0 rgba(165,96,255,.18);}
  92%{transform:none;text-shadow:0 0 10px rgba(79,209,255,.14);}
}
@keyframes gh-heading-glitch{
  0%,91%,100%{transform:none;opacity:1;text-shadow:0 0 14px rgba(79,209,255,.10);}
  92%{transform:translate(1px,-1px);text-shadow:-2px 0 rgba(106,224,255,.46),2px 0 rgba(165,96,255,.26),0 0 16px rgba(79,209,255,.15);}
  93%{transform:translate(-1px,1px);text-shadow:2px 0 rgba(106,224,255,.34),-2px 0 rgba(165,96,255,.18),0 0 10px rgba(79,209,255,.11);}
  94%{transform:translate(1px,0);opacity:.985;}
  95%{transform:none;opacity:1;}
}
@media (prefers-reduced-motion:reduce){
  .site-header .brand img,
  .site-header .brand span,
  .site-main :is(.section-head h2,.page-hero h1,.portal-featured h1,.home-tab-card-head h2,.article-hero-copy h1,.for-you-hero h1,.forum-hero h1,.employee-hero h1,.wallet-hero h1){animation:none!important;}
}
