.gx-then b{background:var(--lime);color:var(--ink)}

/* lab report */
.gx-lab{border-radius:22px;overflow:hidden;background:#0b1a1f;color:#d7e6e9;font-size:.86rem;box-shadow:var(--sh)}
.gx-lab-head{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#12262d}
.gx-lab-head i{width:10px;height:10px;border-radius:50%;background:#ff6159}
.gx-lab-head i:nth-child(2){background:#ffbd2e}
.gx-lab-head i:nth-child(3){background:#28c941}
.gx-lab-head span{margin-left:8px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;color:#ffffff80}
.gx-lab-row{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 14px;border-top:1px solid #ffffff12}
.gx-lab-row code{font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--lime);font-size:.78rem}

/* reasons with meter */
.gx-reasons{display:grid;gap:12px}
.gx-reason{position:relative;display:grid;gap:6px;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);overflow:hidden}
.gx-reason-n{position:absolute;right:12px;top:4px;font-size:3.4rem;font-weight:900;font-stretch:125%;color:var(--paper2);line-height:1}
.gx-reason h3{position:relative;display:flex;align-items:center;gap:8px;margin:0;font-size:1.02rem}
.gx-reason h3 .gc-i{color:var(--limed);width:22px;height:22px}
.gx-reason p{position:relative;font-size:.9rem;color:var(--muted)}
.gx-odds{display:grid;gap:4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.gx-odds i{display:block;height:6px;border-radius:6px;background:var(--paper3);overflow:hidden}
.gx-odds i:after{content:"";display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--gold),var(--lime))}

/* money scenarios */
.gx-money{display:grid;gap:12px}
.gx-money>div{border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gx-money h3{margin:0;padding:14px 16px;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}
.gx-money-a h3{background:var(--lime);color:var(--ink)}
.gx-money-b h3{background:var(--gold2);color:var(--ink)}
.gx-money-c h3{background:var(--ink);color:#fff}
.gx-money p{padding:14px 16px;font-size:.9rem}

/* zigzag path */
.gx-zig{display:grid;gap:12px}
.gx-zig li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;padding:14px;border-radius:20px;background:var(--paper3)}
.gx-zig-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--ink);color:var(--lime)}
.gx-zig-ico .gc-i{width:24px;height:24px}
.gx-zig h3{margin:0 0 4px;font-size:1rem}
.gx-zig p{font-size:.9rem;color:var(--muted)}

/* escalation ladder */
.gx-ladder{display:grid;gap:8px}
.gx-ladder li{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:16px;color:#fff;font-size:.9rem}
.gx-ladder li:nth-child(1){background:#1b5b6b}
.gx-ladder li:nth-child(2){background:#0f4655}
.gx-ladder li:nth-child(3){background:var(--ink2)}
.gx-ladder li:nth-child(4){background:var(--ink)}
.gx-ladder b{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--ink)}
.gx-ladder strong{color:var(--lime)}

/* interactive checklist */
.gx-check{padding:20px;border-radius:26px;background:#fff;border:2px solid var(--ink)}
.gx-check-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:.8rem;font-weight:800}
.gx-check-bar i{flex:1;height:10px;border-radius:10px;background:var(--paper3);overflow:hidden}
.gx-check-bar i:after{content:"";display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--lime),#54a800);transition:width .3s ease}
.gx-check ul{display:grid;gap:6px}
.gx-check label{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;cursor:pointer;font-size:.92rem}
.gx-check label:hover{background:var(--paper2)}
.gx-check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:#6fc100}
.gx-check input:checked+span{color:var(--muted);text-decoration:line-through}

/* team */
.gx-team{display:grid;gap:12px}
.gx-person{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:18px;border-radius:24px;background:var(--ink);color:#ffffffd9}
.gx-mono{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--lime),#54a800);color:var(--ink);font-size:1.4rem;font-weight:900;font-stretch:120%}
.gx-person h3{margin:0;color:#fff;font-size:1.1rem}
.gx-person .gx-role{color:var(--lime);font-size:.82rem;font-weight:700;margin-bottom:6px}
.gx-person p{font-size:.9rem}
.gx-desk{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;border-radius:20px;background:#fff;border:1px solid var(--line)}
.gx-desk>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--paper2);color:var(--limed)}
.gx-desk h3{margin:0 0 2px;font-size:1rem}
.gx-desk p{font-size:.88rem;color:var(--muted)}

/* callout */
.gx-callout{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:20px;background:var(--paper2);border:2px solid var(--lime)}
.gx-callout>.gc-i{width:28px;height:28px;color:var(--limed)}
.gx-callout p+p{margin-top:8px}

/* protocol grid */
.gx-proto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gx-proto li{display:grid;gap:6px;padding:16px;border-radius:20px;background:linear-gradient(180deg,#fff,var(--paper3));border:1px solid var(--line);text-align:center;justify-items:center}
.gx-proto .gc-i{width:30px;height:30px;padding:10px;box-sizing:initial;border-radius:50%;background:var(--ink);color:var(--lime)}
.gx-proto b{font-size:.92rem;line-height:1.25}
.gx-proto span{font-size:.8rem;color:var(--muted)}

/* weights */
.gx-weights{display:grid;gap:10px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.gx-w{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}
.gx-w b{font-size:.92rem}
.gx-w em{font-style:normal;font-weight:900;font-stretch:115%;color:var(--limed)}
.gx-w i{grid-column:1/-1;height:12px;border-radius:12px;background:var(--paper3);overflow:hidden}
.gx-w i:after{content:"";display:block;height:100%;width:var(--w);border-radius:inherit;background:repeating-linear-gradient(135deg,var(--lime) 0 10px,#7ccc00 10px 20px)}
.gx-w small{grid-column:1/-1;font-size:.82rem;color:var(--muted)}

/* not for you */
.gx-notfor{display:grid;gap:8px}
.gx-notfor li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:#fdf6e8;border-left:4px solid var(--gold);font-size:.92rem}
.gx-notfor .gc-i{color:#a8641a;margin-top:3px}

/* myth / fact flip cards */
.gx-myths{display:grid;gap:12px}
.gx-myth{perspective:900px;min-height:170px;transition:transform .25s ease}
.gx-myth:hover{transform:translateY(-4px)}
.gx-myth-in{position:relative;display:block;width:100%;height:100%;min-height:170px;border:0;padding:0;background:none;text-align:left;font:inherit;color:inherit;cursor:pointer;border-radius:22px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gx-myth-in[aria-pressed=true]{transform:rotateY(180deg)}
.gx-myth-f,.gx-myth-b{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:22px;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.gx-myth-in:focus-visible{outline:3px solid var(--limed);outline-offset:3px}
.gx-myth-f{background:linear-gradient(150deg,#fff4ee,#fbd6c4);color:#6b2f19;border:2px solid #efae90;box-shadow:0 16px 30px -22px #7a3a22b3}
.gx-myth-b{background:var(--ink);color:#fff;border:2px solid var(--ink);transform:rotateY(180deg)}
.gx-myth-f b,.gx-myth-b b{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}
.gx-myth-f b{align-self:flex-start;padding:3px 9px;border-radius:999px;background:#7a3a22;color:#fff}
.gx-myth-b b{color:var(--lime)}
.gx-myth-f strong{font-size:1.15rem;line-height:1.3}
.gx-myth-f small{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:.8rem;font-weight:700;transition:background .2s ease,color .2s ease}
.gx-myth-f small .gc-i{color:var(--lime);transition:transform .4s ease}
.gx-myth-in:hover .gx-myth-f small{background:var(--lime);color:var(--ink)}
.gx-myth-in:hover .gx-myth-f small .gc-i{color:var(--ink);transform:rotate(180deg)}
.gx-myth-b span{font-size:.9rem}

/* contact tiles */
.gx-contact{display:grid;gap:10px}
.gx-contact a,.gx-contact div{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:18px;background:var(--paper3);color:var(--text);text-decoration:none}
.gx-contact a:hover{background:var(--paper2)}
.gx-contact .gc-i{width:24px;height:24px;color:var(--limed);margin-top:2px}
.gx-contact b{display:block}
.gx-contact span{font-size:.88rem;color:var(--muted)}

/* big numbers band */
.gx-numbers{background:var(--ink);color:#fff}
.gx-numbers-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-block:32px}
.gx-numbers-in div{display:grid;gap:2px}
.gx-numbers-in b{font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);font-weight:900;font-stretch:120%;color:var(--lime);line-height:1}
.gx-numbers-in span{font-size:.85rem;color:#ffffffb3}

/* brand chronicle */
.gx-chron{display:grid;gap:12px}
.gx-chron li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:start}
.gx-chron b{display:grid;place-items:center;height:48px;border-radius:14px;background:var(--lime);color:var(--ink);font-size:1.05rem;font-weight:900;font-stretch:115%}
.gx-chron li:nth-child(even) b{background:var(--gold2)}
.gx-chron h3{margin:0 0 2px;font-size:1rem}
.gx-chron p{font-size:.9rem;color:var(--muted)}

/* topic tiles */
.gx-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gx-tiles a{position:relative;display:grid;gap:4px;align-content:start;min-height:130px;padding:16px;border-radius:20px;background:linear-gradient(160deg,var(--ink3),var(--ink));color:#fff;text-decoration:none;overflow:hidden}
.gx-tiles a:after{content:"";position:absolute;right:-24px;bottom:-24px;width:80px;height:80px;border-radius:50%;border:10px solid #8ce10033}
.gx-tiles .gc-i{width:26px;height:26px;color:var(--lime);margin-bottom:6px}
.gx-tiles b{font-size:.98rem;line-height:1.2}
.gx-tiles span{font-size:.8rem;color:#ffffffa6}
.gx-tiles a:hover{background:linear-gradient(160deg,#155566,var(--ink2))}

/* player quotes */
.gx-quotes{display:grid;gap:12px}
.gx-quote{display:grid;gap:8px;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 26px -22px #001d2680}
.gx-quote:nth-child(3n+2){background:var(--paper2);border-color:transparent}
.gx-quote:nth-child(3n){background:var(--cream);border-color:transparent}
.gx-quote .gc-stars{color:var(--gold)}
.gx-quote blockquote{margin:0;font-size:.95rem}
.gx-quote footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:.8rem;color:var(--muted)}
.gx-quote footer b{color:var(--ink)}

/* route table: problem -> page */
.gx-route{display:grid;gap:8px}
.gx-route a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--text);text-decoration:none}
.gx-route a:hover{border-color:var(--lime);box-shadow:0 10px 24px -18px #001d2699}
.gx-route span{font-size:.92rem}
.gx-route b{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--limed);white-space:nowrap}

/* two-column prose */
.gx-prose-2 p+p{margin-top:12px}

/* byline above footer */
.gx-byline{padding-block:16px}
.gx-byline p{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding-top:12px;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);line-height:1.4}
.gx-byline span{display:inline-flex;align-items:center;gap:6px}
.gx-byline .gc-i{color:var(--limed)}
.gx-byline a{color:var(--ink);font-weight:700}

@media (min-width:480px){
  .gx-prov{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-games{grid-template-columns:repeat(6,minmax(0,1fr))}
  .gx-proto{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:640px){
  .gx-rails,.gx-money,.gx-myths,.gx-quotes,.gx-brands,.gx-dodont,.gx-team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-plastic{grid-template-columns:minmax(0,300px) minmax(0,1fr);align-items:center}
  .gx-dd{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-reasons,.gx-fixes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-ifthen li{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-lab-row{grid-template-columns:170px minmax(0,1fr)}
  .gx-numbers-in{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gx-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-calc-out{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gx-contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .gx-receipt-row{grid-template-columns:320px minmax(0,1fr)}
  .gc-reasons-in>.gx-quotes{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-wallets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-wallet{grid-template-columns:1fr;justify-items:start}
  .gx-stepper{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gx-brands{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-prov{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gx-money{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gx-chron{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .gx-team{grid-template-columns:1.3fr 1fr 1fr}
  .gx-prose-2{column-count:2;column-gap:32px}
  .gx-prose-2 p{break-inside:avoid;margin-bottom:12px}
  .gx-prose-2 p+p{margin-top:0}
}
@media (hover:hover) and (min-width:1024px){
  .gx-brand,.gx-tiles a,.gx-reason,.gx-wallet{transition:transform .3s ease,box-shadow .3s ease}
  .gx-brand:hover,.gx-tiles a:hover,.gx-reason:hover,.gx-wallet:hover{transform:translateY(-5px);box-shadow:0 26px 44px -26px #001d2699}
}
@media (prefers-reduced-motion:reduce){.gx-myth,.gx-myth-in,.gx-myth-f small .gc-i{transition:none}.gx-myth:hover{transform:none}.gx-check-bar i:after{transition:none}}
.gx-lime{color:var(--lime)}
.gc-reasons-in>.gx-quotes{max-width:none}
.gx-quote figcaption{font-size:.86rem;color:var(--muted)}
.gx-quote figcaption b{color:var(--ink)}
.gx-quote blockquote{font-weight:700;color:var(--ink)}
.gc-reasons-in .gx-quote{background:#fff;border-color:var(--line)}
.gc-reasons-in .gx-quote:nth-child(even){background:var(--cream);border-color:transparent}
.gc-spec>div{flex-wrap:wrap}.gc-spec dd{margin-left:auto}
