/* The Tester Guide (testers.html). Sits on devkit.css (the games page shell: .gp-bar, .gp-tag, .gp-foot) and the cube
   brand kit (assets/ui-launch): midnight navy, lime, cream, Lilita One for display, Nunito for reading. Mobile first. */
@font-face{font-family:Launch;src:url(assets/ui-fonts/LilitaOne.ttf) format('truetype');font-display:swap}
:root{--tg-lime:#baff38;--tg-cream:#f5f2df;--tg-mid:#152350;--tg-violet:#6155d9;--tg-cyan:#168bab;--tg-pink:#ff68bc;--tg-gold:#ffe369}
body.tg{font:17px/1.6 Nunito,system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:110px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.tg-main{max-width:860px;padding-bottom:64px}
.tg-hero{padding:22px 0 12px}
.tg-hero h1{font:400 clamp(44px,11vw,84px)/.98 Launch,Nunito,system-ui,sans-serif;color:var(--tg-lime);margin:16px 0 14px;letter-spacing:.005em}
.tg-lead{font-size:clamp(19px,4.6vw,23px);line-height:1.45;color:var(--tg-cream);margin:0 0 10px;font-weight:700}
.tg-sub{margin:0;color:var(--dk-dim);font-size:17px}
.tg-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.tg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:99px;background:#22254a;border:2px solid var(--dk-line);color:var(--dk-ink);text-decoration:none;font:900 16px Nunito,system-ui,sans-serif}
.tg-btn:hover{border-color:var(--tg-lime)}
.tg-primary{background:var(--tg-lime);border-color:var(--tg-lime);color:var(--tg-mid)}
.tg-primary:hover{background:#d2ff7a}
.tg-btn:focus-visible,.tg-toc a:focus-visible,.tg-card-link:focus-visible{outline:3px solid var(--tg-gold);outline-offset:3px}
.tg-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tg-toc a{color:var(--dk-ink);text-decoration:none;font:800 14px Nunito,system-ui,sans-serif;padding:7px 13px;border-radius:99px;border:1px solid var(--dk-line);background:#ffffff08}
.tg-toc a:hover{border-color:var(--tg-lime)}
.tg-sec{margin-top:44px;padding-top:26px;border-top:1px solid var(--dk-line)}
.tg-sec h2{display:flex;align-items:center;gap:12px;font:400 clamp(28px,6.4vw,40px)/1.1 Launch,Nunito,system-ui,sans-serif;color:var(--tg-cream);margin:0 0 16px}
.tg-num{flex:none;display:inline-grid;place-items:center;width:1.2em;height:1.2em;border-radius:12px;background:var(--tg-lime);color:var(--tg-mid);font-size:.8em}
.tg-sec p{margin:0 0 14px;color:#dcd9f2}
.tg-sec b{color:var(--tg-cream)}
.tg-steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:12px}
.tg-steps li{counter-increment:s;position:relative;padding:16px 18px 16px 62px;background:var(--dk-panel);border:1px solid var(--dk-line);border-radius:18px;font-size:18px}
.tg-steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--tg-violet);color:#fff;font:400 20px Launch,Nunito,sans-serif}
.tg-grid{display:grid;grid-template-columns:1fr;gap:12px}
.tg-card{display:block;background:var(--dk-panel);border:1px solid var(--dk-line);border-radius:18px;padding:16px 18px;color:inherit;text-decoration:none}
.tg-card h3{margin:0 0 4px;font:900 19px/1.25 Nunito,system-ui,sans-serif;color:var(--tg-lime)}
.tg-card p{margin:0;font-size:16px;color:#d8d5f0}
.tg-card-link{border-style:dashed}
.tg-card-link:hover{border-color:var(--tg-lime)}
.tg-card-link h3::after{content:' \2192'}
.tg-season{font-size:clamp(18px,4.4vw,21px);font-weight:800;color:var(--tg-cream)!important}
.tg-xp-groups{display:grid;gap:20px;margin:6px 0 18px}
.tg-xp-head{margin:0 0 8px;font:900 13px Nunito,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--tg-lime)}
.tg-xp{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.tg-xp li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;background:var(--dk-panel);border-left:5px solid var(--tg-lime);border-radius:12px}
.tg-xp-icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#1d2d66;font-size:21px;line-height:1}
.tg-xp-body{display:grid;gap:2px;min-width:0}
.tg-xp b{font-size:18px;line-height:1.3}
.tg-xp-gain{color:var(--tg-gold);font-weight:800}
.tg-xp-cap{color:var(--dk-dim);font-size:14px;font-weight:700}
.tg-fair{margin:0 0 14px;padding:16px 18px;border-radius:16px;background:#1d2d66;border:2px solid var(--tg-cyan)}
.tg-fair h3{margin:0 0 6px;font:400 22px Launch,Nunito,sans-serif;color:var(--tg-cream)}
.tg-fair p{margin:0}
.tg-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}
.tg-levels span{display:grid;text-align:center;padding:12px 6px;border-radius:14px;background:#1d2d66;color:var(--dk-dim);font-weight:800;font-size:15px}
.tg-levels b{font:400 22px Launch,Nunito,sans-serif;color:var(--tg-cream)}
.tg-plain{padding:14px 16px;border-radius:14px;background:#ffffff0a;border:1px solid var(--dk-line);font-weight:800}
.tg-list{margin:0 0 16px;padding-left:22px;display:grid;gap:8px;color:#dcd9f2}
.tg-list a{color:var(--tg-lime);font-weight:800}
.tg-split{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:16px}
.tg-box{padding:16px 18px;border-radius:18px;background:var(--dk-panel);border:2px solid var(--dk-line)}
.tg-box h3{margin:0 0 6px;font:400 24px Launch,Nunito,sans-serif}
.tg-box p{margin:0}
.tg-yes{border-color:var(--tg-lime)}.tg-yes h3{color:var(--tg-lime)}
.tg-no{border-color:#4a4d80}.tg-no h3{color:var(--dk-dim)}
.tg-safety{padding:14px 16px;border-radius:14px;background:#3a1d3a;border:1px solid var(--tg-pink)}
.gp-foot span{color:var(--dk-dim);text-align:center;flex-basis:100%}
@media (min-width:640px){
 .tg-grid{grid-template-columns:1fr 1fr}
 .tg-split{grid-template-columns:1fr 1fr}
 .tg-xp{grid-template-columns:1fr 1fr}
 .tg-hero{padding-top:40px}
}
/* TESTER MODE banner: on every screen size, above the header. */
.tg-mode{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 14px;padding:10px 16px;background:var(--tg-lime);color:var(--tg-mid);text-align:center}
.tg-mode p{margin:0;font:700 15px/1.35 Nunito,system-ui,sans-serif}
.tg-mode b{font:400 17px Launch,Nunito,sans-serif;letter-spacing:.03em}
.tg-mode-btn{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:99px;background:var(--tg-mid);color:var(--tg-lime);font:900 14px Nunito,system-ui,sans-serif;text-decoration:none}
.tg-mode-btn:hover{background:#1d2d66}
.tg-mode-btn:focus-visible{outline:3px solid var(--tg-mid);outline-offset:3px}
@media (max-width:520px){.tg-mode{padding:8px 12px}.tg-mode p{font-size:14px}}
