/*! VASTROX Accessibility widget (powered by AccessGuard) — premium, left-side. */
.vxa-widget{--vxa-blue:#2f7bff;--vxa-blue2:#5b9dff;--vxa-cyan:#2fd0f0;--vxa-ink:#eef2fb;--vxa-ink2:#9db0d0;--vxa-ink3:#5e6d8c;
  --vxa-panel:#0d1424;--vxa-panel2:#111a30;--vxa-inset:#0a1120;--vxa-line:rgba(120,150,210,.16);--vxa-line2:rgba(120,150,210,.26);
  position:fixed;z-index:2147483000;left:22px;bottom:22px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}
.vxa-widget *,.vxa-widget *::before,.vxa-widget *::after{box-sizing:border-box}
.vxa-widget button{font-family:inherit}

/* ---------- floating trigger ---------- */
.vxa-fab{position:relative;width:58px;height:58px;border-radius:50%;border:0;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,#3f86ff 0%,#2f7bff 46%,#003efd 118%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px -8px rgba(0,62,253,.6),inset 0 1px 0 rgba(255,255,255,.25);
  transition:transform .22s cubic-bezier(.34,1.5,.5,1),box-shadow .25s}
.vxa-fab svg{width:30px;height:30px}
.vxa-fab::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(47,123,255,.5);opacity:0;transform:scale(.9);transition:opacity .3s,transform .3s}
.vxa-fab:hover{transform:translateY(-2px) scale(1.05)}
.vxa-fab:hover::after{opacity:1;transform:scale(1)}
.vxa-fab:focus-visible{outline:3px solid #fff;outline-offset:3px}
.vxa-widget.vxa-active .vxa-fab::before{content:"";position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;
  background:#37e39b;border:2px solid #0d1424;box-shadow:0 0 8px #37e39b}
.vxa-widget.vxa-open .vxa-fab{transform:scale(.92)}
/* gentle attention pulse until first interaction */
@keyframes vxa-pulse{0%,100%{box-shadow:0 12px 30px -8px rgba(0,62,253,.6),0 0 0 0 rgba(47,123,255,.5)}50%{box-shadow:0 12px 30px -8px rgba(0,62,253,.6),0 0 0 12px rgba(47,123,255,0)}}
.vxa-widget:not(.vxa-open):not(.vxa-active) .vxa-fab{animation:vxa-pulse 3.4s ease-in-out infinite}

/* ---------- panel ---------- */
.vxa-panel{position:absolute;bottom:70px;left:0;width:360px;max-height:min(80vh,660px);display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(17,26,48,.98),rgba(10,15,28,.99));
  border:1px solid var(--vxa-line2);border-radius:20px;overflow:hidden;
  box-shadow:0 40px 80px -24px rgba(0,0,0,.7),0 0 0 1px rgba(47,123,255,.12),inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(20px) saturate(1.3);color:var(--vxa-ink);
  transform-origin:bottom left;animation:vxa-in .28s cubic-bezier(.16,1,.3,1)}
@keyframes vxa-in{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.vxa-panel[hidden]{display:none}

/* header */
.vxa-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;
  background:linear-gradient(135deg,#2f7bff,#003efd);color:#fff;position:relative;overflow:hidden}
.vxa-head::after{content:"";position:absolute;inset:0;background:radial-gradient(200px 80px at 90% -20%,rgba(47,208,240,.5),transparent 70%);pointer-events:none}
.vxa-head-t{display:flex;align-items:center;gap:11px;position:relative}
.vxa-head-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.16);flex:0 0 auto}
.vxa-head-ic svg{width:20px;height:20px}
.vxa-head-t b{display:block;font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.vxa-head-t i{font-style:normal;font-size:11.5px;color:rgba(255,255,255,.82)}
.vxa-x{width:32px;height:32px;border-radius:9px;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:grid;place-items:center;flex:0 0 auto;transition:background .15s}
.vxa-x svg{width:17px;height:17px}
.vxa-x:hover{background:rgba(255,255,255,.28)}
.vxa-x:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* body scroll */
.vxa-body{padding:6px 16px 14px;overflow-y:auto;overscroll-behavior:contain}
.vxa-body::-webkit-scrollbar{width:8px}
.vxa-body::-webkit-scrollbar-thumb{background:var(--vxa-line2);border-radius:8px}
.vxa-sec{font-size:11px;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:var(--vxa-ink3);margin:16px 2px 9px}

/* profiles */
.vxa-profiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vxa-prof{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:12px;cursor:pointer;text-align:left;
  border:1px solid var(--vxa-line);background:linear-gradient(180deg,rgba(120,150,210,.06),rgba(120,150,210,.02));color:var(--vxa-ink);
  font-size:13px;font-weight:650;transition:border-color .18s,background .18s,transform .12s}
.vxa-prof-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;color:var(--vxa-blue2);
  background:radial-gradient(120% 120% at 30% 20%,rgba(47,123,255,.22),rgba(47,208,240,.05));border:1px solid var(--vxa-line)}
.vxa-prof-ic svg{width:17px;height:17px}
.vxa-prof:hover{border-color:var(--vxa-blue);transform:translateY(-1px)}
.vxa-prof:focus-visible{outline:2px solid var(--vxa-blue2);outline-offset:1px}
.vxa-prof.vxa-on{border-color:var(--vxa-blue);background:linear-gradient(135deg,rgba(47,123,255,.24),rgba(0,62,253,.12));box-shadow:0 0 0 1px rgba(47,123,255,.4)}
.vxa-prof.vxa-on .vxa-prof-ic{background:linear-gradient(135deg,#2f7bff,#003efd);color:#fff;border-color:transparent}

/* font stepper */
.vxa-fontrow{display:flex;align-items:center;gap:10px}
.vxa-fbtn{width:46px;height:46px;flex:0 0 auto;border-radius:12px;border:1px solid var(--vxa-line2);cursor:pointer;
  background:linear-gradient(180deg,rgba(120,150,210,.08),rgba(120,150,210,.02));color:var(--vxa-ink);display:grid;place-items:center;transition:border-color .15s,background .15s}
.vxa-fbtn svg{width:20px;height:20px}
.vxa-fbtn:hover{border-color:var(--vxa-blue);background:rgba(47,123,255,.1);color:var(--vxa-blue2)}
.vxa-fbtn:active{transform:scale(.94)}
.vxa-fbtn:focus-visible{outline:2px solid var(--vxa-blue2);outline-offset:1px}
.vxa-fmeter{flex:1 1 auto;position:relative;height:46px;border-radius:12px;border:1px solid var(--vxa-line);background:var(--vxa-inset);overflow:hidden;display:flex;align-items:center;justify-content:center}
.vxa-fmeter-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(47,123,255,.35),rgba(47,208,240,.3));transition:width .25s cubic-bezier(.16,1,.3,1)}
.vxa-fval{position:relative;font-variant-numeric:tabular-nums;font-weight:800;font-size:16px;letter-spacing:-.01em}

/* control grid (toggles + steppers) */
.vxa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vxa-ctl{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:11px 12px;min-height:60px;border-radius:12px;cursor:pointer;text-align:left;
  border:1px solid var(--vxa-line);background:linear-gradient(180deg,rgba(120,150,210,.05),rgba(120,150,210,.01));color:var(--vxa-ink);
  font-size:12.5px;font-weight:600;transition:border-color .16s,background .16s,transform .1s;position:relative}
.vxa-ci{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--vxa-ink2);background:rgba(120,150,210,.08);border:1px solid var(--vxa-line)}
.vxa-ci svg{width:15px;height:15px}
.vxa-cl{line-height:1.25}
.vxa-ctl:hover{border-color:var(--vxa-line2);transform:translateY(-1px)}
.vxa-ctl:focus-visible{outline:2px solid var(--vxa-blue2);outline-offset:1px}
.vxa-ctl.vxa-on{border-color:var(--vxa-blue);background:linear-gradient(135deg,rgba(47,123,255,.2),rgba(0,62,253,.08))}
.vxa-ctl.vxa-on .vxa-ci{background:linear-gradient(135deg,#2f7bff,#003efd);color:#fff;border-color:transparent}
/* on toggles: a small check corner */
.vxa-ctl[role="switch"]::after{content:"";position:absolute;top:9px;right:9px;width:14px;height:14px;border-radius:5px;border:1.6px solid var(--vxa-line2);background:transparent;transition:.15s}
.vxa-ctl[role="switch"].vxa-on::after{border-color:#37e39b;background:#37e39b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23041b0f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4 10-10'/%3E%3C/svg%3E") center/11px no-repeat}
/* stepper level dots */
.vxa-lvl{display:flex;gap:4px;margin-top:2px}
.vxa-lvl i{width:16px;height:4px;border-radius:2px;background:var(--vxa-line2)}
.vxa-lvl i.on{background:linear-gradient(90deg,#2f7bff,#2fd0f0)}

/* footer */
.vxa-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--vxa-line)}
.vxa-reset{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:700;
  border:1px solid rgba(255,107,107,.32);background:rgba(255,107,107,.08);color:#ff8a8a;transition:.15s}
.vxa-reset svg{width:16px;height:16px}
.vxa-reset:hover{background:rgba(255,107,107,.16)}
.vxa-reset:focus-visible{outline:2px solid #ff8a8a;outline-offset:1px}
.vxa-brand{font-size:11px;color:var(--vxa-ink3);text-decoration:none;text-align:right}
.vxa-brand b{color:var(--vxa-blue2);font-weight:700}
.vxa-brand:hover b{text-decoration:underline}

@media(max-width:440px){.vxa-panel{width:calc(100vw - 44px)}}
@media (prefers-reduced-motion:reduce){.vxa-fab,.vxa-panel{animation:none!important}.vxa-fab{transition:none}}

/* =========================================================================
   HOST-PAGE MODES (applied to <html>, scoped by class, high specificity)
   ========================================================================= */
html.vxa-m-contrast{filter:contrast(1.4)}
html.vxa-m-invert{filter:invert(1) hue-rotate(180deg)}
html.vxa-m-invert img,html.vxa-m-invert video,html.vxa-m-invert picture,html.vxa-m-invert [style*="background-image"]{filter:invert(1) hue-rotate(180deg)}
html.vxa-m-contrast.vxa-m-invert{filter:contrast(1.4) invert(1) hue-rotate(180deg)}
html.vxa-sat-1{filter:saturate(.55)}
html.vxa-sat-2{filter:saturate(0)}
html.vxa-sat-3{filter:saturate(1.6)}
/* combine contrast with saturation via layered filters where possible */
html.vxa-m-contrast.vxa-sat-2{filter:contrast(1.4) saturate(0)}
html.vxa-m-contrast.vxa-sat-1{filter:contrast(1.4) saturate(.55)}
html.vxa-m-contrast.vxa-sat-3{filter:contrast(1.4) saturate(1.6)}

html.vxa-m-dark{background:#0a0d14!important}
html.vxa-m-dark body{background:#0a0d14!important}
html.vxa-m-dark body,html.vxa-m-dark p,html.vxa-m-dark li,html.vxa-m-dark span,html.vxa-m-dark h1,html.vxa-m-dark h2,html.vxa-m-dark h3,html.vxa-m-dark h4,html.vxa-m-dark h5,html.vxa-m-dark h6,html.vxa-m-dark td,html.vxa-m-dark th{color:#e7ecf5!important}
html.vxa-m-light,html.vxa-m-light body{background:#ffffff!important}
html.vxa-m-light body,html.vxa-m-light p,html.vxa-m-light li,html.vxa-m-light span,html.vxa-m-light h1,html.vxa-m-light h2,html.vxa-m-light h3,html.vxa-m-light h4,html.vxa-m-light h5,html.vxa-m-light h6,html.vxa-m-light td,html.vxa-m-light th{color:#12151c!important}

html.vxa-m-links a:not(.vxa-brand){text-decoration:underline!important;text-underline-offset:2px!important;text-decoration-thickness:2px!important;font-weight:600!important}
html.vxa-m-headings h1,html.vxa-m-headings h2,html.vxa-m-headings h3,html.vxa-m-headings h4{outline:2px dashed rgba(47,123,255,.6)!important;outline-offset:3px!important;border-radius:4px}

html.vxa-m-readable body,html.vxa-m-readable body :not(.vxa-widget):not(.vxa-widget *){font-family:"Atkinson Hyperlegible",Verdana,Tahoma,Arial,sans-serif!important;letter-spacing:.02em!important;word-spacing:.14em!important}
html.vxa-lh-1 body,html.vxa-lh-1 p,html.vxa-lh-1 li{line-height:1.75!important}
html.vxa-lh-2 body,html.vxa-lh-2 p,html.vxa-lh-2 li{line-height:2.15!important}
html.vxa-ls-1 body :not(.vxa-widget):not(.vxa-widget *){letter-spacing:.06em!important}
html.vxa-ls-2 body :not(.vxa-widget):not(.vxa-widget *){letter-spacing:.12em!important}

html.vxa-m-nomotion *,html.vxa-m-nomotion *::before,html.vxa-m-nomotion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.vxa-m-nomotion video{display:none}
html.vxa-m-hideimg img,html.vxa-m-hideimg picture,html.vxa-m-hideimg svg:not(.vxa-widget svg),html.vxa-m-hideimg video{visibility:hidden!important}

html.vxa-m-bigcursor,html.vxa-m-bigcursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath d='M9 5l33 20-16 3-4 16z' fill='%23000' stroke='%23fff' stroke-width='2.5'/%3E%3C/svg%3E") 6 6,auto!important}
html.vxa-m-focus a:focus-visible,html.vxa-m-focus button:focus-visible,html.vxa-m-focus input:focus-visible,html.vxa-m-focus select:focus-visible,html.vxa-m-focus textarea:focus-visible,html.vxa-m-focus [tabindex]:focus-visible{outline:3px solid #2f7bff!important;outline-offset:3px!important;border-radius:3px}

/* reading guide + mask overlays (created by JS, kept above content) */
.vxa-guide-line{position:fixed;left:0;right:0;height:3px;z-index:2147482000;pointer-events:none;
  background:linear-gradient(90deg,transparent,#2f7bff 20%,#2fd0f0 80%,transparent);box-shadow:0 0 12px rgba(47,123,255,.7);transform:translateY(-50%)}
.vxa-mask{position:fixed;left:0;right:0;z-index:2147481000;pointer-events:none;background:rgba(3,6,14,.62)}
.vxa-mask-top{top:0;height:0}
.vxa-mask-bot{bottom:0;top:100%}

/* screen-reader-only live region */
.vxa-sr-live{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* keyboard hint tooltip on the fab */
.vxa-fab::before{content:none}
.vxa-widget .vxa-fab[data-hint]:hover::after{content:attr(data-hint);position:absolute;left:calc(100% + 12px);bottom:14px;white-space:nowrap;
  background:#0d1424;color:#eef2fb;font-size:12px;font-weight:600;padding:7px 11px;border-radius:9px;border:1px solid rgba(120,150,210,.26);
  box-shadow:0 10px 26px -8px rgba(0,0,0,.5);pointer-events:none;opacity:0;animation:vxa-hint .18s .35s forwards}
@keyframes vxa-hint{to{opacity:1}}
@media(max-width:600px){.vxa-widget .vxa-fab[data-hint]:hover::after{display:none}}
