/* Member experience, minimal (Waqas, October 14, 2026: "minimal design and saying a lot with less").
   Same language as the Grading 101 minimal page: one thing per screen, a big headline, the shot,
   one yellow button, plain rows, thin progress dashes. Everything is scoped under .rgm so the
   admin pages keep their own styles. */
/* Archivo loads from index.html (a <link> in the head, so it starts with everything else). */
body.rgm-on{margin:0;background:#141517;color:#f4f4f1}
.rgm{--bg:#141517;--panel:#1d1e22;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.07);--text:#f4f4f1;--muted:#a8a8b0;--dim:#8e8f97;--y:#fcdc00;--ink:#0b0b0c;--g:#3ccf7a;--r:#ff7a5c;--font:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  min-height:100vh;min-height:calc(100vh / var(--z,1));background:var(--bg);color:var(--text);font:400 17px/1.5 var(--font);-webkit-font-smoothing:antialiased}
.rgm *{box-sizing:border-box}
:where(.rgm) :where(button,select,input){font:inherit;color:inherit}
/* Resets at zero specificity (Oct 16): component classes (labs.css .lab-seg-btn, .lab-tab ...) must win over them. */
:where(.rgm) button{background:none;border:0;cursor:pointer;padding:0;text-align:inherit}
.rgm a{color:inherit;text-decoration:none}
.rgm :focus-visible{outline:3px solid var(--y);outline-offset:2px}
.rgm p{margin:0}
.rgm [hidden]{display:none!important}

/* top bar */
.rgm .bar{max-width:1480px;margin:0 auto;padding:18px 32px 0;display:flex;align-items:center;justify-content:space-between;gap:16px 30px;flex-wrap:wrap;font-size:15px}
.rgm .mark{font-weight:860;font-stretch:115%;letter-spacing:-.01em;white-space:nowrap}
.rgm .mark i{font-style:normal;color:var(--y)}
.rgm .nav{display:flex;gap:6px 20px;flex-wrap:wrap;color:var(--muted)}
.rgm .nav a:hover{color:var(--text)}
.rgm .nav a.on{color:var(--text)}
.rgm .exit{color:var(--muted);font-size:15px}
.rgm .exit:hover{color:var(--text)}
.rgm .main{max-width:800px;margin:0 auto;padding:40px 24px 90px;min-width:0}
.rgm .main.wide{max-width:1080px}

/* type */
.rgm h1,.rgm h2,.rgm h3{margin:0;font-weight:860;font-stretch:110%;letter-spacing:-.025em;line-height:1.04;text-wrap:balance}
.rgm h1{font-size:clamp(36px,5.6vw,64px)}
.rgm h2{font-size:clamp(26px,3.6vw,40px)}
.rgm h2.long{font-size:clamp(22px,2.7vw,30px);line-height:1.18}
.rgm h3{font-size:22px;letter-spacing:-.015em;line-height:1.2}
.rgm .eyebrow{color:var(--muted);font-size:15px}
.rgm .sub{color:var(--muted);font-size:18px;max-width:62ch}
.rgm .hint{color:var(--muted);font-size:15px}
.rgm .quiet{color:var(--dim);font-size:14px;font-variant-numeric:tabular-nums}
.rgm .big{font-size:clamp(64px,10vw,120px);font-weight:880;font-stretch:115%;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums}
.rgm .ok{color:var(--g)}.rgm .no{color:var(--r)}.rgm .yl{color:var(--y)}
.rgm .stack{display:flex;flex-direction:column;gap:16px}
.rgm .q{display:flex;flex-direction:column;gap:22px}
.rgm section+section{margin-top:56px}

/* buttons */
.rgm .btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;border-radius:14px;background:var(--y);color:var(--ink);font-weight:850;font-size:17px;text-align:center}
.rgm .btn:disabled{opacity:.4;cursor:default}
.rgm .link{color:var(--muted);font-size:15px;padding:8px 0}
.rgm .link:hover{color:var(--text)}
.rgm .act{display:flex;flex-direction:column;gap:12px;padding-top:4px}
.rgm .act .row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* pictures */
.rgm .shot{display:block;width:100%;height:auto;border-radius:14px;background:#0b0b0c}
.rgm .pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rgm .pair.one{grid-template-columns:minmax(0,1fr)}
.rgm figure{margin:0;min-width:0}
.rgm figure canvas{display:block;width:100%;height:auto;border-radius:14px}
.rgm figcaption{color:var(--muted);font-size:14px;padding-top:6px}

/* rows: links, lists, answers */
.rgm .rows{border-top:1px solid var(--line2)}
.rgm .rows>a,.rgm .rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid var(--line2)}
.rgm .rows>a:hover .v{color:var(--text)}
.rgm .rows .k{color:var(--muted);flex:none}
.rgm .rows .v{text-align:right;min-width:0}
.rgm .rows .t{min-width:0}
.rgm .rows .t small{display:block;color:var(--dim);font-size:14px;margin-top:2px}
.rgm .rows .s{flex:none;color:var(--muted);font-variant-numeric:tabular-nums}
.rgm .rows .s.new{color:var(--y)}.rgm .rows .s.done{color:var(--g)}
.rgm .rows .you{color:var(--y)}
.rgm .rows .ic{flex:none;width:22px}

.rgm .opts{border-top:1px solid var(--line2)}
.rgm .opt{display:flex;gap:14px;align-items:baseline;width:100%;text-align:left;padding:16px 4px;border-bottom:1px solid var(--line2);color:var(--muted);font-size:17px;line-height:1.4}
.rgm .opt::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--dim);transform:translateY(-1px)}
.rgm button.opt:not(:disabled):hover{color:var(--text)}
.rgm .opt.pick{color:var(--text)}.rgm .opt.pick::before{background:var(--y);border-color:var(--y)}
.rgm .opt.right{color:var(--g)}.rgm .opt.right::before{background:var(--g);border-color:var(--g)}
.rgm .opt.wrong{color:var(--r)}.rgm .opt.wrong::before{background:var(--r);border-color:var(--r)}
.rgm .opt.fade{opacity:.55}
.rgm .opt:disabled{cursor:default}

/* order: drag rows */
.rgm .order .opt::before{display:none}
.rgm .order .opt{align-items:center;background:var(--bg);cursor:grab}
.rgm .order .n{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--dim);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--muted)}
.rgm .order .grip{margin-left:auto;color:var(--dim);font-size:18px}
.rgm .order .opt.right .n{background:var(--g);border-color:var(--g);color:var(--ink)}
.rgm .order .opt.wrong .n{background:var(--r);border-color:var(--r);color:var(--ink)}
.rgm .order .opt small{display:block;color:var(--dim);font-size:14px;margin-top:2px}
.rgm .drag-ghost,.rgm .dragging{opacity:.6}
.rgm .drag-locked .opt{cursor:default}

/* frames */
.rgm .frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rgm .frame{position:relative;display:block;border-radius:14px;overflow:hidden;outline:3px solid transparent;outline-offset:-3px;transition:outline-color .12s}
.rgm .frame canvas{display:block;width:100%;height:auto}
.rgm .frame .tag{position:absolute;left:10px;top:8px;font-size:13px;font-weight:800;background:rgba(0,0,0,.6);padding:3px 8px;border-radius:6px}
.rgm .frame .cap{position:absolute;left:10px;right:10px;bottom:8px;font-size:13px;line-height:1.35;background:rgba(0,0,0,.66);padding:5px 8px;border-radius:6px}
.rgm .frame.pick{outline-color:var(--y)}
.rgm .frame.right{outline-color:var(--g)}.rgm .frame.wrong{outline-color:var(--r)}.rgm .frame.fade{opacity:.45}
.rgm .orig{display:flex;flex-direction:column;gap:6px}

/* tap the picture */
.rgm .clip{position:relative;border-radius:14px;overflow:hidden;touch-action:manipulation}
.rgm .clip.tap{cursor:crosshair}
.rgm .clip canvas{display:block;width:100%;height:auto;-webkit-user-drag:none;user-select:none}
.rgm .clip canvas+canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rgm .ping{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid var(--y);border-radius:50%;pointer-events:none}
.rgm .ping.g{border-color:var(--g)}.rgm .ping.r{border-color:var(--r)}

/* tap the node */
.rgm .chain{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 4px}
.rgm .chain .arrow{color:var(--dim);padding:6px 8px 0;font-size:20px}
.rgm .chain .node{display:flex;flex-direction:column;padding:4px 2px 6px;border-bottom:3px solid transparent;color:var(--muted);font-size:22px;font-weight:760;line-height:1.2}
.rgm .chain .node small{font-size:13px;font-weight:400;color:var(--dim);margin-top:2px}
.rgm .chain button.node:not(:disabled):hover{color:var(--text)}
.rgm .chain .node.pick{color:var(--text);border-color:var(--y)}
.rgm .chain .node.right{color:var(--g);border-color:var(--g)}.rgm .chain .node.wrong{color:var(--r);border-color:var(--r)}
.rgm .chain .node.fixed{opacity:.5}

/* verdicts */
.rgm .verdict{font-size:18px;font-weight:650;line-height:1.45}
.rgm .verdict.ok{color:var(--g)}.rgm .verdict.no{color:var(--r)}
.rgm .why{color:var(--muted);font-size:16px;max-width:66ch}

/* progress dashes */
.rgm .top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.rgm .dots{display:flex;gap:6px;flex-wrap:wrap}
.rgm .dots i,.rgm .dots button{width:26px;height:4px;border-radius:2px;background:rgba(255,255,255,.14);padding:0;position:relative}
.rgm .dots button::after{content:"";position:absolute;inset:-10px -2px}
.rgm .dots .ok{background:var(--g)}.rgm .dots .no{background:var(--r)}.rgm .dots .now{background:var(--y)}
.rgm .dots button:disabled{cursor:default}
.rgm .count{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}

/* tabs as text */
.rgm .tabs{display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:16px}
.rgm .tabs button{color:var(--muted);padding:4px 0;border-bottom:2px solid transparent}
.rgm .tabs button.on{color:var(--text);border-color:var(--y)}
.rgm .tabs b{font-weight:400;color:var(--dim);margin-left:6px}
.rgm .sel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--text)}
.rgm .grp{color:var(--dim);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:34px 0 4px}

/* reading lesson and video */
.rgm .reader{display:flex;flex-direction:column;gap:16px;font-size:18px;line-height:1.65;color:#dcdcd6;max-width:66ch}
.rgm .reader h3{margin-top:16px}
.rgm .video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000}
.rgm .video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* labs, minimal chrome */
.rgm .lab{background:transparent;box-shadow:none;padding:0;margin:0;gap:16px;border:0}
.rgm .lab-head,.rgm .lab-tag{display:none!important}
.rgm .lab-picture-wrap{border-radius:14px}
.rgm .lab-controls{gap:14px 24px}
.rgm .lab-label{font-size:15px;color:var(--text)}
.rgm .lab-note{color:var(--dim);font-size:14px}
.rgm .labtools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:14px;color:var(--dim)}
.rgm .labtools button{color:var(--muted)}
.rgm .labtools button:hover{color:var(--text)}
.rgm .checks{display:flex;flex-direction:column;border-top:1px solid var(--line2)}
.rgm .chk{display:flex;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line2);color:var(--muted);font-size:16px}
.rgm .chk i{font-style:normal;width:18px;flex:none}
.rgm .chk .v{margin-left:auto;font-variant-numeric:tabular-nums}
.rgm .chk.ok{color:var(--g)}.rgm .chk.no{color:var(--r)}

