/* RideFlow BMX - all style blocks, in page order */
html,body{margin:0;padding:0}
*{-webkit-tap-highlight-color:transparent}
body{background:#06080a;color:#f5f3f2;
 font-family:-apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;
 overscroll-behavior:none}

/* ===== style block 1 ===== */

/* =====================================================
   BFS PRO PATCH: DESKTOP HEADER + SHADING ALIGNMENT FIX
   - Moves the gradient to an inner wrapper (.section-bg)
   - Removes padding/background from section--alt itself
   - Prevents “headers floating above the shading”
   ===================================================== */

/* Kill background/padding on the OUTER section container */
section.section--alt{
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
}

/* Apply the shaded background + the correct vertical padding to the INNER wrapper */
section.section--alt > .section-bg{
  padding: var(--section, 72px) 0;
  background:
    radial-gradient(700px 420px at 18% 10%, rgba(176,18,42,.18), transparent 65%),
    radial-gradient(520px 360px at 88% 10%, rgba(255,45,85,.08), transparent 65%),
    var(--bg2, #0b0b10);
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* Ensure content stays above the gradients */
section.section--alt > .section-bg > .wrap{
  position: relative;
  z-index: 1;
}

/* Keep section headers “locked” into the shaded region */
section.section--alt > .section-bg .section-head{
  margin: 0 0 18px 0;
}


/* ===== style block 2 ===== */
:root{color-scheme:dark;--bg:#06080a;--sur-1:#0e1114;--sur-2:#14181c;--sur-3:#1c2126;--line:#232a30;--line-hi:#313a42;--tx:#f5f3f2;--tx2:#c2bcb8;--mut:#86807a;--volt:#2f7ff0;--voltTx:var(--volt-tx,var(--volt,#fc191e));--volt-dim:#8a0b24;--volt-glow:color-mix(in srgb,var(--volt) 32%,transparent);--amber:#f5c518;--green:#36dc75;--orange:#ff8a1e;--redx:#ff5c5c;--blue:#4aa3ff;--ink:#f2f0ee;--mbx-hero:radial-gradient(ellipse 130% 60% at 50% 0%,color-mix(in srgb,var(--volt) 28%,transparent),transparent 62%),linear-gradient(115deg,transparent 38%,color-mix(in srgb,var(--volt) 10%,transparent) 38.5%,transparent 44%),linear-gradient(115deg,transparent 52%,color-mix(in srgb,var(--volt) 7%,transparent) 52.5%,transparent 59%),linear-gradient(115deg,transparent 66%,rgba(255,255,255,.03) 66.5%,transparent 71%),radial-gradient(ellipse 120% 70% at 50% 115%,color-mix(in srgb,var(--volt) 16%,transparent),transparent 60%)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button,.mrow,.card,.chip,.opt{transition:background-color .14s ease,border-color .14s ease,transform .09s ease}button:active{transform:scale(.985)}html{margin:0;padding:0;height:100%;overflow:hidden}body{margin:0;padding:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none}body{background:var(--bg);color:var(--tx);font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:manipulation}input,select{-webkit-user-select:text;user-select:text;font-size:16px}.app{max-width:440px;margin:0 auto;min-height:100%;position:relative;padding:0 16px calc(30px + env(safe-area-inset-bottom))}.hide{display:none!important}.mesh{background-color:var(--sur-1);background-image:radial-gradient(color-mix(in srgb,var(--volt) 5%,transparent) 1px,transparent 1px),radial-gradient(rgba(255,255,255,.02) 1px,transparent 1px);background-size:22px 22px,11px 11px;background-position:0 0,11px 11px}#mbSp{position:fixed;inset:0;z-index:300;background:#050506;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:calc(44px + env(safe-area-inset-bottom));background-image:linear-gradient(180deg,rgba(6,8,10,.2) 40%,rgba(6,8,10,.96) 90%),var(--mbx-hero);background-size:cover;background-position:center 18%;transition:opacity .5s,visibility .5s;cursor:pointer}#mbSp.off{opacity:0;visibility:hidden;pointer-events:none}.splogo{font-size:27px;font-weight:800;letter-spacing:.11em;margin:0;font-style:italic}.splogo b{color:var(--volt)}.sptag{font-size:10.5px;letter-spacing:.42em;color:var(--mut);margin:10px 0 26px;font-weight:700}.spcta{font-size:11px;font-weight:800;letter-spacing:.28em;color:var(--tx);text-transform:uppercase;display:flex;align-items:center;gap:9px;animation:spPulse 1.8s ease-in-out infinite}.spcta i{width:8px;height:8px;border-radius:50%;background:var(--volt);box-shadow:0 0 12px var(--volt)}@keyframes spPulse{0%,100%{opacity:.55}50%{opacity:1}}#mbSafety{position:fixed;inset:0;z-index:320;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;display:none}#mbSafety.on{display:block}.sfw{max-width:440px;margin:0 auto;padding:34px 22px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px}.sfk{font-size:10px;letter-spacing:.3em;color:var(--volt);font-weight:800;text-align:center}.sfw h2{font-size:27px;font-weight:800;font-style:italic;line-height:1.05;margin:2px 0 6px;text-align:center}.sfrule{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--sur-1)}.sfrule i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--volt);margin-top:6px}.sfrule div{font-size:13px;line-height:1.5;color:var(--tx2);font-weight:600}.sfrule b{color:var(--tx)}.sffine{font-size:11px;line-height:1.55;color:var(--mut);text-align:center;padding:2px 6px}.top{display:flex;align-items:center;gap:12px;padding:12px 0 9px}.brand{flex:1;min-width:0;cursor:pointer}.top h1{font-size:16.5px;font-weight:800;font-style:italic;letter-spacing:.07em;margin:0;white-space:nowrap}.top h1 b{color:var(--volt)}.top .sub{font-size:8.5px;letter-spacing:.19em;color:var(--tx2);font-weight:800;margin-top:5px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mipill{padding:0;flex:none;text-align:right;white-space:nowrap;line-height:1}.mipill b{display:block;color:var(--volt);font:800 15px/1 inherit;font-style:italic;letter-spacing:.02em}.mipill i{display:block;font:800 7px/1 inherit;font-style:normal;letter-spacing:.2em;color:var(--mut);margin-top:5px}.tabs{display:flex;border:1px solid var(--line);border-radius:14px;padding:4px;gap:2px;margin-bottom:12px;position:sticky;top:8px;z-index:50;background:rgba(6,8,10,.94);backdrop-filter:blur(14px)}.tabs button{flex:1;background:none;border:none;color:var(--mut);position:relative;font:700 9px/1 inherit;letter-spacing:.03em;padding:14px 1px;border-radius:9px;white-space:nowrap}.tabs button.on{background:var(--sur-3);color:var(--tx)}.tabs button.on:after{content:'';position:absolute;left:26%;right:26%;bottom:4px;height:2px;border-radius:2px;background:var(--volt)}.view{display:none}.view.on{display:block}.sec{font-size:10px;letter-spacing:.22em;color:var(--mut);font-weight:700;margin:22px 0 9px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.sec i{font-style:normal;letter-spacing:.06em;font-weight:600;font-size:11px}.card{background:var(--sur-1);border:1px solid var(--line);border-radius:14px;padding:15px}.card+.card{margin-top:8px}.tiny{font-size:11.5px;line-height:1.55;color:var(--mut)}.note{font-size:11.5px;color:var(--mut);line-height:1.55;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}.kv{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}.kv span:first-child{color:var(--mut)}.kv span:last-child{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.insight{border:1px solid var(--volt-dim);border-left:3px solid var(--volt);border-radius:12px;padding:13px 14px;margin:8px 0;background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 7%,transparent),transparent)}.insight .ik{font-size:8.5px;letter-spacing:.22em;font-weight:800;color:var(--volt);margin-bottom:7px}.insight p{margin:0;font-size:13px;line-height:1.58;color:var(--tx2)}.insight p b{color:var(--ink)}.insight.warn{border-color:var(--amber);border-left-color:var(--amber);background:linear-gradient(180deg,rgba(245,197,24,.06),transparent)}.insight.warn .ik{color:var(--amber)}.bigbtn{display:block;width:100%;border-radius:14px;padding:20px 16px;margin:10px 0 0;border:1px solid var(--volt);background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 18%,transparent),color-mix(in srgb,var(--volt) 6%,transparent));color:var(--tx);font:800 14.5px/1.3 inherit;font-style:italic;letter-spacing:.12em;box-shadow:0 0 24px var(--volt-glow) inset}.bigbtn:active{background:color-mix(in srgb,var(--volt) 24%,transparent)}.bigbtn em{display:block;font-style:normal;font-size:11px;letter-spacing:.06em;font-weight:600;color:var(--tx2);margin-top:6px}.bigbtn.ghost{border-color:var(--line-hi);background:var(--sur-1);box-shadow:none;font-style:normal}.mrow{display:flex;align-items:center;gap:11px;background:var(--sur-1);border:1px solid var(--line);border-radius:11px;padding:11px 13px;margin-bottom:6px;cursor:pointer}.mrow:active{background:var(--sur-2)}.mrow .nm{font-size:13px;font-weight:700;letter-spacing:.04em}.mrow .st8{font-size:9.5px;letter-spacing:.06em;font-weight:700;margin-top:3px;color:var(--mut)}.mrow .pc{font-size:16px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;min-width:44px;text-align:right;flex:none}.mrow .pc em{font-style:normal;font-size:8px;color:var(--mut);display:block;font-weight:700;letter-spacing:.08em}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chip{border:1px solid var(--line);background:var(--sur-1);color:var(--tx2);border-radius:999px;padding:11px 16px;font:700 12px/1 inherit}.chip.on{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff)}.go{width:100%;height:54px;border:none;border-radius:13px;background:var(--volt);color:var(--volt-tx,#fff);font:800 12.5px/1 inherit;font-style:italic;letter-spacing:.2em;cursor:pointer}.go:disabled{background:var(--sur-2);color:var(--mut)}.go.alt{background:none;border:1px solid var(--line);color:var(--tx2);height:48px;margin-top:8px;font-style:normal}.opts{display:flex;flex-wrap:wrap;gap:7px}.opt{border:1px solid var(--line);background:var(--sur-1);color:var(--tx2);border-radius:11px;padding:13px;font:600 13px/1.3 inherit;text-align:left;cursor:pointer}.opt.on{background:color-mix(in srgb,var(--volt) 14%,transparent);color:#fff;border-color:var(--volt);font-weight:700}.opt .ot{font-size:13.5px;font-weight:800;font-style:italic}.opt .os{font-size:9.5px;color:var(--mut);margin-top:3px;font-style:normal;font-weight:600}.f{margin-bottom:14px}.f label{display:block;font-size:9.5px;letter-spacing:.16em;color:var(--mut);font-weight:700;margin-bottom:7px}.f input,.f select{width:100%;height:52px;background:var(--sur-1);border:1px solid var(--line);border-radius:12px;color:var(--tx);padding:0 14px;font-weight:600}.sheet{position:fixed;inset:0;z-index:150;display:none}.sheet.on{display:block}.scrim{position:absolute;inset:0;background:rgba(0,0,0,.72)}.pane{position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:440px;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--sur-1);border-top-left-radius:22px;border-top-right-radius:22px;border:1px solid var(--line);border-bottom:none;padding:9px 20px calc(28px + env(safe-area-inset-bottom))}.grab{width:38px;height:4px;border-radius:2px;background:var(--line-hi);margin:0 auto 16px}.sheet h3{font-size:22px;font-weight:800;font-style:italic;margin:0 0 5px}.sheet .meta{font-size:9.5px;letter-spacing:.17em;color:var(--mut);font-weight:700}.sheet .big{font-size:50px;font-weight:800;font-style:italic;line-height:1;margin:16px 0 3px;font-variant-numeric:tabular-nums}.sheet h4{font-size:9.5px;letter-spacing:.2em;color:var(--mut);font-weight:700;margin:19px 0 7px}.sheet p{margin:0;font-size:14px;line-height:1.6;color:var(--tx2)}.close{width:100%;height:48px;margin-top:20px;border:1px solid var(--line);border-radius:12px;background:none;color:var(--tx2);font:700 11px/1 inherit;letter-spacing:.22em;cursor:pointer}#mbRun{position:fixed;inset:0;z-index:200;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;display:none}#mbRun.on{display:block}.gt-wrap{min-height:92vh;max-width:440px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 16px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.gt-phase{font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--mut);text-transform:uppercase}.gt-big{font-size:clamp(40px,13vw,72px);font-weight:800;font-style:italic;line-height:.9;letter-spacing:-.03em}.gt-count{font-size:clamp(180px,64vw,320px);font-weight:800;font-style:italic;line-height:.82;letter-spacing:-.05em;font-variant-numeric:tabular-nums;text-shadow:0 0 70px var(--volt-glow)}.gt-false{font-size:clamp(46px,15vw,82px);font-weight:800;font-style:italic;line-height:.9;color:var(--volt);text-shadow:0 0 46px color-mix(in srgb,var(--volt) 65%,transparent);animation:gtFalse .5s ease-in-out 3}@keyframes gtFalse{0%,100%{opacity:1}50%{opacity:.35}}.gt-goin{font-size:clamp(18px,5.5vw,26px);font-weight:800;font-style:italic;letter-spacing:.14em;color:var(--amber)}.gt-goin b{font-size:clamp(28px,8.5vw,42px);color:var(--tx);font-variant-numeric:tabular-nums;margin-left:6px}.gt-rollspd{font-size:clamp(100px,34vw,160px);font-weight:800;line-height:.88;letter-spacing:-.03em;font-variant-numeric:tabular-nums;text-shadow:0 0 50px var(--volt-glow)}.gt-rollmph{font-size:15px;font-weight:800;font-style:italic;color:var(--volt);letter-spacing:.14em}.gt-hint{font-size:13px;font-weight:600;color:var(--mut);max-width:300px;line-height:1.5}.gt-tree{display:flex;flex-direction:column;gap:1.3vh;align-items:center;background:linear-gradient(180deg,#101013,#070709);border:1px solid rgba(255,255,255,.09);border-radius:32px;padding:2vh 2.2vh;box-shadow:0 24px 60px rgba(0,0,0,.65)}.gt-lamp{position:relative;width:min(14.5vh,56vw);height:min(14.5vh,56vw);border-radius:50%;transition:background .08s,box-shadow .08s;--c1:#2c2c31;--c2:#19191c;--dot:rgba(255,255,255,.05);--glow:transparent;background:radial-gradient(circle,var(--dot) 1.6px,transparent 2.4px) 0 0/16.6% 16.6%,radial-gradient(circle at 50% 32%,var(--c1),var(--c2) 62%,rgba(0,0,0,.6) 100%);box-shadow:inset 0 0 0 5px rgba(0,0,0,.45),inset 0 -12px 24px rgba(0,0,0,.45),0 0 0 8px #0d0d0f,0 0 0 9px rgba(255,255,255,.07),0 0 8vh var(--glow)}.gt-lamp.red{--c1:#ff5a72;--c2:#c00023;--dot:rgba(255,200,205,.55);--glow:color-mix(in srgb,var(--volt) 80%,transparent)}.gt-lamp.orange{--c1:#ffb057;--c2:#e06400;--dot:rgba(255,226,180,.55);--glow:rgba(255,138,30,.8)}.gt-lamp.yellow{--c1:#ffe86e;--c2:#e0a800;--dot:rgba(255,244,200,.6);--glow:rgba(255,210,30,.8)}.gt-lamp.green{--c1:#57ff9a;--c2:#00a844;--dot:rgba(210,255,228,.6);--glow:rgba(54,220,117,.95)}.gt-go{font-size:clamp(34px,10vw,54px);font-weight:800;font-style:italic;line-height:.85;color:var(--green);text-shadow:0 0 50px rgba(54,220,117,.55)}.gt-wrap.tree{gap:1.3vh}.gt-wrap.tree .gt-phase{font-size:clamp(16px,4.8vw,22px);font-weight:800;font-style:italic;letter-spacing:.04em;color:var(--tx);padding:8px 0;border-top:2px solid color-mix(in srgb,var(--volt) 70%,transparent);border-bottom:2px solid color-mix(in srgb,var(--volt) 70%,transparent)}.gt-launch{min-height:62px;padding:0 40px;border-radius:16px;border:none;background:var(--volt);color:var(--volt-tx,#fff);font:800 14px/1 inherit;font-style:italic;letter-spacing:.14em;cursor:pointer;box-shadow:0 14px 32px color-mix(in srgb,var(--volt) 40%,transparent)}button,[data-act],[data-gt],.chip,.opt,.mrow,.strow,.rw-reveal{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tabs button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 1px}.tabs .tbi{display:block;width:21px;height:21px}.tabs .tbi svg{width:100%;height:100%;display:block}.tabs button span{font-size:6px;letter-spacing:.02em;font-weight:800}.tabs .tbi{width:17px;height:17px}.tabs{padding:3px}.tabs .tbi{width:19px;height:19px}.tabs button.on .tbi{color:var(--volt)}#mbEndFlash{position:fixed;inset:0;z-index:258;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--volt) 55%,transparent),color-mix(in srgb,var(--volt) 12%,transparent) 55%,transparent 72%)}#mbEndFlash.on{animation:mbEnd 1.05s ease forwards}@keyframes mbEnd{0%{opacity:0}12%{opacity:1}45%{opacity:.55}100%{opacity:0}}@media (prefers-reduced-motion:reduce){#mbEndFlash.on{animation:none;opacity:0}}.gt-rollspd.at{color:var(--green)}.gt-rolltgt{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--mut);margin-top:6px}.gt-rolltgt.at{color:var(--green)}.bigbtn.armgo{background:linear-gradient(135deg,#2fd97a,#0c9c4c);box-shadow:0 10px 28px rgba(24,200,100,.4)}.bigbtn.armgo em{color:rgba(255,255,255,.75)}.gt-abort{min-height:44px;border:none;background:transparent;color:var(--mut);font:800 11px/1 inherit;letter-spacing:.14em;cursor:pointer}.pillrow{display:flex;align-items:center;gap:10px;background:var(--sur-2);border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-bottom:8px;cursor:pointer}.pillrow .pn{flex:1;font-size:12px;font-weight:800;letter-spacing:.08em}.pillrow .pn em{display:block;font-style:normal;font-weight:600;font-size:10.5px;color:var(--mut);letter-spacing:.03em;margin-top:3px}.pillrow .plv{font-size:18px;font-weight:800;min-width:34px;text-align:right}.spinebar{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin:0 0 8px;background:var(--sur-1)}.spinebar .sl2{font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--mut)}.spinebar .pv{font-size:10px;font-weight:800;color:var(--volt);font-variant-numeric:tabular-nums;flex:1;text-align:right}.quotarow{display:flex;align-items:center;gap:10px;margin-bottom:9px}.quotarow .qn{flex:none;font-size:11px;font-weight:800;letter-spacing:.06em}.quotarow .qv{flex:none;font-size:10.5px;color:var(--mut);min-width:70px;text-align:right;font-variant-numeric:tabular-nums}.bigclock{font-size:56px;font-weight:800;font-style:italic;text-align:center;margin:10px 0;font-variant-numeric:tabular-nums}.nowcard{border:1px solid var(--volt);border-radius:15px;padding:15px 16px;margin:0 0 10px;background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 13%,transparent),color-mix(in srgb,var(--volt) 3%,transparent));box-shadow:0 0 22px color-mix(in srgb,var(--volt) 10%,transparent) inset}.nowcard .nk{font-size:8.5px;letter-spacing:.26em;font-weight:800;color:var(--volt)}.nowcard h3{font-size:18px;font-weight:800;font-style:italic;margin:7px 0 4px;letter-spacing:.02em}.nowcard p{margin:0;font-size:12.5px;color:var(--tx2);line-height:1.5}

/* ===== style block 3 ===== */
.calc-done{font-size:clamp(40px,14vw,64px);font-weight:800;font-style:italic;line-height:.86;letter-spacing:-.04em;color:var(--volt);text-transform:uppercase;margin-bottom:14px;animation:calcPop .4s cubic-bezier(.2,1.4,.4,1) both}@keyframes calcPop{from{transform:scale(.72);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.calc-done{animation:none}}.hud{max-width:440px;margin:0 auto;min-height:92vh;display:flex;flex-direction:column;align-items:center;gap:6px;padding:calc(10px + env(safe-area-inset-top)) 14px 18px}.hud-logo{font-size:15px;font-weight:800;font-style:italic;letter-spacing:.07em}.hud-logo b{color:var(--volt)}.hud-chip{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--sur-1)}.hud-chip div{padding:5px 12px;font-size:11px;font-weight:800;letter-spacing:.04em}.hud-chip .a{border-right:1px solid var(--line)}.hud-chip .b{color:var(--amber)}.hud-chip .b.push{color:var(--volt)}.hud-meta{width:100%;max-width:360px;display:flex;justify-content:space-between;align-items:center;padding:0 8px 2px}.hud-src{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--volt);text-transform:uppercase}.hud-time{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.hud-mphtop{font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--mut);text-transform:uppercase}.hud-mphtop b{font-size:19px;color:var(--tx);letter-spacing:0;margin-right:3px;font-variant-numeric:tabular-nums}.hud-gwrap{position:relative;width:100%;max-width:360px}#mbGauge{display:block;width:100%;height:225px}.hud-center{position:absolute;left:0;right:0;top:54%;transform:translateY(-50%);text-align:center;pointer-events:none}.hud-cs{font-size:9.5px;font-weight:800;letter-spacing:.2em;color:var(--mut);text-transform:uppercase}.hud-speed{font-size:clamp(54px,16vw,76px);font-weight:800;line-height:.94;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.hud-mph{font-size:13px;font-weight:800;font-style:italic;color:var(--volt);letter-spacing:.1em}.hud-stats{width:100%;max-width:360px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:6px}.hud-stat{border-radius:14px;border:1px solid var(--line);background:var(--sur-1);padding:13px 6px;text-align:center}.hud-stat-l{font-size:8.5px;font-weight:800;letter-spacing:.14em;color:var(--mut);text-transform:uppercase}.hud-stat-v{font-size:27px;font-weight:800;font-style:italic;line-height:1.05;margin-top:5px;font-variant-numeric:tabular-nums}.hud-stat-u{font-size:8.5px;font-weight:800;letter-spacing:.12em;color:var(--mut);text-transform:uppercase;margin-top:2px}.hud-tel{width:100%;max-width:360px;margin-top:10px;padding:0 2px}@media (max-height:720px){#mbGauge{height:176px}.hud{gap:3px;min-height:100%}.hud-tel{margin-top:6px}#mbSpark{height:34px}.hud-stat{padding:9px 6px}.hud-end{min-height:52px;margin-top:9px}}.hud-tel-l{font-size:8.5px;font-weight:800;letter-spacing:.18em;color:var(--mut);text-transform:uppercase;display:flex;justify-content:space-between;align-items:baseline}.hud-tel-l i{font-style:normal;letter-spacing:.06em;color:var(--tx2)}.hud-tel .dvbar{height:12px;margin:6px 0 5px}.hud-telrow{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.hud-telrow span{font-size:8.5px;font-weight:800;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;display:flex;align-items:center;gap:4px}.hud-telrow b{font-size:11px;color:var(--tx);font-variant-numeric:tabular-nums}.hud-telrow i{width:7px;height:7px;border-radius:50%;display:inline-block}.hud-spark{width:100%;max-width:360px;margin-top:auto;padding:0 4px}.hud-spark-l{font-size:8.5px;font-weight:800;letter-spacing:.18em;color:var(--mut);text-transform:uppercase;text-align:center;margin-bottom:6px}#mbSpark{display:block;width:100%;height:48px}.hud-end{width:100%;max-width:360px;min-height:60px;border-radius:14px;border:none;background:var(--volt);color:var(--volt-tx,#fff);font:800 16px/1 inherit;font-style:italic;letter-spacing:.12em;cursor:pointer;box-shadow:0 10px 26px color-mix(in srgb,var(--volt) 42%,transparent);margin-top:14px}.calcwrap{min-height:88vh;display:flex;align-items:center;justify-content:center;text-align:center}.calcwrap .in{display:flex;flex-direction:column;align-items:center;gap:18px}.calc-k{font-size:11px;font-weight:800;letter-spacing:.32em;color:var(--volt);text-transform:uppercase}.calc-t{font-size:clamp(28px,9vw,42px);font-weight:800;font-style:italic;line-height:1.12}@keyframes calcDot{0%,60%,100%{opacity:.2;transform:scale(1)}30%{opacity:1;transform:scale(1.3)}}.calcdots i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--volt);margin:0 4px;animation:calcDot 1s infinite}.calcdots i:nth-child(2){animation-delay:.18s}.calcdots i:nth-child(3){animation-delay:.36s}#mbCeleb{position:fixed;inset:0;z-index:260;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--volt) 32%,transparent),transparent 48%),rgba(5,5,6,.975);animation:cbFlash .22s ease-out}#mbCeleb.on{display:flex}@keyframes cbFlash{0%{background-color:color-mix(in srgb,var(--volt) 55%,transparent)}100%{background-color:rgba(5,5,6,.975)}}@keyframes cbSlam{0%{transform:scale(2.6);opacity:0}55%{transform:scale(.88);opacity:1}75%{transform:scale(1.06)}100%{transform:scale(1)}}@keyframes cbRise{0%{transform:translateY(26px);opacity:0}100%{transform:translateY(0);opacity:1}}.cb-k{font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--volt);text-transform:uppercase;animation:cbRise .26s .04s ease-out both}.cb-grade{font-size:clamp(110px,34vw,168px);font-weight:800;font-style:italic;color:var(--amber);line-height:.86;text-shadow:0 0 60px rgba(245,197,24,.45);animation:cbSlam .38s cubic-bezier(.2,1.5,.4,1) both}.cb-big{font-size:clamp(30px,10vw,52px);font-weight:800;font-style:italic;line-height:.95;animation:cbRise .3s .14s ease-out both}.cb-stats{display:flex;gap:18px;justify-content:center;animation:cbRise .3s .2s ease-out both}.cb-stat b{font-size:22px;font-weight:800;font-style:italic;display:block;font-variant-numeric:tabular-nums}.cb-stat span{font-size:8px;font-weight:800;letter-spacing:.14em;color:var(--mut);text-transform:uppercase}.cb-pb{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--green);text-transform:uppercase;animation:cbRise .3s .26s ease-out both}.cb-tap{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--mut);text-transform:uppercase;animation:cbRise .3s .34s ease-out both}#mbWait{position:fixed;inset:0;z-index:255;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;background-color:#050506;background-image:linear-gradient(180deg,rgba(5,5,6,.84),rgba(5,5,6,.95) 55%,rgba(5,5,6,.99)),var(--mbx-hero);background-size:cover;background-position:center 18%}#mbWait.on{display:flex}.rw-in{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:340px}.rw-k{font-size:12px;font-weight:800;letter-spacing:.3em;color:var(--volt);text-transform:uppercase}.rw-big{font-size:clamp(32px,10vw,50px);font-weight:800;font-style:italic;line-height:.95}.rw-sub{font-size:13px;font-weight:600;color:var(--mut);line-height:1.5}.rw-ring{position:relative;width:116px;height:116px;margin:4px 0}.rw-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.rw-ring circle{fill:none;stroke-width:5;stroke-linecap:round}.rw-ring .bg{stroke:rgba(255,255,255,.1)}.rw-ring .fg{stroke:var(--volt);stroke-dasharray:333;stroke-dashoffset:333;transition:stroke-dashoffset .25s linear;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--volt) 85%,transparent))}.rw-mid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.rw-work{font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--tx2);text-transform:uppercase;min-height:16px}.rw-ready{font-size:clamp(24px,7.5vw,36px);font-weight:800;font-style:italic;color:var(--green);text-shadow:0 0 34px rgba(54,220,117,.5);animation:rwReady 1.3s ease-in-out infinite}@keyframes rwReady{0%,100%{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.045)}}@keyframes rwPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}.rw-reveal{min-height:64px;padding:0 50px;border-radius:16px;border:none;background:var(--volt);color:var(--volt-tx,#fff);font:800 16px/1 inherit;font-style:italic;letter-spacing:.18em;cursor:pointer;box-shadow:0 14px 34px color-mix(in srgb,var(--volt) 45%,transparent);animation:rwPulse 1.5s ease-in-out infinite}.rs-grade{font-size:88px;font-weight:800;font-style:italic;line-height:.85;text-align:center;text-shadow:0 22px 44px color-mix(in srgb,var(--volt) 35%,transparent);margin:10px 0 4px}.rs-head{font-size:17px;font-weight:800;font-style:italic;color:var(--amber);text-align:center;line-height:1.2}.rs-sub{font-size:12px;font-weight:600;color:var(--mut);text-align:center;margin-top:6px}.rs-pill{display:block;width:fit-content;margin:0 auto;padding:7px 15px;border-radius:999px;border:1px solid color-mix(in srgb,var(--volt) 50%,transparent);background:color-mix(in srgb,var(--volt) 12%,transparent);color:var(--volt);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.rs-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:14px 0 6px}.rs-stat{text-align:center;padding:13px 6px;border-radius:14px;background:var(--sur-2);border:1px solid var(--line)}.rs-stat-l{font-size:8px;font-weight:800;letter-spacing:.14em;color:var(--mut);text-transform:uppercase}.rs-stat-v{font-size:18px;font-weight:800;font-style:italic;margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}.iqrow{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12.5px}.iqrow .qn{flex:1;font-weight:700}.iqrow .qt{flex:none;width:104px;height:5px;background:var(--sur-3);border-radius:3px;overflow:hidden}.iqrow .qt i{display:block;height:100%;border-radius:3px}.iqrow .qv{flex:none;width:56px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.rs-map{width:100%;height:180px;display:block;border-radius:12px;background:var(--sur-2);border:1px solid var(--line)}.rs-radar{width:100%;height:240px;display:block}.rs-legend{display:flex;gap:14px;justify-content:center;margin-top:8px}.rs-legend span{font-size:8.5px;font-weight:800;letter-spacing:.08em;color:var(--mut);text-transform:uppercase;display:flex;align-items:center;gap:5px}.rs-legend i{width:8px;height:8px;border-radius:50%}

/* ===== style block 4 ===== */

.bigbtn.focus{background:var(--volt);border:none;color:var(--volt-tx,#fff);
 box-shadow:0 10px 30px color-mix(in srgb,var(--volt) 45%,transparent)}
.bigbtn.focus em{color:rgba(255,255,255,.82)}
.bigbtn.focus:active{background:#d01135}
.rankbar{cursor:pointer}
.rankbar .rkgo{flex:none;color:var(--mut);font-size:17px;font-weight:800;margin-left:2px}
.rankbar:active{background:var(--sur-2)}
.tgtrow{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tgtrow>div{flex:1;text-align:center}.tgtrow b{display:block;font-size:27px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.tgtrow span{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--mut);margin-top:5px}.tgtrow .tgtar{flex:none;font-size:16px;color:var(--mut);font-weight:800}.rollin{text-align:center;font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--mut);margin-top:8px}.rollin b{color:var(--green)}.dayline{font:800 10px/1 inherit;letter-spacing:.18em;color:var(--mut);margin:2px 0 12px}.dayline b{color:var(--volt)}.hello{font-size:24px;font-weight:800;line-height:1.22;margin:0 0 14px;letter-spacing:-.015em}.hello b{color:var(--volt)}.ringrow{display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:16px;padding:17px;margin-bottom:10px;background:var(--sur-1)}.ringrow .rgw{flex:none;width:86px;height:86px;position:relative}.ringrow .rgw svg{width:100%;height:100%;display:block}.ringrow .rgtx{flex:1;min-width:0}.ringrow .rgk{font-size:9px;letter-spacing:.22em;font-weight:800;color:var(--mut)}.ringrow .rgh{font-size:17px;font-weight:800;margin:5px 0 4px}.ringrow .rgs{font-size:12px;color:var(--mut);line-height:1.5}.ringrow .rgs b{color:var(--ink)}.brief{border:1px solid color-mix(in srgb,var(--volt) 30%,transparent);border-radius:16px;padding:16px;margin:12px 0;background:linear-gradient(155deg,color-mix(in srgb,var(--volt) 10%,transparent),transparent)}.brief .bk{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:var(--volt)}.brief h4{font-size:18px;font-weight:800;margin:9px 0 7px;line-height:1.25;font-style:italic}.brief p{font-size:13.5px;color:var(--tx2);line-height:1.58;margin:0 0 8px}.brief p b{color:var(--ink)}.brief .bwhy{font-size:12.5px;color:var(--mut);line-height:1.55;margin:0}.brief .btour{margin-top:12px;background:none;border:1px solid var(--line);border-radius:10px;color:var(--tx2);font:800 9.5px/1 inherit;letter-spacing:.16em;padding:12px 15px;cursor:pointer}.rankbar{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px 15px;margin:10px 0;background:var(--sur-1)}.rankbar .rn{flex:none;min-width:44px;height:34px;border-radius:11px;background:var(--volt);color:var(--volt-tx,#fff);font:900 11px/34px inherit;text-align:center;letter-spacing:.06em;padding:0 8px}.rankbar .rt{flex:1;min-width:0}.rankbar .rt b{display:block;font-size:12px;font-weight:900;letter-spacing:.12em}.rankbar .rt span{display:block;font-size:11px;color:var(--mut);margin-top:4px}.rankbar .rp{flex:none;font-size:10px;font-weight:800;color:var(--mut);text-align:right;line-height:1.5}.rcpt{border:1px solid var(--line);border-radius:16px;padding:15px 16px;margin:12px 0;background:var(--sur-1);cursor:pointer}.rcpt .rk{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:var(--volt)}.rcpt h4{font-size:16px;font-weight:800;margin:8px 0 0;font-style:italic}.rcpt .rc{font-size:11.5px;color:var(--mut);margin-top:6px}.rcpt .rlist{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:none}.rcpt.open .rlist{display:block}.rcpt .ri{display:flex;align-items:flex-start;gap:11px;padding:9px 0}.rcpt .ri i{flex:none;width:7px;height:7px;border-radius:50%;margin-top:6px}.rcpt .ri b{display:block;font-size:13.5px;font-weight:700;line-height:1.35}.rcpt .ri span{display:block;font-size:11.5px;color:var(--mut);margin-top:3px;line-height:1.45}.cal{display:flex;gap:5px;justify-content:space-between;margin:8px 0 4px}.cal .cd{flex:1;text-align:center}.cal .cdn{font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--mut);margin-bottom:6px}.cal .cc{width:28px;height:28px;border-radius:50%;margin:0 auto;border:1.5px solid var(--line);display:grid;place-items:center;font-size:10px;font-weight:800;color:var(--mut)}.cal .cc.scheduled{background:var(--sur-3);border-color:var(--line-hi);color:var(--tx2)}.cal .cc.done{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff)}.cal .cc.bonus{background:color-mix(in srgb,var(--volt) 25%,transparent);border-color:var(--volt);color:var(--volt)}.cal .cc.due{border-color:var(--volt);color:var(--volt);box-shadow:0 0 10px color-mix(in srgb,var(--volt) 40%,transparent)}.cal .cc.missed{border-color:var(--amber);color:var(--amber)}.cal .cd.today .cdn{color:var(--tx)}.planbar{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0;background:var(--sur-1)}.planbar .pl2{font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--mut);flex:none}.planbar .track{flex:1;height:5px;background:var(--sur-3);border-radius:3px;overflow:hidden}.planbar .track i{display:block;height:100%;border-radius:3px;background:var(--volt)}.planbar .pv{flex:none;font-size:11px;font-weight:800;color:var(--tx2)}.axrow{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;margin-bottom:6px;background:var(--sur-1)}.axrow .ad{flex:none;width:9px;height:9px;border-radius:50%}.axrow .an2{flex:1;min-width:0}.axrow .an2 b{display:block;font-size:13px;font-weight:700;letter-spacing:.03em}.axrow .an2 span{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;margin-top:4px}.axrow .abar{flex:none;width:64px;height:4px;background:var(--sur-3);border-radius:2px;overflow:hidden}.axrow .abar i{display:block;height:100%;border-radius:2px}.axrow .apc{flex:none;font-size:14px;font-weight:800;min-width:34px;text-align:right}.plrow{border:1px solid var(--line);border-radius:14px;margin-bottom:8px;background:var(--sur-1);padding:14px 15px;display:flex;align-items:center;gap:12px}.plrow .plnum{flex:none;width:24px;height:24px;border-radius:8px;background:var(--sur-3);color:var(--mut);font:800 11px/24px inherit;text-align:center}.plrow .plb{flex:1;min-width:0}.plrow .plb b{display:block;font-size:14.5px;font-weight:700;line-height:1.3}.plrow .plb em{display:block;font-style:normal;font-size:10px;letter-spacing:.13em;color:var(--mut);font-weight:800;margin-top:5px}.plrow .plb .plwhy{display:block;font-size:11.5px;color:var(--mut);margin-top:6px;line-height:1.45}.plrow .pld{flex:none;text-align:right}.plrow .pld b{display:block;font-size:15px;font-weight:800}.plrow .pld span{display:block;font-size:10px;color:var(--mut);font-weight:700;margin-top:3px}#mbTour{position:fixed;inset:0;z-index:270;display:none;background:rgba(4,4,6,.97);backdrop-filter:blur(6px)}#mbTour.on{display:flex}.tr-card{width:100%;max-width:430px;margin:auto;padding:30px 24px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;text-align:center}.tr-dots{display:flex;gap:6px;justify-content:center}.tr-dots i{height:5px;border-radius:3px;background:rgba(255,255,255,.18);width:8px;transition:width .2s}.tr-dots i.on{width:22px;background:var(--volt)}.tr-k{font-size:11px;font-weight:800;letter-spacing:.26em;color:var(--volt);text-transform:uppercase}.tr-val{font-size:clamp(52px,17vw,92px);font-weight:800;font-style:italic;line-height:.9;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.tr-val small{font-size:17px;font-weight:800;color:var(--mut);margin-left:6px;letter-spacing:.1em}.tr-title{font-size:21px;font-weight:800;font-style:italic;color:var(--amber);line-height:1.15}.tr-body{font-size:14px;line-height:1.55;color:var(--tx2);font-weight:600;max-width:330px;margin:0 auto}.tr-mini{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:2px}.tr-chip{font-size:11px;font-weight:800;padding:7px 12px;border-radius:999px;border:1px solid var(--line);color:var(--mut)}.hero{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;padding:15px;background-image:linear-gradient(180deg,rgba(6,8,10,.06) 30%,rgba(6,8,10,.94) 88%),var(--mbx-hero);background-size:cover;background-position:center 22%}.hero .hk{font-size:8.5px;letter-spacing:.28em;font-weight:800;color:var(--volt)}.hero h2{margin:6px 0 2px;font-size:24px;font-weight:800;font-style:italic;line-height:1.02}.hero p{margin:0;font-size:12px;color:var(--tx2);font-weight:600}.statgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px}.stat{background:var(--sur-1);border:1px solid var(--line);border-radius:13px;padding:12px 8px;text-align:center}.stat b{display:block;font-size:21px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}.stat span{font-size:8px;letter-spacing:.13em;color:var(--mut);font-weight:800;text-transform:uppercase;margin-top:3px;display:block}.lad{display:flex;flex-direction:column;gap:5px;margin:4px 0}.ladrow{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:11px 13px;background:var(--sur-1)}.ladrow.on{border-color:var(--volt);background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 13%,transparent),color-mix(in srgb,var(--volt) 3%,transparent))}.ladrow.done{opacity:.55}.ladrow .ln{flex:1;font-size:12.5px;font-weight:800;letter-spacing:.05em;font-style:italic}.ladrow .lf{font-size:11px;color:var(--mut);font-weight:700;font-variant-numeric:tabular-nums}.ladrow.on .lf{color:var(--volt)}.xpbar{height:7px;border-radius:4px;background:var(--sur-3);overflow:hidden;margin:9px 0 5px}.xpbar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--volt-dim),var(--volt));box-shadow:0 0 10px var(--volt-glow)}.strow{display:flex;align-items:center;gap:10px;background:var(--sur-1);border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:6px}.strow .gr{flex:none;width:42px;height:42px;border-radius:11px;background:var(--sur-3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;font-style:italic}.strow .mid{flex:1;min-width:0;cursor:pointer}.strow .r1{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.strow .r2{font-size:10px;color:var(--mut);font-weight:700;margin-top:3px;letter-spacing:.03em}.strow .fv{flex:none;border:none;background:none;font-size:17px;color:var(--mut);padding:6px;cursor:pointer}.strow .fv.on{color:var(--amber)}.strow .dl{flex:none;border:none;background:none;font-size:14px;color:var(--mut);padding:6px;min-width:40px;min-height:40px;border-radius:10px;cursor:pointer;font-weight:800;letter-spacing:.06em}.strow .dl.arm{background:var(--volt);color:var(--volt-tx,#fff);font-size:10px;padding:6px 10px}.dial{width:100%;margin:6px 0 2px}.dialv{font-size:38px;font-weight:800;font-style:italic;text-align:center;font-variant-numeric:tabular-nums}.dialv em{font-style:normal;font-size:11px;color:var(--mut);font-weight:800;letter-spacing:.14em;margin-left:6px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:34px;background:none}input[type=range]::-webkit-slider-runnable-track{height:7px;border-radius:4px;background:var(--sur-3)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--volt);margin-top:-10px;box-shadow:0 0 14px var(--volt-glow);border:2px solid #fff}#mbOb{position:fixed;inset:0;z-index:290;background:var(--bg);overflow-y:auto;display:none;-webkit-overflow-scrolling:touch}#mbOb.on{display:block}.obw{max-width:440px;margin:0 auto;padding:40px 22px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;min-height:100%}.obw h2{font-size:30px;font-weight:800;font-style:italic;line-height:1.03;margin:0}.obw .obk{font-size:10px;letter-spacing:.3em;color:var(--volt);font-weight:800}.obw p{margin:0;font-size:13.5px;color:var(--tx2);line-height:1.55;font-weight:600}.st-splits{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:10px 0}.st-split{text-align:center;background:var(--sur-2);border:1px solid var(--line);border-radius:12px;padding:12px 6px}.st-split b{display:block;font-size:20px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}.st-split span{font-size:8px;font-weight:800;letter-spacing:.13em;color:var(--mut);text-transform:uppercase}.st-dots{display:flex;gap:6px;justify-content:center;margin:8px 0}.st-dots i{width:12px;height:12px;border-radius:50%;background:var(--sur-3);border:1px solid var(--line)}.st-dots i.w{background:var(--amber);border-color:var(--amber)}.st-dots i.p{background:var(--volt);border-color:var(--volt);box-shadow:0 0 10px var(--volt-glow)}.lvl-reveal{font-size:clamp(40px,13vw,64px);font-weight:800;font-style:italic;text-align:center;color:var(--amber);text-shadow:0 0 44px rgba(245,197,24,.4);margin:8px 0}

/* ===== style block 5 ===== */

#mbRide,#mbSurvey{position:fixed;inset:0;z-index:210;background:var(--bg);overflow-y:auto;
  -webkit-overflow-scrolling:touch;display:none}
#mbRide.on,#mbSurvey.on{display:block}
.rd-wrap{max-width:440px;margin:0 auto;min-height:96vh;padding:calc(14px + env(safe-area-inset-top)) 16px 22px;
  display:flex;flex-direction:column;gap:10px}
.rd-k{font-size:10px;letter-spacing:.26em;font-weight:800;color:var(--volt);text-transform:uppercase;text-align:center}
.rd-name{font-size:17px;font-weight:800;font-style:italic;text-align:center;cursor:pointer}
.rd-name em{display:block;font-style:normal;font-size:8px;letter-spacing:.16em;color:var(--mut);font-weight:800;margin-top:3px}
.rd-clock{font-size:clamp(52px,17vw,74px);font-weight:800;font-style:italic;line-height:.92;text-align:center;
  font-variant-numeric:tabular-nums}
.rd-mph{text-align:center}
.rd-mph b{font-size:clamp(40px,13vw,58px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.rd-mph span{font-size:11px;font-weight:800;font-style:italic;color:var(--volt);letter-spacing:.12em;margin-left:6px}
.rd-trace{background:var(--sur-1);border:1px solid var(--line);border-radius:14px;padding:12px;min-height:150px;
  display:flex;align-items:center;justify-content:center}
.rd-trace svg{width:100%;height:auto;display:block}
.rd-wait{font-size:9.5px;letter-spacing:.16em;color:var(--mut);font-weight:800;text-align:center;line-height:2}
.rd-end{width:100%;min-height:60px;border-radius:14px;border:none;background:var(--volt);color:var(--volt-tx,#fff);
  font:800 16px/1 inherit;font-style:italic;letter-spacing:.12em;cursor:pointer;
  box-shadow:0 10px 26px color-mix(in srgb,var(--volt) 42%,transparent);margin-top:auto}
.sv-len{font-size:clamp(48px,15vw,68px);font-weight:800;font-style:italic;text-align:center;
  font-variant-numeric:tabular-nums;line-height:.95}
.sv-len em{font-style:normal;font-size:12px;color:var(--mut);font-weight:800;letter-spacing:.14em;margin-left:6px}


/* ===== style block 6 ===== */

.coachrow{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--volt) 16%,transparent),var(--sur-1));
 border:1px solid color-mix(in srgb,var(--volt) 35%,transparent);border-radius:14px;padding:16px;cursor:pointer;margin:16px 0 14px}
.coachrow .cn{flex:1;font-weight:800;font-style:italic;font-size:15.5px}
.coachrow .cn em{display:block;font-style:normal;font-weight:600;font-size:12px;color:var(--mut);margin-top:4px;line-height:1.5}
.coachrow .cgo{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--volt)}
.axbar{display:flex;align-items:center;gap:10px;margin:7px 0}
.axbar .an{width:96px;font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--mut)}
.axbar .at{flex:1;height:7px;border-radius:4px;background:var(--sur-2);overflow:hidden}
.axbar .at i{display:block;height:100%;border-radius:4px}
.axbar .av{width:30px;text-align:right;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.sessband{background:var(--sur-1);border:1px solid var(--line);border-left:3px solid var(--volt);
 border-radius:12px;padding:12px 14px;margin-bottom:12px}
.sessband .sk{font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--volt)}
.sessband .sv{font-size:19px;font-weight:800;font-style:italic;margin-top:4px}
.sessband .st{font-size:12.5px;color:var(--mut);margin-top:5px;line-height:1.55}
.cal7{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:8px 0 4px}
.cal7 .dh{font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--mut);text-align:center;padding:2px 0}
.cald{aspect-ratio:1;border-radius:10px;background:var(--sur-2);border:1px solid var(--line);
 display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;
 font-variant-numeric:tabular-nums;cursor:pointer;color:var(--tx)}
.cald.we{background:color-mix(in srgb,var(--volt) 8%,transparent);border-color:color-mix(in srgb,var(--volt) 25%,transparent)}
.cald.on{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff);box-shadow:0 4px 14px color-mix(in srgb,var(--volt) 45%,transparent)}
.cald.blank{background:none;border:none;cursor:default}


/* ===== style block 7 ===== */

/* ==== the manual's own stylesheet (block 7 original) - v3 shipped without it ==== */
/* ---------------------------------------------------------------
   Built from two BMX artifacts: the NUMBER PLATE and the GATE TREE.
   Plates carry the section marks. The tree carries the motion.
   Everything else stays quiet so those two land.
   --------------------------------------------------------------- */
.rfm{margin:0 -20px;font-variant-numeric:tabular-nums}
.rfm-pad{padding:0 20px}

/* ---- cover ---- */
.rfm-cv{position:relative;overflow:hidden;padding:30px 20px 26px;
 background:
  repeating-linear-gradient(115deg,color-mix(in srgb,var(--volt) 9%,transparent) 0 2px,transparent 2px 13px),
  radial-gradient(120% 90% at 78% 8%,color-mix(in srgb,var(--volt) 30%,transparent),transparent 62%),
  #08090b}
.rfm-cv:after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
 background:linear-gradient(90deg,var(--volt) 0 38%,#1a1d22 38%)}
.rfm-cvk{font-size:8.5px;letter-spacing:.42em;font-weight:800;color:var(--volt)}
.rfm-cv h2{margin:12px 0 0;font-size:clamp(38px,13.5vw,58px);line-height:.84;font-weight:800;
 font-style:italic;letter-spacing:-.045em;text-transform:uppercase}
.rfm-cv h2 span{display:block;color:var(--volt)}
.rfm-cv p{margin:16px 0 0;max-width:29ch;font-size:13.5px;line-height:1.55;color:var(--tx2)}
.rfm-cv p b{color:var(--ink)}

/* ---- the plate: a BMX number plate, angled ---- */
.rfm-plate{flex:none;width:42px;height:38px;border-radius:7px;background:#f4f6f7;
 color:#08090b;font:900 20px/38px inherit;text-align:center;letter-spacing:-.04em;
 transform:skewX(-9deg);box-shadow:0 3px 0 rgba(0,0,0,.55)}
.rfm-plate i{display:block;transform:skewX(9deg);font-style:normal}

/* ---- quick start ---- */
.rfm-qs{display:flex;gap:7px;margin:20px 0 0}
.rfm-qs div{flex:1;background:var(--sur-1);border:1px solid var(--line);border-radius:11px;
 padding:12px 8px;text-align:center}
.rfm-qs b{display:block;font-size:19px;font-weight:900;font-style:italic;color:var(--volt);line-height:1}
.rfm-qs span{display:block;font-size:8.5px;letter-spacing:.11em;font-weight:800;color:var(--mut);margin-top:6px;line-height:1.4}

/* ---- discipline cards: the centrepiece, never hidden ---- */
.rfm-disc{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:10px;
 background:var(--sur-1)}
.rfm-dh{display:flex;align-items:center;gap:13px;padding:15px 16px 13px}
.rfm-art{flex:none;width:54px;height:54px}
.rfm-art svg{width:100%;height:100%;display:block;overflow:visible}
.rfm-dt{flex:1;min-width:0}
.rfm-dt b{display:block;font-size:21px;font-weight:800;font-style:italic;letter-spacing:-.02em;line-height:1}
.rfm-dt span{display:block;font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--mut);margin-top:6px}
.rfm-vars{display:flex;border-top:1px solid var(--line)}
.rfm-vars div{flex:1;padding:11px 6px;text-align:center;border-left:1px solid var(--line)}
.rfm-vars div:first-child{border-left:none}
.rfm-vars b{display:block;font-size:11px;font-weight:900;letter-spacing:.06em}
.rfm-vars em{display:block;font-style:normal;font-size:16px;font-weight:800;margin-top:4px}
.rfm-vars span{display:block;font-size:8px;letter-spacing:.1em;color:var(--mut);font-weight:800;margin-top:4px}
.rfm-db{padding:13px 16px 15px;border-top:1px solid var(--line);font-size:13px;line-height:1.6;color:var(--tx2)}
.rfm-db b{color:var(--ink)}

/* ---- the line: a coaching pull-quote ---- */
.rfm-line{margin:0;padding:14px 16px;background:linear-gradient(100deg,color-mix(in srgb,var(--volt) 20%,transparent),transparent);
 border-top:1px solid color-mix(in srgb,var(--volt) 35%,transparent);
 font-size:15px;font-weight:800;font-style:italic;letter-spacing:-.01em;color:#fff;text-transform:uppercase}

/* ---- section plates (expandable) ---- */
.rfm-sec{border:1px solid var(--line);border-radius:13px;margin-bottom:7px;background:var(--sur-1);
 overflow:hidden;cursor:pointer}
.rfm-sh{display:flex;align-items:center;gap:13px;padding:12px 14px}
.rfm-st{flex:1;min-width:0}
.rfm-st b{display:block;font-size:15px;font-weight:800;font-style:italic;line-height:1.15}
.rfm-st span{display:block;font-size:8.5px;letter-spacing:.2em;font-weight:800;color:var(--mut);margin-top:5px}
.rfm-chev{flex:none;color:var(--mut);font-size:15px;font-weight:800;transition:transform .18s ease}
.rfm-sec.on .rfm-chev{transform:rotate(90deg);color:var(--volt)}
.rfm-sb{display:none;padding:0 16px 15px;font-size:13.5px;line-height:1.65;color:var(--tx2)}
.rfm-sec.on .rfm-sb{display:block;animation:rfmIn .22s ease}
@keyframes rfmIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.rfm-sb b{color:var(--ink)}
.rfm-sb .rfm-step{display:flex;gap:11px;padding:8px 0;border-bottom:1px solid var(--line)}
.rfm-sb .rfm-step:last-child{border-bottom:none}
.rfm-sb .rfm-step i{flex:none;width:20px;height:20px;border-radius:6px;background:var(--volt);color:var(--volt-tx,#fff);
 font:900 11px/20px inherit;text-align:center;font-style:normal}

/* ---- numbers glossary ---- */
.rfm-num{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.rfm-num:last-child{border-bottom:none}
.rfm-num b{flex:none;width:96px;font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--volt)}
.rfm-num span{flex:1;font-size:12.5px;line-height:1.55;color:var(--tx2)}
.rfm-num span i{color:var(--ink);font-style:normal;font-weight:700}

/* ---- safety ---- */
.rfm-safe{border:1px solid var(--volt);border-radius:14px;padding:16px;margin-top:12px;
 background:linear-gradient(170deg,color-mix(in srgb,var(--volt) 16%,transparent),transparent)}
.rfm-safe .rfm-sk{font-size:8.5px;letter-spacing:.26em;font-weight:800;color:var(--volt)}
.rfm-safe h4{margin:9px 0 10px;font-size:19px;font-weight:800;font-style:italic;text-transform:uppercase;
 letter-spacing:-.02em}
.rfm-safe ul{margin:0;padding:0;list-style:none}
.rfm-safe li{position:relative;padding:7px 0 7px 17px;font-size:13px;line-height:1.55;color:var(--tx2)}
.rfm-safe li:before{content:'';position:absolute;left:0;top:14px;width:7px;height:2px;background:var(--volt)}
.rfm-safe li b{color:var(--ink)}

/* ---- closing ---- */
.rfm-end{margin-top:16px;padding:18px 16px;border-radius:14px;background:#08090b;
 border:1px solid var(--line);text-align:center}
.rfm-end b{display:block;font-size:15px;font-weight:800;font-style:italic;text-transform:uppercase;
 letter-spacing:-.01em;line-height:1.3}
.rfm-end b em{font-style:italic;color:var(--volt)}
.rfm-end span{display:block;margin-top:9px;font-size:11.5px;color:var(--mut);letter-spacing:.04em}

/* gate lamps in the GATE card fire once on open */
.rfm-lamp{opacity:.16}
.rfm-disc.lit .rfm-lamp{animation:rfmLamp .34s ease forwards}
.rfm-disc.lit .rfm-lamp:nth-child(1){animation-delay:.05s}
.rfm-disc.lit .rfm-lamp:nth-child(2){animation-delay:.29s}
.rfm-disc.lit .rfm-lamp:nth-child(3){animation-delay:.53s}
.rfm-disc.lit .rfm-lamp:nth-child(4){animation-delay:.77s}
@keyframes rfmLamp{to{opacity:1}}
@media (prefers-reduced-motion:reduce){
 .rfm-disc.lit .rfm-lamp{animation:none;opacity:1}
 .rfm-sec.on .rfm-sb{animation:none}
}
/* ==== end manual stylesheet ==== */

.rc90{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:10px 0 4px}
.rc90 .dh{font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--mut);text-align:center;padding:2px 0}
.rcd{aspect-ratio:1;border-radius:9px;background:var(--sur-2);border:1px solid var(--line);
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
 font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--tx2);
 position:relative;overflow:hidden}
.rcd.blank{background:none;border:none;cursor:default}
.rcd.pastd{opacity:.3}
.rcd i{font-style:normal;font-size:6.5px;letter-spacing:.06em;font-weight:800;line-height:1}
.rcd.local{background:color-mix(in srgb,var(--volt) 20%,transparent);border-color:var(--volt);color:#fff}
.rcd.national{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff);
 box-shadow:0 3px 12px color-mix(in srgb,var(--volt) 45%,transparent)}
.rcd.practice{background:var(--sur-3);border-color:var(--line-hi);color:var(--amber)}
.rcd.today2:after{content:'';position:absolute;left:26%;right:26%;bottom:3px;height:2px;
 border-radius:2px;background:#fff}
.rclg{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:12px 0 2px}
.rclg span{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.1em;
 font-weight:800;color:var(--mut)}
.rclg i{width:10px;height:10px;border-radius:4px;display:block;border:1px solid var(--line)}
.mo{font-size:10px;letter-spacing:.22em;font-weight:800;color:var(--volt);margin:16px 0 2px}
.ses{border:1px solid var(--line-hi);border-radius:14px;margin-bottom:8px;background:var(--sur-2);overflow:hidden}
.ses.rest{background:var(--sur-1);border-color:var(--line);opacity:1}
.ses.rest .sesb b{color:var(--mut);font-style:normal;font-size:14px}
.sesh{display:flex;align-items:center;gap:12px;padding:13px 15px}
.sesd{flex:none;width:42px;text-align:center}
.sesd b{display:block;font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--volt)}
.sesd em{display:block;font-style:normal;font-size:18px;font-weight:800;line-height:1.1;margin-top:2px}
.sesb{flex:1;min-width:0}
.sesb b{display:block;font-size:15.5px;font-weight:800;font-style:italic;letter-spacing:-.01em}
.sesb span{display:block;font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--tx2);margin-top:5px}
.sesb .swhy{display:block;font-size:11.5px;color:var(--mut);margin-top:6px;line-height:1.45;letter-spacing:0;font-weight:400}
.sesx{flex:none;text-align:right}
.sesx b{display:block;font-size:16px;font-weight:800}
.sesx span{display:block;font-size:9px;color:var(--mut);font-weight:700;margin-top:3px}
.sesdone{color:var(--volt)}
.wkhead{display:flex;align-items:baseline;gap:8px;margin:2px 0 8px}
.wkhead b{font-size:19px;font-weight:800;font-style:italic}
.wkhead span{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--mut)}

