/* GaitLab Motion Lab v1.1 - every selector is scoped under .gl-gaitlab. Red (#e74c3c) means an error and nothing else. */
.gl-gaitlab{--gl-a:var(--gl-accent-light,#52B788);--gl-gold:#E9B949;--gl-gold2:#f3cd6f;--gl-cl:var(--gl-coral-light,#F4A261);--gl-r:var(--gl-radius,14px);--gl-bg:var(--gl-dark,#0b1a12);--gl-bg2:var(--gl-forest-deep,#0d1f16);--gl-t:#e8f3ec;--gl-m:#b3cfc0;
  position:relative;display:block;max-width:1180px;margin:0 auto;color:var(--gl-t);background:linear-gradient(180deg,var(--gl-bg2),var(--gl-bg));border-radius:var(--gl-r);overflow:hidden;font:inherit;line-height:1.5;box-shadow:0 18px 50px -20px rgba(0,0,0,.55);-webkit-tap-highlight-color:transparent}
.gl-gaitlab *{box-sizing:border-box}
/* reserve the scene before the script mounts (no layout shift) */
.gl-gaitlab:empty::before{content:"";display:block;aspect-ratio:2/1;min-height:300px;max-height:640px}
.gl-gaitlab[data-variant=full]:empty::before{aspect-ratio:1/.54}
.gl-gaitlab:empty::after{content:"";display:block;height:190px}
.gl-gaitlab[data-variant=hero]:empty::after{height:90px}
.gl-gaitlab [hidden]{display:none!important}
.gl-gaitlab .gl-stage{position:relative;line-height:0}
.gl-gaitlab .gl-scene{display:block;width:100%;height:340px;touch-action:manipulation}
.gl-gaitlab .gl-hud{position:absolute;top:8px;right:8px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:72%;line-height:1.2;pointer-events:none}
.gl-gaitlab .gl-chip{font-size:13px;font-weight:600;letter-spacing:.01em;padding:4px 10px;border-radius:99px;background:rgba(11,26,18,.72);border:1px solid rgba(82,183,136,.35);color:#d8f3dc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.gl-gaitlab .gl-chip.gl-bad{border-color:#e74c3c;color:#ffd9d3;background:rgba(231,76,60,.25)}
.gl-gaitlab .gl-chip.gl-bad::before{content:"! "}
.gl-gaitlab .gl-over{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:1.3}
.gl-gaitlab .gl-over>*{pointer-events:auto}
.gl-gaitlab .gl-tl{display:block;width:100%;height:54px;cursor:ew-resize;touch-action:none;border-top:1px solid rgba(82,183,136,.2)}
.gl-gaitlab .gl-tl:focus-visible{outline:3px solid var(--gl-gold);outline-offset:-3px}
.gl-gaitlab .gl-tll{margin:0;padding:2px 12px 6px;font-size:13px;color:var(--gl-m);background:#0b1a12}
.gl-gaitlab .gl-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(0,0,0,.18)}
.gl-gaitlab .gl-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.gl-gaitlab .gl-btn{font:inherit;font-size:15px;font-weight:600;min-height:44px;min-width:44px;padding:8px 14px;border-radius:10px;border:1px solid rgba(82,183,136,.35);background:rgba(255,255,255,.04);color:var(--gl-t);cursor:pointer;line-height:1.2;transition:background .15s,border-color .15s,transform .1s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.gl-gaitlab .gl-btn:hover{background:rgba(82,183,136,.14);border-color:var(--gl-a)}
.gl-gaitlab .gl-btn:active{transform:translateY(1px)}
.gl-gaitlab .gl-btn:focus-visible,.gl-gaitlab a:focus-visible,.gl-gaitlab input:focus-visible,.gl-gaitlab summary:focus-visible{outline:3px solid var(--gl-gold);outline-offset:2px}
.gl-gaitlab .gl-btn:disabled{opacity:.6;cursor:default}
.gl-gaitlab .gl-btn.on,.gl-gaitlab .gl-btn[aria-pressed="true"]{background:var(--gl-a);border-color:var(--gl-a);color:#0b1a12}
.gl-gaitlab .gl-tabs{display:flex;gap:4px;padding:3px;border-radius:12px;background:rgba(255,255,255,.06)}
.gl-gaitlab .gl-tab{border-color:transparent;min-width:76px}
.gl-gaitlab .gl-seg{display:inline-flex;gap:3px;flex-wrap:wrap}
.gl-gaitlab .gl-seg .gl-btn{padding:8px 12px}
.gl-gaitlab .gl-play{min-width:104px}
.gl-gaitlab .gl-big{font-size:16px;padding:12px 20px;border-radius:12px}
/* the call to action is gold: red is kept for errors */
.gl-gaitlab .gl-cta,.gl-gaitlab .gl-cta2{background:var(--gl-gold);border-color:var(--gl-gold);color:#1b1405}
.gl-gaitlab .gl-cta:hover,.gl-gaitlab .gl-cta2:hover{background:var(--gl-gold2);border-color:var(--gl-gold2);color:#1b1405}
.gl-gaitlab .gl-cta{font-size:18px;box-shadow:0 8px 24px -8px rgba(233,185,73,.55)}
/* hero */
.gl-gaitlab .gl-hcopy{padding:20px 18px 6px;line-height:1.35}
.gl-gaitlab .gl-title{font-family:var(--gl-font-heading,'DM Serif Display',Georgia,'Times New Roman',serif);font-weight:400;font-size:clamp(26px,4.2vw,44px);line-height:1.12;letter-spacing:-.01em;color:#fff;margin:0 0 10px;max-width:20ch;text-wrap:balance}
.gl-gaitlab .gl-sub{margin:0;font-size:17px;color:#cfe8da;max-width:36em}
.gl-gaitlab .gl-hact{display:flex;flex-direction:column;gap:12px;padding:12px 16px 14px;line-height:1.35}
.gl-gaitlab .gl-hact .gl-tabs{align-self:stretch}
.gl-gaitlab .gl-hact .gl-tab{flex:1}
.gl-gaitlab .gl-hcta{display:flex;flex-direction:column;gap:6px}
.gl-gaitlab .gl-hcta .gl-cta{width:100%}
.gl-gaitlab .gl-hsub{font-size:13px;color:var(--gl-m);text-align:center}
.gl-gaitlab .gl-full{font-weight:600;font-size:15px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:#cfe8da}
.gl-gaitlab.gl-hwide .gl-hleft{position:absolute;left:0;top:0;bottom:0;width:38%;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:28px 0 28px 32px;line-height:1.35;background:linear-gradient(90deg,rgba(6,15,10,.55),rgba(6,15,10,0))}
.gl-gaitlab.gl-hwide .gl-hcopy{padding:0 0 8px}
.gl-gaitlab.gl-hwide .gl-hact{padding:8px 0 0;max-width:340px}
.gl-gaitlab.gl-hwide .gl-hcta .gl-hsub{text-align:left}
.gl-gaitlab.gl-hwide .gl-full{justify-content:flex-start}
.gl-gaitlab.gl-gaming .gl-hleft,.gl-gaitlab.gl-gaming .gl-hcopy,.gl-gaitlab.gl-gaming .gl-hact{display:none}
/* the game UI (chooser, rounds, end screen) replaces the hero CTA */
.gl-gaitlab.gl-gameui .gl-hcta{display:none}
.gl-gaitlab .gl-about{padding:0 16px 10px;font-size:13px;color:var(--gl-m);line-height:1.45}
.gl-gaitlab .gl-about summary{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:8px;font-weight:600;list-style:none}
.gl-gaitlab .gl-about summary::-webkit-details-marker{display:none}
.gl-gaitlab .gl-about summary::before{content:"i";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid currentColor;font-weight:800;font-size:12px;font-style:italic}
.gl-gaitlab .gl-about .gl-foot{border:0;padding:0 0 6px}
/* full + compact */
.gl-gaitlab .gl-body{display:grid;grid-template-columns:1fr;gap:0}
.gl-gaitlab .gl-ctrl,.gl-gaitlab .gl-panel{padding:12px 14px 14px}
.gl-gaitlab .gl-panel{border-top:1px solid rgba(82,183,136,.15)}
.gl-gaitlab.gl-wide .gl-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.gl-gaitlab.gl-wide .gl-panel{border-top:0;border-left:1px solid rgba(82,183,136,.15)}
.gl-gaitlab .gl-h{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gl-m);margin:6px 0 8px}
.gl-gaitlab .gl-errs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.gl-gaitlab .gl-err{font-weight:600;font-size:15px}
.gl-gaitlab .gl-err.on{background:rgba(231,76,60,.22);border-color:#e74c3c;color:#fff}
.gl-gaitlab .gl-err.on::before{content:"\25CF";color:#e74c3c;font-size:11px}
/* evidence: neutral, dot strength + word */
.gl-gaitlab .gl-ev{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;padding:1px 7px;border-radius:6px;line-height:1.4;background:rgba(255,255,255,.07);color:#d5e3db;white-space:nowrap}
.gl-gaitlab .gl-ev i{font-style:normal;font-size:9px;letter-spacing:1px;opacity:.85}
.gl-gaitlab .gl-ev-W{background:rgba(244,162,97,.3);color:#fff}
.gl-gaitlab .gl-err.on .gl-ev{background:rgba(0,0,0,.25);color:#fff}
.gl-gaitlab .gl-evleg{font-size:13px;color:var(--gl-m);margin:0 0 8px}
.gl-gaitlab .gl-evleg summary{cursor:pointer;min-height:36px;display:inline-flex;align-items:center;text-decoration:underline dotted;text-underline-offset:3px}
.gl-gaitlab .gl-evleg ul{list-style:none;padding:0;margin:4px 0}
.gl-gaitlab .gl-evleg li{margin:4px 0}
.gl-gaitlab .gl-evleg p{margin:4px 0}
.gl-gaitlab .gl-more{margin:6px 0 10px;border-top:1px solid rgba(82,183,136,.15)}
.gl-gaitlab .gl-more>summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center;gap:8px;color:#dcefe4;font-size:15px;list-style:none}
.gl-gaitlab .gl-more>summary::-webkit-details-marker{display:none}
.gl-gaitlab .gl-more>summary::before{content:"\25B8";display:inline-block;transition:transform .15s;color:var(--gl-a)}
.gl-gaitlab .gl-more[open]>summary::before{transform:rotate(90deg)}
.gl-gaitlab .gl-set{display:flex;flex-direction:column;gap:10px;padding-top:4px}
.gl-gaitlab .gl-field{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0}
.gl-gaitlab .gl-lbl{font-size:14px;font-weight:600;color:var(--gl-m);min-width:64px}
.gl-gaitlab .gl-polef input,.gl-gaitlab .gl-cadw input{width:100%;height:44px;accent-color:var(--gl-a)}
.gl-gaitlab .gl-polef input{flex:1 1 180px;min-width:160px}
.gl-gaitlab .gl-cadw{flex:1 1 200px;min-width:180px;position:relative;padding-bottom:18px}
.gl-gaitlab .gl-band{position:absolute;left:8px;right:8px;bottom:0;height:16px}
.gl-gaitlab .gl-band span{position:absolute;top:0;height:16px;border-radius:4px;background:rgba(142,202,230,.22);border:1px solid rgba(142,202,230,.5);font-size:11.5px;line-height:14px;color:#cfe9f5;text-align:center;overflow:hidden;white-space:nowrap}
.gl-gaitlab .gl-pv{font-size:14px;font-weight:700;padding:3px 8px;border-radius:8px}
.gl-gaitlab .gl-pv.gl-ok{background:rgba(82,183,136,.2);color:#cdeed9}
.gl-gaitlab .gl-pv.gl-warn{background:rgba(244,162,97,.25);color:#ffd9b8}
.gl-gaitlab .gl-pv.gl-bad{background:rgba(231,76,60,.28);color:#ffd9d3}
.gl-gaitlab .gl-pv.gl-bad::before,.gl-gaitlab .gl-pv.gl-warn::before{content:"! "}
.gl-gaitlab .gl-small{flex-basis:100%;margin:2px 0;font-size:13px;color:var(--gl-m);line-height:1.45}
.gl-gaitlab a{color:#a8e6c6}
.gl-gaitlab .gl-tg{font-size:14px}
.gl-gaitlab .gl-card{background:rgba(255,255,255,.04);border:1px solid rgba(231,76,60,.35);border-left:4px solid #e74c3c;border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:15px;line-height:1.5}
.gl-gaitlab .gl-card.gl-bd{border-color:rgba(244,162,97,.4);border-left-color:#F4A261}
.gl-gaitlab .gl-card.gl-good{border-color:rgba(82,183,136,.35);border-left-color:#52B788}
.gl-gaitlab .gl-card.gl-info{border-color:rgba(142,202,230,.35);border-left-color:#8ecae6}
.gl-gaitlab .gl-card p{margin:4px 0}
.gl-gaitlab .gl-card b{color:#d8f3dc}
.gl-gaitlab .gl-ct{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:2px}
.gl-gaitlab .gl-ct strong{font-size:16.5px;color:#fff;margin-right:2px}
.gl-gaitlab .gl-nexts{display:flex;flex-wrap:wrap;align-items:center;gap:0 14px;margin-top:4px}
.gl-gaitlab .gl-nexts a,.gl-gaitlab .gl-lnk{font-weight:600;font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.gl-gaitlab .gl-selfc>summary{cursor:pointer;font-weight:700;min-height:40px;display:flex;align-items:center;color:#fff}
.gl-gaitlab .gl-note{color:#f7d9b9;font-size:14px}
.gl-gaitlab .gl-game{padding:12px 14px;border-top:1px solid rgba(233,185,73,.35);background:rgba(233,185,73,.05);line-height:1.4}
.gl-gaitlab .gl-choose{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.gl-gaitlab .gl-gq{font-size:18px;font-weight:700;margin:0;color:#fff}
.gl-gaitlab .gl-chk{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;cursor:pointer}
.gl-gaitlab .gl-chk input{width:22px;height:22px;accent-color:var(--gl-gold)}
.gl-gaitlab .gl-gbar{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap}
.gl-gaitlab .gl-gtop{flex:1 1 220px;font-weight:700;font-size:16px}
.gl-gaitlab .gl-gtop:focus{outline:none}
.gl-gaitlab .gl-ring{--p:1;min-width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;background:radial-gradient(closest-side,#10251a 78%,transparent 80%),conic-gradient(var(--gl-gold) calc(var(--p)*360deg),rgba(255,255,255,.1) 0)}
.gl-gaitlab .gl-q{font-size:14px;min-height:44px}
.gl-gaitlab .gl-hint{margin:8px 0;font-size:15px;color:#dcefe4}
.gl-gaitlab .gl-ans{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:6px;margin:6px 0 10px}
.gl-gaitlab .gl-a{font-size:15px}
.gl-gaitlab .gl-afine{border-color:rgba(142,202,230,.6)}
.gl-gaitlab .gl-a.gl-right{background:rgba(82,183,136,.3);border-color:#52B788;color:#fff;opacity:1}
.gl-gaitlab .gl-a.gl-right::before{content:"\2713";font-weight:800;color:#9fe0bf}
.gl-gaitlab .gl-a.gl-wrong{background:rgba(231,76,60,.08);border:2px solid #e74c3c;color:#ffd9d3;opacity:1}
.gl-gaitlab .gl-a.gl-wrong::before{content:"\2717";font-weight:800;color:#ff8f80}
.gl-gaitlab .gl-res{font-weight:800;font-size:17px;margin:4px 0 8px}
.gl-gaitlab .gl-res.gl-ok{color:#9fe0bf}
.gl-gaitlab .gl-res.gl-bad{color:#ffc2b8}
.gl-gaitlab .gl-next{margin-top:4px}
.gl-gaitlab .gl-end{text-align:center;padding:6px 0 4px}
.gl-gaitlab .gl-score{font-size:40px;font-weight:800;margin:0;line-height:1.1;color:#fff}
.gl-gaitlab .gl-score:focus{outline:none}
.gl-gaitlab .gl-rank{font-size:20px;font-weight:700;color:var(--gl-gold);margin:2px 0 10px}
.gl-gaitlab .gl-end .gl-row{justify-content:center;margin:10px 0}
.gl-gaitlab .gl-end .gl-selfc{text-align:left;max-width:640px;margin:12px auto}
.gl-gaitlab .gl-check{text-align:left;margin:6px 0;padding-left:22px;font-size:15px}
.gl-gaitlab .gl-check li{margin:4px 0}
.gl-gaitlab .gl-foot{margin:0;padding:10px 14px 12px;font-size:13px;color:var(--gl-m);border-top:1px solid rgba(82,183,136,.15);line-height:1.45}
.gl-gaitlab .gl-foot small{font-size:12.5px;opacity:.9}
.gl-gaitlab .gl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
/* during a game: no timeline, speed or mode bar ("Show me slowly" covers speed) */
.gl-gaitlab.gl-gaming .gl-body,.gl-gaitlab.gl-gaming .gl-bar,.gl-gaitlab.gl-gaming .gl-tl,.gl-gaitlab.gl-gaming .gl-tll{display:none}
/* a short pulse on the right answer and the score, never over the stage */
.gl-gaitlab .gl-pop{animation:gl-pop .5s ease-out}
.gl-gaitlab .gl-gtop.gl-pop{animation:gl-popt .5s ease-out;transform-origin:left center}
@keyframes gl-popt{40%{color:#9fe0bf;transform:scale(1.04)}}
@keyframes gl-pop{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(159,224,191,.7)}40%{transform:scale(1.06)}100%{transform:scale(1);box-shadow:0 0 0 14px rgba(159,224,191,0)}}
@media (max-width:640px){
  .gl-gaitlab .gl-bar{padding:8px}
  .gl-gaitlab .gl-bar .gl-tabs,.gl-gaitlab .gl-bar>.gl-row{flex:1 1 100%}
  .gl-gaitlab .gl-tab{flex:1}
  .gl-gaitlab .gl-hud{max-width:100%;left:8px}
  .gl-gaitlab .gl-hud .gl-chip:nth-child(2):not(:last-child){display:none}
  .gl-gaitlab .gl-cta{font-size:17px}
  .gl-gaitlab .gl-gbar{flex-wrap:nowrap}
  .gl-gaitlab .gl-gtop{flex:1 1 auto;font-size:15px}
  .gl-gaitlab .gl-slow{padding:6px 8px}
  .gl-gaitlab .gl-ans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gl-gaitlab:empty::before{aspect-ratio:1/1.2}
  .gl-gaitlab[data-variant=hero]:empty::before{aspect-ratio:1/1.3}
  .gl-gaitlab[data-variant=full]:empty::before{aspect-ratio:1/1.2}
  .gl-gaitlab[data-variant=compact]:empty::before{aspect-ratio:1/1}
}
@media (prefers-reduced-motion:reduce){.gl-gaitlab .gl-btn,.gl-gaitlab .gl-more>summary::before{transition:none}.gl-gaitlab .gl-pop{animation:none}}
/* server-rendered copy after the widget (gl-gait-lab-seo.html): a quiet dark row attached to the widget, with a chevron */
.gl-gaitlab-seo{max-width:1180px;margin:10px auto 0;background:var(--gl-dark,#0b1a12);color:#dcefe4;border:1px solid rgba(82,183,136,.22);border-radius:var(--gl-radius,14px);padding:0 18px;font-size:16px;line-height:1.55}
.gl-gaitlab-seo>summary{cursor:pointer;font-weight:600;font-size:16px;min-height:48px;display:flex;align-items:center;gap:10px;list-style:none;color:#dcefe4}
.gl-gaitlab-seo>summary::-webkit-details-marker{display:none}
.gl-gaitlab-seo>summary::before{content:"\25B8";display:inline-block;color:var(--gl-accent-light,#52B788);transition:transform .15s}
.gl-gaitlab-seo[open]>summary::before{transform:rotate(90deg)}
.gl-gaitlab-seo>summary:focus-visible{outline:2px solid var(--gl-accent-light,#52B788);outline-offset:2px}
.gl-gaitlab-seo .gl-seo{padding:0 0 16px}
.gl-gaitlab-seo h3,.gl-gaitlab-seo h4{color:#fff}
.gl-gaitlab-seo a{color:#9fe0bf}
/* server-rendered headline shown before the script mounts (replaced on mount); reserves the hero height */
.gl-gaitlab>.gl-ssr{display:flex;flex-direction:column;justify-content:center;min-height:clamp(560px,48vw,680px);padding:24px 32px;box-sizing:border-box;color:#fff}
.gl-gaitlab .gl-ssr-title{font-family:var(--gl-font-heading,'DM Serif Display',Georgia,serif);font-size:clamp(30px,3.6vw,46px);line-height:1.1;margin:0 0 12px;color:#fff;max-width:20ch}
.gl-gaitlab .gl-ssr-sub{color:#d8f3dc;max-width:46ch;margin:0;font-size:18px;line-height:1.45}
/* keep widget links legible on the dark stage even when the theme styles content links (e.g. .entry-content a) */
.gl-gaitlab a,.gl-gaitlab a:visited{color:#a8e6c6!important;text-decoration:underline;text-underline-offset:3px}
.gl-gaitlab a:hover{color:#fff!important}
.gl-gaitlab a.gl-cta,.gl-gaitlab a.gl-cta:visited,.gl-gaitlab a.gl-cta2,.gl-gaitlab a.gl-cta2:visited{color:#1b1405!important;text-decoration:none}
/* range sliders: neutralise theme input styling (Kadence styles every input as a white text field) */
.gl-gaitlab input[type=range]{-webkit-appearance:none!important;appearance:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:8px 0!important;height:32px!important;min-height:0!important;width:100%;max-width:360px;border-radius:0!important;cursor:pointer}
.gl-gaitlab input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#2a4a3a}
.gl-gaitlab input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#2a4a3a}
.gl-gaitlab input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:#52B788;border:2px solid #e8f3ec;box-shadow:0 2px 6px rgba(0,0,0,.4)}
.gl-gaitlab input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#52B788;border:2px solid #e8f3ec}
.gl-gaitlab input[type=range]:focus-visible{outline:3px solid var(--gl-gold)!important;outline-offset:4px}