/* other lesson visuals */
.rgm .seg2{display:flex;gap:18px}
.rgm .seg2 button{color:var(--muted);border-bottom:2px solid transparent;padding:4px 0}
.rgm .seg2 button.on{color:var(--text);border-color:var(--y)}
.rgm .meter{display:flex;flex-direction:column;gap:10px}
.rgm .mrow{display:grid;grid-template-columns:140px minmax(0,1fr) 90px;gap:12px;align-items:center;font-size:15px;color:var(--muted)}
.rgm .mtrack{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.rgm .mtrack i{display:block;height:100%}
.rgm .mrow b{text-align:right;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.rgm .sort{display:flex;flex-direction:column;border-top:1px solid var(--line2)}
.rgm .srow{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line2)}
.rgm .srow small{display:block;color:var(--muted);font-size:14px;margin-top:4px}
.rgm .srow.ok b{color:var(--g)}.rgm .srow.no b{color:var(--r)}
.rgm .opts2{display:flex;gap:14px;flex:none}
.rgm .opts2 button{color:var(--muted);border-bottom:2px solid transparent;padding:2px 0;font-size:15px}
.rgm .opts2 button.sel{color:var(--text);border-color:var(--y)}
.rgm .deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.rgm .deck .shot{position:relative;padding:0;border-radius:12px;overflow:hidden;outline:3px solid transparent;outline-offset:-3px;text-align:left;background:var(--panel)}
.rgm .deck .shot.on{outline-color:var(--y)}.rgm .deck .shot.good{outline-color:var(--g)}.rgm .deck .shot.bad{outline-color:var(--r)}.rgm .deck .shot.miss{outline:3px dashed var(--g)}
.rgm .deck .sw{height:70px}
.rgm .deck .sl{display:flex;justify-content:space-between;padding:8px 10px;font-size:14px}
.rgm .deck .why{padding:0 10px 10px;font-size:13px;color:var(--muted)}
.rgm .deck .tag2{position:absolute;top:6px;left:6px;font-size:11px;font-weight:800;color:var(--ink);padding:2px 6px;border-radius:5px}
.rgm .strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.rgm .strip .frame{aspect-ratio:16/10;background:#22232a;border-radius:8px;position:relative;overflow:hidden;outline:none}
.rgm .strip .frame.play{outline:2px solid var(--y)}
.rgm .strip .lamp{position:absolute;right:16%;top:18%;width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(#ffe7a8,rgba(255,200,110,0))}
.rgm .strip .face{position:absolute;left:38%;bottom:0;width:24%;height:56%;border-radius:40% 40% 0 0;background:#b57d5a}

/* skeleton and errors */
.rgm .skel{display:flex;flex-direction:column;gap:14px}
.rgm .skel i{display:block;border-radius:10px;background:linear-gradient(90deg,#1c1d21,#24252b,#1c1d21);background-size:200% 100%;animation:rgm-shimmer 1.4s linear infinite}
@keyframes rgm-shimmer{from{background-position:200% 0}to{background-position:0 0}}
.rgm .err{color:var(--r)}
.rgm .toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:20;background:var(--text);color:var(--ink);border-radius:12px;padding:12px 16px;font-weight:700;font-size:15px;max-width:min(90vw,520px)}

/* radar */

/* field card */
.rgm .fcard{display:flex;flex-direction:column;gap:22px}
.rgm .fcard ol{margin:0;padding:0;list-style:none}

@media (max-width:640px){
  .rgm .bar{padding:16px 16px 0}
  .rgm .main{padding:28px 16px 70px}
  .rgm .frames,.rgm .pair{grid-template-columns:minmax(0,1fr)}
  .rgm .mrow{grid-template-columns:100px minmax(0,1fr) 70px}
  .rgm .srow{flex-direction:column;align-items:flex-start}
  .rgm .rows>a,.rgm .rows>div{flex-wrap:wrap}
  .rgm .rows .v{text-align:left}
}
@media (prefers-reduced-motion:reduce){.rgm *{animation:none!important;transition:none!important}}

@media print{
  body.rgm-on,.rgm{background:#fff!important;color:#111!important}
  .rgm .bar,.rgm .noprint{display:none!important}
  .rgm .main{padding:0}
  .rgm .fcard *{color:#111!important}
  .rgm .rows>div{border-color:#ddd!important}
}

/* Sign-in / create-account page, same background as the member area */
body:has(.auth-page){background:#141517;color:#f5f5f7}
.auth-page{--ink:#f5f5f7;--muted:#a9a9b4;--line:rgba(255,255,255,.12);--line-strong:rgba(255,255,255,.18)}
.auth-page .nav{border-color:rgba(255,255,255,.12)}.auth-page .nav,.auth-page .nav a,.auth-page .brand{color:#f5f5f7}
.auth-page .hero h1{color:#fff}.auth-page .hero h1 em{color:#fff;background:linear-gradient(transparent 64%,rgba(253,208,0,.55) 64%)}
.auth-page .hero p{color:#d0d0d8}.auth-page .eyebrow{color:#111}
.auth-page .auth.card{background:#1d1e22;border:1px solid rgba(255,255,255,.12);box-shadow:none;color:#f5f5f7}
.auth-page .auth h2{color:#fff}.auth-page .field label{color:#d0d0d8}
.auth-page .field input{background:#141517;border-color:rgba(255,255,255,.16);color:#fff}
.auth-page .field input:focus{border-color:#fcdc00;outline:3px solid rgba(252,220,0,.35)}
.auth-page .subtle{color:#a9a9b4}.auth-page .subtle button{color:#fcdc00}
.auth-page #error:not(:empty){color:#ffb4ad}
.auth-page .button.yellow,.auth-page .button.yellow *{color:#111!important}
@media (min-width:2200px){.auth-page{zoom:1.25}}
@media (min-width:3400px){.auth-page{zoom:1.6}}

/* The pre-JS boot screen in the member colors (no white flash) */
body:has(.app-boot){background:#141517}
.app-boot{background:transparent!important;color:#a8a8b0!important}
/* The loading badge only appears if loading takes longer than 0.9 s; fast loads go straight to the page. */
.app-boot>*{opacity:0;animation:boot-in .25s ease .9s forwards}
@keyframes boot-in{to{opacity:1}}
.rgm .order .drop-target{box-shadow:inset 0 2px 0 var(--y)}
.rgm .rows .s.no{color:var(--r)}
.rgm .stack+section,.rgm .q+section{margin-top:56px}
.rgm .rows .ic+.t{flex:1}
.rgm .lab-meter{background:transparent;padding:0;border:0}
.rgm .lab-picture-label,.rgm .lab-caption{font-family:var(--font);letter-spacing:0;text-transform:none;font-size:14px;color:var(--muted)}
.rgm .lab-scope-tabs{background:transparent;padding:0;gap:18px}
.rgm .lab-tab{background:transparent!important;color:var(--muted);padding:4px 0;border-radius:0;border-bottom:2px solid transparent}
.rgm .lab-tab[aria-pressed="true"]{color:var(--text);border-color:var(--y)}
.rgm .lab-shot figcaption{font-family:var(--font);letter-spacing:0;text-transform:none;font-size:14px;color:var(--muted);padding-top:6px}
.rgm .lab-value,.rgm .lab-meter span{font-family:var(--font)}
.rgm #rgm-vis>.verdict+.hint{margin-top:10px}

/* ---------------- game layer (Waqas, October 14, 2026: "think Xbox, think PlayStation") ----------------
   Player chip in the bar, Home with the streak, race and trophies up front, the payout after a
   quiz, and the trophy case. Checked at iPhone, 1080p, 1440p and 4K; big screens scale up. */
.rgm{--f:#ff7a1a;--gold:#f2c94c;--panel2:#24252a}
.rgm .nav{margin-right:auto}
.rgm .mark{margin-right:10px}
.rgm .pchip{display:flex;align-items:center;gap:10px;padding:4px 4px 4px 4px;border-radius:999px;transition:background .15s}
.rgm .pchip:hover{background:var(--panel)}
.rgm .lring{position:relative;width:46px;height:46px;flex:none;display:grid;place-items:center}
.rgm .lring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.rgm .lring b{position:relative;width:34px;height:34px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;font-weight:900;font-size:15px}
.rgm .lring.xl{width:76px;height:76px}.rgm .lring.xl b{width:58px;height:58px;font-size:24px}
.rgm .rbg{fill:none;stroke:rgba(255,255,255,.12)}
.rgm .rfg{fill:none;stroke:var(--y);stroke-linecap:round}
.rgm .pn{line-height:1.25;min-width:0}
.rgm .pn b{display:block;font-size:15px;white-space:nowrap}
.rgm .pn small{color:var(--muted);font-size:12.5px;white-space:nowrap}
.rgm .chip{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:var(--panel);font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.rgm .chip svg{width:15px;height:15px}
.rgm .flame{width:1em;height:1em;flex:none}
.rgm .barend{display:flex;align-items:center;gap:22px}
.rgm .qxp{color:var(--y);font-weight:850;font-size:16px;font-variant-numeric:tabular-nums}
.rgm .mtabs{display:none}
.rgm .h{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;margin:0 0 10px;display:flex;justify-content:space-between;gap:10px}
.rgm .h a{letter-spacing:0;text-transform:none;font-weight:600;font-size:13px;color:var(--muted)}
.rgm .h a:hover{color:var(--text)}
.rgm .card{border-radius:16px;background:var(--panel);padding:14px 16px;display:block}
.rgm .pbar{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.rgm .pbar i{display:block;height:100%;background:var(--y);border-radius:3px}
.rgm .sub.sm{font-size:15px}

/* home */
.rgm .main.home-main{max-width:1480px;padding:26px 32px 90px}
.rgm .home{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,400px);gap:22px;align-items:start}
.rgm .colm,.rgm .colr{display:grid;gap:18px;min-width:0;align-content:start}
.rgm .hero{position:relative;border-radius:22px;overflow:hidden;background:var(--panel)}
.rgm .hero .pic{position:relative}
.rgm .hero .shot{border-radius:0;aspect-ratio:16/8.4;object-fit:cover}
.rgm .hero .shot.ph{aspect-ratio:16/8.4}
.rgm .hero .tag{position:absolute;left:20px;top:20px;background:rgba(10,10,12,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:5px 11px;border-radius:999px;font-size:13px;font-weight:700}
.rgm .hero .tag b{color:var(--y)}
.rgm .hero-body{position:absolute;inset:auto 0 0 0;padding:90px 28px 26px;background:linear-gradient(transparent,rgba(10,10,12,.94) 55%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 24px}
.rgm .hero-body>*:not(.btn){grid-column:1}
.rgm .hero-body .btn{grid-column:2;grid-row:1 / span 3;min-width:200px;min-height:60px;font-size:18px}
.rgm .hero-body.flat{position:static;background:none;padding:40px 28px}
.rgm .hero-body .eb{font-size:14px;color:#d8d8d2}
.rgm .hero-body h1{font-size:clamp(30px,3vw,46px)}
.rgm .hero-body .sub{color:#d8d8d2;font-size:16px}
.rgm .rewards{display:flex;gap:6px;flex-wrap:wrap}
.rgm .rw{font-size:13px;font-weight:750;padding:6px 10px;border-radius:9px;background:rgba(255,255,255,.1);display:flex;gap:5px;align-items:center}
.rgm .rw.xp{color:var(--y)}
.rgm .trow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.rgm .tro{border-radius:14px;background:var(--panel);padding:13px;display:grid;gap:7px;align-content:start;transition:background .15s}
.rgm .tro:hover{background:var(--panel2)}
.rgm .tro .tro-ic{width:36px;height:36px}
.rgm .tro b{font-size:14px;line-height:1.2}
.rgm .tro small{color:var(--muted);font-size:12px;line-height:1.35;font-variant-numeric:tabular-nums}
.rgm .streak{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;align-items:center}
.rgm .streak .big{grid-row:span 2;display:flex;align-items:center;gap:4px;font-size:32px;font-weight:900;color:var(--f);font-variant-numeric:tabular-nums}
.rgm .streak .big .flame{width:26px;height:26px}
.rgm .sdots{display:flex;gap:5px}
.rgm .sdots i{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.1)}
.rgm .sdots i.on{background:var(--f)}
.rgm .sdots i.open{background:transparent;outline:1.5px dashed var(--f);outline-offset:-1.5px}
.rgm .streak small{color:var(--muted);font-size:13px}
.rgm .streak small b{color:var(--text);font-variant-numeric:tabular-nums}
.rgm .race{display:grid;gap:4px;transition:background .15s}
.rgm .race:hover{background:var(--panel2)}
.rgm .race header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.rgm .race header b{font-size:15px}
.rgm .race header span{color:var(--muted);font-size:12.5px;text-align:right}
.rgm .lrow{display:grid;grid-template-columns:24px 26px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:14px;padding:6px 8px;border-radius:9px;font-variant-numeric:tabular-nums}
.rgm .lrow .n{color:var(--dim);font-weight:800}
.rgm .lrow.pod .n{color:var(--gold)}
.rgm .lrow .av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900;background:#c9b8ff;color:var(--ink)}
.rgm .lrow.me{background:rgba(252,220,0,.12)}
.rgm .lrow.me .n{color:var(--y)}.rgm .lrow.me .av{background:var(--y)}
.rgm .lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rgm .lgap{color:var(--dim);text-align:center;font-size:12px;line-height:1}
.rgm .lnote{font-size:12.5px;color:var(--muted);margin-top:6px}
.rgm .nextdrop{display:grid;gap:2px;text-align:center;padding:18px 16px}
.rgm .nextdrop small{color:var(--muted);font-size:13px}
.rgm .nextdrop b{font-size:34px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rgm .comm{display:grid;gap:2px;transition:background .15s}
.rgm .comm:hover{background:var(--panel2)}
.rgm .comm small{color:var(--muted);font-size:13px}
.rgm .comm b{font-size:15px}

/* quiz extras */
.rgm .xpop{display:inline-block;color:var(--y);font-weight:900;animation:xpop .9s ease}
.rgm .inrow{display:inline-flex;align-items:center;gap:4px;color:var(--f);font-weight:850}
@keyframes xpop{0%{transform:translateY(8px) scale(.7);opacity:0}40%{transform:translateY(-4px) scale(1.15);opacity:1}100%{transform:none}}

/* payout */
.rgm .payout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;min-height:calc(100vh / var(--z,1) - 220px)}
.rgm .pleft{display:grid;justify-items:center;text-align:center;gap:12px}
.rgm .bigring{position:relative;width:300px;height:300px;max-width:100%}
.rgm .bigring svg{width:100%;height:100%;transform:rotate(-90deg)}
.rgm .bigring div{position:absolute;inset:0;display:grid;place-content:center;gap:2px}
.rgm .bigring b{font-size:72px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;color:var(--y)}
.rgm .bigring small{color:var(--muted);font-size:14px}
.rgm .lvl{font-size:32px;font-weight:880;font-stretch:108%}
.rgm .lvl.up{color:var(--y);animation:lvlup .6s ease}
@keyframes lvlup{40%{transform:scale(1.15)}}
.rgm .score{color:var(--muted);font-size:16px}
.rgm .pright{display:grid;gap:8px}
.rgm .move{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;background:var(--panel);font-size:15px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.rgm .move.in{opacity:1;transform:none}
.rgm a.move:hover{background:var(--panel2)}
.rgm .mic{display:flex;flex:none}
.rgm .mi{width:24px;height:24px;flex:none}
.rgm .move .r{margin-left:auto;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.rgm .move .r.g{color:var(--g)}.rgm .move .r.f{color:var(--f)}.rgm .move .r.y{color:var(--y)}.rgm .move .r.gold{color:var(--gold)}
.rgm .pright .act{padding-top:10px}
.rgm #rgm-leave{display:grid;gap:8px;margin-top:10px}
/* payout stats group: the next drop, the closest trophy and this week, together under the score */
.rgm .pstats{width:100%;max-width:440px;margin-top:10px;display:grid;border-radius:18px;background:var(--panel);border:1px solid var(--line2);overflow:hidden;text-align:left}
.rgm .pstats:empty{display:none}
.rgm .ps-next{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}
.rgm .ps-next span{display:grid;gap:2px}
.rgm .ps-next small{color:var(--muted);font-size:13px}
.rgm .ps-next small:first-child{color:var(--text);font-weight:700;font-size:14px}
.rgm .ps-next b{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap}
.rgm .ps-row{display:flex;align-items:center;gap:12px;padding:13px 18px;border-top:1px solid var(--line2);font-size:14px;color:var(--muted);transition:background .18s var(--ease)}
.rgm .ps-row span{min-width:0;flex:1}
.rgm .ps-row small{display:block;color:var(--dim);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.rgm .ps-row b{color:var(--text)}
.rgm .ps-row .mi{width:22px;height:22px;flex:none}
.rgm .ps-row .nudge{color:var(--y);font-weight:800}
.rgm .ps-row:hover{background:var(--panel2)}
.rgm .ps-row:hover b{color:var(--y)}

/* trophy case */
.rgm .case{display:grid;gap:18px}
.rgm .pcard{display:flex;gap:18px;align-items:center;padding:18px;border-radius:18px;background:linear-gradient(135deg,#2b2a20,#1d1e22 60%);border:1px solid rgba(252,220,0,.25)}
.rgm .pcard .eb{color:var(--muted);font-size:14px}
.rgm .pcard h1{font-size:clamp(26px,3vw,38px)}
.rgm .pcard small{color:var(--muted);font-size:14px}
.rgm .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center}
.rgm .stats>*{background:var(--panel);border-radius:14px;padding:14px 6px;display:grid;gap:2px}
.rgm .stats a:hover{background:var(--panel2)}
.rgm .stats b{font-size:26px;font-variant-numeric:tabular-nums}
.rgm .stats b small{font-size:15px;color:var(--dim)}
.rgm .stats>*>small{color:var(--muted);font-size:12.5px}
.rgm .tgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.rgm .tc{border-radius:14px;background:var(--panel);padding:16px 10px;display:grid;gap:6px;justify-items:center;text-align:center;align-content:start}
.rgm .tc .tro-ic{width:50px;height:50px}
.rgm .tc b{font-size:14px;line-height:1.2}
.rgm .tc small{font-size:12px;color:var(--muted);line-height:1.35}
.rgm .tc .pbar{width:70%}
.rgm .tc.locked .tro-ic{opacity:.28;filter:grayscale(1)}
.rgm .tc.locked b{color:var(--dim)}

/* trophy toasts */
.rgm .toasts{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:60;display:grid;gap:8px;width:min(440px,calc(100% - 28px));pointer-events:none}
.rgm .ttoast{display:flex;gap:14px;align-items:center;padding:13px 16px;border-radius:16px;background:#0c0c0e;border:1px solid rgba(242,201,76,.5);box-shadow:0 16px 50px rgba(0,0,0,.7);transform:translateY(calc(100% + 60px));opacity:0;transition:transform .55s cubic-bezier(.2,.9,.25,1.15),opacity .3s}
.rgm .ttoast.in{transform:none;opacity:1}
.rgm .ttoast .ti{width:48px;height:48px;flex:none}
.rgm .ttoast small{display:block;color:var(--gold);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.rgm .ttoast b{font-size:16px}
.rgm .ttoast p{font-size:12.5px;color:var(--muted)}

/* laptop and tablet */
@media (max-width:1100px){
  .rgm .home{grid-template-columns:minmax(0,1fr)}
  .rgm .trow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rgm .tgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rgm .pn{display:none}
}
/* phone: bottom tabs, stacked hero, streak and race right under the quiz */
@media (max-width:720px){
  .rgm .bar{padding:14px 16px 0;flex-wrap:nowrap}
  .rgm .bar .nav{display:none}
  .rgm .bar .mark{font-size:15px}
  .rgm .pchip .chip{padding:5px 8px;font-size:13px}
  .rgm .pchip .lring{width:40px;height:40px}.rgm .pchip .lring b{width:29px;height:29px;font-size:14px}
  .rgm.has-tabs{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}
  .rgm .mtabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;justify-content:space-around;padding:10px 6px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(20,21,23,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--dim)}
  .rgm .mtabs a.on{color:var(--text)}
  .rgm .main.home-main{padding:16px 16px 40px}
  .rgm .home{display:flex;flex-direction:column;align-items:stretch;gap:16px}
  .rgm .colm,.rgm .colr{display:contents}
  .rgm .hero{order:1;background:none;border-radius:0;overflow:visible;display:grid;gap:12px}
  .rgm .hero .pic{border-radius:18px;overflow:hidden}
  .rgm .hero .tag{left:12px;top:12px}
  .rgm .hero-body{position:static;background:none;padding:0;grid-template-columns:minmax(0,1fr);gap:10px}
  .rgm .hero-body .btn{grid-column:1;grid-row:auto;width:100%;min-width:0}
  .rgm .hero-body .eb,.rgm .hero-body .sub{color:var(--muted)}
  .rgm .hero-body h1{font-size:28px}
  .rgm .rw{background:var(--panel)}
  .rgm .streak{order:2}.rgm .race{order:3}.rgm .almost{order:4}.rgm .nextdrop{order:5}.rgm .comm{order:6}
  .rgm .trow{display:flex;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
  .rgm .trow::-webkit-scrollbar{display:none}
  .rgm .tro{flex:none;width:136px}
  .rgm .payout{grid-template-columns:minmax(0,1fr);gap:10px;min-height:0}
  .rgm .pleft,.rgm .pright{display:contents}
  .rgm .bigring{order:1;justify-self:center}.rgm .lvl{order:2;text-align:center}.rgm .score{order:3;text-align:center;margin-bottom:12px}
  .rgm .tpay{order:4}.rgm .move{order:5}.rgm .pright .act{order:6}.rgm .pstats{order:7;max-width:none;margin-top:14px}.rgm .sharebox{order:8}
  .rgm .bigring{width:210px;height:210px}
  .rgm .bigring b{font-size:50px}
  .rgm .lvl{font-size:24px}
  .rgm .tgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .rgm .tc{padding:12px 6px}
  .rgm .tc .tro-ic{width:40px;height:40px}
  .rgm .tc b{font-size:12.5px}
  .rgm .toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:380px){.rgm .pchip .chip.ctro{display:none}}
@media (prefers-reduced-motion:reduce){.rgm .move,.rgm .ttoast{transition:none}.rgm .xpop,.rgm .lvl.up{animation:none}}

.rgm .case+section{margin-top:56px}
.rgm .xpop{margin-left:.4em}
.rgm .inrow{margin-left:.55em}
.rgm .inrow .flame{width:16px;height:16px}
.rgm .mshort{display:none}
@media (max-width:720px){.rgm .bar .mfull{display:none}.rgm .bar .mshort{display:inline}.rgm .bar{gap:12px}.rgm .mark{margin-right:0}}

/* ---------------- wave 2: Daily Shot, day streak, season, ring frames ---------------- */
.rgm{--ice:#9fd3ff;--bronze:#c98a52;--silver:#c9ccd4}
.rgm .snow{width:1em;height:1em;flex:none}
.rgm .daily{display:grid;gap:3px;position:relative;border:1px solid rgba(252,220,0,.35);background:linear-gradient(135deg,#2a2817,#1d1e22 65%);transition:background .15s}
.rgm .daily:hover{background:linear-gradient(135deg,#353119,#24252a 65%)}
.rgm .daily .dk{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--y)}
.rgm .daily b{font-size:17px}
.rgm .daily small{color:var(--muted);font-size:13px}
.rgm .daily .go{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:850;color:var(--y)}
.rgm .daily.done{border-color:var(--line);background:var(--panel)}
.rgm .daily.done .dk{color:var(--dim)}
.rgm .yl{color:var(--y)}
.rgm .streak{grid-template-columns:auto minmax(0,1fr)}
.rgm .swk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.rgm .sd{display:grid;justify-items:center;gap:3px}
.rgm .sd i{width:100%;height:9px;border-radius:5px;background:rgba(255,255,255,.1);display:grid;place-items:center}
.rgm .sd.on i{background:var(--f)}
.rgm .sd.frozen i{background:rgba(159,211,255,.25);height:14px}
.rgm .sd.frozen i svg{width:11px;height:11px}
.rgm .sd.today i{background:transparent;outline:1.5px dashed var(--f);outline-offset:-1.5px}
.rgm .sd.future i{background:rgba(255,255,255,.05)}
.rgm .sd small{font-size:10.5px;color:var(--dim);font-weight:700}
.rgm .streak .sl{grid-column:2}
.rgm .streak .fz{grid-column:1 / -1;display:flex;align-items:center;gap:6px;color:var(--ice);font-size:12.5px;border-top:1px solid var(--line2);padding-top:8px;margin-top:4px}
.rgm .season{display:grid;gap:10px;transition:background .15s}
.rgm .season:hover{background:var(--panel2)}
.rgm .season header{display:flex;justify-content:space-between;gap:10px;font-size:15px}
.rgm .season header span{color:var(--muted);font-size:12.5px;white-space:nowrap}
.rgm .track{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.rgm .track i{height:24px;border-radius:6px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-style:normal;font-size:10.5px;color:var(--dim);font-weight:800}
.rgm .track i.done{background:var(--y);color:var(--ink)}
.rgm .track i.prize{outline:1.5px solid var(--gold);outline-offset:-1.5px;color:var(--gold)}
.rgm .track i.prize.done{color:var(--ink)}
.rgm .season small{color:var(--muted);font-size:13px}
.rgm .season small b{color:var(--gold)}
/* season ring frames on the level ring and in the race */
.rgm .lring.fr-bronze .rfg{stroke:var(--bronze)}.rgm .lring.fr-silver .rfg{stroke:var(--silver)}.rgm .lring.fr-gold .rfg{stroke:var(--gold)}
.rgm .lring.fr-bronze b,.rgm .lring.fr-silver b,.rgm .lring.fr-gold b{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px currentColor}
.rgm .lring.fr-bronze b{color:var(--bronze)}.rgm .lring.fr-silver b{color:var(--silver)}.rgm .lring.fr-gold b{color:var(--gold)}
.rgm .av.fr-bronze{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--bronze)}.rgm .av.fr-silver{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--silver)}.rgm .av.fr-gold{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--gold)}
.rgm .ptitle{color:var(--y);font-weight:750}
/* trophies page: full season */
.rgm .sfull{display:grid;gap:12px}
.rgm .tiers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rgm .tier{border-radius:12px;background:var(--panel);padding:12px;display:grid;gap:4px;align-content:start;opacity:.55}
.rgm .tier.got{opacity:1;outline:1.5px solid rgba(252,220,0,.4);outline-offset:-1.5px}
.rgm .tier.trophy{background:linear-gradient(135deg,#2b2a20,#1d1e22 70%)}
.rgm .tier .tn{font-size:11px;font-weight:900;color:var(--y)}
.rgm .tier b{font-size:13.5px;line-height:1.25}
.rgm .tier small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rgm .medals{display:flex;flex-wrap:wrap;gap:8px}
.rgm .medal{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--panel);font-size:13.5px;font-weight:700}
/* Daily Shot result */
.rgm .dshot{display:grid;gap:16px;max-width:640px}
.rgm .dshot .eb{color:var(--muted);font-size:15px}
.rgm .dres{font-size:clamp(40px,6vw,64px);font-weight:880;font-stretch:112%;letter-spacing:-.03em;line-height:1}
.rgm .dres.ok{color:var(--g)}.rgm .dres.no{color:var(--r)}
.rgm .dres .xpop{font-size:.5em;vertical-align:middle}
.rgm .dstreak{display:flex;align-items:center;gap:12px;font-size:18px;color:var(--muted)}
.rgm .dstreak .big{display:flex;align-items:center;gap:6px;font-size:54px;font-weight:900;color:var(--f);font-variant-numeric:tabular-nums}
.rgm .dstreak .big .flame{width:44px;height:44px}
.rgm .dstreak .big.bump b{animation:lvlup .6s ease}
@media (max-width:1100px){.rgm .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.rgm .daily{order:2}.rgm .streak{order:3}.rgm .race{order:4}.rgm .almost{order:5}.rgm .season{order:6}.rgm .nextdrop{order:7}.rgm .comm{order:8}.rgm .daily .go{position:static;transform:none;margin-top:4px}}
.rgm .sd.none i{background:rgba(255,255,255,.05)}
.rgm .streak.nobig{grid-template-columns:minmax(0,1fr)}.rgm .streak.nobig .big{display:none}.rgm .streak.nobig .sl{grid-column:1}
.rgm .latest{display:flex;align-items:center;gap:14px;border:1px solid rgba(60,207,122,.35);transition:background .15s}
.rgm .latest:hover{background:var(--panel2)}
.rgm .latest .ck{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(60,207,122,.16);color:var(--g);display:grid;place-items:center;font-weight:900}
.rgm .latest .lt{min-width:0;display:grid}
.rgm .latest .lt small{color:var(--g);font-size:12.5px;font-weight:700}
.rgm .latest .lt b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rgm .latest .ls{margin-left:auto;text-align:right;font-weight:900;font-size:20px;color:var(--g);display:grid;white-space:nowrap}
.rgm .latest .ls small{font-size:12.5px;font-weight:700;color:var(--muted)}
@media (max-width:720px){.rgm .latest{order:1}}

/* ---------------- warm-up, then the quiz ---------------- */
.rgm .track2{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;margin-bottom:20px}
.rgm .stp{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);color:var(--dim);min-width:0}
.rgm .stp .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;border:1.5px solid var(--dim)}
.rgm .stp b{display:block;font-size:14px;color:inherit}
.rgm .stp small{display:block;font-size:12px}
.rgm .stp.now.warm{border-color:var(--ice);color:var(--text);background:rgba(159,211,255,.08)}
.rgm .stp.now.warm .n{border-color:var(--ice);background:var(--ice);color:var(--ink)}
.rgm .stp.now.quiz{border-color:var(--y);color:var(--text);background:rgba(252,220,0,.08)}
.rgm .stp.now.quiz .n{border-color:var(--y);background:var(--y);color:var(--ink)}
.rgm .stp.done{color:var(--muted)}
.rgm .stp.done .n{border-color:var(--g);background:var(--g);color:var(--ink)}
.rgm .track2 .arrow{color:var(--dim)}
.rgm .pill{justify-self:start;align-self:flex-start;display:inline-block;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.rgm .pill.warm{background:rgba(159,211,255,.14);color:var(--ice)}
.rgm .pill.quiz{background:rgba(252,220,0,.16);color:var(--y)}
.rgm .dots.warm .now{background:var(--ice)}.rgm .dots.warm .ok{background:rgba(159,211,255,.5)}
.rgm .btn.ice{background:var(--ice)}
.rgm .gate{display:grid;gap:18px;justify-items:start;padding-top:10px}
.rgm .gate .ok{display:flex;align-items:center;gap:10px;color:var(--g);font-weight:800}
.rgm .gate .ok span{width:30px;height:30px;border-radius:50%;background:rgba(60,207,122,.16);display:grid;place-items:center}
.rgm .gate h2{font-size:clamp(38px,5vw,64px)}
.rgm .gate h2 em{font-style:normal;color:var(--y)}
.rgm .rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:600px}
.rgm .rules div{background:var(--panel);border-radius:12px;padding:12px 14px}
.rgm .rules b{display:block;font-size:17px}
.rgm .rules small{color:var(--muted);font-size:13px}
.rgm .rules .y b{color:var(--y)}
/* share */
.rgm .sharebox{display:grid;gap:10px;margin-top:14px;padding-top:16px;border-top:1px solid var(--line2)}
.rgm .sharebox canvas{display:block;width:100%;max-width:300px;height:auto;border-radius:14px;border:1px solid var(--line)}
.rgm .sbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:300px}
.rgm .sb{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:12px;background:var(--panel2);font-weight:800;font-size:14px}
.rgm .sb svg{width:18px;height:18px}
.rgm .sb.ig{background:linear-gradient(135deg,#833ab4,#e1306c 55%,#f77737);color:#fff}
.rgm .sb.x{background:#000;border:1px solid var(--line);color:#fff}
.rgm .sharebox .link{justify-self:start}
@media (max-width:560px){.rgm .track2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.rgm .track2 .arrow{display:none}.rgm .stp{padding:8px}.rgm .stp small{display:none}.rgm .rules{grid-template-columns:minmax(0,1fr)}}
.rgm .payout{align-items:start}
@media (min-width:721px){.rgm .pleft{position:sticky;top:24px}}

/* ---------------- Monthly Race (Waqas, October 14, 2026: "$500: a members-only monthly race") ----------------
   The Home card matches the approved preview (artifact QLjZtpXcEACgJQs7LHVyWK). The full view lives at /race. */
.rgm .mrace{display:grid;gap:12px;border:1px solid rgba(252,220,0,.35);background:linear-gradient(160deg,#2a2716,#1d1e22 55%);transition:background .15s}
.rgm .mrace:hover{background:linear-gradient(160deg,#332f1a,#24252a 55%)}
.rgm .mrace header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rgm .mrace header b{font-size:16px}
.rgm .mrace header span{color:var(--muted);font-size:12.5px;text-align:right;font-variant-numeric:tabular-nums}
.rgm .mrace .pot{display:flex;align-items:baseline;gap:8px}
.rgm .mrace .pot strong{font-size:40px;font-weight:900;color:var(--y);line-height:1;font-variant-numeric:tabular-nums}
.rgm .mrace .pot span{color:var(--muted);font-size:13.5px}
.rgm .pz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.rgm .pz div{background:rgba(255,255,255,.05);border-radius:10px;padding:8px;text-align:center}
.rgm .pz b{display:block;font-size:17px;color:var(--y);font-variant-numeric:tabular-nums}
.rgm .pz small{color:var(--muted);font-size:11.5px}
.rgm .pzl{gap:10px}.rgm .pzl div{padding:16px 8px;background:var(--panel)}.rgm .pzl b{font-size:clamp(24px,2.6vw,34px);font-weight:900;line-height:1.15}.rgm .pzl small{font-size:13px}
.rgm .rrules{border-top:1px solid var(--line2)}
.rgm .rrules>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:4px 16px;padding:13px 0;border-bottom:1px solid var(--line2);font-size:16px}
.rgm .rrules b{color:var(--y);font-weight:850;font-variant-numeric:tabular-nums}
.rgm .rrules span{color:var(--text)}
@media (max-width:560px){.rgm .rrules>div{grid-template-columns:minmax(0,1fr)}}
.rgm .rme{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(252,220,0,.1);min-width:0}
.rgm .rme .rk{font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;flex:none}
.rgm .rme b{display:block;font-size:14.5px}
.rgm .rme small{color:var(--muted);font-size:12.5px}
.rgm .rbars{display:grid;gap:6px}
.rgm .rbars p{display:grid;grid-template-columns:76px minmax(0,1fr) 44px;gap:8px;align-items:center;font-size:12.5px;color:var(--muted)}
.rgm .rbars i{display:block;height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.rgm .rbars em{display:block;height:100%;background:var(--y);border-radius:4px}
.rgm .rbars b{color:var(--text);text-align:right;font-variant-numeric:tabular-nums}
.rgm .rtop{display:grid;gap:4px}
.rgm .rtop p{display:grid;grid-template-columns:18px 26px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13.5px;padding:2px 0}
.rgm .rtop .n{color:var(--gold);font-weight:800}
.rgm .rtop .av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--ink);background:#c9b8ff}
.rgm .rtop p:nth-child(2) .av{background:#9be7c4}.rgm .rtop p:nth-child(3) .av{background:#ffb4a2}.rgm .rtop p.me .av{background:var(--y)}
.rgm .rtop .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rgm .rtop b{font-variant-numeric:tabular-nums}
.rgm .rtip{font-size:12.5px;color:var(--muted)}
.rgm .rtip b{color:var(--text)}
.rgm .rlink{color:var(--text);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.rgm .mclaim{display:grid;gap:2px;position:relative;border:1px solid rgba(60,207,122,.45);background:linear-gradient(135deg,#17291f,#1d1e22 65%);padding-right:90px}
.rgm .mclaim small{color:var(--muted);font-size:13px}
.rgm .mclaim small:first-child{color:var(--g);font-weight:700;font-size:12.5px}
.rgm .mclaim b{font-size:20px}
.rgm .mclaim .go{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-weight:850;color:var(--g)}
/* the full race view */
.rgm .rgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px 44px;margin-top:34px;align-items:start}
.rgm .rcol{display:grid;gap:26px;min-width:0;align-content:start}
.rgm .rcol h3{margin-bottom:12px;display:flex;align-items:baseline;gap:10px}
.rgm .rcol h3 small{font-size:14px;font-weight:500;color:var(--dim);letter-spacing:0}
.rgm .rcol .rme{padding:14px 16px}.rgm .rcol .rme .rk{font-size:34px}.rgm .rcol .rme b{font-size:17px}.rgm .rcol .rme small{font-size:14px}
.rgm .rboard .rn{display:inline-block;width:34px;color:var(--dim);font-weight:800;font-variant-numeric:tabular-nums}
.rgm .rboard>div:nth-child(-n+3) .rn{color:var(--gold)}
.rgm .rboard .t small{margin-left:34px}
.rgm .rboard .s{color:var(--text);font-weight:800;display:flex;gap:12px;align-items:baseline}
.rgm .rboard .s em{font-style:normal;color:var(--y);min-width:3.2em;text-align:right}
.rgm .rboard .you .rn,.rgm .rboard .you .s{color:var(--y)}
.rgm .rmine .s{color:var(--g);font-weight:800}.rgm .rmine .s.z{color:var(--dim)}
.rgm .rclaim{display:grid;gap:12px;padding:20px;border:1px solid rgba(252,220,0,.45)}
.rgm .rclaim b{font-size:22px}
.rgm .rclaim small{color:var(--muted);font-size:14px}
.rgm .rclaim.done{border-color:rgba(60,207,122,.45)}.rgm .rclaim.done b{color:var(--g)}
.rgm .rclaim .fld{display:grid;gap:6px;font-size:14px;color:var(--muted)}
.rgm .rclaim input{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--text);width:100%;min-width:0}
.rgm .rclaim input:focus{border-color:var(--y);outline:none}
.rgm .rclaim .btn{justify-self:start}
@media (max-width:1100px){.rgm .rgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.rgm .mclaim{order:1}.rgm .mrace,.rgm .colr .jslot{order:2}.rgm .rclaim .btn{justify-self:stretch}.rgm .rboard .t small{margin-left:34px}}

/* ---------------- your answers (Waqas, October 14, 2026: "this section needs its own separation") ---------------- */
.rgm .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rgm .ansx{margin-top:72px}
.rgm .ansh{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:16px}
.rgm .ansh h2{font-size:clamp(26px,3vw,34px)}
.rgm .anschips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.rgm .ac{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.rgm .ac.ok{background:rgba(60,207,122,.13);color:var(--g)}
.rgm .ac.no{background:rgba(255,122,92,.13);color:var(--r)}
.rgm .ansf{display:flex;gap:6px;padding:4px;border-radius:999px;background:var(--panel)}
.rgm .pf{padding:7px 14px;border-radius:999px;color:var(--muted);font-weight:700;font-size:14px;transition:background .18s var(--ease),color .18s var(--ease)}
.rgm .pf b{font-weight:800;color:var(--dim);margin-left:4px;font-variant-numeric:tabular-nums}
.rgm .pf:hover{color:var(--text)}
.rgm .pf.on{background:var(--panel2);color:var(--text);box-shadow:inset 0 0 0 1px rgba(252,220,0,.45)}
.rgm .pf.on b{color:var(--y)}
.rgm .anslist{list-style:none;margin:0;padding:6px;border-radius:20px;background:var(--panel);border:1px solid var(--line2);display:grid;gap:4px}
.rgm .anslist.only-missed .ar.ok{display:none}
.rgm .ar{display:flex;gap:14px;align-items:flex-start;padding:16px 18px 16px 16px;border-radius:14px;box-shadow:inset 3px 0 0 var(--ac,transparent)}
.rgm .ar.ok{--ac:rgba(60,207,122,.55)}
.rgm .ar.no{--ac:rgba(255,122,92,.6);background:rgba(255,122,92,.045)}
.rgm .ar+.ar{border-top:0}
.rgm .am{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;margin-top:1px}
.rgm .ar.ok .am{background:rgba(60,207,122,.16);color:var(--g)}
.rgm .ar.no .am{background:rgba(255,122,92,.16);color:var(--r)}
.rgm .at{flex:1;min-width:0;display:grid;gap:8px}
.rgm .aq{font-size:16.5px;line-height:1.45;color:var(--text)}
.rgm .an{display:inline-block;min-width:22px;color:var(--dim);font-weight:800;font-variant-numeric:tabular-nums}
.rgm .ra{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:rgba(60,207,122,.07);border:1px solid rgba(60,207,122,.18);font-size:14.5px;line-height:1.4;color:var(--text)}
.rgm .ra small{color:var(--g);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
@media (max-width:720px){.rgm .ansx{margin-top:48px}.rgm .ansh{align-items:flex-start}.rgm .anslist{padding:4px}.rgm .ar{padding:14px 12px;gap:11px}.rgm .aq{font-size:15.5px}}

/* ---------------- interaction (Waqas, October 14, 2026: "the navigation pages and the interaction just should be juiced") ----------------
   Nav: a yellow underline slides in on hover and stays under the current page. Text links: a yellow underline
   grows on hover and the arrow nudges right. Buttons lift and brighten on hover and press in at 0.98. Link
   cards glow on hover. All of it at about 180 ms, and none of it with reduced motion. */
.rgm{--ease:cubic-bezier(.2,.8,.2,1)}
.rgm .nav a{position:relative;transition:color .18s var(--ease)}
.rgm .nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:var(--y);transform:scaleX(0);transform-origin:left center;transition:transform .18s var(--ease)}
.rgm .nav a:hover::after,.rgm .nav a:focus-visible::after,.rgm .nav a.on::after{transform:scaleX(1)}
.rgm .nav a:active{opacity:.75}
.rgm .mtabs a{position:relative;transition:color .18s var(--ease)}
.rgm .mtabs a::after{content:"";position:absolute;left:50%;top:-10px;width:22px;height:3px;margin-left:-11px;border-radius:0 0 3px 3px;background:var(--y);transform:scaleX(0);transition:transform .18s var(--ease)}
.rgm .mtabs a.on::after{transform:scaleX(1)}
.rgm .link,.rgm .h a,.rgm .ps-row b{background-image:linear-gradient(var(--y),var(--y));background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;transition:background-size .18s var(--ease),color .18s var(--ease)}
.rgm .link{background-origin:content-box}
.rgm .link:hover,.rgm .link:focus-visible,.rgm .h a:hover,.rgm .h a:focus-visible,.rgm .ps-row:hover b{background-size:100% 2px;color:var(--text)}
.rgm .link:active,.rgm .h a:active{opacity:.7}
.rgm .rlink{justify-self:start;text-decoration:none;background-image:linear-gradient(var(--y),var(--y)),linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0% 2px,100% 1px;background-position:0 100%,0 100%;padding-bottom:2px;transition:background-size .18s var(--ease)}
.rgm .rlink::after{content:"→";display:inline-block;margin-left:6px;color:var(--y);transition:transform .18s var(--ease)}
.rgm a:hover .rlink,.rgm a:focus-visible .rlink{background-size:100% 2px,100% 1px}
.rgm a:hover .rlink::after,.rgm a:focus-visible .rlink::after{transform:translateX(3px)}
.rgm a.move .r{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;padding-bottom:1px;transition:background-size .18s var(--ease)}
.rgm a.move:hover .r,.rgm a.move:focus-visible .r{background-size:100% 2px}
.rgm .nudge{display:inline-block;font-style:normal;transition:transform .18s var(--ease)}
.rgm a:hover .nudge,.rgm a:focus-visible .nudge,.rgm button:hover .nudge{transform:translateX(3px)}
/* buttons: yellow and dark */
.rgm .btn,.rgm .sb,.rgm .ttk-send,.rgm .tjoin{transition:transform .18s var(--ease),filter .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease)}
.rgm .btn:not(:disabled):hover,.rgm .btn:not(:disabled):focus-visible{transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 10px 26px -10px rgba(252,220,0,.55)}
.rgm .sb:hover,.rgm .ttk-send:not(:disabled):hover,.rgm .tjoin:hover{transform:translateY(-1px);filter:brightness(1.18);box-shadow:0 10px 22px -12px rgba(0,0,0,.8)}
.rgm .btn:not(:disabled):active,.rgm .sb:active,.rgm .ttk-send:not(:disabled):active,.rgm .tjoin:active{transform:scale(.98);filter:brightness(.96);box-shadow:none}
.rgm .tabs button,.rgm .seg2 button{transition:color .18s var(--ease),border-color .18s var(--ease)}
.rgm .tabs button:hover,.rgm .seg2 button:hover{color:var(--text);border-color:rgba(252,220,0,.45)}
.rgm .tabs button.on:hover,.rgm .seg2 button.on:hover{border-color:var(--y)}
/* cards that are links glow on hover */
.rgm a.card,.rgm a.tro,.rgm a.move,.rgm .stats a,.rgm .pchip{transition:background .18s var(--ease),box-shadow .18s var(--ease)}
.rgm a.card:hover,.rgm a.card:focus-visible,.rgm a.tro:hover,.rgm a.tro:focus-visible,.rgm a.move:hover,.rgm .stats a:hover{box-shadow:0 0 0 1px rgba(252,220,0,.4),0 12px 34px -16px rgba(252,220,0,.4)}
.rgm a.card:active,.rgm a.tro:active,.rgm a.move:active{box-shadow:0 0 0 1px rgba(252,220,0,.6)}
.rgm .pchip:hover{box-shadow:0 0 0 1px rgba(252,220,0,.35)}
/* picture answers (pick the frame): a yellow outline on hover, a press on click (Oct 15 sweep: they had no hover state) */
.rgm button.frame{transition:outline-color .12s,transform .18s var(--ease)}
.rgm button.frame:not(:disabled):not(.pick):not(.right):not(.wrong):hover{outline-color:rgba(252,220,0,.45)}
.rgm button.frame:not(:disabled):active{transform:scale(.985)}
@media (prefers-reduced-motion:reduce){
  .rgm .nav a::after,.rgm .mtabs a::after,.rgm .link,.rgm .h a,.rgm .rlink,.rgm .rlink::after,.rgm .nudge,.rgm a.move .r,.rgm .btn,.rgm .sb,.rgm .ttk-send,.rgm .tjoin,.rgm a.card,.rgm a.tro,.rgm a.move,.rgm .pf,.rgm .ps-row{transition:none}
  .rgm button.frame:active,.rgm .btn:hover,.rgm .btn:active,.rgm .sb:hover,.rgm .sb:active,.rgm .ttk-send:hover,.rgm .ttk-send:active,.rgm .tjoin:hover,.rgm .tjoin:active,.rgm a:hover .nudge,.rgm a:hover .rlink::after{transform:none!important}
}

/* ---------------- Trophies page: your skills, how XP works, the account row (round 6) ---------------- */
.rgm .skh{display:grid;gap:6px;margin-bottom:16px}
.rgm .skcard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:center;padding:24px;border-radius:20px;background:var(--panel);border:1px solid var(--line2)}
.rgm .skmap,.rgm .skside{min-width:0}
.rgm .radar{display:block;width:100%;max-width:480px;height:auto;margin:0 auto}
.rgm .radar .rg{fill:none;stroke:rgba(255,255,255,.08)}
.rgm .radar .ax line{stroke:rgba(255,255,255,.09);transition:stroke .18s var(--ease)}
.rgm .radar .ax text{fill:var(--muted);font:650 17px/1 var(--font);transition:fill .18s var(--ease)}
.rgm .radar .ax.none text{fill:var(--dim)}
.rgm .radar .rcom{fill:none;stroke:#7d7e86;stroke-width:1.5;stroke-dasharray:5 5}
.rgm .radar .rghost{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.22);stroke-width:1.5;stroke-dasharray:5 5}
.rgm .radar .ryou{fill:rgba(252,220,0,.16);stroke:var(--y);stroke-width:2.5;stroke-linejoin:round}
.rgm .radar .rdot{fill:var(--y);stroke:var(--panel);stroke-width:2.5}
.rgm .radar .ax.hl line{stroke:var(--y)}
.rgm .radar .ax.hl text{fill:var(--text)}
.rgm .radar .ax.hl .rdot{stroke:var(--y);stroke-width:5}
.rgm .skx.hlon .radar .ax:not(.hl) text{fill:var(--dim)}
.rgm .sklist{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rgm .skr{display:grid;gap:7px;padding:10px 12px;border-radius:12px;transition:background .18s var(--ease)}
.rgm .skr.hl{background:var(--panel2)}
.rgm .skn{display:flex;align-items:center;gap:10px;min-width:0}
.rgm .skn b{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rgm .skv{margin-left:auto;font-weight:850;font-size:15px;font-variant-numeric:tabular-nums}
.rgm .skr.none b,.rgm .skr.none .skv{color:var(--dim)}
.rgm .skf{flex:none;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--y);border:1px solid rgba(252,220,0,.55);padding:3px 8px;border-radius:999px;transition:background .18s var(--ease)}
.rgm .skf:hover,.rgm .skf:focus-visible{background:rgba(252,220,0,.12)}
.rgm .skb{position:relative;height:6px;border-radius:3px;background:rgba(255,255,255,.08)}
.rgm .skb .you{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--y)}
.rgm .skb .com{position:absolute;top:-3px;width:2px;height:12px;margin-left:-1px;border-radius:1px;background:#c9ccd4}
.rgm .skr small{color:var(--dim);font-size:12.5px}
.rgm .skempty{display:grid;gap:3px;justify-items:start;padding:2px 12px 14px;margin-bottom:8px;border-bottom:1px solid var(--line2)}
.rgm .skempty b{font-size:17px}
.rgm .skempty span{color:var(--muted);font-size:14.5px}
.rgm .skcard.empty .sklist small{display:none}
.rgm .skcard.empty .skb .com{display:none}
.rgm .skcard.empty .skr{padding-block:7px}
.rgm .xpx{margin-top:56px}
.rgm .xpg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.rgm .xpc{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:var(--panel)}
.rgm .xpi{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(252,220,0,.11);color:var(--y)}
.rgm .xpi svg{width:18px;height:18px}
.rgm .xpt{display:grid;gap:3px;min-width:0}
.rgm .xpt b{font-size:18px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}
.rgm .xpt b.n{color:var(--y)}
.rgm .xpt small{color:var(--muted);font-size:13px;line-height:1.35}
.rgm .acct{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line2);color:var(--muted);font-size:14px}
.rgm .acct b{color:var(--text);font-weight:700}
/* ranks: a real board */
.rgm .rkx{margin-top:30px}
.rgm .rkl{list-style:none;margin:0;padding:6px;border-radius:20px;background:var(--panel);border:1px solid var(--line2);display:grid}
.rgm .rkr{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px}
.rgm .rkr+.rkr{border-top:1px solid var(--line2)}
.rgm .rkn{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:14px;background:var(--panel2);color:var(--muted);font-variant-numeric:tabular-nums}
.rgm .rkr.pod .rkn{background:rgba(252,220,0,.14);color:var(--y)}
.rgm .rkt{min-width:0;display:grid}
.rgm .rkt b{font-size:16px;font-weight:700}
.rgm .rkt small{color:var(--dim);font-size:13px}
.rgm .rkp{margin-left:auto;font-weight:850;font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rgm .rkp small{font-size:12px;color:var(--muted);margin-left:4px;font-weight:700}
.rgm .rkr.you{background:rgba(252,220,0,.07);box-shadow:inset 3px 0 0 var(--y)}
.rgm .rkr.you .rkt b{color:var(--y)}
.rgm .rkgap{text-align:center;color:var(--dim);letter-spacing:.3em;padding:4px}
/* the locked labs line is a quiet card, not a stray sentence */
.rgm p.quiet.lablock{display:flex;justify-content:center;align-items:center;gap:8px;padding:14px 16px;border-radius:14px;border:1px dashed var(--line);text-align:center}
@media (max-width:900px){.rgm .skcard{grid-template-columns:minmax(0,1fr);padding:16px 12px;gap:10px}.rgm .radar{max-width:440px}}
@media (max-width:1100px){.rgm .xpg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rgm .xpg{grid-template-columns:minmax(0,1fr);gap:8px}.rgm .xpc{padding:12px;align-items:center}.rgm .rkr{gap:10px;padding:11px 10px}.rgm .acct{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){.rgm .radar .ax line,.rgm .radar .ax text,.rgm .skr,.rgm .skf{transition:none}}

/* ---------------- free trial (/trial only; none of these classes appear on member pages) ---------------- */
.rgm .tbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px max(32px,calc((100% - 1480px) / 2 + 32px));background:var(--y);color:var(--ink);font-size:14px;line-height:1.3;font-weight:600}
.rgm .tbar .tbt{min-width:0}
.rgm .tbar .tb2::before{content:" · "}
.rgm .tbar b{font-weight:900;letter-spacing:.04em}
.rgm .tjoin{flex:none;display:inline-flex;align-items:center;min-height:34px;padding:0 18px;border-radius:999px;background:#0b0b0c;color:#f4f4f1;font-weight:850;font-size:14px}
.rgm .tjoin:hover{background:#2a2b30}
.rgm.trial .pleft{top:70px}
.rgm .lockb{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--muted);flex:none;vertical-align:middle;margin-left:8px}
.rgm .lockb svg{width:11px;height:11px}
.rgm .btn .lockb{background:rgba(11,11,12,.16);color:var(--ink);width:24px;height:24px;margin-left:10px}
.rgm .btn .lockb svg{width:13px;height:13px}
.rgm .nav .lockb,.rgm .mtabs .lockb{width:16px;height:16px;margin-left:5px}
.rgm .nav .lockb svg,.rgm .mtabs .lockb svg{width:9px;height:9px}
.rgm .tlocked.tro,.rgm .tlocked.card,.rgm .tlocked.pcard{position:relative}
.rgm .tro>.lockb,.rgm .card>.lockb,.rgm .pcard>.lockb{position:absolute;top:12px;right:12px;margin:0}
.rgm p.tlocked{display:inline-flex;align-items:center;cursor:pointer}
.rgm .tlocked{cursor:pointer}
.rgm .tclaim{width:100%;text-align:left;border-color:var(--line);padding-right:48px}
.rgm .tclaim b{font-size:18px}
.rgm .tgate-note{color:var(--dim);font-size:12.5px;line-height:1.4}
.rgm .tchip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--y);color:var(--ink);font:900 11.5px/1.2 var(--font);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}
.rgm .top .tchip{margin:0 auto 0 0}
.rgm .tpay{width:100%;min-height:62px;font-size:18px;margin-bottom:6px}
/* the post-quiz takeover: level complete, then the pitch */
.rgm.ttk-root{position:fixed;inset:0;z-index:110;min-height:0;background:radial-gradient(ellipse 70% 45% at 50% 0%,rgba(252,220,0,.13),transparent 70%),#0c0c0e;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;padding:32px 20px;opacity:0;transition:opacity .25s}
.rgm.ttk-root.in{opacity:1}
.rgm .ttk{width:min(700px,100%);margin:auto;display:grid;gap:18px;justify-items:center;text-align:center;transform:scale(.94);transition:transform .5s cubic-bezier(.2,.9,.25,1.2)}
.rgm.ttk-root.in .ttk{transform:none}
.rgm .ttk-k{color:var(--y);font-weight:900;font-size:13px;letter-spacing:.22em;text-transform:uppercase;padding:7px 15px;border:1.5px solid var(--y);border-radius:999px}
.rgm .ttk h1{font-size:clamp(38px,6.4vw,72px);line-height:1}
.rgm .ttk-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.rgm .ttk-stats span{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:var(--panel2);font-weight:800;font-size:14.5px;font-variant-numeric:tabular-nums}
.rgm .ttk-stats span:nth-child(2){color:var(--y)}
.rgm .ttk-tro{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(242,201,76,.25)}
.rgm .ttk-loss{font-size:16.5px;font-weight:650;color:var(--text);max-width:44ch}
.rgm .ttk-perks{list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rgm .ttk-perks li{display:flex;align-items:center;gap:11px;text-align:left;padding:12px 14px;border-radius:14px;background:var(--panel);font-size:14.5px;font-weight:650;line-height:1.3}
.rgm .ttk-perks svg{width:24px;height:24px;flex:none;color:var(--y)}
.rgm .ttk-price{display:grid;gap:5px}
.rgm .ttk-price b{font-size:16px;font-weight:800}
.rgm .ttk-price small{color:var(--muted);font-size:14px}
.rgm .ttk-price small span{color:var(--y);font-weight:850;font-variant-numeric:tabular-nums}
.rgm .ttk-join{width:100%;min-height:70px;font-size:21px;border-radius:16px}
.rgm .ttk-mail{width:100%;display:grid;gap:8px;padding-top:16px;border-top:1px solid var(--line2);text-align:left}
.rgm .ttk-mail label{font-size:15px;font-weight:650;color:var(--text)}
.rgm .ttk-mail form{display:grid;gap:8px}
.rgm .ttk-row{display:flex;gap:8px}
.rgm .ttk-row input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 14px;color:var(--text);font-size:16px}
.rgm .ttk-row input:focus{border-color:var(--y);outline:none}
.rgm .ttk-send{flex:none;padding:0 20px;border-radius:12px;background:#0b0b0c;border:1px solid rgba(255,255,255,.22);font-weight:850;font-size:15px}
.rgm .ttk-send:hover{border-color:rgba(255,255,255,.45)}
.rgm .ttk-sent{color:var(--g);font-weight:750;font-size:15.5px}
.rgm .ttk-close{font-size:15px}
.rgm .tprev{display:inline-block;justify-self:start;align-self:flex-start;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font:700 11.5px/1.3 var(--font);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.rgm .mrace .tprev{margin:2px 0 8px}
.rgm h3 .tprev{margin-left:8px;letter-spacing:.06em}
html.tsheet-open{overflow:hidden}
.rgm.tsheet-root{position:fixed;inset:0;z-index:100;min-height:0;background:none;display:flex;align-items:center;justify-content:center;padding:16px}
.rgm .tsheet-back{position:absolute;inset:0;background:rgba(0,0,0,.68);opacity:0;transition:opacity .2s}
.rgm .tsheet{position:relative;width:min(440px,100%);background:#1d1e22;border:1px solid var(--line);border-radius:22px;padding:28px 26px 16px;display:grid;gap:12px;justify-items:start;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(18px);opacity:0;transition:transform .28s cubic-bezier(.2,.9,.25,1),opacity .2s}
.rgm.tsheet-root.in .tsheet-back{opacity:1}
.rgm.tsheet-root.in .tsheet{transform:none;opacity:1}
.rgm .tsheet-ic{width:46px;height:46px;border-radius:50%;background:rgba(252,220,0,.14);color:var(--y);display:grid;place-items:center}
.rgm .tsheet-ic svg{width:20px;height:20px}
.rgm .tsheet-k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--y);font-weight:800;margin-top:4px}
.rgm .tsheet h2{font-size:clamp(26px,3vw,32px)}
.rgm .tsheet-l{color:var(--muted);font-size:16px}
.rgm .tsheet-p{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.rgm .tsheet .btn{width:100%;margin-top:8px}
.rgm .tsheet .link{justify-self:center}
@media (max-width:720px){
  .rgm .tbar{font-size:13px;padding:7px 16px;gap:10px}
  .rgm .tbar .tb2{display:block}
  .rgm .tbar .tb2::before{content:none}
  .rgm.ttk-root{padding:22px 16px 28px}
  .rgm .ttk{gap:14px}
  .rgm .ttk h1{font-size:36px}
  .rgm .ttk-stats span{font-size:13.5px;padding:7px 11px}
  .rgm .ttk-loss{font-size:15px}
  .rgm .ttk-perks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rgm .ttk-perks li{padding:10px 11px;font-size:13px;gap:9px}
  .rgm .ttk-perks svg{width:20px;height:20px}
  .rgm .ttk-price b{font-size:14.5px}
  .rgm .ttk-join{min-height:62px;font-size:18.5px}
  .rgm .tjoin{min-height:32px;padding:0 16px}
  .rgm.tsheet-root{align-items:flex-end;padding:0}
  .rgm .tsheet-p{font-size:13.5px}
  .rgm .tsheet{width:100%;border-radius:22px 22px 0 0;border-width:1px 0 0;padding:24px 20px calc(14px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.rgm .tsheet,.rgm .tsheet-back,.rgm.ttk-root,.rgm .ttk{transition:none}}

/* Owner Console member preview, opened full screen: a dark strip, so it never reads as the trial's yellow bar. */
.rgm .tbar.pvbar{background:#2a2b30;color:#f4f4f1}
.rgm .pvbar .tjoin{background:transparent;color:#f4f4f1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.rgm .pvbar .tjoin:hover{background:rgba(255,255,255,.08)}

/* Signed-out screens (Sign in, Create your account), Grade School 2.0 look (Waqas, Oct 14): the dashboard's dark system,
   the wordmark with the yellow 2.0, one yellow button. Same fields and API calls as before. */
body.gs-auth-on{margin:0;background:#141517!important;color:#f4f4f1}
.gsauth{--y:#fcdc00;--ink:#0b0b0c;--panel:#1d1e22;--panel2:#24252a;--line:rgba(255,255,255,.12);--muted:#a8a8b0;--dim:#8e8f97;--ease:cubic-bezier(.2,.8,.2,1);
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:0 16px 48px;box-sizing:border-box;background:#141517;color:#f4f4f1;font:400 17px/1.5 "Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.gsauth *{box-sizing:border-box}
.gsa-bar{width:100%;max-width:1480px;padding:20px 0 0;display:flex}
.gsa-mark{font-weight:860;font-stretch:115%;letter-spacing:-.01em;font-size:17px;white-space:nowrap}
.gsa-mark i{font-style:normal;color:var(--y)}
.gsa-body{width:100%;max-width:1480px;flex:1;display:flex;justify-content:center;align-items:flex-start}
.gsa-card{width:100%;max-width:440px;margin:clamp(32px,9vh,120px) auto 0;display:flex;flex-direction:column;gap:14px}
.gsa-peek{display:none}
/* Desktop: the form on the left, a look inside on the right (a capture of member Home, sample data). Phones: the form only. */
@media (min-width:1100px){
  .gsa-body{display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:clamp(48px,6vw,96px);align-items:center;padding:0 16px}
  .gsa-card{margin:0;padding:24px 0 40px}
  .gsa-peek{display:block;margin:0;aspect-ratio:1600/1075;border-radius:20px;background:#1d1e22 url(/gs-inside-home.jpg?v=gs-2) center/cover no-repeat;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 90px -30px rgba(0,0,0,.85),0 0 120px -40px rgba(252,220,0,.25)}
}
.gsa-eye{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--y);padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(252,220,0,.35);background:rgba(252,220,0,.06)}
@media (min-width:1100px){.gsa-peek.gsa-peek-admin{aspect-ratio:1980/1330;background-image:url(/gs-inside-console.jpg?v=gs-1)}}
.gsauth h1{margin:0;font-weight:860;font-stretch:110%;letter-spacing:-.03em;line-height:1.02;font-size:clamp(34px,6vw,48px);text-wrap:balance}
.gsa-sub{margin:0 0 10px;color:var(--muted);font-size:17px}
.gsauth form{display:flex;flex-direction:column;gap:14px;margin:0}
.gsa-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.gsa-split[hidden]{display:none}
.gsa-f{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}
.gsa-f span{color:var(--muted);font-size:14px;font-weight:650}
.gsa-f small{color:var(--dim);font-size:13px}
.gsauth input{width:100%;min-height:52px;padding:0 16px;border-radius:12px;border:0;background:var(--panel);color:#f4f4f1;font-family:inherit;font-weight:500;font-size:17px;line-height:1;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .18s var(--ease);margin:0}
.gsauth input:hover{box-shadow:inset 0 0 0 1px rgba(252,220,0,.4)}
.gsauth input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--y)}
.gsa-btn{margin-top:6px;min-height:56px;border:0;border-radius:14px;background:var(--y);color:var(--ink);font-family:inherit;font-weight:850;font-size:17px;line-height:1;cursor:pointer;transition:transform .18s var(--ease),filter .18s var(--ease),box-shadow .18s var(--ease)}
.gsa-btn:hover,.gsa-btn:focus-visible{transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 10px 26px -10px rgba(252,220,0,.55)}
.gsa-btn:active{transform:scale(.98);filter:brightness(.96);box-shadow:none}
.gsauth :focus-visible{outline:3px solid var(--y);outline-offset:2px}
.gsa-alt{margin:4px 0 0;color:var(--muted);font-size:15px}
.gsa-alt button{background:none;border:0;padding:0 0 2px;margin:0;font-family:inherit;font-weight:700;font-size:15px;line-height:1.4;color:#f4f4f1;cursor:pointer;background-image:linear-gradient(var(--y),var(--y));background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;transition:background-size .18s var(--ease)}
.gsa-alt button:hover,.gsa-alt button:focus-visible{background-size:100% 2px}
.gsa-alt button:active{opacity:.7}
.gsauth .error{margin:0;padding:12px 14px;border-radius:12px;background:rgba(255,122,92,.12);color:#ffb09e;font-size:15px;border:0}
@media (max-width:420px){.gsa-split{grid-template-columns:minmax(0,1fr)}}
/* Big screens scale up; the page height is divided by the same zoom so the form stays above the fold. */
@media (min-width:2200px){.gsauth{zoom:1.333;min-height:calc(100vh / 1.333);min-height:calc(100dvh / 1.333)}}
@media (min-width:3000px){.gsauth{zoom:2;min-height:calc(100vh / 2);min-height:calc(100dvh / 2)}}
@media (prefers-reduced-motion:reduce){.gsauth *{transition:none!important}.gsa-btn:hover,.gsa-btn:active{transform:none}}

/* ---- Difficulty modes (Oct 15, 2026; qazi-os-2 artifacts/rgm-launch/difficulty/challenge-prototype.html) ----
   Pick screen, HUD chip, hint counter and lifeline, the timer ring and TIME'S UP. Each card glows in its own
   mode color (Easy green, Normal yellow, Hard red), never yellow on Easy. */
.rgm .diffpick{--mc:var(--y);max-width:980px;margin:0 auto;padding:clamp(18px,6vh,64px) 0 24px;display:grid;align-content:center}
.rgm .diffpick .dk{color:var(--muted);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:13px;margin:0 0 8px}
.rgm .diffpick .dh{font-size:clamp(36px,6vw,64px);line-height:1;margin:0 0 28px;font-weight:880;font-stretch:112%;letter-spacing:-.02em}
.rgm .dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:720px){.rgm .dgrid{grid-template-columns:minmax(0,1fr)}.rgm .diffpick .dh{margin-bottom:20px}}
.rgm .dcard{--mc:#fcdc00;--mg:rgba(252,220,0,.5);position:relative;box-sizing:border-box;cursor:pointer;display:grid;align-content:start;gap:10px;padding:22px 20px;border-radius:18px;background:var(--panel);border:0;color:var(--text);font:inherit;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:transform .16s var(--ease),box-shadow .16s}
.rgm .dcard[data-d=easy]{--mc:#3ccf7a;--mg:rgba(60,207,122,.55)}.rgm .dcard[data-d=hard]{--mc:#ff4d4d;--mg:rgba(255,77,77,.55)}
.rgm .dcard:hover,.rgm .dcard:focus-visible,.rgm .dcard.last{box-shadow:inset 0 0 0 2px var(--mc),0 16px 40px -18px var(--mg)}
.rgm .dcard:hover,.rgm .dcard:focus-visible{transform:translateY(-3px);outline:none}.rgm .dcard:active{transform:scale(.98)}
.rgm .dcard .dn{font-size:30px;font-weight:880;font-stretch:110%;line-height:1.05}.rgm .dcard .dd{color:var(--muted);font-size:14.5px;font-weight:600}
.rgm .dcard .dlast{position:absolute;top:18px;right:18px;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--mc)}
.rgm .dpips{display:flex;gap:5px}.rgm .dpips i,.rgm .dpips b{display:block;width:22px;height:8px;border-radius:99px;background:rgba(255,255,255,.14)}
.rgm .dcard .dpips i{background:var(--mc)}
.rgm .dfoot{color:var(--dim);font-size:14px;margin:16px 0 0}
.rgm .hud{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;min-width:0}
.rgm .dchip{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.1em;padding:6px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px currentColor;line-height:1}
.rgm .dchip.easy{color:#3ccf7a}.rgm .dchip.normal{color:#fcdc00}.rgm .dchip.hard{color:#ff4d4d}
.rgm .payout .dchip{margin-top:6px}
.rgm .hchip{font-size:13px;font-weight:900;color:#3ccf7a;padding:5px 9px;border-radius:999px;background:rgba(60,207,122,.1);line-height:1.1}.rgm .hchip.out{color:var(--dim);background:rgba(255,255,255,.05)}
.rgm .hintbtn{cursor:pointer;font:inherit;font-weight:800;font-size:15px;color:#3ccf7a;background:none;border:0;padding:10px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(60,207,122,.45);transition:background .15s,transform .15s var(--ease)}
.rgm .hintbtn:hover{background:rgba(60,207,122,.08);transform:translateY(-1px)}.rgm .hintbtn:active{transform:translateY(1px)}
.rgm .hintbtn.out,.rgm .hintbtn:disabled{color:var(--dim);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);cursor:default;transform:none;background:none}
.rgm .hinttext{margin:0;padding:12px 14px;border-radius:12px;background:rgba(60,207,122,.08);color:#bff3d4;font-weight:600;font-size:15px}
.rgm .timer{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;flex:none}
.rgm .timer svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.rgm .timer circle{fill:none;stroke-width:3.2}.rgm .timer .tt{stroke:rgba(255,255,255,.12)}
.rgm .timer .tr{stroke:#fcdc00;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .2s}
.rgm .timer b{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--text);position:relative}
.rgm .timer.warn .tr{stroke:#ff8a3d}.rgm .timer.warn b{color:#ff8a3d}
.rgm .timer.hot .tr{stroke:#ff4d4d}.rgm .timer.hot b{color:#ff4d4d}.rgm .timer.hot{animation:tpulse 1s ease-in-out infinite}
.rgm .timer.over{width:auto;padding:0 12px;height:32px;border-radius:999px;background:rgba(255,77,77,.14)}.rgm .timer.over svg{display:none}.rgm .timer.over b{color:#ff6b6b;font-size:12px;letter-spacing:.06em}
.rgm .timer.done .tr{stroke:#3ccf7a}.rgm .timer.done b{color:#3ccf7a}
.rgm .timer.stopped .tr{stroke:rgba(255,255,255,.3)}.rgm .timer.stopped b{color:var(--dim)}
@keyframes tpulse{50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.rgm .timer.hot{animation:none}.rgm .timer .tr{transition:none}.rgm .dcard{transition:none}.rgm .dcard:hover{transform:none}}
@media (max-width:520px){.rgm .top:has(.hud){flex-wrap:wrap;row-gap:10px}.rgm .top .hud{margin-left:auto}}

/* ---- Monthly Race card, direction A · Jackpot (Waqas, Oct 15, 2026, item 48; race-prize/dir-A.html) ---- */
.rgm .jslot{container-type:inline-size;min-width:0}
.rgm .mrace.jack{display:grid;gap:16px;padding:16px 18px}
.rgm .mrace.jack:hover{background:linear-gradient(160deg,#2a2716,#1d1e22 55%)}
.rgm .mrace.jack>header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rgm .mrace.jack>header b{font-size:16px;font-weight:800}
.rgm .mrace.jack .cdc{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rgm .mrace.jack .cdc i{width:7px;height:7px;border-radius:50%;background:var(--g);animation:jlive 2s infinite}.rgm .mrace.jack .cdc i.soon{background:var(--y);animation:none}
@keyframes jlive{0%{box-shadow:0 0 0 0 rgba(60,207,122,.55)}70%{box-shadow:0 0 0 7px rgba(60,207,122,0)}100%{box-shadow:0 0 0 0 rgba(60,207,122,0)}}
.rgm .mrace.jack .tprev{justify-self:start;margin:-6px 0 0}
.rgm .jack .l,.rgm .jack .r{display:contents}
.rgm .jack .jhero{display:flex;align-items:center;gap:14px;min-width:0}
.rgm .jack .coin{flex:none;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3a0,#fcdc00 45%,#c9a800);color:#3a3000;display:grid;place-items:center;font-weight:900;font-size:26px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18),0 6px 18px -6px rgba(252,220,0,.6);animation:jflip 1.1s var(--ease) both}
@keyframes jflip{0%{transform:translateY(-26px) rotateY(0) scale(.6);opacity:0}55%{transform:translateY(4px) rotateY(540deg) scale(1.05);opacity:1}100%{transform:none}}
.rgm .jack .jhero>div{display:grid;gap:6px;min-width:0;justify-items:start}
.rgm .jack .eb{color:var(--text);font-size:15px;font-weight:700;margin:0;letter-spacing:0;text-transform:none}
.rgm .jack .amt{display:block;color:var(--y);font-weight:900;font-stretch:112%;letter-spacing:-.035em;line-height:.92;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(48px,17cqi,68px);transform-origin:left bottom}
.rgm .jack .amt.landed{animation:jshine .7s ease-out}
@keyframes jshine{0%{text-shadow:0 0 0 rgba(252,220,0,0)}35%{transform:scale(1.07);text-shadow:0 0 28px rgba(252,220,0,.75)}100%{transform:none;text-shadow:0 0 0 rgba(252,220,0,0)}}
.rgm .jack .sub{color:var(--muted);font-size:14.5px;font-variant-numeric:tabular-nums;margin:0}.rgm .jack .sub b{color:var(--text);font-weight:800}
.rgm .jack .jstairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;padding-top:20px}
.rgm .jack .jstp{color:var(--text);position:relative;border-radius:12px;background:rgba(255,255,255,.05);border:1.5px solid transparent;padding:10px 8px 9px;display:grid;gap:1px;align-content:end;text-align:center;min-width:0}
.rgm .jack .jstp:nth-child(1){min-height:84px}.rgm .jack .jstp:nth-child(2){min-height:102px}.rgm .jack .jstp:nth-child(3){min-height:120px}
.rgm .jack .jstp b{font-size:21px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.1}
.rgm .jack .jstp small{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.rgm .jack .jstp small.pl{color:var(--dim);font-weight:700}
.rgm .jack .jstp.me{background:rgba(255,255,255,.1);border-color:var(--text)}.rgm .jack .jstp.me small{color:var(--text)}
.rgm .jack .jstp.nx{border-style:dashed;border-color:rgba(255,255,255,.4)}
.rgm .jack .jtag{position:absolute;left:50%;top:-11px;transform:translateX(-50%);font-size:11px;font-weight:850;letter-spacing:.04em;padding:2px 8px;border-radius:999px;white-space:nowrap;background:var(--text);color:var(--ink)}
.rgm .jack .jstp.nx .jtag{background:var(--bg);color:var(--text);border:1px solid rgba(255,255,255,.4)}
.rgm .jack .jnxt{display:grid;gap:8px;padding:12px 14px;border-radius:12px;background:rgba(0,0,0,.25)}
.rgm .jack .jnxt p{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:16px;margin:0}
.rgm .jack .jnxt p b{font-weight:850;min-width:0}
.rgm .jack .jnxt p span{flex:none;font-size:13px;font-weight:850;color:var(--g);font-variant-numeric:tabular-nums}
.rgm .jack .jbar{display:block;height:8px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden}
.rgm .jack .jbar em{display:block;height:100%;border-radius:5px;background:var(--text);transform-origin:left;animation:jgrow 1.1s .25s var(--ease) both}
@keyframes jgrow{from{transform:scaleX(0)}}
.rgm .jack .jnxt small{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12.5px;font-variant-numeric:tabular-nums}
.rgm .jack .ft{display:grid;gap:8px}
.rgm .jack .btn.wbtn{display:flex;align-items:center;justify-content:center;min-height:52px;width:100%;padding:0 24px;border-radius:14px;background:var(--text);color:var(--ink);font-weight:850;font-size:16px;box-shadow:none}
.rgm .jack .btn.wbtn:hover,.rgm .jack .btn.wbtn:focus-visible{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(255,255,255,.45);text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:3px;text-underline-offset:5px;background:var(--text)}
.rgm .jack .btn.wbtn:active{transform:translateY(1px) scale(.985);filter:brightness(.92)}
.rgm .jack .rlink{justify-self:stretch;background:none;text-decoration:none;display:block;text-align:center;color:var(--muted);font-size:13.5px;font-weight:700;text-underline-offset:4px}
.rgm .jack .rlink:hover{color:var(--text);text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px}
.rgm .jack .endl{color:var(--dim);font-size:12.5px;text-align:center;margin:0}
@container (min-width:620px){
  .rgm .jack{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 40px;padding:26px 30px}
  .rgm .jack>header,.rgm .jack>.tprev{grid-column:1/-1}
  .rgm .jack .l{display:grid;gap:16px;align-content:start}.rgm .jack .r{display:grid;gap:16px;align-content:end}
  .rgm .jack .amt{font-size:112px}.rgm .jack .coin{width:84px;height:84px;font-size:42px}.rgm .jack .eb{font-size:19px}.rgm .jack .sub{font-size:16px}
  .rgm .jack .jstp:nth-child(1){min-height:112px}.rgm .jack .jstp:nth-child(2){min-height:142px}.rgm .jack .jstp:nth-child(3){min-height:172px}
  .rgm .jack .jstp b{font-size:28px}.rgm .jack .jstp small{font-size:13px}
}
@media (prefers-reduced-motion:reduce){.rgm .jack *{animation:none!important;transition:none!important}}
.rgm .skipbtn{font-weight:800}.rgm .skipbtn[hidden]{display:none}

/* ---- First-run tour: coach marks and the first-quiz card (Oct 15, 2026). Appended to <body>, so colors are literal. ---- */
.tour{position:fixed;inset:0;z-index:1000;font-family:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#f4f4f1;-webkit-font-smoothing:antialiased}
.tour .tspot{position:fixed;border-radius:16px;box-shadow:0 0 0 9999px rgba(8,8,10,.76),0 0 0 2px #fcdc00,0 0 28px 4px rgba(252,220,0,.35);transition:top .3s cubic-bezier(.2,.8,.2,1),left .3s cubic-bezier(.2,.8,.2,1),width .3s cubic-bezier(.2,.8,.2,1),height .3s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.tour .ttip{position:fixed;box-sizing:border-box;padding:18px 18px 16px;border-radius:16px;background:#1d1e22;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 24px 60px -20px rgba(0,0,0,.8);display:grid;gap:8px;animation:tin .25s ease both}
@keyframes tin{from{opacity:0;transform:translateY(6px)}}
.tour .tarrow{position:absolute;width:24px;height:14px;fill:#1d1e22;filter:drop-shadow(0 -1px 0 rgba(255,255,255,.12))}
.tour .ttip.up .tarrow{top:-13px}.tour .ttip.down .tarrow{bottom:-13px;transform:rotate(180deg)}
.tour .ttip.right .tarrow{right:-19px;transform:rotate(90deg)}.tour .ttip.left .tarrow{left:-19px;transform:rotate(-90deg)}
.tour .tstep{margin:0;color:#a8a8b0;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.tour .ttext{margin:0;font-size:18px;line-height:1.35;font-weight:750}
.tour .tfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;flex-wrap:wrap}
.tour .tdots{display:flex;gap:6px}.tour .tdots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.18)}.tour .tdots i.done{background:rgba(255,255,255,.45)}.tour .tdots i.on{background:#fcdc00;width:18px;border-radius:9px}
.tour .tbtns{display:flex;align-items:center;gap:14px;margin-left:auto}
.tour .tskip{background:none;border:0;color:#a8a8b0;font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:6px 2px}.tour .tskip:hover{color:#f4f4f1;text-decoration:underline;text-decoration-color:#fcdc00;text-underline-offset:4px}
.tour .tnext{border:0;cursor:pointer;font:inherit;font-weight:850;font-size:15px;padding:10px 20px;border-radius:12px;background:#f4f4f1;color:#0b0b0c;transition:transform .15s cubic-bezier(.2,.8,.2,1)}.tour .tnext:hover{transform:translateY(-1px)}.tour .tnext:active{transform:translateY(1px)}
.tour .tgo{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;font-size:15px;padding:11px 18px;border-radius:12px;background:#fcdc00;color:#0b0b0c;transition:transform .15s cubic-bezier(.2,.8,.2,1)}.tour .tgo:hover{transform:translateY(-1px)}
.tour :focus-visible{outline:3px solid #fcdc00;outline-offset:2px}
.fqc-root{display:grid;place-items:center;background:rgba(8,8,10,.8);padding:16px}
.fqc{position:relative;width:min(440px,100%);box-sizing:border-box;padding:34px 26px 24px;border-radius:22px;background:#1d1e22;box-shadow:0 0 0 1px rgba(252,220,0,.35),0 30px 80px -30px rgba(0,0,0,.9);text-align:center;display:grid;gap:10px;justify-items:center;overflow:hidden;animation:tin .3s ease both}
.fqc .fqc-k{margin:0;color:#3ccf7a;font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.fqc h2{margin:0;font-size:64px;line-height:1;font-weight:900;font-stretch:112%;color:#f4f4f1;letter-spacing:-.03em}
.fqc .fqc-s{margin:0 0 8px;color:#a8a8b0;font-size:16px;max-width:32ch}
.fqc .fqc-go{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:14px;background:#fcdc00;color:#0b0b0c;font-weight:850;font-size:17px;text-decoration:none;transition:transform .15s cubic-bezier(.2,.8,.2,1)}
.fqc .fqc-go:hover{transform:translateY(-2px);text-decoration:underline;text-underline-offset:5px}
.fqc .fqc-later{background:none;border:0;color:#a8a8b0;font:inherit;font-weight:700;font-size:14px;cursor:pointer;padding:6px}
.fqc-burst{position:absolute;left:50%;top:92px;width:0;height:0;pointer-events:none}
.fqc-burst i{position:absolute;width:8px;height:8px;border-radius:2px;background:#fcdc00;transform:rotate(var(--a)) translateY(0);animation:burst .9s var(--d) cubic-bezier(.2,.8,.2,1) both;opacity:0}
.fqc-burst i:nth-child(3n){background:#3ccf7a}.fqc-burst i:nth-child(3n+1){background:#ff4d4d}
@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}100%{opacity:0;transform:rotate(var(--a)) translateY(-120px)}}
.ttk .ttk-boost{margin:0;padding:12px 14px;border-radius:12px;background:rgba(252,220,0,.08);box-shadow:inset 0 0 0 1px rgba(252,220,0,.3);font-size:15px;line-height:1.45}
@media (prefers-reduced-motion:reduce){.tour .tspot,.tour .ttip,.fqc{transition:none;animation:none}.fqc-burst{display:none}}

/* ---- Account menu (Oct 15, 2026): the level chip opens it, on every signed-in page, phone and desktop ---- */
.rgm .acctm{position:relative;flex:none}
.rgm button.pchip{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}
.rgm button.pchip:active{transform:scale(.985)}
.rgm .pchip .chev{width:12px;height:8px;margin:0 8px 0 2px;color:var(--muted);transition:transform .18s var(--ease),color .18s var(--ease)}
.rgm .pchip:hover .chev,.rgm .pchip[aria-expanded=true] .chev{color:var(--text)}
.rgm .pchip[aria-expanded=true] .chev{transform:rotate(180deg)}
.rgm .pchip[aria-expanded=true]{background:var(--panel);box-shadow:0 0 0 1px rgba(252,220,0,.35)}
.rgm .amenu{position:absolute;right:0;top:calc(100% + 8px);z-index:80;min-width:240px;max-width:calc(100vw - 32px);padding:8px;border-radius:16px;background:#1d1e22;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 24px 60px -18px rgba(0,0,0,.85);display:grid;gap:2px;animation:amin .16s var(--ease) both}
.rgm .amenu[hidden]{display:none}
@keyframes amin{from{opacity:0;transform:translateY(-4px)}}
.rgm .amenu .amh{margin:0;padding:10px 12px 10px;color:var(--muted);font-size:13.5px;border-bottom:1px solid var(--line);margin-bottom:4px}.rgm .amenu .amh b{color:var(--text)}
.rgm .amenu [role=menuitem]{display:block;width:100%;text-align:left;border:0;background:none;color:var(--text);font:inherit;font-size:15px;font-weight:700;padding:11px 12px;border-radius:10px;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s var(--ease)}
.rgm .amenu [role=menuitem]:hover,.rgm .amenu [role=menuitem]:focus-visible{background:var(--panel2,#24252a);outline:none;text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:4px}
.rgm .amenu [role=menuitem]:active{transform:scale(.98)}
.rgm .amenu #rgm-logout{color:#ff8a7a}
@media (prefers-reduced-motion:reduce){.rgm .amenu{animation:none}.rgm .pchip .chev{transition:none}}
.gsauth .gsa-ok{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:rgba(60,207,122,.12);color:#bff3d4;font-weight:700}

/* ---- One screen, no scroll (Waqas, Oct 15: a "fatal flaw" otherwise) ----
   Every question screen (member quizzes, the trial quiz, the Daily Grade, the skill check) fits one viewport: the root
   is exactly one screen tall (divided by the big-screen zoom), and member.js fitScreen() scales every picture, scope
   and lab canvas (--mh) until nothing overflows. "tight" and "tighter" trim spacing and long text if pictures alone
   can't make it fit. The HUD stays sticky as a safety net. */
.rgm.fit{box-sizing:border-box;height:calc(100dvh / var(--z,1));min-height:0;overflow:hidden}
.rgm.fit .main{padding-top:8px;padding-bottom:8px}
.rgm.fit .top{position:sticky;top:0;z-index:5;background:var(--bg)}
.rgm.fit .q canvas{width:min(100%,calc(var(--mh,100vh) * 16 / 9))!important;height:auto!important;aspect-ratio:16/9;max-width:100%;margin:0 auto;display:block}
.rgm.fit .frames,.rgm.fit .pair:not(.one){grid-template-columns:repeat(2,minmax(0,1fr))}
.rgm.fit .frame{background:#0d0e10;display:grid;align-content:center}
.rgm.fit .pair figure{margin:0;display:grid;justify-items:center}
/* Q3 (Oct 15, 2026): picture tiles hug their picture (no letterbox bars) and sit together in the middle; the Warm-up/Quiz
   strip hides while a question is on screen (the pill above the question still says Warm-up or Quiz), so the pictures grow. */
.rgm.fit .track2,.rgm.fit .tchip{display:none} /* the trial's yellow bar already says Free trial */
.rgm.fit .frames>.frame{width:min(100%,calc(var(--mh,100vh) * 16 / 9));background:none}
.rgm.fit .frames>.frame:nth-child(odd){justify-self:end}
.rgm.fit .frames>.frame:nth-child(even){justify-self:start}
.rgm.fit .frames>.frame:nth-child(odd):last-child{grid-column:1 / -1;justify-self:center}
/* Phones (portrait): fitScreen() tries one picture per row (.stack) and keeps it only when the pictures come out bigger
   than two side by side (172 px wide at 390 before; long Daily Grade questions gain the most). */
.rgm.fit.stack .frames,.rgm.fit.stack .pair:not(.one){grid-template-columns:minmax(0,1fr)}
.rgm.fit.stack .frames>.frame,.rgm.fit.stack .frames>.frame:nth-child(odd),.rgm.fit.stack .frames>.frame:nth-child(even){justify-self:center}
.rgm.fit .clip{width:fit-content;max-width:100%;margin:0 auto}
.rgm.fit .clip canvas+canvas{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none}
.rgm.fit.tight .track2,.rgm.fit.tight .q>.pill,.rgm.fit.tight .act .quiet{display:none}
.rgm.fit.tight .q{gap:12px}.rgm.fit.tight .q h2{font-size:clamp(20px,2.4vw,28px);line-height:1.12}
.rgm.fit.tight .opt{padding:10px 4px;font-size:15.5px}.rgm.fit.tight .why{font-size:14px;line-height:1.4}.rgm.fit.tight .verdict{font-size:15px}
.rgm.fit.tight .act{gap:8px;padding-top:0}.rgm.fit.tight .top{margin-bottom:10px!important}
.rgm.fit.tighter .why{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rgm.fit.tighter .opt{padding:7px 2px;font-size:14.5px;line-height:1.3}.rgm.fit.tighter .q h2{font-size:19px}
.rgm.fit.tighter .verdict{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* The total big-screen zoom on a member page is body.rgm-on's times .rgm's: --z divides the one-screen height by it. */
.rgm.fit #rgm-gallerylab canvas,.rgm.fit #rgm-beatlab canvas,.rgm.fit #rgm-vis canvas{width:min(100%,calc(var(--mh,100vh) * 16 / 9))!important;height:auto!important;aspect-ratio:16/9;max-width:100%;margin:0 auto;display:block}
.rgm.fit.tight .stack .sub,.rgm.fit.tight .lab-hold-hint{display:none}
/* Labs inside the one screen: the picture takes --mh, scopes about half of it. On phones the scopes fold behind a
   "Show the scope" button (portal-only CSS; labs.js and labs.css are unchanged, so the challenge is unaffected). */
.rgm.fit .lab-scope{width:min(100%,calc(var(--mh,100vh) * .55 * 16 / 9))!important}
/* Canvas sizes come from --mh, never from their pixel size, so progressive resolution (labs.js) can't move the layout. */
.rgm.fit .clip{width:min(100%,calc(var(--mh,100vh) * 16 / 9))}.rgm.fit .clip canvas:first-child{width:100%!important}
.rgm.fit .stack h1+.sel{margin-top:0}
.rgm.fit.tight .lab-note,.rgm.fit.tight .stack>h1,.rgm.fit.tight section>.quiet{display:none}
.rgm.fit.tight section>h2{font-size:clamp(20px,2.2vw,26px)}.rgm.fit.tight section{margin-top:14px!important}.rgm.fit.tight #rgm-gallerylab{margin-top:10px!important}
.rgm.fit.tight .lab-control{padding-top:4px;padding-bottom:4px}
.rgm .scopetoggle{display:none}
@media (max-width:720px){
  .rgm.fit .scopetoggle{display:inline-flex;align-self:flex-start;font-weight:800;font-size:14px;color:var(--muted);padding:6px 0}
  .rgm.fit .scopetoggle:hover{color:var(--text)}
  .rgm.fit:not(.scopes-open) .lab-scope-panel{display:none}
}
/* Fill, don't just fit (Oct 15, 2026): the question block is centered in the screen, the desktop column is wider, and
   fitScreen() scales the block up (--qz) until it fills the screen without scrolling (at least 85% on desktop). */
.rgm.fit{display:flex;flex-direction:column}
.rgm.fit>.main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:safe center;width:100%}
.rgm.fit .q,.rgm.fit #rgm-gallerylab{zoom:var(--qz,1)}
.rgm.fit>.main>.tchip,.rgm.fit>.main>.pill{align-self:flex-start}
/* Forgot password (Oct 15, 2026): links on the sign-in card, the inline link in the wrong-password error, button links. */
.gsauth .gsa-alt a,.gsauth .gsa-inline{color:#f4f4f1;font-weight:700;text-decoration:none;padding-bottom:2px;background-image:linear-gradient(var(--y),var(--y));background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;transition:background-size .18s var(--ease)}
.gsauth .gsa-alt a:hover,.gsauth .gsa-alt a:focus-visible,.gsauth .gsa-inline:hover,.gsauth .gsa-inline:focus-visible{background-size:100% 2px}
.gsauth .gsa-alt a:active,.gsauth .gsa-inline:active{opacity:.7}
.gsauth .gsa-inline{display:inline-block;margin-top:4px;color:#ffd2c6;background-image:linear-gradient(#ffd2c6,#ffd2c6)}
.gsauth .gsa-forgot{margin-top:2px}
.gsauth .gsa-btnlink{display:flex;align-items:center;justify-content:center;text-decoration:none;margin:6px 0 14px}
/* "How points work" on the Home race card (Oct 15, 2026). Not yellow: the card's one yellow is the prize and Play. */
.jack .jrules{border-top:1px solid var(--line2);padding-top:4px}
.jack .jrules summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:8px 2px;color:var(--text);font-size:13.5px;font-weight:800;letter-spacing:.01em}
.jack .jrules summary::-webkit-details-marker{display:none}
.jack .jrules summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .18s var(--ease)}
.jack .jrules[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.jack .jrules summary:hover{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:4px}
.jack .jrr{display:grid;gap:1px;padding-bottom:2px}
.jack .jrrow{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;padding:6px 4px;border:0;border-radius:9px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background .15s,transform .15s var(--ease)}
.jack .jrrow .ic{font-size:15px;line-height:1;text-align:center}
.jack .jrrow .w{min-width:0;font-size:13px;font-weight:700;line-height:1.25}
.jack .jrrow .w small{display:block;color:var(--muted);font-size:11.5px;font-weight:600;margin-top:1px}
.jack .jrrow b{font-size:13px;font-weight:850;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.jack .jrrow:hover{background:rgba(255,255,255,.05)}
.jack .jrrow:hover .w{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}
.jack .jrrow:active{transform:scale(.985)}
.jack .jrm{margin:4px 4px 0;color:var(--muted);font-size:11.5px;font-weight:650}
/* The rules sheet (account menu "How points work", or a row on the race card). */
.rsheet{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.62);animation:amin .16s var(--ease) both}
.rsheet .rsh-card{width:min(560px,100%);max-height:min(86dvh,760px);overflow:auto;border-radius:20px;background:#1d1e22;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 30px 80px -20px rgba(0,0,0,.9);padding:20px 22px 18px;display:grid;gap:14px}
.rsheet header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rsheet h2{margin:0;font-size:22px}
.rsheet .rsh-x{width:36px;height:36px;border-radius:50%;border:0;background:var(--panel2,#24252a);color:var(--text);font-size:15px;cursor:pointer;transition:transform .15s var(--ease),background .15s}
.rsheet .rsh-x:hover{transform:translateY(-1px);background:#2e2f35}.rsheet .rsh-x:active{transform:scale(.94)}
.rsheet .rrules>div{grid-template-columns:120px minmax(0,1fr);font-size:15px;padding:11px 0}
@media (max-width:520px){.rsheet .rrules>div{grid-template-columns:minmax(0,1fr)}}
.amenu [role=menuitem] small{color:var(--muted);font-weight:600;font-size:12.5px;margin-left:4px}
/* Preseason line on the race card (Oct 15, 2026): a quiet live note, not yellow (the prize stays the card's one yellow). */
.rgm .mrace .tpre{display:flex;align-items:baseline;gap:7px;justify-self:start;margin:2px 0 8px;color:var(--muted);font:700 12.5px/1.35 var(--font)}
.rgm .mrace .tpre i{flex:none;width:7px;height:7px;border-radius:50%;background:#3ccf7a;box-shadow:0 0 0 3px rgba(60,207,122,.18);transform:translateY(-1px)}
/* Responsive is global (Oct 15, 2026): the two-column race card scales its prize with the card, never past it. */
@container (min-width:620px){.rgm .jack .amt{font-size:clamp(64px,11cqi,112px)}.rgm .jack>.tpre{grid-column:1/-1}}
/* The Practice studio (Oct 15, 2026): one screen, the pictures biggest (member.js studio() sizes them to fill the left
   area); everything else in a side column that scrolls inside itself. Phones: pictures on top, the rest below. */
.rgm .pr-wrap{margin-top:14px}
.rgm .prl{width:100%}
.rgm .lab.studio{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,27%,420px);grid-template-rows:minmax(0,1fr);gap:18px;box-sizing:border-box;padding:14px;overflow:hidden}
.rgm .lab.studio>.lab-stage{grid-column:1;grid-row:1;align-self:center;justify-self:center;min-width:0;justify-content:center}
.rgm .lab.studio>.lab-match-stage{display:grid;gap:10px;align-content:center}
.rgm .lab.studio>.lab-stage .lab-picture-wrap{max-width:100%}
.rgm .lab.studio>.lab-match-stage .lab-shot{width:var(--pw);max-width:100%}
.rgm .lab.studio .lab-picture{width:100%;height:auto}
.rgm .lab.studio>.pr-side{grid-column:2;grid-row:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding-right:2px;scrollbar-width:thin}
.rgm .lab.studio .pr-side>.lab-head{order:0}.rgm .lab.studio .pr-side>.lab-readouts{order:1}.rgm .lab.studio .pr-side>.lab-scope-panel{order:2}
.rgm .lab.studio .pr-side>.lab-nodes{order:3}.rgm .lab.studio .pr-side>.lab-controls{order:4;grid-template-columns:minmax(0,1fr)}
.rgm .lab.studio .pr-side>.labtools{order:5;margin:0}.rgm .lab.studio .pr-side>.lab-hold-hint{order:6}.rgm .lab.studio .pr-side>.lab-note{order:7}
.rgm .lab.studio .lab-title{font-size:16px}.rgm .lab.studio .lab-prompt{font-size:13.5px}
.rgm .lab.studio .lab-scope{max-height:30vh;object-fit:contain}
/* Phones and narrow windows: pictures on top (60% of the studio), the side column below, scrolling inside. */
.rgm .lab.studio.narrow{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px;padding:10px}
.rgm .lab.studio.narrow>.pr-side{grid-column:1;grid-row:2}
.rgm .lab.studio.narrow .pr-side>.lab-controls{order:1}.rgm .lab.studio.narrow .pr-side>.lab-readouts{order:0}.rgm .lab.studio.narrow .pr-side>.labtools{order:2}.rgm .lab.studio.narrow .pr-side>.lab-head{order:3}.rgm .lab.studio.narrow .pr-side>.lab-scope-panel{order:4}
/* Practice head: compact, so the studio's pictures start near the top of the screen. */
.rgm .pr-head{gap:4px}.rgm .pr-head .eyebrow{margin:0}.rgm .pr-head h1{font-size:clamp(22px,2.1vw,30px);line-height:1.15;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rgm .pr-wrap{margin-top:10px}
.rgm section.pr-wrap{margin-top:10px!important}
/* Dock: A/B pictures across the full width, the meter, scopes and sliders in a row below them. */
.rgm .lab.studio.dock{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:14px}
.rgm .lab.studio.dock>.pr-side{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-content:start;gap:12px 22px}
.rgm .lab.studio.dock .pr-side>.lab-head,.rgm .lab.studio.dock .pr-side>.lab-hold-hint,.rgm .lab.studio.dock .pr-side>.lab-note{grid-column:1/-1}
.rgm .lab.studio.dock .lab-scope{max-height:22vh}
.rgm .lab.studio.dock>.pr-side{grid-template-columns:minmax(240px,1fr) minmax(0,2.2fr);grid-auto-flow:row dense;gap:10px 22px;align-items:start}
.rgm .lab.studio.dock .pr-side>.lab-scope-panel{grid-column:1;grid-row:1/span 4}
.rgm .lab.studio.dock .pr-side>.lab-controls,.rgm .lab.studio.dock .pr-side>.lab-readouts,.rgm .lab.studio.dock .pr-side>.labtools,.rgm .lab.studio.dock .pr-side>.lab-nodes{grid-column:2}
.rgm .lab.studio.dock .pr-side>.lab-controls{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px 18px}
.rgm .lab.studio.dock .pr-side>.lab-head,.rgm .lab.studio.dock .pr-side>.lab-hold-hint,.rgm .lab.studio.dock .pr-side>.lab-note{grid-column:1/-1}
.rgm .lab.studio.dock .lab-scope{max-height:24vh}
@media (max-width:899px){.rgm .pr-head h1{white-space:normal;overflow:visible}}
.rgm .pr-head .pr-row{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;min-width:0}
.rgm .pr-head .pr-row h1{flex:1 1 280px;min-width:0}
.rgm .pr-head .pr-row .sel{flex:0 1 320px;max-width:100%;min-height:40px}

/* ---------------- Weekly Quests and Race Rival (Oct 16, 2026, Launch List item 59) ----------------
   Quests sit up front on Home (under the hero; after the race card and the Daily Grade on phones). Rows are links:
   they lift, the label gets the yellow underline and they press in. A newly done quest pops its check; all three
   done bursts once. The rival line sits under the prize staircase on the race card (Home and /race). */
.rgm .quests{position:relative;overflow:hidden;display:grid;gap:10px;border:1px solid var(--line2)}
.rgm .quests header{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.rgm .quests header b{font-size:15px}
.rgm .quests header span{color:var(--muted);font-size:12.5px;text-align:right}
.rgm .qrows{display:grid;gap:6px}
.rgm .qrow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;border-radius:12px;background:rgba(0,0,0,.2);transition:background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}
.rgm .qck{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--dim);display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:var(--ink)}
.rgm .qrow.done .qck{background:var(--g);border-color:var(--g)}
.rgm .qt{display:grid;gap:6px;min-width:0}
.rgm .qt b{font-size:15px;font-weight:700;justify-self:start;background-image:linear-gradient(var(--y),var(--y));background-repeat:no-repeat;background-size:0% 2px;background-position:0 100%;padding-bottom:1px;transition:background-size .18s var(--ease)}
.rgm .qrow.done .qt b{color:var(--muted)}
.rgm .qbar{display:block;height:5px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}
.rgm .qbar em{display:block;height:100%;border-radius:3px;background:var(--y);transition:width .5s var(--ease)}
.rgm .qrow.done .qbar em{background:var(--g)}
.rgm .qn{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums}
.rgm .qrow.done .qn{color:var(--g)}
.rgm .qrow:hover,.rgm .qrow:focus-visible{background:var(--panel2);transform:translateY(-1px);box-shadow:0 0 0 1px rgba(252,220,0,.35)}
.rgm .qrow:hover .qt b,.rgm .qrow:focus-visible .qt b{background-size:100% 2px}
.rgm .qrow:active{transform:scale(.99);box-shadow:0 0 0 1px rgba(252,220,0,.6)}
.rgm .qft{font-size:13.5px;color:var(--muted)}
.rgm .qft b{color:var(--y)}
.rgm .quests.all{border-color:rgba(60,207,122,.45)}
.rgm .quests.all .qft b{color:var(--g)}
.rgm .qrow.pop .qck{animation:qpop .7s .3s var(--ease) both}
@keyframes qpop{0%{transform:scale(.4)}55%{transform:scale(1.35);box-shadow:0 0 0 8px rgba(60,207,122,.25)}100%{transform:scale(1)}}
.rgm .qconf{position:absolute;inset:0;pointer-events:none}
.rgm .qconf i{position:absolute;left:50%;top:40%;width:7px;height:11px;border-radius:2px;background:var(--y);opacity:0;animation:qconf 1.2s .35s ease-out both}
.rgm .qconf i:nth-child(3n){background:var(--g)}.rgm .qconf i:nth-child(4n){background:#f4f4f1}
.rgm .qconf i:nth-child(1){--x:-140px;--y:-60px}.rgm .qconf i:nth-child(2){--x:120px;--y:-70px}.rgm .qconf i:nth-child(3){--x:-90px;--y:-110px}.rgm .qconf i:nth-child(4){--x:80px;--y:-120px}
.rgm .qconf i:nth-child(5){--x:-170px;--y:10px}.rgm .qconf i:nth-child(6){--x:160px;--y:0}.rgm .qconf i:nth-child(7){--x:-40px;--y:-130px}.rgm .qconf i:nth-child(8){--x:30px;--y:-140px}
.rgm .qconf i:nth-child(9){--x:-120px;--y:60px}.rgm .qconf i:nth-child(10){--x:110px;--y:70px}.rgm .qconf i:nth-child(11){--x:-200px;--y:-40px}.rgm .qconf i:nth-child(12){--x:200px;--y:-30px}
.rgm .qconf i:nth-child(13){--x:-60px;--y:90px}.rgm .qconf i:nth-child(14){--x:60px;--y:100px}
@keyframes qconf{0%{opacity:1;transform:translate(0,0) rotate(0)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(320deg)}}
.rgm .jack .jriv{margin:0;padding:10px 12px;border-radius:12px;background:rgba(252,220,0,.08);border:1px solid rgba(252,220,0,.22);font-size:14.5px;line-height:1.4}
.rgm .jack .jriv b{color:var(--text)}
.rgm .jack .jriv span{color:var(--y);font-weight:700}
.rgm .jslot.upd .jriv,.rgm .upd .jstairs{animation:qflash 1.2s var(--ease)}
@keyframes qflash{0%{box-shadow:0 0 0 0 rgba(252,220,0,.55)}100%{box-shadow:0 0 0 14px rgba(252,220,0,0)}}
@media (max-width:720px){.rgm .quests{order:2}}
@media (prefers-reduced-motion:reduce){.rgm .qrow,.rgm .qbar em{transition:none}.rgm .qrow:hover,.rgm .qrow:active{transform:none}.rgm .qrow.pop .qck,.rgm .qconf i,.rgm .jslot.upd .jriv,.rgm .upd .jstairs{animation:none}.rgm .qconf{display:none}}
/* Toasts sat under the phone tab bar (z 20 under 50) and were hidden there; on phones they now float above it. */
@media (max-width:720px){.rgm .toast{bottom:calc(74px + env(safe-area-inset-bottom,0px));z-index:60;text-align:center}}
/* Trial lab, experiment 1, arm B: the opening Daily Grade screen (one screen, one yellow button). */
.rgm .exp1{display:grid;gap:18px;max-width:640px;margin:clamp(16px,6vh,72px) 0 0}
.rgm .exp1 .eb{color:var(--y);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.rgm .exp1 h1{font-size:clamp(36px,6vw,64px)}
.rgm .exp1 .sub{color:var(--muted);font-size:18px;max-width:34ch}
.rgm .exp1 .btn{justify-self:start;min-height:64px;padding:0 34px;font-size:19px;margin-top:6px}
@media (max-width:720px){.rgm .exp1 .btn{justify-self:stretch}}
@media (max-width:720px){.rgm .exp1{margin-top:6px;gap:14px}.rgm .exp1 h1{font-size:36px}.rgm .exp1 .sub{font-size:16.5px}.rgm .exp1 .btn{font-size:17px;padding:0 18px;white-space:nowrap}}
/* Short pages with the phone tab bar were one tab bar taller than the screen (min-height plus the bar's padding). */
.rgm.has-tabs{box-sizing:border-box}
/* Arm B's "Play the full quiz (8 questions)" stays on one line on phones. */
.rgm .btn.nw{white-space:nowrap}
@media (max-width:720px){.rgm .btn.nw{padding:0 16px;font-size:clamp(15px,4.4vw,17px)}}

/* ---------------- Every size, designed (Oct 16, 2026, Waqas on a 2304 px Mac: "everything is so stretched to the edges ...
   tuck things in ... we can't make out the pictures") ----------------
   1. One continuous zoom instead of steps: member.js sets --z = clamp(1, min(width / 1600, height / 800), 2.6) on the root,
      so every screen from 1600 px up is the same 1600 px design, scaled. No sparse in-between band.
   2. Question screens: one centered column, min(1200px, 92vw) for the HUD, the question, the answers and Check.
   3. Picture questions: the reference pictures come first and as big as the height allows, grouped in the middle, then the
      question, then the answers (two columns when they are short), then Check right under them. Still one screen. */
body.rgm-on{zoom:var(--z,1)}
.rgm.fit>.main{max-width:min(1200px,92vw)}
.rgm.fit .q{width:100%;margin:0 auto}
.rgm .q.pf>.pair,.rgm .q.pf>.clip{order:-1}
.rgm .q.pf>.pill{order:-2}
.rgm.fit .pair:not(.one)>figure{width:min(100%,calc(var(--mh,100vh) * 16 / 9))}
.rgm.fit .pair:not(.one)>figure:nth-child(odd){justify-self:end}
.rgm.fit .pair:not(.one)>figure:nth-child(even){justify-self:start}
.rgm.fit .pair.one{justify-items:center}
.rgm .opts.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;border-top:0}
.rgm .opts.two .opt{border-top:1px solid var(--line2);border-bottom:0}
.rgm .opts.two .opt:nth-last-child(-n+2){border-bottom:1px solid var(--line2)}
@media (max-width:720px){.rgm .opts.two{grid-template-columns:minmax(0,1fr)}.rgm .opts.two .opt:nth-last-child(2){border-bottom:0}}
/* Picture questions: the pictures carry the screen, so the question and the answers stay compact. */
.rgm.fit .q.pf{gap:14px}
.rgm.fit .q.pf>h2{font-size:clamp(22px,2.1vw,30px);line-height:1.15}
.rgm.fit .q.pf .opt{padding:10px 4px;font-size:16px;line-height:1.35}
.rgm.fit .q.pf>.pill{align-self:flex-start;margin-bottom:-2px}
.rgm.fit .q.pf .pair figcaption{padding-top:4px}
@media (max-width:720px){
  .rgm.fit>.main{max-width:none}
  .rgm.fit .q.pf>h2{font-size:clamp(17px,4.8vw,20px);line-height:1.2}
  .rgm.fit .q.pf .opt{padding:8px 2px;font-size:15px;gap:10px}
  .rgm.fit .q.pf{gap:10px}
  .rgm.fit .act .row{gap:10px 16px}
}
/* Small phones (iPhone SE class): on question screens the trial bar steps aside so the pictures get its height back. */
@media (max-width:720px) and (max-height:760px){.rgm.fit .tbar{display:none}}
@media (max-width:720px){.rgm.fit .q.pf>.pill{display:none}.rgm.fit .q.pf .opt{padding:7px 2px;font-size:14.5px}.rgm.fit .q.pf .pair figcaption{padding-top:2px;font-size:12.5px}}
/* Segmented controls (labs.css .lab-seg): the focus ring sits inside the track so it never collides with the edge. */
.rgm .lab-seg-btn:focus-visible{outline:2px solid var(--y);outline-offset:-3px}
.rgm .lab-seg-btn[aria-pressed="true"]:focus-visible{outline-color:var(--ink)}
/* Phones: question screens start at the top (centering left a band of empty space above the HUD). */
@media (max-width:720px){.rgm.fit>.main{justify-content:flex-start}}
/* Scope tabs and the highlight toggle: a rounded focus ring with breathing room (it was a square box touching the text). */
.rgm .lab-tab:focus-visible{outline:2px solid var(--y);outline-offset:4px;border-radius:6px}
/* Node-chain answers (tap the node): tappable nodes are cards, so they read as buttons; the fixed ones stay plain. */
.rgm .chain{align-items:center}
.rgm .chain button.node{background:var(--panel);border:1.5px solid var(--line);border-radius:12px;padding:10px 16px 12px;transition:border-color .18s var(--ease),transform .18s var(--ease),background-color .18s var(--ease)}
.rgm .chain button.node:not(:disabled):hover{border-color:rgba(252,220,0,.45);transform:translateY(-1px)}
.rgm .chain button.node:not(:disabled):active{transform:scale(.98)}
.rgm .chain button.node.pick{border-color:var(--y);background:rgba(252,220,0,.08)}
.rgm .chain button.node.right{background:rgba(60,207,122,.08)}
.rgm .chain button.node.wrong{background:rgba(255,122,92,.08)}
.rgm .chain .arrow{padding:0 6px}
/* The difficulty pick sits a little lower on tall screens instead of hugging the top edge. */
@media (min-height:700px) and (min-width:721px){.rgm .diffpick{margin-top:clamp(0px,8vh,120px)}}
/* Practice titles wrap (balanced) instead of being cut off with an ellipsis. */
.rgm .pr-head h1{white-space:normal;overflow:visible;text-overflow:clip;text-wrap:balance}