/* ---- month grid ---- */
.mhead{display:flex;align-items:center;gap:10px;margin:2px 0 10px}
.mtit{flex:1;text-align:center;font-size:14px;font-weight:800;font-style:italic;letter-spacing:.04em}
.mtit i{font-style:normal;color:var(--mut);font-weight:700;font-size:12px}
.mnav{flex:none;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);
 background:var(--sur-2);color:var(--tx2);font:800 19px/1 inherit;cursor:pointer}
.mnav:active{background:var(--sur-3)}
.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mdh{font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--mut);text-align:center;padding-bottom:3px}
.mday{display:flex;flex-direction:column;align-items:center;gap:3px}
.mdot{width:100%;aspect-ratio:1;max-width:36px;border-radius:50%;display:grid;place-items:center;
 font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;
 border:2px solid var(--line);color:var(--mut);background:transparent}
.mdot.planned{border-color:var(--green);color:var(--ink)}
.mdot.due{border-color:var(--green);color:var(--ink);box-shadow:0 0 12px rgba(54,220,117,.55)}
.mdot.done{border-color:var(--green);background:var(--green);color:#04140b}
.mdot.missed{border-color:var(--redx);color:var(--redx)}
.mdot.now{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}
.mbar{display:block;height:3px;width:16px;border-radius:2px;background:transparent}
.mbar.local{background:var(--volt)}
.mbar.national{background:var(--volt);box-shadow:0 0 8px var(--volt);height:4px;width:20px}
.mbar.practice{background:var(--amber)}
.mleg{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:14px 0 2px}
.mleg span{display:flex;align-items:center;gap:5px;font-size:7.5px;letter-spacing:.1em;
 font-weight:800;color:var(--mut)}
.mleg .lg{width:11px;height:11px;border-radius:50%;border:2px solid var(--line);display:block}
.mleg .lg.planned{border-color:var(--green)}
.mleg .lg.done{border-color:var(--green);background:var(--green)}
.mleg .lg.missed{border-color:var(--redx)}
.mleg .lg.rc{border:none;height:3px;width:14px;border-radius:2px}
.mleg .lg.rc.local{background:var(--volt)}
.mleg .lg.rc.practice{background:var(--amber)}
/* ---- week scroller ---- */
.wkscroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
 -webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
.wkscroll::-webkit-scrollbar{display:none}
.wkp{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.wkph{display:flex;align-items:baseline;gap:9px;margin:0 0 9px}
.wkph b{font-size:15px;font-weight:800;font-style:italic;letter-spacing:-.01em}
.wkph span{font-size:8.5px;letter-spacing:.14em;font-weight:800;color:var(--volt)}
.wkhint{text-align:center;font-size:8px;letter-spacing:.22em;font-weight:800;color:var(--mut);margin-top:6px}
.sesgo{flex:none;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);
 background:var(--sur-2);color:var(--tx2);font:800 18px/1 inherit;cursor:pointer}
.sesgo:active{background:var(--sur-3);color:#fff}
.ses.banked{border-color:rgba(54,220,117,.45)}

/* ---- contrast lift: surfaces were sinking into the page ---- */
.card{background:var(--sur-2)!important;border-color:var(--line-hi)!important}
.mrow{background:var(--sur-2);border-color:var(--line-hi)}
.mrow .st8{color:var(--tx2)}
.sec{color:var(--tx2);font-weight:800}
.sec i{color:var(--mut)}
.tiny{color:var(--tx2)}
.kv{border-bottom-color:var(--line-hi)}
.kv span:first-child{color:var(--tx2)}
.chip{background:var(--sur-2);border-color:var(--line-hi);color:var(--tx)}
.bigbtn.ghost{background:var(--sur-2);border-color:var(--line-hi)}
.bigbtn.ghost em{color:var(--tx2)}
.strow{background:var(--sur-2);border-color:var(--line-hi)}
.axrow{background:var(--sur-2);border-color:var(--line-hi)}
.rankbar{background:var(--sur-2);border-color:var(--line-hi)}
.planbar{background:var(--sur-2);border-color:var(--line-hi)}
.ringrow{background:var(--sur-2);border-color:var(--line-hi)}
.opt{background:var(--sur-2);border-color:var(--line-hi)}
.pane{background:var(--sur-2)}
.sheet h4{color:var(--tx2);font-weight:800}

.dvbar{display:flex;height:16px;border-radius:9px;overflow:hidden;background:var(--sur-3);margin:16px 0 10px}
.dvbar i{display:block;height:100%}
.dv-d{background:var(--green)}.dv-h{background:#f2c14e}.dv-n{background:var(--line-hi)}.dv-w{background:var(--volt)}
.dvkey{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.dvkey span{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.12em;font-weight:800;color:var(--mut)}
.dvkey i{width:10px;height:10px;border-radius:3px;display:block}
.dvrow{display:flex;gap:8px;margin-bottom:10px}
.dvc{flex:1;background:var(--sur-2);border:1px solid var(--line-hi);border-radius:12px;padding:13px 11px}
.dvc b{display:block;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.dvc span{display:block;font-size:8.5px;letter-spacing:.16em;font-weight:800;color:var(--mut);margin-top:6px}
.dvc em{display:block;font-style:normal;font-size:10.5px;color:var(--mut);margin-top:6px;line-height:1.4}
.rfm-ask{display:block;width:100%;margin:12px 0 2px;background:color-mix(in srgb,var(--volt) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--volt) 45%,transparent);color:var(--volt);border-radius:11px;
  padding:11px 12px;font-size:9px;letter-spacing:.16em;font-weight:800;font-family:inherit;
  cursor:pointer;text-align:left}
.rfm-ask:active{background:color-mix(in srgb,var(--volt) 22%,transparent)}
.rfm-ask-cv{margin:14px 0 8px;background:var(--volt);color:var(--volt-tx,#fff);border-color:var(--volt);
  text-align:center}


/* ===== style block 8 ===== */

.rc90{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:10px 0 4px}
.rc90 .dh{font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--mut);text-align:center;padding:2px 0}
.rcd{aspect-ratio:1;border-radius:9px;background:var(--sur-2);border:1px solid var(--line);
 display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
 font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--tx2);
 position:relative;overflow:hidden}
.rcd.blank{background:none;border:none;cursor:default}
.rcd.pastd{opacity:.3}
.rcd i{font-style:normal;font-size:6.5px;letter-spacing:.06em;font-weight:800;line-height:1}
.rcd.local{background:color-mix(in srgb,var(--volt) 20%,transparent);border-color:var(--volt);color:#fff}
.rcd.national{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff);
 box-shadow:0 3px 12px color-mix(in srgb,var(--volt) 45%,transparent)}
.rcd.practice{background:var(--sur-3);border-color:var(--line-hi);color:var(--amber)}
.rcd.today2:after{content:'';position:absolute;left:26%;right:26%;bottom:3px;height:2px;
 border-radius:2px;background:#fff}
.rclg{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:12px 0 2px}
.rclg span{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.1em;
 font-weight:800;color:var(--mut)}
.rclg i{width:10px;height:10px;border-radius:4px;display:block;border:1px solid var(--line)}
.mo{font-size:10px;letter-spacing:.22em;font-weight:800;color:var(--volt);margin:16px 0 2px}
.ses{border:1px solid var(--line-hi);border-radius:14px;margin-bottom:8px;background:var(--sur-2);overflow:hidden}
.ses.rest{background:var(--sur-1);border-color:var(--line);opacity:1}
.ses.rest .sesb b{color:var(--mut);font-style:normal;font-size:14px}
.sesh{display:flex;align-items:center;gap:12px;padding:13px 15px}
.sesd{flex:none;width:42px;text-align:center}
.sesd b{display:block;font-size:9px;letter-spacing:.1em;font-weight:800;color:var(--volt)}
.sesd em{display:block;font-style:normal;font-size:18px;font-weight:800;line-height:1.1;margin-top:2px}
.sesb{flex:1;min-width:0}
.sesb b{display:block;font-size:15.5px;font-weight:800;font-style:italic;letter-spacing:-.01em}
.sesb span{display:block;font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--tx2);margin-top:5px}
.sesb .swhy{display:block;font-size:11.5px;color:var(--mut);margin-top:6px;line-height:1.45;letter-spacing:0;font-weight:400}
.sesx{flex:none;text-align:right}
.sesx b{display:block;font-size:16px;font-weight:800}
.sesx span{display:block;font-size:9px;color:var(--mut);font-weight:700;margin-top:3px}
.sesdone{color:var(--volt)}
.wkhead{display:flex;align-items:baseline;gap:8px;margin:2px 0 8px}
.wkhead b{font-size:19px;font-weight:800;font-style:italic}
.wkhead span{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--mut)}

/* ---- month grid ---- */
.mhead{display:flex;align-items:center;gap:10px;margin:2px 0 10px}
.mtit{flex:1;text-align:center;font-size:14px;font-weight:800;font-style:italic;letter-spacing:.04em}
.mtit i{font-style:normal;color:var(--mut);font-weight:700;font-size:12px}
.mnav{flex:none;width:38px;height:38px;border-radius:11px;border:1px solid var(--line);
 background:var(--sur-2);color:var(--tx2);font:800 19px/1 inherit;cursor:pointer}
.mnav:active{background:var(--sur-3)}
.mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mdh{font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--mut);text-align:center;padding-bottom:3px}
.mday{display:flex;flex-direction:column;align-items:center;gap:3px}
.mdot{width:100%;aspect-ratio:1;max-width:36px;border-radius:50%;display:grid;place-items:center;
 font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;
 border:2px solid var(--line);color:var(--mut);background:transparent}
.mdot.planned{border-color:var(--green);color:var(--ink)}
.mdot.due{border-color:var(--green);color:var(--ink);box-shadow:0 0 12px rgba(54,220,117,.55)}
.mdot.done{border-color:var(--green);background:var(--green);color:#04140b}
.mdot.missed{border-color:var(--redx);color:var(--redx)}
.mdot.now{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}
.mbar{display:block;height:3px;width:16px;border-radius:2px;background:transparent}
.mbar.local{background:var(--volt)}
.mbar.national{background:var(--volt);box-shadow:0 0 8px var(--volt);height:4px;width:20px}
.mbar.practice{background:var(--amber)}
.mleg{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:14px 0 2px}
.mleg span{display:flex;align-items:center;gap:5px;font-size:7.5px;letter-spacing:.1em;
 font-weight:800;color:var(--mut)}
.mleg .lg{width:11px;height:11px;border-radius:50%;border:2px solid var(--line);display:block}
.mleg .lg.planned{border-color:var(--green)}
.mleg .lg.done{border-color:var(--green);background:var(--green)}
.mleg .lg.missed{border-color:var(--redx)}
.mleg .lg.rc{border:none;height:3px;width:14px;border-radius:2px}
.mleg .lg.rc.local{background:var(--volt)}
.mleg .lg.rc.practice{background:var(--amber)}
/* ---- week scroller ---- */
.wkscroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
 -webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
.wkscroll::-webkit-scrollbar{display:none}
.wkp{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.wkph{display:flex;align-items:baseline;gap:9px;margin:0 0 9px}
.wkph b{font-size:15px;font-weight:800;font-style:italic;letter-spacing:-.01em}
.wkph span{font-size:8.5px;letter-spacing:.14em;font-weight:800;color:var(--volt)}
.wkhint{text-align:center;font-size:8px;letter-spacing:.22em;font-weight:800;color:var(--mut);margin-top:6px}
.sesgo{flex:none;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);
 background:var(--sur-2);color:var(--tx2);font:800 18px/1 inherit;cursor:pointer}
.sesgo:active{background:var(--sur-3);color:#fff}
.ses.banked{border-color:rgba(54,220,117,.45)}

/* ---- contrast lift: surfaces were sinking into the page ---- */
.card{background:var(--sur-2)!important;border-color:var(--line-hi)!important}
.mrow{background:var(--sur-2);border-color:var(--line-hi)}
.mrow .st8{color:var(--tx2)}
.sec{color:var(--tx2);font-weight:800}
.sec i{color:var(--mut)}
.tiny{color:var(--tx2)}
.kv{border-bottom-color:var(--line-hi)}
.kv span:first-child{color:var(--tx2)}
.chip{background:var(--sur-2);border-color:var(--line-hi);color:var(--tx)}
.bigbtn.ghost{background:var(--sur-2);border-color:var(--line-hi)}
.bigbtn.ghost em{color:var(--tx2)}
.strow{background:var(--sur-2);border-color:var(--line-hi)}
.axrow{background:var(--sur-2);border-color:var(--line-hi)}
.rankbar{background:var(--sur-2);border-color:var(--line-hi)}
.planbar{background:var(--sur-2);border-color:var(--line-hi)}
.ringrow{background:var(--sur-2);border-color:var(--line-hi)}
.opt{background:var(--sur-2);border-color:var(--line-hi)}
.pane{background:var(--sur-2)}
.sheet h4{color:var(--tx2);font-weight:800}

.dvbar{display:flex;height:16px;border-radius:9px;overflow:hidden;background:var(--sur-3);margin:16px 0 10px}
.dvbar i{display:block;height:100%}
.dv-d{background:var(--green)}.dv-h{background:#f2c14e}.dv-n{background:var(--line-hi)}.dv-w{background:var(--volt)}
.dvkey{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.dvkey span{display:flex;align-items:center;gap:6px;font-size:8.5px;letter-spacing:.12em;font-weight:800;color:var(--mut)}
.dvkey i{width:10px;height:10px;border-radius:3px;display:block}
.dvrow{display:flex;gap:8px;margin-bottom:10px}
.dvc{flex:1;background:var(--sur-2);border:1px solid var(--line-hi);border-radius:12px;padding:13px 11px}
.dvc b{display:block;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.dvc span{display:block;font-size:8.5px;letter-spacing:.16em;font-weight:800;color:var(--mut);margin-top:6px}
.dvc em{display:block;font-style:normal;font-size:10.5px;color:var(--mut);margin-top:6px;line-height:1.4}


/* ===== style block 9 ===== */

.lm{margin:0 -4px}
.lm svg{width:100%;height:auto;display:block;overflow:visible}
.lmwrap{background:var(--sur-2);border:1px solid var(--line-hi);border-radius:14px;padding:12px 10px}
.segrow{display:flex;align-items:center;gap:11px;background:var(--sur-2);border:1px solid var(--line-hi);
 border-radius:12px;padding:12px 13px;margin-bottom:7px}
.segrow .sgi{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
 font:900 11px/1 inherit;letter-spacing:-.02em}
.segrow .sgi.st{background:color-mix(in srgb,var(--volt) 16%,transparent);color:var(--volt);border:1px solid var(--volt)}
.segrow .sgi.tn{background:rgba(245,197,24,.14);color:var(--amber);border:1px solid var(--amber)}
.segrow .sgb{flex:1;min-width:0}
.segrow .sgb b{display:block;font-size:14px;font-weight:800;font-style:italic}
.segrow .sgb span{display:block;font-size:10px;letter-spacing:.1em;font-weight:800;color:var(--tx2);margin-top:5px}
.segrow .sgv{flex:none;text-align:right}
.segrow .sgv b{display:block;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.segrow .sgv span{display:block;font-size:8.5px;letter-spacing:.1em;color:var(--mut);font-weight:800;margin-top:3px}
.carrybar{height:5px;border-radius:3px;background:var(--sur-3);overflow:hidden;margin-top:7px}
.carrybar i{display:block;height:100%;border-radius:3px}
.stsel{display:flex;gap:6px;margin:10px 0 4px}
.stsel button{flex:1;border:1px solid var(--line-hi);background:var(--sur-2);color:var(--tx2);
 border-radius:11px;padding:12px 3px;font:800 13px/1 inherit;cursor:pointer}
.stsel button.on{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff)}
.stsel button em{display:block;font-style:normal;font-size:7.5px;letter-spacing:.08em;margin-top:5px;font-weight:800}


/* ===== style block 10 ===== */

.chat{display:flex;flex-direction:column;padding:10px 0 16px;min-height:180px}
.msg{max-width:82%;border-radius:19px;padding:13px 16px;font-size:14px;line-height:1.62;
margin-top:24px;position:relative}
.msg.grp{margin-top:5px}
.msg.me{align-self:flex-end;background:var(--volt);color:var(--volt-tx,#fff);border-bottom-right-radius:6px;font-weight:500}
.msg.me.grp{border-top-right-radius:6px}
.msg.ai{align-self:flex-start;background:var(--sur-2);border:1px solid var(--line-hi);color:var(--tx2);
border-bottom-left-radius:6px;margin-left:38px}
.msg.ai.grp{border-top-left-radius:6px}
.msg.ai b{color:var(--ink);font-weight:700}
.msg.ai .av{position:absolute;left:-38px;bottom:0;width:28px;height:28px;border-radius:50%;
background:var(--volt);display:flex;align-items:center;justify-content:center;
font-size:9px;font-weight:900;color:var(--volt-tx,#fff);letter-spacing:.02em}
.msg.ai.grp .av{display:none}
.qchips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}
.qchip{border:1px solid var(--line-hi);background:var(--sur-2);color:var(--tx2);border-radius:999px;
padding:10px 14px;font:600 12px/1 inherit;cursor:pointer}
.qchip:active{background:var(--sur-3);color:#fff}
.askrow{display:flex;gap:8px;position:sticky;top:6px;z-index:3;margin:6px 0 8px;background:var(--bg);padding:4px 0}
.askrow input{flex:1;height:50px;background:var(--sur-2);border:1px solid var(--line-hi);border-radius:13px;
color:var(--tx);padding:0 15px;font-weight:500;font-size:16px}
.askrow button{flex:none;width:50px;height:50px;border-radius:13px;border:none;background:var(--volt);
color:var(--volt-tx,#fff);font-size:19px;font-weight:800;cursor:pointer}
.aibar{display:flex;align-items:center;gap:11px;border:1px solid var(--line-hi);border-radius:12px;
padding:12px 14px;margin-bottom:12px;background:var(--sur-2);cursor:pointer}
.aibar .al{flex:none;font-size:9px;letter-spacing:.18em;font-weight:800}
.aibar .at2{flex:1;height:5px;background:var(--sur-3);border-radius:3px;overflow:hidden}
.aibar .at2 i{display:block;height:100%;border-radius:3px;background:var(--volt)}
.aibar .av2{flex:none;font-size:9.5px;font-weight:800;color:var(--mut)}
.crow{display:flex;gap:8px;align-items:stretch;margin-bottom:12px}
.crow .aibar{flex:1;margin:0}
.vtog{flex:none;width:50px;border:1px solid var(--line-hi);background:var(--sur-2);border-radius:12px;
color:var(--mut);cursor:pointer;display:flex;align-items:center;justify-content:center}
.vtog.on{color:var(--volt);border-color:var(--volt)}
.vtog svg{width:19px;height:19px}
.mic{flex:none;width:50px;height:50px;border-radius:13px;border:1px solid var(--line-hi);
background:var(--sur-2);color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.mic svg{width:20px;height:20px}
.mic.live{background:var(--volt);color:var(--volt-tx,#fff);border-color:var(--volt);animation:micp 1s ease-in-out infinite}
@keyframes micp{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--volt) 55%,transparent)}50%{box-shadow:0 0 0 11px transparent}}
.hear{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--volt);
text-align:center;padding:5px 0 2px;min-height:14px}
#rfMic.live{background:var(--volt)!important;color:var(--volt-tx,#fff)!important;box-shadow:0 0 0 0 color-mix(in srgb,var(--volt) 50%,transparent);animation:rfMicPulse 1.3s infinite}
@keyframes rfMicPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--volt) 55%,transparent)}70%{box-shadow:0 0 0 14px color-mix(in srgb,var(--volt) 0%,transparent)}100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--volt) 0%,transparent)}}
.hear:not(:empty){color:var(--volt);font-weight:800;letter-spacing:.14em;font-size:10px;padding:6px 2px}
#rfOrbOv{position:fixed;inset:0;z-index:99990;display:none;
flex-direction:column;align-items:center;justify-content:center;
background:rgba(8,9,11,.42);
-webkit-backdrop-filter:blur(20px) saturate(.85);backdrop-filter:blur(20px) saturate(.85);
cursor:pointer;-webkit-tap-highlight-color:transparent;animation:rfOvIn .28s ease}
#rfOrbOv.on{display:flex}
@keyframes rfOvIn{from{opacity:0}to{opacity:1}}
.rfOrbWrap{position:relative;width:236px;height:236px;display:flex;
align-items:center;justify-content:center;pointer-events:none}
#rfOrb{position:relative;width:120px;height:120px;border-radius:50%;z-index:3;
background:radial-gradient(circle at 38% 33%,color-mix(in srgb,var(--volt) 55%,#fff),var(--volt) 47%,color-mix(in srgb,var(--volt) 55%,#000) 100%);
box-shadow:0 0 48px 6px color-mix(in srgb,var(--volt) 55%,transparent),inset 0 0 32px rgba(0,0,0,.38);
transition:transform .12s cubic-bezier(.2,.9,.3,1.4),box-shadow .18s ease}
.rfRing{position:absolute;top:50%;left:50%;width:120px;height:120px;
margin:-60px 0 0 -60px;border-radius:50%;z-index:1;opacity:0;
border:2px solid color-mix(in srgb,var(--volt) 42%,transparent)}
#rfOrbOv.listening #rfOrb{animation:rfBreath 2.6s ease-in-out infinite}
#rfOrbOv.listening .rfRing{border-color:color-mix(in srgb,var(--volt) 50%,transparent);animation:rfPingR 3s ease-out infinite}
#rfOrbOv.listening .rfRing:nth-child(2){animation-delay:1s}
#rfOrbOv.listening .rfRing:nth-child(3){animation-delay:2s}
@keyframes rfBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}
@keyframes rfPingR{0%{transform:scale(.55);opacity:.65}100%{transform:scale(1.85);opacity:0}}
#rfOrbOv.hot #rfOrb{transform:scale(1.17);
box-shadow:0 0 74px 18px color-mix(in srgb,var(--volt) 85%,transparent),inset 0 0 30px rgba(0,0,0,.3)}
#rfOrbOv.speaking #rfOrb{
background:radial-gradient(circle at 42% 37%,#ffffff,color-mix(in srgb,var(--volt) 22%,#fff) 28%,color-mix(in srgb,var(--volt) 70%,#fff) 60%,var(--volt) 100%);
box-shadow:0 0 66px 12px rgba(255,255,255,.5),0 0 96px 26px color-mix(in srgb,var(--volt) 60%,transparent),inset 0 0 26px color-mix(in srgb,var(--volt) 30%,rgba(255,255,255,.45));
animation:rfCore .72s ease-in-out infinite}
#rfOrbOv.speaking .rfRing{border-color:rgba(255,255,255,.55);animation:rfPingW 1.5s ease-out infinite}
#rfOrbOv.speaking .rfRing:nth-child(2){animation-delay:.5s}
#rfOrbOv.speaking .rfRing:nth-child(3){animation-delay:1s}
@keyframes rfCore{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes rfPingW{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.15);opacity:0}}
.rfOrbLbl{margin-top:34px;font-size:12px;letter-spacing:.36em;font-weight:900;
color:var(--ink);text-transform:uppercase}
#rfOrbOv.speaking .rfOrbLbl{text-shadow:0 0 18px rgba(255,255,255,.55)}
.rfOrbSub{margin-top:10px;font-size:11px;letter-spacing:.05em;color:rgba(255,255,255,.6)}
@media (prefers-reduced-motion:reduce){
#rfOrbOv.listening #rfOrb,#rfOrbOv.speaking #rfOrb,
#rfOrbOv.listening .rfRing,#rfOrbOv.speaking .rfRing{animation:none}
#rfOrbOv .rfRing{opacity:.4}}


/* ===== style block 11 ===== */

.tcase{display:grid;grid-template-columns:repeat(4,1fr);background:#000;
 border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trf{position:relative;background:none;border:none;border-right:1px solid var(--line);
 border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;
 justify-content:flex-start;gap:7px;padding:15px 4px 13px;cursor:pointer}
.trf:nth-child(4n){border-right:none}
.trf .tsh{width:26px;height:26px;display:block;color:var(--tc)}
.trf .tsh svg{width:100%;height:100%;display:block}
.trf .tnm{font-size:7px;letter-spacing:.06em;font-weight:800;color:var(--tx2);text-align:center;
 line-height:1.3;text-transform:uppercase}
.trf .tpip{display:flex;gap:2.5px;margin-top:-2px}
.trf .tpip i{width:3px;height:3px;border-radius:50%;background:var(--tc)}
/* locked was almost invisible - a case you cannot read is not a case */
.trf.locked .tsh{color:#5f6a74}
.trf .treq{font-size:6.5px;letter-spacing:.02em;font-weight:700;color:#79838d;
 text-align:center;line-height:1.35;text-transform:uppercase;margin-top:-3px;padding:0 2px}
.trf.got .treq{color:var(--tx2)}
/* earned lights the whole box up, not just the shield */
.trf.got{background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.09),transparent 70%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),inset 0 12px 26px -14px var(--tc)}
.trf.got .tsh{filter:drop-shadow(0 0 7px var(--tc))}
.trf.got .tnm{color:var(--ink)}
.trf.locked .tnm{color:#98a3ad}
.trf.locked .tpip i{background:#5f6a74}
.trf.got:active{background:rgba(255,255,255,.05)}
.tstrip{display:flex;gap:6px;align-items:center;margin:2px 0 12px}
.tstrip .tsbar{flex:1;height:6px;border-radius:3px;background:var(--sur-3);overflow:hidden}
.tstrip .tsbar i{display:block;height:100%;background:linear-gradient(90deg,#b87333,#cfd6dd,#ffc23d,#63e6ff)}
.tstrip .tsn{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--mut);
 font-variant-numeric:tabular-nums}
.tcat{font-size:8.5px;letter-spacing:.2em;font-weight:800;color:var(--mut);
 padding:14px 2px 7px;background:#000;margin:0}
.tcat:first-of-type{border-top:1px solid var(--line)}
.docta{width:100%;min-height:190px;background:var(--sur-1);border:1px solid var(--line);
 border-radius:12px;color:var(--tx);padding:13px 14px;font:400 14px/1.62 inherit;resize:vertical;
 -webkit-user-select:text;user-select:text}
.doccount{font-size:10px;color:var(--mut);text-align:right;margin-top:6px;font-variant-numeric:tabular-nums}
.idgrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.idgrid .f{margin-bottom:0}
.newtro{display:flex;align-items:center;gap:13px;padding:13px;border-radius:14px;
 border:1px solid var(--tc);background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);margin-bottom:8px}
.newtro .tsh{width:30px;height:30px;flex:none;color:var(--tc);display:block}
.newtro .tsh svg{width:100%;height:100%}
.newtro .tpip{display:none}
.newtro>div:first-child,.newtro>span:first-child{flex:none}
.newtro .ntn{font-size:14px;font-weight:800;font-style:italic}
.newtro .nts{font-size:11px;color:var(--mut);margin-top:3px}


/* ===== style block 12 ===== */

/* readable name chip - always legible over any image */
.rfNameChip{display:block;align-self:flex-start;margin:0 0 8px;padding:5px 11px;
  border-radius:8px;background:rgba(8,9,11,.86);color:#fff;
  font-size:10px;letter-spacing:.2em;font-weight:800;
  border-left:3px solid var(--rfac,var(--volt));text-transform:uppercase}
/* hero-slice cards (no overflow/transform/isolation - those clip the run overlay) */
[data-rfslice]{position:relative !important;
  background-image:var(--rfimg) !important;background-size:var(--rfsize) !important;
  background-position:var(--rfpos) !important;background-repeat:no-repeat !important;
  background-color:#0b0c0e !important;background-clip:padding-box !important;
  border-radius:20px !important;transition:opacity .12s ease,border-color .14s ease}
[data-rfslice]:before{content:'' !important;position:absolute !important;inset:0 !important;
  z-index:0 !important;display:block !important;border-radius:inherit !important;
  pointer-events:none !important;
  background:linear-gradient(101deg,rgba(8,9,11,.95) 0%,rgba(8,9,11,.86) 46%,rgba(8,9,11,.58) 100%) !important}
[data-rfslice] > *{position:relative !important;z-index:1 !important}
[data-rfslice]:active{opacity:.9 !important}
[data-rffallback]{background-image:radial-gradient(120% 140% at 8% 0%,color-mix(in srgb,var(--volt) 18%,transparent),transparent 62%),
  linear-gradient(160deg,#16181d,#0a0b0d 74%) !important;
  background-size:auto !important;background-position:center !important}

/* ---------- POLISH (verbatim) ---------- */
#rfDumpBtn{position:fixed;right:14px;bottom:206px;z-index:99996;
  border:1px solid rgba(255,255,255,.25);background:var(--volt);color:var(--volt-tx,#fff);
  border-radius:999px;padding:12px 17px;font-size:9.5px;letter-spacing:.2em;
  font-weight:800;cursor:pointer;font-family:inherit;box-shadow:0 8px 26px rgba(0,0,0,.5)}
#rfDumpBtn:active{background:#d01135}


/* ===== style block 13 ===== */

/* ---------- SETUP CHECKLIST ---------- */
.suWrap{border:1px solid var(--line-hi);border-radius:18px;background:var(--sur-1);
  overflow:hidden;margin:14px 0 16px}
.suHead{padding:17px 18px 15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--volt) 16%,transparent),transparent)}
.suK{font-size:9px;letter-spacing:.26em;font-weight:800;color:var(--volt)}
.suT{font-style:italic;font-weight:800;font-size:24px;line-height:1;letter-spacing:-.025em;
  color:var(--ink);margin:11px 0 0}
.suS{font-size:13px;color:var(--tx2);line-height:1.55;margin:10px 0 0;max-width:34em}
.suMeter{display:flex;align-items:center;gap:11px;margin:15px 0 0}
.suMeter .mt{flex:1;height:7px;border-radius:4px;background:var(--sur-3);overflow:hidden}
.suMeter .mt i{display:block;height:100%;border-radius:4px;
  background:linear-gradient(90deg,#FF8A1F,#39DD74);transition:width .5s ease}
.suMeter .mv{flex:none;font-size:13px;font-weight:800;font-style:italic;color:var(--ink);
  font-variant-numeric:tabular-nums}
.suRow{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;
  border-top:1px solid var(--line);cursor:pointer}
.suRow:active{background:var(--sur-2)}
.suRow .sc{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-hi);
  margin-top:1px;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;color:#04140b}
.suRow.done .sc{background:#39DD74;border-color:#39DD74}
.suRow.urgent .sc{border-color:#FF8A1F}
.suRow .sb{flex:1;min-width:0}
.suRow .sb>b{display:block;font-size:14.5px;font-weight:700;color:var(--ink);line-height:1.35}
.suRow .sb em b{color:var(--ink);font-weight:700}
.suRow.done .sb>b{color:var(--mut);text-decoration:line-through;text-decoration-thickness:1px}
.suRow .sb em{display:block;font-style:normal;font-size:12.5px;color:var(--mut);
  line-height:1.55;margin-top:5px}
.suRow.done .sb em{display:none}
.suRow .sg{flex:none;color:var(--volt);font-size:15px;font-weight:800;margin-top:2px}
.suRow.done .sg{display:none}
.suFoot{padding:14px 18px;border-top:1px solid var(--line);
  font-size:12px;line-height:1.6;color:var(--mut);
  background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 6%,transparent),transparent)}
.suFoot b{color:var(--ink)}
.suDone{padding:20px 18px;text-align:center}
.suDone b{display:block;font-style:italic;font-weight:800;font-size:19px;color:var(--ink);margin-bottom:7px}
.suDone span{font-size:12.5px;color:var(--mut);line-height:1.6}

/* ---------- FRONT COACH ---------- */
.fcWrap{position:relative;border-radius:20px;overflow:hidden;margin:14px 0 16px;
  border:1px solid color-mix(in srgb,var(--volt) 34%,transparent);
  background:
    repeating-linear-gradient(115deg,color-mix(in srgb,var(--volt) 7%,transparent) 0 2px,transparent 2px 17px),
    radial-gradient(120% 95% at 8% 0%,color-mix(in srgb,var(--volt) 20%,transparent),transparent 62%),
    linear-gradient(160deg,#17090d,#0b0c0e 72%)}
.fcTop{display:flex;align-items:center;gap:10px;padding:16px 18px 0}
.fcAv{flex:none;width:30px;height:30px;border-radius:50%;background:var(--volt);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:900;color:var(--volt-tx,#fff);letter-spacing:.02em}
.fcWho{flex:1;font-size:9px;letter-spacing:.28em;font-weight:800;color:var(--volt)}
.fcSpk{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);
  background:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.fcSpk svg{width:16px;height:16px}
.fcSpk.on{border-color:var(--volt);color:var(--volt)}
.fcSay{padding:14px 18px 0;font-size:17px;line-height:1.5;color:var(--ink);font-weight:500}
.fcSay b{font-weight:800}
.fcWhy{padding:11px 18px 0;font-size:13.5px;line-height:1.6;color:var(--tx2)}
/* EQUAL BUTTONS, MEASURED NOT NEGOTIATED.
   These were flex:1 with min-width:118px and flex-wrap. flex:1 shares out
   the FREE space, but min-width sets a floor the browser will not shrink
   past - so once the labels got long (or the rider turned text size up to
   LARGE, which is exactly when the coach saw it) the two buttons stopped
   being equal: START THE SESSION came out wide and short, ASK ME ANYTHING
   narrow and tall, sitting side by side at different sizes.
   Auto-flow columns at 1fr each makes the columns identical BY DEFINITION
   rather than as the outcome of a negotiation, and a min-height stops a
   one-line label sitting shorter than a two-line one. */
.fcBtns{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;
  padding:16px 18px 18px;align-items:stretch}
.fcBtns button{min-width:0;min-height:56px;height:100%;flex-direction:column;
  display:flex;align-items:center;
  justify-content:center;text-align:center;text-wrap:balance;
  border:1px solid rgba(255,255,255,.22);background:none;
  border-radius:12px;padding:12px 10px;color:#fff;font-size:10px;letter-spacing:.2em;
  font-weight:800;line-height:1.35;cursor:pointer}
.fcBtns button em{font-style:normal;display:block;font-size:9px;letter-spacing:.12em;
  opacity:.8;margin-top:4px}
.fcBtns button.go{background:var(--volt);border-color:var(--volt)}
.fcBtns button:active{background:rgba(255,255,255,.09)}
.fcBtns button.go:active{opacity:.85}
.fcThink{border-top:1px solid rgba(255,255,255,.10);padding:13px 18px;
  font-size:12px;line-height:1.6;color:var(--mut)}
.fcThink b{color:var(--ink)}
.fcLive{position:absolute;top:18px;right:60px;font-size:8px;letter-spacing:.18em;
  font-weight:800;color:var(--mut)}

/* ---------- PLAN SKIN ---------- */
/* ---------------------------------------------------------------
   1. THE BRIEF - the coach card at the top of the plan
   --------------------------------------------------------------- */
.brief{
  position:relative;border:none !important;border-radius:20px !important;
  padding:26px 20px 22px !important;margin:14px 0 !important;overflow:hidden;
  background:
    repeating-linear-gradient(115deg,color-mix(in srgb,var(--volt) 8%,transparent) 0 2px,transparent 2px 17px),
    radial-gradient(120% 95% at 6% 0%,color-mix(in srgb,var(--volt) 20%,transparent),transparent 60%),
    linear-gradient(160deg,#17090d,#0b0c0e 72%) !important;
}
.brief:after{content:'';position:absolute;left:0;bottom:0;height:4px;width:38%;background:var(--volt)}
.brief .bk{position:relative;font-size:9.5px !important;letter-spacing:.32em !important;
  font-weight:800 !important;color:var(--volt) !important;margin:0 0 16px !important}
.brief h4{position:relative;font-style:italic;font-weight:800;
  font-size:31px !important;line-height:.98 !important;letter-spacing:-.03em !important;
  margin:0 0 14px !important;color:var(--ink) !important;text-transform:none}
.brief p{position:relative;font-size:15px !important;line-height:1.6 !important;
  color:var(--tx2) !important;margin:0 0 10px !important;max-width:34em}
.brief p b{color:var(--ink)}
.brief .bwhy{font-size:13.5px !important;color:var(--mut) !important;
  border-left:2px solid color-mix(in srgb,var(--volt) 50%,transparent);padding-left:12px;margin-top:14px !important}
.brief .btour{position:relative;margin-top:20px !important;background:none !important;
  border:1px solid rgba(255,255,255,.22) !important;border-radius:12px !important;
  padding:15px 20px !important;font-size:10.5px !important;letter-spacing:.24em !important;
  font-weight:800 !important;color:#fff !important;width:auto !important}
.brief .btour:active{background:rgba(255,255,255,.08) !important}

/* ---------------------------------------------------------------
   2. THE SESSION BAND
   --------------------------------------------------------------- */
.sessband{
  border:1px solid var(--line-hi) !important;border-left-width:1px !important;
  border-radius:18px !important;background:var(--sur-1) !important;
  padding:0 !important;margin-bottom:14px !important;overflow:hidden}
.sessband .sk{display:block;padding:15px 18px 0 !important;
  font-size:9px !important;letter-spacing:.24em !important;font-weight:800 !important;
  color:var(--volt) !important}
.sessband .sv{padding:9px 18px 0 !important;font-style:italic !important;font-weight:800 !important;
  font-size:27px !important;line-height:1 !important;letter-spacing:-.025em !important;
  color:var(--ink) !important;margin:0 !important;text-transform:uppercase}
.sessband .st{padding:12px 18px !important;font-size:14px !important;line-height:1.6 !important;
  color:var(--tx2) !important;margin:0 !important;border-top:1px solid var(--line);margin-top:14px !important}
.sessband .st+.st{border-top:none;margin-top:0 !important;padding-top:0 !important}
.sessband .st b{color:var(--ink) !important;font-weight:700}
.sessband .st:last-child{
  border-top:1px solid color-mix(in srgb,var(--volt) 32%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 10%,transparent),color-mix(in srgb,var(--volt) 2%,transparent));
  font-style:italic;font-weight:800;color:#fff !important;font-size:14.5px !important;
  padding:15px 18px !important;margin-top:0 !important}

/* ===============================================================
   3. THE CIRCLE SYSTEM
   Every day marker in the app is one circle. No lines, no bars.
   =============================================================== */
.cal7{gap:8px !important;margin:12px 0 6px !important}
.cal7 .dh{font-size:8px !important;letter-spacing:.16em !important;color:var(--mut) !important;
  padding:4px 0 8px !important;font-weight:800 !important}

/* base circle - a planned day is a RING */
.cald,.rf-day,.rfday{
  aspect-ratio:1 !important;min-height:0 !important;height:auto !important;
  border-radius:50% !important;
  background:transparent !important;
  border:2px solid var(--line-hi) !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  font-size:13.5px !important;font-weight:800 !important;color:var(--tx2) !important;
  padding:0 !important;box-shadow:none !important;position:relative;
  transition:transform .12s ease,box-shadow .18s ease}
.cald:active,.rf-day:active,.rfday:active{transform:scale(.92)}
.cald.blank,.rf-day.blank,.rfday.blank{border:none !important;background:none !important}

/* ---- OFF DAY: quiet ring, nothing asked of you ---- */
.cald.off,.rf-day.off,.rfday.off{
  border-color:rgba(255,255,255,.10) !important;color:var(--mut) !important}

/* ---- SPRINT: green ---- */
.cald.sprint,.rf-day.sprint,.rfday.sprint,.cald.run,.rf-day.run{
  border-color:#39DD74 !important;color:#39DD74 !important}
.cald.sprint.done,.rf-day.sprint.done,.rfday.sprint.done,.cald.run.done,.rf-day.run.done{
  background:#39DD74 !important;color:#04140b !important;
  box-shadow:0 6px 18px rgba(57,221,116,.32) !important}

/* ---- PRACTICE: yellow ---- */
.cald.practice,.rf-day.practice,.rfday.practice{
  border-color:#FBBF24 !important;color:#FBBF24 !important}
.cald.practice.done,.rf-day.practice.done,.rfday.practice.done{
  background:#FBBF24 !important;color:#171003 !important;
  box-shadow:0 6px 18px rgba(251,191,36,.30) !important}

/* ---- RACE: red. also matches your existing .on class ---- */
.cald.race,.rf-day.race,.rfday.race,.cald.on{
  border-color:#FF355F !important;color:#FF355F !important;background:transparent !important}
.cald.race.done,.rf-day.race.done,.rfday.race.done,.cald.on.done{
  background:linear-gradient(180deg,#ff355f,#b70725) !important;
  border-color:#ff355f !important;color:#fff !important;
  box-shadow:0 8px 22px rgba(255,45,85,.40) !important}

/* ---- MISSED: orange, and FILLED from the moment it appears ---- */
.cald.missed,.rf-day.missed,.rfday.missed{
  background:#FF8A1F !important;border-color:#FF8A1F !important;color:#1a0d02 !important;
  box-shadow:0 6px 18px rgba(255,138,31,.30) !important}

/* ---- TODAY: a white halo that sits on top of any colour ---- */
.cald.is-today,.rf-day.is-today,.rfday.is-today{
  box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 16px rgba(255,255,255,.22) !important}
.cald.is-today.sprint.done{box-shadow:0 0 0 2px #fff,0 6px 18px rgba(57,221,116,.32) !important}
.cald.is-today.practice.done{box-shadow:0 0 0 2px #fff,0 6px 18px rgba(251,191,36,.30) !important}
.cald.is-today.missed{box-shadow:0 0 0 2px #fff,0 6px 18px rgba(255,138,31,.30) !important}

/* weekend gets a dot, not a colour - colour now means something */
.cald.we:not(.race):not(.sprint):not(.practice):not(.missed){
  background:transparent !important;border-color:rgba(255,255,255,.14) !important}
.cald.we:after{content:'';position:absolute;bottom:5px;left:50%;transform:translateX(-50%);
  width:3px;height:3px;border-radius:50%;background:var(--mut)}
.cald.is-selected,.rf-day.is-selected{
  background:linear-gradient(180deg,#ff355f,#b70725) !important;
  border-color:rgba(255,45,85,.75) !important;color:#fff !important}

/* ---- the seven-day strip: same language, wider ---- */
.rfWeek7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:12px 0 4px}
.rfWeek7 .w7{text-align:center}
.rfWeek7 .w7 span{display:block;font-size:8px;letter-spacing:.14em;font-weight:800;
  color:var(--mut);margin-bottom:7px}
.rfWeek7 .w7 em{display:block;font-style:normal;font-size:8.5px;letter-spacing:.1em;
  font-weight:800;color:var(--mut);margin-top:7px;white-space:nowrap}

/* ---- the legend ---- */
.rfLegend{display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:center;
  margin:14px 0 4px;padding-top:13px;border-top:1px solid var(--line)}
.rfLegend span{display:flex;align-items:center;gap:7px;font-size:8.5px;letter-spacing:.13em;
  font-weight:800;color:var(--mut)}
.rfLegend i{width:12px;height:12px;border-radius:50%;display:block;
  border:2px solid rgba(255,255,255,.14);background:transparent;flex:none}
.rfLegend i.sp{border-color:#39DD74}
.rfLegend i.spf{border-color:#39DD74;background:#39DD74}
.rfLegend i.pr{border-color:#FBBF24}
.rfLegend i.prf{border-color:#FBBF24;background:#FBBF24}
.rfLegend i.rc{border-color:#FF355F}
.rfLegend i.ms{border-color:#FF8A1F;background:#FF8A1F}
.rfLegend i.td{box-shadow:0 0 0 2px rgba(255,255,255,.92)}
.rfKey{text-align:center;font-size:10px;letter-spacing:.14em;font-weight:800;
  color:var(--mut);margin-top:10px}
.rfKey b{color:var(--ink)}

/* ---------------------------------------------------------------
   4. PROFILE AXES
   --------------------------------------------------------------- */
.axbar{gap:12px !important;margin:0 !important;padding:13px 2px !important;
  border-bottom:1px solid var(--line)}
.axbar:last-of-type{border-bottom:none}
.axbar .an{width:106px !important;font-size:9px !important;letter-spacing:.16em !important;
  font-weight:800 !important;color:var(--tx2) !important}
.axbar .at{height:9px !important;border-radius:5px !important;background:var(--sur-3) !important}
.axbar .at i{border-radius:5px !important;box-shadow:0 0 12px currentColor}
.axbar .av{width:34px !important;font-size:14px !important;font-weight:800 !important;
  font-style:italic;color:var(--ink) !important}

/* ---------------------------------------------------------------
   5. COACH ROW + SHEET TYPOGRAPHY
   --------------------------------------------------------------- */
.coachrow{
  border:1px solid color-mix(in srgb,var(--volt) 42%,transparent) !important;border-radius:18px !important;
  padding:20px 18px !important;margin:18px 0 16px !important;
  background:
    repeating-linear-gradient(115deg,color-mix(in srgb,var(--volt) 6%,transparent) 0 2px,transparent 2px 16px),
    linear-gradient(135deg,color-mix(in srgb,var(--volt) 20%,transparent),var(--sur-1)) !important}
.coachrow .cn{font-style:italic !important;font-weight:800 !important;
  font-size:21px !important;letter-spacing:-.02em !important;line-height:1.05 !important}
.coachrow .cn em{font-size:12.5px !important;color:var(--tx2) !important;
  margin-top:7px !important;line-height:1.55 !important}
.coachrow .cgo{font-size:9px !important;letter-spacing:.24em !important}
.sheet h4,.pane h4{font-size:9.5px !important;letter-spacing:.26em !important;
  font-weight:800 !important;color:var(--mut) !important;margin:26px 0 10px !important}
.sheet h4 i,.pane h4 i{font-style:normal;letter-spacing:.05em;font-size:11px;
  font-weight:600;color:var(--mut);text-transform:none}
.sheet h3,.pane h3{font-style:italic !important;font-weight:800 !important;
  font-size:29px !important;line-height:1 !important;letter-spacing:-.03em !important;
  margin:2px 0 8px !important;text-transform:uppercase}
.sheet .meta,.pane .meta{font-size:9px !important;letter-spacing:.24em !important;
  font-weight:800 !important;color:var(--volt) !important}
.kv{padding:14px 0 !important;border-bottom:1px solid var(--line) !important;font-size:14px !important}
.kv:last-of-type{border-bottom:none !important}
.kv span:first-child{color:var(--mut) !important}
.kv span:last-child{color:var(--ink) !important;font-weight:700 !important}

@media(max-width:400px){
  .brief h4{font-size:26px !important}
  .sessband .sv{font-size:23px !important}
  .axbar .an{width:88px !important;font-size:8px !important}
  .rfLegend{gap:9px 12px}
}


/* ===== style block 14 ===== */

/* --- everything circled: kill the under-number bar --- */
.mbar{display:none !important}
.mday{gap:0 !important}

/* --- MISSED = orange, so race-day RED is unmistakable --- */
.mdot.missed{border-color:var(--amber,#FBBF24) !important;color:var(--amber,#FBBF24) !important}
.mleg .lg.missed{border-color:var(--amber,#FBBF24) !important}

/* --- race days: a RED ring around the circle (no line) --- */
.mday.race-local .mdot{box-shadow:0 0 0 2.5px var(--volt) !important}
.mday.race-national .mdot{box-shadow:0 0 0 2.5px var(--volt),0 0 11px 1px var(--volt) !important}
.mday.race-practice .mdot{box-shadow:0 0 0 2.5px var(--amber,#FBBF24) !important}

/* --- legend: race shown as a ring, not a bar --- */
.mleg .lg.rc{border-radius:50% !important;height:11px !important;width:11px !important;
  border:2px solid var(--volt) !important;background:none !important;box-shadow:none !important}
.mleg .lg.rc.practice{border-color:var(--amber,#FBBF24) !important}

/* --- a day you can open --- */
.mday.hasrun{cursor:pointer}
.mday.hasrun .mdot{cursor:pointer}
.mday.hasrun:active .mdot{transform:scale(.92)}


/* ===== style block 15 ===== */

#rfTier{position:fixed;left:10px;top:10px;z-index:99994;
  background:color-mix(in srgb,var(--volt) 14%,transparent);border:1px solid color-mix(in srgb,var(--volt) 50%,transparent);color:color-mix(in srgb,var(--volt) 75%,#fff);
  border-radius:999px;padding:4px 10px;font:800 8.5px/1 inherit;letter-spacing:.18em;
  pointer-events:none;text-transform:uppercase}
.rfPlan{border:1px solid var(--line-hi,rgba(255,255,255,.2));border-radius:16px;
  padding:16px 17px;margin-top:12px;background:var(--sur-1,rgba(255,255,255,.03))}
.rfPlan.pro{border-color:color-mix(in srgb,var(--volt) 50%,transparent)}
.rfPlan .ph{display:flex;align-items:baseline;justify-content:space-between}
.rfPlan .ph b{font-size:15px;font-weight:900;letter-spacing:.06em;color:var(--ink)}
.rfPlan .ph .pr{font-size:20px;font-weight:900;color:var(--volt)}
.rfPlan ul{list-style:none;margin:11px 0 0;padding:0}
.rfPlan li{font-size:12.5px;color:var(--tx2,#c3c9d4);line-height:1.55;padding-left:18px;position:relative;margin:5px 0}
.rfPlan li:before{content:"\2713";position:absolute;left:0;color:var(--volt);font-weight:900}
.rfPlan .buy{display:block;width:100%;margin-top:13px;border:none;border-radius:12px;
  padding:14px;font:800 11px/1 inherit;letter-spacing:.16em;cursor:pointer;
  background:var(--volt);color:var(--volt-tx,#fff)}
.rfPlan .buy.alt{background:none;border:1px solid var(--line-hi,rgba(255,255,255,.2));color:var(--tx2,#c3c9d4)}
.rfPlan .have{font-size:9px;letter-spacing:.2em;font-weight:800;color:var(--mut,#8b93a1);
  text-align:center;margin-top:11px;text-transform:uppercase}


/* ===== style block 16 ===== */

#mfbkBtn{position:fixed;right:14px;bottom:86px;z-index:99990;border:1px solid rgba(255,255,255,.22);
  background:rgba(16,18,22,.92);color:#fff;border-radius:999px;padding:11px 16px;font-size:9.5px;
  letter-spacing:.22em;font-weight:800;cursor:pointer;backdrop-filter:blur(8px);
  font-family:inherit;box-shadow:0 8px 26px rgba(0,0,0,.5)}
#mfbkBtn:active{background:rgba(40,44,52,.95)}
#mfbkWrap{position:fixed;inset:0;z-index:99991;display:none;background:rgba(0,0,0,.72);
  overflow-y:auto;-webkit-overflow-scrolling:touch}
#mfbkWrap.on{display:block}
.mfbkCard{max-width:520px;margin:0 auto;min-height:100%;background:#0e1013;color:#fff;
  padding:26px 20px 60px;font-family:inherit;box-sizing:border-box}
.mfbkCard h3{font-size:26px;font-weight:800;font-style:italic;letter-spacing:-.02em;margin:0}
.mfbkCard .mfmeta{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:#8b93a1;margin-top:8px}
.mfbkCard p{font-size:13px;line-height:1.62;color:#c3c9d4;margin:14px 0 0}
.mfbkSec{font-size:9px;letter-spacing:.26em;font-weight:800;color:#8b93a1;margin:28px 0 10px}
.mfbkBox{border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.03);
  padding:15px 16px}
.mfbkRow{display:flex;justify-content:space-between;align-items:baseline;
  padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:12.5px}
.mfbkRow:last-child{border-bottom:none}
.mfbkRow span{color:#8b93a1}
.mfbkRow b{font-weight:800;font-size:14px}
.mfbkGo{display:block;width:100%;border:none;border-radius:15px;padding:19px;margin-top:12px;
  background:var(--volt);color:var(--volt-tx,#fff);font-size:11px;letter-spacing:.26em;font-weight:800;cursor:pointer;
  font-family:inherit;box-shadow:0 10px 26px color-mix(in srgb,var(--volt) 34%,transparent)}
.mfbkGo:active{background:#d01135}
.mfbkAlt{display:block;width:100%;border:1px solid rgba(255,255,255,.22);border-radius:15px;
  padding:17px;margin-top:9px;background:none;color:#e6eaf0;font-size:10px;letter-spacing:.22em;
  font-weight:800;cursor:pointer;font-family:inherit}
.mfbkAlt:active{background:rgba(255,255,255,.07)}
.mfbkWarn{border-left:2px solid #FBBF24;padding:2px 0 2px 13px;margin-top:16px;
  font-size:12px;line-height:1.6;color:#c3c9d4}
.mfbkWarn b{color:var(--ink)}
.mfbkNote{font-size:11.5px;line-height:1.6;color:#8b93a1;margin-top:11px}
.mfbkShut{position:absolute;top:16px;right:18px;background:none;border:none;color:#8b93a1;
  font-size:26px;line-height:1;cursor:pointer;font-family:inherit;padding:4px 8px}
#mfbkFile{display:none}
.mfbkOk{color:#39DD74}.mfbkBad{color:#FF8A1F}


/* ===== style block 17 ===== */

#rfAgeOv{position:fixed;inset:0;z-index:2147483200;display:none;overflow-y:auto;
 background:#0b0c0e;-webkit-overflow-scrolling:touch}
#rfAgeOv.on{display:block}
.rfAgeCard{max-width:520px;margin:0 auto;min-height:100%;padding:44px 22px 60px;
 box-sizing:border-box;color:#c3c9d4;font-family:inherit;line-height:1.6}
.rfAgeK{font-size:8.5px;letter-spacing:.26em;font-weight:800;color:var(--volt)}
.rfAgeCard h2{color:var(--ink);font-size:25px;font-weight:800;font-style:italic;
 letter-spacing:-.02em;margin:10px 0 0}
.rfAgeCard p{font-size:13.5px;margin:13px 0 0}
.rfAgeCard p.tiny{font-size:12px;color:#8b93a1}
.rfAgeRow{display:flex;gap:9px;margin-top:18px}
.rfAgeBands{margin-top:18px}
.rfAgeBands .rfAgeMid{background:#171a1f;color:#fff;border:1px solid rgba(255,255,255,.18)}
.rfAgeRow select{flex:1;height:52px;background:#171a1f;color:#fff;font-size:16px;
 border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:0 12px;font-family:inherit}
.rfAgeGo{display:block;width:100%;margin-top:14px;border:none;border-radius:14px;padding:17px;
 background:var(--volt);color:var(--volt-tx,#fff);font-size:11px;letter-spacing:.24em;font-weight:800;
 cursor:pointer;font-family:inherit}
.rfAgeGo:disabled{background:#2a2e35;color:#6b7280;cursor:default}
.rfAgeAlt{display:block;width:100%;margin-top:9px;border:1px solid rgba(255,255,255,.2);
 border-radius:14px;padding:15px;background:none;color:#c3c9d4;font-size:10px;
 letter-spacing:.2em;font-weight:800;cursor:pointer;font-family:inherit}
.rfAgeChk{display:flex;gap:11px;align-items:flex-start;margin-top:16px;
 border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px;background:rgba(255,255,255,.03)}
.rfAgeChk input{appearance:none;-webkit-appearance:none;flex:none;width:23px;height:23px;margin:0;
 border:2px solid rgba(255,255,255,.28);border-radius:6px;background:transparent;cursor:pointer;position:relative}
.rfAgeChk input:checked{background:var(--volt);border-color:var(--volt)}
.rfAgeChk input:checked::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:11px;
 border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.rfAgeChk label{font-size:12.5px;cursor:pointer}
.rfAgeChk label b{color:var(--ink);display:block;margin-bottom:3px;font-size:13px}
.rfAgeLinks{margin-top:20px;font-size:12px;color:#8b93a1}
.rfAgeLinks a{color:var(--volt);text-decoration:none;font-weight:700}
.rfAgeWarn{border-left:2px solid #FBBF24;padding:3px 0 3px 12px;margin-top:16px;
 font-size:12.5px;color:#e6d9b8}


/* ===== style block 18 ===== */

/* floating chrome off */
#mfbkBtn{display:none !important}
#rfTier{display:none !important}
#rfDumpBtn{display:none !important}
#rfTestFlag{display:none !important}

/* the backup row inside GARAGE */
.rfBkRow{display:flex;align-items:center;gap:12px;border:1px solid var(--line,rgba(255,255,255,.12));
  border-radius:14px;background:var(--sur-1,rgba(255,255,255,.03));padding:15px 16px;
  margin-top:10px;cursor:pointer}
.rfBkRow .bi{flex:none;width:34px;height:34px;border-radius:10px;
  background:color-mix(in srgb,var(--volt) 14%,transparent);border:1px solid color-mix(in srgb,var(--volt) 40%,transparent);
  display:flex;align-items:center;justify-content:center}
.rfBkRow .bi svg{width:17px;height:17px;stroke:var(--volt)}
.rfBkRow .bt{flex:1}
.rfBkRow .bt b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
.rfBkRow .bt span{display:block;font-size:11.5px;color:var(--mut,#8b93a1);margin-top:3px;line-height:1.5}
.rfBkRow .bg{flex:none;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--volt)}

/* ---- TROPHY ROW FIX ----------------------------------------
   The polish pass clones trophy tiles into a 6-across row, but the
   tiles carry border-right / border-bottom meant for the app's own
   4-across case. On a phone that reads as a broken staircase.
   Force a clean 3-across grid (2 tidy rows of 3) and strip the
   inherited borders. ----------------------------------------- */
.rf23row{display:grid !important;grid-template-columns:repeat(3,1fr) !important;
  gap:8px !important;align-items:start;margin:6px 0 12px !important}
.rf23row .trf{border:none !important;background:none !important;
  padding:12px 4px 10px !important;width:auto !important;min-width:0 !important;
  display:flex !important;flex-direction:column;align-items:center;gap:6px;
  border-radius:12px !important}
.rf23row .trf:nth-child(n){border-right:none !important;border-bottom:none !important}
.rf23row .trf .tsh,.rf23row .trf svg{width:24px !important;height:24px !important}
.rf23row .trf .tnm{font-size:8px !important;letter-spacing:.04em !important;
  line-height:1.25 !important;text-align:center;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
@media (min-width:520px){
  .rf23row{grid-template-columns:repeat(6,1fr) !important}
}


/* ===== style block 19 ===== */

/* floating chrome off */
#mfbkBtn{display:none !important}
#rfTier{display:none !important}
#rfDumpBtn{display:none !important}
#rfTestFlag{display:none !important}

/* the backup row inside GARAGE */
.rfBkRow{display:flex;align-items:center;gap:12px;border:1px solid var(--line,rgba(255,255,255,.12));
  border-radius:14px;background:var(--sur-1,rgba(255,255,255,.03));padding:15px 16px;
  margin-top:10px;cursor:pointer}
.rfBkRow .bi{flex:none;width:34px;height:34px;border-radius:10px;
  background:color-mix(in srgb,var(--volt) 14%,transparent);border:1px solid color-mix(in srgb,var(--volt) 40%,transparent);
  display:flex;align-items:center;justify-content:center}
.rfBkRow .bi svg{width:17px;height:17px;stroke:var(--volt)}
.rfBkRow .bt{flex:1}
.rfBkRow .bt b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
.rfBkRow .bt span{display:block;font-size:11.5px;color:var(--mut,#8b93a1);margin-top:3px;line-height:1.5}
.rfBkRow .bg{flex:none;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--volt)}


/* ===== style block 20 ===== */

.rfAcc{display:flex;align-items:center;gap:12px;border:1px solid var(--line,rgba(255,255,255,.12));
  border-radius:14px;background:var(--sur-1,rgba(255,255,255,.03));padding:15px 16px;
  margin-top:10px;cursor:pointer}
.rfAcc .ai{flex:none;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--volt) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--volt) 40%,transparent);display:flex;align-items:center;justify-content:center;
  color:var(--volt);font:900 12px/1 inherit}
.rfAcc .at{flex:1}
.rfAcc .at b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
.rfAcc .at span{display:block;font-size:11.5px;color:var(--mut,#8b93a1);margin-top:3px;line-height:1.5}
.rfAcc .ag{flex:none;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--volt)}
.rfSync{position:fixed;left:50%;transform:translateX(-50%);
  bottom:calc(74px + env(safe-area-inset-bottom));z-index:99992;
  background:rgba(14,16,19,.96);border:1px solid rgba(255,255,255,.16);border-radius:999px;
  padding:8px 15px;font:800 9.5px/1 inherit;letter-spacing:.18em;color:#8b93a1;
  display:none;font-family:inherit}
.rfSync.on{display:block}
.rfSync.ok{color:#39DD74;border-color:rgba(57,221,116,.4)}
.rfSync.err{color:#FF8A1F;border-color:rgba(255,138,31,.4)}


/* ===== style block 21 ===== */

.rfRvBtn{display:flex;align-items:center;gap:12px;border:1px solid rgba(245,197,24,.42);
  border-radius:14px;background:rgba(245,197,24,.08);padding:14px 15px;margin:10px 0 4px;cursor:pointer}
.rfRvBtn .ri{flex:none;width:32px;height:32px;border-radius:9px;background:var(--amber,#F5C518);
  display:flex;align-items:center;justify-content:center;color:#111;font:900 14px/1 inherit}
.rfRvBtn .rt{flex:1}
.rfRvBtn .rt b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
.rfRvBtn .rt span{display:block;font-size:11.5px;color:var(--mut,#8b93a1);margin-top:2px}
.rfRvBtn .rg{flex:none;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--amber,#F5C518)}

.rfRvWrap{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;justify-content:center;
  background:rgba(4,4,6,.72);backdrop-filter:blur(6px);padding:0}
.rfRvWrap.hide{display:none}
.rfRvCard{width:100%;max-width:520px;background:var(--sur,#111114);border:1px solid var(--line,rgba(255,255,255,.12));
  border-bottom:0;border-radius:20px 20px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -20px 60px rgba(0,0,0,.6);max-height:92vh;overflow:auto}
.rfRvCard .kk{font:800 9px/1 inherit;letter-spacing:.26em;color:var(--amber,#F5C518)}
.rfRvCard h4{margin:8px 0 4px;font-size:19px;font-weight:800;color:var(--ink);line-height:1.2}
.rfRvCard .sb{margin:0 0 14px;font-size:12.5px;line-height:1.5;color:var(--mut,#8b93a1)}
.rfRvStars{display:flex;gap:8px;margin:2px 0 4px}
.rfRvStars button{flex:1;aspect-ratio:1/1;max-height:56px;border-radius:12px;cursor:pointer;font-family:inherit;
  border:1px solid var(--line,rgba(255,255,255,.14));background:rgba(255,255,255,.03);
  color:var(--mut,#8b93a1);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}
.rfRvStars button.on{border-color:var(--amber,#F5C518);background:rgba(245,197,24,.14);color:var(--amber,#F5C518)}
.rfRvLbl{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:800;
  color:var(--mut,#8b93a1);margin:6px 2px 14px}
.rfRvQ{font-size:13px;font-weight:800;color:var(--ink);margin:0 0 7px}
.rfRvQ i{font-style:normal;color:var(--amber,#F5C518)}
.rfRvCard textarea{width:100%;min-height:88px;resize:vertical;border-radius:12px;padding:12px;
  border:1px solid var(--line,rgba(255,255,255,.14));background:rgba(255,255,255,.04);color:#fff;
  font:500 14px/1.5 inherit;-webkit-appearance:none}
.rfRvCard textarea:focus{outline:none;border-color:var(--volt)}
.rfRvRow{display:flex;gap:9px;margin-top:14px}
.rfRvRow button{flex:1;border-radius:12px;padding:15px 12px;cursor:pointer;font-family:inherit;
  font:800 11px/1 inherit;letter-spacing:.16em}
.rfRvSend{border:1px solid var(--volt);background:var(--volt);color:var(--volt-tx,#fff)}
.rfRvSend[disabled]{opacity:.4;cursor:default}
.rfRvLater{border:1px solid var(--line,rgba(255,255,255,.16));background:none;color:var(--mut,#8b93a1);flex:0 0 34%}
.rfRvBroke{margin-top:12px;width:100%;border-radius:12px;padding:13px;cursor:pointer;font-family:inherit;
  border:1px solid color-mix(in srgb,var(--volt) 40%,transparent);background:color-mix(in srgb,var(--volt) 8%,transparent);color:var(--volt);
  font:800 10.5px/1 inherit;letter-spacing:.16em}
.rfRvNote{font-size:11px;color:var(--mut,#8b93a1);line-height:1.6;margin:12px 0 0}
.rfRvOk{text-align:center;padding:14px 6px 8px}
.rfRvOk b{display:block;font-size:20px;font-weight:800;color:var(--ink);margin-bottom:6px}
.rfRvOk p{margin:0 0 4px;font-size:13px;line-height:1.6;color:var(--tx2,#c3c9d4)}
.rfRvSpot{display:inline-block;margin-top:10px;font:800 10px/1 inherit;letter-spacing:.2em;
  color:var(--amber,#F5C518);border:1px solid rgba(245,197,24,.45);padding:8px 11px;border-radius:8px}
@media(min-width:700px){.rfRvWrap{align-items:center}
  .rfRvCard{border-radius:20px;border-bottom:1px solid var(--line,rgba(255,255,255,.12));padding-bottom:20px}}


/* ===== style block 22 ===== */

.rfCd{display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--volt) 40%,transparent);
  border-radius:14px;background:color-mix(in srgb,var(--volt) 8%,transparent);padding:15px 16px;margin-top:10px;cursor:pointer}
.rfCd .ci{flex:none;width:34px;height:34px;border-radius:10px;background:var(--volt);
  display:flex;align-items:center;justify-content:center;color:var(--volt-tx,#fff);font:900 11px/1 inherit}
.rfCd .ct{flex:1}
.rfCd .ct b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
.rfCd .ct span{display:block;font-size:11.5px;color:var(--mut,#8b93a1);margin-top:3px}
.rfCd .cg{flex:none;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--volt)}
.rfRider{border:1px solid var(--line,rgba(255,255,255,.12));border-radius:14px;
  background:var(--sur-1,rgba(255,255,255,.03));padding:13px 14px;margin-top:9px;cursor:pointer}
.rfRider .rh{display:flex;align-items:baseline;gap:8px}
.rfRider .rh b{flex:1;font-size:14.5px;font-weight:800;color:var(--ink)}
.rfRider .rh em{font-style:normal;font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--mut,#8b93a1)}
.rfStats{display:flex;gap:14px;margin-top:9px}
.rfStats div{flex:1}
.rfStats b{display:block;font-size:17px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.rfStats span{display:block;font-size:8.5px;letter-spacing:.14em;font-weight:800;color:var(--mut,#8b93a1);margin-top:2px}
.rfCode{font:900 20px/1 ui-monospace,Menlo,monospace;letter-spacing:.18em;color:var(--volt);
  text-align:center;padding:14px;border:1px dashed color-mix(in srgb,var(--volt) 50%,transparent);border-radius:12px;margin-top:10px}
.rfEmpty{font-size:12.5px;color:var(--mut,#8b93a1);line-height:1.6;margin-top:12px}


/* ===== style block 23 ===== */

.rfLbBtn{display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--volt) 40%,transparent);
  border-radius:14px;background:color-mix(in srgb,var(--volt) 8%,transparent);padding:14px 15px;margin:10px 0 4px;cursor:pointer}
.rfLbBtn .li{flex:none;width:32px;height:32px;border-radius:9px;background:var(--volt);
  display:flex;align-items:center;justify-content:center;color:var(--volt-tx,#fff);font:900 13px/1 inherit}
.rfLbBtn .lt{flex:1}
.rfLbBtn .lt b{display:block;font-size:13.5px;font-weight:800;color:var(--ink)}
.rfLbBtn .lt span{display:block;font-size:11.5px;color:var(--mut,#8b93a1);margin-top:2px}
.rfLbBtn .lg{flex:none;font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--volt)}
.rfLbTabs{display:flex;gap:7px;margin:14px 0 4px}
.rfLbTabs button{flex:1;border:1px solid var(--line-hi,rgba(255,255,255,.2));background:none;
  border-radius:10px;padding:11px;color:var(--tx2,#c3c9d4);font:800 10px/1 inherit;
  letter-spacing:.16em;cursor:pointer;font-family:inherit}
.rfLbTabs button.on{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff)}
.rfLbRow{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;
  border:1px solid var(--line,rgba(255,255,255,.1));margin-top:7px;
  background:var(--sur-1,rgba(255,255,255,.03))}
.rfLbRow.me{border-color:var(--volt);background:color-mix(in srgb,var(--volt) 10%,transparent)}
.rfLbRow .pos{flex:none;width:30px;font:900 15px/1 inherit;color:var(--mut,#8b93a1);
  font-variant-numeric:tabular-nums;text-align:center}
.rfLbRow.top .pos{color:#F5C518}
.rfLbRow .nm{flex:1;min-width:0}
.rfLbRow .nm b{display:block;font-size:14px;font-weight:800;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rfLbRow .nm span{display:block;font-size:10.5px;color:var(--mut,#8b93a1);margin-top:2px}
.rfLbRow .sp{flex:none;text-align:right}
.rfLbRow .sp b{display:block;font-size:17px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.rfLbRow .sp span{display:block;font-size:8px;letter-spacing:.14em;font-weight:800;color:var(--mut,#8b93a1)}
.rfLbNote{font-size:11.5px;color:var(--mut,#8b93a1);line-height:1.6;margin-top:14px}


/* ===== style block 24 ===== */

/* ===== rfb-26-CADENCE-HR ===== */
.rfcd-add{color:var(--volt);font-weight:800;cursor:pointer}
.rfcd-form{display:flex;gap:7px;align-items:center;margin:8px 0 4px}
.rfcd-form input{flex:1;min-width:0;background:var(--sur-2,#141419);
  border:1px solid var(--line-hi,#2F2F37);border-radius:10px;color:#fff;
  padding:11px 10px;font-size:16px;font-weight:800;font-family:inherit;
  text-align:center;-moz-appearance:textfield}
.rfcd-form input::-webkit-outer-spin-button,
.rfcd-form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rfcd-form button{flex:none;background:var(--volt);color:var(--volt-tx,#fff);border:0;
  border-radius:10px;padding:12px 15px;font-size:9px;letter-spacing:.16em;
  font-weight:800;font-family:inherit;cursor:pointer}
.rfcd-lbl{font-size:8px;letter-spacing:.18em;font-weight:800;
  color:var(--mut,#8A8A94);margin:10px 0 0}
.rfcd-kv .rfcd-hint{color:var(--mut,#8A8A94);font-weight:600}
.rfcd-pro{background:color-mix(in srgb,var(--volt) 16%,transparent);color:var(--volt);border-radius:999px;
  padding:3px 9px;font-size:8px;letter-spacing:.16em;font-weight:800;cursor:pointer}
.rfcd-card h3{margin:0}
.rfcd-feat{display:flex;gap:11px;align-items:flex-start;margin:15px 0}
.rfcd-feat i{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  font-style:normal;font-size:13px;background:var(--sur-2,#141419);
  border:1px solid var(--line-hi,#2F2F37)}
.rfcd-feat b{display:block;font-size:12.5px;margin-bottom:3px}
.rfcd-feat p{margin:0;font-size:12px;line-height:1.5;color:var(--tx2,#C9C9D1)}
.rfcd-tag{display:inline-block;margin-left:6px;border-radius:999px;padding:2px 7px;
  font-size:7.5px;letter-spacing:.14em;font-weight:800;vertical-align:1px}
.rfcd-tag.inc{background:rgba(54,220,117,.16);color:var(--green,#36DC75)}
.rfcd-tag.pro{background:color-mix(in srgb,var(--volt) 16%,transparent);color:var(--volt)}

/* ===== rfb-HEALTH-CHECK ===== */
#rfhcBtn{position:fixed;right:14px;bottom:200px;z-index:99994;
  border:1px solid rgba(255,255,255,.22);background:rgba(16,18,22,.94);color:#fff;
  border-radius:999px;padding:11px 15px;font-size:9px;letter-spacing:.2em;font-weight:800;
  cursor:pointer;font-family:inherit;box-shadow:0 8px 26px rgba(0,0,0,.5)}
#rfhcBtn.bad{background:var(--volt);border-color:var(--volt)}
#rfhcWrap{position:fixed;inset:0;z-index:99995;display:none;background:rgba(0,0,0,.86);
  overflow-y:auto;-webkit-overflow-scrolling:touch}
#rfhcWrap.on{display:block}
.rfhcCard{max-width:520px;margin:0 auto;min-height:100%;background:#0B0C0F;color:#fff;
  padding:22px 15px 70px;box-sizing:border-box;font-family:inherit}
.rfhcCard h3{font-size:22px;font-weight:800;font-style:italic;margin:0;letter-spacing:-.02em}
.rfhcCard .m{font-size:8px;letter-spacing:.24em;font-weight:800;color:#8b93a1;margin:6px 0 16px}
.rfhcV{border-radius:12px;padding:13px 14px;margin-bottom:16px;font-size:13px;line-height:1.5}
.rfhcV.good{background:rgba(54,220,117,.12);border:1px solid rgba(54,220,117,.5)}
.rfhcV.bad{background:color-mix(in srgb,var(--volt) 14%,transparent);border:1px solid color-mix(in srgb,var(--volt) 60%,transparent)}
.rfhcH{font-size:8px;letter-spacing:.22em;font-weight:800;color:#8b93a1;margin:18px 0 7px}
.rfhcR{display:flex;align-items:center;gap:9px;padding:7px 2px;
  border-bottom:1px solid rgba(255,255,255,.07);font-size:12px}
.rfhcR b{flex:none;width:26px;font-size:11px;color:#8b93a1;font-weight:800;text-align:right}
.rfhcR span{flex:1;font-weight:600}
.rfhcR i{flex:none;font-style:normal;font-size:8.5px;letter-spacing:.14em;font-weight:800;
  padding:3px 7px;border-radius:999px}
.rfhcR i.y{background:rgba(54,220,117,.16);color:#36DC75}
.rfhcR i.n{background:color-mix(in srgb,var(--volt) 20%,transparent);color:#FF5E7E}
.rfhcR i.o{background:rgba(255,255,255,.08);color:#8b93a1}
#rfhcX{position:fixed;right:14px;top:14px;z-index:99996;background:#fff;color:#000;
  border:0;border-radius:999px;padding:10px 16px;font-size:9px;letter-spacing:.2em;
  font-weight:800;font-family:inherit;display:none;cursor:pointer}
#rfhcX.on{display:block}

/* ===== rfb-21-SHARE ===== */
.rfShareBtn{display:block;width:100%;margin-top:9px;border:1px solid color-mix(in srgb,var(--volt) 50%,transparent);
  border-radius:13px;padding:15px;background:color-mix(in srgb,var(--volt) 12%,transparent);color:#fff;
  font:800 11px/1 inherit;letter-spacing:.2em;cursor:pointer;font-family:inherit}
.rfShareBtn:active{background:color-mix(in srgb,var(--volt) 24%,transparent)}

/* ===== rfb-20-APP-MODE ===== */
#rfInstall{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));
  z-index:99993;display:none;border:1px solid color-mix(in srgb,var(--volt) 45%,transparent);border-radius:18px;
  background:rgba(14,16,19,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  padding:15px 16px 14px;box-shadow:0 14px 40px rgba(0,0,0,.6);font-family:inherit}
#rfInstall.on{display:block;animation:rfInsUp .34s cubic-bezier(.2,.9,.3,1.1)}
@keyframes rfInsUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
#rfInstall .ih{display:flex;align-items:center;gap:10px}
#rfInstall .ic{flex:none;width:34px;height:34px;border-radius:9px;background:var(--volt);
  display:flex;align-items:center;justify-content:center;color:var(--volt-tx,#fff);
  font:900 italic 13px/1 inherit;letter-spacing:-.02em}
#rfInstall .it{flex:1}
#rfInstall .it b{display:block;color:var(--ink);font-size:13.5px;font-weight:800}
#rfInstall .it span{display:block;color:#8b93a1;font-size:11.5px;margin-top:2px}
#rfInstall .ix{flex:none;background:none;border:none;color:#8b93a1;font-size:22px;
  line-height:1;padding:2px 4px;cursor:pointer;font-family:inherit}
#rfInstall .ib{display:block;width:100%;margin-top:12px;border:none;border-radius:12px;
  padding:13px;background:var(--volt);color:var(--volt-tx,#fff);font:800 10.5px/1 inherit;letter-spacing:.2em;
  cursor:pointer}
#rfInstall .istep{display:flex;gap:9px;align-items:center;margin-top:11px;
  color:#c3c9d4;font-size:12.5px;line-height:1.5}
#rfInstall .istep i{flex:none;width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.09);
  color:#fff;font:800 10px/20px inherit;text-align:center;font-style:normal}
#rfInstall .isvg{display:inline-block;vertical-align:-3px;width:15px;height:15px;
  stroke:var(--volt);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}


/* ===== style block 25 ===== */
.pmOv{position:fixed;inset:0;z-index:9600;display:none;background:#08090B;
  overflow-y:auto;-webkit-overflow-scrolling:touch}
.pmOv.on{display:block}
.pmIn{max-width:460px;margin:0 auto;padding:22px 18px calc(30px + env(safe-area-inset-bottom))}
.pmK{font-size:9px;letter-spacing:.3em;font-weight:800;color:var(--volt)}
.pmH{font-style:italic;font-weight:800;font-size:34px;line-height:.98;letter-spacing:-.03em;
  margin:14px 0 0;text-transform:uppercase;color:var(--ink)}
.pmP{font-size:14.5px;line-height:1.6;color:var(--tx2);margin:14px 0 0}
.pmP b{color:var(--ink)}
.pmBig{font-variant-numeric:tabular-nums;font-style:italic;font-weight:800;
  font-size:82px;line-height:.9;letter-spacing:-.04em;color:var(--ink);text-align:center;margin:26px 0 4px}
.pmBig.hot{color:#39DD74}
.pmUnit{text-align:center;font-size:10px;letter-spacing:.3em;font-weight:800;color:var(--mut)}
.pmBar{height:10px;border-radius:6px;background:var(--sur-3);overflow:hidden;margin:22px 0 8px}
.pmBar i{display:block;height:100%;border-radius:6px;transition:width .25s ease}
.pmGap{display:flex;justify-content:space-between;font-size:9.5px;letter-spacing:.14em;
  font-weight:800;color:var(--mut)}
.pmTiles{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:20px 0}
.pmTile{border:1px solid var(--line);border-radius:14px;background:var(--sur-1);padding:14px 8px;text-align:center}
.pmTile .tl{font-size:7.5px;letter-spacing:.16em;font-weight:800;color:var(--mut)}
.pmTile .tv{font-size:21px;font-weight:800;font-style:italic;margin-top:6px;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.pmBtn{display:block;width:100%;border:none;border-radius:15px;padding:19px;margin-top:11px;
  font-size:11px;letter-spacing:.26em;font-weight:800;background:var(--volt);color:var(--volt-tx,#fff);cursor:pointer}
.pmBtn.alt{background:none;border:1px solid var(--line-hi);color:var(--tx2)}
.pmBtn:disabled{opacity:.4}
.pmNote{font-size:12px;line-height:1.6;color:var(--mut);margin-top:16px;
  border-top:1px solid var(--line);padding-top:14px}
.pmNote b{color:var(--ink)}
.pmEff{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:12px;
  background:var(--sur-1);padding:12px 13px;margin-bottom:7px}
.pmEff .en{flex:none;width:24px;height:24px;border-radius:8px;background:var(--sur-3);
  display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--tx2)}
.pmEff .eb{flex:1;font-size:13px;color:var(--tx2)}
.pmEff .eb b{color:var(--ink)}
.pmEff .ev{flex:none;font-size:15px;font-weight:800;font-style:italic;color:var(--ink)}
.pmLaunch{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 16px}
.pmCard{border:1px solid var(--line-hi);border-radius:16px;padding:16px 14px;cursor:pointer;
  background:linear-gradient(150deg,color-mix(in srgb,var(--volt) 14%,transparent),var(--sur-1))}
.pmCard:active{opacity:.85}
.pmCard b{display:block;font-style:italic;font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ink)}
.pmCard em{display:block;font-style:normal;font-size:10.5px;line-height:1.5;color:var(--tx2);margin-top:7px}
.pmLive{position:fixed;left:0;right:0;bottom:0;padding:14px 18px calc(16px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,transparent,#08090B 32%);text-align:center}


/* ===== style block 26 ===== */

/* ===== rfb-25-RACE-SYNC ===== */
/* ---- race days on the month calendar: three distinct circles ---- */
.mgrid .mday.race-local .mdot{
  box-shadow:0 0 0 2.5px var(--volt) !important}

.mgrid .mday.race-national .mdot{
  position:relative;
  background:color-mix(in srgb,var(--volt) 30%,transparent) !important;
  border-color:var(--volt) !important;
  color:#fff !important;font-weight:900 !important;
  box-shadow:0 0 0 3px var(--volt),
             0 0 0 6px color-mix(in srgb,var(--volt) 30%,transparent),
             0 0 14px 2px color-mix(in srgb,var(--volt) 55%,transparent) !important}

/* the N badge - so it reads as a national at a glance, not just brighter */
.mgrid .mday.race-national .mdot::after{
  content:'N';position:absolute;top:-4px;right:-4px;
  width:13px;height:13px;border-radius:50%;
  background:var(--volt);color:var(--volt-tx,#fff);
  font-size:7.5px;font-weight:900;line-height:13px;text-align:center;
  letter-spacing:0;pointer-events:none}

/* practice is DASHED amber - a missed sprint is solid amber, and those
   two used to look identical on the calendar */
.mgrid .mday.race-practice .mdot{
  border-color:var(--amber,#FBBF24) !important;
  border-style:dashed !important;
  box-shadow:none !important}

/* nationals need breathing room for the outer ring */
.mgrid{row-gap:9px}

/* ---- legend: three race entries, all circles ---- */
.mleg .lg.rc{border-radius:50% !important;height:11px !important;width:11px !important;
  border:2px solid var(--volt) !important;background:none !important;
  box-shadow:none !important}
.mleg .lg.rc.national{background:color-mix(in srgb,var(--volt) 35%,transparent) !important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--volt) 35%,transparent),0 0 7px color-mix(in srgb,var(--volt) 70%,transparent) !important}
.mleg .lg.rc.practice{border-color:var(--amber,#FBBF24) !important;
  border-style:dashed !important}
.mleg span{white-space:nowrap}

/* ---- naming your races ---- */
.rfrn-note{border-radius:12px;padding:12px 13px;margin:14px 0 4px;font-size:12px;
  line-height:1.55;background:color-mix(in srgb,var(--volt) 11%,transparent);border:1px solid color-mix(in srgb,var(--volt) 45%,transparent)}
.rfrn-note b{color:var(--ink)}
.rfrn-row{display:flex;align-items:center;gap:10px;background:var(--sur-2,#141419);
  border:1px solid var(--line-hi,#2F2F37);border-radius:12px;padding:11px 12px;
  margin-bottom:7px}
.rfrn-row .rd{flex:none;width:52px;font-size:11px;font-weight:800;color:var(--tx2,#C9C9D1);
  line-height:1.25}
.rfrn-row .rd i{display:block;font-style:normal;font-size:7.5px;letter-spacing:.14em;
  margin-top:2px}
.rfrn-row .rd i.nat{color:var(--volt)}
.rfrn-row .rd i.loc{color:var(--tx2,#C9C9D1)}
.rfrn-row .rd i.prac{color:var(--amber,#FBBF24)}
.rfrn-row .rn{flex:1;min-width:0;font-size:12.5px;font-weight:700}
.rfrn-row .rn.none{color:var(--volt);font-weight:800;font-size:11px;
  letter-spacing:.1em;cursor:pointer}
.rfrn-row .re{flex:none;font-size:8px;letter-spacing:.14em;font-weight:800;
  color:var(--mut,#8A8A94);cursor:pointer;padding:4px 6px}
.rfrn-f{display:flex;gap:7px;margin:0 0 7px}
.rfrn-f input{flex:1;min-width:0;background:var(--sur-2,#141419);
  border:1px solid var(--line-hi,#2F2F37);border-radius:10px;color:#fff;
  padding:11px 10px;font-size:16px;font-weight:700;font-family:inherit}
.rfrn-f button{flex:none;background:var(--volt);color:var(--volt-tx,#fff);border:0;
  border-radius:10px;padding:11px 14px;font-size:9px;letter-spacing:.16em;
  font-weight:800;font-family:inherit;cursor:pointer}
.rfrn-sug{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.rfrn-sug button{background:var(--sur-3,#1B1B22);border:1px solid var(--line-hi,#2F2F37);
  color:var(--tx2,#C9C9D1);border-radius:999px;padding:7px 11px;font-size:10.5px;
  font-weight:700;font-family:inherit;cursor:pointer}

/* ===== rfb-27-TEST-COACH ===== */
.rfst-v{border-radius:12px;padding:13px 14px;margin:2px 0 14px;font-size:13px;line-height:1.55;
  background:rgba(255,255,255,.05);border:1px solid var(--line-hi,#2F2F37)}
.rfst-v.hot{background:color-mix(in srgb,var(--volt) 14%,transparent);border-color:color-mix(in srgb,var(--volt) 60%,transparent)}
.rfst-v .rfst-k{font-size:8px;letter-spacing:.22em;font-weight:800;
  color:var(--mut,#8A8A94);margin-bottom:6px}
.rfst-v.hot .rfst-k{color:var(--volt)}
.rfst-v b{color:var(--ink)}

/* ===== rfb-28-GARAGE-TIDY ===== */
/* the quiet destructive line at the very bottom */
.rfgt-danger{margin:26px 0 4px;text-align:center}
.rfgt-danger button{background:none;border:0;color:var(--mut,#8A8A94);
  font-family:inherit;font-size:10px;letter-spacing:.16em;font-weight:800;
  padding:10px 14px;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.18)}
.rfgt-danger button:active{color:var(--volt)}

/* a plain garage row for things that used to float */
.rfgt-row{display:flex;align-items:center;gap:12px;background:var(--sur-2,#141419);
  border:1px solid var(--line-hi,#2F2F37);border-radius:14px;padding:14px 15px;
  margin-bottom:8px;cursor:pointer}
.rfgt-row:active{background:var(--sur-3,#1B1B22)}
.rfgt-row .ri{flex:none;width:34px;height:34px;border-radius:10px;display:grid;
  place-items:center;font-size:14px;background:rgba(255,255,255,.05);
  border:1px solid var(--line-hi,#2F2F37)}
.rfgt-row .rt{flex:1;min-width:0}
.rfgt-row .rt b{display:block;font-size:13px;margin-bottom:2px}
.rfgt-row .rt span{display:block;font-size:11px;line-height:1.45;color:var(--mut,#8A8A94)}
.rfgt-row .rg{flex:none;font-size:9px;letter-spacing:.16em;font-weight:800;
  color:var(--volt)}

/* build stamp */
.rfgt-build{text-align:center;font-size:9.5px;letter-spacing:.12em;font-weight:700;
  color:var(--mut,#8A8A94);margin:18px 0 2px;cursor:pointer}
.rfgt-build b{color:var(--volt)}
.rfgt-diag{font-size:10px;line-height:1.7;color:var(--mut,#8A8A94);
  background:var(--sur-2,#141419);border:1px solid var(--line-hi,#2F2F37);
  border-radius:12px;padding:12px;margin-top:10px;display:none}
.rfgt-diag.on{display:block}

/* the floaters go away - they belong in the list now */
#mfbkBtn,#rfhcBtn{display:none !important}


/* ===== style block 27 ===== */

#rfrcCard{position:fixed;left:12px;right:12px;bottom:96px;z-index:99988;
  background:rgba(14,15,19,.96);border:1px solid var(--line-hi,#2F2F37);
  border-radius:16px;padding:14px 16px;box-shadow:0 14px 40px rgba(0,0,0,.6);
  opacity:0;transform:translateY(10px);transition:opacity .28s,transform .28s;
  pointer-events:none;font-family:inherit;max-width:520px;margin:0 auto}
#rfrcCard.on{opacity:1;transform:none;pointer-events:auto}
#rfrcCard.hot{border-color:color-mix(in srgb,var(--volt) 60%,transparent);background:rgba(30,10,16,.96)}
#rfrcCard .rck{font-size:8px;letter-spacing:.24em;font-weight:800;
  color:var(--mut,#8A8A94);margin-bottom:6px;display:flex;gap:8px;align-items:center}
#rfrcCard.hot .rck{color:var(--volt)}
#rfrcCard .rck i{flex:1;height:1px;background:var(--line-hi,#2F2F37);font-style:normal}
#rfrcCard .rcb{font-size:14px;line-height:1.5;color:var(--ink)}
#rfrcCard .rcb b{color:var(--volt)}
#rfrcCard .rcx{position:absolute;top:8px;right:10px;color:var(--mut,#8A8A94);
  font-size:15px;font-weight:800;cursor:pointer;padding:4px 8px;background:none;border:0}

.rfrcRow{display:flex;align-items:center;gap:11px;padding:12px 13px;
  background:var(--sur-2,#141419);border:1px solid var(--line-hi,#2F2F37);
  border-radius:13px;margin-bottom:8px;cursor:pointer}
.rfrcRow .ri{flex:none;width:32px;height:32px;border-radius:9px;display:grid;
  place-items:center;font-size:13px;background:rgba(255,255,255,.05);
  border:1px solid var(--line-hi,#2F2F37)}
.rfrcRow .rt{flex:1;min-width:0}
.rfrcRow .rt b{display:block;font-size:13px}
.rfrcRow .rt span{display:block;font-size:11px;color:var(--mut,#8A8A94);margin-top:2px}
.rfrcRow .rg{flex:none;font-size:9px;letter-spacing:.14em;font-weight:800;
  color:var(--volt)}
.rfrcT{display:flex;align-items:center;gap:10px;padding:11px 2px;
  border-bottom:1px solid var(--line,#24252D);font-size:13.5px}
.rfrcT:last-of-type{border-bottom:0}
.rfrcT span{flex:1}
.rfrcT em{font-style:normal;display:block;font-size:11px;color:var(--mut,#8A8A94);margin-top:1px}
.rfrcSw{flex:none;width:44px;height:26px;border-radius:999px;border:0;cursor:pointer;
  background:var(--sur-3,#1B1B22);position:relative;transition:background .18s}
.rfrcSw:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;
  border-radius:50%;background:#6B6B76;transition:transform .18s,background .18s}
.rfrcSw.on{background:rgba(54,220,117,.35)}
.rfrcSw.on:after{transform:translateX(18px);background:var(--green,#36dc75)}


/* ===== style block 28 ===== */

.rfuBar{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px;align-items:center}
.rfuBar .qchip{flex:none}
.rfuHint{width:100%;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--mut,#8A8A94);
  margin-top:2px}

/* ---- the RFU front door: one card, used on TODAY and on the coach tab ---- */
.rfuDoor{display:flex;align-items:center;gap:13px;width:100%;box-sizing:border-box;
  background:linear-gradient(120deg,color-mix(in srgb,var(--volt) 16%,transparent),color-mix(in srgb,var(--volt) 5%,transparent) 60%,transparent);
  border:1px solid color-mix(in srgb,var(--volt) 50%,transparent);border-radius:16px;padding:14px 15px;margin:0 0 12px;
  cursor:pointer;text-align:left;font-family:inherit;color:#fff;position:relative;overflow:hidden}
.rfuDoor:active{background:color-mix(in srgb,var(--volt) 22%,transparent)}
.rfuDoor .dm{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  background:var(--volt);color:var(--volt-tx,#fff);font-size:12px;font-weight:900;letter-spacing:.06em;
  font-style:italic;box-shadow:0 6px 18px color-mix(in srgb,var(--volt) 35%,transparent)}
.rfuDoor .dt{flex:1;min-width:0}
.rfuDoor .dt b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.rfuDoor .dt b i{font-style:normal;color:var(--volt)}
.rfuDoor .dt span{display:block;font-size:11.5px;color:#C9C9D1;line-height:1.45;margin-top:3px}
.rfuDoor .dt span em{font-style:normal;color:var(--ink);font-weight:700}
.rfuDoor .dg{flex:none;font-size:9px;letter-spacing:.16em;font-weight:800;color:var(--volt);
  white-space:nowrap}
.rfuDoor.sm{padding:11px 13px;margin:2px 0 10px;width:100%}
.rfuDoor.sm .dm{width:38px;height:38px;border-radius:11px;font-size:10.5px}
.rfuDoor.sm .dt b{font-size:13px}
.rfuDoor.sm .dt span{font-size:11px}

.rfuCat{display:flex;align-items:center;gap:11px;padding:12px 13px;margin-bottom:7px;
  background:var(--sur-2,#141419);border:1px solid var(--line-hi,#2F2F37);border-radius:13px;
  cursor:pointer}
.rfuCat:active{background:var(--sur-3,#1B1B22)}
.rfuCat .ci{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  font-size:14px;font-weight:800;background:color-mix(in srgb,var(--volt) 12%,transparent);color:var(--volt);
  border:1px solid color-mix(in srgb,var(--volt) 30%,transparent)}
.rfuCat .ct{flex:1;min-width:0}
.rfuCat .ct b{display:block;font-size:13.5px}
.rfuCat .ct span{display:block;font-size:11px;color:var(--mut,#8A8A94);margin-top:2px}
.rfuCat .cn{flex:none;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--mut,#8A8A94)}

.rfuQ{display:block;width:100%;text-align:left;background:var(--sur-2,#141419);
  border:1px solid var(--line-hi,#2F2F37);border-radius:12px;padding:12px 13px;margin-bottom:7px;
  color:#fff;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;line-height:1.4}
.rfuQ:active{background:var(--sur-3,#1B1B22)}
.rfuQ em{display:block;font-style:normal;font-size:11px;color:var(--mut,#8A8A94);
  font-weight:600;margin-top:3px}
.rfuBack{background:none;border:0;color:var(--volt);font-size:9px;letter-spacing:.18em;
  font-weight:800;font-family:inherit;cursor:pointer;padding:6px 0 12px}
.rfuYou{border-radius:12px;padding:12px 13px;margin:12px 0 4px;font-size:13px;line-height:1.55;
  background:color-mix(in srgb,var(--volt) 10%,transparent);border:1px solid color-mix(in srgb,var(--volt) 45%,transparent)}
.rfuYou b{color:var(--ink)}
.rfuYou .k{font-size:8px;letter-spacing:.22em;font-weight:800;color:var(--volt);margin-bottom:5px}
.rfuBody{font-size:13.5px;line-height:1.6;color:#DADAE0}
.rfuBody b{color:var(--ink)}
.rfuGo{margin-top:12px}


/* ===== style block 29 ===== */

/* ---- one visual language for every garage row ---- */
#v-garage .rfgt-row,#v-garage .rfrcRow,#v-garage .rfuCat,#v-garage .rfAcc,#v-garage .rfBkRow,
#v-garage .rfCd{
  display:flex !important;align-items:center !important;gap:12px !important;
  background:var(--sur-2,#141419) !important;border:1px solid var(--line-hi,#2F2F37) !important;
  border-radius:14px !important;padding:13px 14px !important;margin:0 0 9px !important;
  cursor:pointer;min-height:62px}
#v-garage .rfgt-row .ri,#v-garage .rfrcRow .ri,#v-garage .rfuCat .ci,
#v-garage .rfAcc .ai,#v-garage .rfBkRow .bi,#v-garage .rfCd .ci{
  flex:none !important;width:36px !important;height:36px !important;border-radius:10px !important;
  display:grid !important;place-items:center !important;font-size:14px !important;
  background:color-mix(in srgb,var(--volt) 10%,transparent) !important;border:1px solid color-mix(in srgb,var(--volt) 30%,transparent) !important;
  color:var(--volt) !important;font-style:normal}
#v-garage .rfgt-row .rt b,#v-garage .rfrcRow .rt b,#v-garage .rfuCat .ct b,
#v-garage .rfAcc .at b,#v-garage .rfBkRow .bt b,#v-garage .rfCd .ct b{
  display:block;font-size:13.5px !important;font-weight:800;margin:0 0 2px !important;color:var(--ink)}
#v-garage .rfgt-row .rt span,#v-garage .rfrcRow .rt span,#v-garage .rfuCat .ct span,
#v-garage .rfAcc .at span,#v-garage .rfBkRow .bt span,#v-garage .rfCd .ct span{
  display:block;font-size:11.5px !important;line-height:1.45;color:var(--mut,#8A8A94) !important;margin:0}
#v-garage .rfgt-row .rg,#v-garage .rfrcRow .rg,#v-garage .rfuCat .cn,
#v-garage .rfAcc .ag,#v-garage .rfBkRow .bg,#v-garage .rfCd .cg{
  flex:none !important;font-size:9px !important;letter-spacing:.16em !important;font-weight:800 !important;
  color:var(--volt) !important;white-space:nowrap}
/* headings we add */
#v-garage .rfgx-h{font-size:8px;letter-spacing:.24em;font-weight:800;color:var(--mut,#8A8A94);
  margin:26px 0 10px;display:flex;align-items:center;gap:10px}
#v-garage .rfgx-h i{flex:1;height:1px;background:var(--line,#24252D);font-style:normal}
/* the sub-label under YOUR SEASON */
#v-garage .rfgx-sub{font-size:8px;letter-spacing:.18em;font-weight:800;color:var(--mut,#8A8A94);
  margin:4px 0 8px}
.rfgt-build{text-align:center;font-size:9.5px;letter-spacing:.12em;font-weight:700;
  color:var(--mut,#8A8A94);margin:18px 0 2px}
.rfgt-build b{color:var(--volt)}
.rfgt-danger{margin:26px 0 4px;text-align:center}
.rfgt-danger button{background:none;border:0;color:var(--mut,#8A8A94);font-family:inherit;
  font-size:10px;letter-spacing:.16em;font-weight:800;padding:10px 14px;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.18)}
/* ---- MODES cards: rows, like the library ---- */
/* modes v3 turned each mode into a big hero-image slab. Bring them back to
   the same compact row every other list in the app uses. */
#v-modes .bigbtn[data-rfslice],#v-modes .bigbtn.ghost{
  display:flex !important;flex-direction:row !important;align-items:center !important;
  gap:12px !important;text-align:left !important;
  background:var(--sur-2,#141419) !important;background-image:none !important;
  border:1px solid var(--line-hi,#2F2F37) !important;border-radius:14px !important;
  padding:12px 13px !important;margin:0 0 8px !important;
  min-height:0 !important;height:auto !important;
  font-family:inherit;color:#fff;letter-spacing:0 !important;
  isolation:auto;transform:none !important}
#v-modes .bigbtn[data-rfslice]:before{display:none !important;content:none !important}
#v-modes .bigbtn:active{background:var(--sur-3,#1B1B22) !important}
/* the chip becomes the icon square, matching the library rows */
#v-modes .bigbtn .rfNameChip{
  order:0;flex:none !important;display:grid !important;place-items:center !important;
  width:44px !important;height:44px !important;border-radius:12px !important;
  margin:0 !important;padding:0 !important;
  background:var(--rfac,var(--volt)) !important;border:0 !important;
  color:#fff !important;font-size:11px !important;font-weight:900 !important;
  font-style:italic;letter-spacing:.04em !important;text-transform:uppercase;
  box-shadow:0 6px 16px rgba(0,0,0,.35);overflow:hidden;line-height:1 !important}
#v-modes .bigbtn .rfNameChip[data-abbr]{font-size:0 !important}
#v-modes .bigbtn .rfNameChip[data-abbr]:before{content:attr(data-abbr);font-size:11px;font-weight:900;
  font-style:italic;letter-spacing:.04em;color:var(--ink);
  /* the square is a grid box, but letter-spacing hangs an empty gap off the
     last glyph and the italic lean pulls left - so centre the pseudo-element
     itself and pay back the trailing space */
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;line-height:1;text-indent:.04em;padding-left:.06em}
/* white accent (free sprint) needs dark text */
#v-modes .bigbtn .rfNameChip[data-abbr][data-dark]:before{color:#0B0C10}
/* the ghost title becomes the row title */
#v-modes .bigbtn .rfgx-ghost{
  order:1;flex:1 1 auto !important;min-width:0 !important;display:block !important;
  font-size:13.5px !important;font-weight:800 !important;letter-spacing:0 !important;
  text-transform:none !important;color:var(--ink) !important;line-height:1.25 !important;
  white-space:normal !important;opacity:1 !important}
#v-modes .bigbtn em{
  order:2;flex:1 1 100% !important;display:block !important;font-style:normal !important;
  font-size:11.5px !important;font-weight:600 !important;line-height:1.45 !important;
  letter-spacing:0 !important;color:var(--mut,#8A8A94) !important;text-transform:none !important;
  margin:0 !important;opacity:1}
/* title + description stack in the middle; the arrow sits right */
#v-modes .bigbtn .rfgx-mid{order:1;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
#v-modes .bigbtn .rfgx-mid .rfgx-ghost{flex:none !important}
#v-modes .bigbtn .rfgx-mid em{flex:none !important}
#v-modes .bigbtn .rfgx-arrow{order:3;flex:none;font-size:9px;letter-spacing:.16em;font-weight:800;
  color:var(--volt);white-space:nowrap}
#v-modes .bigbtn.focus .rfgx-arrow{color:var(--volt)}
/* ---- header pill: one line ---- */
#mbPill{display:inline-flex !important;align-items:center !important;gap:7px !important;
  flex-direction:row !important;line-height:1 !important;text-align:left !important}
#mbPill b{font-size:14px !important;font-weight:800 !important;font-style:italic;
  letter-spacing:-.01em !important;color:var(--volt) !important;line-height:1 !important}
#mbPill i{font-style:normal !important;font-size:7.5px !important;letter-spacing:.2em !important;
  font-weight:800 !important;color:var(--volt) !important;padding:3px 6px !important;
  border-radius:6px !important;background:color-mix(in srgb,var(--volt) 12%,transparent) !important;
  border:1px solid color-mix(in srgb,var(--volt) 35%,transparent) !important;line-height:1 !important;order:-1;
  display:inline-block !important;margin:0 !important}

/* ---- the rank bar: one line, not three ---- */
.rankbar{display:flex !important;align-items:center !important;gap:10px !important;
  padding:11px 13px !important;flex-wrap:nowrap !important;overflow:hidden}
.rankbar .rn{flex:none !important;font-size:15px !important;font-weight:800 !important;
  font-style:italic;letter-spacing:-.01em;color:var(--ink);max-width:34%;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.rankbar .rt{flex:1 1 auto !important;min-width:0 !important;display:flex !important;
  flex-direction:column !important;gap:1px !important;line-height:1.2 !important}
.rankbar .rt b{font-size:7.5px !important;letter-spacing:.2em !important;font-weight:800 !important;
  color:var(--mut,#8A8A94) !important;display:block;white-space:nowrap}
.rankbar .rt span{font-size:10.5px !important;color:var(--tx2,#C9C9D1) !important;
  white-space:nowrap !important;overflow:hidden;text-overflow:ellipsis;display:block}
.rankbar .rp{flex:none !important;display:flex !important;align-items:center !important;gap:7px !important;
  padding-left:10px !important;margin-left:2px;border-left:1px solid var(--line-hi,#2F2F37);
  font-size:11px !important;font-weight:800 !important;line-height:1.15 !important;text-align:left !important;
  white-space:nowrap}
.rankbar .rp:before{content:'LV';font-size:7.5px;letter-spacing:.2em;font-weight:800;
  color:var(--volt);padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--volt) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--volt) 35%,transparent)}
.rankbar .rp br{display:none}
.rankbar .rp .rfgx-lv{display:flex;flex-direction:column}
.rankbar .rp .rfgx-lv em{font-style:normal;font-size:8.5px;font-weight:700;color:var(--mut,#8A8A94);
  letter-spacing:.06em}
.rankbar .rkgo{flex:none !important;margin-left:0 !important}
@media (max-width:360px){.rankbar .rn{font-size:13.5px !important}.rankbar .rt span{font-size:9.5px !important}}
/* the pump launcher does not belong on TODAY */
#v-today #pmLaunch,#pmLaunch{display:none !important}


/* ===== style block 30 ===== */

.rfg-cad{font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--mut,#86807a);margin-top:2px}
.rfg-cad b{color:var(--tx,#f5f3f2)}
.rfg-hint{font-size:11.5px;color:var(--mut,#86807a);max-width:300px;line-height:1.5;font-weight:600}
.rfg-card{display:flex;align-items:center;gap:11px;background:var(--sur-1,#0e1114);border:1px solid var(--line,#232a30);
  border-radius:12px;padding:12px 13px;margin:0 0 4px;cursor:pointer}
.rfg-card .gi{flex:none;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--volt) 12%,transparent);
  display:grid;place-items:center;font-size:12px;font-weight:800;color:var(--volt)}
.rfg-card .gt{flex:1;min-width:0}
.rfg-card .gt b{display:block;font-size:13px}
.rfg-card .gt span{display:block;font-size:11px;color:var(--mut,#86807a);margin-top:2px}
.rfg-card .gg{flex:none;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--volt)}
.rfg-big{font-size:54px;font-weight:800;font-style:italic;line-height:1;margin:14px 0 2px;font-variant-numeric:tabular-nums}
.rfg-big em{font-style:normal;font-size:12px;letter-spacing:.2em;color:var(--mut,#86807a);margin-left:6px}
.rfg-tap{width:100%;height:78px;border-radius:14px;border:1px solid var(--volt);background:color-mix(in srgb,var(--volt) 12%,transparent);
  color:#fff;font:800 15px/1 inherit;font-style:italic;letter-spacing:.14em;cursor:pointer;margin-top:8px}
.rfg-tap.on{background:var(--volt)}
.rfg-tap em{display:block;font-style:normal;font-size:10px;letter-spacing:.06em;font-weight:600;color:rgba(255,255,255,.7);margin-top:6px}
.rfg-mini{display:flex;gap:6px;justify-content:center;margin:12px 0 4px}
.rfg-mini i{width:26px;height:26px;border-radius:50%;background:#1a1a1f;border:1px solid rgba(255,255,255,.08)}
.rfg-mini i.red{background:#e0113a;box-shadow:0 0 12px color-mix(in srgb,var(--volt) 70%,transparent)}
.rfg-mini i.yellow{background:#ffd21e;box-shadow:0 0 12px rgba(255,210,30,.75)}
.rfg-mini i.green{background:#36dc75;box-shadow:0 0 12px rgba(54,220,117,.8)}
#rfgHold{position:fixed;inset:0;z-index:260;background:var(--bg,#06080a);display:none;align-items:center;justify-content:center;text-align:center;padding:24px}
#rfgHold.on{display:flex}
#rfgHold .hk{font-size:10px;letter-spacing:.3em;font-weight:800;color:var(--volt)}
#rfgHold h2{font-size:30px;font-weight:800;font-style:italic;margin:12px 0 8px}
#rfgHold p{font-size:13px;color:var(--mut,#86807a);max-width:280px;margin:0 auto 22px;line-height:1.5;font-weight:600}
#rfgHold button{min-height:60px;padding:0 44px;border-radius:16px;border:none;background:var(--volt);color:var(--volt-tx,#fff);
  font:800 14px/1 inherit;font-style:italic;letter-spacing:.16em;cursor:pointer;box-shadow:0 14px 32px color-mix(in srgb,var(--volt) 40%,transparent)}
.rfg-kv .rfg-neg{color:var(--green,#36dc75)}
.rfg-kv .rfg-pos{color:var(--amber,#f5c518)}
.rfg-kv .rfg-stall{color:var(--redx,#ff5c5c)}


/* ===== style block 31 ===== */

.rfrp-bar{display:flex;gap:7px;margin:12px 0 4px}
.rfrp-bar button{flex:1;min-height:52px;border-radius:12px;border:1px solid var(--volt);
  background:color-mix(in srgb,var(--volt) 12%,transparent);color:#fff;font:800 11px/1.25 inherit;font-style:italic;letter-spacing:.1em;cursor:pointer;padding:8px 6px}
.rfrp-bar button em{display:block;font-style:normal;font-weight:600;font-size:9px;letter-spacing:.04em;color:var(--tx2,#c2bcb8);margin-top:4px}
.rfrp-bar button.alt{border-color:var(--line-hi,#313a42);background:var(--sur-2,#14181c)}
.rfrp-ev{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line,#232a30)}
.rfrp-ev.past{opacity:.42}
.rfrp-ev .dt{flex:none;width:58px;text-align:center;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--tx2,#c2bcb8);line-height:1.25}
.rfrp-ev .dt b{display:block;font-size:17px;font-style:italic;color:var(--tx,#f5f3f2)}
.rfrp-ev .nm{flex:1;min-width:0}
.rfrp-ev .nm b{display:block;font-size:13px;line-height:1.25}
.rfrp-ev .nm span{display:block;font-size:10.5px;color:var(--mut,#86807a);margin-top:2px}
.rfrp-ev .nm i{display:inline-block;font-style:normal;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--volt);
  border:1px solid color-mix(in srgb,var(--volt) 50%,transparent);border-radius:999px;padding:2px 6px;margin-left:6px;vertical-align:1px}
.rfrp-ev .nm i.loc{color:var(--amber,#f5c518);border-color:rgba(245,197,24,.5)}
.rfrp-ev button{flex:none;min-height:36px;padding:0 13px;border-radius:999px;border:1px solid var(--volt);
  background:transparent;color:#fff;font:800 9.5px/1 inherit;letter-spacing:.14em;cursor:pointer}
.rfrp-ev button.on{background:var(--volt)}
.rfrp-ev button.rm{border-color:var(--line-hi,#313a42);color:var(--tx2,#c2bcb8)}
.rfrp-mo{font-size:9.5px;letter-spacing:.22em;color:var(--mut,#86807a);font-weight:800;margin:16px 0 2px}
.rfrp-goal{border:1px solid var(--volt);border-radius:12px;padding:10px 12px;margin:10px 0 2px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 14%,transparent),color-mix(in srgb,var(--volt) 3%,transparent))}
.rfrp-goal .rfrp-ev{border:none;padding:4px 0}
.rfrp-k{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:var(--volt)}
.rfrp-f{margin:12px 0 0}
.rfrp-f label{display:block;font-size:9.5px;letter-spacing:.16em;color:var(--mut,#86807a);font-weight:700;margin-bottom:7px}
.rfrp-f select,.rfrp-f input{width:100%;height:50px;background:var(--sur-2,#14181c);border:1px solid var(--line-hi,#313a42);
  border-radius:12px;color:var(--tx,#f5f3f2);padding:0 14px;font:600 15px/1 inherit;-webkit-appearance:none;appearance:none}
.rfrp-f input[type=date]{min-width:0}
.rfrp-two{display:flex;gap:8px}
.rfrp-two>div{flex:1;min-width:0}
.rfrp-org{display:flex;gap:6px;margin:10px 0 2px;flex-wrap:wrap}
.rfrp-org button{border:1px solid var(--line,#232a30);background:var(--sur-1,#0e1114);color:var(--tx2,#c2bcb8);
  border-radius:999px;padding:9px 14px;font:800 10px/1 inherit;letter-spacing:.12em;cursor:pointer}
.rfrp-org button.on{background:var(--volt);border-color:var(--volt);color:var(--volt-tx,#fff)}
.rfrp-empty{font-size:12px;color:var(--mut,#86807a);padding:10px 0;font-weight:600}


/* ===== style block 32 ===== */

/* TRACK replaces the old PRACTICE card */
#v-modes .bigbtn[data-act22="practice"],#v-modes [data-act22="practice"]{display:none !important}
#v-modes .bigbtn[data-act22="track"]{--rfac:#4AA3FF;display:flex;flex-direction:row;align-items:center;gap:13px;text-align:left}
.rft-h3{font-size:22px;font-weight:800;font-style:italic;margin:0 0 5px}
.rft-day{display:flex;gap:7px;margin:12px 0 4px}
.rft-day button{flex:1;min-height:58px;border-radius:12px;border:1px solid var(--line-hi,#313a42);background:var(--sur-2,#14181c);
  color:var(--tx2,#c2bcb8);font:800 10px/1.2 inherit;letter-spacing:.1em;cursor:pointer;padding:8px 4px}
.rft-day button em{display:block;font-style:normal;font-weight:600;font-size:8.5px;letter-spacing:.03em;color:var(--mut,#86807a);margin-top:4px}
.rft-day button.on{border-color:#4AA3FF;background:rgba(74,163,255,.14);color:#fff}
.rft-day button.rec:after{content:'RECOMMENDED';display:block;font-size:7px;letter-spacing:.18em;color:#4AA3FF;margin-top:5px;font-weight:800}
.rft-why{border:1px solid rgba(74,163,255,.5);border-left:3px solid #4AA3FF;border-radius:12px;padding:12px 14px;margin:10px 0;
  background:linear-gradient(180deg,rgba(74,163,255,.09),transparent)}
.rft-why .k{font-size:8.5px;letter-spacing:.22em;font-weight:800;color:#4AA3FF;margin-bottom:6px}
.rft-why p{margin:0;font-size:13px;line-height:1.55;color:var(--tx2,#c2bcb8)}
.rft-why p b{color:var(--ink)}
.rft-sec{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line,#232a30)}
.rft-sec .n{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--sur-3,#1c2126);
  font-size:11px;font-weight:800;color:var(--tx2,#c2bcb8)}
.rft-sec.done .n{background:var(--green,#36dc75);color:#04140b}
.rft-sec.now .n{background:#4AA3FF;color:#fff;box-shadow:0 0 14px rgba(74,163,255,.6)}
.rft-sec .t{flex:1;min-width:0}
.rft-sec .t b{display:block;font-size:13px}
.rft-sec .t span{display:block;font-size:10.5px;color:var(--mut,#86807a);margin-top:2px}
.rft-sec .r{flex:none;font-size:11px;font-weight:800;color:var(--tx2,#c2bcb8);font-variant-numeric:tabular-nums}
.rft-next{border:1px solid #4AA3FF;border-radius:16px;padding:16px;margin:14px 0 8px;text-align:center;
  background:linear-gradient(180deg,rgba(74,163,255,.16),rgba(74,163,255,.03))}
.rft-next .k{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:#4AA3FF}
.rft-next h4{margin:6px 0 2px;font-size:22px;font-weight:800;font-style:italic;letter-spacing:-.01em;color:var(--ink)}
.rft-next p{margin:0;font-size:12.5px;color:var(--tx2,#c2bcb8);line-height:1.5}
.rft-rest{font-size:54px;font-weight:800;font-style:italic;line-height:1;margin:10px 0 2px;font-variant-numeric:tabular-nums;color:var(--amber,#f5c518)}
.rft-rest.go{color:var(--green,#36dc75)}
.rft-go{width:100%;height:56px;border:none;border-radius:13px;background:#4AA3FF;color:#fff;font:800 12.5px/1 inherit;font-style:italic;letter-spacing:.2em;cursor:pointer;margin-top:10px}
.rft-go:disabled{background:var(--sur-3,#1c2126);color:var(--mut,#86807a)}
.rft-sum{display:flex;gap:8px;margin:10px 0}
.rft-sum div{flex:1;background:var(--sur-2,#14181c);border:1px solid var(--line-hi,#313a42);border-radius:12px;padding:11px 8px;text-align:center}
.rft-sum b{display:block;font-size:22px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}
.rft-sum span{display:block;font-size:8px;letter-spacing:.14em;font-weight:800;color:var(--mut,#86807a);margin-top:3px}
.rft-sum em{display:block;font-style:normal;font-size:10px;margin-top:4px;color:var(--green,#36dc75);font-weight:700}
.rft-sum em.dn{color:var(--redx,#ff5c5c)}
.rft-lad{width:100%;border-collapse:collapse;margin:8px 0 2px;font-size:11px}
.rft-lad td,.rft-lad th{padding:6px 4px;border-bottom:1px solid var(--line,#232a30);text-align:left}
.rft-lad th{font-size:8px;letter-spacing:.16em;color:var(--mut,#86807a)}
.rft-lad tr.me td{color:var(--ink);font-weight:800}
.rft-lad tr.me td:first-child{color:#4AA3FF}


/* ===== style block 33 ===== */

.rfsn-row{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;background:var(--sur-1,#0e1114);border:1px solid var(--line,#232a30);margin:0 0 8px;cursor:pointer}
.rfsn-row .ri{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(255,92,92,.14);color:#FF5C5C;font-size:14px;font-weight:800}
.rfsn-row .rt{flex:1;min-width:0}
.rfsn-row .rt b{display:block;font-size:13px}
.rfsn-row .rt span{display:block;font-size:11px;color:var(--mut,#86807a);margin-top:2px}
.rfsn-row .rg{flex:none;font-size:9px;letter-spacing:.14em;font-weight:800;color:#FF5C5C}
.rfsn-tiles{display:flex;gap:8px;margin:12px 0}
.rfsn-tile{flex:1;background:var(--sur-2,#14181c);border:1px solid var(--line-hi,#313a42);border-radius:14px;padding:12px 8px;text-align:center}
.rfsn-tile b{display:block;font-size:30px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;line-height:1}
.rfsn-tile b.off{color:var(--mut,#86807a)}
.rfsn-tile span{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--mut,#86807a);margin-top:5px}
.rfsn-tile em{display:block;font-style:normal;font-size:9.5px;margin-top:5px;color:var(--green,#36dc75);font-weight:700}
.rfsn-tile em.no{color:var(--mut,#86807a)}
.rfsn-btn{width:100%;min-height:52px;border-radius:13px;border:1px solid var(--line-hi,#313a42);background:var(--sur-2,#14181c);color:#fff;
  font:800 11px/1.2 inherit;letter-spacing:.14em;cursor:pointer;margin-top:8px;padding:8px 12px}
.rfsn-btn.on{border-color:var(--green,#36dc75);color:var(--green,#36dc75)}
.rfsn-btn em{display:block;font-style:normal;font-weight:600;font-size:9.5px;letter-spacing:.03em;color:var(--mut,#86807a);margin-top:4px}
.rfsn-warn{border:1px solid var(--amber,#f5c518);border-left:3px solid var(--amber,#f5c518);border-radius:12px;padding:12px 14px;margin:10px 0;
  background:linear-gradient(180deg,rgba(245,197,24,.08),transparent)}
.rfsn-warn .k{font-size:8.5px;letter-spacing:.22em;font-weight:800;color:var(--amber,#f5c518);margin-bottom:6px}
.rfsn-warn p{margin:0;font-size:12.5px;line-height:1.55;color:var(--tx2,#c2bcb8)}
#rfsnPill{position:fixed;left:50%;transform:translateX(-50%);top:calc(8px + env(safe-area-inset-top));z-index:230;display:none;
  gap:10px;align-items:center;padding:6px 12px;border-radius:999px;background:rgba(10,12,14,.9);border:1px solid rgba(255,255,255,.14);
  font:800 10.5px/1 -apple-system,BlinkMacSystemFont,Inter,sans-serif;letter-spacing:.06em;color:#fff;font-variant-numeric:tabular-nums}
#rfsnPill.on{display:flex}
#rfsnPill i{font-style:normal;color:#FF5C5C}
#rfsnPill u{text-decoration:none;color:var(--green,#36dc75)}
#rfsnPill s{text-decoration:none;color:var(--mut,#86807a);font-size:8px;letter-spacing:.14em}


/* ===== style block 34 ===== */

#v-modes .bigbtn[data-act22="hrz"]{--rfac:#FF5C5C;display:flex;flex-direction:row;align-items:center;gap:13px;text-align:left}
.rfhz-h3{font-size:22px;font-weight:800;font-style:italic;margin:0 0 5px}
.rfhz-z{display:flex;gap:4px;margin:10px 0 4px}
.rfhz-z i{flex:1;height:10px;border-radius:5px;background:var(--sur-3,#1c2126);opacity:.35}
.rfhz-z i.z1{background:#4AA3FF}.rfhz-z i.z2{background:#36dc75}.rfhz-z i.z3{background:#f5c518}.rfhz-z i.z4{background:#ff8a1e}.rfhz-z i.z5{background:#ff5c5c}
.rfhz-z i.on{opacity:1;box-shadow:0 0 14px currentColor}
.rfhz-zl{display:flex;gap:4px;font-size:7.5px;letter-spacing:.12em;font-weight:800;color:var(--mut,#86807a)}
.rfhz-zl span{flex:1;text-align:center}
.rfhz-lad{width:100%;border-collapse:collapse;margin:8px 0 2px;font-size:11px}
.rfhz-lad td,.rfhz-lad th{padding:6px 4px;border-bottom:1px solid var(--line,#232a30);text-align:left}
.rfhz-lad th{font-size:8px;letter-spacing:.16em;color:var(--mut,#86807a)}
.rfhz-lad tr.me td{color:var(--ink);font-weight:800}
.rfhz-lad tr.me td:first-child{color:#FF5C5C}
.rfhz-go{width:100%;height:56px;border:none;border-radius:13px;background:#FF5C5C;color:#fff;font:800 12.5px/1 inherit;font-style:italic;letter-spacing:.2em;cursor:pointer;margin-top:10px}
.rfhz-why{border:1px solid rgba(255,92,92,.5);border-left:3px solid #FF5C5C;border-radius:12px;padding:12px 14px;margin:10px 0;background:linear-gradient(180deg,rgba(255,92,92,.09),transparent)}
.rfhz-why .k{font-size:8.5px;letter-spacing:.22em;font-weight:800;color:#FF5C5C;margin-bottom:6px}
.rfhz-why p{margin:0;font-size:13px;line-height:1.55;color:var(--tx2,#c2bcb8)}
.rfhz-why p b{color:var(--ink)}
/* the HUD */
#rfhz{position:fixed;inset:0;z-index:240;background:#06080a;display:none;flex-direction:column;align-items:center;justify-content:space-between;
  padding:calc(16px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));text-align:center;color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-variant-numeric:tabular-nums;transition:background .6s}
#rfhz.on{display:flex}
#rfhz .ph{font-size:11px;letter-spacing:.3em;font-weight:800;color:var(--mut,#86807a)}
#rfhz .ph b{color:var(--ink)}
#rfhz .rep{font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--tx2,#c2bcb8);margin-top:6px}
#rfhz .bpm{font-size:clamp(120px,40vw,190px);font-weight:800;font-style:italic;line-height:.9;letter-spacing:-.05em;text-shadow:0 0 70px currentColor}
#rfhz .bpm small{display:block;font-size:12px;letter-spacing:.3em;font-style:normal;color:var(--mut,#86807a);text-shadow:none;margin-top:8px}
#rfhz .zone{font-size:22px;font-weight:800;font-style:italic;letter-spacing:.06em;margin-top:6px}
#rfhz .want{font-size:10px;letter-spacing:.2em;font-weight:800;color:var(--mut,#86807a);margin-top:6px}
#rfhz .want b{color:var(--ink)}
#rfhz .rfhz-z{width:100%;max-width:340px}
#rfhz .row{display:flex;gap:10px;width:100%;max-width:360px}
#rfhz .row div{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 6px}
#rfhz .row b{display:block;font-size:30px;font-weight:800;font-style:italic;line-height:1}
#rfhz .row span{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--mut,#86807a);margin-top:5px}
#rfhz .clock{font-size:52px;font-weight:800;font-style:italic;line-height:1;margin:4px 0}
#rfhz .clock.warn{color:#f5c518}
#rfhz .end{min-height:46px;padding:0 26px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--tx2,#c2bcb8);font:800 11px/1 inherit;letter-spacing:.16em;cursor:pointer;margin-top:10px}
#rfhz .cue{min-height:22px;font-size:13px;font-weight:700;color:var(--tx2,#c2bcb8)}
#rfhz.out{background:#160a0c}
#rfhz.out .bpm{animation:rfhzOut .7s ease-in-out infinite alternate}
@keyframes rfhzOut{from{opacity:1}to{opacity:.45}}
/* dashboard */
.rfhz-bar{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:11px}
.rfhz-bar em{flex:none;width:26px;font-style:normal;font-weight:800;color:var(--mut,#86807a)}
.rfhz-bar i{flex:1;height:14px;border-radius:7px;background:var(--sur-3,#1c2126);overflow:hidden;position:relative}
.rfhz-bar i b{position:absolute;left:0;top:0;bottom:0;border-radius:7px}
.rfhz-bar span{flex:none;width:44px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.rfhz-tiles{display:flex;gap:8px;margin:10px 0}
.rfhz-tiles div{flex:1;background:var(--sur-2,#14181c);border:1px solid var(--line-hi,#313a42);border-radius:12px;padding:11px 6px;text-align:center}
.rfhz-tiles b{display:block;font-size:22px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}
.rfhz-tiles span{display:block;font-size:7.5px;letter-spacing:.14em;font-weight:800;color:var(--mut,#86807a);margin-top:3px}
.rfhz-tiles em{display:block;font-style:normal;font-size:10px;margin-top:4px;color:var(--green,#36dc75);font-weight:700}
.rfhz-tiles em.dn{color:var(--redx,#ff5c5c)}
.rfhz-f{display:flex;gap:7px;margin:8px 0}
.rfhz-f input{flex:1;min-width:0;height:48px;background:var(--sur-2,#14181c);border:1px solid var(--line-hi,#313a42);border-radius:10px;color:#fff;text-align:center;font:800 16px/1 inherit}


/* ===== style block 35 ===== */

.rffd{border:1px solid var(--amber,#f5c518);border-radius:14px;padding:13px 14px;margin:0 0 12px;cursor:pointer;
  background:linear-gradient(135deg,rgba(245,197,24,.18),rgba(245,197,24,.04) 60%,transparent)}
.rffd .k{font-size:8.5px;letter-spacing:.26em;font-weight:800;color:var(--amber,#f5c518)}
.rffd b{display:block;font-size:17px;font-weight:800;font-style:italic;margin:5px 0 3px;color:var(--ink)}
.rffd b i{font-style:italic;color:var(--amber,#f5c518)}
.rffd p{margin:0;font-size:12px;line-height:1.5;color:var(--tx2,#c2bcb8)}
.rffd p code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:#fff;background:rgba(255,255,255,.08);padding:1px 6px;border-radius:6px}
.rffd .go2{display:inline-block;margin-top:9px;font-size:9.5px;letter-spacing:.16em;font-weight:800;color:var(--amber,#f5c518)}


/* ===== style block 36 ===== */

.rffb{border:1px solid var(--line,#232a30);border-radius:15px;padding:13px 14px;margin:0 0 12px;background:var(--sur-1,#0e1114)}
.rffb .hd{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.rffb .hd .k{flex:1;font-size:9px;letter-spacing:.24em;font-weight:800;color:var(--tx2,#c2bcb8)}
.rffb .hd .tabs{display:flex;gap:4px;flex:none;margin-left:auto}
.rffb .hd .tabs button{border:1px solid var(--line-hi,#313a42) !important;background:transparent !important;color:var(--mut,#86807a) !important;border-radius:999px !important;padding:6px 9px !important;font:800 8.5px/1 -apple-system,BlinkMacSystemFont,Inter,sans-serif !important;letter-spacing:.1em !important;cursor:pointer;height:auto !important;width:auto !important;min-height:0 !important;margin:0 !important;box-shadow:none !important;text-transform:none}
.rffb .hd .tabs button.on{background:var(--volt) !important;border-color:var(--volt) !important;color:var(--volt-tx,#fff) !important}
.rffb .row.demo{opacity:.72}
.rffb .row.demo .nm b{font-size:7px;letter-spacing:.14em;color:var(--mut,#86807a);border:1px solid var(--line-hi,#313a42);border-radius:999px;padding:1px 5px;margin-left:6px;vertical-align:1px}
.rffb .row{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--line,#232a30)}
.rffb .row:last-of-type{border-bottom:none}
.rffb .row.me{background:linear-gradient(90deg,color-mix(in srgb,var(--volt) 12%,transparent),transparent);margin:0 -6px;padding-left:6px;padding-right:6px;border-radius:8px}
.rffb .pos{flex:none;width:20px;font-size:12px;font-weight:800;font-style:italic;color:var(--mut,#86807a)}
.rffb .row.top .pos{color:var(--amber,#f5c518)}
.rffb .nm{flex:1;min-width:0;font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rffb .nm span{display:block;font-size:9.5px;color:var(--mut,#86807a);font-weight:600;margin-top:1px}
.rffb .sp{flex:none;text-align:right;font-size:15px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}
.rffb .sp span{display:block;font-size:7px;letter-spacing:.14em;color:var(--mut,#86807a);font-style:normal;font-weight:800}
.rffb .ft{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--volt);cursor:pointer}
.rffb .ft i{font-style:normal;color:var(--mut,#86807a);letter-spacing:.04em;font-weight:600}
.rffb .empty{font-size:11.5px;color:var(--mut,#86807a);padding:6px 0;font-weight:600;line-height:1.5}


/* ===== style block 37 ===== */

#v-modes .bigbtn[data-act22="rpm"]{--rfac:#B06BFF;display:flex;flex-direction:row;align-items:center;gap:13px;text-align:left}
.rfrpm-h3{font-size:22px;font-weight:800;font-style:italic;margin:0 0 5px}
.rfrpm-why{border:1px solid rgba(176,107,255,.5);border-left:3px solid #B06BFF;border-radius:12px;padding:12px 14px;margin:10px 0;background:linear-gradient(180deg,rgba(176,107,255,.09),transparent)}
.rfrpm-why .k{font-size:8.5px;letter-spacing:.22em;font-weight:800;color:#B06BFF;margin-bottom:6px}
.rfrpm-why p{margin:0;font-size:13px;line-height:1.55;color:var(--tx2,#c2bcb8)}
.rfrpm-why p b{color:var(--ink)}
.rfrpm-why.warn{border-color:var(--amber,#f5c518);border-left-color:var(--amber,#f5c518)}
.rfrpm-why.warn .k{color:var(--amber,#f5c518)}
.rfrpm-lad{width:100%;border-collapse:collapse;margin:8px 0 2px;font-size:11px}
.rfrpm-lad td,.rfrpm-lad th{padding:6px 4px;border-bottom:1px solid var(--line,#232a30);text-align:left}
.rfrpm-lad th{font-size:8px;letter-spacing:.16em;color:var(--mut,#86807a)}
.rfrpm-lad tr.me td{color:var(--ink);font-weight:800}
.rfrpm-lad tr.me td:first-child{color:#B06BFF}
.rfrpm-go{width:100%;height:56px;border:none;border-radius:13px;background:#B06BFF;color:#fff;font:800 12.5px/1 inherit;font-style:italic;letter-spacing:.2em;cursor:pointer;margin-top:10px}
.rfrpm-go:disabled{background:var(--sur-3,#1c2126);color:var(--mut,#86807a)}
#rfrpm{position:fixed;inset:0;z-index:240;background:#06080a;display:none;flex-direction:column;align-items:center;justify-content:space-between;
  padding:calc(16px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));text-align:center;color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-variant-numeric:tabular-nums}
#rfrpm.on{display:flex}
#rfrpm .ph{font-size:11px;letter-spacing:.3em;font-weight:800;color:var(--mut,#86807a)}
#rfrpm .ph b{color:var(--ink)}
#rfrpm .rep{font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--tx2,#c2bcb8);margin-top:6px}
#rfrpm .big{font-size:clamp(120px,40vw,190px);font-weight:800;font-style:italic;line-height:.9;letter-spacing:-.05em;color:#B06BFF;text-shadow:0 0 70px rgba(176,107,255,.6)}
#rfrpm .big.sp{color:var(--ink);text-shadow:0 0 70px rgba(255,255,255,.35)}
#rfrpm .big small{display:block;font-size:12px;letter-spacing:.3em;font-style:normal;color:var(--mut,#86807a);text-shadow:none;margin-top:8px}
#rfrpm .lock{font-size:12px;letter-spacing:.24em;font-weight:800;margin-top:10px;color:var(--green,#36dc75)}
#rfrpm .lock.bad{color:var(--redx,#ff5c5c);animation:rfrpmRock .5s ease-in-out infinite alternate}
@keyframes rfrpmRock{from{opacity:1}to{opacity:.4}}
#rfrpm .row{display:flex;gap:10px;width:100%;max-width:360px}
#rfrpm .row div{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 6px}
#rfrpm .row b{display:block;font-size:30px;font-weight:800;font-style:italic;line-height:1}
#rfrpm .row b.warn{color:#f5c518}
#rfrpm .row span{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--mut,#86807a);margin-top:5px}
#rfrpm .end{min-height:46px;padding:0 26px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--tx2,#c2bcb8);font:800 11px/1 inherit;letter-spacing:.16em;cursor:pointer;margin-top:10px}
#rfrpm .cue{min-height:22px;font-size:13px;font-weight:700;color:var(--tx2,#c2bcb8)}
.rfrpm-tiles{display:flex;gap:8px;margin:10px 0}
.rfrpm-tiles div{flex:1;background:var(--sur-2,#14181c);border:1px solid var(--line-hi,#313a42);border-radius:12px;padding:11px 6px;text-align:center}
.rfrpm-tiles b{display:block;font-size:22px;font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}
.rfrpm-tiles span{display:block;font-size:7.5px;letter-spacing:.14em;font-weight:800;color:var(--mut,#86807a);margin-top:3px}
.rfrpm-tiles em{display:block;font-style:normal;font-size:10px;margin-top:4px;color:var(--green,#36dc75);font-weight:700}
.rfrpm-tiles em.dn{color:var(--redx,#ff5c5c)}


/* ===== style block 38 ===== */

.rfrv-row{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;background:var(--sur-1,#0e1114);border:1px solid var(--line,#232a30);margin:0 0 8px;cursor:pointer}
.rfrv-row .ri{flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(54,220,117,.14);color:var(--green,#36dc75);font-size:14px;font-weight:800}
.rfrv-row .rt{flex:1;min-width:0}
.rfrv-row .rt b{display:block;font-size:13px}
.rfrv-row .rt span{display:block;font-size:11px;color:var(--mut,#86807a);margin-top:2px}
.rfrv-row .rg{flex:none;font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--green,#36dc75)}
.rfrvSw{flex:none;width:44px;height:26px;border-radius:999px;border:0;cursor:pointer;background:var(--sur-3,#1c2126);position:relative;transition:background .15s}
.rfrvSw:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--mut,#86807a);transition:transform .15s,background .15s}
.rfrvSw.on{background:rgba(54,220,117,.35)}
.rfrvSw.on:after{transform:translateX(18px);background:var(--green,#36dc75)}
.rfrv-t{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#232a30)}
.rfrv-t span{flex:1;font-size:13.5px;font-weight:700}
.rfrv-t span em{display:block;font-style:normal;font-size:11px;color:var(--mut,#86807a);font-weight:600;margin-top:2px}
#rfrv{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom));width:min(400px,calc(100vw - 24px));z-index:255;display:none;
  background:linear-gradient(180deg,#0f1a14,#0a0d0b);border:1px solid rgba(54,220,117,.45);border-radius:18px;padding:14px 16px;box-shadow:0 22px 60px rgba(0,0,0,.7);
  color:#fff;font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif}
#rfrv.on{display:block}
#rfrv .k{font-size:8.5px;letter-spacing:.26em;font-weight:800;color:var(--green,#36dc75)}
#rfrv .k b{color:var(--ink);margin-left:8px}
#rfrv h4{margin:6px 0 4px;font-size:20px;font-weight:800;font-style:italic;letter-spacing:-.01em}
#rfrv p{margin:0;font-size:13px;line-height:1.5;color:var(--tx2,#c2bcb8)}
#rfrv .dots{display:flex;gap:5px;margin:10px 0 8px}
#rfrv .dots i{flex:1;height:4px;border-radius:2px;background:var(--sur-3,#1c2126)}
#rfrv .dots i.on{background:var(--green,#36dc75)}
#rfrv .dots i.done{background:rgba(54,220,117,.4)}
#rfrv .bt{display:flex;gap:7px;margin-top:8px}
#rfrv .bt button{flex:1;min-height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:800 10px/1 inherit;letter-spacing:.14em;cursor:pointer}
#rfrv .bt button.go{background:var(--green,#36dc75);border-color:var(--green,#36dc75);color:#04140b}
#rfrv .bt button.x{flex:none;width:44px}
#rfrvChip{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(74px + env(safe-area-inset-bottom));z-index:254;display:none;
  border:1px solid rgba(54,220,117,.5);background:rgba(10,14,11,.94);color:var(--green,#36dc75);border-radius:999px;padding:9px 14px;font:800 9.5px/1 -apple-system,BlinkMacSystemFont,Inter,sans-serif;letter-spacing:.16em;cursor:pointer}
#rfrvChip.on{display:block}


/* ===== style block 39 ===== */

#rfDump2{position:fixed;right:14px;bottom:262px;z-index:99996;
  border:1px solid rgba(255,255,255,.25);background:var(--volt);color:var(--volt-tx,#fff);
  border-radius:999px;padding:12px 17px;font-size:9.5px;letter-spacing:.2em;
  font-weight:800;cursor:pointer;font-family:inherit;
  box-shadow:0 8px 26px rgba(0,0,0,.5)}
#rfDump2:active{background:#d01135}
#rfDump2[disabled]{opacity:.55}


/* ================= RIDEFLOW UNIVERSITY BANNER =================
   A piece of art with the words on top, not another grey row.
   Swap the art any time:  window.RFU_IMG = 'https://.../rfu.png'  */
.rfuBanner{position:relative;display:block;width:100%;min-height:126px;margin:12px 0 2px;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0a0d11;
  text-align:left;padding:0;cursor:pointer;
  transition:transform .28s cubic-bezier(.34,1.32,.5,1),border-color .3s}
.rfuBanner:active{transform:scale(.985);border-color:color-mix(in srgb,var(--volt) 40%,transparent)}
.rfuBanner .rbArt{position:absolute;inset:0;pointer-events:none;
  /* built-in art until real artwork lands */
  background-image:
    radial-gradient(90% 130% at 82% 12%,color-mix(in srgb,var(--volt) 42%,transparent),transparent 58%),
    radial-gradient(60% 90% at 18% 95%,rgba(74,163,255,.16),transparent 62%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 2px,transparent 2px 15px),
    linear-gradient(160deg,#131922,#080a0e 70%);
  background-size:cover;background-position:center}
.rfuBanner[style*="--rfuimg"] .rbArt{background-image:var(--rfuimg);background-size:cover;background-position:center}
.rfuBanner .rbArt:after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,8,10,.94) 8%,rgba(6,8,10,.72) 46%,rgba(6,8,10,.34) 100%)}
.rfuBanner .rbInk{position:relative;display:block;padding:19px 108px 19px 18px}
.rfuBanner .rbK{display:block;font-size:9px;letter-spacing:.28em;font-weight:800;color:var(--volt)}
.rfuBanner .rbH{display:block;font-size:19px;line-height:1.2;font-weight:800;font-style:italic;
  color:var(--ink);margin:9px 0 7px;letter-spacing:-.01em}
.rfuBanner .rbS{display:block;font-size:11.5px;line-height:1.45;color:var(--tx2)}
.rfuBanner .rbGo{position:absolute;right:15px;top:50%;transform:translateY(-50%);
  font-size:9.5px;letter-spacing:.18em;font-weight:800;font-style:italic;color:var(--volt)}
@media (max-width:360px){.rfuBanner .rbInk{padding-right:86px}.rfuBanner .rbH{font-size:17px}}

/* ================= SETUP: DOTS, NOT A WALL =================
   One line, one dot per thing. Lit means done. Tap opens the list. */
.suWrap .suHead{cursor:pointer}
.suWrap.collapsed .suRow{display:none}
.suWrap.collapsed .suFoot{display:none}
.suDots{display:flex;align-items:center;gap:7px;margin-top:13px}
.suDots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.13);flex:none;
  transition:background .3s,box-shadow .3s}
.suDots i.on{background:var(--volt);box-shadow:0 0 9px color-mix(in srgb,var(--volt) 55%,transparent)}
.suDots i.up{box-shadow:0 0 0 2px color-mix(in srgb,var(--volt) 32%,transparent)}
.suDots .suTap{margin-left:auto;font-size:8.5px;letter-spacing:.2em;font-weight:800;color:var(--mut)}

#rfrep{position:fixed;inset:0;z-index:240;background:#06080a;display:none;flex-direction:column;align-items:center;justify-content:space-between;
  padding:calc(16px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));text-align:center;color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,Inter,sans-serif;font-variant-numeric:tabular-nums}
#rfrep.on{display:flex}
#rfrep .ph{font-size:11px;letter-spacing:.3em;font-weight:800;color:var(--mut,#86807a)}
#rfrep .rep{font-size:9.5px;letter-spacing:.2em;font-weight:800;color:var(--tx2,#c2bcb8);margin-top:6px}
#rfrep .big{font-size:clamp(120px,40vw,190px);font-weight:800;font-style:italic;line-height:.9;letter-spacing:-.05em;color:#FF3D6E;text-shadow:0 0 70px rgba(255,61,110,.55)}
#rfrep .big.sp{color:var(--ink);text-shadow:0 0 70px rgba(255,255,255,.35)}
#rfrep .lock{font-size:12px;letter-spacing:.24em;font-weight:800;margin-top:10px;color:var(--green,#36dc75)}
#rfrep .lock.bad{color:var(--redx,#ff5c5c);animation:rfrepRock .5s ease-in-out infinite alternate}
#rfrep .row{display:flex;gap:10px;width:100%;max-width:360px}
#rfrep .end{min-height:46px;padding:0 26px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--tx2,#c2bcb8);font:800 11px/1 inherit;letter-spacing:.16em;cursor:pointer;margin-top:10px}
#rfrep .cue{min-height:22px;font-size:13px;font-weight:700;color:var(--tx2,#c2bcb8)}

/* tap-the-number affordance */
.rfx{cursor:pointer;border-bottom:1px dotted var(--line-hi,#313a42);padding-bottom:1px;transition:color .12s ease,border-color .12s ease}
.rfx::after{content:'\2139';font-size:9px;font-weight:800;margin-left:5px;color:var(--volt);vertical-align:2px;opacity:.75}
.rfx:hover,.rfx:active{color:var(--tx,#f5f3f2);border-bottom-color:var(--volt)}
.rs-stat-l.rfx,.dvc span.rfx{border-bottom:none}
.rs-stat-l.rfx::after,.dvc span.rfx::after{margin-left:3px}
.rfx-k{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--volt);text-transform:uppercase;margin-bottom:6px}

#rfrep .ph b{color:var(--ink)}
#rfrep .big small{display:block;font-size:12px;letter-spacing:.3em;font-style:normal;color:var(--mut,#86807a);text-shadow:none;margin-top:8px}
#rfrep .row div{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 6px}
#rfrep .row b{display:block;font-size:30px;font-weight:800;font-style:italic;line-height:1}
#rfrep .row b.warn{color:#f5c518}
#rfrep .row span{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;color:var(--mut,#86807a);margin-top:5px}

/* ---- STACKED ACTIONS NEED AIR --------------------------------------------
   .go carried no margin at all, so two buttons in a row sat welded together
   and read like one mis-rendered control. .go.alt had 8px, which is why some
   stacks looked fine and others looked broken - it depended entirely on which
   variant happened to be second. One rule, every combination. */
.go + .go, .go + .rfhz-go, .rfhz-go + .go, .rfhz-go + .rfhz-go,
.go + button, button + .go{margin-top:10px}

/* ---- PIN THE PRIMARY ACTION ----------------------------------------------
   On the REPEATS brief the START button sat at y=1253 on an 844px screen -
   below the explainer, the fade table and a six-row ladder. First time
   through that is fine, you are reading. Every time after it is a scroll
   hunt for the one thing you opened the sheet to do.

   Sticky, not fixed: the button rides the bottom of the sheet while there is
   content below it and settles into the flow at the end, so nothing is ever
   covered up and no padding maths is needed. */
.rfhz-go{position:sticky;bottom:8px;z-index:5;
  box-shadow:0 10px 26px rgba(6,8,10,.75),0 0 0 8px var(--bg,#06080a)}

/* ---- THE LIBRARY --------------------------------------------------------- */
.rflib-h{font-size:26px;font-weight:800;font-style:italic;margin:0 0 5px}
.rflib-q{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);
  background:var(--sur-2);color:var(--tx);font:600 15px/1 inherit;padding:0 14px;margin:14px 0 4px}
.rflib-q::placeholder{color:var(--mut)}
.rflib-row{display:block;width:100%;text-align:left;background:var(--sur-1);
  border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-top:8px;cursor:pointer}
.rflib-row:active{background:var(--sur-2)}
.rflib-t{font-size:14.5px;font-weight:800;color:var(--tx);line-height:1.25}
.rflib-t i{font-style:normal;font-size:8.5px;font-weight:800;letter-spacing:.16em;
  color:var(--volt);margin-left:7px;vertical-align:2px}
.rflib-s{font-size:12.5px;font-weight:500;color:var(--mut);line-height:1.5;margin-top:5px}
/* the door: a labelled target on the logo instead of a hidden gesture */
.rflib-dot{display:inline-flex;align-items:center;justify-content:center;
  width:19px;height:19px;margin-left:9px;border-radius:50%;
  border:1px solid var(--line-hi);background:var(--sur-2);color:var(--tx2);
  font:800 11px/1 inherit;font-style:normal;vertical-align:3px;cursor:pointer}
.rflib-dot:active{background:var(--volt);color:var(--volt-tx,#fff);border-color:var(--volt)}

/* ---- THE RECOVERY WINDOW ------------------------------------------------- */
.rfrec-k{font-size:10px;font-weight:800;letter-spacing:.3em;color:var(--volt);
  text-transform:uppercase;text-align:center}
.rfrec-clock{font-size:clamp(64px,20vw,92px);font-weight:800;font-style:italic;
  line-height:1;text-align:center;margin:6px 0 4px;font-variant-numeric:tabular-nums;
  text-shadow:0 0 50px color-mix(in srgb,var(--volt) 35%,transparent)}
.rfrec-clock.done{color:var(--green,#36dc75);text-shadow:0 0 50px rgba(54,220,117,.4)}
.rfrec-sub{font-size:13px;font-weight:600;color:var(--mut);text-align:center}
.rfrec-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.rfrec-chips .chip{flex:1 1 46%;text-align:left;padding:11px 13px;font-size:11.5px;
  line-height:1.35;white-space:normal;border-radius:11px}

/* recovery splits - 3 / 6 / 10 on every run. The six is the hero because it
   is the number that sets the level, but all three are legible. */
.rfrec-splits{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px;margin:16px 0 6px;align-items:end}
.rfrec-splits .rfsp{text-align:center;background:var(--sur-2);border:1px solid var(--line);
 border-radius:12px;padding:12px 6px}
.rfrec-splits .rfsp b{display:block;font-size:23px;font-weight:800;font-style:italic;
 font-variant-numeric:tabular-nums;line-height:1}
.rfrec-splits .rfsp span{display:block;font-size:8px;font-weight:800;letter-spacing:.16em;
 color:var(--mut);margin-top:5px}
.rfrec-splits .rfsp.big{background:linear-gradient(170deg,color-mix(in srgb,var(--volt) 16%,transparent),color-mix(in srgb,var(--volt) 3%,transparent));
 border-color:color-mix(in srgb,var(--volt) 42%,transparent);padding:15px 6px}
.rfrec-splits .rfsp.big b{font-size:33px;color:var(--volt)}
.rfrec-splits .rfsp.big span{color:var(--volt);opacity:.85}

/* SAFE AREA AT THE TOP.
   .app had left/right/bottom padding and nothing at the top, so on any phone
   with a notch or a dynamic island the header drew straight under the clock -
   RIDEFLOW overlapping 11:48. It never showed up in a desktop browser because
   the inset is zero there. The sticky tab bar needs the same offset or it
   parks itself under the status bar the moment you scroll. */
.app{padding-top:env(safe-area-inset-top)}
.tabs{top:calc(8px + env(safe-area-inset-top))}

/* the review card's dismiss - a request you cannot decline is not a request */
.rfRvBtn{position:relative}
.rfRvX{position:absolute;top:6px;right:7px;width:26px;height:26px;border:none;
 background:none;color:var(--mut);font:700 19px/1 -apple-system,sans-serif;
 cursor:pointer;border-radius:50%;padding:0;opacity:.65}
.rfRvX:active{opacity:1;background:rgba(128,128,128,.18)}
#mbRun.gt-green{animation:gtGreenGo 1.5s ease forwards}@keyframes gtGreenGo{0%{background:#2fe27c}30%{background:#17b35a}100%{background:var(--bg)}}@media (prefers-reduced-motion:reduce){#mbRun.gt-green{animation:none;background:#17b35a}}

/* ---------- V100b: the trophy takeover ---------- */
#troPop{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
 background:rgba(4,4,6,.94);opacity:0;transition:opacity .25s ease;cursor:pointer}
#troPop.on{opacity:1}
#troPop .tp-rays{position:absolute;inset:-40%;
 background:conic-gradient(from 0deg,transparent 0 14deg,rgba(255,255,255,.045) 14deg 22deg,
  transparent 22deg 36deg,rgba(255,255,255,.045) 36deg 44deg,transparent 44deg 58deg,
  rgba(255,255,255,.045) 58deg 66deg,transparent 66deg 80deg,rgba(255,255,255,.045) 80deg 88deg,
  transparent 88deg 102deg,rgba(255,255,255,.045) 102deg 110deg,transparent 110deg 124deg,
  rgba(255,255,255,.045) 124deg 132deg,transparent 132deg 146deg,rgba(255,255,255,.045) 146deg 154deg,
  transparent 154deg 168deg,rgba(255,255,255,.045) 168deg 176deg,transparent 176deg 190deg,
  rgba(255,255,255,.045) 190deg 198deg,transparent 198deg 212deg,rgba(255,255,255,.045) 212deg 220deg,
  transparent 220deg 234deg,rgba(255,255,255,.045) 234deg 242deg,transparent 242deg 256deg,
  rgba(255,255,255,.045) 256deg 264deg,transparent 264deg 278deg,rgba(255,255,255,.045) 278deg 286deg,
  transparent 286deg 300deg,rgba(255,255,255,.045) 300deg 308deg,transparent 308deg 322deg,
  rgba(255,255,255,.045) 322deg 330deg,transparent 330deg 344deg,rgba(255,255,255,.045) 344deg 352deg,
  transparent 352deg 360deg);
 animation:tpSpin 14s linear infinite}
@keyframes tpSpin{to{transform:rotate(360deg)}}
#troPop .tp-core{position:relative;text-align:center;padding:0 26px;
 transform:scale(.82);transition:transform .3s cubic-bezier(.3,1.5,.5,1)}
#troPop.on .tp-core{transform:scale(1)}
#troPop .tp-kicker{font-size:12px;font-weight:800;letter-spacing:.34em;color:var(--tc)}
#troPop .tp-shield{margin:18px auto 8px;transform:scale(2.6);transform-origin:center;
 height:76px;display:grid;place-items:center;color:var(--tc);
 filter:drop-shadow(0 0 26px var(--tc))}
#troPop .tp-name{font-size:clamp(38px,11vw,58px);font-weight:800;font-style:italic;
 letter-spacing:-.02em;line-height:1;margin-top:14px;color:#fff;
 text-shadow:0 0 40px var(--tc)}
#troPop .tp-tier{margin-top:10px;font-size:13px;font-weight:800;letter-spacing:.22em;color:var(--tc)}
#troPop .tp-how{margin-top:8px;font-size:14px;color:#bdb7b2}
#troPop .tp-tap{margin-top:30px;font-size:10.5px;font-weight:800;letter-spacing:.26em;color:#6b655f}
@media (prefers-reduced-motion:reduce){
 #troPop .tp-rays{animation:none}
 #troPop .tp-core{transition:none}}

/* the one ask-the-coach button - same everywhere, glows */
button.askcoach,#mbSheet button.askcoach,.rddesk button.askcoach,.mddesk button.askcoach,.fcBtns button.askcoach{display:block;width:100%;margin:10px 0 0;border:1px solid var(--green,#36dc75);border-radius:14px;background:linear-gradient(155deg,rgba(54,220,117,.22),rgba(54,220,117,.06));color:#fff;font:800 12px/1 inherit;letter-spacing:.14em;font-style:italic;padding:16px 14px;cursor:pointer;box-shadow:0 0 18px rgba(54,220,117,.35);animation:askglow 2.2s ease-in-out infinite}button.askcoach:disabled{opacity:.6;animation:none}button.askcoach.sm,.rddesk button.askcoach.sm,.mddesk button.askcoach.sm{width:auto;display:inline-block;margin:0;padding:9px 12px;font-size:10px;border-radius:999px}@keyframes askglow{0%,100%{box-shadow:0 0 10px rgba(54,220,117,.25)}50%{box-shadow:0 0 22px rgba(54,220,117,.6)}}
.rdanswer{border:1px solid rgba(54,220,117,.35);border-radius:12px;padding:11px 13px;margin:8px 0 10px;font-size:13px;line-height:1.5;background:linear-gradient(155deg,rgba(54,220,117,.08),transparent)}.rdanswer .rdk{font-size:8.5px;letter-spacing:.24em;font-weight:800;color:var(--green,#36dc75);margin-right:6px}.rdanswer b{color:var(--tx)}
.fcBtns button.askcoach em{display:block;font-style:normal;font-size:9.5px;letter-spacing:.06em;font-weight:700;margin-top:6px;opacity:.8}

/* RF395 — UI CLEANUP, based directly on RF394. Presentation only. */
/* RF602 - THE RED, WHITE AND BLUE. Coach E, 30 September: "get rid of the
   blue trim on the mountain bike... the record button is blue. The replay is
   blue. Run is blue. All the icons are blue. And whatever button you touch up
   top, that's blue in there too."

   All of it was ONE colour: 242 blue values measured across the six MTB
   screens and every one of them rgb(22,119,255) - this variable. RF395 named
   it for what it was and set it at :root, so it applied to both sports; BMX
   never showed it only because BMX overrides all five of its uses. The
   mountain had no such overrides, so the accent, the lit tab, the door trim
   and everything inheriting colour from them came out blue.

   Driven off the kit now, like everything else was in RF594/RF598, so a
   rider who picks another colourway takes these with him instead of leaving
   a blue app behind. The pale blue FILLS that went with it (#eaf3ff,
   #f4f9ff, #edf5ff) are mixed from the same colour. */
:root{--rf395blue:var(--volt,#fc191e);--rf395ink:#111827;--rf395mut:#6b7280;--rf395line:#dbe2ea;--rf395soft:#f6f8fb}
body[data-sport="mtb"],body.mtb{background:#f5f7fa}
#mbBrand{padding-top:4px}
#mbBrand h1{font-size:20px!important;letter-spacing:-.025em!important}
#mbBrand .sub{font-size:9px!important;letter-spacing:.18em!important;color:var(--mut)!important;margin-top:3px}
#mbTabs{gap:3px!important;padding:6px 8px!important;background:#fff!important;border:1px solid var(--rf395line)!important;border-radius:15px!important;box-shadow:0 5px 18px rgba(15,23,42,.05)!important}
#mbTabs button{min-width:0!important;border-radius:10px!important;padding:7px 3px 6px!important;color:#7b8491!important}
#mbTabs button.on{background:color-mix(in srgb,var(--volt) 16%,transparent)!important;color:var(--rf395blue)!important}
#mbTabs .tbi{width:19px!important;height:19px!important}#mbTabs span{font-size:7.5px!important;letter-spacing:.06em!important}
#v-today>.rf184{max-width:440px;margin:0 auto;padding:4px 15px 34px!important}
.rf346datetime{font-size:9px!important;letter-spacing:.12em!important;color:#7b8491!important;margin:5px 1px 9px!important}
#v-today .rcdoor.rec184{border:1.5px solid var(--rf395blue)!important;border-radius:18px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--volt) 10%,transparent),transparent)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--volt) 18%,transparent)!important;padding:17px!important;margin-top:7px!important}
#v-today .rcdoor.rec184 .w{font-size:23px!important;color:var(--rf395ink)!important}#v-today .rcdoor.rec184 .s{color:var(--rf395mut)!important}
.rf392door{border-color:var(--rf395line)!important;background:#fff!important;color:var(--rf395ink)!important;box-shadow:0 4px 14px rgba(15,23,42,.045)!important;min-height:84px!important;padding:15px!important;border-radius:17px!important}
.rf392door.primary{border-color:var(--rf395blue)!important;background:color-mix(in srgb,var(--volt) 10%,transparent)!important;border-width:1.5px!important}
.rf392door .ic{background:#f7f9fc!important;border-color:#e3e8ef!important}.rf392door .k{color:#7b8491!important}.rf392door .s{color:var(--rf395mut)!important}
#rfMtb{background:#f5f7fa!important}#rfMtb .w{max-width:440px!important;margin:0 auto!important;padding-left:16px!important;padding-right:16px!important}
#rfMtb [data-mtb="arm"]{width:190px!important;height:190px!important;box-shadow:0 10px 26px color-mix(in srgb,var(--volt) 26%,transparent)!important}
#rfMtb .foot .alt3{border-radius:13px!important;background:#fff!important;border:1px solid var(--rf395line)!important;color:var(--rf395ink)!important}
#rfMaps{background:#f5f7fa!important}#rfMaps .mpw{max-width:440px!important;padding-left:15px!important;padding-right:15px!important}
#rfMaps .sheeth{background:#fff;border:1px solid var(--rf395line);border-radius:16px;padding:13px 14px;margin-bottom:10px!important}
#rfMaps .rfflow{background:#fff!important;border-color:var(--rf395line)!important;box-shadow:0 4px 14px rgba(15,23,42,.04)!important}
#rfMaps .mpgrid{gap:10px!important}#rfMaps .mptile{background:#fff!important;border-color:var(--rf395line)!important;border-radius:16px!important;padding:9px 10px 11px!important;box-shadow:0 3px 12px rgba(15,23,42,.04)!important}
#rfMaps .mpn{color:var(--rf395ink)!important;font-weight:850!important}#rfMaps .mpm,#rfMaps .mpb{color:var(--rf395mut)!important}
#rcScr{background:#f5f7fa!important}#rcScr .rcw{max-width:440px!important;margin:0 auto!important;padding-left:15px!important;padding-right:15px!important}
#rcScr .rf184>.sheeth{background:#fff!important;border:1px solid var(--rf395line)!important;border-radius:16px!important;padding:13px 14px!important;margin:8px 0 10px!important}
#rcScr .card,#rcScr .rf350pick,#rcScr .rf351pick{background:#fff!important;border-color:var(--rf395line)!important;border-radius:15px!important;box-shadow:0 3px 12px rgba(15,23,42,.035)!important}
#rcScr .sec{color:#667085!important;margin-left:2px!important}#rcScr .rf350run{background:#f8fafc!important;border-color:#e3e8ef!important;color:var(--rf395ink)!important}
#rcScr .rf350run.on{background:color-mix(in srgb,var(--volt) 12%,transparent)!important;border-color:var(--rf395blue)!important}
#rcScr .drace{border-radius:16px!important;overflow:hidden!important}#rcScr .mreplay{border-radius:16px!important}
@media(max-width:360px){#mbTabs span{font-size:6.8px!important}.rf392door{min-height:78px!important}.rf392door .t{font-size:18px!important}#rfMaps .mpgrid{gap:7px!important}}

/* RF404 — GHOST WORLD DARK GLASS
   Real controls over the photo. Keep the live date/time clearly readable. */
html.mtb #v-today .rf346datetime{
  color:rgba(255,255,255,.94)!important;
  font-weight:800!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
  text-shadow:0 2px 8px rgba(0,0,0,.9)!important;
  margin:7px 2px 11px!important;
}
/* RF598 - ONE BUTTON, BOTH APPS. Coach E, 29 September: "change MTB blue
   border to the red" and then "same transparent button for both apps."

   Both were the same override. block-196 already draws the door for both
   sports - the see-through glass, blur 18, the red edge driven off --volt -
   and it is written without a sport in the selector precisely so it can. But
   these rules sat here at html.mtb + #id specificity with !important on
   every line, so the mountain never saw it: it kept a hardcoded
   rgba(37,148,255) border from the old blue palette and a heavier, more
   solid fill. --volt went red in RF594 and these doors stayed blue.

   Deleted rather than recoloured. Recolouring would have left two
   descriptions of the same button to drift apart again by Friday, which is
   exactly how they came to disagree in the first place. The shared rule is
   the only one now, so MTB and BMX are the same button by construction. */
html.mtb #v-today .rcdoor.rec184 .w,
html.mtb #v-today .rf392door .t{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.72)!important}
html.mtb #v-today .rcdoor.rec184 .s,
html.mtb #v-today .rf392door .s{color:rgba(255,255,255,.72)!important}
html.mtb #v-today .rf392door .k{color:rgba(255,255,255,.62)!important}
html.mtb #v-today .rf392door .ic{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.15)!important;color:var(--volt)!important}
html.mtb #v-today .rf392door.primary{border-color:color-mix(in srgb,var(--volt) 72%,transparent)!important;background:rgba(10,6,8,.70)!important}


/* RF406 — GHOST WORLD DARK 20
   20% photo shade, clean unfrosted header, dark functional surfaces on Home,
   Replay/Runs and Trails. No behavior/data changes. */
html.mtb #mbApp:after{
  background:rgba(0,0,0,.20)!important;
}
/* Header/logo sits directly on the photography: no frosted container. */
html.mtb #mbApp .top{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html.mtb #mbApp .top *{text-shadow:0 2px 10px rgba(0,0,0,.82)}

/* Record: exactly a 20% black shade over the photo. */
html.mtb #rfMtb:before{background:rgba(0,0,0,.20)!important}
/* The recording indicator is steady; no blink/pulse. */
html.mtb #rfMtb .rec i{animation:none!important}

/* REPLAY / RUNS — same world, functions in front. */
html.mtb #rcScr{
  background:#070406 url('assets/home-bg-mtb.jpg') center center/cover no-repeat!important;
  isolation:isolate;
}
html.mtb #rcScr:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:rgba(0,0,0,.20);
}
html.mtb #rcScr .rf184>.sheeth,
html.mtb #rcScr .card,
html.mtb #rcScr .rf350pick,
html.mtb #rcScr .rf351pick,
html.mtb #rcScr .rchead2,
html.mtb #rcScr .rccard{
  background:rgba(5,11,17,.70)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(12px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(115%)!important;
}
html.mtb #rcScr .rf184>.sheeth{margin:10px 15px 16px!important}
html.mtb #rcScr .rcw .rchead2{margin:0 15px 16px!important;border-radius:15px!important}
html.mtb #rcScr .rcw .rccard{margin:0 15px!important;border-radius:15px!important}
html.mtb #rcScr .rf350run{background:rgba(8,15,22,.74)!important;border-color:rgba(255,255,255,.16)!important;color:#fff!important}
html.mtb #rcScr .rf350run.on{background:rgba(8,31,55,.80)!important;border-color:#258cff!important}
html.mtb #rcScr .sec,html.mtb #rcScr .rcsub,html.mtb #rcScr .rclab{color:rgba(255,255,255,.70)!important}
/* Stop the decorative replay orb from pulsing/blinking. */
html.mtb #rcScr .rforbb{animation:none!important}
html.mtb #rcScr .rforbb.busy{animation:rforbSpin 1s linear infinite!important}

/* TRAILS — cinematic ground with the real Map a Flow and route cards. */
html.mtb #rfMaps{
  background:#070406 url('assets/trails-bg-mtb.jpg') center center/cover no-repeat!important;
  isolation:isolate;
}
html.mtb #rfMaps:before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:rgba(0,0,0,.20);
}
html.mtb #rfMaps .sheeth,
html.mtb #rfMaps .rfflow,
html.mtb #rfMaps .mptile{
  background:rgba(5,11,17,.70)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(12px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(115%)!important;
}
html.mtb #rfMaps .sheeth{color:#fff!important}
html.mtb #rfMaps .sheeth .lab,html.mtb #rfMaps .sheeth .h1{color:#fff!important;text-shadow:0 2px 8px rgba(0,0,0,.75)}
html.mtb #rfMaps .mpn{color:#fff!important}
html.mtb #rfMaps .mpm,html.mtb #rfMaps .mpb{color:rgba(255,255,255,.70)!important}
html.mtb #rfMaps .mpthumb{background:rgba(2,7,12,.66)!important}
html.mtb #rfMaps .mpground{stroke:rgba(255,255,255,.22)!important}
html.mtb #rfMaps .mpend,html.mtb #rfMaps .mpcp{fill:#071019!important}
/* RF441 secondary-screen identity: quiet, text-only, no large logo. */
html.mtb #mbApp .top h1{font-size:12px!important;letter-spacing:.18em!important;font-style:normal!important;text-transform:uppercase!important}
html.mtb #mbApp .top h1::before{content:'RF · MTB · GHOST';font-weight:900;color:var(--tx)}
html.mtb #mbApp .top h1{font-size:0!important}
html.mtb #mbApp .top .sub{display:none!important}
/* RF682 - each paired sensor, and what it is actually sending */
.rfsn-devs{margin:8px 0 10px;border:1px solid var(--line-hi,#313a42);border-radius:13px;padding:4px 12px}
.rfsn-dev{padding:9px 0;border-bottom:1px solid var(--line,#232a30)}.rfsn-dev:last-child{border-bottom:0}
.rfsn-dev span{font-weight:900;font-size:13px}.rfsn-dev .rc{font-style:normal;font-weight:900;font-size:9.5px;letter-spacing:.14em;color:var(--volt,#fc191e);margin-left:8px}
.rfsn-dev em{display:block;font-style:normal;font-size:11.5px;color:var(--mut,#86807a);margin-top:3px}.rfsn-dev em b{color:var(--green,#36dc75);letter-spacing:.08em}
html.rf682on #mbSheet{z-index:2147483100!important}

/* RF689 - the home screen stays put behind the rollers: no scroll, no rubber-band */
html.rf682on,html.rf682on body{overflow:hidden!important;overscroll-behavior:none!important;height:100%}
#rf682roll{overscroll-behavior:contain}
